WO2020029660A1 - 用户的身份内容信息的认证、验证方法和装置 - Google Patents
用户的身份内容信息的认证、验证方法和装置 Download PDFInfo
- Publication number
- WO2020029660A1 WO2020029660A1 PCT/CN2019/088958 CN2019088958W WO2020029660A1 WO 2020029660 A1 WO2020029660 A1 WO 2020029660A1 CN 2019088958 W CN2019088958 W CN 2019088958W WO 2020029660 A1 WO2020029660 A1 WO 2020029660A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- content information
- identity content
- merkel
- merkel tree
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Definitions
- This specification relates to the field of network communication technologies, and in particular, to a method and device for authenticating and verifying identity content information of a user.
- a CA certification authority When a CA certification authority generates a digital certificate, it usually includes all the identity information of the user, including the name, identity number (the institution user is a social unified credit code or institution verification code, and the individual user is an ID number), address, etc., in clear text format Or the encoding format (such as base64) that can be decoded in reverse is stored in the digital certificate.
- the digital certificate When the digital certificate is verified, all the identity information contained in the digital certificate can be obtained by the verification agency, and all of the identity Disclosure of information is unnecessary in most cases. There is still a lack of a digital certificate certified by a CA certification body that can selectively disclose a user's identity information.
- this specification provides a method for authenticating the identity content information of a user, including:
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the method further includes: sending a corresponding relationship between the other data information and the leaf node to the storage terminal.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority;
- the digital certificate includes a content part and a signature part, the content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature on the content part.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user is Merkel proof on Merkel tree constructed by identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- the identity content information of the user includes one or more of a user's public key, a user's name, a user's address, and a user's identification number.
- the encoding comprises a hash encoding.
- This manual also provides a method for verifying the user's identity content information, including:
- the identity to be verified is obtained from a storage terminal.
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the method further includes: acquiring a correspondence between the other data information and the leaf node from the storage terminal;
- Calculating the root value of the Merkel tree corresponding to the identity content information to be verified based on the identity content information to be verified and the Merkel certificate includes:
- a root value of the Merkel tree corresponding to the identity content information to be verified is calculated.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority, wherein the digital certificate includes a content part and a signature part, the The content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature of the content part;
- the obtaining from the storage terminal the root value of the Merkel tree constructed based on the multiple identity content information of the user includes:
- a root value of the Merkel tree constructed based on the multiple identity content information of the user is obtained.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user in a user-based Merkel certificate on Merkel tree constructed by identity content information;
- the obtaining a Merkel certificate of a leaf node corresponding to the identity content information to be verified on a Merkel tree constructed based on multiple identity content information of a user from a storage terminal includes:
- the correspondence between the identity content information to be verified and the leaf node is obtained, and the identity content to be verified is obtained according to the correspondence between the identity content information to be verified and the leaf node
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the user's multiple identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- the identity content information of the user includes one or more of a user's public key, a user's name, a user's address, and a user's identification number.
- the encoding comprises a hash encoding.
- This specification also provides a user's identity content information authentication device, including:
- An obtaining unit for obtaining multiple identity content information of a user An obtaining unit for obtaining multiple identity content information of a user
- a Merkel tree construction unit which constructs a Merkel tree based on multiple identity content information of the user, and the leaf nodes of the Merkel tree are generated based on the identity content information encoding of the user;
- the sending unit sends the correspondence between the multiple identity content information of the user and the leaf node to the storage terminal, and the leaf node corresponding to the multiple identity content information of the user is a silent node constructed based on the multiple identity content information of the user.
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the sending unit is further configured to send a correspondence between the other data information and the leaf node to the storage terminal.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority;
- the digital certificate includes a content part and a signature part, the content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature on the content part.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user in a user-based Merkel proof on Merkel tree constructed by identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- This manual also provides a device for verifying the user's identity content information, including:
- An obtaining unit in response to the identity content information to be verified, obtains the identity information from the storage terminal according to the correspondence between the identity content information to be verified and a leaf node of a Merkel tree constructed based on multiple identity content information of a user.
- the user's identity content information is generated by encoding;
- a calculation unit based on the identity content information to be verified and the Merkel certificate, calculating a root value of a Merkel tree corresponding to the identity content information to be verified;
- the comparison determining unit determines whether the root value of the Merkel tree corresponding to the identity content information to be verified is the same as the root value of the Merkel tree constructed based on multiple identity content information of the user.
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the obtaining unit is further configured to obtain a correspondence between the other data information and the leaf node from the storage terminal;
- the calculation unit calculates the calculation unit:
- a root value of the Merkel tree corresponding to the identity content information to be verified is calculated.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority, wherein the digital certificate includes a content part and a signature part, the The content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature of the content part;
- the obtaining unit :
- a root value of the Merkel tree constructed based on the multiple identity content information of the user is obtained.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user in a user-based Merkel certificate on Merkel tree constructed by identity content information;
- the obtaining unit :
- the correspondence between the identity content information to be verified and the leaf node is obtained, and the identity content to be verified is obtained according to the correspondence relationship between the identity content information to be verified and the leaf node.
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the user's multiple identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- this specification also provides a computer device including: a memory and a processor; the memory stores a computer program executable by the processor; and when the processor runs the computer program, the above-mentioned user's Identity content information authentication method.
- this specification also provides a computer device including: a memory and a processor; the memory stores a computer program executable by the processor; and when the processor runs the computer program, the above-mentioned user's Identity content information verification method.
- the present specification also provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by a processor, the method for authenticating identity information of a user is performed.
- the present specification also provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by a processor, the method for verifying identity information of a user is performed.
- Existing digital certificates contain all of the user ’s identity content information in plain text or encoded after all identity content information.
- the verification agency can obtain or decode the user ’s entire identity content information after obtaining the user ’s digital certificate, which is likely to cause unnecessary Disclosure of identity content information.
- the method and device for authenticating and verifying the user's identity content information provided by the embodiments of the present specification, constructing a Merkel tree based on the user's multiple identity content information, and guaranteeing any authenticated identity through the root value of the Merkel tree
- the content information is not tampered with; the Merkel proof of the identity content information to be verified and the root value of the Merkel tree of the identity content information to be verified are used to verify whether the identity information to be verified passes the verification;
- the user's identity is verified, only the identity information of the user to be verified or identity information related to the identity information to be verified is obtained, and the entire identity information of the user cannot be obtained, thereby preventing the unnecessary identity content information mentioned above.
- the issue of leakage further improves the security of the user's identity content information verification process.
- FIG. 1 is a schematic flowchart of a method for authenticating and verifying identity content information of a user provided by an exemplary embodiment of the present specification
- FIG. 2 is a schematic diagram of a Merkel tree constructed based on multiple identity content information of a user according to an exemplary embodiment of the present specification
- FIG. 3 is a schematic diagram of an authentication apparatus for identity content information of a user provided by an exemplary embodiment of the present specification
- FIG. 4 is a schematic diagram of a device for verifying identity content information of a user provided by an exemplary embodiment of the present specification
- FIG. 5 is a hardware structural diagram of an embodiment of an apparatus for authenticating or verifying identity content information of a user provided in this specification.
- a digital certificate is a file that is digitally signed by an identity certification authority and contains user identity content information (usually the user's public key, name, identity code, etc.). It is an authoritative electronic document that can provide identity verification on the Internet. People can communicate on the Internet, such as sending secure emails, accessing secure sites, online securities trading, online bidding and procurement, online office, and online insurance. , Online taxation, online signing and online banking and other secure electronic transaction processing and secure electronic transaction activities, use it to prove your identity and identify the identity of the other party.
- Identity certification agencies also known as CA agencies, usually issue multiple user identity information, including public keys, names, and identification numbers (the institutional user is a social unified credit code or agency verification code, and the individual user is the identity) when issuing a digital certificate. ID number, address, etc., are stored in the digital certificate in plain text format or encoded format. When the digital certificate is verified, all the identity information contained in the digital certificate can be obtained by the verification authority. The disclosure of all the above identity information is unnecessary in most cases.
- the information such as the ID number, home address, and household status of the buyer and user generally does not need to be disclosed to the e-commerce website or seller, but now There is still a lack of a verification method that can selectively disclose a user's identity content information.
- the above-mentioned digital certificate-based identity verification methods are usually used for Internet identity verification.
- identity cards and business licenses issued by national authorities are generally used.
- the company's business license (or organization certificate) contains a lot of identity content information, and most of the identity content information is private information inconvenient to disclose at will, and there is still a lack of a selective offline disclosure that can be implemented offline Authentication method of identity content information.
- FIG. 1 illustrates a schematic flowchart of a method for authenticating and verifying identity content information of a user provided by an exemplary embodiment of the present specification.
- the organization used to authenticate the user's identity content information includes the following steps:
- Step 102 Obtain multiple identity content information of the user.
- the “users” described in the above embodiments of the present specification may include individual users and institutional users, and may also include computer equipment and other terminal devices involved in network communications or individuals such as web pages. They are not limited in this specification, regardless of whether Online or offline, any individual who needs to verify identity can be a user described in this manual.
- the multiple identity content information of the user described in the above embodiment of this specification may include the user ’s name, ID number, address, or the organization user ’s organization name, code, address, legal person information, etc., and for individual web pages, it may also include Web server name, IP address, etc.
- the public key serves as an important piece of identity content information, and is widely used to represent the identity of a user in various application scenarios on the line. Therefore, the multiple identity content information of the user described in the above embodiment may further include the user's public key.
- the public key (or "public key") corresponds to the user's private key, and is derived from the private key according to a preset encryption algorithm.
- the encryption algorithm can include RSA, ECC, and so on.
- the user When applying for identity authentication to an identity certification authority, the user sends multiple pieces of identity content information to be authenticated to the server of the certification authority. After receiving the multiple identity content information, the background database of the certification institution usually checks the authenticity of the above information. After the verification is completed, the multiple identity content information is verified as valid information.
- Step 104 Construct a Merkel tree based on the multiple identity content information of the user, and the leaf nodes of the Merkel tree are encoded and generated based on the identity content information of the user;
- the certification authority After receiving the multiple identity content information of the user, or after verifying the authenticity of the multiple identity content information of the user, the certification authority will construct a Merkle Tree based on the multiple identity content information of the user. ).
- the Merkel tree is a kind of tree in the data structure, which can be a binary tree or a multi-tree tree.
- FIG. 2 is a Merkel tree constructed based on multiple identity content information of a user according to an exemplary embodiment of the present specification. Schematic.
- the user's multiple identity content information Data 001, Data 002, Data 003, and Data 004 are encoded to generate corresponding multiple digital digests hash (Data 001), hash (Data 002), and hash (Data 003) , Hash (Data 004), and use the plurality of digital digests as the values of leaf nodes C, D, E, F of the Merkel tree.
- the leaf nodes are continuously coded in pairs to generate the hash (C + D) and hash (E + F) values of the non-leaf nodes A and B step by step.
- the final result is The value of the root node root of the Merkel tree (may be referred to as “the root value of the Merkel tree” in this specification), as shown in FIG. 2, the root value hash (A + B) of the Merkel tree is finally generated. .
- the above-mentioned Merkel tree is constructed by using a hash algorithm in FIG. 2.
- the encoding algorithm that can be used to construct the Merkel tree can include a hash algorithm (such as MD5, SHA256, etc.), or any other required Encoding algorithm (such as base 64, etc.). Because the hash algorithm is a one-way mapping algorithm, the original data content cannot be pushed back from the hash digest.
- the above-mentioned embodiments provided in this specification preferably use the hash algorithm to construct the above-mentioned Based on the Merkel tree of the user's multiple identity content information, the original data content of the user's identity content information is prevented from being deduced by the leaf nodes of the Merkel tree. It is also worth noting that during the formation of the Merkel tree described above, the same mathematical coding algorithm can be selected for each level of nodes for coding calculation, and different coding algorithms can be selected for different levels, which is not limited here.
- each leaf node can be generated based on one identity content information code, or based on multiple pieces of identity content information.
- each leaf node can contain other data content information in addition to the user's identity content information, which is not limited here.
- Step 106 Send to the storage terminal the correspondence between the multiple identity content information of the user and the leaf node, and the leaf node corresponding to the multiple identity content information of the user in a silent construct based on the multiple identity content information of the user.
- a summary of the data stored on the path node passed through to reach the root node of the Merkel tree can construct a Merkel proof.
- the Merkel proof of leaf node E can be ⁇ F, A ⁇ , or ⁇ F, (C + D) ⁇ ; leaf node E Encoding is performed with the data digest stored on the nodes included in Merkel's proof in turn, and the root value of the Merkel tree should be obtained in the end.
- the certification authority in order to use a Merkel tree constructed based on multiple identity content information of a user to verify the identity content information of the user, the certification authority needs to send multiple identity content information of the user
- the corresponding relationship between the leaf node and the multiple identity content information of the user is a Merkel certificate on the Merkel tree constructed based on the multiple identity content information of the user, and the user-based The root value of the Merkel tree constructed by multiple identity content information.
- the sending method of the root value of the Kerr tree can be implemented by sending the entire Merkel tree as shown in FIG. 2; of course, the Merkel certificate corresponding to each leaf node can also be obtained, and the above Merkel The root values of the trees are sent separately and are not limited here.
- the correspondence between the user's identity content information and the leaf nodes of the Merkel tree can be sent in the form of a mapping table; for another example, to protect the privacy of the user's identity content information, the user's identity content information can be The category is numbered, and the correspondence between the above number and the leaf node of the Merkel tree is sent in the form of a mapping table; or, the certification body can generate an authentication template for identity content information, and the Merkel tree is specified on the template The type of identity content information that each leaf node should correspond to, then the above template sends the corresponding relationship between the multiple identity content information of the user and the leaf node of the Merkel tree in a known form.
- the authentication of a user's multiple identity content information and the construction of a Merkel tree based on the above user's multiple identity content information can result in multiple users.
- the root value of the Merkel tree constructed based on the user's multiple identity content information is sent to the storage terminal.
- the Merkel tree constructed based on the user's multiple identity content information described in the above-mentioned embodiments provided in this specification can generally be generated using a hash digest algorithm. Because the hash digest algorithm is a one-way mapping algorithm, even if the verification agency obtains the values of all the leaf nodes of the Merkel tree, the verification agency cannot know the original text of the identity content information of the user who generated the leaf node, thereby ensuring that Security of user's identity content information.
- the encoding algorithm of the Merkel tree is not limited to the hash algorithm. If the certification body uses a non-hash algorithm to construct the Merkel tree, especially the encoding method that can be reversely decoded (such as base64, etc.) To construct the Merkel tree, in order to further ensure that all the identity content information of the user on which the Merkel tree is based is not easily obtained, the leaf nodes of the Merkel tree can be generated based on the user's identity content information and random numbers. In this embodiment, the certification authority should also send the random number and the corresponding relationship with the leaf node, so that the identity content information of the user and the random number corresponding to the leaf node are stored in the storage terminal.
- the certification authority should also send the corresponding relationship between the other data information and the leaf node, so that it will be related to the user ’s
- the identity content information and other data information corresponding to the leaf nodes are stored in the storage terminal.
- the corresponding relationship between the other data information (such as a random number) and the leaf node may be implemented in multiple ways.
- the correspondence between other data information and the leaf nodes of the Merkel tree can be directly sent in the form of a mapping table; for example, the other data information can be numbered by category, and the above number is related to the leaf node of the Merkel tree.
- Correspondence is sent in the form of a mapping table; or, the certification authority may generate an authentication template for identity content information, and the template specifies the type of identity content information that each leaf node of the Merkel tree should correspond to, and other The identity information and its category, the above template does immediately send the corresponding relationship between the multiple identity content information of the user and the leaf node of the Merkel tree in a known form.
- the correspondence between the multiple identity content information of the user and the leaf node, and the leaf nodes corresponding to the multiple identity content information of the user on the Merkel tree constructed based on the multiple identity content information of the user are sent to the storage terminal; optionally, the corresponding relationship between the other data information and the leaf node is also Send to storage terminal.
- the storage terminal described in the above one or more embodiments of the present specification may have multiple implementations, such as a digital certificate issued by a certification authority, a server of the certification authority, a client of a user, or a public certificate authority server , Or a distributed database of a blockchain, etc., are not limited in this specification.
- the storage terminal is a server of a certification authority.
- the certification authority may issue a data certificate to the user.
- a digital certificate usually includes a content part and a signature part.
- the certification authority can store the root value of the Merkel tree constructed based on the multiple identity content information of the user in the content part of the digital certificate, and use the private key of the certification authority to pair the digital certificate. The content portion of the electronic signature was completed, and the certificate of the root of the Merkel tree has been completed.
- the certification authority stores the root value of the Merkel tree in a digital certificate, and further uses digital signature technology to ensure the validity and security of the root value and prevent the root value from being maliciously tampered with.
- the content part of the digital certificate may further include a correspondence between multiple identity content information of the user and the leaf node described in the above embodiment, and multiple identity content of the user.
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the user's multiple identity content information; when the leaf node is generated by encoding the user's identity content information and other data information (such as random numbers)
- the content part of the digital certificate may further include the correspondence between other data information and leaf nodes. In this way, the user can complete the verification of any identity content information authenticated in the digital certificate only by presenting the digital certificate to the verification agency, thereby achieving the purpose of convenience, security and efficiency.
- the correspondence between the multiple identity content information of the user and the leaf node, and the leaf node corresponding to the multiple identity content information of the user is based on the multiple identity content information of the user.
- the Merkel certificate on the constructed Merkel tree and the root value of the Merkel tree constructed based on the user's multiple identity content information are stored in the server of the authentication authority; when the leaf node is composed of When the user's identity content information is encoded with other data information (such as a random number), the corresponding relationship between the other data information and the leaf node should also be stored.
- the identity certification authority is usually an impartial authority with identity certification qualifications, the multiple identity content information of the above-mentioned authenticated users, and the Merkel certificate and the root value of the Merkel tree required for the above-mentioned identity content verification process ( It can be expressed as the entire lesson Merkel tree) stored in the identity authentication institution.
- the verification institution verifies any identity content information of the user, obtaining verification information from the identity authentication institution can ensure the authenticity of the obtained verification information.
- the correspondence between the multiple identity content information of the user and the leaf node, and the leaf node corresponding to the multiple identity content information of the user is based on the multiple identity content information of the user.
- the Merkel proof on the constructed Merkel tree and the root value of the Merkel tree constructed based on the user's multiple identity content information are stored in the user's client; when the leaf node is made by the user
- the generated identity content information is encoded with other data information (such as random numbers)
- the corresponding relationship between other data information and leaf nodes should also be stored.
- this embodiment can be used in conjunction with the embodiment in which the root value of the Merkel tree is stored in a digital certificate, that is, the certification authority can obtain the above Merck from the digital certificate recognized by the digital signature of the certification authority
- the root value of the tree is obtained from the user's client.
- the Merkel proof of the leaf node corresponding to the identity content information to be verified on the Merkel tree constructed based on the user's multiple identity content information guarantees the obtained data.
- the authenticity of the server also eases the storage pressure on the server of the certification authority.
- the correspondence between the multiple identity content information of the user and the leaf node, and the leaf node corresponding to the multiple identity content information of the user is based on the multiple identity content information of the user.
- the Merkel proof on the constructed Merkel tree and the root value of the Merkel tree constructed based on the multiple identity content information of the user are stored in the distributed database of the blockchain; when the leaf nodes When the user's identity content information is encoded with other data information (such as a random number), the corresponding relationship between other data information and leaf nodes should also be stored.
- the blockchain described in the above embodiment may specifically refer to a P2P network system with a distributed data storage structure reached by each node through a consensus mechanism.
- the data in the blockchain is distributed in time-linked “zones” Within the “block", the latter block contains the data summary of the previous block, and according to the specific consensus mechanism (such as POW, POS, DPOS, or PBFT), a full backup of all or part of the node's data is achieved. .
- the specific consensus mechanism such as POW, POS, DPOS, or PBFT
- the blockchain using Pow consensus requires at least the entire network An attack with 51% computing power is likely to tamper with the existing data. Therefore, the blockchain system has the characteristics of ensuring data security and preventing tampering as compared with other centralized database systems. From this, it can be known that in the embodiment provided in this specification, the data collected in the distributed database of the blockchain will not be attacked or tampered with, thereby ensuring that the verification agency verifies any user's identity content information. The authenticity of the data obtained at the time.
- the above-mentioned blockchain distributed database and digital certificate can be used in combination to store the root value of the Merkel tree in the digital certificate, that is, the certification authority can obtain it from the digital certificate recognized by the digital signature of the certification authority
- the root value of the Merkel tree is obtained from the distributed database of the blockchain by obtaining the Merkel certificate of the leaf node corresponding to the identity content information to be verified on the Merkel tree constructed based on the multiple identity content information of the user. , Which not only ensures the authenticity of the obtained data, but also eases the storage pressure on the server of the certification authority.
- Any organization that requires verification of the user's identity content information (the verification organization shown in Figure 1), in response to the identity content information to be verified, can perform the following steps to complete the verification:
- Step 202 Obtain a Merkel certificate of a leaf node corresponding to the identity content information to be verified on a Merkel tree constructed based on multiple identity content information of a user from the storage terminal, and the multiple identity based on the user. The root value of the Merkel tree constructed by the content information.
- the method for obtaining the Merkel certificate may include: obtaining the leaf node corresponding to the identity content information to be verified according to the correspondence between the identity content information (or its category) to be verified and the leaf node stored in the storage terminal, or Obtaining the leaf node corresponding to the identity content information to be verified according to the correspondence between the identity content information category and the leaf node specified in the authentication template of the identity content information of the certification authority;
- the leaf nodes corresponding to the identity content information to be verified are obtained in the user-based A Merkel certificate on a Merkel tree constructed by multiple identity content information, and a root value of the Merkel tree constructed based on multiple identity content information of a user.
- the root value of the Merkel tree constructed based on the user's multiple identity content information can be stored in the digital certificate of the user by the certification authority
- Obtaining the value of the root of the Merkel tree constructed based on the multiple identity content information of the user includes obtaining a digital certificate of the user, wherein the digital certificate includes a content part and a signature part, and the content part Including the root value of the Merkel tree constructed based on the user's multiple identity content information, the signature part is an electronic signature of the content part by the certification authority of the digital certificate; the certification authority using the digital certificate
- the corresponding public key verifies the digital certificate. After the verification is passed, the root value of the Merkel tree constructed based on the multiple identity content information of the user is obtained.
- the content part of the digital certificate may further include the correspondence between the identity content information of the user and the leaf node, and the leaf nodes corresponding to the multiple identity content information of the user are based on multiple identities of the user.
- Merkel proof on Merkel tree constructed by content information. The above information may exist in the form of a Merkel tree as a whole in the above digital certificate.
- the Merkel certificate of the leaf node corresponding to the identity content information to be verified on the Merkel tree constructed based on multiple identity content information of the user can also be obtained after the digital certificate verification is passed, including: Obtain the correspondence between the identity content information to be verified and the leaf node, and obtain the leaf node corresponding to the identity content information to be verified based on the user based on the correspondence between the identity content information to be verified and the leaf node Merkel proof on a Merkel tree constructed of multiple identity content information.
- the foregoing storage terminal may also be a server of a certification authority, a client of a user, or a distributed database of a blockchain, which has been demonstrated in detail in the above embodiments, and is not repeated here.
- Step 204 Based on the identity content information to be verified and the Merkel certificate, calculate a root value of the Merkel tree corresponding to the identity content information to be verified.
- the above steps include encoding calculation based on the identity content information to be verified to obtain a data summary corresponding to the identity content information to be verified.
- the data summary is used as a value of a leaf node of the Merkel tree to be verified, and the data summary is then used.
- the Merkel certificate of the leaf node corresponding to the identity content information to be verified mentioned above is calculated in turn, and the root value of the Merkel tree corresponding to the identity content information to be verified is finally obtained.
- a leaf node of the Merkel tree is generated by encoding and calculating multiple identity content information, or by encoding the identity content information and other data information (such as random numbers) to be verified.
- the above-mentioned encoding calculation based on the identity content information to be verified to obtain a data summary corresponding to the identity content information to be verified should further include encoding calculations of the identity content information to be verified together with other content information. To obtain a data summary corresponding to the identity content information to be verified.
- Step 206 Determine whether the root value of the Merkel tree corresponding to the identity content information to be verified is the same as the root value of the Merkel tree constructed based on multiple identity content information of the user.
- the identity content information is the identity content information approved by the certification authority.
- the user can obtain verification of the information to be verified without disclosing other identity content information, thereby improving the user's identity content information verification process.
- the above verification process only the Merkel proof of the identity content information to be verified and the root value of the Merkel tree are transmitted. Compared with the traditional verification method, the data transmission volume is reduced. , which improves the efficiency of verification.
- the above-mentioned authentication and verification methods of the user's identity and content information are not limited to the use of identity verification in online data transmission and payment scenarios, and can still be used in offline scenarios. For example, when a user checks in to a hotel, the hotel can pass The method of obtaining the corresponding information from the storage terminal completes the verification of the user's identity, so the above method has a wide range of application scenarios.
- the user's identity content information described in the above embodiments provided in this specification may generally include one or more of the user's public key, the user's name, the user's address, the user's identification number, etc., among which the user's
- the public key is widely used on the Internet as commonly used information. For example, it is widely used as a representative of the user's identity, or in scenarios such as transmission information decryption and electronic signature verification.
- public key information is a string of character codes.
- the public key and the root value of the Merkel tree generated based on the user's multiple identity content information can be stored in this
- the content of the digital certificate provided in the manual so that the verification agency can directly obtain the user's public key after checking the signature of the digital certificate, which is used in scenarios such as information decryption or user's electronic signature verification.
- the embodiment of the present specification further provides a device for authenticating the identity content information of a user, and a device for verifying the identity content information of a user.
- the above devices may be implemented by software, or by hardware or a combination of software and hardware. Taking software implementation as an example, as a device in a logical sense, it is formed by reading a corresponding computer program instruction into a memory through a CPU (Central Process Unit) of a device where the device is located. From the hardware level, in addition to the CPU, memory, and memory shown in Figure 5, the devices where the above devices are located usually include other hardware such as chips for wireless signal transmission and reception, and / or for network communication functions. Board and other hardware.
- CPU Central Process Unit
- FIG. 3 shows an authentication device 30 for user identity content information provided in this specification, including:
- the obtaining unit 302 obtains multiple identity content information of a user
- a Merkel tree constructing unit 304 which constructs a Merkel tree based on the multiple identity content information of the user, and the leaf nodes of the Merkel tree are generated based on the identity content information encoding of the user;
- the sending unit 306 sends to the storage terminal the correspondence between the multiple identity content information of the user and the leaf node, and the leaf node corresponding to the multiple identity content information of the user is constructed based on the multiple identity content information of the user.
- the Merkel proof on the Merkel tree and the root value of the Merkel tree constructed based on the user's multiple identity content information.
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the sending unit 306 is further configured to send a correspondence between the other data information and the leaf node to the storage terminal.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority;
- the digital certificate includes a content part and a signature part, the content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature on the content part.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user in a user-based Merkel proof on Merkel tree constructed by identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- this specification also provides a device 40 for verifying identity information of a user, including:
- the obtaining unit 402 in response to the identity content information to be verified, obtains the memory node from a storage terminal according to a correspondence between the identity content information to be verified and a leaf node of a Merkel tree constructed based on multiple identity content information of a user.
- a calculating unit 404 based on the identity content information to be verified and the Merkel certificate, calculating a root value of a Merkel tree corresponding to the identity content information to be verified;
- the comparison determining unit 406 determines whether the root value of the Merkel tree corresponding to the identity content information to be verified is the same as the root value of the Merkel tree constructed based on multiple identity content information of the user.
- the leaf nodes of the Merkel tree are encoded and generated based on the user's identity content information and other data information;
- the obtaining unit 402 is further configured to obtain a correspondence between the other data information and the leaf node from the storage terminal;
- the calculation unit 404 calculates the calculation unit 404:
- a root value of the Merkel tree corresponding to the identity content information to be verified is calculated.
- the other data information is a random number.
- the storage terminal includes one or more of a client of a user, a server of a certification authority, or a distributed database of a blockchain.
- the storage terminal includes a server of a certification authority
- the root value of the Merkel tree constructed based on the multiple identity content information of the user is stored in the digital certificate of the user by the certification authority, wherein the digital certificate includes a content part and a signature part, the The content part includes a root value of a Merkel tree constructed based on multiple identity content information of a user, and the signature part is an electronic signature of the content part;
- the obtaining unit 402 The obtaining unit 402:
- a root value of the Merkel tree constructed based on the multiple identity content information of the user is obtained.
- the content part of the digital certificate further includes a correspondence between the multiple identity content information of the user and the leaf node, and a leaf node corresponding to the multiple identity content information of the user in a user-based Merkel certificate on Merkel tree constructed by identity content information;
- the obtaining unit 402 The obtaining unit 402:
- the correspondence between the identity content information to be verified and the leaf node is obtained, and the identity content to be verified is obtained according to the correspondence relationship between the identity content information to be verified and the leaf node.
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the user's multiple identity content information.
- the storage terminal further includes a client of the user or a distributed database of a blockchain, a correspondence between the multiple identity content information of the user and the leaf node, and multiple identity content of the user
- the Merkel proof of the leaf node corresponding to the information on the Merkel tree constructed based on the multiple identity content information of the user is stored in the user's client or the distributed database of the blockchain.
- the content part of the digital certificate of the user further includes the public key of the user.
- the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical modules, that is, may be located in One place, or can be distributed to multiple network modules. Some or all of the units or modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Those of ordinary skill in the art can understand and implement without creative efforts.
- the devices, units, and modules described in the foregoing embodiments may be specifically implemented by a computer chip or entity, or may be implemented by a product having a certain function.
- a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email sending and receiving device, and a game control Desk, tablet computer, wearable device, or a combination of any of these devices.
- the embodiment of the present specification further provides a computer device, the computer device including a memory and a processor.
- the memory stores a computer program that can be executed by a processor.
- the processor runs the stored computer program, the processor executes each step of the user's identity content information authentication method in the embodiment of the present specification.
- the processor executes each step of the user's identity content information authentication method in the embodiment of the present specification.
- the embodiment of the present specification further provides a computer device, the computer device including a memory and a processor.
- the memory stores a computer program that can be run by a processor.
- the processor runs the stored computer program, the processor executes each step of the user's identity content information verification method in the embodiment of the present specification.
- the processor executes each step of the user's identity content information verification method in the embodiment of the present specification.
- the embodiments of the present specification also provide a computer-readable storage medium.
- the storage medium stores computer programs. When these computer programs are run by a processor, the user executes the user in the embodiments of the present specification. Steps of authentication method of identity content information. For a detailed description of each step of the user's identity content information authentication method, refer to the previous content, and will not be repeated.
- the embodiments of the present specification also provide a computer-readable storage medium.
- the storage medium stores computer programs.
- the user executes the user in the embodiments of the present specification. Steps of the identity content information verification method.
- Steps of the identity content information verification method For a detailed description of each step of the user's identity content information verification method, please refer to the previous content, and will not be repeated.
- a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
- processors CPUs
- input / output interfaces output interfaces
- network interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include non-persistent memory, random access memory (RAM), and / or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
- RAM random access memory
- ROM read-only memory
- flash RAM flash memory
- Computer-readable media includes both permanent and non-persistent, removable and non-removable media.
- Information can be stored by any method or technology.
- Information may be computer-readable instructions, data structures, modules of a program, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media may be used to store information that can be accessed by computing devices.
- computer-readable media does not include temporary computer-readable media, such as modulated data signals and carrier waves.
- the embodiments of the present specification may be provided as a method, a system, or a computer program product. Therefore, the embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本说明书的一个或多个实施例提供了用户的身份内容信息的认证、验证方法和装置,上述用户的身份内容信息的认证方法包括:获取用户的多个身份内容信息;基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。上述存储终端可以包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
Description
本说明书涉及网络通信技术领域,尤其涉及用户的身份内容信息的认证、验证方法和装置。
CA认证机构在生成数字证书时,通常将用户的全部身份信息,包括名称、身份号码(机构用户为社会统一信用代码或机构验证码,个人用户为身份证号码)、地址等,以明文的格式、或可被反向解码的编码格式(如base 64)保存在数字证书中,在上述数字证书被验证时,上述数字证书内包含的全部身份信息均可被验证机构获得,而对上述全部身份信息的披露多数情况下是不必要的。现在仍缺少一种经CA认证机构认证的、可选择性地披露用户的身份信息的数字证书。
发明内容
针对以上提出的问题,本说明书提供了一种用户的身份内容信息的认证方法,包括:
获取用户的多个身份内容信息;
基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;
所述方法还包括:向所述存储终端发送所述其他数据信息与所述叶节点的对应关系。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数 据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中;
其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
更优地,所述用户的身份内容信息包括用户的公钥、用户的名称、用户的地址、用户的识别号码中的一种或多种。
更优地,所述编码包括哈希编码。
本说明书还提供了一种用户的身份内容信息的验证方法,包括:
响应于待验证的身份内容信息,根据所述待验证的身份内容信息与基于用户的多个身份内容信息构建的默克尔树的叶节点的对应关系,从存储终端获取所述待验证的身份内容信息对应的叶节点的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,其中,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值;
确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;
所述方法还包括:从所述存储终端获取所述其他数据信息与所述叶节点的对应关系;
所述基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值,包括:
基于所述待验证的身份内容信息、所述其他数据信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中,其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名;
所述从存储终端获取所述基于用户的多个身份内容信息构建的默克尔树的根值,包括:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;
所述从存储终端获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,包括:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对 应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
更优地,所述用户的身份内容信息包括用户的公钥、用户的名称、用户的地址、用户的识别号码中的一种或多种。
更优地,所述编码包括哈希编码。
本说明书还提供了一种用户的身份内容信息的认证装置,包括:
获取单元,获取用户的多个身份内容信息;
默克尔树构建单元,基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
发送单元,向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;
所述发送单元还用于:向所述存储终端发送所述其他数据信息与所述叶节点的对应关系。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中;
其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个 身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
本说明书还提供了一种用户的身份内容信息的验证装置,包括:
获取单元,响应于待验证的身份内容信息,根据所述待验证的身份内容信息与基于用户的多个身份内容信息构建的默克尔树的叶节点的对应关系,从存储终端获取所述待验证的身份内容信息对应的叶节点的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,其中,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
计算单元,基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值;
对比确定单元,确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;
所述获取单元还用于:从所述存储终端获取所述其他数据信息与所述叶节点的对应关系;
所述计算单元:
基于所述待验证的身份内容信息、所述其他数据信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数 据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中,其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名;
所述获取单元:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;
所述获取单元:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述的用户的身份内容信息认证方法。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述的用户的身份内容信息验证方法。
相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的用户的身份内容信息认证方法。
相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的用户的身份内容信息验证方法。
现有的数字证书内包含用户全部身份内容信息的明文或编码后的全部身份内容信息,验证机构在获取用户的数字证书后可以获知或通过解码获知用户的全部身份内容信息,易引发不必要的身份内容信息泄露。本说明书各实施例提供的用户的身份内容信息的认证、验证方法和装置,基于用户的多个身份内容信息构建默克尔树,通过上述默克尔树的根值保证经认证的任何一个身份内容信息不被篡改;利用待验证身份内容信息的默克尔证明与待验证身份内容信息生成默克尔树的根值的方式,来校验待验证身份信息是否验证通过;从而使验证机构在对用户的身份验证时,仅获知用户待验证的身份信息或与待验证的身份信息相关的身份信息,而不能获取用户全部的身份信息,由此防止了以上提及的不必要的身份内容信息泄露的问题,更加提高了用户的身份内容信息验证过程的安全性。
图1为本说明书一示例性实施例提供的用户的身份内容信息的认证、验证方法流程示意图;
图2为本说明书一示例性实施例提供的基于用户的多个身份内容信息构建的默克尔树的示意图;
图3为本说明书一示例性实施例提供的用户的身份内容信息的认证装置的示意图;
图4为本说明书一示例性实施例提供的用户的身份内容信息的验证装置的示意图;
图5为运行本说明书所提供的用户的身份内容信息的认证或验证装置实施例的一种硬件结构图。
数字证书是一个经身份认证机构数字签名的、包含用户身份内容信息(通常为用户的公钥、名称、身份代码等)的文件。它是能提供在互联网上进行身份验证的一种权威性电子文档,人们可以在互联网交往中,例如,在发送安全电子邮件、访问安全站点、网上证券交易、网上招标采购、网上办公、网上保险、网上税务、网上签约和网上银行等安全电子事务处理和安全电子交易活动中,用它来证明自己的身份和识别对方的身份。
身份认证机构,又称CA机构,在颁发数字证书时,通常将用户的多个身份内容信息,包括公钥、名称、身份号码(机构用户为社会统一信用代码或机构验证码,个人用户为身份证号码)、地址等,统一以明文的格式、或编码后的格式保存在数字证书中,在上述数字证书被验证时,上述数字证书内包含的全部身份信息均可被验证机构获得,而对上述全部身份信息的披露多数情况下是不必要的,例如,在利用电子商务购物时,买家用户的身份证号码、家庭住址、户口情况等信息一般无需披露给电商网站或卖家,但现在仍缺少一种可选择性地披露用户的身份内容信息的验证方法。
上述基于数字证书的身份验证方式,通常用于互联网上的身份验证;对于线下的身份验证方式,一般利用国家权威机构颁发的身份证、营业执照等实行,同样,个人的身份证(或户口本)、公司机构的营业执照(或组织机构证书)均包含很多身份内容信息,而且多数身份内容信息为隐私信息不便随意透露,现在也仍缺少一种可线下实行的、选择性地披露用户的身份内容信息的验证方法。
为解决如上所述的问题,图1示意了本说明书一示意性实施例提供的用户的身份内容信息的认证、验证方法流程示意图。用于对用户的身份内容信息进行认证的机构,所执行的步骤包括:
步骤102,获取用户的多个身份内容信息。
本说明书上述实施例所述的“用户”可包括个人用户及机构用户,还可包括计算机设备及在网络通信中涉及到的其他终端设备或如网页等个体等,在本说明书中不作限定,无论线上还是线下,任何需要验证身份的个体均可为本说明书所述的用户。
本说明书上述实施例所述的用户的多个身份内容信息,可包括用户的姓名、身份证号码、地址,或机构用户的机构名称、代码、地址、法人信息等,对于网页个体,还可包括网页的服务器名称、IP地址等。公钥作用一项重要的身份内容信息,在线上的各种应用场景中代表用户身份被广泛使用,因此上述实施例所述的用户的多个身份内容信息 还可包括用户的公钥。公钥(或称“公开密钥”)是与用户的私钥对应的,由私钥按照预设的加密算法得出,加密算法可包括RSA、ECC等。
在向身份认证机构申请身份认证时,用户将自身需认证的多个身份内容信息发送给认证机构的服务器。认证机构的后台数据库在接收到上述多个身份内容信息后,通常会对上述信息的真实有效性进行核验,在核验完毕后即认证上述多个身份内容信息为有效的信息。
步骤104,基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息而编码生成的;
认证机构在收到上述用户的多个身份内容信息后,或验明上述用户的多个身份内容信息的真实有效性后,会基于上述用户的多个身份内容信息构建默克尔树(Merkle Tree)。默克尔树是数据结构中的一种树,可以是二叉树,也可以是多叉树,图2为本说明书一示例性实施例提供的基于用户的多个身份内容信息构建的默克尔树的示意图。如图2所示,用户的多个身份内容信息Data 001、Data 002、Data 003、Data 004经过编码生成相应的多个数字摘要hash(Data 001)、hash(Data 002)、hash(Data 003)、hash(Data 004),并将该多个数字摘要作为该默克尔树的叶节点C、D、E、F的值。对叶节点两两继续进行编码计算,以逐级生成各非叶节点A和B的值hash(C+D)、hash(E+F);经过对非叶节点的逐层计算,最终可得到该默克尔树的根节点root的值(在本说明书中可简称“默克尔树的根值”),如图2所示,最终生成默克尔树的根值hash(A+B)。
图2中采用哈希算法构建上述默克尔树,本领域的技术人员应知,构建默克尔树可采用的编码算法可包括哈希算法(如MD5,SHA256等)、或其他任意所需的编码算法(如base 64等)。由于哈希算法是单向映射算法,无法从哈希摘要反推回原始数据内容,因此为保护用户的多个身份内容信息的隐私性,本说明书提供的上述实施例优选利用哈希算法构建上述基于用户的多个身份内容信息的默克尔树,以防止由默克尔树的叶节点反推得到用户的身份内容信息的原始数据内容。另外值得注意的是,在上述默克尔树的形成过程中,既可对各层级节点选用相同的数学编码算法进行编码计算,也可对不同的层级选用不同的编码算法,在此不作限定。
在本说明书提供的实施例中,并不限定生成每个叶节点所依据的用户的身份内容信息的个数,每个叶节点可基于一条身份内容信息编码生成,也可基于多条身份内容信息;而且,每个叶节点除包含用户的身份内容信息外,还可包含其他数据内容信息,在此不做限定。
步骤106,向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
从默克尔树中的任一节点出发,到达默克尔树的根节点所经过的路径节点上存储的数据摘要,可以构造一个默克尔证明。一个节点的默克尔证明可能有多条,如图2所示,叶节点E的默克尔证明可以是{F,A},或者也可是{F,(C+D)};叶节点E依次与默克尔证明所包含的节点上存储的数据摘要进行编码计算,最终应得到该默克尔树的根值。因此,若要验证叶节点E所对应的身份内容信息Data 003是否被篡改,只需将待验证的身份内容信息作编码计算,并将上述编码计算的结果与叶节点E的默克尔证明{F,A}或{F,(C+D)}对应的数据摘要值依次作编码计算,即可得到待验证的身份内容信息对应的默克尔树的根值,将待验证的数据对应的默克尔树的根值与上述基于身份内容信息Data 001、Data 002、Data 003、Data 004构建的默克尔树的根值作对比,如果两值相等,则证明待验证的身份内容信息即为Data 003。在上述验证Data003的过程中,并不需要其他叶节点所对应的身份内容信息如Data 001,Data 002,Data 004的内容,因此很好地避免了对用户其他身份内容信息的披露。
由上可知,在本说明书提供的上述实施例中,为了利用基于用户的多个身份内容信息构建的默克尔树来进行用户的身份内容信息验证,认证机构需发送用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。其中,对用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值的发送方式,可以以发送如图2所述的整个默克尔树的形式来实现;当然,也可以将每个叶节点对应的默克尔证明、及上述默克尔树的根值分别发送,在此不做限定。
值得注意的是,如果数据所对应的叶节点的位置发生改变,例如图2所示的Data 001与Data 002的位置发生调换,则叶节点C与D的值发生互换,则节点A的值会发生改变,最终根节点Root的值也会发生改变,因此在说明书提供的实施例中,为方便利用上述默克尔树对用户的身份内容信息进行验证,用户的多个身份内容信息与默克尔树的叶节点的对应关系也应被发送。
对上述用户的多个身份内容信息与默克尔树的叶节点的对应关系的发送可以有 多种实现方式。例如,可直接将用户的身份内容信息与默克尔树的叶节点的对应关系以映射表格的形式发送;又如,为保护用户的身份内容信息的隐私性,可以将用户的身份内容信息按类别进行编号,将上述编号与默克尔树的叶节点的对应关系以映射表格的形式发送;又或者,认证机构可生成身份内容信息的认证模板,在上述模板上规定有上述默克尔树的每个叶节点应对应的身份内容信息的类别,则上述模板即是以一种公知的形式发送上述用户的多个身份内容信息与默克尔树的叶节点的对应关系。
基于以上的一个或多个实施例,如图1所示,通过认证机构对用户的多个身份内容信息的认证及基于上述用户的多个身份内容信息的默克尔树的构建,用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值被发送至存储终端。
值得注意的是,在本说明书提供的上述实施例所描述的基于用户的多个身份内容信息构建的默克尔树,通常可采用哈希摘要算法来生成。由于哈希摘要算法为单向映射算法,即使验证机构获取到上述默克尔树的所有叶节点的值,验证机构也无法获知生成所述叶节点的用户的身份内容信息的原文,从而保证了用户的身份内容信息的安全性。
当然,上述默克尔树的编码算法并不限于哈希算法,如果认证机构采用了非哈希算法构建上述默克尔树,尤其是采用了可反向解码的编码方法(如base 64等)构建上述默克尔树,为了进一步保证默克尔树所基于的用户的全部身份内容信息不被轻易获取,上述默克尔树的叶节点可基于用户的身份内容信息和随机数共同生成。在该实施方式中,认证机构还应发送所述随机数、与所述叶节点的对应关系,从而将与用户的身份内容信息及叶节点对应的随机数存储于存储终端。
另外,如果上述默克尔树的一个叶节点是由身份内容信息与其他数据信息经编码生成时,认证机构还应发送所述其他数据信息与所述叶节点的对应关系,从而将与用户的身份内容信息及叶节点对应的其他数据信息存储于存储终端。类似地,上述其他数据信息(如随机数)与所述叶节点的对应关系也可以有多种实现方式。例如,可直接将其他数据信息与默克尔树的叶节点的对应关系以映射表格的形式发送;又如,将其他数据信息按类别进行编号,将上述编号与默克尔树的叶节点的对应关系以映射表格的形式发送;又或者,认证机构可生成身份内容信息的认证模板,在上述模板上规定有上述默克尔树的每个叶节点应对应的身份内容信息的类别、及其他身份信息及其类别,则上述模板的确立即是以一种公知的形式发送上述用户的多个身份内容信息与默克尔树的叶 节点的对应关系。
至此,所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值被发送至存储终端;可选的,所述其他数据信息与所述叶节点的对应关系也被发送至存储终端。上述本说明书上述一个或多个实施例中所述的存储终端可以有多种实现方式,例如可以为认证机构发出的数字证书、认证机构的服务器、用户的客户端、或公用的存证机构服务器、或区块链的分布式数据库等等,在本说明书中不作限定。
例如,在一示出的实施例中,上述存储终端为认证机构的服务器。为进一步表示认证机构对用户的多个身份内容信息的认可,认证机构可向用户颁发数据证书。数字证书通常包括内容部分和签名部分,认证机构可将上述基于用户的多个身份内容信息构建的默克尔树的根值存储于数字证书的内容部分,并使用认证机构的私钥对数字证书的内容部分进行电子签名,已完成对上述默克尔树的根植的存证。由上述实施例中描述的默克尔树的根值的计算过程可知,默克尔树的根值与任一叶节点的内容和位置都直接相关,任一叶节点的内容或位置的变更都会引起根值的改变。因此认证机构将上述默克尔树的根值存储于数字证书,并进一步通过数字签名技术保证了该根值的有效性和安全性,防止该根值被恶意篡改。
在又一示出的实施例中,上述数字证书的内容部分还可包括以上实施例所述的用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;当所述叶节点是由用户的身份内容信息与其他数据信息(如随机数)编码生成时,上述数字证书的内容部分还可包括其他数据信息与叶节点的对应关系。这样用户仅仅通过向验证机构出示数字证书,即可完成对数字证书中所认证的任意的身份内容信息的验证,达到方便、安全、高效的目的。
在又一示出的实施例中,所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,被存储于身份认证机构的服务器;当所述叶节点是由用户的身份内容信息与其他数据信息(如随机数)编码生成时,还应存储其他数据信息与叶节点的对应关系。由于身份认证机构通常是具备身份认证资质的公正权威机构,将上述经认证的用户的多个身份内容 信息、及上述身份内容验证过程所需的默克尔证明及默克尔树的根值(可以表现为整课默克尔树)存储于身份认证机构,在验证机构对用户的任何身份内容信息进行验证时,从身份认证机构获取验证信息,可保证上述获取的验证信息的真实性。
在又一示出的实施例中,所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,被存储于用户的客户端;当所述叶节点是由用户的身份内容信息与其他数据信息(如随机数)编码生成时,还应存储其他数据信息与叶节点的对应关系。相比于将上述信息存储于认证机构的服务器,本实施例所提供的实施方式极大地减轻了认证机构服务器的存储压力,但缺点是用户的客户端提供的数据不具备安全性和权威性,容易被用户篡改;因此本实施方式可以与将上述默克尔树的根值存储于数字证书中的实施方式配合使用,即验证机构可从经认证机构数字签名认可的数字证书中获取上述默克尔树的根值,从用户的客户端获取待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,既保证了所获数据的真实性,又缓解了认证机构服务器的存储压力。
在又一示出的实施例中,所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,被存储于区块链的分布式数据库;当所述叶节点是由用户的身份内容信息与其他数据信息(如随机数)编码生成时,还应存储其他数据信息与叶节点的对应关系。
上述实施例所述的区块链,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了验证机构在对用户的任一身份内容信息进行验证时所获数据的真实性。
类似的,上述区块链的分布式数据库与数字证书可以结合使用,将上述默克尔树的根值存证于数字证书中,即验证机构可从经认证机构数字签名认可的数字证书中获取上述默克尔树的根值,从区块链的分布式数据库中获取待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,既保证了所获数据的真实性,又缓解了认证机构服务器的存储压力。
任何对用户的身份内容信息具有验证需求的机构(图1所示的验证机构),响应于待验证的身份内容信息,可执行以下步骤完成验证:
步骤202,从存储终端获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
对上述默克尔证明的获取方式,可以包括:根据存储终端存储的待验证的身份内容信息(或其类别)与叶节点的对应关系,获取待验证的身份内容信息所对应的叶节点,或者根据认证机构的身份内容信息的认证模板规定的身份内容信息类别与叶节点的对应关系、获取待验证的身份内容信息所对应的叶节点;
再从存储终端存储的默克尔树、或存储终端存储的每个叶节点的默克尔证明、及默克尔树的根值,获取待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
本领域的技术人员应知,当上述默克尔树的一个叶节点是由多个身份内容信息经编码计算生成、或是由待验证的身份内容信息与其他数据信息经编码生成时,上述验证机构还应获取与所述待验证的身份内容信息一起生成上述叶节点的其他内容信息。
值得注意的是,当上述存储终端为认证机构的服务器时,所述基于用户的多个身份内容信息构建的默克尔树的根值可被所述认证机构存证于所述用户的数字证书中;获取所述基于用户的多个身份内容信息构建的默克尔树的根的值,包括:获取所述用户的数字证书,其中所述数字证书包含内容部分和签名部分,所述内容部分包括所述基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是所述数字证书的认证机构对所述内容部分的电子签名;利用所述数字证书的认证机构对应的公钥验签所述数字证书;在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
可选的,上述数字证书的内容部分还可包括有所述用户的身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。上述信息可以默克尔树的形式整体存在于上述数字证书中。相应地,还可在上述数字证书验签通过后获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,包括:获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
类似地,上述存储终端还可以是认证机构的服务器、用户的客户端或区块链的分布式数据库,以上的实施例中已详细论证,在此不再赘述。
步骤204,基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
上述步骤包括基于所述待验证的身份内容信息做编码计算以得到待验证的身份内容信息对应的数据摘要,上述数据摘要作为待验证的默克尔树的叶节点的值,再将上述数据摘要与上述待验证的身份内容信息对应的叶节点的默克尔证明包含的节点的值、依次作编码计算,最终得出待验证的身份内容信息对应的默克尔树的根值。
本领域的技术人员应知,当上述默克尔树的一个叶节点是由多个身份内容信息经编码计算生成、或是由待验证的身份内容信息与其他数据信息(如随机数)经编码生成时,上述基于所述待验证的身份内容信息做编码计算以得到待验证的身份内容信息对应的数据摘要,还应包括,将所述待验证的身份内容信息与其他内容信息一起做编码计算,以得到待验证的身份内容信息对应的数据摘要。
步骤206,确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
对比上述待验证的身份内容信息对应的默克尔树的根值与存储终端存储的默克尔树的根值是否相同;如果相同,则上述待验证的身份内容信息通过验证,及上述待验证的身份内容信息为上述认证机构认可的身份内容信息。
由此可知,通过图1所示的用户的身份内容信息的认证、验证方法,用户可以在不披露其他身份内容信息的前提下获得待验证信息的验证,从而提高了用户的身份内容信息验证过程的安全性;而且,在上述验证的过程中,仅传输待验证的身份内容信息 的默克尔证明、及默克尔树的根值,相比传统的验证方法,减小了数据的传输量,提高了验证的效率。上述对用户的身份内容信息的认证、验证方法,不仅限于线上的数据传输、支付等场景下的身份验证时使用,用户在线下的场景中仍可使用,例如用户到宾馆入住,宾馆可通过从存储终端获取相应信息的方式完成对用户身份的验证,因此上述方法具有广泛的应用场景。
本说明书提供的上述实施例所描述的用户的身份内容信息通常可包括用户的公钥、用户的名称、用户的地址、用户的识别号码等信息中的一种或多种等,其中,用户的公钥作为常用的信息在互联网上被广泛的使用,例如,作为用户身份的代表、或在传输信息解密、电子签名验签等场景中被广泛使用;且公钥信息作为一串字符编码由于不揭露用户的隐私而可被广泛告知,因此,在本说明书提供的一种优选的实施方式中,可以将公钥与基于用户的多个身份内容信息生成的默克尔树的根值保存于本说明书所提供的数字证书的内容部分,这样验证机构可通过验签数字证书的签名后直接获取用户的公钥,用于信息解密或用户的电子签名验签等场景中。
与上述流程实现对应,本说明书的实施例还提供了一种用户的身份内容信息的认证装置、及用户的身份内容信息的验证装置。上述各装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及存储器之外,上述各装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图3所示为本说明书所提供的一种用户的身份内容信息的认证装置30,包括:
获取单元302,获取用户的多个身份内容信息;
默克尔树构建单元304,基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
发送单元306,向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而 编码生成的;
所述发送单元306还用于:向所述存储终端发送所述其他数据信息与所述叶节点的对应关系。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中;
其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
相应的,如图4所示,本说明书还提供了一种用户的身份内容信息的验证装置40,包括:
获取单元402,响应于待验证的身份内容信息,根据所述待验证的身份内容信息与基于用户的多个身份内容信息构建的默克尔树的叶节点的对应关系,从存储终端获取所述待验证的身份内容信息对应的叶节点的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,其中,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;
计算单元404,基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值;
对比确定单元406,确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
更优地,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;
所述获取单元402还用于:从所述存储终端获取所述其他数据信息与所述叶节点的对应关系;
所述计算单元404:
基于所述待验证的身份内容信息、所述其他数据信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
更优地,所述其他数据信息为随机数。
更优地,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
更优地,所述存储终端包括认证机构的服务器;
所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中,其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名;
所述获取单元402:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
更优地,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;
所述获取单元402:
获取所述用户的数字证书;
利用所述数字证书的认证机构对应的公钥验签所述数字证书;
在所述验签通过后,获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
更优地,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
更优地,所述用户的数字证书的内容部分还包括所述用户的公钥。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中用户的身份内容信息认证方法的各个步骤。对上述用户的身份内容信息认证方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中用户的身份内容信息验证方 法的各个步骤。对上述用户的身份内容信息验证方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中用户的身份内容信息认证方法的各个步骤。对用户的身份内容信息认证方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中用户的身份内容信息验证方法的各个步骤。对用户的身份内容信息验证方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排 他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (40)
- 一种用户的身份内容信息的认证方法,包括:获取用户的多个身份内容信息;基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系,所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
- 根据权利要求1所述的方法,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;所述方法还包括:向所述存储终端发送所述其他数据信息与所述叶节点的对应关系。
- 根据权利要求2所述的方法,所述其他数据信息为随机数。
- 根据权利要求1至3中任一权利要求所述的方法,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
- 根据权利要求1至3中任一权利要求所述的方法,所述存储终端包括认证机构的服务器;所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中;其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名。
- 根据权利要求5所述的方法,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
- 根据权利要求5所述的方法,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
- 根据权利要求5所述的方法,所述用户的数字证书的内容部分还包括所述用户的公钥。
- 根据权利要求1所述的方法,所述用户的身份内容信息包括用户的公钥、用户的名称、用户的地址、用户的识别号码中的一种或多种。
- 根据权利要求1至3中任一权利要求所述的方法,所述编码包括哈希编码。
- 一种用户的身份内容信息的验证方法,包括:响应于待验证的身份内容信息,根据所述待验证的身份内容信息与基于用户的多个身份内容信息构建的默克尔树的叶节点的对应关系,从存储终端获取所述待验证的身份内容信息对应的叶节点的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,其中,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值;确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
- 根据权利要求11所述的方法,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;所述方法还包括:从所述存储终端获取所述其他数据信息与所述叶节点的对应关系;所述基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值,包括:基于所述待验证的身份内容信息、所述其他数据信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
- 根据权利要求12所述的方法,所述其他数据信息为随机数。
- 根据权利要求11至13中任一权利要求所述的方法,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
- 根据权利要求11至13中任一权利要求所述的方法,所述存储终端包括认证机构的服务器;所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中,其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名;所述从存储终端获取所述基于用户的多个身份内容信息构建的默克尔树的根值,包括:获取所述用户的数字证书;利用所述数字证书的认证机构对应的公钥验签所述数字证书;在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
- 根据权利要求15所述的方法,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;所述从存储终端获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,包括:获取所述用户的数字证书;利用所述数字证书的认证机构对应的公钥验签所述数字证书;在所述验签通过后,获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
- 根据权利要求15所述的方法,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
- 根据权利要求15所述的方法,所述用户的数字证书的内容部分还包括所述用户的公钥。
- 根据权利要求11所述的方法,所述用户的身份内容信息包括用户的公钥、用户的名称、用户的地址、用户的识别号码中的一种或多种。
- 根据权利要求11至13中任一权利要求所述的方法,所述编码包括哈希编码。
- 一种用户的身份内容信息的认证装置,包括:获取单元,获取用户的多个身份内容信息;默克尔树构建单元,基于所述用户的多个身份内容信息构建默克尔树,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;发送单元,向存储终端发送所述用户的多个身份内容信息与所述叶节点的对应关系、所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值。
- 根据权利要求21所述的装置,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;所述发送单元还用于:向所述存储终端发送所述其他数据信息与所述叶节点的对应关系。
- 根据权利要求22所述的装置,所述其他数据信息为随机数。
- 根据权利要求21至23中任一权利要求所述的装置,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
- 根据权利要求21至23中任一权利要求所述的装置,所述存储终端包括认证机构的服务器;所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中;其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名。
- 根据权利要求25所述的装置,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
- 根据权利要求25所述的装置,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
- 根据权利要求25所述的装置,所述用户的数字证书的内容部分还包括所述用户的公钥。
- 一种用户的身份内容信息的验证装置,包括:获取单元,响应于待验证的身份内容信息,根据所述待验证的身份内容信息与基于用户的多个身份内容信息构建的默克尔树的叶节点的对应关系,从存储终端获取所述待验证的身份内容信息对应的叶节点的默克尔证明,及所述基于用户的多个身份内容信息构建的默克尔树的根值,其中,所述默克尔树的叶节点是基于所述用户的身份内容信息编码生成的;计算单元,基于所述待验证的身份内容信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值;对比确定单元,确定所述待验证的身份内容信息对应的默克尔树的根值与所述基于用户的多个身份内容信息构建的默克尔树的根值是否相同。
- 根据权利要求29所述的装置,所述默克尔树的叶节点是基于用户的身份内容信息与其他数据信息而编码生成的;所述获取单元还用于:从所述存储终端获取所述其他数据信息与所述叶节点的对应关系;所述计算单元:基于所述待验证的身份内容信息、所述其他数据信息和所述默克尔证明,计算所述待验证的身份内容信息对应的默克尔树的根值。
- 根据权利要求30所述的装置,所述其他数据信息为随机数。
- 根据权利要求29至31中任一权利要求所述的装置,所述存储终端包括用户的客户端、认证机构的服务器或区块链的分布式数据库中的一个或多个。
- 根据权利要求29至31中任一权利要求所述的装置,所述存储终端包括认证机构的服务器;所述基于用户的多个身份内容信息构建的默克尔树的根值被所述认证机构存证于所述用户的数字证书中,其中,所述数字证书包括内容部分与签名部分,所述内容部分包括基于用户的多个身份内容信息构建的默克尔树的根值,所述签名部分是对所述内容部分的电子签名;所述获取单元:获取所述用户的数字证书;利用所述数字证书的认证机构对应的公钥验签所述数字证书;在所述验签通过后,获取所述基于用户的多个身份内容信息构建的默克尔树的根值。
- 根据权利要求33所述的装置,所述数字证书的内容部分还包括所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明;所述获取单元:获取所述用户的数字证书;利用所述数字证书的认证机构对应的公钥验签所述数字证书;在所述验签通过后,获取待验证的身份内容信息与所述叶节点的对应关系,根据所述待验证的身份内容信息与所述叶节点的对应关系,获取所述待验证的身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明。
- 根据权利要求33所述的装置,所述存储终端还包括用户的客户端或区块链的分布式数据库,所述用户的多个身份内容信息与所述叶节点的对应关系、和所述用户的多个身份内容信息对应的叶节点在基于用户的多个身份内容信息构建的默克尔树上的默克尔证明被存储于所述用户的客户端或所述区块链的分布式数据库。
- 根据权利要求33所述的装置,所述用户的数字证书的内容部分还包括所述用户的公钥。
- 一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1到10任意一项所述的方法。
- 一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求11到20任意一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到10任意一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求11到20任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG11202010637WA SG11202010637WA (en) | 2018-08-10 | 2019-05-29 | User Identity Information Authentication And Verification Methods And Devices |
EP19846176.6A EP3779750A4 (en) | 2018-08-10 | 2019-05-29 | METHODS AND DEVICES FOR AUTHENTICATION AND VERIFICATION OF USER IDENTITY CONTENT INFORMATION |
US17/086,123 US20210051027A1 (en) | 2018-08-10 | 2020-10-30 | User identity information authentication and verification methods and devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810911526.3A CN109040082B (zh) | 2018-08-10 | 2018-08-10 | 用户的身份内容信息的认证、验证方法和装置 |
CN201810911526.3 | 2018-08-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/086,123 Continuation US20210051027A1 (en) | 2018-08-10 | 2020-10-30 | User identity information authentication and verification methods and devices |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020029660A1 true WO2020029660A1 (zh) | 2020-02-13 |
Family
ID=64633701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/088958 WO2020029660A1 (zh) | 2018-08-10 | 2019-05-29 | 用户的身份内容信息的认证、验证方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210051027A1 (zh) |
EP (1) | EP3779750A4 (zh) |
CN (1) | CN109040082B (zh) |
SG (1) | SG11202010637WA (zh) |
TW (1) | TWI703852B (zh) |
WO (1) | WO2020029660A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114065171A (zh) * | 2021-11-11 | 2022-02-18 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040082B (zh) * | 2018-08-10 | 2020-04-21 | 阿里巴巴集团控股有限公司 | 用户的身份内容信息的认证、验证方法和装置 |
CN111404859A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种客户端认证方法、装置和计算机可读存储介质 |
CN111489172B (zh) * | 2019-01-25 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种资质信息的认证方法和终端以及服务器 |
CN110119763B (zh) * | 2019-04-16 | 2021-06-29 | 福建天晴数码有限公司 | 基于默克尔树思想的逻辑回归数据优化方法、存储介质 |
CN110311782B (zh) * | 2019-04-29 | 2020-04-14 | 山东工商学院 | 个人信息的零知识证明方法、系统及存储介质 |
CN110351297B (zh) * | 2019-07-23 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 一种应用于区块链的验证方法及装置 |
CN111147477B (zh) * | 2019-12-24 | 2023-04-18 | 深圳前海微众银行股份有限公司 | 一种基于区块链网络的验证方法及装置 |
US11489663B2 (en) * | 2020-01-31 | 2022-11-01 | International Business Machines Corporation | Correlation-based hash tree verification |
CN111835526B (zh) * | 2020-06-30 | 2023-11-21 | 北京泰尔英福科技有限公司 | 一种生成匿名凭证的方法及系统 |
CN113507373B (zh) * | 2021-06-30 | 2023-05-26 | 北京优品三悦科技发展有限公司 | 一种基于隐私保护的身份认证数据建模方法、设备和系统 |
CN114153849B (zh) * | 2021-12-02 | 2024-08-23 | 深圳前海微众银行股份有限公司 | 一种区块链的数据生成及验证方法及装置 |
CN116260583A (zh) * | 2021-12-02 | 2023-06-13 | 中兴通讯股份有限公司 | 身份认证方法、电子设备和计算机可读存储介质 |
CN114710297B (zh) * | 2022-05-25 | 2022-09-06 | 深圳天谷信息科技有限公司 | 基于聚合签名的区块链存证方法、装置、设备及存储介质 |
CN115150103B (zh) * | 2022-08-29 | 2022-11-29 | 人民法院信息技术服务中心 | 基于区块链的数字凭证离线验证方法、装置及设备 |
WO2024081809A1 (en) * | 2022-10-12 | 2024-04-18 | Khosla Ventures LLC | Cryptographic systems and methods for providing services to authenticated users |
CN118353605B (zh) * | 2024-06-14 | 2024-08-20 | 长江三峡集团实业发展(北京)有限公司 | 分布式匿名认证方法、装置、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636672A (zh) * | 2015-03-04 | 2015-05-20 | 浙江工商大学 | 一种基于哈希树及匿名技术的安全数据汇报方法及系统 |
CN104717070A (zh) * | 2015-02-13 | 2015-06-17 | 中国科学院信息工程研究所 | 一种利用单向哈希函数关联数字证书的方法 |
US20150222619A1 (en) * | 2012-08-30 | 2015-08-06 | Los Alamos National Security, Llc | Multi-factor authentication using quantum communication |
US20160269417A1 (en) * | 2015-03-13 | 2016-09-15 | Tata Consultancy Services Limited | Dynamic data masking for mainframe application |
CN109040082A (zh) * | 2018-08-10 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 用户的身份内容信息的认证、验证方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309569A (en) * | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US6487658B1 (en) * | 1995-10-02 | 2002-11-26 | Corestreet Security, Ltd. | Efficient certificate revocation |
WO2001011843A1 (en) * | 1999-08-06 | 2001-02-15 | Sudia Frank W | Blocked tree authorization and status systems |
WO2001043344A1 (en) * | 1999-12-13 | 2001-06-14 | Rsa Security Inc. | System and method for generating and managing attribute certificates |
CN101651719B (zh) * | 2009-09-11 | 2013-06-12 | 广东宇天科技有限公司 | 通信系统、均衡服务器及数据验证方法 |
US9025767B2 (en) * | 2010-03-24 | 2015-05-05 | Nokia Corporation | Method and apparatus for querying content protected by identity-based encryption |
GB2512324B (en) * | 2013-03-26 | 2020-12-09 | Cloudtomo Ltd | Improvements in or relating to public-key certificate management |
US11398915B2 (en) * | 2016-08-26 | 2022-07-26 | Samsung Electronics Co., Ltd. | Apparatus and method for two-way authentication |
US10068397B2 (en) * | 2016-04-06 | 2018-09-04 | Guardtime IP Holdings, Ltd. | System and method for access control using context-based proof |
KR20180005542A (ko) * | 2016-07-06 | 2018-01-16 | 주식회사 케이티 | 데이터 무결성 검증을 위한 장치 및 방법 |
CN106407795B (zh) * | 2016-09-05 | 2019-05-14 | 北京众享比特科技有限公司 | 数据存在认证系统、认证方法及验证方法 |
IT201600106953A1 (it) * | 2016-10-24 | 2018-04-24 | Aliasnet S R L | Metodo di registrazione di una transazione, in particolare di firma di un documento elettronico |
CN106899412A (zh) * | 2017-03-30 | 2017-06-27 | 北京链银博科技有限责任公司 | 一种区块链隐私保护方法、装置及系统 |
CN107342866A (zh) * | 2017-06-30 | 2017-11-10 | 上海策赢网络科技有限公司 | 电子文书验证方法、设备及系统 |
CN107451281B (zh) * | 2017-08-08 | 2020-09-29 | 东北大学 | 基于ads的外包数据库sql查询完整性验证系统及方法 |
-
2018
- 2018-08-10 CN CN201810911526.3A patent/CN109040082B/zh active Active
-
2019
- 2019-03-12 TW TW108108214A patent/TWI703852B/zh active
- 2019-05-29 WO PCT/CN2019/088958 patent/WO2020029660A1/zh unknown
- 2019-05-29 EP EP19846176.6A patent/EP3779750A4/en active Pending
- 2019-05-29 SG SG11202010637WA patent/SG11202010637WA/en unknown
-
2020
- 2020-10-30 US US17/086,123 patent/US20210051027A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150222619A1 (en) * | 2012-08-30 | 2015-08-06 | Los Alamos National Security, Llc | Multi-factor authentication using quantum communication |
CN104717070A (zh) * | 2015-02-13 | 2015-06-17 | 中国科学院信息工程研究所 | 一种利用单向哈希函数关联数字证书的方法 |
CN104636672A (zh) * | 2015-03-04 | 2015-05-20 | 浙江工商大学 | 一种基于哈希树及匿名技术的安全数据汇报方法及系统 |
US20160269417A1 (en) * | 2015-03-13 | 2016-09-15 | Tata Consultancy Services Limited | Dynamic data masking for mainframe application |
CN109040082A (zh) * | 2018-08-10 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 用户的身份内容信息的认证、验证方法和装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3779750A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114065171A (zh) * | 2021-11-11 | 2022-02-18 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
CN114065171B (zh) * | 2021-11-11 | 2022-07-08 | 北京海泰方圆科技股份有限公司 | 一种身份认证方法、装置、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI703852B (zh) | 2020-09-01 |
SG11202010637WA (en) | 2020-11-27 |
EP3779750A1 (en) | 2021-02-17 |
US20210051027A1 (en) | 2021-02-18 |
CN109040082A (zh) | 2018-12-18 |
EP3779750A4 (en) | 2021-09-01 |
CN109040082B (zh) | 2020-04-21 |
TW202009809A (zh) | 2020-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI703852B (zh) | 用戶的身份內容資訊的認證、驗證方法和裝置 | |
US11743052B2 (en) | Platform for generating authenticated data objects | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
JP6873270B2 (ja) | ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス | |
TWI703853B (zh) | 網路中使用者身份認證方法和裝置 | |
US20200127826A1 (en) | Methods and systems for creating and recovering accounts using dynamic passwords | |
WO2019010392A1 (en) | SYSTEMS, METHODS AND DEVICES FOR REDUCING AND / OR ELIMINATING DATA LEAKAGE IN ELECTRONIC REGISTER TECHNOLOGIES FOR NON-TRUST ORDER MATCHING | |
WO2020051710A1 (en) | System and process for managing digitized security tokens | |
US11777728B2 (en) | Systems and methods for blockchain transactions with offer and acceptance | |
JP2009527850A (ja) | 評判情報を含む情報の識別 | |
CN113302610B (zh) | 基于区块链的可信平台 | |
CN113347008B (zh) | 一种加法同态加密的贷款信息存储方法 | |
Schär et al. | Blockchain diplomas: Using smart contracts to secure academic credentials | |
Garg | Decentralized transaction mechanism based on smart contracts | |
Garg | Distributed ecosystem for identity management | |
Buccafurri et al. | Ethereum Transactions and Smart Contracts among Secure Identities. | |
Boontaetae et al. | RDI: Real digital identity based on decentralized PKI | |
CN113597608B (zh) | 基于区块链的可信平台 | |
AbuSamra et al. | Gaza wallet: a simple and efficient blockchain application | |
JP7222436B2 (ja) | 保証制御方法、情報処理装置および保証制御プログラム | |
CN113491090B (zh) | 基于区块链的可信平台 | |
KR102458263B1 (ko) | 금융 서비스의 제공을 지원하는 방법 및 서버 | |
JP7560708B2 (ja) | 情報処理システム、情報処理方法、情報処理プログラム、秘密計算システム、秘密計算方法、及び、秘密計算プログラム | |
CN111222170B (zh) | 基于公链的区块链电子版证书系统及其存证流程和验证方法 | |
JP2007524317A (ja) | デジタル証明書の作成方法、関連するデジタル証明書およびその使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19846176 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019846176 Country of ref document: EP Effective date: 20201027 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |