Certificate verification method and device for selective information disclosure, and electronic equipment

Through the credential verification method of selective information disclosure, the certified party only discloses necessary information during identity verification, solving the problem of information leakage in identity verification and improving verification efficiency and user privacy protection.

CN119537474AInactive Publication Date: 2025-02-28TRAVELSKY TECHNOLOGY LIMITED
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411685330.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-02-28
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

When performing identity verification, all information about the credentials needs to be disclosed to the verification party, resulting in information leakage and poor user experience.

Method used

Through the voucher verification method of selective information disclosure, the certified party selects the target verification certificate from the verification certificates issued by multiple issuing parties, discloses only the necessary selective information, and aggregates these vouchers to form aggregated vouchers, and only sends aggregated vouchers to the verifier.

Benefits of technology

It realizes that only necessary information is disclosed during the identity verification process, protect user privacy, improve verification efficiency, and reduce the risk of information leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119537474A_ABST
    Figure CN119537474A_ABST
Patent Text Reader

Abstract

The invention discloses a voucher verification method and device for selective information disclosure and electronic equipment, and relates to the field of block chains or other related technical fields, and the voucher verification method comprises the steps: receiving verification vouchers issued by N certificate issuers, and obtaining N verification vouchers, each verification certificate at least comprises an assertion array, a vector commitment and a commitment signature; selecting K target verification certificates from the N verification certificates based on the verification demand; signing the K target verification vouchers to obtain an aggregation signature of the K target verification vouchers, and integrating the K target verification vouchers and the aggregation signature to obtain an aggregation voucher; and sending the aggregation voucher to a verification party, and receiving a verification result returned by the verification party. According to the invention, a technical problem that information leakage is easily caused because all information of a certificate needs to be disclosed to a verification party during identity verification in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain or other related technical fields, and in particular to a credential verification method for selective information disclosure, a device thereof, and an electronic device. Background Art

[0002] Decentralized Identity (DID) is a new identity authentication system built on blockchain technology. It uses distributed ledger technologies such as blockchain to give each user a unique and unalterable identifier (DID). This system enables users to independently control and manage their own identity information, and realize autonomous verification, secure storage and privacy protection of identity data.

[0003] The current distributed digital system follows specific distributed digital identity specifications, and the issuance, registration and verification of verifiable digital identity credentials are completed by the three parties of "issuer", "holder" and "verifier".

[0004] In the related technology, the issuer constructs a verifiable credential based on the certificate holder's verification credential application and sends it to the certificate holder. When the certificate holder accesses the blockchain service, the certificate holder sends the verifiable credential to the verifier. After the verification is passed, the certificate holder can access the blockchain service. During the verification process, the certificate holder can only select a specific verifiable credential for verification, which requires the disclosure of all information of the verifiable credential, resulting in poor privacy and a poor user experience.

[0005] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0006] The embodiments of the present invention provide a credential verification method and device and electronic device with selective information disclosure, so as to at least solve the technical problem in the related art that when performing identity authentication, all the credential information needs to be disclosed to the verification party, which easily causes information leakage.

[0007] According to one aspect of an embodiment of the present invention, a credential verification method for selective information disclosure is provided, which is applied to a certificate holder, wherein the certificate holder, the issuer, and the verifier perform data exchange and credential verification through a blockchain network. The credential verification method for selective information disclosure comprises: receiving verification credentials issued by N issuers to obtain N verification credentials, wherein each of the verification credentials comprises at least: an assertion array, a vector commitment, and a commitment signature, wherein the assertion array is an array obtained after the issuer performs assertion processing on the attribute field of the certificate holder, the vector commitment is a commitment generated by the issuer for each assertion element in the assertion array, and the commitment signature is the signature of the vector commitment by the issuing party, and N is a positive integer; based on the verification requirements, K target verification credentials are selected from the N verification credentials, and each of the target verification credentials includes at least: M selective disclosure information, wherein the selective disclosure information includes the assertion element and the vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; the K target verification credentials are signed to obtain an aggregate signature of the K target verification credentials, and the K target verification credentials and the aggregate signature are integrated to obtain an aggregate credential; the aggregate credential is sent to the verifier, and the verification result returned by the verifier is received.

[0008] Optionally, before receiving verification credentials issued by N issuers and obtaining N verification credentials, it also includes: sending a selective information disclosure credential generation request to the issuer, wherein the issuer, after receiving the selective information disclosure credential generation request, obtains the attribute fields of the certificate holder, and performs structured processing on each of the attribute fields, generates an assertion element corresponding to each of the attribute fields, and constructs an assertion array based on all the assertion elements.

[0009] Optionally, before receiving verification credentials issued by N issuers and obtaining N verification credentials, it also includes: after constructing the assertion array, the certificate holder configures commitment information for each assertion element in the assertion array, obtains the vector commitment corresponding to the assertion array, and signs the vector commitment based on the private key of the certificate holder to obtain a commitment signature.

[0010] Optionally, the commitment information includes: proof of existence of the assertion element in the assertion array and an existence position of the assertion element in the assertion array.

[0011] Optionally, the step of selecting K target verification credentials from N verification credentials based on verification requirements includes: determining the verification requirements of the certificate holder, and selecting K verification credentials from the N verification credentials based on the verification requirements; for each of the K selected verification credentials, selecting at least one assertion element and the commitment information corresponding to the assertion element from the assertion array to obtain the selective disclosure information; obtaining the target verification credential based on the selective disclosure information of each of the verification credentials to obtain K target verification credentials.

[0012] Optionally, the step of signing K of the target verification credentials to obtain an aggregate signature of the K target verification credentials includes: hashing each of the target verification credentials to obtain a hash value of each of the target verification credentials; using the hash value of each of the target verification credentials as a leaf node of a hash tree; based on each of the leaf nodes of the hash tree, recursively constructing a root node of the hash tree, calculating a root hash value of the root node, and using the root hash value as the aggregate signature of the K target verification credentials.

[0013] Optionally, after sending the aggregated credential to the verifier, the verifier verifies the certificate holder based on the aggregated credential, and the verification content at least includes: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

[0014] According to another aspect of an embodiment of the present invention, there is also provided a credential verification device for selective information disclosure, which is applied to a certificate holder, and the certificate holder, the issuing party and the verifier perform data exchange and credential verification through a blockchain network. The credential verification device for selective information disclosure comprises: a receiving unit, which is used to receive verification credentials issued by N issuing parties, and obtain N verification credentials, wherein each of the verification credentials at least comprises: an assertion array, a vector commitment and a commitment signature, wherein the assertion array is an array obtained after the issuing party asserts the attribute field of the certificate holder, the vector commitment is a commitment generated by the issuing party for each assertion element in the assertion array, and the commitment signature is a commitment generated by the issuing party for each assertion element in the assertion array. The signature of the vector commitment, N is a positive integer; a selection unit, used to select K target verification credentials from the N verification credentials based on the verification requirements, each of the target verification credentials at least including: M selective disclosure information, wherein the selective disclosure information includes the assertion element and the vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; an aggregation unit, used to sign the K target verification credentials to obtain an aggregate signature of the K target verification credentials, and integrate the K target verification credentials and the aggregate signature to obtain an aggregate certificate; a sending unit, used to send the aggregate certificate to the verifier, and receive the verification result returned by the verifier.

[0015] Optionally, the selective information disclosure credential verification device also includes: a first sending module, used to send a selective information disclosure credential generation request to the issuer, wherein after receiving the selective information disclosure credential generation request, the issuer obtains the attribute fields of the certificate holder, and structures each of the attribute fields, generates an assertion element corresponding to each of the attribute fields, and constructs an assertion array based on all the assertion elements.

[0016] Optionally, the credential verification device for selective information disclosure also includes: a first configuration module, which is used for the certificate holder to configure commitment information for each assertion element in the assertion array after constructing the assertion array, obtain the vector commitment corresponding to the assertion array, and sign the vector commitment based on the private key of the certificate holder to obtain a commitment signature.

[0017] Optionally, the commitment information includes: proof of existence of the assertion element in the assertion array and an existence position of the assertion element in the assertion array.

[0018] Optionally, the selection unit includes: a first selection module, used to determine the verification requirements of the certificate holder, and select K verification credentials from the N verification credentials based on the verification requirements; a second selection module, used to select at least one assertion element and the commitment information corresponding to the assertion element from the assertion array for each of the K selected verification credentials, to obtain the selective disclosure information; a first acquisition module, used to acquire the target verification credential based on the selective disclosure information of each of the verification credentials, to obtain K target verification credentials.

[0019] Optionally, the aggregation unit includes: a first processing module, used to hash each of the target verification credentials to obtain a hash value of each of the target verification credentials; a first as module, used to use the hash value of each of the target verification credentials as a leaf node of a hash tree; a first calculation module, used to recursively construct a root node of the hash tree based on each of the leaf nodes of the hash tree, calculate the root hash value of the root node, and use the root hash value as the aggregate signature of K target verification credentials.

[0020] Optionally, the selective information disclosure credential verification device also includes: a first verification module, used by the verifier to verify the certificate holder based on the aggregated credential, and the verification content includes at least: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

[0021] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is further provided, wherein the computer-readable storage medium includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned credential verification methods for selective information disclosure.

[0022] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any one of the above-mentioned credential verification methods for selective information disclosure.

[0023] In the present application, the following steps are performed: first, verification credentials issued by N issuers are received to obtain N verification credentials, wherein each verification credential includes at least: an assertion array, a vector commitment and a commitment signature, the assertion array is an array obtained after the issuer performs assertion processing on the attribute field of the certificate holder, the vector commitment is a commitment generated by the issuer for each assertion element in the assertion array, the commitment signature is a signature of the vector commitment by the issuer, N is a positive integer, and based on the verification requirements, K target verification credentials are selected from the N verification credentials, each target verification credential includes at least: M selective disclosure information, wherein the selective disclosure information includes an assertion element and a vector commitment corresponding to the assertion element, K and M are both positive integers, K is less than or equal to N, and then the K target verification credentials are signed to obtain an aggregate signature of the K target verification credentials, and the K target verification credentials and the aggregate signature are integrated to obtain an aggregate credential, and finally the aggregate credential is sent to the verifier, and the verification result returned by the verifier is received.

[0024] In the present application, the verification credential adopts the verifiable structure of the assertion array and the cryptographic characteristics of the commitment vector, so that the verification credentials can be selectively disclosed and freely combined, thereby achieving the purpose of improving the flexibility of identity authentication. When performing identity authentication, the certificate holder can selectively disclose and aggregate multiple credentials according to his own verification needs, so that the verifier only needs to verify the aggregated credentials to confirm the authenticity and integrity of multiple credentials, thereby improving the verification efficiency and enhancing user privacy. The technical problem in the related technology that when performing identity authentication, all the information of the credential needs to be disclosed to the verifier, which is easy to cause information leakage. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0026] Figure 1 is a flow chart of a credential verification method for optional selective information disclosure according to an embodiment of the present invention;

[0027] Figure 2 is a schematic diagram of a credential verification for optional selective information disclosure according to an embodiment of the present invention;

[0028] Figure 3 is a schematic diagram of a credential verification device for optional selective information disclosure according to an embodiment of the present invention;

[0029] Figure 4 It is a hardware structure block diagram of an electronic device (or mobile device) for a credential verification method for selective information disclosure according to an embodiment of the present invention. DETAILED DESCRIPTION

[0030] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0032] It should be noted that the credential verification method and device for selective information disclosure in the present application can be used in the blockchain field (when the credential verification for selective information disclosure is performed based on blockchain), and can also be used in any field other than the blockchain field (when the credential verification for selective information disclosure is performed based on blockchain). The present application does not limit the application field of the credential verification method and device for selective information disclosure.

[0033] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant regions, take necessary confidentiality measures, do not violate public order and good customs, and provide corresponding operation entrances for users to choose to authorize or refuse. For example, an interface is set up between this system and relevant users or organizations. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or organization.

[0034] It should be noted that in this application, when collecting and analyzing customer information, corresponding operation entrances are provided for users to choose to agree or reject the automated decision-making results; if the user chooses to reject, the expert decision-making process will be entered.

[0035] The following embodiments of the present invention can be applied to various selective information disclosure credential verification systems / applications / devices. The present invention combines selective disclosure mechanism, multi-credential aggregation technology, vector commitment and encryption technology to achieve effective protection of user privacy and authenticity verifiability of credentials. It allows data holders to selectively disclose part of the data without revealing the entire data information, and ensures the authenticity and integrity of the data through aggregated credentials and verification mechanisms, thereby improving the privacy protection, flexibility and verification efficiency of verifiable credential verification.

[0036] The present invention is described in detail below in conjunction with various embodiments.

[0037] Embodiment 1

[0038] According to an embodiment of the present invention, an embodiment of a credential verification method for selective information disclosure is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0039] Figure 1 is a flowchart of a credential verification method for selective information disclosure according to an embodiment of the present invention. Figure 1 As shown, the method is applied to the certificate holder, the certificate holder, the issuer and the verifier exchange data and verify the credentials through the blockchain network, specifically including the following steps:

[0040] Step S101, receiving verification certificates issued by N issuing parties, and obtaining N verification certificates.

[0041] The credential verification of the embodiment of the present invention involves the issuer, the holder and the verifier. The issuer is the entity responsible for issuing digital credentials (Verifiable Credent ials, referred to as VC); the holder is the entity holding the digital credential, usually the user (which can be an individual or an organization, etc.). The holder requests and obtains the digital credential from the issuer to prove his or her identity and qualifications in the digital world; the verifier is the entity that accepts and verifies the digital credential, such as an enterprise, an official agency, etc., which needs to verify the identity and qualifications of the user when the user performs a certain operation (such as employment, loan, etc.). The issuer, the holder and the verifier exchange data and verify the credential through the blockchain network. The blockchain network provides a decentralized and tamper-proof environment for all parties to record the transactions of the issuer and the holder and the status of the credential. The metadata and status information of the credential, as well as possible hash values ​​or other auxiliary data required for verification, are stored, and the specific content of the credential may be stored off-chain to protect privacy. The public records of the blockchain increase the transparency of the system, so that the issuance and revocation process of the credential can be audited and verified. Blockchain technology enables data exchange and identity authentication between issuers, holders and verifiers in a secure and trusted manner without going through traditional centralized institutions.

[0042] It should be noted that verification credentials exist to solve the needs of users for identity verification and information verification in digital reality. Verification credentials can be used to verify whether the identity information of an individual or entity is true. For example, a person can use a digital identity credential issued by an official agency to prove his or her citizenship or residential address; verification credentials can also be used to verify someone's qualifications, certifications or achievements, such as academic certificates, professional qualification certifications, work experience certificates, etc. These credentials are issued by authoritative institutions (such as schools, industry associations, and employers) to ensure that the holder actually has the claimed qualifications. The holder applies for a verification credential from the issuer. Based on the decentralized trust infrastructure provided by the blockchain, there can be multiple issuers. Each issuer generates a verification credential for the issuer according to its own set of verification credential creation rules. The issuer's public key information and credential status (such as whether the credential has been revoked) are recorded on the blockchain, providing a trusted source for the verifier to ensure that the holder's credential is issued by a legitimate issuer.

[0043] Optionally, before receiving verification credentials issued by N issuers and obtaining N verification credentials, it also includes: sending a selective information disclosure credential generation request to the issuer, wherein the issuer, after receiving the selective information disclosure credential generation request, obtains the attribute fields of the certificate holder, and structures each attribute field, generates an assertion element corresponding to each attribute field, and constructs an assertion array based on all assertion elements.

[0044] It should be noted that before verification, the certificate holder (which can be an individual user or an organization, etc.) sends a request to the issuer to generate a selective information disclosure certificate. As an authoritative institution or organization, the issuer has a set of standardized certificate generation rules and determines the attribute fields of the certificate holder based on the user information of the certificate holder. For example, if the issuer is an educational institution, the issuer can provide the certificate holder with an education verification certificate. The attribute fields can be the name, age, education time, grades in various subjects, etc. of the certificate holder, and then each field is structured and encoded to ensure that the data format is consistent and easy to process. The encoding method may involve converting text information into digital representation, or using a specific data structure to format the information, thereby generating assertion elements for each attribute field, and constructing an assertion array through all assertion elements. The assertion element is actually a structured representation of the value corresponding to each attribute field.

[0045] Optionally, before receiving verification credentials issued by N issuers and obtaining N verification credentials, it also includes: after constructing the assertion array, the certificate holder configures commitment information for each assertion element in the assertion array, obtains the vector commitment corresponding to the assertion array, and signs the vector commitment based on the certificate holder's private key to obtain a commitment signature.

[0046] It should be noted that after constructing the assertion array, a commitment value is configured for each assertion element based on the assertion elements in the assertion array to obtain a vector commitment of the assertion array. The vector commitment can provide existence proof for the assertion elements, and then the vector commitment is signed by the private key of the certificate holder to obtain a commitment signature. The commitment signature ensures the source of the assertion and the integrity of the data to prevent the assertion from being tampered with during transmission.

[0047] Optionally, the commitment information includes: proof of existence of the assertion element in the assertion array and the existence position of the assertion element in the assertion array.

[0048] It should be noted that vector commitment is a cryptographic structure that contains proof of existence of the assertion element in the assertion array and the position of the assertion element in the assertion array, proving that a specific single assertion element does exist in the array and at the specified position without showing the contents of the entire array, thus ensuring the existence and integrity of the assertion array.

[0049] It should be noted that based on the assertion array, vector commitment and commitment signature constructed by the certificate holder, the verification certificate of the certificate holder is generated and issued to the certificate holder. The assertion array is the array obtained after the issuer asserts the attribute fields of the certificate holder. The vector commitment is the commitment generated by the issuer for each assertion element in the assertion array. The commitment signature is the signature of the issuer on the vector commitment. N is a positive integer.

[0050] It should be noted that based on assertion arrays and vector commitments, the certificate holder can selectively disclose specific information according to his or her own needs or verification needs, without disclosing all user information. This can protect user data privacy, improve the security of user data, and provide users with a better verification experience. At the same time, the issuer only needs to build a verification credential once, reducing interactions and improving efficiency.

[0051] Step S102: Select K target verification credentials from N verification credentials based on the verification requirement, and each target verification credential includes at least M selective disclosure information.

[0052] It should be noted that when the certificate holder performs identity authentication, he or she may selectively disclose specific attribute information according to the verification requirements of the verifier and himself or herself, and may also aggregate the verification credentials of multiple issuers so that the verifier can verify the verification credentials of multiple issuers at one time. The certificate holder may select multiple target verification credentials from M verification credentials, and each target verification credential contains one or more selective disclosure information, i.e., specific assertion elements and their corresponding commitments. The above K and M are both positive integers, and K is less than or equal to N.

[0053] Optionally, the step of selecting K target verification credentials from N verification credentials based on the verification requirements includes: determining the verification requirements of the certificate holder, and selecting K verification credentials from the N verification credentials based on the verification requirements; for each of the K selected verification credentials, selecting at least one assertion element and the commitment information corresponding to the assertion element from the assertion array to obtain selective disclosure information; obtaining the target verification credential based on the selective disclosure information of each verification credential to obtain K target verification credentials.

[0054] It should be noted that when performing selective disclosure verification, the certificate holder can select K verification vouchers from the original N verification vouchers, and select at least one disclosable assertion element from each verification voucher, and generate an existence proof for the disclosable assertion element. The existence proof is a cryptographic proof that proves that the assertion does exist in the original assertion array. The existence proof may contain the position and value of the assertion, as well as a short proof generated from the vector commitment, without directly revealing the assertion information that is not selected for disclosure. Based on the selected disclosable assertion elements and the existence proof and the vector commitment information corresponding to the assertion elements, the selective disclosure information is generated, and then the target verification voucher is obtained based on the selective disclosure information. In the target verification voucher, the assertion elements that are not selected for disclosure will not be directly disclosed to the verifier, and this information is stored in an encrypted or committed form.

[0055] Step S103, signing the K target verification credentials to obtain an aggregate signature of the K target verification credentials, and integrating the K target verification credentials and the aggregate signature to obtain an aggregate certificate.

[0056] It should be noted that after the certificate holder obtains K target verification credentials, he / she performs aggregate signatures on the K verification credentials, so that the verifier does not need to verify each target verification credential separately, thereby improving verification efficiency.

[0057] Optionally, the step of signing K target verification credentials to obtain an aggregate signature of the K target verification credentials includes: hashing each target verification credential to obtain a hash value of each target verification credential; using the hash value of each target verification credential as a leaf node of a hash tree; based on each leaf node of the hash tree, recursively constructing a root node of the hash tree, calculating a root hash value of the root node, and using the root hash value as the aggregate signature of the K target verification credentials.

[0058] Specifically, when performing aggregate signatures on K target verification credentials, first calculate the hash value for each target verification credential, and build a hash tree based on the K target verification credentials. The hash value of each target verification credential corresponds to a leaf node of the hash tree, and the root node of the hash tree is recursively built, that is, starting from one end of the hash tree, each pair of adjacent leaf nodes is combined through a hash function to generate a new hash value, which is called the parent node of the two nodes. After all parent nodes are obtained, new parent nodes are built based on adjacent parent nodes until the number of parent nodes is 1, and the root node of the hash tree is obtained, and the hash value of the root node is used as the aggregate signature of the K target verification credentials.

[0059] Step S104, sending the aggregated credential to the verifier, and receiving the verification result returned by the verifier.

[0060] Optionally, after the aggregated credential is sent to the verifier, the verifier verifies the holder based on the aggregated credential, and the verification content at least includes: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

[0061] It should be noted that after the certificate holder selectively discloses the assertion elements and obtains the aggregated credentials, the aggregated credentials are sent to the verifier. The verifier authenticates the certificate holder based on the aggregated credentials, including verifying the validity of the aggregated credentials and the correctness of the selectively disclosed information in the aggregated credentials, and then determines that the identity information of the certificate holder is correct, and returns the verification result to the certificate holder. If the verification is passed, the certificate holder can perform corresponding operations or enjoy related services.

[0062] Through the above steps, firstly, verification credentials issued by N issuers are received to obtain N verification credentials, wherein each verification credential at least includes: an assertion array, a vector commitment and a commitment signature, the assertion array is an array obtained after the issuer asserts the attribute field of the certificate holder, the vector commitment is the commitment generated by the issuer for each assertion element in the assertion array, the commitment signature is the signature of the vector commitment by the issuer, N is a positive integer, and based on the verification requirements, K target verification credentials are selected from the N verification credentials, each target verification credential at least includes: M selective disclosure information, wherein the selective disclosure information includes an assertion element and a vector commitment corresponding to the assertion element, K and M are both positive integers, K is less than or equal to N, then the K target verification credentials are signed to obtain an aggregate signature of the K target verification credentials, and the K target verification credentials and the aggregate signature are integrated to obtain the aggregate credential, and finally the aggregate credential is sent to the verifier, and the verification result returned by the verifier is received.

[0063] In this embodiment, the verification credential adopts the verifiable structure of the assertion array and the cryptographic characteristics of the commitment vector, so that the verification credentials can be selectively disclosed and freely combined, thereby achieving the purpose of improving the flexibility of identity authentication. When performing identity authentication, the certificate holder can selectively disclose and aggregate multiple credentials according to his own verification needs, so that the verifier only needs to verify the aggregated credentials to confirm the authenticity and integrity of multiple credentials, thereby improving the verification efficiency and enhancing user privacy. This solves the technical problem in the related technology that when performing identity authentication, all the information of the credential needs to be disclosed to the verifier, which is easy to cause information leakage.

[0064] Another optional specific implementation is described in detail below.

[0065] Figure 2 is a schematic diagram of a credential verification for optional selective information disclosure according to an embodiment of the present invention, such as Figure 2 As shown, the credential verification of selective information disclosure involves the credential holder, multiple credential issuers ( Figure 2 The three parties exchange data securely and verify credentials through blockchain. Blockchain is used to store and maintain DID (Decentralized Identifier). Multiple issuers and holders register DIDs on the blockchain. Issuers, holders and other users have full control over their DIDs and can decide who can access the data associated with the DID and what operations can be performed.

[0066] The certificate holder sends a selective disclosure verification application to multiple issuers to apply for verification credentials. The issuer builds an assertion array and generates a verification credential (VC), processes it on the chain, uploads it to the blockchain, and issues the verification credential to the certificate holder. The certificate holder builds (aggregates) an aggregated credential of selective disclosure information based on the verification requirements and sends the aggregated credential to the verifier. The verifier verifies the correctness of the DID and the validity of the VC based on the aggregated credential.

[0067] In the embodiment of the present invention, the specific credential verification process of selective information disclosure may include:

[0068] Step 1: The certificate holder submits an application for selective disclosure certificate to the certificate issuer.

[0069] In step 2, multiple issuers respectively perform assertion processing on each declaration field (corresponding to the above attribute field) and construct a verification credential, which includes a vector commitment, a commitment signature and an assertion array, and issues it to the certificate holder.

[0070] In step three, the certificate holder selects multiple or one certificate from the issuing party and selects at least one assertion proof for each certificate (corresponding to the above-mentioned selective disclosure of information).

[0071] Step 4: The certificate holder performs an aggregate signature on the assertion certificates selected by different issuers and combines the aggregate signature into the aggregate certificate.

[0072] In order to achieve the aggregation of credentials, the credentials can be stored and organized through the hash tree data structure. These data structures have efficient verification capabilities and low space complexity, and are suitable for the aggregation and storage of credentials. Specifically, the hash value of each credential is used as a leaf node of the hash tree, and the root hash value of the entire tree is recursively constructed as the aggregate signature, and the aggregated credential is constructed.

[0073] Step 5: When the certificate holder uses the digital certificate, the verifier performs aggregate verification on the aggregated credentials. One verification calculation can complete the verification of the authorization of one or more issuers.

[0074] In the embodiment of the present invention, by using the assertion array and vector commitment, the issuer only needs to construct the verification credential once, which reduces the interaction and improves the efficiency. The holder is allowed to selectively disclose specific parts of the credential according to the needs, while ensuring the data security of the undisclosed parts.

[0075] The following is a detailed description in conjunction with another embodiment.

[0076] Embodiment 2

[0077] A credential verification device for selective information disclosure provided in this embodiment includes multiple implementation units, each of which corresponds to each implementation step in the above-mentioned embodiment 1. Its specific implementation methods and beneficial effects can refer to the above-mentioned method embodiments and will not be repeated here.

[0078] Figure 3 is a schematic diagram of an optional selective information disclosure credential verification device according to an embodiment of the present invention. The selective information disclosure credential verification is applied to the certificate holder. The certificate holder, the issuing party and the verifier perform data exchange and credential verification through a blockchain network. Figure 3 As shown, the credential verification device for selective information disclosure may include: a receiving unit 31, a selecting unit 32, an aggregation unit 33, and a sending unit 34, wherein:

[0079] The receiving unit 31 is used to receive verification certificates issued by N issuers, and obtain N verification certificates, wherein each verification certificate at least includes: an assertion array, a vector commitment, and a commitment signature. The assertion array is an array obtained after the issuer performs assertion processing on the attribute field of the holder. The vector commitment is a commitment generated by the issuer for each assertion element in the assertion array. The commitment signature is a signature of the issuer on the vector commitment. N is a positive integer.

[0080] A selection unit 32 is used to select K target verification credentials from N verification credentials based on the verification requirement, each target verification credential includes at least: M selective disclosure information, wherein the selective disclosure information includes an assertion element and a vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N;

[0081] The aggregation unit 33 is used to sign the K target verification credentials to obtain an aggregate signature of the K target verification credentials, and integrate the K target verification credentials and the aggregate signature to obtain an aggregate credential;

[0082] The sending unit 34 is used to send the aggregated credential to the verification party and receive the verification result returned by the verification party.

[0083] The above-mentioned selective information disclosure credential verification device receives verification credentials issued by N issuers through a receiving unit 31 to obtain N verification credentials, wherein each verification credential at least includes: an assertion array, a vector commitment and a commitment signature, the assertion array is an array obtained after the issuer asserts the attribute field of the certificate holder, the vector commitment is the commitment generated by the issuer for each assertion element in the assertion array, the commitment signature is the signature of the vector commitment by the issuer, and N is a positive integer; selects K target verification credentials from the N verification credentials based on the verification requirements through a selection unit 32, each target verification credential at least includes: M selective disclosure information, wherein the selective disclosure information includes an assertion element and a vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; signs the K target verification credentials through an aggregation unit 33 to obtain an aggregate signature of the K target verification credentials, and integrates the K target verification credentials and the aggregate signature to obtain an aggregate credential; sends the aggregate credential to the verifier through a sending unit 34, and receives the verification result returned by the verifier.

[0084] In this embodiment, the verification credential adopts the verifiable structure of the assertion array and the cryptographic characteristics of the commitment vector, so that the verification credentials can be selectively disclosed and freely combined, thereby achieving the purpose of improving the flexibility of identity authentication. When performing identity authentication, the certificate holder can selectively disclose and aggregate multiple credentials according to his own verification needs, so that the verifier only needs to verify the aggregated credentials to confirm the authenticity and integrity of multiple credentials, thereby improving the verification efficiency and enhancing user privacy. This solves the technical problem in the related technology that when performing identity authentication, all the information of the credential needs to be disclosed to the verifier, which is easy to cause information leakage.

[0085] Optionally, the selective information disclosure credential verification device also includes: a first sending module, used to send a selective information disclosure credential generation request to the issuer, wherein after receiving the selective information disclosure credential generation request, the issuer obtains the attribute fields of the certificate holder, and structures each attribute field, generates an assertion element corresponding to each attribute field, and constructs an assertion array based on all assertion elements.

[0086] Optionally, the credential verification device for selective information disclosure also includes: a first configuration module, which is used for the certificate holder to configure commitment information for each assertion element in the assertion array after constructing the assertion array, obtain the vector commitment corresponding to the assertion array, and sign the vector commitment based on the certificate holder's private key to obtain a commitment signature.

[0087] Optionally, the commitment information includes: proof of existence of the assertion element in the assertion array and the existence position of the assertion element in the assertion array.

[0088] Optionally, the selection unit includes: a first selection module, used to determine the verification requirements of the certificate holder, and select K verification credentials from N verification credentials based on the verification requirements; a second selection module, used to select at least one assertion element and the commitment information corresponding to the assertion element from the assertion array for each of the K selected verification credentials, to obtain selective disclosure information; a first acquisition module, used to acquire the target verification credential based on the selective disclosure information of each verification credential, to obtain K target verification credentials.

[0089] Optionally, the aggregation unit includes: a first processing module, used to hash each target verification credential to obtain a hash value of each target verification credential; a first serving module, used to use the hash value of each target verification credential as a leaf node of a hash tree; a first calculation module, used to recursively construct a root node of the hash tree based on each leaf node of the hash tree, calculate the root hash value of the root node, and use the root hash value as the aggregate signature of K target verification credentials.

[0090] Optionally, the credential verification device for selective information disclosure also includes: a first verification module, which is used for the verifier to verify the certificate holder based on the aggregated credential, and the verification content includes at least: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

[0091] The above-mentioned credential verification device for selective information disclosure may also include a processor and a memory. The above-mentioned receiving unit 31, selection unit 32, aggregation unit 33, sending unit 34, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to realize corresponding functions.

[0092] The processor includes a kernel, which retrieves the corresponding program unit from the memory. The kernel can be set to one or more, and selective disclosure verification of the digital certificate can be performed by adjusting kernel parameters.

[0093] The above-mentioned memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one storage chip.

[0094] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium including a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned credential verification methods for selective information disclosure.

[0095] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement any one of the above-mentioned credential verification methods for selective information disclosure.

[0096] According to another aspect of an embodiment of the present invention, a computer program product is provided. The computer program product includes a computer program, wherein when the computer program is executed by a processor, any one of the above-mentioned credential verification methods for selective information disclosure is implemented.

[0097] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program that is initialized with the following method steps: the certificate holder, the certificate issuer, and the verifier exchange data and verify credentials through a blockchain network, specifically including: receiving verification credentials issued by N certificate issuers, and obtaining N verification credentials, wherein each verification credential at least includes: an assertion array, a vector commitment, and a commitment signature, wherein the assertion array is an array obtained after the certificate issuer performs assertion processing on the attribute field of the certificate holder, the vector commitment is a commitment generated by the certificate issuer for each assertion element in the assertion array, and the commitment signature is the signature of the vector commitment by the issuer, and N is a positive integer; based on the verification requirements, K target verification credentials are selected from the N verification credentials, and each target verification credential includes at least: M selective disclosure information, wherein the selective disclosure information includes an assertion element and a vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; the K target verification credentials are signed to obtain an aggregate signature of the K target verification credentials, and the K target verification credentials and the aggregate signature are integrated to obtain an aggregate credential; the aggregate credential is sent to the verifier, and the verification result returned by the verifier is received.

[0098] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that initializes the following method steps: before receiving verification credentials issued by N issuers and obtaining N verification credentials, it also includes: sending a selective information disclosure credential generation request to the issuer, wherein the issuer, after receiving the selective information disclosure credential generation request, obtains the attribute fields of the certificate holder, and performs structured processing on each attribute field, generates an assertion element corresponding to each attribute field, and constructs an assertion array based on all assertion elements.

[0099] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that is initialized with the following method steps: before receiving verification certificates issued by N issuers and obtaining N verification certificates, it also includes: after the certificate holder constructs an assertion array, configures commitment information for each assertion element in the assertion array, obtains a vector commitment corresponding to the assertion array, and signs the vector commitment based on the certificate holder's private key to obtain a commitment signature.

[0100] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing an initialization program having the following method steps: the commitment information includes: proof of existence of the assertion element in the assertion array and the existence position of the assertion element in the assertion array.

[0101] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that initializes the following method steps: the step of selecting K target verification credentials from N verification credentials based on verification requirements includes: determining the verification requirements of the certificate holder, and selecting K verification credentials from the N verification credentials based on the verification requirements; for each of the K selected verification credentials, selecting at least one assertion element and the commitment information corresponding to the assertion element from the assertion array to obtain selective disclosure information; obtaining the target verification credential based on the selective disclosure information of each verification credential to obtain K target verification credentials.

[0102] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that initializes the following method steps: signing K target verification credentials, and the step of obtaining an aggregate signature of the K target verification credentials includes: hashing each target verification credential to obtain a hash value of each target verification credential; using the hash value of each target verification credential as a leaf node of a hash tree; based on each leaf node of the hash tree, recursively constructing a root node of the hash tree, calculating the root hash value of the root node, and using the root hash value as the aggregate signature of the K target verification credentials.

[0103] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that initializes the following method steps: after sending the aggregated credential to the verifier, the verifier verifies the certificate holder based on the aggregated credential, and the verification content includes at least: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

[0104] Figure 4 1 is a hardware structure block diagram of an electronic device (or mobile device) for a credential verification method for selective information disclosure according to an embodiment of the present invention. Figure 4As shown, the electronic device may include one or more processors ( Figure 4 402a, 402b, ..., 402n are used to illustrate), a memory 404 for storing data. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a keyboard, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 4 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 4 More or fewer components as shown, or with Figure 4 Different configurations are shown.

[0105] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0106] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0107] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0108] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0109] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0110] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.

[0111] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A credential verification method for selective information disclosure, characterized in that: Applied to the certificate holder, the certificate holder, the certificate issuer and the verifier exchange data and verify the certificate through the blockchain network. The certificate verification method of selective information disclosure includes: Receive verification credentials issued by N issuers, and obtain N verification credentials, wherein each of the verification credentials at least includes: an assertion array, a vector commitment, and a commitment signature, wherein the assertion array is an array obtained after the issuer performs assertion processing on the attribute field of the holder, the vector commitment is a commitment generated by the issuer for each assertion element in the assertion array, and the commitment signature is a signature of the issuer on the vector commitment, and N is a positive integer; Selecting K target verification credentials from the N verification credentials based on the verification requirements, each of the target verification credentials at least includes: M selective disclosure information, wherein the selective disclosure information includes the assertion element and the vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; Signing the K target verification credentials to obtain an aggregate signature of the K target verification credentials, and integrating the K target verification credentials and the aggregate signature to obtain an aggregate credential; The aggregated credential is sent to a verification party, and a verification result returned by the verification party is received.

2. The verification method according to claim 1, characterized in that: Before receiving the verification certificates issued by N issuing parties and obtaining the N verification certificates, the following steps are also included: A selective information disclosure credential generation request is sent to the issuer, wherein the issuer, after receiving the selective information disclosure credential generation request, obtains the attribute fields of the certificate holder, performs structured processing on each of the attribute fields, generates an assertion element corresponding to each of the attribute fields, and constructs an assertion array based on all the assertion elements.

3. The verification method according to claim 1, characterized in that: Before receiving the verification certificates issued by N issuing parties and obtaining the N verification certificates, the following steps are also included: After constructing the assertion array, the certificate holder configures commitment information for each assertion element in the assertion array, obtains a vector commitment corresponding to the assertion array, and signs the vector commitment based on the private key of the certificate holder to obtain a commitment signature.

4. The verification method according to claim 3, characterized in that: The commitment information includes: proof of existence of the assertion element in the assertion array and the location of the assertion element in the assertion array.

5. The verification method according to claim 1, characterized in that: The step of selecting K target verification credentials from the N verification credentials based on the verification requirement includes: Determining the verification requirements of the certificate holder, and selecting K verification credentials from the N verification credentials based on the verification requirements; For each of the K selected verification credentials, select at least one assertion element and the commitment information corresponding to the assertion element from the assertion array to obtain the selective disclosure information; A target verification credential is obtained based on the selective disclosure information of each of the verification credentials to obtain K target verification credentials.

6. The verification method according to claim 1, characterized in that: The step of signing the K target verification credentials to obtain an aggregate signature of the K target verification credentials includes: Performing hashing processing on each of the target verification credentials to obtain a hash value of each of the target verification credentials; Using the hash value of each target verification credential as a leaf node of the hash tree; Based on each leaf node of the hash tree, a root node of the hash tree is recursively constructed, and a root hash value of the root node is calculated, and the root hash value is used as an aggregate signature of the K target verification credentials.

7. The verification method according to claim 1, characterized in that: After sending the aggregated credential to the verification party, the method includes: The verifier verifies the certificate holder based on the aggregated credential, and the verification content at least includes: the validity of the aggregated credential and the correctness of the selective disclosure information in the aggregated credential.

8. A credential verification device for selective information disclosure, characterized in that: Applied to the certificate holder, the certificate holder, the certificate issuer and the verifier perform data exchange and certificate verification through the blockchain network, and the certificate verification device for selective information disclosure includes: A receiving unit, configured to receive verification credentials issued by N issuers, and obtain N verification credentials, wherein each of the verification credentials at least includes: an assertion array, a vector commitment, and a commitment signature, wherein the assertion array is an array obtained after the issuer performs assertion processing on the attribute field of the holder, the vector commitment is a commitment generated by the issuer for each assertion element in the assertion array, and the commitment signature is a signature of the issuer on the vector commitment, and N is a positive integer; A selection unit, configured to select K target verification credentials from the N verification credentials based on the verification requirement, each of the target verification credentials at least including: M selective disclosure information, wherein the selective disclosure information includes the assertion element and the vector commitment corresponding to the assertion element, K and M are both positive integers, and K is less than or equal to N; an aggregation unit, configured to sign the K target verification credentials to obtain an aggregate signature of the K target verification credentials, and integrate the K target verification credentials and the aggregate signature to obtain an aggregate credential; The sending unit is used to send the aggregated credential to the verification party and receive the verification result returned by the verification party.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located is controlled to execute the credential verification method for selective information disclosure according to any one of claims 1 to 7.

10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the credential verification method for selective information disclosure as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Selectively disclosed dynamically combined verifiable credential generation method and system

    CN116232763A

  • Decentralized identity-oriented zero-knowledge proving method and equipment for user attributes

    CN117675222A

  • Block chain-based trusted data verification processing method, device and equipment

    CN117879860A