WO2022016842A1 - 去中心化身份系统中隐藏用户信息的方法和计算机可读介质 - Google Patents

去中心化身份系统中隐藏用户信息的方法和计算机可读介质 Download PDF

Info

Publication number
WO2022016842A1
WO2022016842A1 PCT/CN2021/073096 CN2021073096W WO2022016842A1 WO 2022016842 A1 WO2022016842 A1 WO 2022016842A1 CN 2021073096 W CN2021073096 W CN 2021073096W WO 2022016842 A1 WO2022016842 A1 WO 2022016842A1
Authority
WO
WIPO (PCT)
Prior art keywords
identity
holder
verifiable
verifiable certificate
authority
Prior art date
Application number
PCT/CN2021/073096
Other languages
English (en)
French (fr)
Inventor
杜晓楠
Original Assignee
杜晓楠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202010709256.5A external-priority patent/CN112037054B/zh
Priority claimed from CN202010707663.2A external-priority patent/CN112035870B/zh
Priority claimed from CN202010709258.4A external-priority patent/CN111901106B/zh
Application filed by 杜晓楠 filed Critical 杜晓楠
Publication of WO2022016842A1 publication Critical patent/WO2022016842A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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

Definitions

  • the present invention relates to the field of blockchain, and more particularly, to a method and a computer-readable medium for hiding user information in a decentralized identity system.
  • the technical problem to be solved by the present invention is to provide a method and a computer-readable medium for hiding user information in a decentralized identity system, which can hide user information in the verification process, thereby improving the The security of the transaction, thereby ensuring the security of the system.
  • the technical solution adopted by the present invention to solve the technical problem is to construct a method for hiding user information in a decentralized identity system, including:
  • the verifiable certificate authority registers with the identity registration authority based on its own key
  • the identity holder registers with the verifiable certificate authority based on its own key and registration information;
  • the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verifiable certificate authority;
  • the verification certificate authority verifies the verifiable certificate.
  • step S1 further includes:
  • the verifiable certificate authority generates an agency private key and generates an agency public key based on the agency private key;
  • the verifiable certificate authority generates a registration request, and signs the registration request with the private key of the organization, and sends the signed registration request to the identity registration authority;
  • the identity registration authority verifies the signature registration request, and generates a decentralized identity identifier and a decentralized identity identifier document of the verifiable certificate authority after the verification is passed.
  • step S2 further includes:
  • the identity holder generates the holder's private key and generates the holder's public key based on the holder's private key;
  • the identity holder submits a registration request to the verifiable certificate authority, and signs the registration request with the holder's private key, and sends the signed registration request to the verifiable certificate authority;
  • the verifiable certificate authority verifies the signature registration request, and verifies the registration information of the identity holder after the signature verification is passed, and continues to send a verification request to the identity registration authority after the verification is passed,
  • the verification request includes the holder's public key
  • the identity registration authority generates a decentralized identity identifier and a decentralized identity identifier document of the identity holder according to the public key of the holder, and returns them to the verifiable certificate authority ;
  • the verifiable certificate authority returns the identity holder's decentralized identity identifier and the decentralized identity identifier document to the identity holder.
  • the identity holder selects a random scalar on the elliptic curve as the holder key, and uses the The holder's public key is obtained by performing elliptic curve multiplication between the holder's key and the base point on the elliptic curve.
  • the user information includes the real public key of the user
  • the verifiable certificate includes a public key generated by using the public keys of the holders of multiple identity holders. ring signature.
  • step S3 further includes:
  • the identity holder obtains verifiable certificate information from the verifiable certificate authority, and obtains decentralized identities of multiple other identity holders from the verifiable certificate authority based on the verifiable certificate information token and the holder's public key;
  • the identity holder generates a ring signature by using the public keys of the holders of multiple other identity holders, and obtains the verifiable certificate from the verifiable certificate authority.
  • the step S31 further includes:
  • the identity holder sends a service start request to the verification certificate authority, where the service start request includes the decentralized identity identifier, the decentralized identity identifier document, and the identity holder The user's signature on the service start request;
  • the verification certificate authority returns verifiable certificate information based on the request
  • the identity holder sends an information return request to the verifiable certificate authority according to the verifiable certificate information, and uses the holder's private key to sign the information return request, and the information returns the request includes requesting the verifiable certificate authority to return the decentralized identity identifiers and public keys of the holders of multiple other identities;
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and uses the holder's public key to verify the signature of the information return request, if the signature is passed Execute step S35, otherwise reject the information return request;
  • the verifiable certificate authority returns the decentralized identity identifiers and the public keys of the holders of multiple other identity holders to the identity holder.
  • the step S32 further includes:
  • the identity holder generates a ring signature using the holder public keys of multiple other identity holders, and sends a certificate issuance request to the verifiable certificate authority, where the certificate issuance request includes the ring signature , the holder's public key of multiple other identity holders, the decentralized identity identifiers of multiple other identity holders, and the identity holder's signature on the certificate issuance request;
  • the verifiable certificate authority verifies the identity holder's signature on the certificate issuance request and the ring signature respectively, and issues the verifiable certificate to the identity holder if the verification passes, otherwise Refuse to issue said verifiable certificate.
  • the verifiable certificate includes: decentralized identity identifiers of multiple identity holders, the verifiable certificate issuing the verifiable certificate Verify the certificate authority's decentralized identity identifier, the public keys of multiple identity holders, the ring signature, and the verifiable certificate authority's signature on the verifiable certificate.
  • the ordering of the decentralized identity identifiers of the multiple identity holders and the public keys of the multiple identity holders is independent and non-identical corresponding.
  • step S5 further includes:
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate authority Signing the verifiable certificate to obtain a first verification result;
  • the verification certificate authority verifies the ring signature according to the public keys of the multiple identity holders to obtain a second verification result
  • the user information includes the specific age of the user
  • the verifiable certificate includes an age range provided by the verifiable certificate authority.
  • step S3 further includes:
  • the identity holder sends a service start request to the verification certificate authority, where the service start request includes the decentralized identity identifier, the decentralized identity identifier document, and the identity holder The user's signature on the service start request;
  • the verification certificate authority returns verifiable certificate information based on the request, where the verifiable certificate information includes an age range that needs to be certified;
  • the identity holder sends a certificate issuance request to the verifiable certificate authority, the certificate issuance request includes the decentralized identity identifier of the identity holder, and the content to be authenticated includes age, The age range for which proof is required, and the identity holder's signature on the certificate issuance request;
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and verifies the identity holder's signature on the certificate issuance request, and executes the steps if the verification is passed S3E, otherwise refuse to issue a certificate;
  • S3E Determine whether the age of the identity holder registered in the verifiable certificate authority is within the age range that needs to be proved, and if so, issue the verifiable certificate to the identity holder, otherwise reject Issue a certificate.
  • the verifiable certificate includes: the decentralized identity identifier of the identity holder, the verifiable certificate issuing the verifiable certificate Verifies the certificate authority's decentralized identity identifier, the identity holder's signature on the verifiable certificate, the verifiable certificate authority's signature on the verifiable certificate, the verifiable certificate authority Provided age range.
  • step S5 further includes:
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate authority Signing the verifiable certificate to obtain a first verification result;
  • the verification certificate authority requests the holder's public key from the identity registration authority according to the decentralized identity identifier of the identity holder, and uses the holder's public key to verify the identity holder's public key.
  • the owner signs the verifiable certificate to obtain the second verification result;
  • the user information includes the user's asset limit
  • the verifiable certificate includes the encrypted asset limit
  • step S3 further includes:
  • the identity holder sends a service start request to the verification certificate authority, where the service start request includes the decentralized identity identifier, the decentralized identity identifier document, and the identity holder The user's signature on the service start request;
  • the verification certificate authority returns verifiable certificate information based on the request, where the verifiable certificate information includes a requirement for providing an asset quota;
  • the identity holder sends a property query request to the verifiable certificate authority, where the property query request includes the identity holder's decentralized identity identifier, an asset limit query, and the The identity holder's signature on the certificate issuance request;
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and verifies the identity holder's signature on the certificate issuance request, and sends the certificate to the holder based on the verification result.
  • the stated identity holder returns the asset limit;
  • the identity holder encrypts the asset quota by using the holder's private key, submits the encrypted asset quota to the verifiable certificate authority, and requests the verifiable certificate authority for The encrypted asset quota issues a verifiable certificate;
  • the verifiable certificate authority compares the encrypted asset limit with that of the identity holder, and issues the verifiable certificate to the identity holder based on the comparison result.
  • the identity holder uses the holder's private key to generate a Pedersen commitment for the asset limit , and submit the Pedersen commitment to the verifiable certificate authority and request the verifiable certificate authority to issue a verifiable certificate for the Pedersen commitment.
  • the verifiable certificate includes: the decentralized identity identifier of the identity holder, the the decentralized identity identifier of the verifiable certificate authority of the verifiable certificate, the identity holder's signature on the verifiable certificate, the verifiable certificate authority's signature on the verifiable certificate, The amount of encrypted assets, the proof of the range of the amount of encrypted assets.
  • step S5 further includes:
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate authority Signing the verifiable certificate to obtain a first verification result;
  • the verification certificate authority requests the holder's public key from the identity registration authority according to the decentralized identity identifier of the identity holder, and uses the holder's public key to verify the identity holder The owner signs the verifiable certificate to obtain the second verification result;
  • Another technical solution adopted by the present invention to solve the technical problem is to construct a computer-readable storage medium on which a computer program is stored. method of user information.
  • the method for hiding user information and the computer-readable storage medium in the decentralized identity system of the present invention can hide user information in the verification process, thereby improving the security of transactions and thus ensuring the security of the system.
  • the user's real public key can be verified without revealing the user's real public key, and the user's real public key can be hidden during the verification process, thereby improving the security of the transaction and thus ensuring the security of the system.
  • Identity holders that is, users
  • whose age meets certain conditions can be screened without revealing the specific age of the user. Therefore, in the process of verifying the specific age of the user, the specific age of the user is hidden to ensure user privacy and improve transaction security. .
  • Identity holders that is, users whose asset limit meets a certain condition can be screened without revealing the user’s specific asset amount. Therefore, during the user’s asset limit verification process, the user’s asset limit is hidden to ensure user privacy and improve user privacy.
  • Transaction security Further, the user's iris or fingerprint can be entered to generate a random seed to generate the identity holder's private key, so that the identity holder can use the identity information and use the blockchain without contact when using the identity information. assets.
  • the present invention also clearly defines the registration process and verification process of the identity holder, the verifiable certificate authority, thereby providing a safe and effective method for constructing a decentralized blockchain identity.
  • Fig. 1 is the flow chart of the first preferred embodiment of the method for hiding the user's real public key in the decentralized identity system of the present invention
  • Fig. 2 is the registration flow diagram of the verifiable certificate authority of the second preferred embodiment of the method for hiding the user's real public key in the decentralized identity system of the present invention
  • FIG. 3 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the real public key of the user in the decentralized identity system of the present invention
  • Fig. 4 is the verification flow schematic diagram of the verifiable certificate of the second preferred embodiment of the method for hiding the user's real public key in the decentralized identity system of the present invention
  • FIG. 5 is a flowchart of the first preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention
  • FIG. 6 is a schematic diagram of the registration process of the verifiable certificate authority of the second preferred embodiment of the method for hiding the asset limit of the user in the decentralized identity system of the present invention
  • FIG. 7 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention
  • FIG. 8 is a schematic diagram of the verification flow of the verifiable certificate of the second preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention
  • FIG. 9 is a flowchart of the first preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention.
  • FIG. 10 is a schematic diagram of the registration process of the verifiable certificate authority of the second preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention
  • FIG. 11 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention
  • FIG. 12 is a schematic diagram of a verification flow of a verifiable certificate of the second preferred embodiment of the method for hiding the specific age of a user in the decentralized identity system of the present invention.
  • the invention relates to a method for hiding user information in a decentralized identity system.
  • a verifiable certificate authority registers with an identity registry based on its own key.
  • the identity holder registers with the verifiable certificate authority based on its own key and registration information.
  • the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verifiable certificate authority.
  • the identity holder signs the verifiable certificate using the holder's private key and submits it to the verification certificate authority.
  • the verification certificate authority verifies the verifiable certificate.
  • the user information includes the user's real public key, the user's specific age and/or the user's asset limit.
  • the verifiable certificate includes a ring signature generated using the holder's public key of multiple identity holders, an age range provided by the verifiable certificate authority, and/or an encrypted asset amount.
  • Implementing the method for hiding user information in the decentralized identity system of the present invention can hide user information in the verification process, thereby improving the security of transactions and thus ensuring the security of the system.
  • the user's real public key can be verified without revealing the user's real public key.
  • the user's real public key can be hidden, and identities whose age meets a certain condition can be screened without revealing the user's specific age.
  • the specific age of the user is hidden, and the identity holder (that is, the user) whose asset amount meets a certain condition can be screened without revealing the specific asset amount of the user. Therefore, in the process of verifying the user's asset limit, the user's asset limit is hidden, thereby ensuring user privacy and improving transaction security.
  • FIG. 1 is a flow chart of the first preferred embodiment of the method for hiding the user's real public key in the decentralized identity system of the present invention.
  • the verifiable certificate authority registers with the identity registration authority based on its own key, so that it can obtain the qualification to issue a verifiable certificate.
  • the verifiable certificate authority generates an authority private key and generates an authority public key based on the authority private key.
  • an elliptic curve key system can be used to obtain the institution's private key and institution's public key.
  • any key generation algorithm known in the art can also be used.
  • the verifiable certificate authority generates a registration request, signs the registration request with the private key of the authority, and sends the signed registration request to the identity registration authority.
  • the identity registration authority verifies the signature registration request, and generates a decentralized identity identifier and a decentralized identity identifier document of the verifiable certificate authority after the verification is passed.
  • the identity holder registers with the verifiable certificate authority based on its own key and registration information.
  • the identity holder generates a holder's private key and generates a holder's public key based on the holder's private key. For example, scan the iris of the identity holder to generate an iris code; hash the iris code, use the obtained hash as a random seed to generate the holder's private key; then generate the holder's private key based on the holder's The private key generates the holder public key.
  • the iris code can be generated by any iris collector in the art.
  • a hash function can be used to calculate it, so as to obtain a string with a unique fixed length, and use it as a random seed to generate the holder's private key.
  • the holder's private key can be generated by any known method.
  • the holder public key can be generated using any known method.
  • the identity holder selects a random scalar on the elliptic curve as the holder key, and performs elliptic curve multiplication between the holder key and the base point on the elliptic curve to obtain the holder's public key.
  • G represents the private key and public key conversion factor in the elliptic curve algorithm. Therefore, the holder's public key R can be derived from the holder's private key r, but the holder's private key r cannot be derived from the holder's public key R, so it is irreversible.
  • at least one fingerprint of the identity holder may be scanned to generate a fingerprint code; the fingerprint code is hashed, and the obtained hash value is used as a random seed to generate the holder's private key; The holder's private key generates the holder's public key.
  • a plurality of fingerprints of the identity holder can be scanned to generate a plurality of fingerprint codes; each fingerprint code is hashed, and each obtained hash value segment is used as a random seed to generate a plurality of the holder.
  • the identity holder submits a registration request to the verifiable certificate authority, signs the registration request with the holder's private key, and sends the signed registration request to the verifiable certificate authority.
  • the verifiable certificate authority verifies the signature registration request, and verifies the registration information of the identity holder after the signature is passed, and continues to send a verification request to the identity registration authority after the verification is passed, and the The verification request includes the holder's public key.
  • the registration information may be a certain attribute of the identity holder, such as age, asset amount, physical health status, and the like.
  • the identity registration authority In response to the request of the verifiable certificate authority, the identity registration authority generates the decentralized identity identifier and the decentralized identity identifier document of the identity holder according to the public key of the holder, and sends the Return to the verifiable certificate authority. The verifiable certificate authority then returns the identity holder's DID and DID document to the identity holder.
  • the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verifiable certificate authority, and the verifiable certificate includes certificates using multiple identity holders. Ring signature generated by the owner's public key.
  • the identity holder obtains verifiable certificate information from the verifiable certificate authority, and obtains a plurality of other identity holders from the verifiable certificate authority based on the verifiable certificate information The holder's decentralized identity identifier and the holder's public key. The identity holder then generates a ring signature using holder public keys of multiple other identity holders and obtains the verifiable certificate from the verifiable certificate authority.
  • the identity holder sends a service start request to the verification certificate authority.
  • the service initiation request includes the decentralized identity identifier, the decentralized identity identifier document, and the identity holder's signature of the service initiation request.
  • the verification certificate authority returns verifiable certificate information based on the request.
  • the verifiable certificate information includes content that requires the identity holder to submit a verifiable certificate, that is, the submitted verifiable certificate needs to include the decentralized identity identifiers of multiple identity holders, and the verifiable certificate is issued.
  • the identity holder sends an information return request to the verifiable certificate authority according to the verifiable certificate information, and uses the holder's private key to sign the information return request.
  • the information return request includes requesting the verifiable certificate authority to return the decentralized identity identifiers and the public keys of the holders of a plurality of other identity holders.
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and verifies the identity holder's signature on the certificate issuance request, and rejects the certificate if the verification fails.
  • the above information is returned to the request. If the verification is passed, the verifiable certificate authority returns the decentralized identity identifiers and the public keys of the holders of multiple other identity holders to the identity holder.
  • the identity holder generates a ring signature using holder public keys of multiple other identity holders and sends a certificate issuance request to the verifiable certificate authority.
  • the certificate issuance request includes the ring signature, the holder's public key of the plurality of other identity holders, the decentralized identity identifiers of the plurality of other identity holders, and the certificate issuance by the identity holder The signature of the request.
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and verifies the identity holder's signature on the certificate issuance request, and refuses to issue if the verification fails Certificate.
  • the obtained verifiable certificate includes: decentralized identity identifiers of multiple identity holders, decentralized identity identifiers of the verifiable certificate authority that issued the verifiable certificate , the public keys of multiple identity holders, the ring signature, and the signature of the verifiable certificate authority on the verifiable certificate.
  • the ordering of the decentralized identity identifiers of the multiple identity holders and the public keys of the multiple identity holders is independent and not in a one-to-one correspondence, which can further ensure the anonymity of the method of the present invention .
  • step S4 the identity holder signs the verifiable certificate using the holder's private key and submits it to the verification certificate authority.
  • step S5 the verification certificate authority verifies the verifiable certificate.
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate issuance
  • the agency signs the verifiable certificate, and if the verification is passed, the next step of verification is performed.
  • the verification certificate authority requests the public keys of the plurality of identity holders from the identity registration authority according to the decentralized identity identifiers of the identity holders, and uses the public keys of the plurality of identity holders.
  • the ring signature is verified with the key, and if the verification is passed, content verification is performed.
  • the content verifies the verification of the conditions in the verifiable certificate (ie, age range verification, for example), if the requirements are met, the verification passes, otherwise the verification fails.
  • the user's real public key can be verified without revealing the user's real public key, and the user's real public key can be hidden during the verification process, thereby improving transaction efficiency. security to ensure the security of the system.
  • the user's iris or fingerprint can be entered to generate a random seed to generate the identity holder's private key, so that the identity holder can use the identity information and use the blockchain without contact when using the identity information. assets.
  • the present invention also clearly defines the registration process and verification process of the identity holder, the verifiable certificate authority, thereby providing a safe and effective method for constructing a decentralized blockchain identity.
  • FIG. 2 is a schematic diagram of the registration flow of the verifiable certificate authority of the second preferred embodiment of the method for hiding the real public key of the user in the decentralized identity system of the present invention.
  • FIG. 3 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the real public key of the user in the decentralized identity system of the present invention.
  • FIG. 4 is a schematic diagram of the verification flow of the verifiable certificate of the second preferred embodiment of the method for hiding the real public key of the user in the decentralized identity system of the present invention.
  • DID Decentralized Identifier
  • a string that acts like a URL, and its standard can follow the standards set by standard organizations such as w3c or dif, or can follow the standards set by multiple alliance agencies.
  • DIDs record unique identifiers within multiple federations, as well as the protocols required to find DIDs.
  • Multiple alliance agencies can locate the entity that stores the detailed information of the DID according to the DID, and request the detailed information of the DID, including the public key, etc., from the entity.
  • the DID document saves the detailed information of the DID, including: the public key of the DID, the DID signature type, the DID authentication type, the service type supported by the DID, and the URL that supports the DID service, etc.
  • Public Key Public Key, PK for short
  • the asymmetric encryption algorithm based on the discrete logarithm problem satisfies the commutative law of multiplication, the associative law of multiplication, the commutative law of addition, and the associative law of addition.
  • Select the general base point G on the elliptic curve select a random scalar on the elliptic curve as the encrypted private key, and perform elliptic curve multiplication with the base point G to generate the corresponding public key
  • Hash functions are used to irreversibly hash scalars or base points on elliptic curves
  • ring signatures are that they can use other users' public keys to generate signatures with the public keys of other users and their own public keys without the permission of other users.
  • the party that needs to verify the ring signature needs to use the public keys of multiple users. key to verify the ring signature, but there is no way to know which public key of the user who signed the specific signature is
  • a person who holds a unique identity the identity holder needs to generate their own SK and PK by entering the iris or fingerprint, such as RSA or elliptic curve
  • the certificate that can be verified contains the certificate issuing authority, and the information that needs to be verified, as well as the issuing authority's signature on the certificate and other information
  • Trusted institutions that are qualified to issue VC certificates can be schools, banks, law firms, public hospitals, hotel chains, hotel chains, etc.
  • the IV can not only verify the identity of the IH, but also verify a certain attribute of the IH, such as age, number of assets, physical health, etc.; in the present invention, the IV can only obtain the public key of the IS according to the DID of the IS , the public key of the IH cannot be obtained through the DID of the IH
  • the institution used to register the identity maintains a database of DIDs of all entities in the present invention, such as a certain blockchain or a distributed ledger.
  • the specific registration steps are as follows:
  • 1IS first generates an SK, and then generates PK through SK
  • the IR verifies the registration request of the IS, and generates the DID of the IS and the DID document after the verification is passed.
  • 1IH selects a random scalar on the elliptic curve as SK, and then performs elliptic curve multiplication with the base point on the elliptic curve to obtain PK;
  • the IH submits the registration request to the IS, and the IS verifies the IH request and verifies the registration information of the IH, including the ID number, age, gender, etc. of the IH;
  • the IH uses the VC to authenticate to the IV.
  • IH needs to carry out a certain business, but IH does not want to reveal its identity, but IV wants to know that IH's DID has been registered with IS, so the specific steps are as follows
  • the IH sends a service start request to the IV, and the service start request includes: the DID of the IH, the DID document, and the signature of the IH to the service request; and the IV returns the verifiable certificate information, which is the information that the IH needs to submit to the VC
  • the content of the VC includes: the DIDs of multiple IHs, the DIDs of the IS issuing the VC, the ring signature generated by using the public keys of multiple IHs, and the signature of the IS to the VC.
  • VC can also include other required information.
  • the IH carries its own DID to send an information return request to the IS, asking the IS to return the DIDs and public keys of multiple other IHs, and use its own private key to sign the information return request.
  • 3IS uses the DID to query the IR, obtains the public key of the IH, and then uses the public key to verify the signature of the IH request. If the signature is passed, it will return multiple IH public keys and DIDs to the IH. If the signature fails, it will be rejected. this request.
  • the DID and the public key returned by the IS are not in a one-to-one correspondence, and the ordering of the DIDs and the ordering of the public keys are independent. The purpose is to prevent the correspondence between the DIDs and the public keys, thereby further improving the anonymity of the present invention.
  • the 4IH uses the public keys of other multiple IHs to generate a ring signature, and then sends a VC issuance request to the IS to ask the IS to issue a VC.
  • the VC issuance request includes: the ring signature, the DIDs of other multiple IHs, the public keys of other multiple IHs, Signature for this request.
  • the IS After the IS receives the request issued by the VC, the IS requests the public key of the IH from the IR according to the DID of the IH, and verifies the request signature of the IH, and uses the public keys of other IHs to verify the ring signature.
  • the IS fails to verify the issuance request of the VC, it will refuse to issue the VC. If the verification is passed, the VC is issued, and the content of issuing the VC includes: the DIDs of multiple IHs (including the IHs that require the issuance of VCs), the public keys of multiple IHs (including the IHs that require the issuance of VCs), the DIDs of IS, the use of multiple The ring signature generated by the public key of the IH and the signature of the IS to the VC.
  • the DID and the public key of the VC are not in a one-to-one correspondence, and the ordering of the DID and the ordering of the public key are independent. The purpose is to prevent the correspondence between the DID and the public key, thereby further improving the anonymity of the present invention.
  • the ring signature is verified according to the public keys of multiple IHs in the VC. If both the IS and the ring signature are verified, it is judged whether other conditions required in the VC meet the requirements. If they meet the requirements, the verification is passed, otherwise the verification fails.
  • both the IS signature and the ring signature pass the verification, it is judged that the verification is passed.
  • the verification is passed, it is judged that the verification is passed.
  • Another technical solution adopted by the present invention to solve the technical problem is to construct a computer-readable storage medium on which a computer program is stored, and when the program is executed by the processor, the user can be hidden in the decentralized identity system. method for the real public key.
  • Fig. 5 is a flow chart of the first preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention.
  • the verifiable certificate authority registers with the identity registration authority based on its own key, so that it can obtain the qualification to issue a verifiable certificate.
  • the verifiable certificate authority generates an authority private key and generates an authority public key based on the authority private key.
  • an elliptic curve key system can be used to obtain the institution's private key and institution's public key.
  • any key generation algorithm known in the art can also be used.
  • the verifiable certificate authority generates a registration request, signs the registration request with the private key of the authority, and sends the signed registration request to the identity registration authority.
  • the identity registration authority verifies the signature registration request, and generates a decentralized identity identifier and a decentralized identity identifier document of the verifiable certificate authority after the verification is passed.
  • the identity holder registers with the verifiable certificate authority based on its own key and registration information.
  • the identity holder generates a holder's private key and generates a holder's public key based on the holder's private key. For example, scan the iris of the identity holder to generate an iris code; hash the iris code, use the obtained hash as a random seed to generate the holder's private key; then generate the holder's private key based on the holder's The private key generates the holder public key.
  • the iris code can be generated by any iris collector in the art.
  • a hash function can be used to calculate it, so as to obtain a string with a unique fixed length, and use it as a random seed to generate the holder's private key.
  • the holder's private key can be generated by any known method.
  • the holder public key can be generated using any known method.
  • the identity holder selects a random scalar on the elliptic curve as the holder key, and performs elliptic curve multiplication between the holder key and the base point on the elliptic curve to obtain the holder's public key.
  • G represents the private key and public key conversion factor in the elliptic curve algorithm. Therefore, the holder's public key R can be derived from the holder's private key r, but the holder's private key r cannot be derived from the holder's public key R, so it is irreversible.
  • at least one fingerprint of the identity holder may be scanned to generate a fingerprint code; the fingerprint code is hashed, and the obtained hash value is used as a random seed to generate the holder's private key; The holder's private key generates the holder's public key.
  • a plurality of fingerprints of the identity holder can be scanned to generate a plurality of fingerprint codes; each fingerprint code is hashed, and each obtained hash value segment is used as a random seed to generate a plurality of the holder.
  • the identity holder submits a registration request to the verifiable certificate authority, signs the registration request with the holder's private key, and sends the signed registration request to the verifiable certificate authority.
  • the verifiable certificate authority verifies the signature registration request, and verifies the registration information of the identity holder after the signature is passed, and continues to send a verification request to the identity registration authority after the verification is passed, and the The verification request includes the holder's public key.
  • the registration information may be a certain attribute of the identity holder, such as age, asset amount, physical health status, and the like.
  • the identity registration authority In response to the request of the verifiable certificate authority, the identity registration authority generates the decentralized identity identifier and the decentralized identity identifier document of the identity holder according to the public key of the holder, and sends the Return to the verifiable certificate authority. The verifiable certificate authority then returns the identity holder's DID and DID document to the identity holder.
  • the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verifiable certificate authority, and the verifiable certificate contains the encrypted asset amount.
  • the identity holder sends a service start request to the verification certificate authority, and the service start request includes the decentralized identity identifier, the decentralized identity identifier document , and the identity holder's signature on the service initiation request.
  • the verification certificate authority returns verifiable certificate information based on the request, where the verifiable certificate information includes a requirement to provide an asset limit.
  • the identity holder then sends a property query request to the verifiable certificate authority, the property query request including the identity holder's decentralized identity identifier, asset limit query, and the identity The holder's signature on the certificate issuance request.
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, verifies the identity holder's signature on the certificate issuance request, and reports to the identity holder based on the verification result.
  • the holder returns the asset amount.
  • the identity holder encrypts the asset amount using the holder's private key, and submits the encrypted asset amount to the verifiable certificate authority and requests the verifiable certificate authority for the
  • the encrypted asset quota is issued with a verifiable certificate.
  • the verifiable certificate authority compares the encrypted asset limit with that of the identity holder, and issues the verifiable certificate to the identity holder if the results are equal. If not equal, then the verifiable certificate is not issued to the identity holder.
  • the verifiable certificate includes: a decentralized identity identifier of the identity holder, a decentralized identity identifier of the verifiable certificate authority that issued the verifiable certificate, the identity holder The owner's signature on the verifiable certificate, the verifiable certificate authority's signature on the verifiable certificate, the amount of encrypted assets, and the scope proof of the amount of encrypted assets.
  • the identity holder uses the holder's private key to generate a Pedersen commitment for the asset amount, and submits the Pedersen commitment to the verifiable certificate issuance
  • the agency also requires the verifiable certificate authority to issue a verifiable certificate for the Pedersen commitment.
  • step S4 the identity holder signs the verifiable certificate using the holder's private key and submits it to the verification certificate authority.
  • step S5 the verification certificate authority verifies the verifiable certificate.
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate issuance
  • the agency signs the verifiable certificate, and if the verification is passed, the next step of verification is performed.
  • the verification certificate authority requests the holder's public key from the identity registration authority according to the identity holder's decentralized identity identifier, and uses the holder's public key to verify the identity holder
  • For the signature of the verifiable certificate if the verification is passed, it means that the verification is completely passed.
  • other content included in the VC can be further verified by content, and the content verification can be the verification of relevant information such as age, gender, etc. If the requirements are met, the verification is passed, otherwise the verification Fail.
  • Implementing the method for hiding the user's asset limit in the decentralized identity system of the present invention does not require disclosing the user's specific asset amount to screen out the identity holders (ie users) whose asset limit meets a certain condition, so the user's asset limit can be screened out.
  • the user's asset limit is hidden to ensure user privacy and improve transaction security.
  • the user's iris or fingerprint can be entered to generate a random seed to generate the identity holder's private key, so that the identity holder can use the identity information and use the blockchain without contact when using the identity information. assets.
  • the present invention also clearly defines the registration process and verification process of the identity holder, the verifiable certificate authority, thereby providing a safe and effective method for constructing a decentralized blockchain identity. Furthermore, the present invention can also be used to compare the asset quotas of multiple users, and perform services related to asset ranking.
  • FIG. 6 is a schematic diagram of the registration flow of the verifiable certificate authority in the second preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention.
  • FIG. 3 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention.
  • FIG. 8 is a schematic diagram of a verification flow of a verifiable certificate according to the second preferred embodiment of the method for hiding the user's asset limit in the decentralized identity system of the present invention.
  • DID Decentralized Identifier
  • a string that acts like a URL, and its standard can follow the standards set by standard organizations such as w3c or dif, or can follow the standards set by multiple alliance agencies.
  • DIDs record unique identifiers within multiple federations, as well as the protocols required to find DIDs.
  • Multiple alliance agencies can locate the entity that stores the detailed information of the DID according to the DID, and request the detailed information of the DID, including the public key, etc., from the entity.
  • the DID document saves the detailed information of the DID, including: the public key of the DID, the DID signature type, the DID authentication type, the service type supported by the DID, and the URL that supports the DID service, etc.
  • Public Key Public Key, PK for short
  • the asymmetric encryption algorithm based on the discrete logarithm problem satisfies the commutative law of multiplication, the associative law of multiplication, the commutative law of addition, and the associative law of addition.
  • Select the general base point G on the elliptic curve select a random scalar on the elliptic curve as the encrypted private key, and perform elliptic curve multiplication with the base point G to generate the corresponding public key
  • Hash functions are used to irreversibly hash scalars or base points on elliptic curves
  • Pederson's promise is an algorithm for homomorphic encryption of numbers, and the encrypted numbers can retain the original characteristics of the numbers. Encrypted numbers for size comparison
  • a person who holds a unique identity the identity holder needs to generate their own SK and PK by entering an iris or fingerprint
  • the certificate that can be verified contains the certificate issuing authority, and the information that needs to be verified, as well as the issuing authority's signature on the certificate and other information
  • a trusted institution that is qualified to issue VCs, and the institution has the right to query the user's asset limit
  • Institutions that need to authenticate the IH such as: employers, credit institutions, etc. IV can not only verify the identity of the IH, but also verify a certain attribute of the IH, such as age, number of assets, physical health, etc.
  • the institution used to register the identity maintains a database of DIDs of all entities in the present invention, such as a certain blockchain or a distributed ledger.
  • the specific registration steps are as follows:
  • 1IS first generates an SK, and then generates PK through SK
  • the IR verifies the registration request of the IS, and generates the DID of the IS and the DID document after the verification is passed.
  • 1IH selects a random scalar on the elliptic curve as SK, and then performs elliptic curve multiplication with the base point on the elliptic curve to obtain PK;
  • the IH submits the registration request to the IS, and the IS verifies the IH request and verifies the registration information of the IH, including the ID number, age, gender, etc. of the IH;
  • the IH uses the VC to authenticate to the IV.
  • the IH needs to conduct a certain business, and the prerequisite for the business is that the IV needs to confirm that the IH has the qualification to conduct the business.
  • it is the asset amount, and may also include other registration information (such as age or others).
  • the IH sends a service start request to the IV, and the service start request includes: the DID of the IH, the DID document, and the signature of the IH to the service request; and the IV returns the verifiable certificate information, which is the information that the IH needs to submit to the VC , the content of VC includes: DID of IH, DID of IS issuing VC, signature of IH to VC, signature of IS to VC, encrypted asset amount and proof of the range of encrypted asset amount.
  • 2IH inquires about the amount of its own assets from IS, and submits the request for inquiring about the amount of assets to IS.
  • the IS requests the IH's public key from the IR according to the IH's DID, and verifies the IH's request signature. And verify the IH's request signature. If the verification fails, it will refuse to return the asset quota to IH, and if it passes, it will return the asset quota to IH.
  • 4IH uses the private key to generate a Pederson Commit for its own asset quota, submit it to the IS, and ask the IS to issue a certificate for the Pederson Commit.
  • 5IS compares IH's Pederson Commit with IH's actual asset quota. If the two are equal, VC will be issued to IH, otherwise, VC will not be issued.
  • Another technical solution adopted by the present invention to solve the technical problem is to construct a computer-readable storage medium on which a computer program is stored, and when the program is executed by the processor, the user can be hidden in the decentralized identity system. method of asset limit.
  • FIG. 9 is a flow chart of the first preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention.
  • the verifiable certificate authority registers with the identity registration authority based on its own key, so that it can obtain the qualification to issue a verifiable certificate.
  • the verifiable certificate authority generates an authority private key and generates an authority public key based on the authority private key.
  • an elliptic curve key system can be used to obtain the institution's private key and institution's public key.
  • any key generation algorithm known in the art can also be used.
  • the verifiable certificate authority generates a registration request, signs the registration request with the private key of the authority, and sends the signed registration request to the identity registration authority.
  • the identity registration authority verifies the signature registration request, and generates a decentralized identity identifier and a decentralized identity identifier document of the verifiable certificate authority after the verification is passed.
  • the identity holder registers with the verifiable certificate authority based on its own key and registration information.
  • the identity holder generates a holder's private key and generates a holder's public key based on the holder's private key. For example, scan the iris of the identity holder to generate an iris code; hash the iris code, use the obtained hash as a random seed to generate the holder's private key; then generate the holder's private key based on the holder's The private key generates the holder public key.
  • the iris code can be generated by any iris collector in the art.
  • a hash function can be used to calculate it, so as to obtain a string with a unique fixed length, and use it as a random seed to generate the holder's private key.
  • the holder's private key can be generated by any known method.
  • the holder public key can be generated using any known method.
  • the identity holder selects a random scalar on the elliptic curve as the holder key, and performs elliptic curve multiplication between the holder key and the base point on the elliptic curve to obtain the holder's public key.
  • G represents the private key and public key conversion factor in the elliptic curve algorithm. Therefore, the holder's public key R can be derived from the holder's private key r, but the holder's private key r cannot be derived from the holder's public key R, so it is irreversible.
  • at least one fingerprint of the identity holder may be scanned to generate a fingerprint code; the fingerprint code is hashed, and the obtained hash value is used as a random seed to generate the holder's private key; The holder's private key generates the holder's public key.
  • a plurality of fingerprints of the identity holder can be scanned to generate a plurality of fingerprint codes; each fingerprint code is hashed, and each obtained hash value segment is used as a random seed to generate a plurality of the holder.
  • the identity holder submits a registration request to the verifiable certificate authority, signs the registration request with the holder's private key, and sends the signed registration request to the verifiable certificate authority.
  • the verifiable certificate authority verifies the signature registration request, and verifies the registration information of the identity holder after the signature is passed, and continues to send a verification request to the identity registration authority after the verification is passed, and the The verification request includes the holder's public key.
  • the registration information may be a certain attribute of the identity holder, such as age, asset amount, physical health status, and the like.
  • the identity registration authority In response to the request of the verifiable certificate authority, the identity registration authority generates the decentralized identity identifier and the decentralized identity identifier document of the identity holder according to the public key of the holder, and sends the Return to the verifiable certificate authority. The verifiable certificate authority then returns the identity holder's DID and DID document to the identity holder.
  • the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verifiable certificate authority, and the verifiable certificate includes the verifiable certificate authority provided by the verifiable certificate authority. age range.
  • the identity holder sends a service start request to the verification certificate authority, and the service start request includes the decentralized identity identifier, the decentralized identity identifier document , and the identity holder's signature on the service initiation request.
  • the verification certificate authority returns verifiable certificate information based on the request, the verifiable certificate information including an age range for which certification is required.
  • the identity holder sends a certificate issuance request to the verifiable certificate authority, and the certificate issuance request includes the decentralized identity identifier of the identity holder, and the content to be authenticated includes age, which requires proof , and the identity holder's signature on the certificate issuance request.
  • the verifiable certificate authority requests the holder's public key based on the decentralized identity identifier, and verifies the identity holder's signature on the certificate issuance request, and refuses to issue a certificate if the verification fails . If the verification is passed, determine whether the age of the identity holder registered with the verifiable certificate authority is within the age range that needs to be certified, and if so, issue the verifiable certificate to the identity holder , otherwise the certificate is refused.
  • the verifiable certificate includes: a decentralized identity identifier of the identity holder, a decentralized identity identifier of the verifiable certificate authority that issued the verifiable certificate, the identity holder The owner's signature on the verifiable certificate, the verifiable certificate authority's signature on the verifiable certificate, the age range provided by the verifiable certificate authority.
  • step S4 the identity holder signs the verifiable certificate using the holder's private key and submits it to the verification certificate authority.
  • step S5 the verification certificate authority verifies the verifiable certificate.
  • the verification certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the verifiable certificate authority, and uses the authority public key to verify the verifiable certificate issuance
  • the agency signs the verifiable certificate, and if the verification is passed, the next step of verification is performed.
  • the verification certificate authority requests the holder's public key from the identity registration authority according to the identity holder's decentralized identity identifier, and uses the holder's public key to verify the identity holder
  • For the signature of the verifiable certificate if the verification is passed, content verification is performed.
  • the content verifies the verification of the conditions in the verifiable certificate (i.e., age range verification, for example), and if the requirements are met, the verification passes, otherwise the verification fails.
  • Implementing the method of hiding the specific age of the user in the decentralized identity system of the present invention does not require revealing the specific age of the user to screen out the identity holders (that is, the user) whose age meets a certain condition. Therefore, in the process of verifying the specific age of the user, , the specific age of the user is hidden, so as to ensure user privacy and improve the security of transactions. Further, the user's iris or fingerprint can be entered to generate a random seed to generate the identity holder's private key, so that the identity holder can use the identity information and use the blockchain without contact when using the identity information. assets. Further, the present invention also clearly defines the registration process and verification process of the identity holder, the verifiable certificate authority, thereby providing a safe and effective method for constructing a decentralized blockchain identity.
  • FIG. 10 is a schematic diagram of the registration process of the verifiable certificate authority of the second preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention.
  • 11 is a schematic diagram of the registration process of the identity holder of the second preferred embodiment of the method for hiding the specific age of the user in the decentralized identity system of the present invention.
  • 12 is a schematic diagram of a verification flow of a verifiable certificate of the second preferred embodiment of the method for hiding the specific age of a user in the decentralized identity system of the present invention.
  • DID Decentralized Identifier
  • a string that acts like a URL, and its standard can follow the standards set by standard organizations such as w3c or dif, or can follow the standards set by multiple alliance agencies.
  • DIDs record unique identifiers within multiple federations, as well as the protocols required to find DIDs.
  • Multiple alliance agencies can locate the entity that stores the detailed information of the DID according to the DID, and request the detailed information of the DID, including the public key, etc., from the entity.
  • the DID document saves the detailed information of the DID, including: the public key of the DID, the DID signature type, the DID authentication type, the service type supported by the DID, and the URL that supports the DID service, etc.
  • Public Key Public Key, PK for short
  • the asymmetric encryption algorithm based on the discrete logarithm problem satisfies the commutative law of multiplication, the associative law of multiplication, the commutative law of addition, and the associative law of addition.
  • Select the general base point G on the elliptic curve select a random scalar on the elliptic curve as the encrypted private key, and perform elliptic curve multiplication with the base point G to generate the corresponding public key
  • Hash functions are used to irreversibly hash scalars or base points on elliptic curves
  • a person who holds a unique identity the identity holder needs to generate their own SK and PK by entering the iris or fingerprint, such as RSA or elliptic curve
  • the certificate that can be verified contains the certificate issuing authority, and the information that needs to be verified, as well as the issuing authority's signature on the certificate and other information
  • Trusted institutions that are qualified to issue VC certificates can be schools, banks, law firms, public hospitals, hotel chains, hotel chains, etc.
  • Institutions that need to authenticate the IH such as: employers, credit institutions, etc. IV can not only verify the identity of the IH, but also verify a certain attribute of the IH, such as age, number of assets, physical health, etc.
  • the institution used to register the identity maintains a database of DIDs of all entities in the present invention, such as a certain blockchain or a distributed ledger.
  • the specific registration steps are as follows:
  • 1IS first generates an SK, and then generates PK through SK
  • the IR verifies the registration request of the IS, and generates the DID of the IS and the DID document after the verification is passed.
  • 1IH selects a random scalar on the elliptic curve as SK, and then performs elliptic curve multiplication with the base point on the elliptic curve to obtain PK;
  • the IH submits the registration request to the IS, and the IS verifies the IH request and verifies the registration information of the IH, including the ID number, age, gender, etc. of the IH;
  • the IH uses the VC to authenticate to the IV.
  • the IH needs to perform a certain service, and the precondition for the service is that the IV needs to confirm that the IH has the qualification to perform the service.
  • the qualification to perform the service In this embodiment, it is age, and other registration information (such as age or others) may also be included.
  • the IH sends a service start request to the IV, and the service start request includes: the DID of the IH, the DID document, and the signature of the IH to the service request; and the IV returns the verifiable certificate information, which is the information that the IH needs to submit to the VC
  • the contents of the VC include: the DID of the IH, the DID of the IS that issued the VC, the signature of the IH to the VC, the signature of the IS to the VC, and the age range provided by the IS.
  • VC can also include other required information.
  • the 2IH sends a VC issuance request to the IS.
  • the VC issuance request includes: IH's DID, the content to be authenticated includes age, the age range that needs to be certified, such as: 18-64, and the IH's signature on this request.
  • the IS requests the IH's public key from the IR according to the IH's DID, and verifies the IH's request signature. And verify the IH's request signature. If the verification fails, it will refuse to issue the VC to the IH.
  • the VC issued by IS will include the age range that IH requires to certify. Within the range, the IS refuses to issue a VC.
  • both the signatures of the IS and the IH pass the verification, it is judged that the verification is passed.
  • the VC contains other verification contents, other verification contents (such as assets, identity, etc.) need to be verified. If the verification is passed, it is judged that the verification is passed.
  • Another technical solution adopted by the present invention to solve the technical problem is to construct a computer-readable storage medium on which a computer program is stored, and when the program is executed by the processor, the user can be hidden in the decentralized identity system. age-specific method.
  • the present invention can be implemented by hardware, software or a combination of software and hardware.
  • the present invention may be implemented in a centralized manner in at least one computer system, or in a decentralized manner by different parts distributed among several interconnected computer systems. Any computer system or other device that can implement the method of the present invention is applicable.
  • the combination of common software and hardware can be a general-purpose computer system installed with a computer program, and the computer system is controlled by installing and executing the program to make it run according to the method of the present invention.
  • the present invention may also be implemented by means of a computer program product, the program comprising all the features capable of implementing the method of the present invention, which, when installed in a computer system, can implement the method of the present invention.
  • a computer program in this document refers to any expression of a set of instructions, which can be written in any programming language, code or notation, that enables the system to have information processing capabilities to directly implement a specific function, or to perform the following A specific function is implemented after one or two steps described: a) conversion into other languages, codes or symbols; b) reproduction in a different format.

Abstract

本发明涉及一种去中心化身份系统中隐藏用户信息的方法。可验证证书颁发机构基于自身密钥向身份注册机构进行注册。身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册。所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书。所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。所述验证证书机构对所述可验证证书进行验证。所述用户信息包括用户真实公钥、用户具体年龄和/或用户资产额度。所述可验证证书中包含使用多个身份持有者的持有者公钥生成的环签名、年龄范围和/或被加密过的资产额度。在验证过程中隐藏用户信息能提高交易的安全性,保障系统的安全性。

Description

去中心化身份系统中隐藏用户信息的方法和计算机可读介质 技术领域
本发明涉及区块链领域,更具体地说,涉及一种去中心化身份系统中隐藏用户信息的方法和计算机可读介质。
背景技术
传统的数字认证是中心化的,比如互联网名称与数字地址分配机构(The Internet Corporation for Assigned Names and Numbers,ICANN)管理的域名与IP地址分配,以及公钥基础设施(Public Key Infrastructure,PKI)系统中的证书授权(Certificate Authority,CA)机构管理的数字证书。中心化身份系统的本质就是,中央集权化的权威机构掌握着身份数据,因为围绕数据进行的认证、授权等也都由中心化的机构来决定。身份不是由用户自己控制的。
为了解决这个问题,许多网站自己联合起来推出了联盟身份(这个概念是首先由微软在1999年提出的)。在联盟身份体系下,用户的在线身份有了一定的可移植性。如今的不少网站注册都可以支持第三方登录,比如微信、QQ、新浪微博等。
身份系统的去中心化依然成为一个大趋势,著名的国际组织w3c和dif也都推出了其去中心化身份系统标准。在去中心化系统中,用户信息,例如资产额度、具体年龄甚至真实公钥,将被大量使用,因此容易被黑客盗取,从而导致系统的安全性问题。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种去中心化身份系统中隐藏用户信息的方法和计算机可读介质,其能够在验证过程中,隐藏用户信息,从而提高交易的安全性,进而保障系统的安全性。
本发明解决其技术问题采用的技术方案是,构造一种去中心化身份系统中隐藏用户信息的方法,包括:
S1、可验证证书颁发机构基于自身密钥向身份注册机构进行注册;
S2、身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册;
S3、所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书;
S4、所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构;
S5、所述验证证书机构对所述可验证证书进行验证。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S1进一步包括:
S11、所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥;
S12、所述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构;
S13、所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S2进一步包括:
S21、所述身份持有者生成持有者私钥并基于所述持有者私钥生成持有者公钥;
S22、所述身份持有者向所述可验证证书颁发机构提交注册请求,并采用所述持有者私钥签名所述注册请求,并将签名注册请求发送到所述可验证证书颁发机构;
S23、所述可验证证书颁发机构验签所述签名注册请求,并在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述持有者公钥;
S24、所述身份注册机构根据所述持有者公钥生成所述身份持有者的去中心化身份标识符和去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构;
S25、所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,在所述步骤S21中,所述身份持有者选取椭圆曲线上面的一个随机标量作为持有者密钥,并将所述持有者密钥与椭圆曲线上的基点做椭圆曲线乘法得到所述持有者公钥。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述用户信息包括用户真实公钥,所述可验证证书中包含使用多个身份持有者的持有者公钥生成的环签名。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S3进一步包括:
S31、所述身份持有者从所述验证证书机构获得可验证证书信息,并基于所述可验证证书信息从所述可验证证书颁发机构获取多个其他身份持有者的去中心化身份标识符和持有者公钥;
S32、所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并从所述可验证证书颁发机构获取所述可验证证书。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S31进一步包括:
S311、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
S312、所述验证证书机构基于所述请求返回可验证证书信息;
S313、所述身份持有者根据所述可验证证书信息向所述可验证证书颁发机构发送信息返回请求,并使用所述持有者私钥对所述信息返回请求加签,所述信息返回请求包括请求所述可验证证书颁发机构返回多个其他身份持有者 的去中心化身份标识符和持有者公钥;
S34、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并采用所述持有者公钥对所述信息返回请求进行验签,如果验签通过执行步骤S35,否则拒绝所述信息返回请求;
S35、所述可验证证书颁发机构返回多个其他身份持有者的去中心化身份标识符和持有者公钥给所述身份持有者。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S32进一步包括:
S321、所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述环签名、多个其他身份持有者的持有者公钥、多个其他身份持有者的去中心化身份标识符,以及所述身份持有者对证书颁发请求的签名;
S322、所述可验证证书颁发机构分别校验所述身份持有者对证书颁发请求的签名和所述环签名,如果校验通过则向所述身份持有者颁发所述可验证证书,否则拒绝颁发所述可验证证书。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述可验证证书包括:多个身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、多个身份持有者的公钥、所述环签名、所述可验证证书颁发机构对所述可验证证书的签名。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述多个身份持有者的去中心化身份标识符和多个身份持有者的公钥的排序是独立且非一一对应的。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S5进一步包括:
S51、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
S52、所述验证证书机构根据所述多个身份持有者的公钥验证所述环签名 以获得第二验证结果;
S53、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述用户信息包括用户具体年龄,所述可验证证书中包含所述可验证证书颁发机构提供的年龄范围。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S3进一步包括:
S3A、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
S3B、所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括需要证明的年龄范围;
S3C、所述身份持有者向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、需要认证的内容包括年龄,需要证明的年龄范围、以及所述身份持有者对证书颁发请求的签名;
S3D、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,如果验证通过则执行步骤S3E,否则拒绝颁发证书;
S3E、判断所述身份持有者在所述可验证证书颁发机构注册的年龄是否位于所述需要证明的年龄范围内,如果是则颁发所述可验证证书给所述身份持有者,否则拒绝颁发证书。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,所述可验证证书颁发机构提供的年龄范围。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S5进一步包括:
S5A、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
S5B、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
S5C、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述用户信息包括用户资产额度,所述可验证证书中包含被加密过的资产额度。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S3进一步包括:
S3a、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
S3b、所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括提供资产额度的要求;
S3c、所述身份持有者向所述可验证证书颁发机构发送财产查询请求,所述财产查询请求包括所述身份持有者的所述去中心化身份标识符、资产额度查询、以及所述身份持有者对证书颁发请求的签名;
S3d、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,并基于验证结果向所述身份持有者返回资产额度;
S3e、所述身份持有者使用所述持有者私钥对所述资产额度进行加密,并将加密后的资产额度提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述加密后的资产额度颁发可验证证书;
S3f、所述可验证证书颁发机构将所述加密后的资产额度与所述身份持有者的资产额度进行比较,并基于比较结果颁发所述可验证证书给所述身份持有者。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,在所述步骤S3e中,所述身份持有者使用所述持有者私钥对所述资产额度生成佩德森承诺,并将所述佩德森承诺提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述佩德森承诺颁发可验证证书。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,在所述步骤S3中,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,被加密的资产额度,被加密的资产额度的范围证明。
在本发明所述的去中心化身份系统中隐藏用户信息的方法中,所述步骤S5进一步包括:
S5a、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
S5b、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
S5c、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的去中心化身份系统中隐藏用户信息的方法。
实施本发明的去中心化身份系统中隐藏用户信息的方法和计算机可读存储介质,能够在验证过程中,隐藏用户信息,从而提高交易的安全性,进而保障系统的安全性。进一步地,不需要透露用户的真实公钥就可以验证用户的真 实公钥,能够在验证过程中,隐藏用户真实公钥,从而提高交易的安全性,进而保障系统的安全性。不需要透露用户的具体年龄即可以筛选出年龄满足某个条件的身份持有者(即用户),因此在用户具体年龄验证过程中,隐藏用户具体年龄,从而保证用户隐私,提高交易的安全性。不需要透露用户的具体资产金额即可以筛选出资产额度满足某个条件的身份持有者(即用户),因此在用户的资产额度验证过程中,隐藏用户的资产额度,从而保证用户隐私,提高交易的安全性。进一步的可以录入用户的虹膜或者指纹来生成作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无接触地使用身份信息和使用区块链上的资产。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第一优选实施例的流程图;
图2是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图;
图3是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的身份持有者的注册流程示意图;
图4是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的可验证证书的验证流程示意图;
图5是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第一优选实施例的流程图;
图6是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图;
图7是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的身份持有者的注册流程示意图;
图8是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的可验证证书的验证流程示意图;
图9是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第一优选实施例的流程图;
图10是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图;
图11是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的身份持有者的注册流程示意图;
图12是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的可验证证书的验证流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明涉及一种去中心化身份系统中隐藏用户信息的方法。可验证证书颁发机构基于自身密钥向身份注册机构进行注册。身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册。所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书。所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。所述验证证书机构对所述可验证证书进行验证。所述用户信息包括用户真实公钥、用户具体年龄和/或用户资产额度。所述可验证证书中包含使用多个身份持有者的持有者公钥生成的环签名、所述可验证证书颁发机构提供的年龄范围和/或被加密过的资产额度。实施本发明的去中心化身份系统中隐藏用户信息的方法,能够在验证过程中,隐藏用户信息,从而提高交易的安全性,进而保障系统的安全性。进一步地,不需要透露用户的真实公钥就可以验证用户的真实公钥,能够在验证过程中,隐藏用户真实公钥,不需要透露用户的具体年龄即可以筛选出年龄满足某个条件的身份持有者(即用户),因此在用户具体年龄验 证过程中,隐藏用户具体年龄,不需要透露用户的具体资产金额即可以筛选出资产额度满足某个条件的身份持有者(即用户),因此在用户的资产额度验证过程中,隐藏用户的资产额度,从而保证用户隐私,提高交易的安全性。
图1是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第一优选实施例的流程图。如图1所示,在步骤S1中,可验证证书颁发机构基于自身密钥向身份注册机构进行注册,从而使得其可以获得颁发可验证证书的资格。例如,所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥。例如可以采用椭圆曲线密钥体系获得机构私钥和机构公钥。当然,也可以采用本领域中已知的任何密钥生成算法。述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构。所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
在步骤S2中,身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册。在本发明的一个优选实施例中,所述身份持有者生成持有者私钥并基于所述持有者私钥生成持有者公钥。例如,扫描所述身份持有者的虹膜以生成虹膜码;对所述虹膜码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。本领域技术人员知悉,虹膜码可以采用本领域中任何的虹膜采集器生成。针对获得的虹膜码,可以采用哈希函数,将其进行计算,从而获得具有唯一固定长度的字符串,并将其作为随机种子生成所述持有者私钥。在此,可以采用任何已知方法生成持有者私钥。可以采用任何已知的方法生成所述持有者公钥。在本发明的优选实施例中,所述身份持有者选取椭圆曲线上面的一个随机标量作为持有者密钥,并将所述持有者密钥与椭圆曲线上的基点做椭圆曲线乘法得到所述持有者公钥。例如可以采用椭圆曲线密钥体系获取所述持有者公钥,例如R=r*G。其中,G表示椭圆曲线算法中的私钥公钥换算因子。因此可以从持有者私钥r推导出持有者公钥R,但是无法从持有者公钥R推导出持有者私钥r,因此是不可逆的。又例如,可以扫描所述身份持有者的至少一个指纹以生成指纹码;对所述指纹码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然 后基于所述持有者私钥生成所述持有者公钥。又例如,可以扫描所述身份持有者的多个指纹以生成多个指纹码;对每个指纹码做哈希,使用获得的每个哈希值分部作为随机种子生成多个所述持有者私钥;然后基于各个所述持有者私钥生成多个所述持有者公钥。
随后,所述身份持有者向所述可验证证书颁发机构提交注册请求,并采用所述持有者私钥签名所述注册请求,并将签名注册请求发送到所述可验证证书颁发机构。所述可验证证书颁发机构验签所述签名注册请求,并在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述持有者公钥。该注册信息可以是所述身份持有者的某个属性,例如:年龄,资产金额,身体健康状况等。
所述身份注册机构针对所述可验证证书颁发机构的请求,根据所述持有者公钥生成所述身份持有者的去中心化身份标识符和去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构。随后,所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
在所述步骤S3中,所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书,所述可验证证书中包含使用多个身份持有者的持有者公钥生成的环签名。在本发明的优选实施例中,所述身份持有者从所述验证证书机构获得可验证证书信息,并基于所述可验证证书信息从所述可验证证书颁发机构获取多个其他身份持有者的去中心化身份标识符和持有者公钥。随后,所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并从所述可验证证书颁发机构获取所述可验证证书。
在本发明的进一步的优选实施例中,所述身份持有者向所述验证证书机构发送业务开始请求。所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名。所述验证证书机构基于所述请求返回可验证证书信息。所述可验证证书信息包括要求所述身份持有者提交可验证证书的内容,即提交的可验证证书中需要包括多个身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁 发机构的去中心化身份标识符、多个身份持有者的公钥、所述环签名、所述可验证证书颁发机构对所述可验证证书的签名。所述身份持有者根据所述可验证证书信息向所述可验证证书颁发机构发送信息返回请求,并使用所述持有者私钥对所述信息返回请求加签。所述信息返回请求包括请求所述可验证证书颁发机构返回多个其他身份持有者的去中心化身份标识符和持有者公钥。所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验签,如果验证不通过则拒绝所述信息返回请求。如果验证通过,所述可验证证书颁发机构返回多个其他身份持有者的去中心化身份标识符和持有者公钥给所述身份持有者。
所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并向所述可验证证书颁发机构发送证书颁发请求。所述证书颁发请求包括所述环签名、多个其他身份持有者的持有者公钥、多个其他身份持有者的去中心化身份标识符,以及所述身份持有者对证书颁发请求的签名。所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验签,如果验证不通过则拒绝颁发证书。如果验证通过,则采用多个其他身份持有者的持有者公钥对所述环签名进行验签,如果验签通过则向所述身份持有者颁发所述可验证证书,否则拒绝颁发所述可验证证书。在本实施例中,获得的所述可验证证书包括:多个身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、多个身份持有者的公钥、所述环签名、所述可验证证书颁发机构对所述可验证证书的签名。优选的,所述多个身份持有者的去中心化身份标识符和多个身份持有者的公钥的排序是独立且非一一对应的,这样可以进一步保证本发明的方法的匿名性。
在步骤S4中,所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。
在步骤S5中,所述验证证书机构对所述可验证证书进行验证。优选的,所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书 颁发机构对所述可验证证书的签名,如果验证通过则进行下一步验证。所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述多个身份持有者的公钥,并使用所述多个身份持有者的公钥验证所述环签名,如果验证通过,则进行内容验证。该内容验证所述可验证证书中的条件的验证(即例如年龄范围认证),如符合要求则验证通过,否则验证不通过。
实施本发明的去中心化身份系统中隐藏用户真实公钥的方法,不需要透露用户的真实公钥就可以验证用户的真实公钥,能够在验证过程中,隐藏用户真实公钥,从而提高交易的安全性,进而保障系统的安全性。进一步的可以录入用户的虹膜或者指纹来生成作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无接触地使用身份信息和使用区块链上的资产。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
图2是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图。图3是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的身份持有者的注册流程示意图。图4是本发明的去中心化身份系统中隐藏用户真实公钥的方法的第二优选实施例的可验证证书的验证流程示意图。
下面结合图2-4对本发明的第二优选实施例说明如下。首先对本发明中使用到的进行术语解释如下:
去中心化身份标识符(Decentralized Identifier,简称DID)
一串作用类似于URL的字符串,其标准可以遵循w3c或者dif等标准组织制定的标准,也可以遵循多个联盟机构制定的标准。DID记录了在多个联盟机构内唯一的身份标识符,以及查找DID所需要的协议。多个联盟机构可以根据DID定位到存储了DID详细信息的实体,并向该实体请求DID的详细信息,包括公钥等。
去中心化身份标志符文档(Decentralized Identifier Document,简称DID文档)
DID文档保存了DID的详细信息,包括:DID的公钥,DID签名类型,DID认证类型,DID支持的服务类型以及支持DID服务的URL等。
私钥(Secret Key,简称SK)
用于发送消息前,加签本发明各个实体之间交互的消息的密钥,证明实体身份的真实性,该密钥隐私不可见
公钥(Public Key,简称PK)
用于验证各个实体之间交互的消息的密钥,该密钥公开
椭圆曲线(Elliptic Curve)
基于离散对数难题的非对称加密算法,满足乘法交换律,乘法结合律,加法交换律,加法结合律。选取椭圆曲线上的通用基点(base point)G,选取椭圆曲线上一个随机的标量(scalar)作为加密的私钥,通过与基点G做椭圆曲线乘法可以生成对应的公钥
哈希函数
哈希函数用于对椭圆曲线上的标量或者基点做不可逆哈希
环签名(Ring Signature)
环签名的优点是可以不经过其他用户允许,就可以使用其他用户的公钥,用其他多个用户的公钥和自己的公钥生成签名,需要验证环签名的一方需要使用多个用户的公钥来验证环签名,但是却无法知道具体签名的用户的公钥是哪个
身份持有者(Identifier Holder,简称IH)
持有唯一身份的人,身份持有者需要通过录入虹膜或者指纹来生成自己的SK和PK,例如RSA或者椭圆曲线
可验证证书(Verifiable Credentials,简称VC)
可以验证的证书,证书中包含颁发证书的机构,以及需要验证的信息,以及颁发机构对该证书的签名等信息
可验证证书发行机构(ISSUER,简称IS)
被信任的有资格颁发VC证书的机构,可以是学校,银行,律师事务所,公立医院,连锁酒店,连锁旅馆等
验证证书机构(Inspector Verifier,简称IV)
需要对IH进行身份验证的机构,例如:用人单位,信贷机构等。IV不仅可以对IH的身份进行验证,并且可以对IH的某个属性进行验证,例如:年龄,资产数,身体健康状况等;在本发明当中,IV只能根据IS的DID获取IS的公钥,无法通过IH的DID获取IH的公钥
身份注册机构(Identifier Registry,简称IR)
用于注册身份的机构,维护本发明当中所有实体的DID的数据库,如某条区块链、分布式账本。
在图2所示实施例中,首先IS向IR注册,以获取得到颁发VC的资格,其具体注册步骤如下:
①IS首先生成一个SK,然后通过SK再生成PK
②IS通过SK加签注册请求,并将注册请求提交到IR
③IR对IS的注册请求进行验证,验证通过之后生成IS的DID,以及DID文档。
在图3所示实施例中,IH向IS注册,其具体注册步骤如下:
①IH选取椭圆曲线上面的一个随机标量做为SK,然后与椭圆曲线上的基点做椭圆曲线乘法得到PK;
②IH提交注册请求到IS,IS对IH请求进行验签,并对IH的注册信息进行验证,验证包括IH的身份证号码,年龄,性别等;
③如果验证通过,则继续向IR提交验证请求,验证请求当中包含IH的公钥;
④IR根据IS的请求,针对IH的公钥生成DID和DID文档,返回给IS;
⑤IS将DID和DID文档返回给IH。
在图4所示实施例中IH使用VC向IV进行认证。IH需要进行某项业务,但是IH不想透露自己的身份,但是IV却想知道IH的DID是在IS那里注册过的,因此其具体步骤如下
①IH向IV发送业务开始请求,该业务开始请求包括:IH的DID、DID文档,以及IH对业务请求的签名;而IV返回可验证证书信息,该可验证证书信 息即为需要IH提交VC的信息,VC的内容包括:多个IH的DID、颁发VC的IS的DID、使用多个IH的公钥生成的环签名以及IS对VC的签名。当然VC还可以包括其他需要的资料。
②IH携带自身DID向IS发送信息返回请求,要求IS返回多个其他IH的DID和公钥,并采用自身私钥对该信息返回请求进行加签。
③IS使用DID向IR查询,获取IH的公钥,然后使用公钥对IH的请求进行验签,如果验签通过,则返回多个IH的公钥和DID给IH,如果验签不过,则拒绝本次请求。IS返回的DID和公钥不是一一对应的,DID的排序和公钥的排序是独立的,目的是为了防止DID和公钥对应,从而进一步提高本发明的匿名性。
④IH使用其他多个IH的公钥生成环签名,然后发送VC颁发请求给IS,要求IS颁发VC,该VC颁发请求包括:环签名、其他多个IH的DID、其他多个IH的公钥、对本次请求的签名。
⑤IS收到要求VC颁发请求后,IS根据IH的DID向IR请求IH的公钥,并对IH的请求签名进行验签,并使用其他多个IH的公钥对环签名进行校验。
⑥如果IS对VC颁发请求验证不过,则拒绝颁发VC。如果验证通过,则颁发VC,颁发VC的内容包括:多个IH的DID(包括要求颁发VC的IH)、多个IH的公钥(包括要求颁发VC的IH)、IS的DID、使用多个IH的公钥生成的环签名、IS对VC的签名。其中VC的DID和公钥不是一一对应的,DID的排序和公钥的排序是独立的,目的是为了防止DID和公钥对应,从而进一步提高本发明的匿名性。
⑦IH收到VC后对VC进行签名,并将VC和签名提交到IV。
⑧IV对VC进行认证,具体过程如下:
根据VC当中IS的DID向IR请求IS的公钥,使用IS的公钥验证VC当中IS的签名;
根据VC当中的多个IH的公钥验证环签名,如果IS和环签名都验证通过,则判断VC当中的要求的其他条件是否符合要求,如符合要求则验证通过,否则验证不通过。
如果IS签名和环签名都验证通过,则判断验证通过。当然在所述VC中包含其他验证内容是,需要对其他验证内容进行验证(例如资产,身份等等),如果验证通过,则判断验证通过。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的去中心化身份系统中隐藏用户真实公钥的方法。
图5是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第一优选实施例的流程图。如图5所示,在步骤S1中,可验证证书颁发机构基于自身密钥向身份注册机构进行注册,从而使得其可以获得颁发可验证证书的资格。例如,所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥。例如可以采用椭圆曲线密钥体系获得机构私钥和机构公钥。当然,也可以采用本领域中已知的任何密钥生成算法。述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构。所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
在步骤S2中,身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册。在本发明的一个优选实施例中,所述身份持有者生成持有者私钥并基于所述持有者私钥生成持有者公钥。例如,扫描所述身份持有者的虹膜以生成虹膜码;对所述虹膜码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。本领域技术人员知悉,虹膜码可以采用本领域中任何的虹膜采集器生成。针对获得的虹膜码,可以采用哈希函数,将其进行计算,从而获得具有唯一固定长度的字符串,并将其作为随机种子生成所述持有者私钥。在此,可以采用任何已知方法生成持有者私钥。可以采用任何已知的方法生成所述持有者公钥。在本发明的优选实施例中,所述身份持有者选取椭圆曲线上面的一个随机标量作为持有者密钥,并将所述持有者密钥与椭圆曲线上的基点做椭圆曲线乘法得到所述持有者公钥。例如可以采用椭圆曲线密钥体系获取所述持有者公钥,例如R=r*G。其 中,G表示椭圆曲线算法中的私钥公钥换算因子。因此可以从持有者私钥r推导出持有者公钥R,但是无法从持有者公钥R推导出持有者私钥r,因此是不可逆的。又例如,可以扫描所述身份持有者的至少一个指纹以生成指纹码;对所述指纹码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。又例如,可以扫描所述身份持有者的多个指纹以生成多个指纹码;对每个指纹码做哈希,使用获得的每个哈希值分部作为随机种子生成多个所述持有者私钥;然后基于各个所述持有者私钥生成多个所述持有者公钥。
随后,所述身份持有者向所述可验证证书颁发机构提交注册请求,并采用所述持有者私钥签名所述注册请求,并将签名注册请求发送到所述可验证证书颁发机构。所述可验证证书颁发机构验签所述签名注册请求,并在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述持有者公钥。该注册信息可以是所述身份持有者的某个属性,例如:年龄,资产金额,身体健康状况等。
所述身份注册机构针对所述可验证证书颁发机构的请求,根据所述持有者公钥生成所述身份持有者的去中心化身份标识符和去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构。随后,所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
在所述步骤S3中,所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书,所述可验证证书中包含被加密过的资产额度。在本发明的优选实施例中,所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名。所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括提供资产额度的要求。然后所述身份持有者向所述可验证证书颁发机构发送财产查询请求,所述财产查询请求包括所述身份持有者的所述去中心化身份标识符、资产额度查询、以及所述身份持有者对证书颁发请求的签名。所述可验证证书颁发机构 基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,并基于验证结果向所述身份持有者返回资产额度。所述身份持有者使用所述持有者私钥对所述资产额度进行加密,并将加密后的资产额度提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述加密后的资产额度颁发可验证证书。所述可验证证书颁发机构将所述加密后的资产额度与所述身份持有者的资产额度进行比较,如果结果相等,则颁发所述可验证证书给所述身份持有者。如果不相等,则不颁发所述可验证证书给所述身份持有者。优选的,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,被加密的资产额度,被加密的资产额度的范围证明。在本发明的优选实施例中,所述身份持有者使用所述持有者私钥对所述资产额度生成佩德森承诺,并将所述佩德森承诺提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述佩德森承诺颁发可验证证书。
在步骤S4中,所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。
在步骤S5中,所述验证证书机构对所述可验证证书进行验证。优选的,所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名,如果验证通过则进行下一步验证。所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名,如果验证通过,则说明验证完全通过。当然,在本发明的进一步的实施例中,还可以对VC中包含的其他内容进一步进行内容验证,该内容验证可以是例如年龄、性别等相关信息的验证,如符合要求则验证通过,否则验证不通过。
实施本发明的去中心化身份系统中隐藏用户的资产额度的方法,不需要透露用户的具体资产金额即可以筛选出资产额度满足某个条件的身份持有者(即 用户),因此在用户的资产额度验证过程中,隐藏用户的资产额度,从而保证用户隐私,提高交易的安全性。进一步的可以录入用户的虹膜或者指纹来生成作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无接触地使用身份信息和使用区块链上的资产。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。再进一步地本发明还可以用于比较多个用户的资产额度,进行资产排名相关的业务。
图6是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图。图3是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的身份持有者的注册流程示意图。图8是本发明的去中心化身份系统中隐藏用户的资产额度的方法的第二优选实施例的可验证证书的验证流程示意图。
下面结合图6-4对本发明的第二优选实施例说明如下。首先对本发明中使用到的进行术语解释如下:
去中心化身份标识符(Decentralized Identifier,简称DID)
一串作用类似于URL的字符串,其标准可以遵循w3c或者dif等标准组织制定的标准,也可以遵循多个联盟机构制定的标准。DID记录了在多个联盟机构内唯一的身份标识符,以及查找DID所需要的协议。多个联盟机构可以根据DID定位到存储了DID详细信息的实体,并向该实体请求DID的详细信息,包括公钥等。
去中心化身份标志符文档(Decentralized Identifier Document,简称DID文档)
DID文档保存了DID的详细信息,包括:DID的公钥,DID签名类型,DID认证类型,DID支持的服务类型以及支持DID服务的URL等。
私钥(Secret Key,简称SK)
用于发送消息前,加签本发明各个实体之间交互的消息的密钥,证明实体身份的真实性,该密钥隐私不可见
公钥(Public Key,简称PK)
用于验证各个实体之间交互的消息的密钥,该密钥公开
椭圆曲线(Elliptic Curve)
基于离散对数难题的非对称加密算法,满足乘法交换律,乘法结合律,加法交换律,加法结合律。选取椭圆曲线上的通用基点(base point)G,选取椭圆曲线上一个随机的标量(scalar)作为加密的私钥,通过与基点G做椭圆曲线乘法可以生成对应的公钥
哈希函数
哈希函数用于对椭圆曲线上的标量或者基点做不可逆哈希
佩德森承诺(Pederson Commit)
佩德森承诺是一种对数字进行同态加密的算法,其被加密过后的数字可以保留数字原来的特性,比如说,被加密后的两个数字依旧可以进行大小比较,也可以跟未被加密的数字进行大小比较
范围证明(Range Proof)
证明被加密过后的资产金额在某个范围内,例如:高于5w元。常用的范围证明算法有Borromean Signature和BulletProofs。
身份持有者(Identifier Holder,简称IH)
持有唯一身份的人,身份持有者需要通过录入虹膜或者指纹来生成自己的SK和PK
可验证证书(Verifiable Credentials,简称VC)
可以验证的证书,证书中包含颁发证书的机构,以及需要验证的信息,以及颁发机构对该证书的签名等信息
可验证证书发行机构(ISSUER,简称IS)
被信任的有资格颁发VC的机构,该机构有权利查询用户的资产额度
验证证书机构(Inspector Verifier,简称IV)
需要对IH进行身份验证的机构,例如:用人单位,信贷机构等。IV不仅可以对IH的身份进行验证,并且可以对IH的某个属性进行验证,例如:年龄,资产数,身体健康状况等
身份注册机构(Identifier Registry,简称IR)
用于注册身份的机构,维护本发明当中所有实体的DID的数据库,如某条区块链、分布式账本。
在图6所示实施例中,首先IS向IR注册,以获取得到颁发VC的资格,其具体注册步骤如下:
①IS首先生成一个SK,然后通过SK再生成PK
②IS通过SK加签注册请求,并将注册请求提交到IR
③IR对IS的注册请求进行验证,验证通过之后生成IS的DID,以及DID文档。
在图3所示实施例中,IH向IS注册,其具体注册步骤如下:
①IH选取椭圆曲线上面的一个随机标量做为SK,然后与椭圆曲线上的基点做椭圆曲线乘法得到PK;
②IH提交注册请求到IS,IS对IH请求进行验签,并对IH的注册信息进行验证,验证包括IH的身份证号码,年龄,性别等;
③如果验证通过,则继续向IR提交验证请求,验证请求当中包含IH的公钥;
④IR根据IS的请求,针对IH的公钥生成DID和DID文档,返回给IS;
⑤IS将DID和DID文档返回给IH。
在图8所示实施例中IH使用VC向IV进行认证。IH需要进行某项业务,而进行业务的前提条件是IV需要确认IH具有进行该业务的资格,在本实施例中,为资产金额,也可以包括其他注册信息(例如年龄或者其他)。其具体步骤如下
①IH向IV发送业务开始请求,该业务开始请求包括:IH的DID、DID文档,以及IH对业务请求的签名;而IV返回可验证证书信息,该可验证证书信息即为需要IH提交VC的信息,VC的内容包括:IH的DID,颁发VC的IS的DID,IH对VC的签名,IS对VC的签名,被加密过的资产额度以及被加密过的资产额度的范围证明。
②IH向IS查询自己资产的额度,并将查询资产额度的请求提交到IS。
③对于IH要求查询资产额度的请求,IS根据IH的DID向IR请求IH的 公钥,并对IH的请求签名进行验证。并对IH的请求签名进行验证。如果验证不通过则拒绝返回资产额度给IH,如果通过则返回资产额度给IH。
④IH使用私钥对自己的资产额度生成Pederson Commit,提交到IS,并要求IS针对该Pederson Commit颁发证书。
⑤IS对IH的Pederson Commit与IH的实际资产额度做比较,如果两者相等则颁发VC给IH,否则将不颁发VC。
⑥IH提交VC到IV,IV对VC进行认证,具体认证过程如下:
根据VC当中IS的DID向IR请求IS的公钥;使用IS的公钥验证VC当中IS的签名;根据VC当中IH的DID向IR请求IH的公钥;使用IH的公钥验证VC当中IH的签名;如果IS和IH的签名都验证通过,则判断验证通过,否则,判断验证不通过。
进一步的,还可以进一步验证VC当中的其他信息(如果包含的话,例如年龄,性别等等),如果IS和IH的签名都验证通过,且其他信息验证也通过,则判断验证通过,否则,判断验证不通过。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的去中心化身份系统中隐藏用户的资产额度的方法。
图9是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第一优选实施例的流程图。如图9所示,在步骤S1中,可验证证书颁发机构基于自身密钥向身份注册机构进行注册,从而使得其可以获得颁发可验证证书的资格。例如,所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥。例如可以采用椭圆曲线密钥体系获得机构私钥和机构公钥。当然,也可以采用本领域中已知的任何密钥生成算法。述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构。所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
在步骤S2中,身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册。在本发明的一个优选实施例中,所述身份持有者生成持有者 私钥并基于所述持有者私钥生成持有者公钥。例如,扫描所述身份持有者的虹膜以生成虹膜码;对所述虹膜码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。本领域技术人员知悉,虹膜码可以采用本领域中任何的虹膜采集器生成。针对获得的虹膜码,可以采用哈希函数,将其进行计算,从而获得具有唯一固定长度的字符串,并将其作为随机种子生成所述持有者私钥。在此,可以采用任何已知方法生成持有者私钥。可以采用任何已知的方法生成所述持有者公钥。在本发明的优选实施例中,所述身份持有者选取椭圆曲线上面的一个随机标量作为持有者密钥,并将所述持有者密钥与椭圆曲线上的基点做椭圆曲线乘法得到所述持有者公钥。例如可以采用椭圆曲线密钥体系获取所述持有者公钥,例如R=r*G。其中,G表示椭圆曲线算法中的私钥公钥换算因子。因此可以从持有者私钥r推导出持有者公钥R,但是无法从持有者公钥R推导出持有者私钥r,因此是不可逆的。又例如,可以扫描所述身份持有者的至少一个指纹以生成指纹码;对所述指纹码做哈希,使用获得的哈希值作为随机种子生成所述持有者私钥;然后基于所述持有者私钥生成所述持有者公钥。又例如,可以扫描所述身份持有者的多个指纹以生成多个指纹码;对每个指纹码做哈希,使用获得的每个哈希值分部作为随机种子生成多个所述持有者私钥;然后基于各个所述持有者私钥生成多个所述持有者公钥。
随后,所述身份持有者向所述可验证证书颁发机构提交注册请求,并采用所述持有者私钥签名所述注册请求,并将签名注册请求发送到所述可验证证书颁发机构。所述可验证证书颁发机构验签所述签名注册请求,并在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述持有者公钥。该注册信息可以是所述身份持有者的某个属性,例如:年龄,资产金额,身体健康状况等。
所述身份注册机构针对所述可验证证书颁发机构的请求,根据所述持有者公钥生成所述身份持有者的去中心化身份标识符和去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构。随后,所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述 身份持有者。
在所述步骤S3中,所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书,所述可验证证书中包含所述可验证证书颁发机构提供的年龄范围。在本发明的优选实施例中,所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名。所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括需要证明的年龄范围。所述身份持有者向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、需要认证的内容包括年龄,需要证明的年龄范围、以及所述身份持有者对证书颁发请求的签名。所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,如果验证不通过则拒绝颁发证书。如果验证通过,则判断所述身份持有者在所述可验证证书颁发机构注册的年龄是否位于所述需要证明的年龄范围内,如果是则颁发所述可验证证书给所述身份持有者,否则拒绝颁发证书。优选的,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,所述可验证证书颁发机构提供的年龄范围。
在步骤S4中,所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构。
在步骤S5中,所述验证证书机构对所述可验证证书进行验证。优选的,所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名,如果验证通过则进行下一步验证。所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名,如果验证通过,则进行内容验证。该内容验证所述可验证证书 中的条件的验证(即例如年龄范围认证),如符合要求则验证通过,否则验证不通过。
实施本发明的去中心化身份系统中隐藏用户具体年龄的方法,不需要透露用户的具体年龄即可以筛选出年龄满足某个条件的身份持有者(即用户),因此在用户具体年龄验证过程中,隐藏用户具体年龄,从而保证用户隐私,提高交易的安全性。进一步的可以录入用户的虹膜或者指纹来生成作为随机种子来生成身份持有者私钥,从而可以使得身份持有者在使用身份信息的时候可以无接触地使用身份信息和使用区块链上的资产。进一步地,本发明还明确定义了身份持有者、可验证证书颁发机构的注册过程和验证过程,从而提供了安全有效的构建去中心化区块链身份的方法。
图10是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的可验证证书颁发机构的注册流程示意图。图11是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的身份持有者的注册流程示意图。图12是本发明的去中心化身份系统中隐藏用户具体年龄的方法的第二优选实施例的可验证证书的验证流程示意图。
下面结合图10-4对本发明的第二优选实施例说明如下。首先对本发明中使用到的进行术语解释如下:
去中心化身份标识符(Decentralized Identifier,简称DID)
一串作用类似于URL的字符串,其标准可以遵循w3c或者dif等标准组织制定的标准,也可以遵循多个联盟机构制定的标准。DID记录了在多个联盟机构内唯一的身份标识符,以及查找DID所需要的协议。多个联盟机构可以根据DID定位到存储了DID详细信息的实体,并向该实体请求DID的详细信息,包括公钥等。
去中心化身份标志符文档(Decentralized Identifier Document,简称DID文档)
DID文档保存了DID的详细信息,包括:DID的公钥,DID签名类型,DID认证类型,DID支持的服务类型以及支持DID服务的URL等。
私钥(Secret Key,简称SK)
用于发送消息前,加签本发明各个实体之间交互的消息的密钥,证明实体身份的真实性,该密钥隐私不可见
公钥(Public Key,简称PK)
用于验证各个实体之间交互的消息的密钥,该密钥公开
椭圆曲线(Elliptic Curve)
基于离散对数难题的非对称加密算法,满足乘法交换律,乘法结合律,加法交换律,加法结合律。选取椭圆曲线上的通用基点(base point)G,选取椭圆曲线上一个随机的标量(scalar)作为加密的私钥,通过与基点G做椭圆曲线乘法可以生成对应的公钥
哈希函数
哈希函数用于对椭圆曲线上的标量或者基点做不可逆哈希
身份持有者(Identifier Holder,简称IH)
持有唯一身份的人,身份持有者需要通过录入虹膜或者指纹来生成自己的SK和PK,例如RSA或者椭圆曲线
可验证证书(Verifiable Credentials,简称VC)
可以验证的证书,证书中包含颁发证书的机构,以及需要验证的信息,以及颁发机构对该证书的签名等信息
可验证证书发行机构(ISSUER,简称IS)
被信任的有资格颁发VC证书的机构,可以是学校,银行,律师事务所,公立医院,连锁酒店,连锁旅馆等
验证证书机构(Inspector Verifier,简称IV)
需要对IH进行身份验证的机构,例如:用人单位,信贷机构等。IV不仅可以对IH的身份进行验证,并且可以对IH的某个属性进行验证,例如:年龄,资产数,身体健康状况等
身份注册机构(Identifier Registry,简称IR)
用于注册身份的机构,维护本发明当中所有实体的DID的数据库,如某条区块链、分布式账本。
在图10所示实施例中,首先IS向IR注册,以获取得到颁发VC的资格, 其具体注册步骤如下:
①IS首先生成一个SK,然后通过SK再生成PK
②IS通过SK加签注册请求,并将注册请求提交到IR
③IR对IS的注册请求进行验证,验证通过之后生成IS的DID,以及DID文档。
在图11所示实施例中,IH向IS注册,其具体注册步骤如下:
①IH选取椭圆曲线上面的一个随机标量做为SK,然后与椭圆曲线上的基点做椭圆曲线乘法得到PK;
②IH提交注册请求到IS,IS对IH请求进行验签,并对IH的注册信息进行验证,验证包括IH的身份证号码,年龄,性别等;
③如果验证通过,则继续向IR提交验证请求,验证请求当中包含IH的公钥;
④IR根据IS的请求,针对IH的公钥生成DID和DID文档,返回给IS;
⑤IS将DID和DID文档返回给IH。
在图12所示实施例中IH使用VC向IV进行认证。IH需要进行某项业务,而进行业务的前提条件是IV需要确认IH具有进行该业务的资格,在本实施例中,为年龄,也可以包括其他注册信息(例如年龄或者其他)。其具体步骤如下
①IH向IV发送业务开始请求,该业务开始请求包括:IH的DID、DID文档,以及IH对业务请求的签名;而IV返回可验证证书信息,该可验证证书信息即为需要IH提交VC的信息,VC的内容包括:IH的DID,颁发VC的IS的DID,IH对VC的签名,IS对VC的签名,IS提供的年龄范围。当然VC还可以包括其他需要的资料。
②IH向IS发送VC颁发请求,该VC颁发请求包括:IH的DID,需要认证的内容包括年龄,需要证明年龄的范围,如:18-64,以及IH对本次请求的签名。
③对于IH要求颁发VC的请求,IS根据IH的DID向IR请求IH的公钥,并对IH的请求签名进行验证。并对IH的请求签名进行验证。如果验证不通过 则拒绝颁发VC给IH。
④如果验签通过进行年龄的验证,具体如下。
对于IH要求颁发VC的请求,如果IH在IS注册的年龄在IH要求证明的范围内,则IS颁发的VC当中会包含IH要求证明的年龄范围,如果IH在IS注册的年龄不在IH要求证明的范围内,则IS拒绝颁发VC。
⑤IH提交VC到IV,IV对VC进行认证:
根据VC当中IS的DID向IR请求IS的公钥;使用IS的公钥验证VC当中IS的签名;
根据VC当中IH的DID向IR请求IH的公钥,使用IH的公钥验证VC当中IH的签名;
如果IS和IH的签名都验证通过,则判断验证通过。当然在所述VC中包含其他验证内容是,需要对其他验证内容进行验证(例如资产,身份等等),如果验证通过,则判断验证通过。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的去中心化身份系统中隐藏用户具体年龄的方法。
因此,本发明可以通过硬件、软件或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现本发明方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按本发明方法运行。
本发明还可以通过计算机程序产品进行实施,程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。
虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在 不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (21)

  1. 一种去中心化身份系统中隐藏用户信息的方法,其特征在于,包括:
    S1、可验证证书颁发机构基于自身密钥向身份注册机构进行注册;
    S2、身份持有者基于自身密钥和注册信息向所述可验证证书颁发机构进行注册;
    S3、所述身份持有者基于所述验证证书机构的要求从所述可验证证书颁发机构获取可验证证书;
    S4、所述身份持有者采用所述持有者私钥对所述可验证证书进行签名并提交到所述验证证书机构;
    S5、所述验证证书机构对所述可验证证书进行验证。
  2. 根据权利要求1所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S1进一步包括:
    S11、所述可验证证书颁发机构生成机构私钥并基于所述机构私钥生成机构公钥;
    S12、所述可验证证书颁发机构生成注册请求,并采用所述机构私钥签名所述注册请求,并将签名注册请求发送到所述身份注册机构;
    S13、所述身份注册机构验证所述签名注册请求,并在验证通过后生成所述可验证证书颁发机构的去中心化身份标识符和去中心化身份标识符文档。
  3. 根据权利要求1所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S2进一步包括:
    S21、所述身份持有者生成持有者私钥并基于所述持有者私钥生成持有者公钥;
    S22、所述身份持有者向所述可验证证书颁发机构提交注册请求,并采用所述持有者私钥签名所述注册请求,并将签名注册请求发送到所述可验证证书颁发机构;
    S23、所述可验证证书颁发机构验签所述签名注册请求,并在验签通过后验证所述身份持有者的注册信息,并在验证通过之后继续向所述身份注册机构发送验证请求,所述验证请求中包含所述持有者公钥;
    S24、所述身份注册机构根据所述持有者公钥生成所述身份持有者的去中心化身份标识符和去中心化身份标识符文档,并将其返回给所述可验证证书颁发机构;
    S25、所述可验证证书颁发机构将所述身份持有者的去中心化身份标识符和去中心化身份标识符文档返回给所述身份持有者。
  4. 根据权利要求3所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,在所述步骤S21中,所述身份持有者选取椭圆曲线上面的一个随机标量作为持有者密钥,并将所述持有者密钥与椭圆曲线上的基点做椭圆曲线乘法得到所述持有者公钥。
  5. 根据权利要求1-4中任意一项所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述用户信息包括用户真实公钥,所述可验证证书中包含使用多个身份持有者的持有者公钥生成的环签名。
  6. 根据权利要求5所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S3进一步包括:
    S31、所述身份持有者从所述验证证书机构获得可验证证书信息,并基于所述可验证证书信息从所述可验证证书颁发机构获取多个其他身份持有者的去中心化身份标识符和持有者公钥;
    S32、所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并从所述可验证证书颁发机构获取所述可验证证书。
  7. 根据权利要求6所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S31进一步包括:
    S311、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
    S312、所述验证证书机构基于所述请求返回可验证证书信息;
    S313、所述身份持有者根据所述可验证证书信息向所述可验证证书颁发机构发送信息返回请求,并使用所述持有者私钥对所述信息返回请求加签,所述信息返回请求包括请求所述可验证证书颁发机构返回多个其他身份持有者 的去中心化身份标识符和持有者公钥;
    S34、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并采用所述持有者公钥对所述信息返回请求进行验签,如果验签通过执行步骤S35,否则拒绝所述信息返回请求;
    S35、所述可验证证书颁发机构返回多个其他身份持有者的去中心化身份标识符和持有者公钥给所述身份持有者。
  8. 根据权利要求7所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S32进一步包括:
    S321、所述身份持有者使用多个其他身份持有者的持有者公钥生成环签名,并向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述环签名、多个其他身份持有者的持有者公钥、多个其他身份持有者的去中心化身份标识符,以及所述身份持有者对证书颁发请求的签名;
    S322、所述可验证证书颁发机构分别校验所述身份持有者对证书颁发请求的签名和所述环签名,如果校验通过则向所述身份持有者颁发所述可验证证书,否则拒绝颁发所述可验证证书。
  9. 根据权利要求8所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述可验证证书包括:多个身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、多个身份持有者的公钥、所述环签名、所述可验证证书颁发机构对所述可验证证书的签名。
  10. 根据权利要求9所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述多个身份持有者的去中心化身份标识符和多个身份持有者的公钥的排序是独立且非一一对应的。
  11. 根据权利要求8所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S5进一步包括:
    S51、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
    S52、所述验证证书机构根据所述多个身份持有者的公钥验证所述环签名以获得第二验证结果;
    S53、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
  12. 根据权利要求1-4中任意一项所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述用户信息包括用户具体年龄,所述可验证证书中包含所述可验证证书颁发机构提供的年龄范围。
  13. 根据权利要求12所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S3进一步包括:
    S3A、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
    S3B、所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括需要证明的年龄范围;
    S3C、所述身份持有者向所述可验证证书颁发机构发送证书颁发请求,所述证书颁发请求包括所述身份持有者的所述去中心化身份标识符、需要认证的内容包括年龄,需要证明的年龄范围、以及所述身份持有者对证书颁发请求的签名;
    S3D、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,如果验证通过则执行步骤S3E,否则拒绝颁发证书;
    S3E、判断所述身份持有者在所述可验证证书颁发机构注册的年龄是否位于所述需要证明的年龄范围内,如果是则颁发所述可验证证书给所述身份持有者,否则拒绝颁发证书。
  14. 根据权利要求13所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证 证书的签名,所述可验证证书颁发机构提供的年龄范围。
  15. 根据权利要求13所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S5进一步包括:
    S5A、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
    S5B、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
    S5C、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
  16. 根据权利要求1-4中任意一项所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述用户信息包括用户资产额度,所述可验证证书中包含被加密过的资产额度。
  17. 根据权利要求16所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S3进一步包括:
    S3a、所述身份持有者向所述验证证书机构发送业务开始请求,所述业务开始请求包括所述去中心化身份标识符、所述去中心化身份标识符文档、以及所述身份持有者对业务开始请求的签名;
    S3b、所述验证证书机构基于所述请求返回可验证证书信息,所述可验证证书信息包括提供资产额度的要求;
    S3c、所述身份持有者向所述可验证证书颁发机构发送财产查询请求,所述财产查询请求包括所述身份持有者的所述去中心化身份标识符、资产额度查询、以及所述身份持有者对证书颁发请求的签名;
    S3d、所述可验证证书颁发机构基于所述去中心化身份标识符请求所述持有者公钥,并对所述身份持有者对证书颁发请求的签名进行验证,并基于验证结果向所述身份持有者返回资产额度;
    S3e、所述身份持有者使用所述持有者私钥对所述资产额度进行加密,并 将加密后的资产额度提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述加密后的资产额度颁发可验证证书;
    S3f、所述可验证证书颁发机构将所述加密后的资产额度与所述身份持有者的资产额度进行比较,并基于比较结果颁发所述可验证证书给所述身份持有者。
  18. 根据权利要求17所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,在所述步骤S3e中,所述身份持有者使用所述持有者私钥对所述资产额度生成佩德森承诺,并将所述佩德森承诺提交到所述可验证证书颁发机构并要求所述可验证证书颁发机构针对所述佩德森承诺颁发可验证证书。
  19. 根据权利要求17所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,在所述步骤S3中,所述可验证证书包括:所述身份持有者的去中心化身份标识符、颁发所述可验证证书的所述可验证证书颁发机构的去中心化身份标识符、所述身份持有者对所述可验证证书的签名、所述可验证证书颁发机构对所述可验证证书的签名,被加密的资产额度,被加密的资产额度的范围证明。
  20. 根据权利要求17所述的去中心化身份系统中隐藏用户信息的方法,其特征在于,所述步骤S5进一步包括:
    S5a、所述验证证书机构根据所述可验证证书颁发机构的去中心化身份标识符向所述身份注册机构请求所述机构公钥,并使用所述机构公钥验证所述可验证证书颁发机构对所述可验证证书的签名以获得第一验证结果;
    S5b、所述验证证书机构根据所述身份持有者的去中心化身份标识符向所述身份注册机构请求所述持有者公钥,并使用所述持有者公钥验证所述身份持有者对所述可验证证书的签名以获得第二验证结果;
    S5c、基于所述第一验证结果、所述第二验证结果以及需验证的内容的验证结果,判定验证是否通过。
  21. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1-20中任意一项权利要求所述的去中心化身份系统中隐藏用户信息的方法。
PCT/CN2021/073096 2020-07-21 2021-01-21 去中心化身份系统中隐藏用户信息的方法和计算机可读介质 WO2022016842A1 (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN202010709258.4 2020-07-21
CN202010709256.5A CN112037054B (zh) 2020-07-21 2020-07-21 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质
CN202010709256.5 2020-07-21
CN202010707663.2A CN112035870B (zh) 2020-07-21 2020-07-21 去中心化身份系统中隐藏用户具体年龄的方法和计算机可读介质
CN202010707663.2 2020-07-21
CN202010709258.4A CN111901106B (zh) 2020-07-21 2020-07-21 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质

Publications (1)

Publication Number Publication Date
WO2022016842A1 true WO2022016842A1 (zh) 2022-01-27

Family

ID=79728491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/073096 WO2022016842A1 (zh) 2020-07-21 2021-01-21 去中心化身份系统中隐藏用户信息的方法和计算机可读介质

Country Status (1)

Country Link
WO (1) WO2022016842A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900313A (zh) * 2022-04-18 2022-08-12 中国科学院大学 一种保护隐私的匿名工作证书生成和验证方法
WO2024020183A1 (en) * 2022-07-22 2024-01-25 Blockchains, Inc. Systems and methods for verifiable approval

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218391A (zh) * 2018-07-16 2019-01-15 哈尔滨工程大学 一种基于区块链的分布式存储系统审计与去中心化的方法
CN109698754A (zh) * 2019-01-07 2019-04-30 西安邮电大学 基于环签名的车队安全管理系统及方法、车辆管理平台
CN110572267A (zh) * 2019-09-09 2019-12-13 北京工业大学 一种基于联盟区块链的匿名电子投票方法
US20200202345A1 (en) * 2019-06-26 2020-06-25 Alibaba Group Holding Limited Blockchain transactions with ring signatures
CN111901106A (zh) * 2020-07-21 2020-11-06 杜晓楠 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质
CN112035814A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于虹膜识别生成分布式身份的方法和计算机可读介质
CN112035806A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于指纹识别生成分布式身份的方法和计算机可读介质
CN112035813A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质
CN112035870A (zh) * 2020-07-21 2020-12-04 杜晓楠 去中心化身份系统中隐藏用户具体年龄的方法和计算机可读介质
CN112037054A (zh) * 2020-07-21 2020-12-04 杜晓楠 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218391A (zh) * 2018-07-16 2019-01-15 哈尔滨工程大学 一种基于区块链的分布式存储系统审计与去中心化的方法
CN109698754A (zh) * 2019-01-07 2019-04-30 西安邮电大学 基于环签名的车队安全管理系统及方法、车辆管理平台
US20200202345A1 (en) * 2019-06-26 2020-06-25 Alibaba Group Holding Limited Blockchain transactions with ring signatures
CN110572267A (zh) * 2019-09-09 2019-12-13 北京工业大学 一种基于联盟区块链的匿名电子投票方法
CN111901106A (zh) * 2020-07-21 2020-11-06 杜晓楠 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质
CN112035814A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于虹膜识别生成分布式身份的方法和计算机可读介质
CN112035806A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于指纹识别生成分布式身份的方法和计算机可读介质
CN112035813A (zh) * 2020-07-21 2020-12-04 杜晓楠 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质
CN112035870A (zh) * 2020-07-21 2020-12-04 杜晓楠 去中心化身份系统中隐藏用户具体年龄的方法和计算机可读介质
CN112037054A (zh) * 2020-07-21 2020-12-04 杜晓楠 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900313A (zh) * 2022-04-18 2022-08-12 中国科学院大学 一种保护隐私的匿名工作证书生成和验证方法
WO2024020183A1 (en) * 2022-07-22 2024-01-25 Blockchains, Inc. Systems and methods for verifiable approval

Similar Documents

Publication Publication Date Title
AU2021206913B2 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN112035883B (zh) 去中心化身份系统中用户信用评分的方法和计算机可读介质
US7010683B2 (en) Public key validation service
US20040010697A1 (en) Biometric authentication system and method
EP2009839A1 (en) A method and system for information security authentication
CN112487778A (zh) 多用户在线签约系统及方法
CN112035806B (zh) 区块链中基于指纹识别生成分布式身份的方法和计算机可读介质
CN112035870B (zh) 去中心化身份系统中隐藏用户具体年龄的方法和计算机可读介质
CN111901106B (zh) 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质
CN112235260B (zh) 一种匿名数据存证方法、装置、设备和存储介质
WO2022016842A1 (zh) 去中心化身份系统中隐藏用户信息的方法和计算机可读介质
CN114666168B (zh) 去中心化身份凭证验证方法、装置,以及,电子设备
Bhargav-Spantzel et al. Multifactor identity verification using aggregated proof of knowledge
Gulati et al. Self-sovereign dynamic digital identities based on blockchain technology
CN112037054B (zh) 去中心化身份系统中隐藏用户的资产额度的方法和计算机可读介质
CN112035813B (zh) 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质
CN112035814B (zh) 区块链中基于虹膜识别生成分布式身份的方法和计算机可读介质
CN116506118A (zh) 一种pki证书透明化服务中身份隐私性保护方法
JP7222436B2 (ja) 保証制御方法、情報処理装置および保証制御プログラム
Johnson et al. Rethinking Single Sign-On: A Reliable and Privacy-Preserving Alternative with Verifiable Credentials
Idalino et al. Automated issuance of digital certificates through the use of federations
Beuchat et al. A Digital Identity in the Hands of Swiss Citizens
Solworth et al. sayI: Trusted user authentication at Internet scale
WO2023027756A1 (en) Secure ledger registration
KR20240059302A (ko) 분산 id 기반 서비스의 암복호화 통신 방법 및 장치

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: 21845589

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21845589

Country of ref document: EP

Kind code of ref document: A1