一种基于硬件的分布式多方随机数生成方法及系统技术方案

技术编号:22564506 阅读:76 留言:0更新日期:2019-11-16 11:44
本发明专利技术公开了一种基于硬件的分布式多方随机数生成方法及系统,该方法包括以下步骤:将时间片划分为多个周期,在当前周期内对至少两个随机数生成节点进行排序;当前周期内的第一个随机数生成节点选择真随机数并将其广播至其他的随机数生成节点;当前随机数生成节点接收上一随机数生成节点广播的真随机数并进行验证,当验证通过后将本节点生成的真随机数与上一随机数生成节点广播的真随机数进行组合和签名,并广播签名后的真随机数至其他的随机数生成节点;本发明专利技术采用在多方之间制定协议的机制将多个节点产生的随机数组合生成最终的随机数,不再单一依赖于某一特定硬件芯片,可防止恶意方私自篡改随机数。

A method and system of distributed random number generation based on hardware

The invention discloses a hardware based distributed multi-party random number generation method and system, the method comprises the following steps: dividing a time slice into multiple periods, sorting at least two random number generation nodes in the current period; selecting the true random number for the first random number generation node in the current period and broadcasting it to other random number generation nodes; currently following The machine number generating node receives and verifies the true random number broadcast by the last random number generating node. When the verification is passed, the true random number generated by this node and the true random number broadcast by the last random number generating node are combined and signed, and the signed true random number is broadcast to other random number generating nodes. The invention adopts the mechanism of making protocol among multiple parties to make multiple sections The combination of random numbers generated by points generates the final random number, which is no longer solely dependent on a specific hardware chip, and can prevent malicious parties from tampering with the random number without permission.

【技术实现步骤摘要】
一种基于硬件的分布式多方随机数生成方法及系统
本专利技术属于密码学随机数生成
,更具体地,涉及一种基于硬件的分布式多方随机数生成方法及系统。
技术介绍
随机数作为密码协议的基础,在计算机系统中被广泛使用。如何产生安全可信的随机数一直是学术界和工业界很活跃的话题。随机数包括真随机数和伪随机数,真随机数是使用物理现象产生的:比如使用物理器件的噪音、抖动,热噪声、量子现象等等,这些物理现象理论上是无法被控制的,因此产生的随机数具有不可预测性,这样的随机数发生器叫做物理性随机数发生器;传统的基于计算机硬件的随机数生成器可根据硬件的环境,如CPU电压、温度、时钟信号的抖动等因素由单一的生产者产生真随机数。伪随机数是由计算机或计算器产生的,是一种“近似”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。由于真随机数具有不可控、不可预知等优点,因此在信息安全等领域发挥着极为重要的作用。随机源的质量决定了随机数的质量,目前真随机数的产生依赖于某一特定硬件芯片;虽然由于硬件随机源为不可控、不可预知的、不可重复,其产生的随机数具有真随机数性,但是硬件随机数产生器由于缺乏透明性、中心化和生产者的单一性,导致其产生的真随机数无法被验证,无法被验证进一步导致随机数不可信,即存在被私自篡改的可能性。
技术实现思路
针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种基于硬件的分布式多方随机数生成方法及系统,不再单一依赖于某一特定硬件芯片,而是将每个硬件芯片产生的真随机数组合生成最终的随机数,组合生成的随机数继承了真随机数不可控、不可预知的、不可重复的优点;更重要的是,在存在恶意方的情况下,由于采用了在多方之间就随机数达成协议的机制,可防止恶意方私自篡改随机数,其目的在于解决现有技术中产生的真随机数无法被验证性的问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于硬件的分布式多方随机数生成方法,包括以下步骤:S1:将时间片划分为多个周期,在当前周期内对至少两个随机数生成节点进行排序;S2:当前周期内的第一个随机数生成节点选择真随机数并将其广播至其他的随机数生成节点;S3:当前随机数生成节点接收上一随机数生成节点广播的真随机数并进行验证,当验证通过后根据预置的组合规则将自身生成的真随机数与上一随机数生成节点广播的真随机数进行组合和签名,并广播签名后的真随机数至其他的随机数生成节点;各随机数生成节点遵循统一的组合规则对自身产生的真随机数与上一随机数生成节点广播的真随机数进行组合,该组合规则公开透明,便于快捷认证;S4:重复步骤S3,直至当前周期内的最后一个随机数生成节点产生真随机数并验证通过,当前周期结束。优选的,上述分布式多方随机数生成方法,其步骤S3中所述的验证还包括:除上一随机数生成节点之外的其他各随机数生成节点共同对上一随机数生成节点广播的真随机数进行全局验证。优选的,上述分布式多方随机数生成方法,其他各随机数生成节点通过共识算法对上一随机数生成节点广播的真随机数进行验证,当不少于预设个数的随机数生成节点验证通过时,表示上一随机数生成节点广播的真随机数是正确的随机数。优选的,上述分布式多方随机数生成方法,若上一随机数生成节点广播的真随机数验证未通过,则当前随机数生成节点选择上一随机数生成节点之前的随机数生成节点广播的真随机数与自身生成的真随机数进行组合。优选的,上述分布式多方随机数生成方法,其步骤S3中所述的验证包括:对真随机数的签名进行验证,以及验证产生所述真随机数的随机数生成节点是否属于当前周期。优选的,上述分布式多方随机数生成方法,其步骤S2中,若当前周期是第一个周期,则第一个随机数生成节点以自身生成的真随机数作为随机源;若当前周期不是第一个周期,则第一个随机数生成节点从上一周期产生的真随机数中任意选择一个作为当前周期的随机源。优选的,上述分布式多方随机数生成方法,随机数使用者可选择消费任一周期内的任一随机数生成节点生成的真随机数。优选的,上述分布式多方随机数生成方法,随机数使用者选择当前周期内的最后一个随机数生成节点产生的真随机数作为最终的随机数结果。按照本专利技术的另一个方面,还提供了一种基于硬件的分布式多方随机数生成系统,包括多个随机数生成节点,不同周期内具有至少两个按照一定的顺序排序的所述随机数生成节点;当前周期内的第一个随机数生成节点选择真随机数并将其广播至其他的随机数生成节点;当前随机数生成节点接收上一随机数生成节点广播的真随机数并进行验证,当验证通过后将自身生成的真随机数与上一随机数生成节点广播的真随机数进行组合并签名,并广播签名后的真随机数至其他的随机数生成节点,直至当前周期内的最后一个随机数生成节点产生真随机数并验证通过。优选的,上述分布式多方随机数生成系统,每一个随机数生成节点包括:硬件真随机数发生器,用于产生自身的真随机数;加密模块,用于通过签名算法对硬件真随机数发生器产生的真随机数和/或随机数提取模块输出的真随机数进行签名;网络通讯模块,用于将签名后的真随机数广播至其他随机数生成节点,并接收其他随机数生成节点广播的真随机数;验证模块,用于通过共识算法对其他随机数生成节点广播的真随机数进行验证;随机数提取模块,用于将其他随机数生成节点广播且验证通过的真随机数与硬件真随机数发生器产生的真随机数进行组合,作为最终产生的真随机数。优选的,上述分布式多方随机数生成系统,所述的验证包括对所述真随机数的签名进行验证,以及验证产生该真随机数的随机数生成节点是否属于当前周期。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本专利技术提供的一种基于硬件的分布式多方随机数生成方法及系统,将多个随机数生成节点产生的真随机数通过预设的协议机制进行组合生成最终的随机数,有效的消除对单一的第三方的直接信任;在各随机数生成节点生成真随机数后要求签名,使其产生的随机数具有不可抵赖性;最终随机数的生成过程使用了每一个随机数生成节点产生的真随机数,进而增加了被恶意攻击者操纵的难度;由于组合协议机制公开透明,任何实体包括随机数的生产者或者消费者均可以验证最终随机数的正确性。(2)本专利技术提供的一种基于硬件的分布式多方随机数生成方法及系统,每一个随机数生成节点生成的真随机数需要由其他随机数生成节点共同验证,这种全局验证的方式可有效防止两方串通对随机数的产生过程进行恶意操纵;(3)本专利技术提供的一种基于硬件的分布式多方随机数生成方法及系统,任意一个随机数生成节点的输入来自于上一周期或上一节点产生的随机数,由于输入不由节点自己决定,因此增加了被恶意攻击者操纵的难度,提高了随机数结果的公正性;(4)本专利技术提供的一种基于硬件的分布式多方随机数生成方法及系统,分布式多方随机数生成器具有高可用性,在部分硬件芯片受到攻击的情况下,依然能够产生安全有效的随机数。附图说明图1是本专利技术实本文档来自技高网...

【技术保护点】
1.一种基于硬件的分布式多方随机数生成方法,其特征在于,包括以下步骤:/nS1:将时间片划分为多个周期,在当前周期内对至少两个随机数生成节点进行排序;/nS2:当前周期内的第一个随机数生成节点选择真随机数并将其广播至其他的随机数生成节点;/nS3:当前随机数生成节点接收上一随机数生成节点广播的真随机数并进行验证,当验证通过后根据预置的组合规则将本节点生成的真随机数与上一随机数生成节点广播的真随机数进行组合和签名,并广播签名后的真随机数至其他的随机数生成节点;/nS4:重复步骤S3,直至当前周期内的最后一个随机数生成节点产生真随机数并验证通过。/n

【技术特征摘要】
1.一种基于硬件的分布式多方随机数生成方法,其特征在于,包括以下步骤:
S1:将时间片划分为多个周期,在当前周期内对至少两个随机数生成节点进行排序;
S2:当前周期内的第一个随机数生成节点选择真随机数并将其广播至其他的随机数生成节点;
S3:当前随机数生成节点接收上一随机数生成节点广播的真随机数并进行验证,当验证通过后根据预置的组合规则将本节点生成的真随机数与上一随机数生成节点广播的真随机数进行组合和签名,并广播签名后的真随机数至其他的随机数生成节点;
S4:重复步骤S3,直至当前周期内的最后一个随机数生成节点产生真随机数并验证通过。


2.如权利要求1所述的分布式多方随机数生成方法,其特征在于,步骤S3中所述的验证还包括:除上一随机数生成节点之外的其他各随机数生成节点共同对上一随机数生成节点广播的真随机数进行全局验证。


3.如权利要求2所述的分布式多方随机数生成方法,其特征在于,其他各随机数生成节点通过共识算法对上一随机数生成节点广播的真随机数进行验证,当不少于预设个数的随机数生成节点验证通过时,表示上一随机数生成节点广播的真随机数是正确的随机数。


4.如权利要求1或3所述的分布式多方随机数生成方法,其特征在于,若上一随机数生成节点广播的真随机数验证未通过,则当前随机数生成节点选择上一随机数生成节点之前的随机数生成节点广播的真随机数与本节点生成的真随机数进行组合。


5.如权利要求4所述的分布式多方随机数生成方法,其特征在于,步骤S3中所述的验证包括:对真随机数的签名进行验证,以及验证产生所述真随机数的随机数生成节点是否属于当前周期。


6.如权利要求1或5所述的分布式多方随机数生成方法,其特征在于,步骤S2中,若当前周期是第一个周期,则第一个随机数生成节点以...

【专利技术属性】
技术研发人员:李汝佳汪晓明娄山林柳枫
申请(专利权)人:上海朝夕网络技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利