区块链节点的加密通信方法和系统技术方案

技术编号:19351762 阅读:36 留言:0更新日期:2018-11-07 17:21
本发明专利技术提出了一种区块链节点的加密通信方法和系统,其中,方法包括:首次加入区块链网络的参与节点,采用参与节点的第一签名私钥对参与节点的第一用户标识和第一签名公钥进行签名,并通过时间戳服务器打上时间戳后向区块链网络发送第一加入广播消息;挖矿节点对第一加入广播消息进行解析获取第一用户标识和第一签名公钥,根据第一签名公钥对到参与节点进行合法性验证;监管节点根据本地节点存储的主钥、公共参数和第一用户标识生成参与节点的第一加密私钥;参与节点与目标节点基于第一用户标识和第一加密私钥进行安全通信。由此,在保证了区块链网络的通信安全的基础上,提高了通信效率。

【技术实现步骤摘要】
区块链节点的加密通信方法和系统
本专利技术涉及通信
,尤其涉及一种区块链节点的加密通信方法和系统。
技术介绍
区块链技术随着比特币的出现而逐渐被人们所知。区块链网络没有中心节点,所有节点地位均等,采用工作量证明,权益证明等共识机制将区块链网络内的交易数据打包写入到区块中。在这个去中心化网络中,所有的节点保存着全网的数据备份。区块链采用的共识机制保障了在不可信信道上的信息传递的真实有效性。然而,基于区块链的运作机制,即使可以保证数据在传输过程中遭到篡改,又能防止节点遭受拒绝服务式攻击,但是,由于依赖于所有节点的共同监督进行服务,因而,通常所有的交易信息是以广播的形式进行公开,从而相关交易信息容易被恶意截取,当涉及到商业机密等需要保密的很多场景时,无法满足保密的需求,通信的安全性得不到保障。
技术实现思路
本专利技术提供一种区块链节点的加密通信方法和系统,以解决现有技术中,区块链网络中各个节点的通信安全性得不到保障,以及基于公钥技术进行通信时的通信效率被拖慢的技术问题。本专利技术第一实施例提供一种区块链节点的加密通信方法,包括:首次加入区块链网络的参与节点,采用所述参与节点的第一签名私钥对所述参与节点的第一用户标识和第一签名公钥进行签名,并通过时间戳服务器打上时间戳后向所述区块链网络发送第一加入广播消息;挖矿节点对所述第一加入广播消息进行解析获取所述第一用户标识和所述第一签名公钥,并检索本地节点当前存储的区块链账本是否存在所述第一用户标识,若检测获知不存在所述第一用户标识,则通过所述第一签名公钥对所述参与节点进行签名验证,如果验证通过,则将所述第一加入广播消息写入到新区块后向所述区块链网络进行广播;监管节点对接收到的所述新区块的广播消息进行解析,获取所述第一用户标识和所述第一签名公钥,并根据本地节点存储的主钥、公共参数和所述第一用户标识生成所述参与节点的第一加密私钥;所述监管节点应用所述第一签名公钥对所述第一加密私钥进行加密生成第一加密数据,并应用所述监管节点的签名私钥对所述第一加密数据以及所述第一用户标识进行签名后向所述区块链网络发送第一密钥配置广播消息;所述参与节点对接收到的第一密钥配置广播消息进行解析,获取与所述第一用户标识对应的所述第一加密数据,应用所述第一签名私钥对所述第一加密数据进行解密处理获取所述第一加密私钥;目标节点应用所述第一用户标识对发送给所述参与节点的第一数据进行加密处理后生成所述第一加密通信数据,应用所述目标节点的第二签名私钥签名后发送给所述参与节点;所述参与节点对区块链内容进行解析获取与所述目标节点的第二用户标识对应的第二签名公钥,应用所述第二签名公钥对所述目标节点发送的第一加密通信数据进行签名验证,若验证通过,则应用所述第一加密私钥对所述第一加密通信数据进行解密获取所述第一数据。本专利技术第二实施例提供一种区块链节点的加密通信系统,包括:首次加入区块链网络的参与节点、挖矿节点、监管节点和目标节点,其中,所述首次加入区块链网络的参与节点,用于采用所述参与节点的第一签名私钥对所述参与节点的第一用户标识和第一签名公钥进行签名,并通过时间戳服务器打上时间戳后向所述区块链网络发送第一加入广播消息;所述挖矿节点,用于对所述第一加入广播消息进行解析获取所述第一用户标识和所述第一签名公钥,并检索本地节点当前存储的区块链账本是否存在所述第一用户标识,若检测获知不存在所述第一用户标识,则通过所述第一签名公钥对所述参与节点进行签名验证,如果验证通过,则将所述第一加入广播消息写入到新区块后向所述区块链网络进行广播;所述监管节点,用于对接收到的所述新区块的广播消息进行解析,获取所述第一用户标识和所述第一签名公钥,并根据本地节点存储的主钥、公共参数和所述第一用户标识生成所述参与节点的第一加密私钥,应用所述第一签名公钥对所述第一加密私钥进行加密生成第一加密数据,并应用所述监管节点的签名私钥对所述第一加密数据以及所述第一用户标识进行签名后向所述区块链网络发送第一密钥配置广播消息;所述参与节点,还用于对接收到的第一密钥配置广播消息进行解析,获取与所述第一用户标识对应的所述第一加密数据,应用所述第一签名私钥对所述第一加密数据进行解密处理获取所述第一加密私钥;所述目标节点,用于应用所述第一用户标识对发送给所述参与节点的第一数据进行加密处理后生成所述第一加密通信数据,应用所述目标节点的第二签名私钥签名后发送给所述参与节点;所述参与节点,还用于对区块链内容进行解析获取与所述目标节点的第二用户标识对应的第二签名公钥,应用所述第二签名公钥对所述目标节点发送的第一加密通信数据进行签名验证,若验证通过,则应用所述第一加密私钥对所述第一加密通信数据进行解密获取所述第一数据。本专利技术第三实施例提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的区块链节点的加密通信方法。本专利技术第四实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的区块链节点的加密通信方法。本专利技术实施例提供的技术方案可以包括以下有益效果:基于公钥证书技术实现区块链网络的新参与的节点的身份验证,避免非法节点伪装成合法节点接入区块链网络,并且,基于公钥证书技术由引入的监管节点为每个认证通过的节点分配加密私钥,保证节点之间基于加密私钥进行通信交互,且基于创建与用户标识对应的加密私钥,不需要获取加密公钥,即可基于用户标识进行解密通信,建立了节点时间的安全通信通道,在保证了区块链网络的通信安全的基础上,保证了通信效率。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本专利技术一个实施例的区块链节点的加密通信系统的结构示意图;图2是根据本专利技术另一个实施例的区块链节点的加密通信系统的结构示意图;图3是根据本专利技术一个实施例的区块链节点的加密通信系统的交互示意图;图4是根据本专利技术另一个实施例的区块链节点的加密通信系统的交互示意图;图5是根据本专利技术一个实施例的区块链节点的加密通信方法的流程图;以及图6是根据本专利技术另一个实施例的区块链节点的加密通信方法的流程图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。基于以上分析可知,现有的区块链网络通信的保密性不强,通信的安全性得不到保障,为了解决该技术问题,本专利技术引入了公钥证书技术,由于该公钥证书技术不需要维护含有姓名和公钥的目录,从而是一种较为安全的公钥分配方式,本专利技术中,将公钥证书技术与区块链网络相互融合,区块链网络利用公钥证书技术的安全性的特点,公钥证书技术利用区块链网络防止数据在传输过程中遭到篡改,又能防止节点遭受拒绝服务式攻击的特点,二者相辅相成,保证了区块链网络中节点之间通信的安全性。具体地,本专利技术提出了一种区块链节点的加密通信系统,如图1所示,在本专利技术提出的区块链节点的加密通信系统中,区块链网络中除了包括地位相同的节点外(挖矿节点),还包括监本文档来自技高网...

【技术保护点】
1.一种区块链节点的加密通信方法,其特征在于,包括:首次加入区块链网络的参与节点,采用所述参与节点的第一签名私钥对所述参与节点的第一用户标识和第一签名公钥进行签名,并通过时间戳服务器打上时间戳后向所述区块链网络发送第一加入广播消息;挖矿节点对所述第一加入广播消息进行解析获取所述第一用户标识和所述第一签名公钥,并检索本地节点当前存储的区块链账本是否存在所述第一用户标识,若检测获知不存在所述第一用户标识,则通过所述第一签名公钥对所述参与节点进行签名验证,如果验证通过,则将所述第一加入广播消息写入到新区块后向所述区块链网络进行广播;监管节点对接收到的所述新区块的广播消息进行解析,获取所述第一用户标识和所述第一签名公钥,并根据本地节点存储的主钥、公共参数和所述第一用户标识生成所述参与节点的第一加密私钥;所述监管节点应用所述第一签名公钥对所述第一加密私钥进行加密生成第一加密数据,并应用所述监管节点的签名私钥对所述第一加密数据以及所述第一用户标识进行签名后向所述区块链网络发送第一密钥配置广播消息;所述参与节点对接收到的第一密钥配置广播消息进行解析,获取与所述第一用户标识对应的所述第一加密数据,应用所述第一签名私钥对所述第一加密数据进行解密处理获取所述第一加密私钥;目标节点应用所述第一用户标识对发送给所述参与节点的第一数据进行加密处理后生成所述第一加密通信数据,应用所述目标节点的第二签名私钥签名后发送给所述参与节点;所述参与节点对区块链内容进行解析获取与所述目标节点的第二用户标识对应的第二签名公钥,应用所述第二签名公钥对所述目标节点发送的第一加密通信数据进行签名验证,若验证通过,则应用所述第一加密私钥对所述第一加密通信数据进行解密获取所述第一数据。...

【技术特征摘要】
1.一种区块链节点的加密通信方法,其特征在于,包括:首次加入区块链网络的参与节点,采用所述参与节点的第一签名私钥对所述参与节点的第一用户标识和第一签名公钥进行签名,并通过时间戳服务器打上时间戳后向所述区块链网络发送第一加入广播消息;挖矿节点对所述第一加入广播消息进行解析获取所述第一用户标识和所述第一签名公钥,并检索本地节点当前存储的区块链账本是否存在所述第一用户标识,若检测获知不存在所述第一用户标识,则通过所述第一签名公钥对所述参与节点进行签名验证,如果验证通过,则将所述第一加入广播消息写入到新区块后向所述区块链网络进行广播;监管节点对接收到的所述新区块的广播消息进行解析,获取所述第一用户标识和所述第一签名公钥,并根据本地节点存储的主钥、公共参数和所述第一用户标识生成所述参与节点的第一加密私钥;所述监管节点应用所述第一签名公钥对所述第一加密私钥进行加密生成第一加密数据,并应用所述监管节点的签名私钥对所述第一加密数据以及所述第一用户标识进行签名后向所述区块链网络发送第一密钥配置广播消息;所述参与节点对接收到的第一密钥配置广播消息进行解析,获取与所述第一用户标识对应的所述第一加密数据,应用所述第一签名私钥对所述第一加密数据进行解密处理获取所述第一加密私钥;目标节点应用所述第一用户标识对发送给所述参与节点的第一数据进行加密处理后生成所述第一加密通信数据,应用所述目标节点的第二签名私钥签名后发送给所述参与节点;所述参与节点对区块链内容进行解析获取与所述目标节点的第二用户标识对应的第二签名公钥,应用所述第二签名公钥对所述目标节点发送的第一加密通信数据进行签名验证,若验证通过,则应用所述第一加密私钥对所述第一加密通信数据进行解密获取所述第一数据。2.如权利要求1所述的方法,其特征在于,在所述检索本地节点当前存储的区块链账本是否存在所述第一用户标识之后,还包括:若检测获知存在所述第一用户标识,则丢弃所述第一加入广播消息。3.如权利要求1所述的方法,其特征在于,还包括:所述挖矿节点若接收到两个包含相同用户标识的加入广播消息,丢弃时间戳靠后的用户标识。4.如权利要求1所述的方法,其特征在于,在所述参与节点对区块链内容进行解析获取与所述目标节点的第二用户标识对应的第二签名公钥之前,还包括:首次加入区块链网络的目标节点,采用所述目标节点的第二签名私钥对所述目标节点的第二用户标识和第二签名公钥进行签名,并通过时间戳服务器打上时间戳后向所述区块链网络发送第二加入广播消息;所述挖矿节点对所述目标节点首次加入所述区块链网络发送的第二加入广播消息进行解析获取第二用户标识和第二签名公钥,并检索本地节点当前存储的区块链账本是否存在所述第二用户标识,若检测获知不存在所述第二用户标识,则通过所述第二签名公钥对所述目标节点进行签名验证,如果验证通过,则将所述第二加入广播消息写入到新区块后向所述区块链网络进行广播。5.如权利要求4所述的方法,其特征在于,还包括:所述监管节点对接收到的新区块的广播消息进行解析,获取所述第二用户标识和所述第二签名公钥,并根据本地节点存储的主钥、公共参数和所述第二用户标识生成所述目标节点的第二加密私钥;所述监管节点应用所述第二签名公钥对所述第二加密私钥进行加密生成第二加密数据,并应用所述监管节点的签名私钥对所述第二加密数据以及所述第二用户标识进行签名后向所述区块链网络发送第二密钥配置广播消息;所述参与节点应用所述第二用户标识对发送给所述目标节点的第二数据进行加密处理后生成所述第二加密通信数据,应用所述第一签名私钥签名后发送给所述目标节点;所述目标节点对区块链内容进行解析获取与所述参与节点的第一用户标识对应的第一签名公钥,应用所述第一签名公钥对所述参与节点发送的第二加密通信数据进行签名验证,若验证通过,则应用所述第二加密私钥对所述第二加密通信数据进行解密获取所述第二数据。6.一种区块链节点的加密通信系统,其特征在于,包括:首次加入区块链网络的参与节点、挖矿节点、监管节点和目标节点,其中,所述首次加入区块链网络的参与节点,用于采用所述参与节点...

【专利技术属性】
技术研发人员:路成业王凌
申请(专利权)人:全链通有限公司
类型:发明
国别省市:北京,11

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

1