Decentralized information safe and efficient storage and sharing method supporting data verification
By adopting the combined technology of Hyperledger Fabric and IPFS in the medical data storage and sharing system, the problems of data security and storage capacity limitations in the medical data storage and sharing system are solved, and efficient and secure data sharing and storage are achieved.
Patent Information
- Application Number
- CN202411753246.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-02
AI Technical Summary
The existing medical data storage and sharing systems have problems such as data tampering, leakage, single point of failure and cross-institutional data sharing obstacles, and blockchain technology has capacity limitations in storing large-capacity data.
Decentralized information storage and sharing methods based on Hyperledger Fabric and IPFS are adopted to store large-capacity data through IPFS, and the storage address is uploaded to the blockchain, combining CP-ABE encryption technology to achieve fine-grained access control and security protection of data.
It effectively solves the problems of data tampering, leakage and single point of failure, breaks down data silos, improves data security and privacy protection levels, and alleviates the pressure on blockchain storage capacity.
Smart Images

Figure CN119690930A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a decentralized information security and efficient storage and sharing method supporting data verification, belonging to the technical field of information security and efficient storage and sharing. Background Art
[0002] In the medical field, when a patient goes to the hospital for treatment, if the doctor needs to review his or her past medical history, it often takes a lot of time to review paper medical records from different medical institutions. Paper medical records have many inherent defects, including being inconvenient to carry, easy to lose and damage, which may result in the medical records not being able to fully reflect the patient's complete medical history. Therefore, paper medical records pose a significant obstacle to the patient's diagnosis and treatment process and the doctor's diagnostic efficiency.
[0003] With the vigorous development of Internet technology and big data technology, the application of electronic information systems in the medical industry is becoming more and more extensive, and huge medical data sets are generated every day, covering diversified information such as electronic medical records, medical imaging materials, diagnostic reports and reimbursement vouchers. According to authoritative statistics, after switching from paper medical records to electronic medical records, the average monthly outpatient expenses of patients are expected to be reduced by about 5%. This change has significantly improved the speed and accuracy of doctors' understanding of patients' conditions, and provided a solid foundation for seamless connection and efficient cooperation between medical institutions, reimbursement institutions, pharmacies and insurance companies. Importantly, traditionally, sensitive information such as personal electronic health records and health records are mostly stored in medical databases, and the management of these databases usually relies on semi-trusted third-party institutions such as cloud service providers. Although this model is convenient, it is also accompanied by data security risks, including but not limited to the risks of data leakage, tampering, concealment and loss, and service interruptions that may be caused by single point failures. In addition, the differences in document management and archiving among different medical institutions have also become a major obstacle to cross-institutional data sharing, which urgently needs to be solved through technological innovation and management optimization. In view of the urgent needs of medical information storage and sharing in terms of anti-tampering, efficiency, security, transparency and reliability, the rapid development of blockchain and IPFS technology has provided unprecedented solutions. In the traditional cloud storage architecture, the existence of semi-honest entities poses a potential threat to personal privacy data, which prompts us to explore new storage models.
[0004] Blockchain technology, with its immutability, decentralization and strong guarantee of data integrity, has become the preferred solution to solve such sensitive data protection issues. For highly sensitive and privacy-sensitive content such as medical information, we chose to use consortium blockchain technology as a solution. The moderate degree of decentralization of the consortium blockchain ensures that only authorized nodes can join the network, thereby significantly reducing the risk of information leakage. In addition, Fabric performs efficient verification through endorsement nodes, greatly saving computing resources and effectively avoiding unnecessary resource waste. By introducing consortium blockchain technology in the storage and sharing of medical information, we can not only effectively solve the risks of data tampering and leakage in cloud storage solutions, but also break the status quo of data silos between different institutions and promote the interconnection and interoperability of medical information. Figure 1 It visually demonstrates the architecture of blockchain, further demonstrating its key role in ensuring data security and promoting information sharing.
[0005] When discussing the potential challenges of blockchain technology in the storage of medical data, one issue that cannot be ignored is that each node in the blockchain network needs to maintain the integrity of the same ledger to ensure the distributed storage and tamper-proof characteristics of the data. Although this mechanism ensures data security, it also limits its overall storage capacity, making it difficult for blockchain technology to compete with cloud servers in storing massive data. Especially in the medical field, the data types are numerous and complex, including not only relatively small electronic medical records, but also multimedia files such as medical imaging materials and diagnostic videos with huge data volumes, which puts more stringent requirements on the capacity and efficiency of the storage system. In order to overcome the limitations of blockchain technology in storing large amounts of data, we introduce the Interplanetary File System (IPFS). As an innovative peer-to-peer distributed file system architecture, IPFS is committed to building a global, decentralized file storage and access network. Through its unique data processing mechanism, IPFS can intelligently shard files larger than 256KB and store these shards on IPFS nodes around the world, thereby achieving widespread distribution of data and efficient redundant storage. Furthermore, the IPFS system uses the hash value of each shard's content to generate a globally unique file identifier. This content-based addressing method not only ensures the uniqueness and verifiability of the data, but also significantly reduces the network redundancy problem caused by duplicate data storage.
[0006] In the scenario of medical data storage and sharing, IPFS has shown great application potential and unique advantages. It can not only effectively solve the storage problem of medical data, especially large-capacity imaging data, but also significantly improve the security and privacy protection of data with its decentralized characteristics. In addition, the efficient access mechanism of IPFS has greatly accelerated the circulation of medical information, promoted the optimal allocation and cross-institutional sharing of medical resources, and laid a solid technical foundation for the development of innovative medical models such as smart medical care and remote diagnosis and treatment. As an advanced distributed file system, IPFS, with its unique characteristics of shard storage, content addressing and global distribution, provides an ideal technical solution for medical data storage and sharing, which is of great significance for promoting the digital transformation of the medical industry and improving the quality and efficiency of medical services.
[0007] The development of blockchain technology has significantly enhanced the ability to automatically process user data. Smart contracts, as automated execution programs or protocols on blockchain, have completely changed the traditional mode of transaction processing. Once the preset conditions are met, the smart contract will be automatically activated, and its execution logic is directly encoded and embedded in the blockchain, ensuring that every step of the transaction is traceable, highly transparent and cannot be tampered with. This innovative mechanism effectively eliminates the dependence of traditional transactions on intermediaries, significantly shortens transaction processing time, and greatly improves overall efficiency. Specifically, smart contracts are hosted on the blockchain network and their operation is based on carefully designed conditional logic. Once these conditions are triggered, the corresponding contract terms are automatically executed. In the consortium blockchain environment, the deployment process of smart contracts is more rigorous. First, the chain code is edited and pre-deployed, then the contract logic is executed by the endorsement node, and the sorting node sorts and confirms the execution results to ensure the orderliness and consistency of the transaction. Summary of the invention
[0008] In view of the shortcomings of the existing technology, in order to break the information barriers between patients, doctors, hospitals, pharmacies, insurance agencies and scientific laboratories, and effectively protect the privacy of patients, the present invention designs an information storage and sharing method based on Hyperledger Fabric and IPFS.
[0009] The present invention implements a decentralized authorization mechanism and allows patients to perform fine-grained access control on personal data, while ensuring the security protection of CP-ABE (Cipher Policy Attribute-Based Encryption) related encryption decisions and attributes. The scheme of the present invention involves four core entities: InterPlanetary File System (IPFS), Data Provider (DP), Data Requester (DR) and Alliance Chain Fabric. The scheme successfully breaks down the data barriers between entities such as patients, doctors, hospitals, insurance companies, and pharmacies. While fully protecting the privacy and security of patients, the system effectively reduces the local storage pressure of hospitals and promotes data sharing.
[0010] In the data provision process, the data provider first uses the SHA-256 algorithm to hash the patient's private data to generate a hash value of the original data. Subsequently, a symmetric encryption algorithm is used to generate a ciphertext, which is sent to IPFS for storage. In particular, when the size of the uploaded file exceeds 256KB, IPFS will automatically shard the file and store these shards in node servers around the world. Finally, IPFS will generate a unique hash value for each file, which is the "address" in this scheme. Given that IPFS uses a content-based addressing mechanism, when uploading the same content, regardless of the location, it will not be stored repeatedly, but will be identified as the same file, thereby significantly reducing the redundancy of file uploads. After storage is completed, IPFS returns the file address to the data provider. The data provider merges the received address, symmetric key, and hash value of the original data to form new plaintext data. Subsequently, the data provider will select an encryption strategy and encrypt the plaintext data using ciphertext policy attribute-based encryption (CP-ABE) to obtain attribute-encrypted ciphertext. At the same time, the data provider will also upload the selected encryption decision and attribute ciphertext to the blockchain for storage. In the selection of blockchain technology, the scheme of the present invention adopts Hyperledger Fabric consortium chain. The advantage of Hyperledger Fabric consortium chain is reflected in its node admission control mechanism, which requires new entities to obtain authorization when joining the blockchain, thereby effectively preventing the participation of potential malicious nodes. In addition, Fabric also supports the maintenance of multiple channels at the same time to meet the needs of different scenarios. Two channels are designed in the scheme of the present invention: one is used to store attribute encrypted files uploaded by users, called the 'public channel'; the other is used to store user attributes and encryption decisions, called the 'attribute channel'. According to the channel type to which the node joins, the scheme of the present invention divides the nodes in the blockchain into 'public nodes' and 'attribute nodes'. Public nodes are mainly responsible for data endorsement and sorting to ensure the correctness and order of data; attribute nodes are responsible for processing data in the attribute channel to ensure the security and privacy of attributes and encryption decisions. The scheme of the present invention isolates encrypted data from user attributes through a dual-channel mechanism, thereby realizing the protection of user attributes in CP-ABE. When a new user joins the system, he must register in the blockchain, and the certificate authority (CA) in the blockchain assigns attributes, stores the attributes in the attribute channel, and generates a private key associated with the attributes. Data requesters can request data from the blockchain. After the attribute node verifies the validity of the request, the public node sends the corresponding attribute encrypted ciphertext to the data requester. The data requester uses his own private key to decrypt. If the decryption is successful, the ciphertext address, symmetric key and hash value are obtained. The symmetric encrypted data is retrieved from the IPFS through the address and decrypted using the symmetric key to obtain the original data.For data verification, the data requester performs a hash operation on the data after obtaining the original data, and compares the obtained hash value with the decrypted hash value. If the two are consistent, the authenticity of the data is verified. Figure 2 The blockchain structure of this scheme is shown.
[0011] The present invention makes full use of the powerful characteristics of smart contracts and realizes key functions such as key generation, attribute distribution and identity authentication by editing chain codes. This process not only improves the automation level of the system, but also utilizes the distributed characteristics of blockchain to ensure the security and reliability of sensitive operations. After the introduction of smart contracts, the solution not only improves data processing efficiency, but also provides users with a more convenient and secure data management experience.
[0012] In the medical field, data security and privacy protection are of vital importance. Given that medical information involves highly sensitive content such as electronic medical records, high-precision medical images, and detailed diagnostic processes, any form of leakage may cause immeasurable damage to patients. Therefore, the present invention adopts a set of carefully designed composite encryption and storage strategies to fully protect the security and integrity of medical data.
[0013] The present invention combines the efficiency of symmetric encryption with the flexibility and security of ciphertext policy attribute-based encryption (CP-ABE) to construct a dual encryption protection system. Specifically, first, a symmetric encryption algorithm is used to encrypt medical data to generate ciphertext that is difficult to directly interpret. This step ensures that the data has basic security during transmission and storage. Even if the data is illegally intercepted, the original information cannot be directly obtained. Subsequently, the encrypted ciphertext is securely stored in the decentralized IPFS (Interplanetary File System) network, using its distributed characteristics to improve the redundant storage and access efficiency of the data.
[0014] However, simply implementing symmetric encryption and storage of data is not enough to fully defend against advanced threats. Therefore, the present invention further implements ciphertext policy attribute-based encryption (CP-ABE) for the symmetric encryption keys and key metadata, and uploads the encrypted keys and attribute information to the blockchain platform. CP-ABE allows data owners to customize access policies based on the attributes of the visitor (such as identity, responsibilities, permissions, etc.), ensuring that only users who meet specific conditions can decrypt and obtain keys, and then access the original data. This mechanism significantly improves the fine-grained control and security of data access. Even if a malicious user obtains ciphertext from IPFS, if he does not have the corresponding permissions, he cannot decrypt the symmetric key and thus cannot access the data content.
[0015] In addition, in order to verify the authenticity and integrity of the data obtained from IPFS, the present invention introduces hash operation technology. By hashing the medical data and its key information, a unique digital hash value is generated, and these hash values are stored on the blockchain. The tamper-proof nature of the blockchain ensures the authenticity and reliability of the hash value. The data requester can quickly verify the integrity and authenticity of the data by comparing the data obtained from IPFS with its corresponding hash value.
[0016] Terminology explanation:
[0017] Blockchain technology: Blockchain technology was first proposed by Satoshi Nakamoto in 2008. His paper "Bitcoin: A Peer-to-Peer Electronic Cash System" describes in detail the principles and applications of blockchain technology. Blockchain is a distributed database technology that achieves decentralized data storage and transmission through cryptography and consensus algorithms. Its core concept is to divide data into a series of tamper-proof blocks and connect these blocks into a chain through encryption and timestamps. The decentralization and data integrity of blockchain technology can eliminate the single point attack and data tampering problems caused by the server. The main advantage of the present invention is that compared with the public blockchain, Fabric does not consume gas, thereby significantly reducing costs. In addition, Fabric supports the creation of multiple independent channels so that data between different channels do not interfere with each other. In the present invention, we design two channels: the public channel C1 is used to store public data, and the attribute channel C2 is used to store attribute and policy data. For data management of different channels, we divide the nodes in Fabric into public nodes and attribute nodes. Attribute nodes can join public channels, but public nodes cannot join attribute channels to access private attributes. This design helps prevent decision or attribute leakage, thereby effectively protecting the security and privacy of data and further improving the overall security of the system.
[0018] Interplanetary File System (IPFS): is a distributed file system designed to make file storage and sharing more efficient and secure. It stores and shares data through a distributed network, avoiding the centralization problem of the traditional Internet. Its features include:
[0019] 1. Content addressing: The traditional HTTP protocol is based on location addressing, that is, locating resources through URL addresses. IPFS uses content addressing to uniquely identify files through their encrypted hash values, so that even if the location where the file is stored changes, its content can still be accurately found.
[0020] 2. Distributed network: IPFS splits files into small blocks and stores these small blocks on multiple nodes in the network. Each node can store and provide file blocks, thereby improving the availability and access speed of files.
[0021] 3. Decentralization: Since files are stored on multiple nodes and there is no single central server, single point failure and data censorship issues caused by centralization can be avoided.
[0022] 4. Version control: IPFS supports version control of files, allowing users to view and restore historical versions of files. This is very useful for data backup and version management.
[0023] 5. Efficient transmission: Through content addressing and file block distribution, IPFS can transmit files more efficiently. Multiple nodes can provide different blocks of files at the same time, thereby achieving parallel downloading and increasing transmission speed.
[0024] 6. Data integrity: Since files are identified and verified by hash values, the integrity and immutability of the file content can be ensured. If the file content changes, its hash value will also change, and inconsistencies can be detected immediately.
[0025] 7. Ciphertext Policy Attribute Based Encryption (CP-ABE): It is an attribute-based encryption technology that allows data encryptors to define access control policies. Only users who meet these policies can decrypt data. CP-ABE is divided into LSSS and decision tree-based. The present invention adopts a tree-based encryption mechanism, in which attribute set: each entity has an attribute set, which represents its identity, role, qualifications, etc. Access tree: a tree structure used to represent access control policies. The leaf nodes of the tree are attributes, and the internal nodes are logical operators (such as AND, OR, threshold operations). The root node represents the entire access control policy, and the leaf nodes represent specific attributes. We use CP-ABE to formulate flexible and efficient access control policies for data, realize fine-grained permission management and data protection, and achieve fine-grained access control for the privacy data of data providers in our scenario.
[0026] 8. SHA-256 is an algorithm subdivided from the SHA 2 series of algorithms, where SHA is the abbreviation of Secure Hash Algorithm, and the 256 value in the name represents the final hash value summary. The hash value is usually represented by a 64-byte hexadecimal string (composed of random letters and numbers), which is equivalent to an array of 32 bytes in length, where 1 byte = 8 bits. That is, no matter how large the plaintext is, the hash value is always 256 bits. When the plaintext changes, a different hash value is obtained, and even if the plaintext changes slightly, the change in the hash value is huge.
[0027] The technical solution of the present invention is:
[0028] A decentralized information security and efficient storage and sharing method supporting data verification, comprising:
[0029] 1) In the initialization phase, security parameters are input to generate the public key, private key, attribute encryption public key and master key required by each entity; then, the public key and master key are uploaded to the public channel of Hyperledger Fabric through a secure communication channel;
[0030] 2) Before encrypting the data, the data provider first selects a hash function to hash the private data and generate a corresponding hash value; then, a symmetric key is selected to encrypt the private data and generate a ciphertext; after the encryption is completed, the ciphertext is uploaded to IPFS for storage;
[0031] 3) After receiving the ciphertext uploaded by the data provider, IPFS evaluates the size of the uploaded ciphertext; if the ciphertext size exceeds 256KB, IPFS will shard the ciphertext and store these shards in globally distributed node servers, while generating a unique address identifier; after storage is completed, IPFS will send the unique address identifier of the private data back to the data provider through a secure communication channel;
[0032] 4) The data provider receives the unique address identifier, symmetric key, and hash value generated in step 1) of the corresponding data, and concatenates the unique address identifier, symmetric key, and hash value generated in step 1) into a new plaintext;
[0033] 5) The data provider selects an encryption strategy, implements attribute encryption on the new plaintext, and then uploads the generated attribute encrypted ciphertext and the selected encryption strategy to Hyperledger Fabric for storage;
[0034] 6) The data requester submits an access application to Hyperledger Fabric before using the data; after the access application is approved, the data requester joins the blockchain network. After joining, Hyperledger Fabric assigns specific attributes to the data requester and stores these data requesters in the attribute channel; then, according to the algorithm, a private key corresponding to the specific attributes of the data requester is generated for the data requester, and the private key is transmitted to the corresponding data requester through a secure channel;
[0035] 7) In the process of using data, the data requester sends a data request to Hyperledger Fabric; Hyperledger Fabric verifies the legitimacy of the data request and sends the attribute-encrypted data to the data requester; the data requester then uses his own private key to try to decrypt; if he has the corresponding authority, he will successfully obtain the merged plaintext; otherwise, if he does not have the authority, the decryption process will fail;
[0036] 8) The data requester saves the symmetric key and hash value, and then requests data from IPFS based on the provided address to obtain the symmetrically encrypted ciphertext;
[0037] 9) The data requester uses the locally stored key to decrypt the encrypted ciphertext to obtain the patient's private data; the data requester performs hash calculation on the decrypted data and compares the hash calculation result with the previously saved hash value; if they match, it indicates that the data has not been tampered with during the storage and sharing process.
[0038] Preferably, according to the present invention, step 1) comprises:
[0039] Hyperledger Fabric's Certificate Authority CA (Certificate Authority, CA) performs initialization. The specific algorithm is: Setup(1 λ )→(PK ABE , MSK, PP), where λ is the security parameter, PK ABE is the public key for attribute encryption, PP is the public parameter, and MSK is the master key for attribute encryption; Setup() refers to the system initialization algorithm, which generates PP, MSK, PK by inputting security parameters. ABE ; The specific operation is: select a bilinear cyclic group G0 with a prime order of p and a generator of g, two random exponents α, β; calculate: PK ABE =G0,g,h=g β , MSK=β,g α ; Among them, h, g β ,f,β,g αare intermediate values generated in the process of calculating PK and MSK, and finally form PK and MSK; e(g, g) represents a bilinear mapping; the certificate authority CA of Hyperledger Fabric converts PK ABE , MSK is uploaded to Hyperledger Fabric, and the public channel C1 is set for use by other user entities; the public parameters include G0, α, β, g, h, and f.
[0040] Preferably, according to the present invention, step 2) comprises:
[0041] The data provider selects a hash function and performs a hash operation on the original data m, which is specifically expressed as: H(m)→H1, where H1 is the generated hash value; the original data m refers to the patient's private data;
[0042] Assume that the data provider is honest and trustworthy; select a symmetric key to encrypt the private data. The specific algorithm is: Enc(k, m)→CT m , where k is the symmetric key selected by the data provider, CT m It is the symmetric encryption ciphertext generated by symmetric encryption of the original data m; Enc() refers to the symmetric encryption algorithm;
[0043] CT m Upload to IPFS for storage.
[0044] Preferably according to the present invention, in step 3), the method comprises:
[0045] IPFS receives CT m Afterwards, check CT m Size, if CT m If the size of the data is larger than 256KB, the data is divided into blocks and the data obtained after the block operation is stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL, is generated, and the storage address URL representing the unique address of the data is returned to the data provider; if CT m If the size is no larger than 256KB, it can be directly stored.
[0046] Preferably according to the present invention, in step 4), the process comprises:
[0047] The data provider performs a splicing operation, specifically: m1 = (URL||k||H1), where m1 is the new private data, i.e., the new plaintext, URL is the unique address identifier returned by IPFS, k is the symmetric key selected by the data provider, and H1 is the hash value of the private data.
[0048] Preferably according to the present invention, in step 5), the method comprises:
[0049] The data provider selects the corresponding encryption strategy P to encrypt the new plaintext. The specific algorithm is: Enc(PK ABE , m1, P)→CT m1 , PK ABE is the public key for attribute encryption, m1 is the new private data, CT m1 The ciphertext generated for attribute encryption;
[0050] First, for the access encryption strategy P, a polynomial q is selected for each node (including leaf nodes) in the decision tree P. x , for each node in the visited decision tree P, the polynomial q x The number of times d x To be greater than the threshold k of this node x Small 1, i.e. d x =k x -1, the specific operation is: tree-based attribute encryption starts from the root node R, randomly selects s∈Z q , Z q is the cyclic group of integer multiplication; and let q R (0) = s, for other nodes x, q x (0) = q parent(x) (index(x)), where index(x) is the index of node x, q parent(x) () refers to the parent node of node X;
[0051] Let Y be the set of leaf nodes in P and calculate the symmetric encrypted ciphertext:
[0052] Then, the encryption strategy P and the attribute ciphertext CT m1 Upload to Hyperledger Fabric for storage. In Hyperledger Fabric, the channel for storing public data is called public channel C1. All nodes will join public channel C1. The channel for storing attribute data and access decisions is called attribute channel C2. Only nodes that manage attributes join attribute channel C2. Upload encryption policy P to attribute channel C2 and the attribute ciphertext CT m1 Upload to public channel C1.
[0053] Preferably according to the present invention, in step 6), it includes:
[0054] When a data requester requests data, he / she applies to the Hyperledger Fabric's certificate authority CA, and is added to the blockchain after approval. When a new user joins, the Hyperledger Fabric's certificate authority CA assigns attribute A to the new user. i,j, and execute the algorithm KeyGen(MSK,A i,j ,PP)→SK i,j , among which, SK i,j The data requester corresponds to its allocation attribute A i,j The private key of the key generator is PP, which is the public parameter of attribute encryption. KeyGen() refers to the key generation algorithm. The specific operations are:
[0055] Choose a random number r∈Z p , r j ∈Z p , j∈S, S is the attribute set; calculate the private key: Hyperledger Fabric's certificate authority CA will attribute A i,j Stored in attribute channel C2, SK i,j The data is returned to the corresponding data requester through a secure channel.
[0056] Preferably according to the present invention, in step 7), the method comprises:
[0057] When a data requester uses data, he requests data from Hyperledger Fabric. The attribute node in Hyperledger Fabric checks the attributes of the data requester. If the attributes of the data requester are valid, the public node sends the attribute ciphertext to the data requester. The data requester who receives the attribute ciphertext decrypts it with his own private key. The specific algorithm is Decrypt(CT m1 , S.K. i,j , PP)→m1; Decrypt() refers to the attribute decryption algorithm; decryption is performed by inputting the attribute ciphertext and the user's private key. If there is decryption permission, the plaintext m1 is output. If there is no decryption permission, the failure symbol ⊥ is output;
[0058] The specific operation is: if node x is a leaf node, let i = att(x);
[0059]
[0060] When node x is a non-leaf node, call the algorithm DecryptNode(CT m1 , S.K. i,j , z), where z is a child node of x, and the output of the algorithm is stored as F z :
[0061]
[0062] When the access decision tree P satisfies S;
[0063] make
[0064] calculate:
[0065]
[0066] Preferably according to the present invention, in step 8), the process comprises:
[0067] The data requester splits the obtained data m1=(URL||k||H1) into: unique address URL, symmetric key k, and original data hash value H1; saves the symmetric key k and original data hash value H1 locally, and uses the unique address URL to query the encrypted data CT from IPFS m and download it.
[0068] Preferably according to the present invention, in step 9), the method comprises:
[0069] The data requester executes the algorithm Decrypt(CT m , k)→m, where CT m is the ciphertext downloaded by IPFS in step 8), k is the symmetric key used by the data provider, and m is the original data required by the data requester;
[0070] After obtaining m, perform a hash operation on m, mark the result of this hash operation as H2, and compare it with H1 calculated in step 8); if H2 matches H1, the authenticity and validity of the data are confirmed, otherwise, the authenticity and validity of the data cannot be confirmed.
[0071] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the processor implements the steps of a decentralized information secure and efficient storage and sharing method that supports data verification.
[0072] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of a decentralized information secure and efficient storage and sharing method that supports data verification.
[0073] The beneficial effects of the present invention are:
[0074] 1. A medical information storage and sharing method based on Fabric and IPFS is proposed. It solves the single point failure caused by semi-honest entities such as third-party service providers, as well as data tampering and leakage. By using Fabric blockchain combined with IPFS distributed storage, the state of the entire system being paralyzed due to failure of certain nodes can be avoided. The data integrity of the blockchain ensures that the data is not tampered with.
[0075] 2. Solve the capacity limitation of blockchain storage by introducing IPFS storage. Data on the blockchain can only be added and checked but not deleted, so the storage capacity of the blockchain is particularly precious. For medical information, from electronic medical records with little information to imaging data with huge information, if all are stored in the blockchain, the storage capacity on the chain is insufficient. For this, we use IPFS storage. IPFS divides the uploaded data into blocks and stores them in various nodes in the world, and finally generates a unique storage address. This solution relieves the storage pressure of the blockchain by uploading the address to the blockchain instead of uploading the original data.
[0076] 3. Even if the data provider's private data is uploaded to IPFS, the data provider's control over the data is still retained. Compared with previous outsourcing solutions, data providers often lose control of private data after outsourcing data to service providers. Service providers may modify or leak private data, and data providers are usually unable to intervene. The present invention uses the CP-ABE encryption method to encrypt data to ensure that data providers can achieve fine-grained access control without losing control of private data. In addition, by combining two encryption algorithms, the present invention further enhances the security of private data on the basis of ensuring fine-grained access control.
[0077] 4. After receiving the private data submitted by the data provider, the data requester can verify the accuracy of the data. According to the requirements of the present invention, before uploading the encrypted data, the data provider must first perform a hash operation on the private data, and combine the obtained hash value with other parameters to form new private data. This scheme is based on the assumption that the data provider is honest. After decrypting the original data, the data requester will obtain the private data uploaded by the data provider and its hash value, and perform a hash operation on the data. By comparing the newly calculated hash value with the hash value uploaded by the data provider, the data requester can verify the authenticity of the data. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] Figure 1 This is a schematic diagram of the blockchain architecture;
[0079] Figure 2 It is a schematic diagram of the structure of the Hyperledger Fabric consortium chain of the present invention;
[0080] Figure 3 A flowchart of a decentralized medical information secure and efficient storage and sharing method that supports data verification;
[0081] Figure 4 A schematic diagram of block generation time;
[0082] Figure 5 Generate time diagrams for blockchain components; DETAILED DESCRIPTION
[0083] The present invention will be further defined below in conjunction with the accompanying drawings and embodiments, but is not limited thereto.
[0084] Example 1
[0085] A decentralized information security and efficient storage and sharing method supporting data verification, comprising:
[0086] 1) In the initialization phase, security parameters are input to generate the public key, private key, attribute encryption public key and master key required by each entity; then, the public key and master key are uploaded to the public channel of Hyperledger Fabric through a secure communication channel;
[0087] 2) Before encrypting the data, the data provider first selects a suitable hash function to hash the private data and generate a corresponding hash value; then, a symmetric key is selected to encrypt the private data and generate a ciphertext; after the encryption is completed, the ciphertext is uploaded to IPFS for storage;
[0088] 3) After receiving the ciphertext uploaded by the data provider, IPFS evaluates the size of the uploaded ciphertext; if the ciphertext size exceeds 256KB, IPFS will shard the ciphertext and store these shards in globally distributed node servers, while generating a unique address identifier; after storage is completed, IPFS will send the unique address identifier of the private data back to the data provider through a secure communication channel;
[0089] 4) The data provider receives the unique address identifier, symmetric key, and hash value generated in step 1) of the corresponding data, and concatenates the unique address identifier, symmetric key, and hash value generated in step 1) into a new plaintext;
[0090] 5) The data provider selects an encryption strategy, implements attribute encryption on the new plaintext, and then uploads the generated attribute encrypted ciphertext and the selected encryption strategy to Hyperledger Fabric for storage; Hyperledger Fabric performs subsequent processing on the uploaded data.
[0091] 6) The data requester submits an access application to Hyperledger Fabric before using the data; after the access application is approved, the data requester joins the blockchain network. After joining, Hyperledger Fabric assigns specific attributes to the data requester and stores these data requesters in the attribute channel; then, according to the algorithm, a private key corresponding to the specific attributes of the data requester is generated for the data requester, and the private key is transmitted to the corresponding data requester through a secure channel;
[0092] 7) In the process of using data, the data requester sends a data request to Hyperledger Fabric; Hyperledger Fabric verifies the legitimacy of the data request and sends the attribute-encrypted data to the data requester; the data requester then uses his own private key to try to decrypt; if he has the corresponding authority, he will successfully obtain the merged plaintext; otherwise, if he does not have the authority, the decryption process will fail;
[0093] 8) The data requester saves the symmetric key and hash value, and then requests data from IPFS based on the provided address to obtain the symmetrically encrypted ciphertext;
[0094] 9) The data requester uses the locally stored key to decrypt the encrypted ciphertext to obtain the patient's private data; in order to verify the authenticity of the data, the data requester performs a hash calculation on the decrypted data and compares the hash calculation result with the previously saved hash value; if they match, it indicates that the data has not been tampered with during the storage and sharing process.
[0095] Example 2
[0096] The difference between the decentralized information security and efficient storage and sharing method supporting data verification described in Example 1 is that:
[0097] Step 1) includes:
[0098] Hyperledger Fabric's Certificate Authority CA (Certificate Authority, CA) performs initialization. The specific algorithm is: Setup(1 λ )→(PK ABE , MSK, PP), where λ is the security parameter, which is a concept proposed by theoretical cryptographers. The security parameter of the present invention mainly refers to the statistical security parameter, which is usually the case that the attacker has unlimited computing power and the attacker has a certain probability of breaking the encryption system. ABE is the public key for attribute encryption, PP is the public parameter, and MSK is the master key for attribute encryption; Setup() refers to the system initialization algorithm, which generates PP, MSK, PK by inputting security parameters. ABE ; The specific operation is: select a bilinear cyclic group G0 with a prime order of p and a generator of g, two random exponents α, β; calculate: PK ABE =G0,g,h=g β , e(g, g) α ,MSK=β,g α ; Among them, h, g β ,f,β,g αare intermediate values generated in the process of calculating PK and MSK, and finally form PK and MSK; e(g, g) represents a bilinear mapping; the certificate authority CA of Hyperledger Fabric converts PK ABE , MSK is uploaded to Hyperledger Fabric, and the public channel C1 is set for use by other user entities; the public parameters include G0, α, β, g, h, f.
[0099] Step 2) includes:
[0100] The data provider selects a hash function, such as SHA-256, and performs a hash operation on the original data m, which is specifically expressed as: H(m)→H1, where H1 is the generated hash value; the original data m refers to the patient's private data;
[0101] Assume that the data provider is honest and trustworthy; select a symmetric key to encrypt the private data. The specific algorithm is: Enc(k, m)→CT m , where k is the symmetric key selected by the data provider, CT m It is the symmetric encryption ciphertext generated by symmetric encryption of the original data m; Enc() refers to the symmetric encryption algorithm;
[0102] CT m Upload to IPFS for storage.
[0103] In step 3), it includes:
[0104] IPFS receives CT m Afterwards, check CT m Size, if CT m If the size of the data is larger than 256KB, the data is divided into blocks and the data obtained after the block operation is stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL (i.e., the unique address identifier), is generated, and the storage address URL representing the unique address of the data is returned to the data provider; if the CT m If the size is no larger than 256KB, it can be directly stored.
[0105] Files are stored on IPFS and will have a data structure containing the following:
[0106] Data: can store blobs (unstructured data blocks) of up to 256KB. When the data is larger than 256KB, it is broken down into several blocks smaller than 256KB.
[0107] Links: Data linking IPFS objects.
[0108] If the file is larger than 256KB, it will be split and stored in multiple IPFS objects, and then an empty object will be created that links all other objects of the file. The link to this object is the URL. If it is not larger than 256KB, it can be stored directly without the need for block operation.
[0109] In step 4), it includes:
[0110] The data provider performs a splicing operation, specifically: m1 = (URL||k||H1), where m1 is the new private data, i.e., the new plaintext, URL is the unique address identifier returned by IPFS, k is the symmetric key selected by the data provider, and H1 is the hash value of the private data.
[0111] In step 5), it includes:
[0112] The data provider selects the corresponding encryption strategy P to encrypt the new plaintext. The specific algorithm is: Enc(PK ABE , m1, P)→CT m1 , PK ABE is the public key for attribute encryption, m1 is the new private data, CT m1 The ciphertext generated for attribute encryption;
[0113] The algorithm first selects a polynomial q for each node (including leaf nodes) in the access encryption policy P, that is, the decision tree P. x , for each node in the visited decision tree P, the polynomial q x The number of times d x To be greater than the threshold k of this node x Small 1, i.e. d x =k x -1, the specific operation is: tree-based attribute encryption starts from the root node R, randomly selects s∈Z q , Z q is the cyclic group of integer multiplication; and let q R (0) = s, for other nodes x, q x (0) = q parent(x) (index(x)), where index(x) is the index of node x, q parent(x) () refers to the parent node of node X;
[0114] Let Y be the set of leaf nodes in P and calculate the symmetric encrypted ciphertext:
[0115] Then, the encryption strategy P and the attribute ciphertext CT m1Upload to Hyperledger Fabric for storage. For Fabric, this solution creates two channels according to its characteristics, and different channels are not interoperable. In Hyperledger Fabric, the channel for storing public data is called public channel C1, and all nodes will join public channel C1. The channel for storing attribute data and access decisions is called attribute channel C2, and only nodes that manage attributes join attribute channel C2; upload the encryption policy P to attribute channel C2, and the attribute ciphertext CT m1 Upload to public channel C1.
[0116] In step 6), it includes:
[0117] When a data requester requests data, he / she applies to the Hyperledger Fabric's certificate authority CA, and is added to the blockchain after approval. When a new user joins, the Hyperledger Fabric's certificate authority CA assigns attribute A to the new user. i,j , according to the user's identity or department and other conditions, the attribute A is assigned i,j . And execute the algorithm KeyGen(MSK,A i,j ,PP)→SK i,j , among which, SK i,j The data requester corresponds to its allocation attribute A i,j The private key of the key generator is PP, which is the public parameter of attribute encryption. KeyGen() refers to the key generation algorithm. The specific operations are:
[0118] Choose a random number r∈Z p , r j ∈Z p , j∈S, S is the attribute set; calculate the private key: Hyperledger Fabric's certificate authority CA will attribute A i,j Stored in attribute channel C2, SK i,j The data is returned to the corresponding data requester through a secure channel.
[0119] In step 7), it includes:
[0120] When the data requester uses data, he requests data from Hyperledger Fabric. The attribute node in Hyperledger Fabric checks the attributes of the data requester. The attribute node can query which attributes are in line with the decryption policy. You can see the attributes of the requester and compare the attributes of the data requester with the attributes that meet the decryption policy to determine whether they meet the policy. If the attributes of the data requester are valid, the public node sends the attribute ciphertext to the data requester. The data requester who receives the attribute ciphertext decrypts it with his own private key. The specific algorithm is Decrypt(CT m1 , S.K. i,j , PP)→m1; Decrypt() refers to the attribute decryption algorithm; decryption is performed by inputting the attribute ciphertext and the user's private key. If there is decryption permission, the plaintext m1 is output. If there is no decryption permission, the failure symbol ⊥ is output;
[0121] The specific operation is: if node x is a leaf node, let i = att(x);
[0122]
[0123] When node x is a non-leaf node, call the algorithm DecryptNode(CT m1 , S.K. i,j , z), where z is a child node of x, and the output of the algorithm is stored as F z :
[0124]
[0125] When the access decision tree P satisfies s;
[0126] make
[0127] calculate:
[0128]
[0129] In step 8), it includes:
[0130] The data requester splits the obtained data m1=(URL||k||H1) into: unique address URL, symmetric key k, and original data hash value H1; saves the symmetric key k and original data hash value H1 locally, and uses the unique address URL to query the encrypted data CT from IPFS m and download it.
[0131] In step 9), it includes:
[0132] The data requester executes the algorithm Decrypt(CT m ,k)→m, where CT mis the ciphertext downloaded by IPFS in step 8), k is the symmetric key used by the data provider, and m is the original data required by the data requester;
[0133] After obtaining m, in order to further verify the authenticity of the data, a hash operation needs to be performed on m, and the result of the hash operation is marked as H x and compare it with H1 calculated in step 8); if H x If it matches H1, the authenticity and validity of the data are confirmed. Otherwise, the authenticity and validity of the data cannot be confirmed. According to the characteristics of hash, when the plaintext changes, the result will change, and the plaintext corresponding to the same hash value must be the same. The data can be verified by comparing the two hash values. If they do not match, that is, the two hash results are different, it means that the data has changed and the authenticity of the data cannot be confirmed. The data is then used for subsequent operations, such as doctors treating patients, insurance companies processing claims, and pharmacies dispensing medicines.
[0134] The present invention proposes a solution to the problems of high computing cost and limited storage space faced by blockchain technology when processing medical data. Since medical data includes not only electronic medical records with a small amount of data, but also medical images with a large amount of data, directly storing all medical data on the blockchain will pose a challenge to the storage capacity of the blockchain. In order to solve this problem, the present invention introduces IPFS (InterPlanetary File System) for data storage, and uploads the storage address to the blockchain after encryption. This method not only effectively reduces the storage pressure of the blockchain, but also avoids the introduction of semi-honest entities that may have a single point of failure risk, such as third-party service providers, because Fabric and IPFS are both decentralized systems. Therefore, while ensuring data security, the present invention also improves the stability and reliability of the system.
[0135] When a central laboratory wants to use patient data for medical academic research, it needs to obtain data from the hospital. Since paper data is inconvenient to carry and the data of cloud service providers are subject to threats such as falsehood, the data hospital can symmetrically encrypt the private data and upload it to IPFS, encrypt the returned address and other attributes, and store the ciphertext on the alliance chain. The central laboratory applies to join the blockchain and obtain data from it. When the data is obtained, hash calculations can be performed and the hash values can be compared to ensure the authenticity of the data. In this way, the experimental center can get the required data and start research.
[0136] Example 3
[0137] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of a decentralized information secure and efficient storage and sharing method supporting data verification described in Example 1 or 2 are implemented.
[0138] Example 4
[0139] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of a decentralized information secure and efficient storage and sharing method supporting data verification as described in Example 1 or 2.
Claims
1. A decentralized information security and efficient storage and sharing method supporting data verification, characterized in that: include: 1) Initialization phase: input security parameters to generate the public key, private key, attribute encryption public key and master key required by each entity; Subsequently, the public key and master key are uploaded to the public channel of Hyperledger Fabric through a secure communication channel; 2) Before encrypting the data, the data provider first selects a hash function to hash the private data and generate a corresponding hash value; Then, a symmetric key is selected to encrypt the private data and generate ciphertext. After encryption, the ciphertext is uploaded to IPFS for storage. 3) After receiving the ciphertext uploaded by the data provider, IPFS evaluates the size of the uploaded ciphertext; if the ciphertext size exceeds 256KB, IPFS will shard the ciphertext and store these shards in globally distributed node servers, while generating a unique address identifier; after storage is completed, IPFS will send the unique address identifier of the private data back to the data provider through a secure communication channel; 4) The data provider receives the unique address identifier, symmetric key, and hash value generated in step 1) of the corresponding data, and concatenates the unique address identifier, symmetric key, and hash value generated in step 1) into a new plaintext; 5) The data provider selects an encryption strategy, implements attribute encryption on the new plaintext, and then uploads the generated attribute encrypted ciphertext and the selected encryption strategy to Hyperledger Fabric for storage; 6) The data requester submits an access request to Hyperledger Fabric before using the data; After the access application is approved, the data requester joins the blockchain network. After joining, Hyperledger Fabric assigns specific attributes to the data requester and stores these data requesters in the attribute channel; Then, a private key corresponding to the specific attribute of the data requester is generated for the data requester according to the algorithm, and the private key is transmitted to the corresponding data requester through a secure channel; 7) In the process of using data, the data requester sends a data request to Hyperledger Fabric; Hyperledger Fabric verifies the legitimacy of the data request and sends the attribute-encrypted data to the data requester; The data requester then attempts to decrypt using their own private key; If you have the corresponding permissions, you will successfully obtain the merged plaintext; On the contrary, if there is no permission, the decryption process will fail; 8) The data requester saves the symmetric key and hash value, and then requests data from IPFS based on the provided address to obtain the symmetrically encrypted ciphertext; 9) The data requester uses the locally stored key to decrypt the encrypted ciphertext to obtain the patient's private data; The data requester performs a hash calculation on the decrypted data and compares the hash calculation result with the previously saved hash value; if they match, it indicates that the data has not been tampered with during the storage and sharing process.
2. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: Step 1) includes: Hyperledger Fabric's certificate authority CA performs initialization. The specific algorithm is: Setup(1 λ )→(PK ABE , MSK, PP), where λ is the security parameter, PK ABE is the public key for attribute encryption, PP is the public parameter, and MSK is the master key for attribute encryption; Setup() refers to the system initialization algorithm, which generates PP, MSK, PK by inputting security parameters. ABE ; The specific operation is: select a bilinear cyclic group G0 with a prime order of p and a generator of g, two random exponents α, β; calculate: PK ABE =G0,g,h=g β , MSK=β,g α ; Among them, h, g β ,f,β,g α are intermediate values generated in the process of calculating PK and MSK, and finally form PK and MSK; e(g, g) represents a bilinear mapping; the certificate authority CA of Hyperledger Fabric converts PK ABE , MSK is uploaded to Hyperledger Fabric, and the public channel C1 is set for use by other user entities; the public parameters include G0, α, β, g, h, and f.
3. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: Step 2) includes: The data provider selects a hash function and performs a hash operation on the original data m, which is specifically expressed as: H(m)→H1, where H1 is the generated hash value; the original data m refers to the patient's private data; Assume that the data provider is honest and trustworthy; select a symmetric key to encrypt the private data. The specific algorithm is: Enc(k, m)→CT m , where k is the symmetric key selected by the data provider, CT m It is the symmetric encryption ciphertext generated by symmetric encryption of the original data m; Enc() refers to the symmetric encryption algorithm; CT m Upload to IPFS for storage.
4. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: In step 3), it includes: IPFS receives CT m Afterwards, check CT m Size, if CT m If the size of the data is larger than 256KB, the data is divided into blocks and the data obtained after the block operation is stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL, is generated, and the storage address URL representing the unique address of the data is returned to the data provider; if CT m When the size is not larger than 256KB, it is directly stored; Further preferably, in step 4), comprising: The data provider performs a splicing operation, specifically: m1 = (URL||k||H1), where m1 is the new private data, i.e., the new plaintext, URL is the unique address identifier returned by IPFS, k is the symmetric key selected by the data provider, and H1 is the hash value of the private data.
5. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: In step 5), it includes: The data provider selects the corresponding encryption strategy P to encrypt the new plaintext. The specific algorithm is: Enc(PK ABE , m1, P)→CT m1 , PK ABE is the public key for attribute encryption, m1 is the new private data, CT m1 The ciphertext generated for attribute encryption; First, select a polynomial q for each node in the access encryption strategy P, that is, the decision tree P x , for each node in the visited decision tree P, the polynomial q x The number of times d x To be greater than the threshold k of this node x Small 1, i.e. d x =k x -1, the specific operation is: tree-based attribute encryption starts from the root node R, randomly selects s∈Z q , Z q is the cyclic group of integer multiplication; and let q R (0) = s, for other nodes x, q x (0) = q parent(x) (index(x)), where index(x) is the index of node x, q parent(x) () refers to the parent node of node X; Let Y be the set of leaf nodes in P and calculate the symmetric encrypted ciphertext: Then, the encryption strategy P and the attribute ciphertext CT m1 Upload to Hyperledger Fabric for storage. In Hyperledger Fabric, the channel for storing public data is called public channel C1. All nodes will join public channel C1. The channel for storing attribute data and access decisions is called attribute channel C2. Only nodes that manage attributes join attribute channel C2. Upload encryption policy P to attribute channel C2 and upload attribute ciphertext CT m1 Upload to public channel C1.
6. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: In step 6), it includes: When a data requester requests data, he / she applies to the Hyperledger Fabric's certificate authority CA, and is added to the blockchain after approval. When a new user joins, the Hyperledger Fabric's certificate authority CA assigns attribute A to the new user. i,j , and execute the algorithm KeyGen(MSK,A i,j ,PP)→SK i,j , among which, SK i,j The data requester corresponds to its allocation attribute A i,j The private key of the key generator is PP, which is the public parameter of attribute encryption. KeyGen() refers to the key generation algorithm. The specific operations are: Choose a random number r∈Z p , r j ∈Z p , j∈S, S is the attribute set; calculate the private key: Hyperledger Fabric's certificate authority CA will attribute A i,j Stored in attribute channel c2, SK i,j The data is returned to the corresponding data requester through a secure channel.
7. According to claim 1, a decentralized information security and efficient storage and sharing method supporting data verification is characterized in that: In step 7), it includes: When a data requester uses data, he requests data from Hyperledger Fabric. The attribute node in Hyperledger Fabric checks the attributes of the data requester. If the attributes of the data requester are valid, the public node sends the attribute ciphertext to the data requester. The data requester who receives the attribute ciphertext decrypts it with his own private key. The specific algorithm is Decrypt(CT m1 , S.K. i,j , PP)→m1; Decrypt() refers to the attribute decryption algorithm; decryption is performed by inputting the attribute ciphertext and the user's private key. If there is decryption permission, the plaintext m1 is output. If there is no decryption permission, the failure symbol ⊥ is output; The specific operation is: if node x is a leaf node, let i = att(x); When node x is a non-leaf node, call the algorithm DecryptNode(CT m1 , S.K. i,j , z), where z is a child node of x, and the output of the algorithm is stored as F z : When the access decision tree P satisfies S; make calculate:
8. A decentralized information security and efficient storage and sharing method supporting data verification according to any one of claims 1 to 7, characterized in that: In step 8), it includes: The data requester splits the obtained data m1=(URL||k||H1) into: unique address URL, symmetric key k, and original data hash value H1; saves the symmetric key k and original data hash value H1 locally, and uses the unique address URL to query the encrypted data CT from IPFS m and download; Further preferably, in step 9), comprising: The data requester executes the algorithm Decrypt(CT m , k)→m, where CT m is the ciphertext downloaded by IPFS in step 8), k is the symmetric key used by the data provider, and m is the original data required by the data requester; After obtaining m, perform a hash operation on m, mark the result of this hash operation as H2, and compare it with H1 calculated in step 8); if H2 matches H1, the authenticity and validity of the data are confirmed, otherwise, the authenticity and validity of the data cannot be confirmed.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of a decentralized information secure and efficient storage and sharing method supporting data verification as described in any one of claims 1-8 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of a decentralized information secure and efficient storage and sharing method supporting data verification as described in any one of claims 1-8 are implemented.
Citation Information
Patent Citations
User information binding method and device based on block chain
CN111461706A
Internet of Things data security sharing method based on privacy protection
CN112165472A
Medical data storage sharing method and system based on alliance block chain
CN112910840A
Systems and methods for encrypting data in backend storage caches shared by multiple decentralized applications
US10664451B1
Blockchain-based privacy protection method for content centric network (CCN)
US20230043852A1
Cited By
Privacy enhanced trusted data transaction method and system based on alliance chain
CN120358020A
Privacy-enhanced trusted data transaction method and system based on alliance chain
CN120358020B
Decentralized file storing and reading method and system
CN120469637A
Decentralized file storage reading method and system
CN120469637B