CN114710362A - 基于区块链的身份认证方法、装置及电子设备 - Google Patents
基于区块链的身份认证方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114710362A CN114710362A CN202210428302.3A CN202210428302A CN114710362A CN 114710362 A CN114710362 A CN 114710362A CN 202210428302 A CN202210428302 A CN 202210428302A CN 114710362 A CN114710362 A CN 114710362A
- Authority
- CN
- China
- Prior art keywords
- verified
- node
- information
- certificate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012795 verification Methods 0.000 claims abstract description 124
- 238000001514 detection method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 230000008520 organization Effects 0.000 description 21
- 230000007246 mechanism Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000002688 persistence Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 244000035744 Hura crepitans Species 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3242—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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链的身份认证方法、装置及电子设备。涉及区块链领域,该方法包括:获取目标对象所对应的待验证对象凭证;基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证;在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证;在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。本发明解决了现有技术中区块链身份认证安全性低的技术问题。
Description
技术领域
本发明涉及区块链领域,具体而言,涉及一种基于区块链的身份认证方法、装置及电子设备。
背景技术
区块链网络是一种利用P2P通讯技术实现对等通信、利用共识机制实现记账合法性、利用链式结构存储数据的共同记账的解决方案,各合作机构需要进行跨机构数据共享或价值传递协作时,合作机构分别部署区块链节点组建联盟链,将基于业务规则编写的业务智能合约部署到区块链业务链系统中的每一个区块链节点上,由各区块链节点进行交易共识、交易执行及数据持久化。
区块链节点及发起智能合约交易请求的业务系统均涉及对应的身份标识,在建立连接及发起交易时需要先验证各方的身份,身份验证通过后才会提供对应的流程处理。
在现有的区块链网络中,由于各机构之间采用的身份认证体系有所不同,以及机构内用户的隐私防护需要,各机构之间并不能进行跨机构认证,从而导致跨机构身份认证安全性低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于区块链的身份认证方法、装置及电子设备,以至少解决现有技术中区块链身份认证安全性低的技术问题。
根据本发明实施例的一个方面,提供了一种基于区块链的身份认证方法,包括:获取目标对象所对应的待验证对象凭证;基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证;在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证;在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
进一步地,基于区块链的身份认证方法还包括:确定待验证对象凭证所采用的凭证模板的模板标识;从链上信息中获取与模板标识对应的目标凭证模板;基于目标凭证模板,确定待验证对象凭证的内容完整性。
进一步地,基于区块链的身份认证方法还包括:基于链上信息,对待验证对象数字身份进行真实性验证;在确定待验证对象数字身份真实的情况下,基于链上信息,对对象签名进行真实性验证;在确定对象签名真实的情况下,基于链上信息,对待验证节点数字身份进行真实性验证;在确定待验证节点数字身份真实的情况下,基于链上信息,对节点签名进行真实性验证。
进一步地,基于区块链的身份认证方法还包括:获取待验证对象数字身份;检测链上信息中是否存在待验证对象数字身份,得到第一检测结果;基于第一检测结果确定待验证对象数字身份的真实性。
进一步地,基于区块链的身份认证方法还包括:获取对象签名;从链上信息中获取对象公钥;采用对象公钥对对象签名进行解密处理,得到解密后的对象数字身份;判断解密后的对象数字身份与待验证对象数字身份是否相同,得到第一判断结果;基于第一判断结果确定对象签名的真实性。
进一步地,基于区块链的身份认证方法还包括:获取待验证节点数字身份;检测链上信息中是否存在待验证节点数字身份,得到第二检测结果;基于第二检测结果确定待验证节点数字身份的真实性。
进一步地,基于区块链的身份认证方法还包括:获取节点签名;从链上信息中获取节点公钥;采用节点公钥对节点签名进行解密处理,得到解密后的对象属性信息;判断解密后的对象属性信息与待验证对象凭证中的对象属性信息是否相同,得到第二判断结果;基于第二判断结果确定对象签名的真实性。
进一步地,基于区块链的身份认证方法还包括:在基于第二判断结果确定对象签名的真实性之后,在确定对象签名真实的情况下,获取当前时间;获取待验证对象凭证中的有效期限;在当前时间处于有效期限内的情况下,确定对待验证对象凭证的真实性验证成功。
进一步地,基于区块链的身份认证方法还包括:基于待验证对象凭证中的对象属性信息确定目标对象的身份信息。
进一步地,基于区块链的身份认证方法还包括:在基于待验证对象凭证确定目标对象的身份信息之后,基于目标对象的身份信息确定目标对象的对象权限;在确定对象权限满足预设条件的情况下,执行目标对象请求进行交易的交易请求。
进一步地,基于区块链的身份认证方法还包括:在获取目标对象所对应的待验证对象凭证之前,获取与当前区块链节点对应的节点凭证;广播节点凭证至区块链中的多个验证节点;获取验证结果,其中,验证结果为多个验证节点基于目标信息对节点凭证的真实性进行验证得到的,目标信息包括:与当前区块链节点对应的节点数字身份和节点公钥;在验证结果表征节点凭证真实的情况下,确定当前区块链节点可以成为目标区块链中的节点。
进一步地,基于区块链的身份认证方法还包括:在获取目标对象所对应的待验证对象凭证之前,获取当前服务节点生成的目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥,其中,每个服务节点与每个区块链节点相对应;对目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥进行上链处理,得到链上信息。
根据本发明实施例的另一方面,还提供了一种基于区块链的身份认证装置,包括:获取模块,用于获取目标对象所对应的待验证对象凭证;第一验证模块,用于基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证;第二验证模块,用于在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证;确定模块,用于在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的基于区块链的身份认证方法。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的基于区块链的身份认证方法。
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的基于区块链的身份认证方法。
在本发明实施例中,采用对目标对象的对象凭证进行验证,并基于验证成功的对象凭证确定目标对象的身份信息的方式,通过获取目标对象所对应的待验证对象凭证,基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证,然后在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证,从而在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
容易注意到的是,在上述过程中,通过获取目标对象所对应的待验证对象凭证,实现了对采用固定信息框架进行表示的目标对象的身份信息的获取,使得每个区块链节点都可以对目标对象进行身份认证,从而实现了跨机构认证,避免了现有技术中各机构之间采用的身份认证体系有所不同造成的身份信息规格不统一,无法跨机构认证目标对象,进而提高了身份认证的安全性。进一步地,通过基于链上信息对待验证对象凭证进行内容完整性验证,并在内容完整性验证成功的情况下,对待验证对象凭证进行内容完整性验证,避免了在待验证对象凭证内容不完整时对待验证对象凭证进行真实性验证造成的资源占用,同时,还避免了对手或攻击方生成伪造的对象凭证造成的安全性低的问题,以及对手或攻击方对用于验证待验证对象凭证的信息进行篡改造成的验证可信度的问题,从而更进一步地提高了身份认证的安全性。
由此可见,本申请所提供的方案达到了对目标对象的对象凭证进行验证,并基于验证成功的对象凭证确定目标对象的身份信息的目的,从而实现了提高身份认证的安全性的技术效果,进而解决了现有技术中区块链身份认证安全性低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于数字身份认证的联盟链系统的示意图;
图2是根据本发明实施例的一种可选的基于区块链的身份认证方法的示意图;
图3是根据本发明实施例的一种可选的区块链的示意图;
图4是根据本发明实施例的一种可选的基于区块链的身份认证装置的示意图;
图5是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
联盟链:业务合作机构间根据业务需求组建区块链联盟网络,抽取业务规则为业务智能合约并部署到区块链联盟网络上对具体的业务数据进行背书。
数字身份:是实体的数字身份标识符及与之关联的数字化属性声明,通过实体数字身份标识符相关联的密码学体系,支撑可验证凭证在联盟机构间的有效流转。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
实施例1
根据本发明实施例,提供了一种基于区块链的身份认证方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本申请可以基于一种可选的基于数字身份认证的联盟链系统实现,该系统至少包括由多个区块链节点组建的业务链,还可以包括数字身份服务节点和业务系统。其中,每个机构对应于不同的业务系统,且每个机构内均部署有对应的数字身份服务节点和区块链节点。具体地,业务链为根据每个机构所对应的业务系统的上链业务需求组建而成,链上的多个区块链节点均属于业务链的成员节点,成员节点上均部署有与数字身份服务节点交互的数字身份服务智能合约,并支持根据业务请求实例化业务智能合约,数字身份服务节点可以为对应机构的区块链节点及交易用户注册数字身份,并颁发对应的凭证。联盟机构间可以通过区块链节点对节点及交易用户的凭证进行验证来鉴别节点及交易用户的权限属性,并提供对应的服务,有效满足跨架构间的身份互认及服务鉴权。
图2是根据本发明实施例的一种可选的基于区块链的身份认证方法的示意图,如图2所示,该方法包括如下步骤:
步骤S201,获取目标对象所对应的待验证对象凭证。
在步骤S201中,业务系统可以响应目标对象请求进行交易的交易请求,并基于交易请求向与其对应的区块链节点发送业务智能合约交易请求,其中,业务智能合约交易请求至少包括与目标对象对应的待验证对象凭证,基于业务场景的不同,不同目标对象所对应的待验证对象凭证中对象属性信息的内容以及格式可能有所不同,但待验证对象凭证的信息框架相同,即均采用预设的信息框架,例如,所有待验证对象凭证均包括对象数字身份、模板标识、对象签名、节点数字身份、节点签名、对象属性信息等。当前区块链节点获取到对应的业务智能合约交易请求时,当前区块链节点可以从中获取待验证对象凭证,以便后续对目标对象进行验证。
需要说明的是,通过获取目标对象所对应的待验证对象凭证,实现了对采用固定信息框架进行表示的目标对象的身份信息的获取,使得每个区块链节点都可以对目标对象进行身份认证,从而实现了跨机构认证,避免了现有技术中各机构之间采用的身份认证体系有所不同造成的身份信息规格不统一,无法跨机构认证目标对象,进而提高了链上操作及交易行为的可监管性。
步骤S202,基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证。
在步骤S202中,区块链中的链上信息可以包括与每个业务场景对应的凭证模板或与每个业务场景对应的信息需求列表。其中,不同的凭证模板或信息需求列表至少用于表征对象凭证中对象属性信息的内容需求,还可以表征对象凭证中对象属性信息的格式需求。当前区块链节点可以将凭证模板与待验证对象凭证进行比对,也可以根据信息需求列表内记载的信息需求在待验证对象凭证中进行查找,从而确定待验证对象凭证的内容完整性。其中,区块链即为前述的业务链。
需要说明的是,通过基于链上信息对待验证对象凭证进行内容完整性验证,保证了待验证对象凭证的有效性,避免了在待验证对象凭证内容不完整的情况下对待验证对象凭证进行真实性验证造成的资源占用,从而可以同时提高区块链的工作效率,同时,还避免了对手或攻击方对用于验证待验证对象凭证的信息进行篡改造成的验证准确性差。
步骤S203,在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证。
在步骤S203中,区块链中的链上信息还可以包括与目标对象对应的对象数字身份和公钥,以及与目标节点对应的节点数字身份和公钥,其中,目标节点为待验证对象凭证中记录的机构所对应的区块链节点。在确定待验证对象凭证内容完整的情况下,当前区块链节点可以基于与目标对象对应的对象数字身份和公钥,以及与目标节点对应的节点数字身份和公钥对待验证对象凭证进行真实性验证,即验证待验证对象凭证中所记录的内容是否为真实内容。
需要说明的是,通过基于链上信息对待验证对象凭证进行真实性验证,保证了待验证对象凭证的真实性以及对待验证对象凭证进行验证的准确性,避免了对手或攻击方生成伪造的对象凭证造成的安全性低的问题,或是对手或攻击方对用于验证待验证对象凭证的信息进行篡改造成的验证准确性差。
步骤S204,在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
在步骤204中,在确定待验证对象凭证的内容真实的情况下,当前区块链节点可以基于待验证对象凭证中所记录的内容确定目标对象的身份信息,其中,目标对象的身份信息至少包括目标对象在区块链中所具备的权限,还可以包括目标对象在区块链中的角色信息,角色信息可以是用户或区块链节点,还可以包括用户所对应的机构信息或其他信息。
需要说明的是,基于验证成功的待验证对象凭证确定目标对象的身份信息,可以实现对目标对象身份的有效认证。
基于上述步骤S201至步骤S204所限定的方案,可以获知,在本发明实施例中,采用对目标对象的对象凭证进行验证,并基于验证成功的对象凭证确定目标对象的身份信息的方式,通过获取目标对象所对应的待验证对象凭证,基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证,然后在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证,从而在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
容易注意到的是,在上述过程中,通过获取目标对象所对应的待验证对象凭证,实现了对采用固定信息框架进行表示的目标对象的身份信息的获取,使得每个区块链节点都可以对目标对象进行身份认证,从而实现了跨机构认证,避免了现有技术中各机构之间采用的身份认证体系有所不同造成的身份信息规格不统一,无法跨机构认证目标对象,进而提高了身份认证的安全性。进一步地,通过基于链上信息对待验证对象凭证进行内容完整性验证,并在内容完整性验证成功的情况下,对待验证对象凭证进行内容完整性验证,避免了在待验证对象凭证内容不完整时对待验证对象凭证进行真实性验证造成的资源占用,同时,还避免了对手或攻击方生成伪造的对象凭证造成的安全性低的问题,以及对手或攻击方对用于验证待验证对象凭证的信息进行篡改造成的验证可信度的问题,从而更进一步地提高了身份认证的安全性。
由此可见,本申请所提供的方案达到了对目标对象的对象凭证进行验证,并基于验证成功的对象凭证确定目标对象的身份信息的目的,从而实现了提高身份认证的安全性的技术效果,进而解决了现有技术中区块链身份认证安全性低的技术问题。
在一种可选的实施例中,在获取目标对象所对应的待验证对象凭证之前,当前区块链节点可以获取与当前区块链节点对应的节点凭证,然后广播节点凭证至区块链中的多个验证节点,获取验证结果,从而在验证结果表征节点凭证真实的情况下,确定当前区块链节点可以成为目标区块链中的节点,其中,验证结果为多个验证节点基于目标信息对节点凭证的真实性进行验证得到的,目标信息包括:与当前区块链节点对应的节点数字身份和节点公钥。
可选的,如图3所示,区块链节点包含节点初始化及路由装置、数字身份处理装置,其中,数字身份处理装置包括DID注册模块、凭证申请模块和凭证校验模块。在当前区块链节点获取与当前区块链节点对应的节点凭证之前,需要先组建业务链。具体地,在业务链组建时,区块链节点中的节点初始化及路由装置负责区块链节点的初始化操作,其用于获取区块链节点的安装介质,并在启动时初始化数字身份合约信息,同时通过DID注册模块向对应的数字身份服务节点发起节点注册信息。然后由数字身份管理节点根据初始化配置信息为对应的区块链节点分配节点数字身份DID以及节点公私钥对,并将前述的节点数字身份DID以及节点公钥对进行上链处理,生成链上信息。之后,可以通过凭证申请模块向数字身份服务节点申请颁发节点对应权限的节点凭证,并由数字身份服务节点根据对应的区块链节点在联盟网络中的角色信息颁发对应的节点凭证,其中,凭证信息包括区块链节点对应的属性信息,及联盟机构对节点属性信息的签名信息。其中,链上信息还包括多个凭证模板,数字身份管理节点为对应的区块链节点颁发节点凭证的方法与下述数字身份管理节点为交易对象颁发节点凭证的方法相同,故此处暂不赘述。
进一步地,当当前区块链节点获取到与当前区块链节点对应的节点凭证后,当前区块链节点将节点凭证广播节点凭证至区块链中的多个具有验证功能的区块链节点。之后,当前节点以及验证节点可以通过凭证校验模块,基于与当前区块链节点对应的节点数字身份和节点公钥验证当前区块链节点的节点凭证,具体包括验证交易发起方对对应的凭证的所有权信息、区块链节点的属性信息、凭证签发方的签名信息。其中,需要说明的是,在业务链组建过程中,当前区块链节点也可以接收由其它区块链节点广播的节点凭证,以对其它区块链节点对应的节点凭证进行验证。
更进一步地,当前区块链节点可以获取其它区块链节点发送的验证结果,并在验证结果表征验证通过情况下,获取交易发起方的所属组织、角色信息及读写权限三项属性信息,以根据三项属性信息判断组建业务链的区块链节点是否可靠,且是否具有对应的权限。并在确定了当前区块链节点满足前述条件的情况下,确定当前区块链节点可以成为目标区块链中的节点,即可以成为业务链中的节点。
可选的,在验证通过的情况下,当前区块链节点对应的数字身份服务节点可以将当前区块链节点的节点数字身份、当前区块链节点对应的凭证模板以及该凭证模板的Hash信息打包上链,并由合约执行装置共识通过后完成链上背书。
其中,如图3所示,区块链节点还包括合约执行装置,合约执行装置负责接收数字身份服务节点发起的数字身份交易背书,即前述的当前区块链节点的节点数字身份、当前区块链节点对应的凭证模板以及该凭证模板的Hash信息,根据交易请求方法中的智能合约ID参数“subId”,具体为“Invoke(stubId,function,args)”字段中的subId,路由到对应的智能合约沙箱中,在本实施例中,将数字身份服务节点发起的数字身份背书交易更新及查询请求发送到数字身份智能合约运行容器沙箱中。
具体地,如图3所示,合约执行装置包括交易校验模块、交易共识模块以及持久化模块。其中,交易校验模块是对业务请求参数进行校验并进行交易共识预处理的模块,交易校验模块可以校验交易请求参数及来源等信息,将业务请求区块的Hash、区块共识消息保存到本地磁盘中,并将区块序号加1,将区块共识消息广播到业务链中所有验证节点中。
进一步地,交易共识模块用于获取前述的区块共识消息,并根据区块共识消息完成交易共识,交易共识模块可以在非系统安全重启时间窗口内使用拜占庭共识算法对交易进行三段式共识处理,第一阶段为pre-prepare共识,第二阶段为prepare共识,第三阶段为commit共识,三个阶段为顺序执行,当前一阶段累计收到2f+1个其他交易共识节点的一致确认消息后当前阶段的共识完成并进入下一阶段,三个阶段的共识全部完成后代表该业务请求合法,按业务合约逻辑处理后的数据写入区块进行持久化。
更进一步地,持久化模块用于完成交易执行,该模块用于接收数字身份服务节点根据智能合约接口的组装报文,以及数字身份服务节点根据智能合约ID上送的交易信息,并在交易信息通过交易校验模块的参数校验及交易共识模块共识后执行智能合约交易逻辑,将业务数据持久化到世界状态中,其中数字身份服务节点的发起的请求对应的世界状态数据包括区块链节点的节点数字身份、节点公钥、凭证模板、以及凭证模板的Hash信息。
需要说明的是,通过在组建业务链的过程中,基于节点凭证对区块链节点的身份进行认证,避免了业务链中出现伪装的节点,从而提高了业务链的安全性,进而提高了对目标对象的待验证对象凭证进行认证的安全性。
在一种可选的实施例中,在获取目标对象所对应的待验证对象凭证之前,当前区块链节点可以获取当前服务节点生成的目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥,对目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥进行上链处理,得到链上信息。其中,每个服务节点与每个区块链节点相对应,服务节点即为前述的数字身份服务节点。
可选的,在目标对象通过业务系统向业务链1发起交易请求前,目标对象需要先通过业务系统向数字身份服务节点申请注册对象数字身份并申请颁发对应的对象凭证。
具体地,数字身份服务节点不仅可以为本机构所对应的区块链节点注册节点数字身份并签发对应的节点凭证,也可以为本机构所对应的业务系统的交易用户注册对象数字身份并签发对应的对象凭证。在业务链组建时,各联盟机构的业务系统可获取到数字身份服务节点的安装介质及初始化配置,其中,初始化配置信息包括权威机构所对应的区块链节点的节点数字身份及节点公私钥对信息,权威机构可以为当前机构,也可以为业务链上的其它机构。同时,数字身份服务节点支持对接联盟机构的业务系统内部的实名认证系统,其可以定制化要求在区块链节点及用户注册数字身份时,先进行实名认证,以实现链上匿名链下实名,提升链上操作及交易行为的可监管性。
可选的,数字身份服务节点可以为业务系统推送的目标对象生成目标对象公钥、目标对象私钥、目标节点数字身份、目标节点公钥以及目标节点私钥,其中,目标节点公钥以及目标节点私钥为在组建业务链的过程中所生成的。可选的,在注册完成后,数字身份服务节点可以将目标对象的目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥进行上链处理,以得到链上信息。其中,在上链过程中,可以通过合约执行装置基于前述的对交易请求的处理方法,对数字身份服务节点发送的前述信息进行校验、共识、执行上链等处理,故此处不再赘述。
更进一步地,数字身份服务节点可以基于目标对象数字身份、目标对象私钥、目标节点数字身份以及目标节点私钥生成与目标对象对应的对象凭证。对象凭证至少包括用户信息、用户的属性声明信息以及机构的签名信息三个部分,用户的属性声明信息即为前述的对象属性信息。其中,用户信息包括目标对象的对象数字身份,所采用的凭证模板对应的模板标识,以及用对象数字身份对应的对象私钥签名的对象数字身份,即真实的对象签名,用户信息在凭证中用“user”字段进行标识。用户的属性声明信息包括“organization”、“didrole”和“rightgroup”等字段表示的属性信息以及凭证的有效期限,其中,“organization”字段表示目标对象所属的联盟组织信息,即为目标对象签发凭证的机构,“didrole”字段表示目标对象在业务链中的角色信息,角色信息可以包括用户、区块链节点等,“rightgroup”字段表示目标对象在业务链中的权限集合,权限集合包括:只读、只写、等读写权限类别,用户的属性声明信息在凭证中用“claim”标识。机构的签名信息包括目标对象所对应的权威机构的区块链节点的节点数字身份以及用节点数字身份对应的节点私钥签名的用户的属性声明信息,即真实的节点签名,机构的签名信息在凭证中用“proof”标识,其中,权威机构可以是前述的签发机构,也可以是其它机构。在本实施中,一种可选的对象凭证示例如下:
{
"user":{
"id":"8bdb2f39-4c52-482e-b6c1-57fb282ccf97",
"cptId":203
"signature":"8bdb2f394c52482eb6c157fb282ccf97NOGwglaoG5fsSSIzglaoG5fsSSI85d5c0450ed"
},
"claim":{
"organization":"ICBC",
"didrole":"client",
"rightgroup":"R|W"
"issuanceDate":1632468448,
"expirationDate":1639282332,
},
"proof":{
"creator":"did:icbcid:201:0xf3836e585d5c0450edf75c165a0fe3b6e9d6c945",
"signature":"HFi8JV5pNOGwglaoG5fsSSIzhvfQOMA0+qJpsrWb/FohI/Z/dJw1O5k7ZhKaZWdBsiFcj3+4asqSpULlcqTV0HE="
}
}
需要说明的是,节点凭证与对象凭证的生成方法相同。通过基于目标对象数字身份、目标对象私钥、目标节点数字身份、目标节点私钥以及用户的属性声明信息生成对象凭证,一方面,能够便于对用户身份进行认证,另一方面,实现了对用户相关信息的记录。此外,通过对目标对象数字身份、目标对象公钥、目标节点数字身份、目标节点公钥进行上链处理,得到链上信息,可以保证在对用户进行身份认证时,避免目标节点数字身份、目标节点公钥等信息被篡改,从而提高了身份认证的安全性。
在一种可选的实施例中,在基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证的过程中,可以确定待验证对象凭证所采用的凭证模板的模板标识,并从链上信息中获取与模板标识对应的目标凭证模板,从而基于目标凭证模板,确定待验证对象凭证的内容完整性。
可选的,基于业务场景的不同,目标对象或区块链节点所采用的凭证模板也有所不同,不同的凭证模板对应有不同的模板标识,因此,当前区块链节点在获取到待验证对象凭证时,可以先从待验证对象凭证所记载的内容中确定该凭证所采用的凭证模板的模板标识“cptId"”。其中,凭证模板用于确定凭证内所需要记录的内容,例如,在某一凭证模板中限定了需要记录目标对象的姓名,性别以及出生日期,而在另一凭证模板中仅限定了需要记录目标对象的姓名以及出生日期;同时,凭证模板还可以对凭证内信息的记录格式进行限定,例如,在某一凭证模板中限定了性别以汉字形式(男、女)存在,而在另一凭证模板中限定了性别以数字形式(0、1)存在。
进一步地,当当前区块链节点确定了模板标识后,凭证校验模块可以向合约执行装置发送数字身份凭证模板查询交易,以基于模板标识从链上信息中确定与模板标识对应的目标凭证模板,从而基于目标凭证模板,确定待验证对象凭证中的信息是否记录完整,以及格式是否正确,可选的,在待验证对象凭证中的信息记录完整,且格式正确的情况下,确定内容完整性验证成功,反之,确定内容完整性验证失败。
需要说明的是,通过基于链上信息中的目标凭证模板验证待验证对象凭证的内容完整性,保证了验证结果的准确性。
在一种可选的实施例中,在基于链上信息,对待验证对象凭证进行真实性验证的过程中,可以基于链上信息,对待验证对象数字身份进行真实性验证,并在确定待验证对象数字身份真实的情况下,基于链上信息,对对象签名进行真实性验证,然后在确定对象签名真实的情况下,基于链上信息,对待验证节点数字身份进行真实性验证,从而在确定待验证节点数字身份真实的情况下,基于链上信息,对节点签名进行真实性验证。其中,待验证对象凭证至少包括待验证对象数字身份、对象签名、待验证节点数字身份以及节点签名。
可选的,在待验证对象凭证的内容完整性验证成功的情况下,当前区块链节点可以基于凭证校验模块依次对验证对象凭证中的对象数字身份、对象签名、节点数字身份以及节点签名进行进行真实性验证,在验证过程中,如果任意一步中出现验证不通过的情况,则不仅后续验证步骤,直接返回验证不通过的信息,并拒绝对应的交易请求。
需要说明的是,通过在前一验证步骤验证有效的情况下,进行下一步骤的验证,可以有效节省验证时间,从而减少对相关系统的资源占用,并提高工作效率。
在一种可选的实施例中,在基于链上信息,对待验证对象数字身份进行真实性验证的过程中,当前区块链节点可以获取待验证对象数字身份,并检测链上信息中是否存在待验证对象数字身份,得到第一检测结果,从而基于第一检测结果确定待验证对象数字身份的真实性。
可选的,凭证校验模块可以根据待验证对象凭证中“user”部分的“id”所对应的信息(即对象数字身份)向合约执行装置发送数字身份查询交易,以确定链上信息中是否存在待验证对象数字身份,得到第一检测结果。可选的,当第一检测结果表征链上信息中存在待验证对象数字身份时,说明待验证对象数字身份真实,反之,当第一检测结果表征链上信息中不存在待验证对象数字身份时,说明待验证对象数字身份不真实。
需要说明的是,通过基于链上信息中所记录的对象数字身份确定待验证对象数字身份的真实性,保证了验证结果的准确性。
在一种可选的实施例中,在基于链上信息,对对象签名进行真实性验证的过程中,当前区块链节点可以获取对象签名,并从链上信息中获取对象公钥,从而采用对象公钥对对象签名进行解密处理,得到解密后的对象数字身份,进而判断解密后的对象数字身份与待验证对象数字身份是否相同,得到第一判断结果,以基于第一判断结果确定对象签名的真实性。
可选的,凭证校验模块可以从链上信息中获取与目标对象对应的对象公钥,从而采用对象公钥对对象签名进行解密处理,得到解密后的对象数字身份,其中,真实的对象签名为基于目标对象所对应的私钥对对象数字身份进行签名得到的。从而可以将解密后的对象数字身份与待验证对象数字身份进行比对,以得到第一判断结果。可选的,当第一判断结果表征解密后的对象数字身份与待验证对象数字身份相同时,说明对象签名真实,反之,当第一判断结果表征解密后的对象数字身份与待验证对象数字身份不同时,说明对象签名不真实。
需要说明的是,由于真实的对象签名为基于目标对象所对应的私钥对对象数字身份进行签名得到的,因此,通过采用对象公钥对对象签名进行解密处理,以对对象签名的真实性进行验证,保证了验证结果的准确性。
在一种可选的实施例中,在基于链上信息,对待验证节点数字身份进行真实性验证的过程中,当前区块链节点可以获取待验证节点数字身份,检测链上信息中是否存在待验证节点数字身份,得到第二检测结果,基于第二检测结果确定待验证节点数字身份的真实性。
可选的,凭证校验模块可以根据待验证对象凭证中“proof”部分的“id”所对应的信息(即对象数字身份)向合约执行装置发送数字身份查询交易,以确定链上信息中是否存在待验证节点数字身份,得到第二检测结果。可选的,当第二检测结果表征链上信息中存在待验证节点数字身份时,说明待验证节点数字身份真实,反之,当第二检测结果表征链上信息中不存在待验证节点数字身份时,说明待验证节点数字身份不真实。
需要说明的是,通过基于链上信息中所记录的节点数字身份确定待验证节点数字身份的真实性,保证了验证结果的准确性。
在一种可选的实施例中,在基于链上信息,对节点签名进行真实性验证的过程中,当前区块链节点可以获取节点签名,并从链上信息中获取节点公钥,然后采用节点公钥对节点签名进行解密处理,得到解密后的对象属性信息,从而判断解密后的对象属性信息与待验证对象凭证中的对象属性信息是否相同,得到第二判断结果,进而基于第二判断结果确定对象签名的真实性。
可选的,凭证校验模块可以从链上信息中获取与目标对象所对应的权威机构的区块链节点的对象公钥,从而采用对象公钥对节点签名进行解密处理,得到解密后的对象属性信息,即前述的用户的属性声明信息“claim”,其中,真实的节点签名为基于目标对象所对应的权威机构的区块链节点的对象私钥对节点数字身份进行签名得到的。从而可以将解密后的对象属性信息与待验证对象凭证中的对象属性信息进行比对,以得到第二判断结果。可选的,当第二判断结果表征解密后的对象属性信息与待验证对象凭证中的对象属性信息相同时,说明节点签名真实,反之,当第二判断结果表征解密后的对象属性信息与待验证对象凭证中的对象属性信息不同时,说明节点签名不真实。
需要说明的是,由于真实的节点签名为基于目标对象所对应的权威机构的区块链节点的对象私钥对节点数字身份进行签名得到的,因此,通过采用节点公钥对节点签名进行解密处理,以对节点签名的真实性进行验证,保证了验证结果的准确性。
在一种可选的实施例中,在在基于第二判断结果确定对象签名的真实性之后,当前区块链节点可以在确定对象签名真实的情况下,获取当前时间,并获取待验证对象凭证中的有效期限,从而在当前时间处于有效期限内的情况下,确定对待验证对象凭证的真实性验证成功。
可选的,当前区块链节点可以将当前时间与待验证对象凭证中的有效期限进行比对,以确定当前时间是否处于有效期限内,并在当前时间处于有效期限内的情况下,确定对待验证对象凭证的真实性验证成功,反之,则确定对待验证对象凭证的真实性验证失败。
需要说明的是,通过将当前时间与待验证对象凭证中的有效期限进行比对,以更近一步地提高身份认证的安全性。
在一种可选的实施例中,在基于待验证对象凭证确定目标对象的身份信息的过程中,可以基于待验证对象凭证中的对象属性信息确定目标对象的身份信息。
可选的,当确定了对待验证对象凭证的真实性验证成功以后,当前区块链节点可以将待验证对象凭证中的对象属性信息,即前述的用户属性声明信息“claim”发送至合约执行装置,以使合约执行模块基于对象属性信息确定目标对象的身份信息,进而基于目标对象的身份信息确定是否执行对应的交易请求。
需要说明的是,基于验证后对象凭证中的对象属性信息确定目标对象的身份信息,实现了对目标对象的身份的有效验证。
在一种可选的实施例中,在基于待验证对象凭证确定目标对象的身份信息之后,当前区块链节点可以基于目标对象的身份信息确定目标对象的对象权限,从而在确定对象权限满足预设条件的情况下,执行目标对象请求进行交易的交易请求。
可选的,在本实施例中,凭证校验模块可以基于目标对象的身份信息确定目标对象的对象权限,并在确定对象权限满足预设条件的情况下,执行目标对象请求进行交易的交易请求。其中,预设条件与交易请求相对应,即当目标对象所发起的交易请求不同时,其权限所需满足的预设条件同样有所不同。
进一步地,在执行目标对象请求进行交易的交易请求的过程中,合约执行装置可以接收目标对象基于业务系统发起的业务交易请求,并根据交易请求方法中的智能合约ID参数“subId”,具体为“Invoke(stubId,function,args)”字段中的subId,路由到对应的智能合约沙箱中,其中,业务系统发起的业务更新及查询请求转发到对应的业务智能合约运行容器沙箱中。
更进一步地,交易校验模块可以校验交易请求参数及来源等信息,并将业务请求区块的Hash,以及区块共识消息保存到本地磁盘中,然后将区块序号加1,将区块共识消息广播到业务链中所有验证节点中。之后,当前区块链节点以及验证节点可以通过交易共识模块对交易进行共识,其中,交易共识模块可以采用前述的共识算法进行共识,也可以依据其它共识算法进行共识,故此处不再赘述。
可选的,之后,持久化模块可以获取业务系统根据智能合约接口组装的报文以及根据智能合约ID上送的交易信息,然后将业务数据持久化到世界状态中。其中,业务系统发起的交易请求对应的世界状态数据主要是业务数据,如账户信息、账户余额信息等。
需要说明的是,本发明通过在各联盟机构组建联盟链时,在各机构内部署区块链成员节点和数字身份服务节点,并在联盟链网络初始化时由各机构的数字身份服务节点为成员节点颁发对应的节点凭证,跨机构进行节点通讯和交易验证时,通过节点凭证以及对象凭证进行节点及交易用户的身份认证,有效提升了区块链交易的安全性及可扩展性。具体地,本发明通过在各个联盟机构内部署数字身份服务节点,有效去除中心化的CA认证模式,让链上各联盟机构真正实现对等交互,从而促进了区块链系统回归去中心化本源;由于数字身份服务节点支持对接各机构内部的实名身份认证系统,且可以通过对象凭证选择性公开用户相关的属性信息,实现链上匿名链下实名,从而提升了链上操作及交易行为的可监管性;通过数字身份的统一数字身份标识符、可有效流转的数字身份凭证以及凭证解析器,可方便扩展联盟机构拓展时的身份认证,同时也可灵活应用于链上及链下身份联动及不同联盟间的身份打通。
由此可见,本申请所提供的方案达到了对目标对象的对象凭证进行验证,并基于验证成功的对象凭证确定目标对象的身份信息的目的,从而实现了提高身份认证的安全性的技术效果,进而解决了现有技术中区块链身份认证安全性低的技术问题。
实施例2
根据本发明实施例,提供了一种基于区块链的身份认证装置的实施例,其中,图4是根据本发明实施例的一种可选的基于区块链的身份认证装置的示意图,如图4所示,该装置包括:
获取模块401,用于获取目标对象所对应的待验证对象凭证;
第一验证模块402,用于基于区块链中的链上信息,对待验证对象凭证进行内容完整性验证;
第二验证模块403,用于在内容完整性验证成功的情况下,基于链上信息,对待验证对象凭证进行真实性验证;
确定模块404,用于在真实性验证成功的情况下,基于待验证对象凭证确定目标对象的身份信息。
需要说明的是,上述获取模块401、第一验证模块402、第二验证模块403以及确定模块404对应于上述实施例中的步骤S201至步骤S204,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,第一验证模块还包括:第一子确定模块,用于确定待验证对象凭证所采用的凭证模板的模板标识;第一子获取模块,用于从链上信息中获取与模板标识对应的目标凭证模板;第二子确定模块,用于基于目标凭证模板,确定待验证对象凭证的内容完整性。
可选的,待验证对象凭证至少包括待验证对象数字身份、对象签名、待验证节点数字身份以及节点签名,其中,第二验证模块还包括:第一子验证模块,用于基于链上信息,对待验证对象数字身份进行真实性验证;第二子验证模块,用于在确定待验证对象数字身份真实的情况下,基于链上信息,对对象签名进行真实性验证;第三子验证模块,用于在确定对象签名真实的情况下,基于链上信息,对待验证节点数字身份进行真实性验证;第四子验证模块,用于在确定待验证节点数字身份真实的情况下,基于链上信息,对节点签名进行真实性验证。
可选的,第一子验证模块还包括:第二子获取模块,用于获取待验证对象数字身份;第一检测模块,用于检测链上信息中是否存在待验证对象数字身份,得到第一检测结果;第三子确定模块,用于基于第一检测结果确定待验证对象数字身份的真实性。
可选的,第二子验证模块还包括:第三子获取模块,用于获取对象签名;第四子获取模块,用于从链上信息中获取对象公钥;第一处理模块,用于采用对象公钥对对象签名进行解密处理,得到解密后的对象数字身份;第一判断模块,用于判断解密后的对象数字身份与待验证对象数字身份是否相同,得到第一判断结果;第四子确定模块,用于基于第一判断结果确定对象签名的真实性。
可选的,第三子验证模块还包括:第五子获取模块,获取待验证节点数字身份;第二检测模块,检测链上信息中是否存在待验证节点数字身份,得到第二检测结果;第五子确定模块,用于基于第二检测结果确定待验证节点数字身份的真实性。
可选的,第四子验证模块还包括:第六子获取模块,用于获取节点签名;第七子获取模块,用于从链上信息中获取节点公钥;第二处理模块,用于采用节点公钥对节点签名进行解密处理,得到解密后的对象属性信息;第二判断模块,用于判断解密后的对象属性信息与待验证对象凭证中的对象属性信息是否相同,得到第二判断结果;第五子确定模块,用于基于第二判断结果确定对象签名的真实性。
可选的,基于区块链的身份认证装置还包括:第八子获取模块,用于在确定对象签名真实的情况下,获取当前时间;第九子获取模块,用于获取待验证对象凭证中的有效期限;第六子确定模块,在当前时间处于有效期限内的情况下,确定对待验证对象凭证的真实性验证成功。
可选的,确定模块还包括:第七子确定模块,用于基于待验证对象凭证中的对象属性信息确定目标对象的身份信息。
可选的,基于区块链的身份认证装置还包括:第八子确定模块,用于基于目标对象的身份信息确定目标对象的对象权限;执行模块,用于在确定对象权限满足预设条件的情况下,执行目标对象请求进行交易的交易请求。
可选的,基于区块链的身份认证装置还包括:第十子获取模块,用于获取与当前区块链节点对应的节点凭证;广播模块,用于广播节点凭证至区块链中的多个验证节点;第十一子获取模块,用于获取验证结果,其中,验证结果为多个验证节点基于目标信息对节点凭证的真实性进行验证得到的,目标信息包括:与当前区块链节点对应的节点数字身份和节点公钥;第九子确定模块,用于在验证结果表征节点凭证真实的情况下,确定当前区块链节点可以成为目标区块链中的节点。
可选的,基于区块链的身份认证装置还包括:第十二子获取模块,用于获取当前服务节点生成的目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥,其中,每个服务节点与每个区块链节点相对应;第三处理模块,用于对目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥进行上链处理,得到链上信息。
实施例3
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的区块链的身份认证方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图5是根据本发明实施例的一种可选的电子设备的示意图,如图5所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的区块链的身份认证方法。
实施例5
根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的区块链的身份认证方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种基于区块链的身份认证方法,其特征在于,包括:
获取目标对象所对应的待验证对象凭证;
基于区块链中的链上信息,对所述待验证对象凭证进行内容完整性验证;
在内容完整性验证成功的情况下,基于所述链上信息,对所述待验证对象凭证进行真实性验证;
在真实性验证成功的情况下,基于所述待验证对象凭证确定所述目标对象的身份信息。
2.根据权利要求1所述的方法,其特征在于,基于区块链中的链上信息,对所述待验证对象凭证进行内容完整性验证,包括:
确定所述待验证对象凭证所采用的凭证模板的模板标识;
从所述链上信息中获取与所述模板标识对应的目标凭证模板;
基于目标凭证模板,确定所述待验证对象凭证的内容完整性。
3.根据权利要求1或2所述的方法,其特征在于,所述待验证对象凭证至少包括待验证对象数字身份、对象签名、待验证节点数字身份以及节点签名,其中,基于所述链上信息,对所述待验证对象凭证进行真实性验证,包括:
基于所述链上信息,对所述待验证对象数字身份进行真实性验证;
在确定所述待验证对象数字身份真实的情况下,基于所述链上信息,对所述对象签名进行真实性验证;
在确定所述对象签名真实的情况下,基于所述链上信息,对所述待验证节点数字身份进行真实性验证;
在确定所述待验证节点数字身份真实的情况下,基于所述链上信息,对所述节点签名进行真实性验证。
4.根据权利要求3所述的方法,其特征在于,基于所述链上信息,对所述待验证对象数字身份进行真实性验证,包括:
获取所述待验证对象数字身份;
检测所述链上信息中是否存在所述待验证对象数字身份,得到第一检测结果;
基于所述第一检测结果确定所述待验证对象数字身份的真实性。
5.根据权利要求3所述的方法,其特征在于,基于所述链上信息,对所述对象签名进行真实性验证,包括:
获取所述对象签名;
从所述链上信息中获取对象公钥;
采用所述对象公钥对所述对象签名进行解密处理,得到解密后的对象数字身份;
判断解密后的对象数字身份与所述待验证对象数字身份是否相同,得到第一判断结果;
基于所述第一判断结果确定所述对象签名的真实性。
6.根据权利要求3所述的方法,其特征在于,基于所述链上信息,对所述待验证节点数字身份进行真实性验证,包括:
获取所述待验证节点数字身份;
检测所述链上信息中是否存在所述待验证节点数字身份,得到第二检测结果;
基于所述第二检测结果确定所述待验证节点数字身份的真实性。
7.根据权利要求3所述的方法,其特征在于,基于所述链上信息,对所述节点签名进行真实性验证,包括:
获取所述节点签名;
从所述链上信息中获取节点公钥;
采用所述节点公钥对所述节点签名进行解密处理,得到解密后的对象属性信息;
判断所述解密后的对象属性信息与待验证对象凭证中的对象属性信息是否相同,得到第二判断结果;
基于所述第二判断结果确定所述对象签名的真实性。
8.根据权利要求7所述的方法,其特征在于,在基于所述第二判断结果确定所述对象签名的真实性之后,所述方法还包括:
在确定所述对象签名真实的情况下,获取当前时间;
获取所述待验证对象凭证中的有效期限;
在所述当前时间处于所述有效期限内的情况下,确定对所述待验证对象凭证的真实性验证成功。
9.根据权利要求1所述的方法,其特征在于,基于所述待验证对象凭证确定所述目标对象的身份信息,包括:
基于所述待验证对象凭证中的对象属性信息确定所述目标对象的身份信息。
10.根据权利要求1所述的方法,其特征在于,在基于所述待验证对象凭证确定所述目标对象的身份信息之后,所述方法还包括:
基于所述目标对象的身份信息确定所述目标对象的对象权限;
在确定所述对象权限满足预设条件的情况下,执行所述目标对象请求进行交易的交易请求。
11.根据权利要求1所述的方法,其特征在于,在获取目标对象所对应的待验证对象凭证之前,所述方法还包括:
获取与当前区块链节点对应的节点凭证;
广播所述节点凭证至所述区块链中的多个验证节点;
获取验证结果,其中,所述验证结果为所述多个验证节点基于目标信息对所述节点凭证的真实性进行验证得到的,所述目标信息包括:与当前区块链节点对应的节点数字身份和节点公钥;
在所述验证结果表征所述节点凭证真实的情况下,确定所述当前区块链节点可以成为目标区块链中的节点。
12.根据权利要求1所述的方法,其特征在于,在获取目标对象所对应的待验证对象凭证之前,所述方法还包括:
获取当前服务节点生成的目标对象数字身份、目标对象公钥、目标节点数字身份以及目标节点公钥,其中,每个服务节点与每个区块链节点相对应;
对所述目标对象数字身份、所述目标对象公钥、所述目标节点数字身份以及所述目标节点公钥进行上链处理,得到所述链上信息。
13.一种基于区块链的身份认证装置,其特征在于,包括:
获取模块,用于获取目标对象所对应的待验证对象凭证;
第一验证模块,用于基于区块链中的链上信息,对所述待验证对象凭证进行内容完整性验证;
第二验证模块,用于在内容完整性验证成功的情况下,基于所述链上信息,对所述待验证对象凭证进行真实性验证;
确定模块,用于在真实性验证成功的情况下,基于所述待验证对象凭证确定所述目标对象的身份信息。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的基于区块链的身份认证方法。
15.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至12任一项中所述的基于区块链的身份认证方法。
16.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至12中任一项所述的基于区块链的身份认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210428302.3A CN114710362B (zh) | 2022-04-22 | 基于区块链的身份认证方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210428302.3A CN114710362B (zh) | 2022-04-22 | 基于区块链的身份认证方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114710362A true CN114710362A (zh) | 2022-07-05 |
CN114710362B CN114710362B (zh) | 2024-10-25 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118171251A (zh) * | 2024-05-14 | 2024-06-11 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 动态权限控制方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493007A (zh) * | 2019-09-06 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种基于区块链的信息验证方法、装置、设备及存储介质 |
CN112104665A (zh) * | 2020-11-02 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 基于区块链的身份验证方法、装置、计算机以及存储介质 |
CN112199721A (zh) * | 2020-10-13 | 2021-01-08 | 腾讯科技(北京)有限公司 | 认证信息处理方法、装置、设备及存储介质 |
CN112446701A (zh) * | 2019-09-03 | 2021-03-05 | 上海唯链信息科技有限公司 | 一种基于区块链的身份认证方法、设备和存储装置 |
CN112508578A (zh) * | 2021-02-04 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资源转移请求验证、发送方法及装置 |
CN113297560A (zh) * | 2021-05-06 | 2021-08-24 | 北京奇虎科技有限公司 | 基于区块链的身份认证方法、装置、设备及可读存储介质 |
US20210273818A1 (en) * | 2019-01-18 | 2021-09-02 | Advanced New Technologies Co., Ltd. | Method and apparatus for generating blockchain transaction |
CN114168915A (zh) * | 2021-12-14 | 2022-03-11 | 杨宁波 | 一种区块链数字身份的生成及验证方法 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210273818A1 (en) * | 2019-01-18 | 2021-09-02 | Advanced New Technologies Co., Ltd. | Method and apparatus for generating blockchain transaction |
CN112446701A (zh) * | 2019-09-03 | 2021-03-05 | 上海唯链信息科技有限公司 | 一种基于区块链的身份认证方法、设备和存储装置 |
CN110493007A (zh) * | 2019-09-06 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种基于区块链的信息验证方法、装置、设备及存储介质 |
CN112199721A (zh) * | 2020-10-13 | 2021-01-08 | 腾讯科技(北京)有限公司 | 认证信息处理方法、装置、设备及存储介质 |
CN112104665A (zh) * | 2020-11-02 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 基于区块链的身份验证方法、装置、计算机以及存储介质 |
CN112508578A (zh) * | 2021-02-04 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资源转移请求验证、发送方法及装置 |
CN113297560A (zh) * | 2021-05-06 | 2021-08-24 | 北京奇虎科技有限公司 | 基于区块链的身份认证方法、装置、设备及可读存储介质 |
CN114168915A (zh) * | 2021-12-14 | 2022-03-11 | 杨宁波 | 一种区块链数字身份的生成及验证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118171251A (zh) * | 2024-05-14 | 2024-06-11 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 动态权限控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535872B (zh) | 在区块链网络中处理数据请求的方法和装置 | |
CN109819443B (zh) | 基于区块链的注册认证方法、装置及系统 | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN109359691B (zh) | 基于区块链的身份验证方法和系统 | |
CN108111314B (zh) | 数字证书的生成和校验方法及设备 | |
CN107770159B (zh) | 车辆事故数据记录方法及相关装置、可读存储介质 | |
TW202117603A (zh) | 二維條碼的處理方法、裝置及系統 | |
CN112508578B (zh) | 基于区块链的资源转移请求验证、发送方法及装置 | |
CN111327564B (zh) | 一种联盟链的准入方法及装置 | |
US20170230187A1 (en) | Method and Apparatus for Managing Application Identifier | |
CN112165382B (zh) | 软件授权方法、装置、授权服务端及终端设备 | |
CN109102404B (zh) | 区块链实名通信的隐私保护方法和系统 | |
CN110381075B (zh) | 基于区块链的设备身份认证方法和装置 | |
US10439809B2 (en) | Method and apparatus for managing application identifier | |
CN113328997A (zh) | 联盟链跨链系统及方法 | |
CN112446050B (zh) | 应用于区块链系统的业务数据处理方法及装置 | |
CN113743921A (zh) | 数字资产的处理方法、装置、设备及存储介质 | |
Abraham et al. | Qualified eID derivation into a distributed ledger based IdM system | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN113872932A (zh) | 微服务间的接口鉴权方法、系统、终端及存储介质 | |
CN115001714B (zh) | 资源访问方法及装置、电子设备、存储介质 | |
CN106549919A (zh) | 一种信息注册、认证方法及装置 | |
CN113746916A (zh) | 基于区块链的第三方服务提供方法、系统及相关节点 | |
CN113328854A (zh) | 基于区块链的业务处理方法及系统 | |
CN110781526A (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 |