CN113468098A - 一种安全访问方法、集成电路及计算机可读存储介质 - Google Patents
一种安全访问方法、集成电路及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113468098A CN113468098A CN202010238683.XA CN202010238683A CN113468098A CN 113468098 A CN113468098 A CN 113468098A CN 202010238683 A CN202010238683 A CN 202010238683A CN 113468098 A CN113468098 A CN 113468098A
- Authority
- CN
- China
- Prior art keywords
- safety
- security
- slave
- attribute
- multiplexer
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全访问方法、集成电路及计算机可读存储介质。其中,该方法包括:获取当前访问事件的安全标志信号以及从机身份标识信息;然后,根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;最后,根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。实现了一种更有效的从机安全访问控制方案,针对总线上各个设备,提高了其单独的安全访问控制能力,增强了其关键敏感数据的安全防护强度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种安全访问方法、集成电路及计算机可读存储介质。
背景技术
在现有的MCU(Microcontroller Unit,微控制单元)/SOC(System on Chip,片上系统)应用场景中,基于信息保密和防止黑客攻击等目的,需要对关键敏感数据进行安全保护,例如,在生物信息采集系统、车载电子系统、工业控制系统等场景下,需要对系统下设的各个设备进行单独且有效的安全访问控制。而现有的MCU/SOC产品中,只能通过AHB(Advanced high-performance bus,高级高性能系统总线)到APB(Advanced peripheralbus,高级外围总线)桥接的安全门控对整个APB总线及总线下的所有外围设备进行安全访问控制,而无法实现对APB总线上的个别设备进行单独的安全访问控制。
因此,可以看出,现有技术中MCU/SOC针对下设外设备的安全访问控制方案存在安全性较差、灵活性较低的技术缺陷。
发明内容
为了解决现有技术中的上述技术缺陷,本发明提出了一种安全访问方法,该方法包括:
获取当前访问事件的安全标志信号以及从机身份标识信息;
根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;
根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。
可选的,所述获取当前访问事件的安全标志信号以及从机身份标识信息之前,所述方法还包括:
设定至少一个预设从机模块的安全属性,其中,所述至少一个预设从机模块包括所述目标从机模块。
可选的,所述设定至少一个预设从机模块的安全属性,包括:
在安全且特权模式下,向所述至少一个预设从机模块写入安全属性数据,所述安全属性数据用于定义所述至少一个预设从机模块的安全属性。
可选的,所述设定至少一个预设从机模块的安全属性,包括:
在闪存中提取与所述安全属性相关的代码选项,根据所述代码选项设定所述至少一个预设从机模块的安全属性。
可选的,所述根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,包括:
根据所述安全标志信号判断当前访问事件为安全访问事件或非安全访问事件;
当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求;
当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求。
可选的,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述方法还包括:
生成报错数据;
将所述报错数据传输至预设主机模块,其中,所述预设主机模块通过总线桥与所述目标从机模块连接。
本发明还提出了一种集成电路,该集成电路包括第一总线、第二总线以及用于连接所述第一总线和所述第二总线的总线桥,所述第一总线上连接有处理器和存储器,所述存储器内存储有可在所述处理器上运行的计算机程序,所述第二总线上连接有至少一个从机模块,其特征在于,所述处理器执行所述计算机程序时实现如上任一项所述的安全访问方法的步骤。
可选的,所述处理器包括从机安全属性控制电路,其中,所述从机安全属性控制电路至少包括第一多路选择器,所述第一多路选择器的输出端用于连接所述至少一个从机模块的寄存器;
所述第一多路选择器的输入端用于输入安全属性数据,所述第一多路选择器用于将所述安全属性数据写入所述至少一个从机模块的寄存器,以设定所述至少一个预设从机模块的安全属性;
或者,所述第一多路选择器的输入端用于连接闪存并从所述闪存中获取与所述安全属性相关的代码选项,所述第一多路选择器用于将所述代码选项写入所述至少一个从机模块的寄存器,以设定所述至少一个预设从机模块的安全属性。
可选的,所述处理器包括从机安全事件中断电路,其中,所述从机安全事件中断电路包括异或门电路、第一多输入与门电路、第二多输入与门电路以及第二多路选择器;
所述异或门电路、第一多输入与门电路和第二多输入与门电路依次串联,所述第二多路选择器连接在所述第一多输入与门电路与所述第二多输入与门电路之间,其中,所述异或门电路的一个输入端用于输入当前访问事件的安全标志信号的指令,所述异或门电路的另一个输入端用于输入目标从机模块的安全属性数据,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述异或门电路输出高电平,触发所述第一多输入与门电路生成安全中断事件,并通过所述安全中断事件触发所述第二多输入与门电路生成安全中断信号。
可选的,所述处理器还包括从机报错电路,所述从机报错电路包括第三多输入与门电路、第三多路选择器、第四多路选择器、第五多路选择器、第一寄存器和第二寄存器;
所述第三多输入与门电路的输入端用于输入从机选择信号和从机选通信号,所述第三多输入与门电路的输出端连接所述第四多路选择器的选择端;
所述第四多路选择器的一个输入端与所述第三多路选择器的输出端相连接,所述第四多路选择器的另一输入端用于输入第一电平信号,所述第四选择器的输出端与第一寄存器的输入端相连接,所述第一寄存器的输出端与分别与所述第三多路选择器的一个输入端和所述第五多路选择器的选择端相连接,所述第三多路选择器的另一个输入端用于输入第二电平信号;
所述第三多路选择器的选择端和所述第五多路选择器的一个输入端分别用于输入所述安全事件,所述第五多路选择器的另一个输入端用于输入第二电平信号,所述第五多路选择器的输出端与所述第二寄存器的输入端相连接,所述第二寄存器的输出端用于输出报错数据,所述第二寄存器的时钟输入端与所述第一寄存器的时钟输入端相连接。
本发明还提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有安全访问程序,所述安全访问程序被处理器执行时实现如上任一项所述的安全访问方法的步骤。
本发明的有益效果在于,通过获取当前访问事件的安全标志信号以及从机身份标识信息;然后,根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;最后,根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。实现了一种更有效的从机安全访问控制方案,针对总线上各个设备,提高了其单独的安全访问控制能力,增强了其关键敏感数据的安全防护强度。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一实施例的安全访问方法的流程示意图;
图2是本发明一实施例的安全访问系统的结构框图;
图3是本发明一实施例提供的一种设定从机模块安全属性的电路图;
图4是本发明一实施例提供的另一种设定从机模块安全属性的电路图;
图5是本发明一实施例提供的从机安全事件中断电路图;
图6是本发明一实施例提供的从机报错电路图;
图7是本发明一实施例提供的从机报错时序图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
图1是本发明安全访问方法的一实施例的流程示意图。在本实施例中,提出了一种安全访问方法,该方法包括以下步骤:
S1、获取当前访问事件的安全标志信号以及从机身份标识信息;
S2、根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;
S3、根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。
需要说明的是,本实施例所提出的安全访问方法适用于现有的MCU(Microcontroller Unit,微控制单元)或SOC(System on Chip,片上系统)或SIP(Systemin a Package,系统级封装)等集成电路中。例如,将该安全访问方法应用于生物信息采集系统、车载电子系统、或者工业控制系统等应用场景的主控芯片中。具体的,考虑到对关键敏感数据的安全保护需求,本实施例所提出的安全访问方法主要适用于各集成电路中的APB(Advanced Peripheral Bus,外围总线)从机的安全访问控制,其中,本实施例的APB从机包括但不限于ADC(nalog to digital converter,模数转换器)、DAC(digital to nalogconverter,数模转换器)、UART(Universal Asynchronous Receiver/Transmitte,通用异步收发传输器)、SPI(Serial Peripheral Interface,串行外设接口)、I2C(Inter-Integrated Circuit,二线制同步串行总线)、定时器等功能模块。
可选的,本实施例所提出的安全访问方法还适用于基于拥有TrustZone(一种由ARM平台的系统范围的安全方法)或者类似的信任执行环境功能的CPU(centralprocessing unit,中央处理器)和AHB5(Advanced High Performance Bus,高级高性能总线)总线开发的MCU或SOC芯片。
在一个实施例中,参考图2示出的本发明一实施例的安全访问系统的结构框图。在本实施例中,CPU以及多个AHB主机通过AHB5总线矩阵连接多个AHB从机和多个AHB-APB桥接器;在本实施例中,AHB-APB桥接器用于实现AHB5总线矩阵与APB总线之间的桥接,使得多个APB从机能够依次通过APB总线、AHB-APB桥接器以及AHB5总线矩阵与CPU及各AHB主机连接。可以看出,不同于现有技术中仅通过AHB-APB桥接器的安全门控对整个APB总线及APB总线下的所有外围设备进行安全访问控制的方案,本实施例是对APB总线下端的各个设备进行独立的安全访问控制。
在一个具体的实施例中,当CPU或者AHB主机发起对APB从机进行读写访问时,通过多个AHB-APB桥接器,将该读写访问事件的安全标志信号HNONSEC传递到每个桥接模块下的APB从机,并结合AHB-APB桥接器产生的APB从机选择信号PSEL,判断AHB主机每一次对APB从机的访问的安全属性。同时,由APB从机的安全属性寄存器表征该APB从机的安全属性,若判定得到CPU或者AHB主机的指令的安全属性和被访问的APB从机的安全属性不一致,则产生安全中断事件并可选择性上报给CPU,同时产生APB总线报错信号,此时,APB总线读到的值全为0。由此,阻止CPU及AHB主机对每个APB从机进行非法的访问,有效地实现了对每个APB从机的安全保护。本实施例的有益效果在于,通过AHB-APB桥接器将读写访问事件的安全标志信号传递到每个桥接模块下的APB从机,并结合AHB-APB桥接器产生的APB从机选择信号PSEL,判断AHB主机每一次对APB从机的访问的安全属性,实现了AHB主机对各个APB从机的独立安全访问控制,一方面,提高了AHB主机对APB从机安全访问控制的精准度,另一方面,当对单个APB从机进行安全访问控制时,避免对其它各个APB从机的安全访问控制造成影响,提高了安全访问控制的执行效率。
在一个实施例中,在获取当前访问事件的安全标志信号以及从机身份标识信息之前,该方法还包括:设定至少一个预设从机模块的安全属性,其中,从机模块的安全属性预设方式包括两种,一是,通过安全且特权模式的指令对从机模块的安全属性寄存器进行更改,二是,通过从闪存的代码选项映射对从机模块的安全属性寄存器进行更改。在本实施例中,上述至少一个预设从机模块包括目标从机模块。
在一个实施例中,设定至少一个预设从机模块的安全属性,其中,一种方法是,在安全且特权模式下,向所述至少一个预设从机模块写入安全属性数据,该安全属性数据用于定义至少一个预设从机模块的安全属性。可以理解的是,根据实际的安全控制需求,在安全且特权模式下,向各个APB从机写入相应的安全属性数据,从而便于AHB主机对各个APB从机进行独立地安全访问控制。
在一个实施例中,设定至少一个预设从机模块的安全属性,其中,另一种方法是,在闪存中提取与所述安全属性相关的代码选项,根据所述代码选项设定所述至少一个预设从机模块的安全属性。同样的,可以理解的是,在闪存中提取与各个APB从机安全属性相关的代码选项,根据各个代码选项设定各个APB从机的安全属性,从而便于AHB主机对各个APB从机进行独立地安全访问控制。可选的,在对多个APB从机进行安全属性设定的过程中,采用上述两种安全属性设定方式中的一种或两种对各个APB从机进行安全属性设定;可选的,根据APB从机的功能类型确定其对应的安全属性设定方式;可选的,根据AHB主机的安全访问控制需求确定其下各个APB从机的安全属性设定方式。
需要说明的是,在一个实施例中,CPU的TrustZone用于定义AHB主机的安全属性,当CPU或者AHB主机每次发起APB从机访问时,同时驱动AHB5总线的HNONSEC信号。作为一种示例,当HNONSEC信号为‘1’时表示非安全访问,当HNONSEC信号为‘0’时表示安全访问。还需要说明的是,AHB5总线的HPROT[1]信号表征特权模式(‘1’)和非特权模式(‘0’),通过AHB-APB桥接器后,HNONSEC和HPROT[1]分别对应APB总线的PPROT[1]和PPROT[0],而由于HNONSEC和HPROT[1]都是地址相位的信号,因此,AHB-APB桥接器的逻辑和其他总线控制信号保持一致。
具体的,基于上述控制机制,以下结合两种电路图分别说明上述两种设定从机模块安全属性的方法。
图3是本发明一实施例提供的一种设定从机模块安全属性的电路图,可用于设定从机模块的安全属性。该图示出的从机安全属性控制电路至少包括第一多路选择器10,第一多路选择器10的输出端用于连接所述至少一个从机模块的寄存器43;第一多路选择器10的输入端用于输入安全属性数据PWDATA,所述第一多路选择器10用于将所述安全属性数据写入所述至少一个从机模块的寄存器43,以设定所述至少一个预设从机模块的安全属性。
基于上述电路结构,提出第一种设定从机模块安全属性的方法,通过CPU的安全且特权模式的写指令更改。例如,通过AHB5总线、AHB-APB桥接器及APB总线传递写指令,该写指令用于在APB从机的内部更改APB从机的安全属性SEC。具体的,第一多路选择器10的控制端可连接一多输入与门电路,当多输入与门电路的输入端所接入的APB从机选择信号PSEL、APB从机读写信号PWRITE、APB从机选通信号PENABLE、APB从机定义信号PPROT[0]均为‘1’且PPROT[1]为‘0’时,代表安全且特权模式的写操作,此时多输入与门电路的输出为‘1’,APB从机模块的寄存器(又称为“APB从机安全属性寄存器SEC”)把APB总线的写入数据PWDATA(本实施例中为安全属性数据)数据锁在SEC,从而实现APB从机安全属性的更改。
图4是本发明一实施例提供的另一种设定从机模块安全属性的电路图,同样可用于设定从机模块的安全属性。其中,第一多路选择器10的输入端用于连接闪存并从所述闪存中获取与所述安全属性相关的代码选项,所述第一多路选择器10用于将所述代码选项写入所述至少一个从机模块的寄存器43,以设定所述至少一个预设从机模块的安全属性。
基于上述电路结构,提出第二种设定从机模块安全属性的方法,通过代码选项的映射对APB从机安全属性进行更改。第一多路选择器10的控制端与映射控制模块连接,首先,映射控制模块在系统上电后产生一次映射单脉冲,然后,将闪存中的APB从机安全属性相关的代码选项锁存到APB从机模块的寄存器,需要说明的是,如果要修改代码选项,则需要经过一系列解密过程且在安全特权模式下才能进行,从而保证MCU/SOC芯片在二次开发时的安全性和灵活性。
当基于上述两种方式中的一种完成对从机模块安全属性的设定后,通过APB从机模块的寄存器的值判定APB从机的安全属性,具体的,当APB从机模块的寄存器的值为‘0’时,表示APB从机为安全属性,此时,只有安全指令才能读写访问;而当APB从机模块的寄存器的值为‘1’时,表示APB从机为非安全属性,此时,只有非安全指令才能读写访问。
在一个实施例中,当完成对从机模块安全属性的识别后,再根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,其中,根据所述安全标志信号判断当前访问事件为安全访问事件或非安全访问事件。
具体的,判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,分为以下四种情形:
情形一,当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求;
情形二,当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
情形三,当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
情形四,当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求。
本实施例的有益效果在于,通过安全标志信号判断各个目标从机模块的安全属性是否符合当前访问事件的安全属性要求,实现了对各个目标从机模块的差异化的安全访问控制,将各个目标从机模块与其访问事件相关联,提高了各访问事件的控制效率和准确性。
具体的,参考图5示出的本发明一实施例提供的从机安全事件中断电路图,可用于生成安全中断信号。该从机安全事件中断电路包括异或门电路20、第一多输入与门电路30、第二多输入与门电路31以及第二多路选择器11;所述异或门电路20、第一多输入与门电路30和第二多输入与门电路31依次串联,所述第二多路选择器11连接在所述第一多输入与门电路30与所述第二多输入与门电路31之间,其中,所述异或门电路20的一个输入端用于输入当前访问事件的安全标志信号的指令PPROT,所述异或门电路20的另一个输入端用于输入目标从机模块的安全属性数据(即从机安全属性寄存器SEC中存储的数据),当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述异或门电路20输出高电平,触发所述第一多输入与门电路30生成安全中断事件SEC_EVENT,并通过所述安全中断事件触发所述第二多输入与门电路31生成安全中断信号SEC_INT。
具体的,结合上述四种判定,以下分别说明是否生成安全中断并生成报错数据:
情形一,当非安全指令(PPROT[1]为‘1’)对安全属性的APB从机(SEC为‘0’)进行读写访问时,APB从机读到的值为全‘0’并且会产生安全事件SEC_EVENT,通过设置安全事件中断使能信号SEC_IE选择生成安全中断SEC_INT并上报CPU;
情形二,当非安全指令(PPROT[1]为‘1’)对非安全属性的APB从机(SEC为‘1’)进行读写访问时,访问正常执行,不产生安全事件SEC_EVENT;
情形三,当安全指令(PPROT[1]为‘0’)对非安全属性的APB从机(SEC为‘1’)进行读写访问时,APB从机读到的值为全‘0’并且会产生安全事件SEC_EVENT,通过设置安全事件中断使能信号SEC_IE选择生成安全中断SEC_INT并上报CPU;
情形四,当安全指令(PPROT[1]为‘0’)对安全属性的APB从机(SEC为‘0’)进行读写访问时,访问正常执行,不产生安全事件SEC_EVENT。
在一个实施例中,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,生成报错数据,同时,将所述报错数据传输至预设主机模块,其中,所述预设主机模块通过总线桥与所述目标从机模块连接。本实施例的有益效果在于,通过安全标志信号判断各个目标从机模块的安全属性是否符合当前访问事件的安全属性要求,以及根据符合情况确定是否生成安全事件,实现了对各个目标从机模块的差异化的安全访问控制,将各个目标从机模块与其访问事件相关联,提高了各访问事件的控制效率和准确性。
在一个实施例中,图6示出的是本发明一实施例提供的从机报错电路图,可用于生成报错信号。该从机报错电路包括第三多输入与门电路33、第三多路选择器13、第四多路选择器14、第五多路选择器15、第一寄存器41和第二寄存器42,其中:
第三多输入与门电路33的输入端用于输入从机选择信号PSEL和从机选通信号PENABLE,所述第三多输入与门电路33的输出端连接所述第四多路选择器的选择端;
第四多路选择器14的一个输入端与所述第三多路选择器13的输出端相连接,所述第四多路选择器14的另一输入端用于输入第一电平信号,所述第四选择器14的输出端与第一寄存器41的输入端相连接,所述第一寄存器41的输出端与分别与所述第三多路选择器13的一个输入端和所述第五多路选择器15的选择端相连接,所述第三多路选择器13的另一个输入端用于输入第二电平信号,其中,第一电平信号为1,第二电平信号为0;
第三多路选择器13的选择端和所述第五多路选择器15的一个输入端分别用于输入所述安全事件SEC_EVENT,所述第五多路选择器15的另一个输入端用于输入第二电平信号,所述第五多路选择器15的输出端与所述第二寄存器42的输入端相连接,所述第二寄存器42的输出端用于输出报错数据,所述第二寄存器42的时钟输入端与所述第一寄存器41的时钟输入端相连接,其中,第二电平信号为0。
在一个实施例中,参考图7示出的本发明一实施例提供的从机报错时序图。该时序图中,由上到下分别描绘出PCLK(总线时钟)波形、PADDR(APB地址总线)波形、PSEL(AHB-APB桥接器的二级译码信号)波形、PENABLE(一次APB传输的第二个时钟周期)波形、PREADY(扩展APB传输)波形、PSLVERR(传输失败)波形、以及SEC_EVENT(安全事件)波形。其中,安全事件SEC_EVENT的产生同时会引起一次APB总线的报错,同时,安全事件SEC_EVENT在对APB从机进行读写访问的第二个周期时拉低APB总线的PREADY,并在第三个周期拉高APB总线的PSLVERR。可以看出,图6示出的波形特征符合APB总线协议的报错时序,APB总线报错将通过AHB-APB桥接器逐级上报到CPU和AHB主机。
本实施例的有益效果在于,通过获取当前访问事件的安全标志信号以及从机身份标识信息;然后,根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;最后,根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。实现了一种更有效的从机安全访问控制方案,针对总线上各个设备,提高了其单独的安全访问控制能力,增强了其关键敏感数据的安全防护强度。
在一个实施例中,本发明还提出了一种集成电路,该集成电路包括第一总线、第二总线以及用于连接所述第一总线和所述第二总线的总线桥,所述第一总线上连接有处理器和存储器,所述存储器内存储有可在所述处理器上运行的计算机程序,所述第二总线上连接有至少一个从机模块,所述处理器执行所述计算机程序时实现如上任一项所述的安全访问方法的步骤。
可选地,该集成电路可以为MCU、SOC、SIP或其他集成电路。
图3是本发明安全访问方法的一实施例的一种设定从机模块安全属性的电路图。该集成电路的从机安全属性控制电路至少包括第一多路选择器10,第一多路选择器10的输出端用于连接所述至少一个从机模块的寄存器43;第一多路选择器10的输入端用于输入安全属性数据PWDATA,所述第一多路选择器10用于将所述安全属性数据写入所述至少一个从机模块的寄存器43,以设定所述至少一个预设从机模块的安全属性。
在该集成电路中,基于上述电路结构,提出第一种设定从机模块安全属性的方法,通过CPU的安全且特权模式的写指令更改。例如,通过AHB5总线、AHB-APB桥接器及APB总线传递写指令,该写指令用于在APB从机的内部更改APB从机的安全属性SEC。具体的,第一多路选择器10的控制端可连接一多输入与门电路,当多输入与门电路的输入端所接入的APB从机选择信号PSEL、APB从机读写信号PWRITE、APB从机选通信号PENABLE、APB从机定义信号PPROT[0]均为‘1’且PPROT[1]为‘0’时,代表安全且特权模式的写操作,此时多输入与门电路的输出为‘1’,APB从机模块的寄存器(又称为“APB从机安全属性寄存器SEC”)把APB总线的写入数据PWDATA(本实施例中为安全属性数据)数据锁在SEC,从而实现APB从机安全属性的更改。
如图4所示,在该集成电路中,第一多路选择器10的输入端用于连接闪存,并从所述闪存中获取与所述安全属性相关的代码选项,所述第一多路选择器10用于将所述代码选项写入所述至少一个从机模块的寄存器43,以设定所述至少一个预设从机模块的安全属性。
在该集成电路中,基于上述电路结构,提出第二种设定从机模块安全属性的方法,通过代码选项的映射对APB从机安全属性进行更改。第一多路选择器10的控制端与映射控制模块连接,首先,映射控制模块在系统上电后产生一次映射单脉冲,然后,将闪存中的APB从机安全属性相关的代码选项锁存到APB从机模块的寄存器,需要说明的是,如果要修改代码选项,则需要经过一系列解密过程且在安全特权模式下才能进行,从而保证MCU/SOC芯片在二次开发时的安全性和灵活性。
在该集成电路中,当基于上述两种方式中的一种完成对从机模块安全属性的设定后,通过APB从机模块的寄存器的值判定APB从机的安全属性,具体的,当APB从机模块的寄存器的值为‘0’时,表示APB从机为安全属性,此时,只有安全指令才能读写访问;而当APB从机模块的寄存器的值为‘1’时,表示APB从机为非安全属性,此时,只有非安全指令才能读写访问。
在一个实施例中,当完成对从机模块安全属性的识别后,再根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,其中,根据所述安全标志信号判断当前访问事件为安全访问事件或非安全访问事件。
具体的,判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,分为以下四种情形:
情形一,当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求;
情形二,当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
情形三,当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
情形四,当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求。
本实施例的有益效果在于,通过安全标志信号判断各个目标从机模块的安全属性是否符合当前访问事件的安全属性要求,实现了对各个目标从机模块的差异化的安全访问控制,将各个目标从机模块与其访问事件相关联,提高了各访问事件的控制效率和准确性。
如图5所示,在该集成电路中,从机安全事件中断电路包括异或门电路20、第一多输入与门电路30、第二多输入与门电路31以及第二多路选择器11;所述异或门电路20、第一多输入与门电路30和第二多输入与门电路31依次串联,所述第二多路选择器11连接在所述第一多输入与门电路30与所述第二多输入与门电路31之间,其中,所述异或门电路20的一个输入端用于输入当前访问事件的安全标志信号的指令PPROT,所述异或门电路20的另一个输入端用于输入目标从机模块的安全属性数据(即从机安全属性寄存器SEC中存储的数据),当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述异或门电路20输出高电平,触发所述第一多输入与门电路30生成安全中断事件SEC_EVENT,并通过所述安全中断事件触发所述第二多输入与门电路31生成安全中断信号SEC_INT。
具体的,结合上述四种判定,以下分别说明是否生成安全中断并生成报错数据:
情形一,当非安全指令(PPROT[1]为‘1’)对安全属性的APB从机(SEC为‘0’)进行读写访问时,APB从机读到的值为全‘0’并且会产生安全事件SEC_EVENT,通过设置安全事件中断使能信号SEC_IE选择生成安全中断SEC_INT并上报CPU;
情形二,当非安全指令(PPROT[1]为‘1’)对非安全属性的APB从机(SEC为‘1’)进行读写访问时,访问正常执行,不产生安全事件SEC_EVENT;
情形三,当安全指令(PPROT[1]为‘0’)对非安全属性的APB从机(SEC为‘1’)进行读写访问时,APB从机读到的值为全‘0’并且会产生安全事件SEC_EVENT,通过设置安全事件中断使能信号SEC_IE选择生成安全中断SEC_INT并上报CPU;
情形四,当安全指令(PPROT[1]为‘0’)对安全属性的APB从机(SEC为‘0’)进行读写访问时,访问正常执行,不产生安全事件SEC_EVENT。
在一个实施例中,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,生成报错数据,同时,将所述报错数据传输至预设主机模块,其中,所述预设主机模块通过总线桥与所述目标从机模块连接。本实施例的有益效果在于,通过安全标志信号判断各个目标从机模块的安全属性是否符合当前访问事件的安全属性要求,以及根据符合情况确定是否生成安全事件,实现了对各个目标从机模块的差异化的安全访问控制,将各个目标从机模块与其访问事件相关联,提高了各访问事件的控制效率和准确性。
如图6所示,。在该集成电路中,从机报错电路包括第三多输入与门电路33、第三多路选择器13、第四多路选择器14、第五多路选择器15、第一寄存器41和第二寄存器42,其中:
第三多输入与门电路33的输入端用于输入从机选择信号PSEL和从机选通信号PENABLE,所述第三多输入与门电路33的输出端连接所述第四多路选择器的选择端;
第四多路选择器14的一个输入端与所述第三多路选择器13的输出端相连接,所述第四多路选择器14的另一输入端用于输入第一电平信号,所述第四选择器14的输出端与第一寄存器41的输入端相连接,所述第一寄存器41的输出端与分别与所述第三多路选择器13的一个输入端和所述第五多路选择器15的选择端相连接,所述第三多路选择器13的另一个输入端用于输入第二电平信号,其中,第一电平信号为1,第二电平信号为0;
第三多路选择器13的选择端和所述第五多路选择器15的一个输入端分别用于输入所述安全事件SEC_EVENT,所述第五多路选择器15的另一个输入端用于输入第二电平信号,所述第五多路选择器15的输出端与所述第二寄存器42的输入端相连接,所述第二寄存器42的输出端用于输出报错数据,所述第二寄存器42的时钟输入端与所述第一寄存器41的时钟输入端相连接,其中,第二电平信号为0。
在一个实施例中,参考图7示出的本发明安全访问方法的一实施例的从机报错时序图。该集成电路按该时序图运行,其中,由上到下分别描绘出PCLK(总线时钟)波形、PADDR(APB地址总线)波形、PSEL(AHB-APB桥接器的二级译码信号)波形、PENABLE(一次APB传输的第二个时钟周期)波形、PREADY(扩展APB传输)波形、PSLVERR(传输失败)波形、以及SEC_EVENT(安全事件)波形。其中,安全事件SEC_EVENT的产生同时会引起一次APB总线的报错,同时,安全事件SEC_EVENT在对APB从机进行读写访问的第二个周期时拉低APB总线的PREADY,并在第三个周期拉高APB总线的PSLVERR。可以看出,图6示出的波形特征符合APB总线协议的报错时序,APB总线报错将通过AHB-APB桥接器逐级上报到CPU和AHB主机。
本实施例的有益效果在于,通过获取当前访问事件的安全标志信号以及从机身份标识信息;然后,根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;最后,根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。实现了一种更有效的从机安全访问控制方案,针对总线上各个设备,提高了其单独的安全访问控制能力,增强了其关键敏感数据的安全防护强度。
需要说明的是,上述集成电路实施例与方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在此集成电路实施例中均对应适用,这里不再赘述。
在一个实施例中,本发明还提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有安全访问程序,所述安全访问程序被处理器执行时实现如上任一项所述的安全访问方法的步骤。
需要说明的是,上述计算机可读存储介质实施例与方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在计算机可读存储介质实施例中均对应适用,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (11)
1.一种安全访问方法,其特征在于,所述方法包括:
获取当前访问事件的安全标志信号以及从机身份标识信息;
根据所述从机身份标识信息确定待访问的目标从机模块以及所述目标从机模块的安全属性;
根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,若所述目标从机的安全属性不符合所述当前访问事件的安全属性要求,则生成安全中断事件。
2.根据权利要求1所述的安全访问方法,其特征在于,所述获取当前访问事件的安全标志信号以及从机身份标识信息之前,所述方法还包括:
设定至少一个预设从机模块的安全属性,其中,所述至少一个预设从机模块包括所述目标从机模块。
3.根据权利要求2所述的安全访问方法,其特征在于,所述设定至少一个预设从机模块的安全属性,包括:
在安全且特权模式下,向所述至少一个预设从机模块写入安全属性数据,所述安全属性数据用于定义所述至少一个预设从机模块的安全属性。
4.根据权利要求2所述的安全访问方法,其特征在于,所述设定至少一个预设从机模块的安全属性,包括:
在闪存中提取与所述安全属性相关的代码选项,根据所述代码选项设定所述至少一个预设从机模块的安全属性。
5.根据权利要求1所述的安全访问方法,其特征在于,所述根据所述安全标志信号判断所述目标从机模块的安全属性是否符合所述当前访问事件的安全属性要求,包括:
根据所述安全标志信号判断当前访问事件为安全访问事件或非安全访问事件;
当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求;
当所述当前访问事件为非安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为安全时,判定所述目标从机的安全属性符合所述当前访问事件的安全属性要求;
当所述当前访问事件为安全访问事件,且所述目标从机模块的安全属性为非安全时,判定所述目标从机的安全属性不符合所述当前访问事件的安全属性要求。
6.根据权利要求5所述的安全访问方法,其特征在于,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述方法还包括:
生成报错数据;
将所述报错数据传输至预设主机模块,其中,所述预设主机模块通过总线桥与所述目标从机模块连接。
7.一种集成电路,所述集成电路包括第一总线、第二总线以及用于连接所述第一总线和所述第二总线的总线桥,所述第一总线上连接有处理器和存储器,所述存储器内存储有可在所述处理器上运行的计算机程序,所述第二总线上连接有至少一个从机模块,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的安全访问方法的步骤。
8.根据权利要求7所述的集成电路,其特征在于,所述处理器包括从机安全属性控制电路,其中,所述从机安全属性控制电路至少包括第一多路选择器,所述第一多路选择器的输出端用于连接所述至少一个从机模块的寄存器;
所述第一多路选择器的输入端用于输入安全属性数据,所述第一多路选择器用于将所述安全属性数据写入所述至少一个从机模块的寄存器,以设定所述至少一个预设从机模块的安全属性;
或者,所述第一多路选择器的输入端用于连接闪存并从所述闪存中获取与所述安全属性相关的代码选项,所述第一多路选择器用于将所述代码选项写入所述至少一个从机模块的寄存器,以设定所述至少一个预设从机模块的安全属性。
9.根据权利要求7所述的集成电路,其特征在于,所述处理器包括从机安全事件中断电路,其中,所述从机安全事件中断电路包括异或门电路、第一多输入与门电路、第二多输入与门电路以及第二多路选择器;
所述异或门电路、第一多输入与门电路和第二多输入与门电路依次串联,所述第二多路选择器连接在所述第一多输入与门电路与所述第二多输入与门电路之间,其中,所述异或门电路的一个输入端用于输入当前访问事件的安全标志信号的指令,所述异或门电路的另一个输入端用于输入目标从机模块的安全属性数据,当所述目标从机模块的安全属性不符合所述当前访问事件的安全属性要求时,所述异或门电路输出高电平,触发所述第一多输入与门电路生成安全中断事件,并通过所述安全中断事件触发所述第二多输入与门电路生成安全中断信号。
10.根据权利要求9所述的集成电路,其特征在于,所述处理器还包括从机报错电路,所述从机报错电路包括第三多输入与门电路、第三多路选择器、第四多路选择器、第五多路选择器、第一寄存器和第二寄存器;
所述第三多输入与门电路的输入端用于输入从机选择信号和从机选通信号,所述第三多输入与门电路的输出端连接所述第四多路选择器的选择端;
所述第四多路选择器的一个输入端与所述第三多路选择器的输出端相连接,所述第四多路选择器的另一输入端用于输入第一电平信号,所述第四选择器的输出端与第一寄存器的输入端相连接,所述第一寄存器的输出端与分别与所述第三多路选择器的一个输入端和所述第五多路选择器的选择端相连接,所述第三多路选择器的另一个输入端用于输入第二电平信号;
所述第三多路选择器的选择端和所述第五多路选择器的一个输入端分别用于输入所述安全事件,所述第五多路选择器的另一个输入端用于输入第二电平信号,所述第五多路选择器的输出端与所述第二寄存器的输入端相连接,所述第二寄存器的输出端用于输出报错数据,所述第二寄存器的时钟输入端与所述第一寄存器的时钟输入端相连接。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有安全访问程序,所述安全访问程序被处理器执行时实现如权利要求1至6中任一项所述的安全访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238683.XA CN113468098A (zh) | 2020-03-30 | 2020-03-30 | 一种安全访问方法、集成电路及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238683.XA CN113468098A (zh) | 2020-03-30 | 2020-03-30 | 一种安全访问方法、集成电路及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113468098A true CN113468098A (zh) | 2021-10-01 |
Family
ID=77866122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010238683.XA Pending CN113468098A (zh) | 2020-03-30 | 2020-03-30 | 一种安全访问方法、集成电路及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468098A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416621A (zh) * | 2021-12-29 | 2022-04-29 | 苏州雄立科技有限公司 | 一种基于axi协议的总线通信方法及装置 |
-
2020
- 2020-03-30 CN CN202010238683.XA patent/CN113468098A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416621A (zh) * | 2021-12-29 | 2022-04-29 | 苏州雄立科技有限公司 | 一种基于axi协议的总线通信方法及装置 |
CN114416621B (zh) * | 2021-12-29 | 2023-08-15 | 苏州雄立科技有限公司 | 一种基于axi协议的总线通信方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5748888A (en) | Method and apparatus for providing secure and private keyboard communications in computer systems | |
US10489332B2 (en) | System and method for per-task memory protection for a non-programmable bus master | |
US7849315B2 (en) | Method for managing operability of on-chip debug capability | |
US7434264B2 (en) | Data processing system with peripheral access protection and method therefor | |
CN110310205B (zh) | 一种区块链数据监控方法、装置、设备和介质 | |
EP2587376B1 (en) | Systems and methods for semaphore-based protection of shared system resources | |
US7277972B2 (en) | Data processing system with peripheral access protection and method therefor | |
CN101281570B (zh) | 一种可信计算系统 | |
TW200949685A (en) | Apparatus and method for precluding execution of certain instructions in a secure execution mode microprocessor | |
EP3242214B1 (en) | Method and device for protecting information of mcu chip | |
JPH0578858B2 (zh) | ||
US20230297725A1 (en) | Technologies for filtering memory access transactions received from one or more i/o devices | |
CN110489206A (zh) | 一种具有禁止程序调试功能的仿真器 | |
CN113468098A (zh) | 一种安全访问方法、集成电路及计算机可读存储介质 | |
CN110276214A (zh) | 一种基于从机访问保护的双核可信soc架构及方法 | |
CN111737178B (zh) | 一种计算机内存取证方法、设备及内存取证分析系统 | |
CN113282490A (zh) | 智能门锁测试方法及电子设备 | |
EP3242237A1 (en) | Sub-area-based method and device for protecting information of mcu chip | |
CN116192493A (zh) | 一种网银安全保护方法、系统、介质、设备及终端 | |
CN210573778U (zh) | 一种用于智能交通诱导终端的硬件加密功能电路 | |
US11734457B2 (en) | Technology for controlling access to processor debug features | |
US10884831B2 (en) | Composable system | |
CN104054063B (zh) | 锁定芯片组的系统管理中断(smi)使能寄存器 | |
Haglund et al. | Formally verified isolation of dma | |
WO2023045744A1 (zh) | 加固方法、注册方法、运行方法、电子设备和存储介质 |
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 |