本发明涉及计算机,特别涉及一种执行体的一致化随机数生成方法、装置、设备、产品及介质。
背景技术:
1、网络空间安全再平衡战略是一种拟态防御技术,核心实现是一种基于网络空间内生安全(cyberspace endogenous safety and security,cess)机理的动态异构冗余构造(dynamic heterogeneous redundancy,dhr),为应对网络空间中基于未知漏洞、后门或病毒木马等的未知威胁,提供具有普适创新意义的防御理论和方法。通过dhr架构,将系统的不确定扰动问题转换为工程方法能解决的可靠性问题,对于同样的输入,对dhr架构中多个等价异构执行体的输出结果进行多数表决,及时检测出被攻击的对象并执行清洗操作。
2、现有技术中,针对dhr架构中的随机数一致化问题,有以下三类方法:1.对执行体进行非随机化硬编码一致化。但是工程量大,需要修改源码,且屏蔽了执行体原本的随机数需求。2.输出裁决器屏蔽随机数,再进行裁决输出。但是这种方案下配置格式不统一、协议类型不同,增加方案复杂程度。3.独立于执行体外的随机参数一致化装置,该装置提供随机数配置中心服务,但存在工程实施成本高、部署复杂度高,以及行体与随机数配置中心服务存在耦合等问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种执行体的一致化随机数生成方法、装置、设备、产品及介质,能够同时满足随机数需求以及相同时间下随机数一致需求,且实施较为简单。其具体方案如下:
2、第一方面,本技术公开了一种执行体的一致化随机数生成方法,包括:
3、接收输入代理输出的处理后报文,所述处理后报文为通过所述输入代理对输入报文生成对应的随机种子,并将所述随机种子添加至所述输入报文中得到;
4、提取所述处理后报文中的随机种子,并读取当前调用栈信息,根据所述随机种子和所述当前调用栈信息查询随机数信息表,确定出所述当前调用栈信息对应的调用栈计数值;所述随机数信息表包含随机种子与调用栈表的对应关系,所述调用栈表包含调用栈信息与调用栈计数值的对应关系;
5、基于所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值生成随机数。
6、可选的,将所述随机种子添加至所述输入报文中,包括:
7、利用分布式链路追踪技术将所述随机种子添加至所述输入报文中以得到处理后报文;
8、相应的,提取所述处理后报文中的随机种子,包括:
9、利用所述分布式链路追踪技术,从所述处理后报文中提取出随机种子。
10、可选的,所述根据所述随机种子和所述当前调用栈信息查询随机数信息表,确定出所述当前调用栈信息对应的调用栈计数值,包括:
11、根据所述随机数信息表中随机种子与调用栈表的对应关系,查找所述处理后报文中随机种子对应的目标调用栈表;
12、根据所述目标调用栈表中调用栈信息与调用栈计数值的对应关系,查找所述当前调用栈信息对应的调用栈计数值。
13、可选的,所述随机数信息表为哈希散列表;所述根据所述随机数信息表中随机种子与调用栈表的对应关系,查找所述处理后报文中随机种子对应的目标调用栈表,包括:
14、若所述随机数信息表中不存在所述处理后报文中随机种子,则创建一个空表作为所述处理后报文中随机种子对应的调用栈表;
15、以所述随机种子为键,以所述空表为值创建得到第一键值对;
16、将所述第一键值对添加至所述随机数信息表;
17、所述调用栈表为哈希散列表;所述根据所述目标调用栈表中调用栈信息与调用栈计数值的对应关系,查找所述当前调用栈信息对应的调用栈计数值,包括:
18、若所述目标调用栈表中不存在所述当前调用栈信息,则以所述当前调用栈信息为键,以初始调用栈计数值为值创建得到第二键值对;
19、将所述第二键值对添加至所述目标调用栈表。
20、可选的,所述确定出所述当前调用栈信息对应的调用栈计数值之后,还包括:
21、更新所述调用栈计数值。
22、可选的,随机数一致化方法,还包括:
23、监测所述随机数信息表的超时时长;
24、若所述超时时长大于预设时长阈值,则对所述随机数信息表进行数据清理。
25、可选的,所述基于所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值生成随机数,包括:
26、将所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值进行拼接得到字符串;
27、对所述字符串进行数字摘要提取得到散列值,
28、将所述散列值作为随机数种子序列,基于所述散列值利用随机数算法生成随机数。
29、第二方面,本技术公开了一种执行体的一致化随机数生成装置,包括:
30、处理后报文接收模块,用于接收输入代理输出的处理后报文,所述处理后报文为通过所述输入代理对输入报文生成对应的随机种子,并将所述随机种子添加至所述输入报文中得到;
31、信息查询模块,用于提取所述处理后报文中的随机种子,并读取当前调用栈信息,根据所述随机种子和所述当前调用栈信息查询随机数信息表,确定出所述当前调用栈信息对应的调用栈计数值;所述随机数信息表包含随机种子与调用栈表的对应关系,所述调用栈表包含调用栈信息与调用栈计数值的对应关系;
32、随机数生成模块,用于基于所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值生成随机数。
33、第三方面,本技术公开了一种电子设备,包括:
34、存储器,用于保存计算机程序;
35、处理器,用于执行所述计算机程序,以实现前述的执行体的一致化随机数生成方法。
36、第四方面,本技术公开了一种计算机程序产品,其中计算机程序被处理器执行时实现前述的执行体的一致化随机数生成方法。
37、第五方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的执行体的一致化随机数生成方法。
38、本技术中,各个执行体接收输入代理分发的处理后报文;其中,处理后报文为通过输入代理对输入报文生成对应的随机种子,并将随机种子添加至输入报文中得到;提取所述处理后报文中的随机种子,并读取当前调用栈信息,根据所述随机种子和所述当前调用栈信息查询随机数信息表,确定出所述当前调用栈信息对应的调用栈计数值;所述随机数信息表包含随机种子与调用栈表的对应关系,所述调用栈表包含调用栈信息与调用栈计数值的对应关系;基于所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值生成随机数。可见,各执行体同一时间接收到包含相同随机种子的报文,且相同阶段各执行体获取的当前调用栈信息相同,并通过随机数信息表进行信息维护,也即,在相同阶段各执行体对应的随机种子、当前调用栈信息以及调用栈计数值相同,由此不同执行体在相同阶段能够生成相同的随机数,以此满足随机数一致化需求;同时,针对每个输入报文都会重新生成随机种子,以此能够保证同一执行体在不同节点的随机数不同,满足随机数需求,且实施较为简单。
1.一种执行体的一致化随机数生成方法,其特征在于,包括:
2.根据权利要求1所述的执行体的一致化随机数生成方法,其特征在于,将所述随机种子添加至所述输入报文中,包括:
3.根据权利要求1所述的执行体的一致化随机数生成方法,其特征在于,所述根据所述随机种子和所述当前调用栈信息查询随机数信息表,确定出所述当前调用栈信息对应的调用栈计数值,包括:
4.根据权利要求3所述的执行体的一致化随机数生成方法,其特征在于,所述随机数信息表为哈希散列表;所述根据所述随机数信息表中随机种子与调用栈表的对应关系,查找所述处理后报文中随机种子对应的目标调用栈表,包括:
5.根据权利要求3所述的执行体的一致化随机数生成方法,其特征在于,所述确定出所述当前调用栈信息对应的调用栈计数值之后,还包括:
6.根据权利要求1所述的执行体的一致化随机数生成方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的执行体的一致化随机数生成方法,其特征在于,所述基于所述随机种子、所述当前调用栈信息以及对应的所述调用栈计数值生成随机数,包括:
8.一种执行体的一致化随机数生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机程序产品,其特征在于,其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的执行体的一致化随机数生成方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的执行体的一致化随机数生成方法。
