Method for secure sharing of electronic medical data with cooperative double chain
By employing a collaborative dual-chain architecture and the Chameleon hash algorithm, secure storage and cross-institutional sharing of electronic medical data are achieved, solving the problems of data privacy protection and hash value consistency, and improving the security and efficiency of data sharing.
Patent Information
- Application Number
- CN202310599460.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-25
- Publication Date
- 2026-03-17
- Estimated Expiration
- 2043-05-25
AI Technical Summary
How can we achieve secure sharing across institutions while ensuring the privacy and security of electronic medical data, and maintain the consistency of hash values before and after data anonymization to solve the data silo problem?
A collaborative dual-chain architecture is adopted. The system public key and chameleon hash private key are generated by trusted nodes, divided into multiple parts, and distributed to trusted nodes and data sharers respectively. The chameleon hash algorithm is used to store the source data on the internal chain and the de-identified data on the external chain. The consistency of hash value is ensured by calculating the chameleon parameters.
It enables secure storage and sharing of electronic medical data, ensures data privacy and consistency, reduces the computational burden on data sharers, and enhances data traceability and controllability.
Smart Images

Figure CN116760532B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic medical data sharing, and more particularly to a collaborative dual-chain method for secure sharing of electronic medical data. Background Technology
[0002] With the development of technology, the medical field is also undergoing transformation driven by information technology. Many hospitals have already adopted electronic medical data to replace paper medical records. However, due to the lack of transparency in information between hospitals, people cannot access their previous medical data when seeking treatment or rehabilitation at other medical institutions. This is extremely inconvenient for universities, research institutes, government regulatory departments, and individuals, as data acquisition is difficult, and there are serious risks such as the leakage of patient privacy. How to securely transform each hospital from an information silo into a cloud system for healthcare, and how to securely and effectively share patient electronic medical data, are currently hot research topics in the field of smart healthcare. Secure and effective data sharing means protecting the privacy of data owners when data is shared, while creating a good sharing atmosphere and encouraging more people to share data under the premise of protecting privacy.
[0003] The importance and advantages of sharing medical data are numerous. For rare diseases, if many countries or even the world participate in sharing electronic medical data, a small number of cases can be transformed into a relatively large number of cases, providing a larger reference sample. This allows medical researchers to overcome the disease more quickly. For other more common diseases, mature big data technologies, machine learning algorithms, and deep learning algorithms can be used for data analysis and mining to uncover potential information and maximize its value. For example, the field of smart healthcare is already researching how to predict diseases and provide risk warnings to alleviate symptoms before they occur, thereby slowing down or preventing the onset of diseases.
[0004] If users directly share their electronic medical data, it not only increases their burden but also risks leaking their privacy due to improper operation. Therefore, a reliable party is needed to perform certain tasks, including data anonymization, data management, and storage of the source data. If only the source data is stored, user privacy and data protection are completely compromised, potentially leading to a series of problems; if only anonymized data is stored, the system will be unable to provide the source data when needed in specific situations.
[0005] Therefore, to simultaneously store both the source data and anonymized data of electronic medical data, meet the requirements of secure data storage and sharing, and ensure the consistency of hash values before and after anonymization, two data chains were established for different environments. The first chain stores the source data, which is kept private (internal chain) for security reasons; the second chain stores the anonymized data, which is made public (external chain) for easy sharing. In reality, for a single piece of data, its position and block number may differ on the two heterogeneous blockchains. To maintain a certain level of data consistency, the source data and anonymized data need to maintain a certain consistency to enable traceability and controllability of the data. Simultaneously, certain restrictions on data security are also necessary. Summary of the Invention
[0006] The purpose of this invention is to overcome the shortcomings of the prior art and provide a collaborative dual-chain method for secure sharing of electronic medical data.
[0007] The objective of this invention is achieved through the following technical solution:
[0008] A first aspect of the present invention provides a method for secure sharing of electronic medical data via a collaborative dual-chain architecture, comprising the following steps:
[0009] The first trusted node performs initialization operations, using the key generation algorithm ChGen(1) λ Generate the system public key PK and the chameleon hash private key ChSK; where λ is a security parameter, there are a total of k trusted nodes, and k is greater than or equal to 2;
[0010] The first trusted node distributes the system public key PK to other trusted nodes; simultaneously, it performs a key splitting operation, dividing the chameleon hash private key ChSK into k+1 sub-parts d. i The system keeps one copy and distributes the other k copies to the data sharer and other trusted nodes respectively; the first trusted node destroys the chameleon hash private key ChSK; where i takes values from 1 to k+1; the key splitting operation includes: first, uniformly and randomly selecting d1, d2, ..., d k ∈Z φ Then calculate In this way, the chameleon hash private key ChSK is divided into k+1 parts, namely d1, d2, ..., d k+1 ;
[0011] The data sharer uploads electronic medical data m; the second trusted node executes the Chameleon Hash generation algorithm ChHash to obtain the hash value h corresponding to the electronic medical data m under the tag τ and random number r; the second trusted node uses the system public key PK, tag τ, random number r, hash value h, and electronic medical data m to execute the Chameleon Hash verification algorithm ChVer. If the output is 1, it indicates that the hash value and corresponding data are correct. The second trusted node then stores the electronic medical data m in the internal chain and returns a success message to the data sharer. The second trusted node uniformly and randomly selects two random numbers, namely the first random number. Second random number
[0012] The data sharer decides to share the electronic medical data m stored in the internal chain. The third trusted node de-identifies the electronic medical data m to obtain the de-identified electronic medical data m'.
[0013] The third trusted node randomly selects a third random number. Then, the first intermediate number is calculated using the first formula. The first formula is:
[0014]
[0015] In the formula, X0 represents X0 = x0 e modN, x0∈Z N X1 means X1 = H N (τ), H N This represents the second random hash function. H e Represents the first random hash function.
[0016] The third trusted node will be the first intermediate number. Data is sent to the data sharer and other trusted nodes, and the data sharer and each trusted node utilize their respective sub-parts. i The second intermediate number was calculated. And send it to a third trusted node;
[0017] The third trusted node will include all the second intermediate numbers. The third intermediate number is obtained by performing a cumulative multiplication operation. Right now Using the third intermediate number The color-changing parameter r′ is calculated, at which point the third trusted node uploads the anonymized electronic medical data m′ to the external chain; this color-changing parameter r′ ensures that the hash value of the electronic medical data m stored on the internal chain is the same as the hash value of the anonymized electronic medical data m′ stored on the external chain; wherein, the third intermediate number is used The color-changing parameter r′ is calculated, specifically including: In the formula, N is obtained by randomly selecting two large prime numbers p and q of similar size, and then calculating N = p × q.
[0018] Furthermore, the key generation algorithm is used Generate the system public key PK and the chameleon hash private key ChSK, including:
[0019] Randomly select two large prime numbers p and q that are close in size, and then calculate N = p × q and... remember
[0020] Uniformly and randomly select an integer e∈[2,φ-1] such that it satisfies (e,φ)=1;
[0021] Calculate the equation d≡e -1 (modφ) has a unique solution d;
[0022] Uniformly and randomly select x0∈Z N And calculate X0 = x0 e modN;
[0023] Two hash functions are selected uniformly and randomly, i.e., the first random hash function. Second random hash function And a pseudo-random generator G:{0,1} θ →{0,1} θ θ represents the length of the string;
[0024] The output system public key PK and chameleon hash private key ChSK are as follows:
[0025] hk=(N,e,X0,H e H N )
[0026] PK = (hk, G)
[0027] ChSK = d.
[0028] Furthermore, the second trusted node executes the Chameleon Hash algorithm (ChHash) to obtain the hash value h corresponding to the electronic medical data m under the tag τ and random number r, including:
[0029] The second trusted node calculates X1 = H N (τ);
[0030] The second trusted node uniformly and randomly selects two random numbers. and make
[0031] The second trusted node calculates the chameleon hash value. That is, the hash value h corresponding to data m under label τ and random number r.
[0032] Furthermore, for the execution of the Chameleon Hash Ver algorithm ChVer, if the output is 0, it indicates that the hash value and the corresponding data are incorrect, and the second trusted node returns a data uploading failure message to the data sharer.
[0033] Furthermore, the data sharer is either the data owner or a medical institution.
[0034] Furthermore, the method further includes the following steps:
[0035] After a data sharer uploads electronic medical data m and then uploads the anonymized electronic medical data m' to an external blockchain, the data sharer receives a reward currency.
[0036] Furthermore, when the data sharer is the data owner, the data owner receives reward currency; when the data sharer is a medical institution, both the data owner and the medical institution receive reward currency.
[0037] Furthermore, the trusted node is a trusted formula node of an authoritative structure.
[0038] Furthermore, the third trusted node performs desensitization on the electronic medical data m, including: desensitization based on data masking, desensitization based on keyword substitution, desensitization based on data offset, and desensitization based on data perturbation.
[0039] Furthermore, the first trusted node, the second trusted node, and the third trusted node can be the same trusted node or different trusted nodes.
[0040] The beneficial effects of this invention are:
[0041] In an exemplary embodiment of the present invention, in order to simultaneously store the source data and anonymized data of electronic medical data, meet the requirements of secure data storage and secure data sharing, and ensure the consistency of hash values before and after data anonymization, two data chains, namely an external chain and an internal chain, are established for use in different environments. Simultaneously, to maintain a certain level of data consistency, the source data and anonymized data are kept consistent (the hash value of the source data stored in the internal chain is the same as the hash value of the anonymized data stored in the external chain), so as to enable a certain degree of traceability and controllability of the data.
[0042] Meanwhile, during the data sharing phase, no real subsets are transmitted between the data sharer and each trusted node; only a second intermediate number is calculated. This is the final value transmitted. During this process, each participant cannot access the data and information of other participants; each participant only obtains its own calculation result and cannot access data exchanged during the collaborative computation process. This leads to the deduction of d for any other participating party. i This ensures the privacy and security of each individual's information. Furthermore, most computational work is performed by trusted nodes, reducing the computational burden on data sharers. Attached Figure Description
[0043] Figure 1 A flowchart illustrating a method provided for an exemplary embodiment of the present invention. Detailed Implementation
[0044] The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0045] In the description of this invention, it should be noted that the directions or positional relationships indicated by terms such as "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer" are based on the directions or positional relationships shown in the accompanying drawings and are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this invention. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0046] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "joining" should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal communication between two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances.
[0047] Furthermore, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0048] See Figure 1 , Figure 1 A flowchart illustrating a collaborative dual-chain method for secure sharing of electronic medical data provided in an exemplary embodiment of the present invention is shown, comprising the following steps:
[0049] The first trusted node performs initialization operations, using the key generation algorithm ChGen(1) λ Generate the system public key PK and the chameleon hash private key ChSK; where λ is a security parameter, there are a total of k trusted nodes, and k is greater than or equal to 2;
[0050] The first trusted node distributes the system public key PK to other trusted nodes; simultaneously, it performs a key splitting operation, dividing the chameleon hash private key ChSK into k+1 sub-parts d. i The system keeps one copy and distributes the other k copies to the data sharer and other trusted nodes respectively; the first trusted node destroys the chameleon hash private key ChSK; where i takes values from 1 to k+1; the key splitting operation includes: first, uniformly and randomly selecting d1, d2, ..., d k ∈Z φ Then calculate In this way, the chameleon hash private key ChSK is divided into k+1 parts, namely d1, d2, ..., d k+1 ;
[0051] The data sharer uploads electronic medical data m; the second trusted node executes the Chameleon Hash generation algorithm ChHash to obtain the hash value h corresponding to the electronic medical data m under the tag τ and random number r; the second trusted node uses the system public key PK, tag τ, random number r, hash value h, and electronic medical data m to execute the Chameleon Hash verification algorithm ChVer. If the output is 1, it indicates that the hash value and corresponding data are correct. The second trusted node then stores the electronic medical data m in the internal chain and returns a success message to the data sharer. The second trusted node uniformly and randomly selects two random numbers, namely the first random number. Second random number
[0052] The data sharer decides to share the electronic medical data m stored in the internal chain. The third trusted node de-identifies the electronic medical data m to obtain the de-identified electronic medical data m'.
[0053] The third trusted node randomly selects a third random number. Then, the first intermediate number is calculated using the first formula. The first formula is:
[0054]
[0055] In the formula, X0 represents X0 = x0 e modN, x0∈Z N X1 means X1 = H N (τ), H NThis represents the second random hash function. H e Represents the first random hash function.
[0056] The third trusted node will be the first intermediate number. Data is sent to the data sharer and other trusted nodes, and the data sharer and each trusted node utilize their respective sub-parts. i The second intermediate number was calculated. And send it to a third trusted node;
[0057] The third trusted node will include all the second intermediate numbers. The third intermediate number is obtained by performing a cumulative multiplication operation. Right now Using the third intermediate number The color-changing parameter r′ is calculated, at which point the third trusted node uploads the anonymized electronic medical data m′ to the external chain; this color-changing parameter r′ ensures that the hash value of the electronic medical data m stored on the internal chain is the same as the hash value of the anonymized electronic medical data m′ stored on the external chain; wherein, the third intermediate number is used The color-changing parameter r′ is calculated, specifically including: In the formula, N is obtained by randomly selecting two large prime numbers p and q of similar size, and then calculating N = p × q.
[0058] Specifically, in this exemplary embodiment, to simultaneously store the source data and anonymized data of electronic medical data, meet the requirements of secure data storage and secure data sharing, and ensure the consistency of hash values before and after data anonymization, two data chains are established for different environments. The first chain stores the source data, which is kept private (internal chain) for security reasons; the second chain stores the anonymized data, which is made public (external chain) for easy sharing. In reality, for a single piece of data, its position and block number may differ on the two heterogeneous blockchains. To maintain a certain level of data consistency, the source data and the anonymized data need to maintain a certain consistency to enable traceability and controllability of the data.
[0059] In this exemplary embodiment, both the patient and the medical institution sharing the data are data generators, collectively referred to as data sharers. When a data sharer uploads data, the system generates a corresponding trapdoor for that data, and the data sharer can choose at any time whether to share it to an external link.
[0060] First, a set of nodes needs to be pre-selected as trusted consensus nodes, hereinafter referred to as trusted nodes. A joint blockchain with these trusted consensus nodes is then used to manage system parameters and keys. The trusted consensus nodes are represented as (P1, P2, ..., P...).k ), where k is the number of trusted nodes.
[0061] Specifically, this exemplary embodiment may include the following five steps:
[0062] (1) Initialization operation:
[0063] The first trusted node performs initialization operations, using the key generation algorithm ChGen(1) λ Generate the system public key PK and the chameleon hash private key ChSK; where λ is a security parameter, there are a total of k trusted nodes, and k is greater than or equal to 2.
[0064] In a preferred exemplary embodiment, the key generation algorithm ChGen(1) is used. λ Generate the system public key PK and the chameleon hash private key ChSK, including:
[0065] Randomly select two large prime numbers p and q that are close in size, and then calculate N = p × q and... remember
[0066] Uniformly and randomly select an integer e∈[2,φ-1] such that it satisfies (e,φ)=1;
[0067] Calculate the equation d≡e -1 (modφ) has a unique solution d;
[0068] Uniformly and randomly select x0∈Z N And calculate X0 = x0 e modN;
[0069] Two hash functions are selected uniformly and randomly, i.e., the first random hash function. Second random hash function And a pseudo-random generator G:{0,1} θ →{0,1} θ θ represents the length of the string;
[0070] The output system public key PK and chameleon hash private key ChSK are as follows:
[0071] hk=(N,e,X0,H e H N )
[0072] PK = (hk, G)
[0073] ChSK = d.
[0074] (2) Key splitting:
[0075] The first trusted node distributes the system public key PK to other trusted nodes; simultaneously, it performs a key splitting operation, dividing the chameleon hash private key ChSK into k+1 sub-parts d. i The system keeps one copy and distributes the other k copies to the data sharer and other trusted nodes respectively; the first trusted node destroys the chameleon hash private key ChSK; where i takes values from 1 to k+1; the key splitting operation includes: first, uniformly and randomly selecting d1, d2, ..., d k ∈Z φ Then calculate In this way, the chameleon hash private key ChSK is divided into k+1 parts, namely d1, d2, ..., d k+1 .
[0076] In other words, the data sharer maintains a subset d1, and each trusted node owns a subset d2. i , i > 1. Each trusted node stores a sub-part d. i Instead of directly storing the Chameleon Hash private key ChSK, it further reduces the risk of key leakage. At the same time, the data sharer also has a certain degree of control over the data and can decide whether to share the electronic medical data m to the external chain.
[0077] (3) Data storage:
[0078] The data sharer uploads electronic medical data m; the second trusted node executes the Chameleon Hash generation algorithm ChHash to obtain the hash value h corresponding to the electronic medical data m under the tag τ and random number r; the second trusted node uses the system public key PK, tag τ, random number r, hash value h, and electronic medical data m to execute the Chameleon Hash verification algorithm ChVer. If the output is 1, it indicates that the hash value and corresponding data are correct. The second trusted node then stores the electronic medical data m in the internal chain and returns a success message to the data sharer. The second trusted node uniformly and randomly selects two random numbers, namely the first random number. Second random number
[0079] More preferably, in a preferred exemplary embodiment, the second trusted node executes the Chameleon Hash algorithm (ChHash) to obtain the hash value h corresponding to the electronic medical data m under the tag τ and the random number r, including:
[0080] The second trusted node calculates X1 = H N (τ);
[0081] The second trusted node uniformly and randomly selects two random numbers. and make
[0082] The second trusted node calculates the chameleon hash value. That is, the hash value h corresponding to data m under label τ and random number r.
[0083] More preferably, in a preferred exemplary embodiment, if the output of the Chameleon Hash Ver algorithm ChVer is 0, indicating that the hash value and corresponding data are incorrect, the second trusted node returns a data uploading failure message to the data sharer.
[0084] This step involves verification after data upload. The second trusted node executes the Chameleon Hash Verification Algorithm (ChVer). The algorithm inputs include the system public key PK, tag τ, hash value h, e-medical data m, and a random number r. If (h, r) is valid, the algorithm outputs 1; otherwise, it outputs 0. If the ChVer algorithm outputs 1, indicating that the hash value and corresponding data are correct, the second trusted node stores the e-medical data m in the internal chain and returns a success message to the data sharer. Otherwise, it returns a data upload failure message. Calculating the hash value ensures that the hash value of the original data on the internal chain is consistent with the hash value of the anonymized data on the external chain.
[0085] (4) Data anonymization:
[0086] The data sharer decides to share the electronic medical data m stored in the internal chain. The third trusted node de-identifies the electronic medical data m to obtain the de-identified electronic medical data m'.
[0087] Specifically, data anonymization involves using specific rules and algorithms to hide or modify data containing sensitive information (privacy information) to protect users' sensitive and private information. This allows for the processing and use of authentic data without violating laws and regulations. Data anonymization algorithms must retain meaningful information while preventing the leakage of privacy information. Electronic medical data (m) has multiple attributes, such as name, age, ID card number, mobile phone number, social security card number, department visited, symptoms, genetic history, doctor's prescriptions, current address, etc., containing a great deal of extremely important and sensitive privacy information. One of the goals of this solution is data sharing, aiming to share more electronic medical data with third-party hospitals, universities, research institutions, government systems, and individual users. While ensuring that third parties can utilize this data for data mining, data analysis, data modeling, and even more in-depth scientific research, reasonable data anonymization of electronic medical data is necessary. In today's information age, with rapid technological development and immeasurable speed and breadth of information dissemination, the leakage of patient privacy can have very serious consequences for patients, causing severe disruption to their lives.
[0088] In this step, when the data sharer decides to share the electronic medical data m stored in the internal chain, the third trusted node desensitizes the electronic medical data m.
[0089] More preferably, in an exemplary embodiment, the third trusted node desensitizes the electronic medical data m, including: data masking-based desensitization, keyword substitution-based desensitization, data offset-based desensitization, and data perturbation-based desensitization.
[0090] (5) Data sharing:
[0091] The third trusted node randomly selects a third random number. Then, the first intermediate number is calculated using the first formula. The first formula is:
[0092]
[0093] In the formula, X0 represents X0 = x0 e modN, x0∈Z N X1 means X1 = H N (τ), H N This represents the second random hash function. H e Represents the first random hash function.
[0094] The third trusted node will be the first intermediate number. Data is sent to the data sharer and other trusted nodes, and the data sharer and each trusted node utilize their respective sub-parts. i The second intermediate number was calculated. And send it to a third trusted node;
[0095] The third trusted node will include all the second intermediate numbers. The third intermediate number is obtained by performing a cumulative multiplication operation. Right now Using the third intermediate number The color-changing parameter r′ is calculated, at which point the third trusted node uploads the anonymized electronic medical data m′ to the external chain; this color-changing parameter r′ ensures that the hash value of the electronic medical data m stored on the internal chain is the same as the hash value of the anonymized electronic medical data m′ stored on the external chain; wherein, the third intermediate number is used The color-changing parameter r′ is calculated, specifically including: In the formula, N is obtained by randomly selecting two large prime numbers p and q of similar size, and then calculating N = p × q.
[0096] Specifically, in this exemplary embodiment, the data sharer and each trusted node possess a sub-part d iThe child d of other nodes is unknown. j ,j≠i. Trusted nodes can complete the final data sharing on-chain without sharing their respective subsets.
[0097] make Clearly, D is about The function.
[0098] At this point, the third trusted node calculates... and
[0099]
[0100]
[0101] After that The data is sent to the data sharer and other trusted nodes, at which point the computation is performed by the data sharer and each trusted node. And send it to a third trusted node. The third trusted node will send all of them. Performing cumulative multiplication yields intermediate results. The factor of collision r′ is calculated using the following formula. It can be calculated Thus, the collision r′ is obtained as follows:
[0102]
[0103]
[0104]
[0105] What can be deduced from this is:
[0106]
[0107] Then, the third trusted node uploads the anonymized electronic medical data m′ to the external chain. At this point, ChHash(hk,τ,m,r)=ChHash(hk,τ,m′,r′), m≠m′, meaning that the hash value of the source data stored on the internal chain and the hash value of the anonymized data stored on the external chain are the same. This solves the data inconsistency problem caused by current dual-chain storage, facilitating further design based on this. Uploading to the external chain is for data sharing; similarly, calculating hash collisions is to ensure that the hash value of the source data on the internal chain and the hash value of the anonymized data on the external chain are the same.
[0108] It should be noted that regarding the first intermediate value Second median value Third median The method for calculating the collision r′ leads to the derivation of the result proving that the hash value of the internal chain source data and the hash value of the external chain de-identified data are the same, as described below:
[0109] In existing technological solutions (Gao Wei et al.), The calculation process is as follows:
[0110]
[0111] In the above exemplary embodiments:
[0112]
[0113]
[0114] Based on the previous Chameleon Hash private key splitting method, formula (2) can be used to derive...
[0115]
[0116] And for Formula (4) can be written as
[0117]
[0118] At this point, formula (3) can be written as
[0119]
[0120] As can be seen, formula (6) is the same as formula (1), and its correctness is consistent with the existing technical solution. Therefore, its correctness can be proven.
[0121] Furthermore, during the data sharing phase, no real subsets are transmitted between the data sharer and each trusted node; only a value is calculated. This is the final value transmitted. During this process, each participant cannot access the data and information of other participants; each participant only obtains its own calculation result and cannot access data exchanged during the collaborative computation process. This leads to the deduction of d for any other participating party. i This ensures the privacy and security of each individual's information. Furthermore, most computational work is performed by trusted nodes, reducing the computational burden on data sharers.
[0122] In summary, in this exemplary embodiment, to simultaneously store both the source data and anonymized data of electronic medical data, meet the requirements of secure data storage and secure data sharing, and ensure the consistency of hash values before and after data anonymization, two data chains—an external chain and an internal chain—are established for use in different environments. Furthermore, to maintain a certain level of data consistency, ensuring that the source data and anonymized data are identical (the hash value of the source data stored on the internal chain is the same as the hash value of the anonymized data stored on the external chain), a degree of traceability and controllability of the data is achieved.
[0123] Meanwhile, during the data sharing phase, no real subsets are transmitted between the data sharer and each trusted node; only a value is calculated. This is the final value transmitted. During this process, each participant cannot access the data and information of other participants; each participant only obtains its own calculation result and cannot access data exchanged during the collaborative computation process. This leads to the deduction of d for any other participating party. i This ensures the privacy and security of each individual's information. Furthermore, most computational work is performed by trusted nodes, reducing the computational burden on data sharers.
[0124] More preferably, in an exemplary embodiment, the data sharer is either the data owner or a medical institution. More preferably, in an exemplary embodiment, the method further includes the following steps: the data sharer uploads electronic medical data m, and after uploading the anonymized electronic medical data m' to an external chain, the data sharer receives reward currency. More preferably, in an exemplary embodiment, when the data sharer is the data owner, the data owner receives reward currency; when the data sharer is a medical institution, both the data owner and the medical institution receive reward currency.
[0125] To encourage more users to upload and share data, and to maintain the activity and sustainable development of the sharing system, the system will reward users who upload and share data. Data owners can share their electronic medical data to the system themselves (the system only rewards the data owner), or they can authorize hospitals and other medical institutions where their electronic medical records are located to share their electronic medical records (the system rewards both the data owner and the hospital / medical institution on a per-record basis).
[0126] More preferably, in an exemplary embodiment, the trusted node is a trusted formula node of an authoritative structure.
[0127] More preferably, in an exemplary embodiment, the first trusted node, the second trusted node, and the third trusted node are the same trusted node or different trusted nodes.
[0128] It should be noted that the first trusted node, the second trusted node, and the third trusted node can be selected randomly or based on actual operating resources. Therefore, the three can be the same trusted node or different trusted nodes.
[0129] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.
Claims
1. A method for secure sharing of electronic medical data in a synergistic double chain, characterized by: The method comprises the following steps: The first trusted node performs an initialization operation, using a key generation algorithm generates a system public key and a chameleon hash private key ; wherein, is a security parameter, and there are k trusted nodes in common, k is greater than or equal to 2; The first trusted node will use the system public key. Distribute to other trusted nodes; simultaneously perform key splitting operation to split the chameleon hash private key. Divide into k+1 sub-parts d i The first trusted node keeps one copy and distributes the other k copies to the data sharer and other trusted nodes respectively; the first trusted node destroys the Chameleon Hash private key. Where i takes values from 1 to k+1; the key splitting operation includes: first, uniformly and randomly selecting... Then calculate In this way, the chameleon hash private key Divided into A portion, that is ; A data sharer uploads electronic medical data m; a second trusted node executes a chameleon hash generation algorithm , to obtain a hash value h corresponding to the electronic medical data m under a tag and a random number r; the second trusted node executes a chameleon hash verification algorithm again by using a system public key , the tag , the random number r, the hash value h, and the electronic medical data m ; if the output is 1, indicating that the hash value and the corresponding data are correct, the second trusted node stores the electronic medical data m into an internal chain and returns a success message to the data sharer; wherein , the second trusted node selects two random numbers, a first random number and a second random number , uniformly and randomly; The data sharer decides to share the electronic medical data m stored in the internal chain, and the third trusted node desensitizes the electronic medical data m to obtain desensitized electronic medical data m'; The third trusted node randomly selects a third random number Then, a first intermediate number is calculated using a first formula The first formula is: ; In the formula, denotes , , denotes , denotes a second random hash function, , denotes a first random hash function, ; The third trusted node will send the first intermediate number to the data sharer and the other trusted nodes, which will each compute a respective sub-share d i from the first intermediate number and send it to the third trusted node; The third trusted node will all the second intermediate number The multiplication operation is performed to obtain a third intermediate number That is ; the third intermediate number is used to calculate a color-changing parameter At this time, the third trusted node uploads the de-identified electronic medical data m' to the external chain; the color-changing parameter makes the hash value of the electronic medical data m stored in the internal chain and the hash value of the de-identified electronic medical data m' stored in the external chain the same; wherein the third intermediate number is used to calculate the color-changing parameter , specifically comprising: , ; in the formula, N is two large prime numbers and of similar size randomly selected, and then is calculated.
2. The method of claim 1, wherein the method is a method of secure sharing of electronic medical data in a synergistic double chain, characterized by: The key generation algorithm Generating a system public key And a chameleon hash private key Comprising: Two large prime numbers of similar size are randomly selected and Then compute and Let ; uniformly randomly selecting an integer such that it satisfies ; Computing equation Unique solution ; uniformly randomly selected and compute ; uniformly randomly selecting two hash functions, a first random hash function and a second random hash function and a pseudo-random generator ; denotes the length of the string; Output system public key And chameleon hash private key As follows: ; ; 。 3. The method of claim 2, wherein: The second trusted node executes a chameleon hash generation algorithm to obtain a hash value h corresponding to the electronic medical data m under a label and a random number r, comprising: Second trusted node computation ; The second trusted node uniformly randomly selects two random numbers and such that ; Second trusted node computes chameleon hash value That is, the hash value h of the data m under the tag , the random number r.
4. The method of claim 1, wherein: For performing a chameleon hash verification algorithm If the output is 0, indicating that the hash value and the corresponding data are incorrect, the second trusted node returns a data on-chain failure message to the data sharer.
5. The method of claim 1, wherein: The data sharer is a data owner or a medical institution.
6. The method of claim 5, wherein: The method further comprises the following steps: After the data sharer uploads the electronic medical data m and the desensitized electronic medical data m' to the external chain, the data sharer obtains reward currency.
7. The method of claim 6, wherein: When the data sharer is the data owner, the data owner obtains the reward currency; when the data sharer is the medical institution, the data owner and the medical institution both obtain the reward currency.
8. The method of claim 1, wherein: The trusted node is an authoritative trusted formula node.
9. The method of claim 1, wherein: The third trusted node desensitizes the electronic medical data m, which comprises data screening desensitization, keyword replacement desensitization, data offset desensitization and data disturbance desensitization.
10. The method of claim 1, wherein: The first trusted node, the second trusted node and the third trusted node are the same trusted node or different trusted nodes.
Citation Information
Patent Citations
Medical conjoined data sharing method based on block chain
CN112447291A
Out-of-chain data storage and updating method based on chameleon hash function
CN115102955A