本发明属于网络安全及通信技术领域,具体涉及一种跨网络动态业务流验证方法、系统、存储介质及计算设备。
背景技术:
随着入网节点的增多,传统的基于ca中心的认证方式由于存在集中式信任依赖带来了跨网络安全传输效率瓶颈与灵活性不足等问题。此外,由于跨网络的业务流传输经过众多异构网络,异构网络的复杂性及不可控的安全性,势必会威胁网络节点的可靠性,业务流调度的顺序性及数据隐私性。为此,如何设计一个确保可靠的,基于共识的跨网络动态业务流验证技术,以确保业务数据隐私的机密性,跨网络业务执行的按序性,业务流验证的可靠性变得尤为重要。
一般而言,导致跨网络业务流验证效率低下与可靠性较低的主要原因大致可以分为以下三个方面:首先,由于越来越多的节点入网依赖于ca集中式的认证机制,需要ca中心提供极大的认证算力,并且集中式的存储容易遭受攻击造成ca中心的密钥泄露,导致攻击者利用ca认证密钥生产伪证书而破坏整体网络安全;其次,由于网络业务的复杂多样性,现有的跨网络通信机制中缺乏对于业务流有序性及安全性的有效验证;最后,由于异构网络的复杂性,现有的跨网络业务流技术无法有效规避业务流在重传过程中重蹈以往不安全路由网段的覆辙,使得跨网络业务的有效传输与处理遇到效率瓶颈。
技术实现要素:
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种跨网络动态业务流验证方法、系统、存储介质及计算设备,包含节点入网申请与面向自签名证书的分布式密钥存储模块,基于区块链的节点业务请求记账模块,节点业务流传输与验证模块,跨网络业务路由跟踪及业务重传模块等子模块的跨网络业务流验证与调度新架构,提高了跨网络业务流调度的安全性,连续性与可验证性的同时,保证网络的服务效率,提高了用户的服务体验。
本发明采用以下技术方案:
一种跨网络动态业务流验证方法,包括以下步骤:
s1、一体化融合网络中的新入网节点生成自签名证书并向分布式验证节点发送证书申请入网,分布式验证节点通过验证节点身份信息将新入网节点的ip地址,mac地址及公钥保存于区块链trfchain中;
s2、一体化融合网络中的业务请求节点用sha-256对加密后的业务请求信息进行哈希映射后,与自签名证书一起上传至分布式验证节点,分布式验证节点利用公钥对节点自签名证书进行验证后将对应业务流上传至区块链trfchain中,并将业务流执行许可与业务流编号返回给请求节点;
s3、业务请求节点接收到执行许可及业务流编号后,向网络传递业务流,业务流经过的路由器在ip数据报首部的选项字段添加自身ip地址,作为路由记录;业务流经过的需要完成业务的节点向分布式验证节点上传业务流信息,分布式验证节点在区块链trfchain对对应的业务流历史信息进行检索,并与收到的业务流请求包进行比对,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后将业务信息上传至区块链trfchain;
s4、当业务请求节点发现业务请求被篡改时,依次通知上一个完成业务的服务节点被篡改数据所经过的路由节点,实现跨网络动态业务流验证。
具体的,步骤s1具体为:
s101、新入网节点在本地生成非对称密钥对以及自签名证书,自签名证书包含两个部分:证书信息与自签名;
s102、新入网节点将自签名证书与公钥pe共同上传至分布式验证节点,分布式验证节点通过pbft算法对新入网节点的证书信息进行验证,并利用pe对新入网节点的自签名进行解密得到pe(cs)′,同时利用sha-256对证书信息cm进行摘要得到h(cm),通过对比pe(cs)′与h(cm)对入网节点身份进行验证,如果pe(cs)′与h(cm)相同,则新入网节点身份验证通过,否则身份验证不通过;
s103、分布式验证节点根据身份验证通过的新入网节点的信息及公钥生成节点身份区块bid,并上传至区块链trfchain。
进一步的,证书信息cm包括新入网节点公钥pe、节点ip地址、节点mac地址、节点身份信息和证书有效时间,自签名cs为明文cm经哈希散列函数sha-256计算后被私钥pd加密后的签名;区块bid包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、新入网节点的mac地址、新入网节点的ip和新入网节点的公钥pe。
具体的,步骤s2具体为:
s201、业务流请求节点将所请求业务流的源ip,目的ip,源端口,目的端口,及业务流请求包数据段加密后的结果的sha-256哈希值与自签名证书一同上传至分布式验证节点,验证节点通过在区块链trfchain根据业务请求节点的mac地址,通过检索业务请求节点的公钥pe对自签名证书进行验证;
s202、分布式验证节点对业务流信息生成唯一的业务序号后,将业务信息加密后的哈希映射作为业务账单生成业务区块btrf,并上传至区块链trfchain;区块btrf包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、业务流序号、源ip,目的ip,源端口,目的端口,业务流请求包数据段加密后哈希值;之后,分布式验证节点将业务流序号及业务流执行许可返回业务流请求节点。
具体的,步骤s3具体为:
s301、业务请求节点接收到执行许可及业务流序号后,向网络传递加密数据段后的业务流,业务流每经过一个路由节点,在ip数据报首部选项字段添加自身ip地址作为路由记录;当业务流经过需要完成业务的节点时,对应的节点请求分布式验证节点在区块链trfchain根据业务序号对对应业务流历史上链数据进行检索,收到检索结果并与所收到的业务流请求包进行比对,检查业务信息是否被篡改,若确定业务信息未被篡改则转步骤s302,若发现业务信息被篡改则转步骤s4;
s302、确定业务信息未被篡改后,当前所要完成业务的节点通过检查数据段尾部业务完成标识,确保当前业务之前所需求的业务已经完成后,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后更新后的业务请求区块brtrf的上传至trfchain,业务流进行后续网络中传输。
进一步的,区块brtrf具体内容包括:区块编号、前一个块的hash值、当前块的hash值、当前业务节点ip地址、业务流序号、源ip,目的ip,源端口,目的端口,更新后的业务流请求包数据段加密后哈希值。
具体的,步骤s4具体为:
发现业务请求被篡改或当前业务之前所需求的业务未完成时,当前业务节点根据当前ip数据报首部选项字段获得历史路由路径信息,向分布式验证节点发送发现异常警告及历史路由路径,分布式验证节点根据异常警告中的业务流序号检索对应业务流以往的业务请求区块btrf及brtrf,依此通知上一个完成业务的服务节点网络中存在威胁的路由节点,上一业务执行节点将存在威胁的路由节点ip添加至业务请求包段尾,之后进行业务重传;后续网络中转节点通过检查数据包尾部存在异常的路由节点避开对应路由路径。
本发明的另一个技术方案是,一种跨网络动态业务流验证系统,包括:
节点入网申请与面向自签名证书的分布式密钥存储模块,通过对跨网络节点自签名证书进行分布式验证,并对节点密钥进行基于区块链的分布式存储;
基于区块链的节点业务请求记账模块,针对节点的业务请求行为,基于区块链的共识机制,分布式验证节点对节点身份进行验证,完成业务序号生成,业务摘要上链存储与业务流许可返回,实现跨网络业务请求上链记录;
节点业务流传输与验证模块,通过引入业务完成标识机制,将实时业务及处理节点信息上传至区块链,实现业务连续性的有效验证;
跨网络业务路由跟踪及业务重传模块,针对跨网络业务在传输过程中被篡改的情况,利用历史路由路径追踪技术挖掘跨网络业务流传输中存在的恶意网段,通过在重传过程中标识不良路由节点,削减恶意网段再次篡改业务流的可能性。
本发明的另一个技术方案是,一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行所述的方法中的任一方法。
本发明的另一个技术方案是,一种计算设备,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行所述的方法中的任一方法的指令。
与现有技术相比,本发明至少具有以下有益效果:
本发明提出了一种基于共识的跨网络动态业务流验证方法,可以在复杂网络环境中利用区块链分布式共识协议实现节点自签名证书的认证与验证,保障节点公钥在网络中的所有分布式验证节点存储记录的一致性,通过共识机制防止中间人攻击对公钥的篡改,以保证发起通信的节点的自签名证书的有效性,弥补了基于ca的密钥管理系统在单点故障和效率低下等方面的问题;通过引入业务完成标识机制,使得跨网络业务流动态信息得到实时链上更新与检验,保障了业务流有序性及安全性的有效验证;利用历史路由路径追踪技术挖掘跨网络业务流传输中可能存在的恶意网段,通过在重传数据报文中标识不良路由节点,在有效削减恶意网段再次篡改业务流可能性的同时,使得跨网络业务的有效传输与处理效率瓶颈得到突破。
进一步的,步骤s1中通过对跨网络节点自签名证书进行分布式验证,对节点密钥进行基于区块链的分布式存储,提高了入网节点的认证效率;
进一步的,证书信息涵盖了入网节点身份信息及证书的有效期限,自签名保证了节点证书信息的防篡改性,区块bid种类设置便于之后分布式验证节点对节点身份进行审查时,在大量区块中对节点身份种类区块的检索。
进一步的,步骤s2中通过对业务请求节点进行链上公钥搜索实现节点身份认证,并基于共识机制的业务请求信息摘要进行上链存储,在保证节点身份可信的同时,为之后的业务流验证技术研究奠定了基础。
进一步的,步骤s3中通过引入业务完成标识技术以及业务信息摘要链上更新技术,保障了业务流有序性及安全性的有效验证,此外,采用基于ip数据报首部选项字段设置的路由跟踪技术,实现了对业务流流向的动态记录。
进一步的,区块brtrf种类设置及业务序号设置便于之后分布式验证节点在trfchain对业务流历史上链数据进行审查时,在大量区块中对指定业务序号的业务种类区块的检索。
进一步的,步骤s4中借助路由跟踪技术,通过对路由记录的检索实现对跨网络业务流传输中可能存在的恶意网段的挖掘,进而有效规避业务流在重传过程中重蹈以往不安全路由网段的覆辙,有效的提高了跨网络业务的有效传输与处理效率。
综上所述,本发明的验证技术实现了对跨网络业务流异常数据包的及时检测,较为系统的设计了包含四个步骤的动态业务流验证技术,通过研究节点入网申请与面向自签名证书的分布式密钥存储机制提高证书认证效率与密钥存储的安全性,通过研究基于区块链的节点业务请求记账机制保证历史业务请求信息的可追溯与不可篡改性,通过研究节点业务流传输与验证机制实现对跨网络业务实时完成情况的更新以及对业务间有序性的验证,通过研究跨网络路由跟踪及业务重传机制完成对恶意网段的有效规避,进一步提高了整体的业务运输速率与处理效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明应用于跨网络动态业务流验证技术的架构图;
图2为本发明节点入网申请与面向自签名证书的分布式密钥存储机制示意图;
图3为本发明基于区块链的节点业务请求记账机制示意图;
图4为本发明节点业务流传输与验证机制示意图;
图5为本发明跨网络路由跟踪及业务重传机制示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明提供了一种基于共识的跨网络动态业务流验证方法,针对跨网络身份验证太过于依赖ca中心这一问题,采用分布式验证节点根据新入网节点自签名证书与公钥对节点身份进行验证,通过pbft共识机制将节点地址信息及公钥上传至区块链trfchain,实现节点入网申请与面向自签名证书的分布式密钥存储;针对节点的业务请求行为,基于区块链的共识机制,分布式验证节点对节点身份进行验证,业务序号生成,业务摘要上链存储与业务流许可返回,实现跨网络业务请求上链记录;针对跨网络业务流所需的业务按序完成需求,通过引入业务完成标识机制,将实时业务及处理节点信息上传至区块链trfchain,实现业务连续性的有效验证;针对跨网络业务在传输过程中被篡改的情况,利用历史路由路径追踪技术挖掘跨网络业务流传输中可能存在的恶意网段,通过在重传过程中标识不良路由节点,实现对恶意网段再次篡改业务流可能性的削减。
本发明一种基于共识的跨网络动态业务流验证方法,包括以下步骤:
s1、一体化融合网络中的新入网节点生成自签名证书后向分布式验证节点发送证书申请入网,分布式验证节点通过验证节点身份信息将节点的ip地址,mac地址及公钥保存于区块链trfchain中;
s101、新入网节点首先在本地生成非对称密钥对以及自签名证书,自签名证书包含两个部分:证书信息与自签名。其中,证书信息cm包括该新入网节点公钥pe、节点ip地址、节点mac地址、节点身份信息、证书有效时间等明文,自签名cs为明文cm经过哈希散列函数sha-256计算后被私钥pd加密后的签名。
s102、新入网节点将自签名证书与公钥pe共同上传至分布式验证节点,分布式验证节点通过pbft算法对新入网节点的证书信息进行验证,并利用pe对新入网节点的自签名进行解密得到pe(cs)′,同时利用sha-256对证书信息cm进行摘要得到h(cm),通过对比pe(cs)′与h(cm)对入网节点身份进行验证,如果pe(cs)′与h(cm)相同,则新入网节点身份验证通过,否则身份验证不通过,如图2所示。
s103、分布式验证节点根据身份验证通过的新入网节点的信息及公钥生成节点身份区块bid,并上传至trfchain,区块bid具体内容包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、新入网节点的mac地址、新入网节点的ip、新入网节点的公钥pe。
s2、网络中的业务请求节点用sha-256对加密后的业务请求信息进行哈希映射后,与自签名证书一起上传至分布式验证节点,分布式验证节点利用公钥对节点自签名证书进行验证后将该业务流上传至trfchain中,并将业务流执行许可与业务流编号返回给请求节点;
s201、业务流请求节点首先将所请求业务流的源ip,目的ip,源端口,目的端口,及业务流请求包数据段加密后的结果的sha-256哈希值与自签名证书一同上传至分布式验证节点,验证节点通过在trfchain根据业务请求节点的mac地址,通过检索业务请求节点的公钥pe对自签名证书进行验证。
s202、分布式验证节点对业务流信息生成唯一的业务序号后,将业务信息加密后的哈希映射作为业务账单生成业务区块btrf,并上传至trfchain。区块btrf具体内容包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、业务流序号、源ip,目的ip,源端口,目的端口,业务流请求包数据段加密后哈希值。之后,分布式验证节点将业务流序号及业务流执行许可返回业务流请求节点。
s3、业务请求节点接收到执行许可及业务流编号后,开始向网络传递业务流,业务流所经过的路由器在在ip数据报首部的选项字段添加自身ip地址,作为路由记录。业务流所经过的需要完成业务的节点向分布式验证节点上传业务流信息,分布式验证节点在trfchain对该业务流历史信息进行检索,并与所收到的业务流请求包进行比对,保证业务信息未被篡改,通过检查数据段尾部业务完成表示,确保当前业务之前需求业务已经完成,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后将业务信息上传至trfchain;
s301、业务请求节点接收到执行许可及业务流序号后,开始向网络传递加密数据段后的业务流,业务流每经过一个路由节点,在ip数据报首部选项字段添加自身ip地址作为路由记录。当业务流经过需要完成业务的节点,该节点请求分布式验证节点在trfchain根据业务序号对该业务流历史上链数据进行检索,收到检索结果并与所收到的业务流请求包进行比对,检查业务信息是否被篡改,若确定业务信息未被篡改则转步骤s302,若发现业务信息被篡改则转步骤s4。
s302、确定业务信息未被篡改后,当前所要完成业务的节点通过检查数据段尾部业务完成标识,确保当前业务之前所需求的业务已经完成后,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后更新后的业务请求区块brtrf的上传至trfchain,业务流进行向后续网络中传输。区块brtrf具体内容包括:区块编号、前一个块的hash值、当前块的hash值、当前业务节点ip地址、业务流序号、源ip,目的ip,源端口,目的端口,更新后的业务流请求包数据段加密后哈希值。若发现当前业务之前所需求的业务未完成则转步骤s4。
s4、对于节点发现业务请求被篡改的情况,由当前业务节点根据ip数据报首部获得路由路径信息,并向分布式验证节点发送警告,依此通知上一个完成业务的服务节点被篡改数据所经过的路由节点,上一服务节点将可能存在威胁的路由节点ip添加至业务请求包段尾,并在业务重传时避免重复该路由路径。
发现业务请求被篡改或当前业务之前所需求的业务未完成,当前业务节点根据当前ip数据报首部选项字段获得历史路由路径信息,向分布式验证节点发送发现异常警告及历史路由路径,分布式验证节点根据异常警告中的业务流序号检索该业务流以往的业务请求区块btrf及brtrf,依此通知上一个完成业务的服务节点网络中存在威胁的路由节点,上一业务执行节点将存在威胁的路由节点ip添加至业务请求包段尾,之后进行业务重传。后续网络中转节点通过检查数据包尾部存在异常的路由节点,尽量避免重复该路由路径,以此保证业务流的有效传输。
请参阅图1,本发明再一个实施例中,提供一种跨网络动态业务流验证系统,该系统能够用于实现上述跨网络动态业务流验证方法、系统、存储介质及计算设备,具体的,跨网络动态业务流验证系统包括节点入网申请与面向自签名证书的分布式密钥存储模块、基于区块链的节点业务请求记账模块、节点业务流传输与验证模块和跨网络业务路由跟踪及业务重传模块。
其中,节点入网申请与面向自签名证书的分布式密钥存储模块,通过对跨网络节点自签名证书进行分布式验证,并对节点密钥进行基于区块链的分布式存储。
请参阅图3和图4,基于区块链的节点业务请求记账模块,针对节点的业务请求行为,基于区块链的共识机制,分布式验证节点对节点身份进行验证,完成业务序号生成,业务摘要上链存储与业务流许可返回,实现跨网络业务请求上链记录。
节点业务流传输与验证模块,通过引入业务完成标识机制,将实时业务及处理节点信息上传至区块链,实现业务连续性的有效验证。
请参阅图5,跨网络业务路由跟踪及业务重传模块,针对跨网络业务在传输过程中被篡改的情况,利用历史路由路径追踪技术挖掘跨网络业务流传输中可能存在的恶意网段,通过在重传过程中标识不良路由节点,实现对恶意网段再次篡改业务流可能性的削减。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于跨网络动态业务流验证的操作,包括:新入网节点生成自签名证书并向分布式验证节点发送证书申请入网,分布式验证节点通过验证节点身份信息将新入网节点的ip地址,mac地址及公钥保存于区块链trfchain中;网络中的业务请求节点用sha-256对加密后的业务请求信息进行哈希映射后,与自签名证书一起上传至分布式验证节点,分布式验证节点利用公钥对节点自签名证书进行验证后将对应业务流上传至区块链trfchain中,并将业务流执行许可与业务流编号返回给请求节点;业务请求节点接收到执行许可及业务流编号后,向网络传递业务流,业务流经过的路由器在ip数据报首部的选项字段添加自身ip地址,作为路由记录;业务流经过的需要完成业务的节点向分布式验证节点上传业务流信息,分布式验证节点在区块链trfchain对对应的业务流历史信息进行检索,并与收到的业务流请求包进行比对,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后将业务信息上传至区块链trfchain;当业务请求节点发现业务请求被篡改时,依此通知上一个完成业务的服务节点被篡改数据所经过的路由节点,实现跨网络动态业务流验证。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关电网中长期检修计划的校核方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:新入网节点生成自签名证书并向分布式验证节点发送证书申请入网,分布式验证节点通过验证节点身份信息将新入网节点的ip地址,mac地址及公钥保存于区块链trfchain中;网络中的业务请求节点用sha-256对加密后的业务请求信息进行哈希映射后,与自签名证书一起上传至分布式验证节点,分布式验证节点利用公钥对节点自签名证书进行验证后将对应业务流上传至区块链trfchain中,并将业务流执行许可与业务流编号返回给请求节点;业务请求节点接收到执行许可及业务流编号后,向网络传递业务流,业务流经过的路由器在ip数据报首部的选项字段添加自身ip地址,作为路由记录;业务流经过的需要完成业务的节点向分布式验证节点上传业务流信息,分布式验证节点在区块链trfchain对对应的业务流历史信息进行检索,并与收到的业务流请求包进行比对,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后将业务信息上传至区块链trfchain;当业务请求节点发现业务请求被篡改时,依此通知上一个完成业务的服务节点被篡改数据所经过的路由节点,实现跨网络动态业务流验证。
综上所述,本发明一种跨网络动态业务流验证方法、系统、存储介质及计算设备,基于区块链技术的共识机制,采用分布式自签名密钥管理及业务流记录机制,引入业务完成标识技术以及路由跟踪技术,提出了一种基于共识的跨网络动态业务流验证技术,解决由ca集中式信任依赖导致的跨网络安全传输效率瓶颈与灵活性不足等问题的同时,支持在跨网络通信中对业务流有序性及安全性的有效验证,保证了对跨网络业务流数据包的实时检测与监控。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
1.一种跨网络动态业务流验证方法,其特征在于,包括以下步骤:
s1、一体化融合网络中的新入网节点生成自签名证书并向分布式验证节点发送证书申请入网,分布式验证节点通过验证节点身份信息将新入网节点的ip地址,mac地址及公钥保存于区块链trfchain中;
s2、一体化融合网络中的业务请求节点用sha-256对加密后的业务请求信息进行哈希映射后,与自签名证书一起上传至分布式验证节点,分布式验证节点利用公钥对节点自签名证书进行验证后将对应业务流上传至区块链trfchain中,并将业务流执行许可与业务流编号返回给请求节点;
s3、业务请求节点接收到执行许可及业务流编号后,向网络传递业务流,业务流经过的路由器在ip数据报首部的选项字段添加自身ip地址,作为路由记录;业务流经过的需要完成业务的节点向分布式验证节点上传业务流信息,分布式验证节点在区块链trfchain对对应的业务流历史信息进行检索,并与收到的业务流请求包进行比对,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后将业务信息上传至区块链trfchain;
s4、当业务请求节点发现业务请求被篡改时,依次通知上一个完成业务的服务节点被篡改数据所经过的路由节点,实现跨网络动态业务流验证。
2.根据权利要求1所述的跨网络动态业务流验证方法,其特征在于,步骤s1具体为:
s101、新入网节点在本地生成非对称密钥对以及自签名证书,自签名证书包含两个部分:证书信息与自签名;
s102、新入网节点将自签名证书与公钥pe共同上传至分布式验证节点,分布式验证节点通过pbft算法对新入网节点的证书信息进行验证,并利用pe对新入网节点的自签名进行解密得到pe(cs)′,同时利用sha-256对证书信息cm进行摘要得到h(cm),通过对比pe(cs)′与h(cm)对入网节点身份进行验证,如果pe(cs)′与h(cm)相同,则新入网节点身份验证通过,否则身份验证不通过;
s103、分布式验证节点根据身份验证通过的新入网节点的信息及公钥生成节点身份区块bid,并上传至区块链trfchain。
3.根据权利要求2所述的跨网络动态业务流验证方法,其特征在于,证书信息cm包括新入网节点公钥pe、节点ip地址、节点mac地址、节点身份信息和证书有效时间,自签名cs为明文cm经哈希散列函数sha-256计算后被私钥pd加密后的签名;区块bid包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、新入网节点的mac地址、新入网节点的ip和新入网节点的公钥pe。
4.根据权利要求1所述的跨网络动态业务流验证方法,其特征在于,步骤s2具体为:
s201、业务流请求节点将所请求业务流的源ip,目的ip,源端口,目的端口,及业务流请求包数据段加密后的结果的sha-256哈希值与自签名证书一同上传至分布式验证节点,验证节点通过在区块链trfchain根据业务请求节点的mac地址,通过检索业务请求节点的公钥pe对自签名证书进行验证;
s202、分布式验证节点对业务流信息生成唯一的业务序号后,将业务信息加密后的哈希映射作为业务账单生成业务区块btrf,并上传至区块链trfchain;区块btrf包括:区块编号、区块种类、前一个块的hash值、当前块的hash值、业务流序号、源ip,目的ip,源端口,目的端口,业务流请求包数据段加密后哈希值;之后,分布式验证节点将业务流序号及业务流执行许可返回业务流请求节点。
5.根据权利要求1所述的跨网络动态业务流验证方法,其特征在于,步骤s3具体为:
s301、业务请求节点接收到执行许可及业务流序号后,向网络传递加密数据段后的业务流,业务流每经过一个路由节点,在ip数据报首部选项字段添加自身ip地址作为路由记录;当业务流经过需要完成业务的节点时,对应的节点请求分布式验证节点在区块链trfchain根据业务序号对对应业务流历史上链数据进行检索,收到检索结果并与所收到的业务流请求包进行比对,检查业务信息是否被篡改,若确定业务信息未被篡改则转步骤s302,若发现业务信息被篡改则转步骤s4;
s302、确定业务信息未被篡改后,当前所要完成业务的节点通过检查数据段尾部业务完成标识,确保当前业务之前所需求的业务已经完成后,当前节点完成本地业务并添加业务完成标识至业务流请求包数据段尾,最后更新后的业务请求区块brtrf的上传至trfchain,业务流进行后续网络中传输。
6.根据权利要求5所述的跨网络动态业务流验证方法,其特征在于,区块brtrf具体内容包括:区块编号、前一个块的hash值、当前块的hash值、当前业务节点ip地址、业务流序号、源ip,目的ip,源端口,目的端口,更新后的业务流请求包数据段加密后哈希值。
7.根据权利要求1所述的跨网络动态业务流验证方法,其特征在于,步骤s4具体为:
发现业务请求被篡改或当前业务之前所需求的业务未完成时,当前业务节点根据当前ip数据报首部选项字段获得历史路由路径信息,向分布式验证节点发送发现异常警告及历史路由路径,分布式验证节点根据异常警告中的业务流序号检索对应业务流以往的业务请求区块btrf及brtrf,依此通知上一个完成业务的服务节点网络中存在威胁的路由节点,上一业务执行节点将存在威胁的路由节点ip添加至业务请求包段尾,之后进行业务重传;后续网络中转节点通过检查数据包尾部存在异常的路由节点避开对应路由路径。
8.一种跨网络动态业务流验证系统,其特征在于,包括:
节点入网申请与面向自签名证书的分布式密钥存储模块,通过对跨网络节点自签名证书进行分布式验证,并对节点密钥进行基于区块链的分布式存储;
基于区块链的节点业务请求记账模块,针对节点的业务请求行为,基于区块链的共识机制,分布式验证节点对节点身份进行验证,完成业务序号生成,业务摘要上链存储与业务流许可返回,实现跨网络业务请求上链记录;
节点业务流传输与验证模块,通过引入业务完成标识机制,将实时业务及处理节点信息上传至区块链,实现业务连续性的有效验证;
跨网络业务路由跟踪及业务重传模块,针对跨网络业务在传输过程中被篡改的情况,利用历史路由路径追踪技术挖掘跨网络业务流传输中存在的恶意网段,通过在重传过程中标识不良路由节点,削减恶意网段再次篡改业务流的可能性。
9.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至7所述的方法中的任一方法。
10.一种计算设备,其特征在于,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至7所述的方法中的任一方法的指令。
技术总结