一种基于片内总线协议的安全访问控制方法和装置的制造方法
【技术领域】
[0001 ] 本发明涉及总线控制技术,尤其涉及一种基于片内总线(AXI, Advancedextensible Interface)协议的安全访问控制方法和装置。
【背景技术】
[0002]在AXI总线协议中,主设备一般通过读地址通道信号ARPROT或写地址通道信号AWPR0T,指示自身发出的读请求或写请求的安全类型,一般读请求或写请求分为安全类型或非安全类型两种。
[0003]目前,在没有安全应用需求的片上系统中,从设备通常会忽略接收到的ARPROT或AWPR0T,即,不论来自主设备的访问请求是安全类型或是非安全类型,从设备均会正常的接收所述访问请求,并根据所述访问请求完成读和/或写操作;而在有安全应用需求的片上系统中,片上系统为了保护某些总线地址空间中的数据,使其不被任何主设备通过非安全的方式获取或改写,就要求主设备在发出任何访问请求时,必须通过AWPR0T/ARPR0T给出有效的安全类型指示,从设备接收到所述访问请求后,既要遵循AXI总线协议,向发出访问请求的主设备返回适当响应,同时,从设备必须不能忽略主设备发出的安全类型指示,要保证安全区域中的数据不被非安全的访问请求获取或改写。
[0004]按照上述要求,在有安全应用需求的片上系统中,从设备必须做到:对于读操作,如果是合法的访问请求,则正常向主设备返回读数据,如果是非法的访问请求,则向主设备返回全O的数据;对于写操作,如果是合法的访问请求,则正常接收写数据,并更新目标地址空间,否则若是非法的访问请求,则要正常接收来自主设备的写数据,但不能用写数据更新目标地址空间。但是,由于一个片上系统中通常有大量的从设备,这样,对于有安全应用需求的片上系统,每个从设备都必须具备判断来自主设备的访问请求是否合法的功能。
[0005]另外,如果将已经设计好的、没有安全应用需求的片上系统中的从设备应用到具有安全应用需求的片上系统中,那么必须对从设备做必要的修改,使从设备能对主设备发出的访问请求的安全类型进行检查,保证安全区域中的数据不会被不合理的获取或改写,并向主设备返回适当的响应。而在片上系统中,通常存在数量多且种类不同的从设备,这样一个一个修改起来,将会很繁琐,也容易出错。
【发明内容】
[0006]有鉴于此,本发明实施例期望提供一种基于AXI总线协议的安全访问控制方法和装置,能够对主设备发出的访问请求进行过滤,简化从设备的工作内容。
[0007]本发明的技术方案是这样实现的:
[0008]本发明实施例提供的一种基于片内总线AXI协议的安全访问控制方法,所述方法包括:
[0009]将总线地址空间划分为一个以上区域,确定每个区域的安全属性;判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时,将所述访问请求发送给目标从设备。
[0010]上述方案中,所述确定每个区域的安全属性,包括:
[0011]确定每个区域是支持安全类型的访问还是非安全类型的访问。
[0012]上述方案中,确定每个区域的安全属性之后,所述方法还包括:
[0013]确定每个区域的大小,以及确定各个区域接收到安全类型与所述区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录所述访问请求的地址和ID。
[0014]上述方案中,所述判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,包括:
[0015]所述目标区域的安全属性为支持安全类型的访问,仅当主设备发出的访问请求为安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性相匹配;当主设备发出的访问请求为非安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性不匹配;
[0016]所述目标区域的安全属性为支持非安全类型的访问,主设备发出的访问请求为安全类型或者非安全类型时,均确定所述访问请求的安全类型与目标区域的安全属性相匹配。
[0017]上述方案中,当主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性不匹配时,产生错误响应信息,并发送给主设备,不将所述访问请求发送给目标从设备。
[0018]本发明实施例提供的一种基于AXI总线协议的安全访问控制装置,所述装置包括:区域划分模块、匹配模块和信息转发模块;其中,
[0019]所述区域划分模块,用于将总线地址空间划分为一个以上区域,并确定每个区域的安全属性;
[0020]所述匹配模块,用于判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时触发信息转发模块;
[0021]所述信息转发模块,用于被匹配模块触发时,将所述访问请求发送给目标从设备。
[0022]上述装置中,所述确定每个区域的安全属性,包括:
[0023]确定每个区域是支持安全类型的访问还是非安全类型的访问。
[0024]上述装置中,所述区域划分模块还用于确定每个区域的大小,以及确定各个区域接收到安全类型与所述区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录所述访问请求的地址和ID。
[0025]上述装置中,所述匹配模块判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,包括:
[0026]所述目标区域的安全属性为支持安全类型的访问,当主设备发出的访问请求为安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性相匹配;当主设备发出的访问请求为非安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性不匹配;
[0027]所述目标区域的安全属性为支持非安全类型的访问,主设备发出的访问请求为安全类型或者非安全类型时,均确定所述访问请求的安全类型与目标区域的安全属性相匹配。
[0028]上述装置还包括:告警模块,用于当主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性不匹配时,产生错误响应信息,并经由信息转发模块发送给主设备。
[0029]本发明实施例所提供的基于AXI总线协议的安全访问控制方法,将总线地址空间划分为一个以上区域,确定每个区域的安全属性;判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时,将所述访问请求发送给目标从设备;如此,能够对主设备发出的访问请求进行过滤,只将主设备发出的安全类型与目标区域的安全属性相匹配的访问请求发送给从设备,从而大大简化了从设备的工作内容;另外,将没有安全应用需求的片上系统中的从设备应用到有安全应用需求的片上系统上时,也不需要对原有的从设备一一进行改造。
【附图说明】
[0030]图1为本发明至少一个实施例提供的基于AXI总线协议的安全访问控制方法流程图;
[0031]图2为本发明至少一个实施例提供的基于AXI总线协议的安全访问控制装置的基本结构图。
【具体实施方式】
[0032]本发明实施例中,将总线地址空间划分为一个以上区域,确定每个区域的安全属性;判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时,将所述访问请求发送给目标
从设备。
[0033]下面通过附图及具体实施例对本发明作进一步的详细说明。
[0034]实施例一
[0035]本发明实施例中的片上系统中涉及两种设备:主设备和从设备,其中,主设备是指片上系统中能够主动发出读写命令的设备,比如:处理器、直接存储器访问(DMA,DirectMemory Access)模块等;从设备是指片上系统中不能主动发出读写命令,而只能被动接受读写命令的设备,比如:存储器、外设控制器等。
[0036]本发明实施例一提供了一种基于AXI总线协议的安全访问控制方法,如图1所示,该方法包括以下步骤:
[0037]步骤101:将总线地址空间划分为一个以上区域,确定每个区域的安全属性;
[0038]本步骤中,用户可以根据实际需要将片上系统中的总线地址空间划分为一个以上区域,并且可以根据需要设定每个区域的安全属性,即:确定所述区域是支持安全类型的访问还是非安全类型的访问;例如,一个片上系统的总线地址空间为32k,假设用户A在总线地址空间中需要存储的信息全部为敏感信息,这里的敏感信息也就是不允许通过非法手段随意更改和获取的信息,则用户只需要将整个总线地址空间划分为一个32k的区域,并设定该区域的安全属性为支持安全类型的访问;同样是32k的总线地址空间中,假设用户B需要存储的敏感信息分为三类,这三类敏感信息分别需要预留5k、3k、7k的地址空间,用户B需要存储的其他非敏感信息为四类,这四类非敏感信息分别需要预留3k、4k、5k和5k的地址空间,则该用户B可以将总线地址空间划分成七个区域,其中,用于存储敏感信息的三个区域需要设定为支持安全类型的访问;用于存储非敏感信息的四个区域需要设定为支持非安全类型的访问;
[0039]更进一步的,在对总线地址空间进行划分时,用户还可以根据实际需要对每一个区域的大小以及确定各个区域接收到的安全类型与该区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录该访问请求的地址和ID等特性进行设置。
[0040]步骤102:判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时,将所述访问请求发送给目标从设备;
[0041]从设备通常占用总线地址空间上的一段地址空间,这里所说的一段地址空间可以与本发明实施例步骤101中所划分的区域中的一个以上区域对应,主设备一般通过从设备访问目标区域,即,主设备向从设备发送访问请求,从设备接收到所述访问请求之后,根据所述访问请求对自身所占用的相应目标区域进行读和/或写操作,这里,主设备发送给从设备的访问请求可以为读/或写请求。
[0042]这一步骤中,由片上系统对主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配进行判断,并根据判断结果执行后续操作,这里的后续操作至少包括:片上系统将所述访问请求发送给目标从设备,或片上系统不执行访问请求的发送而仅向主设备返回一个错误消息;
[0043]具体的,当目标区域的安全属性为支持安全类型的访问时,则仅当主设备发出的访问请求为安全类型的访问请求时,所述访问请求的安全类型才能与目标区域的安全属性相匹配,此时,对于读操作,片上系统可以直接接收所述读请求,并将所述读请求发送给目标从设备,由目标从设备对其占用的相应区域进行读操作,进一步的,片上系统在读操作完成之后,可以接收目标从设备返回的读数据和读响应,并将所述读数据和读响应转发给主设备;对于写操作,片上系统直接接收所述写请求,并将所述写请求转发给目标从设备,由目标从设备对其占用的相应区域进行写操作,进一步的,片上系统在写操作完成之后,可以接收目标从设备返回的写响应,并将所述写响应转发给主设备;
[0044]当目标区域的安全属性为支持非安全类型的访问时,则不管主设备发出的访问请求为安全类型或者非安全类型,所述访问请求的安全类型与目标区域的安全属性都是匹配的,此时,对于读操作,片上系统可以直接接收所述读请求,并将所述读请求发送给目标从设备,由目标从设备对其占用的相应区域进行读操作,进一步的,片上系统在读操作完成之后,可以接收目标从设备返回的读数据和读响应,并将所述读数据和读响应转发给主设备;对于写操作,片上系统直接接收所述写请求,并将所述写请求转发给目标从设备,由目标从设备对其占用的相应区域进行写操作,进一步的,片上系统在写操作完成之后,可以接收目标从设备返回的写响应,并将所述写响应转发给主设备;
[0045]相应的,当目标区域的安全属性为支持安全类型的访问,而主设备发出的对目标区域的访问请求为非安全类型时,则确定所述访问请求的安全类型与目标区域的安全属性不匹配,此时,对于读操作或写操作,片上系统将直接接收该读请求或写请求,但不会将所述读请求或写请求发送给目标从设备;
[0046]进一步的,当接收到的访问请求的安全类型与目标区域的安全属性不匹配时,片上系统还会产生错误响应信息,并发送给主设备;具体的,当所述访问请求为读请求时,所产生的错误响应信息包括:错误读数据和错误读响应消息,其中所述错误读数据可以是值为O的读数据,所述错误读响应消息用于指示有错误产生,这里,可以根据实际需要对错误读响应消息的值进行设置,例如:可以将值为01的响应消息作为错误读响应消息;当所述访问请求为写请求时,所产生的错误响应信息包括:错误写响应消息,所述错误写响应消息用于指示有错误产生,这里,可以根据实际需要对错误写响应的值进行设置,例如:可以将值为00的响应消息作为错误写响应消息;
[0047]进一步的,如果用户事先设置目标区域在接收到安全类型与所述区域的安全属性不匹配的访问请求时需要发出中断且记录该访问请求的地址和ID,则片上系统将向主设备发出中断,并记录所述访问请求的地址和ID。
[0048]实施例二
[0049]本发明实施例二还提供了一种基于AXI总线协议的安全访问控制装置,如图2所示,所述装置包括:区域划分模块21、匹配模块22以及信息转发模块23 ;
[0050]所述区域划分模块21,用于将总线地址空间划分为一个以上区域,并确定每个区域的安全属性;
[0051]具体的,区域划分模块21可以根据用户的实际需要将总线地址空间划分为一个以上区域,并确定每一个区域的安全属性,即,确定所述区域支持安全类型的访问还是非安全类型的访问;
[0052]更进一步的,在对总线地址空间进行划分时,所述区域划分模块21还可以根据用户实际需要对每一个区域的大小以及确定各个区域当接收到安全类型与该区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录所述访问请求的地址和ID等特性进行设置。
[0053]所述匹配模块22,用于判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时触发信息转发模块23 ;
[0054]信息转发模块23,用于被匹配模块22触发时,将所述访问请求发送给目标从设备;
[0055]具体的,当目标区域的安全属性为支持安全类型的访问时,则仅当主设备发出的访问请求为安全类型的访问请求时,所述访问请求的安全类型才能与目标区域的安全属性相匹配,此时,对于读操作,可以直接接收所述读请求,并由信息转发模块23将所述读请求发送给目标从设备,由目标从设备对其占用的相应区域进行读操作,进一步的,在读操作完成之后
,所述信息转发模块23可以接收目标从设备返回的读数据和读响应,并将所述读数据和读响应转发给主设备;对于写操作,信息转发模块23直接接收所述写请求,并将所述写请求转发给目标从设备,由目标从设备对其占用的相应区域进行写操作,进一步的,在写操作完成之后,信息转发模块23可以接收目标从设备返回的写响应,并将所述写响应转发给主设备;
[0056]当目标区域的安全属性为支持非安全类型的访问时,则不管主设备发出的访问请求为安全类型或者非安全类型,所述访问请求的安全类型与目标区域的安全属性都是匹配的,此时,对于读操作,信息转发模块23可以直接将接收到的读请求转发给目标从设备,由目标从设备对其占用的相应区域进行读操作,进一步的,在读操作完成之后,信息转发模块23可以接收目标从设备返回的读数据和读响应,并将所述读数据和读响应转发给主设备;对于写操作,直接接收所述写请求,并由信息转发模块23将所述写请求转发给目标从设备,由目标从设备对其占用的相应区域进行写操作,进一步的,在写操作完成之后,接收目标从设备返回的写响应,并将所述写响应转发给主设备;
[0057]相应的,当目标区域的安全属性为支持安全类型的访问,而主设备发出的对目标区域的访问请求为非安全类型时,则匹配模块22确定所述访问请求的安全类型与目标区域的安全属性不匹配,此时,对于读操作或写操作,信息转发模块23直接接收该读请求或写请求,但不会将所述读请求或写请求发送给目标从设备;
[0058]进一步的,所述装置还包括:告警模块24,用于当接收到的访问请求的安全类型与目标区域的安全属性不匹配时,产生错误响应信息,并经由信息转发模块23发送给主设备;具体的,当所述访问请求为读请求时,所产生的错误响应信息包括:错误读数据和错误读响应消息,其中所述错误读数据可以是值为O的读数据,所述错误读响应消息用于指示有错误产生,这里,可以根据实际需要对错误读响应消息的值进行设置,例如:可以将值为01的响应消息作为错误读响应消息;当所述访问请求为写请求时,所产生的错误响应信息包括:错误写响应消息,所述错误写响应消息用于指示有错误产生,这里,可以根据实际需要对错误写响应的值进行设置,例如:可以将值为00的响应消息作为错误写响应消息;
[0059]进一步的,所述装置还包括:中断处理模块25,当用户事先设置目标区域在接收到安全类型与所述区域的安全属性不匹配的访问请求时需要发出中断且记录该访问请求的地址和ID时,所述中断处理模块25将在接收到的访问请求的安全类型与目标区域的安全属性不匹配时被触发,并在被触发时向主设备发出中断,并记录所述访问请求的地址和ID0
[0060]实施例三
[0061]本发明实施例三还提供了一种片上系统,所述片上系统包括主设备、从设备以及实施例二中的一种基于AXI总线协议的安全访问控制装置。
[0062]在实际应用中,所述区域划分模块21、匹配模块22、信息转发模块23、告警模块24以及中断处理模块25均可在片上系统中由专用集成电路(ASIC)、或现场可编程门阵列(FPGA)实现。
[0063]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种基于片内总线AXI协议的安全访问控制方法,其特征在于,所述方法包括: 将总线地址空间划分为一个以上区域,确定每个区域的安全属性;判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时,将所述访问请求发送给目标从设备。2.根据权利要求1所述的方法,其特征在于,所述确定每个区域的安全属性,包括: 确定每个区域是支持安全类型的访问还是非安全类型的访问。3.根据权利要求1所述的方法,其特征在于,确定每个区域的安全属性之后,所述方法还包括: 确定每个区域的大小,以及确定各个区域接收到安全类型与所述区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录所述访问请求的地址和ID。4.根据权利要求1所述的方法,其特征在于,所述判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,包括: 所述目标区域的安全属性为支持安全类型的访问,仅当主设备发出的访问请求为安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性相匹配;当主设备发出的访问请求为非安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性不匹配; 所述目标区域的安全属性为支持非安全类型的访问,主设备发出的访问请求为安全类型或者非安全类型时,均确定所述访问请求的安全类型与目标区域的安全属性相匹配。5.根据权利要求4所述的方法,其特征在于,当主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性不匹配时,产生错误响应信息,并发送给主设备,不将所述访问请求发送给目标从设备。6.一种基于AXI总线协议的安全访问控制装置,其特征在于,所述装置包括:区域划分模块、匹配模块和信息转发模块;其中, 所述区域划分模块,用于将总线地址空间划分为一个以上区域,并确定每个区域的安全属性; 所述匹配模块,用于判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,匹配时触发信息转发模块; 所述信息转发模块,用于被匹配模块触发时,将所述访问请求发送给目标从设备。7.根据权利要求6所述的装置,其特征在于,所述确定每个区域的安全属性,包括: 确定每个区域是支持安全类型的访问还是非安全类型的访问。8.根据权利要求6所述的装置,其特征在于,所述区域划分模块还用于确定每个区域的大小,以及确定各个区域接收到安全类型与所述区域的安全属性不匹配的访问请求时是否需要发出中断、是否记录所述访问请求的地址和ID。9.根据权利要求6所述的装置,其特征在于,所述匹配模块判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配,包括: 所述目标区域的安全属性为支持安全类型的访问,当主设备发出的访问请求为安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性相匹配;当主设备发出的访问请求为非安全类型的访问请求时,确定所述访问请求的安全类型与目标区域的安全属性不匹配; 所述目标区域的安全属性为支持非安全类型的访问,主设备发出的访问请求为安全类型或者非安全类型时,均确定所述访问请求的安全类型与目标区域的安全属性相匹配。10.根据权利要求9所述的装置,其特征在于,所述装置还包括:告警模块,用于当主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性不匹配时,产生错误响应信息,并经由信息转发模块发送给主设备。
【专利摘要】本发明公开了一种基于AXI总线协议的安全访问控制方法,将总线地址空间划分成一个以上区域,确定每个区域的安全属性;判断主设备发出的对目标区域的访问请求的安全类型与目标区域的安全属性是否匹配;匹配时,将所述访问请求发送给目标从设备;本发明同时还公开了一种基于AXI总线协议的安全访问控制装置。
【IPC分类】G06F13/42
【公开号】CN104899175
【申请号】CN201410077578
【发明人】刘卫
【申请人】深圳市中兴微电子技术有限公司
【公开日】2015年9月9日
【申请日】2014年3月4日
【公告号】WO2015131446A1