软件随机数生成器安全研究综述:关键问题与挑战

需积分: 0 0 下载量 84 浏览量 更新于2024-06-28 收藏 7.99MB PDF 举报
本文主要探讨了软件随机数发生器在现代密码学中的核心作用及其安全性的关键问题。随机数生成器对于密码算法、安全协议以及数字签名等领域至关重要,它们提供了加密技术的基础保障。由于软件随机数发生器具有开发成本低、易于迭代更新和生成具有良好统计特性的随机数等优点,它们被广泛应用于各种操作系统,如Linux、Android(通过OpenSSL实现)和Windows等嵌入式系统,为众多密码应用提供了随机数服务。 然而,随机数的安全性不容忽视。一个不安全的随机数生成器可能导致整个系统的安全漏洞,因此研究焦点集中在几个关键方面:首先,选择有效的熵源是保证随机数生成质量的关键,熵源的质量直接影响随机数的随机性和不可预测性。其次,熵估计技术的准确性也至关重要,它能确保生成的随机数满足安全标准,避免被恶意利用。 文章深入剖析了操作系统中常见的随机数发生器设计,详细解释了Linux、Android和Windows平台上的具体实现机制。这包括理解其内部工作原理,如基于特定硬件事件(如CPU周期、时间戳等)或特定算法(如Blum-Blum-Shub或Mersenne Twister)生成随机数的过程。 作者对软件随机数发生器的安全性进行了全面的评估,讨论了如何通过理论和实践手段提高其抵御攻击的能力,例如,防止序列模式重复、检测并修复潜在的偏移或伪随机性问题。此外,文中还涉及到了最新的研究成果和挑战,强调了随着密码学技术的进步,对随机数生成器的安全性要求也在不断提高。 本文的研究结果对于开发者、安全专家以及密码学研究人员来说具有重要的参考价值,它不仅提升了人们对软件随机数发生器安全性的认识,也为未来的随机数生成器设计和优化提供了实用指导。该论文发表于《密码学报》,具有较高的学术影响力,引用格式已给出,便于读者进一步查阅。
2020-01-05 上传
随机数作为密钥或密码运算资源被广泛应用于信息安全系统,随机数的研究 越来越重要。随着计算技术和密码学的发展,在信息安全应用中不仅需要可输出 各种形式随机数的发生器,而且还需要对随机数的随机性做更深入的研究与分析, 为相关应用提供理论支撑。 本文综合讨论了随机数发生器及随机性检测器的设计与实现。 首先对随机数发生器进行了分类讨论,按照真随机数发生器与伪随机数发生 器两种产生方法及性能进行了分析和对比。本文研究并设计了两款伪随机数发生 器,并用软件实现这两个发生器,产生相应的实例以供随机性检测器测试。同时 在信息安全领域真 随机数发生器中选择了一款常用的噪声源芯片 WNG4 ,用该芯 片产生真随机数,本软件系统调用该真随机数序列作为测试实例,以供随机性检 测器测试。 其次 本文设计并实现了一款随机性检测器,该检测器实现了国内较常用的 15 种检测方法,包括单比特频数检测、块内频数检测、扑克检测、重叠子序列检测、 游程总数检测、游程分布检测、块内最 大 1 游程检测、二元推导检测、自相关 检测 、矩阵秩检测、累加和检测、近似熵检测、线性复杂度检测、 Maurer 通用统 计检测、离散傅立叶检测等 15 项检测方法。以统计与概率学为理论依据,对 15 种检测方法进行 软件实现,对每种方法的运算步骤及实现做了详细的研究与分析。 然后 本文使用三个正向实例与一个反向实例作为测试案例对检测器进行测试。 正向实例为本文自行设计 的 随机数发生器产生 的 结果 作 为待测样本数据 即两款 伪随机数发生器与一款真随机数发生器产生的随机数 。 反向实例为模拟一个有明 显缺陷的随机数序列。 本文 详细讨论了测试结果,对随机数发生器与随机性检测 器同时进行测试与验证, 以 证明随机数发生器的良好性能及随机性检测器的运行 有效性,并得出结论, 证明 该检测系统的设计与实现与预期一致。 本文的亮点在于: 紧密结合工作实际,紧紧围 绕随机数随机性检测这一课题的研究,系统地梳 理了相关检测方法,综合国内实际情况选择了最适合信息安全领域的 15 种检测方 法,再用简洁高效的软件语言实现这些检测方法,拓展了企业在随机性检测领域 的检测能力,使之成为信息安全 领域 的有效测试工具。