A decentralized identity authentication method based on password accumulator
By introducing proxy chains and representative nodes into the cross-chain system and using a dynamic cryptographic accumulator to manage cross-chain user identities, the centralized problem of identity management in the cross-chain system is solved, achieving efficient and secure identity verification and revocation, and improving the robustness and trustworthiness of the system.
Patent Information
- Application Number
- CN202411713854.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-11-27
AI Technical Summary
Existing cross-chain systems lack a unified identity management mechanism. Centralized identity authentication has single points of failure and privacy risks, and fails to effectively manage the validity period and update process of cross-chain identity credentials, resulting in a decrease in system robustness and performance.
A decentralized authentication method based on cryptographic accumulators is adopted. A distributed trust mechanism is built through proxy chains and representative nodes. A dynamic cryptographic accumulator is used to manage cross-chain user identities, and digital signatures are used for authentication and revocation, reducing the storage pressure on the relay chain.
It enables efficient identity verification and revocation in cross-chain systems, prevents replay attacks and identity forgery, improves system security and trustworthiness, reduces the storage and computing pressure on the relay chain, and enhances decentralization.
Smart Images

Figure CN119519988B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of blockchain technology, and in particular to a decentralized authentication method based on a cryptographic accumulator. Background Technology
[0002] Blockchain is a decentralized distributed ledger technology that combines distributed storage, peer-to-peer transmission, consensus mechanisms, and cryptography to record transactions and information through a continuously growing chain of data blocks, ensuring data security and transparency.
[0003] In recent years, blockchain technology has been developing rapidly, and its applications are becoming increasingly widespread. However, due to differences in consensus mechanisms and block structures, resources and data across different blockchains cannot be shared, resulting in data silos. In practical applications, a blockchain may need to share data with other blockchains to complete complex business processes. However, for non-public architectures such as consortium blockchains, strict access control mechanisms prevent data sharing with other blockchains. Cross-chain technology can exchange and circulate information and value on independent blockchains. However, each blockchain has its own independent identity management mechanism, and the lack of a unified identity management mechanism makes it difficult for entities on different blockchains to trust each other. Entities on different blockchains cannot verify each other's identities. Therefore, cross-chain systems require a unified identity management architecture to provide trusted identity management for the entire cross-chain system and achieve mutual recognition of identities between users on different blockchains.
[0004] Currently, existing identity authentication methods rely on centralized institutions, with users' personal information held by third-party organizations. Users lack control over their identities, leading to single points of failure and privacy breaches. Applying existing identity authentication technologies to cross-chain systems would reduce the decentralization and credibility of the entire blockchain network. Furthermore, centralized authentication methods cannot meet the efficient authentication requirements of frequent transactions involving numerous entities in cross-chain scenarios. Existing distributed cross-chain identity authentication methods lack privacy protection mechanisms, potentially leading to the leakage of cross-chain user identity information. Moreover, the management and verification of trust issues in the issuance and updating of cross-chain identity credentials are unclear; centralized institutions handling this could result in single points of failure and malicious activity. Performance and latency issues during large-scale user use, especially high-frequency cross-chain operations, have not been addressed in existing solutions. Furthermore, existing cross-chain identity authentication schemes do not consider the timely revocation of cross-chain identity credentials, potentially causing security problems for the cross-chain system.
[0005] A current multi-chain unified identity management method based on DID (Decentralized Identity) and a relay chain includes the following steps: The method comprises a relay chain consisting of multiple consortium blockchain CAs (Certificate Authorities) used to maintain the global identity of users in the multi-chain system. Users input their registration information into the relay chain, generating a global DID identity. The consortium blockchain CAs obtain the user's global DID identity from the relay chain and issue an identity binding certificate to the user, demonstrating the binding relationship between the consortium blockchain identity and the user's global DID identity. Then, the consortium blockchain CAs issue an on-chain data certificate demonstrating the binding relationship between the consortium blockchain identity and on-chain data. Based on the user's global DID identity, identity binding certificate, and on-chain data certificate, the user applies for cross-chain access permissions from other consortium blockchain CAs. This method effectively provides a unified user identity for multi-chain systems oriented towards consortium blockchains and provides a cross-chain access authorization and authentication mechanism for consortium blockchain users' cross-chain access operations.
[0006] (2) Cross-chain system and distributed user authentication method for cross-chain system
[0007] The method includes a user identifier registration module, a user identifier update module, and a user identifier authentication module. The user identifier registration module issues a unified cross-chain system identity identifier (C-BUID) to users on the blockchains connected to the cross-chain system. The user identifier update module updates the identity information of users registered in the cross-chain system on various independent blockchains, enabling identity interconnection within the cross-chain system (here, independent blockchains refer to different blockchain systems). During cross-chain interaction, the independent blockchains send user information to the cross-chain system, which queries the cross-chain identity identifier based on the user-uploaded information, updates relevant attribute information, and records attribute mapping relationships. The user identifier authentication module is used for user authentication on each independent blockchain within the cross-chain system; cross-chain identity authentication is designed based on digital signatures and interactive zero-knowledge proofs.
[0008] The disadvantages of the existing multi-chain unified identity management method based on DID and relay chain mentioned above include: (1) In the cross-chain entity identity management architecture, the validity period of identity credentials is very important. This method does not mention the validity period management and credential revocation mechanism of cross-chain entity identity credentials. Furthermore, the above scheme does not mention the synchronization problem of identity updates. When a user's identity information changes on a certain blockchain, it is not clear how to synchronize it to other blockchains in real time.
[0009] (2) As the number of cross-chain entities increases, the pressure on blockchain's on-chain storage and network communication increases. The above scheme entrusts the identity management function of cross-chain users to the relay chain and relies on interactive zero-knowledge proofs, which brings additional communication and computing overhead to the relay chain and reduces the robustness of the system in complex network environments. Summary of the Invention
[0010] This invention provides a decentralized authentication method based on a cryptographic accumulator to effectively ensure the security and trustworthiness of cross-chain systems.
[0011] To achieve the above objectives, the present invention adopts the following technical solution.
[0012] A decentralized authentication method based on a password accumulator includes:
[0013] When the cross-chain system is initialized, the cross-chain user sends a registration request to the representative node of his / her blockchain. The registration request carries the user's identity information. The representative node forwards the registration request to the proxy chain, and the proxy chain stores the cross-chain user's identity information.
[0014] The cross-chain user sends an application for access credentials to the representative node. The representative node forwards the application for access credentials to other representative nodes of the user's proxy chain. The representative node generates access credentials based on the signatures returned by the other representative nodes and sends the credentials hash value to the proxy chain. After verifying the identity information of the cross-chain user, the proxy chain adds a cryptographic accumulator to the credentials hash value to generate a member proof value and sends the member proof value to the cross-chain user.
[0015] The proxy chain and the relay chain synchronize the cryptographic accumulator. The cross-chain user sends a cross-chain transaction request to the relay chain, which carries the member proof value and other cross-chain transaction information. After the relay chain successfully verifies the member proof value in the cross-chain transaction request using the cryptographic accumulator, it returns an authentication success message to the cross-chain user.
[0016] Preferably, the cross-chain system is initialized, including:
[0017] During the initialization phase of the cross-chain system, each application chain elects a representative node as the authoritative node for its own chain. All representative nodes together form a proxy chain. Each representative node registers its cross-chain identity with the proxy chain as a globally trusted identity. The cross-chain system administrator sets security parameters and selects elliptic curves and bilinear pairings to generate a public-private key pair {PK, SK}. The private key SK is divided into n parts using the Shamir secret sharing algorithm. Each representative node's CA i Obtain public key share Pk i and private key share Ski Let i represent the representative node of the i-th blockchain. There are n representative nodes participating in this cross-chain system. The threshold parameter t is defined for the threshold signature used to successfully issue access credentials. The initial value g of the proxy chain generates the cryptographic accumulator. For the set X = {x1, x2, ..., x...} n The cryptographic accumulator of} is defined as Acc X =Sum(g,{x1,x2,…,x n}), where Sum and Revoke are the aggregation and undo operations of the cryptographic accumulator, and Acc is the undo operation. old This represents the current cryptographic accumulator, Acc. new This represents the updated password accumulator.
[0018] Preferably, the cross-chain user sends a registration request to a representative node of the user's blockchain. This registration request carries the cross-chain user's identity information. The representative node forwards the registration request to a proxy chain, which stores the cross-chain user's identity information, including:
[0019] S11: Cross-chain users independently generate a unified cross-chain identity identifier (DID) and public / private key pair {Pk} according to the specifications. U Sk U}, using the private key Sk U For DID and public key Pk U The Sig1 is obtained by signing the relevant attribute information Attr and the timestamp T1 information. U Send a cross-chain identity registration request M1 = {Register, DID, Pk} to the representative node of this chain. U ,Attr,T1,Sig1 U};
[0020] S12: Represents node CA i After verifying the cross-chain identity registration request, the cross-chain identity registration request is submitted to the proxy chain for registration. The proxy chain stores the cross-chain unified identity identifier DID and DID document of the cross-chain user.
[0021] S13: After successful registration, the representative node returns registration success information to the cross-chain user. The cross-chain user has a legitimate identity in the cross-chain system, and other users can query the cross-chain user's identity information on the proxy chain.
[0022] Preferably, the cross-chain user sends an access request credential to a representative node, the representative node forwards the access request credential to other representative nodes in the proxy chain, the representative node generates an access credential based on the signatures returned by the other representative nodes, sends the credential hash value to the proxy chain, the proxy chain verifies the identity information of the cross-chain user, adds a cryptographic accumulator to the credential hash value to generate a membership proof value, and sends the membership proof value to the cross-chain user, including:
[0023] S21: The cross-chain user uses the private key Sk U For DID and public key Pk U The hash signature of the relevant attribute information Attr and the timestamp T2 information is used to obtain Sig2. U The cross-chain user sends a message to the representative node CA. i To apply for access credentials, send the message M2 = {ApplyAccess, DID, Pk} U ,Attr,T2,Sig2 U};
[0024] S22: Represents node CA i The message M2 is verified. If the verification is successful, the message M2 is forwarded to other representative points CAs.
[0025] S23: Other representative nodes (CAs) read the DID documents of the cross-chain users mentioned in the proxy chain for verification. After successful verification, they use their own private key share Sk. CAs Calculate partial signature and to the representative node CA i Send σ i And other relevant information required for merging signatures;
[0026] S24: Represents node CA i Collect at least t valid threshold signatures σ1,σ2,…,σ t Verify the collected signatures e(σ) i ,g)=e(Hash(M2),Pk i If the equation holds true, then it means σ i If the signature is generated by a legitimate signer, that legitimate signature is retained; otherwise, the signature is discarded, and legitimate signatures are merged to generate a complete threshold signature. Where S represents the set of signer participants, λ i It is the Lager-Lange coefficient, λ i =∏ j∈S,j≠i j / (ji);
[0027] S25: Represents node CA iVerify the validity of the signature by calculating e(σ,g)=e(Hash(M2),PK);
[0028] S26: After successful verification, it represents the CA node. i Generate access credentials VC = {DID, Pk} for the cross-chain user. U ,Attr,σ}, represents node CA i Calculate the hash (Hash(VC)) of the entry credential VC and upload the hash (VC) to the proxy chain;
[0029] S27: Represents node CA i Calculate the hash value x i =Hash(VC), using a dynamic cryptographic accumulator algorithm to hash the value x i Add to the password accumulator to generate a new password accumulator value Acc. new =Sum(Acc) old ,x i ), and let x i Membership proof is
[0030] S28: Represents node CA i Set the new password accumulator value Acc new and the hash value x of the new user certificate i Published to the proxy chain;
[0031] S29: The proxy chain sends a new element x to the relay chain. i The set of vouchers X = {x1, x2, ... x} i ,…,x n The cipher accumulator Acc new ;
[0032] S30: Represents node CA i Returning a successful admission message to the cross-chain user, representing the node CA i Add the current timestamp T3 and use the private key pair Sign the hash value to obtain Sig CA Send message M3 = {AcceptAccess, pf} to the cross-chain user i ,VC,T3,Sig CA}
[0033] Preferably, the proxy chain and the relay chain synchronize a cryptographic accumulator. The cross-chain user sends a cross-chain transaction request to the relay chain, which carries the member proof value and cross-chain transaction information. After the relay chain successfully verifies the member proof value in the cross-chain transaction request using the cryptographic accumulator, it returns an authentication success message to the cross-chain user, including:
[0034] S31: The cross-chain user uses a private key pair The hash value Hash(M) is used to sign the Sig3 hash. U The cross-chain user sends a cross-chain transaction message to the relay chain. otherinfos contains other relevant information required for this cross-chain transaction;
[0035] S32: After receiving the cross-chain transaction message M4, the relay chain uses the public key Pk provided by the cross-chain user. U Cross-chain transaction information M4 verification signature Sig3 U If true, it means the signature was created by Pk. U If the corresponding private key is generated, proceed to step S33; otherwise, if the verification fails, reject the cross-chain transaction message M4.
[0036] S33: Relay Chain Verification x i =Hash(VC) is true, and the equation is checked to see if it is true. Verification of whether x is true or false i Does it belong to Acc? X If true, it means that the cross-chain user is the owner of the DID identity and has a valid cross-chain access credential, allowing cross-chain transactions; otherwise, the cross-chain transaction is rejected.
[0037] Preferably, the method further includes:
[0038] S41: Cross-chain user to proxy node CA i Send a revocation request Sig4 U For cross-chain users The signature;
[0039] S42: Represents node CA i The revocation request M5 is verified based on the user's public key and the password accumulator value. If the verification is successful, the revocation request M5 is forwarded to other representative points CAs to proceed to the next step S43; otherwise, the revocation request M5 is rejected.
[0040] S43: After receiving the revocation request M5, other representative nodes will authenticate the cross-chain user. If the authentication is successful and the revocation of the user's credentials is agreed upon, they will use their own private key share Sk. CAs Calculate partial signature and to the representative node CA i Send σ revokei And other relevant information required for merging signatures;
[0041] S44: Represents node CA i The number of valid signatures is counted. If the number of successful signatures reaches a preset threshold t, the verification is considered successful, indicating that the node has generated a complete threshold signature σ. revoke And generate the final proof of revocation. Representative node CA i Send the revocation certificate to the proxy chain management node;
[0042] S45: The proxy chain management node verifies the threshold signature σ revoke After verifying the validity of the credentials, the password accumulator revocation algorithm is invoked to revoke the cross-chain user's access credentials. The administrator uses the dynamic password accumulator revocation algorithm Acc. new =Revoke(Acc) old ,x i Update the value of the cryptographic accumulator, publish the new cryptographic accumulator value to the proxy chain, and synchronize the updated cryptographic accumulator Acc to the relay chain. new ;
[0043] S46: The management node publishes the revoked element xi to the proxy chain, and the remaining users x on the proxy chain... j calculate As the new witness value, other users use the new witness value for cross-chain transaction authentication;
[0044] S47: The management node will assign the cross-chain user's identity identifier (DID) and revocation proof (VC) to the cross-chain user. revoke Publish to the proxy chain.
[0045] As can be seen from the technical solutions provided by the embodiments of the present invention above, the present invention records the access credentials of cross-chain users through a dynamic cryptographic accumulator and combines them with digital signatures. It introduces a proxy blockchain to design a decentralized and efficient cross-chain identity authentication scheme based on a cryptographic accumulator, which realizes efficient verification and revocation of user identity, reduces the storage pressure of the relay chain, prevents replay attacks and identity forgery, and ensures the security and trustworthiness of the entire cross-chain system.
[0046] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and will become apparent from the description or may be learned by practice of the invention. Attached Figure Description
[0047] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 This is a model structure diagram of a cross-chain identity management system provided in an embodiment of the present invention.
[0049] Figure 2 This is a timing diagram of a cross-chain identity management system provided in an embodiment of the present invention.
[0050] Figure 3 This is a flowchart of a cross-chain identity management phase provided in an embodiment of the present invention.
[0051] Figure 4 A flowchart illustrating the entity interaction process of steps S2 to S3 described above is provided in this embodiment of the invention.
[0052] Figure 5 This is a flowchart illustrating the entity interaction process in step S4 described above, provided as an embodiment of the present invention. Detailed Implementation
[0053] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.
[0054] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in this specification means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It should be understood that when we say an element is “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein can include wireless connections or couplings. The term “and / or” as used herein includes any and all combinations of one or more of the associated listed items.
[0055] It will be understood by those skilled in the art that, unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. It should also be understood that terms such as those defined in general dictionaries should be understood to have the same meaning as in the context of the prior art, and should not be interpreted in an idealized or overly formal sense unless defined as herein.
[0056] To facilitate understanding of the embodiments of the present invention, the following will provide further explanation and description with reference to the accompanying drawings and several specific embodiments. These embodiments do not constitute a limitation on the embodiments of the present invention.
[0057] The model structure of a cross-chain identity management system provided in this embodiment of the invention is as follows: Figure 1 As shown, the cross-chain identity management system includes cross-chain user registration, cross-chain access credential issuance, cross-chain user authentication, and cross-chain user revocation. The model structure includes four roles: cross-chain user, relay chain, proxy chain, and representative node. The definitions of these four roles are as follows.
[0058] Cross-chain users: Cross-chain users possess a legitimate identity on a specific blockchain and wish to conduct cross-chain transactions with other blockchains. They need to register a unified cross-chain identity with the proxy chain and apply for an access credential from the representative node, obtaining the access credential and member proof value. Users submit their identity and member proof to the relay chain; after verification, they can use the cross-chain functions provided by the relay chain to complete cross-chain transactions.
[0059] Relay Chain: The relay chain maintains a cryptographic accumulator and deploys an identity verification contract to verify the identity and membership certificates submitted by users. Once verification is successful, subsequent operations can proceed. In this invention, the relay chain maintains a cryptographic accumulator, enabling rapid verification of cross-chain user identities and reducing the storage pressure on the relay chain.
[0060] Representative Nodes: Each blockchain elects representative nodes to serve as trusted nodes within that blockchain. These representative nodes form a proxy alliance with other representative nodes, issuing access credentials based on threshold signatures. Representative nodes can periodically verify each other, ensuring a high level of trust in the proxy alliance.
[0061] Proxy Chain: Each blockchain elects a representative node to act as its representative and maintain the proxy chain together with other representative nodes. As the distributed trust institution of the entire cross-chain system, it is responsible for the distributed digital identity management of the entire cross-chain system, including the storage and maintenance of cross-chain user identities, and deploys identity registration contracts to complete user identity registration. The cryptographic accumulator contract completes the relevant operations on the cryptographic accumulator and synchronizes the latest cryptographic accumulator to the relay chain.
[0062] This invention provides a decentralized authentication method based on a cryptographic accumulator, comprising a system initialization phase and a cross-chain identity management phase. The cross-chain identity management phase mainly includes cross-chain entity identity registration, access credential issuance, identity verification, and identity revocation. In the system initialization phase, each application chain elects a representative node as the authoritative node of its own chain to jointly form a proxy chain, and registers its cross-chain identity with the proxy chain as a globally trusted identity. The cross-chain system administrator sets security parameters and selects elliptic curves and bilinear pairings to generate a public-private key pair {PK, SK}. The private key SK is divided into n parts using the Shamir secret sharing algorithm, and each representative node (CA)... i Obtain public key share Pk i and private key share Sk i Where i represents the representative node of the i-th blockchain, and there are n representative nodes participating in the cross-chain system. The threshold parameter t is defined as the threshold signature used to successfully issue access credentials. The proxy chain generates the initial value g of the cryptographic accumulator, which is defined as follows for the set X = {x1, x2, ..., x...}. n The cryptographic accumulator of} is defined as Acc X =Sum(g,{x1,x2,…,x n}), where Sum and Revoke are the aggregation and undo operations of the cryptographic accumulator. Note Acc X In the following text, Acc will be used. new Or Acc old Alternative, Acc old This represents the current cryptographic accumulator, Acc. new This represents the updated cryptographic accumulator. The system uses a uniform hash algorithm and assumes a secure communication channel between the user and the representative node of their chain.
[0063] A timing diagram of a cross-chain identity management system provided in this embodiment of the invention is shown below. Figure 2 As shown, the flowchart of a cross-chain identity management stage provided by an embodiment of the present invention is as follows: Figure 3 As shown, the specific steps include:
[0064] Step S1: Cross-chain user unified identity registration, specifically including the following steps:
[0065] S11: Users independently generate a cross-chain unified identity identifier (DID) and public / private key pair {Pk} according to the specifications. U SK U}, using the private key SK U For DID and public key Pk U Sign the relevant attribute information Attr, timestamp T1, etc., to obtain Sig1. U Send a cross-chain identity registration request M1 = {Register, DID, Pk} to the representative node of this chain.U ,Attr,T1,Sig1 U}
[0066] S12: Represents node CA i Verify the registration request and submit it to the proxy chain for registration, and obtain the user's cross-chain unified identity identifier (DID) and DID document.
[0067] S13: After successful registration, the representative node returns registration success information to the user, granting the user a legitimate identity within the cross-chain system, allowing for subsequent cross-chain operations based on this DID. Other users can then query the user's identity information on the proxy chain.
[0068] Step S2: Issue the access pass. Figure 4 This is a flowchart of entity interaction steps S2 to S3 provided in an embodiment of the present invention.
[0069] S21: A user applies to the proxy chain to connect to the relay chain. Connecting to the relay chain means that the user can use the relay chain for cross-chain operations. The user uses their private key Sk. U For DID and public key Pk U The hash value signature of relevant attribute information such as Attr and timestamp T2 is used to obtain Sig2. U The user sends an instruction to the representative node CA. i To apply for access credentials, send the message M2 = {ApplyAccess, DID, Pk} U ,Attr,T2,Sig2 U}
[0070] S22: Represents node CA i The message is verified, and once verified, it is forwarded to other representative points (CAs).
[0071] S23: Other representative nodes (CAs) can read the user's DID document in the proxy chain for verification. After successful verification, they use their own private key share Sk. CAs Calculate partial signature and to the representative node CA i Send σ i And other relevant information required for merging signatures.
[0072] S24: Represents node CA i Collect at least t valid threshold signatures σ1,σ2,…,σ t Verify the collected signatures e(σ) i ,g)=e(Hash(M2),Pk i If the equation holds true, then it means σ iThe signature is generated by a legitimate signer; otherwise, it is discarded. The signatures are then merged to generate the complete threshold signature. Where S represents the set of signer participants, λ i It is the Lager-Lange coefficient, λ i =∏ j∈S,j≠i j / (ji).
[0073] S25: Represents node CA i The validity of the signature can be verified by calculating e(σ,g)=e(Hash(M2),PK).
[0074] S26: After successful verification, it represents the CA node. i Generate access credentials for this user: VC = {DID, Pk} U Attr,σ} represents node CA. i The credential is hashed (Hash(VC)) and uploaded to the proxy chain. Other representative nodes in the proxy chain can verify the VC, preventing representative nodes from obtaining CA (Certificate of Credential Apprehension). i To do evil.
[0075] S27: Represents node CA i Calculate the hash value x i =Hash(VC), and use the dynamic cryptographic accumulator algorithm to add it to the cryptographic accumulator, generating a new cryptographic accumulator value Sum(Acc). old ,x i ), and let x i Membership proof is
[0076] S28: Represents node CA i Set the new password accumulator value Acc new and the hash value x of the new user certificate i The witness value is published on the proxy chain for other users to update. Other users can calculate the new witness value p.
[0077] S29: The proxy chain sends a new element x to the relay chain. i The set of vouchers X = {x1, x2, ... x} i ,…,x n The cipher accumulator Acc new .
[0078] S30: Represents node CA i Return a message to the user indicating successful admission. This represents the CA node. i Add the current timestamp T3 and use the private key pair Sign the hash value to obtain SigCA Send message M3 = {AcceptAccess, pf} to the user i ,VC,T3,Sig CA}
[0079] Step S3: Perform cross-chain identity authentication for users, which includes the following steps:
[0080] S31: The user sends a cross-chain transaction to the relay chain. The user uses their private key pair. The hash value Hash(M) is used to sign the Sig3 hash. U Send cross-chain transaction M4 = { otherinfos refers to other relevant information required for this cross-chain transaction.
[0081] S32: After receiving the cross-chain message, the relay chain verifies the request based on the user's public key and the cryptographic accumulator value. First, it checks the timestamp to prevent replay attacks, and then uses the user-provided public key to perform a key check (Pk). U Cross-chain transaction information M4 verification signature Sig3 U If true, it means the signature was created by Pk. U The corresponding private key is generated, which can then be used to proceed to the next step, S33, to verify that the user is the owner of the DID and whether the user has valid access credentials; otherwise, the verification fails and the message is rejected.
[0082] S33: Relay Chain Verification x i =Hash(VC) is true, and the equation is checked to see if it is true. Verification of whether x is true or false i Does it belong to Acc? X If true, it means that the user is the owner of the DID identity and has a valid cross-chain access credential, allowing cross-chain transactions; otherwise, the cross-chain transaction is rejected.
[0083] Step S4: Revoke the access certificate. Figure 5 This invention provides a flowchart of the entity interaction process for step S4, as described in an embodiment of the invention. Specifically, it includes the following steps:
[0084] S41: The user sends a revocation request to the agent node CA. i Send M5 = {ApplyRevoke,VC, T5, Sig4 U}. Among them, Sig4 U For users The signature.
[0085] S42: Represents node CA iThe authentication method mentioned in steps S32 and S33 of S3 is used to verify the request based on the user's public key and the password accumulator value, ensuring the legitimacy of the user's identity. If the verification is successful, the message is forwarded to other representative points (CAs) and the next step S43 is performed; otherwise, the request is rejected.
[0086] S43: Upon receiving the revocation request, other representative nodes also authenticate the user. If authentication is successful and the revocation of the user's credentials is approved, they will use their own private key share SK. CAs Calculate partial signature and to the representative node CA i Send σ revokei And other relevant information required for merging signatures.
[0087] S44: Represents node CA i The number of valid signatures is counted. If the number of successful signatures reaches a preset threshold t, the verification is considered successful. The node then generates a complete threshold signature σ. revoke And generate the final proof of revocation. Representative node CA i Send the revocation certificate to the proxy chain management node.
[0088] S45: The proxy chain management node verifies the validity of the signature. Upon successful verification, it invokes the password accumulator revocation algorithm to revoke the user's access credentials. The administrator uses the dynamic password accumulator revocation algorithm Acc. new =Revoke(Acc) old ,x i Update the value of the cryptographic accumulator, publish the new cryptographic accumulator value to the proxy chain, and synchronize the updated cryptographic accumulator Acc to the relay chain. new Users whose credentials have been revoked will be unable to pass the relay chain verification.
[0089] S46: The management node will revoke element x i Published to the proxy chain, and other users on the chain x j calculate The new witness value allows other users to authenticate their cross-chain transactions.
[0090] S47: The management node assigns the user's identity identifier (DID) and revocation certificate (VC). revoke Published to the proxy chain. A query contract is deployed in the proxy chain, and other users can query the revocation record of a user's access credentials by providing the parameter DID to the contract.
[0091] In summary, this embodiment of the invention uses threshold signatures to issue and revoke access credentials for cross-chain users by representative nodes elected from each application chain, ensuring the decentralization of the access credential issuance and revocation process. Furthermore, the hash value of the user's identity credential is stored in the proxy chain, which can be verified by other cross-chain entities. The registration, updating, and revocation processes of user identity are all recorded on the proxy chain, improving the security and trustworthiness of the entire system.
[0092] This invention optimizes the identity credential storage scheme by introducing a cryptographic accumulator, reducing the storage pressure on the relay chain. Furthermore, it combines the cryptographic accumulator with digital signature technology to achieve efficient member verification, effectively preventing replay attacks and identity forgery. This ensures rapid user authentication in scenarios with a large number of users frequently engaging in cross-chain transactions, improving the overall performance of the cross-chain system. Simultaneously, the use of the cryptographic accumulator makes identity credentials more lightweight. Comparatively, this invention offers advantages in both efficiency and security.
[0093] This invention implements the revocation of cross-chain entity identities based on dynamic cryptographic accumulator technology, promptly processing and updating the identities of expired and malicious users. Users whose identities have been revoked will not be able to pass the identity verification of the relay chain and will be unable to use the cross-chain system for cross-chain transactions, thereby improving the security and trustworthiness of the system and contributing to the construction of a dynamic and secure cross-chain system.
[0094] This invention optimizes the storage scheme for identity credentials. By recording the access credentials of cross-chain users through a dynamic cryptographic accumulator and combining them with digital signatures, it achieves efficient verification and revocation of user identities, reduces the storage and computational pressure on the relay chain, prevents replay attacks and identity forgery, and ensures the security and trustworthiness of the entire cross-chain system.
[0095] This invention introduces a proxy blockchain chain, which uses threshold signature technology to implement identity management functions such as the issuance and revocation of cross-chain identity credentials, preventing single points of malicious activity or single points of failure, and improving the decentralization and trustworthiness of the entire system.
[0096] This invention implements the revocation of cross-chain user access credentials based on a dynamic cryptographic accumulator, promptly revoking the identity of malicious entities, limiting malicious user behavior, and enhancing the security and trustworthiness of the entire cross-chain system.
[0097] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of one embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing the present invention.
[0098] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of the present invention.
[0099] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for apparatus or system embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The apparatus and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0100] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A decentralized authentication method based on a cryptographic accumulator, characterized in that, include: When the cross-chain system is initialized, the cross-chain user sends a registration request to the representative node of his / her blockchain. The registration request carries the user's identity information. The representative node forwards the registration request to the proxy chain, and the proxy chain stores the cross-chain user's identity information. The cross-chain user sends an application for access credentials to the representative node. The representative node forwards the application for access credentials to other representative nodes of the user's proxy chain. The representative node generates access credentials based on the signatures returned by the other representative nodes and sends the credentials hash value to the proxy chain. After verifying the identity information of the cross-chain user, the proxy chain adds a cryptographic accumulator to the credentials hash value to generate a member proof value and sends the member proof value to the cross-chain user. The proxy chain and the relay chain synchronize the cryptographic accumulator. The cross-chain user sends a cross-chain transaction request to the relay chain, which carries the member proof value and other cross-chain transaction information. After the relay chain successfully verifies the member proof value in the cross-chain transaction request using the cryptographic accumulator, it returns an authentication success message to the cross-chain user.
2. The method according to claim 1, characterized in that, The cross-chain system is initialized, including: During the initialization phase of the cross-chain system, each application chain elects a representative node as the authoritative node for its own chain. All representative nodes together form a proxy chain. Each representative node registers its cross-chain identity with the proxy chain as a globally trusted identity. The cross-chain system administrator sets security parameters and selects elliptic curves and bilinear pairings to generate a public-private key pair {PK, SK}. The private key SK is divided into n parts using the Shamir secret sharing algorithm. Each representative node's CA i Obtain public key share Pk i and private key share Sk i Let i represent the representative node of the i-th blockchain. There are n representative nodes participating in this cross-chain system. The threshold parameter t is defined for the threshold signature used to successfully issue access credentials. The initial value g of the proxy chain generates the cryptographic accumulator. For the set X = {x1, x2, ..., x...} n The cryptographic accumulator of} is defined as Acc X =Sum(g, {x1, x2, ..., x...) n }), where Sum is the aggregation operation of the cryptographic accumulator.
3. The method according to claim 2, characterized in that, The cross-chain user sends a registration request to the representative node of its blockchain, the registration request carrying the cross-chain user's identity information. The representative node forwards the registration request to the proxy chain, which stores the cross-chain user's identity information, including: S11: Cross-chain users independently generate a unified cross-chain identity identifier (DID) and public / private key pair {Pk} according to the specifications. U Sk U }, using the private key Sk U For DID and public key Pk U The Sig1 is obtained by signing the relevant attribute information Attr and the timestamp T1 information. U Send a cross-chain identity registration request M1 = {Register, DID, Pk} to the representative node of this chain. U ,Attr,T1,Sig1 U }; S12: Represents node CA i After verifying the cross-chain identity registration request, the cross-chain identity registration request is submitted to the proxy chain for registration. The proxy chain stores the cross-chain unified identity identifier DID and DID document of the cross-chain user. S13: After successful registration, the representative node returns registration success information to the cross-chain user. The cross-chain user has a legitimate identity in the cross-chain system, and other users can query the cross-chain user's identity information on the proxy chain.
4. The method according to claim 3, characterized in that, The cross-chain user sends an access request credential to a representative node. The representative node forwards the access request credential to other representative nodes on the proxy chain. The representative node generates an access credential based on the signatures returned by the other representative nodes and sends the credential hash value to the proxy chain. After verifying the cross-chain user's identity information, the proxy chain adds a cryptographic accumulator to the credential hash value to generate a membership proof value and sends the membership proof value to the cross-chain user. This process includes: S21: The cross-chain user uses the private key Sk U For DID and public key Pk U The hash signature of the relevant attribute information Attr and the timestamp T2 information is used to obtain Sig2. U The cross-chain user sends a message to the representative node CA. i To apply for access credentials, send the message M2 = {ApplyAccess, DID, Pk} U ,Attr,T2,Sig2 U }; S22: Represents node CA i The message M2 is verified. If the verification is successful, the message M2 is forwarded to other representative points CAs. S23: Other representative nodes (CAs) read the DID documents of the cross-chain users mentioned in the proxy chain for verification. After successful verification, they use their own private key share Sk. CAs Calculate partial signature and to the representative node CA i Send σ i And other relevant information required for merging signatures; S24: Represents node CA i Collect at least t valid threshold signatures σ1,σ2,…,σ t Verify the collected signatures e(σ) i ,g)=e(Hash(M2),Pk i If the equation holds true, then it means σ i If the signature is generated by a legitimate signer, that legitimate signature is retained; otherwise, the signature is discarded, and legitimate signatures are merged to generate a complete threshold signature. Where S represents the set of signer participants, λ i It is the Lager-Lange coefficient, λ i =∏ j∈S,j≠i j / (ji); S25: Represents node CA i Verify the validity of the signature by calculating e(σ,g)=e(Hash(M2),PK); S26: After successful verification, it represents the CA node. i Generate access credentials VC = {DID, Pk} for the cross-chain user. U ,Attr,σ}, represents node CA i Calculate the hash (Hash(VC)) of the entry credential VC and upload the hash (VC) to the proxy chain; S27: Represents node CA i Calculate the hash value x i =Hash(VC), using a dynamic cryptographic accumulator algorithm to hash the value x i Add to the password accumulator to generate a new password accumulator value Acc. new =Sum(Acc) old ,x i ), and let x i Membership proof is Acc old This represents the current cryptographic accumulator, Acc. new This represents the updated password accumulator; S28: Represents node CA i Set the new password accumulator value Acc new and the hash value x of the new user certificate i Published to the proxy chain; S29: The proxy chain sends a new element x to the relay chain. i The set of vouchers X = {x1, x2, ... x} i ,…,x n The cipher accumulator Acc new ; S30: Represents node CA i Returning a successful admission message to the cross-chain user, representing the node CA i Add the current timestamp T3 and use the private key pair Sign the hash value to obtain Sig CA Send message M3 = {AcceptAccess, pf} to the cross-chain user i ,VC,T3,Sig CA } 5. The method according to claim 4, characterized in that, The proxy chain and the relay chain synchronize a cryptographic accumulator. The cross-chain user sends a cross-chain transaction request to the relay chain, which carries the member proof value and cross-chain transaction information. After the relay chain successfully verifies the member proof value in the cross-chain transaction request using the cryptographic accumulator, it returns an authentication success message to the cross-chain user, including: S31: The cross-chain user uses a private key pair The hash value Hash(M) is used to sign the Sig3 hash. U The cross-chain user sends a cross-chain transaction message to the relay chain. otherinfos contains other relevant information required for this cross-chain transaction; S32: After receiving the cross-chain transaction message M4, the relay chain uses the public key Pk provided by the cross-chain user. U Cross-chain transaction information M4 verification signature Sig3 U If true, it means the signature was created by Pk. U If the corresponding private key is generated, proceed to step S33; otherwise, if the verification fails, reject the cross-chain transaction message M4. S33: Relay Chain Verification x i =Hash(VC) is true, and the equation is checked to see if it is true. Verification of whether x is true or false i Does it belong to Acc? X If true, it means that the cross-chain user is the owner of the DID identity and has a valid cross-chain access credential, allowing cross-chain transactions; otherwise, the cross-chain transaction is rejected.
6. The method according to claim 5, characterized in that, The method further includes: S41: Cross-chain user to proxy node CA i Send a revocation request Sig4 U For cross-chain users The signature; S42: Represents node CA i The revocation request M5 is verified based on the user's public key and the password accumulator value. If the verification is successful, the revocation request M5 is forwarded to other representative points CAs to proceed to the next step S43; otherwise, the revocation request M5 is rejected. S43: After receiving the revocation request M5, other representative nodes will authenticate the cross-chain user. If the authentication is successful and the revocation of the user's credentials is agreed upon, they will use their own private key share Sk. CAs Calculate partial signature and to the representative node CA i Send σ revokei And other relevant information required for merging signatures; S44: Represents node CA i The number of valid signatures is counted. If the number of successful signatures reaches a preset threshold t, the verification is considered successful, indicating that the node has generated a complete threshold signature σ. revoke And generate the final proof of revocation. Representative node CA i Send the revocation certificate to the proxy chain management node; S45: The proxy chain management node verifies the threshold signature σ revoke After verifying the validity of the credentials, the password accumulator revocation algorithm is invoked to revoke the cross-chain user's access credentials. The administrator uses the dynamic password accumulator revocation algorithm Acc. new =Revoke(Acc) old ,x i Update the value of the cryptographic accumulator, publish the new cryptographic accumulator value to the proxy chain, and synchronize the updated cryptographic accumulator Acc to the relay chain. new Revoke is the undo operation for the cryptographic accumulator; S46: The management node will revoke element x i Published to the proxy chain, and other users x on the proxy chain j calculate As the new witness value, other users use the new witness value for cross-chain transaction authentication; S47: The management node will assign the cross-chain user's identity identifier (DID) and revocation proof (VC) to the cross-chain user. revoke Publish to the proxy chain.
Citation Information
Patent Citations
Decentralization anonymous identity authentication method based on RSA accumulator
CN117792642A
System and method for decentralized data management and dynamic verification, valuation, and monetization of data queries
US12155781B1