Distributed identity hierarchical storage and credibility authentication method based on verifiable calculation

By applying sliding window accumulator data structure and verified registry on the blockchain, the distributed digital identity data integrity and credibility problems are solved, efficient data storage and trustworthy authentication are achieved, and querying is improved. Efficiency and reliability of identity authentication.

CN119402198AActive Publication Date: 2025-02-07BEIJING INST OF TECH

Patent Information

Application Number
CN202411191617.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-28
Publication Date
2025-02-07
Estimated Expiration
2044-08-28

AI Technical Summary

Technical Problem

The existing hierarchical storage solution cannot guarantee the integrity and correctness of distributed digital identity data, affecting query efficiency and credibility of identity authentication, and there are problems with data synchronization delay, redundancy and access efficiency.

Method used

The distributed identity hierarchical storage and trusted authentication method based on verifiable computing are adopted, and the data hierarchical storage and trusted authentication are realized by applying the sliding window accumulator data structure and verifiable registry on the blockchain.

Benefits of technology

It improves the integrity and credibility of data, improves query efficiency and reliability of identity authentication, reduces data redundancy and storage resource usage, and enhances data security and historical traceability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119402198A_ABST
    Figure CN119402198A_ABST
Patent Text Reader

Abstract

The invention relates to a distributed identity hierarchical storage and credibility authentication method based on verifiable calculation, and belongs to the technical field of block chain application. The method comprises the steps that 1, a user obtains a DID and a VC of an issuing party through registration; 2, verifying the identity of the user by using the DID and the verifiable certificate, binding the DID of the user with the public key of the user to form a key-value pair, linking the RSA commitment to the key-value pair and then storing the RSA commitment in a verifiable registry; 3, performing hierarchical storage on the DID and verifiable certificates of the user; 4, the verification party verifies the legality of the user by using the DID and the VC of the user; furthermore, the verification party queries the data of the DID and the VC under the chain by using a sliding window accumulator and compares the encrypted VC with the hash on the chain. When the comparison is consistent, the user is legal; if the comparison is inconsistent, the user is illegal; according to the invention, the technical problems of data integrity and credibility of distributed digital identities in hierarchical storage and credible authentication mechanisms are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a distributed identity hierarchical storage and trusted authentication method based on verifiable computing, and belongs to the technical field of blockchain applications. Background Art

[0002] Traditional centralized information storage and management cannot meet users' needs for privacy protection, and the cost of maintaining databases and servers that store this information increases significantly. Therefore, distributed digital identity solutions that allow users to manage themselves and have efficient storage and query efficiency have infinite potential and broad research prospects. Blockchain technology, which is consistent with the concept of distributed digital identity, has achieved amazing results in the past few years. If all data is stored on the blockchain, it will inevitably cause a waste of storage space, because most of the data is unimportant, that is, these data will either not expose personal privacy or the number of times they are used and accessed is almost negligible. In order to balance these issues, data can be stored hierarchically, that is, important data is encrypted and stored on the chain, while unimportant data is encrypted and stored in the cloud under the chain. However, the existing hierarchical storage scheme cannot guarantee the integrity and correctness of identity data, which seriously affects the query efficiency of distributed digital identity and reduces the credibility of identity authentication. In today's digital age, the management and authentication of distributed digital identities face many challenges, such as data privacy, security and credibility of identity authentication. Hierarchical storage schemes may have data synchronization delays or complex synchronization mechanisms, which lead to update delays and inconsistencies, resulting in inaccuracy and unreliability of identity authentication. In addition, existing hierarchical storage solutions may face data redundancy and data access efficiency issues. Due to the decentralized storage and replication of data, the same identity data may be redundantly stored on multiple nodes. This not only takes up storage resources, but also increases the complexity of data management. At the same time, when performing identity authentication queries, data needs to be transmitted and synchronized between multiple nodes, which will increase query latency and reduce query efficiency.

[0003] Verifiable computing is a secure computing technology that allows the correctness of computational results to be verified without revealing the specific details of the computation. This technology has potential application value in distributed digital identity management. By distributing the storage and authentication process of digital identities to multiple parties, the mechanism based on verifiable computing can achieve hierarchical storage and trusted authentication of digital identities.

[0004] Therefore, how to improve the distributed digital identity to ensure data integrity and credibility in the hierarchical storage and trusted authentication mechanism has become an urgent problem to be solved. Summary of the invention

[0005] The purpose of the present invention is to solve the technical problem of data integrity and credibility in the hierarchical storage and trusted authentication mechanism of distributed digital identities. A distributed identity hierarchical storage and trusted authentication method based on verifiable computing is proposed.

[0006] The objective of the present invention is achieved through the following technical solutions:

[0007] The distributed identity hierarchical storage and trusted authentication method based on verifiable computing of the present invention is applied to a blockchain including a user, a verifier, and an issuer, and includes the following steps:

[0008] Step 1: The user obtains the DID (decentralized identifier) ​​and VC (verifiable credential) of the issuer through registration;

[0009] Step 2: Use the decentralized identifier and verifiable credentials to verify the user's identity, bind the user's decentralized identifier to the user's public key to form a key-value pair, link the RSA commitment to the key-value pair, and store it in the verifiable registry.

[0010] Step 2.1: RSA commitment binds the user's public key and decentralized identifier; RSA commitment is used to provide data consistency verification for the verifier;

[0011] Step 2.2: Whenever the user DID or public key changes and the registry wants to change the key-value pair, it first calculates the new DID value and RSA commitment, and then pairs the user public key and DID value with the commitment.

[0012] Step 2.2: Update the pairing with the RSA commitment using the user public key and decentralized identifier;

[0013] Step 3: Store the user’s decentralized identifier and verifiable credentials in a hierarchical manner; further store the user’s DID and VC root hash value on-chain, and store the data off-chain;

[0014] Step 3.1: Aggregate the keywords in the VC into a keyword set, and use the keyword set as a data object;

[0015] Step 3.2: Use the K blocks before the current block in the blockchain as the data structure of the sliding window accumulator for Boolean query;

[0016] Step 4: The verifier uses the user's DID and VC to verify the user's legitimacy; further, the verifier uses the sliding window accumulator to query the off-chain DID and VC data and compares the encrypted VC with the hash on the chain. If the comparison is consistent, the user is legal; if the comparison is inconsistent, the user is illegal;

[0017] Step 4.1: Divide the Boolean query into subqueries of sliding window size K;

[0018] Step 4.2: Use the sliding window accumulator to query the keyword object set of the subquery, and intersect the keyword object set to obtain the intersection of the object sets. When the intersection of the object sets is empty, the query is invalid; when the intersection of the object sets is not empty, the intersection result is returned;

[0019] Step 4.3: Verify the user DID;

[0020] Step 4.3.1: Use the user's public key as the key and the user's DID as the value to form a key-value pair;

[0021] Step 4.3.2: The verifier recalculates the key value to generate a key-value pair commitment and compares it with the RSA commitment in the verifiable registry. When the two are consistent, it indicates that the key-value pair exists in the verifiable registry and the user DID verification party passes. When the two are consistent, it indicates that the verification fails.

[0022] Beneficial effects:

[0023] 1. This paper designs a new sliding window accumulator data structure based on traditional blockchain technology. Based on this data structure, functions such as Boolean range query of data can be realized, which is more targeted. At the same time, it has security and protects data from malicious tampering.

[0024] 2. Design a registry based on verifiable computation, which will bind the key-value pairs on the blockchain to a commitment and not reveal the real information, further enhancing the security and historical traceability of the data. The method is highly efficient. When the verifier queries the data on the chain, we use a new data structure to improve our query efficiency. When the issuer maintains the registry, we also use a verifiable registry based on asymmetric encryption authentication dictionary to achieve fast auditing. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 It is a schematic diagram of the process of the present invention;

[0026] Figure 2 It is a Boolean query result diagram of the simulation experiment of the present invention;

[0027] Figure 3 It is a simulation experiment multi-keyword Boolean query result diagram of the present invention;

[0028] Figure 4 It is a simulation experiment range query result diagram of the present invention. DETAILED DESCRIPTION

[0029] In order to better illustrate the purpose and advantages of the present invention, the invention is further described below in conjunction with the accompanying drawings and examples. It should be noted that the implementation of the present invention is not limited to the following embodiments, and any form of modification or change made to the present invention will fall within the protection scope of the present invention.

[0030] Example

[0031] This embodiment elaborates on the scheme of hierarchical storage of distributed digital identities and the optimization scheme of trusted authentication mechanism of distributed digital identities based on verifiable computing. For example, in a certain medical system scenario, patients and doctors (as individual entities) have their own identity information, medical records and other distributed digital identities, and have their own corresponding decentralized identifiers, verifiable credentials and public keys. The decentralized identifier of the individual entity is issued by the corresponding medical institution (issuer), and then the entity becomes the holder; the medical institution will maintain a verifiable registry, which will contain the binding information of the decentralized identifier and the holder's public key; the institution will maintain the registry from being tampered with through auditing; the medical insurance company can be used as a verifier. Whenever a patient wants to apply for medical insurance, the insurance company will require him to present the decentralized identifier and verifiable credentials, and query the data on the blockchain, and compare the two for verification.

[0032] like Figure 1 As shown, the distributed identity hierarchical storage and trusted authentication method based on verifiable computing of the present invention is specifically implemented in the following steps:

[0033] Step 1: The user obtains the DID (decentralized identifier) ​​and VC (verifiable credential) of the issuer through registration;

[0034] In the embodiment, the user submits a registration application to the issuer, sends relevant information to the issuer, applies for a decentralized identifier, and the issuer issues a decentralized identifier after verification. When a user enters the system for the first time, he needs to register an account. When registering an account, you need to enter some basic user information, such as user name, password, mobile phone number, etc., and the legitimacy of this information must be verified. After the user successfully registers, he becomes a node in the system. After the user logs in to the system, he can apply for DID (decentralized identifier) ​​and VC (verifiable credential) from the system; specifically, doctors and patients register their identities in medical institutions, and doctors and patients submit registration applications to medical institutions, send relevant information to the issuer, apply for a decentralized identifier, and the medical institution issues a decentralized identifier after verification. After the user successfully registers, he becomes a node in the system. After the user logs in to the system, he can apply for DID and VC from the system.

[0035] Step 2: Use the decentralized identifier and verifiable credentials to verify the user's identity, bind the user's decentralized identifier to the user's public key to form a key-value pair, link the RSA commitment to the key-value pair, and store it in the verifiable registry.

[0036] Step 2.1: RSA commitment binds the user's public key and decentralized identifier; RSA commitment is used to provide data consistency verification for the verifier;

[0037] Step 2.2: Whenever the user DID or public key changes and the registry wants to change the key-value pair, it first calculates the new DID value and RSA commitment, and then pairs the user public key and DID value with the commitment.

[0038] Step 2.2: Update the pairing with the RSA commitment using the user public key and decentralized identifier;

[0039] In the embodiment, when doctors and patients apply for DID and VC, the medical institution first verifies the identity of the doctors and patients. After successful verification, the medical institution generates a unique DID for the doctor and patient through an encryption algorithm. The medical institution then requires the doctor and patient to present a public key, and binds the doctor's and patient's public key to the user's DID to generate a key-value pair, which is linked to a commitment and stored in a verifiable registry. After doctors and patients obtain their own DID and VC, they become DID holders and store their own DID and VC hash values ​​on the blockchain. The medical institution maintains a verifiable registry through a key-value pair commitment algorithm, which contains the decentralized identifiers of doctors and patients and the connection information of their public keys.

[0040] Specifically, the verifiable registry uses an authentication dictionary based on key-value pair commitments. The key-value pairs of doctors and patients' public keys and DIDs will be bound to a commitment, which can be made public for verifiers to verify the existence and consistency of the data. When a new user registers, the new key-value pair will be paired with a commitment to ensure its immutability and integrity. Whenever the doctor's or patient's DID or public key changes and the registry wants to change the key-value pair, it first calculates the new DID value and commitment, and then pairs the doctor's and patient's public keys and DID values ​​with the commitment.

[0041] Step 3: Store the user’s decentralized identifier and verifiable credentials in a hierarchical manner; further store the user’s DID and VC root hash value on-chain, and store the data off-chain;

[0042] Step 3.1: Aggregate the keywords in the VC into a keyword set, and use the keyword set as a data object;

[0043] In the embodiment, the decentralized identifiers and verifiable credentials of doctors and patients are stored in a hierarchical manner, and are stored on and off the chain at the same time. The root hash values ​​of the DIDs and VCs of doctors and patients are stored on the chain, and the complete data is stored off the chain. The data stored on the chain takes up as little blockchain storage resources as possible while ensuring that it can verify the integrity. Each VC is a data object, because there will be a large number of keywords about the behavior or ability of doctors and patients in the VC. All keywords are aggregated in the form of data sets, and the aggregated keyword set is packaged into a data object.

[0044] Step 3.2: Use the K blocks before the current block in the blockchain as the data structure of the sliding window accumulator for Boolean query;

[0045] In an embodiment, a sliding window accumulator data structure is constructed in the most recent K blocks, where K is the window size of the sliding window. The sliding window accumulator data structure performs a hash operation on data objects of several different blocks to generate a root of a sliding window accumulator query tree, and the root is additionally stored in the block.

[0046] Step 4: The verifier uses the user's DID and VC to verify the user's legitimacy; further, the verifier uses the sliding window accumulator to query the off-chain DID and VC data and compares the encrypted VC with the hash on the chain. If the comparison is consistent, the user is legal; if the comparison is inconsistent, the user is illegal;

[0047] Step 4.1: Divide the Boolean query into subqueries of sliding window size K;

[0048] In the embodiment, when the doctor and the patient apply for a series of requests to the insurance company, the insurance company first requires the doctor and the patient to present their DID and VC. After the DID verifier obtains the DID and VC of the doctor and the patient, it first uses the sliding window accumulator to query the data of the DID and VC off the chain, and encrypts the VC with the public key and compares it with the hash on the blockchain. If the comparison is successful, it means that the doctor and the patient's request is legal, and the DID verifier provides the doctor and the patient with the responsive service. A query Q is divided into several sub-queries, each of which is a sliding window accumulator with a window size of K. If the time window size of the query is greater than K, Q will be divided into several sub-queries of size k. If the time window size in the last sub-query is less than K, the time window of the last sub-query will be overlapped with the previous sub-query to make its size K.

[0049] Step 4.2: Use the sliding window accumulator to query the keyword object set of the subquery, and intersect the keyword object set to obtain the intersection of the object sets. When the intersection of the object sets is empty, the query is invalid; when the intersection of the object sets is not empty, the intersection result is returned;

[0050] In the embodiment, for each subquery q with a time window of K, we first traverse the sliding window accumulator search tree to obtain the result of this subquery, which contains all data objects corresponding to the keywords, and then perform Boolean expression operations on all data objects according to the requirements of the query keywords to obtain the query result. Aggregate the results of all subqueries to obtain the final query result and Merkel proof path.

[0051] Step 4.3: Verify the user DID;

[0052] Step 4.3.1: Use the user's public key as the key and the user's DID as the value to form a key-value pair;

[0053] Step 4.3.2: The verifier recalculates the key value to generate a key-value pair commitment and compares it with the RSA commitment in the verifiable registry. When the two are consistent, it indicates that the key-value pair exists in the verifiable registry and the user DID verification party passes. When the two are consistent, it indicates that the verification fails.

[0054] In the embodiment, when the insurance company verifies the doctor and patient key-value pairs of the verifiable registry, the verifier uses the public key provided by the doctor and the patient as the key, and the doctor and patient DID as the value, and compares it with the previously disclosed key-value pair commitment. If the provided key-value pair is consistent with the content in the commitment, it can be proved that the key-value pair exists in the original data and the data was bound to the commitment at a certain point in time. Then the insurance company passes the doctor and patient identity authentication. After encrypting the doctor and patient's DID and VC (including identity information, medical records and other important sensitive information), the Merkle tree root hash value is stored on the alliance chain, and the third-party cloud accesses other non-essential or less sensitive information.

[0055] To further illustrate the advantages of the present invention, the present invention is illustrated by using simulation experiments.

[0056] This experiment is a simulation experiment. Due to hardware limitations, the experiment did not operate on multiple blocks. In actual applications, it is necessary to aggregate several different chain codes to implement a query mode based on a sliding window accumulator. By referencing the timestamp of each block, a multi-block query can be constructed.

[0057] After changing the chain code, additional support will be provided for Boolean type query. Compared with monotonous string query, Boolean query can filter all contents that meet the relevant conditions and is more targeted. Execute the Boolean query command to get the correct query result. Figure 2 As shown;

[0058] Boolean expression query with multiple keywords can achieve a wider query range than Boolean query. Similar to the above query, after adding the node environment variable before querying, you can execute the query command. The query result is as follows Figure 3 shown.

[0059] Similar to Boolean query, you need to add the node environment variable before querying, and then execute the range query command. The query results are as follows: Figure 4 shown.

[0060] The results show that the present invention can completely execute Boolean query and range query related tasks. At the same time, compared with the existing distributed digital identity technology, the feasibility of the hierarchical storage optimization scheme can be verified theoretically. Compared with the general system, it has extremely high pertinence and can quickly filter relevant data to achieve relevant goals. In the chain code deployment link mentioned in this article, different chain codes are identified with different version numbers and hash summaries, which is highly similar to the design of the verifiable registry in the previous article, proving the feasibility of the trusted authentication mechanism.

Claims

1. A distributed identity hierarchical storage and trusted authentication method based on verifiable computing, characterized in that: The following steps are included: Step 1: The user obtains the DID and VC of the issuer through registration; Step 2: Use the decentralized identifier and verifiable credentials to verify the user's identity, bind the user's decentralized identifier to the user's public key to form a key-value pair, link the RSA commitment to the key-value pair, and store it in the verifiable registry; Step 2.1: RSA commitment binds the user's public key and decentralized identifier; RSA commitment is used to provide data consistency verification for the verifier; Step 2.2: Whenever the user's DID or public key changes and the registry needs to change the key-value pair, first calculate the new DID value and RSA commitment, and then pair the user's public key and DID value with the commitment; Step 2.2: Update the pairing with the RSA commitment using the user public key and decentralized identifier; Step 3: Store the user’s decentralized identifier and verifiable credentials in a hierarchical manner; further store the user’s DID and VC root hash value on-chain, and store the data off-chain; Step 3.1: Aggregate the keywords in the VC into a keyword set, and use the keyword set as a data object; Step 3.2: Use the K blocks before the current block in the blockchain as the data structure of the sliding window accumulator for Boolean query; Step 4: The verifier uses the user's DID and VC to verify the legitimacy of the user. Furthermore, the verifier uses the sliding window accumulator to query the off-chain DID and VC data and compares the encrypted VC with the hash on the chain. If the comparison is consistent, the user is legitimate; if the comparison is inconsistent, the user is illegitimate. Step 4.1: Divide the Boolean query into subqueries of sliding window size K; Step 4.2: Use the sliding window accumulator to query the keyword object set of the subquery, and intersect the keyword object set to obtain the intersection of the object sets. When the intersection of the object sets is empty, the query is invalid; when the intersection of the object sets is not empty, the intersection result is returned; Step 4.3: Verify the user DID.

2. The distributed identity hierarchical storage and trusted authentication method based on verifiable computing as claimed in claim 1, characterized in that: Step 4.3 is implemented as follows: Step 4.3.1: Use the user's public key as the key and the user's DID as the value to form a key-value pair; Step 4.3.2: The verifier recalculates the key value to generate a key-value pair commitment and compares it with the RSA commitment in the verifiable registry; when the two are consistent, it indicates that the key-value pair exists in the verifiable registry and the user DID verification party passes; when the two are consistent, it indicates that the verification fails.

Citation Information

Patent Citations

  • Zero-knowledge proving method based on distributed identity identification and terminal

    CN110224837A

  • Internet of Vehicles cross-domain authentication method based on side chain technology trust model

    CN112153608A

  • Social network credit monitoring method and device based on block chain distributed identity

    CN113438088A

  • Mobile platform distributed digital identity authentication method and device and medium

    CN116886357A

  • College alliance user identity management method based on block chain and DID

    CN118381663A

Cited By

  • Trusted data permission matching access method and system for digital copies

    CN120528651A

  • Equipment access security detection method, device, system, equipment, medium and product

    CN121727873A