一种芯片安全信息的安全传输方法及电路与流程

文档序号:18161756发布日期:2019-07-13 09:22阅读:202来源:国知局
一种芯片安全信息的安全传输方法及电路与流程

本发明属于集成电路芯片的安全性设计领域,具体涉及与芯片安全功能相关的关键数据信息的安全传输方法与电路。



背景技术:

伴随微电子技术的快速发展,智能卡芯片的CPU处理能力、存储器容量等硬件指标均得到很大提高。智能卡技术的不断成熟,使其成为许多行业解决传统问题的理想方案,在移动通信、社保医疗、金融支付等诸多领域发挥着日益重要的作用。智能卡芯片的广泛应用,使用户对智能卡芯片的安全性提出了更高的要求。

为提高智能卡应用的安全性,在智能卡芯片设计上引入了许多安全机制,例如密码鉴别,数据鉴别以及数据加密等等。而上述安全机制的工作过程通常要包含密码(或密钥)等芯片安全信息的传递。例如使用DES算法进行数据加密运算时,需要从密码文件区选取密码。为了保证DES算法加密的有效性,不仅要保证密码文件存储的安全性,同样要保证密码传递过程的安全性(即芯片安全信息传递过程的安全性)。

针对密码文件类的芯片安全信息的保护,通常的做法是由COS指定某种安全访问控制机制来进行保护。而本发明通过全硬件实现芯片安全信息的访问及传输,采用物理屏蔽的方式,从根本上解决了软件访问可能导致的芯片安全信息泄露的问题。



技术实现要素:

本发明的目的,在于解决软件参与芯片安全信息的访问及传递过程,可能导致芯片安全信息泄露的安全性问题。

本发明是一种芯片安全信息的安全传输电路,采用全硬件的实现方案,详细的技术方案描述如下:

本发明的硬件电路包括:一个安全信息传输启动寄存器、一个存储安全信息的NVM存储器、一个NVM访问地址寄存器、若干组用于安全信息装载的数据寄存器,用于记录安全信息传输状态的计数器、以及其它相关的组合逻辑等等。

所述的安全信息传输启动寄存器的输出是硬件执行安全信息传输的控制条件,其在安全信息传输过程中将一直保持有效,由软件置位,硬件自动清零,软件写零无效。

所述的用于存储芯片安全信息的NVM存储器,在圆片测试阶段,通过测试电路将加密的安全信息写入;在圆片划片之后,将无法通过测试电路访问NVM存储器。

所述的安全信息传输状态计数器用于记录安全信息的传输完成情况。所述的安全信息传输启动寄存器、NVM访问地址寄存器等控制逻辑,都要根据安全信息传输状态计数器的值,进行相关控制状态的转换。

所述的NVM访问地址寄存器,其缺省值指向NVM安全信息存储区的首地址;此地址寄存器的更新由硬件根据安全信息传输状态计数器的值自动完成。出于安全方面的考虑,安全信息传输过程的NVM访问地址可以是连续的,也可以是乱序的。

本发明的工作原理如下:当安全应用需要访问芯片安全信息时,首先,由软件置位安全信息传输启动寄存器,芯片硬件自动启动安全信息的传输过程,硬件自动产生NVM存储器的工作时钟、地址、片选等控制信号,对NVM存储器执行读操作;其次,当第N组安全信息返回之后,硬件要对其进行解密,并将解密的安全信息写入第N组安全信息数据寄存器,同时更新安全信息传输状态计数器;第三,若安全信息的传输尚未完成,硬件将根据安全信息传输状态计数器的值,对NVM访问地址寄存器进行更新,启动下一组安全信息的访问,并不断重复上述的“读取=>解密=>装载”过程,直到芯片的安全信息传输全部完成。

本发明所述芯片安全信息的传输电路,只有安全信息传输的启动由软件控制,后续所有操作均由硬件自动完成,软件无法获取传输过程的任何信息,使用本发明对芯片安全信息的传输可进行有效保护。

本发明可实现对芯片多种不同类型安全信息的保护,具体为实现多套完整的安全信息传输控制电路,与芯片需要保护的安全信息一一对应,实现安全信息传输之间互不干扰,从而极大增强芯片安全信息传输操作的安全性。

附图说明

图1硬件电路原理图

图2安全信息传输流程图

具体实施方式

以下结合说明书附图对本发明的具体实施方式进行详细说明。

如图1本发明硬件电路原理图所示,100代表安全信息传输启动寄存器,200代表存储安全信息的NVM存储器,300代表安全信息传输状态计数器,400代表NVM访问地址存储器,500代表安全信息解码电路,600代表安全信息装载寄存器组,700代表安全信息传输完成的标志。

图1中的100代表的安全信息传输启动寄存器,在芯片初始上电或安全信息传输操作完成之后,该寄存器处于无效状态。

图1中的200代表NVM存储器,用于存放加密的芯片安全信息,在trans_start有效之前,NVM时钟信号nvm_clk关闭,片选信号CS无效。

图1中的300代表安全信息传输状态计数器,其输出用于判断安全信息的传输是否已完成;若安全信息传输尚未完成,还将用于产生下一个NVM访问地址。

图1中的400代表NVM访问地址寄存器,该寄存器的复位值对应NVM安全信息区的起始地址;当trans_start有效时,根据trans_cnt的值产生NVM的访问地址(基于安全方面的考虑,NVM内的安全信息是乱序存放的,因此nvm_addr的输出也是乱序的);当trans_start无效时,此寄存器将被复位。

图1中的500代表安全信息的解密逻辑,出于安全方面的考虑,存放在NVM内的安全信息是被加密的,因此在使用之前需要对安全信息进行解密处理。

图1中的600代表安全信息装载寄存器组,安全硬件可直接使用寄存器组内的安全信息进行加密运算,运算完成之后,寄存器组的内容将被清空(软件无法访问上述寄存器组)。

图1中的700代表安全信息传输完成标志,通过判断trans_cnt的计数值来确认安全信息传输过程是否已完成。

图2中示例了通过软件启动,硬件自动执行安全信息传输的工作流程图。从改流程图可以看出,仅安全信息传输启动寄存器的置位由软件控制,传输过程的其它操作均由硬件自动完成。当芯片安全信息的传输完成之后,各部分控制硬件都将被复位到初始状态,确保了下一次安全信息传输的正确性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1