CN111901106B - Method and computer readable medium for hiding true public key of user in decentralized identity system - Google Patents

Method and computer readable medium for hiding true public key of user in decentralized identity system Download PDF

Info

Publication number
CN111901106B
CN111901106B CN202010709258.4A CN202010709258A CN111901106B CN 111901106 B CN111901106 B CN 111901106B CN 202010709258 A CN202010709258 A CN 202010709258A CN 111901106 B CN111901106 B CN 111901106B
Authority
CN
China
Prior art keywords
identity
holder
certificate
authority
verifiable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010709258.4A
Other languages
Chinese (zh)
Other versions
CN111901106A (en
Inventor
杜晓楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to CN202010709258.4A priority Critical patent/CN111901106B/en
Publication of CN111901106A publication Critical patent/CN111901106A/en
Priority to PCT/CN2021/073096 priority patent/WO2022016842A1/en
Application granted granted Critical
Publication of CN111901106B publication Critical patent/CN111901106B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method for hiding a real public key of a user in a decentralized identity system. The verifiable certificate authority registers with the identity registration authority based on its own secret key. The identity holder registers with the verifiable certificate authority based on its own secret key and registration information. The identity holder obtains a verifiable certificate from the verifiable certificate authority based on requirements of the verification certificate authority, the verifiable certificate including therein a ring signature generated using holder public keys of a plurality of identity holders. The identity holder signs the verifiable certificate with the holder private key and submits to the verification certificate authority. The certificate authority authenticates the verifiable certificate. The invention also relates to a computer-readable storage medium. The invention can verify the real public key of the user without disclosing the real public key of the user, thereby improving the safety of transaction and further ensuring the safety of the system.

Description

Method and computer readable medium for hiding true public key of user in decentralized identity system
Technical Field
The present invention relates to the field of blockchains, and more particularly, to a method and computer-readable medium for hiding a true public key of a user in a decentralized identity system.
Background
Traditional digital certificates are centralized, such as domain name and IP address assignments managed by The Internet Corporation for Assigned Names and Numbers, ICANN, and digital certificates managed by Certificate Authority (CA) in Public Key Infrastructure (PKI) systems. The essence of a centralized identity system is that a central centralized authority has possession of the identity data, since the authentication, authorization, etc. that is performed around the data is also determined by the centralized authority. The identity is not controlled by the user himself.
To address this problem, many web sites themselves federated out federation identities (this concept was first proposed by Microsoft in 1999). Under the alliance identity system, the online identity of the user has certain portability. Today, many website registrations can support third party logins such as WeChat, QQ, sino microblog and the like.
Decentralization of identity systems is still a major trend, and the well-known international organizations w3c and dif have also introduced standards for decentralizing identity systems. In decentralized systems, the public key will be heavily used and therefore easily stolen by hackers, leading to security issues for the system.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method and a computer readable medium for hiding a user's true public key in a decentralized identity system, which can hide the user's true public key in a verification process, thereby improving the security of transactions and further ensuring the security of the system.
The technical scheme adopted by the invention for solving the technical problem is to construct a method for hiding the real public key of the user in a decentralized identity system, which comprises the following steps:
s1, a certifiable certificate authority registers to an identity registration authority based on a secret key of the certifiable certificate authority;
s2, the identity holder registers to the certifiable certificate authority based on the self secret key and the registration information;
s3, the identity holder acquires a verifiable certificate from the verifiable certificate issuing organization based on the requirements of the verification certificate organization, wherein the verifiable certificate comprises a ring signature generated by using holder public keys of a plurality of identity holders;
s4, the identity holder signs the verifiable certificate by adopting the holder private key and submits the verifiable certificate to the verification certificate authority;
and S5, the certificate verification authority verifies the verifiable certificate.
In the method for hiding the true public key of the user in the decentralized identity system, the step S1 further includes:
s11, the verifiable certificate authority generates an authority private key and generates an authority public key based on the authority private key;
s12, the certifiable certificate issuing organization generates a registration request, signs the registration request by adopting the private key of the organization, and sends the signed registration request to the identity registration organization;
and S13, the identity registration mechanism 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.
In the method for hiding the real public key of the user in the decentralized identity system, the step S2 further includes:
s21, the identity holder generates a holder private key and a holder public key based on the holder private key;
s22, the identity holder submits a registration request to the verifiable certificate authority, signs the registration request by adopting the holder private key, and sends the signed registration request to the verifiable certificate authority;
s23, the verifiable certificate authority verifies and signs the signature registration request, verifies the registration information of the identity holder after the verification passes, and continuously sends a verification request to the identity registration authority after the verification passes, wherein the verification request comprises the public key of the holder;
s24, the identity registration mechanism generates a decentralized identity identifier and a decentralized identity identifier document of the identity holder according to the holder public key and returns the decentralized identity identifier and the decentralized identity identifier document to the certifiable certificate authority;
s25, the certifiable certificate authority returns the decentralized identity identifier and decentralized identity identifier document of the identity holder to the identity holder.
In the method for hiding the true public key of the user in the decentralized identity system, the step S3 further includes:
s31, the identity holder obtains verifiable certificate information from the verification certificate authority, and obtains decentralized identity identifiers and holder public keys of a plurality of other identity holders from the verifiable certificate authority based on the verifiable certificate information;
s32, the identity holder generates a ring signature by using holder public keys of a plurality of other identity holders, and acquires the verifiable certificate from the verifiable certificate authority.
In the method for hiding the true public key of the user in the decentralized identity system, step S31 further includes:
s311, the identity holder sends a service start request to the certificate authority, wherein the service start request comprises the decentralized identity identifier, the decentralized identity identifier document and the signature of the identity holder on the service start request;
s312, the certificate authority returns certifiable certificate information based on the request;
s313, the identity holder sends a message return request to the verifiable certificate authority according to the verifiable certificate information, and signs the message return request by using the holder private key, wherein the message return request comprises a decentralized identity identifier and a holder public key which request the verifiable certificate authority to return a plurality of other identity holders;
s34, the certifiable certificate authority requests the public key of the holder based on the decentralized identity identifier, the public key of the holder is adopted to check the signature of the information return request, if the signature passes the step S35, the information return request is refused;
s35, the certifiable certificate authority returns decentralized identity identifiers and holder public keys of a plurality of other identity holders to the identity holders.
In the method for hiding the true public key of the user in the decentralized identity system, the step S32 further includes:
s321, the identity holder generating a ring signature using holder public keys of a plurality of other identity holders, and sending a certificate issuance request to the verifiable certificate authority, the certificate issuance request including the ring signature, the holder public keys of the plurality of other identity holders, decentralized identity identifiers of the plurality of other identity holders, and a signature of the identity holder on the certificate issuance request;
s322, the verifiable certificate issuing authority respectively verifies the signature of the identity holder on the certificate issuing request and the ring signature, if the verification is passed, the verifiable certificate is issued to the identity holder, otherwise, the verifiable certificate is refused to be issued.
In the method for hiding the true public key of the user in the decentralized identity system, the certifiable certificate comprises: a decentralized identity identifier of a plurality of identity holders, a decentralized identity identifier of the verifiable certificate authority issuing the verifiable certificate, a public key of a plurality of identity holders, the ring signature, a signature of the verifiable certificate authority on the verifiable certificate.
In the method for hiding the real public key of the user in the decentralized identity system, the sequences of the decentralized identity identifiers of the plurality of identity holders and the public keys of the plurality of identity holders are independent and non-one-to-one corresponding.
In the method for hiding the true public key of the user in the decentralized identity system, the step S5 further includes:
s51, the certification authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the certifiable certificate authority, and the authority public key is used for verifying the signature of the certifiable certificate authority on the certifiable certificate so as to obtain a first verification result;
s52, the certificate verification authority verifies the ring signature according to the public keys of the identity holders to obtain a second verification result;
s53, judging whether the verification is passed or not based on the first verification result, the second verification result and the verification result of the content to be verified.
Another technical solution to solve the technical problem of the present invention is to construct a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method for hiding the true public key of the user in the decentralized identity system.
By implementing the method for hiding the real public key of the user in the decentralized identity system and the computer-readable storage medium, the real public key of the user can be verified without disclosing the real public key of the user, and the real public key of the user can be hidden in the verification process, so that the safety of transaction is improved, and the safety of the system is further ensured. Further, the iris or fingerprint of the user can be input to generate a private key of the identity holder as a random seed, so that the identity holder can use the identity information and the assets on the block chain in a contactless manner when using the identity information. Furthermore, the invention also explicitly defines the registration process and the verification process of the identity holder and the verifiable certificate authority, thereby providing a safe and effective method for constructing the decentralized block chain identity.
Drawings
The invention will be further described with reference to the accompanying drawings and examples, in which:
FIG. 1 is a flow chart of a first preferred embodiment of the method of hiding a true public key of a user in the decentralized identity system of the present invention;
FIG. 2 is a schematic diagram of a registration process of a verifiable certificate authority of a second preferred embodiment of the method of hiding a true public key of a user in a decentralized identity system of the present invention;
FIG. 3 is a schematic diagram illustrating a registration process of an identity holder according to a second preferred embodiment of the method for hiding a true public key of a user in a 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 true public key of the user in the decentralized identity system according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the invention.
The invention relates to a method for hiding a real public key of a user in a decentralized identity system. The verifiable certificate authority registers with the identity registration authority based on its own secret key. The identity holder registers with the verifiable certificate authority based on its own secret key and registration information. The identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verification certificate authority, the verifiable certificate including therein a ring signature generated using holder public keys of a plurality of identity holders. The identity holder signs the verifiable certificate with the holder private key and submits to the verification certificate authority. The certificate authority authenticates the verifiable certificate. The method for hiding the real public key of the user in the decentralized identity system can verify the real public key of the user without disclosing the real public key of the user, and can hide the real public key of the user in the verification process, thereby improving the safety of transaction and further ensuring the safety of the system.
Fig. 1 is a flow chart of a first preferred embodiment of the method for hiding the true public key of the user in the decentralized identity system of the present invention. As shown in fig. 1, in step S1, the verifiable certificate authority registers with the identity registration authority based on its own secret key so that it can be qualified to issue a verifiable certificate. For example, the verifiable certificate authority generates an authority private key and an authority public key based on the authority private key. The authority private key and the authority public key may be obtained, for example, using an elliptic curve key system. Of course, any key generation algorithm known in the art may be employed. The verifiable certificate authority generates a registration request, signs the registration request with the authority private key, and sends the signed registration request to the identity registration authority. The identity registration authority verifies the signed registration request and generates a decentralized identity identifier and decentralized identity identifier document of the verifiable certificate authority upon verification.
In step S2, the identity holder registers with the verifiable certificate authority based on its own secret key and registration information. In a preferred embodiment of the invention, the identity holder generates a holder private key and a holder public key based on the holder private key. For example, an iris of the identity holder is scanned to generate an iris code; hashing the iris code, and generating the holder private key by using the obtained hash value as a random seed; the holder public key is then generated based on the holder private key. Those skilled in the art will appreciate that the iris code may be generated using any iris collector known in the art. The obtained iris code may be calculated using a hash function to obtain a string having a unique fixed length, and the string may be used as a random seed to generate the holder private key. Here, the holder private key may be generated by any known method. The holder public key may be generated using any known method. In a preferred embodiment of the present invention, the identity holder selects a random scalar on an elliptic curve as a holder key, and performs elliptic curve multiplication on the holder key and a base point on the elliptic curve to obtain the holder public key. The holder public key may be obtained, for example, using an elliptic curve key system, for example, R = R × G. Wherein, G represents a private key and public key conversion factor in the elliptic curve algorithm. The holder public key R can therefore be derived from the holder public key R, but cannot be derived from the holder public key R and is therefore irreversible. For another example, at least one fingerprint of the identity holder may be scanned to generate a fingerprint code; hashing the fingerprint code, and generating the holder private key by using the obtained hash value as a random seed; the holder public key is then generated based on the holder private key. For another example, a plurality of fingerprints of the identity holder may be scanned to generate a plurality of fingerprint codes; hashing each fingerprint code, and generating a plurality of holder private keys using each obtained hash value part as a random seed; a plurality of the holder public keys are then generated based on the respective holder private keys.
The identity holder then submits a registration request to the verifiable certificate authority, signs the registration request with the holder private key, and sends the signed registration request to the verifiable certificate authority. The verifiable certificate authority verifies the signature registration request, verifies the registration information of the identity holder after the verification passes, and continues to send a verification request to the identity registration authority after the verification passes, wherein the verification request comprises the holder public key. The registration information may be some attribute of the identity holder, such as: age, amount of assets, health status, etc.
The identity registration authority generates a decentralized identity identifier and decentralized identity identifier document of the identity holder from the holder public key for the request of the verifiable certificate authority and returns it to the verifiable certificate authority. The verifiable certificate authority then returns the identity holder's decentralized identity identifier and decentralized identity identifier document to the identity holder.
In step S3, the identity holder obtains a verifiable certificate from the verifiable certificate authority based on the requirements of the verification certificate authority, the verifiable certificate including therein a ring signature generated using holder public keys of a plurality of identity holders. In a preferred embodiment of the present invention, the identity holder obtains verifiable certificate information from the verification certificate authority and obtains decentralized identity identifiers and holder public keys for a plurality of other identity holders from the verifiable certificate authority based on the verifiable certificate information. The identity holder then generates a ring signature using holder public keys of a plurality of other identity holders and obtains the verifiable certificate from the verifiable certificate authority.
In a further preferred embodiment of the invention, said identity holder sends a service initiation request to said certificate authority. The service initiation request includes the decentralized identity identifier, the decentralized identity identifier document, and a signature of the identity holder on the service initiation request. The certificate authority returns certifiable certificate information based on the request. The verifiable certificate information includes what requires the identity holder to submit a verifiable certificate that includes the decentralized identity identifiers of a plurality of identity holders, the decentralized identity identifier of the verifiable certificate authority that issued the verifiable certificate, the public keys of a plurality of identity holders, the ring signature, the signature of the verifiable certificate authority on the verifiable certificate. And the identity holder sends a message return request to the verifiable certificate authority according to the verifiable certificate information, and signs on the message return request by using the holder private key. The information return request includes a decentralized identity identifier and a holder public key requesting the verifiable certificate authority to return a plurality of other identity holders. The verifiable certificate authority requests the holder public key based on the decentralized identity identifier, verifies the signature of the identity holder on the certificate issuance request, and rejects the information return request if the verification fails. If verified, the verifiable certificate authority returns the decentralized identity identifiers and holder public keys of a plurality of other identity holders to the identity holder.
The identity holder generates a ring signature using holder public keys of a plurality of other identity holders and sends a certificate issuance request to the verifiable certificate authority. The certificate issuance request includes the ring signature, holder public keys of a plurality of other identity holders, decentralized identity identifiers of the plurality of other identity holders, and a signature of the identity holder on the certificate issuance request. The verifiable certificate authority requests the holder public key based on the decentralized identity identifier, verifies a signature of the identity holder on the certificate issuance request, and refuses to issue the certificate if the verification fails. And if the verification is passed, verifying the ring signature by using the holder public keys of a plurality of other identity holders, issuing the verifiable certificate to the identity holders if the verification is passed, and otherwise refusing to issue the verifiable certificate. In this embodiment, the obtained verifiable certificate includes: a decentralized identity identifier of a plurality of identity holders, a decentralized identity identifier of the verifiable certificate authority issuing the verifiable certificate, a public key of a plurality of identity holders, the ring signature, a signature of the verifiable certificate authority on the verifiable certificate. Preferably, the decentralized identity identifiers of the identity holders and the ordering of the public keys of the identity holders are independent and non-one-to-one, so that the anonymity of the method of the present invention can be further ensured.
In step S4, the identity holder signs the verifiable certificate with the holder private key and submits to the verification certificate authority.
In step S5, the certificate authority authenticates the verifiable certificate. Preferably, the certificate authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the certifiable certificate authority, and verifies the signature of the certifiable certificate authority on the certifiable certificate by using the authority public key, and if the verification is passed, the next verification is carried out. And 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, verifies the ring signature by using the public keys of the plurality of identity holders, and verifies the content if the verification is passed. The content verifies the verification of the conditions in the verifiable certificate (i.e., for example, age range certification), passes the verification if satisfactory, and fails otherwise.
By implementing the method for hiding the real public key of the user in the decentralized identity system, the real public key of the user can be verified without disclosing the real public key of the user, and the real public key of the user can be hidden in the verification process, so that the safety of transaction is improved, and the safety of the system is further ensured. Further, the iris or fingerprint of the user can be input to generate a private key of the identity holder as a random seed, so that the identity holder can use the identity information and the assets on the block chain in a contactless manner when using the identity information. Furthermore, the invention also clearly defines the registration process and the verification process of the identity holder and the certifiable certificate authority, thereby providing a safe and effective method for constructing the decentralized block chain identity.
Fig. 2 is a schematic diagram of a registration process of a verifiable certificate authority according to a second preferred embodiment of the method for hiding a true public key of a user in a decentralized identity system. Fig. 3 is a schematic diagram of the registration process of the identity holder according to the second preferred embodiment of the method for hiding the true public key of the user in the decentralized identity system. 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 true public key of the user in the decentralized identity system according to the present invention.
A second preferred embodiment of the present invention is described below with reference to fig. 2-4. The following terms used in the present invention are first explained:
decentralized identity Identifier (Decentralized identity, DID for short)
A string acts like a URL, and the standard can conform to the standard established by the standards organization such as w3c or dif, and the like, and can also conform to the standard established by a plurality of alliances. The DID records an identity identifier that is unique across multiple federation enterprises, and the protocols required to find the DID. A plurality of federation entities can locate an entity that stores DID details based on the DID and request the details of the DID, including public keys, etc., from that entity.
Decentralized identity Identifier Document (Decentralized identity Document, DID Document for short)
The DID document stores detailed information of the DID, including: a public key of the DID, a DID signature type, a DID authentication type, a service type supported by the DID, and a URL supporting the DID service, etc.
Private Key (Secret Key, SK)
Before sending the message, the invention adds the key of the interactive message between the entities to prove the authenticity of the identity of the entity, and the key privacy is invisible
Public Key (Public Key, PK)
Key for authenticating messages exchanged between entities, the key being public
Elliptic Curve (Elliptic currve)
The asymmetric encryption algorithm based on the discrete logarithm problem meets the requirements of a multiplication commutative law, a multiplication combination law, an addition commutative law and an addition combination law. Selecting a general base point (base point) G on an elliptic curve, selecting a random scalar (scalar) on the elliptic curve as an encrypted private key, and performing elliptic curve multiplication with the base point G to generate a corresponding public key
Hash function
Hash functions are used to irreversibly hash scalar or base points on elliptic curves
Ring Signature (Ring Signature)
The ring signature has the advantages that the public keys of other users can be used without permission of other users, the public keys of other users and the public key of the user can be used for generating the signature, and a party needing to verify the ring signature needs to use the public keys of the users to verify the ring signature, but cannot know which public key of the user with the specific signature is
Identity Holder (Identifier Holder, IH for short)
Persons having a unique identity, the identity holder needing to generate their SK and PK by entering an iris or fingerprint, e.g. RSA or elliptic curve
Verifiable certificate (veriable Credentials, VC for short)
Verifiable certificates, which contain information about the organization issuing the certificate, the information to be verified, and the signature of the certificate by the issuing organization
Verifiable certificate issuing authority (ISSUER, IS for short)
Trusted institution eligible for issuing VC certificates may be a school, bank, law firm, official hospital, chain hotel, etc
Certificate authority (observer identifier, IV)
Mechanisms are needed to authenticate IHs, such as: a person using unit, a credit agency, etc. The IV may verify not only the identity of the IH, but also some property of the IH, such as: age, number of assets, physical health, etc.; in the invention, IV can only obtain the public key of IS according to the DID of IS, but cannot obtain the public key of IH through the DID of IH
Identity registration mechanism (Identifier Registry, IR for short)
The mechanism for registering identity maintains a database of DID's for all entities in the invention, such as a blockchain, distributed ledger.
In the embodiment shown in fig. 2, the IS first registers with the IR to qualify for the issuance of the VC, and the specific registration steps are as follows:
(1) IS first generates an SK, and then regenerates PK through SK
(2) IS signs the registration request through SK and submits the registration request to IR
(3) The IR verifies the registration request of the IS, and generates the DID of the IS after the verification IS passed, and the DID document.
In the embodiment shown in fig. 3, the IH registers with the IS, and the specific registration steps are as follows:
(1) IH selects a random scalar on the elliptic curve as SK, and then performs elliptic curve multiplication with a base point on the elliptic curve to obtain PK;
(2) the IH submits a registration request to the IS, the IS verifies the IH request and verifies registration information of the IH, and the verification comprises an identity card number, age, gender and the like of the IH;
(3) if the verification is passed, continuing to submit a verification request to the IR, wherein the verification request comprises the public key of the IH;
(4) the IR generates DID and DID documents aiming at the public key of the IH according to the request of the IS and returns the DID and DID documents to the IS;
(5) the IS returns the DID and DID documents to the IH.
In the embodiment shown in fig. 4 IH authenticates to the IV using VC. IH needs to do some business, but IH does not want to reveal its own identity, but IV knows that IH's DID IS registered in IS, so its specific steps are as follows
(1) IH sends a service start request to IV, wherein the service start request comprises DID of IH, DID document and signature of IH to the service request; and IV returns verifiable certificate information, which is information requiring IH to submit VC, the content of VC includes: DIDs of multiple IHs, DIDs of an IS issuing a VC, a ring signature generated using public keys of multiple IHs, and a signature of a VC by an IS. Of course, the VC may also include other required data.
(2) The IH carries the DID of the IH to send an information return request to the IS, the IS IS required to return DIDs and public keys of a plurality of other IHs, and the information return request IS signed by adopting a private key of the IH.
(3) And the IS queries the IR by using the DID to acquire the public key of the IH, then checks the request of the IH by using the public key, returns a plurality of public keys and the DID of the IH to the IH if the request passes the checking, and refuses the request if the checking IS not enough. The DID and the public key returned by the IS are not in one-to-one correspondence, and the DID sorting and the public key sorting are independent, so that the purpose of preventing the DID and the public key from being in correspondence IS realized, and the anonymity of the invention IS further improved.
(4) The IH generates a ring signature by using public keys of other IHs, and then sends a VC issuance request to the IS, wherein the IS IS required to issue the VC, and the VC issuance request comprises the following steps: a ring signature, DIDs of other IHs, public keys of other IHs, and a signature for the request.
(5) 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, verifies the request signature of the IH and uses the public keys of other IHs to verify the ring signature.
(6) And if the IS does not verify the VC issuing request, refusing to issue the VC. And if the verification is passed, issuing the VC, wherein the contents of the issued VC comprise: DIDs of multiple IHs (including IHs requiring issuance of a VC), public keys of multiple IHs (including IHs requiring issuance of a VC), DIDs of an IS, ring signatures generated using public keys of multiple IHs, and signatures of an IS on a VC. The DID of the VC is not in one-to-one correspondence with the public key, and the sequencing of the DID and the sequencing of the public key are independent, so that the DID is prevented from being in correspondence with the public key, and the anonymity of the invention is further improved.
(7) IH receives VC and signs VC, and submits VC and signature to IV.
(8) IV authenticates VC, and the specific process is as follows:
requesting the public key of the IS from the IR according to the DID of the IS in the VC, and verifying the signature of the IS in the VC by using the public key of the IS;
and verifying the ring signature according to the public keys of the IHs in the VC, if the IS and the ring signature pass verification, judging whether other conditions required in the VC meet the requirements, if so, verifying the VC, and otherwise, not verifying the VC.
And if the IS signature and the ring signature are verified, judging that the verification IS passed. Of course, other verification contents included in the VC are that verification needs to be performed on other verification contents (such as assets, identities, etc.), and if the verification is passed, the verification is determined to be passed.
Another technical solution to solve the technical problem of the present invention is to construct a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method for hiding the true public key of the user in the decentralized identity system.
Accordingly, the present invention can be realized in hardware, software, or a combination of hardware and software. The present invention can be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods of the present invention is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be implemented by a computer program product, comprising all the features enabling the implementation of the methods described herein, when loaded in a computer system. The computer program in this document refers to: any expression, in any programming language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) Conversion to other languages, codes or symbols; b) Reproduced in a different format.
While the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (7)

1. A method for hiding a true public key of a user in a decentralized identity system is characterized by comprising the following steps:
s1, a certifiable certificate authority registers with an identity registration authority based on a self secret key;
s2, the identity holder registers to the certifiable certificate authority based on the own secret key and the registration information;
s3, the identity holder acquires a verifiable certificate from the verifiable certificate issuing organization based on the requirements of the verification certificate organization, wherein the verifiable certificate comprises a ring signature generated by using holder public keys of a plurality of identity holders;
s4, the identity holder signs the verifiable certificate by adopting the holder private key and submits the certifiable certificate to the certificate verification authority;
s5, the certificate authority verifies the verifiable certificate;
the step S3 further includes:
s31, the identity holder obtains verifiable certificate information from the verification certificate authority, and obtains decentralized identity identifiers and holder public keys of a plurality of other identity holders from the verifiable certificate authority based on the verifiable certificate information;
s32, the identity holder uses holder public keys of a plurality of other identity holders to generate a ring signature, and acquires the verifiable certificate from the verifiable certificate authority;
the step S31 further includes:
s311, the identity holder sends a service start request to the certificate authority, wherein the service start request comprises the decentralized identity identifier, the decentralized identity identifier document and the signature of the identity holder on the service start request;
s312, the certificate authority returns the certifiable certificate information based on the request;
s313, the identity holder sends a message return request to the verifiable certificate authority according to the verifiable certificate information, and signs the message return request by using the holder private key, wherein the message return request comprises a decentralized identity identifier and a holder public key which request the verifiable certificate authority to return a plurality of other identity holders;
s314, the certifiable certificate authority requests the holder public key based on the decentralized identity identifier, and checks the information return request by adopting the holder public key, if the check passes the step S315, otherwise, the information return request is rejected;
s315, the certifiable certificate authority returns decentralized identity identifiers and holder public keys of a plurality of other identity holders to the identity holders;
the step S32 further includes:
s321, the identity holder generating a ring signature using holder public keys of a plurality of other identity holders, and sending a certificate issuance request to the verifiable certificate authority, the certificate issuance request including the ring signature, holder public keys of the plurality of other identity holders, decentralized identity identifiers of the plurality of other identity holders, and a signature of the identity holder on the certificate issuance request;
s322, the verifiable certificate issuing authority respectively verifies the signature of the identity holder on the certificate issuing request and the ring signature, if the verification is passed, the verifiable certificate is issued to the identity holder, otherwise, the verifiable certificate is refused to be issued.
2. The method for hiding the true public key of the user in the decentralized identity system according to claim 1, wherein the step S1 further comprises:
s11, the verifiable certificate authority generates an authority private key and an authority public key based on the authority private key;
s12, the certifiable certificate issuing organization generates a registration request, signs the registration request by adopting the private key of the organization, and sends the signed registration request to the identity registration organization;
and S13, the identity registration mechanism 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.
3. The method for hiding the true public key of the user in the decentralized identity system according to claim 1, wherein the step S2 further comprises:
s21, the identity holder generates a holder private key and generates a holder public key based on the holder private key;
s22, the identity holder submits a registration request to the verifiable certificate authority, signs the registration request by adopting the holder private key, and sends the signed registration request to the verifiable certificate authority;
s23, the verifiable certificate authority verifies and signs the signature registration request, verifies the registration information of the identity holder after the verification is passed, and continuously sends a verification request to the identity registration authority after the verification is passed, wherein the verification request comprises the public key of the identity holder;
s24, the identity registration mechanism generates a decentralized identity identifier and a decentralized identity identifier document of the identity holder according to the holder public key and returns the decentralized identity identifier and the decentralized identity identifier document to the certifiable certificate authority;
s25, the certifiable certificate authority returns the decentralized identity identifier and decentralized identity identifier document of the identity holder to the identity holder.
4. The method of claim 1, wherein the verifiable certificate comprises: a decentralized identity identifier of a plurality of identity holders, a decentralized identity identifier of the verifiable certificate authority issuing the verifiable certificate, a public key of a plurality of identity holders, the ring signature, a signature of the verifiable certificate authority on the verifiable certificate.
5. The method of claim 4, wherein the de-centralized identity identifiers of the plurality of identity holders and the ordering of the public keys of the plurality of identity holders are independent and non-one-to-one.
6. The method for hiding the true public key of the user in the decentralized identity system according to claim 2, wherein the step S5 further comprises:
s51, the certification authority requests the authority public key from the identity registration authority according to the decentralized identity identifier of the certifiable certificate authority, and the authority public key is used for verifying the signature of the certifiable certificate authority on the certifiable certificate so as to obtain a first verification result;
s52, the certificate verification authority verifies the ring signature according to the public keys of the identity holders to obtain a second verification result;
s53, judging whether the verification is passed or not based on the first verification result, the second verification result and the verification result of the content to be verified.
7. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, is adapted to carry out a method of hiding a true public key of a user in a decentralized identity system according to any one of claims 1 to 6.
CN202010709258.4A 2020-07-21 2020-07-21 Method and computer readable medium for hiding true public key of user in decentralized identity system Active CN111901106B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010709258.4A CN111901106B (en) 2020-07-21 2020-07-21 Method and computer readable medium for hiding true public key of user in decentralized identity system
PCT/CN2021/073096 WO2022016842A1 (en) 2020-07-21 2021-01-21 Method for concealing user information in decentralized identity system, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010709258.4A CN111901106B (en) 2020-07-21 2020-07-21 Method and computer readable medium for hiding true public key of user in decentralized identity system

Publications (2)

Publication Number Publication Date
CN111901106A CN111901106A (en) 2020-11-06
CN111901106B true CN111901106B (en) 2023-03-10

Family

ID=73189876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010709258.4A Active CN111901106B (en) 2020-07-21 2020-07-21 Method and computer readable medium for hiding true public key of user in decentralized identity system

Country Status (1)

Country Link
CN (1) CN111901106B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016842A1 (en) * 2020-07-21 2022-01-27 杜晓楠 Method for concealing user information in decentralized identity system, and computer-readable medium
CN113139209B (en) * 2021-04-15 2023-09-26 中国科学院软件研究所 Verification credential realization method and system based on atomic signature
CN114900302B (en) * 2022-07-12 2022-11-25 杭州天谷信息科技有限公司 Anonymous certificate issuing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001320356A (en) * 2000-02-29 2001-11-16 Sony Corp Data communication system using public key system cypher, and data communication system constructing method
CN107370600B (en) * 2017-08-14 2020-06-19 华南理工大学 Method for generating core identity digital certificate and identity side digital certificate
CN109815728B (en) * 2018-12-21 2020-12-11 暨南大学 Block chain-based fair contract signing method with privacy protection function
CN109698754B (en) * 2019-01-07 2021-11-16 西安邮电大学 Fleet safety management system and method based on ring signature and vehicle management platform
CN111064734B (en) * 2019-12-25 2020-11-03 中国科学院信息工程研究所 Block chain system user identity anonymity and traceable method, corresponding storage medium and electronic device

Also Published As

Publication number Publication date
CN111901106A (en) 2020-11-06

Similar Documents

Publication Publication Date Title
US11223614B2 (en) Single sign on with multiple authentication factors
US20220058655A1 (en) Authentication system
CN112035883B (en) Method and computer readable medium for user credit scoring in a decentralized identity system
CN108777684B (en) Identity authentication method, system and computer readable storage medium
CN111901106B (en) Method and computer readable medium for hiding true public key of user in decentralized identity system
CN112035806B (en) Method and computer readable medium for generating distributed identities based on fingerprint recognition in blockchain
WO2018048640A1 (en) Architecture for access management
US20020138450A1 (en) Electronic payment method and device
Chadwick et al. Improved identity management with verifiable credentials and fido
CN102959559A (en) Method for generating certificate
CN112035870B (en) Method and computer readable medium for hiding specific age of user in decentralised identity system
AU2003212617A1 (en) A biometric authentication system and method
CN113743921B (en) Digital asset processing method, device, equipment and storage medium
WO2022016842A1 (en) Method for concealing user information in decentralized identity system, and computer-readable medium
CN114666168B (en) Decentralized identity certificate verification method and device, and electronic equipment
KR20160085143A (en) Method for providing anonymous service and method for managing user information and system therefor
CN112037054B (en) Method and computer readable medium for hiding user's asset line in a decentralized identity system
CN112035813B (en) Method and computer readable medium for generating distributed identities based on fingerprint identification layering in blockchain
CN112035814B (en) Method and computer readable medium for generating distributed identities based on iris recognition in blockchain
WO2021205660A1 (en) Authentication server, authentication system, authentication server control method, and storage medium
JP7222436B2 (en) Security control method, information processing device and security control program
EP4220454A1 (en) Attribute information conversion device, attribute information conversion program, and attribute information conversion method
WO2021205659A1 (en) Authentication server, authentication system, method for controlling authentication server, and storage medium
Beuchat et al. A Digital Identity in the Hands of Swiss Citizens
KR20230004312A (en) System for authentication and identification of personal information using DID(Decentralized Identifiers) without collection of personal information and method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant