[发明专利]可扩展的随机数生成有效
申请号: | 201210002797.X | 申请日: | 2012-01-06 |
公开(公告)号: | CN102609237A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | N.T.费尔古森;周大翊;V.G.巴拉瓦 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 李舒;刘鹏 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 扩展 随机数 生成 | ||
背景技术
随机数生成是任何计算机系统中的基本过程。特别地,加密系统的安全取决于其具有良好的随机数来源。然而,计算机在它们的操作中是高度确定性的,并且在输入给定的情况下任何算法的输出都是可预测的。因此随机数并非是利用单纯算法手段而生成的。随机数的生成通常包括两个不同阶段:熵采集和随机数生成。熵是对攻击者来说不可预测的信息,且该熵用作通常使用加密技术的确定性伪随机数生成器(PRNG)的种子。熵采集的传统技术会尝试在没有可用时、在不需要时、或者在设备将会如若不然仍然处于省电、闲置状态中时采集熵。对于小型电池供电设备,能量效率是首要的,低效处理器利用能够增加功耗。在不可用或不需要时,熵采集消耗功率和影响设备的能量效率。
发明内容
提供本发明内容以介绍在下文具体实施方式中进一步描述的可扩展的随机数生成的简化概念。本发明内容并非意在识别所要求保护的主题的必要特征,也不意在用于确定所要求保护的主题的范围。
描述可扩展的随机数生成。在实施例中,系统包括一个或多个熵池,所述熵池将基于事件数据从熵源采集的熵数据进行组合。根伪随机数生成器(PRNG)维持由熵池补种的取种(seeded)熵状态,种子版本标识符更新以指示根PRNG的当前种子版本。在系统的内核中每逻辑处理器逐一实例化处理器PRNG,其中每个处理器PRNG维持从根PRNG补种的PRNG熵状态,且处理器PRNG根据调用时的各PRNG熵状态生成随机数。
在其它实施例中,系统还包括每应用逐一实例化的应用基础PRNG,且每个应用基础PRNG维持从处理器PRNG按需求补种的基础PRNG熵状态。每逻辑处理器、每过程逐一实例化过程PRNG,且每个过程PRNG维持从应用基础PRNG按需求补种的过程PRNG熵状态。
在其它实施例中,在熵数据被采集时,按需求动态地生成一个或多个熵池。一个或多个熵池基于指定时间间隔对根PRNG的取种熵状态补种(reseed)。当调用处理器PRNG以生成随机数时,按需求从根PRNG对每个处理器PRNG补种。每个处理器PRNG还维持用来指示各处理器PRNG中PRNG熵状态的补种版本的种子版本。根PRNG处的种子版本标识符在系统中是全局的且被配置成通过处理器PRNG、应用基础PRNG以及过程PRNG访问。PRNG的种子版本可以与根PRNG处的种子版本标识符相比较以确定是否对PRNG的PRNG熵状态补种。
附图说明
参照附图描述可扩展的随机数生成的实施例。整个图使用相同标记来指代相似的特征和组件:
图1示例了可以实施可扩展的随机数生成实施例的实例系统。
图2示例了可以实施可扩展的随机数生成实施例的另一实例系统。
图3示例了按照一个或多个实施例的可扩展的随机数生成的实例方法。
图4示例了可以实施可扩展的随机数生成实施例的实例设备的各种组件。
具体实施方式
描述可扩展的随机数生成。在实施例中,系统包括一个或多个熵池,所述熵池将从熵源导出的熵数据组合,其中一些可以基于诸如中断定时的事件数据。根伪随机数生成器(PRNG)维持被熵池补种的取种熵状态以及用来指示根PRNG的当前种子版本的种子版本标识符,如计数器、数值、或者不同类型的标识符。例如,可以增加种子版本计数器以指示根PRNG的当前种子版本。在系统的内核中每逻辑处理器逐一实例化处理器PRNG,其中每个处理器PRNG维持从根PRNG补种的PRNG熵状态。系统还包括每应用逐一实例化的应用基础PRNG,且每个应用基础PRNG维持从处理器PRNG按需求补种的基础PRNG熵状态。每逻辑处理器、每过程逐一实例化过程PRNG,且每个过程PRNG维持从应用基础PRNG按需求补种的过程PRNG熵状态。
系统中的每个PRNG根据它自身的内部PRNG熵状态生成随机数。熵生成由中断事件驱动并且在系统闲置时不引起后台活动,这保存了能量。另外,熵收集过程不影响PRNG调用的执行时间,并且因此可以在不影响PRNG性能的情况下与所需一样缓慢。
虽然可以在任何数量的不同环境、系统、设备和/或各种配置中实施可扩展的随机数生成的所描述系统和方法的特征和概念,但在以下实例设备、系统、以及配置的上下文中描述可扩展的随机数生成的实施例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210002797.X/2.html,转载请声明来源钻瓜专利网。