A medical data security sharing method and system with traceable identity
The hash chain and blockchain technology generates and verifies the identity of medical data in the Internet of Things environment, and solves the problem of difficulty in meeting data confidentiality, integrity, identity verification and identity traceability in the existing technology, and realizes efficient and secure sharing of medical data in the end-edge-cloud collaboration mode.
Patent Information
- Application Number
- CN202310084125.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-13
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2043-01-13
AI Technical Summary
The prior art is difficult to meet the confidentiality, integrity, identity verification and identity traceability of medical data in the Internet of Things environment at the same time, especially in the end-edge-cloud collaborative data sharing mode.
Using hash chain and blockchain technology, a unique identity ID and hash chain are generated through a trusted center, confidentiality tags, integrity tags and object-owner tags are generated, and the track data and hash chain mapping relationships are stored on the blockchain to realize the identity traceability and secure sharing of data.
It realizes the confidentiality, integrity and identity verification of medical data in the Internet of Things environment, while supporting identity traceability, ensuring end-to-end security of data in the end-edge-cloud mode.
Smart Images

Figure CN116318661B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of Internet of Things data sharing, and more specifically, to a method and system for securely sharing medical data with traceable identity. Background Art
[0002] Currently, data sharing mainly includes two modes: cloud-assisted IoT data sharing and edge-assisted IoT data sharing. In the cloud-assisted IoT data sharing mode, data is outsourced to the cloud to provide powerful computing and storage resources to meet the challenges of limited IoT device resources. However, this mode makes it difficult to use cloud computing to meet the latency-sensitive business needs of IoT applications, such as latency-sensitive telemedicine data sharing services. In addition, in the edge-assisted IoT data sharing mode, the collected data is transmitted to edge nodes to provide users with latency-sensitive services. However, due to the relatively limited computing and processing resources of edge nodes, they are unable to handle powerful computing tasks, such as large-scale medical data storage and analysis services.
[0003] Therefore, the proposed end-edge-cloud collaborative data sharing model can overcome the defects of the above data sharing models, that is, it can provide both delay-sensitive services and resource-intensive large-scale services to end-layer users. Figure 1 The figure shows the architecture diagram of the end-edge-cloud collaborative data sharing model, which consists of a large number of IoT terminals, numerous edge nodes deployed at the edge of the network, and a cloud center. The data resources of the mobile terminal are uploaded to the edge layer or the cloud center layer for computing, analysis, storage and other services. The tasks processed at the edge layer are all delay-sensitive services, that is, the edge layer provides delay-sensitive services to the end-layer data users. The cloud center layer handles large-scale computing or storage tasks, which provides large-scale computing and storage services that neither the edge layer or the end layer can afford. Under this data sharing model, special attention should be paid to security issues such as data confidentiality, data integrity, verifiability, and identity traceability.
[0004] For data confidentiality and integrity protection, encryption mechanisms such as attribute encryption and identity encryption based on ciphertext strategies are used. However, the high computational overhead caused by the complexity of encryption methods is unacceptable for IoT devices. Furthermore, encryption mechanisms cannot guarantee the end-to-end security of data. The method of digital signature based on cryptography has complex calculations and high computational overhead to achieve the verifiability of user identity. For identity traceability, methods such as group signature-based, attribute encryption based on ciphertext strategies, and log analysis are widely used, but these mechanisms have the defects of high computational and communication overhead in achieving user identity traceability. The existing log analysis-based methods have defects in ensuring that log data cannot be tampered with. Therefore, there is still a lack of an efficient data sharing method that supports data confidentiality, data confidentiality, identity verifiability, and identity traceability at the same time. Summary of the invention
[0005] In order to overcome the defects of the data sharing mode described in the above-mentioned prior art that it is difficult to simultaneously meet the requirements of data confidentiality, data confidentiality, identity verifiability and support identity traceability, the present invention provides a medical data security sharing method and system with identity traceability.
[0006] In order to solve the above technical problems, the technical solution of the present invention is as follows:
[0007] A method for securely sharing medical data with traceable identity is applied to a data sharing system consisting of a terminal, a trusted center, a blockchain, an edge node, and a cloud center, and includes the following steps:
[0008] The user sends his attribute set to the trusted center through the terminal. The trusted center registers the user's identity based on the user's attribute set, generates the user's unique identity ID, calculates the corresponding hash chain, and generates a confidentiality tag, integrity tag, and owner tag based on the hash chain;
[0009] After completing the user's registration, the trusted center sends the user's hash header to the edge node and cloud center for identity authentication, and stores the user's hash chain and the mapping relationship between the user's unique identity ID and the hash chain in the blockchain;
[0010] In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node; after receiving the data with the owner tag, the edge node authenticates the user based on the hash header data sent by the trusted center: if the authentication is successful, the data is stored in the data center of the edge node or sent to the cloud center for storage based on the attributes of the data; if the authentication fails, the session is disconnected and the authentication result is returned to the user;
[0011] During the data request phase, the registered user sends their confidentiality tag, integrity tag and owner tag as part of the data request to the edge node to request the required data; after receiving the data request, the edge node authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0012] Furthermore, the present invention also proposes a medical data security sharing system with traceable identity, and applies the medical data security sharing method with traceable identity proposed by the present invention. The system comprises:
[0013] The trusted center is used to register the user's identity based on the attribute set uploaded by the user, generate the user's unique identity ID, calculate the corresponding hash chain, and generate a confidentiality tag, an integrity tag, and an owner tag based on the hash chain; after completing the user's registration, the trusted center sends the user's hash header to the edge node and the cloud center for identity authentication;
[0014] Blockchain, used to store trajectory data, the user's hash chain, and the mapping relationship between the user ID and its hash chain;
[0015] The edge node is used to receive requests from users and respond to requests that pass identity authentication; the requests include data storage and data requests;
[0016] The cloud center is used to receive user requests forwarded by edge nodes and respond to authenticated requests.
[0017] In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node; after receiving the data with the owner tag, the edge node authenticates the user according to the hash header data sent by the trusted center: if the identity authentication is successful, the data is checked for attributes, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user;
[0018] During the data request phase, the registered user sends their confidentiality tag, integrity tag and owner tag as part of the data request to the edge node to request the required data; after receiving the data request, the edge node authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0019] Compared with the prior art, the beneficial effects of the technical solution of the present invention are: the present invention realizes the traceability of user identity ID in the data sharing process based on hash chain and distributed information flow control technology that supports traceability, while ensuring data confidentiality, data integrity, and identity verifiability; the present invention also introduces blockchain to ensure that trajectory data, user's hash chain, and the mapping relationship between its unique identity ID and hash chain cannot be tampered with, thereby ensuring the end-to-end security of data sharing in the end-edge cloud mode. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 This is an architectural diagram of the end-edge-cloud collaborative data sharing model.
[0021] Figure 2 This is a flow chart of the identity-traceable medical data secure sharing method of Example 1.
[0022] Figure 3 This is an architecture diagram of the identity-traceable medical data security sharing system of Example 2. DETAILED DESCRIPTION
[0023] The drawings are for illustrative purposes only and should not be construed as limiting the present patent;
[0024] It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings.
[0025] The technical solution of the present invention is further described below in conjunction with the accompanying drawings and embodiments.
[0026] Example 1
[0027] This embodiment proposes a method for securely sharing medical data with traceable identity, such as Figure 2 , which is a flow chart of the identity-traceable medical data secure sharing method of this embodiment.
[0028] The identity-traceable medical data security sharing method proposed in this embodiment is applied to an end-edge-cloud collaborative data sharing system consisting of a terminal, a trusted center, a blockchain, an edge node, and a cloud center. The method includes the following steps:
[0029] S1. The user sends his attribute set to the trusted center through the terminal. The trusted center registers the user's identity based on the user's attribute set, generates a unique identity ID for the user, calculates the corresponding hash chain, and generates a confidentiality tag, integrity tag, and owner tag based on the hash chain.
[0030] S2. After completing the user's registration, the trusted center sends the user's hash header to the edge node and cloud center for identity authentication, and stores the user's hash chain and the mapping relationship between its unique identity ID and the hash chain in the blockchain.
[0031] S3. In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node. After receiving the data with the owner tag, the edge node authenticates the user according to the hash header data sent by the trusted center. If the authentication is successful, the data is stored in the data center of the edge node or sent to the cloud center for storage according to the attributes of the data. If the authentication fails, the session is disconnected and the authentication result is returned to the user.
[0032] During the data request phase, the registered user sends their confidentiality tag, integrity tag and owner tag as part of the data request to the edge node to request the required data; after receiving the data request, the edge node authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0033] In this embodiment, the user who issues the data storage is the owner of the medical data, including but not limited to mobile terminals equipped with medical applications such as heart rate sensors and smart diagnostic devices; the user who issues the data request is the medical data user, who needs to perform health checks or clinical treatment based on the medical data provided by the owner of the medical data.
[0034] In this embodiment, users who issue data storage and users who request data must all register with the trusted center to generate a unique user ID and obtain the corresponding confidentiality tag, integrity tag and owner tag for further issuing data storage or data requests.
[0035] During the data storage stage, users who have completed registration will mark their data with owner tags and upload them to edge nodes or cloud centers for storage. The edge centers and cloud centers will authenticate the users and evaluate whether to share the data before storing the data that they agree to share.
[0036] During the data request phase, registered users send their confidentiality tag, integrity tag, and owner tag as part of the data request to the edge node to request the required data. The edge center authenticates the user and evaluates whether to share the data. It then responds or feeds back to the cloud center if the data agrees to be shared, and delivers the data to the user.
[0037] During the data request process, regardless of whether the edge node or cloud center agrees to share the data, the trajectory data generated based on the data request is stored in the blockchain. The trajectory data records the flow of shared data and the owner tag of the entity where the data sharing occurs. Based on the mapping relationship between the trajectory data, hash chain, and user's unique identity ID stored in the blockchain and the hash chain, the user's identity ID can be revealed.
[0038] When there is a malicious data request or malicious access, that is, when identity authentication fails, the trajectory data, hash chain, and the mapping relationship between the user's unique identity ID and the hash chain are searched from the blockchain based on the user's unique identity ID, and the identity ID of the user who issued the malicious data request or malicious access is returned to achieve identity traceability.
[0039] In this embodiment, the traceability of the user identity ID in the data sharing process is realized based on the hash chain and the distributed information flow control technology that supports traceability, while ensuring data confidentiality, data integrity, and identity verifiability. The blockchain is introduced to ensure that the trajectory data, the user's hash chain, and the mapping relationship between its unique identity ID and the hash chain cannot be tampered with, thereby ensuring the end-to-end security of data sharing in the end-edge cloud mode.
[0040] Example 2
[0041] This embodiment makes further improvements on the identity-traceable medical data secure sharing method proposed in Embodiment 1.
[0042] The identity-traceable medical data security sharing method proposed in this embodiment includes the following steps:
[0043] S1. The user sends his attribute set to the trusted center through the terminal. The trusted center registers the user's identity based on the user's attribute set, generates a unique identity ID for the user, calculates the corresponding hash chain, and generates a confidentiality tag, integrity tag, and owner tag based on the hash chain.
[0044] Wherein, for a data storage user, the trusted center performs identity registration based on the user's attribute set, including the following steps:
[0045] The trusted center generates a unique ID for the user based on the user's attribute set do , and based on the unique ID do Calculate the corresponding hash chain HC do ; Its expression is as follows:
[0046] HC do ={H 0 (ID do ||R),H 1 (ID do ||R),...,H i (ID do ||R)}
[0047] In the formula, H(·) represents a secure hash function, R is a random number, and H i (ID do ||R) indicates the root of trust (ID do ||R) The hash value obtained by performing i hash calculations;
[0048] The trusted center uses a hash function to calculate a confidentiality tag L that matches the user based on the user's attribute set. S (do) = {H(Attr1)} and integrity flag L I (do)={H(Attr1),H(Attr2),...H(Attr n )}, where Attr1 represents the attribute set of the user itself, Attr n represents the attribute set of users who agree to share data with the current user, and n∈N * ; The trusted center is based on the user's hash chain HC do From the hash value H i-1 (ID do ||R) to H 1 (ID do ||R) is used as the owner tag of the user t O (do), and the hash chain {H 0 (ID do ||R),...,H i-1 (ID do ||R)}, and the confidentiality mark L S (do), integrity mark L I (do) and owner tag t O (do) return to the user terminal;
[0049] The trusted center will hash the header Hi (ID do ||R) is sent to edge nodes and cloud centers for identity authentication.
[0050] For a data requesting user, the trusted center performs identity registration based on the user's attribute set, including the following steps:
[0051] The trusted center generates a unique ID for the user based on the user's attribute set du , and based on the unique ID du Calculate the corresponding hash chain HC du ; Its expression is as follows:
[0052] HC du ={H 0 (ID du ||R′),H 1 (ID du ||R′),...,H i (ID du ||R′)}
[0053] In the formula, H(·) represents a secure hash function, R' is a random number, and H i (ID du ||R′) represents the root of trust (ID du ||R′) is calculated by performing i hash calculations to obtain the hash value;
[0054] The trusted center uses the H function to calculate the confidentiality tag L that matches the user based on the user's attribute set. S (du)={H(Attr'1),H(Attr'2),...H(Attr' n )} and integrity mark L I (du) = {H(Attr'1)}, where Attr'1 represents the attribute set of the user himself, Attr' n Represents the attribute set of the data owner user; the trusted center uses the user's hash chain HC du From the hash value H i-1 (ID du ||R′) to H 1 (ID du ||R′) is used as the owner tag of the user t O (du), and the hash chain {H 0 (ID du ||R′),...,H i-1 (ID du ||R′)}, and the confidentiality mark L S (du), integrity mark L I (du) and owner tag tO (do) return to the user terminal;
[0055] The trusted center will hash the header H i (ID du ||R′) is sent to the edge nodes and cloud center for identity authentication.
[0056] Furthermore, in an optional embodiment, at the next data storage or data request, the next hash value is selected as the owner tag of the current user according to the user's hash chain until all hash values in the hash chain are allocated, and then a request is made to the trusted center to generate a new hash chain.
[0057] In this embodiment, when requesting data next time, in addition to L S (du) and L I (du) In addition, it chooses its H i-2 (ID du ||R′) as a message parameter to request data from the edge node, and so on. After the distributed hash chain value is used up, a new hash chain will be requested from the trusted center again. Similarly, the next time the marked data is used for data storage, in addition to L S (do) and L I (do), select H i-2 (ID do ||R) is used as its own owner tag to mark the data, and so on. After the distributed hash chain value is used up, a new hash chain will be requested from the trusted center again.
[0058] S2. After completing the user's registration, the trusted center sends the user's hash header to the edge node and cloud center for identity authentication, and stores the user's hash chain and the mapping relationship between its unique identity ID and the hash chain in the blockchain.
[0059] S3. In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node. After receiving the data with the owner tag, the edge node authenticates the user according to the hash header data sent by the trusted center. If the authentication is successful, the data is stored in the data center of the edge node or sent to the cloud center for storage according to the attributes of the data.
[0060] During the data request phase, users who have completed registration send their confidentiality tag, integrity tag, and owner tag as part of the data request to the edge node to request the required data; after receiving the data request, the edge node authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; for policies that agree to share data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user.
[0061] In an optional embodiment, at the data request stage, the step of determining whether to share data based on the data sharing policy includes: determining based on the confidentiality mark and integrity mark of the user and the requested data, and agreeing to share the data when the policy rules are met; the policy rules are expressed as:
[0062]
[0063] The above rules restrict the flow of information from both confidentiality and integrity aspects. The confidentiality relationship of the objects between the data storage party and the data requester strictly restricts the outflow of information, while the relationship between the integrity tags between objects strictly restricts the inflow of information. If and only if the relationship between the confidentiality tags and the integrity tags is met at the same time, data sharing is agreed and the data sharing operation is guaranteed to be secure.
[0064] In an optional embodiment, in the data request stage, for the policy of agreeing to share data, the data center of the edge node responds or feeds back to the cloud center, and the step of delivering the data to the user includes:
[0065] For the policy of agreeing to share data, the data center of the edge node responds. If the requested data is retrieved in the data center, it is delivered to the user who issued the data request, and the hash header H stored in the edge node and the cloud center is stored in the data center. i (ID du ||R′) is updated to H i-1 (ID du ||R′); otherwise, the data request is redirected to the cloud center;
[0066] After receiving the redirected request, the cloud center authenticates the user who issued the data request according to the hash header data sent by the trusted center; if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; if it is determined to be shared data, the cloud center delivers the requested data to the user who issued the data request through the edge node, and stores the hash header H stored in the edge node and the cloud center. i (ID du ||R′) is updated to H i-1 (ID du ||R′); when it is determined that data is not shared, the cloud center disconnects the session and returns the result to the user; if the identity authentication fails, the cloud center disconnects the session and returns the identity authentication result to the user.
[0067] Furthermore, in an optional embodiment, in the data storage stage, after the edge node receives the data with the owner tag, the step of authenticating the user based on the hash header data sent by the trusted center includes: the edge node searches for the corresponding hash header based on the received owner tag, and if there is a hash header and the owner tag belonging to the same hash chain, the identity authentication is determined to be successful.
[0068] In the data request stage, after the edge node receives the data request, the step of authenticating the user according to the hash header data sent by the trusted center includes: the edge node searches for the corresponding hash header according to the owner tag in the received data request, and if there is a hash header and the owner tag belonging to the same hash chain, the identity authentication is determined to be successful.
[0069] Furthermore, in an optional embodiment, in the data storage stage, the step of storing the data in the data center of the edge node or sending the data to the cloud center for storage according to the attributes of the data includes: the edge node performs an attribute check on the data, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage.
[0070] Furthermore, in an optional embodiment, sending non-delay sensitive data to a cloud center for storage includes the following steps: the cloud center authenticates the user based on the hash header data sent by the trusted center, the cloud center searches for the corresponding hash header based on the received owner tag, and if there is a hash header and the owner tag belonging to the same hash chain, the identity authentication is determined to be successful, and the received data is stored in its data center; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0071] In this embodiment, in order to achieve secure data sharing, distributed information flow control technology is selected to avoid the high computing overhead of IoT devices caused by complex cryptographic calculations. At the same time, this application introduces blockchain to store the user's unique identity ID, hash chain, and the mapping relationship between the unique identity ID and the hash chain, as well as the trajectory data of the data request. When there is malicious access or malicious request, by looking up the trajectory data, hash chain and the mapping relationship between the user's unique identity ID and the hash chain, and returning the identity ID of the user who issued the malicious data request or malicious access, identity traceability is achieved.
[0072] Example 3
[0073] This embodiment proposes a medical data security sharing system with identity traceability, and applies the medical data security sharing method with identity traceability proposed in Embodiment 1 or Embodiment 2. Figure 3 , which is an architecture diagram of the identity-traceable medical data security sharing system of this embodiment.
[0074] The identity-traceable medical data security sharing system proposed in this embodiment includes:
[0075] The trusted center is used to register the identity according to the attribute set uploaded by the user, generate the unique identity ID of the user, calculate the corresponding hash chain, and generate the confidentiality tag, integrity tag and owner tag according to the hash chain; after completing the user's registration, the trusted center sends the hash header to the edge node and cloud center for identity authentication.
[0076] Blockchain is used to store trajectory data, the user's hash chain, and the mapping relationship between the user ID and its hash chain.
[0077] The edge node is used to receive requests from users and respond to requests that pass identity authentication; the requests include data storage and data requests.
[0078] The cloud center is used to receive user requests forwarded by edge nodes, respond to authenticated requests, and store the trajectory data of data requests in the blockchain.
[0079] In this embodiment, the user who issues the data storage is the owner of the medical data, including but not limited to mobile terminals equipped with medical applications such as heart rate sensors and smart diagnostic devices; the user who issues the data request is the medical data user, who needs to perform health checks or clinical treatment based on the medical data provided by the owner of the medical data.
[0080] When the trusted center registers the identity based on the user's attribute set, for the data storage user, the trusted center generates the user's unique identity ID based on the user's attribute set. do , and based on the unique ID do Calculate the corresponding hash chain HC do ; Its expression is as follows:
[0081] HC do ={H 0 (ID do ||R),H 1 (ID do ||R),...,H i (ID do ||R)}
[0082] In the formula, H(·) represents a secure hash function, R is a random number, and H i (ID do ||R) indicates the root of trust (ID do ||R) is calculated by performing i hash operations to obtain the hash value.
[0083] The trusted center uses the H function to calculate the confidentiality tag L that matches the user based on the user's attribute set.S (do) = {H(Attr1)} and integrity flag L I (do)={H(Attr1),H(Attr2),...H(Attr n )}, where Attr1 represents the attribute set of the user itself, Attr n represents the attribute set of users who agree to share data with the current user, and n∈N * ; The trusted center is based on the user's hash chain HC do From the hash value H i-1 (ID do ||R) to H 1 (ID do ||R) is used as the owner tag of the user t O (do), and the hash chain {H 0 (ID do ||R),...,H i-1 (ID do ||R)}, and the confidentiality mark L S (do), integrity mark L I (do) and owner tag t O (do) returns to the user terminal; the trusted center sends the hash header H i (ID do ||R) is sent to edge nodes and cloud centers for identity authentication.
[0084] For data requesting users, the trusted center generates a unique ID for the user based on the user’s attribute set. du , and based on the unique ID du Calculate the corresponding hash chain HC du ; Its expression is as follows:
[0085] HC du ={H 0 (ID du ||R′),H 1 (ID du ||R′),...,H i (ID du ||R′)}
[0086] In the formula, H(·) represents a secure hash function, R' is a random number, and H i (ID du ||R′) represents the root of trust (ID du ||R′) is calculated by performing i hash calculations.
[0087] The trusted center uses the H function to calculate the confidentiality tag L that matches the user based on the user's attribute set. S(du)={H(Attr'1),H(Attr'2),...H(Attr' n )} and integrity mark L I (du) = {H(Attr'1)}, where Attr'1 represents the attribute set of the user himself, Attr' n Represents the attribute set of the data owner user; the trusted center uses the user's hash chain HC du From the hash value H i-1 (ID du ||R′) to H 1 (ID du ||R′) is used as the owner tag of the user t O (du), and the hash chain {H 0 (ID du ||R′),...,H i-1 (ID du ||R′)}, and the confidentiality mark L S (du), integrity mark L I (du) and owner tag t O (do) returns to the user terminal; the trusted center sends the hash header H i (ID du ||R′) is sent to the edge nodes and cloud center for identity authentication.
[0088] Further optionally, at the next data storage or data request, the next hash value is selected as the owner tag of the current user according to the user's hash chain, until all hash values in the hash chain are allocated, and then a request is made to the trusted center to generate a new hash chain.
[0089] In this embodiment, for the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node; after the edge node receives the data with the owner tag, it authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, the data is checked for attributes, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0090] In an optional embodiment, the step of authenticating the user includes: the edge node searches for a corresponding hash header according to the received owner tag, and if there is a hash header and the owner tag belonging to the same hash chain, it is determined that the identity authentication is successful.
[0091] Further optionally, the edge node performs an attribute check on the data, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage.
[0092] Among them, when non-delay sensitive data is sent to the cloud center for storage, the cloud center authenticates the user based on the hash header data sent by the trusted center. The cloud center searches for the corresponding hash header based on the received owner tag. If there is a hash header and the owner tag belonging to the same hash chain, the identity authentication is determined to be successful, and the received data is stored in its data center.
[0093] For the data request stage, the registered user sends his confidentiality tag, integrity tag and owner tag as part of the data request to the edge node to request the required data; after receiving the data request, the edge node authenticates the user based on the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
[0094] In an optional embodiment, the step of authenticating the user includes: the edge node searches for the corresponding hash header according to the owner tag in the received data request, and if there is a hash header and the owner tag belonging to the same hash chain, it is determined that the identity authentication is successful.
[0095] Furthermore, in the data request stage, the step of determining whether to share data based on the data sharing policy includes: determining based on the confidentiality mark and integrity mark of the user and the requested data, and agreeing to share the data when the policy rules are met; the policy rules are expressed as:
[0096]
[0097] Further optionally, for the policy of agreeing to share data, the data center of the edge node responds, and if the requested data is retrieved in the data center, it is delivered to the user who issued the data request, and the hash header H stored in the edge node is sent to the data center. i (ID du ||R′) is updated to H i-1 (ID du ||R′); otherwise, the data request is redirected to the cloud center.
[0098] After receiving the redirected request, the cloud center authenticates the user who issued the data request according to the hash header data sent by the trusted center; if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; for the policy that agrees to share data, the cloud center delivers the requested data to the user who issued the data request through the edge node, and at the same time stores the hash header H stored in the cloud center. i (ID du ||R′) is updated to H i-1 (ID du ||R′).
[0099] When there is a malicious data request or malicious access, that is, when identity authentication fails, the trajectory data, hash chain, and the mapping relationship between the user's unique identity ID and the hash chain are searched from the blockchain based on the user's unique identity ID, and the identity ID of the user who issued the malicious data request or malicious access is returned to achieve identity traceability.
[0100] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the embodiments here. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the claims of the present invention.
Claims
1. A method for securely sharing medical data with traceable identity, applied to a data sharing system consisting of a terminal, a trusted center, a blockchain, an edge node and a cloud center, characterized in that: The following steps are involved: The user sends his attribute set to the trusted center through the terminal. The trusted center registers the user's identity based on the user's attribute set, generates the user's unique identity ID, calculates the corresponding hash chain, and generates a confidentiality tag, integrity tag, and owner tag based on the hash chain; After completing the user's registration, the trusted center sends the user's hash header to the edge node and cloud center for identity verification, and stores the user's hash chain and the mapping relationship between its unique identity ID and the hash chain in the blockchain; In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node. After receiving the data with the owner tag, the edge node authenticates the user based on the hash header data sent by the trusted center. If the authentication is successful, the data is stored in the data center of the edge node or sent to the cloud center for storage based on the attributes of the data. If the authentication fails, the session is disconnected and the authentication result is returned to the user; In the data request phase, the registered user sends its confidentiality tag, integrity tag, and owner tag as part of the data request to the edge node to request the required data; After receiving the data request, the edge node authenticates the user according to the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
2. The identity-traceable medical data security sharing method according to claim 1, characterized in that: For a data storage user, the trusted center performs identity registration based on the user's attribute set, including the following steps: The trusted center generates a unique ID for the user based on the user's attribute set do , and based on the unique ID do Calculate the corresponding hash chain HC do ; Its expression is as follows: HC do ={H 0 (ID do ||R),H 1 (ID do ||R),...,H i (ID do ||R)} In the formula, H(·) represents a secure hash function, R is a random number, and H i (ID do ||R) indicates the root of trust (ID do ||R) The hash value obtained by performing i hash calculations; The trusted center uses a hash function to calculate a confidentiality tag L that matches the user based on the user's attribute set. S (do) = {H(Attr1)} and integrity flag L I (do)={H(Attr1),H(Attr2),...H(Attr n )}, where Attr1 represents the attribute set of the user itself, Attr n represents the attribute set of users who agree to share data with the current user, and n∈N * ; The trusted center is based on the user's hash chain HC do From the hash value H i-1 (ID do ||R) to H 1 (ID do ||R) is used as the owner tag of the user t O (do), and the hash chain {H 0 (ID do ||R),...,H i-1 (ID do ||R)}, and the confidentiality mark L S (do), integrity mark L I (do) and owner tag t O (do) return to the user terminal; The trusted center will hash the header H i (ID do ||R) is sent to edge nodes and cloud centers for identity authentication.
3. The identity-traceable medical data security sharing method according to claim 2 is characterized in that: For a data requesting user, the trusted center performs identity registration based on the user's attribute set, including the following steps: The trusted center generates a unique ID for the user based on the user's attribute set du , and based on the unique ID du Calculate the corresponding hash chain HC du ; Its expression is as follows: HC du ={H 0 (ID du ||R′),H 1 (ID du ||R′),...,H i (ID du ||R′)} In the formula, H(·) represents a secure hash function, R' is a random number, and H i (ID du ||R′) represents the root of trust (ID du ||R′) is calculated by performing i hash calculations to obtain the hash value; The trusted center uses the H function to calculate the confidentiality tag L that matches the user based on the user's attribute set. S (du)={H(Attr'1),H(Attr'2),...H(Attr' n )} and integrity mark L I (du) = {H(Attr'1)}, where Attr'1 represents the attribute set of the user himself, Attr' n Represents the attribute set of the data owner user; the trusted center uses the user's hash chain HC du From the hash value H i-1 (ID du ||R′) to H 1 (ID du ||R′) is used as the owner tag of the user t O (du), and the hash chain {H 0 (ID du ||R′),...,H i-1 (ID du ||R′)}, and the confidentiality mark L S (du), integrity mark L I (du) and owner tag t O (do) return to the user terminal; The trusted center will hash the header H i (ID du ||R′) is sent to the edge nodes and cloud center for identity authentication.
4. The identity-traceable medical data security sharing method according to claim 3 is characterized in that: When data is stored or requested next time, the next hash value is selected as the owner tag of the current user according to the user's hash chain until all hash values in the hash chain are allocated, and then a request is made to the trusted center to generate a new hash chain.
5. The identity-traceable medical data security sharing method according to claim 3 is characterized in that: In the data request stage, the step of determining whether to share data based on the data sharing policy includes: determining based on the confidentiality mark and integrity mark of the user and the requested data, and agreeing to share data when the policy rules are met; the policy rules are expressed as:
6. The identity-traceable medical data security sharing method according to claim 3 is characterized in that: In the data request phase, for the policy of agreeing to share data, the data center of the edge node responds or feeds back to the cloud center, and the steps of delivering the data to the user include: For the policy of agreeing to share data, the data center of the edge node responds. If the requested data is retrieved in the data center, it is delivered to the user who issued the data request, and the hash header H stored in the edge node and the cloud center is stored in the data center. i (ID du ||R′) is updated to H i-1 (ID du ||R′); otherwise, the data request is redirected to the cloud center; After receiving the redirected request, the cloud center authenticates the user who issued the data request according to the hash header data sent by the trusted center; if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; if it is determined to be shared data, the cloud center delivers the requested data to the user who issued the data request through the edge node, and stores the hash header H stored in the edge node and the cloud center. i (ID du ||R′) is updated to H i-1 (ID du ||R′); when it is determined that data is not shared, the cloud center disconnects the session and returns the result to the user; if the identity authentication fails, the cloud center disconnects the session and returns the identity authentication result to the user.
7. The identity-traceable medical data security sharing method according to claim 1, characterized in that: In the data storage stage, after the edge node receives the data with the owner tag, the step of authenticating the user according to the hash header data sent by the trusted center includes: the edge node searches for the corresponding hash header according to the received owner tag, and if there is a hash header that belongs to the same hash chain as the owner tag, it is determined that the identity authentication is successful; In the data request stage, after the edge node receives the data request, the step of authenticating the user according to the hash header data sent by the trusted center includes: the edge node searches for the corresponding hash header according to the owner tag in the received data request, and if there is a hash header and the owner tag belonging to the same hash chain, the identity authentication is determined to be successful.
8. The identity-traceable medical data security sharing method according to claim 1, characterized in that: In the data storage stage, the steps of storing the data in the data center of the edge node or sending it to the cloud center for storage according to the attributes of the data include: the edge node checks the attributes of the data, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage.
9. The identity-traceable medical data security sharing method according to claim 8, characterized in that: In the data storage phase, sending non-delay sensitive data to the cloud center for storage includes the following steps: The cloud center authenticates the user based on the hash header data sent by the trusted center. The cloud center searches for the corresponding hash header based on the received owner tag. If there is a hash header that belongs to the same hash chain as the owner tag, the identity authentication is determined to be successful, and the received data is stored in its data center; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
10. A medical data security sharing system with traceability, using the medical data security sharing method with traceability as claimed in any one of claims 1 to 9, characterized in that: include: The trusted center is used to register the user's identity based on the attribute set uploaded by the user, generate the user's unique identity ID, calculate the corresponding hash chain, and generate a confidentiality tag, an integrity tag, and an owner tag based on the hash chain; after completing the user's registration, the trusted center sends the user's hash header to the edge node and the cloud center for identity authentication; Blockchain, used to store trajectory data, the user's hash chain, and the mapping relationship between the user ID and its hash chain; The edge node is used to receive requests from users and respond to requests that pass identity authentication; the requests include data storage and data requests; The cloud center is used to receive user requests forwarded by edge nodes and respond to authenticated requests; In the data storage stage, the registered user marks the data with the owner tag and uploads it to the edge node; after receiving the data with the owner tag, the edge node authenticates the user according to the hash header data sent by the trusted center: if the identity authentication is successful, the data is checked for attributes, and if the data is delay-sensitive data, the data is stored in the data center of the edge node, otherwise it is sent to the cloud center for storage; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user; In the data request phase, the registered user sends its confidentiality tag, integrity tag, and owner tag as part of the data request to the edge node to request the required data; After receiving the data request, the edge node authenticates the user according to the hash header data sent by the trusted center: if the identity authentication is successful, it determines whether to share the data based on the data sharing policy, and stores the trajectory data of the data request in the blockchain; when it is determined to share the data, the data center of the edge node responds or feeds back to the cloud center and delivers the data to the user; when it is determined not to share the data, the session is disconnected and the result is returned to the user; if the identity authentication fails, the session is disconnected and the identity authentication result is returned to the user.
Citation Information
Patent Citations
Method for establishing trusted relationship between client and database
CN111831997A
Cloud data sharing method based on block chain
CN112019591A