《芯片存储电路的安全访问控制方法.pdf》由会员分享,可在线阅读,更多相关《芯片存储电路的安全访问控制方法.pdf(9页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103714018 A (43)申请公布日 2014.04.09 CN 103714018 A (21)申请号 201310676334.6 (22)申请日 2013.12.11 G06F 12/14(2006.01) G06F 21/31(2013.01) (71)申请人 中国电子科技集团公司第三十研究 所 地址 610000 四川省成都市高新区创业路 6 号 (72)发明人 司焕丽 (74)专利代理机构 成都九鼎天元知识产权代理 有限公司 51214 代理人 邓世燕 (54) 发明名称 芯片存储电路的安全访问控制方法 (57) 摘要 本发明公开了一种芯片存储电路的。
2、安全访问 控制方法, 基于非易失性存储电路进行分区访问 控制, 每个分区单独设计认证与访问控制电路, 认 证与访问控制电路均以状态机的方式跳转, 以输 出不同状态下的认证与访问控制信号, 实现存储 电路的授权访问。本发明方法采用身份认证和访 问控制认证两级认证, 两级认证电路均由纯硬件 电路完成, 具有更高的安全性。 本发明可用于集成 非易失性存储器的ASIC芯片, SoC芯片, 甚至带有 非易失性存储器的其它电路系统中。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5页 附图2页 。
3、(10)申请公布号 CN 103714018 A CN 103714018 A 1/1 页 2 1. 一种芯片存储电路的安全访问控制方法, 其特征在于 : 一、 对芯片存储电路进行分区 ; 二、 对每一个单独分区设置独立的身份认证电路和访问控制电路 ; 三、 每一个单独分区的访问控制电路工作状态跳转流程 : 芯片复位后, 访问控制电路默认处于空闲状态, 在空闲状态一旦检测到使能信号, 则进 入访问控制码读状态, 访问控制码读出后进入访问控制码比较状态, 根据比较结果打开或 关闭访问控制开关信号, 比较完成后访问控制电路进入等待复位状态, 之后一旦电路接收 到复位或关闭使能信号, 则重新进入空闲。
4、状态 ; 四、 每一个单独分区的身份认证电路工作状态跳转流程 : 芯片复位后, 身份认证电路处于空闲状态 ; 一旦芯片接收到认证使能信号, 身份认证电 路便会进入认证码读状态, 身份认证码读出后进入计数器判断状态 : 如果认证不通过次数 i 认证次数上限 N, 则进入认证码输入状态, 否则, 则进入永久锁死状态 ; 认证码输入完成 后, 电路进入认证码比较状态, 根据比较结果确定是否打开该寄存器和访问控制寄存器的 访问权限开关, 比较完成后, 电路等待复位或关闭使能信号, 进而返回空闲状态。 2. 根据权利要求 1 所述的芯片存储电路的安全访问控制方法, 其特征在于 : 对芯片存 储电路的分区。
5、依据包括芯片存储内容、 芯片操作对象、 操作权限级别。 3. 根据权利要求 1 所述的芯片存储电路的安全访问控制方法, 其特征在于 : 所述身份 认证电路包括依次连接的认证码读电路、 认证映射寄存器、 认证码比较逻辑电路和寄存器 访问控制逻辑电路 ; 认证码比较逻辑电路与认证码输入缓存电路连接 ; 寄存器访问控制逻 辑电路与认证计数器连接。 4. 根据权利要求 1 所述的芯片存储电路的安全访问控制方法, 其特征在于 : 访问控制 电路包括依次连接的访问控制码读电路、 访问控制映射寄存器、 访问控制码比较逻辑电路、 存储区访问控制逻辑电路 ; 访问控制码比较逻辑电路与访问控制码常数电路连接。 权。
6、 利 要 求 书 CN 103714018 A 2 1/5 页 3 芯片存储电路的安全访问控制方法 技术领域 0001 本发明属于芯片内非易失性存储电路安全防护设计领域, 具体涉及一种芯片存储 电路的安全访问控制方法。 背景技术 0002 对于芯片而言, 其最重要的保护对象通常都存储于芯片非易失性存储器中, 如用 户敏感数据、 软件执行代码以及运行时产生的各种操作数据和系统状态信息等等, 因此非 易失性存储器是芯片安全防护的关键保护对象。 对非易失性存储器的保护重点是保证存储 电路的授权访问和抗版图剖析。 本发明所描述的安全访问控制电路正是实现对存储电路的 授权访问。 0003 所谓对存储电路。
7、的授权访问包括两层含义, 第一层含义是指对不同的角色, 其拥 有的访问空间范围以及相应的访问权限不同 ; 第二层含义则是对同一个角色, 在不同工作 环境或时间段内, 其所拥有的访问权限也可能是不同的。部分电路由于其访问角色及其权 限较为单一, 因此访问控制电路较为简单, 只要能够实现对角色的识别, 即能够满足授权访 问要求, 这也是目前最常见的授权访问控制电路的设计依据。这类电路仅对不同角色采取 了身份认证措施, 而其相应的访问权限则是固定的, 不可更改, 且每次上电后都需要重新进 行认证, 否则访问权限将丢失。 0004 角色的身份认证在不同的芯片载体中, 其实现方式有所不同。对于 SoC 。
8、芯片, 由于 存在 CPU 资源可以使用, 多数授权访问控制电路采用了软硬件相结合的处理方式, 比如将 认证码读入 CPU, 由 CPU 进行认证码的比对, 这种认证方式简单易于实现, 但却存在被软件 攻击的风险, 攻击软件可以控制 CPU 进行虚假的比对, 或者是强制比较通过, 从而通过身份 认证获得相应的访问权限。 发明内容 0005 为了克服现有技术的上述缺点, 本发明提供了一种芯片存储电路的安全访问控制 方法, 对角色识别和访问权限进行逐级认证, 实现了访问权限的可编程。 操作者通过身份认 证后, 可以通过更新访问控制码, 对操作权限进行灵活的控制, 且掉电重启无需重新认证, 存储电路。
9、操作权限与掉电前保持不变, 因此本发明既增强了访问权限控制的灵活性, 也避 免了重复的身份认证操作, 同时由于采用两级认证, 相对于单纯的身份认证其安全性亦有 所增强。 0006 本发明对认证码的全程操作均是通过纯硬件电路执行, 首先认证码由内部硬件读 取电路从片内非易失性存储器中读出暂存, 其次片内认证码与外部输入认证码的比较也通 过纯硬件电路实现, 最终根据比较结果输出的控制信号也是以硬连线的方式直接对访问控 制电路进行控制, 全程无软件参与, 因此有效地解决了抗软件攻击的问题。 0007 本发明解决其技术问题所采用的技术方案是 : 一种芯片存储电路的安全访问控制 方法, 包括如下内容 :。
10、 说 明 书 CN 103714018 A 3 2/5 页 4 一、 对芯片存储电路进行分区 ; 二、 对每一个单独分区设置独立的身份认证电路和访问控制电路 ; 三、 每一个单独分区的访问控制电路工作状态跳转流程 : 芯片复位后, 访问控制电路默认处于空闲状态, 在空闲状态一旦检测到使能信号, 则进 入访问控制码读状态, 访问控制码读出后进入访问控制码比较状态, 根据比较结果打开或 关闭访问控制开关信号, 比较完成后访问控制电路进入等待复位状态, 之后一旦电路接收 到复位或关闭使能信号, 则重新进入空闲状态 ; 四、 每一个单独分区的身份认证电路工作状态跳转流程 : 芯片复位后, 身份认证电路。
11、处于空闲状态 ; 一旦芯片接收到认证使能信号, 身份认证电 路便会进入认证码读状态, 身份认证码读出后进入计数器判断状态 : 如果认证不通过次数 i 认证次数上限 N, 则进入认证码输入状态, 否则, 则进入永久锁死状态 ; 认证码输入完成 后, 电路进入认证码比较状态, 根据比较结果确定是否打开该寄存器和访问控制寄存器的 访问权限开关, 比较完成后, 电路等待复位或关闭使能信号, 进而返回空闲状态。 0008 与现有技术相比, 本发明的积极效果是 : 采用了身份认证和访问权限认证两级认 证, 身份认证用以控制身份认证码寄存器和访问控制码寄存器的访问权限, 访问控制码用 以控制相应存储区电路的。
12、访问权限 ; 如此设计既提高访问权限设置的灵活性, 又提高了该 授权访问控制电路的安全性。而且, 身份认证码和访问控制码的读电路与比较电路均由纯 硬件电路完成, 避免了软件读取和比较操作带来的软件攻击漏洞。 附图说明 0009 本发明将通过例子并参照附图的方式说明, 其中 : 图 1 是存储电路分区示意图 ; 图 2 是认证与访问控制电路示意图 ; 图 3 是访问控制电路状态跳转示意图 ; 图 4 是身份认证电路状态跳转示意图。 具体实施方式 0010 本发明为芯片存储电路提供了一种基于身份认证和访问权限控制的纯硬件安全 防护解决方案, 该发明通过采用身份认证和访问控制码认证两级认证, 同时采。
13、用纯硬件电 路实现身份认证和访问控制码的比对, 既提高授权访问控制的灵活性, 也提高了其安全性。 0011 本发明首先将存储电路进行分区, 然后针对每个分区设置独立的身份认证和访问 控制电路, 完成身份认证码和访问控制码的读取和比较操作, 以及输出相应的控制信号。 身 份认证通过后, 操作者有权更新身份认证码本身和改写访问控制码, 退出身份认证, 甚至掉 电重启后访问控制权限都不会改变, 从而可以避免重复认证的尴尬。操作者需要改变访问 控制权限时, 则需要重新认证并更新访问控制码。 0012 芯片存储电路的安全访问控制方法, 具体描述如下 : 一、 对芯片存储电路进行分区 : 芯片存储电路可根。
14、据其存储内容及其操作对象的不同, 采用分区的概念, 分别设定访 问控制策略。存储电路的分区依据可以是芯片存储内容, 也可以是芯片操作对象, 还可以 说 明 书 CN 103714018 A 4 3/5 页 5 是操作权限级别等, 设计者可根据应用情况的不同选择适当或组合的分区方式。本发明以 SoC 芯片内部 FLASH 存储器为例, 根据其存储内容的不同, 将其主存储区分为四个存储区 : COS存储区, 应用程序存储区, 关键数据存储区和临时数据存储区, 如图1所示。 其中每个存 储区的大小可以根据具体应用需求不同而不同。每一个存储区同时配置有一组寄存器 (由 认证寄存器和访问控制寄存器两个寄。
15、存器组成) , 四组寄存器一般位于芯片FLASH存储器的 NVR(Non-Volatile Register) 存储区。 0013 二、 对每一个单独分区设置独立的身份认证和访问控制电路 : 该认证和访问控制电路由一对寄存器和一对比较电路组成, 其中 : 1、 寄存器值来自具有非易失特性的存储器, 即掉电不会丢失数据, 通常可以使用片内 非易失性存储器的 NVR 存储区存储该值。一对寄存器分别为认证寄存器和访问控制寄存 器, 认证寄存器用以存储身份认证码, 访问控制寄存器则用以存储访问控制码。 0014 2、 一对比较电路分别是身份认证码比较电路和访问控制码比较电路。 访问控制码 比较电路的输。
16、入一个来自于访问控制寄存器, 一个来自于芯片内固化的常数, 当二者比较 通过时, 比较电路便会输出相应存储区的读或写开关信号, 比较不通过, 则无法对相应存储 区进行读或写的操作。读或写操作属性取决于存储区本身的属性, 如关键数据存储区一般 情况下只可写不可读。身份认证码比较电路的输入一个来自于认证寄存器, 一个来自于片 外输入缓存, 当二者比较通过时, 该寄存器本身和访问控制寄存器将可以被读写, 否则不可 读写。 身份认证码比较电路包含一个比较计数器, 用以计数认证码比较次数, 可以设定一个 比较次数上限 (N) , 一旦超过该比较次数上限, 则锁死认证电路, 认证寄存器和访问控制寄 存器将。
17、永不可更改。 0015 以COS存储区为例, 身份认证和访问控制电路如图2所示, 由两部分电路组成 : COS 认证电路和 COS 访问控制电路。 0016 COS 认证电路包括认证码读电路、 认证映射寄存器、 认证码输入缓存电路、 认证码 比较逻辑电路和寄存器访问控制逻辑电路等, 其中 : 认证码读电路、 认证映射寄存器、 认证 码比较逻辑电路、 寄存器访问控制逻辑电路依次连接 ; 认证码比较逻辑电路与认证码输入 缓存电路连接 ; 寄存器访问控制逻辑电路与认证计数器连接。一旦芯片接收到认证使能信 号, 便会启动认证码读操作, 认证码读电路以 FLASH 存储器的读时序将认证码从 COS_VE。
18、R_ REG 中读到认证映射寄存器中, 同时用户从片外输入认证报文或摘要信息, 如果是报文, 芯 片则将其经算法电路处理后得到的摘要信息缓存至认证码输入缓存, 如果是摘要信息, 则 直接缓存至认证码输入缓存, 认证码比较电路对 COS_VER_REG 的值与认证码输入缓存值进 行比较, 比较结果输出至寄存器访问控制逻辑, 该电路根据比较结果控制认证寄存器和访 问控制寄存器是否可以改写。如果比较结果通过, 则会开放认证寄存器和访问控制寄存器 的读写操作权限, 用户便可以更新二者了, 否则认证寄存器和访问控制寄存器处于不可操 作状态。 此外认证电路包括有一个认证计数器, 芯片每接收到一次认证使能信。
19、号, 且认证不 通过, 计数器就会加 1, 直至计数至 N(认证次数上限) , 电路将不再接受认证使能信号, 且寄 存器访问控制逻辑将永久关闭 COS_VER_REG 和 COS_CTR_REG 的写操作。 0017 COS 访问控制电路包括访问控制码读电路、 访问控制映射寄存器、 访问控制码常数 电路、 访问控制码比较逻辑电路和存储区访问控制逻辑电路等, 其中 : 访问控制码读电路、 访问控制映射寄存器、 访问控制码比较逻辑电路、 存储区访问控制逻辑电路依次连接, 访问 说 明 书 CN 103714018 A 5 4/5 页 6 控制码比较逻辑电路与访问控制码常数电路连接。正常工作状态下,。
20、 COS_CTR_REG 的值与 访问控制码常数是不等的, COS 存储区处于不可写状态。当用户需要更新芯片 COS 时, 需要 首先通过认证获得 COS_CTR_REG 的写权限, 然后将访问控制码写入 COS_CTR_REG, 之后启动 访问控制比较操作。访问控制码读电路首先以 FLASH 的读操作时序将访问控制码从 COS_ CTR_REG 读至访问控制映射寄存器, 访问控制码比较逻辑对访问控制映射寄存器和访问控 制码常数进行比较, 比较结果输出至存储区访问控制逻辑, 根据比较结果存储区访问控制 逻辑可输出相应的控制信号, 从而允许用户获得 COS 存储区的读写权限。 0018 三、 每。
21、一个单独分区的访问控制电路工作状态跳转流程 : 芯片复位后, 访问控制电路默认处于空闲状态, 在空闲状态一旦检测到使能信号, 则进 入访问控制码读状态, 访问控制码读出后进入访问控制码比较状态, 根据比较结果打开或 关闭访问控制开关信号, 比较完成后访问控制电路进入等待复位状态, 之后一旦电路接收 到复位或关闭使能信号, 则重新进入空闲状态。 0019 如图3所示, 访问控制电路定义了4种工作状态 : 空闲状态、 访问控制码读状态、 访 问控制码比较状态和等待复位状态。 0020 以 COS 存储区访问控制电路为例, 芯片复位后, 访问控制电路处于空闲状态。一 旦电路接收到比较使能信号, 访问。
22、控制电路便会进入访问控制码读状态。在该状态下, 访 问控制电路将会以 FLASH 的读操作时序将访问控制码从 COS_CTR_REG 读出到访问控制映 射寄存器, 读操作完成后, 电路进入访问控制码比较状态, 访问控制码比较电路对访问控制 映射寄存器与访问控制码常数进行比较, 并输出比较结果, 比较完成后, 电路进入等待复位 状态, 一旦电路接收到复位或关闭使能信号, 则访问控制映射寄存器被复位, 比较结果不通 过, COS 存储区访问权限保持锁死, 电路进入空闲状态。如果比较通过, 操作者便可以在电 路等待复位期间进行 COS 的更新操作, 更新完成后, 操作者进行复位操作, 电路回归空闲状。
23、 态。其状态跳转如图 3 所示。 0021 根据上述描述可见, 访问控制码从读出到与访问控制码常数进行比较再到输出存 储访问控制信号全部都是由硬件电路控制实现, 因此该电路可以抗恶意软件攻击, 具有更 强的安全防护能力。 0022 四、 每一个单独分区的身份认证电路工作状态跳转流程 : 芯片复位后, 身份认证电路处于空闲状态。 当用户需要进行身份认证时, 需要首先使能 身份认证电路, 身份认证电路接收到认证使能信号后, 电路进入身份认证码读状态, 身份认 证码读出后进入计数器判断状态, 如果 i N 则进入认证码输入状态, 否则, 则表示身份认 证码比较超过限制次数, 电路进入永久锁死状态。 。
24、认证码输入完成后, 电路进入认证码比较 状态, 根据比较结果确定是否打开该寄存器和访问控制寄存器的访问权限开关, 比较完成 后, 电路等待复位或关闭使能信号, 进而返回空闲状态。 0023 如图 4 所示, 电路定义了 7 种工作状态 : 空闲状态、 认证码读状态、 计数器判断状 态、 认证码输入状态、 认证码比较状态、 等待复位状态和认证电路锁死状态。 0024 以 COS 存储区身份认证电路为例, 芯片复位后, 身份认证电路处于空闲状态。一旦 芯片接收到认证使能信号, 身份认证电路便会进入认证码读状态。 在该状态下, 身份认证电 路将会以 FLASH 的读操作时序将认证码从 COS_VER。
25、_REG 读出到认证映射寄存器, 读操作完 成后电路进入计数器判断状态, 如果iN, 表示尚未达到认证次数上限N, 则允许用户继续 说 明 书 CN 103714018 A 6 5/5 页 7 尝试输入认证码, 电路进入认证码输入状态, 即允许用户向认证码输入缓存写入认证码, 写 入完成后认证计数器自动加 1 , 电路进入认证码比较状态, 认证码比较电路对认证映射寄 存器与认证码输入缓存进行比较, 并输出比较结果, 比较通过, 计数器 i 清零, 电路进入等 待复位状态, 比较失败, 计数器 i 加 1, 电路重新进入计数器判断状态, 如果 i N, 则电路再 次进入认证码输入状态, 否则, 则表示 N 次认证比较均失败, 则认证电路进入锁死状态, 状 态不再跳转, 认证电路永久锁死。其状态跳转如图 4 所示。 0025 身份认证码读取、 传输、 比较以及寄存器访问控制信号的生成同样全部由硬件电 路完成, 期间没有软件的参与, 因此该电路具有抗软件攻击的能力, 安全性更高。 说 明 书 CN 103714018 A 7 1/2 页 8 图 1 图 2 说 明 书 附 图 CN 103714018 A 8 2/2 页 9 图 3 图 4 说 明 书 附 图 CN 103714018 A 9 。