An electronic health record management system
By using hash values uploaded to the aggregation server and verified on the IoT server within the Electronic Health Record Management System, the problem of balancing the security and sharing of EHR data is solved, achieving efficient data storage and seamless integration.
Patent Information
- Application Number
- CN202211383740.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-07
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2042-11-07
AI Technical Summary
In existing technologies, it is difficult to balance the security and sharing of electronic health record (EHR) data, especially in terms of data access control and storage efficiency, which leads to data consuming a lot of bandwidth and prolonging block generation time.
By uploading the hash value of the data packet to be processed to the aggregation server, registering it with the blockchain through the aggregation server, and saving the data after verification by the IoT server, the blockchain serves as the integrity and authenticity verification of the data packet, while the IoT server is responsible for data storage. This solves the problem of data storage consuming a lot of bandwidth and prolonging block generation time.
It achieves a balance between the security and sharing of EHR data, provides seamless data integration between patients and doctors, and ensures data security and efficient storage.
Smart Images

Figure CN115914208B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic health data management technology, and in particular to an electronic health record management system. Background Technology
[0002] Wearable devices have significant application prospects in the fields of health monitoring, disease treatment, remote diagnosis and rehabilitation, and the electronic health record (EHR) data they collect can help us better understand our bodies, eliminate sub-health conditions, and build strong bodies to stay away from diseases.
[0003] With its increasing medical value, wearable medical devices possess immense development potential, capable of fundamentally revolutionizing the healthcare industry, improving patient-doctor interactions, and pioneering a proactive healthcare approach that empowers patients to better understand their health. EHR data volume is also growing at a rate of 48% annually, reaching 2314 zetta bytes in 2020. However, according to statistics from the U.S. Department of Health and Human Services, between 2009 and 2017, there were over 2181 cases of medical data breaches, resulting in the exposure of 176,709,305 medical records. Furthermore, the highly distributed and fragmented nature of EHR data, along with the complex relationships between data owners and users, makes effective access control of EHR data particularly challenging. Balancing the security and sharing of EHR data has become a critical issue in the eHealth field.
[0004] Therefore, there is a need for an electronic health record management system that can provide security for EHR data while enabling seamless integration between patients, doctors, and data, thus achieving a balance between the security and sharing of EHR data. Summary of the Invention
[0005] To address the technical challenges of secure storage and real-time sharing of EHR data, this invention provides an electronic health record management system, the specific technical solution of which is as follows:
[0006] This invention provides an electronic health record management system, comprising:
[0007] The data processing end obtains the data packet to be processed, calculates the hash value of the data packet to be processed, and uploads the hash value to the aggregation server, and registers it with the blockchain through the aggregation server;
[0008] After successful registration, the aggregation server sends the path information corresponding to the hash value to the data processing terminal.
[0009] The data processing terminal uploads the data packet to be processed and its corresponding path information to the IOT server.
[0010] The IoT server verifies the correctness of the data packet to be processed through the aggregation server based on the path information, and saves the data packet to be processed and its corresponding path information when the verification is successful.
[0011] The Electronic Health Record Management System provided by this invention uploads the hash value of the data packet to be processed to an aggregation server. The aggregation server 200 registers with the blockchain, uploads the data packet to be processed and its corresponding path information on the aggregation server to an IoT server, and saves the data after verification by the IoT server. This solves the problem of traditional technology, which saves data to blocks, causing electronic health record data to consume a lot of bandwidth and prolong block generation time. This application uses the blockchain as an authentication layer for the correctness and integrity of the data packet to be processed, seals the status of the data packet to be processed, and provides portability of the data packet entries. The IoT server realizes the data storage of the data packet to be processed, so that the electronic health record management system can take into account the security and sharing of EHR data, provide security for EHR data, and achieve seamless connection between patients, doctors and data.
[0012] In some implementations, the data processing terminal acquires the data packet to be processed, calculates the hash value of the data packet, and uploads the hash value to the aggregation server. The aggregation server then registers the data packet with the blockchain. Specifically, this includes:
[0013] The electronic health record data management terminal acquires users' electronic health record data;
[0014] The electronic health record data management terminal generates first signature data by signing the electronic health record data with a private key.
[0015] The electronic health record data management terminal generates an electronic health record data packet based on the electronic health record data and the first signature data, and calculates the first hash value of the electronic health record data packet;
[0016] The electronic health record data management terminal uploads the first hash value to the aggregation server and registers it with the blockchain through the aggregation server.
[0017] In some implementations, the data processing terminal acquires the data packet to be processed, calculates the hash value of the data packet, and uploads the hash value to the aggregation server. The aggregation server then registers the data packet with the blockchain. Specifically, the implementation further includes:
[0018] The electronic health record data access terminal generates first access request data, which is used to access the first electronic health record data packet.
[0019] The electronic health record data access terminal generates a second signature data by signing the first access request data with a private key.
[0020] The electronic health record data access terminal generates a first access request data packet and calculates the first access request data packet to obtain a second hash value. The first access request data packet includes the first access request data and the second signature data.
[0021] The electronic health record data access terminal uploads the second hash value to the aggregation server and registers with the blockchain through the aggregation server.
[0022] In some implementations, after saving the data packet to be processed and its corresponding path information upon successful verification, the method further includes:
[0023] The IOT server sends the electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet.
[0024] In some implementations, the electronic health record data management terminal acquires the user's electronic health record data, specifically including:
[0025] The electronic health record data management terminal acquires the user's electronic health record;
[0026] The electronic health record data management terminal reconstructs and generates the PUK root key and the electronic health record data management terminal public-private key pair based on the built-in PUF component;
[0027] The electronic health record data management terminal uses the public and private key pair of the electronic health record data management terminal and the PUK root key to sign and encrypt the electronic health record, and generate an electronic health record key;
[0028] After saving the data packet to be processed and its corresponding path information upon successful verification, the method further includes:
[0029] The IoT server sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet. The first access request data packet includes the first access request data, the public key of the electronic health record data access terminal, and the second signature data.
[0030] In some embodiments, after the IoT server sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet, it further includes:
[0031] The electronic health record data management terminal encrypts the electronic health record key using the public key of the electronic health record data access terminal to obtain a second electronic health record key, and uploads the second electronic health record key to the aggregation server, and registers with the blockchain through the aggregation server;
[0032] The electronic health record data management terminal uploads the second electronic health record key to the IOT server;
[0033] The electronic health record data access terminal generates second access request data and uploads the second access request data to the aggregation server, and registers with the blockchain through the aggregation server 200;
[0034] The electronic health record data access terminal uploads the second access request data to the IOT server;
[0035] The IoT server sends the second electronic health record key to the electronic health record data access terminal;
[0036] The electronic health record data access terminal decrypts the second electronic health record key according to its private key to obtain the electronic health record key, and uses the electronic health record key to decrypt the electronic health record data.
[0037] In some implementations, the electronic health record data management terminal encrypts the electronic health record key using the public key of the electronic health record data access terminal to obtain a second electronic health record key, and uploads the second electronic health record key to the aggregation server, and registers with the blockchain through the aggregation server, specifically including:
[0038] The IoT server sends the first access request data packet and its corresponding second path information to the electronic health record data management terminal.
[0039] The electronic health record data management terminal verifies the correctness of the first access request data packet with the blockchain based on the second path information;
[0040] When the first access request data packet is verified, the electronic health record data management terminal decrypts the electronic health record key corresponding to the first access request data packet according to the first access request data packet;
[0041] The electronic health record data management terminal encrypts the electronic health record key according to the public key of the electronic health record data access terminal, and generates the second electronic health record key;
[0042] The electronic health record data management terminal generates third signature data by signing the second electronic health record key with a private key.
[0043] The electronic health record data management terminal generates a second electronic health record key data packet based on the second electronic health record key and the third signature data, and calculates the third hash value of the second electronic health record key data packet;
[0044] The electronic health record data management terminal uploads the third hash value to the aggregation server, and registers it with the blockchain through the aggregation server.
[0045] In some implementations, the electronic health record data management terminal uploads the second electronic health record key to the IoT server, specifically including:
[0046] After successful registration, the aggregation server sends the third path information corresponding to the third hash value to the electronic health record data management terminal.
[0047] The electronic health record data management terminal uploads the second electronic health record key data packet and its corresponding third path information to the IOT server;
[0048] The IOT server verifies the correctness of the second electronic health record key data packet with the blockchain based on the third path information, and saves the second electronic health record key data packet and its corresponding third path information when the verification is successful.
[0049] In some implementations, the electronic health record data access terminal generates second access request data and uploads the second access request data to the aggregation server, and registers with the blockchain through the aggregation server, specifically including:
[0050] The electronic health record data access terminal generates second access request data, which is used to access the second electronic health record key data packet.
[0051] The electronic health record data access terminal generates a fourth signature data by signing the second access request data with a private key.
[0052] The electronic health record data access terminal generates a second access request data packet and calculates the second access request data packet to obtain a fourth hash value. The second access request data packet includes the second access request data and the fourth signature data.
[0053] The electronic health record data access terminal uploads the fourth hash value to the aggregation server and registers with the blockchain through the aggregation server.
[0054] In some implementations, the electronic health record data access terminal uploads the second access request data to the IoT server, specifically including:
[0055] After successful registration, the aggregation server sends the fourth path information corresponding to the fourth hash value to the electronic health record data access terminal.
[0056] The electronic health record data access terminal uploads the second access request data packet and its corresponding fourth path information to the IOT server;
[0057] The IoT server verifies the correctness of the second access request data packet with the blockchain based on the fourth path information, and saves the second access request data packet and its corresponding fourth path information when the verification is successful.
[0058] The technical effects of the electronic health record management system provided by this invention are as follows:
[0059] By uploading the hash value of the data packet to be processed to the aggregation server, registering it with the blockchain, and uploading the data packet and its corresponding path information on the aggregation server to the IoT server, and saving the data after verification by the IoT server, this application solves the problem of traditional technology where data is saved to blocks, resulting in electronic health record data consuming a lot of bandwidth and prolonging block generation time. This application uses the aggregation server as an authentication layer for the correctness and integrity of the data packet to be processed, seals the status of the data packet to be processed, and provides portability for the entries of the data packet to be processed. The IoT server realizes the data storage of the data packet to be processed, enabling the electronic health record management system to take into account both the security and sharing of EHR data, providing security for EHR data while achieving seamless connection between patients, doctors, and data. Attached Figure Description
[0060] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0061] Figure 1 This is an example diagram of an electronic health record management system according to the present invention;
[0062] Figure 2This is a schematic diagram of the access control framework for the IoT server in an electronic health record management system according to the present invention.
[0063] The diagram is labeled as follows: Electronic Health Record Data Management Terminal - 110, Electronic Health Record Data Access Terminal - 120, Aggregation Server - 200, and IoT Server - 300. Detailed Implementation
[0064] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application can also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0065] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or sets.
[0066] To keep the drawings concise, only the parts relevant to the invention are shown schematically in each figure, and they do not represent the actual structure of the product. Furthermore, for ease of understanding, in some figures, components with the same structure or function are shown only schematically, or only one is labeled. In this document, "a" not only means "only one," but can also mean "more than one."
[0067] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0068] Furthermore, in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0069] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the specific implementation methods of the present invention will be described below with reference to the accompanying drawings. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without any creative effort.
[0070] One embodiment of the present invention, such as Figure 1As shown, the present invention provides an electronic health record management system, characterized in that it includes a data processing terminal, an aggregation server 200, and an IoT server 300.
[0071] The data processing end obtains the data packets to be processed, calculates the hash value of the data packets, uploads the hash value to the aggregation server, and registers them with the blockchain through the aggregation server.
[0072] After successful registration, the aggregation server 200 sends the path information corresponding to the hash value to the data processing terminal.
[0073] The data processing unit uploads the data packets to be processed and their corresponding path information to the IOT server 300.
[0074] The IoT server 300 verifies the correctness of the data packet to be processed by the blockchain through the aggregation server 200 based on the path information, and saves the data packet to be processed and its corresponding path information when the verification is successful.
[0075] Specifically, this application uses blockchain distributed storage technology on the aggregation server 200. As a distributed data storage method, blockchain is used to maintain the permanent storage and tamper-proof record of data. Based on blockchain, the effect of data immutability can be guaranteed. This application realizes the data storage of electronic health data based on blockchain storage technology.
[0076] Traditional solutions for storing electronic health data based on blockchain at the medical edge node have the following technical problems: First, although blockchain can ensure data integrity, it lacks appropriate access control mechanisms to handle operations performed by different participants; second, the capacity of each block in a blockchain is limited and cannot accommodate a large amount of electronic health record data from millions of wearable devices; finally, when traditional blockchains save electronic health record data to the block ledger, the electronic health record data will consume a lot of bandwidth and prolong the block generation time, making it difficult to meet the requirements of low latency and high concurrency.
[0077] Furthermore, in the electronic health record management system provided in this application, the blockchain and the storage area for data packets to be processed are separate. Data packets to be processed are stored in the IoT server, and the blockchain is only used for verifying the integrity and authenticity of these data packets. Each block in the blockchain only needs to store a fixed-width root hash value in addition to basic information. Each block size is less than 1KB. Data registration at the data processing end only requires providing a fixed-width hash value to the aggregation server, resulting in extremely low bandwidth consumption. The aggregation layer server aggregates hash values within a time period and generates a root hash value, which is then stored in the block. Therefore, as long as the processing speed of the aggregation layer is fast enough, there is no upper limit to the number of data packet entries that can be registered in each block, and the block generation speed can reach the second or even millisecond level. Because only the hash value of the data packet to be processed is required, data packets of any file format and type can be registered with the blockchain through the aggregation server 200.
[0078] The electronic health record management system provided in this embodiment uploads the hash value of the data packet to be processed to the aggregation server, registers it with the blockchain through the aggregation server 200, uploads the data packet to be processed and its corresponding path information on the aggregation server to the IoT server, and saves the above data after verification by the IoT server. This solves the problem of traditional technology where data is saved to the block, resulting in electronic health record data consuming a lot of bandwidth and prolonging the block generation time. This application uses the aggregation server as an authentication layer for the correctness and integrity of the data packet to be processed, seals the status of the data packet to be processed and provides portability of the data packet entries, and uses the IoT server to realize the data storage of the data packet to be processed. This allows the electronic health record management system to take into account both the security and sharing of EHR data, provide security for EHR data, and achieve seamless connection between patients, doctors and data.
[0079] In one embodiment, such as Figure 1 As shown, the electronic health record management system provided in this application includes an electronic health record data management terminal 110 as the data processing terminal. In the electronic health record management system provided in this application, the electronic health record management system performs the following operations:
[0080] The electronic health record data management terminal 110 obtains the user's electronic health record data, performs private key signing on the electronic health record data to generate first signature data, generates electronic health record data packets based on the electronic health record data and the first signature data, calculates the first hash value of the electronic health record data packets, uploads the first hash value to the aggregation server 200, and registers with the blockchain through the aggregation server 200.
[0081] Specifically, the electronic health record data management terminal 110 includes any one of a wearable medical device and a user device terminal, or is composed of a wearable medical device and a user device terminal. The wearable medical device includes any one of a variety of biosensors, or the wearable medical device can also be configured as a wearable medical platform that integrates a variety of biosensors, used to collect electronic health record data from patients and perform fusion algorithm processing. Common biosensors include heart rate sensors, blood pressure sensors and blood glucose sensors. The above sensors are only used as examples and do not have a limiting effect. Conventional biosignature sensors are all within the protection scope of this application.
[0082] For example, when the electronic health record data management terminal 110 is a wearable medical device or a wearable medical platform, the wearable medical device or wearable medical platform directly collects the user's electronic health record data. When the electronic health record data management terminal 110 is a user device, the wearable medical device or wearable medical platform sends the electronic health record data to the user device after directly collecting the user's electronic health record data.
[0083] When the electronic health record data management terminal 110 is a user device, the electronic health record data management terminal 110 packages the electronic health record data to be uploaded. The electronic health record data includes EHR data, the number of the EHR data entry EHR_ID, the device ID (DEV_ID) of the wearable medical device, the user ID (USER_ID) of the user device, the timestamp TS, and other additional information A. That is, the electronic health record data packet is (USER-ID, DEV_ID, TS, EHR, EHR_ID, A). 10. Sign the packaged electronic health record data using the private key DEV_SK of the electronic health record data management terminal 110 to generate the first signature data $(USER-ID, DEV_ID, TS, EHR, EHR_ID, A), which forms the electronic health record data packet to be uploaded S_EHR = (USER-ID, DEV_ID, TS, EHR, EHR_ID, A, $(USER-ID, DEV_ID, TS, EHR, EHR_ID, A)), and take the hash value H(S_EHR) of S_EHR as the first hash value.
[0084] The electronic health record data management terminal 110 registers the first hash value H (S_EHR) with the aggregation server 200, and the aggregation server 200 registers it with the blockchain. The aggregation server 200 collects the registration information within a preset time period, forms a Merkle tree, generates a root hash value (Merkle root), and saves the root hash value to a new block of the blockchain.
[0085] The aggregation server 200 returns the first Merkle path information MerkelProof corresponding to the first hash value H (S_EHR). The Merkle Proof contains the block number and the path formed by the first hash value H (S_EHR) in the Merkle tree.
[0086] The electronic health record data management terminal 110 uploads the electronic health record data packet S_EHR and its corresponding first Merkel path information Merkel Proof to the IOT server 300.
[0087] The IoT server 300 accesses the blockchain network in the aggregation server 200. Based on the electronic health record data packet S_EHR submitted by the electronic health record data management terminal 110 and its corresponding first Merkel path information MerkelProof, it verifies whether the electronic health record data packet S_EHR has already been registered on the blockchain, and verifies the correctness of the electronic health record data packet S_EHR by registering it with the blockchain through the aggregation server 200. If successful, the IoT server 300 saves the electronic health record data packet S_EHR and its corresponding first Merkel path information Merkel Proof to the database.
[0088] In one embodiment, such as Figure 1 As shown, the electronic health record management system provided in this application also includes an electronic health record data access terminal 120 as the data processing terminal. In the electronic health record management system provided in this application, the electronic health record management system performs the following operations:
[0089] The electronic health record data access terminal 120 generates first access request data, which is used to access the first electronic health record data packet. The electronic health record data access terminal 120 performs private key signing on the first access request data to generate second signature data, generates the first access request data packet, calculates the second hash value of the first access request data packet, uploads the second hash value to the aggregation server, and registers with the blockchain through the aggregation server 200. The first access request data packet includes the first access request data and the second signature data.
[0090] Among them, the electronic health record data access terminal 120 is usually the device terminal of medical personnel. When the device terminal of medical personnel accesses the IoT server 300, it can obtain some basic information of the authorized user's EHR entries, such as the EHR entry number EHR_ID and the timestamp TS.
[0091] If the electronic health record data access terminal 120 needs to view a certain EHR entry from a certain electronic health record data management terminal, it first generates first access request data, which includes the electronic health record data access terminal 120 ID (DR_ID), the user ID (USER_ID) of the user device terminal to be viewed, the device ID (DEV_ID) of the wearable medical device, the EHR entry number EHR_ID, the timestamp TS, and other additional information. That is, the first access request data is REQ = (DR_ID, USER_ID, DEV_ID, EHR_ID, TS, A).
[0092] The electronic health record data access terminal 120 uses its own private key to sign the first access request data REQ to generate the second signature data $REQ, and forms the first access request data packet S_REQ = [REQ, $REQ]. The terminal then performs a hash operation on the first access request data packet S_REQ to generate the second hash value Hash(S_REQ).
[0093] The electronic health record data access terminal 120 registers the second hash value H (S_REQ) to the aggregation server 200. The aggregation server 200 collects the registered hash information within the time period to form a Merkle tree, generates a root hash value (Merkle root), and saves the root hash value to a new block of the blockchain.
[0094] The aggregation server 200 returns the second Merkel Proof corresponding to the second hash value H (S_REQ) to the electronic health record data access terminal 120. The second Merkel Proof contains the block number and the second Merkel Proof information.
[0095] The electronic health record data access terminal 120 uploads the first access request data packet S_REQ and its corresponding second Merkle path Merkle Proof to the IOT server 300.
[0096] IoT server 300 accesses the blockchain of aggregation server 200 and verifies whether the first access request data packet S_REQ submitted by electronic health record data access terminal 120 and its corresponding second Merkle Proof are already on the blockchain. Aggregation server 200 then registers the data with the blockchain. If successful, IoT server 300 saves the first access request data packet S_REQ and its corresponding second Merkle Proof to its own database.
[0097] In one embodiment, such as Figure 1As shown, in the electronic health record management system provided in this application, after the IOT server 300 saves the data packet to be processed and its corresponding path information, the IOT server 300 sends the electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal 120 according to the first access request data packet. At this time, the electronic health record management system completes the complete process of uploading electronic health record data from the electronic health record data management terminal 110, verifying and storing the electronic health record data, uploading the first access request data by the electronic health record data access terminal 120, verifying and storing the first access request data, and returning the electronic health record data corresponding to the first access request data to the electronic health record data access terminal 120. This realizes the effect of sharing electronic health record data between patients and doctors and storing access records through an aggregation server during the electronic health record management process.
[0098] In one embodiment, such as Figure 1 As shown, the IOT server 300 sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal 120 according to the first access request data packet. The first access request data packet includes the first access request data, the public key of the electronic health record data access terminal, and the second signature data.
[0099] The process of obtaining a user's electronic health record data at the electronic health record data management terminal 110 specifically includes the following steps:
[0100] The electronic health record data management terminal 110 acquires the user's electronic health record. The electronic health record data management terminal 110 reconstructs and generates a PUK (Physically Unclonable Function) root key (PUK_KEY) based on the built-in PUF component. The electronic health record data management terminal public and private key pair (DEV_PK, DEV_SK) is then reconstructed from the PUK root key (PUK_KEY). The PUK_KEY, DEV_PK, and DEV_SK are the same each time they are reconstructed, and the PUK_KEY and DEV_SK are not stored in local non-volatile memory. When the PUK root key (PUK_KEY) and the electronic health record data management terminal public and private key pair (DEV_PK, DEV_SK) are needed, the PUF component is used to reconstruct the key to avoid reverse engineering. After reconstructing the public and private key pair (DEV_PK, DEV_SK) of the electronic health record data management terminal, the device ID (DEV_ID) of the wearable medical device in the electronic health record data management terminal is generated by taking the hash value of the public key DEV_PK, that is, DEV_ID = Hash(PK).
[0101] The electronic health record data management terminal 110 signs and encrypts electronic health records using a symmetric key derived from the electronic health record data management terminal public-private key pair (DEV_PK, DEV_SK) and the PUK root key (PUK_KEY), and generates an electronic health record key. Specifically, the PUF component generates a random number and takes its hash value as the electronic health record key (EKn) for that EHR. The PUK component then encapsulates this key (W(EKn)) and stores it in local non-volatile memory. When the key (EKn) is needed, the PUF component decapsulates W(EKn) to obtain EKn. Each EHR corresponds to an EKn key. Because EKn is not stored directly and can only be obtained by decapsulating it through the PUF component, reverse engineering can be avoided.
[0102] Each EHR entry has a corresponding Electronic Health Record Key (EKn), forming a key store. The EKn is not directly stored in non-volatile memory, but is stored in non-volatile memory as PUF-encapsulated information (W(EKn)). When the EKn is needed, it is obtained by decapsulating it through PUF. The encapsulated EKn cannot be used to deduce the key, thus preventing reverse engineering.
[0103] In one embodiment, such as Figure 1 As shown, when the electronic health record data access terminal 120 needs to read the encrypted EHR content, the electronic health record data management terminal 110 transmits the electronic health record key (EKn) using asymmetric encryption. Specifically, the electronic health record key (EKn) is encrypted using the public key of the electronic health record data access terminal 120. The electronic health record data access terminal 120 obtains the electronic health record key (EKn) encrypted using its public key and decrypts it using its private key. If the electronic health record key (EKn) is maliciously leaked by the electronic health record data access terminal 120, only that specific EHR entry will be affected; other EHR data will remain unaffected.
[0104] In one embodiment, such as Figure 1 As shown, after the IoT server 300 sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal 120 according to the first access request data packet, the electronic health record management system provided in this application also performs the following operations:
[0105] The IoT server 300 sends a first access request data packet (S_REQ) and its corresponding second Merkel path information to the electronic health record data management terminal 110. The electronic health record data management terminal 110 verifies the first access request data packet (S_REQ) with the aggregation server 200 based on the second Merkel path information. If the first access request data packet is verified successfully, the electronic health record data management terminal 110 decrypts the electronic health record key (EKn) corresponding to the first access request data packet (S_REQ). The electronic health record data management terminal 110 then proceeds according to the first access request... The public key of the electronic health record data access terminal in the data packet (S_REQ) encrypts the electronic health record key (EKn) to generate the second electronic health record key DR (EKn). The electronic health record data management terminal 110 performs private key signing on the second electronic health record key DR (EKn) to generate third signature data. The electronic health record data management terminal 110 generates the second electronic health record key data packet based on the second electronic health record key DR (EKn) and the third signature data, calculates the third hash value of the second electronic health record key data packet, and uploads the third hash value to the aggregation server 200 for registration with the blockchain through the aggregation server 200.
[0106] After successful registration, the aggregation server 200 sends the third path information corresponding to the third hash value to the electronic health record data management terminal 110. The electronic health record data management terminal 110 uploads the second electronic health record key data packet and its corresponding third path information to the IOT server 300. The IOT server 300 verifies with the aggregation server 200 whether the second electronic health record key data packet has been verified based on the third path information, and saves the second electronic health record key data packet and its corresponding third path information when the verification is successful.
[0107] The electronic health record data access terminal 120 generates second access request data, which is used to access the second electronic health record key data packet. The electronic health record data access terminal 120 performs private key signing on the second access request data to generate fourth signature data. The electronic health record data access terminal 120 generates the second access request data packet and calculates the second access request data packet to obtain the fourth hash value. The second access request data packet includes the second access request data and the fourth signature data. The electronic health record data access terminal 120 uploads the fourth hash value to the aggregation server 200 and registers with the blockchain through the aggregation server 200.
[0108] After successful registration, the aggregation server 200 sends the fourth path information corresponding to the fourth hash value to the electronic health record data access terminal 120. The electronic health record data access terminal 120 uploads the second access request data packet and its corresponding fourth path information to the IOT server 300. The IOT server 300 verifies with the aggregation server 200 whether the second access request data packet has been verified based on the fourth path information, and saves the second access request data packet and its corresponding fourth path information when the verification is successful.
[0109] The IoT server 300 sends a second electronic health record key to the electronic health record data access terminal 120, and the electronic health record data access terminal 120 decrypts the electronic health record data according to the second electronic health record key.
[0110] In one embodiment, when the electronic health record data management terminal 110 is a wearable medical device, the wearable medical device can directly participate in the encryption and data interaction process described above based on its own public and private keys. When the electronic health record data management terminal 110 is a user device, the user device needs to bind to the mobile APP through the aggregation server 200. During the binding process, the wearable medical device transmits its device public key and device ID {DEV_PK, DEV_ID} to the APP. The APP takes the hash value of the data ((USER-ID, DEV_ID, DEV_PK) and $(USER-ID, DEV_ID, DEV_PK)) and stores it in the aggregation server 200. Blockchain registration is completed. The aggregation server 200 returns the corresponding Merkelproof path information. The APP uploads {((USER-ID, DEV_ID, DEV_PK), (USER-ID, DEV_ID, DEV_PK)), and the corresponding Merkelproof to the IoT server 300 to complete the binding between the wearable medical device and the user device on the IoT server 300. The APP sends the user device's public key USER_PK back to the wearable medical device, which saves the USER_PK. After the wearable medical device completes registration and binding, it can only exchange data with the APP that is logged into and bound to the user device. The two are mutually bound.
[0111] When in use, the wearable medical device generates a random number and signs it, and sends the random number and signature to the user device. After receiving the random number, the user device's APP uses the wearable medical device's public key to verify the signature and determine whether the wearable medical device is a bound device. Similarly, when in use, the APP generates a random number and signs it, and the wearable medical device receives the random number and verifies the signature to determine whether the connected user device is correct.
[0112] In one embodiment, such as Figure 2 As shown, the IOT server 300 performs access control between the IOT server 300 and the electronic health record data access terminal 120 based on the attribute-based access control model (ABAC) and the XACML standard.
[0113] Specifically, the electronic health record data management terminal 110 sets the data access control policy between the IoT server 300 and the electronic health record data access terminal 120. The policy management point describes the policy using XACML. The policy execution point checks and transforms the data access request and forwards it to the policy decision point. The policy information point requests attribute information from different entities according to the request, including the attribute information of the subject (electronic health record data management terminal 110), the attribute information of the environment, and the attribute information of the object (the data resource to be accessed). The obtained information is returned to the policy decision point. The policy decision point evaluates the incoming request according to the ABAC policy and additional attributes configured by the policy management point and returns the access decision.
[0114] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0115] Those skilled in the art will recognize that the units and steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0116] In the embodiments provided in this application, it should be understood that the disclosed electronic health record management system can be implemented in other ways. For example, the embodiment of the electronic health record management system described above is merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or modules may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the communication connections shown or discussed may be through some interfaces, communication connections of devices or units, or integrated circuits, and may be electrical, mechanical, or other forms.
[0117] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0118] Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The integrated unit described above can be implemented in hardware or as a software functional unit.
[0119] It should be noted that the above description is only a preferred embodiment of the present invention. It should be pointed out that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. An electronic health record management system, characterized in that, include: The data processing end obtains the data packet to be processed, calculates the hash value of the data packet to be processed, and uploads the hash value to the aggregation server, and registers it with the blockchain through the aggregation server; After successful registration, the aggregation server sends the path information corresponding to the hash value to the data processing terminal. The data processing terminal uploads the data packet to be processed and its corresponding path information to the IOT server. The IoT server verifies the correctness of the data packet to be processed through the aggregation server based on the path information, and saves the data packet to be processed and its corresponding path information when the verification is successful.
2. The electronic health record management system according to claim 1, characterized in that, The data processing terminal acquires the data packet to be processed, calculates the hash value of the data packet, uploads the hash value to the aggregation server, and registers it with the blockchain through the aggregation server. Specifically, this includes: The electronic health record data management terminal acquires users' electronic health record data; The electronic health record data management terminal generates first signature data by signing the electronic health record data with a private key. The electronic health record data management terminal generates an electronic health record data packet based on the electronic health record data and the first signature data, and calculates the first hash value of the electronic health record data packet; The electronic health record data management terminal uploads the first hash value to the aggregation server and registers it with the blockchain through the aggregation server.
3. The electronic health record management system according to claim 2, characterized in that, The data processing terminal acquires the data packet to be processed, calculates the hash value of the data packet, uploads the hash value to the aggregation server, and registers it with the blockchain through the aggregation server. Specifically, it also includes: The electronic health record data access terminal generates first access request data, which is used to access the first electronic health record data packet. The electronic health record data access terminal generates a second signature data by signing the first access request data with a private key. The electronic health record data access terminal generates a first access request data packet and calculates the first access request data packet to obtain a second hash value. The first access request data packet includes the first access request data and the second signature data. The electronic health record data access terminal uploads the second hash value to the aggregation server and registers with the blockchain through the aggregation server.
4. The electronic health record management system according to claim 3, characterized in that, After saving the data packet to be processed and its corresponding path information upon successful verification, the method further includes: The IOT server sends the electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet.
5. An electronic health record management system according to claim 4, characterized in that, The electronic health record data management terminal acquires the user's electronic health record data, specifically including: The electronic health record data management terminal acquires the user's electronic health record; The electronic health record data management terminal reconstructs and generates the PUK root key and the electronic health record data management terminal public-private key pair based on the built-in PUF component; The electronic health record data management terminal uses the public and private key pair of the electronic health record data management terminal and the PUK root key to sign and encrypt the electronic health record, and generate an electronic health record key; After saving the data packet to be processed and its corresponding path information upon successful verification, the method further includes: The IoT server sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet. The first access request data packet includes the first access request data, the public key of the electronic health record data access terminal, and the second signature data.
6. An electronic health record management system according to claim 5, characterized in that, After the IoT server sends the encrypted electronic health record data corresponding to the first access request data packet to the electronic health record data access terminal according to the first access request data packet, it further includes: The electronic health record data management terminal encrypts the electronic health record key using the public key of the electronic health record data access terminal to obtain a second electronic health record key, and uploads the second electronic health record key to the aggregation server, and registers with the blockchain through the aggregation server; The electronic health record data management terminal uploads the second electronic health record key to the IOT server; The electronic health record data access terminal generates second access request data and uploads the second access request data to the aggregation server, and registers with the blockchain through the aggregation server; The electronic health record data access terminal uploads the second access request data to the IOT server; The IoT server sends the second electronic health record key to the electronic health record data access terminal; The electronic health record data access terminal decrypts the second electronic health record key according to its private key to obtain the electronic health record key, and uses the electronic health record key to decrypt the electronic health record data.
7. An electronic health record management system according to claim 6, characterized in that, The electronic health record data management terminal encrypts the electronic health record key using the public key of the electronic health record data access terminal to obtain a second electronic health record key, and uploads the second electronic health record key to the aggregation server. The aggregation server then registers the data with the blockchain, specifically including: The IoT server sends the first access request data packet and its corresponding second path information to the electronic health record data management terminal. The electronic health record data management terminal verifies the correctness of the first access request data packet with the blockchain based on the second path information; When the first access request data packet is verified, the electronic health record data management terminal decrypts the electronic health record key corresponding to the first access request data packet according to the first access request data packet; The electronic health record data management terminal encrypts the electronic health record key according to the public key of the electronic health record data access terminal, and generates the second electronic health record key; The electronic health record data management terminal generates third signature data by signing the second electronic health record key with a private key. The electronic health record data management terminal generates a second electronic health record key data packet based on the second electronic health record key and the third signature data, and calculates the third hash value of the second electronic health record key data packet; The electronic health record data management terminal uploads the third hash value to the aggregation server, and registers it with the blockchain through the aggregation server.
8. An electronic health record management system according to claim 7, characterized in that, The electronic health record data management terminal uploads the second electronic health record key to the IoT server, specifically including: After successful registration, the aggregation server sends the third path information corresponding to the third hash value to the electronic health record data management terminal. The electronic health record data management terminal uploads the second electronic health record key data packet and its corresponding third path information to the IOT server; The IOT server verifies the correctness of the second electronic health record key data packet with the blockchain based on the third path information, and saves the second electronic health record key data packet and its corresponding third path information when the verification is successful.
9. An electronic health record management system according to claim 6, characterized in that, The electronic health record data access terminal generates a second access request data and uploads the second access request data to the aggregation server, and registers with the blockchain through the aggregation server, specifically including: The electronic health record data access terminal generates second access request data, which is used to access the second electronic health record key data packet. The electronic health record data access terminal generates a fourth signature data by signing the second access request data with a private key. The electronic health record data access terminal generates a second access request data packet and calculates the second access request data packet to obtain a fourth hash value. The second access request data packet includes the second access request data and the fourth signature data. The electronic health record data access terminal uploads the fourth hash value to the aggregation server and registers with the blockchain through the aggregation server.
10. An electronic health record management system according to claim 9, characterized in that, The electronic health record data access terminal uploads the second access request data to the IoT server, specifically including: After successful registration, the aggregation server sends the fourth path information corresponding to the fourth hash value to the electronic health record data access terminal. The electronic health record data access terminal uploads the second access request data packet and its corresponding fourth path information to the IOT server; The IoT server verifies the correctness of the second access request data packet with the blockchain based on the fourth path information, and saves the second access request data packet and its corresponding fourth path information when the verification is successful.
Citation Information
Patent Citations
Zero-knowledge proof method and system for medical document and storage medium
CN110334175A
Online-offline collaborative electronic medical record data sharing method based on alliance chain
CN112559627A