CN115730341A - 访问控制方法、系统、存储介质、电子设备及系统级芯片 - Google Patents
访问控制方法、系统、存储介质、电子设备及系统级芯片 Download PDFInfo
- Publication number
- CN115730341A CN115730341A CN202110991165.XA CN202110991165A CN115730341A CN 115730341 A CN115730341 A CN 115730341A CN 202110991165 A CN202110991165 A CN 202110991165A CN 115730341 A CN115730341 A CN 115730341A
- Authority
- CN
- China
- Prior art keywords
- access request
- access
- allowable
- target
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本公开涉及一种访问控制方法、系统、存储介质、电子设备及系统级芯片,以对主设备发向内存控制器的数据访问请求进行监测,达到保护内存数据访问的目的。所述方法包括:响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;并,在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;若所述访问请求是所述可允许访问请求,则允许所述访问请求;若所述访问请求不是所述可允许访问请求,则拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种访问控制方法、系统、存储介质、电子设备及系统级芯片。
背景技术
随着移动互联网和物联网的飞速发展,接入网络的智能设备越来越多,而确保这些智能设备的行为和数据访问都是安全和获得授权的,且保障数据资源不被他人窃取,是消费者以及软件方案提供商越来越关注的问题。在一些现有技术中,智能设备的安全访问从多个层级实现。例如,网络层级、应用层级及硬件层级等。
相关技术中,从硬件层级实现智能设备的安全访问的方式存在多种,例如,通过外挂加密芯片对系统级关键数据进行加解密;或者通过在嵌入式处理器中,加入相关组件,对访问进行保护和授权等。
然而,随着智能设备越来越复杂,在其系统级芯片中,除了处理器以外,还有各种各样的主设备。因此,仅从处理器方面进行安全访问的防护不够全面,且通过外挂加密芯片对系统级关键数据进行加解密的防护方式成本较高,且防护也不够全面。
发明内容
本公开的目的是提供一种访问控制方法、系统、存储介质、电子设备及系统级芯片,通过在内存控制器中设置访问控制单元,以对主设备发向内存控制器的数据访问请求进行监测,达到保护内存数据访问的目的。
为了实现上述目的,根据本公开的第一方面,提供一种访问控制方法,应用于至少一个访问控制单元中的任意一个,所述至少一个访问控制单元部署于内存控制器中,所述方法包括:
响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;并,
在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;
若所述访问请求是所述可允许访问请求,则允许所述访问请求;
若所述访问请求不是所述可允许访问请求,则拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
可选地,所述基于所述主设备的类别,确定所述访问请求是否为可允许访问请求,包括:
若所述主设备为目标主设备,则基于所述访问请求携带的第一信息,确定所述访问请求是否为所述可允许访问请求;
若所述主设备为非目标主设备,则基于所述访问请求携带的第二信息和目标访问控制单元的预设配置,确定所述访问请求是否为所述可允许访问请求;
其中,所述目标主设备为包括有安全控制机制的主设备,所述目标访问控制单元为使能状态的访问控制单元。
可选地,所述第一信息至少包括访问标识和访问请求地址;
所述基于所述访问请求携带的第一信息,确定所述访问请求是否为所述可允许访问请求,包括:
确定所述访问标识是否为安全访问标识;
若所述访问标识是安全访问标识,则确定所述访问请求为所述可允许访问请求;
若所述访问标识不是安全访问标识,则确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括所述目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括所述目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
可选地,所述第二信息至少包括访问请求地址,所述预设配置至少反映所述主设备对所述内存控制器的内存区域的访问模式,所述内存区域包括保护区域和非保护区域;
所述基于所述访问请求携带的第二信息和目标访问控制单元的预设配置,确定所述访问请求是否为所述可允许访问请求,包括:
基于所述访问模式,确定所述非目标主设备是否为允许访问所述保护区域的设备;
若所述非目标主设备是允许访问所述保护区域的设备,则确定所述访问请求是所述可允许访问请求;
若所述非目标主设备不是允许访问所述保护区域的设备,则确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
可选地,每个所述至少一个访问控制单元中的每个包括至少一个寄存器,每个所述访问控制单元的预设配置基于对相应的至少一个寄存器的配置项的配置确定;
其中,所述预设配置至少还反映以下的一种:所述至少一个访问控制单元的总控制使能、所述至少一个访问控制单元的中断控制和状态标识、安全内存的基地址、安全内存的数据长度、非允许访问请求的信息反馈、非允许访问请求的地址标识、以及非允许读访问请求的信息反馈。
可选地,所述保护区域基于每个所述至少一个访问控制单元中每个对应的所述安全内存的基地址和所述安全内存的数据长度的预设配置确定;所述目标保护区域基于所述目标访问控制单元对应的所述安全内存的基地址和所述安全内存数据长度的预设配置确定。
可选地,所述基于所述访问请求的类别执行对应的操作,包括:
若所述访问请求为读请求,则向所述主设备发送反馈信息,和/或向中央处理器发送提示信息;
若所述访问请求为写请求,则不执行任何操作。
根据本公开的第二方面,提供一种访问控制系统,应用于至少一个访问控制单元中的任意一个,所述至少一个访问控制单元部署于内存控制器中,所述系统包括:
类别确定模块,用于响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;
访问请求确定模块,用于在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;
执行模块,用于在所述访问请求是所述可允许访问请求的情况下,允许所述访问请求;在所述访问请求不是所述可允许访问请求的情况下,拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面中任一项所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中任一项所述方法的步骤。
根据本公开的第五方面,提供一种系统级芯片,至少一个主设备;内存控制器,用于控制所述至少一个主设备的内存访问,所述内存控制器部署有至少一个访问控制单元,所述至少一个访问控制单元中的任意一个用于执行如本公开第一方面中任一项所述方法的步骤。
通过上述技术方案,通过访问控制单元对内存控制器的访问请求进行监测,仅允许安全访问请求,可以很好的保护对内存空间的每一次访问,从而达到保护内存数据访问的目的。且,对内存控制器部署访问控制单元为芯片底层层级的防护,对于芯片设计来说较易实现,且只有芯片方案的提供商的最底层技术人员才知道防护原理,因此,该防护方式具备很好的机密性和安全性,且防护成本低。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的访问控制方法的流程图;
图2是根据本公开的一种实施方式提供的确定访问请求是否为可允许访问请求的流程图;
图3是根据本公开的一种实施方式提供的确定访问请求是否为可允许访问请求的另一流程图;
图4是根据本公开的一种实施方式提供的访问控制系统的框图;
图5是根据本公开的一种实施方式提供的一种电子设备的框图;
图6是根据本公开的一种实施方式提供的系统级芯片的结构示意图;
图7是根据本公开的一种实施方式提供的访问控制方法的示例性流程图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据本公开的一种实施方式提供的访问控制方法的流程图。在一些实施例中,所述方法可以应用于至少一个访问控制单元中的任意一个,至少一个访问控制单元部署于内存控制器中。在一些实施例中,至少一个访问控制单元中的每个可以包括至少一个寄存器。关于至少一个寄存器的具体细节可以参见步骤120及其相关描述,在此不再赘述。在一些实施例中,内存控制器可以是DDR(DDR SDRAM,双倍速率同步动态随机存储器)内存控制器,其可以部署于SOC芯片(System on Chip,系统级芯片)内。DDR内存控制器可以控制SOC芯片内部各个主设备和DDR内存器件之间的数据交互。例如,控制各个主设备和内存器件之间的数据读写访问。关于SOC芯片的结构的具体细节可以参见图6及其相关描述,在此不再赘述。
如图1所示,访问控制方法可以包括步骤110至步骤140,下面将结合步骤110至140对本公开提供的访问控制方法进行详细说明。
步骤110,响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别。
在一些实施例中,主设备可以是指SOC芯片内部包括的主设备。在一些实施例中,主设备至少可以包括以下的一种:CPU(Central Processing Unit,中央处理器)、NPU(neural-network processing units,嵌入式神经网络处理器)加速引擎、AI(ArtificialIntelligence,人工智能)加速引擎、非易失性存储器、以及DMA(Direct Memory Access,直接存储器访问)等。在一些实施例中,访问请求可以是数据读和/或写访问请求,内存控制器可以通过接收主设备发送的访问请求,控制主设备对DDR内存器件的读和/或写操作。在一些实施例中,DDR内存器件可以是SOC芯片的外挂内存器件。
在一些实施例中,主设备的类别可以根据预设规则进行划分。在一些实施例中,主设备的类别可以通过是否包括有安全控制机制进行划分。在一些实施例中,主设备可以包括目标主设备和非目标主设备,其中,目标主设备可以是包括有安全控制机制的主设备,非目标主设备可以是不包括有安全控制机制的主设备。在一些实施例中,目标主设备至少可以包括CPU和DMA。
在一些实施例中,包括有安全控制机制的主设备(即目标主设备)发送的访问请求携带有访问标识。在一些实施例中,访问标识可以反映对应的访问请求是否为安全访问。关于访问标识的具体细节可以参见步骤210及其相关描述,在此不再赘述。
步骤120,在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求。
在一些实施例中,访问控制单元处于使能状态可以表征访问控制单元处于工作状态。在此状态下,访问控制单元可以基于主设备的类别,确定访问请求是否为可允许访问请求。在一些实施例中,若至少一个访问控制单元均未处于使能状态,则可以基于访问请求直接进行对应的访问。在一些实施例中,可允许访问请求可以是指能进行正常读写访问内存的访问请求。
在一些实施例中,若主设备为目标主设备,访问控制单元可以基于访问请求携带的第一信息,确定访问请求是否为可允许访问请求。在一些实施例中,第一信息至少可以包括访问标识和访问请求地址。关于基于第一信息确定访问请求是否为可允许访问请求的具体细节可以参见图2及其相关描述,在此不再赘述。
在一些实施例中,若主设备为非目标主设备,访问控制单元可以基于访问请求携带的第二信息和目标访问控制单元的预设配置,确定访问请求是否为可允许访问请求。在一些实施例中,目标访问控制单元为处于使能状态的访问控制单元。在一些实施例中,第二信息至少可以包括访问请求地址。基于访问请求地址可以快速判断该访问请求地址的访问区域是否为目标保护区域,以提高目标/非目标主设备的可允许访问请求的判断效率。在一些实施例中,第一信息和第二信息至少还可以包括一种:读写类型、主设备编号、读写数据长度、及读/写信息等。通过读写类型可以快速判断当前访问请求的类型,以便于后续确定当前访问请求不是可允许访问请求时,对读操作和写操作执行不同的操作。通过主设备编号可以快速确定发出当前访问请求的主设备,以在主设备对应的访问请求不是可允许访问请求的情况下,基于主设备编号,快速对该主设备执行中断控制等。
在本说明书实施例中,由于目标主设备发出的访问请求包含访问标识,且访问标识可以直接反映该访问请求是否为安全访问请求,进一步地,通过在反映为安全访问请求时直接将该访问请求确定为可允许访问请求;在反映不是安全访问请求时,再启动是否为可允许访问请求的判断,简化了目标主设备对访问请求的访问控制流程,提高了目标主设备对安全访问控制的效率。
同时,通过对不同类别的主设备执行不同的可允许访问请求的确定流程,可以简化主设备的安全访问控制流程,提高访问控制单元对主设备的安全访问控制的效率。
在一些实施例中,预设配置至少可以反映主设备对内存控制器的内存区域的访问模式。在一些实施例中,内存区域可以包括保护区域和非保护区域。对应的,预设配置至少可以反映主设备对内存控制器的保护区域和非保护区域的访问模式。访问模式可以反映访问权限,即读/写操作的权限。在一些实施例中,访问模式至少可以包括:只能对保护区域进行读/写操作、只能对非保护区域进行读/写操作、或能对保护区域和非保护区域进行读/写操作。在一些实施例中,保护区域可以是至少一个访问控制单元的安全内存区域,对应的,非保护区域为内存区域中除安全内存区域以外的区域。在一些实施例中,保护区域可以由至少一个访问控制单元的预设配置确定。关于确定保护区域的具体细节可以参见步骤230及其相关描述,在此不再赘述。
在本说明书实施例中,由于非目标主设备不包含访问标识,访问控制单元并不能直接基于访问标识确定非目标主设备发出的访问请求为可允许访问请求。因此,针对非目标主设备,可以利用访问控制单元的预先配置,实现访问请求是否为可允许访问请求的判断,从而简化对非目标主设备的访问请求的安全访问控制流程,提高对非目标主设备的安全访问控制的效率。
在一些实施例中,至少一个访问控制单元中的每个可以包括至少一个寄存器,每个访问控制单元的预设配置基于对相应的至少一个寄存器的配置项的配置确定。在一些实施例中,预设配置至少还可以反映以下的一种:至少一个访问控制单元的总控制使能、至少一个访问控制单元的中断控制和状态标识、安全内存的基地址、安全内存的数据长度、非允许访问请求的信息反馈、非允许访问请求的地址标识、以及非允许读访问请求的信息反馈。通过设置至少一个寄存器,可以对至少一个寄存器的配置项进行灵活配置,例如,可灵活配置安全内存的基地址和安全内存的数据长度,以灵活调整至少一个访问控制单元的保护区域的大小和位置。
在一些实施例中,至少一个访问控制单元的总控制使能可以用于反映对整个访问控制单元的工作或生效(即使能)的控制。在一些实施例中,至少一个访问控制单元的中断控制和状态标识可以反映在产生非允许访问请求时对访问控制单元进行的中断控制及状态标识。在一些实施例中,安全内存的基地址和安全内存的数据长度可以反映保护区域的地址。在一些实施例中,非允许访问请求的信息反馈可以反映在产生非允许读/写访问时,对非允许读/写访问的主设备的编号及读/写数据长度的标识。在一些实施例中,非允许访问请求的地址标识可以反映在产生非允许读/写访问时,对非允许读/写访问的地址信息的标识。在一些实施例中,非允许读访问请求的信息反馈可以反映在产生非允许读访问时,DDR控制器给主设备发送的固定数据。在一些实施例中,至少一个寄存器中的每个包括对应的配置项,对至少一个寄存器的配置项进行配置后,可以确定访问控制单元的预设配置。
步骤130,若所述访问请求是可允许访问请求,则允许所述访问请求。
步骤140,若所述访问请求不是可允许访问请求,则拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
在一些实施例中,安全访问控制单元可以在访问请求不是可允许访问请求的情况下,拒绝访问请求,并在访问请求为读请求的情况下,向主设备发送反馈信息,和/或向中央处理器发送提示信息。在一些实施例中,反馈信息可以由预设配置确定,例如,可以通过非允许读访问请求的信息反馈的配置确定。反馈信息可以是预设的固定数据。通过发送反馈信息和提示信息,可以及时通知安全控制控制器,起到保护数据的作用。
在一些实施例中,安全访问控制单元可以在访问请求为写请求的情况下,不执行任何操作。
图2是根据本公开的一种实施方式提供的确定访问请求是否为可允许访问请求的流程图。
步骤210,确定所述访问标识是否为安全访问标识。
步骤220,若所述访问标识是安全访问标识,则确定所述访问请求为所述可允许访问请求。
步骤230,若所述访问标识不是安全访问标识,则确定所述访问请求地址是否包括目标保护区域。
步骤240,在所述访问请求地址不包括所述目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括所述目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
参考表1,表1示出了本说明书的一些实施例所示的访问控制模块的多个寄存器各自的配置项的描述。
表1:
如前所述,访问模式至少可以包括:只能对保护区域进行读/写操作、只能对非保护区域进行读/写操作、能对保护区域和非保护区域进行读/写操作。在一些实施例中,访问模式可以分为写访问模式和读访问模式。写访问模式至少可以包括:只能对保护区域进行写操作、只能对非保护区域进行写操作、能对保护区域和非保护区域进行写操作。读访问模式至少可以包括:只能对保护区域进行读操作、只能对非保护区域进行读操作、能对保护区域和非保护区域进行读操作。
在一些实施例中,可以通过不同的寄存器对写访问模式和读访问模式进行配置。示例地,参见上述表1,可以利用SACUx_Master0_WRMODE、SACUx_Master1_WRMODE、……、SACUx_MasterN_WRMODE实现对主设备0、主设备1、……、主设备N的写访问模式的配置。可以利用SACUx_Master0_RDMODE、SACUx_Master1_RDMODE、……、SACUx_MasterN_RDMODE实现对主设备0、主设备1、……、主设备N的读访问模式。
在一些实施例中,可以对不同的寄存器配置对应的预设值,以实现不同的写访问模式和读访问模式。示例地,仍以上述表1的示例为例,可以对寄存器SACUx_Master0_WRMODE配置预设值0、1或2,则主设备0的写访问模式分别对应为:“只能对保护区域进行写操作”、“只能对非保护区域进行写操作”、或“能对保护区域和非保护区域进行写操作”。类似地,寄存器SACUx_Master1_WRMODE、……、SACUx_MasterN_WRMODE配置的预设值及其各自对应的写访问模式可以与寄存器SACUx_Master0_WRMODE相同,在此不再赘述。
同样的,可以对寄存器SACUx_Master0_RDMODE配置预设值0、1或2,则主设备0的读访问模式分别对应为:“只能对保护区域进行读操作”、“只能对非保护区域进行读操作”、或“能对保护区域和非保护区域进行读操作”。类似地,寄存器SACUx_Master1_RDMODE、……、SACUx_MasterN_RDMODE配置的预设值及其各自对应的写访问模式可以与寄存器SACUx_Master0_RDMODE相同,在此不再赘述。
在一些实施例中,安全访问标识表征访问请求为安全访问。在一些实施例中,保护区域可以基于至少一个访问控制单元中每个对应的安全内存的基地址和安全内存的数据长度的预设配置确定。例如,假设内存控制器包括4个访问控制单元(Security accesscontrol unit,SACU),分别为SACU0、SACU1、SACU2以及SACU3,SACU0中寄存器的配置项SACU0_BASE和SACU0_LEN,配置限定的地址段为(SACU0_BASE~SACU0_BASE+SACU0_LEN),则该地址段为安全内存0;SACU1中寄存器的配置项SACU1_BASE和SACU1_LEN,配置限定的地址段为(SACU1_BASE~SACU1_BASE+SACU1_LEN),则该地址段为安全内存1;SACU2中寄存器的配置项SACU2_BASE和SACU2_LEN,配置限定的地址段为(SACU2_BASE~SACU2_BASE+SACU2_LEN),则该地址段为安全内存2;SACU3中寄存器的配置项SACU3_BASE和SACU3_LEN,配置限定的地址段为(SACU3_BASE~SACU3_BASE+SACU3_LEN),则该地址段为安全内存3。由此可知,保护区域为安全内存0至3对应的区域,非保护区域为内存区域中除安全内存0至3以外的区域。
在一些实施例中,目标保护区域可以基于目标访问控制单元对应的安全内存的基地址和安全内存的数据长度的预设配置确定。例如,仍以上述保护区域的示例为例,若访问控制单元SACU0和SACU2处于使能状态,则SACU0和SACU2为目标访问控制单元,对应的,目标保护区域包括SACU0和SACU2对应的安全内存0和2。
为了更清楚、完整的演绎本公开一些实施例所示的访问控制过程,现以图7为例进行阐述,其中,图7所示的流程基于上述示例的内存控制器包括的4个访问控制单元执行。具体的,针对SACU0、SACU1、SACU2以及SACU3中的任意一个,可执行本公开的访问控制方法。假设SACU0和SACU2为使能状态,则以SACU0为例,SACU0可以响应于内存控制器接收到访问请求,确定发送访问请求的主设备的类别,由于SACU0处于使能状态,则SACU0可以基于主设备的类别对访问请求执行不同的访问控制流程。
其中,在确定主设备为目标主设备的情况下,确定访问请求的访问标识是否为安全访问标识,若访问标识是安全访问标识,则允许访问请求进行正常读写访问内存,若访问标识不是安全访问标识,则确定访问请求地址是否包括SACU0对应的目标保护区域“安全内存0”,若不包括,则允许访问请求进行正常读写访问内存,若包括,则不允许访问(即拒绝访问请求),并确定访问请求是读操作或写操作,在访问请求为读操作的情况下,向主设备发送反馈信息,在访问请求为写操作的情况下,无实质写操作,即不执行写操作。
在主设备为非目标主设备的情况下,确定非目标主设备是否为可允许访问保护区域的设备,若非目标主设备是允许访问保护区域的设备,则允许访问请求进行正常读写访问内存,若非目标主设备不是允许访问保护区域的设备,则确定访问请求地址是否包括SACU0对应的目标保护区域“安全内存0”,若不包括,则允许访问请求进行正常读写访问内存,若包括,则不允许访问(即拒绝访问请求),并确定访问请求是读操作或写操作,在访问请求为读操作的情况下,向主设备发送反馈信息,在访问请求为写操作的情况下,无实质写操作,即不执行写操作。
同样的,对于SACU2可以执行与前述SACU0相同的访问控制控制流程,不同的是,此时目标保护区域为SACU2对应的安全内存2。对于SACU1和SACU3,由于两者未处于使能状态,则两者不能基于主设备的类别对访问请求执行不同的访问控制流程。关于图7中各步骤的具体细节已在前文进行说明,在此不再赘述。
由此可知,在本说明书实施例中,通过在内存控制器中部署至少一个访问控制单元,当内存控制器接收到访问内存的请求时,至少一个访问控制单元中处于使能状态的目标访问控制单元可以控制其对应的目标保护区域的安全访问。具体的,对属于安全访问的访问请求,允许其正常读写访问内存,对属于非法访问目标安全内存区域的访问请求,进行阻止且向主设备发送反馈信息,以起到保护数据的作用。其中,非法访问目标安全内存区域的访问请求为:访问标识不是安全访问标识,且访问请求地址包括目标保护区域的访问请求,或,不是由可允许访问保护区域的设备发出,且访问请求地址包括目标保护区域的访问请求。
图3是根据本公开的一种实施方式提供的确定访问请求是否为可允许访问请求的另一流程图。
步骤310,基于所述访问模式,确定所述非目标主设备是否为允许访问所述保护区域的设备。
关于访问模式的具体细节可以参见上述步骤210及其相关描述。在一些实施例中,当访问请求为读请求,及访问模式为只能对保护区域进行读操作或能对保护区域和非保护区域进行读操作时,可以确定非目标主设备为允许访问保护区域的设备。在一些实施例中,当访问请求为写请求,及访问模式为只能对保护区域进行写操作或能对保护区域和非保护区域进行写操作时,可以确定非目标主设备为允许访问保护区域的设备。
步骤320,若所述非目标主设备是允许访问所述保护区域的设备,则确定所述访问请求是所述可允许访问请求。
步骤330,若所述非目标主设备不是允许访问所述保护区域的设备,则确定所述访问请求地址是否包括目标保护区域。
步骤340,在所述访问请求地址不包括目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
关于步骤340的具体细节可以参见上述步骤240及其相关描述,在此不再赘述。
图4是根据本公开的一种实施方式提供的访问控制系统的框图。所述系统应用于至少一个访问控制单元中的任意一个,所述至少一个访问控制单元部署于内存控制器中。如图4所示,所述系统400包括:
类别确定模块410,用于响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;
访问请求确定模块420,用于在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;
执行模块430,用于在所述访问请求是所述可允许访问请求的情况下,允许所述访问请求;在所述访问请求不是所述可允许访问请求的情况下,拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
可选地,所述访问请求确定模块420可以进一步用于:
在所述主设备为目标主设备的情况下,基于所述访问请求携带的第一信息,确定所述访问请求是否为所述可允许访问请求;
在所述主设备为非目标主设备的情况下,则基于所述访问请求携带的第二信息和目标访问控制单元的预设配置,确定所述访问请求是否为所述可允许访问请求;
其中,所述目标主设备为包括有安全控制机制的主设备,所述目标访问控制单元为使能状态的访问控制单元。
可选地,所述第一信息至少包括访问标识和访问请求地址;所述访问请求确定模块420可以进一步用于:
确定所述访问标识是否为安全访问标识;
在所述访问标识是安全访问标识的情况下,确定所述访问请求为所述可允许访问请求;
在所述访问标识不是安全访问标识的情况下,确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括所述目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括所述目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
可选地,所述第二信息至少包括访问请求地址,所述预设配置至少反映所述主设备对所述内存控制器的内存区域的访问模式,所述内存区域包括保护区域和非保护区域;所述访问请求确定模块420可以进一步用于:
基于所述访问模式,确定所述非目标主设备是否为允许访问所述保护区域的设备;
在所述非目标主设备是允许访问所述保护区域的设备的情况下,确定所述访问请求是所述可允许访问请求;
在所述非目标主设备不是允许访问所述保护区域的设备的情况下,确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
可选地,每个所述访问控制单元中的每个包括至少一个寄存器,每个所述访问控制单元的预设配置基于对相应的至少一个寄存器的配置项的配置确定;
其中,所述预设配置至少还反映以下的一种:所述至少一个访问控制单元的总控制使能、所述至少一个访问控制单元的中断控制和状态标识、安全内存的基地址、安全内存的数据长度、非允许访问请求的信息反馈、非允许访问请求的地址标识、以及非允许读访问请求的信息反馈。
可选地,所述保护区域基于所述至少一个访问控制单元中每个对应的所述安全内存的基地址和所述安全内存的数据长度的预设配置确定;所述目标保护区域基于所述目标访问控制单元对应的所述安全内存的基地址和所述安全内存数据长度的预设配置确定。
可选地,所述执行模块430可以进一步用于:
在所述访问请求为读请求的情况下,向所述主设备发送反馈信息,和/或向中央处理器发送提示信息;
在所述访问请求为写请求的情况下,不执行任何操作。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据本公开的一种实施方式提供的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的访问控制方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的访问控制方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的访问控制方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的访问控制方法。
图6是根据本公开的一种实施方式提供的系统级芯片的结构示意图。如图6所示,该系统级芯片600可以包括:
至少一个主设备(在图6中,分别用主设备1~主设备N表示);
用于控制所述至少一个主设备的内存访问的内存控制器610,所述内存控制器610中部署有至少一个访问控制单元(在图6中,分别用访问控制单元1~访问控制单元N表示),所述至少一个访问控制单元中的任意一个用于执行本公开任意实施例所提供的访问控制方法。关于任意访问控制单元执行的访问控制方法的具体细节可以参见图1及其相关描述,在此不再赘述。在一些实施例中,系统级芯片600还可以包括内存器件620,内存器件620可以供至少一个主设备进行数据的读写。
由图6所示,主设备1~主设备N可以向内存控制器610发送数据读写的访问请求,内存控制器610控制主设备1~主设备N对内存器件620的读写操作。内存控制器610是系统级芯片610内部各个主设备和内存器件620沟通的桥梁,几乎所有的数据流和程序流,都需要经过这个通路。因此,在内存控制器610中部署安全访问控制单元,使安全访问控制单元执行对应的访问控制流程,可以很好的保护对内存器件的每一次访问,从底层的内存数据访问保护的角度来保证访问的安全性。这种内存数据访问保护的机制最为直接,对于芯片设计来说也易实现,且只有芯片方案的提供商最底层的技术人员才知道控制,这样具有很好的机密性和安全性。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公。开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (11)
1.一种访问控制方法,其特征在于,应用于至少一个访问控制单元中的任意一个,所述至少一个访问控制单元部署于内存控制器中,所述方法包括:
响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;并,
在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;
若所述访问请求是所述可允许访问请求,则允许所述访问请求;
若所述访问请求不是所述可允许访问请求,则拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
2.如权利要求1所述的方法,其特征在于,所述基于所述主设备的类别,确定所述访问请求是否为可允许访问请求,包括:
若所述主设备为目标主设备,则基于所述访问请求携带的第一信息,确定所述访问请求是否为所述可允许访问请求;
若所述主设备为非目标主设备,则基于所述访问请求携带的第二信息和目标访问控制单元的预设配置,确定所述访问请求是否为所述可允许访问请求;
其中,所述目标主设备为包括有安全控制机制的主设备,所述目标访问控制单元为使能状态的访问控制单元。
3.如权利要求2所述的方法,其特征在于,所述第一信息至少包括访问标识和访问请求地址;
所述基于所述访问请求携带的第一信息,确定所述访问请求是否为所述可允许访问请求,包括:
确定所述访问标识是否为安全访问标识;
若所述访问标识是安全访问标识,则确定所述访问请求为所述可允许访问请求;
若所述访问标识不是安全访问标识,则确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括所述目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括所述目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
4.如权利要求2所述的方法,其特征在于,所述第二信息至少包括访问请求地址,所述预设配置至少反映所述主设备对所述内存控制器的内存区域的访问模式,所述内存区域包括保护区域和非保护区域;
所述基于所述访问请求携带的第二信息和目标访问控制单元的预设配置,确定所述访问请求是否为所述可允许访问请求,包括:
基于所述访问模式,确定所述非目标主设备是否为允许访问所述保护区域的设备;
若所述非目标主设备是允许访问所述保护区域的设备,则确定所述访问请求是所述可允许访问请求;
若所述非目标主设备不是允许访问所述保护区域的设备,则确定所述访问请求地址是否包括目标保护区域;并,
在所述访问请求地址不包括目标保护区域的情况下,确定所述访问请求是所述可允许访问请求,在所述访问请求地址包括目标保护区域的情况下,确定所述访问请求不是所述可允许访问请求。
5.如权利要求4所述的方法,其特征在于,每个所述访问控制单元中包括至少一个寄存器,每个所述访问控制单元的预设配置基于对相应的至少一个寄存器的配置项的配置确定;
其中,所述预设配置至少还反映以下的一种:所述访问控制单元的总控制使能、所述访问控制单元的中断控制和状态标识、安全内存的基地址、安全内存的数据长度、非允许访问请求的信息反馈、非允许访问请求的地址标识、以及非允许读访问请求的信息反馈。
6.如权利要求5所述的方法,其特征在于,所述保护区域基于每个所述访问控制单元中对应的所述安全内存的基地址和所述安全内存的数据长度的预设配置确定;所述目标保护区域基于所述目标访问控制单元对应的所述安全内存的基地址和所述安全内存数据长度的预设配置确定。
7.如权利要求5所述的方法,其特征在于,所述基于所述访问请求的类别执行对应的操作,包括:
若所述访问请求为读请求,则向所述主设备发送反馈信息,和/或向中央处理器发送提示信息;
若所述访问请求为写请求,则不执行任何操作。
8.一种访问控制系统,其特征在于,应用于至少一个访问控制单元中的任意一个,所述至少一个访问控制单元部署于内存控制器中,所述系统包括:
类别确定模块,用于响应于所述内存控制器接收到访问请求,确定发送所述访问请求的主设备的类别;
访问请求确定模块,用于在所述访问控制单元处于使能状态的情况下,基于所述主设备的类别,确定所述访问请求是否为可允许访问请求;
执行模块,用于在所述访问请求是所述可允许访问请求的情况下,允许所述访问请求;在所述访问请求不是所述可允许访问请求的情况下,拒绝所述访问请求,并基于所述访问请求的类别执行对应的操作。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
11.一种系统级芯片,其特征在于,
至少一个主设备;
内存控制器,用于控制所述至少一个主设备的内存访问,所述内存控制器部署有至少一个访问控制单元,所述至少一个访问控制单元中的任意一个用于执行如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110991165.XA CN115730341A (zh) | 2021-08-26 | 2021-08-26 | 访问控制方法、系统、存储介质、电子设备及系统级芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110991165.XA CN115730341A (zh) | 2021-08-26 | 2021-08-26 | 访问控制方法、系统、存储介质、电子设备及系统级芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115730341A true CN115730341A (zh) | 2023-03-03 |
Family
ID=85289870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110991165.XA Pending CN115730341A (zh) | 2021-08-26 | 2021-08-26 | 访问控制方法、系统、存储介质、电子设备及系统级芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115730341A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194286A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
-
2021
- 2021-08-26 CN CN202110991165.XA patent/CN115730341A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194286A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
CN117194286B (zh) * | 2023-09-08 | 2024-03-26 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462708B (zh) | 认证变量的管理方法和装置 | |
US7444668B2 (en) | Method and apparatus for determining access permission | |
US9483422B2 (en) | Access to memory region including confidential information | |
KR20180124048A (ko) | 가상 리소스 뷰들을 이용한 데이터 보호 | |
KR101870847B1 (ko) | 단말 디바이스의 디버그 포트 제어 방법 및 장치 | |
US11847225B2 (en) | Blocking access to firmware by units of system on chip | |
TW201401100A (zh) | 應用程式的權限控管方法、電子裝置及電腦可讀取媒體 | |
CN102096642B (zh) | 存储器保护装置及存储器保护方法 | |
US20210089684A1 (en) | Controlled access to data stored in a secure partition | |
JP7213879B2 (ja) | 間接アクセスメモリコントローラ用のメモリ保護装置 | |
US20170329963A1 (en) | Method for data protection using isolated environment in mobile device | |
CN104318176A (zh) | 用于终端的数据管理方法、数据管理装置和终端 | |
US20130124845A1 (en) | Embedded device and control method thereof | |
CN112069506A (zh) | 一种安全启动方法和装置 | |
KR20230042455A (ko) | 인-메모리 디바이스 액세스 제어를 위한 방법들 및 장치 | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
US20150227755A1 (en) | Encryption and decryption methods of a mobile storage on a file-by-file basis | |
CN115730341A (zh) | 访问控制方法、系统、存储介质、电子设备及系统级芯片 | |
CN101150459B (zh) | 提高信息安全装置安全性的方法及系统 | |
CN109583197B (zh) | 一种可信叠层文件加解密方法 | |
CN108345804B (zh) | 一种可信计算环境中的存储方法和装置 | |
US10592663B2 (en) | Technologies for USB controller state integrity protection | |
US10387681B2 (en) | Methods and apparatus for controlling access to secure computing resources | |
EP3151154B1 (en) | Data access control based on storage validation | |
WO2022256128A1 (en) | Firmware policy enforcement via a security processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |