[发明专利]一种随机数生成方法、相关设备及系统在审
申请号: | 201810358844.1 | 申请日: | 2018-04-20 |
公开(公告)号: | CN108306732A | 公开(公告)日: | 2018-07-20 |
发明(设计)人: | 林雪焰;詹榜华;李向锋;关旭 | 申请(专利权)人: | 北京数字认证股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 熵源 服务端 客户端 随机数 发送 随机数生成 设备及系统 设备及装置 混合处理 获取请求 | ||
本发明公开了一种随机数生成方法、相关设备及装置,客户端发送随机熵获取请求至服务端,并接收所述服务端发送的与所述随机熵请求对应的熵数据;客户端获取初始熵源数据,将所述初始熵源数据与所述服务端发送的熵数据进行混合处理,生成随机数,其中,所述初始熵源数据为客户端获取的本地弱熵源数据。通过本发明解决了客户端没有足够的熵源的情况下,可以通过服务端发送的熵数据然后使用自身的弱熵源作为盐值进行处理,得到真正的随机数,进而能够产生高质量的随机数。
技术领域
本发明涉及密码技术领域,特别是涉及一种随机数生成方法、相关设备及系统。
背景技术
随着计算机技术和互联网技术的不断发展,人们在计算机和网络上存储的信息也越来越多,越来越重要。因此就对数据安全性提出了更高的要求。随机数是现代密码学和密码技术的基础,在现代密码技术中,密钥产生、数字签名、身份认证和众多的密码协议都需要用到随机数。随机数生成是任何计算机系统中的基本过程。尤其,加密系统的安全取决于其具有良好的随机数来源。随机数的生成通常包括两个不同阶段:熵采集和随机数生成。熵是对攻击者来说不可预测的信息,且该熵用作通常使用加密技术的确定性伪随机数生成器的种子。
在物联网领域中,有很多的物联网终端设备、智能终端设备或者PC终端,因为其硬件限制无法获得足够的随机数熵,所以无法产生高质量的随机数,尤其是不能满足作为密钥的随机数的质量要求。
发明内容
针对于上述问题,本发明提供一种随机数生成方法、相关设备及系统,解决了在设备没有足够的熵源的情况下无法产生高质量的随机数的问题。
为了实现上述目的,本发明提供了如下技术方案:
一种随机数生成方法,该方法应用于客户端,包括:
发送随机熵获取请求至服务端,并接收所述服务端发送的与所述随机熵请求对应的熵数据;
获取初始熵源数据,将所述初始熵源数据与所述服务端发送的熵数据进行混合处理,生成随机数,其中,所述初始熵源数据为客户端获取的本地弱熵源数据。
优选地,还包括:
当所述服务端发送的熵数据为加密数据时,对所述服务端发送的熵数据进行解密处理,得到解密后的熵数据。
优选地,所述对所述服务端发送的熵数据进行解密处理,得到解密后的熵数据,包括:
通过客户端的私钥对所述服务端发送的熵数据进行解密,并验证所述服务端发送的熵数据的数字签名,得到解密后的熵数据。
一种随机数生成方法,该方法应用于服务端,包括:
接收客户端发送的随机熵获取请求;
根据所述随机熵获取请求调用指定熵源获取到熵数据;
将所述熵数据发送至所述客户端,其中,所述客户端根据所述熵数据生成随机数。
优选地,所述将所述熵数据发送至所述客户端之前,还包括:
根据所述客户端的标识获取所述客户端的公钥;
对所述熵数据进行数字签名,并通过所述公钥对签名后的熵数据进行加密,得到加密后的熵数据。
一种客户端,包括:
发送模块,用于发送随机熵获取请求至服务端,并接收所述服务端发送的与所述随机熵请求对应的熵数据;
生成模块,用于获取初始熵源数据,将所述初始熵源数据与所述服务端发送的熵数据进行混合处理,生成随机数,其中,所述初始熵源数据为客户端获取的本地弱熵源数据。
优选地,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数字认证股份有限公司,未经北京数字认证股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810358844.1/2.html,转载请声明来源钻瓜专利网。