CN117457133A - Decentralised electronic medical record sharing method and system supporting dynamic access - Google Patents

Decentralised electronic medical record sharing method and system supporting dynamic access Download PDF

Info

Publication number
CN117457133A
CN117457133A CN202311361551.6A CN202311361551A CN117457133A CN 117457133 A CN117457133 A CN 117457133A CN 202311361551 A CN202311361551 A CN 202311361551A CN 117457133 A CN117457133 A CN 117457133A
Authority
CN
China
Prior art keywords
data
medical record
uploaded
ciphertext
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311361551.6A
Other languages
Chinese (zh)
Inventor
赵川
方荣聪
赵圣楠
荆山
陈贞翔
赵华伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Jinan
Original Assignee
University of Jinan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Jinan filed Critical University of Jinan
Priority to CN202311361551.6A priority Critical patent/CN117457133A/en
Publication of CN117457133A publication Critical patent/CN117457133A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Abstract

The invention relates to a decentralised electronic medical record sharing method and a decentralised electronic medical record sharing system supporting dynamic access, which comprise the following steps: the data owner generates a proof based on the zero knowledge proof and sends the proof to the blockchain, and the blockchain allows the data owner to upload medical record data after verifying the proof; the block chain is a stored data distribution node, the data owner makes the identification mark and the medical record data to be uploaded into ciphertext according to the secret key to serve as data to be uploaded, and the data is uploaded to the corresponding node according to the obtained node address; the data user obtains a decryption key through proving identity in a set time period, and the decryption key is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner; and updating the revocation list based on the set revocation period, and adding the revoked data users into the updated list so that the revoked data users cannot decrypt the data exceeding the revocation period.

Description

Decentralised electronic medical record sharing method and system supporting dynamic access
Technical Field
The invention relates to the technical field of medical data systems, in particular to a decentralised electronic medical record sharing method and system supporting dynamic access.
Background
The statements in this section merely provide background information related to the present disclosure and may not necessarily constitute prior art.
By digitizing medical record data, the cost of hospitalization of patients can be reduced, and medical data in the medical records can be conveniently acquired and analyzed by hospitals, scientific research institutions and laboratories. Electronic medical records relate to private data of patients, encryption is the most direct means of solving privacy security in order to make these private-containing medical data safe to share between patients and doctors and laboratories, and the pressure at which a local server stores a large amount of medical record data can be reduced by means of cloud storage, but the cloud server on which cloud storage depends is semi-honest, processes the data according to a set protocol, and tries to learn about sensitive data by any possible passive attack. "semi-honest" means that the cloud server may not execute a complete search protocol or return all search results, or even maliciously delete and tamper with files, resulting in data loss or errors, for reasons of saving computing resources and transmission bandwidth, or due to software, hardware operation failure, etc. In addition, cloud storage servers may dishonest store data from users to reduce resource costs.
Disclosure of Invention
In order to solve the technical problems in the background art, the invention provides a decentralised electronic medical record sharing method and system supporting dynamic access, which adopts a blockchain to store electronic cases to avoid the semi-honest problem of cloud services, ensures the authenticity of uploaded data and relieves the storage pressure of the blockchain through a design verification process, and also designs a revocation mechanism to dynamically change the access authority of a data user.
In order to achieve the above purpose, the present invention adopts the following technical scheme:
a first aspect of the present invention provides a method for decentralizing electronic medical record sharing supporting dynamic access, comprising the steps of:
the data owner generates a proof based on the zero knowledge proof and sends the proof to the blockchain, and the blockchain allows the data owner to upload medical record data after verifying the proof;
the block chain is a stored data distribution node, the data owner makes the identification mark and the medical record data to be uploaded into ciphertext according to the secret key to serve as data to be uploaded, and the data is uploaded to the corresponding node according to the obtained node address;
the data user obtains a decryption key through proving identity in a set time period, and the decryption key is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner;
and updating the revocation list based on the set revocation period, adding the revoked data users into the updated list, and canceling the access rights to the data so that the data beyond the revocation period cannot be decrypted.
Further, the blockchain allows the data owner to upload medical record data after verifying the proof; the method comprises the following steps: after the block link receives the evidence, verifying whether the submitted evidence is valid or not according to a set algorithm, and if the algorithm returns a value of 1, allowing the data owner to upload the data, otherwise, not allowing the data owner to upload the data.
Further, the blockchain is a stored data distribution node, specifically: based on the hash ring distribution nodes, the data owners upload ciphertext to the corresponding nodes for storage according to the distribution results.
Further, the data owner makes the identification mark and the medical record data to be uploaded into ciphertext as the data to be uploaded according to the secret key, specifically:
obtaining a secret key based on a first encryption algorithm, and taking medical record data and identity information to be uploaded as input to obtain a symmetric encryption ciphertext;
the symmetric encryption ciphertext and the symmetric encryption key obtain an attribute encryption ciphertext through a second encryption algorithm;
the attribute encryption ciphertext and the symmetric encryption ciphertext are used as ciphertext c, and the ciphertext c is the data to be uploaded.
Further, blocks in the blockchain store data sets and data-to-node mapping sets, and uploaded data is stored on the nodes;
or, nodes storing data exceeding a certain value reduce data storage through the benefit function, and nodes with data storage quantity lower than a certain value increase data storage, so that the data stored by all the nodes reach an equilibrium state.
Further, the data user obtains a decryption key through proving identity in a set time period, and the decryption key is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner; the method comprises the following steps:
the data user obtains the key updating material through the public channel, and takes the public parameter, the private key corresponding to the data user and the key updating material as the input of the decryption algorithm;
if the data user is not added to the revocation list in the corresponding revocation period, the decryption algorithm outputs a decryption key in the revocation period;
if the data user has been added to the revocation list within the corresponding revocation session, the decryption algorithm outputs a decryption failure symbol;
if the decryption key is lost or flows into the market, the decryption key is reversely decrypted to obtain the corresponding ID, and the corresponding user is tracked according to the ID.
Further, in each revocation period, the public parameter, the attribute encryption ciphertext and the time stamp are taken as inputs, and the updated attribute encryption ciphertext is obtained based on a ciphertext updating algorithm.
A second aspect of the present invention provides a system for implementing the above method, comprising:
the data owner generates a certificate according to the zero knowledge certificate in the first data terminal and sends the certificate to the blockchain network, and the data is uploaded to the corresponding node according to the obtained node address; the data owner makes the identification mark and the medical record data to be uploaded into ciphertext serving as data to be uploaded according to the secret key in the first data terminal;
a blockchain network configured to: after verifying the certification from the first data terminal, allowing the data owner to upload the medical record data; distributing nodes for the stored data and receiving medical record data uploaded from a first data terminal;
the second data terminal is communicated with the blockchain network, and the data user obtains a decryption key through proving identity in a set time period based on the second data terminal and is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner;
a rights update module configured to: and communicating with the blockchain network, updating the revocation list based on the set revocation period, and adding the revoked data users into the updated list so that the revoked data users cannot decrypt the data exceeding the revocation period.
A third aspect of the present invention provides a computer-readable storage medium.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps in a method of decentralizing electronic medical record sharing supporting dynamic access as described above.
A fourth aspect of the invention provides a computer device.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method of decentralizing electronic medical record sharing supporting dynamic access as described above when the program is executed by the processor.
Compared with the prior art, the above technical scheme has the following beneficial effects:
1. because cloud services are semi-honest and can generate curiosity on data stored by users while being executed according to a set protocol, the problem that a cloud service provider privately communicates with a designated user to modify uploaded data can occur, and the situation can be prevented by adopting a blockchain to store electronic cases.
2. A revocation mechanism is introduced, a part of data users lose access rights to data along with the passage of time, the identity of the data users is added into a revocation list, the data users fail when the data users execute a decryption key algorithm, the access rights to the data users are cancelled, and dynamic management of the access rights is realized.
3. When the data owner uploads the private data, the authenticity of the data is guaranteed through a verification process of zero knowledge proof, and uploading is allowed after verification is passed, so that the storage pressure of the blockchain is relieved.
4. The data source organization is required to generate private data, so that the problem of the storage capacity of the blockchain is solved, the authenticity of the data is guaranteed, and the data owner can pay related fees and deposit for the data storage behavior of the blockchain, and the data is returned after verification.
5. When the decryption key flows into the market, the decryption key can be reversely decrypted according to the decryption key, and the private key which is transmitted after the id authenticated by the key generation center is decrypted, so that the tracking of the decryption key is realized.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention.
FIG. 1 is a schematic diagram of an electronic medical record system based on cloud storage according to one or more embodiments of the present invention;
FIG. 2 is a schematic diagram of an extended zero-knowledge circuit provided by one or more embodiments of the invention;
FIG. 3 is a block chain network architecture diagram according to one or more embodiments of the present invention;
fig. 4 is a schematic diagram of a system architecture according to one or more embodiments of the present invention.
Detailed Description
The invention will be further described with reference to the drawings and examples.
It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the invention. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
As described in the background, the power calendar can be stored in cloud storage (e.g., amazon EMR, drChrono HER), such as the system architecture of cloud storage-based electronic medical records shown in fig. 1. Since the cloud server is semi-honest, it will process the data in accordance with the set protocol, attempting to learn the sensitive data through any possible passive attacks. The block chain technology can well solve the problem of passive learning of data by cloud storage. The patient can encrypt and upload the data to be shared to the blockchain for storage, and the data integrity of the blockchain can ensure that the uploaded data is not changed, so that the risk of an untrusted cloud service provider for controlling the uploaded data is reduced compared with cloud service storage. This approach is more efficient than using cloud storage.
For users accessing the uploaded data, as their ages increase and rights change, the user may not be allowed to access the corresponding private data. While attribute encryption can solve this problem well. The use of a ciphertext access policy (CP-ABE), a key access policy (KP-ABE) dual policy (DP-RABE) may prevent users that are not allowed to decrypt the ciphertext from decrypting the ciphertext. This enables dynamic access to the data.
For users uploading data to the blockchain storage, in order to prevent them from uploading spurious data to fool reimbursement or other purposes, it is required that when uploading data, the data be certified using extended zero knowledge proof to ensure the authenticity of the data and to alleviate the blockchain storage pressure.
The user allowed to decrypt the private data has the key to decrypt the ciphertext. If the private data is extremely important or purchased at a premium, the decryption key may be introduced into the market, causing serious loss to the patient. To solve this problem, when distributing a valid decryption key, it is necessary to authenticate it and encapsulate its id into the decryption key. Once the market finds the decryption key, the id of the key can be restored in an efficient manner, with a corresponding penalty for the person in question.
Accordingly, the following embodiments provide a method and system for decentralizing electronic medical record sharing supporting dynamic access, comprising four entities, namely a Key Generation Center (KGC), a Data Owner (DO), a Data User (DU), and a blockchain network (Blockchain Network). In order to facilitate close collaboration among patients, doctors, insurers and laboratories, data owners generate a proof by extended zero knowledge proof to send to the blockchain, which can be verified by the blockchain, and if verified, upload is allowed, otherwise not allowed, thus relieving the pressure of blockchain storage. The owner of the data needs to upload the data of the owner to the blockchain network for +storage in an encrypted mode, the data owner needs to pay related fees for storing the data in the blockchain, and extra deposit is needed to be paid for the data, and the data is returned after the data user verifies the data. The block chain network distributes data for the nodes storing the data through the hash ring, and the user uploads the data to the corresponding nodes according to the corresponding node addresses. The data user needs to prove identity to the key generation center to obtain a decryption key for decrypting the corresponding ciphertext. The key generation center needs to update the revocation list and list the revoked users therein for a prescribed period of time. Making it impossible to decrypt the previous and subsequent data. The method achieves forward confidentiality and backward confidentiality of data, achieves safe sharing of data among patients, doctors, scientific research institutions and laboratories, and greatly improves efficiency.
Term interpretation:
the block chain technology, a distributed database technology, is a decentralised data storage and transmission system constructed based on cryptography and consensus algorithm. Its core concept is to divide the data into a series of non-tamperable blocks and connect the blocks together by encryption and time stamping to form an irreversible chain.
Attribute encryption technology: attribute-based Encryption (ABE) is a cryptographic technique that aims to achieve fine-grained access control to data.
Embodiment one:
the decentralized electronic medical record sharing method supporting dynamic access comprises the following steps:
1. the data owner uses the extended zero knowledge proof to generate a valid proof and sends it to the blockchain. The private data and the identity of the user are then encrypted into ciphertext.
2. After receiving the evidence uploaded by the data owner, the blockchain verifies the evidence, and if the returned result is 1, the uploading is allowed, and if the returned result is 0, the uploading is refused.
3. The data owner encrypts the ciphertext and the symmetric key through attributes to form the ciphertext, and takes the ciphertext as the original data. Renting storage space through blockchain pant transactions while also paying a portion of the deposit is used to restrict the data owner from providing real data.
4. After the block link receives the real transaction initiated by the user, data is distributed to the nodes through the hash ring, the distribution result is published through the dealer, and the user uploads the original data according to the distribution result.
5. After receiving the original data uploaded by the user, the node needs to continuously provide local storage certification (POR) to the blockchain network through the blockchain Join transaction to certify the validity and security of the storage.
6. The solution blockchain network also designs a wait transaction to allow nodes to relinquish the current data for maximum benefit.
7. The key generation center runs a key generation algorithm to send the generated parameters and the selected hash function to the data owner and the blockchain network. And transmitting the private key corresponding to the identity of the data user to the data user.
8. The key generation center runs a key update algorithm, generating a key update material. And publicly developing the updated material to all data users during the revocation session.
9. The data user obtains the public key update material, if it is not added to the revocation list, it gets the decryption key for that period when executing the decryption key algorithm, otherwise it gets a failure symbol.
10. If the decryption key flows into the market, the key generation center can execute a key decryption algorithm to obtain the corresponding id, and the corresponding user can be tracked according to the key.
11. And in each revocation period, the block chain network updates the ciphertext in the revocation period by writing an intelligent contract. Obtaining new ciphertext.
12. The data owner decrypts the symmetric encryption key from the ciphertext through a decryption algorithm, and decrypts the ciphertext through the key to obtain a plaintext. And (3) carrying out a hash algorithm on the plaintext, and verifying whether the plaintext is the plaintext in the zero knowledge proof. If the deposit is consistent, the deposit is returned, and the inconsistent deposit is not returned.
13. The key generation center executes a revocation list updating algorithm, and adds the data users losing the uncovering authority to the revocation list to form a new revocation list.
Specific:
in step 1, in order to relieve the pressure of blockchain storage, extended zero knowledge proof is introduced. First, the algorithm Setup (1 λ C) = (crs, pka) the algorithm takes as input the security parameters and the circuit C, outputting the common reference string crs and the public key pka. The data owner data is in the hospital to execute the algorithm Sign (ska, x, name) →sigma to ensure the correctness of the data. The algorithm also includes a hash algorithm H (x, name) →h, then the data owner performs the algorithm save (crs, c, a, y, H, x) →pi, which takes the public reference string crs, the public input c, the metadata a (identity information, etc.) output y, the hash value H and the private data x as inputs, outputs a proof pi, and sends the proof to the blockchain. The data user executes a symmetric encryption algorithm Enc (x, name) →c SE . Wherein the key is K, the algorithm takes private input x and identity information name as input, and outputs a symmetrical encryption ciphertext C SE
In step 2, the blockchain executes an algorithm after the proof is received:
Verify(crs,pka,π,c,a,y,h,σ)→{0,1};
the algorithm is used to verify whether the submitted proof is valid. And if the algorithm return value is 1, allowing the data owner to upload the private data, otherwise, not allowing the private data to be uploaded. This ensures the correctness of the data and relieves the pressure of blockchain storage.
In step 3, the data owner encrypts the ciphertext C symmetrically SE And the symmetric encryption key K is generated by the encryption algorithm Enc (pp, t, K (S, omega)) → C ABE Obtaining the attribute encryption ciphertext C ABE C is carried out by SE 、C ABE Together as ciphertext c. In a blockchain network where data is stored, a user first needs to pay for storage by a txpant= (did, drt, tts, fe) transaction, where did represents the identity of the data, drt represents the root of the merck tree, tts represents the time of lease, and fe represents the cost required for storage. In addition, the data owner needs to store a certain deposit.
In step 4, the hash ring allocates data for the nodes in the blockchain network for storage, the allocation result is obtained and issued by the distributor, and the data owner uploads the ciphertext c to the corresponding node for storage according to the disclosed nodes.
In step 5, in the node network, the node stores data and submits a storage proof by a txjoin= (bid, idx, proof) transaction. Where bid represents a hash block bid, idx represents an index, proof is a valid proof of storage. The transactions form a chain, and within the span of the chain, data is stored in the nodes. Blocks in the penalty hit blockchain only hold the data set and the data-to-node mapping set. And the data is stored on the node.
In step 6, since the space for storing the data by the nodes is limited, in order to enable all the nodes to store the data, the scheme adopts a block chain load balancing scheme, and the nodes with excessive data storage gradually reduce the data storage by a benefit function, and the nodes with less data storage increase the data storage, so that the data stored by all the nodes reach a balanced state. At the same time we also allow the node to discard the stored data to get maximum profit by a txquis= (bid, idx, pk, σ) transaction. Where bid is a hash block bid, idx is an index, pk is the public key of the node and is signed with a signature σ.
In step 7, the key generation center runs Setup (λ, n, t) → (pp, msk, rl, st) where pp is a common parameter, msk is a master key, rl is a revocation list, st is an input state, and sends the common parameter pp and the selected hash function h to DO and blockchain networks. The key generation center executes an algorithm KeyGen (pp, msk, st, id, (ψ, O)) → (SKid, st), and the algorithm takes a public parameter pp, a state st, a master key msk, an identity id, a subjective attribute ψ and an objective access strategy as input and outputs a private key SKid and a corresponding state st of the corresponding id. The key generation center transmits the private key SKid to the corresponding DU.
In step 8, the key generation center performs a key update algorithm KeyUpdate (pp, rl, st, t) → Kut which takes as input the common parameter pp, revocation list rl, input status st, timestamp t, and outputs a key update material Kut which is sent to all Dus in a public form.
In step 9, the data user obtains the key update material through the disclosed channel and performs the algorithm DKGen (pp, skip, kut) →dkid, t/∈. The algorithm takes as input the public parameter pp, the private key SKid corresponding to the user, and the key update material Kut. If the data user is not added to the revocation list during the revocation session, the DU executes the algorithm to output a decryption key dkid, t in the revocation. Conversely, the data user is added to the revocation list during the revocation session, and the algorithm outputs a decryption failure symbol: and T. Reminding the user that the decryption is not authorized.
In step 10, there is a situation where the data value is significant because of the user privacy, while the legitimate data user sells its decryption key dkid, t. If the decryption key is found to be in the market, the key generation center may run the algorithm DKGen (pp, dk) idt )→sk id . The algorithm uses pp common parameters, dk idt The decryption key is taken as input, and the private key sk of the corresponding user is output id . Since the private key is issued by the key generation center to authenticate the identity of the data user, the corresponding malicious user can be found according to the id.
In step 11, forward confidentiality of ciphertext is achieved during each revocation session, preventing access by revoked data users prior to such accessCiphertext, requiring ciphertext update algorithm CTupdate (pp, C) to be performed on ciphertext at each revocation session ABE ,t′)→C′ ABE The algorithm encrypts ciphertext C with the public parameter pp, attributes ABE And a binary time stamp t 'as input, outputting an updated attribute ciphertext C' ABE . Ciphertext in the block chain link point network at this time is c= (C SE ,C′ ABE ). The algorithm automatically executes the algorithm when the intelligent contract condition is reached by writing the intelligent contract in the blockchain network.
In step 12, the data user downloads the corresponding C 'from a node in the blockchain network' ABE And executing a decryption algorithm Dec (pp, dkid, C' ABE ) The algorithm encrypts ciphertext C 'with the public parameter pp, decryption key dkid, attribute → K' ABE As input, ciphertext C 'may be encrypted from the attribute by the algorithm' ABE The symmetric key K is decrypted in the execution of the algorithm Dec (K, C SE ) The algorithm encrypts ciphertext C symmetrically with a symmetric encryption key K → x SE As input, privacy data x by the user is output. After the data is taken, executing an algorithm H ' (x, name) to H ', if h=h ', the data is valid, returning the deposit of the data user, otherwise, the data is invalid, and withholding the deposit. When the data is valid, the plaintext data can be used, and the efficiency between the patient and the doctor and between the patient and the laboratory is greatly improved.
In step 13, some data users will lose access rights to data over time, at this time, the key generating center needs to run an algorithm Rev (rl, id, t) →rl in the revocation period, the algorithm takes the revocation list rl, the revocation user id and the timestamp t as input, and outputs a new revocation list rl, and the revocation list can make the key updating material Kut output by the key updating algorithm in step 7 output a failure symbol t when the data users canceling the access rights in the revocation period run the decryption algorithm, so as to achieve the security of protecting the user privacy data.
By using the decentralization and data integrity of the blockchain technique in the present embodiment, the problems of single point attack and data tampering caused by the server are eliminated.
Attribute encryption technology: attribute-based Encryption (ABE) is a cryptographic technique that aims to achieve fine-grained access control to data. Unlike conventional encryption, attribute encryption allows a user to control access to encrypted data according to the attributes they possess. By using the technology and combining with a tree-based revocation mechanism, the limitation on the users accessing the ciphertext and the deletion authority on the data users losing the access authority are realized.
Tree-based revocation mechanism: is a data structure for recording and managing operation histories, which represents dependency relationships and revocation orders of operations through a tree structure. In this mechanism, each operation is represented as a node in the tree, and the dependencies between operations are represented by pointers to their parent nodes. The present embodiment uses this scheme for managing revocation lists, which are added if a certain user manager access right is revoked. The scheme includes a subset overlay algorithm KUN (st, rl, t) that obtains a minimum set associated with non-revoked data users. The specific algorithm is shown in table 1.
Table 1: subset coverage algorithm
The above process uses blockchain for storage, and cloud service is semi-honest, and can generate curiosity for data stored by users while executing according to a set protocol, so that the problem that the cloud service provider privately communicates with the appointed users to modify the uploaded data can occur, thereby masking medical accidents. While the use of blockchains prevents these from happening.
With a tree-based revocation mechanism, for a portion of the data users to lose access to the data over time, the identity of the user may be added to the revocation list, and a failure symbol t may be obtained when the user performs the decryption key algorithm, thus cancelling the access to the data. Dynamic management of access rights is achieved.
When a data owner is required to upload private data, a data source mechanism is required to generate zero knowledge proof for the private data, so that the problem of the storage capacity of the block chain is solved, and the authenticity of the data is ensured.
A key anti-decryption algorithm is designed, when a decryption key flows into the market, anti-decryption can be carried out according to the decryption key, and a private key sent after the key generation center authenticates the id is decrypted. The tracking of the decryption key is achieved.
Embodiment two:
the system for realizing the method comprises the following steps:
a first data module configured to: the data owner generates a proof based on the zero knowledge proof and sends the proof to the blockchain, and the blockchain allows the data owner to upload medical record data after verifying the proof;
a blockchain module configured to: the block chain is a stored data distribution node, the data owner makes the identification mark and the medical record data to be uploaded into ciphertext according to the secret key to serve as data to be uploaded, and the data is uploaded to the corresponding node according to the obtained node address;
a second data module configured to: the data user obtains a decryption key through proving identity in a set time period, and the decryption key is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner;
a rights update module configured to: and updating the revocation list based on the set revocation period, and adding the revoked data users into the updated list so that the revoked data users cannot decrypt the data exceeding the revocation period.
Embodiment III:
the present embodiment provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps in the decentralised electronic medical record sharing method supporting dynamic access as described in the above embodiment.
Embodiment four:
the present embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the processor implements the steps in the method for supporting dynamic access to a decentralized electronic medical record sharing according to the above embodiment when executing the program.
The steps or networks involved in the above embodiments two to four correspond to the embodiment one, and the detailed description of the embodiment one can be referred to in the relevant description section of the embodiment one. The term "computer-readable storage medium" should be taken to include a single medium or multiple media including one or more sets of instructions; it should also be understood to include any medium capable of storing, encoding or carrying a set of instructions for execution by a processor and that cause the processor to perform any one of the methods of the present invention.

Claims (10)

1. The method for sharing the decentralized electronic medical record supporting the dynamic access is characterized by comprising the following steps of:
the data owner generates a proof based on the zero knowledge proof and sends the proof to the blockchain, and the blockchain allows the data owner to upload medical record data after verifying the proof;
the block chain is a stored data distribution node, the data owner makes the identification mark and the medical record data to be uploaded into ciphertext according to the secret key to serve as data to be uploaded, and the data is uploaded to the corresponding node according to the obtained node address;
the data user obtains a decryption key through proving identity in a set time period, and the decryption key is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner;
and updating the revocation list based on the set revocation period, adding the revoked data users into the updated list, and canceling the access rights to the data so that the data beyond the revocation period cannot be decrypted.
2. The method for decentralized electronic medical record sharing supporting dynamic access according to claim 1, wherein the blockchain allows the data owner to upload the medical record data after verifying the proof; the method comprises the following steps: after the block link receives the evidence, verifying whether the submitted evidence is valid or not according to a set algorithm, and if the algorithm returns a value of 1, allowing the data owner to upload the data, otherwise, not allowing the data owner to upload the data.
3. The method for sharing electronic medical records supporting dynamic access according to claim 1, wherein the blockchain is a stored data distribution node, specifically: based on the hash ring distribution nodes, the data owners upload ciphertext to the corresponding nodes for storage according to the distribution results.
4. The method for sharing the electronic medical record with the decentralized supporting the dynamic access according to claim 1, wherein the data owner makes the identification mark and the medical record data to be uploaded into ciphertext as the data to be uploaded according to the secret key, specifically comprises the following steps:
obtaining a secret key based on a first encryption algorithm, and taking medical record data and identity information to be uploaded as input to obtain a symmetric encryption ciphertext;
the symmetric encryption ciphertext and the symmetric encryption key obtain an attribute encryption ciphertext through a second encryption algorithm;
the attribute encryption ciphertext and the symmetric encryption ciphertext are used as ciphertext c, and the ciphertext c is the data to be uploaded.
5. The method for decentralized electronic medical record sharing supporting dynamic access according to claim 1, wherein the blocks in the blockchain store data sets and data-to-node mapping sets, and the uploaded data is stored on the nodes;
or, nodes storing data exceeding a certain value reduce data storage through the benefit function, and nodes with data storage quantity lower than a certain value increase data storage, so that the data stored by all the nodes reach an equilibrium state.
6. The method for sharing electronic medical records supporting dynamic access according to claim 1, wherein the data user obtains a decryption key by proving identity in a set period of time, and the decryption key is used for decrypting a corresponding ciphertext to obtain data uploaded by a data owner; the method comprises the following steps:
the data user obtains the key updating material through the public channel, and takes the public parameter, the private key corresponding to the data user and the key updating material as the input of the decryption algorithm;
if the data user is not added to the revocation list in the corresponding revocation period, the decryption algorithm outputs a decryption key in the revocation period;
if the data user has been added to the revocation list within the corresponding revocation session, the decryption algorithm outputs a decryption failure symbol;
if the decryption key is lost or flows into the market, the decryption key is reversely decrypted to obtain the corresponding ID, and the corresponding user is tracked according to the ID.
7. The method for decentralized electronic medical record sharing supporting dynamic access according to claim 1, wherein in each revocation period, the updated attribute encryption ciphertext is obtained based on a ciphertext update algorithm with the common parameter, the attribute encryption ciphertext and the timestamp as inputs.
8. An decentralized electronic medical record sharing system supporting dynamic access, comprising:
the data owner generates a certificate according to the zero knowledge certificate in the first data terminal and sends the certificate to the blockchain network, and the data is uploaded to the corresponding node according to the obtained node address; the data owner makes the identification mark and the medical record data to be uploaded into ciphertext serving as data to be uploaded according to the secret key in the first data terminal;
a blockchain network configured to: after verifying the certification from the first data terminal, allowing the data owner to upload the medical record data; distributing nodes for the stored data and receiving medical record data uploaded from a first data terminal;
the second data terminal is communicated with the blockchain network, and the data user obtains a decryption key through proving identity in a set time period based on the second data terminal and is used for decrypting the corresponding ciphertext to obtain data uploaded by the data owner;
a rights update module configured to: and communicating with the blockchain network, updating the revocation list based on the set revocation period, and adding the revoked data users into the updated list so that the revoked data users cannot decrypt the data exceeding the revocation period.
9. A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps in the decentralised electronic medical record sharing method supporting dynamic access as claimed in any one of claims 1 to 7.
10. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method for decentralizing electronic medical record sharing supporting dynamic access as recited in any one of claims 1-7 when the program is executed by the processor.
CN202311361551.6A 2023-10-19 2023-10-19 Decentralised electronic medical record sharing method and system supporting dynamic access Pending CN117457133A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311361551.6A CN117457133A (en) 2023-10-19 2023-10-19 Decentralised electronic medical record sharing method and system supporting dynamic access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311361551.6A CN117457133A (en) 2023-10-19 2023-10-19 Decentralised electronic medical record sharing method and system supporting dynamic access

Publications (1)

Publication Number Publication Date
CN117457133A true CN117457133A (en) 2024-01-26

Family

ID=89580938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311361551.6A Pending CN117457133A (en) 2023-10-19 2023-10-19 Decentralised electronic medical record sharing method and system supporting dynamic access

Country Status (1)

Country Link
CN (1) CN117457133A (en)

Similar Documents

Publication Publication Date Title
De Oliveira et al. Towards a blockchain-based secure electronic medical record for healthcare applications
CN110099043B (en) Multi-authorization-center access control method supporting policy hiding and cloud storage system
Sookhak et al. Blockchain and smart contract for access control in healthcare: A survey, issues and challenges, and open issues
US11410145B2 (en) Blockchain-implemented method for control and distribution of digital content
CN113132103B (en) Data cross-domain security sharing system and method
US20210273812A1 (en) Data system with information provenance
Zhu et al. TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization
EP2513804B1 (en) Trustworthy extensible markup language for trustworthy computing and data services
Shafagh et al. Droplet: Decentralized authorization and access control for encrypted data streams
US20190295069A1 (en) Systems and methods for integrating cryptocurrency wallet identifiers with digital certificates
CA3144715A1 (en) Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
US11757639B2 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
CN115296838B (en) Block chain-based data sharing method, system and storage medium
Jiang et al. Attribute-based encryption with blockchain protection scheme for electronic health records
Ezhil Arasi et al. Auditable attribute-based data access control using blockchain in cloud storage
US20230360042A1 (en) Method, system, and computer-readable medium for secured multi-lateral data exchange over a computer network
Win et al. Privacy enabled digital rights management without trusted third party assumption
Wu et al. Secure personal health records sharing based on blockchain and IPFS
Ghorbel et al. Accountable privacy preserving attribute-based access control for cloud services enforced using blockchain
Adlam et al. A permissioned blockchain approach to the authorization process in electronic health records
Xu et al. An efficient blockchain‐based privacy‐preserving scheme with attribute and homomorphic encryption
CN115883214A (en) Electronic medical data sharing system and method based on alliance chain and CP-ABE
US20230421543A1 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
Verma et al. Secure document sharing model based on blockchain technology and attribute-based encryption
Thilagavathy et al. A novel framework paradigm for EMR management cloud system authentication using blockchain security network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination