CN108124505A - 获取可信节点的方法、装置、存储介质及区块链节点 - Google Patents

获取可信节点的方法、装置、存储介质及区块链节点 Download PDF

Info

Publication number
CN108124505A
CN108124505A CN201780002571.0A CN201780002571A CN108124505A CN 108124505 A CN108124505 A CN 108124505A CN 201780002571 A CN201780002571 A CN 201780002571A CN 108124505 A CN108124505 A CN 108124505A
Authority
CN
China
Prior art keywords
node
trusted node
trusted
block chain
acquiescence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780002571.0A
Other languages
English (en)
Other versions
CN108124505B (zh
Inventor
谢辉
王健
张跃洋
陈敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shenzhen Robotics Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudminds Shenzhen Robotics Systems Co Ltd filed Critical Cloudminds Shenzhen Robotics Systems Co Ltd
Publication of CN108124505A publication Critical patent/CN108124505A/zh
Application granted granted Critical
Publication of CN108124505B publication Critical patent/CN108124505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及一种获取可信节点的方法、装置、存储介质及区块链节点,用以解决现有获取可信节点的方式由于第三方机构参与导致的削弱区块链非中心化优势的技术问题。所述方法应用于待接入区块链网络的新节点,包括:向目标可信节点发送查询请求,目标可信节点是区块链网络中的管理员预置到区块链网络中的默认可信节点,或者是新节点的可信节点列表中的节点;接收目标可信节点发送的查询响应,查询响应包括目标可信节点的签名信息和目标可信节点的对等节点信息,对等节点信息包括区块链网络中与目标可信节点建立P2P连接的节点信息;对目标可信节点的签名信息进行签名认证,并在签名认证通过后,将对等节点信息添加到新节点的可信节点列表。

Description

获取可信节点的方法、装置、存储介质及区块链节点
技术领域
本公开涉及信息技术领域,尤其涉及一种获取可信节点的方法、装置、存储介质及区块链节点。
背景技术
区块链作为一种通过去中心化和去信任化的方式集体维护一个可靠数据库的技术方案,新节点在准备访问区块链时,不会去对该区块链上的节点进行认证,因而新节点无法获知区块链上的节点是否是可信任的。然而,在一些特定的使用场景中,为了实现节点间的安全互访,这就需要新节点对区块链上的节点进行认证以确保这些节点是可信任的。而现有的身份认证方式,通常需要双方各自找一个可信任的第三方CA机构为各自颁发一张数字身份证书,双方通过互传各自的数字身份证书来认证对方身份。这种中心化的获取可信节点的方式,存在削弱区块链非中心化的优势的问题。
发明内容
本公开的主要目的是提供一种获取可信节点的方法、装置、存储介质及区块链节点,用以解决现有获取可信节点的方式由于第三方机构参与导致的削弱区块链非中心化优势的技术问题。
为了实现上述目的,本公开第一方面提供一种获取可信节点的方法,应用于待接入区块链网络的新节点,所述方法包括:向目标可信节点发送查询请求,所述目标可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;接收所述目标可信节点发送的查询响应,所述查询响应包括所述目标可信节点的签名信息和所述目标可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述目标可信节点建立P2P连接的节点信息;对所述目标可信节点的签名信息进行签名认证,并在签名认证通过后,将所述对等节点信息添加到所述新节点的可信节点列表。
本公开第二方面提供一种获取可信节点的方法,应用于待接入区块链网络的新节点,所述方法包括:向所述默认可信节点发送P2P连接请求,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点;接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息;根据所述P2P连接响应对所述默认可信节点进行身份认证,并在身份认证通过后,将所述默认可信节点以及所述对等节点信息加入所述新节点的可信节点列表。
本公开第三方面提供一种获取可信节点的方法,应用于区块链网络中的可信节点,所述方法包括:接收待接入所述区块链网络中的新节点发送的查询请求,所述查询请求包括所述新节点的签名信息,所述可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送查询响应,所述查询响应包括所述可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述可信节点建立P2P连接的节点信息。
本公开第四方面提供一种获取可信节点的方法,应用于区块链网络的默认可信节点,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点,所述方法包括:接收待接入所述区块链网络的新节点发送的P2P连接请求;根据所述P2P连接请求对所述新节点进行身份认证,并在身份认证通过后,向所述新节点发送P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息。
本公开第五方面提供一种获取可信节点的装置,应用于待接入区块链网络的新节点,所述装置包括:查询请求模块,用于向目标可信节点发送查询请求,所述目标可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;查询响应接收模块,用于接收所述目标可信节点发送的查询响应,所述查询响应包括所述目标可信节点的签名信息和所述目标可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述目标可信节点建立P2P连接的节点信息;第一签名认证模块,用于对所述目标可信节点的签名信息进行签名认证,并在签名认证通过后将所述对等节点信息添加到所述新节点的可信节点列表。
本公开第六方面提供一种获取可信节点的装置,应用于待接入区块链网络的新节点,所述装置包括:第一连接请求模块,用于向所述默认可信节点发送P2P连接请求,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点;第一连接响应接收模块,用于接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息;身份认证模块,用于根据所述P2P连接响应对所述默认可信节点进行身份认证,并在身份认证通过后,将所述默认可信节点以及所述对等节点信息加入所述新节点的可信节点列表。
本公开第七方面提供一种获取可信节点的装置,应用于区块链网络中的可信节点,所述装置包括:查询请求接收模块,用于接收待接入所述区块链网络中的新节点发送的查询请求,所述查询请求包括所述新节点的签名信息,所述可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;查询响应模块,用于对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送查询响应,所述查询请求包括所述可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述可信节点建立P2P连接的节点信息。
本公开第八方面提供一种获取可信节点的装置,应用于区块链网络中的默认可信节点,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点,所述装置包括:第二连接请求接收模块,用于接收待接入所述区块链网络的新节点发送的P2P连接请求;第二连接响应模块,用于根据所述P2P连接请求对所述新节点进行身份认证,并在身份认证通过后,向所述新节点发送P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息。
本公开第九方面提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第一方面所述的方法。
本公开第十方面提供一种区块链节点,应用于待接入区块链网络的新节点,包括:第九方面所述的非临时性计算机可读存储介质;以及一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开第十一方面提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第二方面所述的方法。
本公开第十二方面提供一种区块链节点,应用于待接入区块链网络的新节点,包括:第十一方面所述的非临时性计算机可读存储介质;以及一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开第十三方面提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第三方面所述的方法。
本公开第十四方面提供一种区块链节点,应用于区块链网络中的可信节点,包括:第十三方面所述的非临时性计算机可读存储介质;以及一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开第十五方面提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行第四方面所述的方法。
本公开第十六方面提供一种区块链节点,应用于区块链网络的默认可信节点,包括:十五方面所述的非临时性计算机可读存储介质;以及一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
采用上述技术方案,通过对区块链网络中的默认可信节点或者可信节点列表中的节点进行认证,并在认证通过后获取这些可信任的节点的对等节点以作为新节点的可信节点,无需中心化的第三方机构参与,可以避免区块链非中心化优势被削弱。同时,可以避免数字证书颁发所带来的高度复杂。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
图1是根据本公开一示例性实施例示出的实施环境示意图;
图2是根据一示例性实施例示出的一种获取可信节点的方法的流程图,其中,该方法应用于待接入区块链网络的新节点;
图3是根据一示例性实施例示出的一种获取可信节点的方法的流程图,其中,该方法应用于区块链网络中的可信节点;
图4是根据本公开的一示例性实施例示出的一种获取可信节点的方法的信令交互示意图;
图5是根据本公开的另一示例性实施例示出的一种获取可信节点的方法的信令交互示意图;
图6是根据本公开的另一示例性实施例示出的一种获取可信节点的方法的信令交互示意图;
图7是根据本公开一示例性实施例示出的一种获取可信节点的装置的框图,其中,该装置应用于待接入区块链网络的新节点;
图8是根据本公开另一示例性实施例示出的一种获取可信节点的装置的框图,其中,该装置应用于待接入区块链网络的新节点;
图9是根据本公开一示例性实施例示出的一种获取可信节点的装置的框图,其中,该装置应用于区块链网络中的可信节点;
图10是根据本公开另一示例性实施例示出的一种获取可信节点的装置的框图,其中,该装置应用于区块链网络中的默认可信节点。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面首先对涉及到的相关技术进行简单介绍。
区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链由其特别的区块和交易产生、验证协议,具有不可更改,不可伪造、完全可追溯的安全特性。
区块链技术中涉及到的相关概念说明:
区块链节点:区块链网络基于P2P(Peer to Peer,对等网络)网络,每个参与交易和区块存储、验证、转发的P2P网络节点都是一个区块链网络中的节点。
用户身份:区块链中的用户身份使用公钥表示,并且公钥和私钥是成对出现的,其中,私钥由用户掌握而不发布到上述的区块链网络中,公钥通过特定的哈希和编码后成为“地址”,“地址”代表了用户,并且公钥和“地址”可随意发布在区块链网络中。值得一提的是,用户身份和区块链节点不存在一一对应关系,用户可以在任意一个区块链节点上使用自己的私钥。
区块链数据写入:区块链节点通过向区块链网络发布“交易”(Transaction)实现向区块链写入数据。交易中包含用户使用自己私钥对交易的签名,以证明用户的身份。交易被“矿工”(执行区块链共识竞争机制的区块链节点)记录入产生的新区块,然后发布到区块链网络,并被其他区块链节点验证通过和接受后,交易数据即被写入区块链。
图1是根据本公开一示例性实施例示出的实施环境示意图。如图1所示,该实施环境可以包括:由若干节点组成的区块链网络10和待接入该区块链网络10的新节点20。其中,默认可信节点11、参与节点12、第一管理员13和第二管理员14分别为区块链网络10中的节点。默认可信节点11是预置到区块链网络10中的可信节点,参与节点22可以包括默认可信节点11的对等节点(即区块链网络10中与默认可信节点11建立P2P连接的节点)以及子对等节点(即对等节点的对等节点)。第一管理员13可以对默认可信节点11和参与节点12进行部署;第二管理员14可对应与参与区块链网络10的某个机构,其可对接入区块链网络10的新节点进行控制,例如将允许接入区块链网络10的新节点20的账户信息和许可信息等写入区块链中。
可以理解的是,图1所示的实施环境仅用于示意本公开实施例提供的方法,并不构成对本公开实施例的限制。例如,第一管理员13可在区块链网络10中部署一个或多个默认可信节点11以及多个参与节点12,本公开对此不做限定。
如图2所示,基于图1所示的实施环境,本公开一示例性实施例示出的一种获取可信节点的方法,该方法可以应用于待接入区块链网络中的新节点,例如图1所示的新节点20。该方法包括:
在步骤S201中,向目标可信节点发送查询请求,目标可信节点是区块链网络中的管理员预置到区块链网络中的默认可信节点或者是新节点的可信节点列表中的节点。
在步骤S202中,接收目标可信节点发送的查询响应,查询响应包括目标可信节点的签名信息和目标可信节点的对等节点信息。
其中,对等节点信息包括区块链网络中与目标可信节点建立P2P连接的节点信息。
在步骤S203中,对目标可信节点的签名信息进行签名认证,并在签名认证通过后,将对等节点信息添加到新节点的可信节点列表。
在一种可能的实施方式中,目标可信节点可以是区块链网络中的管理员预置到区块链网络中的默认可信节点,例如图1所示的第一管理员13预置到区块链网络中的默认可信节点11。相应地,新节点接收到的默认可信节点返回的连接响应包括默认可信节点的签名信息和默认可信节点的对等节点信息(即区块链网络中与默认可信节点建立P2P连接的节点信息)。其中,默认可信节点的签名信息用于验证该默认可信节点是否合法。新节点中可以预置有默认可信节点的公钥,这样,新节点可以根据该预置的公钥对该签名信息进行签名认证,若签名认证通过,则表明该默认可信节点合法,则可将默认可信节点的对等节点视为新节点的可信节点,因而可将默认可信节点的对等节点信息加入到可信节点列表中。
其中,默认可信节点的对等节点信息至少包括该默认可信节点的对等节点的IP地址、公钥等信息,这样,新节点的可信节点列表中便记录了每一可信节点的IP地址和公钥等信息。
由于默认可信节点是预置到区块链网络中的可信节点,新节点在确认默认可信节点通过身份认证后将默认可信节点的对等节点作为自己的可信节点,可以保证获取到的可信节点是可信任的。
新节点还可以从其可信节点列表中选择任一可信节点进行双向认证以及后续的通信。例如,新节点可根据可信节点列表中各可信节点的IP地址选择距离自己较近的可信节点进行双向认证以及后续的通信。
具体地,新节点可向其可信节点列表中的任一可信节点发送业务请求,并接收该可信节点返回的业务响应,其中,业务响应包括该可信节点的签名信息以及业务数据。接着,新节点根据该可信节点的公钥对该可信节点的签名信息进行签名认证,若签名认证通过,则表明该可信节点合法,因而可接受该可信节点返回的业务数据。
例如,新节点可选择其可信节点列表中的任一可信节点作为目标可信节点,通过向该目标可信节点发送请求该可信节点的对等节点信息的业务请求,获取这些可信节点的对等节点作为更多的可信节点来源。
为了保证与目标可信节点之间安全通信,新节点与目标可信节点进行加密通信。例如,新节点可生成加密密钥,并通过目标可信节点的公钥对加密密钥加密后发送给目标可信节点,由目标可信节点的私钥解密后得到该加密密钥,并接收目标可信节点返回的签名信息以及目标可信节点利用加密密钥加密后的业务数据,且根据目标可信节点的公钥对目标可信节点的签名信息进行签名认证,在签名认证通过后根据生成的加密密钥对加密后的业务数据解密。
采用上述方法,与现有技术中需要依赖第三方可信机构与目标节点进行双向认证相比,本公开实施例提供的获取可信节点的方法,通过对区块链网络中的默认可信节点进行双向认证并在认证通过后通过默认可信节点获取可信节点,由于整个过程无需中心化的第三方机构参与,可以避免区块链非中心化优势被削弱。同时,可以避免数字证书颁发所带来的复杂度。
在本公开中,新节点可以包括但不限于各种终端、区块链轻节点和区块链全节点等等。若新节点为区块链轻节点或区块链全节点,则需要同步区块链数据,因此需要与目标可信节点建立P2P连接。
在一种可能的实施方式中,新节点可通过默认可信节点同步区块链数据,即,新节点在向默认可信节点发送查询请求之前向默认可信节点发送P2P连接请求,接收默认可信节点发送的包括默认可信节点的签名信息的P2P连接响应,并根据预置的默认可信节点的公钥对默认可信节点的签名信息进行签名认证,若签名认证通过,则表明该默认可信节点合法,因此可与该默认可信节点建立P2P连接。在与默认可信节点建立起P2P连接后,新节点便可向默认可信节点发送查询请求以获取默认可信节点的对等节点信息。与此同时,新节点还可通过P2P连接向默认可信节点请求同步区块数据。
为了提高同步效率,减轻默认可信节点的负担,新节点还可通过其他可信节点同步区块数据,即,从其可信节点列表中选择可信节点进行双向认证,在认证通过后向选中的可信节点发起P2P连接请求,也可以响应选中的可信节点的P2P连接请求,并通过与选中的可信节点之间的P2P连接进行同步区块链数据的操作。
在另一种可能的实施方式中,为了减少额外的请求步骤,新节点还可在向默认可信节点发送P2P连接请求的同时,请求获取默认可信节点的对等节点信息,接收默认可信节点发送的包括默认可信节点的对等节点信息的P2P连接响应,并根据P2P连接响应对默认可信节点进行身份认证,且在身份认证通过后将默认可信节点以及对等节点信息加入新节点的可信节点列表中。其中,新节点中预置有默认可信节点的公钥,默认可信节点返回的对等节点信息中包括各对等节点的公钥,因此新节点的可信节点列表中记录有每一可信节点的公钥。
值得说明的是,在基于许可权限的区块链网络中,新节点在没有同步完相关区块链数据之前,是无法验证非默认可信节点的权限以及从非默认可信节点同步数据。采用默认可信节点的对等节点(以及子对等节点)作为可信节点及双向认证的方案,则可解决上述问题:可信节点可作为一种已通过权限验证的节点。
此外,关于新节点还可以根据区块链网络的具体要求灵活地对其可信节点进行维护,比如限制可信节点的数目以及非默认可信节点作为可信节点的时效性等。
本公开实施例还提供另一种获取可信节点的方法,该方法可以应用于区块链网络中的可信节点,如图3所示,该方法包括:
在步骤S301中,接收待接入区块链网络中的新节点发送的查询请求,查询请求包括新节点的签名信息。
其中,可信节点可以是区块链网络中的管理员(如图1所示的第一管理员13)预置到区块链网络中的默认可信节点,或者是新节点的可信节点列表中的节点。
在步骤S302中,对新节点的签名信息进行签名认证,并在签名认证通过后向新节点发送查询响应,查询响应包括可信节点的对等节点信息。
在一种可能的实施方式中,区块链网络中的管理员可将新节点的身份信息(包括新节点的公钥或账户地址等)加入到区块链中。这样,可信节点在接收到新节点发送的包括其签名信息的查询请求时,可从区块链中获取到新节点的身份信息并根据该新节点的身份信息对其签名信息进行签名认证,若签名认证通过,则表明该新节点合法,因而可将其签名信息以及对等节点信息发送给该新节点。其中,对等节点信息包括区块链网络中与该可信节点建立P2P连接的节点信息。
在本公开的各实施例中,新节点可以包括但不限于各种终端、区块链轻节点和区块链全节点等等。若新节点为区块链轻节点或区块链全节点,还需向可信节点发送P2P连接请求,通过与可信节点建立P2P连接同步可信节点的区块链数据。
在一种可能的实施方式中,新节点可向默认可信节点发送P2P连接请求,其中,P2P连接请求包括新节点的签名信息。默认可信节点在接收到P2P连接请求时,可以从区块链中查询新节点的公钥根据该新节点的公钥对新节点的签名信息进行签名认证,若签名认证通过,则表明该新节点合法,因而向新节点发送P2P连接响应。
为了减少额外的请求步骤,默认可信节点在确认新节点通过签名认证后,还可在P2P连接响应中携带其对等节点信息。其中,默认可信节点的对等节点信息至少包括默认可信节点的对等节点的IP地址、公钥等。
此外,在其他实施方式中,默认可信节点在接收到新节点发送的P2P连接请求后以及在对新节点进行身份认证之前,还可认证该新节点在区块链中是否具有接入许可。例如,区块链网络中的管理员(如图1所示的第二管理员14)将允许接入区块链的新节点的身份信息(如新节点的公钥、账户地址等)写入区块链中并配置该身份信息对应的许可信息。新节点发送的P2P连接请求还包括新节点的身份信息(如该新节点的账户地址),默认可信节点可根据接收到的新节点的身份信息查询区块链中存储的属于该新节点账户下的所有信息,进一步可以确定该账户下的所有信息中是否存储与该身份信息对应的许可信息,若查询到该账户下的所有信息中存储有与该身份信息对应的许可信息,则表明该新节点账户在区块链上具有接入许可。
采用上述方法,可信节点对待接入区块链网络中的新节点进行身份认证,在确认该新节点合法后向新节点发送可信节点的对等节点信息,从而保证区块链网络接收合法的新节点。
为了使本公开实施例提供的技术方案更加易于理解,下面再结合本公开实施例各种可能的信令交互方式进行详细说明。
图4是根据本公开的一示例性实施例示出的一种获取可信节点的方法的信令交互示意图,其中,新节点是区块链轻节点或区块链全节点。如图4所示,该方法包括:
在步骤S401中,第一管理员部署区块链网络中的默认可信节点。
在步骤S402中,第一管理员部署区块链网络中的参与节点。
例如,第一管理员可以为如图1所示的第一管理员13。
其中,参与节点包括可参与到区块链网络中的默认可信节点的对等节点及子对等节点。
在步骤S403中,新节点创建自己的账户并预置默认可信节点的公钥。
其中,新节点的账户信息包括新节点的公钥、私钥以及账户地址。
在步骤S404中,新节点将其身份信息发送给第二管理员。
其中,新节点的身份信息可以包括新节点的公钥、账户地址等。
第二管理员可以例如为如图1所示的第二管理员14。
在步骤S405中,第二管理员将新节点的身份信息写入区块链中并配置相应的许可信息。
在步骤S406中,新节点向默认可信节点发送P2P连接请求。
在步骤S407中,默认可信节点检查该新节点是否具有接入许可以及对该新节点进行身份认证。
其中,若新节点通过身份认证,则表明该新节点合法。
在步骤S408中,默认可信节点在确认该新节点具有接入许可且合法后,向该新节点发送P2P连接响应。
在步骤S409中,新节点对默认可信节点进行身份认证并在身份认证通过后与默认可信节点建立P2P连接。
在步骤S410中,新节点向默认可信节点发送区块数据同步请求。
在步骤S411中,默认可信节点向新节点返回数据同步响应,其中,数据同步响应包括区块链中的区块数据。
在步骤S412中,新节点向默认可信节点发送查询请求。
在步骤S413中,默认可信节点向新节点返回其对等节点信息。
其中,对等节点信息可以包括默认可信节点的对等节点的IP地址、公钥等。
在步骤S414中,新节点将默认可信节点的对等节点信息加入新节点的可信节点列表。
在步骤S415中,新节点选择可信节点列表中的任一可信节点进行双向认证和通信。
图5是根据本公开的另一示例性实施例示出的一种获取可信节点的方法的信令交互示意图,其中,新节点是终端。如图5所示,该方法包括:
在步骤S501中,第一管理员部署区块链网络中的默认可信节点。
在步骤S502中,第一管理员部署区块链网络中的参与节点。
例如,第一管理员可以为如图1所示的第一管理员13。
其中,参与节点包括默认可信节点的对等节点及子对等节点。
在步骤S503中,新节点创建自己的账户并预置默认可信节点的公钥。
其中,新节点的账户信息包括新节点的公钥、私钥以及账户地址。
在步骤S504中,新节点将其身份信息发送给第二管理员。
其中,新节点的身份信息可以包括新节点的公钥或账户地址等。
在步骤S505中,第二管理员将新节点的身份信息写入区块链中并配置相应的许可信息。
第二管理员可以例如为如图1所示的第二管理员14。
在步骤S506中,新节点向默认可信节点发送查询请求。
其中,查询请求可以包括新节点的签名信息。
在步骤S507中,默认可信节点检查该新节点是否具有接入许可以及对新节点进行身份认证。
其中,若新节点通过身份认证,则表明该新节点合法。
在步骤S508中,默认可信节点在确认新节点具有接入许可且通过身份认证后向新节点发送查询响应,查询响应包括默认可信节点的对等节点信息。
在步骤S509中,新节点对默认可信节点进行身份认证,并在身份认证通过后将默认可信节点的对等节点信息加入新节点的可信节点列表。
在步骤S510中,新节点将选择可信节点列表中的任一可信节点进行双向认证和通信。
值得说明的是,在上述图4和图5所述的实施例中,新节点与默认可信节点之间的双向认证、新节点同步区块数据的过程以及新节点与其可信节点列表中任一可信节点进行双向认证和通信的过程可以参照图1提供的实施环境以及图2和图3提供的获取可信节点的方法的描述,此处不再赘述。
其次,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
此外,在本公开的实施例中,以以太坊区块链为例,各个节点之间建立起P2P连接后会各自维护对等节点列表信息。每个对等节点信息包含的信息有:ID、名字、Enode、IP、Port及支持协议等信息。其中,Enode是一个编码的URL,用于其他节点对该节点主动对等添加。而ID信息是一个节点的标识,也是和这个节点进行P2P相关通信的加密密钥。实质上,这个ID是节点身份公钥的衍生数据。一般情况下,此ID公钥对应的账户只是用来标识节点,由节点程序自动生成,其并不参与链上的业务逻辑,所以可考虑以相同的衍生方式为节点信息添加一个TID信息。此TID信息由标识该节点业务身份账户的公钥衍生,P2P发现后一同传递给各节点。此后各节点业务访问可使用该TID恢复公钥,从而进行双向认证以及后续的相关加密通信,例如ECIES。
结合前述描述及综合安全设计的考量,基于许可链(Authchain),根据本公开的一示例性实施例示出了一种访问区块链网络的方法,其中,新节点为终端,默认可信节点为许可链中预置的启动节点(Bootnode),如图6所示,该方法包括:
在步骤S601中,第一管理员部署区块链网络中可信的启动节点。
在步骤S602中,第一管理员部署区块链网络中的参与节点。
其中,参与节点可以包括区块链网络中启动节点的对等节点及子对等节点。
在步骤S603中,终端创建自己的账户并预置启动节点的公钥。
其中,终端账户包括终端的公钥Cpub、私钥Cpri以及账户地址。
在步骤S604中,终端将其身份信息发送给区块链网络中的第二管理员。
其中,终端的身份信息可以包括终端的公钥Cpub和账户地址。
在步骤S605中,第二管理员将终端的身份信息写入区块链并配置相应的权限信息。
在步骤S606中,终端向启动节点发送P2P连接请求,P2P连接请求包括第一随机挑战码。
在步骤S607中,启动节点向终端发送P2P连接响应,P2P连接响应包括第二随机挑战码。
在步骤S608中,终端使用其私钥对第二随机挑战码进行签名,得到第一签名信息。
在步骤S609中,终端生成加密密钥并使用启动节点的公钥对加密密钥加密,得到第一加密信息。
在步骤S610中,终端向启动节点发送第一认证挑战,第一认证挑战包括终端的身份信息、第一签名信息和第一加密信息。
其中,终端的身份信息可以为终端的公钥Cpub或账户地址。
如上所述,终端中预存有启动节点的公钥AB_Pub,终端可根据其私钥Cpri对第二随机挑战码Sranno进行签名,得到第一签名信息CsignData,并根据启动节点的公钥AB_Pub对生成的加密密钥Symkey进行加密,得到第一加密信息Esymkey,且在向启动节点发起第一认证挑战时将其身份信息(Cpub或账户地址)、第一签名信息CsignData以及第一加密信息Esymkey发送给启动节点。与此同时,终端向启动节点发起指示查询对等节点的查询请求,以获取启动节点的对等节点信息。
在步骤S611中,启动节点根据终端的身份信息检查终端合法性以及对第一签名信息进行签名认证。
值得说明的是,许可链已经实现了对区块链节点的权限管理,故在此的合法性检查即为在许可链中对节点的权限检查。
在对第一签名信息进行认证时,启动节点可根据终端的身份信息查询区块链,获取终端的公钥,并根据终端的公钥对第一签名信息进行签名认证,若签名认证通过,则可确定终端为身份信息表示的终端,则执行步骤S611,否则,结束流程。
在步骤S612中,在确认终端合法且第一签名信息认证通过时,启动节点根据其私钥对第一加密信息进行解密,得到加密密钥。
在步骤S613中,启动节点根据加密密钥对其对等节点信息进行加密得到第二加密信息,并根据其私钥对第一随机挑战码进行签名得到第二签名信息。
在步骤S614中,启动节点将包括第二加密信息和第二签名信息的第一认证挑战响应发送给终端。
如上所述,启动节点可根据其私钥AB_Pri对第一加密信息Esymkey进行解密,从而得到加密密钥Symkey。为了保证通信安全,启动节点可利用加密密钥Symkey对其对等节点信息进行加密,得到第二加密信息。同时,为了表明其身份,启动节点根据其私钥AB_Pri对第一随机挑战码Cranno进行签名,得到第二签名信息SsignData,并将第二签名信息SsignData和第二加密信息发送给终端。
在步骤615中,终端对第二签名信息进行签名认证,在签名认证通过后解密第二加密信息得到启动节点的对等节点信息并将对等节点信息加入终端的可信节点列表。
终端可根据其预存的启动节点的公钥AB_Pub对第二签名信息SsignData进行签名认证,若签名认证通过,则表明该启动节点合法,因而可将启动节点的对等节点也视为可信节点。因此,在签名认证通过后,启动节点可根据加密密钥Symkey对第二加密信息进行解密,得到启动节点的对等节点信息,并将对等节点信息加入其可信节点列表,以将启动节点的对等节点作为自己的可信节点。其中,对等节点信息包括启动节点的对等节点的公钥。
在步骤S616中,终端选择可信节点列表中的任一可信节点进行业务请求,业务请求包括第三随机挑战码。
在步骤S617中,可信节点向终端发送业务响应,业务响应包括该可信节点的公钥和第四随机挑战码。
在步骤S618中,终端根据该可信节点的公钥验证该启动节点是否在可信节点列表中。
终端的可信节点列表中存储有各可信节点的公钥,因而在接收到某一可信节点的业务响应后,可查询可信节点列表中是否存储与业务响应中携带的该可信节点的公钥Spub,若可信节点列表中存储有该可信节点的公钥Spub,则表明该可信节点在可信节点列表中。
在步骤S619中,在确认该可信节点在可信节点列表中时,终端使用其私钥对第四随机挑战码进行签名,得到第三签名信息。
在步骤S620中,终端根据可信节点的公钥对加密密钥进行加密,得到第三加密信息。
在步骤S621中,终端向可信节点发起第二认证挑战,第二认证挑战包括终端的身份信息、第三签名信息和第三加密信息。
其中,终端的身份信息可以为终端的公钥Cpub或账户地址。
在步骤S622中,可信节点根据终端的身份信息检查终端合法性以及对第三签名信息进行签名认证。
在步骤S623中,在确认终端合法且第三签名信息认证通过时,可信节点根据其私钥对第三加密信息进行解密,得到加密密钥。
在步骤S624中,可信节点根据加密密钥对业务数据进行加密,并根据其私钥对第三随机挑战码进行签名得到第四签名信息。
在步骤S625中,可信节点将包括加密后的业务数据以及第四签名信息的第二认证挑战响应发送给终端。
在步骤S626中,终端对第四签名信息进行签名认证,在签名认证通过后解密得到业务数据。
值得说明的是,终端与可信节点之间进行双向认证和加密通信的过程可参考前述终端与启动节点之间的双向认证和加密通信过程,在此不再赘述。
其次,终端可以本地维护可信节点的信息及有效期,后续加密通信的加密密钥由终端产生,并在双向认证过程中传递给对方,以此减少交互次数,在其他实施方式中,加密密钥也可以调整为协商产生,如ECIES。
另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图7是根据本公开一示例性实施例示出的一种获取可信节点的装置700的框图,该装置700应用于待接入区块链网络的新节点,其中,新节点可以是终端、区块链轻节点和区块链全节点,所述装置700用于实施上述方法实施例中提供的如图2所示的获取可信节点的方法,如图7所示,该装置700包括:
查询请求模块701,用于向目标可信节点发送查询请求,所述目标可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
查询响应接收模块702,用于接收所述目标可信节点发送的查询响应,所述查询响应包括所述目标可信节点的签名信息和所述目标可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述目标可信节点建立P2P连接的节点信息;
第一签名认证模块703,用于对所述目标可信节点的签名信息进行签名认证,并在签名认证通过后将所述对等节点信息添加到所述新节点的可信节点列表。
可选地,所述目标可信节点为所述默认可信节点,所述新节点预置有所述默认可信节点的公钥,所述装置700还包括:
第一连接请求模块704,用于向所述默认可信节点发送P2P连接请求;
第一连接响应接收模块705,用于接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的签名信息;
第二签名认证模块706,用于根据所述默认可信节点的公钥对所述默认可信节点的签名信息进行签名认证,并在签名认证通过后,与所述默认可信节点建立起P2P连接。
可选地,所述装置700还包括:
第一认证及通信模块707,用于从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
可选地,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述第一认证及通信模块707包括:
第一业务请求子模块771,用于向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
第一业务响应接收子模块772,用于接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
第一签名验证子模块773,用于根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相应地,本公开实施例还提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的如图2所示的获取可信节点的方法。
相应地,本公开实施例还提供一种区块链节点,应用于待接入区块链网络的新节点,包括上述非临时性计算机可读存储介质;以及一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
图8是根据本公开另一示例性实施例示出的一种获取可信节点的装置800的框图,该装置800应用于待接入区块链网络的新节点,其中,新节点可以是终端、区块链轻节点和区块链全节点,所述装置800用于实施上述方法实施例中提供的如图2所示的获取可信节点的方法,如图8所示,该装置800包括:
第一连接请求模块801,用于向所述默认可信节点发送P2P连接请求,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点;
第一连接响应接收模块802,用于接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息;
身份认证模块803,用于根据所述P2P连接响应对所述默认可信节点进行身份认证,并在身份认证通过后,将所述默认可信节点以及所述对等节点信息加入所述新节点的可信节点列表。
可选地,所述装置800还包括:
第二认证及通信模块804,用于从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
可选地,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述第二认证及通信模块804包括:
第二业务请求子模块841,用于向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
第二业务响应接收子模块842,用于接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
第二签名验证子模块843,用于根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相应地,本公开实施例还提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的如图2所示的获取可信节点的方法。
相应地,本公开实施例还提供一种区块链节点,应用于待接入区块链网络的新节点,包括上述非临时性计算机可读存储介质;以及一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
图9是根据本公开一示例性实施例示出的一种获取可信节点的装置900的框图,该装置900应用于区块链网络中的可信节点,所述装置900用于实施上述方法实施例中提供的如图3所示的获取可信节点的方法,如图9所示,该装置900包括:
查询请求接收模块901,用于接收待接入所述区块链网络中的新节点发送的查询请求,所述查询请求包括所述新节点的签名信息,所述可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
查询响应模块902,用于对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送查询响应,所述查询请求包括所述可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述可信节点建立P2P连接的节点信息。
可选地,所述可信节点为所述默认可信节点,所述装置900还包括:
第一连接请求接收模块903,用于接收所述新节点发送的P2P连接请求,所述连接请求包括所述新节点的签名信息;
第一连接响应模块904,用于对所述新节点的签名信息进行签名验证,并在签名认证通过后向所述新节点发送P2P连接响应。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相应地,本公开实施例还提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的如图3所示的获取可信节点的方法。
相应地,本公开实施例还提供一种区块链节点,应用于区块链网络中的可信节点,包括上述非临时性计算机可读存储介质;以及一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
图10是根据本公开另一示例性实施例示出的一种获取可信节点的装置1000的框图,该装置1000应用于区块链网络中的默认可信节点,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点,所述装置1000用于实施上述方法实施例中提供的如图3所示的获取可信节点的方法,如图10所示,该装置1000包括:
第二连接请求接收模块1001,用于接收待接入所述区块链网络的新节点发送的P2P连接请求;
第二连接响应模块1002,用于根据所述P2P连接请求对所述新节点进行身份认证,并在身份认证通过后,向所述新节点发送P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相应地,本公开实施例还提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权上述应用于实施上述方法实施例中提供的如图3所示的获取可信节点的方法。
相应地,本公开实施例还提供一种区块链节点,应用于区块链网络的默认可信节点,包括上述非临时性计算机可读存储介质;以及一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。

Claims (28)

1.一种获取可信节点的方法,其特征在于,应用于待接入区块链网络的新节点,所述方法包括:
向目标可信节点发送查询请求,所述目标可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
接收所述目标可信节点发送的查询响应,所述查询响应包括所述目标可信节点的签名信息和所述目标可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述目标可信节点建立P2P连接的节点信息;
对所述目标可信节点的签名信息进行签名认证,并在签名认证通过后,将所述对等节点信息添加到所述新节点的可信节点列表。
2.根据权利要求1所述的方法,其特征在于,所述目标可信节点为所述默认可信节点,所述新节点预置有所述默认可信节点的公钥,则在所述向目标可信节点发送查询请求之前,所述方法还包括:
向所述默认可信节点发送P2P连接请求;
接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的签名信息;
根据所述默认可信节点的公钥对所述默认可信节点的签名信息进行签名认证,并在签名认证通过后,与所述默认可信节点建立起P2P连接。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
4.根据权利要求3所述的方法,其特征在于,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信,包括:
向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
5.一种获取可信节点的方法,其特征在于,应用于待接入区块链网络的新节点,所述方法包括:
向所述默认可信节点发送P2P连接请求,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点;
接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息;
根据所述P2P连接响应对所述默认可信节点进行身份认证,并在身份认证通过后,将所述默认可信节点以及所述对等节点信息加入所述新节点的可信节点列表。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
7.根据权利要求6所述的方法,其特征在于,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信,包括:
向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
8.一种获取可信节点的方法,其特征在于,应用于区块链网络中的可信节点,所述方法包括:
接收待接入所述区块链网络中的新节点发送的查询请求,所述查询请求包括所述新节点的签名信息,所述可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送查询响应,所述查询响应包括所述可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述可信节点建立P2P连接的节点信息。
9.根据权利要求8所述的方法,其特征在于,所述可信节点为所述默认可信节点,所述方法还包括:
接收所述新节点发送的P2P连接请求,所述P2P连接请求包括所述新节点的签名信息;
对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送P2P连接响应。
10.一种获取可信节点的方法,其特征在于,应用于区块链网络的默认可信节点,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点,所述方法包括:
接收待接入所述区块链网络的新节点发送的P2P连接请求;
根据所述P2P连接请求对所述新节点进行身份认证,并在身份认证通过后,向所述新节点发送P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息。
11.一种获取可信节点的装置,其特征在于,应用于待接入区块链网络的新节点,所述装置包括:
查询请求模块,用于向目标可信节点发送查询请求,所述目标可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
查询响应接收模块,用于接收所述目标可信节点发送的查询响应,所述查询响应包括所述目标可信节点的签名信息和所述目标可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述目标可信节点建立P2P连接的节点信息;
第一签名认证模块,用于对所述目标可信节点的签名信息进行签名认证,并在签名认证通过后将所述对等节点信息添加到所述新节点的可信节点列表。
12.根据权利要求11所述的装置,其特征在于,所述目标可信节点为所述默认可信节点,所述新节点预置有所述默认可信节点的公钥,所述装置还包括:
第一连接请求模块,用于向所述默认可信节点发送P2P连接请求;
第一连接响应接收模块,用于接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的签名信息;
第二签名验证模块,用于根据所述默认可信节点的公钥对所述默认可信节点的签名信息进行签名认证,并在签名认证通过后,与所述默认可信节点建立起P2P连接。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
第一认证及通信模块,用于从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
14.根据权利要求13所述的装置,其特征在于,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述第一认证及通信模块包括:
第一业务请求子模块,用于向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
第一业务响应接收子模块,用于接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
第一签名验证子模块,用于根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
15.一种获取可信节点的装置,其特征在于,应用于待接入区块链网络的新节点,所述装置包括:
第一连接请求模块,用于向所述默认可信节点发送P2P连接请求,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点;
第一连接响应接收模块,用于接收所述默认可信节点发送的P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息;
身份认证模块,用于根据所述P2P连接响应对所述默认可信节点进行身份认证,并在身份认证通过后,将所述默认可信节点以及所述对等节点信息加入所述新节点的可信节点列表。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二认证及通信模块,用于从所述新节点的可信节点列表中选择可信节点进行双向认证和双向加密通信。
17.根据权利要求16所述的装置,其特征在于,所述新节点的可信节点列表中记录有每一可信节点的公钥,所述第二认证及通信模块包括:
第二业务请求子模块,用于向所述新节点中的可信节点列表中的任一可信节点发送业务请求;
第二业务响应接收子模块,用于接收所述任一可信节点发送的业务响应,所述业务响应包括所述任一可信节点的签名信息以及业务数据;
第二签名验证子模块,用于根据所述任一可信节点的公钥对所述任一可信节点的签名信息进行签名认证,并在签名认证通过后,解密获取所述业务数据。
18.一种获取可信节点的装置,其特征在于,应用于区块链网络中的可信节点,所述装置包括:
查询请求接收模块,用于接收待接入所述区块链网络中的新节点发送的查询请求,所述查询请求包括所述新节点的签名信息,所述可信节点是所述区块链网络中的管理员预置到所述区块链网络中的默认可信节点,或者是所述新节点的可信节点列表中的节点;
查询响应模块,用于对所述新节点的签名信息进行签名认证,并在签名认证通过后向所述新节点发送查询响应,所述查询请求包括所述可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述可信节点建立P2P连接的节点信息。
19.根据权利要求18所述的装置,其特征在于,所述可信节点为所述默认可信节点,所述装置还包括:
第一连接请求接收模块,用于接收所述新节点发送的P2P连接请求,所述P2P连接请求包括所述新节点的签名信息;
第一连接响应模块,用于对所述新节点的签名信息进行签名验证,并在签名认证通过后向所述新节点发送P2P连接响应。
20.一种获取可信节点的装置,其特征在于,应用于区块链网络中的默认可信节点,所述默认可信节点是所述区块链网络中的管理员预置到所述区块链网络中的可信节点,所述装置包括:
第二连接请求接收模块,用于接收待接入所述区块链网络的新节点发送的P2P连接请求;
第二连接响应模块,用于根据所述P2P连接请求对所述新节点进行身份认证,并在身份认证通过后,向所述新节点发送P2P连接响应,所述P2P连接响应包括所述默认可信节点的对等节点信息,所述对等节点信息包括所述区块链网络中与所述默认可信节点建立P2P连接的节点信息。
21.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求1-4中任一项所述的方法。
22.一种区块链节点,应用于待接入区块链网络的新节点,其特征在于,包括:
权利要求21所述的非临时性计算机可读存储介质;以及
一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
23.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求5-7中任一项所述的方法。
24.一种区块链节点,应用于待接入区块链网络的新节点,其特征在于,包括:
权利要求23所述的非临时性计算机可读存储介质;以及
一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
25.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求8-9中任一项所述的方法。
26.一种区块链节点,应用于区块链网络中的可信节点,其特征在于,包括:
权利要求25所述的非临时性计算机可读存储介质;以及
一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
27.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求10所述的方法。
28.一种区块链节点,应用于区块链网络的默认可信节点,其特征在于,包括:
权利要求27所述的非临时性计算机可读存储介质;以及
一个或多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
CN201780002571.0A 2017-12-19 2017-12-19 获取可信节点的方法、装置、存储介质及区块链节点 Active CN108124505B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/117281 WO2019119278A1 (zh) 2017-12-19 2017-12-19 获取可信节点的方法、装置、存储介质及区块链节点

Publications (2)

Publication Number Publication Date
CN108124505A true CN108124505A (zh) 2018-06-05
CN108124505B CN108124505B (zh) 2020-06-30

Family

ID=62233588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780002571.0A Active CN108124505B (zh) 2017-12-19 2017-12-19 获取可信节点的方法、装置、存储介质及区块链节点

Country Status (2)

Country Link
CN (1) CN108124505B (zh)
WO (1) WO2019119278A1 (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810157A (zh) * 2018-06-20 2018-11-13 泰链(厦门)科技有限公司 区块链网络连接方法、介质、装置及系统
CN108831001A (zh) * 2018-06-25 2018-11-16 北京奇虎科技有限公司 基于区块链的节点随机选取方法、系统、节点、电子设备
CN108965469A (zh) * 2018-08-16 2018-12-07 北京京东尚科信息技术有限公司 区块链网络成员动态管理方法、装置、设备及存储介质
CN109104415A (zh) * 2018-07-21 2018-12-28 江苏飞搏软件股份有限公司 构建可信节点网络的系统及方法
CN109117674A (zh) * 2018-09-25 2019-01-01 深圳市元征科技股份有限公司 一种客户端验证加密方法、系统、设备及计算机介质
CN109302307A (zh) * 2018-08-16 2019-02-01 泰链(厦门)科技有限公司 网络主机、基于网络主机快速部署区块链节点的方法
CN109344628A (zh) * 2018-08-23 2019-02-15 深圳前海达闼云端智能科技有限公司 区块链网络中可信节点的管理方法,节点及存储介质
CN109788045A (zh) * 2018-12-28 2019-05-21 贵州蓝石科技有限公司 一种区块链中的智能路由处理方法
CN110086856A (zh) * 2019-04-01 2019-08-02 深圳前海达闼云端智能科技有限公司 区块链节点的控制方法、装置、存储介质及电子设备
CN110381167A (zh) * 2019-08-09 2019-10-25 中国工商银行股份有限公司 基于云的区块链节点主动发现系统及方法
CN110752934A (zh) * 2019-10-28 2020-02-04 江苏大周基业智能科技有限公司 拓扑结构下网络身份交互认证的方法
CN110855791A (zh) * 2019-11-18 2020-02-28 腾讯科技(深圳)有限公司 一种区块链节点部署方法及相关设备
CN110855492A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN110971408A (zh) * 2019-12-25 2020-04-07 上海沄界信息科技有限公司 基于区块链网络的tee节点认证方法及认证系统
CN111339197A (zh) * 2020-02-26 2020-06-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111383021A (zh) * 2020-05-29 2020-07-07 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质
CN111431867A (zh) * 2020-03-06 2020-07-17 杭州云象网络技术有限公司 一种基于区块链BaaS平台的节点接入方法
CN112055077A (zh) * 2020-09-02 2020-12-08 杭州复杂美科技有限公司 区块链接入方法、设备和存储介质
WO2021073147A1 (zh) * 2019-10-16 2021-04-22 山东超越数控电子股份有限公司 一种sdn节点间可信认证方法
CN113748421A (zh) * 2019-04-18 2021-12-03 三菱电机株式会社 进出管理系统、进出管理系统的认证装置、进出管理系统的管理装置、进出管理系统的便携终端、进出管理系统的移动体、进出管理数据的数据结构、进出管理程序、以及进出管理系统的构筑方法
CN114866567A (zh) * 2022-05-26 2022-08-05 成都质数斯达克科技有限公司 一种抗容灾的多层次区块链网络区块同步方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019227225A1 (en) * 2018-05-30 2019-12-05 Skrumble Technologies Inc. Systems and methods for establishing communications via blockchain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741844A (zh) * 2009-12-11 2010-06-16 北京工业大学 一种基于中心索引的p2p文件共享网络的对等节点发现方法
US20110173259A1 (en) * 2010-01-11 2011-07-14 Setton Eric E Communicating in a peer-to-peer computer environment
CN106789041A (zh) * 2017-02-15 2017-05-31 江苏信源久安信息科技有限公司 一种去中心化证书可信区块链方法
CN107070644A (zh) * 2016-12-26 2017-08-18 北京科技大学 一种基于信任网络的去中心化公钥管理方法和管理系统
CN107342980A (zh) * 2017-06-05 2017-11-10 杭州云象网络技术有限公司 一种公有链节点工作量证明的可信验证方法及系统
CN107438003A (zh) * 2016-05-27 2017-12-05 索尼公司 电子设备、用于电子设备的方法和信息处理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741844A (zh) * 2009-12-11 2010-06-16 北京工业大学 一种基于中心索引的p2p文件共享网络的对等节点发现方法
US20110173259A1 (en) * 2010-01-11 2011-07-14 Setton Eric E Communicating in a peer-to-peer computer environment
CN102792631A (zh) * 2010-01-11 2012-11-21 坦戈迈公司 对等计算机环境中的通信
CN107438003A (zh) * 2016-05-27 2017-12-05 索尼公司 电子设备、用于电子设备的方法和信息处理系统
CN107070644A (zh) * 2016-12-26 2017-08-18 北京科技大学 一种基于信任网络的去中心化公钥管理方法和管理系统
CN106789041A (zh) * 2017-02-15 2017-05-31 江苏信源久安信息科技有限公司 一种去中心化证书可信区块链方法
CN107342980A (zh) * 2017-06-05 2017-11-10 杭州云象网络技术有限公司 一种公有链节点工作量证明的可信验证方法及系统

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810157A (zh) * 2018-06-20 2018-11-13 泰链(厦门)科技有限公司 区块链网络连接方法、介质、装置及系统
CN108831001B (zh) * 2018-06-25 2021-06-18 北京奇虎科技有限公司 基于区块链的节点随机选取方法、系统、节点、电子设备
CN108831001A (zh) * 2018-06-25 2018-11-16 北京奇虎科技有限公司 基于区块链的节点随机选取方法、系统、节点、电子设备
CN109104415A (zh) * 2018-07-21 2018-12-28 江苏飞搏软件股份有限公司 构建可信节点网络的系统及方法
CN109104415B (zh) * 2018-07-21 2021-07-20 江苏飞搏软件股份有限公司 构建可信节点网络的系统及方法
CN109302307A (zh) * 2018-08-16 2019-02-01 泰链(厦门)科技有限公司 网络主机、基于网络主机快速部署区块链节点的方法
CN109302307B (zh) * 2018-08-16 2021-06-04 泰链(厦门)科技有限公司 网络主机、基于网络主机快速部署区块链节点的方法
CN108965469A (zh) * 2018-08-16 2018-12-07 北京京东尚科信息技术有限公司 区块链网络成员动态管理方法、装置、设备及存储介质
CN108965469B (zh) * 2018-08-16 2021-07-30 北京京东尚科信息技术有限公司 区块链网络成员动态管理方法、装置、设备及存储介质
CN109344628A (zh) * 2018-08-23 2019-02-15 深圳前海达闼云端智能科技有限公司 区块链网络中可信节点的管理方法,节点及存储介质
CN109344628B (zh) * 2018-08-23 2022-07-08 达闼机器人股份有限公司 区块链网络中可信节点的管理方法,节点及存储介质
CN109117674A (zh) * 2018-09-25 2019-01-01 深圳市元征科技股份有限公司 一种客户端验证加密方法、系统、设备及计算机介质
CN109788045A (zh) * 2018-12-28 2019-05-21 贵州蓝石科技有限公司 一种区块链中的智能路由处理方法
CN110086856A (zh) * 2019-04-01 2019-08-02 深圳前海达闼云端智能科技有限公司 区块链节点的控制方法、装置、存储介质及电子设备
CN110086856B (zh) * 2019-04-01 2022-02-01 达闼机器人有限公司 区块链节点的控制方法、装置、存储介质及电子设备
CN113748421A (zh) * 2019-04-18 2021-12-03 三菱电机株式会社 进出管理系统、进出管理系统的认证装置、进出管理系统的管理装置、进出管理系统的便携终端、进出管理系统的移动体、进出管理数据的数据结构、进出管理程序、以及进出管理系统的构筑方法
CN110381167B (zh) * 2019-08-09 2022-02-08 中国工商银行股份有限公司 基于云的区块链节点主动发现系统及方法
CN110381167A (zh) * 2019-08-09 2019-10-25 中国工商银行股份有限公司 基于云的区块链节点主动发现系统及方法
WO2021073147A1 (zh) * 2019-10-16 2021-04-22 山东超越数控电子股份有限公司 一种sdn节点间可信认证方法
CN110752934A (zh) * 2019-10-28 2020-02-04 江苏大周基业智能科技有限公司 拓扑结构下网络身份交互认证的方法
CN110855492A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN110855791B (zh) * 2019-11-18 2021-07-27 腾讯科技(深圳)有限公司 一种区块链节点部署方法及相关设备
CN110855791A (zh) * 2019-11-18 2020-02-28 腾讯科技(深圳)有限公司 一种区块链节点部署方法及相关设备
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN110971408A (zh) * 2019-12-25 2020-04-07 上海沄界信息科技有限公司 基于区块链网络的tee节点认证方法及认证系统
CN111339197A (zh) * 2020-02-26 2020-06-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111431867A (zh) * 2020-03-06 2020-07-17 杭州云象网络技术有限公司 一种基于区块链BaaS平台的节点接入方法
CN111431867B (zh) * 2020-03-06 2022-04-08 杭州云象网络技术有限公司 一种基于区块链BaaS平台的节点接入方法
CN111383021B (zh) * 2020-05-29 2020-09-15 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质
CN111383021A (zh) * 2020-05-29 2020-07-07 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质
CN112055077A (zh) * 2020-09-02 2020-12-08 杭州复杂美科技有限公司 区块链接入方法、设备和存储介质
CN112055077B (zh) * 2020-09-02 2023-04-18 杭州复杂美科技有限公司 区块链接入方法、设备和存储介质
CN114866567A (zh) * 2022-05-26 2022-08-05 成都质数斯达克科技有限公司 一种抗容灾的多层次区块链网络区块同步方法和装置
CN114866567B (zh) * 2022-05-26 2023-06-02 成都质数斯达克科技有限公司 一种抗容灾的多层次区块链网络区块同步方法和装置

Also Published As

Publication number Publication date
WO2019119278A1 (zh) 2019-06-27
CN108124505B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN108124505A (zh) 获取可信节点的方法、装置、存储介质及区块链节点
CN110493261B (zh) 基于区块链的验证码获取方法、客户端、服务器及存储介质
KR101977109B1 (ko) 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
EP3486817A1 (en) Blockchain-based identity authentication method, device, node and system
CN101189827B (zh) 综合认证和管理服务提供者、终端和用户身份模块的方法以及使用该方法的系统和终端
WO2018040758A1 (zh) 认证方法、认证装置和认证系统
US11375369B2 (en) Message authentication method and communication method of communication network system, and communication network system
CN111740966B (zh) 一种基于区块链网络的数据处理方法及相关设备
CN102577230A (zh) 低等待时间的对等体会话建立
CN108964897B (zh) 基于群组通信的身份认证系统和方法
CN108964896B (zh) 一种基于群组密钥池的Kerberos身份认证系统和方法
KR102118586B1 (ko) 블록 체인 기술을 이용하여 bim 데이터를 전송하기 위한 시스템 및 그 방법
KR102094705B1 (ko) 블록 체인을 기반으로 한 다중 노드 인증 방법 및 이를 위한 장치
CN108650028A (zh) 基于量子通信网络与真随机数的多次身份认证系统和方法
CN109962777A (zh) 许可区块链系统中的密钥生成、获取密钥的方法及设备
CN108880799B (zh) 基于群组密钥池的多次身份认证系统和方法
CN108964895B (zh) 基于群组密钥池和改进Kerberos的User-to-User身份认证系统和方法
CN108600152A (zh) 基于量子通信网络的改进型Kerberos身份认证系统和方法
CN113742709A (zh) 信息的处理方法、装置、可读介质和电子设备
CN113824553A (zh) 密钥管理方法、装置及系统
JP2020506627A (ja) プログラマブル・ハードウェア・セキュリティ・モジュール及びプログラマブル・ハードウェア・セキュリティ・モジュールに用いられる方法
CN100499453C (zh) 一种客户端认证的方法
CN113365264A (zh) 一种区块链无线网络数据传输方法、装置及系统
CN114760046A (zh) 一种身份鉴别方法和装置
JP2021073564A (ja) 通信装置、通信方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210304

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.