A decentralized information security and efficient storage and sharing method that supports data verification

By using Hyperledger Fabric and IPFS technologies, combined with symmetric encryption and CP-ABE, the obstacles to cross-institutional sharing of medical data and storage capacity limitations are resolved, enabling secure and efficient data storage and sharing, and improving the security and transparency of medical data.

CN119690930BActive Publication Date: 2025-09-30QUAN CHENG LABORATORY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411753246.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-02
Publication Date
2025-09-30
Estimated Expiration
2044-12-02

AI Technical Summary

Technical Problem

There are obstacles to cross-institutional sharing of medical data between different institutions, and existing cloud storage solutions have data security risks and storage capacity limitations, especially when storing large amounts of medical imaging data, which are inefficient.

Method used

It uses Hyperledger Fabric consortium blockchain combined with IPFS technology, realizes decentralized storage and fine-grained access control of data through symmetric encryption and ciphertext policy attribute-based encryption (CP-ABE), and uses smart contracts to ensure data security and integrity.

Benefits of technology

It achieves safe and efficient storage and sharing of medical data, breaks down data silos between different institutions, improves the security and transparency of data access, reduces storage pressure and improves data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690930B_ABST
    Figure CN119690930B_ABST
Patent Text Reader

Abstract

The present invention relates to a decentralized information security and efficient storage and sharing method that supports data verification. The method comprises: 1) an initialization phase; 2) ciphertext generation and uploading; 3) evaluating the size of the uploaded ciphertext; if the ciphertext size exceeds 256KB, IPFS will fragment the ciphertext and store these fragments on globally distributed node servers, while generating a unique address identifier; 4) splicing the ciphertext into new plaintext; 5) the data provider selects an encryption strategy and implements attribute encryption on the new plaintext; 6) the data requester submits an access request to Hyperledger Fabric before using the data; 7) verifying the legitimacy of the data request; 8) obtaining the symmetrically encrypted ciphertext; and 9) decrypting the data to obtain the patient's private data. The present invention can avoid the situation where the entire system is paralyzed due to the failure of certain nodes.
Need to check novelty before this filing date? Find Prior Art

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 healthcare field, when a patient visits a hospital for a consultation and a doctor needs to review their medical history, they often have to spend a considerable amount of time reviewing paper medical records from various medical institutions. Paper medical records have several inherent drawbacks, including being difficult to carry and prone to loss and damage. These drawbacks may result in the records not fully reflecting the patient's complete medical history. Consequently, paper medical records pose a significant obstacle to both the patient's diagnosis and treatment process and the doctor's diagnostic efficiency.

[0003] With the rapid development of internet and big data technologies, the application of electronic information systems in the healthcare industry is becoming increasingly widespread. Massive medical data sets are generated daily, encompassing diverse information such as electronic medical records, medical imaging data, diagnostic reports, and reimbursement vouchers. According to authoritative statistics, the transition from paper to electronic medical records is expected to reduce patients' average monthly outpatient expenses by approximately 5%. This shift significantly improves the speed and accuracy of doctors' understanding of patients' conditions and provides a solid foundation for seamless and efficient collaboration between medical institutions, reimbursement agencies, pharmacies, and insurance companies. Importantly, sensitive information, such as personal electronic health records and health records, has traditionally been stored centrally in medical databases, the management of which often relies on semi-trusted third-party organizations such as cloud service providers. While this model offers convenience, it also carries data security risks, including but not limited to the risk of data leakage, tampering, concealment, and loss, as well as the potential for service interruptions caused by single points of failure. Furthermore, differences in document management and archiving across medical institutions pose a major obstacle to cross-institutional data sharing, which urgently needs to be addressed through technological innovation and management optimization. Given the urgent need for tamper-proofing, efficiency, security, transparency, and reliability in the storage and sharing of medical information, the rapid development of blockchain and IPFS technologies offers unprecedented solutions. The presence of semi-honest entities in traditional cloud storage architectures poses a potential threat to personal privacy, prompting the exploration of new storage models.

[0004] Blockchain technology, with its immutability, decentralization, and strong guarantee of data integrity, has become a preferred solution for addressing sensitive data protection issues. For highly sensitive and private information like medical information, we chose consortium blockchain technology as a solution. The moderate level of decentralization of consortium blockchains ensures that only authorized nodes can join the network, significantly reducing the risk of information leakage. Furthermore, Fabric's efficient verification through endorsement nodes significantly conserves computing resources and effectively avoids unnecessary resource waste. By incorporating consortium blockchain technology into the storage and sharing of medical information, we not only effectively address the risks of data tampering and leakage in cloud storage solutions, but also break down the existing data silos between institutions and promote the interconnection and interoperability of medical information. Figure 1 It intuitively demonstrates the architecture of blockchain, further confirming its key role in ensuring data security and promoting information sharing.

[0005] When discussing the potential challenges of applying blockchain technology to medical data storage, one issue that cannot be overlooked is the need for all nodes in a blockchain network to maintain the integrity of the same ledger to ensure distributed data storage and tamper-proof features. While this mechanism ensures data security, it also limits its overall storage capacity, making blockchain technology less competitive with cloud servers for storing massive amounts of data. In the medical field in particular, data types are diverse and complex, encompassing not only relatively small electronic medical records but also massive multimedia files such as medical imaging and diagnostic videos. This places even more stringent demands on the capacity and efficiency of storage systems. 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 aims to build a global, decentralized file storage and access network. Through its unique data processing mechanism, IPFS intelligently fragments files larger than 256KB and distributes these fragments across IPFS nodes worldwide, achieving widespread data distribution 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 data, but also significantly reduces network redundancy caused by duplicate data storage.

[0006] In the context of medical data storage and sharing, IPFS demonstrates enormous application potential and unique advantages. It not only effectively addresses the storage challenges of medical data, particularly large-scale imaging data, but also significantly enhances data security and privacy protection through its decentralized nature. Furthermore, IPFS's efficient access mechanism significantly accelerates the flow of medical information, promotes the optimal allocation and cross-institutional sharing of medical resources, and lays a solid technical foundation for the development of innovative medical models such as smart healthcare and remote diagnosis and treatment. As an advanced distributed file system, IPFS, with its unique sharded storage, content addressing, and global distribution, provides an ideal technical solution for medical data storage and sharing, and is of great significance for promoting the digital transformation of the healthcare 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, automated execution programs or protocols on the blockchain, have revolutionized traditional transaction processing. Once pre-set conditions are met, smart contracts automatically activate. Their execution logic is directly encoded and embedded in the blockchain, ensuring that every step of the transaction is traceable, highly transparent, and tamper-proof. This innovative mechanism effectively eliminates the traditional reliance on intermediaries, significantly reduces transaction processing time, and significantly improves overall efficiency. Specifically, smart contracts are hosted on the blockchain network and operate based on carefully designed conditional logic. Once these conditions are triggered, the corresponding contract terms are automatically executed. In a consortium blockchain environment, the deployment of smart contracts is more rigorous. First, the chaincode is compiled and pre-deployed. Endorsing nodes then execute the contract logic. Ordering nodes then sort and confirm the execution results, ensuring the orderliness and consistency of transactions. Summary of the Invention

[0008] In response to the shortcomings of existing technologies, in order to break down the information barriers between patients, doctors, hospitals, pharmacies, insurance agencies, and scientific laboratories, and effectively protect patients' privacy, the present invention designs an information storage and sharing method based on Hyperledger Fabric and IPFS.

[0009] This invention implements a decentralized authorization mechanism and allows patients to exercise fine-grained access control over their personal data, while ensuring the security of CP-ABE (Cipher Policy Attribute-Based Encryption)-related encryption decisions and attributes. The inventive solution involves four core entities: the InterPlanetary File System (IPFS), a data provider (DP), a data requester (DR), and the consortium chain Fabric. This solution successfully breaks down the data barriers between entities such as patients, doctors, hospitals, insurance companies, and pharmacies. While fully protecting patient privacy and security, the system effectively reduces the local storage pressure on hospitals and promotes data sharing.

[0010] During the data provision process, the data provider first hashes the patient's private data using the SHA-256 algorithm to generate a hash value for the original data. A symmetric encryption algorithm is then used to generate a ciphertext, which is then sent to IPFS for storage. Specifically, when an uploaded file exceeds 256KB, IPFS automatically fragments the file and stores these fragments on node servers worldwide. Ultimately, IPFS generates a unique hash value for each file, referred to as the "address" in this solution. Because IPFS uses content-based addressing, uploaded content is not stored repeatedly regardless of location, but is instead identified as the same file, significantly reducing file upload redundancy. After storage is complete, IPFS returns the file address to the data provider. The data provider combines the received address, the symmetric key, and the hash value of the original data to form the new plaintext data. The data provider then selects an encryption strategy and encrypts the plaintext data using Ciphertext Policy-Based Attribute-Based Encryption (CP-ABE), resulting in attribute-encrypted ciphertext. The data provider also uploads the selected encryption decision and attribute-encrypted ciphertext to the blockchain for storage. In terms of blockchain technology, the solution proposed in this paper utilizes Hyperledger Fabric consortium blockchain. The advantage of Hyperledger Fabric consortium blockchain lies in its node admission control mechanism, which requires new entities to obtain authorization before joining the blockchain, effectively preventing the participation of potentially malicious nodes. Furthermore, Fabric supports the simultaneous maintenance of multiple channels to meet the needs of different scenarios. The solution proposed in this paper employs two channels: one for storing attribute-encrypted files uploaded by users, referred to as the 'public channel'; the other for storing user attributes and encryption decisions, referred to as the 'attribute channel'. Based on the channel type to which a node joins, the solution proposed in this paper divides nodes in the blockchain into 'public nodes' and 'attribute nodes'. Public nodes are primarily responsible for data endorsement and sorting to ensure data accuracy and sequence; attribute nodes are responsible for processing data in the attribute channel to ensure the security and privacy of attributes and encryption decisions. This solution utilizes a dual-channel mechanism to isolate encrypted data from user attributes, thus ensuring the protection of user attributes in CP-ABE. New users joining the system must register in the blockchain. Attributes are assigned by the blockchain's certificate authority (CA), stored in the attribute channel, and a private key associated with the attributes is generated. 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 their own private key to decrypt it. If the decryption is successful, they obtain the ciphertext address, symmetric key, and hash value. They then retrieve the symmetric encrypted data from IPFS using the address and decrypt it 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 solution is shown.

[0011] This invention leverages the powerful features of smart contracts, implementing key functions such as key generation, attribute distribution, and identity verification through chaincode editing. This process not only enhances the system's automation level but also leverages the distributed nature of blockchain to ensure the security and reliability of sensitive operations. The introduction of smart contracts 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 paramount importance. Given that medical information involves highly sensitive content such as electronic medical records, high-precision medical images, and detailed diagnostic procedures, any form of leakage could cause immeasurable harm to patients. Therefore, this invention employs a carefully designed complex encryption and storage strategy to comprehensively safeguard the security and integrity of medical data.

[0013] The present invention combines the efficiency of symmetric encryption with the flexibility and security of Cipher Policy Attribute-Based Encryption (CP-ABE) to build 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 decipher. 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) on 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 accessor (such as identity, responsibilities, permissions, etc.), ensuring that only users who meet specific conditions can decrypt and obtain the key, 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 will not be able to decrypt the symmetric key and thus cannot access the data content.

[0015] Furthermore, to verify the authenticity and integrity of data retrieved from IPFS, this invention incorporates hashing technology. By hashing medical data and its key information, unique digital hash values ​​are generated and stored on the blockchain. The blockchain's immutable nature ensures the authenticity and reliability of these hash values. Data requesters can quickly verify the integrity and authenticity of data retrieved from IPFS by comparing it with its corresponding hash value.

[0016] Explanation of terms:

[0017] Blockchain technology: Blockchain technology was first proposed by Satoshi Nakamoto in 2008. His paper, "Bitcoin: A Peer-to-Peer Electronic Cash System," detailed its principles and applications. Blockchain is a distributed database technology that uses cryptography and consensus algorithms to achieve decentralized data storage and transmission. Its core concept is to divide data into a series of immutable blocks and connect these blocks into a chain through encryption and timestamps. The decentralization and data integrity of blockchain technology eliminate single-point attacks and data tampering issues posed by servers. The main advantage of this invention is that compared to public blockchains, Fabric does not consume gas, significantly reducing costs. In addition, Fabric supports the creation of multiple independent channels, ensuring that data between channels does not interfere with each other. In this invention, we design two channels: a public channel C1 for storing public data and an attribute channel C2 for storing attribute and policy data. To manage data in different channels, we divide 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 the leakage of decisions or attributes, thereby effectively protecting the security and privacy of data and further improving the overall security of the system.

[0018] Interplanetary File System (IPFS): 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 issues of the traditional Internet. Its features include:

[0019] 1. Content-based addressing: The traditional HTTP protocol is based on location-based addressing, which means locating resources through URLs. IPFS uses content-based addressing, uniquely identifying files through their cryptographic hash values. This way, even if the file's storage location changes, its content can still be accurately found.

[0020] 2. Distributed network: IPFS splits files into small blocks and distributes these blocks across multiple nodes in the network. Each node can store and provide file blocks, thereby improving file availability and access speed.

[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 file version control, 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 the file at the same time, thereby achieving parallel downloading and improving transmission speed.

[0024] 6. Data integrity: Since files are identified and verified by hash values, the integrity and immutability of file contents 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): This is an attribute-based encryption technology that allows data encryptors to define access control policies. Only users who meet these policies can decrypt the data. CP-ABE is divided into two types: LSSS and decision tree-based. The present invention adopts a tree-based encryption mechanism, in which attribute sets: 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. By using CP-ABE to formulate flexible and efficient access control policies for data, we achieve fine-grained permission management and data protection. In our scenario, we have achieved fine-grained access control for the privacy data of data providers.

[0026] 8. SHA-256 is a sub-algorithm of the SHA-2 family of algorithms. SHA stands for Secure Hash Algorithm, and the 256 in the name represents the final hash digest. A hash value is typically represented by a 64-bit hexadecimal string (composed of random letters and numbers), equivalent to a 32-byte array, where 1 byte equals 8 bits. This means that regardless of the plaintext size, the hash value is always 256 bits. Changes to the plaintext result in a different hash value, and even small changes in the plaintext can significantly alter the hash value.

[0027] The technical solution of the present invention is:

[0028] A decentralized information security and efficient storage and sharing method that supports data verification, including:

[0029] 1) Initialization phase: input security parameters to generate the public and private keys required by each entity, as well as the public and master keys for attribute encryption. Subsequently, the public and master keys 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 the corresponding hash value; then, a symmetric key is selected to encrypt the private data and generate ciphertext; after 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 return the unique address identifier of the private data 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 new plaintext;

[0033] 5) The data provider selects an encryption strategy, applies attribute encryption to the new plaintext, and then uploads the generated attribute-encrypted ciphertext and the selected encryption strategy to Hyperledger Fabric for storage;

[0034] 6) Before using the data, the data requester submits an access request to Hyperledger Fabric. After the access request 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, based on the algorithm, a private key corresponding to the data requester's specific attributes is generated for the data requester and the private key is transmitted to the corresponding data requester through a secure channel.

[0035] 7) During the data usage process, 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 the data using their own private key; if they have the corresponding permissions, they will successfully obtain the merged plaintext; otherwise, if they do not have permissions, 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 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.

[0038] According to the present invention, preferably, 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 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, and 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 α and β; calculate: PK ABE =G0,g,h=g β , MSK=β,g α ; Among them, h, g β ,f,β,g αare intermediate values ​​generated during the calculation of PK and MSK, ultimately forming PK and MSK; e(g, g) represents a bilinear mapping; Hyperledger Fabric's certificate authority CA converts PK ABE , MSK is uploaded to Hyperledger Fabric, and a public channel C1 is set for use by other user entities; public parameters include G0, α, β, g, h, and f.

[0040] According to the present invention, preferably, 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] According to the present invention, preferably, in step 3), the method includes:

[0045] IPFS receives CT m Then, check CT m Size, if CT m If the data size is larger than 256KB, the data will be divided into blocks and the data obtained after the block operation will be stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL, will be generated. The storage address URL representing the unique address of the data will be returned to the data provider; if CT m If the size is no larger than 256KB, it can be stored directly.

[0046] According to the present invention, preferably, in step 4), the method includes:

[0047] The data provider performs the 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] According to the present invention, preferably, in step 5), the method includes:

[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 by attribute encryption;

[0050] First, for the access encryption policy 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, that is, 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 policy P and 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 will join attribute channel C2. Upload encryption policy P to attribute channel C2 and the attribute ciphertext CT m1 Upload to public channel C1.

[0053] According to the present invention, preferably, in step 6), the method 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 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 Store it in attribute channel C2 and store SK i,j Returned to the corresponding data requester through a secure channel.

[0056] According to the present invention, preferably, in step 7), the method includes:

[0057] When a data requester uses data, he requests data from Hyperledger Fabric. The attribute node in Hyperledger Fabric checks the attribute of the data requester. If the attribute of the data requester is 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 , SK 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 , SK i,j , z), where z is the 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] According to the present invention, preferably, in step 8), the method includes:

[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] According to the present invention, preferably, in step 9), the method includes:

[0069] The data requester executes the algorithm Decrypt(CT m , k)→m, where CT m is the ciphertext downloaded from 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, it implements the steps of a decentralized information security 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 security and efficient storage and sharing method that supports data verification.

[0073] The beneficial effects of the present invention are:

[0074] 1. This paper proposes a medical information storage and sharing method based on Fabric and IPFS. This method addresses single points of failure, data tampering, and data leakage caused by third-party service providers and other semi-honest entities. By combining Fabric blockchain with IPFS for distributed storage, it prevents system failures caused by node failures. The blockchain's data integrity ensures that data cannot be tampered with.

[0075] 2. By introducing IPFS storage, we address the capacity limitations of blockchain storage. Data on the blockchain can only be added and checked, not deleted, making its storage capacity particularly valuable. For medical information, from small electronic medical records to massive imaging data, storing it all on the blockchain would be insufficient. Therefore, we use IPFS storage. IPFS divides the uploaded data into blocks and distributes it across various nodes around the world, ultimately generating a unique storage address. This solution alleviates blockchain storage pressure by uploading this address to the blockchain instead of uploading the original data.

[0076] 3. Even if the data provider's private data is uploaded to IPFS, their control over the data is retained. Compared with previous outsourcing solutions, data providers often lose control of their private data after outsourcing it to a service provider. The service provider may modify or leak the private data, and the data provider is usually unable to intervene. The present invention uses the CP-ABE encryption method to encrypt the data, ensuring that the data provider does not lose control of the private data while achieving fine-grained access control. In addition, by combining two encryption algorithms, the present invention further enhances the security of private data while ensuring fine-grained access control.

[0077] 4. After receiving the private data submitted by the data provider, the data requester can verify the data's accuracy. According to the requirements of this invention, before uploading encrypted data, the data provider must first perform a hash operation on the private data and combine the resulting hash value with other parameters to form the new private data. This solution assumes the integrity of the data provider. After decrypting the original data, the data requester obtains the private data uploaded by the data provider and its hash value, and then performs a hash operation on this 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 This 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 security 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 with reference to the accompanying drawings and embodiments, but is not limited thereto.

[0084] Example 1

[0085] A decentralized information security and efficient storage and sharing method that supports data verification, including:

[0086] 1) Initialization phase: input security parameters to generate the public and private keys required by each entity, as well as the public and master keys for attribute encryption. Subsequently, the public and master keys 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 an appropriate hash function to hash the private data and generate the corresponding hash value; then, a symmetric key is selected to encrypt the private data and generate ciphertext; after 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 return the unique address identifier of the private data 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 new plaintext;

[0090] 5) The data provider selects an encryption strategy, applies attribute encryption to 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) Before using the data, the data requester submits an access request to Hyperledger Fabric. After the access request 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, based on the algorithm, a private key corresponding to the data requester's specific attributes is generated for the data requester and the private key is transmitted to the corresponding data requester through a secure channel.

[0092] 7) During the data usage process, 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 the data using their own private key; if they have the corresponding permissions, they will successfully obtain the merged plaintext; otherwise, if they do not have permissions, 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; 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 this invention mainly refers to the statistical security parameter, which is usually the probability that the attacker can crack the encryption system when the attacker has unlimited computing power. ABE 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, and 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 α and β; calculate: PK ABE =G0,g,h=g β , e(g, g) α ,MSK=β,g α ; Among them, h, g β ,f,β,g αare intermediate values ​​generated during the calculation of PK and MSK, ultimately forming PK and MSK; e(g, g) represents a bilinear mapping; Hyperledger Fabric's certificate authority CA 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, 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 Then, check CT m Size, if CT m If the data size is larger than 256KB, the data will be divided into blocks and the data obtained after the block operation will be stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL (that is, the unique address identifier), will be generated. The storage address URL representing the unique address of the data will be returned to the data provider; if CT m If the size is no larger than 256KB, it can be stored directly.

[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. When it is not larger than 256KB, it can be stored directly without the need for block operation.

[0109] In step 4), including:

[0110] The data provider performs the 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 by 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, that is, 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 policy P and attribute ciphertext CT m1Upload to Hyperledger Fabric for storage. For Fabric, this solution creates two channels based on its characteristics, and different channels are not interoperable. In Hyperledger Fabric, the channel that stores public data is called public channel C1, and all nodes will join public channel C1. The channel that stores 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 the 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 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 Store it in attribute channel C2 and store SK i,j Returned to the corresponding data requester through a secure channel.

[0119] In step 7), it includes:

[0120] 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. The attribute node can query which attributes are in line with the decryption policy. The attributes of the requester can be seen, and the attributes of the data requester are compared with the attributes that meet the decryption policy to determine whether they meet the requirements. 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 , SK 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 , SK i,j , z), where z is the 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 from 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 the hash value matches H1, the data's authenticity and validity are confirmed; otherwise, the data's authenticity and validity cannot be verified. Due to the characteristics of hashing, any change to the plaintext will also change the hash value, and the same hash value always corresponds to the same plaintext. Comparing the two hash values ​​verifies the data. A mismatch, or a different hash value, indicates that the data has been altered and its authenticity cannot be verified. The data is then used for subsequent operations, such as doctors treating patients, insurance companies processing claims, and pharmacies dispensing medications.

[0134] The present invention proposes a solution to the problems of high computing costs and limited storage space faced by blockchain technology when processing medical data. Since medical data includes not only electronic medical records with smaller data volumes, but also medical images with larger data volumes, directly storing all medical data on the blockchain will pose a challenge to the blockchain's storage capacity. 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, because Fabric and IPFS are both decentralized systems, avoids the introduction of semi-honest entities that may have a single point of failure risk, such as third-party service providers. 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 falsity, 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, it can perform hash calculations and compare the two hash values ​​to ensure the authenticity of the data. In this way, the experimental center can obtain 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, it implements the steps of a decentralized information security and efficient storage and sharing method supporting data verification as described in Example 1 or 2.

[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 by: 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 the corresponding hash value; Then, a symmetric key is selected to encrypt the private data and generate ciphertext. After encryption is completed, 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 return the unique address identifier of the private data 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 new plaintext; 5) The data provider selects an encryption strategy, applies attribute encryption to 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) During the data usage process, 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 the data 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. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, 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 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, and 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 α and β; calculate: PK ABE =G0,g,h=g β , MSK=β,g α ; Among them, h, g β 、f,β,g α are intermediate values ​​generated during the calculation of PK and MSK, ultimately forming PK and MSK; e(g,g) represents a bilinear mapping; Hyperledger Fabric's certificate authority CA 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.

3. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, 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. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, characterized in that: In step 3), it includes: IPFS receives CT m Then, check CT m Size, if CT m If the data size is larger than 256KB, the data will be divided into blocks and the data obtained after the block operation will be stored in the globally distributed node servers, and finally a unique hash value based on content addressing, that is, the storage address URL, will be generated. The storage address URL representing the unique address of the data will be returned to the data provider; if CT m When the size is not larger than 256KB, it is directly stored; In step 4), including: The data provider performs the 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. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, 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 by attribute encryption; First, select a polynomial q for each node 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, that is, 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 policy P and 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 will join attribute channel C2. Upload encryption policy P to attribute channel C2 and the attribute ciphertext CT m1 Upload to public channel C1.

6. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, 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 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 Store it in attribute channel C2 and set SK i,j Returned to the corresponding data requester through a secure channel.

7. A decentralized information security and efficient storage and sharing method supporting data verification according to claim 1, 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 attribute of the data requester. If the attribute of the data requester is 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 ,SK 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 , SK i,j , z), where z is the 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; In step 9), it includes: The data requester executes the algorithm Decrypt(CT m ,k)→m, where CT m is the ciphertext downloaded from 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