论文部分内容阅读
随着信息化社会的快速发展,信息安全问题开始受到人们的重视,随机数作为信息安全系统的基石,其安全性日益变得重要。对于需要大量随机数的安全协议,必须将真随机数种子通过算法扩展成伪随机数,因此伪随机数的安全性往往取决于种子。以上过程通常由软件完成,这导致种子的安全性存在很大的风险。物理不可克隆函数(Physical UnclonableFunctions,PUFs)作为一种加密实体,具有不可预测性以及不可克隆性,已经成为多种安全协议的组成部分。将PUFs作为真随机数种子源,向硬件化的伪随机数发生器(Pseudo-Random Number Generator,PRNG)提供种子,能够提高信息安全系统的安全性。基于此,本文的研究包括以下几个方面:分析各种基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的PUFs电路特性,分别探究它们用作种子源的可行性;针对以上分析,设计熵监测模块,实现对熵源有效性的监测并产生种子;根据美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)SP800-90A 的建议,设计一种符合规范的哈希(Hash)PRNG;将PUFs、熵监测模块、Hash PRNG组成完整的系统,并在FPGA上进行实现;搭建随机数测试平台,通过NIST随机数检测套件对输出进行检测,并针对各种攻击方法进行安全性分析。本文的创新点在于:第一,首次对各种易于在FPGA平台上实现的PUFs用作种子源的可行性进行探究;第二,首次提出了针对PUFs熵源有效性的实时监测方法,排除了环境因素的影响,提高了系统安全性;第三,首次针对NIST SP800-90A建议中的伪随机数发生器进行了硬件架构设计,并实现了动态可重播操作。本文所述的伪随机数发生系统在Altera Cyclone Ⅳ FPGA开发平台上进行验证,该系统在68MHz工作频率下的伪随机数发生速率达到598.1Mbps。该发生系统具有的熵监测功能以及动态可重播功能,能够保证抗回溯性和抗预测性,提高系统安全性。其产生的伪随机数通过了 NIST随机数检测套件的所有随机性检测项目,具有良好的随机性。该研究的意义在于提供了一种高安全性与高可靠性的伪随机数发生器设计,可应用于高安全级别的安全议中,其中针对各种PUFs特性的探究对于在不同情景下的应用设计具有一定的价值。