CN115396086B - Identity authentication method, device, equipment and storage medium - Google Patents
Identity authentication method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN115396086B CN115396086B CN202210700328.9A CN202210700328A CN115396086B CN 115396086 B CN115396086 B CN 115396086B CN 202210700328 A CN202210700328 A CN 202210700328A CN 115396086 B CN115396086 B CN 115396086B
- Authority
- CN
- China
- Prior art keywords
- blockchain
- participating node
- identifier
- party
- authentication
- 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
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 claims abstract description 117
- 238000013475 authorization Methods 0.000 claims abstract description 66
- 230000015654 memory Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000001052 transient effect Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 210000000554 iris Anatomy 0.000 description 8
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 4
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 3
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 3
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 3
- 230000005540 biological transmission 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
- 238000005516 engineering process Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/3226—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 a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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/321—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 a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
技术领域Technical Field
本申请涉及通信技术领域,尤其涉及一种身份认证方法、装置、设备及存储介质。The present application relates to the field of communication technology, and in particular to an identity authentication method, device, equipment and storage medium.
背景技术Background Art
区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性和生成下一个区块。Blockchain is a string of data blocks generated using cryptographic methods. Each data block contains information about a network transaction and is used to verify the validity of the information and generate the next block.
当前区块链中的用户认证依赖于用户的私钥,谁拥有声称用户身份的公钥对应的私钥,谁就是正确的用户,用户必须严密保护私钥的安全,一旦私钥丢失或者泄密,区块链中的所有资产将无法找回。目前,区块链中身份认证方式通常为,将口令作为私钥进行认证,或者是在本地基于指纹/虹膜等生物特征进行认证。User authentication in the current blockchain relies on the user's private key. Whoever has the private key corresponding to the public key claiming the user's identity is the correct user. The user must strictly protect the security of the private key. Once the private key is lost or leaked, all assets in the blockchain will be irrecoverable. Currently, the identity authentication method in the blockchain is usually to use the password as the private key for authentication, or to authenticate locally based on biometrics such as fingerprints/irises.
然而,将口令作为私钥容易被泄露或破解,而生物特征只适合在本地认证,一旦发送给认证方也会造成私钥泄露,现有技术中的认证方式存在安全性低的技术问题。However, using passwords as private keys is prone to leakage or cracking, and biometrics are only suitable for local authentication. Once sent to the authenticator, it will also cause the private key to be leaked. The authentication method in the prior art has the technical problem of low security.
发明内容Summary of the invention
本申请提供一种身份认证方法、装置、设备及存储介质,以解决现有技术中的将口令作为私钥容易被泄露或破解,而生物特征只适合在本地认证,一旦发送给认证方也会造成私钥泄露,认证方式存在安全性低的技术问题。The present application provides an identity authentication method, apparatus, device and storage medium to solve the technical problem in the prior art that passwords are used as private keys and are easily leaked or cracked, and biometrics are only suitable for local authentication. Once sent to the authenticator, it will also cause the private key to be leaked, and the authentication method has low security.
第一方面,本申请提供一种身份认证方法,应用于第一区块链参与节点,包括:In a first aspect, the present application provides an identity authentication method, which is applied to a first blockchain participating node, comprising:
接收第二区块链参与节点发送的认证请求,其中,所述认证请求携带有会话的时域身份标识号;Receiving an authentication request sent by a second blockchain participating node, wherein the authentication request carries a time domain identity identification number of the session;
根据所述认证请求,获取第一用户的第一生物特征;Acquiring a first biometric feature of the first user according to the authentication request;
通过第一密钥对所述第一生物特征进行加密处理,得到加密特征;Encrypting the first biometric feature using a first key to obtain an encrypted feature;
将所述加密特征发送至所述第二区块链参与节点,以使所述第二区块链参与节点在接收到所述加密特征之后,对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将所述第二认证信息发送至第三方区块链节点;The encrypted feature is sent to the second blockchain participating node, so that after receiving the encrypted feature, the second blockchain participating node performs a third-party public key encryption process and a second key signature process on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and sends the second authentication information to the third-party blockchain node;
对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将所述第一认证信息发送至第三方区块链节点,以使所述第三方区块链节点在接收到所述第一认证信息和所述第二认证信息之后,通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征,将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点。The first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier are encrypted with a third-party public key and signed with a first key to obtain first authentication information, and the first authentication information is sent to a third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, decrypts the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node.
这里,本申请提供了一种身份认证方法,针对于区块链中的节点,采用权威可信的第三方参与认证,可以提供安全可靠的认证,具体的,若第二区块链参与节点需要对第一区块链参与节点进行认证时,第二区块链参与节点向第一区块链参与节点发起认证请求,本申请可以在发起身份认证之后,根据第一区块链参与节点和第二区块链参与节点的身份证标识号(Identity document,ID)以及时域身份标识号(Session Identity document,SessionID)作为输入生成一个随机数作为会话密钥分发双方,权威可信的第三方区块链节点对生物特征进行集中保存,为所有的用户提供生物特征比对服务,可以基于上述信息进行用户的身份比对,从而完成在不需要拥有私钥的情况下完成身份认证的方法,且区块链参与者拥有长期的身份证书,也更加方便了区块链参与者的使用和认证,减轻了第三方权威可信机构的工作,提高了区块链中参与者身份认证的安全性。Here, the present application provides an identity authentication method. For the nodes in the blockchain, an authoritative and trusted third party is used to participate in the authentication, which can provide safe and reliable authentication. Specifically, if the second blockchain participating node needs to authenticate the first blockchain participating node, the second blockchain participating node initiates an authentication request to the first blockchain participating node. After initiating the identity authentication, the present application can generate a random number as a session key distribution to both parties based on the identity document (ID) and the session identity document (Session ID) of the first blockchain participating node and the second blockchain participating node as input. The authoritative and trusted third-party blockchain node centrally stores the biometrics and provides biometric comparison services for all users. The user's identity can be compared based on the above information, thereby completing the method of completing identity authentication without the need to have a private key. The blockchain participants have long-term identity certificates, which also makes it more convenient for the use and authentication of the blockchain participants, reduces the work of the third-party authoritative and trusted institutions, and improves the security of the identity authentication of participants in the blockchain.
可选地,在所述通过第一密钥对所述第一生物特征进行加密处理,得到加密特征之前,还包括:Optionally, before encrypting the first biometric feature by using the first key to obtain the encrypted feature, the method further includes:
随机生成第一密钥。A first key is randomly generated.
这里,本申请的第一区块链参与节点可以随机生成第一密钥,从而通过第一密钥对发送至第三方区块链节点的信息进行加密,进一步地提高了身份认证的安全性。Here, the first blockchain participating node of the present application can randomly generate a first key, thereby encrypting the information sent to the third-party blockchain node through the first key, further improving the security of identity authentication.
可选地,在所述接收第二区块链参与节点发送的认证请求之前,还包括:Optionally, before receiving the authentication request sent by the second blockchain participating node, the method further includes:
在第三方区块链节点进行验证信息注册,其中,所述验证信息包括所述第一用户的生物特征数据与身份信息的对应关系。Verification information is registered at a third-party blockchain node, wherein the verification information includes a correspondence between the biometric data and the identity information of the first user.
其中,每个区块链参与者在进行身份认证之前,首先可以在权威可信的第三方(第三方区块链节点)注册自己的生物特征数据(比如指纹、虹膜)和身份信息(该身份信息可以为区块链上的虚拟身份比如说区块链标识和公钥来代表该区块链参与者)的对应关系,以便于第三方区块链节点根据注册的信息进行认证。Among them, before each blockchain participant performs identity authentication, he or she can first register the correspondence between his or her biometric data (such as fingerprints, irises) and identity information (the identity information can be a virtual identity on the blockchain, such as a blockchain identifier and a public key to represent the blockchain participant) with an authoritative and trusted third party (third-party blockchain node) so that the third-party blockchain node can perform authentication based on the registered information.
可选地,在所述对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理之前,还包括:Optionally, before performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, the process further includes:
接收第三方区块链节点发送的第三方区块链标识和第三方公钥。Receive the third-party blockchain identifier and third-party public key sent by the third-party blockchain node.
第二方面,本申请提供了一种身份认证方法,应用于第二区块链参与节点,包括:In a second aspect, the present application provides an identity authentication method, which is applied to a second blockchain participating node, including:
向第一区块链参与节点发起认证请求,以使所述第一区块链参与节点根据所述认证请求获取第一用户的第一生物特征,通过第一密钥对所述第一生物特征进行加密处理,得到加密特征,将所述加密特征发送至所述第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将所述第一认证信息发送至第三方区块链节点,其中,所述认证请求携带有会话的时域身份标识号;Initiate an authentication request to the first blockchain participating node, so that the first blockchain participating node obtains the first biometric feature of the first user according to the authentication request, encrypts the first biometric feature by using the first key to obtain the encrypted feature, sends the encrypted feature to the second blockchain participating node, and performs third-party public key encryption and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier to obtain first authentication information, and sends the first authentication information to the third-party blockchain node, wherein the authentication request carries the time domain identity identification number of the session;
接收所述第一区块链参与节点发送的加密特征;Receiving the encrypted feature sent by the first blockchain participating node;
对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将所述第二认证信息发送至第三方区块链节点,以使所述第三方区块链节点在接收到所述第一认证信息和所述第二认证信息之后,通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征,将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点;Perform third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier, and the time domain identity identification number to obtain second authentication information, and send the second authentication information to a third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, and decrypts to obtain the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node;
接收所述第三方区块链节点发送的比对结果。Receive the comparison result sent by the third-party blockchain node.
可选地,在所述接收所述第三方区块链节点发送的比对结果之后,还包括:Optionally, after receiving the comparison result sent by the third-party blockchain node, the method further includes:
在区块链中发起查询费用支付申请;Initiate a query fee payment request in the blockchain;
在区块链中获取查询费用,并根据所述查询费用进行支付处理。Obtain query fees in the blockchain and perform payment processing based on the query fees.
其中,区块链参与者可以在进行认证请求过程中,在区块链中发起查询费用支付申请,以实现身份认证的自动支付,提高了用户体验。Among them, blockchain participants can initiate a query fee payment application in the blockchain during the authentication request process to realize automatic payment of identity authentication, thereby improving user experience.
第三方面,本申请提供了一种身份认证方法,应用于第三方区块链节点,包括:In a third aspect, the present application provides an identity authentication method, which is applied to a third-party blockchain node, including:
接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息,其中,所述第一认证信息为所述第一区块链参与节点在接收第二区块链参与节点发送的认证请求,根据所述认证请求,获取第一用户的第一生物特征之后,对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理得到的,所述认证请求携带有会话的时域身份标识号,所述第二认证信息为所述第二区块链参与节点在向第一区块链参与节点发起认证请求,接收所述第一区块链参与节点发送的加密特征后,对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理得到的;Receive first authentication information sent by a first blockchain participating node and second authentication information sent by a second blockchain participating node, wherein the first authentication information is obtained by the first blockchain participating node, after receiving an authentication request sent by the second blockchain participating node, obtaining the first biometric feature of the first user according to the authentication request, and performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, the authentication request carries the time domain identity identification number of the session, and the second authentication information is obtained by the second blockchain participating node, after initiating an authentication request to the first blockchain participating node and receiving the encrypted feature sent by the first blockchain participating node, performing third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier, and the time domain identity identification number;
通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征;By using the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, the first key and the encrypted feature are associated, and the first biometric feature is decrypted to obtain the first biometric feature;
将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点。The first biometric feature is compared with a preset feature in a preset biometric feature library, and the comparison result is sent to the second blockchain participating node.
可选地,所述将比对结果发送至所述第二区块链参与节点,包括:Optionally, sending the comparison result to the second blockchain participating node includes:
根据所述第一区块链参与节点标识、所述第二区块链参与节点标识和所述时域身份标识号生成会话密钥;Generate a session key according to the first blockchain participating node identifier, the second blockchain participating node identifier and the time domain identity identification number;
将所述比对结果和所述会话密钥发送至所述第二区块链参与节点。The comparison result and the session key are sent to the second blockchain participating node.
可选地,在所述接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之前,还包括:Optionally, before receiving the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, the method further includes:
广播第三方区块链标识和第三方公钥。Broadcast the third-party blockchain identity and third-party public key.
第四方面,本申请提供了一种身份认证系统,包括第一区块链参与节点、第二区块链参与节点和第三方区块链节点;In a fourth aspect, the present application provides an identity authentication system, including a first blockchain participating node, a second blockchain participating node, and a third-party blockchain node;
其中,所述第二区块链参与节点用于向第一区块链参与节点发起认证请求,其中,所述认证请求携带有会话的时域身份标识号;The second blockchain participating node is used to initiate an authentication request to the first blockchain participating node, wherein the authentication request carries a time domain identity identification number of the session;
所述第一区块链参与节点用于在接收第二区块链参与节点发送的认证请求之后,根据所述认证请求,获取第一用户的第一生物特征;The first blockchain participating node is used to obtain a first biometric feature of the first user according to the authentication request after receiving the authentication request sent by the second blockchain participating node;
所述第一区块链参与节点用于通过第一密钥对所述第一生物特征进行加密处理,得到加密特征;The first blockchain participating node is used to encrypt the first biometric feature using a first key to obtain an encrypted feature;
所述第一区块链参与节点用于将所述加密特征发送至所述第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将所述第一认证信息发送至第三方区块链节点;The first blockchain participating node is used to send the encryption feature to the second blockchain participating node, and perform third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to the third-party blockchain node;
所述第二区块链参与节点用于在接收到所述加密特征之后,对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将所述第二认证信息发送至第三方区块链节点;The second blockchain participating node is used to perform third-party public key encryption processing and second key signature processing on the encryption feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number after receiving the encryption feature, to obtain second authentication information, and send the second authentication information to the third-party blockchain node;
所述第三方区块链节点用于在接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之后,通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征;The third-party blockchain node is used to associate the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier after receiving the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, and decrypt to obtain the first biometric feature;
所述第三方区块链节点用于将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点。The third-party blockchain node is used to compare the first biometric feature with a preset feature in a preset biometric feature library, and send the comparison result to the second blockchain participating node.
第五方面,本申请提供了一种身份认证装置,应用于第一区块链参与节点,包括:In a fifth aspect, the present application provides an identity authentication device, applied to a first blockchain participating node, comprising:
第一接收模块,用于接收第二区块链参与节点发送的认证请求,其中,所述认证请求携带有会话的时域身份标识号;A first receiving module is used to receive an authentication request sent by a second blockchain participating node, wherein the authentication request carries a time domain identity identification number of a session;
获取模块,用于根据所述认证请求,获取第一用户的第一生物特征;An acquisition module, configured to acquire a first biometric feature of a first user according to the authentication request;
第一处理模块,用于通过第一密钥对所述第一生物特征进行加密处理,得到加密特征;A first processing module, configured to encrypt the first biometric feature using a first key to obtain an encrypted feature;
第一发送模块,用于将所述加密特征发送至所述第二区块链参与节点,以使所述第二区块链参与节点在接收到所述加密特征之后,对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将所述第二认证信息发送至第三方区块链节点;A first sending module is used to send the encrypted feature to the second blockchain participating node, so that after receiving the encrypted feature, the second blockchain participating node performs a third-party public key encryption process and a second key signature process on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and send the second authentication information to the third-party blockchain node;
第二处理模块,用于对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将所述第一认证信息发送至第三方区块链节点,以使所述第三方区块链节点在接收到所述第一认证信息和所述第二认证信息之后,通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征,将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点。The second processing module is used to perform third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to a third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, decrypts it to obtain the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node.
可选地,在所述第一处理模块通过第一密钥对所述第一生物特征进行加密处理,得到加密特征之前,上述装置还包括:Optionally, before the first processing module encrypts the first biometric feature using the first key to obtain the encrypted feature, the apparatus further includes:
第三处理模块,用于随机生成第一密钥。The third processing module is used to randomly generate a first key.
可选地,在所述第一接收模块接收第二区块链参与节点发送的认证请求之前,上述装置还包括:Optionally, before the first receiving module receives the authentication request sent by the second blockchain participating node, the device further includes:
注册模块,用于在第三方区块链节点进行验证信息注册,其中,所述验证信息包括所述第一用户的生物特征数据与身份信息的对应关系。A registration module is used to register verification information in a third-party blockchain node, wherein the verification information includes a correspondence between the biometric data and the identity information of the first user.
可选地,在所述第二处理模块对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理之前,上述装置还包括:Optionally, before the second processing module performs third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, the above-mentioned device also includes:
第二接收模块,用于接收第三方区块链节点发送的第三方区块链标识和第三方公钥。The second receiving module is used to receive a third-party blockchain identifier and a third-party public key sent by a third-party blockchain node.
第六方面,本申请提供了一种身份认证装置,应用于第二区块链参与节点,包括:In a sixth aspect, the present application provides an identity authentication device, which is applied to a second blockchain participating node, including:
第四处理模块,用于向第一区块链参与节点发起认证请求,以使所述第一区块链参与节点根据所述认证请求获取第一用户的第一生物特征,通过第一密钥对所述第一生物特征进行加密处理,得到加密特征,将所述加密特征发送至所述第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将所述第一认证信息发送至第三方区块链节点,其中,所述认证请求携带有会话的时域身份标识号;The fourth processing module is used to initiate an authentication request to the first blockchain participating node, so that the first blockchain participating node obtains the first biometric feature of the first user according to the authentication request, encrypts the first biometric feature by using the first key to obtain the encrypted feature, sends the encrypted feature to the second blockchain participating node, and performs third-party public key encryption and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and sends the first authentication information to the third-party blockchain node, wherein the authentication request carries the time domain identity identification number of the session;
第三接收模块,用于接收所述第一区块链参与节点发送的加密特征;A third receiving module, used to receive the encryption feature sent by the first blockchain participating node;
第五处理模块,用于对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将所述第二认证信息发送至第三方区块链节点,以使所述第三方区块链节点在接收到所述第一认证信息和所述第二认证信息之后,通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征,将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点;a fifth processing module, configured to perform third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier, and the time domain identity identification number to obtain second authentication information, and send the second authentication information to a third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, and decrypts to obtain the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node;
第四接收模块,用于接收所述第三方区块链节点发送的比对结果。The fourth receiving module is used to receive the comparison result sent by the third-party blockchain node.
可选地,在所述第四接收模块接收所述第三方区块链节点发送的比对结果之后,上述装置还包括:Optionally, after the fourth receiving module receives the comparison result sent by the third-party blockchain node, the device further includes:
支付模块,用于在区块链中发起查询费用支付申请;在区块链中获取查询费用,并根据所述查询费用进行支付处理。The payment module is used to initiate a query fee payment application in the blockchain; obtain the query fee in the blockchain, and perform payment processing based on the query fee.
第七方面,本申请提供了一种身份认证装置,应用于第三方区块链节点,包括:In a seventh aspect, the present application provides an identity authentication device, which is applied to a third-party blockchain node, including:
第五接收模块,用于接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息,其中,所述第一认证信息为所述第一区块链参与节点在接收第二区块链参与节点发送的认证请求,根据所述认证请求,获取第一用户的第一生物特征之后,对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理得到的,所述认证请求携带有会话的时域身份标识号,所述第二认证信息为所述第二区块链参与节点在向第一区块链参与节点发起认证请求,接收所述第一区块链参与节点发送的加密特征后,对所述加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和所述时域身份标识号进行第三方公钥加密处理和第二密钥签名处理得到的;A fifth receiving module, used to receive first authentication information sent by the first blockchain participating node and second authentication information sent by the second blockchain participating node, wherein the first authentication information is obtained by the first blockchain participating node after receiving the authentication request sent by the second blockchain participating node and obtaining the first biometric feature of the first user according to the authentication request, and then performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, the authentication request carries the time domain identity identification number of the session, and the second authentication information is obtained by the second blockchain participating node after initiating an authentication request to the first blockchain participating node and receiving the encrypted feature sent by the first blockchain participating node and performing third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier, and the time domain identity identification number;
第六处理模块,用于通过所述第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将所述第一密钥和所述加密特征进行关联,并解密得到所述第一生物特征;a sixth processing module, configured to associate the first key with the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, and decrypt the first biometric feature;
第七处理模块,用于将所述第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至所述第二区块链参与节点。The seventh processing module is used to compare the first biometric feature with a preset feature in a preset biometric feature library, and send the comparison result to the second blockchain participating node.
可选地,所述第七处理模块具体用于:Optionally, the seventh processing module is specifically used to:
根据所述第一区块链参与节点标识、所述第二区块链参与节点标识和所述时域身份标识号生成会话密钥;将所述比对结果和所述会话密钥发送至所述第二区块链参与节点。Generate a session key according to the first blockchain participating node identifier, the second blockchain participating node identifier and the time domain identity identification number; and send the comparison result and the session key to the second blockchain participating node.
可选地,在所述第五接收模块接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之前,上述装置还包括:Optionally, before the fifth receiving module receives the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, the apparatus further includes:
广播模块,用于广播第三方区块链标识和第三方公钥。The broadcast module is used to broadcast the third-party blockchain identifier and third-party public key.
第八方面,本申请提供一种身份认证设备,包括:至少一个处理器和存储器;In an eighth aspect, the present application provides an identity authentication device, comprising: at least one processor and a memory;
所述存储器存储计算机执行指令;The memory stores computer-executable instructions;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的身份认证方法。The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the identity authentication method described in the first aspect and various possible designs of the first aspect.
第九方面,本申请提供一种身份认证设备,包括:至少一个处理器和存储器;In a ninth aspect, the present application provides an identity authentication device, including: at least one processor and a memory;
所述存储器存储计算机执行指令;The memory stores computer-executable instructions;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的身份认证方法。The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the identity authentication method described in the second aspect and various possible designs of the second aspect.
第十方面,本申请提供一种身份认证设备,包括:至少一个处理器和存储器;In a tenth aspect, the present application provides an identity authentication device, including: at least one processor and a memory;
所述存储器存储计算机执行指令;The memory stores computer-executable instructions;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第三方面以及第三方面各种可能的设计所述的身份认证方法。The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the identity authentication method described in the third aspect and various possible designs of the third aspect.
第十一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的身份认证方法。In the eleventh aspect, the present application provides a computer-readable storage medium, which stores computer execution instructions. When the processor executes the computer execution instructions, the identity authentication method described in the first aspect and various possible designs of the first aspect is implemented.
第十二方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的身份认证方法。In the twelfth aspect, the present application provides a computer-readable storage medium, which stores computer execution instructions. When the processor executes the computer execution instructions, the identity authentication method described in the second aspect and various possible designs of the second aspect is implemented.
第十三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第三方面以及第三方面各种可能的设计所述的身份认证方法。In the thirteenth aspect, the present application provides a computer-readable storage medium, which stores computer execution instructions. When the processor executes the computer execution instructions, the identity authentication method described in the third aspect and various possible designs of the third aspect is implemented.
第十四方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的身份认证方法。In a fourteenth aspect, the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the identity authentication method described in the first aspect and various possible designs of the first aspect.
第十五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第二方面以及第二方面各种可能的设计所述的身份认证方法。In a fifteenth aspect, the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the identity authentication method described in the second aspect and various possible designs of the second aspect.
第十六方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第三方面以及第三方面各种可能的设计所述的身份认证方法。In a sixteenth aspect, the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the identity authentication method described in the third aspect and various possible designs of the third aspect.
本申请提供的身份认证方法、装置、服务器及存储介质,其中该方法针对于区块链中的节点,采用权威可信的第三方参与认证,可以提供安全可靠的认证,具体的,若第二区块链参与节点需要对第一区块链参与节点进行认证时,第二区块链参与节点向第一区块链参与节点发起认证请求,本申请可以在发起身份认证之后,根据第一区块链参与节点和第二区块链参与节点的ID以及SessionID作为输入生成一个随机数作为会话密钥分发双方,权威可信的第三方区块链节点对生物特征进行集中保存,为所有的用户提供生物特征比对服务,可以基于上述信息进行用户的身份比对,从而完成在不需要拥有私钥的情况下完成身份认证的方法,且区块链参与者拥有长期的身份证书,也更加方便了区块链参与者的使用和认证,减轻了第三方权威可信机构的工作,提高了区块链中参与者身份认证的安全性。The identity authentication method, device, server and storage medium provided by the present application, wherein the method is aimed at nodes in the blockchain, and adopts an authoritative and trusted third party to participate in the authentication, which can provide safe and reliable authentication. Specifically, if the second blockchain participating node needs to authenticate the first blockchain participating node, the second blockchain participating node initiates an authentication request to the first blockchain participating node. After initiating the identity authentication, the present application can generate a random number as a session key distribution to both parties based on the ID and SessionID of the first blockchain participating node and the second blockchain participating node as input. The authoritative and trusted third-party blockchain node centrally stores the biometrics and provides biometric comparison services for all users. The user's identity comparison can be performed based on the above information, thereby completing the method of completing identity authentication without having a private key. The blockchain participants have long-term identity certificates, which also makes it more convenient for the use and authentication of the blockchain participants, reduces the work of the third-party authoritative and trusted institutions, and improves the security of the identity authentication of participants in the blockchain.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
图1为本申请实施例提供的一种身份认证系统区块链架构示意图;FIG1 is a schematic diagram of a blockchain architecture of an identity authentication system provided in an embodiment of the present application;
图2为本申请实施例提供的一种身份认证方法的流程示意图;FIG2 is a schematic diagram of a flow chart of an identity authentication method provided in an embodiment of the present application;
图3为本申请实施例提供的另一种身份认证方法的流程示意图;FIG3 is a flow chart of another identity authentication method provided in an embodiment of the present application;
图4为本申请实施例提供的再一种身份认证方法的流程示意图;FIG4 is a flow chart of another identity authentication method provided in an embodiment of the present application;
图5为本申请实施例提供的又一种身份认证方法的流程示意图;FIG5 is a schematic diagram of a flow chart of another identity authentication method provided in an embodiment of the present application;
图6为本申请实施例提供的一种身份认证装置的结构示意图;FIG6 is a schematic diagram of the structure of an identity authentication device provided in an embodiment of the present application;
图7为本申请实施例提供的一种身份认证设备的结构示意图;FIG7 is a schematic diagram of the structure of an identity authentication device provided in an embodiment of the present application;
图8为本申请实施例提供的另一种身份认证装置的结构示意图;FIG8 is a schematic diagram of the structure of another identity authentication device provided in an embodiment of the present application;
图9为本申请实施例提供的又一种身份认证装置的结构示意图。FIG. 9 is a schematic diagram of the structure of another identity authentication device provided in an embodiment of the present application.
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。The above drawings have shown clear embodiments of the present disclosure, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present disclosure to those skilled in the art by referring to specific embodiments.
具体实施方式DETAILED DESCRIPTION
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third", and "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
本申请的技术方案中,所涉及的用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of user data and other information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
区块链是一种特殊的分布式数据库。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的数据库。首先,区块链的主要作用是储存信息,任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库;其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库,可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链的设计是一种保护措施,比如(应用于)高容错的分布式计算系统。区块链使混合一致性成为可能。这使区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。Blockchain is a special distributed database. Blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. It is essentially a decentralized database. First of all, the main function of blockchain is to store information. Any information that needs to be saved can be written into the blockchain and read from it, so it is a database; secondly, anyone can set up a server, join the blockchain network, and become a node. In the world of blockchain, there is no central node. Each node is equal and stores the entire database. Data can be written/read to any node because all nodes will be synchronized in the end to ensure the consistency of the blockchain. Blockchain is a string of data blocks generated by cryptographic methods. Each data block contains information about a network transaction, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. In a narrow sense, blockchain is a chain data structure that combines data blocks in a sequential manner in chronological order, and a distributed ledger that is cryptographically guaranteed to be tamper-proof and unforgeable. In a broad sense, blockchain technology is a new distributed infrastructure and computing paradigm that uses block chain data structures to verify and store data, distributed node consensus algorithms to generate and update data, cryptography to ensure the security of data transmission and access, and smart contracts composed of automated script codes to program and operate data. The design of blockchain is a protection measure, such as (applied to) highly fault-tolerant distributed computing systems. Blockchain makes hybrid consistency possible. This makes blockchain suitable for recording events, titles, medical records and other activities that require data collection, identity management, transaction process management, and provenance management.
当前区块链中的用户认证依赖用户的私钥,谁拥有声称用户身份的公钥对应的私钥,谁就是正确的用户。但是要求用户必须特别严密的保护私钥的安全,一旦私钥丢失或者泄密则区块链中的所有资产则再也无法找回。而传统常用的口令的方式容易记忆但易被破解,基于指纹/虹膜等生物特征的方式被寄予厚望,但是生物特征只适合在本地认证,一旦发送给认证方,则意味着该生物特征被对方掌握,则很容易被恶意使用从而造成生物特征泄露。User authentication in the current blockchain relies on the user's private key. Whoever has the private key corresponding to the public key claiming the user's identity is the correct user. However, users are required to strictly protect the security of their private keys. Once the private key is lost or leaked, all assets in the blockchain can no longer be recovered. The traditional commonly used password method is easy to remember but easy to crack. The method based on biometrics such as fingerprints/irises is highly anticipated, but biometrics are only suitable for local authentication. Once sent to the authenticator, it means that the biometric is in the hands of the other party, which can easily be used maliciously and cause biometric leakage.
为了解决上述技术问题,本申请实施例提供一种身份认证方法、装置、服务器及存储介质,采用权威可信第三方对生物特征进行集中保存,为所有的用户提供生物特征比对服务,由其来将比对结果通知双发,从而完成在不需要拥有私钥的情况下完成身份认证。In order to solve the above technical problems, the embodiments of the present application provide an identity authentication method, device, server and storage medium, which use an authoritative and trusted third party to centrally store biometrics and provide biometric comparison services for all users, which will notify both parties of the comparison results, thereby completing identity authentication without the need to possess a private key.
可选地,图1为本申请实施例提供的一种身份认证系统区块链架构示意图。如图1所示,上述架构包括第一区块链参与节点101、第三方区块链节点102和第二区块链参与节点103。Optionally, Figure 1 is a schematic diagram of a blockchain architecture of an identity authentication system provided in an embodiment of the present application. As shown in Figure 1, the above architecture includes a first blockchain participating node 101, a third-party blockchain node 102, and a second blockchain participating node 103.
可以理解的是,上述第一区块链参与节点101、第三方区块链节点102和第二区块链参与节点103的数量可以根据实际情况确定,图1仅是示意性的,本申请实施例对于上述节点的数目不作具体限制。It can be understood that the number of the above-mentioned first blockchain participating node 101, the third-party blockchain node 102, and the second blockchain participating node 103 can be determined according to actual conditions. Figure 1 is only schematic, and the embodiment of the present application does not specifically limit the number of the above-mentioned nodes.
上述第一区块链参与节点101、第三方区块链节点102和第二区块链参与节点103均是区块链中的节点,任意两个节点之间都可以实现通信(本申请中需要不同性质节点之间实现通信连接,例如第三方区块链节点向第一区块链参与节点和第二区块链参与节点广播信息,图1中仅用连接线表示出了不同性质节点之间的通信连接)。The above-mentioned first blockchain participating node 101, third-party blockchain node 102 and second blockchain participating node 103 are all nodes in the blockchain, and communication can be achieved between any two nodes (in this application, communication connection is required between nodes of different natures, for example, the third-party blockchain node broadcasts information to the first blockchain participating node and the second blockchain participating node. In Figure 1, only connecting lines are used to indicate the communication connection between nodes of different natures).
其中,用户可以与第一区块链参与节点、第三方区块链节点或者第二区块链参与节点通过输入\输出设备实现信息交互。Among them, users can interact with the first blockchain participating node, the third-party blockchain node or the second blockchain participating node through input\output devices to achieve information exchange.
可以理解的是,本申请实施例示意的结构并不构成对身份认证系统区块链架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。It is understandable that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the blockchain architecture of the identity authentication system. In other feasible implementations of the present application, the above architecture may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently, which can be determined according to the actual application scenario and is not limited here. The components shown in Figure 1 can be implemented in hardware, software, or a combination of software and hardware.
另外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。In addition, the network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。The technical solution of the present application is described below by taking several embodiments as examples, and the same or similar concepts or processes may not be repeated in some embodiments.
图2为本申请实施例提供的一种身份认证方法的流程示意图,本申请实施例可以应用于图1中的第一区块链参与节点101,第一区块链参与节点101可以是服务器,具体执行主体可以根据实际应用场景确定。如图2所示,该方法包括如下步骤:FIG2 is a flow chart of an identity authentication method provided by an embodiment of the present application. The embodiment of the present application can be applied to the first blockchain participating node 101 in FIG1. The first blockchain participating node 101 can be a server. The specific execution subject can be determined according to the actual application scenario. As shown in FIG2, the method includes the following steps:
S201:接收第二区块链参与节点发送的认证请求。S201: Receive an authentication request sent by a second blockchain participating node.
其中,认证请求携带有会话的时域身份标识号。The authentication request carries the session domain identity number.
可选地,当第二区块链参与节点想要对第一区块链参与节点进行身份认证时,向第一区块链参与节点发起认证请求,并且指明接下来会话的SessionID。Optionally, when the second blockchain participating node wants to authenticate the identity of the first blockchain participating node, it initiates an authentication request to the first blockchain participating node and indicates the SessionID of the next session.
在一种可能的实现方式中,第二区块链参与节点为区块链参与者B,第一区块链参与节点为区块链参与者A,当区块链参与者B需要对区块链参与者A进行身份认证的时候,区块链参与者B对区块链参与者A发起认证请求,并且指明接下来会话的SessionID。In one possible implementation, the second blockchain participant node is blockchain participant B, and the first blockchain participant node is blockchain participant A. When blockchain participant B needs to authenticate the identity of blockchain participant A, blockchain participant B initiates an authentication request to blockchain participant A and indicates the SessionID of the next session.
可选地,在接收第二区块链参与节点发送的认证请求之前,还包括:Optionally, before receiving the authentication request sent by the second blockchain participating node, the method further includes:
在第三方区块链节点进行验证信息注册,其中,验证信息包括第一用户的生物特征数据与身份信息的对应关系。Verification information is registered at a third-party blockchain node, wherein the verification information includes a correspondence between the biometric data and the identity information of the first user.
其中,每个区块链参与者在进行身份认证之前,首先可以在权威可信的第三方(第三方区块链节点)注册自己的生物特征数据(比如指纹、虹膜)和身份信息(该身份信息可以为区块链上的虚拟身份比如说区块链标识和公钥来代表该区块链参与者)的对应关系,以便于第三方区块链节点根据注册的信息进行认证。Among them, before each blockchain participant performs identity authentication, he or she can first register the correspondence between his or her biometric data (such as fingerprints, irises) and identity information (the identity information can be a virtual identity on the blockchain, such as a blockchain identifier and a public key to represent the blockchain participant) with an authoritative and trusted third party (third-party blockchain node) so that the third-party blockchain node can perform authentication based on the registered information.
其中,验证信息包括第一用户的生物特征数据与身份信息的对应关系。The verification information includes the correspondence between the biometric data and the identity information of the first user.
在一种可能的实现方式中,每个区块链参与者首先在权威可信的第三方注册自己的生物特征数据(比如指纹、虹膜)和身份信息(该身份信息可以为区块链上的虚拟身份比如说区块链标识和公钥来代表该区块链参与者)的对应关系。In one possible implementation, each blockchain participant first registers the correspondence between his or her biometric data (such as fingerprints, irises) and identity information (the identity information can be a virtual identity on the blockchain, such as a blockchain identifier and a public key to represent the blockchain participant) with an authoritative and trusted third party.
可选地,注册方式可以为线下或者线上进行,为了保证安全性,最好是线下的方式进行生物特征数据(比如指纹、虹膜)的采集。Optionally, the registration method can be performed offline or online. To ensure security, it is best to collect biometric data (such as fingerprints and irises) offline.
在注册成功之后,权威第三方在区块链上私钥签名的广播消息的方式公布自己的区块链标识和公钥(第三方区块链标识和第三方公钥)。区块链上任何人都可以采用其公钥对第三方区块链节点签发的身份证书进行确认。本申请实施例中的权威第三方为第三方区块链节点。After successful registration, the authoritative third party publishes its own blockchain identifier and public key (third-party blockchain identifier and third-party public key) in the form of a broadcast message signed by a private key on the blockchain. Anyone on the blockchain can use their public key to confirm the identity certificate issued by the third-party blockchain node. The authoritative third party in the embodiment of the present application is a third-party blockchain node.
可选地,在对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理之前,还包括:Optionally, before performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, the method further includes:
接收第三方区块链节点发送的第三方区块链标识和第三方公钥。Receive the third-party blockchain identifier and third-party public key sent by the third-party blockchain node.
这里,每个区块链参与者在进行身份认证之前,首先可以在权威可信的第三方(第三方区块链节点)注册自己的生物特征数据(比如指纹、虹膜)和身份信息(该身份信息可以为区块链上的虚拟身份比如说区块链标识和公钥来代表该区块链参与者)的对应关系,以便于第三方区块链节点根据注册的信息进行认证。Here, before each blockchain participant performs identity authentication, he or she can first register the correspondence between his or her biometric data (such as fingerprints, irises) and identity information (the identity information can be a virtual identity on the blockchain, such as a blockchain identifier and a public key to represent the blockchain participant) with an authoritative and trusted third party (third-party blockchain node) so that the third-party blockchain node can perform authentication based on the registered information.
S202:根据认证请求,获取第一用户的第一生物特征。S202: Acquire a first biometric feature of the first user according to the authentication request.
可选地,这里的第一用户为第一区块链参与节点归属用户,例如第一区块链参与节点为终端,则为终端的使用者,若第一区块链节点为服务器,则第一用户为服务器操作者。Optionally, the first user here is a user belonging to the first blockchain participating node. For example, if the first blockchain participating node is a terminal, the first user is a user of the terminal. If the first blockchain node is a server, the first user is a server operator.
可选地,这里的第一生物特征可以是指纹特征或者虹膜特征,也可以是面部图像等。Optionally, the first biometric feature here may be a fingerprint feature or an iris feature, or a facial image or the like.
可选地,可以通过终端或者采集设备获取第一用户的生物特征,具体地,可以通过摄像头、传感器等设备采集生物特征。Optionally, the biometric features of the first user may be acquired through a terminal or a collection device. Specifically, the biometric features may be collected through devices such as a camera and a sensor.
在一种可能的实现方式中,若区块链参与者A为第一区块链参与节点,区块链参与者A采集自己的生物特征比如FingerPrintA’。In one possible implementation, if blockchain participant A is the first blockchain participating node, blockchain participant A collects its own biometrics such as FingerPrintA’.
S203:通过第一密钥对第一生物特征进行加密处理,得到加密特征。S203: Encrypt the first biometric feature using the first key to obtain an encrypted feature.
其中,这里的第一密钥为第一区块链参与节点的私钥。Among them, the first key here is the private key of the first blockchain participating node.
可选地,在通过第一密钥对第一生物特征进行加密处理,得到加密特征之前,还包括:随机生成第一密钥。Optionally, before encrypting the first biometric feature with the first key to obtain the encrypted feature, the method further includes: randomly generating the first key.
在一种可能的实现方式中,区块链参与者A随机生成加密密钥Key(即第一密钥),采用Key加密FingerPrintA’获得E(FingerPrintA’),然后发送给区块链参与者B。其中,E(FingerPrintA’)为加密特征。In a possible implementation, blockchain participant A randomly generates an encryption key Key (i.e., a first key), uses Key to encrypt FingerPrintA’ to obtain E(FingerPrintA’), and then sends it to blockchain participant B. Among them, E(FingerPrintA’) is an encryption feature.
这里,本申请实施例的第一区块链参与节点可以随机生成第一密钥,从而通过第一密钥对发送至第三方区块链节点的信息进行加密,进一步地提高了身份认证的安全性。Here, the first blockchain participating node of the embodiment of the present application can randomly generate a first key, thereby encrypting the information sent to the third-party blockchain node through the first key, further improving the security of identity authentication.
S204:将加密特征发送至第二区块链参与节点,以使第二区块链参与节点在接收到加密特征之后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点。S204: Send the encrypted feature to the second blockchain participating node, so that after receiving the encrypted feature, the second blockchain participating node performs third-party public key encryption and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and send the second authentication information to the third-party blockchain node.
在一种可能的实现方式中,区块链参与者A随机生成加密密钥Key,采用Key加密FingerPrintA’,获得E(FingerPrintA’),然后发送给区块链参与者B。同时区块链参与者A将Key和IDa,IDb,同时包含本次授权认证标识符(Authorization,AuthN)发送给权威第三方(本申请实施例中也叫作第三方区块链节点)。以上信息发送的时候需要用权威第三方的公钥加密后再使用区块链参与者A的私钥签名后再发送出去。其中,IDa,IDb分别为区块链参与者A和区块链参与者B对应的区块链中的标识,即第一区块链参与节点标识和第二区块链参与节点标识。In one possible implementation, blockchain participant A randomly generates an encryption key Key, uses Key to encrypt FingerPrintA’, obtains E(FingerPrintA’), and then sends it to blockchain participant B. At the same time, blockchain participant A sends Key and IDa, IDb, and the authorization authentication identifier (Authorization, AuthN) to an authoritative third party (also referred to as a third-party blockchain node in the embodiment of this application). When the above information is sent, it needs to be encrypted with the public key of the authoritative third party and then signed with the private key of blockchain participant A before being sent out. Among them, IDa and IDb are the identifiers in the blockchain corresponding to blockchain participant A and blockchain participant B, namely the first blockchain participating node identifier and the second blockchain participating node identifier.
可选地,基于加密特征E(FingerPrintA’),区块链参与者B收到E(FingerPrintA’)后,与IDa、IDb、AuthN、SessionID一起发送给权威第三方。以上信息发送的时候需要用权威第三方的公钥加密后再使用区块链参与者B的私钥签名后再发送出去。区块链参与者B并在区块链中支付相应的认证查询费用给权威第三方。Optionally, based on the encryption feature E(FingerPrintA’), after blockchain participant B receives E(FingerPrintA’), it sends it together with IDa, IDb, AuthN, and SessionID to the authoritative third party. When sending the above information, it needs to be encrypted with the public key of the authoritative third party and then signed with the private key of blockchain participant B before sending it out. Blockchain participant B also pays the corresponding authentication query fee to the authoritative third party in the blockchain.
S205:对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点,以使第三方区块链节点在接收到第一认证信息和第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征,将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。S205: Perform third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to the third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and decrypts it to obtain the first biometric feature, compares the first biometric feature with the preset feature in the preset biometric feature library, and sends the comparison result to the second blockchain participating node.
可选地,在每个区块链参与节点向第三方区块链节点注册时,都将自己的预设特征添加至预设生物特征库,第三方区块链节点在进行身份认证时可基于此特征进行特征比对和身份认证。Optionally, when each blockchain participating node registers with a third-party blockchain node, it adds its own preset features to the preset biometric library, and the third-party blockchain node can perform feature comparison and identity authentication based on this feature when performing identity authentication.
可选地,权威第三方收到双方的信息,通过IDa、IDb、AuthN将Key和E(FingerPrintA’)关联,并解密获得FingerPrintA’,然后将FingerPrintA’和生物特征库中的比对FingerPrintA进行比对,然后权威第三方将比对结果私钥签名后发送给区块链参与者B,完成认证。Optionally, the authoritative third party receives the information from both parties, associates Key and E (FingerPrintA’) through IDa, IDb, and AuthN, decrypts to obtain FingerPrintA’, and then compares FingerPrintA’ with the matching FingerPrintA in the biometric library. The authoritative third party then signs the comparison result with the private key and sends it to blockchain participant B to complete the authentication.
本申请提供了一种身份认证方法,针对于区块链中的节点,采用权威可信的第三方参与认证,可以提供安全可靠的认证,具体的,若第二区块链参与节点需要对第一区块链参与节点进行认证时,第二区块链参与节点向第一区块链参与节点发起认证请求,本申请实施例可以在发起身份认证之后,根据第一区块链参与节点和第二区块链参与节点的ID以及SessionID作为输入生成一个随机数作为会话密钥分发双方,权威可信的第三方区块链节点对生物特征进行集中保存,为所有的用户提供生物特征比对服务,可以基于上述信息进行用户的身份比对,从而完成在不需要拥有私钥的情况下完成身份认证的方法,且区块链参与者拥有长期的身份证书,也更加方便了区块链参与者的使用和认证,减轻了第三方权威可信机构的工作,提高了区块链中参与者身份认证的安全性。The present application provides an identity authentication method. For nodes in a blockchain, an authoritative and trusted third party is used to participate in authentication, which can provide secure and reliable authentication. Specifically, if the second blockchain participating node needs to authenticate the first blockchain participating node, the second blockchain participating node initiates an authentication request to the first blockchain participating node. After initiating identity authentication, the embodiment of the present application can generate a random number as a session key distribution to both parties based on the ID and SessionID of the first blockchain participating node and the second blockchain participating node as input. The authoritative and trusted third-party blockchain node centrally stores biometric features and provides biometric feature comparison services for all users. The user's identity comparison can be performed based on the above information, thereby completing the method of completing identity authentication without having to own a private key. The blockchain participants have long-term identity certificates, which also makes it more convenient for the use and authentication of the blockchain participants, reduces the work of the third-party authoritative and trusted organization, and improves the security of the identity authentication of participants in the blockchain.
可选地,图3为本申请实施例提供的另一种身份认证方法的流程示意图。本申请实施例的执行主体为图1中的第二区块链参与节点103,具体执行主体可以根据实际应用场景确定。如图3所示,该方法包括如下步骤:Optionally, FIG3 is a flow chart of another identity authentication method provided in an embodiment of the present application. The execution subject of the embodiment of the present application is the second blockchain participating node 103 in FIG1 , and the specific execution subject can be determined according to the actual application scenario. As shown in FIG3 , the method includes the following steps:
S301:向第一区块链参与节点发起认证请求,以使第一区块链参与节点根据认证请求获取第一用户的第一生物特征,通过第一密钥对第一生物特征进行加密处理,得到加密特征,将加密特征发送至第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点。S301: Initiate an authentication request to the first blockchain participating node, so that the first blockchain participating node obtains the first biometric feature of the first user according to the authentication request, encrypts the first biometric feature by using the first key to obtain the encrypted feature, sends the encrypted feature to the second blockchain participating node, and performs third-party public key encryption and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and this authorization authentication identifier to obtain first authentication information, and sends the first authentication information to the third-party blockchain node.
其中,认证请求携带有会话的时域身份标识号。The authentication request carries the session domain identity number.
S302:接收第一区块链参与节点发送的加密特征。S302: Receive the encryption feature sent by the first blockchain participating node.
S303:对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点,以使第三方区块链节点在接收到第一认证信息和第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征,将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。S303: Perform third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and send the second authentication information to the third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and decrypts to obtain the first biometric feature, compares the first biometric feature with the preset feature in the preset biometric feature library, and sends the comparison result to the second blockchain participating node.
S304:接收第三方区块链节点发送的比对结果。S304: Receive the comparison result sent by the third-party blockchain node.
可选地,在接收第三方区块链节点发送的比对结果之后,还包括:在区块链中发起查询费用支付申请;在区块链中获取查询费用,并根据查询费用进行支付处理。Optionally, after receiving the comparison result sent by the third-party blockchain node, it also includes: initiating a query fee payment application in the blockchain; obtaining the query fee in the blockchain, and performing payment processing based on the query fee.
其中,区块链参与者可以在进行认证请求过程中,在区块链中发起查询费用支付申请,以实现身份认证的自动支付,提高了用户体验。Among them, blockchain participants can initiate a query fee payment application in the blockchain during the authentication request process to realize automatic payment of identity authentication, thereby improving user experience.
可选地,图4为本申请实施例提供的再一种身份认证方法的流程示意图。本申请实施例的执行主体为图1中的第三方区块链节点102,可以为服务器,具体执行主体可以根据实际应用场景确定。如图4所示,该方法包括如下步骤:Optionally, FIG4 is a flow chart of another identity authentication method provided in an embodiment of the present application. The execution subject of the embodiment of the present application is the third-party blockchain node 102 in FIG1 , which may be a server, and the specific execution subject may be determined according to the actual application scenario. As shown in FIG4 , the method includes the following steps:
S401:接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息。S401: Receive first authentication information sent by a first blockchain participating node and second authentication information sent by a second blockchain participating node.
其中,第一认证信息为第一区块链参与节点在接收第二区块链参与节点发送的认证请求,根据认证请求,获取第一用户的第一生物特征之后,对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理得到的,认证请求携带有会话的时域身份标识号,第二认证信息为第二区块链参与节点在向第一区块链参与节点发起认证请求,接收第一区块链参与节点发送的加密特征后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理得到的。Among them, the first authentication information is obtained by the first blockchain participating node after receiving the authentication request sent by the second blockchain participating node, obtaining the first biometric feature of the first user according to the authentication request, and performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and the authentication request carries the time domain identity identification number of the session. The second authentication information is obtained by the second blockchain participating node after initiating an authentication request to the first blockchain participating node and receiving the encrypted feature sent by the first blockchain participating node, and performing third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number.
可选地,在接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之前,还包括:广播第三方区块链标识和第三方公钥。Optionally, before receiving the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, it also includes: broadcasting a third-party blockchain identifier and a third-party public key.
这里,本申请实施例中的第三方区块链节点可以广播第三方区块链标识和第三方公钥,以便其它区块链参与节点基于第三方区块链标识和第三方公钥进行身份认证,提高了身份认证的安全性和准确性。Here, the third-party blockchain node in the embodiment of the present application can broadcast a third-party blockchain identifier and a third-party public key so that other blockchain participating nodes can perform identity authentication based on the third-party blockchain identifier and the third-party public key, thereby improving the security and accuracy of identity authentication.
S402:通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征。S402: The first key and the encrypted feature are associated through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and the first biometric feature is decrypted.
可选地,第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符都可以通过第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息得到。Optionally, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier can all be obtained through the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node.
S403:将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。S403: Compare the first biometric feature with a preset feature in a preset biometric feature library, and send the comparison result to the second blockchain participating node.
可选地,将比对结果发送至第二区块链参与节点,包括:Optionally, sending the comparison result to the second blockchain participating node includes:
根据第一区块链参与节点标识、第二区块链参与节点标识和时域身份标识号生成会话密钥;将比对结果和会话密钥发送至第二区块链参与节点。Generate a session key based on the first blockchain participating node identifier, the second blockchain participating node identifier and the time domain identity identification number; and send the comparison result and the session key to the second blockchain participating node.
在一种可能的实现方式中,在将对比结果发送给区块链参与者B之前,权威第三方根据IDa、IDb、SessionID作为输入生成一个会话密钥SessionKey,将对比结果和会话密钥SessionKey一起发送给区块链参与者B。In one possible implementation, before sending the comparison result to blockchain participant B, the authoritative third party generates a session key SessionKey based on IDa, IDb, and SessionID as input, and sends the comparison result and the session key SessionKey to blockchain participant B together.
可选地,区块链参与者A可以对区块链参与者B发起认证请求,同时需要使用同样的SessionID,这样权威第三方将会生成相同的SessionKey,从而为后来的会话分发相同的密钥,为后面的会话进行加密。Optionally, blockchain participant A can initiate an authentication request to blockchain participant B, and use the same SessionID, so that the authoritative third party will generate the same SessionKey, thereby distributing the same key for subsequent sessions and encrypting subsequent sessions.
这里,本申请实施例的第三方区块链节点可以将对比结果和会话密钥一起发给第二区块链参与节点,在后续的认证过程中可以基于会话密钥进行身份认证,权威第三方不用等待对方认证完就可以获得本次会话的密钥,从而保障后续通信的安全性。Here, the third-party blockchain node of the embodiment of the present application can send the comparison result and the session key together to the second blockchain participating node. In the subsequent authentication process, identity authentication can be performed based on the session key. The authoritative third party can obtain the key for this session without waiting for the other party to complete the authentication, thereby ensuring the security of subsequent communications.
可选地,图5为本申请实施例提供的又一种身份认证方法的流程示意图。本申请实施例的执行主体为包括第一区块链参与节点、第二区块链参与节点和第三方区块链节点的系统,可以为服务器,具体执行主体可以根据实际应用场景确定。如图5所示,该方法包括如下步骤:Optionally, FIG5 is a flow chart of another identity authentication method provided in an embodiment of the present application. The execution subject of the embodiment of the present application is a system including a first blockchain participating node, a second blockchain participating node and a third-party blockchain node, which may be a server. The specific execution subject may be determined according to the actual application scenario. As shown in FIG5, the method includes the following steps:
S501:第二区块链参与节点向第一区块链参与节点发起认证请求。S501: The second blockchain participating node initiates an authentication request to the first blockchain participating node.
其中,认证请求携带有会话的时域身份标识号。The authentication request carries the session domain identity number.
S502:第一区块链参与节点在接收第二区块链参与节点发送的认证请求之后,根据认证请求,获取第一用户的第一生物特征。S502: After receiving the authentication request sent by the second blockchain participating node, the first blockchain participating node obtains the first biometric feature of the first user according to the authentication request.
S503:第一区块链参与节点通过第一密钥对第一生物特征进行加密处理,得到加密特征。S503: The first blockchain participating node encrypts the first biometric feature using the first key to obtain an encrypted feature.
S504:第一区块链参与节点将加密特征发送至第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点。S504: The first blockchain participating node sends the encryption feature to the second blockchain participating node, and performs third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to the third-party blockchain node.
S505:第二区块链参与节点在接收到加密特征之后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点。S505: After receiving the encrypted feature, the second blockchain participating node performs third-party public key encryption and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and sends the second authentication information to the third-party blockchain node.
S506:第三方区块链节点在接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征。S506: After receiving the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, the third-party blockchain node associates the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and decrypts to obtain the first biometric feature.
S507:第三方区块链节点将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。S507: The third-party blockchain node compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node.
本申请实施例提出一种采用权威可信第三方对生物特征进行集中保存,为所有的用户提供生物特征比对服务,由其来将比对结果通知双发,从而完成在不需要拥有私钥的情况下完成身份认证的方法。并且为了提升安全性,本专利直接根据IDa和IDb以及SessioID作为输入生成一个随机数作为会话密钥分发双方。这样权威第三方不用等待对方认证完就可以获得本次会话的密钥,从而保障后续通信的安全性。The embodiment of the present application proposes a method of using an authoritative and trusted third party to centrally store biometrics and provide biometric comparison services for all users, which notifies both parties of the comparison results, thereby completing identity authentication without the need for a private key. In order to improve security, this patent directly generates a random number as a session key based on IDa, IDb and SessionID as input to distribute to both parties. In this way, the authoritative third party can obtain the key for this session without waiting for the other party to complete the authentication, thereby ensuring the security of subsequent communications.
本申请实施例还提供了一种身份认证系统,包括第一区块链参与节点、第二区块链参与节点和第三方区块链节点;The embodiment of the present application also provides an identity authentication system, including a first blockchain participating node, a second blockchain participating node, and a third-party blockchain node;
其中,第二区块链参与节点用于向第一区块链参与节点发起认证请求,其中,认证请求携带有会话的时域身份标识号;The second blockchain participating node is used to initiate an authentication request to the first blockchain participating node, wherein the authentication request carries the time domain identity identification number of the session;
第一区块链参与节点用于在接收第二区块链参与节点发送的认证请求之后,根据认证请求,获取第一用户的第一生物特征;The first blockchain participating node is used to obtain a first biometric feature of the first user according to the authentication request after receiving the authentication request sent by the second blockchain participating node;
第一区块链参与节点用于通过第一密钥对第一生物特征进行加密处理,得到加密特征;The first blockchain participating node is used to encrypt the first biometric feature using the first key to obtain an encrypted feature;
第一区块链参与节点用于将加密特征发送至第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点;The first blockchain participating node is used to send the encryption feature to the second blockchain participating node, and perform third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to the third-party blockchain node;
第二区块链参与节点用于在接收到加密特征之后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点;The second blockchain participating node is used to perform third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number after receiving the encrypted feature, to obtain second authentication information, and send the second authentication information to the third-party blockchain node;
第三方区块链节点用于在接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征;The third-party blockchain node is used to associate the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier after receiving the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, and decrypt to obtain the first biometric feature;
第三方区块链节点用于将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。The third-party blockchain node is used to compare the first biometric feature with the preset features in the preset biometric feature library, and send the comparison result to the second blockchain participating node.
图6为本申请实施例提供的一种身份认证装置的结构示意图,应用于第一区块链参与节点,如图6所示,本申请实施例的装置包括:第一接收模块601、获取模块602、第一处理模块603、第一发送模块604和第二处理模块605。这里的身份认证装置可以是区块链的服务器,或者是实现服务器的功能的芯片或者集成电路。这里需要说明的是,第一接收模块601、获取模块602、第一处理模块603、第一发送模块604和第二处理模块605的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。FIG6 is a schematic diagram of the structure of an identity authentication device provided in an embodiment of the present application, which is applied to a first blockchain participating node. As shown in FIG6, the device in the embodiment of the present application includes: a first receiving module 601, an acquisition module 602, a first processing module 603, a first sending module 604, and a second processing module 605. The identity authentication device here can be a blockchain server, or a chip or integrated circuit that implements the function of the server. It should be noted here that the division of the first receiving module 601, the acquisition module 602, the first processing module 603, the first sending module 604, and the second processing module 605 is only a division of logical functions. Physically, the two can be integrated or independent.
其中,第一接收模块,用于接收第二区块链参与节点发送的认证请求,其中,认证请求携带有会话的时域身份标识号;The first receiving module is used to receive an authentication request sent by the second blockchain participating node, wherein the authentication request carries a time domain identity identification number of the session;
获取模块,用于根据认证请求,获取第一用户的第一生物特征;An acquisition module, configured to acquire a first biometric feature of a first user according to an authentication request;
第一处理模块,用于通过第一密钥对第一生物特征进行加密处理,得到加密特征;A first processing module, configured to encrypt the first biometric feature using a first key to obtain an encrypted feature;
第一发送模块,用于将加密特征发送至第二区块链参与节点,以使第二区块链参与节点在接收到加密特征之后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点;A first sending module is used to send the encrypted feature to the second blockchain participating node, so that after receiving the encrypted feature, the second blockchain participating node performs a third-party public key encryption process and a second key signature process on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and send the second authentication information to the third-party blockchain node;
第二处理模块,用于对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点,以使第三方区块链节点在接收到第一认证信息和第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征,将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。The second processing module is used to perform third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain first authentication information, and send the first authentication information to the third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, decrypts and obtains the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node.
可选地,在第一处理模块通过第一密钥对第一生物特征进行加密处理,得到加密特征之前,上述装置还包括:Optionally, before the first processing module encrypts the first biometric feature using the first key to obtain the encrypted feature, the apparatus further includes:
第三处理模块,用于随机生成第一密钥。The third processing module is used to randomly generate a first key.
可选地,在第一接收模块接收第二区块链参与节点发送的认证请求之前,上述装置还包括:Optionally, before the first receiving module receives the authentication request sent by the second blockchain participating node, the apparatus further includes:
注册模块,用于在第三方区块链节点进行验证信息注册,其中,验证信息包括第一用户的生物特征数据与身份信息的对应关系。A registration module is used to register verification information in a third-party blockchain node, wherein the verification information includes a correspondence between the first user's biometric data and identity information.
可选地,在第二处理模块对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理之前,上述装置还包括:Optionally, before the second processing module performs third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, the above-mentioned device further includes:
第二接收模块,用于接收第三方区块链节点发送的第三方区块链标识和第三方公钥。The second receiving module is used to receive a third-party blockchain identifier and a third-party public key sent by a third-party blockchain node.
图7为本申请实施例提供的一种身份认证设备的结构示意图。该设备可以为服务器,应用于第一区块链参与节点,本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不限制本文中描述的和/或者要求的本申请的实现。Figure 7 is a schematic diagram of the structure of an identity authentication device provided in an embodiment of the present application. The device may be a server, applied to a first blockchain participating node, and the components, their connections and relationships, and their functions shown herein are merely examples and do not limit the implementation of the present application described and/or required herein.
如图7所示,该身份认证设备包括:处理器701和存储器702,各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器701可以对在终端内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。图7中以一个处理器701为例。As shown in FIG. 7 , the identity authentication device includes: a processor 701 and a memory 702, each of which is connected to each other using different buses and can be installed on a common mainboard or installed in other ways as needed. The processor 701 can process instructions executed in the terminal, including instructions for graphic information stored in or on the memory to be displayed on an external input/output device (such as a display device coupled to an interface). In other embodiments, if necessary, multiple processors and/or multiple buses can be used together with multiple memories and multiple memories. FIG. 7 takes a processor 701 as an example.
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的身份认证设备的方法对应的程序指令/模块(例如,附图6所示的第一接收模块601、获取模块602、第一处理模块603、第一发送模块604和第二处理模块605)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行身份认证设备的各种功能应用以及数据处理,即实现上述方法实施例中的身份认证设备的方法。The memory 702, as a non-transient computer-readable storage medium, can be used to store non-transient software programs, non-transient computer executable programs and modules, such as program instructions/modules corresponding to the method of the identity authentication device in the embodiment of the present application (for example, the first receiving module 601, the acquisition module 602, the first processing module 603, the first sending module 604 and the second processing module 605 shown in FIG. 6). The processor 701 executes various functional applications and data processing of the identity authentication device by running the non-transient software programs, instructions and modules stored in the memory 702, that is, implements the method of the identity authentication device in the above method embodiment.
身份认证设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。The identity authentication device may further include: an input device 703 and an output device 704. The processor 701, the memory 702, the input device 703 and the output device 704 may be connected via a bus or other means, and FIG7 takes the bus connection as an example.
输入装置703可接收输入的数字或字符信息,以及产生与身份认证设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以是身份认证设备的显示设备等输出设备。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。The input device 703 can receive input digital or character information, and generate key signal input related to user settings and function control of the identity authentication device, such as a touch screen, a keypad, a mouse, or multiple mouse buttons, a trackball, a joystick and other input devices. The output device 704 can be an output device such as a display device of the identity authentication device. The display device can include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device can be a touch screen.
本申请实施例的身份认证设备,可以用于执行本申请上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。The identity authentication device of the embodiment of the present application can be used to execute the technical solutions in the above-mentioned method embodiments of the present application. Its implementation principles and technical effects are similar and will not be repeated here.
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一的身份认证方法。An embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement any of the above-mentioned identity authentication methods.
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,用于实现上述任一项的身份认证方法。An embodiment of the present application also provides a computer program product, including a computer program, which is used to implement any of the above-mentioned identity authentication methods when executed by a processor.
图8为本申请实施例提供的另一种身份认证装置的结构示意图,应用于第二区块链参与节点,如图8所示,本申请实施例的装置包括:第四处理模块801、第三接收模块802、第五处理模块803和第四接收模块804。这里的身份认证装置可以是区块链的服务器,或者是实现服务器的功能的芯片或者集成电路。这里需要说明的是,第四处理模块801、第三接收模块802、第五处理模块803和第四接收模块804的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。FIG8 is a schematic diagram of the structure of another identity authentication device provided in an embodiment of the present application, which is applied to the second blockchain participating node. As shown in FIG8, the device in the embodiment of the present application includes: a fourth processing module 801, a third receiving module 802, a fifth processing module 803 and a fourth receiving module 804. The identity authentication device here can be a blockchain server, or a chip or integrated circuit that implements the function of the server. It should be noted here that the division of the fourth processing module 801, the third receiving module 802, the fifth processing module 803 and the fourth receiving module 804 is only a division of logical functions. Physically, the two can be integrated or independent.
其中,第四处理模块,用于向第一区块链参与节点发起认证请求,以使第一区块链参与节点根据认证请求获取第一用户的第一生物特征,通过第一密钥对第一生物特征进行加密处理,得到加密特征,将加密特征发送至第二区块链参与节点,并对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理,得到第一认证信息,将第一认证信息发送至第三方区块链节点,其中,认证请求携带有会话的时域身份标识号;Among them, the fourth processing module is used to initiate an authentication request to the first blockchain participating node, so that the first blockchain participating node obtains the first biometric feature of the first user according to the authentication request, encrypts the first biometric feature by using the first key to obtain the encrypted feature, sends the encrypted feature to the second blockchain participating node, and performs third-party public key encryption and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier to obtain the first authentication information, and sends the first authentication information to the third-party blockchain node, wherein the authentication request carries the time domain identity identification number of the session;
第三接收模块,用于接收第一区块链参与节点发送的加密特征;A third receiving module, used to receive the encryption feature sent by the first blockchain participating node;
第五处理模块,用于对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理,得到第二认证信息,将第二认证信息发送至第三方区块链节点,以使第三方区块链节点在接收到第一认证信息和第二认证信息之后,通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征,将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点;The fifth processing module is used to perform third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier and the time domain identity identification number to obtain second authentication information, and send the second authentication information to the third-party blockchain node, so that after receiving the first authentication information and the second authentication information, the third-party blockchain node associates the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier and the current authorization authentication identifier, and decrypts to obtain the first biometric feature, compares the first biometric feature with a preset feature in a preset biometric feature library, and sends the comparison result to the second blockchain participating node;
第四接收模块,用于接收第三方区块链节点发送的比对结果。The fourth receiving module is used to receive the comparison result sent by the third-party blockchain node.
可选地,在第四接收模块接收第三方区块链节点发送的比对结果之后,上述装置还包括:Optionally, after the fourth receiving module receives the comparison result sent by the third-party blockchain node, the device further includes:
支付模块,用于在区块链中发起查询费用支付申请;在区块链中获取查询费用,并根据查询费用进行支付处理。The payment module is used to initiate a query fee payment application in the blockchain; obtain the query fee in the blockchain, and perform payment processing based on the query fee.
本申请实施例还提供的一种身份认证设备,应用于第二区块链参与节点,该身份认证设备可以为服务器。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不限制本文中描述的和/或者要求的本申请的实现。The embodiment of the present application also provides an identity authentication device, which is applied to the second blockchain participating node, and the identity authentication device can be a server. The components shown in this article, their connections and relationships, and their functions are only examples and do not limit the implementation of the present application described and/or required in this article.
该身份认证设备包括:处理器和存储器,各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在身份认证设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。The identity authentication device includes: a processor and a memory, each of which is interconnected by different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed in the identity authentication device, including instructions for graphical information stored in or on the memory for display on an external input/output device (such as a display device coupled to the interface). In other embodiments, if necessary, multiple processors and/or multiple buses can be used with multiple memories and multiple memories.
存储器作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的身份认证设备的方法对应的程序指令/模块(例如,附图8所示的,第四处理模块801、第三接收模块802、第五处理模块803和第四接收模块804)。处理器通过运行存储在存储器中的非瞬时软件程序、指令以及模块,从而执行各种功能应用以及身份认证方法,即实现上述方法实施例中的身份认证设备的方法。As a non-transient computer-readable storage medium, the memory can be used to store non-transient software programs, non-transient computer executable programs and modules, such as the program instructions/modules corresponding to the method of the identity authentication device in the embodiment of the present application (for example, the fourth processing module 801, the third receiving module 802, the fifth processing module 803 and the fourth receiving module 804 shown in Figure 8). The processor executes various functional applications and identity authentication methods by running the non-transient software programs, instructions and modules stored in the memory, that is, the method of the identity authentication device in the above method embodiment is implemented.
身份认证设备还可以包括:输入装置和输出装置。处理器、存储器、输入装置和输出装置可以通过总线或者其他方式连接。The identity authentication device may further include: an input device and an output device. The processor, the memory, the input device and the output device may be connected via a bus or other means.
输入装置可接收输入的数字或字符信息,以及产生与身份认证设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置可以是身份认证设备的显示设备等输出设备。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。The input device can receive input digital or character information, and generate key signal input related to user settings and function control of the identity authentication device, such as a touch screen, a keypad, a mouse, or multiple mouse buttons, a trackball, a joystick and other input devices. The output device can be an output device such as a display device of the identity authentication device. The display device can include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device can be a touch screen.
本申请实施例的身份认证设备,可以用于执行本申请上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。The identity authentication device of the embodiment of the present application can be used to execute the technical solutions in the above-mentioned method embodiments of the present application. Its implementation principles and technical effects are similar and will not be repeated here.
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一项的身份认证方法。An embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement any of the above-mentioned identity authentication methods.
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,用于实现上述任一项的身份认证方法。An embodiment of the present application also provides a computer program product, including a computer program, which is used to implement any of the above-mentioned identity authentication methods when executed by a processor.
图9为本申请实施例提供的另一种身份认证装置的结构示意图,应用于第三方区块链节点,如图9所示,本申请实施例的装置包括:第五接收模块901、第六处理模块902和第七处理模块903。这里的身份认证装置可以是区块链的服务器,或者是实现服务器的功能的芯片或者集成电路。这里需要说明的是,第五接收模块901、第六处理模块902和第七处理模块903的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。FIG9 is a schematic diagram of the structure of another identity authentication device provided in an embodiment of the present application, which is applied to a third-party blockchain node. As shown in FIG9 , the device in the embodiment of the present application includes: a fifth receiving module 901, a sixth processing module 902, and a seventh processing module 903. The identity authentication device here can be a blockchain server, or a chip or integrated circuit that implements the function of the server. It should be noted here that the division of the fifth receiving module 901, the sixth processing module 902, and the seventh processing module 903 is only a division of logical functions. Physically, the two can be integrated or independent.
其中,第五接收模块,用于接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息,其中,第一认证信息为第一区块链参与节点在接收第二区块链参与节点发送的认证请求,根据认证请求,获取第一用户的第一生物特征之后,对第一密钥、第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符进行第三方公钥加密处理和第一密钥签名处理得到的,认证请求携带有会话的时域身份标识号,第二认证信息为第二区块链参与节点在向第一区块链参与节点发起认证请求,接收第一区块链参与节点发送的加密特征后,对加密特征、第一区块链参与节点标识、第二区块链参与节点标识、本次授权认证标识符和时域身份标识号进行第三方公钥加密处理和第二密钥签名处理得到的;Among them, the fifth receiving module is used to receive the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, wherein the first authentication information is obtained by the first blockchain participating node after receiving the authentication request sent by the second blockchain participating node, and obtaining the first biometric feature of the first user according to the authentication request, and performing third-party public key encryption processing and first key signature processing on the first key, the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, and the authentication request carries the time domain identity identification number of the session, and the second authentication information is obtained by the second blockchain participating node after initiating an authentication request to the first blockchain participating node and receiving the encrypted feature sent by the first blockchain participating node, and performing third-party public key encryption processing and second key signature processing on the encrypted feature, the first blockchain participating node identifier, the second blockchain participating node identifier, the current authorization authentication identifier, and the time domain identity identification number;
第六处理模块,用于通过第一区块链参与节点标识、第二区块链参与节点标识和本次授权认证标识符,将第一密钥和加密特征进行关联,并解密得到第一生物特征;A sixth processing module, configured to associate the first key and the encrypted feature through the first blockchain participating node identifier, the second blockchain participating node identifier, and the current authorization authentication identifier, and decrypt the first key to obtain the first biometric feature;
第七处理模块,用于将第一生物特征与预设生物特征库中的预设特征进行比对,将比对结果发送至第二区块链参与节点。The seventh processing module is used to compare the first biometric feature with a preset feature in a preset biometric feature library, and send the comparison result to the second blockchain participating node.
可选地,第七处理模块具体用于:Optionally, the seventh processing module is specifically used for:
根据第一区块链参与节点标识、第二区块链参与节点标识和时域身份标识号生成会话密钥;将比对结果和会话密钥发送至第二区块链参与节点。Generate a session key based on the first blockchain participating node identifier, the second blockchain participating node identifier and the time domain identity identification number; and send the comparison result and the session key to the second blockchain participating node.
可选地,在第五接收模块接收第一区块链参与节点发送的第一认证信息和第二区块链参与节点发送的第二认证信息之前,上述装置还包括:Optionally, before the fifth receiving module receives the first authentication information sent by the first blockchain participating node and the second authentication information sent by the second blockchain participating node, the above-mentioned device further includes:
广播模块,用于广播第三方区块链标识和第三方公钥。The broadcast module is used to broadcast the third-party blockchain identifier and third-party public key.
本申请实施例还提供的一种身份认证设备,应用于第三方区块链节点,该身份认证设备可以为服务器。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不限制本文中描述的和/或者要求的本申请的实现。The embodiment of the present application also provides an identity authentication device, which is applied to a third-party blockchain node, and the identity authentication device can be a server. The components shown in this article, their connections and relationships, and their functions are only examples and do not limit the implementation of the present application described and/or required in this article.
该身份认证设备包括:处理器和存储器,各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在身份认证设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。The identity authentication device includes: a processor and a memory, each of which is interconnected by different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed in the identity authentication device, including instructions for graphical information stored in or on the memory for display on an external input/output device (such as a display device coupled to the interface). In other embodiments, if necessary, multiple processors and/or multiple buses can be used with multiple memories and multiple memories.
存储器作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的身份认证设备的方法对应的程序指令/模块(例如,附图9所示的,第五接收模块901、第六处理模块902和第七处理模块903)。处理器通过运行存储在存储器中的非瞬时软件程序、指令以及模块,从而执行各种功能应用以及身份认证方法,即实现上述方法实施例中的身份认证设备的方法。As a non-transient computer-readable storage medium, the memory can be used to store non-transient software programs, non-transient computer executable programs and modules, such as the program instructions/modules corresponding to the method of the identity authentication device in the embodiment of the present application (for example, the fifth receiving module 901, the sixth processing module 902 and the seventh processing module 903 shown in Figure 9). The processor executes various functional applications and identity authentication methods by running the non-transient software programs, instructions and modules stored in the memory, that is, the method of the identity authentication device in the above method embodiment is implemented.
身份认证设备还可以包括:输入装置和输出装置。处理器、存储器、输入装置和输出装置可以通过总线或者其他方式连接。The identity authentication device may further include: an input device and an output device. The processor, the memory, the input device and the output device may be connected via a bus or other means.
输入装置可接收输入的数字或字符信息,以及产生与身份认证设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置可以是身份认证设备的显示设备等输出设备。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。The input device can receive input digital or character information, and generate key signal input related to user settings and function control of the identity authentication device, such as a touch screen, a keypad, a mouse, or multiple mouse buttons, a trackball, a joystick and other input devices. The output device can be an output device such as a display device of the identity authentication device. The display device can include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device can be a touch screen.
本申请实施例的身份认证设备,可以用于执行本申请上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。The identity authentication device of the embodiment of the present application can be used to execute the technical solutions in the above-mentioned method embodiments of the present application. Its implementation principles and technical effects are similar and will not be repeated here.
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一项的身份认证方法。An embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement any of the above-mentioned identity authentication methods.
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,用于实现上述任一项的身份认证方法。An embodiment of the present application also provides a computer program product, including a computer program, which is used to implement any of the above-mentioned identity authentication methods when executed by a processor.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the application disclosed herein. This application is intended to cover any variations, uses or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (11)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210700328.9A CN115396086B (en) | 2022-06-20 | 2022-06-20 | Identity authentication method, device, equipment and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210700328.9A CN115396086B (en) | 2022-06-20 | 2022-06-20 | Identity authentication method, device, equipment and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115396086A CN115396086A (en) | 2022-11-25 |
| CN115396086B true CN115396086B (en) | 2024-10-01 |
Family
ID=84117533
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210700328.9A Active CN115396086B (en) | 2022-06-20 | 2022-06-20 | Identity authentication method, device, equipment and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115396086B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116032477B (en) * | 2022-12-28 | 2026-03-17 | 中国联合网络通信集团有限公司 | Cloud server access authentication methods, devices, equipment and storage media |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108989048A (en) * | 2018-08-02 | 2018-12-11 | 中国联合网络通信集团有限公司 | Cryptographic key distribution method, device, equipment and storage medium |
| CN111935075A (en) * | 2020-06-23 | 2020-11-13 | 浪潮云信息技术股份公司 | Block chain-based digital identity signing and issuing method, equipment and medium |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11146552B1 (en) * | 2019-08-29 | 2021-10-12 | American Express Travel Related Services Company, Inc. | Decentralized application authentication |
| US11088851B2 (en) * | 2019-09-04 | 2021-08-10 | Gk8 Ltd | Systems and methods for signing of a message |
| CN112435028B (en) * | 2020-12-11 | 2024-03-08 | 军工保密资格审查认证中心 | Block chain-based Internet of things data sharing method and device |
| CN112835744B (en) * | 2021-02-02 | 2023-05-05 | 度小满科技(北京)有限公司 | Block chain information disaster recovery method, device, computer equipment and storage medium |
| CN113162915B (en) * | 2021-03-16 | 2023-01-20 | 中国工商银行股份有限公司 | Block chain based transaction method, node, electronic device, medium and system |
| CN114598533B (en) * | 2022-03-10 | 2024-04-26 | 昆明理工大学 | A blockchain side chain cross-chain identity trusted authentication and data encryption transmission method |
-
2022
- 2022-06-20 CN CN202210700328.9A patent/CN115396086B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108989048A (en) * | 2018-08-02 | 2018-12-11 | 中国联合网络通信集团有限公司 | Cryptographic key distribution method, device, equipment and storage medium |
| CN111935075A (en) * | 2020-06-23 | 2020-11-13 | 浪潮云信息技术股份公司 | Block chain-based digital identity signing and issuing method, equipment and medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115396086A (en) | 2022-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115150071B (en) | Identity authentication method, device, equipment and storage medium | |
| CN110086608B (en) | User authentication method, device, computer equipment and computer readable storage medium | |
| CN107079034B (en) | Identity authentication method, terminal equipment, authentication server and electronic equipment | |
| EP2999189B1 (en) | Network authentication method for secure electronic transactions | |
| US9838205B2 (en) | Network authentication method for secure electronic transactions | |
| CN109687963A (en) | Anti- quantum calculation alliance chain method of commerce and system based on public key pond | |
| JP2019511147A (en) | Method implemented by a block chain for control and distribution of digital content | |
| US20160294553A1 (en) | Information delivery system | |
| KR20190075771A (en) | Authentication System Using Block Chain Through Distributed Storage after Separating Personal Information | |
| US20210192012A1 (en) | Right holder terminal, user terminal, right holder program, user program, content utilization system, and content utilization method | |
| CN109361508A (en) | Data transmission method, electronic equipment and computer readable storage medium | |
| JP2023540739A (en) | A method for secure, traceable, and privacy-preserving digital currency transfers with anonymity revocation on a distributed ledger | |
| CN115396087B (en) | Identity authentication method, device, equipment and medium based on temporary identity certificate | |
| CN108259183A (en) | A kind of concern method, apparatus, electronic equipment and medium | |
| CN109361512A (en) | Data transmission method | |
| CN109815659A (en) | WEB project-based security authentication method, device, electronic device and storage medium | |
| CN103281180B (en) | User is protected to access the bill generation method of privacy in a kind of network service | |
| CN110266483A (en) | Based on unsymmetrical key pond to and the quantum communications service station cryptographic key negotiation method of QKD, system, equipment | |
| CN115396086B (en) | Identity authentication method, device, equipment and storage medium | |
| KR20200026627A (en) | Online vote method using block chain and apparatus therefor | |
| CN115150072B (en) | Cloud network issuance authentication method, equipment, device and storage medium | |
| EP4379631A1 (en) | Digital wallet device and dual offline transaction method thereof | |
| CN115396085B (en) | Method and equipment for negotiating and authenticating based on biological characteristics and third secret key | |
| CN113468600A (en) | Data authorization method, device and equipment | |
| US20230016828A1 (en) | Method and system for managing data exchange in the context of a medical examination |
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 |