CN103714018B - 芯片存储电路的安全访问控制方法 - Google Patents
芯片存储电路的安全访问控制方法 Download PDFInfo
- Publication number
- CN103714018B CN103714018B CN201310676334.6A CN201310676334A CN103714018B CN 103714018 B CN103714018 B CN 103714018B CN 201310676334 A CN201310676334 A CN 201310676334A CN 103714018 B CN103714018 B CN 103714018B
- Authority
- CN
- China
- Prior art keywords
- access control
- circuit
- authentication
- chip
- certification
- 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.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种芯片存储电路的安全访问控制方法,基于非易失性存储电路进行分区访问控制,每个分区单独设计认证与访问控制电路,认证与访问控制电路均以状态机的方式跳转,以输出不同状态下的认证与访问控制信号,实现存储电路的授权访问。本发明方法采用身份认证和访问控制认证两级认证,两级认证电路均由纯硬件电路完成,具有更高的安全性。本发明可用于集成非易失性存储器的ASIC芯片,SoC芯片,甚至带有非易失性存储器的其它电路系统中。
Description
技术领域
本发明属于芯片内非易失性存储电路安全防护设计领域,具体涉及一种芯片存储电路的安全访问控制方法。
背景技术
对于芯片而言,其最重要的保护对象通常都存储于芯片非易失性存储器中,如用户敏感数据、软件执行代码以及运行时产生的各种操作数据和系统状态信息等等,因此非易失性存储器是芯片安全防护的关键保护对象。对非易失性存储器的保护重点是保证存储电路的授权访问和抗版图剖析。本发明所描述的安全访问控制电路正是实现对存储电路的授权访问。
所谓对存储电路的授权访问包括两层含义,第一层含义是指对不同的角色,其拥有的访问空间范围以及相应的访问权限不同;第二层含义则是对同一个角色,在不同工作环境或时间段内,其所拥有的访问权限也可能是不同的。部分电路由于其访问角色及其权限较为单一,因此访问控制电路较为简单,只要能够实现对角色的识别,即能够满足授权访问要求,这也是目前最常见的授权访问控制电路的设计依据。这类电路仅对不同角色采取了身份认证措施,而其相应的访问权限则是固定的,不可更改,且每次上电后都需要重新进行认证,否则访问权限将丢失。
角色的身份认证在不同的芯片载体中,其实现方式有所不同。对于SoC芯片,由于存在CPU资源可以使用,多数授权访问控制电路采用了软硬件相结合的处理方式,比如将认证码读入CPU,由CPU进行认证码的比对,这种认证方式简单易于实现,但却存在被软件攻击的风险,攻击软件可以控制CPU进行虚假的比对,或者是强制比较通过,从而通过身份认证获得相应的访问权限。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种芯片存储电路的安全访问控制方法,对角色识别和访问权限进行逐级认证,实现了访问权限的可编程。操作者通过身份认证后,可以通过更新访问控制码,对操作权限进行灵活的控制,且掉电重启无需重新认证,存储电路操作权限与掉电前保持不变,因此本发明既增强了访问权限控制的灵活性,也避免了重复的身份认证操作,同时由于采用两级认证,相对于单纯的身份认证其安全性亦有所增强。
本发明对认证码的全程操作均是通过纯硬件电路执行,首先认证码由内部硬件读取电路从片内非易失性存储器中读出暂存,其次片内认证码与外部输入认证码的比较也通过纯硬件电路实现,最终根据比较结果输出的控制信号也是以硬连线的方式直接对访问控制电路进行控制,全程无软件参与,因此有效地解决了抗软件攻击的问题。
本发明解决其技术问题所采用的技术方案是:一种芯片存储电路的安全访问控制方法,包括如下内容:
一、对芯片存储电路进行分区;
二、对每一个单独分区设置独立的身份认证电路和访问控制电路;
三、每一个单独分区的访问控制电路工作状态跳转流程:
芯片复位后,访问控制电路默认处于空闲状态,在空闲状态一旦检测到使能信号,则进入访问控制码读状态,访问控制码读出后进入访问控制码比较状态,根据比较结果打开或关闭访问控制开关信号,比较完成后访问控制电路进入等待复位状态,之后一旦电路接收到复位或关闭使能信号,则重新进入空闲状态;
四、每一个单独分区的身份认证电路工作状态跳转流程:
芯片复位后,身份认证电路处于空闲状态;一旦芯片接收到认证使能信号,身份认证电路便会进入认证码读状态,身份认证码读出后进入计数器判断状态:如果认证不通过次数i≤认证次数上限N,则进入认证码输入状态,否则,则进入永久锁死状态;认证码输入完成后,电路进入认证码比较状态,根据比较结果确定是否打开该寄存器和访问控制寄存器的访问权限开关,比较完成后,电路等待复位或关闭使能信号,进而返回空闲状态。
与现有技术相比,本发明的积极效果是:采用了身份认证和访问权限认证两级认证,身份认证用以控制身份认证码寄存器和访问控制码寄存器的访问权限,访问控制码用以控制相应存储区电路的访问权限;如此设计既提高访问权限设置的灵活性,又提高了该授权访问控制电路的安全性。而且,身份认证码和访问控制码的读电路与比较电路均由纯硬件电路完成,避免了软件读取和比较操作带来的软件攻击漏洞。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是存储电路分区示意图;
图2是认证与访问控制电路示意图;
图3是访问控制电路状态跳转示意图;
图4是身份认证电路状态跳转示意图。
具体实施方式
本发明为芯片存储电路提供了一种基于身份认证和访问权限控制的纯硬件安全防护解决方案,该发明通过采用身份认证和访问控制码认证两级认证,同时采用纯硬件电路实现身份认证和访问控制码的比对,既提高授权访问控制的灵活性,也提高了其安全性。
本发明首先将存储电路进行分区,然后针对每个分区设置独立的身份认证和访问控制电路,完成身份认证码和访问控制码的读取和比较操作,以及输出相应的控制信号。身份认证通过后,操作者有权更新身份认证码本身和改写访问控制码,退出身份认证,甚至掉电重启后访问控制权限都不会改变,从而可以避免重复认证的尴尬。操作者需要改变访问控制权限时,则需要重新认证并更新访问控制码。
芯片存储电路的安全访问控制方法,具体描述如下:
一、对芯片存储电路进行分区:
芯片存储电路可根据其存储内容及其操作对象的不同,采用分区的概念,分别设定访问控制策略。存储电路的分区依据可以是芯片存储内容,也可以是芯片操作对象,还可以是操作权限级别等,设计者可根据应用情况的不同选择适当或组合的分区方式。本发明以SoC芯片内部FLASH存储器为例,根据其存储内容的不同,将其主存储区分为四个存储区:COS存储区,应用程序存储区,关键数据存储区和临时数据存储区,如图1所示。其中每个存储区的大小可以根据具体应用需求不同而不同。每一个存储区同时配置有一组寄存器(由认证寄存器和访问控制寄存器两个寄存器组成),四组寄存器一般位于芯片FLASH存储器的NVR(Non-VolatileRegister)存储区。
二、对每一个单独分区设置独立的身份认证和访问控制电路:
该认证和访问控制电路由一对寄存器和一对比较电路组成,其中:
1、寄存器值来自具有非易失特性的存储器,即掉电不会丢失数据,通常可以使用片内非易失性存储器的NVR存储区存储该值。一对寄存器分别为认证寄存器和访问控制寄存器,认证寄存器用以存储身份认证码,访问控制寄存器则用以存储访问控制码。
2、一对比较电路分别是身份认证码比较电路和访问控制码比较电路。访问控制码比较电路的输入一个来自于访问控制寄存器,一个来自于芯片内固化的常数,当二者比较通过时,比较电路便会输出相应存储区的读或写开关信号,比较不通过,则无法对相应存储区进行读或写的操作。读或写操作属性取决于存储区本身的属性,如关键数据存储区一般情况下只可写不可读。身份认证码比较电路的输入一个来自于认证寄存器,一个来自于片外输入缓存,当二者比较通过时,该寄存器本身和访问控制寄存器将可以被读写,否则不可读写。身份认证码比较电路包含一个比较计数器,用以计数认证码比较次数,可以设定一个比较次数上限(N),一旦超过该比较次数上限,则锁死认证电路,认证寄存器和访问控制寄存器将永不可更改。
以COS存储区为例,身份认证和访问控制电路如图2所示,由两部分电路组成:COS认证电路和COS访问控制电路。
COS认证电路包括认证码读电路、认证映射寄存器、认证码输入缓存电路、认证码比较逻辑电路和寄存器访问控制逻辑电路等,其中:认证码读电路、认证映射寄存器、认证码比较逻辑电路、寄存器访问控制逻辑电路依次连接;认证码比较逻辑电路与认证码输入缓存电路连接;寄存器访问控制逻辑电路与认证计数器连接。一旦芯片接收到认证使能信号,便会启动认证码读操作,认证码读电路以FLASH存储器的读时序将认证码从COS_VER_REG中读到认证映射寄存器中,同时用户从片外输入认证报文或摘要信息,如果是报文,芯片则将其经算法电路处理后得到的摘要信息缓存至认证码输入缓存,如果是摘要信息,则直接缓存至认证码输入缓存,认证码比较电路对COS_VER_REG的值与认证码输入缓存值进行比较,比较结果输出至寄存器访问控制逻辑,该电路根据比较结果控制认证寄存器和访问控制寄存器是否可以改写。如果比较结果通过,则会开放认证寄存器和访问控制寄存器的读写操作权限,用户便可以更新二者了,否则认证寄存器和访问控制寄存器处于不可操作状态。此外认证电路包括有一个认证计数器,芯片每接收到一次认证使能信号,且认证不通过,计数器就会加1,直至计数至N(认证次数上限),电路将不再接受认证使能信号,且寄存器访问控制逻辑将永久关闭COS_VER_REG和COS_CTR_REG的写操作。
COS访问控制电路包括访问控制码读电路、访问控制映射寄存器、访问控制码常数电路、访问控制码比较逻辑电路和存储区访问控制逻辑电路等,其中:访问控制码读电路、访问控制映射寄存器、访问控制码比较逻辑电路、存储区访问控制逻辑电路依次连接,访问控制码比较逻辑电路与访问控制码常数电路连接。正常工作状态下,COS_CTR_REG的值与访问控制码常数是不等的,COS存储区处于不可写状态。当用户需要更新芯片COS时,需要首先通过认证获得COS_CTR_REG的写权限,然后将访问控制码写入COS_CTR_REG,之后启动访问控制比较操作。访问控制码读电路首先以FLASH的读操作时序将访问控制码从COS_CTR_REG读至访问控制映射寄存器,访问控制码比较逻辑对访问控制映射寄存器和访问控制码常数进行比较,比较结果输出至存储区访问控制逻辑,根据比较结果存储区访问控制逻辑可输出相应的控制信号,从而允许用户获得COS存储区的读写权限。
三、每一个单独分区的访问控制电路工作状态跳转流程:
芯片复位后,访问控制电路默认处于空闲状态,在空闲状态一旦检测到使能信号,则进入访问控制码读状态,访问控制码读出后进入访问控制码比较状态,根据比较结果打开或关闭访问控制开关信号,比较完成后访问控制电路进入等待复位状态,之后一旦电路接收到复位或关闭使能信号,则重新进入空闲状态。
如图3所示,访问控制电路定义了4种工作状态:空闲状态、访问控制码读状态、访问控制码比较状态和等待复位状态。
以COS存储区访问控制电路为例,芯片复位后,访问控制电路处于空闲状态。一旦电路接收到比较使能信号,访问控制电路便会进入访问控制码读状态。在该状态下,访问控制电路将会以FLASH的读操作时序将访问控制码从COS_CTR_REG读出到访问控制映射寄存器,读操作完成后,电路进入访问控制码比较状态,访问控制码比较电路对访问控制映射寄存器与访问控制码常数进行比较,并输出比较结果,比较完成后,电路进入等待复位状态,一旦电路接收到复位或关闭使能信号,则访问控制映射寄存器被复位,比较结果不通过,COS存储区访问权限保持锁死,电路进入空闲状态。如果比较通过,操作者便可以在电路等待复位期间进行COS的更新操作,更新完成后,操作者进行复位操作,电路回归空闲状态。其状态跳转如图3所示。
根据上述描述可见,访问控制码从读出到与访问控制码常数进行比较再到输出存储访问控制信号全部都是由硬件电路控制实现,因此该电路可以抗恶意软件攻击,具有更强的安全防护能力。
四、每一个单独分区的身份认证电路工作状态跳转流程:
芯片复位后,身份认证电路处于空闲状态。当用户需要进行身份认证时,需要首先使能身份认证电路,身份认证电路接收到认证使能信号后,电路进入身份认证码读状态,身份认证码读出后进入计数器判断状态,如果i≤N则进入认证码输入状态,否则,则表示身份认证码比较超过限制次数,电路进入永久锁死状态。认证码输入完成后,电路进入认证码比较状态,根据比较结果确定是否打开该寄存器和访问控制寄存器的访问权限开关,比较完成后,电路等待复位或关闭使能信号,进而返回空闲状态。
如图4所示,电路定义了7种工作状态:空闲状态、认证码读状态、计数器判断状态、认证码输入状态、认证码比较状态、等待复位状态和认证电路锁死状态。
以COS存储区身份认证电路为例,芯片复位后,身份认证电路处于空闲状态。一旦芯片接收到认证使能信号,身份认证电路便会进入认证码读状态。在该状态下,身份认证电路将会以FLASH的读操作时序将认证码从COS_VER_REG读出到认证映射寄存器,读操作完成后电路进入计数器判断状态,如果i≤N,表示尚未达到认证次数上限N,则允许用户继续尝试输入认证码,电路进入认证码输入状态,即允许用户向认证码输入缓存写入认证码,写入完成后认证计数器自动加‘1’,电路进入认证码比较状态,认证码比较电路对认证映射寄存器与认证码输入缓存进行比较,并输出比较结果,比较通过,计数器i清零,电路进入等待复位状态,比较失败,计数器i加1,电路重新进入计数器判断状态,如果i≤N,则电路再次进入认证码输入状态,否则,则表示N次认证比较均失败,则认证电路进入锁死状态,状态不再跳转,认证电路永久锁死。其状态跳转如图4所示。
身份认证码读取、传输、比较以及寄存器访问控制信号的生成同样全部由硬件电路完成,期间没有软件的参与,因此该电路具有抗软件攻击的能力,安全性更高。
Claims (2)
1.一种芯片存储电路的安全访问控制方法,其特征在于:
一、对芯片存储电路进行分区:每一个存储区同时配置认证寄存器和访问控制寄存器;
二、对每一个单独分区设置独立的身份认证电路和访问控制电路:
所述身份认证电路包括依次连接的认证码读电路、认证映射寄存器、认证码比较逻辑电路和寄存器访问控制逻辑电路;认证码比较逻辑电路与认证码输入缓存电路连接;寄存器访问控制逻辑电路与认证计数器连接;
所述访问控制电路包括依次连接的访问控制码读电路、访问控制映射寄存器、访问控制码比较逻辑电路、存储区访问控制逻辑电路;访问控制码比较逻辑电路与访问控制码常数电路连接;
三、每一个单独分区的访问控制电路工作状态跳转流程:
芯片复位后,访问控制电路默认处于空闲状态,在空闲状态一旦检测到使能信号,则进入访问控制码读状态,访问控制码读出后进入访问控制码比较状态,根据比较结果打开或关闭访问控制开关信号,比较完成后访问控制电路进入等待复位状态,之后一旦电路接收到复位或关闭使能信号,则重新进入空闲状态;
四、每一个单独分区的身份认证电路工作状态跳转流程:
芯片复位后,身份认证电路处于空闲状态;一旦芯片接收到认证使能信号,身份认证电路便会进入认证码读状态,身份认证码读出后进入计数器判断状态:如果认证不通过次数i≤认证次数上限N,则进入认证码输入状态,否则,则进入永久锁死状态;认证码输入完成后,电路进入认证码比较状态,将来自于访问控制映射寄存器的访问控制码与芯片内访问控制码常数电路提供的访问控制码常数进行比较,根据比较结果确定是否打开认证寄存器和访问控制寄存器的访问权限开关,比较完成后,电路等待复位或关闭使能信号,进而返回空闲状态。
2.根据权利要求1所述的芯片存储电路的安全访问控制方法,其特征在于:对芯片存储电路的分区依据包括芯片存储内容、芯片操作对象、操作权限级别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310676334.6A CN103714018B (zh) | 2013-12-11 | 2013-12-11 | 芯片存储电路的安全访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310676334.6A CN103714018B (zh) | 2013-12-11 | 2013-12-11 | 芯片存储电路的安全访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103714018A CN103714018A (zh) | 2014-04-09 |
CN103714018B true CN103714018B (zh) | 2016-04-27 |
Family
ID=50407013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310676334.6A Active CN103714018B (zh) | 2013-12-11 | 2013-12-11 | 芯片存储电路的安全访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103714018B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023076910A1 (en) * | 2021-10-25 | 2023-05-04 | Data Safeguard, Inc. | A cognoscible computing engine for automatic decisioning on sensitive, confidential and personal data |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514064B2 (en) | 2012-08-15 | 2016-12-06 | Synopsys, Inc. | Protection scheme for embedded code |
CN106528138A (zh) * | 2016-10-27 | 2017-03-22 | 努比亚技术有限公司 | 一种消息的提示方法及装置 |
CN108256356B (zh) * | 2016-12-29 | 2021-05-25 | 北京中电华大电子设计有限责任公司 | 一种抵抗芯片寄存器故障注入的方法 |
CN106803036B (zh) * | 2017-02-16 | 2021-03-30 | 中云信安(深圳)科技有限公司 | 系统运行中数据流的安全检测和容错方法 |
CN106874796B (zh) * | 2017-02-16 | 2021-03-30 | 中云信安(深圳)科技有限公司 | 系统运行中指令流的安全检测和容错方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102812471A (zh) * | 2010-03-12 | 2012-12-05 | 奥斯-纽赫瑞森个人计算机解决方案公司 | 安全的个人数据处理和管理系统 |
CN102955746A (zh) * | 2011-08-18 | 2013-03-06 | 北京爱国者信息技术有限公司 | 一种只读模式的移动存储装置及其访问数据的方法 |
CN103037370A (zh) * | 2012-11-05 | 2013-04-10 | 李明 | 一种移动存储设备和身份认证方法 |
CN103164350A (zh) * | 2011-12-16 | 2013-06-19 | 国民技术股份有限公司 | 一种sd卡装置及分区域访问sd卡的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8313433B2 (en) * | 2004-08-06 | 2012-11-20 | Medtronic Minimed, Inc. | Medical data management system and process |
-
2013
- 2013-12-11 CN CN201310676334.6A patent/CN103714018B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102812471A (zh) * | 2010-03-12 | 2012-12-05 | 奥斯-纽赫瑞森个人计算机解决方案公司 | 安全的个人数据处理和管理系统 |
CN102955746A (zh) * | 2011-08-18 | 2013-03-06 | 北京爱国者信息技术有限公司 | 一种只读模式的移动存储装置及其访问数据的方法 |
CN103164350A (zh) * | 2011-12-16 | 2013-06-19 | 国民技术股份有限公司 | 一种sd卡装置及分区域访问sd卡的方法 |
CN103037370A (zh) * | 2012-11-05 | 2013-04-10 | 李明 | 一种移动存储设备和身份认证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023076910A1 (en) * | 2021-10-25 | 2023-05-04 | Data Safeguard, Inc. | A cognoscible computing engine for automatic decisioning on sensitive, confidential and personal data |
Also Published As
Publication number | Publication date |
---|---|
CN103714018A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714018B (zh) | 芯片存储电路的安全访问控制方法 | |
US11630904B2 (en) | System, apparatus and method for configurable trusted input/output access from authorized software | |
US7849315B2 (en) | Method for managing operability of on-chip debug capability | |
US8332604B2 (en) | Methods to securely bind an encryption key to a storage device | |
CN102063591B (zh) | 基于可信平台的平台配置寄存器参考值的更新方法 | |
US10489612B2 (en) | Memory controller to verify authenticity of data | |
US20090063799A1 (en) | Memory Protection For Embedded Controllers | |
US9304943B2 (en) | Processor system and control method thereof | |
KR20060032954A (ko) | 액세스 허용을 결정하는 방법 및 장치 | |
CN103890852A (zh) | 对包括机密信息的存储器区域的访问 | |
CN101788958A (zh) | 一种存储器数据保护的方法 | |
US20080263256A1 (en) | Logic Device with Write Protected Memory Management Unit Registers | |
CN103049694A (zh) | 一种智能金融交易终端的核心安全架构实现方法 | |
CN107223252B (zh) | 安全元件 | |
CN103164789A (zh) | 一种带安全校验的debug电路结构及其实现方法 | |
RU2458389C2 (ru) | Однокристальный компьютер и тахограф | |
CN112016090A (zh) | 安全计算卡,基于安全计算卡的度量方法及系统 | |
CN204390239U (zh) | 一种具备毁钥功能的智能保密系统 | |
CN102929802B (zh) | 一种存储资源的保护方法及系统 | |
US20200134235A1 (en) | Physical and logical attack resilient polymorphic hardware | |
US10592663B2 (en) | Technologies for USB controller state integrity protection | |
CN103699434B (zh) | 一种适用于多应用之间安全访问的mpu及其多应用之间安全访问的方法 | |
CN206619144U (zh) | 一种计算机网络安全隔离卡 | |
CN112487509B (zh) | 安全装置及安全方法 | |
CN112181860B (zh) | 具有快闪存储器仿真功能的控制器及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |