Identity management and authentication system and method based on blockchain and chameleon hash function

Through the cooperation between identity token issuing agencies and verification service providers, and combining the chameleon hash function to generate random blockchain addresses and verification keys, the problem of user identity information exposure in blockchain identity management is solved, and anonymous authentication and privacy protection are achieved.

CN116318920BActive Publication Date: 2025-08-15HEBEI UNIVERSITY
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310198158.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-03
Publication Date
2025-08-15
Estimated Expiration
2043-03-03

AI Technical Summary

Technical Problem

The existing blockchain identity management and authentication schemes have the problem of directly exposing the mapping relationship between user identity identifiers and identity information, resulting in personal privacy leakage and repeated injection of spam data.

Method used

The cooperation model of identity token issuing agencies, verification service providers and service providers is adopted, combined with the chameleon hash function, and a single user multi-address scheme is realized by generating random blockchain addresses and verification keys, ensuring that the user's identity information is not disclosed on the chain and that multiple identity identifiers cannot be linked.

Benefits of technology

It realizes anonymous authentication of user identity information, prevents the exposure of all transaction information and spam data injection caused by theft of a single identity identifier, and ensures the obscureness and unlinkability of user identity information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116318920B_ABST
    Figure CN116318920B_ABST
Patent Text Reader

Abstract

This invention provides an identity management and authentication system and method based on blockchain and the Chameleon hash function. The system comprises an on-chain address verification contract, a local client, and four entities: an identity token issuing authority, a verification service provider, a user, and a service provider. The local client includes five modules: an input / output module, an address generation module, a communication module, a blockchain interface module, and a database module. Based on the user privacy and data-centric nature of blockchain, this invention introduces the Chameleon hash function and designs a single-user, multi-address scheme. This ensures that user identity information is not publicly disclosed on the blockchain, that the association between user and identity ownership is invisible, that multiple identity identifiers for a single user are unlinkable, and that user identities are anonymously authenticated. This eliminates the direct exposure of links between a user's personal identity identifier and personal identity information, and addresses the issue of exposing all transaction information caused by the use of a single identity identifier.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and in particular to an identity management and authentication system and method based on blockchain and chameleon hash function. Background Art

[0002] Blockchain technology utilizes an encrypted chain-like block structure to verify and store data and a distributed node consensus algorithm to generate and update data. Its ingenious data structure offers decentralization, immutability, traceability, process transparency, and transaction anonymity, making it a promising technology for widespread adoption across numerous industries. For example, in the healthcare sector, where medical data and user privacy are core concerns, blockchain technology, combined with smart contracts, can effectively address the numerous issues inherent in traditional centralized databases. However, current blockchain-based identity management and authentication solutions still pose a risk of privacy breaches.

[0003] A Chinese patent application (publication number CN 109150836 A) discloses a blockchain entity identity management system, which includes a node management module, an identity management module, and an identity authentication module. The node management module is responsible for managing node members and their identity information on the blockchain, designating or electing proxy nodes, and notifying node information within the blockchain network. The identity management module is responsible for registering, deregistering, and updating node identities, while the identity authentication module is responsible for downloading and synchronizing the blockchain, searching for node identity information, and verifying the trustworthiness of the binding between public keys and identity information. Entity identity management includes managing the binding between entity public keys and identity identifiers, as well as identity authentication, which verifies that the public key belongs to the correct owner. Each entity member constitutes a node in the entire blockchain system and collectively maintains the identity information of all nodes.

[0004] A Chinese patent application (publication number CN 105701372 A) discloses a blockchain identity construction and verification method. This patent application relates to internet identity construction and verification, and includes the following steps: a certification authority constructs a user identity blockchain based on a user's identity verification request; the certification authority then uses the identity blockchain to perform user identity verification. This patent application writes user identity information to a blockchain, where multiple certification authorities jointly confirm and store this information through a consensus mechanism. Users can then conveniently use the blockchain for identity verification. This method not only improves the efficiency of user identity verification, but also prevents issues with individual certification authorities from affecting the accuracy of user identity information, significantly enhancing the security of the authentication process.

[0005] A Chinese patent application (publication number CN 111447073 A) discloses an identity management and authentication system and method based on blockchain and zero-knowledge proof. The identity management and authentication system comprises an on-chain smart contract and an off-chain entity local client. The on-chain smart contract includes the following contracts: an attribute repository contract, a knowledge management contract, a knowledge verification contract, and a key repository contract. The off-chain entity local client includes the following modules: a UI interface module, a web3.js interface module, a zero-knowledge proof module, a communication module, and a database module. The identity management and authentication method includes creating attribute tokens, creating attribute hidden tokens, authenticating identity information, and canceling attribute tokens. This invention ensures that user ownership of attributes is not disclosed in the blockchain, resolving the issue of blockchain identity management systems publicly disclosing the mapping between personal identifiers and personal identity information, thereby ensuring the privacy of user identity information.

[0006] The three aforementioned schemes are all blockchain-based identity management and authentication solutions. However, the blockchain identity management and authentication solutions in the Chinese patent application (publication number CN109150836A) and the Chinese patent application (publication number CN105701372A) expose the mapping relationship between user identity identifiers and identity information directly on the blockchain. This allows any user to obtain the relevant user's on-chain data and corresponding identity on the blockchain, resulting in a significant identity exposure problem. The identity management and authentication solution adopted by the Chinese patent application (publication number CN111447073A) solves the problem of linking identity identifiers and identity information. However, like the Chinese patent application (publication number CN109150836 A) and the Chinese patent application (publication number CN105701372 A), it uses a single identity identifier as the long-term identifier for each user. Through the blockchain, criminals can easily obtain all the data of a single user on the blockchain, thereby exposing identity information through big data analysis and causing personal privacy leaks. Summary of the Invention

[0007] The purpose of the present invention is to provide an identity management and authentication system and method based on blockchain and chameleon hash function to solve the problem of exposure of all transaction information caused by the use of a single identity identifier and the problem of repeated injection of junk data caused by the theft of a single identity identifier.

[0008] The present invention is achieved in that:

[0009] The present invention involves four entities: an Identity Token Authority (ITA), a Verification Service Provider (VSP), a user, and a Service Supplier (SS). Users register with the ITA and apply for an identity token. The identity token does not reveal user information, and its association is invisible to the outside world. The user then uses the identity token to apply for a Chameleon Hash function and a corresponding verification identifier from the VSP, completing their registration. To use blockchain services provided by the SS, the user generates a random blockchain address through their local client. Combining the blockchain address and the verification identifier, the user generates a verification key corresponding to the blockchain address and then applies to the SS for blockchain registration. The SS, through the VSP and the VAC contract deployed on the blockchain, assists in authentication. Only after successful verification can the user write data to the blockchain using this blockchain address. The verification key corresponds one-to-one with the blockchain address, does not reveal personal information, and is generated locally on the user's client. Therefore, no relevant entity can learn the user's identity during the verification process. Every time a user needs to write data to the blockchain, he or she needs to independently generate a new random blockchain address to achieve the unlinkability of multiple anonymous addresses of a single user, prevent the user's single address from being stolen and leaked, resulting in the injection of junk data, and prevent privacy leakage caused by multiple sets of data from a single address on the big data statistical analysis chain.

[0010] The local client includes 5 modules: input and output module, address generation module, communication module, blockchain interface module, and database module.

[0011] The input and output module is a graphical interface designed for users to use the local client. Users can enter instructions on this interface to call other modules, and can also obtain values and information returned by other modules.

[0012] The address generation module uses three built-in functions (random number generation function, elliptic curve function and sha256 hash function) to generate user blockchain addresses and verification keys.

[0013] The communication module enables communication between users and ITA, VSP, and SS, and is used to send service requests and identity authentication information, and obtain various requests and verification results.

[0014] The blockchain interface module is used to access a specific blockchain and obtain on-chain data.

[0015] The database module is used to store used blockchain addresses and verification keys; similarly, various request records and related data are also stored in the database module. The database module belongs to the off-chain storage end, while the blockchain belongs to the on-chain storage end.

[0016] The on-chain smart contract of the present invention is an Address Verify Contract (VAC), which is used to assist SS in verifying whether the blockchain address applied for by the user is a brand new address, that is, to verify whether the blockchain address applied for by the user has ever had data written to it on the blockchain. If it is a brand new address (no data has been written to it), a verification pass result is returned to SS; if it is not a brand new address, a verification fail result is returned to SS.

[0017] The present invention provides an identity management and authentication method based on blockchain and chameleon hash function, which specifically includes the following steps:

[0018] 1) The user applies to the ITA for a registration identity token;

[0019] 2) The user applies to the VSP for the Chameleon hash function and verification mark;

[0020] 3) The user generates a blockchain address and verification key through the local client;

[0021] 4) The user authenticates to the SS.

[0022] As an improvement to the present invention, step 1) user registration of an identity token is specifically as follows: the user applies to the ITA for identity token registration using their real-name identity information. The ITA verifies the application against the public security system database and, upon successful verification, issues a unique identity token to the user. This identity token does not reveal user information, and the mapping between the user and the user's identity token is unique and unknown to other entities. After identity token registration is complete, the ITA synchronizes the identity token database with the VSP, which contains only information about registered identity tokens.

[0023] As an improvement to the present invention, step 2) the user applies for a chameleon hash function and a verification identifier, specifically as follows: After completing step 1), the user needs to apply for a chameleon hash function and a corresponding verification identifier from the VSP using an identity token. After receiving the user's request, the VSP calls the token database to verify whether the identity token provided by the user has been registered. If so, it indicates that the verification is successful. The user is then issued a randomly generated verification identifier and a chameleon hash function. The chameleon hash function and the verification identifier have a unique mapping relationship, and a single user can only apply for the corresponding chameleon hash function and verification identifier once using an identity token. If the VSP calls the token database and finds that the identity token provided by the user is not registered, it returns a verification failure result.

[0024] As an improvement to the present invention, step 3) generating the user blockchain address and verification key is specifically as follows: When a user wishes to use the blockchain service provided by SS, the following operations are performed on the local client: first, a random address private key is generated using a random number generation function; a corresponding address public key is generated one-way using an elliptic curve function; a hash operation is performed on the address public key to obtain the generated blockchain address; and a verification key is generated using the Chameleon hash function and a verification identifier. All algorithms used in this process are public algorithms; the corresponding address private key cannot be calculated from the blockchain address, and the verification key and verification identifier do not reveal the details of the Chameleon hash function.

[0025] As an improvement to the present invention, step 4) user identity verification is specifically performed as follows: the user applies for blockchain services from the SS using the generated blockchain address, verification identifier, and verification key. After receiving the user's application, the SS first sends the user's blockchain address, verification identifier, and verification key to the VSP for verification. Upon receiving the SS's request, the VSP uses the verification identifier to invoke the relevant Chameleon hash function. This function performs a collision calculation on the blockchain address and verification identifier, obtaining a corresponding collision result. If the collision result matches the verification key, the VSP's verification request has been approved. The VSP then returns a verification result to the SS. If the collision result does not match the verification key, the VSP returns a verification failure result to the SS. After receiving the verification result from the VSP, the SS calls the blockchain VAC contract to determine whether data has been written to the user's requested blockchain address. If no data has been written to the user's requested blockchain address on the blockchain, verification is successful. If so, verification fails. The VAC contract verifies the request, returns the verification result, and records it. Once the SS receives verification results from both the VSP and the VAC contract, the user is allowed to use the blockchain data service with the requested blockchain address.

[0026] The identity management and authentication system and method based on blockchain and chameleon hash function provided by the present invention, based on the user privacy and data-centric characteristics of blockchain, introduces chameleon hash function, designs a single-user multi-address scheme, realizes that user identity information is not disclosed on the chain, realizes that the association between user and identity ownership is invisible, realizes that multiple identity identifiers of a single user are unlinkable, and realizes anonymous authentication of user identity, solves the direct exposure of the link between the user's personal identity identifier and personal identity information, solves the problem of all transaction information exposure caused by the use of a single identity identifier and the problem of repeated injection of junk data caused by the theft of a single identity identifier, and ensures the confidentiality and unlinkability of user identity information and the unlinkability of multiple personal data. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1This is a diagram of the entity structure of the identity management and authentication system based on blockchain and chameleon hash function in an embodiment of the present invention.

[0028] Figure 2 This is a flowchart of user identity token registration in an embodiment of the present invention.

[0029] Figure 3 This is a flowchart of the user chameleon hash function and verification identification application in an embodiment of the present invention.

[0030] Figure 4 This is a flowchart of user blockchain address and verification key generation in an embodiment of the present invention.

[0031] Figure 5 This is a flowchart of user identity authentication in an embodiment of the present invention. DETAILED DESCRIPTION

[0032] The following describes a preferred embodiment of the present invention with reference to the accompanying drawings to make its technical content clearer and easier to understand. The present invention can be embodied in many different forms of embodiments, and the scope of protection of the present invention is not limited to the embodiments mentioned herein.

[0033] like Figure 1 As shown, the present invention involves four entities: an Identity Token Authority (ITA), a Verification Service Provider (VSP), a User, and a Service Supplier (SS). Users register with the ITA and apply for an identity token. The identity token does not reveal user information, and its association is invisible to the outside world. The user then uses the identity token to apply for a Chameleon Hash Function and a corresponding verification identifier from the VSP, completing their personal registration. When a user wishes to use blockchain services provided by the SS, they generate a random blockchain address through their local client. Combining the blockchain address and the verification identifier, the user generates a verification key corresponding to the blockchain address and applies to the SS for blockchain registration. The SS assists with authentication through the VSP and a chained smart contract. Only after successful verification can the user write data to the blockchain using this blockchain address. The verification key corresponds one-to-one with the blockchain address, does not reveal personal information, and is generated locally on the user's client. Therefore, no relevant entity can learn the user's identity during the verification process. Every time a user needs to write data to the blockchain, he or she needs to independently generate a new random blockchain address to achieve the unlinkability of multiple groups of anonymous addresses for a single user, prevent the user's single address from being stolen and leaked, causing junk data injection, and prevent privacy leaks caused by multiple groups of data from a single address on the big data statistical analysis chain.

[0034] To this end, the present invention builds a new user local client based on the existing blockchain. The user local client includes five modules: input and output module, address generation module, communication module, blockchain interface module, and database module.

[0035] The input and output module is a graphical interface designed for users to use the local client. Users can enter instructions on this interface to call other modules, and can also obtain values and information returned by other modules.

[0036] The address generation module uses three built-in functions (random number generation function, elliptic curve function and sha256 hash function) to generate user blockchain addresses and verification keys.

[0037] The communication module can communicate with ITA, VSP, and SS, send service requests and identity verification information, and obtain various requests and verification results.

[0038] The blockchain interface module is used to access a specific blockchain and obtain on-chain data.

[0039] The database module is used to store used blockchain addresses and verification keys; similarly, various request records and related data are also stored in the database module.

[0040] The on-chain smart contract of the present invention is the Address Verify Contract (VAC), which is used to assist SS in verifying whether the blockchain address used by the user is a brand new address, that is, to verify whether the blockchain address applied by the user has ever had data written to it on the blockchain, and provide the verification result to SS.

[0041] This invention uses blockchain and the Chameleon Hash Function for identity management and authentication. The Chameleon Hash Function, also known as a trapdoor hash function, is a non-standardized, collision-resistant hash function. A person possessing the trapdoor can calculate collisions for any function input, while maintaining security comparable to that of a traditional hash function for those unaware of the trapdoor. The Chameleon Hash Function can be constructed based on a probabilistic polynomial-time algorithm or the discrete logarithm problem. The core algorithm of the Chameleon Hash Function is described below:

[0042] n=ChameleonHash(m, r) / / For any message m and random number r, the Chameleon hash function can obtain the corresponding hash value n.

[0043] r′=ChameleonHash_Col(m, r, m′) / / For a known message m, a random number r, and for a message m′ that requires a collision, the random number r′ is calculated based on the collision, so that ChameleonHash(m, r)=ChameleonHash(m′, r′)=n.

[0044] Secure Chameleon Hash is collision-resistant and semantically secure. The collision-resistant property of the Chameleon Hash function means that, without knowing the trapdoor information, the probability of an adversary outputting a random number r′ satisfying ChameleonHash(m, r) = ChameleonHash(m′, r′) for given messages m, r, and m′ is negligible. Semantic security means that for any two messages m and m′, the probability distributions of ChameleonHash(m, r) and ChameleonHash(m′, r′) are computationally indistinguishable. In particular, for a randomly chosen r, no information about m can be derived from ChameleonHash(m, r).

[0045] The identity management and authentication method based on blockchain and chameleon hash function of the present invention includes the following steps:

[0046] 1) User identity token registration;

[0047] 2) Application for user chameleon hash function and verification identification;

[0048] 3) User blockchain address and verification key generation;

[0049] 4) User authentication.

[0050] Each step is described in detail below.

[0051] The user identity token registration flow chart of the embodiment of the present invention is as follows Figure 2 The user identity token registration process is as follows:

[0052] Step sa1: The user sends real-name information to the ITA to apply for an identity token.

[0053] Step sa2: ITA calls the identity real-name authentication interface to use the public security system database to verify whether the user information is authentic, and determines whether the user is applying for an identity token for the first time; if the user is applying for an identity token for the first time, execute step sa3; for users who are not applying for the identity token for the first time, ITA refuses to issue an identity token.

[0054] Step sa3: After the ITA passes the verification, it issues a unique identity token to the user that is uniquely mapped to the user's identity. This token does not reveal the user's identity information.

[0055] Step sa4: The ITA sends the identity token data to the VSP, and the VSP updates the identity token database. From then on, the user identity token registration is completed.

[0056] The user chameleon hash function and verification identification application of the embodiment of the present invention are as follows Figure 3 The details of the user chameleon hash function and verification mark application are as follows:

[0057] Step sb1: The user sends an identity token to the VSP and applies for the Chameleon hash function and verification identifier.

[0058] Step sb2: VSP calls the identity token database to verify whether the identity token sent by the user has been registered (i.e., verify whether the identity token sent by the user exists in the identity token database). If the verification result is registered, execute step sb3; otherwise, return verification failure.

[0059] Step sb3: After the verification is passed, the VSP issues a Chameleon Hash function (ChameleonHash(), ChameleonHash_Col()) and a verification identifier (a randomly generated 128-bit verification identifier vm) to the user. The Chameleon Hash function and verification identifier are unique and have a unique mapping with the user identity token.

[0060] The user blockchain address and verification key generation of the embodiment of the present invention are as follows Figure 4 The user generates the blockchain address and verification key on the local client as follows:

[0061] Step sc1: The user calls the random number generation function (Random()) of the local client to generate a random address private key (128-bit private key sk).

[0062] Step sc2: The user calls the elliptic curve function (ECC()) of the local client to calculate the address private key to generate the address public key (128-bit public key pk).

[0063] Step sc3: The user calls the hash function (sha256) of the local client to calculate the address public key to generate the blockchain address (256-bit blockchain address addr).

[0064] Step sc4: The user calls the Chameleon hash function to perform a collision operation on the blockchain address and the verification identifier to generate a verification key (128-bit verification key vk).

[0065] The following formula is a display of the blockchain address and verification key generated by the user on the local client.

[0066] sk=Random(p) / / Generate a random blockchain address private key, p is a parameter;

[0067] pk=ECC(sk) / / Generate blockchain address public key;

[0068] addr = sha256 (pk) / / Generate blockchain address;

[0069] vk=ChameleonHash_Col(addr, vm) / / Calculate the verification key corresponding to the blockchain address.

[0070] User identity authentication according to an embodiment of the present invention Figure 5 The user authentication process is as follows.

[0071] Step sd1: The user uses the local client communication module to send a blockchain data writing service request to SS.

[0072] Step sd2: The user sends the blockchain address addr, verification identifier vm and verification key vk to SS as verification proof.

[0073] Step sd3: After receiving the verification certificate sent by the user, SS forwards it to VSP to request authentication assistance.

[0074] Step sd4: After receiving the SS's request for assisted authentication, the VSP retrieves the corresponding Chameleon hash function based on the verification identifier vm and performs verification. This step uses the Chameleon hash function to perform a collision calculation between the blockchain address and the verification identifier, obtaining the corresponding collision result. If the collision result matches the verification key, verification passes and step sd5 is executed; otherwise, verification fails. If verification passes, step sd5 is executed. If verification fails, the VSP sends the verification failure result to the SS, which denies blockchain access to the user's requested blockchain address, and the process ends.

[0075] vm == ChameleonHash(addr, vk) / / Confirm that addr and vk are the original images corresponding to the user's Chameleon hash function.

[0076] Step sd5: VSP returns the verification result to SS, and SS calls the VAC contract using its own blockchain address.

[0077] Step sd6: The VAC contract performs a secondary verification on the blockchain address requested by the user based on the input and the preset procedure. Specifically, it determines whether the blockchain address requested by the user has been written to before. If not, the verification passes and the process goes to step sd7. Otherwise, the verification fails and the process goes to step sd8.

[0078] Step sd7: After receiving the VAC contract verification result, SS returns a verification pass message to the user and opens the blockchain to the user's application for blockchain address registration. The authentication is completed and successful, and the process ends.

[0079] Step sd8: After the VAC contract fails to verify the user's blockchain address, it records the SS blockchain address, user blockchain address, and verification time on the chain.

Claims

1. An identity management and authentication system based on blockchain and chameleon hash function, characterized by: It includes an on-chain address verification contract, a local client, and four entities: an identity token issuing authority, a verification service provider, and users and service providers. The user applies for an identity token from the identity token issuing authority based on the real-name information. The identity token issuing authority issues a unique identity token to the user based on the user's real-name information. The unique identity token is mapped uniquely to the user's identity. The user applies for the Chameleon Hash Function and the corresponding verification ID from the verification service provider with the identity token; When a user needs to use the blockchain service provided by a service provider, a random blockchain address is generated through the local client. The user combines the blockchain address and verification identifier to generate a verification key corresponding to the blockchain address, and applies to the service provider to register the blockchain; the service provider assists in verification through the verification service provider and the on-chain address verification contract. The verification service provider performs collision calculation on the blockchain address and the verification identifier through the chameleon hash function. If the collision result is consistent with the verification key, the verification passes, otherwise the verification fails; the on-chain address verification contract verifies whether the blockchain address requested by the user has had data written operations. If not, the verification passes, otherwise the verification fails; when the verification service provider and the on-chain address verification contract have both passed the verification, the service provider agrees to the user's blockchain registration.

2. The identity management and authentication system based on blockchain and chameleon hash function according to claim 1 is characterized in that: The local client consists of five modules: input and output module, address generation module, communication module, blockchain interface module, and database module; The input and output module is used to enable users to input in the graphical interface and provide output information; The address generation module generates the user blockchain address and verification key through three built-in functions: random number generation function, elliptic curve function, and sha256 hash function. The communication module is used to communicate with identity token issuing authorities, verification service providers and service providers to send and receive information; The blockchain interface module is used to access the blockchain and obtain data on the blockchain; The database module is used to store used blockchain addresses and verification keys; at the same time, it records user request information.

3. An identity management and authentication method based on blockchain and chameleon hash function, characterized in that: The method adopts the system of claim 1, and the method specifically comprises the following steps: a. The user applies for an identity token from the identity token issuing authority based on real-name information; b. The user applies for the Chameleon Hash Function and verification logo from the verification service provider; c. The user generates a blockchain address and verification key through the local client; d. The user authenticates their identity to the service provider.

4. The identity management and authentication method based on blockchain and chameleon hash function according to claim 3 is characterized in that: Step a is as follows: Step a-1: The user sends real-name information to the identity token issuing authority to apply for an identity token; Step a-2: The identity token issuing authority calls the identity real-name authentication interface and uses the public security system database to verify whether the user's real-name information is true. If it is true and the user is applying for an identity token for the first time, step a-3 is executed; Otherwise, the identity token issuing authority refuses to issue the identity token to the user; Step a-3: The identity token issuing authority issues a unique identity token to the user that is uniquely mapped to the user's identity; Step a-4: The identity token issuing authority sends the identity token data to the verification service provider, and the verification service provider updates the identity token database.

5. The identity management and authentication method based on blockchain and chameleon hash function according to claim 3 is characterized in that: Step b is as follows: Step b-1: The user sends an identity token to the verification service provider and applies for the Chameleon hash function and verification identifier; Step b-2: The verification service provider calls the identity token database to determine whether the identity token exists in the identity token database. If so, step b-3 is executed; otherwise, the verification service provider returns a verification failure result to the user; Step b-3: The verification service provider issues a chameleon hash function and a verification identifier to the user. The verification identifier is a randomly generated 128-bit verification identifier. The chameleon hash function and verification identifier are unique and have a unique mapping with the user identity token.

6. The identity management and authentication method based on blockchain and chameleon hash function according to claim 3 is characterized in that: Step c is as follows: Step c-1: The user calls the random number generation function of the local client to generate a random address private key; Step c-2: The user calls the elliptic curve function of the local client to calculate the above random address private key to generate the address public key; Step c-3: The user calls the local client's sha256 hash function to calculate the address public key to generate a random blockchain address; Step c-4: The user calls the Chameleon hash function to perform a collision operation on the generated blockchain address and the verification identifier to generate a verification key.

7. The identity management and authentication method based on blockchain and chameleon hash function according to claim 3 is characterized in that: Step d is as follows: Step d-1: The user uses the local client communication module to send a blockchain data writing service request to the service provider; Step d-2: The user sends the blockchain address, verification ID, and verification key to the service provider as verification proof; Step d-3: After receiving the verification certificate sent by the user, the service provider forwards it to the verification service provider to request assistance in verification; Step d-4: After receiving the verification request from the service provider, the verification service provider retrieves the corresponding Chameleon Hash function based on the verification identifier and uses the Chameleon Hash function to perform a collision calculation on the blockchain address and the verification identifier to obtain the corresponding collision result. If the collision result is consistent with the verification key, the verification passes and step d-5 is executed; otherwise, the verification fails and step d-8 is executed. Step d-5: The verification service provider returns the verification result to the service provider, and the service provider calls the on-chain address verification contract to assist in verification; Step d-6: The on-chain address verification contract performs a secondary verification on the blockchain address requested by the user. Specifically, it determines whether the blockchain address requested by the user has ever had data written to it. If not, the verification passes and step d-7 is executed; otherwise, the verification fails and step d-8 is executed. Step d-7: After receiving the verification result from the on-chain address verification contract, the service provider returns a verification pass message to the user and opens the blockchain to register the blockchain address requested by the user. The authentication is completed and successful, and the process ends; Step d-8: The service provider sends a rejection request to the user for the blockchain data writing service, and the process ends.

Citation Information

Patent Citations

  • Block chain identity construction and verification method

    CN105701372A

  • Blockchain entity identity management system and method

    CN109150836A

  • Identity management and authentication system and method based on block chain and zero knowledge proof

    CN111447073A

  • Decentralized multi-authority privacy protection data access control method and system

    CN115567247A