Genetic data sharing method and device with privacy protection
Through virtual individual generation algorithms and blockchain technology, combined with homomorphic encryption and distributed re-encryption, the privacy protection and control problems in genomic data sharing are solved, and a secure, transparent and controllable data sharing platform is realized to ensure that data is encrypted Share in the state and meet users' control needs for data.
Patent Information
- Application Number
- CN202111274064.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-29
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2041-10-29
AI Technical Summary
The existing genomic data sharing platform cannot effectively solve the privacy protection of gene data, especially in terms of data sharing and use transparency and personal control, which leads to risks in the sharing and use of genomic data.
Virtual individual generation algorithms and blockchain technology are adopted to ensure that gene data is shared in an encrypted state through homomorphic encryption and distributed re-encryption, providing dynamic consent policies and access control, and ensuring the data provider's control over their data.
Controllable, transparent and secure genomic data sharing between data providers and data queries is realized, ensuring that data remains encrypted at all times, preventing unauthorized access, and meeting trust allocation and data protection needs.
Smart Images

Figure CN113990399B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data encryption, and in particular to a method and device for sharing genetic data with privacy protection. Background Art
[0002] As the cost of DNA analysis decreases, the growing genomic data sets are expected to improve preventive medicine and support the development of more targeted treatments, making the value of large-scale genomic data sets fully reflected. We have entered the era of large-scale genomics. The direct-to-user personal genomics market has grown dramatically in the past few years, and many countries around the world are implementing large-scale population genomics programs.
[0003] However, the potential of large-scale genomics can only be realized if genomic data is widely accessible. Privacy issues with genetic data make large-scale data sharing extremely difficult. Historically, privacy issues with health data have always been addressed by "de-identifying" the data, specifically by removing fields that reveal personal identities. However, personal genomic data cannot be effectively addressed through traditional "de-identification" because even a small portion of it is sufficient to identify an individual. As the successful use of DNA in forensics has shown, even a small portion of it is sufficient to identify an individual or relatives.
[0004] This has led to particular sensitivity and concern about genomic data privacy. There is a real or perceived risk of genetic discrimination in insurance, employment, and other areas that prevents individuals from participating in population genomics research and using direct-to-consumer genetic testing services.
[0005] In addition, people want to have control over the use of their genomic data and to be able to share their data with researchers without risk of misuse, which are guarantees that population genomics initiatives cannot currently provide.
[0006] In the past few years, researchers from the information security community have proposed a number of solutions. Some of them focus on providing secure storage for genomic data, while others propose methods on how to perform specific computations securely. However, none of these solutions have been adopted in practice so far, mainly because their scope of use and applicability in real-world applications are very limited. In addition, the trust issue goes beyond providing secure storage and processing, as it is also closely related to issues of transparency and individual control over data sharing and use. Existing genomic data sharing platforms all rely on broad consent policies and completely manage data by institutions, such as the Beacon network built by the Global Alliance for Genomics and Health (GA4GH), which adopts such broad consent policies to promote genomic data sharing among institutions, but does not provide dynamic and granular control over individuals who provide genomic data. There is no way to effectively solve the above problems.
[0007] In view of this, the present invention is proposed. Summary of the invention
[0008] The purpose of the present invention is to provide a privacy-protecting genetic data sharing method and device, which can be user-centric and realize controllable, transparent and secure genome data sharing.
[0009] In a first aspect, the present invention provides a privacy-protecting genetic data sharing method, which is applied to a data providing terminal and comprises:
[0010] A virtual individual generation algorithm is used to generate a group of virtual individuals and corresponding gene data, namely, virtual individual gene data;
[0011] Generate a symmetric encryption key for the data provider to encrypt the original file and obtain a symmetric encrypted file;
[0012] Assign an identifier to each virtual individual and data provider;
[0013] Use the collective public key to encrypt the original file, virtual individual gene data, key, and identifier respectively, obtain the encrypted data, and send it to the computing node;
[0014] Set access policies, including:
[0015] When synchronizing with the blockchain state, query request notifications are received for data providers to review and decide whether to approve or reject, and the results are sent to the computing node.
[0016] In a second aspect, the present invention provides a privacy-protected genetic data sharing method, which is applied to computing nodes, where there are two or more computing nodes, including:
[0017] Each computing node generates a pair of public and private keys based on the additive homomorphic algorithm, and also generates a secret. All computing nodes broadcast their own public keys to generate a collective public key. All computing nodes are established into a blockchain.
[0018] The encrypted data sent by the receiving data provider terminal is stored on the blockchain after verification by all computing nodes;
[0019] The symmetrically encrypted file and the identifier encrypted by the collective public key are sent to the storage unit; the original file encrypted by the collective public key and the virtual individual gene data are distributedly re-encrypted and sent to the storage unit;
[0020] Receive the query request sent by the data query terminal and encrypted by additive homomorphic encryption. The query request is stored on the blockchain after being verified by all computing nodes. Distributed re-encryption of the query request is performed and sent to the storage unit.
[0021] The distributed re-encryption is to convert the additive homomorphic encryption form into a deterministic encryption form.
[0022] Optionally or preferably, when the above method is applied to a computing node, the distributed re-encryption adopts the ElGamal encryption algorithm EC-ElGamal on the elliptic curve, including two rounds of processes:
[0023] Let E K (v) = (C1, C2) = (rG, v + rK) represents the distributed re-encryption of v, where v is the original file encrypted by the collective public key, or the virtual individual gene data encrypted by the collective public key, or the query request, K is the collective public key, r is a random number, G is the base point on the elliptic curve,
[0024] Round 1: A computing node i uses its secret s i , will s i G is added to C2 and the result is sent to the next computing node i+1. The final result is
[0025] Round 2: A computing node i receives the ciphertext of the previous computing node i-1 After that, perform the calculation Take out the second item of the final result to determine the encryption result, that is, in
[0026] Optionally or preferably, when the above method is applied to a computing node, it further includes:
[0027] Read the access policy on the blockchain, and associate the received encrypted data with the access policy, where the access policy is a full consent policy or a dynamic consent policy; for the full consent policy, agree or reject the query request; for the dynamic consent policy, send a query to the data provider terminal, and receive and verify the response to the query generated on the blockchain and sent by the data provider;
[0028] For the responses that choose to agree, the symmetric key encrypted using the collective public key is converted into a symmetric key encrypted using the inquirer's public key U.
[0029] Optionally or preferably, when the above method is applied to a computing node, it further includes:
[0030] The calculation results sent by the storage unit are received and stored on the blockchain after being verified by all computing nodes.
[0031] Optionally or preferably, when the above method is applied to a computing node, it further includes the step of converting the computing result into a query result, and all computing nodes jointly perform the following distributed key exchange:
[0032] Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer,
[0033] First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v = v1 + ... + v n ;
[0034] The query result encrypted with the inquirer's public key U is sent to the data query terminal.
[0035] In a third aspect, the present invention provides a privacy-protecting genetic data sharing method, which is applied to a data query terminal and includes:
[0036] Allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain;
[0037] Generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; encrypt the query request using the collective public key and send it to any computing node together with the queryer's public key U;
[0038] Receive the query results sent by the computing node, then update the query score and store the updated query score on the blockchain;
[0039] Use the queryer's own private key u to decrypt the query result, or use the queryer's own private key u to decrypt the symmetric key, and use the symmetric key to decrypt the encrypted data to obtain the real individual data.
[0040] In a fourth aspect, the present invention provides a privacy-protecting genetic data sharing method, which is applied to a storage unit and comprises:
[0041] Receiving and storing symmetrically encrypted files and identifiers encrypted with a collective public key, as well as original files and virtual individual genetic data encrypted with a collective public key and then distributedly re-encrypted, is storage information;
[0042] Receive the distributed re-encrypted query request, match the query request with the stored information, perform the following two calculations based on the query request, and send the calculation results to the computing node:
[0043] Let Φ be the set of successfully matched individual identities, including data providers and virtual individuals;
[0044] If the query request only requires the number of individuals that have been successfully matched, the following homomorphic calculation is performed:
[0045]
[0046] If the query request requires a successful match of an individual identifier, the following calculation is performed:
[0047] Multiply the individual identifier with the homomorphically encrypted identity, that is At this time, the identification of the virtual individual after the calculation result is decrypted is 0.
[0048] In a fifth aspect, the present invention provides a privacy-protecting genetic data sharing device, which is applied to a data providing terminal, and the device comprises:
[0049] A virtual individual gene data generation module is used to generate a group of virtual individuals and corresponding gene data, namely, virtual individual gene data, using a virtual individual generation algorithm;
[0050] The data sending module is used to generate a symmetric encryption key for the data provider to encrypt the original file and obtain the symmetric encrypted file; assign an identifier to each virtual individual and data provider, use the collective public key to encrypt the original file, virtual individual gene data, key, and identifier respectively, obtain the encrypted data, and send it to the computing node;
[0051] The audit module is used to set access policies and, in the case of dynamic consent policies, to receive query request notifications for data providers to review and decide whether to agree or reject when synchronizing with the blockchain state, and to send the results to the computing nodes.
[0052] In a sixth aspect, the present invention provides a privacy-protecting genetic data sharing device, which is applied to a computing node, and the device comprises:
[0053] The data receiving module is used to receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; receive the query request sent by the data query terminal after additive homomorphic encryption, and store it on the blockchain after verification by all computing nodes; receive the calculation result sent by the storage unit, and store it on the blockchain after verification by all computing nodes;
[0054] A data processing module is used to generate a pair of public keys and private keys based on an additive homomorphic algorithm, and also generate a secret. All computing nodes broadcast their own public keys to generate a collective public key; all computing nodes are established into a blockchain; the symmetrically encrypted files and identifiers encrypted by the collective public key are sent to a storage unit; the original files and virtual individual genetic data encrypted by the collective public key are distributedly re-encrypted as described in claim 2 or 3, and sent to the storage unit; the query request is distributedly re-encrypted and sent to the storage unit.
[0055] An access policy processing module is used to read the access policy on the blockchain, associate the received encrypted data with the access policy, and the access policy is a full consent policy or a dynamic consent policy; for the full consent policy, agree or reject the query request; for the dynamic consent policy, send a query to the data provider terminal, receive and verify the response to the query generated on the blockchain and sent by the data provider;
[0056] For the responses that choose to agree, the symmetric key encrypted using the collective public key is converted into a symmetric key encrypted using the inquirer's public key U.
[0057] In a seventh aspect, the present invention provides a privacy-protecting genetic data sharing device, which is applied to a data query terminal, and the device comprises:
[0058] The request generation module is used to allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain; generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; use the collective public key to encrypt the query request and send it to any computing node together with the queryer's public key U;
[0059] The result receiving module is used to receive the query results sent by the computing node, then update the query points, and store the updated query points on the blockchain; use the queryer's own private key u to decrypt the query results, or use the queryer's own private key u to decrypt the symmetric key, and use the symmetric key to decrypt the encrypted data to obtain the real individual data.
[0060] In an eighth aspect, the present invention provides a privacy-protecting genetic data sharing device, which is applied to a storage unit, and the device comprises:
[0061] The data storage module is used to receive and store symmetrically encrypted files and identifiers encrypted by the collective public key, as well as original files and virtual individual gene data encrypted by the collective public key and then distributedly re-encrypted, i.e., storage information;
[0062] The query matching module is used to receive the distributed re-encrypted query request, match the query request with the stored information, perform the following two calculations according to the query request, and send the calculation results to the computing node:
[0063] Let Φ be the set of successfully matched individual identities, including data providers and virtual individuals;
[0064] If the query request only requires the number of individuals that have been successfully matched, the following homomorphic calculation is performed:
[0065]
[0066] If the query request requires a successful match of an individual identifier, the following calculation is performed:
[0067] Multiply the individual identifier with the homomorphically encrypted identity, that is At this time, the identification of the virtual individual after the calculation result is decrypted is 0.
[0068] The privacy-protecting genetic data sharing method and device provided by the present invention have the following beneficial effects:
[0069] It combines homomorphic encryption, encryption-based access control for data providers (i.e., data owners), and blockchain technology to enable individuals to share their genomic and clinical data in an encrypted form. Devices applied to data provider terminals, computing nodes, storage units, data query terminals, and blockchains are combined into a secure and trusted platform to ensure that the data uploaded by data providers can be discovered by data queryers (such as researchers) and always remain encrypted to prevent unauthorized access. In addition, it also ensures that authorized data queryers can access and use decrypted genetic data for further data analysis operations in a controlled and auditable manner by the data provider, while meeting the requirements of ensuring trust distribution, end-to-end protection of genomic data, secure data release, and the control and auditability of individual data providers over their own data.
[0070] Previous research on privacy and security has mostly focused on the application of a single encryption technology. This invention integrates multiple complementary technologies to achieve controllable, transparent and secure genomic data sharing.
[0071] Previous privacy protection and security implementation plans have focused on the sharing of genomic data among institutions. The present invention is user-centric (data provider, data queryer), guided by the user's demand for personal genomics services, and enables users to control their own personal genomics data.
[0072] The technical solution of the present invention is universal and portable and can be easily integrated with secure computing protocols with centralized characteristics, making them more secure (by distributing trust across multiple nodes) and more user-centric (by enabling individuals to have control over the use of their data). BRIEF DESCRIPTION OF THE DRAWINGS
[0073] Figure 1 A schematic diagram of the communication relationship between the data query terminal, the data providing terminal, the computing node and the storage unit in the genetic data sharing device for protecting privacy security in the embodiment;
[0074] Figure 2 A schematic diagram of the communication relationship between a data providing terminal and a computing node in a genetic data sharing device for protecting privacy security in an embodiment;
[0075] Figure 3 A schematic diagram of the communication relationship between the storage unit and the computing node in the genetic data sharing device for protecting privacy security in the embodiment;
[0076] Figure 4 Schematic diagram of the communication relationship between the data query terminal and the computing node in the genetic data sharing device for protecting privacy security in the embodiment. DETAILED DESCRIPTION
[0077] The technical solution of the present invention will be explained and illustrated in detail below in conjunction with specific embodiments to make it clearer and more understandable and capable of being implemented by those skilled in the art. The steps listed in the embodiments are not limited in sequence.
[0078] In a first embodiment, a privacy-protected genetic data sharing method is provided, which is applied to a data providing terminal. The method includes:
[0079] s11: A virtual individual generation algorithm is used to generate a group of virtual individuals and corresponding genetic data, namely, virtual individual genetic data.
[0080] The purpose of generating virtual individual genetic data is to maximize the prevention of attackers from associating encrypted data with plaintext data after observing it. The virtual individual generation algorithm inputs all available genetic data, including a collection of clinical attributes and genetic variations, as well as corresponding population statistics, i.e., the frequency distribution of genetic variations and the prevalence of clinical variables, etc. After calculation, it outputs a set of virtual individuals and corresponding genetic data.
[0081] The group mentioned above refers to more than two, that is, there are at least two virtual individuals in a group, and the genetic data corresponding to each virtual individual. The more virtual individuals there are, the stronger the protection for the real data provider.
[0082] s12: Generate a symmetric encryption key S for the data provider i Used to encrypt the original file to obtain a symmetrically encrypted file; assign an identifier f to each virtual individual and data provider i ;
[0083] Encrypt S using the collective public key K i :E K (S i ), use the collective public key K to encrypt the original file and the virtual individual gene data respectively, and also encrypt the identifier f i ::E K (f i ), obtain the encrypted data, and send it to the computing node.
[0084] The original files mentioned above are files containing genetic data and clinical data, such as genetic variation data, clinical medical data, etc. These data have specific standard formats.
[0085] Assign an identifier f to each virtual individual and data provider i , is to eliminate the impact of virtual individuals on the data analysis statistics of subsequent data queryers. The identifier can be set according to needs. For example, the identifier length is set to 1 bit. When the identifier is 1, it represents a real individual, and when the identifier is 0, it represents a virtual individual.
[0086] s13: Set access policies, and, in the case of dynamic consent policies, receive query request notifications for data providers to review and decide whether to agree or reject when synchronizing with the blockchain state, and send the results of approval or rejection to the computing node.
[0087] The access policy generally has two basic options: full consent and dynamic consent. The full consent policy sets certain options that must be met. When all these options are met, the computing node will provide data access after verification by all computing nodes, otherwise, it will be rejected. The dynamic consent policy is that when the data provider terminal synchronizes with the blockchain state, it will receive a query notification, which contains information related to the data access request. The data provider can review this information and then choose to agree or reject as a response.
[0088] The hash signature of the original file and the set access policy are linked to the identity of the data provider (the data provider’s own public key, which is used to generate transactions on the blockchain).
[0089] In this embodiment, the encrypted data sent to the computing node also includes a pseudo identity of the data provider, which is assigned by the data providing terminal. In order to protect the real data provider, it also includes an access policy.
[0090] In a second embodiment, a privacy-protected genetic data sharing method is provided, which is applied to a computing node and includes:
[0091] s21: Each computing node generates a pair of public and private keys based on the additive homomorphic algorithm, and also generates a secret. For example, based on the EC-ElGamal additive homomorphic encryption algorithm, the i-th computing node generates a private key k i and the public key K i , and secrets i All computing nodes broadcast their public key K i , thereby generating a collective public key All computing nodes are built into a blockchain that serves as an auditable and unchangeable log of operations performed by all parties and is used to store topological information about storage units.
[0092] The collective public key ensures that data encrypted under the collective public key is protected unless all computing nodes are compromised or the private keys of all computing nodes are stolen. Therefore, the more computing nodes participate in generating the collective key, the higher the overall security of the system.
[0093] s22: Receive the encrypted data (including access policy and pseudo-identity of data provider) sent by the data provider terminal, which is stored on the blockchain after verification by all computing nodes.
[0094] The symmetrically encrypted file and the identifier encrypted by the collective public key are sent to the storage unit; the original file encrypted by the collective public key and the virtual individual gene data are distributedly re-encrypted, and the additive homomorphic encryption form is converted into a deterministic encryption form and sent to the storage unit.
[0095] s23: Receive the query request sent by the data query terminal that has been encrypted using additive homomorphic encryption. The query request is verified by all computing nodes and stored on the blockchain. Distributed re-encryption of the query request is performed, and the additive homomorphic encryption form is converted into a deterministic encryption form, and sent to the storage unit.
[0096] The purpose of distributed re-encryption is to convert data from additive homomorphic encryption to deterministic encryption, so that the storage unit can perform "equality" matching queries on the distributed re-encrypted data. Specifically, the genetic data stored in the storage unit uploaded by the data provider terminal and distributed re-encrypted by the computing node is matched with the query request data uploaded by the data query terminal and distributed re-encrypted by the computing node.
[0097] General encryption algorithms are probabilistic encryption, that is, the ciphertext obtained by encrypting the same message each time is different. Deterministic encryption, on the other hand, can encrypt the same message each time to obtain the same ciphertext. Although the use of deterministic encryption will leak the distribution of encrypted data. However, since the data provider terminal generates virtual individuals, the overall distribution of encrypted data is uniform, and the adversary cannot perform frequency analysis attacks. As long as the encrypted individual identification is secure, it is impossible to distinguish between real individuals and virtual individuals.
[0098] The distributed re-encryption protocol includes two rounds of processes, involving the participation of all computing nodes. This embodiment takes the ElGamal encryption algorithm EC-ElGamal on the elliptic curve as an example to illustrate the process of the protocol. The protocol can be constructed on a lattice cipher.
[0099] Let E K (v)=(C1,C2)=(rG,v+rK) represents the distributed re-encryption of v, where v is the original file encrypted by the collective public key, or the virtual individual genetic data encrypted by the collective public key, or the query request, K is the collective public key, r is a random number, and G is the base point on the elliptic curve.
[0100] Round 1: A computing node i uses its secret s i , will s i G is added to C2 and the result is sent to the next computing node i+1. The final result is
[0101] Round 2: A computing node i receives the ciphertext of the previous computing node i-1 After that, perform the calculation Take out the second item of the final result to determine the encryption result, that is, in
[0102] Using distributed re-encryption, the additively homomorphic encryption form can be converted into a deterministic encryption form.
[0103] s24: Read the access policy on the blockchain and associate the received encrypted data with the access policy, which is formulated by the data provider terminal and can be a full consent policy or a dynamic consent policy. For the full consent policy, agree or reject the query request; for the dynamic consent policy, send a query notification to the data provider terminal, receive and verify the reply to the query notification generated on the blockchain and sent by the data provider. For the reply that is chosen to be agreed, convert the symmetric key encrypted with the collective public key into a symmetric key encrypted with the inquirer's public key U.
[0104] s25: Receive the calculation results sent by the storage unit. The calculation results are stored on the blockchain after being verified by all computing nodes.
[0105] The calculation result is the result of query matching and calculation by the storage unit. The calculation result requires all computing nodes to jointly perform distributed key exchange, convert the calculation result into a query result and then send it to the data query terminal.
[0106] Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer,
[0107] First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where M = C2-(k1+...+k n-1 )C1, v=v1+…+v n .
[0108] In this way, the calculation result is converted into a query result encrypted using the inquirer's public key U. After being sent to the data query terminal, the inquirer can decrypt the query result using his or her own private key.
[0109] When the inquirer needs to obtain the original file, the key encrypted with the collective public key (i.e. the symmetric encryption key generated by the data providing terminal) is converted into a symmetric key encrypted with the inquirer's public key in the key exchange step. The conversion process is the same as the key exchange process described above. After the conversion, the data query terminal can use its own private key to decrypt the key. After downloading the original file, the decrypted key is used to decrypt the original file to obtain the original data.
[0110] In a third embodiment, a privacy-protecting genetic data sharing method is provided, which is applied to a storage unit and includes:
[0111] s31: Receive and store the symmetrically encrypted files and identifiers encrypted with the collective public key sent by the computing nodes, as well as the original files and virtual individual gene data encrypted with the collective public key and then distributedly re-encrypted, which is the storage information.
[0112] s32: Receive the distributed and re-encrypted query request from the computing node, match the query request with the stored information, perform the following two calculations based on the query request, and send the calculation results to the computing node:
[0113] Let Φ be the set of successfully matched individual identities, including data providers and virtual individuals;
[0114] If the query request only requires the number of individuals that have been matched successfully, that is, the sum R of the identifiers of individuals that have been matched successfully, the following homomorphic calculation is performed:
[0115]
[0116] If a query request requires a successful match of an individual identifier, the following calculation is performed:
[0117] Multiply the individual identifier with the homomorphically encrypted identity, that is At this time, after the calculation result is decrypted, the identifier of the virtual individual is 0, which does not affect the query. Where id represents the individual identity identifier.
[0118] In both cases, the query matching execution will generate a blockchain transaction, which contains the query definition and the personal identification identifier of the successful match. It is used to be stored on the blockchain in an unalterable manner after verification by all computing nodes.
[0119] In a fourth embodiment, a privacy-protecting genetic data sharing method is provided, which is applied to a data query terminal. The method includes:
[0120] s41: Allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain; generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; use the collective public key to encrypt the query request and send it together with the queryer's public key U to any computing node.
[0121] When a data queryer registers at a data query terminal, the terminal will record the registration information and perform appropriate authentication, and then assign a pseudo-random identity and query points to the queryer. The pseudo-random identity protects the privacy of the queryer.
[0122] Query points are recorded on the blockchain and are consumed for each query. The purpose of the query points is to limit the total number of query requests that can be sent by the same data queryer, and therefore limit the amount of undisclosed sensitive information about the data provider that can be inferred from the query results. After proper authentication, authorized queryers with sufficient query points can run secure data queries. And according to his authorization level, either the total number of individuals whose data is matched on the platform, or the identifiers of these individuals, that is, different query permissions are obtained. If the same query request is made multiple times by the same queryer, the query points will not be reduced.
[0123] The query request can be for different query permissions. If only the matching quantity information is needed, such as the number of individuals with a certain gene mutation, the generated query request mainly contains the query content and the pseudo-random identity of the queryer. If the specific information and original files of the matching individuals are also needed, the generated query request also contains the file signature based on the hash function and the queryer's information, such as his name, affiliated unit, and description of the research that needs to access personal data, etc.
[0124] After the query request is generated, a transaction will be generated on the blockchain, that is, a computing node receives the query request and the queryer's public key U sent by the data query terminal. The transaction will be verified by all computing nodes and stored on the blockchain.
[0125] s42: Receives the query results sent by the computing node, then updates the query score and stores the updated query score on the blockchain.
[0126] For query results that only contain matching quantity information, the query result is directly decrypted using the queryer's own private key u;
[0127] If the query results also contain detailed information such as matching individual identifiers and original files, the inquirer's own private key u is used to decrypt the key (i.e., the symmetric encryption key generated by the data providing terminal), and the decrypted key is used to decrypt the original encrypted data to obtain the real individual data.
[0128] In a fifth embodiment, a privacy-protected genetic data sharing device is provided, which is applied to a data providing terminal, and includes:
[0129] A virtual individual gene data generation module is used to generate a group of virtual individuals and corresponding gene data, namely, virtual individual gene data, using a virtual individual generation algorithm;
[0130] The data sending module is used to generate a symmetric encryption key for the data provider to encrypt the original file and obtain the symmetric encrypted file; assign an identifier to each virtual individual and data provider, use the collective public key to encrypt the original file, virtual individual gene data, symmetric encryption file, and identifier respectively, obtain the encrypted data, and send it to the computing node;
[0131] The audit module is used to set access policies and, in the case of dynamic consent policies, to receive query request notifications for data providers to review and decide whether to agree or reject when synchronizing with the blockchain state, and to send the results of approval or rejection to the computing node.
[0132] The data providing terminal is a variety of devices that can be used as the front end, including a processor and a storage medium, as well as a program stored in the storage medium and capable of being run by the processor, including a virtual individual gene data generation module, a data transmission module, and an audit module, such as a web page, etc. The data provider, i.e. the user, can securely upload their original files such as clinical and gene variation data through the data providing terminal and share them with others for population genomics research.
[0133] In a sixth embodiment, a privacy-protected genetic data sharing device is provided, which is applied to a computing node and includes:
[0134] The data receiving module is used to receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; receive the query request sent by the data query terminal after additive homomorphic encryption, and store it on the blockchain after verification by all computing nodes; receive the calculation result sent by the storage unit, and store it on the blockchain after verification by all computing nodes;
[0135] A data processing module is used to generate a pair of public keys and private keys based on an additive homomorphic algorithm, and also generate a secret. All computing nodes broadcast their own public keys to generate a collective public key; all computing nodes are established into a blockchain; the symmetrically encrypted files and identifiers encrypted by the collective public key are sent to a storage unit; the original files and virtual individual genetic data encrypted by the collective public key are distributedly re-encrypted as described in claim 2 or 3, and sent to the storage unit; the query request is distributedly re-encrypted and sent to the storage unit.
[0136] The access policy processing module is used to read the access policy on the blockchain and associate the received encrypted data with the access policy, where the access policy is a full consent policy or a dynamic consent policy; for the full consent policy, the query request is approved or rejected; for the dynamic consent policy, a query is sent to the data provider terminal, and a response to the query generated on the blockchain and sent by the data provider is received and verified; for the response selected for approval, the symmetric key encrypted using the collective public key is converted into a symmetric key encrypted using the inquirer's public key U.
[0137] The data processing module is also used to convert the calculation results into query results. The conversion is performed by all computing nodes jointly performing the following distributed key exchange:
[0138] Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer,
[0139] First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where, M = C2-(k1+...+k n-1 )C1, v=v1+…+v n ;
[0140] The data processing module sends the query result encrypted with the inquirer's public key U to the data query terminal.
[0141] The device applied to the data node is a server, which is hosted by a mutually independent government, academic or commercial organization. Multiple devices applied to the computing node are responsible for jointly and securely processing the query requests of data inquirers.
[0142] In a seventh embodiment, a privacy-protecting genetic data sharing device is provided, which is applied to a data query terminal and includes:
[0143] The request generation module is used to allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain; generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; use the collective public key to encrypt the query request and send it to any computing node together with the queryer's public key U;
[0144] The result receiving module is used to receive the query results sent by the computing node, then update the query points, and store the updated query points on the blockchain; use the queryer's own private key u to decrypt the query results, or use the queryer's own private key u to decrypt the symmetric key, and use the symmetric key to decrypt the encrypted data to obtain the real individual data.
[0145] Data queryers are generally researchers who use data query terminals to issue query requests and obtain query results, and then look for individuals with clinical and genetic variants of their interest so that they can recruit them in clinical studies or drug trials.
[0146] In an eighth embodiment, a privacy-protecting genetic data sharing device is provided, which is applied to a storage unit and includes:
[0147] The data storage module is used to receive and store the symmetrically encrypted files and identifiers encrypted by the collective public key, as well as the original files and virtual individual gene data encrypted by the collective public key and then distributedly re-encrypted, i.e., the storage information;
[0148] The query matching module is used to receive the distributed re-encrypted query request, match the query request with the stored information, perform the following two calculations according to the queryer's needs, and send the calculation results to the computing node:
[0149] Let Φ be the set of successfully matched individual identities, including data providers and virtual individuals;
[0150] If the queryer only needs to match the number of individuals successfully, that is, the sum of the identifiers of individuals successfully matched, R, the following homomorphic calculation is performed:
[0151]
[0152] If the queryer needs to match the successful individual identifier, the following calculation is performed:
[0153] Multiply the individual identifier with the homomorphically encrypted identity, that is At this time, after the calculation result is decrypted by the data query terminal, the identifier of the virtual individual is 0. Wherein id represents the individual identity identifier.
[0154] The device applied to the storage unit can be one or more servers responsible for securely storing the clinical and genomic data of the data provider. The data provider can choose any server to store their data. These servers can be distributed in any government, academic or commercial institution that has an IT infrastructure capable of storing large amounts of data.
[0155] The invention concept is described in detail using specific examples herein, and the description of the above embodiments is only used to help understand the core idea of the invention. It should be pointed out that any obvious modification, equivalent substitution or other improvement made by a person of ordinary skill in the art without departing from the invention concept should be included in the protection scope of the present invention.
Claims
1. A privacy-protecting genetic data sharing method, applied to a data providing terminal, characterized in that: include: A virtual individual generation algorithm is used to generate a group of virtual individuals and corresponding gene data, namely, virtual individual gene data; Generate a symmetric encryption key for the data provider to encrypt the original file and obtain a symmetric encrypted file; Assign an identifier to each virtual individual and data provider; Use the collective public key to encrypt the original file, virtual individual gene data, key, and identifier respectively, obtain the encrypted data, and send it to the computing node; Set access policies, including: When synchronizing with the blockchain state, it receives query request notifications for data providers to review and decide whether to approve or reject, and sends the results to the computing node; Wherein: there are more than two computing nodes, each computing node generates a pair of public keys and private keys based on the additive homomorphic algorithm, and also generates a secret, and all computing nodes broadcast their own public keys to generate a collective public key; all computing nodes establish a blockchain; receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; send the symmetric encrypted file and the identifier encrypted by the collective public key to the storage unit; perform distributed re-encryption on the original file and virtual individual gene data encrypted by the collective public key, and send them to the storage unit; receive the query request sent by the data query terminal and encrypted by the additive homomorphic algorithm, and store the query request on the blockchain after verification by all computing nodes; perform distributed re-encryption on the query request and send it to the storage unit; the distributed re-encryption is to convert the additive homomorphic encryption form into a deterministic encryption form; receive the calculation result sent by the storage unit, and store the calculation result on the blockchain after verification by all computing nodes; convert the calculation result into a query result, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
2. A privacy-preserving genetic data sharing method, applied to computing nodes, characterized in that: The number of computing nodes is more than two, including: Each computing node generates a pair of public and private keys based on the additive homomorphic algorithm, and also generates a secret. All computing nodes broadcast their own public keys to generate a collective public key. All computing nodes are established into a blockchain. The encrypted data sent by the receiving data provider terminal is stored on the blockchain after verification by all computing nodes; The symmetrically encrypted file and the identifier encrypted by the collective public key are sent to the storage unit; the original file encrypted by the collective public key and the virtual individual gene data are distributedly re-encrypted and sent to the storage unit; Receive the query request sent by the data query terminal and encrypted by additive homomorphic encryption. The query request is stored on the blockchain after being verified by all computing nodes. Distributed re-encryption of the query request is performed and sent to the storage unit. The distributed re-encryption is to convert the additive homomorphic encryption form into a deterministic encryption form; Receive the calculation results sent by the storage unit, and the calculation results are stored on the blockchain after being verified by all computing nodes; The calculation results are converted into query results, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; The query result encrypted with the inquirer's public key U is sent to the data query terminal.
3. The method according to claim 2, characterized in that The distributed re-encryption adopts the ElGamal encryption algorithm EC-ElGamal on the elliptic curve, including two rounds of processes: Let E K (v) = (C1, C2) = (rG, v + rK) represents the distributed re-encryption of v, where v is the original file encrypted by the collective public key, or the virtual individual gene data encrypted by the collective public key, or the query request, K is the collective public key, r is a random number, G is the base point on the elliptic curve, Round 1: A computing node i uses its secret s i , will s i G is added to C2 and the result is sent to the next computing node i+1. The final result is Round 2: A computing node i receives the ciphertext of the previous computing node i-1 After that, perform the calculation Take out the second item of the final result to determine the encryption result, that is, in 4. The method according to claim 2, characterized in that: Also includes: Reading the access policy on the blockchain, and associating the received encrypted data with the access policy, wherein the access policy is a full consent policy or a dynamic consent policy; For all consent policies, approve or reject the query request; For the dynamic consent strategy, a query is sent to the data provider terminal, and a response result to the query sent by the data provider generated on the blockchain is received and verified; For the responses that choose to agree, the symmetric key encrypted using the collective public key is converted into a symmetric key encrypted using the inquirer's public key U.
5. A privacy-protecting genetic data sharing method, applied to a data query terminal, characterized in that: include: Allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain; Generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; The query request is encrypted using the collective public key and sent to any computing node together with the queryer's public key U; Receive the query results sent by the computing node, then update the query score and store the updated query score on the blockchain; Use the queryer's own private key u to decrypt the query result, or use the queryer's own private key u to decrypt the symmetric key, and use the symmetric key to decrypt the encrypted data to obtain the real individual data; Wherein: there are more than two computing nodes, each computing node generates a pair of public keys and private keys based on the additive homomorphic algorithm, and also generates a secret, and all computing nodes broadcast their own public keys to generate a collective public key; all computing nodes establish a blockchain; receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; send the symmetrically encrypted file and the identifier encrypted by the collective public key to the storage unit; perform distributed re-encryption on the original file and virtual individual gene data encrypted by the collective public key, and send them to the storage unit; receive the query request sent by the data query terminal and encrypted by the additive homomorphic algorithm, and store the query request on the blockchain after verification by all computing nodes; perform distributed re-encryption on the query request and send it to the storage unit; the distributed re-encryption is to convert the additive homomorphic encryption form into the deterministic encryption form; The calculation results sent by the storage unit are received and stored on the blockchain after verification by all computing nodes. The calculation results are converted into query results, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
6. A privacy-protecting genetic data sharing method, applied to a storage unit, characterized in that: include: Receiving and storing symmetrically encrypted files and identifiers encrypted with a collective public key, as well as original files and virtual individual genetic data encrypted with a collective public key and then distributedly re-encrypted, is storage information; Receive the distributed re-encrypted query request, match the query request with the stored information, perform the following two calculations based on the query request, and send the calculation results to the computing node: Let Φ be the set of successfully matched individual identities, including data providers and virtual individuals; If the query request only requires the number of individuals that have been successfully matched, the following homomorphic calculation is performed: If the query request requires a successful match of an individual identifier, the following calculation is performed: Multiply the individual identifier with the homomorphically encrypted identity, that is At this time, the identification of the virtual individual after the calculation result is decrypted is 0; Wherein: there are more than two computing nodes, each computing node generates a pair of public keys and private keys based on the additive homomorphic algorithm, and also generates a secret, and all computing nodes broadcast their own public keys to generate a collective public key; all computing nodes establish a blockchain; receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; send the symmetrically encrypted file and the identifier encrypted by the collective public key to the storage unit; perform distributed re-encryption on the original file and virtual individual gene data encrypted by the collective public key, and send them to the storage unit; receive the query request sent by the data query terminal and encrypted by the additive homomorphic algorithm, and store the query request on the blockchain after verification by all computing nodes; perform distributed re-encryption on the query request and send it to the storage unit; the distributed re-encryption is to convert the additive homomorphic encryption form into the deterministic encryption form; The calculation results sent by the storage unit are received and stored on the blockchain after verification by all computing nodes. The calculation results are converted into query results, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
7. A privacy-protecting genetic data sharing device, applied to a data providing terminal, characterized in that: The device comprises: A virtual individual gene data generation module is used to generate a group of virtual individuals and corresponding gene data, namely, virtual individual gene data, using a virtual individual generation algorithm; The data sending module is used to generate a symmetric encryption key for the data provider to encrypt the original file and obtain the symmetric encrypted file; assign an identifier to each virtual individual and data provider, use the collective public key to encrypt the original file, virtual individual gene data, symmetric encryption file, and identifier respectively, obtain the encrypted data, and send it to the computing node; An audit module is used to set access policies. In the case of a dynamic consent policy, the audit module is also used to receive query request notifications for data providers to review and decide whether to agree or reject when synchronizing with the blockchain state, and send the results to the computing node; Wherein: there are more than two computing nodes, each computing node generates a pair of public keys and private keys based on the additive homomorphic algorithm, and also generates a secret, and all computing nodes broadcast their own public keys to generate a collective public key; all computing nodes establish a blockchain; receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; send the symmetric encrypted file and the identifier encrypted by the collective public key to the storage unit; perform distributed re-encryption on the original file and virtual individual gene data encrypted by the collective public key, and send them to the storage unit; receive the query request sent by the data query terminal and encrypted by the additive homomorphic algorithm, and store the query request on the blockchain after verification by all computing nodes; perform distributed re-encryption on the query request and send it to the storage unit; the distributed re-encryption is to convert the additive homomorphic encryption form into a deterministic encryption form; receive the calculation result sent by the storage unit, and store the calculation result on the blockchain after verification by all computing nodes; convert the calculation result into a query result, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
8. A privacy-protecting genetic data sharing device, applied to a computing node, characterized in that: The device comprises: The data receiving module is used to receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; receive the query request sent by the data query terminal after additive homomorphic encryption, and store it on the blockchain after verification by all computing nodes; receive the calculation result sent by the storage unit, and store it on the blockchain after verification by all computing nodes; A data processing module, used to generate a pair of public keys and private keys based on an additive homomorphic algorithm, and also generate a secret, all computing nodes broadcast their own public keys, thereby generating a collective public key; all computing nodes establish a blockchain; send the symmetrically encrypted files and identifiers encrypted by the collective public key to a storage unit; perform distributed re-encryption of the original files and virtual individual gene data encrypted by the collective public key as described in claim 2 or 3, and send them to the storage unit; perform distributed re-encryption of the query request, and send it to the storage unit; An access policy processing module is used to read the access policy on the blockchain, associate the received encrypted data with the access policy, and the access policy is a full consent policy or a dynamic consent policy; for the full consent policy, agree or reject the query request; for the dynamic consent policy, send a query to the data provider terminal, receive and verify the response to the query generated on the blockchain and sent by the data provider; For the response that chooses to agree, the symmetric key encrypted using the collective public key is converted into a symmetric key encrypted using the public key U of the inquirer; The computing node also receives the computing results sent by the storage unit, which are stored on the blockchain after being verified by all computing nodes. The computing results are converted into query results, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
9. A privacy-protecting genetic data sharing device, applied to a data query terminal, characterized in that: The device comprises: The request generation module is used to allocate query points and pseudo-random identities to data queryers, and store the query points and pseudo-random identities on the blockchain; generate the queryer's own public key U and private key u, and provide data field information for the queryer to perform Boolean combination to establish a query request; use the collective public key to encrypt the query request and send it to any computing node together with the queryer's public key U; The result receiving module is used to receive the query results sent by the computing node, then update the query points, and store the updated query points on the blockchain; use the queryer's own private key u to decrypt the query results, or use the queryer's own private key u to decrypt the symmetric key, and use the symmetric key to decrypt the encrypted data to obtain the real individual data; Wherein: there are more than two computing nodes, each computing node generates a pair of public keys and private keys based on the additive homomorphic algorithm, and also generates a secret, and all computing nodes broadcast their own public keys to generate a collective public key; all computing nodes establish a blockchain; receive the encrypted data sent by the data providing terminal, and store it on the blockchain after verification by all computing nodes; send the symmetric encrypted file and the identifier encrypted by the collective public key to the storage unit; perform distributed re-encryption on the original file and virtual individual gene data encrypted by the collective public key, and send them to the storage unit; receive the query request sent by the data query terminal and encrypted by the additive homomorphic algorithm, and store the query request on the blockchain after verification by all computing nodes; perform distributed re-encryption on the query request and send it to the storage unit; the distributed re-encryption is to convert the additive homomorphic encryption form into a deterministic encryption form; receive the calculation result sent by the storage unit, and store the calculation result on the blockchain after verification by all computing nodes; convert the calculation result into a query result, and all computing nodes jointly perform the following distributed key exchange: Let E K (R) = (C1, C2) = (rG, R + rK) is the result of encryption using the collective public key K, U is the public key of the queryer, First modify E K (R)=(C1,C2) is Then each computing node generates a random number v i , and calculate in The query result finally converted to encrypted using the queryer's public key U is Where v=v1+...+v n ; Send the query result encrypted using the inquirer's public key U to the data query terminal.
Citation Information
Patent Citations
Blockchain data access authority control method based on proxy re-encryption
CN111191288A