区块链节点的连接方法、系统及计算机可读存储介质与流程

文档序号:15217730发布日期:2018-08-21 17:03阅读:171来源:国知局

本发明涉及区块链技术领域,尤其涉及一种区块链节点的连接方法、系统及计算机可读存储介质。



背景技术:

区块链是去中心化的分布式账本数据库。区块链本身是一串使用密码学算法所产生的数据块,每一个数据块中包含了多次区块链网络交易有效确认的信息。而联盟链则介于公有链和私有链之间,由若干组织一起合作维护一条区块链,该区块链的使用必须是有权限的管理,相关信息会得到保护,典型如金融组织。

目前联盟链节点连接方法为:当某一个区块链节点想要与联盟链中的某一个区块链节点连接时,只要获取到联盟链的区块链口令后,即可与联盟链中任何一个区块链节点连接。若某个非法区块链节点所获取的区块链口令碰巧与联盟链的区块链口令一致,或者该非法区块链节点恶意多次尝试不同的区块链口令,而成功与联盟链中的区块链节点连接,从而导致非法区块链节点与联盟链中的区块链节点连接,降低了联盟链中区块链节点的安全性。



技术实现要素:

本发明的主要目的在于提供一种区块链节点的连接方法、系统及计算机可读存储介质,旨在解决现有的联盟链中区块链节点安全性低的技术问题。

为实现上述目的,本发明提供一种区块链节点的连接方法,所述区块链节点的连接方法包括步骤:

当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书;

若所述联盟链中存在所述公钥证书,则根据所述公钥证书检测所述待接入区块链节点是否为合法节点;

若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接。

优选地,所述若所述联盟链中存在所述公钥证书,则根据所述公钥证书检测所述待接入区块链节点是否为合法节点的步骤包括:

若所述联盟链中存在所述公钥证书,则由所述已接入区块链节点发送随机数给所述待接入区块链节点,以供所述待接入区块链节点在接收到所述随机数后,基于所述随机数,根据与所述公钥证书中公钥对应的私钥生成数字签名,并将所述数字签名发送给所述已接入区块链节点;

当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点根据所述公钥证书验证所述数字签名;

若所述数字签名验证成功,则确认所述待接入区块链节点为合法节点;

若所述数字签名验证失败,则确认所述待接入区块链节点为非法节点。

优选地,所述当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点根据所述公钥证书验证所述数字签名的步骤包括:

当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点获取所述握手请求对应的第一网络之间互连的协议ip地址,以及获取所述数字签名对应的第二ip地址;

判断所述第一ip地址与所述第二ip地址是否一致;

若所述第一ip地址与所述第二ip地址一致,则根据所述公钥证书验证所述数字签名。

优选地,所述判断所述第一ip地址与所述第二ip地址是否一致的步骤之后,还包括:

若所述第一ip地址与所述第二ip地址不一致,则确认所述待接入区块链节点为非法节点。

优选地,所述当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书的步骤之前,还包括:

当机构身份认证系统接收到所述待接入区块链节点所属机构发送的公钥证书和机构信息后,由所述机构身份认证系统审核所述机构信息;

由所述机构身份认证系统将公钥证书发送给第三方可信机构ca,以供所述ca验证所述公钥证书,得到验证结果,并将所述验证结果返回给所述机构身份认证系统;

若所述机构信息审核通过,且根据所述验证结果确定所述公钥证书处于所述有效状态,则由所述机构身份认证系统将所述公钥证书同步到所述联盟链中,并将同步结果返回给所述待接入节点所属的机构。

优选地,所述若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接的步骤包括:

若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点发送检测通过的通知消息给所述待接入区块链节点,以供所述待接入区块链节点根据所述通知消息检测所述已接入区块链节点是否为合法节点,并在检测到所述已接入区块链节点为合法节点,发送所述已接入区块链节点身份认证成功的提示消息给所述已接入区块链节点;

当所述已接入区块链节点接收到所述提示消息后,由所述已接入区块链节点与所述待接入区块链节点连接。

优选地,所述当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书的步骤之后,还包括:

若所述联盟链中未存在所述公钥证书,则由所述已接入区块链节点触发拒绝指令,以根据所述拒绝指令拒绝与所述待接入区块链节点连接。

优选地,所述若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接的步骤之后,还包括:

若所述联盟链检测到所述待接入区块链节点执行非法操作,则由所述联盟链断开所述已接入区块链节点与所述待接入区块链节点的连接。

此外,为实现上述目的,本发明还提供一种区块链节点的连接系统,所述区块链节点的连接系统包括存储器、微处理器和存储在所述存储器上并可在所述处理器上运行的区块链节点的连接程序,所述区块链节点的连接程序被所述微处理器执行时实现如上所述的区块链节点的连接方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链节点的连接程序,所述区块链节点的连接程序被处理器执行时实现如上所述的区块链节点的连接方法的步骤。

本发明通过在待接入区块链节点与联盟链中的已接入区块链节点连接过程中,先检测联盟链中是否存在待接入区块链节点的公钥证书,然后当联盟链中存在待接入区块链节点的公钥证书后,通过该公钥证书检测待接入区块链节点是否为合法节点,只有检测到待接入区块链节点为合法节点时,联盟链中的已接入区块链节点才会与待接入区块链节点连接,避免了非法区块链节点恶意连接联盟链中的区块链节点,提高了联盟链中区块链节点的安全性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明区块链节点的连接方法第一实施例的流程示意图;

图3为本发明区块链节点的连接方法第二实施例的流程示意图;

图4为本发明实施例中若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接的一种流程示意图;

图5为本发明区块链节点的连接方法第四实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。

需要说明的是,图1即可为区块链节点的连接系统的硬件运行环境的结构示意图。本发明实施例区块链节点的连接系统可以是pc,便携计算机等终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的区块链节点的连接系统结构并不构成对区块链节点的连接系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块链节点的连接程序。其中,操作系统是管理和控制区块链节点的连接系统硬件和软件资源的程序,支持区块链节点的连接程序以及其它软件或程序的运行。

在图1所示的区块链节点的连接系统中,用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;网络接口1004主要用于连接联盟链、机构、ca和机构身份认证系统;而处理器1001可以用于调用存储器1005中存储的区块链节点的连接程序,并执行以下操作:

当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书;

若所述联盟链中存在所述公钥证书,则根据所述公钥证书检测所述待接入区块链节点是否为合法节点;

若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接。

进一步地,所述若所述联盟链中存在所述公钥证书,则根据所述公钥证书检测所述待接入区块链节点是否为合法节点的步骤包括:

若所述联盟链中存在所述公钥证书,则由所述已接入区块链节点发送随机数给所述待接入区块链节点,以供所述待接入区块链节点在接收到所述随机数后,基于所述随机数,根据与所述公钥证书中公钥对应的私钥生成数字签名,并将所述数字签名发送给所述已接入区块链节点;

当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点根据所述公钥证书验证所述数字签名;

若所述数字签名验证成功,则确认所述待接入区块链节点为合法节点;

若所述数字签名验证失败,则确认所述待接入区块链节点为非法节点。

进一步地,所述当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点根据所述公钥证书验证所述数字签名的步骤包括:

当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点获取所述握手请求对应的第一网络之间互连的协议ip地址,以及获取所述数字签名对应的第二ip地址;

判断所述第一ip地址与所述第二ip地址是否一致;

若所述第一ip地址与所述第二ip地址一致,则根据所述公钥证书验证所述数字签名。

进一步地,所述判断所述第一ip地址与所述第二ip地址是否一致的步骤之后,微处理器10还可以用于调用存储器中存储的区块链节点的连接程序,并执行以下步骤:

若所述第一ip地址与所述第二ip地址不一致,则确认所述待接入区块链节点为非法节点。

进一步地,所述当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书的步骤之前,微处理器10还可以用于调用存储器中存储的区块链节点的连接程序,并执行以下步骤:

当机构身份认证系统接收到所述待接入区块链节点所属机构发送的公钥证书和机构信息后,由所述机构身份认证系统审核所述机构信息;

由所述机构身份认证系统将公钥证书发送给第三方可信机构ca,以供所述ca验证所述公钥证书,得到验证结果,并将所述验证结果返回给所述机构身份认证系统;

若所述机构信息审核通过,且根据所述验证结果确定所述公钥证书处于所述有效状态,则由所述机构身份认证系统将所述公钥证书同步到所述联盟链中,并将同步结果返回给所述待接入节点所属的机构。

进一步地,所述若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接的步骤包括:

若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点发送检测通过的通知消息给所述待接入区块链节点,以供所述待接入区块链节点根据所述通知消息检测所述已接入区块链节点是否为合法节点,并在检测到所述已接入区块链节点为合法节点,发送所述已接入区块链节点身份认证成功的提示消息给所述已接入区块链节点;

当所述已接入区块链节点接收到所述提示消息后,由所述已接入区块链节点与所述待接入区块链节点连接。

进一步地,所述当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书的步骤之后,微处理器还可以用于调用存储器中存储的区块链节点的连接程序,并执行以下步骤:

若所述联盟链中未存在所述公钥证书,则由所述已接入区块链节点触发拒绝指令,以根据所述拒绝指令拒绝与所述待接入区块链节点连接。

进一步地,所述若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接的步骤之后,微处理器还可以用于调用存储器中存储的区块链节点的连接程序,并执行以下步骤:

若所述联盟链检测到所述待接入区块链节点执行非法操作,则由所述联盟链断开所述已接入区块链节点与所述待接入区块链节点的连接。

基于上述的结构,提出区块链节点的连接方法的各个实施例。

参照图2,图2为本发明区块链节点的连接方法第一实施例的流程示意图。

本发明实施例提供了区块链节点的连接方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

区块链节点的连接方法包括:

步骤s10,当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,由所述已接入区块链节点检测所述联盟链中是否存在所述待接入区块链节点的公钥证书。

当联盟链中的已接入区块链节点接收到待接入区块链节点发送的握手请求后,已接入区块链节点检测联盟链的全局配置合约中是否存在待接入区块链节点的公钥证书。其中,已接入区块链节点为已在联盟链中的区块链节点。在本实施例中,已接入区块链节点可为一个,也可为两个或者多个。待接入区块链节点为未接入联盟链中,需要与联盟链中的其中一个或者多个区块链节点连接的节点。机构是指依法设立的机关、事业、企业、社团及其他依法成立的单位,联盟链中的节点隶属机构所有,根据联盟链中节点信息能够定位所属机构。节点是指参与到区块链网络里,进行交易和数据交换的网络节点,每个独立机构可以拥有一个到多个交易节点,每个交易节点是一组物理网络,计算机,区块链应用软件以及数据库的组合。节点和节点之间,通过tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/因特网互联协议)协议互相连接。

当已接入区块链节点接收到握手请求后,已接入区块链节点会从本地配置文件中加载上当前联盟链中全部节点的配置信息到内存中,以便于在与待接入区块链节点建立连接过程中检测待接入区块链节点是否为合法节点。需要说明的是,当已接入区块链节点接收到待接入区块链节点发送的握手请求后,表明待接入区块链节点想要与联盟链中的已接入区块链节点连接。

其中,配置信息是预先配置在联盟链中的。配置信息包括已接入区块链节点所属机构的机构证书公钥、机构证书私钥、节点描述、ip地址和端口号等;待接入区块链节点的ip地址、端口号、所属机构的公钥证书和节点描述等。如在联盟链中,某个区块链节点的节点描述对应的字段名为“nodedesc”,对应的字段内容为“节点1的描述”;ip地址对应的字段名为“perrip”,对应的字段内容为“127.0.0.1”;端口号对应的字段名为“port”,对应的字段内容为“30303”;机构证书公钥对应的字段名为“publickey”,对应的字段内容为“-----begincertificate-----miicwdccacggawibagijaov3eu5rfx4nmaqqidaptb-----endcertificate-----”;机构证书私钥对应的字段名为“privatekey”,对应的字段内容为“-----beginrsaprivatekey-----miicxaibaakbgqd1dyyzredy6emnbedmoumstw/brfyhst7wpv3jm++fduxgittp....”。

进一步地,配置信息还可包括区块链节点的身份类型、机构名称和状态信息等。如在联盟链中,某个区块链节点对应的身份类型的字段名为“identitytype”,对应字段内容为“1”和“0”,其中,“1”表示该区块链节点为记账人身份,“0”表示该区块链节点为普通身份,记账人身份是可生成区块的节点身份和对当前区块进行签名验证的一种身份,由该身份的节点生成并确认最新的区块的合法性,然后广播给其他节点同步最新区块;机构名称对应的字段名为“agencyinfo”,对应的字段内容为“xx银行”;状态信息对应的字段名为“status”,对应的字段内容为“-1”和“0”,其中,“-1”表示该区块链节点处于非法状态,“0”表示该区块链节点处于正常状态。

步骤s20,若所述联盟链中存在所述公钥证书,则根据所述公钥证书检测所述待接入区块链节点是否为合法节点。

若检测到联盟链中存在该公钥证书,已接入区块链节点则根据公钥证书检测待接入区块链节点是否为合法节点。其中,当检测到联盟链中存在待接入区块链节点的公钥证书后,表明待接入区块链节点已审核通过。可以理解的是,经过审核的区块链节点,其身份信息是可辨识的,因此当该区块链节点在联盟链中执行非法操作时,可追溯该区块链节点的身份信息。区块链节点的身份信息包括但不限于机构公钥证书、机构名称、ip地址和端口号。

进一步地,步骤s20包括:

步骤a,若所述联盟链中存在所述公钥证书,则由所述已接入区块链节点发送随机数给所述待接入区块链节点,以供所述待接入区块链节点在接收到所述随机数后,基于所述随机数,根据与所述公钥证书中公钥对应的私钥生成数字签名,并将所述数字签名发送给所述已接入区块链节点。

进一步地,已接入区块链节点根据公钥证书检测待接入区块链节点是否为合法节点的过程为:若检测到联盟链中存在待接入区块链节点的公钥证书,已接入区块链节点则发送随机数给待接入区块链节点。当待接入区块链节点接收到该随机数后,待接入区块链节点获取其私钥,并基于所接收的随机数和所获取的私钥生成数字签名,生成数字签名,即采用私钥加密随机数,并将所生成的数字签名发送给已接入区块链节点。其中,随机数可为数字、字母、或者特定符号组成的字符串。待接入区块链节点所获取的私钥和公钥证书中的公钥是对应的。在本实施例中,采用私钥进行加密,公钥解密;在其它实施例中,也可采用公钥加密,私钥解密。

步骤b,当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点根据所述公钥证书验证所述数字签名。

步骤c,若所述数字签名验证成功,则确认所述待接入区块链节点为合法节点。

步骤d,若所述数字签名验证失败,则确认所述待接入区块链节点为非法节点。

当已接入区块链节点接收到数字签名后,已接入区块链节点根据公钥证书验证该数据签名。若数字签名验证成功,已接入区块链节点则确认待接入区块链节点为合法节点;若数字签名验证失败,已接入区块链节点则确认待接入区块链节点为非法节点。

已接入区块链节点根据公钥证书验证数字签名的过程为:已接入区块链节点获取公钥证书中的公钥,并通过该公钥解密数字签名,得到数字签名中的随机数。其中,将数字签名中的随机数记为第二随机数,将已接入区块链节点发送给待接入区块链节点的随机数记为第一随机数。当已接入区块链节点获取到第二随机数后,已接入区块链节点将第二随机数与第一随机数对比。若第二随机数与第一随机数相同,则确认数字签名验证成功;若第二随机数与第一随机数不同,则确认数字签名验证失败。

步骤s30,若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点与所述待接入区块链节点连接。

若检测到待接入区块链节点为合法节点,已接入区块链节点则与待接入区块链节点连接。可以理解的是,当待接入区块链节点与已接入区块链节点连接后,表明待接入区块链节点已成功加入已接入区块链节点所在的联盟链中。其中,在已接入区块链节点与待接入区块链节点连接过程中,已接入区块链节点获取待接入区块链节点的ip地址和端口号,通过该ip地址和端口号与待接入区块链节点连接。

本实施例通过在待接入区块链节点与联盟链中的已接入区块链节点连接过程中,先检测联盟链中是否存在待接入区块链节点的公钥证书,然后当联盟链中存在待接入区块链节点的公钥证书后,通过该公钥证书检测待接入区块链节点是否为合法节点,只有检测到待接入区块链节点为合法节点时,联盟链中的已接入区块链节点才会与待接入区块链节点连接,避免了非法区块链节点恶意连接联盟链中的区块链节点,提高了联盟链中区块链节点的安全性。

进一步地,步骤b包括:

步骤b1,当所述已接入区块链节点接收到所述数字签名后,由所述已接入区块链节点获取所述握手请求对应的第一网络之间互连的协议ip地址,以及获取所述数字签名对应的第二ip地址。

步骤b2,判断所述第一ip地址与所述第二ip地址是否一致。

步骤b3,若所述第一ip地址与所述第二ip地址一致,则根据所述公钥证书验证所述数字签名。

进一步,当已接入区块链节点接收到数字签名后,已接入区块链节点获取握手请求对应的第一ip(internetprotocol,网络之间互连的协议)地址,以及获取数字签名对应的第二ip地址,并判断第一ip地址和第二ip地址是否一致。若第一ip地址与第二ip地址一致,已接入区块链节点则根据该公钥证书验证该数字签名。其中,第一ip地址为待接入区块链节点发送握手请求给已接入区块链节点时所用的ip地址,第二ip地址为待接入区块链节点发送数字签名给已接入区块链节点时所用的ip地址。

进一步地,区块链节点的连接方法还包括:

步骤e,若所述第一ip地址与所述第二ip地址不一致,则确认所述待接入区块链节点为非法节点。

进一步地,若第一ip地址与第二ip地址不一致,已接入区块链节点则确认待接入区块链节点为非法节点。当确认待接入区块链节点为非法节点后,已接入区块链节点拒绝与待接入区块链节点连接。

本实施例通过对比待接入区块链节点发送握手请求时的第一ip地址和发送数字签名时的第二ip地址,只有在第一ip地址和第二ip地址一致时,已接入区块链节点才会根据公钥证书去验证数字签名,进一步提高了联盟链中区块链节点的安全性。

进一步地,提出本发明区块链节点的连接方法第二实施例。

所述区块链节点的连接方法第二实施例与所述区块链节点的连接方法第一实施例的区别在于,参照图3,区块链节点的连接方法还包括:

步骤s40,当机构身份认证系统接收到所述待接入区块链节点所属机构发送的公钥证书和机构信息后,由所述机构身份认证系统审核所述机构信息。

步骤s50,由所述机构身份认证系统将公钥证书发送给第三方可信机构ca,以供所述ca验证所述公钥证书,得到验证结果,并将所述验证结果返回给所述机构身份认证系统。

当机构身份认证系统接收到待接入区块链节点所属机构发送的公钥证书和机构信息后,机构身份认证系统审核机构信息,并将公钥证书发送给ca(产生和确定数字证书的第三方可信机构)。当ca接收到公钥证书后,验证公钥证书是否处于有效状态,得到验证结果,并将验证结果发送给机构身份认证系统。

其中,机构信息包括但不限机构名称、营业执照和机构代码。机构身份认证系统审核机构信息的过程为:机构身份认证系统审核该机构的是否有营业执照,以及机构代码是否正确,机构名称与营业执照上的机构名称是否一致等。若该机构有营业执照,机构代码正确,且机构名称与营业执照上的机构名称一致等,机构身份认证系统则确认机构信息审核通过。

ca验证公钥证书是否处于有效状态的过程为:ca通过其存储的该公钥证书的根证书验证该公钥证书,且在其吊销列表中查找该公钥证书。若该公钥证书通过根证书的验证,且在吊销列表中未查找到该公钥证书,ca则确认公钥证书处于有效状态,得到公钥证书处于有效状态的验证结果;若该公钥证书未通过根证书的验证,和/或在吊销列表中查找到该公钥证书,ca则确认公钥证书处于无效状态,得到公钥证书处于无效状态的验证结果。

需要说明的是,当待接入区块链节点将机构信息发送给ca后,ca会审核该机构信息。当机构信息审核通过后,ca会生成机构证书,并将所生成的机构证书发送给待接入区块链节点。当待接入区块链节点接收到机构证书后,获取其公钥证书,将机构信息和公钥证书发送给机构身份认证系统。进一步地,公钥证书中包括有公钥证书的有效期。若公钥证书未在有效期内,也表明公钥证书处于无效状态;只有该公钥证书通过根证书的验证,且在吊销列表中未查找到该公钥证书,以及公钥证书处于有效期内,公钥证书才处于有效状态。

步骤s60,若所述机构信息审核通过,且根据所述验证结果确定所述公钥证书处于所述有效状态,则由所述机构身份认证系统将所述公钥证书同步到所述联盟链中,并将同步结果返回给所述待接入节点所属的机构。

若机构身份认证系统确认机构信息审核通过,且根据验证结果确认公钥证书处于有效状态,机构身份认证系统则将公钥证书同步到联盟链的全局配置合约中,并将同步结果返回给待接入节点所属的机构。可以理解的是,同步结果为机构身份认证系统将公钥证书同步到联盟链中的结果,通过同步结果,机构可以确定公钥证书已在联盟链中备案成功。其中,可设置当验证结果为“1”时,表示公钥证书处于有效状态;当验证结果为“0”时,表示公钥证书处于无效状态。本实施例中的“1”和“0”只是一种区分验证结果的形式,在本实施例中对验证结果的表现形式不做限制。进一步地,在机构身份认证系统将公钥证书同步到联盟链的全局配置合约过程中,机构身份认证系统会将机构信息和公钥证书一起同步到联盟链的全局配置合约中,以便于在确定待接入区块链节点为非法节点或者待接入区块链节点在联盟链网络中执行非法操作时,可根据机构信息确定待接入区块链节点所属机构,以对该机构进行追责。

本实施例通过在将机构信息和公钥证书同步到联盟链之前,先通过机构身份认证系统审核机构信息和验证公钥证书的有效性,只有在机构信息审核通过,且公钥证书处于有效状态后,机构身份认证系统才会将机构信息和公钥证书同步到联盟链中,以进一步地提高接入联盟链中的区块链节点的安全性,避免非法区块链节点接入到联盟链中。

进一步地,提出本发明区块链节点的连接方法第三实施例。

所述区块链节点的连接方法第三实施例与所述区块链节点的连接方法第一或第二实施例的区别在于,参照图4,步骤s30包括:

步骤s31,若检测到所述待接入区块链节点为合法节点,则由所述已接入区块链节点发送检测通过的通知消息给所述待接入区块链节点,以供所述待接入区块链节点根据所述通知消息检测所述已接入区块链节点是否为合法节点,并在检测到所述已接入区块链节点为合法节点,发送所述已接入区块链节点身份认证成功的提示消息给所述已接入区块链节点。

步骤s32,当所述已接入区块链节点接收到所述提示消息后,由所述已接入区块链节点与所述待接入区块链节点连接。

若已接入区块链节点检测到待接入区块链节点为合法节点,已接入区块链节点则生成待接入区块链节点检测通过的通知消息,即生成待接入区块链节点身份认证成功的通知消息,并将该通知消息发送给待接入区块链节点。当待接入区块链节点接收到通知消息后,待接入区块链节点检测已接入区块链节点是否为合法节点。若待接入区块链节点检测到已接入区块链节点为合法节点,待接入区块链节点则生成已接入区块链节点身份认证成功的提示消息,并将提示消息发送给已接入区块链节点。当已接入区块链节点接收到该提示信息后,已接入区块链节点与待接入区块链节点连接。进一步地,若待接入区块链节点检测到已接入区块链节点为非法节点,待接入区块链节点则拒绝与已接入区块链节点连接。

需要说明的是,待接入区块链节点检测已接入区块链节点是否为合法节点的原理与已接入区块链节点检测待接入区块链节点是否为合法节点的原理一致,本实施例中不再详细赘述。

本实施例通过待接入区块链节点检测已接入区块链节点是否为合法节点,只有在检测到已接入区块链节点为合法节点时,待接入区块链节点才会和已接入区块链节点连接,避免待接入区块链节点连接进非法的联盟链中,进入到非法的网络中,提高了待接入区块链节点的安全性。

进一步地,提出本发明区块链节点的连接方法第四实施例。

所述区块链节点的连接方法第四实施例与所述区块链节点的连接方法第一、第二或第三实施例的区别在于,参照图5,区块链节点的连接方法还包括::

步骤s70,若所述联盟链检测到所述待接入区块链节点执行非法操作,则由所述联盟链断开所述已接入区块链节点与所述待接入区块链节点的连接。

若联盟链检测到待接入区块链节点在联盟链网络中执行非法操作,联盟链则断开已接入区块链节点与待接入区块链节点的连接。需要说明的是,当公钥证书过期或者被吊销时,待接入区块链节点在联盟链中执行的操作属于非法操作。

进一步地,当联盟链断开已接入区块链节点与待接入区块链节点之间的连接关系后,联盟链输出本地日志,以保存该待接入区块链节点的非法操作记录,以及保存待连接区块链节点被断开的连接信息。可以理解的是,非法操作记录是待接入区块链节点所执行的非法操作数据,连接信息包括待连接区块链节点的ip地址和端口号等。

需要说明的是,当待接入区块链节点被断开连接后,该待接入区块链节点将无法再与联盟链中的任何一个区块链节点连接,进入到联盟链中。

进一步地,区块链节点的连接方法还包括:

步骤f,若所述联盟链中未存在所述公钥证书,则由所述已接入区块链节点触发拒绝指令,以根据所述拒绝指令拒绝与所述待接入区块链节点连接。

进一步地,若已接入区块链节点检测到联盟链的全局配置合约中未存在待接入区块链节点的公钥证书,已接入区块链节点则触发拒绝指令,并根据该拒绝指令拒绝与待接入区块链节点连接。

本实施例通过在检测到已接入联盟链中的区块链节点在联盟链网络中执行非法操作时,自动断开执行非法操作的区块链节点在联盟链中的连接,以提高联盟链网络的安全性。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链节点的连接程序,所述区块链节点的连接程序被处理器执行时实现如上所述的区块链节点的连接方法的步骤。

本发明计算机可读存储介质具体实施方式与上述区块链节点的连接方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1