[发明专利]一种超高安全的真随机数生成方法及真随机数生成系统在审
| 申请号: | 201410555348.7 | 申请日: | 2014-10-17 |
| 公开(公告)号: | CN104317551A | 公开(公告)日: | 2015-01-28 |
| 发明(设计)人: | 文浩 | 申请(专利权)人: | 北京德加才科技有限公司 |
| 主分类号: | G06F7/58 | 分类号: | G06F7/58 |
| 代理公司: | 北京世誉鑫诚专利代理事务所(普通合伙) 11368 | 代理人: | 孙国栋 |
| 地址: | 100083 北京市海淀区五道口东升园华*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 超高 安全 随机数 生成 方法 系统 | ||
技术领域
本发明涉及一种超高安全的真随机数生成方法——极随机(XRANDOM),及实现该方法的真随机数生成系统,尤其是在计算机密码学领域中应用的随机数生成方法及随机数生成系统。
背景技术
随着计算机技术和互联网、移动互联网的不断发展,人们在计算机和网络上存储的信息越来越重要、也越来越有价值,例如,比特币等密码学货币甚至已经开始成为人们的数字化虚拟资产,这就对数据安全提出了更高的要求。
随机数是密码学的基础之一,高品质的随机数对于数据安全至关重要。密码学中涉及的随机数相关概念主要有:随机数生成器(RNG:Random number generator),伪随机数生成器(PRNG:Pseudo Random Number Generator),真随机数生成器(TRNG:True Random Number Generator),硬件随机数生成器(HRNG:Hardware Random Number Generator)。随机数生成器是通过一些算法、物理讯号、环境噪音等来产生看起来似乎没有关联性的数列的方法或装置。丢硬币、丢骰子、洗牌就是生活上常见的随机数产生方式。计算机领域应用的随机数一般为伪随机数,并不是真正的随机数,只是重复的周期比较大的数列,是按一定的算法和种子值生成的。
现有的密码学技术解决方案通常依赖于操作系统内核态或应用态的伪随机数生成器,这些方案尽可能地做到密码学安全。不少安全专家会建议技术人员在设计软件时尽可能使用基于内核态的伪随机数生成器,来实现基于随机数的数据安全处理,这主要基于两方面的考虑:1、内核态的伪随机数生成器封装在操作系统的内核层面,由操作系统保证其安全性;2、应用态的随机数生成器通常要基于操作系统态的随机数生成器进行二次封装,增加了引入问题的概率。
密码学的发展对随机数生成器的品质提出了越来越高的要求,而历史上多次出现的随机数问题却又让人对于计算机系统能否提供足够安全的解决方案抱有疑虑。硬件随机数生成器,或真随机数生成器是一种通过物理过程而不是计算机程序来生成随机数字的设备。这样的设备通常是基于一些能生成低等级、统计学随机的“噪声”信号的微观现象,如热力学噪声、光电效应和量子现象。这些物理过程在理论上是完全不可预测的,并且已经得到了实验的证实。
对于大部分密码学安全的场景来说,内核态别的伪随机数生成器已经足够,比如说网站的账户系统加密、安全传递信息等,但当我们想更安全的存储数字资产、而且数字资产的价值不菲时,仅仅是伪随机似乎不够,我们需要更安全、更可靠的真随机数生成器。不过现有的真随机数生成器往往需要依赖昂贵的硬件设备来采集熵(环境的噪声),而且熵池的采集速度也很受限,低成本、高效率的真随机数生成器似乎是很难兼得的,更无法解决让用户方便、快捷使用等问题。
发明内容
随机数生成器面临的上述问题亟待解决。而移动互联网的高速发展,使得我们设计并开发极随机(XRANDOM)成为可能。通过本发明的极随机技术,能够让用户方便的按需采集熵,即根据用户的需求,通过智能手机的摄像头、麦克风、重力感应、地磁感应、光线感应、加速度感应等众多感应设备随机采集环境中的噪声,这些噪声的数量和质量都大大优于计算机时代的键盘、鼠标等输入设备所能采集到的噪声,再将采集到的熵与内核态的密码学安全的伪随机数生成器的结果进行混合,例如,通过进行XOR运算或其它运算等,就可保证最终获得的随机数是真随机的。因为用户周围环境中的影像、声音、磁场、光线、运动轨迹等均为无意识的噪声源,哪怕让用户努力试图重复一遍采集行为,都无法获得完全相同的结果。而且,再通过与经过多年检验的内核态伪随机数生成器混合,即便是其中某个随机源存在问题,最终的结果仍然是随机的、安全的。
本发明提供一种超高安全的随机数生成方法,该方法包括:
用户通过移动终端随机采集环境中的熵,并将其放入熵池;
当熵池中采集到的熵达到预定条件时,基于这些熵产生真随机数,并向操作系统内核发送内核态伪随机数请求;
操作系统内核通过内核态伪随机数生成器生成一定数量的内核态伪随机数;
将该真随机数及该内核态伪随机数进行混合运算,获得最终的随机数。
本发明还提供一种超高安全的随机数生成系统,该系统包括:
熵采集模块,用于根据用户指令随机采集用户环境中的熵;
真随机数生成模块,用于当熵采集模块采集到的熵达到预定条件时,将其生成为真随机数;
系统内核,包括内核态伪随机数生成器,用于根据熵采集模块发送的请求生成一定数量的内核态伪随机数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京德加才科技有限公司,未经北京德加才科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410555348.7/2.html,转载请声明来源钻瓜专利网。





