Distributed identity hierarchical storage and trusted authentication method based on verifiable computation

By using a distributed identity hierarchical storage and trusted authentication method based on verifiable computation, and leveraging RSA commitments and sliding window accumulators, the problems of data integrity and trustworthiness in distributed digital identity are solved, achieving efficient data querying and identity authentication.

CN119402198BActive Publication Date: 2025-12-16BEIJING INST OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing hierarchical storage solutions cannot guarantee the data integrity and trustworthiness of distributed digital identities, resulting in inaccurate identity authentication and low query efficiency, as well as data redundancy and synchronization delay issues.

Method used

It adopts a distributed identity hierarchical storage and trusted authentication method based on verifiable computation. It binds user public keys and decentralized identifiers through RSA commitments and uses a sliding window accumulator and a verifiable registry for data storage and verification to ensure data consistency and security.

Benefits of technology

It enables efficient data querying and identity authentication, improves query efficiency, ensures data integrity and security, and reduces storage resource consumption and synchronization latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119402198B_ABST
    Figure CN119402198B_ABST
Patent Text Reader

Abstract

The present application relates to a distributed identity hierarchical storage and trusted authentication method based on verifiable computing, and belongs to the technical field of blockchain application.The steps of the present application include: 1, a user obtains the DID and VC of an issuing party through registration; 2, the identity of the user is verified by using the DID and verifiable credentials, the DID of the user is bound to the public key of the user to form a key-value pair, and the RSA commitment is linked to the key-value pair and then stored in a verifiable registry; 3, the DID and verifiable credentials of the user are stored hierarchically; 4, a verifier verifies the legitimacy of the user by using the DID and VC of the user; further, the verifier queries the off-chain DID and VC data 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 legitimate; when the comparison is inconsistent, the user is not legitimate; the present application solves the technical problems of data integrity and credibility in the hierarchical storage and trusted authentication mechanism of distributed digital identity.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a distributed identity hierarchical storage and trusted authentication method based on verifiable computing, belonging to the technical field of blockchain application. BACKGROUND

[0002] Traditional centralized information storage and management cannot meet the needs of users for their own privacy protection, and the cost of maintaining the database and server storing these information increases significantly. Therefore, a distributed digital identity scheme that allows users to manage themselves and has high storage and query efficiency has infinite potential and broad research prospects. The blockchain technology, which is consistent with the concept of distributed digital identity, has made amazing achievements in the past few years. If all data is stored on the blockchain, it will inevitably cause waste of storage space, because most of the data is not important, that is, these data either do not expose personal privacy or are used and accessed almost negligible number of times. In order to balance these problems, data can be stored hierarchically, that is, important data is encrypted and stored on the chain, and non-important data is encrypted and stored in the cloud off-chain. However, the existing hierarchical storage scheme cannot guarantee the integrity and correctness of the identity data, which seriously affects the query efficiency of the distributed digital identity and reduces the trustworthiness of identity authentication. In today's digital age, the management and authentication of distributed digital identity face many challenges, such as data privacy, security and trustworthiness of identity verification, etc. The hierarchical storage scheme may have a delay in data synchronization or a complex synchronization mechanism, which leads to an update delay and inconsistency, resulting in inaccuracy and untrustworthiness of identity authentication. In addition, the existing hierarchical storage scheme may face data redundancy and data access efficiency problems. Due to the decentralized storage and replication of data, there may be redundant storage of the same identity data on multiple nodes. This not only occupies storage resources, but also increases the complexity of data management. At the same time, when performing identity authentication query, data transmission and synchronization between multiple nodes are required, which will increase the query latency and reduce the query efficiency.

[0003] Verifiable computing is a secure computing technology that allows the correctness of the computing result 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 identity to multiple participants, the mechanism based on verifiable computing can achieve hierarchical storage and trusted authentication of digital identity.

[0004] Therefore, how to improve the distributed digital identity to ensure data integrity and trustworthiness in the hierarchical storage and trusted authentication mechanism has become a problem to be solved. SUMMARY

[0005] The application aims to solve the technical problems of data integrity and credibility in hierarchical storage and trusted authentication mechanism for distributed digital identity.

[0006] The application is achieved by the following technical solutions:

[0007] The application is achieved by the following technical solutions:

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

[0009] Step 2: Verify the user's identity using the decentralized identifier and verifiable credential, bind the user's decentralized identifier with the user's public key to form a key-value pair, and store the RSA commitment linked to the key-value pair in the verifiable registry.

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

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

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

[0013] Step 3: Hierarchical storage of the user's decentralized identifier and verifiable credential; further store the root hash value of the user's DID and VC on the 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 previous K blocks of the current block in the blockchain as the data structure of the sliding window accumulator for Boolean query;

[0016] Step 4: The verifier verifies the legitimacy of the user using the user's DID and VC; further, the verifier queries the off-chain DID and VC data using the sliding window accumulator and compares the encrypted VC with the hash on the chain. When the comparison is consistent, the user is legitimate; when the comparison is inconsistent, the user is not legitimate;

[0017] Step 4.1: divide the Boolean query into sub-queries of size K of the sliding window;

[0018] Step 4.2: accumulate the object set of the sub-queries through the sliding window accumulator query keyword, and obtain the intersection of the object sets 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, return the intersection result;

[0019] Step 4.3: verify the user DID;

[0020] Step 4.3.1: form a key-value pair by taking the user public key as the key and the user DID as the value;

[0021] Step 4.3.2: the verifier re-computes the key-value pair to generate a key-value pair commitment, and compares it with the RSA commitment in the verifiable registry; when they are consistent, it indicates that the key-value pair exists in the verifiable registry, and the user DID verification passes; when they are consistent, it indicates that the verification fails;

[0022] Advantages:

[0023] 1. A new sliding window accumulator data structure is designed on the basis of traditional blockchain technology, and based on the data structure, functions such as Boolean range query of data can be realized, which has stronger pertinence. At the same time, it has safety, and protects data from being tampered maliciously.

[0024] 2. A registration table based on verifiable calculation is designed, the registration table binds the key-value pair on the blockchain with a commitment, and does not disclose the real information, further enhancing the security and historical traceability of data. The method has high efficiency, when the verifier queries the data on the chain, a new data structure is adopted to improve the query efficiency, and when the issuer maintains the registration table, a verifiable registration table based on asymmetric encryption authentication dictionary is also adopted to achieve fast audit. BRIEF DESCRIPTION OF DRAWINGS

[0025] Figure 1 is a flowchart of the present application;

[0026] Figure 2 is a simulation experiment Boolean query result graph of the present application;

[0027] Figure 3 is a simulation experiment multi-keyword Boolean query result graph of the present application;

[0028] Figure 4 is a simulation experiment range query result graph of the present application. DETAILED DESCRIPTION

[0029] For the purpose of better illustrating the objects and advantages of the present application, the following detailed description is made in connection with the drawings and examples. It should be noted that the implementation of the present application is not limited to the following examples, and any form of variation or change made to the present application will fall within the scope of protection of the present application.

[0030] Embodiment

[0031] This embodiment details the scheme of distributed digital identity hierarchical storage and the optimization scheme of trusted authentication mechanism of distributed digital identity based on verifiable computing. For example, in a certain medical system scenario, patients and doctors (as personal entities) have their own identity information, medical record, and multiple distributed digital identities, and have their own corresponding decentralized identifiers, verifiable credentials, and public keys. The decentralized identifier of the personal 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 store the binding information of the decentralized identifier and the public key of the holder; the institution will maintain the registry by auditing to prevent tampering; the medical insurance company can act as a verifier, and whenever a patient wants to apply for medical insurance, the insurance company will require the patient to present the decentralized identifier and verifiable credentials, and query the data on the blockchain to verify them.

[0032] As shown in Figure 1 , the distributed identity hierarchical storage and trusted authentication method based on verifiable computing of the present application has the following specific implementation 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 the decentralized identifier after verification. When the user first enters the system, they need to register an account. When registering an account, some basic information of the user needs to be entered, such as username, password, mobile phone number, etc., and the legality of these information needs to be verified. After successful registration, the user becomes a node in the system. After logging in to the system, the user can apply for a DID (decentralized identifier) and VC (verifiable credential) from the system; specifically, doctors and patients register their identities at a medical institution, and the doctors and patients submit a registration application to the medical institution, send relevant information to the issuer, and apply for a decentralized identifier. The medical institution issues the decentralized identifier after verification. After successful registration, the user becomes a node in the system. After logging in to the system, the user can apply for a DID and VC.

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

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

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

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

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

[0040] Specifically, the verifiable registry uses a key-value commitment-based authentication dictionary, and the key-value pair of the doctor's and patient's public key and DID will be bound to a commitment. This commitment 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 and patient's DID or public key changes, the registry changes the key-value pair, first calculates the new DID value and commitment, and then pairs the doctor's and patient's public key and DID value with the commitment.

[0041] Step 3: Hierarchical storage of the user's decentralized identifier and verifiable credentials; further store the root hash value of the user's DID and VC on the 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-chain and off-chain at the same time. The root hash values of the DID and VC of the doctors and patients are stored on-chain, and the complete data is stored off-chain. The data stored on-chain can ensure the integrity of the verification and occupy as few blockchain storage resources as possible. Each VC is a data object, because there are a large number of keywords about the behavior or ability of doctors and patients in the VC. The data set is used to aggregate all the keywords, and the aggregated keyword set is packaged as a data object.

[0044] Step 3.2: The first K blocks of the current block in the blockchain are used as the data structure of the sliding window accumulator for the Boolean query.

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

[0046] Step 4: The verifier verifies the legitimacy of the user by using the DID and VC of the user. Further, the verifier queries the data of the DID and VC off-chain by using the sliding window accumulator, and compares the encrypted VC with the hash on the chain. When the comparison is consistent, the user is legitimate; when the comparison is inconsistent, the user is not legitimate.

[0047] Step 4.1: The Boolean query is divided into K-size sub-queries of the sliding window.

[0048] In the embodiment, after the doctors and patients apply for a series of requests to the insurance company, the insurance company first requires the doctors and patients to present their DID and VC. After the DID verifier obtains the DID and VC of the doctors and patients, the DID verifier queries the data of the DID and VC off-chain by using the sliding window accumulator, and compares the encrypted VC with the hash on the chain. If the comparison is successful, it means that the request of the doctors and patients is legitimate, and the DID verifier gives the doctors and patients the responsive service. A query Q is divided into a plurality of 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 a plurality of sub-queries with a size of k. If the time window size of the last sub-query is less than K, the time window of the last sub-query is overlapped with the previous sub-query to make the size K.

[0049] Step 4.2: The sub-queries are used to query the object set of the keywords by using the sliding window accumulator, and the intersection of the object sets is obtained. 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 of the time window K, we first traverse the sliding window accumulator lookup tree to obtain the result of the subquery, which contains all the data objects corresponding to the keywords, and then perform Boolean expression operations on all the 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 Merkle proof path.

[0051] Step 4.3: Verify the user DID;

[0052] Step 4.3.1: Form a key-value pair with the user public key as the key and the user DID as the value;

[0053] Step 4.3.2: The verifier re-computes the key-value pair to generate a key-value pair commitment and compares it with the RSA commitment in the verifiable registry; when they are consistent, it indicates that the key-value pair exists in the verifiable registry, and the user DID verification passes; when they are consistent, it indicates that the verification fails;

[0054] In the embodiment, when the insurance company verifies the doctor-patient key-value pair in the verifiable registry, the verifier takes the public key provided by the doctor and the patient as the key and the DID of the doctor and the patient 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 this key-value pair exists in the original data, and the data is bound to the commitment at a certain time point. Then the insurance company authenticates the doctor and the patient. The DID and VC (containing identity information, important and sensitive information such as medical records) of the doctor and the patient are encrypted to obtain a Merkle tree root hash value and stored on the consortium chain, and the third-party cloud stores other unnecessary or less sensitive information.

[0055] To further illustrate the superiority of the present application, simulation experiments are used to illustrate the present application.

[0056] This experiment is a simulation experiment. Due to the limitation of hardware conditions, this experiment does not operate on multiple blocks. In actual application, several different chaincodes need to be aggregated to realize the query mode based on the sliding window accumulator. By referencing the timestamp of each block, multi-block queries can be constructed.

[0057] After changing the chaincode, additional support for Boolean type value queries is provided; compared with monotonous string queries, Boolean queries can filter all contents that meet the relevant conditions; and have stronger pertinence. Executing the Boolean query instruction, the correct query result is as shown in Figure 2 .

[0058] The multi-keyword Boolean expression query can realize a wider query range compared to the Boolean query. Similar to the above query, the environment variable of the good node is added before the query, and then the query instruction is executed. The query result is shown in Figure 3 .

[0059] Similar to the Boolean query, the environment variable of the node needs to be added before the query, and then the range query instruction is executed. The query result is shown in Figure 4 .

[0060] The results show that the Boolean query and the range query related task can be completely executed using the present application. Compared with the existing distributed digital identity technology, the feasibility of the hierarchical storage optimization scheme can be verified by theory. Compared with the general system, it has high pertinence and can quickly filter related data to achieve the related goal. In the chain code deployment link mentioned in this paper, different versions and hash digests are used to identify different chain codes, which has high similarity with the design of the verifiable registration table in the previous text, proving the feasibility of the trusted authentication mechanism.

Claims

1. A distributed identity hierarchical storage and trusted authentication method based on verifiable computation, characterized in that: Includes the following steps, Step 1: Users obtain the issuer's DID and VC through registration; Step 2: Verify the user's identity using a decentralized identifier and verifiable credentials. 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 a verifiable registry. Step 2.1: The RSA commitment binds the user's public key and the decentralized identifier; the RSA commitment is used to provide data consistency verification for the verifier; Step 2.2: Whenever a 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's public key and decentralized identifier; Step 3: Perform hierarchical storage of users' decentralized identifiers and verifiable credentials; further, store the root hash values ​​of users' DID and VC on the chain, and store data off the chain; Step 3.1: Aggregate the keywords in VC into a keyword set, and use the keyword set as a data object; Step 3.2: Use the first K blocks of the current block in the blockchain as the data structure of a sliding window accumulator for Boolean queries; Step 4: The verifier uses the user's DID and VC to verify the user's legitimacy; further, the verifier uses a sliding window accumulator to query the off-chain DID and VC data and compares the encrypted VC with the on-chain hash; if the comparison matches, the user is legitimate; if the comparison does not match, the user is illegitimate. Step 4.1: Divide the Boolean query into subqueries with a sliding window size of K; Step 4.2: Query the object set of the keyword through the sliding window accumulator for the subquery, find the intersection of the object sets of the keyword, and obtain the intersection of the object sets. If the intersection of the object sets is empty, the query is invalid; if the intersection of the object sets is not empty, return the intersection result. Step 4.3: Verify the user's DID.

2. The distributed identity hierarchical storage and trusted authentication method based on verifiable computation as described 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. If they match, it indicates that the key-value pair exists in the verifiable registry, and the user DID verification passes. If they match, it indicates that the verification fails.