CN110225017B - 基于联盟区块链的身份验证方法、设备及存储介质 - Google Patents

基于联盟区块链的身份验证方法、设备及存储介质 Download PDF

Info

Publication number
CN110225017B
CN110225017B CN201910466956.3A CN201910466956A CN110225017B CN 110225017 B CN110225017 B CN 110225017B CN 201910466956 A CN201910466956 A CN 201910466956A CN 110225017 B CN110225017 B CN 110225017B
Authority
CN
China
Prior art keywords
service node
encrypted data
node
user
block chain
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.)
Active
Application number
CN201910466956.3A
Other languages
English (en)
Other versions
CN110225017A (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.)
Iallchain Co Ltd
Original Assignee
Iallchain 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 Iallchain Co Ltd filed Critical Iallchain Co Ltd
Priority to CN201910466956.3A priority Critical patent/CN110225017B/zh
Publication of CN110225017A publication Critical patent/CN110225017A/zh
Application granted granted Critical
Publication of CN110225017B publication Critical patent/CN110225017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Abstract

本发明实施例提供一种基于联盟区块链的身份验证方法、设备及存储介质。该方法包括第一服务节点接收用户节点发送的第一验证请求;在联盟区块链中广播第二验证请求;接收第二服务节点的第一反馈消息,第一反馈消息中包括第二服务节点为用户名分配的随机数;根据用户节点的第一IP地址将随机数发送给用户节点;接收用户节点反馈的第一加密数据,基于第二服务节点的第二IP地址,将第一加密数据发送给第二服务节点,以使第二服务节点将第一加密数据与自身计算得到的第二加密数据进行对比,若二者相同,则验证通过,否则验证失败。本发明实施例提高了身份验证的安全性和便利性。

Description

基于联盟区块链的身份验证方法、设备及存储介质
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种基于联盟区块链的身份验证方法、设备及存储介质。
背景技术
在互联网上有很多的互联网服务提供商(Internet Service Provider,简称ISP)/网络内容服务商(Internet Content Provider,简称ICP),每个用户在享受ISP/ICP提供的服务之前必须在该ISP/ICP上进行注册,比如当前每个人一般都有微信、支付宝等各种APP,而每个APP如果都注册,并且如果在不同的APP上注册的账号和密码一样,则很容易被撞库攻击,账号的安全性较低,而如果在不同的APP上注册的账号、密码不一样,则又很容易被遗忘,重新找回账号、密码的操作繁琐。
发明内容
本发明实施例提供一种基于联盟区块链的身份验证方法、设备及存储介质,用以提高用户使用互联网服务时,身份验证的便利性和安全性,避免用户记忆大量用户名和密码的麻烦,解决用户多个互联网服务的用户名和密码一致所导致的容易被撞库攻击的问题,尤其降低身份验证过程中,验证信息被截获的风险。
第一方面,本发明实施例提供一种基于联盟区块链的身份验证方法,该方法包括:
联盟区块链中的第一服务节点接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识;所述第一服务节点在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名;所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名;所述第一服务节点根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点;所述第一服务节点接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的;所述第一服务节点根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的;所述第一服务节点接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
在一种实施方式中,所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,包括:
所述第一服务节点接收所述联盟区块链中的第二服务节点向其IP地址发送的第一反馈消息。
在一种实施方式中,所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,包括:
所述第一服务节点接收所述联盟区块链中的第二服务节点在所述联盟区块链中广播的第一反馈消息。
在一种实施方式中,所述第一服务节点基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,包括:
所述第一服务节点采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据;基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
第二方面,本发明实施例提供一种服务节点,所述服务节点适用于一种联盟区块链,所述服务节点包括:
存储器;
处理器;
通讯接口;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:
接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识;在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名;接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名;根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点;接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的;根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的;接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
在一种实施方式中,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点向其所在的服务节点的IP地址发送的第一反馈消息。
在一种实施方式中,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点在所述联盟区块链中广播的第一反馈消息。
在一种实施方式中,所述处理器在执行基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点的操作时,用于:
采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据;基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
第三方面,本发明实施例提供一种联盟区块链,该联盟区块链包括上述第二方面所述的服务节点。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
在本发明实施例提供的于联盟区块链的身份验证方法、设备及存储介质中,联盟区块链中的第一服务节点在接收到用户节点发送的用户名以及用户节点的区块链标识后;通过将该用户名广播到联盟区块链中,使得区块链中的第二服务节点在接收到该用户名后,为该用户名分配随机数,并将该随机数发送给第一服务节点,使得第一服务节点将该随机数发送到用户节点对应的第一IP地址上,用户节点在接收到该随机数据后,采用用户输入的所述用户名的第一用户密钥以及第一预设算法对该随机数据进行加密并将加密后得到的第一加密数据发送到第一服务节点对应的IP地址上,由第一服务节点将第一加密数据发送到第二服务节点的第二IP地址上,以使第二服务节点,将第一加密数据与其计算得到的第二加密数据进行对比,其中第二加密数据为第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用第一预设算法对随机数进行加密得到的,若第一加密数据和第二加密数据一致,则判断验证通过,否则验证失败。基于本发明实施例提供的技术方案,只要用户在联盟区块链上任一服务节点上注册了用户名和用户密钥,就可以使用该用户名和用户密钥登录联盟区块链上的其他服务节点,并享受该服务节点的服务,从而避免了用户记忆大量用户名和密钥的麻烦,提高了身份验证的便利性,本发明实施例通过将验证过程中的验证信息采用P2P(即直接发送到接收方的IP地址上)的方式发送到接收方,使得验证信息不被记录在联盟区块链中,这样能够避免验证信息被黑客获取,降低撞库攻击的风险,另外,由于联盟区块链本身的安全机制具有较高的安全性,因而借助联盟区块链对用户的身份进行验证,能够提高身份验证的安全性,并且即使用户使用相同的用户名和密钥登录不同的服务器节点,也能够避免黑客撞库攻击的问题。
附图说明
图1为本发明实施例提供的一种通信系统的示意图;
图2为本发明实施例提供的一种基于联盟区块链的身份验证方法的流程图;
图3是本发明实施例提供的一种基于联盟区块链的身份验证方法的流程图;
图4是本发明实施例提供的一种服务节点的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明实施例提供的基于联盟区块链的身份验证方法,旨在解决现有技术中如果用户在不同的应用程序(APP)上注册的账号和密码一样,很容易被撞库攻击,账号的安全性较低,而如果在不同的APP上注册的账号、密码不一样,又很容易被遗忘,重新找回账号、密码的操作繁琐的技术问题,特别的,在解决上述技术问题的基础上本发明实施例尤其能够解决验证过程中验证信息容易被黑客截获,从而发生撞库攻击事件的问题。该方法可以适用于图1所示的通信系统。如图1所示,该通信系统包括:第一服务节点11、第二服务节点12、用户节点13、第三服务节点14、第四服务节点15、以及第五服务节点16,其中,第一服务节点11、第二服务节点12、用户节点13、第三服务节点14、第四服务节点15、以及第五服务节点16属于同一联盟区块链。其中,第二服务节点12、第三服务节点14、第四服务节点15、以及第五服务节点16可以为用户提供不同的服务,举例来说,第二服务节点12、第三服务节点14、第四服务节点15、以及第五服务节点16可以分别用于提供“推特”服务、“脸书”服务、“微信”服务和“支付宝”服务,当然这里仅为示例说明而不是唯一限定。另外,此处只是示意性说明,并不限定该联盟区块链的结构和该联盟区块链的节点个数。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的一种基于联盟区块链的身份验证方法的流程图。该方法适用于一种联盟区块链,该联盟区块链的结构可以参照图1,该方法具体步骤如下:
步骤201、联盟区块链中的第一服务节点接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识。
步骤202、所述第一服务节点在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名。
步骤203、所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名。
步骤204、所述第一服务节点根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点。
步骤205、所述第一服务节点接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的。
步骤206、所述第一服务节点根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比。
其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的。
步骤207、所述第一服务节点接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
以图1为例,在图1中第二服务节点12、第三服务节点14、第四服务节点15、以及第五服务节点16构建形成联盟区块链,并为其他服务节点或用户节点提供身份验证服务。该联盟区块链的创世区块中保存有第二服务节点12、第三服务节点14、第四服务节点15、以及第五服务节点16的区块链标识和公钥等信息,第二服务节点12、第三服务节点14、第四服务节点15、以及第五服务节点16共同作为本联盟区块链的创始节点对联盟区块链进行管理,包括是否允许某个服务节点接入本联盟区块链等。
用户通过区块链链下的方式进行用户名和密钥的注册或者已经在联盟区块链的某个服务节点上注册过,本示例中,假设用户已在第二服务节点12上注册过,但未在第一服务节点11上注册过。
具体的,当用户通过用户节点13登录第一服务节点(用户未曾在第一服务节点中注册过)后,通过用户节点13向第一服务节点11发送身份验证请求(为了便于区分,以下简称第一验证请求),第一验证请求中包括曾经在第二服务节点12上注册过的用户名,以及用户节点13自身的区块链标识,第一服务节点11在接收到第一验证请求后,将自身的区块链标识以及该用户名携带在第二验证请求中,并采用自身的私钥对第二验证请求进行签名后广播到联盟区块链中。
第二服务节点12在接收到第二验证请求后,首先从区块链账本中查询获得第一服务节点11的公钥,然后使用该公钥对第二验证请求的私钥签名进行验证,若验证通过,则查询该用户名是否属于自己的管理范围,如果属于,也就是说用户在第二服务节点上注册过该用户名,则为第二验证请求中携带的用户名分配一个随机数,并根据第一服务节点的区块链标识在区块链账本中查找第一服务节点的第三IP地址,然后,根据第三IP地址,将经过第二服务节点自身私钥签名的第一反馈消息发送给第一服务节点,其中,第一反馈消息中包括第二服务节点为用户名分配的随机数和第二服务节点的区块链标识。
或者,第二服务节点在分配好随机数后,也可以将随机数和其自身的区块链标识携带在第一反馈消息中,并将采用其自身私钥签名后的第一反馈消息广播到联盟区块链中,以使第一服务节点从联盟区块链中获得第一反馈消息。
第一服务节点11在接收到第一反馈消息后,采用第二服务节点12的公钥对第一反馈消息的签名进行验证,若验证通过,则根据用户节点的区块链标识从区跨链账本中查找获得用户节点的第一IP地址,并根据第一IP地址,将自身的区块链标识和随机数,采用自身的私钥签名后发送给用户节点。
用户节点13在接收到随机数后,采用第一服务节点11的公钥对第一服务节点的私钥签名进行验证,若验证通过,则提示用户输入上述用户名对应的第一用户密钥,并根据用户输入的第一用户密钥,采用第一预设算法对随机数进行加密得到第一加密数据,然后将第一加密数据携带在第二反馈消息中,并采用自身的私钥进行签名后,向第一服务节点的第三IP地址发送该第二反馈消息。
第一服务节点11在接收到第二反馈消息后,从第二反馈消息中获得第一加密数据,并根据第二服务节点的区块链标识在联盟区块链中查找第二服务节点的第二IP地址,将第一加密数据向第二IP地址发送。
第二服务节点12,在接收到第一加密数据后,将第一加密数据与自身计算得到的第二加密数据进行对比,并将对比结果反馈给第一服务节点,其中,第二加密数据是第二服务节点12根据用户在其上注册的所述用户名对应的第二用户密钥,采用第一预设算法对随机数进行加密得到的。
第一服务节点11对第二服务节点12反馈对结果进行解析,若第一加密数据和第二加密数据相同,则验证通过,第一服务节点11为用户提供服务,否则验证失败,不提供服务。
在本实施例中,整个身份验证的过程在联盟区跨链中有完整的记录,可查询。而验证过程中的验证信息,比如,第一加密数据,随机数等,通过P2P(即根据接收方的IP地址,直接发送给接收方)的传输方式,能够阻止黑客获取验证信息,进而避免撞库攻击事件的发生。
在本实施例提供的于联盟区块链的身份验证方法、设备及存储介质中,联盟区块链中的第一服务节点在接收到用户节点发送的用户名以及用户节点的区块链标识后;通过将该用户名广播到联盟区块链中,使得区块链中的第二服务节点在接收到该用户名后,为该用户名分配随机数,并将该随机数发送给第一服务节点,使得第一服务节点将该随机数发送到用户节点对应的第一IP地址上,用户节点在接收到该随机数据后,采用用户输入的所述用户名的第一用户密钥以及第一预设算法对该随机数据进行加密并将加密后得到的第一加密数据发送到第一服务节点对应的IP地址上,由第一服务节点将第一加密数据发送到第二服务节点的第二IP地址上,以使第二服务节点,将第一加密数据与其计算得到的第二加密数据进行对比,其中第二加密数据为第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用第一预设算法对随机数进行加密得到的,若第一加密数据和第二加密数据一致,则判断验证通过,否则验证失败。基于本发明实施例提供的技术方案,只要用户在联盟区块链上任一服务节点上注册了用户名和用户密钥,就可以使用该用户名和用户密钥登录联盟区块链上的其他服务节点,并享受该服务节点的服务,从而避免了用户记忆大量用户名和密钥的麻烦,提高了身份验证的便利性,本实施例通过将验证过程中的验证信息采用P2P(即直接发送到接收方的IP地址上)的方式发送到接收方,使得验证信息不被记录在联盟区块链中,这样能够避免验证信息被黑客获取,降低撞库攻击的风险,另外,由于联盟区块链本身的安全机制具有较高的安全性,因而借助联盟区块链对用户的身份进行验证,能够提高身份验证的安全性,并且即使用户使用相同的用户名和密钥登录不同的服务器节点,也能够避免黑客撞库攻击的问题。
图3是本发明实施例提供的一种基于联盟区块链的身份验证方法的流程图,如图3所示,在图2实施例的基础上,该方法包括:
步骤301、联盟区块链中的第一服务节点接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识。
步骤302、所述第一服务节点在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名。
步骤303、所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名。
步骤304、所述第一服务节点根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点。
步骤305、所述第一服务节点接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的。
步骤306、所述第一服务节点根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址。
步骤307、所述第一服务节点采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据,基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
其中,第二服务节点在获取到第一加密数据后,将第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的。
步骤308、所述第一服务节点接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
在本实施例中,虽然只给出了对第一加密数据进行加密,并将加密后的数据发送给第二服务节点的技术方案,但是不排除在其他实施例中还可以对验证过程中的其他验证信息进行加密,比如,第二服务节点可以采用第一服务节点的公钥以及第二预设算法对其分配给用户名的随机数进行加密,再将加密后的随机数发送给第一服务节点,从而进一步提高验证信息的安全性,防止被拦截。
图4是本发明实施例提供的一种服务节点的结构示意图,该服务节点适用于一种联盟区块链,本发明实施例提供的服务节点可以执行上述基于联盟区块链的身份验证方法的执行方法实施例的处理流程。如图4所示,服务节点40包括:存储器41、处理器42、计算机程序和通讯接口43;其中,所述计算机程序存储在所述存储器中,并被配置为由处理器42执行以下操作:
接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识;在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名;接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名;根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点;接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的;根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的;接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
在一种实施方式中,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点向其所在的服务节点的IP地址发送的第一反馈消息。
在一种实施方式中,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点在所述联盟区块链中广播的第一反馈消息。
在一种实施方式中,所述处理器在执行基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点的操作时,用于:
采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据;基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
图4所示实施例的服务节点可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种联盟区块链,该联盟区块链包括如上述图4实施例所述的服务节点。
另外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的基于联盟区块链的身份验证方法的执行方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于联盟区块链的身份验证方法,其特征在于,所述方法包括:
联盟区块链中的第一服务节点接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识;
所述第一服务节点在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名;
所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名;
所述第一服务节点根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点;
所述第一服务节点接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的;
所述第一服务节点根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的;
所述第一服务节点接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
2.根据权利要求1所述的方法,其特征在于,所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,包括:
所述第一服务节点接收所述联盟区块链中的第二服务节点向其IP地址发送的第一反馈消息。
3.根据权利要求1所述的方法,其特征在于,所述第一服务节点接收所述联盟区块链中的第二服务节点的第一反馈消息,包括:
所述第一服务节点接收所述联盟区块链中的第二服务节点在所述联盟区块链中广播的第一反馈消息。
4.根据权利要求1所述的方法,其特征在于,所述第一服务节点基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,包括:
所述第一服务节点采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据;
基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
5.一种服务节点,所述服务节点适用于一种联盟区块链,其特征在于,所述服务节点包括:
存储器;
处理器;
通讯接口;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:
接收用户节点发送的第一验证请求,所述第一验证请求中包括用户在所述联盟区块链中注册过的用户名,以及所述用户节点的区块链标识;
在所述联盟区块链中广播第二验证请求,所述第二验证请求中包括所述用户名;
接收所述联盟区块链中的第二服务节点的第一反馈消息,所述第一反馈消息中包括所述第二服务节点为所述用户名分配的随机数以及所述第二服务节点的区块链标识,所述用户在所述第二服务节点上注册过所述用户名;
根据所述用户节点的区块链标识,在所述联盟区块链中查找获得所述用户节点的第一IP地址,并根据所述第一IP地址将所述随机数发送给所述用户节点;
接收所述用户节点反馈的第二反馈消息,所述第二反馈消息中包括第一加密数据,所述第一加密数据为所述用户节点根据所述用户输入的所述用户名对应的第一用户密钥,采用第一预设算法对所述随机数进行加密得到的;
根据所述第二服务节点的区块链标识,在所述联盟区块链中查找获得所述第二服务节点的第二IP地址,并基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点,以使所述第二服务节点将接收到的所述第一加密数据与自身计算得到的第二加密数据进行对比,其中,所述第二加密数据为所述第二服务节点根据用户在其上注册的所述用户名对应的第二用户密钥,采用所述第一预设算法对所述随机数进行加密得到的;
接收所述第二服务节点反馈的对比结果,若所述第一加密数据与所述第二加密数据相同,则确定身份验证通过,否则身份验证失败。
6.根据权利要求5所述的服务节点,其特征在于,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点向其所在的服务节点的IP地址发送的第一反馈消息。
7.根据权利要求5所述的服务节点,其特征在于,所述处理器在执行接收所述联盟区块链中的第二服务节点的第一反馈消息的操作时,用于:
接收所述联盟区块链中的第二服务节点在所述联盟区块链中广播的第一反馈消息。
8.根据权利要求5所述的服务节点,其特征在于,所述处理器在执行基于所述第二IP地址,将所述第一加密数据发送给所述第二服务节点的操作时,用于:
采用所述第二服务节点的公钥,以及第二预设算法对所述第一加密数据进行加密,得到地第三加密数据;
基于所述第二IP地址,将包括所述第一加密数据的所述第三加密数据发送给所述第二服务节点,以使所述第二服务节点从所述第三加密数据中解密获得所述第一加密数据。
9.一种联盟区块链系统,其特征在于,包括如权利要求5-8中任一项所述的服务节点。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN201910466956.3A 2019-05-30 2019-05-30 基于联盟区块链的身份验证方法、设备及存储介质 Active CN110225017B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910466956.3A CN110225017B (zh) 2019-05-30 2019-05-30 基于联盟区块链的身份验证方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910466956.3A CN110225017B (zh) 2019-05-30 2019-05-30 基于联盟区块链的身份验证方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110225017A CN110225017A (zh) 2019-09-10
CN110225017B true CN110225017B (zh) 2021-09-10

Family

ID=67819133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910466956.3A Active CN110225017B (zh) 2019-05-30 2019-05-30 基于联盟区块链的身份验证方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110225017B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI727474B (zh) * 2019-10-25 2021-05-11 李婷婷 數位身分管理系統及方法
CN111464535A (zh) * 2020-03-31 2020-07-28 中国电子科技集团公司第三十研究所 一种基于区块链的跨域信任传递方法
CN115208642A (zh) * 2022-06-28 2022-10-18 中国工商银行股份有限公司 基于区块链的身份认证方法、装置及系统
CN115085946B (zh) * 2022-08-22 2022-11-04 航天信息股份有限公司 一种基于区块链的跨链身份验证方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079036A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 注册及授权方法、装置及系统
CN107612934A (zh) * 2017-10-24 2018-01-19 济南浪潮高新科技投资发展有限公司 一种基于密钥分割的区块链移动端计算系统和方法
CN109067801A (zh) * 2018-09-29 2018-12-21 平安科技(深圳)有限公司 一种身份认证方法、身份认证装置及计算机可读介质
CN109345245A (zh) * 2018-09-25 2019-02-15 全链通有限公司 基于区块链的短信验证方法、设备、网络及存储介质
WO2019089376A1 (en) * 2017-10-30 2019-05-09 Walmart Apollo, Llc Systems and methods for securing access to storage and retrieval systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742416B2 (en) * 2017-08-21 2020-08-11 Andrew J. Polcha Fuzzy dataset processing and biometric identity technology leveraging blockchain ledger technology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079036A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 注册及授权方法、装置及系统
CN107612934A (zh) * 2017-10-24 2018-01-19 济南浪潮高新科技投资发展有限公司 一种基于密钥分割的区块链移动端计算系统和方法
WO2019089376A1 (en) * 2017-10-30 2019-05-09 Walmart Apollo, Llc Systems and methods for securing access to storage and retrieval systems
CN109345245A (zh) * 2018-09-25 2019-02-15 全链通有限公司 基于区块链的短信验证方法、设备、网络及存储介质
CN109067801A (zh) * 2018-09-29 2018-12-21 平安科技(深圳)有限公司 一种身份认证方法、身份认证装置及计算机可读介质

Also Published As

Publication number Publication date
CN110225017A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US10979231B2 (en) Cross-chain authentication method, system, server, and computer-readable storage medium
US11610019B2 (en) Information management method, apparatus, and information management system
CN110225017B (zh) 基于联盟区块链的身份验证方法、设备及存储介质
CN111949953B (zh) 基于区块链的身份认证方法、系统、装置和计算机设备
KR102493744B1 (ko) 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버
CN110213263B (zh) 基于联盟区块链的身份验证方法、设备及存储介质
JP6856626B2 (ja) マルチユーザクラスタアイデンティティ認証のための方法および装置
US10630488B2 (en) Method and apparatus for managing application identifier
CN109714168B (zh) 可信远程证明方法、装置和系统
US9219722B2 (en) Unclonable ID based chip-to-chip communication
US9015819B2 (en) Method and system for single sign-on
CN107733933B (zh) 一种基于生物识别技术的双因子身份认证的方法及系统
US20200412554A1 (en) Id as service based on blockchain
US10439809B2 (en) Method and apparatus for managing application identifier
CN111447220B (zh) 认证信息管理方法、应用系统的服务端及计算机存储介质
US20150208238A1 (en) Terminal identity verification and service authentication method, system and terminal
CN109492424B (zh) 数据资产管理方法、数据资产管理装置及计算机可读介质
CN110198316A (zh) 基于联盟区块链的身份验证方法、设备及存储介质
CN110138558B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN110048842B (zh) 会话密钥处理方法、设备及计算机可读存储介质
CN112261103A (zh) 一种节点接入方法及相关设备
KR102118556B1 (ko) 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
US20090164782A1 (en) Method and apparatus for authentication of service application processes in high availability clusters
WO2022143498A1 (zh) 接入控制方法、装置、网络侧设备、终端及区块链节点
CN110049067B (zh) 会话密钥的传输方法、设备及计算机可读存储介质

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