一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链网络的报文转发方法及装置、交易处理方法与流程

2022-05-08 06:17:50 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,具体而言,涉及一种基于区块链网络的报文转发方法及装置、交易处理方法。


背景技术:

2.相关技术中,在当前基于区块链节点组成的区块链网络或者联盟链通信过程中,通信链路会暴露在网络里,外部设备可以通过通信链路获取该区块链网络里全部节点的ip端口信息,从而实现定向攻击。此外,每新增一个节点,都需要联盟链管理方进行评估确认,流程长,耗时久,无法做到自动动态新增。
3.当前对于报文的隐私传输方式,主要有洋葱路由方案,该方案是通过对数据实体的多重加密实现发送数据的隐私保护,通过层层转发解密才能获得最终的明文数据,这个方案虽然达到了保护通信数据的目的,但不隐藏通信链路,通信链路上的各个节点都有暴露风险,同时对数据实体多重加密,单次通信可传输的信息较少,占用网络。
4.相关技术中的链路传输报文的方式,存在如下弊端:1、当前区块链节点通信链路透明,无法隐藏ip信息。
5.2、当前路由转发由实际ip地址 物理mac地址等实现转发处理,无法保护上一跳节点的ip地址信息和下一跳节点的ip地址信息,外部设备可以根据ip在中间路由通过截留报文实现对节点通信传输的攻击。
6.3、当前洋葱路由通过对数据实体进行多重加密,单次通信可传输的信息较少,占用网络。
7.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

8.本发明实施例提供了一种基于区块链网络的报文转发方法及装置、交易处理方法,以至少解决相关技术中在区块链网络链路上传输报文时,节点通信传输容易受到攻击的技术问题。
9.根据本发明实施例的一个方面,提供了一种基于区块链网络的报文转发方法,所述区块链网络包括:区块链节点和路由节点,该报文转发方法包括:在接收前一节点的报文转发请求后,解析所述报文转发请求,得到环签名数据,其中,所述环签名数据是基于链路公钥列表生成的,所述链路公钥列表中保存了所有所述区块链节点的公钥以及所述前一节点链接的所述路由节点的公钥,每个所述公钥对应有节点ip地址;对所述环签名数据进行验证,并在验证结果指示所述报文转发请求中携带的隐私报文有效的情况下,解析所述隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,其中,所述嵌套密文ip信息中至少包括:当前节点的ip密文信息,所述同态系数用于指示同态加密运算的运算方式;根据所述时间戳、所述同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;在验证所述目标ip密文信息与所述当前节点的ip密文信息一致
的情况下,从所述当前节点的链路公钥列表中随机选取与所述环签名系数相同数量的公钥,得到公钥选取结果;基于所述公钥选取结果和所述当前节点的私钥,生成目标环签名数据;根据所述待转发数据、所述目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将所述目标隐私报文发送至下一节点。
10.可选地,所述隐私报文的报文格式包括:请求行、请求头部和请求数据,其中,所述请求行中包含:请求策略、嵌套密文ip信息和请求版本,所述请求头部包括:首部字段名,所述首部字段名至少包括:所述时间戳、环签名系数和同态系数,所述请求数据包括:数据哈希值、所述环签名数据、采用目标节点的公钥加密的所述待转发数据,所述数据哈希值是指对所述待转发数据进行哈希运算得到的哈希值。
11.可选地,在接收前一节点的报文转发请求之前,还包括:控制第一级节点采集由所述第一级节点至目标节点之间的路由跳转关系;控制所述第一级节点基于所述路由跳转关系,建立从所述第一级节点至所述目标节点之间的虚拟网络链路;控制所述第一级节点获取所述虚拟网络链路中各节点的ip地址集合和公钥信息集合,其中,所述公钥信息集合中至少包括:所述目标节点的公钥信息;控制所述第一级节点以所述虚拟网络链路中的目标节点作为父节点,从所述父节点开始向所述第一级节点顺序逆推,对所述虚拟网络链路中的各个节点进行嵌套加密处理,得到嵌套ip密文;控制所述第一级节点基于所述目标节点的公钥信息对发送数据进行加密处理,得到所述待转发数据;控制所述第一级节点按照所述隐私报文的报文格式对所述待转发数据和所述嵌套ip密文进行封装,得到所述隐私报文。
12.可选地,控制所述第一级节点按照所述隐私报文的报文格式对所述待转发数据和所述嵌套ip密文进行封装,得到所述隐私报文的步骤,包括:获取与当前时间点对应的当前时间戳;随机生成进行同态加密运输的同态系数和环签名系数;控制所述第一级节点按照所述隐私报文的报文格式对所述待转发数据、所述嵌套ip密文、所述当前时间戳、所述同态系数和所述环签名系数进行封装,得到所述隐私报文。
13.可选地,在接收前一节点的报文转发请求之前,还包括:将所述区块链节点和所述路由节点加入至区块链网络中;获取所述区块链网络中所述区块链节点和/或所述路由节点广播的节点加密信息,其中,所述节点加密信息中包括:对随机生成的公钥和节点ip地址进行密钥加密函数运算后得到的加密数据;保存所述节点加密信息,生成所述链路公钥列表。
14.可选地,在接收前一节点的报文转发请求之前,还包括:在所述区块链网络出现节点更新时,通过所述区块链网络的记录器记录更新信息,其中,所述区块链网络出现节点更新是指增加所述区块链节点、所述路由节点,或者,退出所述区块链节点、所述路由节点。
15.可选地,将所述目标隐私报文发送至下一节点的步骤,还包括:解析所述隐私报文,得到广播系数,其中,所述广播系数用于确定广播所述目标隐私报文后需要收到的应答报文的数量;从所述当前节点的链路公钥列表中随机选取与所述广播系数相同数量的节点ip地址,得到地址选取结果,其中,所述地址选取结果至少包括:虚拟网络链路中下一节点的节点ip地址;将所述目标隐私报文分别发送至所述地址选取结果中每个所述节点ip地址所指示的下一节点。
16.可选地,根据所述待转发数据、所述目标环签名数据以及随机生成的签名信息,确
定目标隐私报文的步骤,包括:通过解密因子确定下一节点的ip明文信息及下一节点的嵌套密文ip信息,其中,所述解密因子是基于所述当前节点的ip密文信息生成的;对所述下一节点的ip明文信息及下一节点的嵌套密文ip信息进行混合运算处理,得到所述下一节点的目标地址;基于所述下一节点的目标地址、所述待转发数据、所述目标环签名数据以及随机生成的时间戳、环签名系数和同态系数,生成所述目标隐私报文。
17.可选地,所述路由节点的网络架构包括:控制单元,所述控制单元至少包括:ip层、签名层、业务层,其中,所述ip层,用于在转发报文时,根据所述时间戳、所述同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;所述签名层,至少包括环签名验证器,所述环签名验证器负责对所述隐私报文中的所述环签名数据进行验证;所述业务层,包括系统管理模块,所述系统管理模块负责提供时间戳,同时根据所述链路公钥列表随机生成所述同态系数。
18.根据本发明实施例的另一方面,还提供了一种基于区块链网络的交易处理方法,所述区块链网络包括:区块链节点和路由节点,该交易处理方法包括:区块链节点或者路由节点在接入区块链网络后,广播公钥和位置信息,生成链路公钥列表;第一级区块链节点根据所述链路公钥列表,进行环签名处理,得到环签名数据;所述第一级区块链节点根据当前时间戳随机生成新的环签名系数和同态系数,并基于所述新的环签名系数和所述同态系数、所述当前时间戳、交易数据,生成隐私报文,将所述隐私报文以及所述环签名数据封装在报文转发请求中,将所述报文转发请求发送至所述路由节点;所述路由节点基于预先存储的链路公钥列表,对所述报文转发请求中的环签名数据进行验证,并在第一验证结果指示所述隐私报文有效的情况下,将所述隐私报文和新的环签名数据转发至目标区块链节点;所述目标区块链节点在接收到所述隐私报文后,验证所述路由节点所转发的新的环签名数据的有效性,并在第二验证结果指示所述新的环签名数据有效的情况下,获取所述交易数据,并将应答消息通过虚拟网络链路层层应答返回至所述第一级区块链节点,其中,所述虚拟网络链路为所述隐私报文所经过的所有节点组成的链路。
19.根据本发明实施例的另一方面,还提供了一种基于区块链网络的报文转发装置,所述区块链网络包括:区块链节点和路由节点,该报文转发装置包括:解析单元,用于在接收前一节点的报文转发请求后,解析所述报文转发请求,得到环签名数据,其中,所述环签名数据是基于链路公钥列表生成的,所述链路公钥列表中保存了所有所述区块链节点的公钥以及所述前一节点链接的所述路由节点的公钥,每个所述公钥对应有节点ip地址;验证单元,用于对所述环签名数据进行验证,并在验证结果指示所述报文转发请求中携带的隐私报文有效的情况下,解析所述隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,其中,所述嵌套密文ip信息中至少包括:当前节点的ip密文信息,所述同态系数用于指示同态加密运算的运算方式;同态加密单元,用于根据所述时间戳、所述同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;选取单元,用于在验证所述目标ip密文信息与所述当前节点的ip密文信息一致的情况下,从所述当前节点的链路公钥列表中随机选取与所述环签名系数相同数量的公钥,得到公钥选取结果;生成单元,用于基于所述公钥选取结果和所述当前节点的私钥,生成目标环签名数据;转发单元,用于根据所述待转发数据、所述目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将所述目标隐私报文发送至下一节点。
20.可选地,所述隐私报文的报文格式包括:请求行、请求头部和请求数据,其中,所述请求行中包含:请求策略、嵌套密文ip信息和请求版本,所述请求头部包括:首部字段名,所述首部字段名至少包括:所述时间戳、环签名系数和同态系数,所述请求数据包括:数据哈希值、所述环签名数据、采用目标节点的公钥加密的所述待转发数据,所述数据哈希值是指对所述待转发数据进行哈希运算得到的哈希值。
21.可选地,基于区块链网络的报文转发装置还包括:第一控制单元,用于在接收前一节点的报文转发请求之前,控制第一级节点采集由所述第一级节点至目标节点之间的路由跳转关系;第二控制单元,用于控制所述第一级节点基于所述路由跳转关系,建立从所述第一级节点至所述目标节点之间的虚拟网络链路;第三控制单元,用于控制所述第一级节点获取所述虚拟网络链路中各节点的ip地址集合和公钥信息集合,其中,所述公钥信息集合中至少包括:所述目标节点的公钥信息;第四控制单元,用于控制所述第一级节点以所述虚拟网络链路中的目标节点作为父节点,从所述父节点开始向所述第一级节点顺序逆推,对所述虚拟网络链路中的各个节点进行嵌套加密处理,得到嵌套ip密文;第五控制单元,用于控制所述第一级节点基于所述目标节点的公钥信息对发送数据进行加密处理,得到所述待转发数据;第六控制单元,用于控制所述第一级节点按照所述隐私报文的报文格式对所述待转发数据和所述嵌套ip密文进行封装,得到所述隐私报文。
22.可选地,所述第六控制单元包括:第一获取模块,用于获取与当前时间点对应的当前时间戳;第一生成模块,用于随机生成进行同态加密运输的同态系数和环签名系数;第一控制模块,用于控制所述第一级节点按照所述隐私报文的报文格式对所述待转发数据、所述嵌套ip密文、所述当前时间戳、所述同态系数和所述环签名系数进行封装,得到所述隐私报文。
23.可选地,基于区块链网络的报文转发装置还包括:加入单元,用于在接收前一节点的报文转发请求之前,将所述区块链节点和所述路由节点加入至区块链网络中;第二获取模块,用于获取所述区块链网络中所述区块链节点和/或所述路由节点广播的节点加密信息,其中,所述节点加密信息中包括:对随机生成的公钥和节点ip地址进行密钥加密函数运算后得到的加密数据;保存模块,用于保存所述节点加密信息,生成所述链路公钥列表。
24.可选地,基于区块链网络的报文转发装置还包括:记录单元,用于在接收前一节点的报文转发请求之前,在所述区块链网络出现节点更新时,通过所述区块链网络的记录器记录更新信息,其中,所述区块链网络出现节点更新是指增加所述区块链节点、所述路由节点,或者,退出所述区块链节点、所述路由节点。
25.可选地,转发单元包括:第一解析模块,用于解析所述隐私报文,得到广播系数,其中,所述广播系数用于确定广播所述目标隐私报文后需要收到的应答报文的数量;选取模块,用于从所述当前节点的链路公钥列表中随机选取与所述广播系数相同数量的节点ip地址,得到地址选取结果,其中,所述地址选取结果至少包括:虚拟网络链路中下一节点的节点ip地址;转发模块,用于将所述目标隐私报文分别发送至所述地址选取结果中每个所述节点ip地址所指示的下一节点。
26.可选地,所述确定单元包括:第二确定模块,用于通过解密因子确定下一节点的ip明文信息及下一节点的嵌套密文ip信息,其中,所述解密因子是基于所述当前节点的ip密文信息生成的;运算模块,用于对所述下一节点的ip明文信息及下一节点的嵌套密文ip信
息进行混合运算处理,得到所述下一节点的目标地址;第二生成模块,用于基于所述下一节点的目标地址、所述待转发数据、所述目标环签名数据以及随机生成的时间戳、环签名系数和同态系数,生成所述目标隐私报文。
27.可选地,所述路由节点的网络架构包括:控制单元,所述控制单元至少包括:ip层、签名层、业务层,其中,所述ip层,用于在转发报文时,根据所述时间戳、所述同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;所述签名层,至少包括环签名验证器,所述环签名验证器负责对所述隐私报文中的所述环签名数据进行验证;所述业务层,包括系统管理模块,所述系统管理模块负责提供时间戳,同时根据所述链路公钥列表随机生成所述同态系数。
28.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的基于区块链网络的报文转发方法,或者,上述的基于区块链网络的交易处理方法。
29.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项所述的基于区块链网络的报文转发方法,或者,上述的基于区块链网络的交易处理方法。
30.本发明实施例中,在进行报文转发过程中,可以在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,然后对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果,基于公钥选取结果和当前节点的私钥,生成目标环签名数据,根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送下一节点。在本技术中,通过对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,并根据解析到的时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,进而结合新的目标ip密文信息生成环签名数据,结合环签名及同态加密运算,隐藏了通信链路中每一跳的发起方,确保节点发起的交易真实可靠,同时还保护了通信链路中发起节点和发起用户的隐私信息,提高通信链路的安全性,从而解决相关技术中在区块链网络链路上传输报文时,节点通信传输容易受到攻击的技术问题。
附图说明
31.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种可选的路由节点的架构图;图2是根据本发明实施例的一种可选的路由节点网络架构的示意图;图3是根据本发明实施例的一种可选的基于区块链网络的报文转发方法的流程
图;图4是根据本发明实施例的一种可选的生成密钥的流程图;图5是根据本发明实施例的一种可选的建立区块链节点的示意图;图6是根据本发明实施例的一种可选的隐私报文的生成方法的流程图;图7是根据本发明实施例的一种可选的http报文请求格式与隐私报文请求格式的对照示意图;图8是根据本发明实施例的一种可选的基于区块链网络的交易处理方法的流程图;图9是根据本发明实施例的另一种可选的隐私交易的流程图;图10根据本发明实施例的一种可选的基于区块链网络的报文转发装置的示意图;图11是根据本发明实施例的一种用于基于区块链网络的报文转发方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
32.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
33.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:环签名:一种加密签名,允许一个有效签名者代表一个组对消息进行签名,有效签名者拥有的私钥与来自其它成员的公钥信息混合,以产生单个签名。任何人均可对照公钥验证签名的消息,以验证某个环成员发起了签名,但是无法确定哪个环成员贡献了私钥。
35.本技术中将环签名算法应用于区块链网络进行数据传输、报文传输过程,在实施报文隐私传输时,其核心使用流程如下:1、环成员节点(区块链节点或者路由节点)初始化自己的签名公钥和私钥对,并公开广播自己的公钥;2、环成员节点监听广播,收集其他潜在环成员节点的公钥;3、在需要进行数据传输时,环成员节点根据环签名系数(随机生成,环签名更为灵活,隐蔽,防止在报文传输过程中被攻击)自主选择一组环成员节点,将自己的公钥混入其公钥列表中,生成本次环公钥。
36.4、结合环公钥和自己的签名私钥对契约内容进行环签名。
37.5、公布环签名结果和对应的环公钥。
38.6、验证方使用环签名结果对应的环公钥,对收到的环签名进行验证,验证结果为签名方属于环成员之一。
39.同态加密:与一般加密算法相比,除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密,可等价于先解密后计算。这个特性对于保护信息的安全具有重要意义,利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,减少通信代价;利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。
40.同态性定义:记加密操作为e,解密为d;明文为m,密文为c,即:e(m)=c;e(c)=m;如果存在对明文的操作f,针对e可构造对密文的操作f',使得:;则称e是一个针对f的同态加密算法。
41.对原明文进行操作可得新明文,同样地对原密文进行操作’可得新密文,适用于原明文/原密文的加密算法,同样适用于新明文/新密文。
42.按照对明文的操作f的不同,可以对同态加密算法进行分类,常见的有加法同态和乘法同态,对于加法同态加密算法,有:;而对于乘法同态加密算法,则有:;对于同时具有加法同态性和乘法同态性,并且在无需解密的情况能够支持任意运算(加法与乘法叠加)的加密算法称为全同态加密算法。
43.超文本传输协议:hyper text transfer protocol,简称http,是一种常用、简单的请求-响应协议,指定客户端可能发送给服务器怎样的消息以及得到怎样的响应。
44.统一资源定位系统:uniform resource locator,简称url,是因特网的万维网服务程序上用于指定信息位置的表示方法。
45.环签名系数,用于确定下一跳节点签名报文所需的密钥个数,数字越大,越容易混淆发起方的信息,当前路由随机生成下一跳环签名系数,每一跳签名都是随机的,从而保证足够的混淆。
46.时间戳,用于确定当前节点进行ip同态运算时的时间,通过时间戳与密文ip的运算,可以获得实际ip。
47.广播系数,用于确定下一跳节点报文广播需要收到的应答的数量,通过限定应答数量》1,从而保证当前路由广播出去的报文至少有1个混淆的应答报文,从而达到保护真实ip信息的目的。
48.同态系数,用于确定下一跳节点进行ip同态运算需要执行的方式,即选取同态加
密运算的方式,包括减法同态、加法同态、乘法同态等,通过多种同态方法的选择,避免攻击者根据算法计算出真实的ip信息。
49.需要说明的是,本公开中的基于区块链网络的报文转发方法及其装置可用于区块链技术领域在利用区块链网络进行数据转发、报文隐私转发的情况下,也可用于除区块链技术领域之外的任意领域在对数据转发、报文隐私转发的情况下,本公开中对基于区块链网络的报文转发方法及其装置的应用领域不做限定。
50.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
51.本技术下述各实施例可应用于各种区块链网络或者联盟链中。在本技术中,通过优化报文转发处理流程,相较于现有的路由转发提供了一种隐私转发的方式,并通过结合环签名及同态加密,隐藏了通信链路中每一跳的发起方,保护了通信链路的安全。本技术提供的隐私报文转发方式,可以与http传输并用,需要可靠传输时使用http传输,需要隐私通信时使用隐私报文传输方式,以避免中间某个传输网络节点作恶的问题。
52.本技术通过优化http报文格式,解决了当前http通信中ip暴露的问题,一方面保护了报文传输过程中各路由节点的ip信息,另一方面保护了目标节点的ip信息,提高了系统隐私安全能力,同时路由节点的加入/退出通过链上记录,减少了区块链隐私网络被恶意攻击。
53.本技术通过优化dh密钥交换中密钥生成,加入通信双方的ip字段作为生成因子,相较于当前的密钥交换,提高了密钥的复杂性,减少被破解的几率。
54.下面结合各个实施例来详细说明本发明。
55.实施例一本发明实施例中,所采用的隐私路由网络节点架构图,如图1所示,隐私路由网络节点架构包括:若干个路由节点(图1中以router示意,例如,router1、router2、router3、router4)和若干个区块链节点(图1中以peer示意,例如,peer1、peer2、peer3、peer4)。
56.如图1所示,若干peer区块链节点与隐私路由router节点组成区块链网络,各个节点保存全部peer节点的公钥及链接的路由节点的公钥,需要发送隐私请求时,peer节点根据链路公钥列表生成环签名数据(或者简称为环签名),根据目标节点的公钥生成加密隐私数据。通过环签名可以隐藏发送节点的信息,广播消息报文接收者只能验证该报文是否是由区块链网络里的某一节点发送的,无法得知具体是由哪个区块链节点发起的,也无法直接具体发送的目标节点,这样既保护了发起节点的信息,又保护了接收节点的信息。
57.如图1所示,新增节点(图1中以new peer1和newpeer2示意)通过路由节点与其他peer节点相连,peer节点通信通过隐私路由器router进行转发,区块链节点或者隐私路由节点两两间都可通过建立虚拟的网络链路进行链接,通信报文(在由隐私路由方式传递时,可以理解为隐私报文)既可以通过虚拟链路进行http报文转发传递,也可以通过隐私路由方式实现隐私报文转发传递,两种转发方式是并行的,本实施例中主要描述通过隐私路由方式进行隐私报文的转发传递方式。
58.其中,图1所示的区块链节点其承载主体可以为移动终端、pc端、面板、会议终端等,以能够建立网络连接的实施主体为描述对象,在本实施例不做限定。区块链节点可以通
过申请加入区块链网络。
59.而路由节点可以是指以路由器为承载主体的终端节点,可选的,本实施例中的路由节点的网络架构包括:控制单元,控制单元至少包括:ip层、签名层、业务层,其中,ip层,用于在转发报文时,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;签名层,至少包括环签名验证器,环签名验证器负责对隐私报文中的环签名数据进行验证;业务层,包括系统管理模块,系统管理模块负责提供时间戳,同时根据链路公钥列表随机生成同态系数。
60.图2是根据本发明实施例的一种可选的路由节点网络架构的示意图,如图2所示,该节点的网络架构包括:控制单元核心和业务单元核心,控制单元核心包括:配置接口(包括gui或者cli)、ip层、签名层、业务层、内核层、驱动层,而业务单元核心包括:网络处理器,包括转发引擎、防火墙及vpn。
61.ip层为ip同态加密运算核心,主要负责在转发处理时根据同态系数对密文ip进行同态运算获得下一跳的密文ip。
62.而签名层包括环签名验证器及签名生成器,环签名验证器负责对隐私报文进行签名验证,如果验证失败,证明该报文为无效报文,丢弃处理,如果验证成功,则证明该报文为区块链网络中某一节点发出,可进行下一步处理;签名生成器则根据链路公钥列表,对网络报文进行签名,以验证该报文为所选公钥集合中的某一个节点所签发。
63.业务层包括系统管理模块、业务模块,系统管理模块主要负责校准时间并提供时间戳服务,同时根据本地链路公钥列表随机生成下一跳的同态系数,用于下一跳路由的密文ip同态运算,生成广播系数用于混淆目的地址的广播,从而保护目的ip。
64.内核层(负责tcp/ip协议栈)、驱动层(负责驱动程序)、网络处理器与普通路由器结构一致,用于兼用当前的http报文协议的转发。
65.根据本发明实施例,提供了一种基于区块链网络的报文转发方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
66.本发明实施例提供了一种基于区块链网络的报文转发方法,区块链网络包括:区块链节点和路由节点。
67.图3是根据本发明实施例的一种可选的基于区块链网络的报文转发方法的流程图,如图3所示,该方法包括如下步骤:步骤s301,在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,其中,环签名数据是基于链路公钥列表生成的,链路公钥列表中保存了所有区块链节点的公钥以及前一节点链接的路由节点的公钥,每个公钥对应有节点ip地址;步骤s302,对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,其中,嵌套密文ip信息中至少包括:当前节点的ip密文信息,同态系数用于指示同态加密运算的运算方式;步骤s303,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;
步骤s304,在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果;步骤s305,基于公钥选取结果和当前节点的私钥,生成目标环签名数据;步骤s306,根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送下一节点。
68.通过上述步骤,可以在进行报文转发过程中,在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,然后对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果,基于公钥选取结果和当前节点的私钥,生成目标环签名数据,根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送下一节点。在该实施例中,通过对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,并根据解析到的时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,进而结合新的目标ip密文信息生成环签名数据,结合环签名及同态加密运算,隐藏了通信链路中每一跳的发起方,确保节点发起的交易真实可靠,同时还保护了通信链路中发起节点和发起用户的隐私信息,提高通信链路的安全性,从而解决相关技术中在区块链网络链路上传输报文时,节点通信传输容易受到攻击的技术问题。
69.下面结合上述各实施步骤来详细说明本发明实施例。
70.本发明实施例中,在进行报文转发、链上交易之前,需要确定区块链网络上每个节点的密钥信息。
71.可选的,在接收前一节点的报文转发请求之前,还包括:将区块链节点和路由节点加入至区块链网络中;获取区块链网络中区块链节点和/或路由节点广播的节点加密信息,其中,节点加密信息中包括:对随机生成的公钥和节点ip地址进行密钥加密函数运算后得到的加密数据;保存节点加密信息,生成链路公钥列表。
72.在将区块链节点和路由节点加入至区块链网络中时,可以通过dh密钥交换建立通信连接,然后各节点(区块链节点、路由节点)生成随机公私钥,并获取当前各节点在网络中的位置信息,然后将随机公钥和位置数据通过dh密钥加密函数运算得到加密数据。
73.本发明实施例通过优化dh密钥交换中密钥生成,加入通信双方的ip字段作为生成因子,相较于当前的密钥交换,提高了密钥的复杂性,减少被破解的几率。
74.另一种可选的,在接收前一节点的报文转发请求之前,还包括:在区块链网络出现节点更新时,通过区块链网络的记录器记录更新信息,其中,区块链网络出现节点更新是指增加区块链节点、路由节点,或者,退出区块链节点、路由节点。
75.节点加入/退出均通过链上信息记录,保证处理隐私交易的节点都为该网络里的区块链节点或者路由节点,如果由未通过链上登记的ip发起的隐私请求,将拒绝转发处理。
76.图4是根据本发明实施例的一种可选的生成密钥的流程图,如图4所示,包括:步骤s401:加入网络节点,各节点(区块链节点、路由节点)加入到区块链隐私网络
中,通过dh密钥交换建立通信连接;步骤s402:节点生成公私钥,各节点(区块链节点、路由节点)生成随机公私钥,如图4所示,示意说明了三个密钥对(包括密钥对1、密钥对2和密钥对3),并获取当前各节点在网络中的位置信息,然后将随机公钥和位置数据通过步骤s201中的dh密钥加密函数运算得到加密数据;步骤s403:公钥广播,将自身节点的公钥加密 位置数据加密信息广播到区块链隐私网络,这样每个区块链节点/路由节点都保存全网所有节点/路由的公钥及位置信息,用于后续隐私交易的各种签名及加密等操作。
77.步骤s404:链上记录新增节点,节点加入/退出均通过链上信息记录,保证处理隐私交易的节点都为该网络里的区块链节点或者路由节点,如果由未通过链上登记的ip发起的隐私请求,将拒绝转发处理。
78.下面结合区块链网络上各节点的建立过程对节点之间的通信加解密进行示意说明。
79.图5是根据本发明实施例的一种可选的建立区块链节点的示意图,如图5所示,包括:步骤s501:节点1(图5中以peer1示意说明)定义一个大质数p,底数g,并计算a=g^a mod p发送给节点2(图5中以peer2示意说明),等待步骤2完成后结合节点1的ip和节点2的ip计算秘密密钥k1如下:k1=ipa*ipb*b*a mod p。
80.步骤s502:节点选择一个秘密整数b,计算b=g^b mod p并发送给节点1,结合节点1的ip和节点2的ip计算秘密密钥k2如下:k2=ipa*ipb*ab mod p。如果k1与k2相等,则完成密钥交换并实现通信(即图5中的connect)加解密。
81.节点连接建立通过采用改进的密钥协商算法,通过一来一回达成密钥协商,比当前通用的密钥协商减少了一次通信,减低了节点连接的时间,同时提高密钥的复杂度,保护密钥安全。
82.下面结合报文的生成方式对本发明实施例进行示意说明。
83.本发明实施例中,在接收前一节点的报文转发请求之前,还包括:控制第一级节点采集由第一级节点至目标节点之间的路由跳转关系;控制第一级节点基于路由跳转关系,建立从第一级节点至目标节点之间的虚拟网络链路;控制第一级节点获取虚拟网络链路中各节点的ip地址集合和公钥信息集合,其中,公钥信息集合中至少包括:目标节点的公钥信息;控制第一级节点以虚拟网络链路中的目标节点作为父节点,从父节点开始向第一级节点顺序逆推,对虚拟网络链路中的各个节点进行嵌套加密处理,得到嵌套ip密文;控制第一级节点基于目标节点的公钥信息对发送数据进行加密处理,得到待转发数据;控制第一级节点按照隐私报文的报文格式对待转发数据和嵌套ip密文进行封装,得到隐私报文。
84.图6是根据本发明实施例的一种可选的隐私报文的生成方法的流程图,执行主体可以为区块链节点,也可以理解为第一级节点,如图6所示,生成方法包括:步骤s601,建立虚拟网络链路:在进行dh密钥交换后,通过路由发现及各级路由表的跳转关系(即上述的采集由第一级节点至目标节点之间的路由跳转关系的步骤),建立节点-节点间的虚拟网络链路,该链路可以仅由一个路由实现链路链接,也可以由多个隐私路由组成实现链路链接。
85.步骤s602,获得链路各节点及路由的ip及密钥信息:虚拟网络链路建立后,通过密钥共享及ip共享,发送节点可以获得当前链路上所有节点及路由的ip信息和公钥信息(即上述的获取虚拟网络链路中各节点的ip地址集合和公钥信息集合的步骤),用于后续报文的ip加密及消息的签名。
86.步骤s603,生成嵌套ip密文:以与第一跳路由-第二跳路由-....-最后一跳路由-目标节点发送顺序相反的顺序对目标ip进行层层嵌套加密处理(即上述的以虚拟网络链路中的目标节点作为父节点,从父节点开始向第一级节点顺序逆推,对虚拟网络链路中的各个节点进行嵌套加密处理,得到嵌套ip密文的步骤),发送节点以与目标节点交互的加密密钥及同态系数对明文ip进行加密后同态运算得到第一级密文,然后用最后一跳路由的同态系数对第一级密文进行同态运算得到第二级密文,以此类推,最终嵌套密文ip信息最外层为第一跳路由对第n级密文进行同态运算处理的密文,但第一跳路由收到该报文后即可通过同态运算得到第二跳路由的ip信息进而实现转发。
87.步骤s604,用目标节点公钥信息加密数据:用目标节点的公钥信息对发送数据进行加密处理(即上述的基于目标节点的公钥信息对发送数据进行加密处理,得到待转发数据的步骤),该数据只有目标节点用私钥才可以解密,中间任意的路由节点都无法解密得到真实的数据信息。
88.步骤s605,拼接报文:按照预设报文格式进行隐私消息报文的封装(即上述的按照隐私报文的报文格式对待转发数据和嵌套ip密文进行封装,得到隐私报文的步骤),如果拼接过程中密文数据超过了报文要求的长度,对数据进行分组拆解发送。
89.步骤s606,混淆广播:按照转发处理流程进行混淆广播,每一级路由的广播转发都可以混淆隐藏源路由节点的信息,同时要求每次混淆转发的答复数量都需要满足广播系数中的应答数,保护了发起链路中各级转发的路由节点。
90.在生成隐私报文后,确定隐私报的具体报文格式。可选的,隐私报文的报文格式包括:请求行、请求头部和请求数据,其中,请求行中包含:请求策略、嵌套密文ip信息和请求版本,请求头部包括:首部字段名,首部字段名至少包括:时间戳、环签名系数和同态系数,请求数据包括:数据哈希值、环签名数据、采用目标节点的公钥加密的待转发数据,数据哈希值是指对待转发数据进行哈希运算得到的哈希值。
91.图7是根据本发明实施例的一种可选的http报文请求格式与隐私报文请求格式的对照示意图,如图7所示,http报文请求格式包括:请求行(包括:方法、url、版本和换行符(crlf))、请求头部(包括:首部字段名以及对应的值)和请求数据(包括数据实体);而隐私报文的报文格式也包括:请求行、请求头部和请求数据,其中,请求行中包含:请求策略(对应请求方法)、嵌套密文ip信息(对应图7中的encurl)和请求版本,请求方法与http协议保持一致,有get、post、delete等;url为同态加密后的嵌套密文ip(加密因子包括ip信息、时间戳等,保证不同时间生成的ip密文信息唯一),路由转发处理会通过同态运算计算出下一跳密文ip,并进行对应的广播;请求版本为http协议版本,包括http/1.0、http/1.1、http/2.0等。
92.请求头部包括:首部字段名以及每个字段名对应的值,首部字段名至少包括:首部字段名,新增加的时间戳、环签名系数、广播系数和同态系数;每行一对,前部包括user-agent、accept、content-type、host等与http协议保持一致,新增环签名系数、时间戳、广播
系数、同态系数等;环签名系数为下一跳签名报文所需的密钥个数,数字越大,越容易混淆发起方的信息,当前路由随机生成下一跳节点的环签名系数,每一跳签名都是随机的,从而保证足够的混淆度;时间戳为当前路由进行ip同态运算时的时间,通过时间戳与密文ip的运算,可以获得实际ip;广播系数为下一跳路由报文广播需要收到的应答的数量,通过限定应答数量》1,从而保证当前路由广播出去的报文至少有1个混淆的应答报文,从而达到保护真实ip信息的目的;同态系数为下一跳ip同态运算需要执行的方法,包括减法同态、加法同态、乘法同态等,通过多种同态方法的选择,避免攻击者根据算法计算出真实的ip信息。
93.请求数据包括:数据哈希值(对应图7中的hash)、环签名数据(对应图7中的环签名)、采用目标节点的公钥加密的待转发数据(对应图7中的数据实体),数据哈希值是指对待转发数据进行哈希运算得到的哈希值。数据hash为对报文数据实体进行hash运算得到的hash值,保护当前数据实体未被篡改;数据实体为用目标节点的公钥加密后的密文数据,只有目标节点通过私钥解密才能获得明文数据,中间路由节点没有私钥无法解密;环签名为当前节点/路由对消息报文进行环签名,将自身公钥隐藏到一个公钥集合里,从而在确保消息成功发送的同时保护发起者的信息。
94.本发明实施例,通过优化报文格式,解决了当前http通信中ip暴露的问题,一方面保护了报文传输过程中各路由节点的ip信息,另一方面保护了目标节点的ip信息,提高了系统隐私安全能力,同时路由节点的加入/退出通过链上记录,减少了区块链隐私网络被恶意攻击。
95.可选的,控制第一级节点按照隐私报文的报文格式对待转发数据和嵌套ip密文进行封装,得到隐私报文的步骤,包括:获取与当前时间点对应的当前时间戳;随机生成进行同态加密运输的同态系数和环签名系数;控制第一级节点按照隐私报文的报文格式对待转发数据、嵌套ip密文、当前时间戳、同态系数和环签名系数进行封装,得到隐私报文。
96.下面结合具体地报文转发流程对本实施例进行示意性说明。
97.步骤s301,在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,其中,环签名数据是基于链路公钥列表生成的,链路公钥列表中保存了所有区块链节点的公钥以及前一节点链接的路由节点的公钥,每个公钥对应有节点ip地址。
98.本实施例可以通过如图7所示的报文格式,解析请求中的环签名部分数据,通过对环签名进行验证判断该笔报文是否有效,有效则继续解包,无效则丢弃该笔报文,进入下一笔报文的转发处理流程。
99.步骤s302,对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,其中,嵌套密文ip信息中至少包括:当前节点的ip密文信息,同态系数用于指示同态加密运算的运算方式。
100.根据图7所示的报文格式解析报文,获得对应的请求策略、encurl(嵌套密文ip信息)、请求版本、环签名系数、时间戳、广播系数、同态系数等,用于对请求数据的转发处理。
101.步骤s303,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息。
102.根据解析出的时间戳、同态系数,结合本机实际明文ip信息,加密后同态运算得到ip密文信息,与嵌套密文ip中的当前路由ip密文对比,如果一致则认为当前路由节点的确
为通信链路上的节点,则可以继续往下进行解密操作。
103.步骤s304,在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果。
104.环签名系数是随机生成,因此,当前节点在生成新的环签名数据,动态更新签名数据,这样能够混淆发起节点的位置和具体签名数据。
105.步骤s305,基于公钥选取结果和当前节点的私钥,生成目标环签名数据。
106.在生成环签名数据时,可以是当前节点,根据环签名系数自主选择一组环成员节点(区块链网络中的区块链节点或者路由节点),将自己的公钥混入公钥选取结果中,生成当前节点本次使用的环公钥,然后结合环公钥和自己的签名私钥对契约内容进行环签名。在发送隐私报文时,同时发送环签名数据和对应的环公钥,验证节点使用环签名结果对应的环公钥,对收到的环签名进行验证。
107.步骤s306,根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送下一节点。
108.可选的,根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文的步骤,包括:通过解密因子确定下一节点的ip明文信息及下一节点的嵌套密文ip信息,其中,解密因子是基于当前节点的ip密文信息生成的;对下一节点的ip明文信息及下一节点的嵌套密文ip信息进行混合运算处理,得到下一节点的目标地址;基于下一节点的目标地址、待转发数据、目标环签名数据以及随机生成的时间戳、环签名系数和同态系数,生成目标隐私报文。
109.本实施例中,可以通过当前节点的明文ip生成的解密因子,解密获得下一跳ip明文信息及下一跳的嵌套密文ip(需要明文ip与嵌套密文ip混合运算处理才可以获得下一跳地址,从而保护通信链路被攻击)。
110.作为本实施例可选的实施方式,将所述目标隐私报文发送至下一节点的步骤,还包括:解析所述隐私报文,得到广播系数,其中,所述广播系数用于确定广播所述目标隐私报文后需要收到的应答报文的数量;从所述当前节点的链路公钥列表中随机选取与所述广播系数相同数量的节点ip地址,得到地址选取结果,其中,所述地址选取结果至少包括:虚拟网络链路中下一节点的节点ip地址;将所述目标隐私报文分别发送至所述地址选取结果中每个所述节点ip地址所指示的下一节点。
111.本发明实施例中,可进行发起方的混淆广播,下一节点并不知道是哪个节点发送的隐私报文,隐藏发送者的消息,广播消息报文接收者只能验证该报文是由区块链网络里,无法得知是由谁发起,在得到了下一跳的ip、嵌套密文ip信息、转发数据、新的环签名及下一跳的环签名系数、时间戳、广播系数、同态系数后,可以进行下一跳节点的转发。
112.同时,本实施例中也混淆发起方的发送对象节点,通过广播系数,确定下一跳节点报文广播需要收到的应答的数量,通过限定应答数量》1,从而保证当前节点广播出去的报文至少有1个混淆的应答报文,从而达到保护真实ip信息的目的。这样发起方也无法直接得知要发给谁,既保护了发起者的信息,又保护了接收者的信息。
113.本发明实施例,通过优化路由转发处理流程,相较于当前的路由转发提供了一种隐私转发的方式,并通过结合环签名及同态加密,隐藏了通信链路中每一跳的发起方,保护了通信链路的安全,但由于每一次跳转的发起方都被隐藏了,会无法避免中间某个路由节
点作恶的问题,所以应与http传输并用,需要可靠传输时使用http传输,需要隐私通信时使用隐私路由方式通信。
114.下面结合另一种基于区块链网络的交易处理方法来说明本发明实施例。
115.图8是根据本发明实施例的一种可选的基于区块链网络的交易处理方法的流程图,区块链网络包括:区块链节点和路由节点,如图8所示,该交易处理方法包括:步骤s801,区块链节点或者路由节点在接入区块链网络后,广播公钥和位置信息,生成链路公钥列表;步骤s802,第一级区块链节点根据链路公钥列表,进行环签名处理,得到环签名数据;步骤s803,第一级区块链节点根据当前时间戳随机生成新的环签名系数和同态系数,并基于新的环签名系数和同态系数、当前时间戳、交易数据,生成隐私报文,将隐私报文以及环签名数据封装在报文转发请求中,将报文转发请求发送至路由节点;步骤s804,路由节点基于预先存储的链路公钥列表,对报文转发请求中的环签名数据进行验证,并在第一验证结果指示隐私报文有效的情况下,将隐私报文和新的环签名数据转发至目标区块链节点;步骤s805,目标区块链节点在接收到隐私报文后,验证路由节点所转发的新的环签名数据的有效性,并在第二验证结果指示新的环签名数据有效的情况下,获取交易数据,并将应答消息通过虚拟网络链路层层应答返回至第一级区块链节点,其中,虚拟网络链路为隐私报文所经过的所有节点组成的链路。
116.通过上述步骤,可以在区块链节点或者路由节点接入区块链网络后,广播公钥和位置信息,生成链路公钥列表,第一级区块链节点根据链路公钥列表,进行环签名处理,得到环签名数据,第一级区块链节点根据当前时间戳随机生成新的环签名系数和同态系数,并基于新的环签名系数和同态系数、当前时间戳、交易数据,生成隐私报文,将隐私报文以及环签名数据封装在报文转发请求中,将报文转发请求发送至路由节点,路由节点基于预先存储的链路公钥列表,对报文转发请求中的环签名数据进行验证,并在第一验证结果指示隐私报文有效的情况下,将隐私报文和新的环签名数据转发至目标区块链节点,目标区块链节点在接收到隐私报文后,验证路由节点所转发的新的环签名数据的有效性,并在第二验证结果指示新的环签名数据有效的情况下,获取交易数据,并将应答消息通过虚拟网络链路层层应答返回至第一级区块链节点。在该实施例中,优化报文转发处理流程,通过结合环签名及同态加密,隐藏了通信链路中每一跳的发起方,保护了通信链路的安全,目标节点收到隐私请求处理完成后,将应答消息通过发送链路层层应答返回,由于每层节点都是混淆广播形式需要随机的混淆应答,即每层节点都无法知道哪个应答是真实的应答,从而保护了各级路由的信息,提高通信链路的安全性,从而解决相关技术中在区块链网络链路上传输报文时,节点通信传输容易受到攻击的技术问题。
117.图9是根据本发明实施例的另一种可选的隐私交易的流程图,如图9所示,通过两个路由节点(router1和router2)转发由区块链节点1(peer1)至区块链节点2(peer2)的交易信息,包括:步骤s901:密钥交换:节点加入网络通过dh密钥交换建立加密通信连接,并完成公钥及位置的通信交换。
118.步骤s902:生成环签名:根据本地存储的公钥集合,根据环签名系数n选取n个公钥及随机值v,对签名消息进行hash运算,再通过公式运算得到一个2n 1元组的签名,透过这个签名,我们不能或者我真正拥有的私钥是在2n 1元组中的一个。
119.步骤s903:随机系数:包括环签名系数、时间戳、广播系数、同态系数等,每一跳节点都根据时间戳随机生成下一跳所需的系数。
120.步骤s904:签名验证:通过公钥集合{p1,p2....pn}通过公式运算可验证步骤s802生成的二元组方程等式是否成立,关系成立则证明该签名为有效,否则为无效签名。
121.步骤s905:交易确认:目标节点收到隐私请求处理完成后,将应答消息通过发送链路层层应答返回,由于每层节点都是混淆广播形式需要随机的混淆应答,即每层节点都无法知道哪个应答是真实的应答,从而保护了各级路由的信息。
122.本发明实施例,提供了与http报文并行发送的隐私报文发送方案,实现了报文结构优化、路由转发流程优化、签名流程优化等,其中报文结构优化提出了一种适应隐私传输的报文结构,与当前的http报文并存,需要安全可靠传输可选http报文方式,需要隐私传输则可选隐私报文方式;重新设计了隐私交易处理流程,确保节点发起的交易真实可靠但保护了发起节点和发起用户的隐私信息;节点连接建立通过采用改进的密钥协商算法,通过一来一回达成密钥协商,比当前通用的密钥协商减少了一次通信,减低了节点连接的时间,同时提高密钥的复杂度,保护密钥安全。
123.下面结合另一种可选的实施例来说明本技术。
124.实施例二本实施例提供的基于区块链网络的报文转发装置所包含的各个实施单元对应于上述实施例一中的各个实施步骤。
125.图10根据本发明实施例的一种可选的基于区块链网络的报文转发装置的示意图,区块链网络包括:区块链节点和路由节点,如图10所示,该报文转发装置包括:解析单元1001,用于在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,其中,环签名数据是基于链路公钥列表生成的,链路公钥列表中保存了所有区块链节点的公钥以及前一节点链接的路由节点的公钥,每个公钥对应有节点ip地址;验证单元1002,用于对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,其中,嵌套密文ip信息中至少包括:当前节点的ip密文信息,同态系数用于指示同态加密运算的运算方式;同态加密单元1003,用于根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;选取单元1004,用于在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果;生成单元1005,用于基于公钥选取结果和当前节点的私钥,生成目标环签名数据;转发单元1006,用于根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送至与公钥选取结果中每个公钥对应的节点ip地址。
126.上述基于区块链网络的报文转发装置,可以通过解析单元1001在进行报文转发过程中,在接收前一节点的报文转发请求后,解析报文转发请求,得到环签名数据,然后通过验证单元1002对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,得到待转发数据、嵌套密文ip信息、时间戳、环签名系数和同态系数,通过同态加密单元1003根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,通过选取单元1004在验证目标ip密文信息与当前节点的ip密文信息一致的情况下,从当前节点的链路公钥列表中随机选取与环签名系数相同数量的公钥,得到公钥选取结果,通过生成单元1005基于公钥选取结果和当前节点的私钥,生成目标环签名数据,通过转发单元1006根据待转发数据、目标环签名数据以及随机生成的签名信息,确定目标隐私报文,并将目标隐私报文发送下一节点。在该实施例中,通过对环签名数据进行验证,并在验证结果指示报文转发请求中携带的隐私报文有效的情况下,解析隐私报文,并根据解析到的时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息,进而结合新的目标ip密文信息生成环签名数据,结合环签名及同态加密运算,隐藏了通信链路中每一跳的发起方,确保节点发起的交易真实可靠,同时还保护了通信链路中发起节点和发起用户的隐私信息,提高通信链路的安全性,从而解决相关技术中在区块链网络链路上传输报文时,节点通信传输容易受到攻击的技术问题。
127.可选的,隐私报文的报文格式包括:请求行、请求头部和请求数据,其中,请求行中包含:请求策略、嵌套密文ip信息和请求版本,请求头部包括:首部字段名,首部字段名至少包括:时间戳、环签名系数和同态系数,请求数据包括:数据哈希值、环签名数据、采用目标节点的公钥加密的待转发数据,数据哈希值是指对待转发数据进行哈希运算得到的哈希值。
128.可选的,基于区块链网络的报文转发装置还包括:第一控制单元,用于在接收前一节点的报文转发请求之前,控制第一级节点采集由第一级节点至目标节点之间的路由跳转关系;第二控制单元,用于控制第一级节点基于路由跳转关系,建立从第一级节点至目标节点之间的虚拟网络链路;第三控制单元,用于控制第一级节点获取虚拟网络链路中各节点的ip地址集合和公钥信息集合,其中,公钥信息集合中至少包括:目标节点的公钥信息;第四控制单元,用于控制第一级节点以虚拟网络链路中的目标节点作为父节点,从父节点开始向第一级节点顺序逆推,对虚拟网络链路中的各个节点进行嵌套加密处理,得到嵌套ip密文;第五控制单元,用于控制第一级节点基于目标节点的公钥信息对发送数据进行加密处理,得到待转发数据;第六控制单元,用于控制第一级节点按照隐私报文的报文格式对待转发数据和嵌套ip密文进行封装,得到隐私报文。
129.可选的,第六控制单元包括:第一获取模块,用于获取与当前时间点对应的当前时间戳;第一生成模块,用于随机生成进行同态加密运输的同态系数和环签名系数;第一控制模块,用于控制第一级节点按照隐私报文的报文格式对待转发数据、嵌套ip密文、当前时间戳、同态系数和环签名系数进行封装,得到隐私报文。
130.可选的,基于区块链网络的报文转发装置还包括:加入单元,用于在接收前一节点的报文转发请求之前,将区块链节点和路由节点加入至区块链网络中;第二获取模块,用于获取区块链网络中区块链节点和/或路由节点广播的节点加密信息,其中,节点加密信息中包括:对随机生成的公钥和节点ip地址进行密钥加密函数运算后得到的加密数据;保存模
块,用于保存节点加密信息,生成链路公钥列表。
131.可选的,基于区块链网络的报文转发装置还包括:记录单元,用于在接收前一节点的报文转发请求之前,在区块链网络出现节点更新时,通过区块链网络的记录器记录更新信息,其中,区块链网络出现节点更新是指增加区块链节点、路由节点,或者,退出区块链节点、路由节点。
132.可选的,转发单元包括:第一解析模块,用于解析所述隐私报文,得到广播系数,其中,所述广播系数用于确定广播所述目标隐私报文后需要收到的应答报文的数量;选取模块,用于从所述当前节点的链路公钥列表中随机选取与所述广播系数相同数量的节点ip地址,得到地址选取结果,其中,所述地址选取结果至少包括:虚拟网络链路中下一节点的节点ip地址;转发模块,用于将所述目标隐私报文分别发送至所述地址选取结果中每个所述节点ip地址所指示的下一节点。
133.可选的,确定单元包括:第二确定模块,用于通过解密因子确定下一节点的ip明文信息及下一节点的嵌套密文ip信息,其中,解密因子是基于当前节点的ip密文信息生成的;运算模块,用于对下一节点的ip明文信息及下一节点的嵌套密文ip信息进行混合运算处理,得到下一节点的目标地址;第二生成模块,用于基于下一节点的目标地址、待转发数据、目标环签名数据以及随机生成的时间戳、环签名系数和同态系数,生成目标隐私报文。
134.可选的,路由节点的网络架构包括:控制单元,控制单元至少包括:ip层、签名层、业务层,其中,ip层,用于在转发报文时,根据时间戳、同态系数以及当前节点的地址信息,进行同态加密运算,得到目标ip密文信息;签名层,至少包括环签名验证器,环签名验证器负责对隐私报文中的环签名数据进行验证;业务层,包括系统管理模块,系统管理模块负责提供时间戳,同时根据链路公钥列表随机生成同态系数。
135.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于区块链网络的报文转发方法,或者,上述的基于区块链网络的交易处理方法。
136.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项的基于区块链网络的报文转发方法,或者,上述的基于区块链网络的交易处理方法。
137.图11是根据本发明实施例的一种用于基于区块链网络的报文转发方法的电子设备(或移动设备)的硬件结构框图,该电子可以作为区块链节点或者路由节点的终端承载主体。如图11所示,电子设备可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
138.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
139.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
140.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
141.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
142.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
143.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
144.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献