CN115085946B - 一种基于区块链的跨链身份验证方法及*** - Google Patents
一种基于区块链的跨链身份验证方法及*** Download PDFInfo
- Publication number
- CN115085946B CN115085946B CN202211003567.5A CN202211003567A CN115085946B CN 115085946 B CN115085946 B CN 115085946B CN 202211003567 A CN202211003567 A CN 202211003567A CN 115085946 B CN115085946 B CN 115085946B
- Authority
- CN
- China
- Prior art keywords
- user
- identity
- chain
- block chain
- verification
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本文涉及区块链技术领域,尤其涉及一种基于区块链的跨链身份验证方法及***。包括,第一区块链和第二区块链分别将第一用户和第二用户的身份信息发送到中继链;中继链利用第一算法分别对第一用户的身份信息和第二用户的身份信息进行注册;得到第一用户的身份标识、第一用户的私钥以及第一区块链的身份标识、第二用户的身份标识、第二用户的私钥以及第二区块链的身份标识;第一区块链将第一用户根据第一用户的身份标识、第一用户的私钥生成的数字签名;第二区块链将第二用户利用第一用户的公钥对第一用户的数字签名进行验证。通过本文实施例,实现了中继链对跨区块链用户的身份进行管控。解决了现有技术中存在跨域身份管理可信评价难等问题。
Description
技术领域
本文涉及区块链技术领域,尤其涉及一种基于区块链的跨链身份验证方法及***。
背景技术
随着信息技术和应用的发展,面对海量异构的身份管理、跨链跨域信任服务和身份隐私保护的需求,传统中心式的网络身份管理体系和机制存在管理平台多样且互通性差、跨域身份管理可信评价难、身份隐私信息易泄露以及多态跨域网络实体行为监管困难等诸多问题。
现在亟需一种基于区块链的跨链身份验证方法,从而解决传统中心式的网络身份管理体系和机制存在管理平台多样且互通性差、跨域身份管理可信评价难、身份隐私信息易泄露以及多态跨域网络实体行为监管困难等问题。
发明内容
为解决传统中心式的网络身份管理体系和机制存在管理平台多样且互通性差、跨域身份管理可信评价难、身份隐私信息易泄露以及多态跨域网络实体行为监管困难等问题,本文实施例提供了一种基于区块链的跨链身份验证方法及***,基于区块链技术设计了异构身份联盟与监管体系,以网络身份管理***作为联盟链节点,为异构的网络身份提供统一身份标识、属性登记和跨域核验、实体可信度动态评价、身份隐私保护以及实体行为监管等关键技术机制;为融合已存在的多种异构身份管理***,打造身份提供方、监管方和用户之间的和谐共生关系,提出了一种新的解决思路。
为了解决上述技术问题,本文的具体技术方案如下:
一方面,本文实施例提供了一种基于区块链的跨链身份验证方法,由第一区块链执行,所述方法包括,
将第一用户的身份信息发送到中继链,以使所述中继链利用第一算法对所述第一用户的身份信息进行注册,得到所述第一用户的身份标识、第一用户的私钥、第一用户的公钥以及所述第一区块链的身份标识,并对所述第一用户的身份标识和所述第一区块链的身份标识进行存储;
接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识;
将所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在所述第一用户的身份标识和/或所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述数字签名发送给第二区块链的第二用户;
接收所述中继链转发的所述第二用户对所述数字签名的验证结果,其中,所述验证结果是所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果,所述第二区块链将所述验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,所述第二用户的身份标识和所述第二区块链的身份标识是所述第二用户预先在所述中继链上注册后得到的;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
进一步地,接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识之后,所述方法还包括,
将第三用户的身份信息以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识、第三用户的私钥以及第三用户的公钥,并对所述第三用户的身份标识进行存储;
接收所述中继链发送的所述第三用户的身份标识以及第三用户的私钥,以在所述第三用户和所述第二区块链上的用户之间进行跨链验证的过程中,所述第三用户利用所述第三用户的身份标识、第三用户的私钥生成所述第三用户的数字签名,所述第二区块链上的用户利用所述第三用户的公钥对所述第三用户的数字签名进行验证。
进一步地,所述第一用户的私钥和第一用户的公钥之间满足如下关系,
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上存储的相同的有限域上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为,
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息,modp表示功能函数;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为,
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
进一步地,在所述验证结果为通过的情况下,所述方法还包括,
在所述有限域上选取第一随机数,利用公式Q=r×G计算所述第一区块链的第一验证标识,其中,Q表示所述第一区块链的第一验证标识,r表示所述第一随机数;
将所述第一验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第一验证标识发送给所述第二区块链,以使所述第二区块链在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链;
接收所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下发送的所述第二随机数,并利用公式R=r+m×SK 1计算所述第一区块链的第二验证标识,其中,R表示所述第二验证标识,m表示所述第二随机数;
将所述第二验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第二验证标识发送给所述第二区块链,以使所述第二区块链利用公式R×G = m×PK 1对所述第二验证标识进行验证,其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
相对应地,本发明实施例还提供了一种基于区块链的跨链身份验证方法,由第二区块链执行,方法包括,
将第二用户的身份信息发送到中继链,以使所述中继链利用第一算法对所述第二用户的身份信息进行注册,得到所述第二用户的身份标识以及所述第二区块链的身份标识,并对所述第二用户的身份标识和所述第二区块链的身份标识进行存储;
接收所述中继链发送的第一区块链的第一用户的数字签名,其中,所述第一用户的数字签名是所述中继链在第一用户的身份标识和/或第一区块链的身份标识的共识验证结果为通过的情况下发送的,所述数字签名是所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成的,所述第一用户的私钥、所述第一用户的身份标识和所述第一区块链的身份标识是所述第一用户预先在所述中继链上注册后得到的;
将所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果以及所述第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在对所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,所述第一用户的公钥是所述第一用户预先在所述中继链上注册后得到的;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
进一步地,所述第一用户的私钥和第一用户的公钥之间满足如下关系,
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为,
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息,modp表示功能函数;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为,
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
进一步地,在所述验证结果为通过的情况下,所述方法还包括,
接收所述中继链发送的所述第一区块链的第一验证标识,其中,所述第一区块链的第一验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的,所述第一区块链的第一验证标识是所述第一区块链在有限域上选取第一随机数,利用公式Q=r×G计算得到的;
在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链,以使所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述第二随机数发送给所述第一区块链,以使所述第一区块链利用公式R=r+m×SK 1计算所述第一区块链的第二验证标识,其中,R表示所述第二验证标识,m表示所述第二随机数;
接收所述中继链发送的所述第一区块链的第二验证标识,其中,所述第一区块链的第二验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的;
利用公式R×G = m×PK 1对所述第二验证标识进行验证,其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
相对应地,本发明实施例还提供了一种基于区块链的跨链身份验证方法,由中继链执行,包括,
接收第一区块链发送的第一用户的身份信息以及第二区块链发送的第二用户的身份信息,利用第一算法对所述第一用户的身份信息进行注册,得到所述第一用户的身份标识、第一用户的私钥、第一用户的公钥以及所述第一区块链的身份标识,利用第一算法对所述第二用户的身份信息进行注册,得到所述第二用户的身份标识以及所述第二区块链的身份标识,并对所述第一用户的身份标识和所述第一区块链的身份标识、所述第二用户的身份标识和所述第二区块链的身份标识进行存储;
将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链,将所述第二用户的身份标识、第二区块链的身份标识、第一用户的公钥发送给所述第二区块链;
接收所述第一区块链发送的所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个,在所述第一用户的身份标识和/或所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述数字签名发送给所述第二区块链的第二用户,其中,所述数字签名是所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成的;
接收所述第二区块链发送的所述数字签名的验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个,在所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,其中,所述验证结果是所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
进一步地,将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链之后,所述方法还包括,
接收所述第一区块链发送的第三用户的身份信息以及所述第一区块链的身份标识;
在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识、第三用户的公钥以及第三用户的私钥,并对所述第三用户的身份标识进行存储。
另一方面,本文实施例还提供了一种基于区块链的跨链身份验证***,包括,包括第一区块链、第二区块链和中继链;
所述第一区块链在实现跨链身份验证的过程中执行上述所述第一区块链所执行的方法;
所述第二区块链在实现跨链身份验证的过程中执行上述所述第二区块链所执行的所述的方法;
所述中继链在实现跨链身份验证的过程中执行上述所述中继链所执行的所述的方法。
利用本文实施例,中继链作为各区块链上用户的身份管理平台,首先各区块链上的用户在中继链上进行注册,然后中继链生成各用户的身份标识、用户的公钥、用户的私钥以及各区块链的身份标识,在跨区块链用户进行交易时,首先第一区块链的第一用户利用自己的私钥、自己的身份标识生成自己的数字签名,当第二区块链的第二用户利用第一区块链的第一用户的公钥验证第一区块链的第一用户的数字签名通过后,表示第一用户和第二用户之间的跨链身份验证通过。此外,为了提高跨链用户身份的互通性,在第一用户生成自己的数字签名之后,将自己的数字签名以及自己的身份标识、第一区块链的身份标识两者中的至少一个发送给中继链,中继链上的链上节点对该第一用户的身份标识和/或第一区块链的身份标识进行共识验证,验证通过后,表示第一区块链的第一用户已经在中继链上进行注册,该第一用户的数字签名可以转发至第二区块链的第二用户,相对应地,当第二区块链的第二用户对第一用户的数字签名进行验证并得到验证结果后,第二区块链将该验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给中继链,以使中继链的链上节点对第二区块链的身份标识和/或第二用户的身份标识进行共识验证,验证通过后,表示第二区块链的第二用户已经在中继链上进行注册,该第二用户的验证结果可以转发至第一区块链的第一用户。通过本文实施例的方法,实现了中继链对跨区块链用户的身份进行管控,跨区块链用户在进行跨链交易时,利用中继链的对各自用户的身份的管控结果进行跨链身份验证,解决了传统中心式的网络身份管理体系和机制存在管理平台多样且互通性差、跨域身份管理可信评价难、身份隐私信息易泄露以及多态跨域网络实体行为监管困难等问题。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本文实施例一种基于区块链的跨链身份验证方法的实施***示意图;
图2所示为本文实施例一种基于区块链的跨链身份验证方法的流程图;
图3所示为本文实施例一种基于区块链的跨链身份验证方法的流程图;
图4所示为本文实施例一种基于区块链的跨链身份验证方法的流程图;
图5所示为本文实施例一种基于区块链的跨链身份验证***的数据流图;
图6所示为本文实施例计算机设备的结构示意图。
【附图标记说明】:
101、第一区块链;
1011、第一用户;
102、第二区块链;
1021、第二用户;
103、中继链;
602、计算机设备;
604、处理设备;
606、存储资源;
608、驱动机构;
610、输入/输出模块;
612、输入设备;
614、输出设备;
616、呈现设备;
618、图形用户接口;
620、网络接口;
622、通信链路;
624、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示为本文实施例一种基于区块链的跨链身份验证方法的实施***示意图,可以包括:第一区块链101、第一区块链101上的第一用户1011、第二区块链102、第二区块链102上的第二用户1021以及中继链103,第一区块链101、第二区块链102与中继链103之间通过网络进行通信,网络可以包括局域网(Local Area Network,简称为LAN)、广域网(Wide Area Network,简称为WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端***。
本实施例所述的应用场景应用在法院、检察院、司法行政部门组成的多个区块链***时,第一区块链101可以对应法院链、检察院链或司法行政链中的任意一方,第一用户1011可以为法院链、检察院链或司法行政链中的任意一方中的服务器,第二区块链102于第一区块链101对应不同的区块链,第二用户1021可以为该区块链中的服务器,中继链103负责第一区块链101和第二区块链102之间跨链数据传输以及第一用户1011和第二用户1021的身份管控。其中,第一用户1011或第二用户1021可以通过一个或多个服务器存储数据,服务器上部署有面向司法数据的数据处理***。可选地,服务器可以是云计算***的节点(图中未显示),或者每个服务器可以是单独的云计算***,包括由网络互连并作为分布式处理***工作的多台计算机。服务器可以运行任何适当的计算***,使其能够处理第一用户1011或第二用户1021的业务。
此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境,例如多个***(例如交通管理***、车辆管理***、交警管理***)的用户之间的身份验证也可以在图1所示的第一区块链101、第二区块链102和中继链103上实现,本说明书不做限制。
具体地,本文实施例提供了一种基于区块链的跨链身份验证方法,通过中继链对第一区块链的第一用户以及第二区块链的第二用户的身份进行管控,第一用户和第二用户利用中继链的管控结果进行数字签名生成与验证。图2所示为本文实施例一种基于区块链的跨链身份验证方法的流程图。在本图中描述了基于区块链进行跨链用户的身份验证的过程,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,由第一区块链执行,所述方法可以包括:
步骤201:将第一用户的身份信息发送到中继链;
步骤202:接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识;
步骤203:将所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个发送给所述中继链;
步骤204:接收所述中继链转发的所述第二用户对所述数字签名的验证结果;
步骤205:在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
相对应地,本发明实施例还提供了一种基于区块链的跨链身份验证方法,如图3所示,由第二区块链执行,所述方法可以包括,
步骤301:将第二用户的身份信息发送到中继链;
步骤302:接收所述中继链发送的第一区块链的第一用户的数字签名;
步骤303:将所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果以及所述第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给所述中继链;
步骤304:在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
相对应地,本发明实施例还提供了一种基于区块链的跨链身份验证方法,由中继链执行,如图4所示,所述方法可以包括,
步骤401:接收第一区块链发送的第一用户的身份信息以及第二区块链发送的第二用户的身份信息,利用第一算法对所述第一用户的身份信息进行注册,得到所述第一用户的身份标识、第一用户的私钥、第一用户的公钥以及所述第一区块链的身份标识,利用第一算法对所述第二用户的身份信息进行注册,得到所述第二用户的身份标识以及所述第二区块链的身份标识,并对所述第一用户的身份标识和所述第一区块链的身份标识、所述第二用户的身份标识和所述第二区块链的身份标识进行存储;
步骤402:将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链,将所述第二用户的身份标识、第二区块链的身份标识、第一用户的公钥发送给所述第二区块链;
步骤403:接收所述第一区块链发送的所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个,在所述第一用户的身份标识和/或所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述数字签名发送给所述第二区块链的第二用户,其中,所述数字签名是所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成的;
步骤404:接收所述第二区块链发送的所述数字签名的验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个,在所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,其中,所述验证结果是所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果;
步骤405:在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
通过本文实施例所提供的方法,中继链作为各区块链上用户的身份管理平台,首先各区块链上的用户在中继链上进行注册,然后中继链生成各用户的身份标识、用户的公钥、用户的私钥以及各区块链的身份标识,在跨区块链用户进行交易时,首先第一区块链的第一用户利用自己的私钥、自己的身份标识生成自己的数字签名,当第二区块链的第二用户利用第一区块链的第一用户的公钥验证第一区块链的第一用户的数字签名通过后,表示第一用户和第二用户之间的跨链身份验证通过。此外,为了提高跨链用户身份的互通性,在第一用户生成自己的数字签名之后,将自己的数字签名以及自己的身份标识、第一区块链的身份标识两者中的至少一个发送给中继链,中继链上的链上节点对该第一用户的身份标识和/或第一区块链的身份标识进行共识验证,验证通过后,表示第一区块链的第一用户已经在中继链上进行注册,该第一用户的数字签名可以转发至第二区块链的第二用户,相对应地,当第二区块链的第二用户对第一用户的数字签名进行验证并得到验证结果后,第二区块链将该验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给中继链,以使中继链的链上节点对第二区块链的身份标识和/或第二用户的身份标识进行共识验证,验证通过后,表示第二区块链的第二用户已经在中继链上进行注册,该第二用户的验证结果可以转发至第一区块链的第一用户。通过本文实施例的方法,实现了中继链对跨区块链用户的身份进行管控,跨区块链用户在进行跨链交易时,利用中继链的对各自用户的身份的管控结果进行跨链身份验证,解决了传统中心式的网络身份管理体系和机制存在管理平台多样且互通性差、跨域身份管理可信评价难、身份隐私信息易泄露以及多态跨域网络实体行为监管困难等问题。
在本文实施例中,中继链接收到第一区块链的第一用户或第二区块链的第二用户发送的身份信息后,利用第一算法对第一用户或第二用户的身份信息进行注册,得到第一用户的标识、第一用户的公钥、第一用户的私钥、第一区块链的身份标识以及第二用户的标识、第二用户的公钥、第而用户的私钥、第二区块链的身份标识。然后对第一用户的身份标识、第一区块链的身份标识、第二用户的身份标识、第二区块链的身份标识进行存储。可以理解为,中继链记录了第一用户和第一区块链之间的对应关系,第二用户和第二区块链的对应关系,从而可以利用第一区块链的身份标识对第一区块链的多个用户进行统一身份管控或利用第一用户的身份标识仅对第一用户进行身份管控,利用第二区块链的身份标识对第人二区块链的多个用户进行统一身份管控或利用第二用户的身份标识仅对第二用户进行身份管控。
示例性地,以对第一用户的身份信息进行注册为例,第一算法利用第一用户的身份信息计算得到第一用户的身份标识、第一用户的公钥、第一用户的私钥、第一区块链的身份标识的过程可以包括如下步骤:
步骤1:输入第一用户在独立区块链上的身份信息A BCID ;
步骤2:查询该用户是否在链上注册;
步骤3:如果该用户在链上注册,则得到该用户在独立区块链上的用户标识BCID,用户在该独立区块链上的公钥PK BCID ,私钥SK BCID ,证书Cert;
步骤4:如果该用户未在链上注册,则首先进行链上注册;
步骤5:跨链中继***随机选取椭圆曲线E p 上的一点G作为基点;
步骤6:随机选取椭圆曲线E p 上的某点作为第一用户在跨链中继***中的私钥SK C-BCID ,则公钥为PK C-BCID ;
步骤9:跨链中继***中保存统一身份标识C-BCID,身份信息CrossUser,以及以上操作的日志OP。
根据本文的一个实施例,当第一区块链上的新增用户需要进行跨链交易时,首先也需要在中继链上进行注册,但由于这个新增用户是在第一区块链的第一用户在中继链上完成注册后才发起的注册,因此,本实施例中第一区块链的新增用户的注册可以利用第一用户在中继链上注册后得到的第一区块链的身份标识,以便于中继链确定该新增用户与第一区块链的对应关系。具体地,由第一区块链执行,步骤201接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识之后,所述方法还包括,
将第三用户的身份信息以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识、第三用户的私钥以及第三用户的公钥,并对所述第三用户的身份标识进行存储;
接收所述中继链发送的所述第三用户的身份标识以及第三用户的私钥,以在所述第三用户和所述第二区块链上的用户之间进行所述跨链验证的过程中,所述第三用户利用所述第三用户的身份标识、第三用户的私钥生成所述第三用户的数字签名,所述第二区块链上的用户利用所述第三用户的公钥对所述第三用户的数字签名进行验证。
相对应地,由中继链执行,步骤402中将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链之后,所述方法还包括,
接收所述第一区块链发送的第三用户的身份信息以及所述第一区块链的身份标识;
在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识以及第三用户的公钥,并对所述第三用户的身份标识进行存储。
在本文实施例中,第三用户在向中继链发起注册时,第一区块链需要将第三用户的身份信息以及第一区块链的身份标识发送给中继链,中继链在接收到第一区块链的身份标识后,中继链的链上节点对第一区块链的身份标识进行共识验证,验证通过后,表示中继链接收到的第一区块链的身份标识已经在中继链中,然后确定该第三用户与第一区块链之间的对应关系,此外,中继链还可以记录第三用户与第一区块链的对应关系,可以理解为,中继链上记录了第一区块链对应的多个用户,从而利用第一区块链的身份标识对第一区块链的多个用户进行统一身份管控。
中继链确定第三用户与第一区块链的对应关系之后,利用第二算法对第三用户的身份信息进行注册,得到第三用户的身份标识、第三用户的公钥以及第三用户的私钥,然后对第三用户的身份标识进存储,并将第三用户的私钥、第三用户的身份标识发送给第一区块链的第三用户,将第三用户的公钥发送给第二区块链(第二区块链的全部用户均可以得到第三用户的公钥)。
示例性地,第二算法的计算过程可以包括如下步骤:
步骤1:输入统一身份标识C-BCID,第三用户的身份信息BCID3,第三用户在独立区块链上的身份信息A BCID 3;
步骤2:利用第一算法计算得到第三用户在跨链中继***中的用户的公钥PK BCID 3、私钥SK BCID 3;
当第三用户需要向第二区块链上的用户之间进行跨链验证时,第三用户采用与步骤203中相同的方法,利用第三用户的身份标识、第三用户的私钥生成第三用户的数字签名,然后第一区块链将第三用户的数字签名以及第三用户的身份标识、第一区块链的身份标识两者中的至少一个发送给中继链,以使中继链的链上节点对第三用户的身份标识和/或第一区块链的身份标识进行共识验证,验证通过后,中继链将第三用户的数字签名发送给第二区块链上的用户,以使第二区块链上的用户采用与步骤303中相同的方法,利用第三用户的公钥对第三用户的数字签名进行验证。
根据本文的一个实施例,为了提高跨链身份验证的安全性及有效性,中继链生成的同一用户的私钥和公钥之间满足特定的关系,以第一用户为例,第一用户的私钥和第一用户的公钥之间满足公式(1)所示的关系:
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上存储的相同的有限域上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为(2),
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息,modp表示功能函数;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为(3),
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
可以理解为,应用公式(1),实现了将第一用户的私钥和第一用户的公钥与椭圆曲线进行关联,应用公式(2)-(3),实现了第一用户和第二用户之前的身份验证。
根据本文的一个实施例,由于第一区块链的第一用户向第二区块链的第二用户发起跨链交易时,第一区块链的链上仅会记录该跨链交易,但第一区块链并不会对第一用户的跨链交易进行管控,可能存在跨链交易的安全性问题,因此,为了提高跨链交易的安全性,在所述验证结果为通过的情况下,第一区块链和第二区块链之间也可以进行验证,具体地,第一区块链执行的跨链身份验证方法还包括,
在所述有限域上选取第一随机数,利用公式(4)计算所述第一区块链的第一验证标识:
其中,Q表示所述第一区块链的第一验证标识,r表示所述第一随机数;
将所述第一验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第一验证标识发送给所述第二区块链,以使所述第二区块链在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链;
接收所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下发送的所述第二随机数,并利用公式(5)计算所述第一区块链的第二验证标识:
其中,R表示所述第二验证标识,m表示所述第二随机数;
将所述第二验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第二验证标识发送给所述第二区块链,以使所述第二区块链利用公式(6)对所述第二验证标识进行验证:
其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
相对应地,根据本文的一个实施例,在所述验证结果为通过的情况下,第二区块链执行的跨链身份验证方法还包括,
接收所述中继链发送的所述第一区块链的第一验证标识,其中,所述第一区块链的第一验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的,所述第一区块链的第一验证标识是所述第一区块链在有限域上选取第一随机数,利用公式(4)计算得到的;
在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链,以使所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述第二随机数发送给所述第一区块链,以使所述第一区块链利用公式(5)计算所述第一区块链的第二验证标识;
接收所述中继链发送的所述第一区块链的第二验证标识,其中,所述第一区块链的第二验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的;
利用公式(6)对所述第二验证标识进行验证,其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
应用上述方法,实现了当第一用户和第二用户之间的验证通过后,第一区块链和第二区块链之间进行验证,若验证结果为通过,则表示第一区块链和第二区块链的跨链交易是安全的,因此当第一区块链和第二区块链之间的验证通过后,完成所述第一用户和所述第二用户之间的跨链身份验证,为了提高跨链交易的安全性。
基于同一发明构思,本文实施例还提供了一种基于区块链的跨链身份验证***,包括第一区块链、第二区块链和中继链。具体地,所述基于区块链的跨链身份验证***的数据流图可以如图5所示,第一用户和第二用户进行跨链身份验证的步骤可以包括:
步骤501:第一区块链将第一用户的身份信息发送到中继链;
步骤502:第二区块链将第二用户的身份信息发送到中继链;
步骤503:中继链利用第一算法分别对第一用户的身份信息和第二用户的身份信息进行注册;
在本步骤中,中继链利用第一算法对第一用户的身份信息进行注册,得到第一用户的身份标识、第一用户的私钥、第一用户的公钥以及第一区块链的身份标识,利用第一算法对第二用户的身份信息进行注册,得到第二用户的身份标识以及第二区块链的身份标识,并对第一用户的身份标识和第一区块链的身份标识、第二用户的身份标识和第二区块链的身份标识进行存储。
此外,本步骤中得到的第一用户的私钥和第一用户的公钥满足本说明书公式(1)的要求。
步骤504:中继链将第一用户的身份标识、第一用户的私钥以及第一区块链的身份标识发送给第一区块链;
步骤505:中继链将第二用户的身份标识、第二用户的私钥以及第二区块链的身份标识发送给第二区块链;
步骤506:第一区块链将第一用户根据第一用户的身份标识、第一用户的私钥生成的数字签名以及第一用户的身份标识、第一区块链的身份标识两者中的至少一个发送给中继链;
在本步骤中,第一用户的数字签名通过本说明书公式(2)计算得到。
步骤507:中继链的链上节点对第一用户的身份标识和/或第一区块链的身份标识进行共识验证;
步骤508:若共识验证的结果为通过,将第一用户的数字签名发送给第二区块链;
步骤509:第二区块链将第二用户利用第一用户的公钥对第一用户的数字签名进行验证后得到的验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给中继链;
在本步骤中,第二用户利用本说明书公式(3)对数字签名进行验证。
步骤510:中继链的链上节点对第二用户的身份标识和/或第二区块链的身份标识进行共识验证;
步骤511:若共识验证的结果为通过,将验证结果发送给第一区块链;
步骤512:若数字签名的验证的结果为通过,则第一区块链在有限域上选取第一随机数并计算第一验证标识;
在本步骤中,第一区块链利用公式(4)计算第一验证标识。
步骤513:第一区块链将第一验证标识以及第一区块链的身份标识发送给中继链;
步骤514:中继链的链上节点对第一区块链的身份标识进行共识验证;
步骤515:若共识验证的结果为通过,中继链将第一验证标识发送给第二区块链;
步骤516:第二区块链在所相同的有限域上选取第二随机数;
步骤517:第二区块链将第二随机数以及第二区块链的身份标识发送给中继链;
步骤518:中继链的链上节点对第二区块链的身份标识进行共识验证;
步骤519:若共识验证的结果为通过,中继链将第二随机数发送给第一区块链;
步骤520:第一区块链计算第二验证标识;
在本步骤中,第一区块链利用公式(5)计算第二验证标识。
步骤521:第一区块链将第二验证标识以及第一区块链的身份标识发送给中继链;
步骤522:中继链的链上节点对第一区块链的身份标识进行共识验证;
步骤523:若共识验证的结果为通过,中继链将第二验证标识发送给第二区块链;
步骤524:第二区块链对第二验证标识进行验证。
在本步骤中,第二区块链利用公式(6)对第二验证标识进行验证。
通过上述装置或***所取得的有益效果与上述方法所取得的有益效果一致,本说明书实施例不做赘述。
需要说明的是,本实施例仅描述了第一用户向第二用户发送数字签名的过程,但基于本实施例所公开的内容,不难得出第二用户向第一用户发送数字签名的过程,此处不再赘述。
如图6所示为本文实施例计算机设备的结构示意图,本文中的第一用户、第二用户或中继链的链上节点可以为本实施例中的计算机设备,执行上述本文的方法。计算机设备602可以包括一个或多个处理设备604,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备602还可以包括任何存储资源606,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储资源606可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储资源都可以使用任何技术来存储信息。进一步地,任何存储资源可以提供信息的易失性或非易失性保留。进一步地,任何存储资源可以表示计算机设备602的固定或可移除部件。在一种情况下,当处理设备604执行被存储在任何存储资源或存储资源的组合中的相关联的指令时,计算机设备602可以执行相关联指令的任一操作。计算机设备602还包括用于与任何存储资源交互的一个或多个驱动机构608,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备602还可以包括输入/输出模块610(I/O),其用于接收各种输入(经由输入设备612)和用于提供各种输出(经由输出设备614)。一个具体输出机构可以包括呈现设备616和相关联的图形用户接口(GUI)618。在其他实施例中,还可以不包括输入/输出模块610(I/O)、输入设备612以及输出设备614,仅作为网络中的一台计算机设备。计算机设备602还可以包括一个或多个网络接口620,其用于经由一个或多个通信链路622与其他设备交换数据。一个或多个通信总线624将上文所描述的部件耦合在一起。
通信链路622可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路622可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
需要说明的是,当本文实施例的6中继链的各链上节点为本实施例所述的计算机设备602实现本说明书实施例所述的方法时,也可以不包括呈现设备616和相关联的图形用户接口(GUI)618等。例如仅包括处理设备604、存储资源606和网络接口620组成的计算机最小***。
对应于图2-图5中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图2-图5所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (8)
1.一种基于区块链的跨链身份验证方法,其特征在于,由第一区块链执行,所述方法包括,
将第一用户的身份信息发送到中继链,以使所述中继链利用第一算法对所述第一用户的身份信息进行注册,得到所述第一用户的身份标识、第一用户的私钥、第一用户的公钥以及所述第一区块链的身份标识,并对所述第一用户的身份标识和所述第一区块链的身份标识进行存储;
接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识;
将所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在所述第一用户的身份标识和/或所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述数字签名发送给第二区块链的第二用户;
接收所述中继链转发的所述第二用户对所述数字签名的验证结果,其中,所述验证结果是所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果,所述第二区块链将所述验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,所述第二用户的身份标识和所述第二区块链的身份标识是所述第二用户预先在所述中继链上注册后得到的;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证;
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上存储的相同的有限域上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为,
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为,
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
2.根据权利要求1所述的基于区块链的跨链身份验证方法,其特征在于,接收所述中继链发送的所述第一用户的身份标识、第一用户的私钥以及所述第一区块链的身份标识之后,所述方法还包括,
将第三用户的身份信息以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识、第三用户的私钥以及第三用户的公钥,并对所述第三用户的身份标识进行存储;
接收所述中继链发送的所述第三用户的身份标识以及第三用户的私钥,以在所述第三用户和所述第二区块链上的用户之间进行跨链验证的过程中,所述第三用户利用所述第三用户的身份标识、第三用户的私钥生成所述第三用户的数字签名,所述第二区块链上的用户利用所述第三用户的公钥对所述第三用户的数字签名进行验证。
3.根据权利要求1所述的基于区块链的跨链身份验证方法,其特征在于,在所述验证结果为通过的情况下,所述方法还包括,
在所述有限域上选取第一随机数,利用公式Q=r×G计算所述第一区块链的第一验证标识,其中,Q表示所述第一区块链的第一验证标识,r表示所述第一随机数;
将所述第一验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第一验证标识发送给所述第二区块链,以使所述第二区块链在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链;
接收所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下发送的所述第二随机数,并利用公式R=r+m×SK 1计算所述第一区块链的第二验证标识,其中,R表示所述第二验证标识,m表示所述第二随机数;
将所述第二验证标识以及所述第一区块链的身份标识发送给所述中继链,以使所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述第一区块链的第二验证标识发送给所述第二区块链,以使所述第二区块链利用公式R×G = m×PK 1对所述第二验证标识进行验证,其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
4.一种基于区块链的跨链身份验证方法,其特征在于,由第二区块链执行,所述方法包括,
将第二用户的身份信息发送到中继链,以使所述中继链利用第一算法对所述第二用户的身份信息进行注册,得到所述第二用户的身份标识以及所述第二区块链的身份标识,并对所述第二用户的身份标识和所述第二区块链的身份标识进行存储;
接收所述中继链发送的第一区块链的第一用户的数字签名,其中,所述第一用户的数字签名是所述中继链在第一用户的身份标识和/或第一区块链的身份标识的共识验证结果为通过的情况下发送的,所述数字签名是所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成的,所述第一用户的私钥、所述第一用户的身份标识和所述第一区块链的身份标识是所述第一用户预先在所述中继链上注册后得到的;
将所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果以及所述第二用户的身份标识、第二区块链的身份标识两者中的至少一个发送给所述中继链,以使所述中继链在对所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,所述第一用户的公钥是所述第一用户预先在所述中继链上注册后得到的;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证;
所述第一用户的私钥和第一用户的公钥之间满足如下关系,
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为,
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为,
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
5.根据权利要求4所述的基于区块链的跨链身份验证方法,其特征在于,在所述验证结果为通过的情况下,所述方法还包括,
接收所述中继链发送的所述第一区块链的第一验证标识,其中,所述第一区块链的第一验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的,所述第一区块链的第一验证标识是所述第一区块链在有限域上选取第一随机数,利用公式Q=r×G计算得到的,其中,Q表示所述第一区块链的第一验证标识,r表示所述第一随机数;
在所述有限域上选取第二随机数,并将所述第二随机数以及所述第二区块链的身份标识发送给所述中继链,以使所述中继链在所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述第二随机数发送给所述第一区块链,以使所述第一区块链利用公式R=r+m×SK 1计算所述第一区块链的第二验证标识,其中,R表示所述第二验证标识,m表示所述第二随机数;
接收所述中继链发送的所述第一区块链的第二验证标识,其中,所述第一区块链的第二验证标识是所述中继链在对所述第一区块链的身份标识的共识验证结果为通过的情况下发送的;
利用公式R×G = m×PK 1对所述第二验证标识进行验证,其中,若等式成立,则所述第二验证标识的验证结果为通过;
在所述第二验证标识的验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证。
6.一种基于区块链的跨链身份验证方法,其特征在于,由中继链执行,所述方法包括,
接收第一区块链发送的第一用户的身份信息以及第二区块链发送的第二用户的身份信息,利用第一算法对所述第一用户的身份信息进行注册,得到所述第一用户的身份标识、第一用户的私钥、第一用户的公钥以及所述第一区块链的身份标识,利用第一算法对所述第二用户的身份信息进行注册,得到所述第二用户的身份标识以及所述第二区块链的身份标识,并对所述第一用户的身份标识和所述第一区块链的身份标识、所述第二用户的身份标识和所述第二区块链的身份标识进行存储;
将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链,将所述第二用户的身份标识、第二区块链的身份标识、第一用户的公钥发送给所述第二区块链;
接收所述第一区块链发送的所述第一用户的数字签名以及所述第一用户的身份标识、所述第一区块链的身份标识两者中的至少一个,在所述第一用户的身份标识和/或所述第一区块链的身份标识的共识验证结果为通过的情况下,将所述数字签名发送给所述第二区块链的第二用户,其中,所述数字签名是所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成的;
接收所述第二区块链发送的所述数字签名的验证结果以及第二用户的身份标识、第二区块链的身份标识两者中的至少一个,在所述第二用户的身份标识和/或所述第二区块链的身份标识的共识验证结果为通过的情况下,将所述验证结果发送给所述第一用户,其中,所述验证结果是所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到的验证结果;
在所述验证结果为通过的情况下,完成所述第一用户和所述第二用户之间的跨链身份验证;
所述第一用户的私钥和第一用户的公钥之间满足如下关系,
其中,PK 1表示所述第一用户的公钥,SK 1表示所述第一用户的私钥,(x 1,y 1)表示椭圆曲线上的指定点的坐标,所述椭圆曲线存在于所述第一区块链和所述第二区块链上,G表示所述椭圆曲线上的基点;
所述第一用户根据所述第一用户的身份标识、第一用户的私钥生成所述第一用户的数字签名的公式为,
其中,S 1表示所述数字签名,M表示所述第一用户的身份信息;
所述第二用户利用所述第一用户的公钥对所述第一用户的数字签名进行验证后得到所述验证结果的公式为,
其中,P表示所述验证结果,P=1表示验证通过,M表示所述中继链在对所述第一用户的身份信息进行注册后,向所述第二区块链发送的所述第一用户的身份信息,G表示所述椭圆曲线上的基点,所述第一区块链和第二区块链上的所述椭圆曲线相同,x 1表示所述第一区块链通过所述中继链向所述第二区块链发送的所述椭圆曲线上的指定点的坐标。
7.根据权利要求6所述的基于区块链的跨链身份验证方法,其特征在于,将所述第一用户的身份标识、第一区块链的身份标识、第一用户的私钥发送给所述第一区块链之后,所述方法还包括,
接收所述第一区块链发送的第三用户的身份信息以及所述第一区块链的身份标识;
在所述第一区块链的身份标识的共识验证结果为通过的情况下,利用第二算法对所述第三用户的身份信息进行注册,得到所述第三用户的身份标识、第三用户的公钥以及第三用户的私钥,并对所述第三用户的身份标识进行存储。
8.一种基于区块链的跨链身份验证***,其特征在于,包括第一区块链、第二区块链和中继链;
所述第一区块链在实现跨链身份验证的过程中执行如权利要求1-3任意一项所述的方法;
所述第二区块链在实现跨链身份验证的过程中执行如权利要求4-5任意一项所述的方法;
所述中继链在实现跨链身份验证的过程中执行如权利要求6-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211003567.5A CN115085946B (zh) | 2022-08-22 | 2022-08-22 | 一种基于区块链的跨链身份验证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211003567.5A CN115085946B (zh) | 2022-08-22 | 2022-08-22 | 一种基于区块链的跨链身份验证方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115085946A CN115085946A (zh) | 2022-09-20 |
CN115085946B true CN115085946B (zh) | 2022-11-04 |
Family
ID=83244900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211003567.5A Active CN115085946B (zh) | 2022-08-22 | 2022-08-22 | 一种基于区块链的跨链身份验证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115085946B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110225017A (zh) * | 2019-05-30 | 2019-09-10 | 全链通有限公司 | 基于联盟区块链的身份验证方法、设备及存储介质 |
CN112187466A (zh) * | 2020-09-01 | 2021-01-05 | 深信服科技股份有限公司 | 一种身份管理方法、装置、设备及存储介质 |
CN112712372A (zh) * | 2020-12-30 | 2021-04-27 | 东软集团股份有限公司 | 联盟链跨链***和信息调用方法 |
CN113010861A (zh) * | 2021-03-16 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的融资事务中的身份验证方法和*** |
WO2021175409A1 (en) * | 2020-03-02 | 2021-09-10 | NEC Laboratories Europe GmbH | Method for supporting sharing of travel history of travelers in airports |
CN113452701A (zh) * | 2021-06-28 | 2021-09-28 | 上海计算机软件技术开发中心 | 跨链***、面向跨链***的分布式用户身份认证模型 |
WO2022062976A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 用于执行交易的跨区块链的***、跨链交易方法及设备 |
CN114615095A (zh) * | 2022-05-12 | 2022-06-10 | 北京邮电大学 | 区块链跨链数据处理方法、中继链、应用链及跨链网络 |
-
2022
- 2022-08-22 CN CN202211003567.5A patent/CN115085946B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110225017A (zh) * | 2019-05-30 | 2019-09-10 | 全链通有限公司 | 基于联盟区块链的身份验证方法、设备及存储介质 |
WO2021175409A1 (en) * | 2020-03-02 | 2021-09-10 | NEC Laboratories Europe GmbH | Method for supporting sharing of travel history of travelers in airports |
CN112187466A (zh) * | 2020-09-01 | 2021-01-05 | 深信服科技股份有限公司 | 一种身份管理方法、装置、设备及存储介质 |
WO2022062976A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 用于执行交易的跨区块链的***、跨链交易方法及设备 |
CN112712372A (zh) * | 2020-12-30 | 2021-04-27 | 东软集团股份有限公司 | 联盟链跨链***和信息调用方法 |
CN113010861A (zh) * | 2021-03-16 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的融资事务中的身份验证方法和*** |
CN113452701A (zh) * | 2021-06-28 | 2021-09-28 | 上海计算机软件技术开发中心 | 跨链***、面向跨链***的分布式用户身份认证模型 |
CN114615095A (zh) * | 2022-05-12 | 2022-06-10 | 北京邮电大学 | 区块链跨链数据处理方法、中继链、应用链及跨链网络 |
Also Published As
Publication number | Publication date |
---|---|
CN115085946A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shahidinejad et al. | Light-edge: A lightweight authentication protocol for IoT devices in an edge-cloud environment | |
CN109478223B (zh) | 区块链实现的方法和*** | |
CN112789824B (zh) | 区块链***及信息传输方法、***、装置、计算机介质 | |
CN107770159B (zh) | 车辆事故数据记录方法及相关装置、可读存储介质 | |
CN108322306A (zh) | 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法 | |
CN104468476B (zh) | 无证书多重代理签名的方法和装置 | |
CN106452772B (zh) | 终端认证方法和装置 | |
EP3726774A1 (en) | Transparent blockchain sidechains to support blockchain processing heterogeneity | |
CN104715183A (zh) | 一种虚拟机运行时的可信验证方法和设备 | |
CN109905360A (zh) | 数据验证方法及终端设备 | |
CN112311772A (zh) | 基于Hyperledger的跨域证书管理***及方法 | |
CN111815321A (zh) | 交易提案的处理方法、装置、***、存储介质和电子装置 | |
EP4238272A1 (en) | Certificate based security using post quantum cryptography | |
CN106060078A (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN105610872B (zh) | 物联网终端加密方法和物联网终端加密装置 | |
CN117294540B (zh) | 基于角色授权的隐私数据跨链获取方法、装置及*** | |
CN111212026A (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
Kumar et al. | PSEBVC: Provably secure ECC and biometric based authentication framework using smartphone for vehicular cloud environment | |
CN116244725A (zh) | 基于区块链的文件处理方法及装置、设备、文件投稿*** | |
CN113591103A (zh) | 一种电力物联网智能终端间的身份认证方法和*** | |
Kern et al. | Quantumcharge: Post-quantum cryptography for electric vehicle charging | |
CN115085946B (zh) | 一种基于区块链的跨链身份验证方法及*** | |
CN107395350A (zh) | 密钥及密钥句柄的生成方法、***及智能密钥安全设备 | |
CN115022012B (zh) | 一种数据传输方法、装置、***、设备及存储介质 | |
CN110213047A (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 |