Medical data processing method and system, medium and electronic equipment

By combining the same state encryption and blockchain technology, the medical data is encrypted and stored, and the problem of privacy protection and effective use of medical data is solved, realizing the security and transparency of data, protecting patient privacy and promoting the efficient medical data shared.

CN119377975APending Publication Date: 2025-01-28SHANGHAI MINGPIN MEDICAL DATA TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411264218.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

The prior art poses a risk of data leakage in the protection of medical data privacy, and it is difficult to effectively utilize medical data while protecting privacy.

Method used

Combined with the same state encryption and blockchain technology, the medical data is encrypted through the same -state encryption module, the ciphertext data is generated, and it is stored in the blockchain data storage module. Data analysis and decryption are carried out through zero -knowledge proof and homogenic decryption modules to ensure that the data is calculated and analyzed in the encryption state to protect the privacy of patients.

Benefits of technology

Achieve the security and transparency of medical data, ensure that the data is calculated and analyzed without exposing the original information, protecting patient privacy, and realizing the efficient sharing and utilization of medical data while protecting privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119377975A_ABST
    Figure CN119377975A_ABST
Patent Text Reader

Abstract

The invention provides a medical data processing method and system, a medium and electronic equipment, and the method comprises the steps that a homomorphic encryption module obtains first medical data from a block chain data storage module, encrypts the first medical data, generates first ciphertext medical data, and sends the first ciphertext medical data to a data analysis module; a data analysis module analyzes the first ciphertext medical data, generates second ciphertext medical data, sends the second ciphertext medical data to a zero-knowledge proving module for verification, generates third ciphertext medical data, and sends the third ciphertext medical data to a block chain data storage module for storage; the user interface module sends a user operation instruction to the homomorphic decryption module; and the homomorphic decryption module receives a user operation instruction, obtains third ciphertext medical data for decryption, generates second medical data, and sends the second medical data to the user interface module to display the content of the second medical data. According to the method, homomorphic encryption and block chain technologies can be combined, and the security and privacy of the medical data in the processing and analysis process are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of medical data privacy protection, and in particular to a medical data processing method, system, medium and electronic equipment. Background Art

[0002] In terms of medical data, in recent years, databases containing personal privacy, such as medical information systems, have become the focus of illegal hackers, and information security incidents such as illegal theft, leakage, and use of medical information have emerged one after another. In addition to internal factors such as internal theft and data loss, the attacks are more likely to come from external hacker penetration, unauthorized access, interface exposure, and other network attacks.

[0003] The invention patent with publication number CN117633865A provides a medical data privacy protection method based on blockchain and federated learning, including: S1, registration; S2, the task publisher uploads the initial global model parameters to IPFS; S3, the trusted authority generates homomorphic encryption keys and public keys; S4, the trusted authority shares keys; S5, the medical institution trains the local model and encrypts it, and then uploads it to IPFS; S6, the aggregator aggregates the encrypted local model parameters and uploads them to IPFS; S7, the medical institution obtains the aggregated encrypted global model parameters, and partially decrypts them through the key and uploads them to IPFS; S8, the aggregator collects and decrypts the partially decrypted global model parameters; S9, model update.

[0004] Existing technologies have the risk of data leakage in terms of medical data privacy protection, and it is difficult to achieve effective use of medical data while protecting privacy. Summary of the invention

[0005] In view of the defects in the prior art, the present invention provides a medical data processing method, system, medium and electronic device.

[0006] According to a medical data processing method provided by the present invention, the method is applied to a medical data processing system, the medical data processing system includes: a homomorphic encryption module, a data analysis module, a zero-knowledge proof module, a homomorphic decryption module, and a user interface module, the method includes:

[0007] The homomorphic encryption module obtains the first medical data from the blockchain data storage module, encrypts the first medical data, generates first ciphertext medical data, and sends the first ciphertext medical data to the data analysis module;

[0008] The data analysis module analyzes the first ciphertext medical data based on the received first ciphertext medical data to generate second ciphertext medical data, and sends the second ciphertext medical data to the zero-knowledge proof module;

[0009] The zero-knowledge proof module verifies the second ciphertext medical data based on the received second ciphertext medical data, generates third ciphertext medical data, and sends the generated third ciphertext medical data to the blockchain data storage module for storage; the user interface module responds to the user operation and sends the user operation instruction to the homomorphic decryption module;

[0010] The homomorphic decryption module obtains the third ciphertext medical data from the blockchain data storage module based on the received user operation instruction, decrypts the third ciphertext medical data, generates second medical data, and sends the second medical data to the user interface module;

[0011] The user interface module displays content of the second medical data based on the received second medical data.

[0012] It is not difficult to understand that this application uses blockchain technology to store medical data, ensures the integrity and authenticity of medical data, and prevents data from being maliciously tampered with. At the same time, the transparency of blockchain allows medical data to be traced and verified, improves the quality and efficiency of medical services, and encrypts medical data. Encrypting medical data through homomorphic encryption technology allows medical data to be calculated and analyzed without exposing the original information, thereby protecting the privacy of patients. The combination of homomorphic encryption and blockchain technology provides a double guarantee for the security of medical data in the medical field, allowing medical data to achieve efficient medical data sharing and transparent management while protecting patient privacy, ensuring the security and integrity of medical data.

[0013] Furthermore, encrypting the first medical data to generate first ciphertext medical data includes:

[0014] Based on the first medical data, set the parameters of the homomorphic encryption algorithm and generate a key pair; wherein the parameters of the homomorphic encryption algorithm include the degree of the polynomial ring, the noise parameter and the length of the key, and the key pair includes a public key and a private key;

[0015] encoding the first medical data into first coded data, wherein the first coded data is in a polynomial format;

[0016] The first coded data is encrypted using the public key and the noise parameter to obtain first ciphertext medical data.

[0017] Further, analyzing the first ciphertext medical data to generate second ciphertext medical data includes:

[0018] By setting preset business rules, the first ciphertext medical data is analyzed to generate second ciphertext medical data, wherein the preset business rules include: data integrity, data consistency, data scope, and data logic.

[0019] Furthermore, while analyzing the first ciphertext medical data, a rule engine is set to monitor the update status of the first ciphertext medical data:

[0020] Formulate a set of monitoring rules for the first encrypted medical data, and use the rule engine to form a standard execution process for the monitoring rules to automatically screen and analyze the first encrypted medical data. If there is a data change, the rule engine will trigger the update process to timely update the first encrypted medical data.

[0021] Analyzing the first ciphertext medical data to generate second ciphertext medical data includes:

[0022] Creating corresponding authenticated encrypted counters for the attributes of all tables in the database storing the first ciphertext medical data, wherein each of the authenticated encrypted counters is encrypted by an authenticated broadcast signcryption algorithm, and each of the authenticated encrypted counters corresponds to a binary vector;

[0023] Encrypting the binary vector by a homomorphic encryption algorithm to generate an encrypted binary vector;

[0024] Perform logical AND, logical OR mixed operations on the encrypted binary vector to generate second ciphertext medical data.

[0025] It is not difficult to understand that this application uses the CKKS homomorphic encryption algorithm to encrypt medical data and analyze the ciphertext; the advantage is that homomorphic encryption technology allows medical data to be calculated in an encrypted state without decrypting it first, which is particularly important in medical data protection. By using homomorphic encryption technology, the patient's medical data can be encrypted and stored on the blockchain without worrying about the risk of medical data leakage. Protecting sensitive information such as patients' personal information and medical records, and secondly, other institutions or researchers analyze and process these medical data without decrypting them, and realize the sharing and utilization of medical data, which is crucial to promoting medical research and improving the quality of medical services.

[0026] Further, verifying the second ciphertext medical data to generate third ciphertext medical data includes:

[0027] Verify any data in the second ciphertext medical data through a zero-knowledge proof protocol to generate a first verification result;

[0028] When the first verification result is incorrect, any of the data is discarded to generate third ciphertext medical data.

[0029] Further, decrypting the third ciphertext medical data to generate second medical data includes:

[0030] The third ciphertext medical data is decrypted using the private key to generate second medical data.

[0031] It is not difficult to understand that zero-knowledge proof technology allows verification without revealing any sensitive information, which is particularly important for the privacy protection of medical data. In the medical field, patients' health information is extremely sensitive, and any form of leakage may have an adverse effect on patients. Through zero-knowledge proof, the correctness of medical data analysis results can be verified without exposing specific medical data, thereby effectively protecting patient privacy. Zero-knowledge proof technology verifies the results of medical data analysis, ensuring its transparency and fairness, thereby increasing trust in the results of medical data analysis. Using zero-knowledge proof technology to verify the results of medical data ciphertext analysis can not only protect patient privacy and medical data security, but also ensure the accuracy and credibility of medical data analysis results, while promoting the sharing and use of medical data.

[0032] According to a medical data processing system provided by the present application, the system includes:

[0033] A blockchain data storage module, used to store the first medical data and the third ciphertext data;

[0034] A homomorphic encryption module, used to obtain first medical data from the blockchain data storage module, encrypt the first medical data, generate first ciphertext medical data, and send the first ciphertext medical data to the data analysis module;

[0035] A data analysis module, configured to analyze the first ciphertext medical data based on the first ciphertext medical data received by the homomorphic encryption module, generate second ciphertext medical data, and send the second ciphertext medical data to the zero-knowledge proof module;

[0036] A zero-knowledge proof module, used to verify the second ciphertext medical data based on the received second ciphertext medical data, generate third ciphertext medical data, and send the generated third ciphertext medical data to the blockchain data storage module for storage;

[0037] a homomorphic decryption module, configured to receive a user operation instruction sent by the user interface module, obtain the third ciphertext from the blockchain data storage module based on the user operation instruction, and decrypt the third ciphertext medical data to generate second medical data;

[0038] The user interface module is used to send user operation instructions to the homomorphic decryption module in response to user operations; the user interface module is also used to receive the second medical data sent by the homomorphic decryption module and display the content of the second medical data.

[0039] Furthermore, the system also includes: a rights management and access control module: role-based access control to control user access rights to encrypted medical data, ensuring that only authorized specific personnel can access the medical data.

[0040] It is not difficult to understand that this application sets up permission management and access control modules to make authorization management more flexible, and can adjust permission settings according to actual needs to ensure that only authorized personnel can access and use medical data. Through means such as identity authentication, authorization and permission management, the security and confidentiality of medical data can be guaranteed, and the security and confidentiality during the transmission process can be ensured, further enhancing the security of medical data. The implementation of such permission management and access control not only helps to protect the privacy of patients and the security of medical data, but also improves the overall security and reliability of the medical system.

[0041] Furthermore, the system also includes: a system integration and coordination module: realizing interface standardization and medical data synchronization mechanism between modules, performing system testing and performance evaluation; feeding back system integration and test results to each module to guide system optimization and upgrade; a deployment and maintenance module: responsible for system deployment, monitoring and maintenance to ensure stable operation of the system; collecting system operation medical data and maintenance logs for continuous system improvement.

[0042] It is not difficult to understand that this application sets up a system integration and coordination module that can guide system optimization and upgrades. When the system is upgraded, ensure the compatibility of medical data between the new version and the old version to avoid medical data loss or synchronization problems caused by changes in the medical data format. During the upgrade process, the synchronization range can be modified at will to ensure the flexibility and controllability of the upgrade process. Through interface standardization and medical data synchronization mechanism, guide system optimization and upgrade, thereby improving the performance and reliability of the system. At the same time, monitor and maintain the system through the system deployment and maintenance module to improve the stability and maintainability of the system.

[0043] According to a computer-readable storage medium storing a computer program provided by the present invention, the steps of the medical data processing method are implemented when the computer program is executed by a processor.

[0044] An electronic device provided according to the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the steps of the medical data processing method are implemented when the computer program is executed by the processor.

[0045] Compared with the prior art, the present invention has the following beneficial effects:

[0046] The present invention combines homomorphic encryption and blockchain technology to ensure the security and transparency of medical data. The privacy of medical data is protected by homomorphic encryption technology, while blockchain technology provides the integrity and traceability of medical data; this combination provides a double guarantee for data security in the medical field, allowing medical data to be shared and managed transparently while protecting patient privacy, ensuring the security and integrity of medical data.

[0047] Other beneficial effects of the present invention will be explained in the specific implementation manner through the introduction of specific technical features and technical solutions. Through the introduction of these technical features and technical solutions, those skilled in the art should be able to understand the beneficial technical effects brought about by the technical features and technical solutions. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Other features, objects and advantages of the present invention will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:

[0049] Figure 1 is a flow chart of the method of the present invention;

[0050] Figure 2 This is the flow chart of the homomorphic encryption algorithm;

[0051] Figure 3 A flowchart for performing statistical analysis operations on encrypted medical data;

[0052] Figure 4 Flowchart for data privacy protection and authenticity verification;

[0053] Figure 5 This is a system framework diagram of the present invention;

[0054] Figure 6 A system block diagram for setting up the permission management and access control modules;

[0055] Figure 7 System block diagram for system integration and coordination module and setting deployment and maintenance module. DETAILED DESCRIPTION

[0056] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several changes and improvements can also be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

[0057] An embodiment of the present invention provides a medical data processing method, which is applied to a medical data processing system. The medical data processing system includes a homomorphic encryption module, a data analysis module, a zero-knowledge proof module, a homomorphic decryption module, and a user interface module. The method includes:

[0058] The homomorphic encryption module obtains the first medical data from the blockchain data storage module, encrypts the first medical data, generates first ciphertext medical data, and sends the first ciphertext medical data to the data analysis module;

[0059] The data analysis module analyzes the first ciphertext medical data based on the received first ciphertext medical data to generate second ciphertext medical data, and sends the second ciphertext medical data to the zero-knowledge proof module;

[0060] The zero-knowledge proof module verifies the second ciphertext medical data based on the received second ciphertext medical data, generates third ciphertext medical data, and sends the generated third ciphertext medical data to the blockchain data storage module for storage; the user interface module responds to the user operation and sends the user operation instruction to the homomorphic decryption module;

[0061] The homomorphic decryption module obtains the third ciphertext medical data from the blockchain data storage module based on the received user operation instruction, decrypts the third ciphertext medical data, generates the second medical data, and sends the second medical data to the user interface module;

[0062] The user interface module displays content of the second medical data based on the received second medical data.

[0063] It is not difficult to understand that this application uses blockchain technology to store medical data, ensures the integrity and authenticity of medical data, and prevents medical data from being maliciously tampered with. At the same time, the transparency of blockchain allows medical data to be traced and verified, improves the quality and efficiency of medical services, and encrypts medical data. Encrypting medical data through homomorphic encryption technology allows medical data to be calculated and analyzed without exposing the original information, thereby protecting the privacy of patients. The combination of homomorphic encryption and blockchain technology provides a double guarantee for data security in the medical field, allowing medical data to achieve efficient medical data sharing and transparent management while protecting patient privacy, ensuring the security and integrity of medical data.

[0064] Reference Figure 1 As shown, a medical data processing method specifically includes:

[0065] Step S1: The homomorphic encryption module obtains the first medical data from the blockchain data storage module, encrypts the first medical data, generates first ciphertext medical data, and sends the first ciphertext medical data to the data analysis module.

[0066] The first medical data may be information from electronic health records (EHRs), medical journals, clinical guidelines, expert opinions, and other reliable sources, and the acquisition method is not limited in this embodiment.

[0067] First medical data may include patient demographic information, symptoms, signs, laboratory test results, imaging reports, diagnoses, treatment plans and follow-up results. Specifically, expert diagnosis and treatment cases in various professional disciplines, including orthopedic expert diagnosis and treatment cases, obstetrics and gynecology expert diagnosis and treatment cases, oncology expert diagnosis and treatment cases, etc.; relevant literature, books and research papers in various medical fields; online diagnosis and treatment cases of doctors in Internet hospitals; case presentations in academic conferences and discipline exchanges, etc.

[0068] In this embodiment, the encryption of the first medical data includes: setting the parameters of the homomorphic encryption algorithm and generating a key pair; the key pair includes a public key and a private key; wherein the parameters include the degree of the polynomial ring, the noise parameter and the length of the key; encoding the first medical data into the required polynomial format; and then using the public key and the noise parameter to encrypt the encoded first medical data to obtain the first ciphertext medical data.

[0069] Reference Figure 2 As shown, the homomorphic encryption algorithm of the present application can be a homomorphic encryption algorithm for encrypting floating point numbers. For example, the specific steps of the encryption process of the first medical data include:

[0070] Step S1.1: parameter initialization;

[0071] Select the key parameters:

[0072] The modulus of the polynomial is N (usually a power of 2, for example N = 2 14 );

[0073] Modulus q and t (prime as above);

[0074] The security parameter λ is selected to determine the depth L of the modulus chain, that is, the number of homomorphic operations that can be performed.

[0075] Step S1.2: key generation;

[0076] Private key s: from the polynomial ring R = Z[X] / (X N +1) to randomly select a polynomial.

[0077] Public key pk = (a, b):

[0078] a∈R q (Random selection)

[0079] b=-a·s+e mod q

[0080] where e is a small noise polynomial.

[0081] Evaluation key: used for key switching operations to generate key chains at different levels.

[0082] Step S1.3: data encoding;

[0083] Encode a floating point number into a complex polynomial: Convert the input first medical data m into a complex polynomial m(X) through an encoding function Encode(m).

[0084] Formula: The encoded complex polynomial is expressed as:

[0085] (Among them, m i is the coefficient after floating point encoding)

[0086] Step S1.4: encryption process;

[0087] Encrypt the first medical data: encrypt the encoded polynomial m(X) using the public key pk.

[0088] Formula: The ciphertext is expressed as:

[0089] Enc(m(X))=(c0,c1)

[0090] in,

[0091] c0=m(X)+b·r mod q

[0092] c1=a·r mod q

[0093] r is a random polynomial that increases the security of the ciphertext.

[0094] Step S1.5: ciphertext output;

[0095] The ciphertext represents: the output encrypted first ciphertext medical data Enc(m(X))=(c0,c1), where c0 and c1 are both polynomials.

[0096] It is not difficult to understand that this application uses a homomorphic encryption algorithm to encrypt the first medical data, and calculates the first medical data in an encrypted state without decrypting it first. This feature is particularly important in medical data protection. By using homomorphic encryption technology, the patient's first medical data can be encrypted and stored on the blockchain without worrying about the risk of first medical data leakage. Protect sensitive information such as patients' personal information and medical records. Secondly, other institutions or researchers analyze and process these first ciphertext medical data without decryption, and realize the sharing and utilization of the first ciphertext medical data, which is crucial to promoting medical research and improving the quality of medical services.

[0097] Step S2: The data analysis module analyzes the first ciphertext medical data based on the first ciphertext medical data received by the homomorphic encryption module, generates second ciphertext medical data, and sends the second ciphertext medical data to the zero-knowledge proof module.

[0098] In some embodiments, the first ciphertext medical data is analyzed by setting preset business rules to generate the second ciphertext medical data. The preset business rules include data integrity, data consistency, data scope, and data logic.

[0099] Specifically, for example, the integrity of the data can be to ensure that all required fields of the first ciphertext medical data have been filled in without omission. Among them, the integrity of the first ciphertext medical data is mainly verified by data verification technology, which is a method of calculating the verification value of the first ciphertext medical data by a specific algorithm, and using the same algorithm to calculate at the receiving end, and comparing whether the verification values ​​obtained by the two calculations are consistent. If the verification values ​​are the same, it means that the first ciphertext medical data is complete.

[0100] For example, the consistency of data can be whether the format and unit of the first encrypted medical data are correct, such as date format, measurement unit, etc. Among them, it is achieved by writing front-end JavaScript code or background program to ensure that the first encrypted medical data meets the requirements when imported into the system or related medical database, and through the first encrypted medical data verification function, specific unit requirements are set to ensure that the input first encrypted medical data meets the preset unit standard.

[0101] For example, the range of the data can be whether the value falls within a reasonable range, such as blood pressure values ​​should not exceed the normal physiological range of the human body.

[0102] For example, the logic of the data can be to ensure that the logical relationship between the first encrypted medical data is correct, such as the association between symptoms and treatment methods. Among them, the programming language or tool that can be used to verify whether the logic and value of the first encrypted medical data fall within a reasonable range.

[0103] In some other embodiments, this step can also detect whether the rules of the structured first encrypted medical data are consistent. (This is achieved by using a first encrypted medical data consistency verification tool) For example, in the medical field, whether different disease diagnosis codes match the corresponding symptoms, signs, and laboratory test results.

[0104] In some other embodiments, this step can also help monitor the update status of the first ciphertext medical data to ensure that all information is up to date. For example, in a medical data processing system, a rule engine (a rule engine is a software engine that systematizes, automates, and standardizes expert rules, clinical expert rules, product logic, etc.) is used as an important infrastructure to formulate a set of monitoring rules for the first ciphertext medical data, form the monitoring rules into a standard execution process, and automatically screen and analyze the first ciphertext medical data. When new medical research is published, the rule engine can trigger an update process to integrate new knowledge into the existing structured first ciphertext medical data. Among them, monitoring the update status of the first ciphertext medical data can be achieved through a variety of methods, and the specific method depends on the type of database used. For example, MongoDB can use Change Streams to monitor the update of the first ciphertext medical data in real time. This involves connecting to a MongoDB database, selecting the database and collection to be monitored, and then subscribing to update notifications. By processing these update notifications, changes in the database can be responded to in real time.

[0105] In some other embodiments, this step can also ensure that the first ciphertext medical data complies with relevant laws, regulations and industry standards, such as privacy protection regulations. Specifically, by using tools such as Drools, JESS, URule, etc., they provide the ability to define, execute and manage rules. The rules can be in various formats, such as DRL (Drools RuleLanguage), XLS (Excel-like format) or XML. This step reads and parses these rule files, and then applies them to the first ciphertext medical data, performs corresponding logical judgments and operations, and generates the second ciphertext medical data, thereby ensuring the accuracy and reliability of the second ciphertext medical data.

[0106] In some embodiments, the first ciphertext medical data is analyzed by setting preset business rules to generate second ciphertext medical data.

[0107] It is not difficult to understand from the above content that by setting the preset business rules, when analyzing the first ciphertext medical data, a large amount of statistical analysis operations of the first ciphertext medical data are involved. Therefore, in some other embodiments of the present application, a method for performing statistical analysis operations on ciphertext medical data is provided. Figure 3 A flowchart for performing statistical analysis on the first encrypted medical data; Figure 3 As shown, in an embodiment of the present application, a statistical analysis is performed on the first ciphertext medical data, specifically as follows:

[0108] Step S2.1: Temporarily store the first encrypted medical data in the encrypted medical database, and create corresponding authenticated encrypted counters for the attributes of all tables in the encrypted medical database. Each authenticated encrypted counter corresponds to an encrypted binary vector EV CTR ; (wherein the attributes of the table refer to: when the first ciphertext medical data is stored in the ciphertext medical database, it will be stored in different tables, different tables have different attributes, and each attribute has a unique identifier counter).

[0109] Step S2.2: Encrypt each authenticated encrypted counter using an authenticated broadcast signcryption algorithm;

[0110] Step S2.3: Binary vector EV CTR The encryption is performed using a homomorphic encryption algorithm, and logical AND, logical OR mixed operations are performed on the encrypted binary vector at runtime to achieve statistical analysis of the first ciphertext medical data.

[0111] Specifically, the authenticated broadcast signcryption algorithm mentioned in step S2.2 of this embodiment adopts a homomorphic broadcast signcryption algorithm, including five polynomial time algorithms Setup, KeyGen, Signcrypt, DeSigncrypt, and Verify, as follows:

[0112] Setup(1 λ ): Input security parameter λ, output public parameter params;

[0113] KeyGen s (params): Input public parameters params, output sender's public and private key pair (pk s ,sk s );

[0114] KeyGen r (params,t,i): Input public parameters params and receiver number i = {1,2,…,t, output receiver’s public key pk r and t private keys (sk1, sk2, ..., sk t );

[0115] Signcrypt(params,pk r ,sk s ,m): Input common parameters params,pk r ,sk s And the plaintext message m and a subset S∈{1,2,…,t, output broadcast signcryption message HBSC(m)=<Hdr,S> , Hdr is the head, S is the receiver set;

[0116] DeSigncrypt(params,pk s ,sk i ,HBSC(m)): Input the public key pk of the encryptor s , a validator's private key sk i and ciphertext HBSC(m), output plaintext message m;

[0117] Verify(pk s ,sk i ,HBSC(m),m′): Input the public key pk of the encryptor s , a validator's private key sk i , ciphertext HBSC(m) and message to be verified m′, if m=m′, then output 1, otherwise 0;

[0118] The authenticatable encrypted counter implements mean calculation under ciphertext medical data based on the additive homomorphism of the HBSC algorithm, specifically:

[0119] Suppose there are n encrypted counters, whose plaintext and ciphertext values ​​are (m1,m2,…,m n ) and (c1,c2,…,c n ), then calculate c sum =∏ n i=1 c i , then the sum and mean μ of the counters are:

[0120] sum = D h (c sum ),μ=sum / n;

[0121] The homomorphic encryption algorithm adopts the Paillier cryptographic algorithm, which is as follows:

[0122] Let c = E(m) represent the encryption of message m to obtain ciphertext c, D(c) represent the decryption of ciphertext c to obtain plaintext m, let c1 = E(m1), c2 = E(m2), the Paillier cipher algorithm has the following properties:

[0123] D(c1*c2)=m1+m2

[0124] Encrypt each element in the vector using the Paillier cipher algorithm.

[0125] It is not difficult to understand from the above content that the present application creates corresponding authenticated encrypted counters for the attributes of all tables of the encrypted medical database temporarily storing the first encrypted medical data, and each authenticated encrypted counter corresponds to an encrypted binary vector EV CTR; By performing logical AND, logical OR mixed operations on the encrypted binary vector, statistical analysis of the first ciphertext medical data is achieved, thereby satisfying the preset business rule verification of the first ciphertext medical data of this application without decryption, and obtaining medical analysis results. It is further possible for other institutions or researchers to analyze and process the first ciphertext medical data without decryption, so that the first ciphertext medical data can be shared and used without leaking, which is further conducive to promoting medical research and improving the quality of medical services.

[0126] Step S3: The zero-knowledge proof module verifies the second ciphertext medical data based on the received second ciphertext medical data, generates third ciphertext medical data, and sends the generated third ciphertext medical data to the blockchain data storage module for storage; the user interface module responds to the user operation and sends the user operation instruction to the homomorphic decryption module.

[0127] Any data in the second ciphertext medical data is verified by a zero-knowledge proof protocol to generate a first verification result; if the first verification result is incorrect, any data is removed to generate third ciphertext medical data. In this embodiment, the zero-knowledge proof protocol includes but is not limited to: zk-SNARKs, zk-STARKs, Schnorr protocol, zk-PoK and interactive zero-knowledge proof protocol.

[0128] Taking zk-SNARKs as an example, any data in the second ciphertext medical data is used as a proof condition, and the proof key and verification key are generated through the zk-SNARKs Setup algorithm. A proof is generated according to the proof key and the proof condition through the zk-SNARKs Prover algorithm. The generated proof is verified according to the verification key and the proof condition through the zk-SNARKs Verifier algorithm to generate a first verification result. When the first verification result is correct, it proves that the data is safe and complete. Otherwise, it proves that the data is unsafe and incomplete, and the data is removed from the first ciphertext medical data to generate the third ciphertext medical data.

[0129] Reference Figure 4 As shown, in the embodiment of the present application, a zero-knowledge proof scheme is designed to achieve privacy protection and authenticity verification of the second ciphertext medical data, as follows:

[0130] Step S3.1: Initialization: Initialize through the trusted medical data authentication authority DA, input the security parameter λ, and use the zero-knowledge proof system ZKP's ZKP.Setup(1λ) to obtain the public parameter pp;

[0131] Among them, the trusted medical data authentication agency DA selects the digital signature mechanism ∏=(KeyGen, Sign, Verify) and runs ∏.KeyGen to generate a public key / private key pair (pka, ska);

[0132] Among them, the trusted medical data authentication agency DA generates a unique ID for the user DU of the decentralized application and publishes (pp, pka) to the public; the trusted medical data authentication agency DA constructs the circuit C according to the computing tasks required by the decentralized application DApp;

[0133] Step S3.2: Generate a key pair; use the public parameter pp and the circuit C as input through the key generator, run the ZKP.KeyGen(pp,C) algorithm of the zero-knowledge proof system ZKP, and generate a key pair (pk,vk), where the proof key pk is used to generate the proof and the verification key vk is used to verify the proof;

[0134] Step S3.3: Authentication of the second ciphertext medical data; the trusted medical data authentication authority DA takes the personal private second ciphertext medical data and the signature private key ska as input, runs the algorithm, performs signature authentication on the second ciphertext medical data and generates a signature σa;

[0135] Step S3.4: Generate proof; the certifier terminal of the user DU of the decentralized application uses the second encrypted medical data as the input value of the circuit C, and uses the calculation result R and the hash value h as the output value of the arithmetic circuit C, and inputs them into the circuit C; the user DU of the decentralized application executes the algorithm of the zero-knowledge proof system ZKP to generate proof π;

[0136] Step S3.5: Verify the proof; the verifier V runs the Verify(vk, pka, π, R, h, σa) algorithm to verify whether the proof π is correct; if the verification is successful, it proves that the second ciphertext medical data is correct, otherwise the second ciphertext medical data result is wrong.

[0137] In some other embodiments, the above zero-knowledge proof scheme may not use zk-SNARKs and zk-STARKs;

[0138] ZKP.Setup(1λ) is used to initialize the public parameter pp of the zero-knowledge proof system; ZKP.KeyGen(pp, C) is used to generate a proof key pair (pk, vk), where the proof key pk is used to generate the proof and the verification key vk is used to verify the proof;

[0139] Used to generate proof π, proving that the calculation result R is calculated from real and valid medical data; ZKP.Verify(vk,π,R,h) is used to verify proof π to determine the authenticity, validity and correctness of the second ciphertext medical data.

[0140] It is not difficult to understand that through zero-knowledge proof, the correctness of the second ciphertext medical data can be verified without exposing specific medical data, thereby effectively protecting patient privacy. Zero-knowledge proof technology verifies the second ciphertext medical data, ensuring its transparency and fairness, thereby increasing trust in the second ciphertext medical data. Using zero-knowledge proof technology to verify the second ciphertext medical data can not only protect patient privacy and medical data security, but also ensure the accuracy and credibility of the second ciphertext medical data, while promoting the sharing and use of the second ciphertext medical data.

[0141] Step S4: Based on the received user operation instruction, the homomorphic decryption module obtains the third ciphertext medical data from the blockchain data storage module, decrypts the third ciphertext medical data, generates second medical data, and sends the second medical data to the user interface module. The user interface module displays the content of the second medical data based on the received second medical data.

[0142] Specifically, it includes: using the private key of the homomorphic encryption algorithm to decrypt each third ciphertext medical data to obtain the second medical data.

[0143] The specific process of decrypting the third ciphertext medical data in this step is as follows:

[0144] Decrypting ciphertext: Decrypt the ciphertext using the private key s. It is not difficult to understand that the private key S here is the private key in the key pair mentioned in the above step S1.

[0145] Formula: The decryption process is:

[0146] m′(X)=c0+c1·s mod q

[0147] If the noise is properly controlled, the decrypted polynomial m′(X) should be close to the polynomial m(X) after the public key pk encryption encoding; c0 and c1 are both polynomials.

[0148] Decoding floating point numbers: Decoding the polynomial m′(X) back to floating point numbers to obtain the second medical data.

[0149] formula:

[0150] (get approximate floating point number)

[0151] Among them, m i is the coefficient after floating point encoding, and N is the polynomial modulus.

[0152] It is not difficult to understand that the process of decrypting the third ciphertext medical data using the homomorphic encryption algorithm adopted in this application fully protects patient privacy, realizes the sharing and utilization of medical data, improves the effectiveness of medical diagnosis and treatment, ensures the authenticity and credibility of the third ciphertext medical data, prevents the third ciphertext medical data from being tampered with or forged during transmission and storage, prevents unauthorized access and abuse, and supports the analysis and mining of encrypted medical data.

[0153] Reference Figure 5 As shown, a medical data processing system is used to execute a medical data processing method, including: a blockchain data storage module M1, a homomorphic encryption module M2, a data analysis module M3, a zero-knowledge proof module M4, a homomorphic decryption module M5 and a user interface module M6.

[0154] The blockchain data storage module M1 is used to store the first medical data and the third ciphertext data.

[0155] In this embodiment, operation log data of performing preset operations on first medical data (target data) is collected, wherein the preset operations include at least one of the following: adding, deleting, modifying, and viewing; the operation log data is stored in the operation log chain of each node of the blockchain network, wherein the operation log chain stores a hash value corresponding to the operation log data; the hash value corresponding to the operation log data is superimposed on an information display page displaying the first medical data; based on the hash value extracted from the information display page, the operation log data of performing preset operations on the target data stored on the blockchain network is queried.

[0156] Blockchains are divided into three types: public chains, private chains, and consortium chains. All participants in a public chain can write data to the chain, read data from the chain, etc., and each participant can freely join and exit the public chain. A private chain is a blockchain suitable for use within a specific organization, and its data writing and data reading permissions are controlled by a specific organization. A consortium chain is a blockchain between a public chain and a private chain. Each node in a consortium chain usually has a corresponding entity organization. Participants join the consortium chain through authorization and form a consortium with related interests to jointly maintain the operation of the blockchain.

[0157] Homomorphic encryption module M2: used to obtain the first medical data from the blockchain data storage module, encrypt the first medical data, generate first ciphertext medical data, and send the first ciphertext medical data to the data analysis module M3.

[0158] Select an appropriate homomorphic encryption algorithm, such as partial homomorphic or full homomorphic encryption, to support secure first medical data processing operations. Provide the encrypted first ciphertext medical data to the data analysis module M3, while ensuring the security of the first ciphertext medical data during transmission and storage.

[0159] Data analysis module M3: used to analyze the first ciphertext medical data based on the first ciphertext medical data received by the homomorphic encryption module, generate second ciphertext medical data, and send the second ciphertext medical data to the zero-knowledge proof module M4. In this embodiment, the first ciphertext medical data is calculated by the data analysis algorithm of the homomorphic encryption algorithm to achieve statistical and trend analysis of the first ciphertext medical data without decrypting each ciphertext.

[0160] Zero-knowledge proof module M4: used to verify the second ciphertext medical data based on the received second ciphertext medical data, generate third ciphertext medical data, and send the generated third ciphertext medical data to the blockchain data storage module M1 for storage. The zero-knowledge proof scheme in this module is not limited to zk-SNARKs and zk-STARKs; ZKP.Setup(1λ) is used to initialize the public parameter pp of the zero-knowledge proof system; ZKP.KeyGen(pp, C) is used to generate a proof key pair (pk, vk), where the proof key pk is used to generate the proof and the verification key vk is used to verify the proof; used to generate proof π, proving that the calculation result R is calculated from real and valid medical data; ZKP.Verify(vk,π,R,h) is used to verify proof π to determine the authenticity, validity and correctness of the second ciphertext medical data.

[0161] Homomorphic decryption module M5: used to receive the user operation instruction sent by the user interface module M6, obtain the third ciphertext medical data from the blockchain data storage module M1 based on the user operation instruction, and decrypt the third ciphertext medical data to generate second medical data;

[0162] User interface module M6: used to send user operation instructions to the homomorphic decryption module M5 in response to user operations; the user interface module M6 is also used to receive the second medical data sent by the homomorphic decryption module M5 and display the content of the second medical data.

[0163] Reference Figure 6 As shown, in other embodiments, the medical data processing system may further include: a rights management and access control module M7: role-based access control, controlling user access rights to encrypted medical data, ensuring that only authorized specific personnel can access the medical data.

[0164] In this embodiment, the authority management and access control M7 includes:

[0165] S6.1: Define access rights.

[0166] Specifically include: defining access rights for different user roles, such as administrators, researchers, etc. Using the role-based access control (RBAC) model to assign permissions to different roles.

[0167] S6.2: Implement access control.

[0168] Specifically, implementing access control logic in the system to ensure that users can only perform operations within their authority is an important step to ensure system security. The following is the specific process of implementing access control through role-based access control (RBAC):

[0169] S6.2.1: Define roles and permissions.

[0170] Identify the roles that exist in the system, such as administrators, researchers, etc. Assign corresponding permissions to each role, such as read, write, delete, and other operations.

[0171] S6.2.2: Create an access control list (ACL).

[0172] Creating an access control list includes: adding defined roles to the access control list. Adding resources in the system to the access control list. Assigning corresponding permissions to roles, and defining which roles can perform which operations on which resources.

[0173] S6.3: Implement permission checking logic.

[0174] Specifically, it includes: obtaining the user's role from the user information, and checking whether the user has the authority to perform the operation based on the user's role and the requested operation. If the user has the authority to perform the operation, the operation is allowed; otherwise, the operation is rejected and the corresponding error message is returned.

[0175] S6.4: Implement permission control.

[0176] Specifically, it includes: defining a permission check decorator and applying it to the method that requires permission control. Defining a permission check context manager and using it in the code block that requires permission control. Calling the permission check method directly before the operation that requires permission control.

[0177] It is not difficult to understand that this application effectively implements access control logic in the system by defining roles and permissions, creating access control lists (ACLs), implementing permission checking logic, and implementing specific methods of permission control, ensuring that users can only perform operations within their permission scope.

[0178] Reference Figure 7 As shown, in other embodiments, the medical data processing system may further include: a system integration and coordination module M8.

[0179] The system integration and coordination module M8 is used to implement interface standardization and medical data synchronization mechanism between modules, perform system testing and performance evaluation; and feed back system integration and test results to each module to guide system optimization and upgrade.

[0180] In this embodiment, the interface standardization and medical data synchronization mechanism between modules are implemented, specifically including:

[0181] Interface design submodule: used to ensure that the interface design is reasonable and can efficiently process large amounts of medical data. It adopts optimization strategies such as batch operations, asynchronous processing, cache utilization, preprocessing, and pooling resources to improve interface performance.

[0182] Batch operation submodule: used to reduce the number of interactions with the medical database and avoid frequent I / O overhead by merging multiple separate medical database operations.

[0183] Asynchronous processing submodule: used to put time-consuming logic into asynchronous tasks for execution, thereby reducing interface response time.

[0184] Cache utilization submodule: used to cache scenarios where medical data is frequently accessed but infrequently changed, reducing dependence on external resources.

[0185] Preprocessing submodule: used to prepare the required medical data before the interface is called to avoid repeated queries or calculations.

[0186] Pooled resource submodule: used to pre-create and maintain reusable resource pools, such as medical database connection pools, thread pools, etc., to improve resource utilization efficiency.

[0187] Medical data synchronization mechanism submodule: used to design a reasonable medical data synchronization solution, such as synchronizing medical data through a scheduled task calling interface, and returning the previous medical data object when the next round of scheduled tasks starts to confirm whether the medical data is successfully synchronized.

[0188] Implement the synchronization cycle function submodule: used to allow users to customize the synchronization cycle and automatically report and summarize medical data.

[0189] Special symbol processing submodule: used to convert special symbols into null values ​​or perform search and processing to ensure the accuracy of medical data synchronization.

[0190] It is not difficult to understand that this application ensures the compatibility of medical data between the new version and the old version when the system is upgraded, avoiding medical data loss or synchronization problems caused by changes in the medical data format. During the upgrade process, the synchronization range can be modified by yourself to ensure the flexibility and controllability of the upgrade process. Through interface standardization and medical data synchronization mechanism, the system optimization and upgrade are guided, thereby improving the performance and reliability of the system.

[0191] In other embodiments, the medical data processing system may further include: a deployment and maintenance module M9.

[0192] The deployment and maintenance module M9 is responsible for the deployment, monitoring and maintenance of the system to ensure the stable operation of the system; it collects system operation medical data and maintenance logs for continuous improvement of the system.

[0193] In this implementation, system deployment monitoring and maintenance include:

[0194] Use monitoring tools such as Prometheus, Zabbix, Nagios, etc. to monitor the system's operating status in real time, including server load, network traffic, service availability, etc.

[0195] Use log management tools, such as ELK Stack, to collect, store, and analyze system log information to facilitate fault diagnosis and troubleshooting.

[0196] Achieve automated expansion and contraction, and adjust resource allocation through automated tools based on system load and performance requirements to ensure system availability and performance.

[0197] Use configuration management tools to define system configuration as code, automatically apply it to the target environment, ensure the consistency of the environment, and facilitate configuration modification and rollback.

[0198] It is not difficult to understand that this application automatically backs up medical data regularly and establishes a recovery process to deal with potential system failures and medical data loss risks. Through automated deployment and rollback, the system is monitored and maintained to improve the stability and maintainability of the system.

[0199] It should be understood that the embodiments of the present invention can be implemented in hardware, software or a combination thereof. Software can be stored in a volatile or non-volatile storage device (regardless of whether the data is deletable or rewritable) like a ROM, in a memory like a RAM, a memory chip, a device or an integrated circuit, or in a storage medium on which data can be optically or magnetically recorded and from which data can be read by a machine (e.g., a computer), such as a compact disc (CD), a digital versatile disc (DVD), a disk, or a tape. Moreover, the embodiments of the present invention can be implemented in a computer or portable terminal having a controller and a memory, and the memory is an example of a non-temporary computer-readable storage medium suitable for storing one or more programs including commands for implementing the embodiments of the present invention. Therefore, the present invention includes a program having a code for implementing the device or method defined by the claims, and a machine-readable non-temporary storage medium storing the program. The program can be transferred electrically by a medium such as a communication signal transmitted via a wired or wireless connection, and the program and its equivalent are included in the present invention.

[0200] The device may receive a program from a program providing device connected via a cable or wirelessly and store the program. The program providing device may include a program containing commands for implementing the embodiments of the present invention, a memory for storing information required by the embodiments of the present invention, a communication module for communicating with the mobile device via a cable or wirelessly, and a controller for transmitting the program to the device automatically or upon request of the device.

[0201] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. In the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.

Claims

1. A medical data processing method, applied to a medical data processing system, wherein the medical data processing system comprises a homomorphic encryption module, a data analysis module, a zero-knowledge proof module, a homomorphic decryption module, and a user interface module, characterized in that: The method comprises: The homomorphic encryption module obtains the first medical data from the blockchain data storage module, encrypts the first medical data, generates first ciphertext medical data, and sends the first ciphertext medical data to the data analysis module; The data analysis module analyzes the first ciphertext medical data based on the received first ciphertext medical data to generate second ciphertext medical data, and sends the second ciphertext medical data to the zero-knowledge proof module; The zero-knowledge proof module verifies the second ciphertext medical data based on the received second ciphertext medical data, generates third ciphertext medical data, and sends the generated third ciphertext medical data to the blockchain data storage module for storage; the user interface module responds to the user operation and sends the user operation instruction to the homomorphic decryption module; The homomorphic decryption module obtains the third ciphertext medical data from the blockchain data storage module based on the received user operation instruction, decrypts the third ciphertext medical data, generates second medical data, and sends the second medical data to the user interface module; The user interface module displays content of the second medical data based on the received second medical data.

2. The medical data processing method according to claim 1, characterized in that: The encrypting the first medical data to generate the first ciphertext medical data includes: Based on the first medical data, set the parameters of the homomorphic encryption algorithm and generate a key pair; wherein the parameters of the homomorphic encryption algorithm include the degree of the polynomial ring, the noise parameter and the length of the key, and the key pair includes a public key and a private key; encoding the first medical data into first coded data, wherein the first coded data is in a polynomial format; The first coded data is encrypted using the public key and the noise parameter to obtain first ciphertext medical data.

3. The medical data processing method according to claim 1, characterized in that: Analyzing the first ciphertext medical data to generate second ciphertext medical data includes: By setting preset business rules, the first ciphertext medical data is analyzed to generate second ciphertext medical data, wherein the preset business rules include: data integrity, data consistency, data scope, and data logic.

4. The medical data processing method according to claim 3, characterized in that: While analyzing the first ciphertext medical data, a rule engine is set to monitor the update status of the first ciphertext medical data: Formulate a set of monitoring rules for the first encrypted medical data, and use the rule engine to form a standard execution process for the monitoring rules to automatically screen and analyze the first encrypted medical data. If there is a data change, the rule engine will trigger the update process to timely update the first encrypted medical data.

5. The medical data processing method according to claim 1 or claim 3, characterized in that: Analyzing the first ciphertext medical data to generate second ciphertext medical data includes: Creating corresponding authenticated encrypted counters for the attributes of all tables in the first ciphertext medical data, wherein each of the authenticated encrypted counters is encrypted by an authenticated broadcast signcryption algorithm, and each of the authenticated encrypted counters corresponds to a binary vector; Encrypting the binary vector by a homomorphic encryption algorithm to generate an encrypted binary vector; Perform logical AND, logical OR mixed operations on the encrypted binary vector to generate second ciphertext medical data.

6. The medical data processing method according to claim 1, characterized in that: Verifying the second ciphertext medical data to generate third ciphertext medical data includes: Verify any data in the second ciphertext medical data through a zero-knowledge proof protocol to generate a first verification result; When the first verification result is incorrect, any of the data is discarded to generate third ciphertext medical data.

7. The medical data processing method according to claim 2, characterized in that: Decrypting the third ciphertext medical data to generate second medical data includes: The third ciphertext medical data is decrypted using the private key to generate second medical data.

8. A medical data processing system, based on the medical data processing method according to any one of claims 1 to 7, characterized in that: include: A blockchain data storage module, used to store the first medical data and the third ciphertext data; A homomorphic encryption module, used to obtain first medical data from the blockchain data storage module, encrypt the first medical data, generate first ciphertext medical data, and send the first ciphertext medical data to the data analysis module; A data analysis module, configured to receive the first ciphertext medical data from the homomorphic encryption module, analyze the first ciphertext medical data, generate second ciphertext medical data, and send the second ciphertext medical data to the zero-knowledge proof module; A zero-knowledge proof module, used to receive the second ciphertext medical data, verify the second ciphertext medical data, generate third ciphertext medical data, and send the generated third ciphertext medical data to the blockchain data storage module for storage; a homomorphic decryption module, configured to receive a user operation instruction sent by the user interface module, obtain the third ciphertext from the blockchain data storage module based on the user operation instruction, and decrypt the third ciphertext medical data to generate second medical data; The user interface module is used to send user operation instructions to the homomorphic decryption module in response to user operations; the user interface module is also used to receive the second medical data sent by the homomorphic decryption module and display the content of the second medical data.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the medical data processing method according to any one of claims 1 to 7 are implemented.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the computer program is executed by a processor, the steps of the medical data processing method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Medical data privacy protection method based on block chain and federal learning

    CN117633865A

  • Special disease big data privacy protection method and system based on block chain

    CN113221162A

  • Encrypted data statistical analysis method based on authenticated encryption counter

    CN113849840A

  • Medical data sharing method and device based on block chain, equipment and storage medium

    CN117409914A

  • Apparatus and method for providing electronic receipt using geofencing

    KR1020220124404A