论文摘要
可编程逻辑器件既继承了专用集成电路的大规模、高集成度、高可靠性的优点,又克服了专用集成电路设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想首选。在投入数月之久的设计工作后,最令人害怕的莫过于辛辛苦苦的设计成果失窃。因此,可编程逻辑器件的安全问题也越来越受到人们的关注。对于采用SRAM(static random access memory)工艺的可编程逻辑器件而言,要求每次上电,对可编程逻辑器件进行重配置,这就使得可以通过监视配置的位数据流,进行克隆设计。对于Flash/Anti-Fuse工艺的可编程逻辑器件而言,通过解除芯片上的安全位,让芯片允许读回作业,如此窃贼就能获得器件中的电路。为了保护知识产权,有的可编程逻辑器件现在能够对比特流进行加密。然而,对于不具备嵌入式比特流加密手段来加密配置比特流的可编程逻辑器件而言,需要在生产过程中增加步骤对可编程逻辑器件中的密钥进行编程,因而提高了成本。对于大批量应用,使用加密存储卡的性价比会更高一些。本文对可编程逻辑器件存在的保密性问题进行深入的分析,提出使用加密存储卡加入安全认证的可编程逻辑器件加密设计方案,对现有的可编程逻辑器件加密设计方案进行改进,在简化电路、降低成本的基础上,加强了安全性。在可编程逻辑器件中和加密存储卡中的算法计算结果匹配之前,这一方案禁用可编程逻辑器件中的设计,因此,即使获取了配置数据比特流,设计也是安全的。随机数发生器在加密系统的密钥生成、加密存储等很多方面有着广泛的应用,很多加密系统的安全性直接依赖于产生的密钥的不可预测性以及非相关性。虽然随机数发生器有着广泛的应用,但产生真随机数的随机数发生器却很少。其中与IC(Integrated Circuit)工艺兼容的随机数生成有三种方法:放大电路噪声、振荡采样和混沌电路。本文提出了一种新的基于FPGA(Filed Programmable Gate Array)时延不确定性的随机数发生器的实现方案,更易于使用FPGA设计实现。本文提出的方案通过了美国商务部国家标准技术协会NIST发布的FIPS 140-1随机性统计测试。统计检验表明本文给出的随机数发生不失为一种较好的随机数发生器,具有优良的统计性质,从而具有较好的使用价值。本文的设计原型在Altera公司CycloneⅡ系列EP2C8Q208C8器件上实现并进行了验证,40MHz的时钟频率下,加密认证耗时约30ms,共占用1139个LE(Altera FPGA逻辑单元),732个register(边沿触发器件)以及三个引脚。