安全芯片的设计方法

作者:周浩华,恒波软件转载

安全芯片如何高效实现?在芯片的设汁过程中,采用了Topdown的设计方法。通过行为级的仿真掌握算法,获取一定的测试矢量,通过分析,设计整体实现结构和各个模块的优化结构,通过FPGA的门级仿真或板级仿真来验证设计。下图显示的是研究过程中的一般流程和用到的有关工具,需要说明的是每一步都有一个反复验证的过程。

在研究加密算法的VLSI实现时,首先考虑的是算法运行的性能和安全性,专门的状态机由于可以实现各种内部定制的调度,可以小化运算需要的时钟,同时也有利于增加物理破解时的难度,因此较好的方式是加密模块内部采用专门的状态机来实现控制.文件夹加密是一种软件设计与这里说的安全芯片设计需求区别较大。

对于各个模块的FPGA板级仿真采用如图2的测试平台,包括两台微机,一台用于下载FPGA的配置码,一台用于加载测试矢量,采用一个基于ISA插卡,片上的Xinlix9536用于进行时钟产生和端口配置,中间的Altera芯片用于进行网表配置,周围存储器件用于有些数据的暂存.

加密芯片由于其应用的特殊性,某些单元,如密钥单元,往往需要某些安全控制,通常采用的措施有:

  • 熔丝,烧断熔丝防止测试功能再激活。
  • 自锁逻辑,对关键单元读写需要认证,对试探性攻击超过多次芯片自锁。 ? ?
  • 自毁机制,防止芯片封装被打开后的微探测破译。
  • 防低频检测,对时钟进行监控,防止debug。
  • 冗余存储,多单元互动,增加修改难度。

此外,可测性设计是芯片设计时需要考虑的一个重要因素,由于可测性设计的要求?与安全性要求是相抵触,因而需要综合考虑这两个课题,内建自测试技术BIST作为能保全双方要求的方案受到了重视。