CN107635018B - Cross-domain medical cloud storage system supporting emergency access control and safe deduplication - Google Patents

Cross-domain medical cloud storage system supporting emergency access control and safe deduplication Download PDF

Info

Publication number
CN107635018B
CN107635018B CN201711051952.6A CN201711051952A CN107635018B CN 107635018 B CN107635018 B CN 107635018B CN 201711051952 A CN201711051952 A CN 201711051952A CN 107635018 B CN107635018 B CN 107635018B
Authority
CN
China
Prior art keywords
key
medical
ciphertext
bgk
patient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711051952.6A
Other languages
Chinese (zh)
Other versions
CN107635018A (en
Inventor
杨旸
张煜超
郑相涵
郭文忠
刘西蒙
张�浩
刘耿耿
刘佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201711051952.6A priority Critical patent/CN107635018B/en
Publication of CN107635018A publication Critical patent/CN107635018A/en
Application granted granted Critical
Publication of CN107635018B publication Critical patent/CN107635018B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Storage Device Security (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

The invention relates to a cross-domain medical cloud storage system supporting emergency access control and safe duplicate removal, wherein a patient sets a password and an emergency access key based on the password, and informs an emergency contact of the password; the patient appoints an access strategy and an emergency access key to encrypt medical documents of the patient and then store the medical documents into the public cloud; the user registers to the medical institution to obtain an anonymous identity and an attribute key, obtains a corresponding proxy key and sends the proxy key to the public cloud, the public cloud generates a part of ciphertext of the encrypted medical document according to the proxy key, and the user obtains a plaintext of the encrypted medical document according to the attribute key and the part of ciphertext; the emergency contact acquires the emergency access key by using the password to decrypt the encrypted medical document of the patient; the public cloud interacts with a private cloud of the medical institution to perform a secure deduplication operation to eliminate copies of the encrypted medical documents. The invention supports emergency access, and adopts a safe duplicate removal mechanism to delete redundant ciphertext containing the same message, thereby saving storage space and transmission overhead.

Description

Cross-domain medical cloud storage system supporting emergency access control and safe deduplication
Technical Field
The invention relates to the technical field of cloud storage, in particular to a cross-domain medical cloud storage system supporting emergency access control and safe duplication elimination.
Background
The development of internet of things (IoT) technology has made it possible for medical institutions to provide high-quality, more convenient, and more widespread medical services. Medical institutions may implant tiny sets of wireless sensor nodes into patients (or attached to the surface of the patient's skin) to monitor their health and collect important physiological data, which facilitates emergency medical rescue and chronic disease detection. The elderly can enjoy modern medical services anytime and anywhere using wearable or implantable medical sensors.
After the medical IoT network collects the medical data, the medical data is transmitted to a data center for storage and disease diagnosis. To protect the privacy of the patient, the medical documents need to be encrypted before transmission to prevent eavesdropping on the public channel. The data owner defines authorization attributes and relationships by enforcing access policies on the protected data. Only the user (e.g., doctor, nurse, anesthesiologist, or patient's family) who possesses the attribute key has the authority to decrypt the ciphertext. This method is called attribute-based encryption (ABE).
In modern medical systems, a patient with a difficult condition may be diagnosed and treated in different hospitals. Therefore, there is a need to implement a cross-domain secure data sharing system to facilitate patient treatment between different hospitals. The doctor at hospital B can review the exam report generated at hospital a. Encrypted medical documents generated by different hospitals are sent to a public cloud server for storage, and the encrypted medical documents are accessed by users. The patient defines a cross-domain access policy for his encrypted medical records. Each medical professional registers with their medical institution to obtain a key for decrypting the patient's encrypted document.
Emergency situations such as car accidents or sudden coma of the patient may occur in the medical system. In these emergency situations, electronic medical documents of the patient need to be acquired to save their lives. While emergency personnel on site are likely to not have access to the patient's encrypted medical documents. Security mechanisms that protect data privacy may hinder emergency treatment of patients. It is therefore crucial to devise an emergency access method for emergency situations, which enables access to electronic medical documents even if emergency personnel do not have the associated attribute keys. At the same time, the emergency access rights should be controllable and protected against malicious access by an attacker.
Different medical personnel may use different access policies to encrypt the same medical data. The ciphertext is transmitted to a public cloud server, and a large amount of storage space is occupied. In order to save storage space and transmission overhead, an effective method is to eliminate redundant ciphertext containing the same message in the cloud server, and the method is called safe deduplication.
In 2009 Brucker et al proposed an access control model with emergency access functionality and a security architecture that supports emergency access. They then integrate the emergency access mechanism into an attribute-based encryption scheme to implement a security log system for analyzing the user's behavior during emergency access. Marinovic et al proposed a new emergency access model named Rampole that adds integrity constraints in the decision making process to enable a decision maker to manage emergency access privileges in a fine-grained manner. Maw et al devised an emergency access model for wireless sensor medical networks and are concerned with the problem of access rights management across medical domains. However, these studies only give a basic architecture and no specific solution. In 2016, Zhang et al proposed a password-based emergency access scheme based on two-factor encryption: password-based encryption and master private key-based encryption.
In 2013, Bellare et al proposed message locked encryption (message locked encryption) to implement secure deduplication and can derive encryption and decryption keys from messages. In 2014, Li et al proposed a system for managing aggregated keys in secure deduplication. The system is implemented by the Dekey technology and is based on a secret sharing scheme. Later, they proposed a secure deduplication system in a hybrid cloud architecture (including public and private clouds) and able to resist collusion attacks. In 2015, Liu et al constructed a novel secure deduplication system based on a password authenticated key exchange protocol. Since these security deduplication systems do not take into account the issue of access control, Cui et al propose a security deduplication system based on attribute access control using zero knowledge proof.
In 2007, Ostrovsky proposed an attribute-based encryption algorithm such that the user's key could represent both monotonic (monotone) and non-monotonic (non-monotone) access policies. To reduce the decryption computation overhead, Green et al propose outsourcing decryption methods so that users can recover messages using lightweight computing. In order to detect the correctness of the converted ciphertext, people research verifiable outsourcing decryption and provide an effective way for correctness verification. The traitor tracing problem in ABE was studied to recover the identity of a malicious user. One has studied the security search problem in ABE: the user sends the keyword trapdoor to the cloud server for searching, and the cloud server returns the ciphertext containing the same keyword. Yang et al propose a time domain attribute based access control scheme to protect cloud-based video content sharing that embeds time into the ciphertext and key to achieve time control. To reduce trust in a single authority center, the ABE scheme of multiple authority centers has been studied.
Disclosure of Invention
Aiming at the prior art, the invention provides a cross-domain medical cloud storage system supporting emergency access control and safe duplicate removal, which supports emergency access control and safe duplicate removal and solves the problems of data redundancy, high storage overhead and the like.
In order to achieve the purpose, the technical scheme of the invention is as follows: a cross-domain medical cloud storage system supporting emergency access control and safe duplicate removal comprises a key generation center, a medical institution and a public cloud;
the key generation center is used for generating public parameters and a main private key of the cross-domain medical cloud storage system, detecting the medical quality of the medical institution and generating a public key/private key for the medical institution;
the medical institution distributes an attribute set according to the characteristics of the user, generates an attribute key, and executes storage and calculation service for the user through a private cloud;
the public cloud is used for storing medical documents of patients of different medical institutions and responding to data access inquiry;
the patient acquires medical service through a medical institution, sets a password and an emergency access key based on the password, and informs an emergency contact of the password; the patient appoints an access strategy and an emergency access key to encrypt medical documents of the patient and then store the medical documents to the public cloud; the emergency contact list is managed by a private cloud of the medical institution;
the method comprises the steps that a user registers in a medical institution to obtain an anonymous identity and an attribute key, obtains a corresponding proxy key according to the anonymous identity and the attribute key and sends the proxy key to a public cloud, the public cloud generates a part of ciphertext of an encrypted medical document according to the proxy key, and the user obtains a plaintext of the encrypted medical document according to the attribute key and the part of ciphertext;
the emergency contact acquires the emergency access key by using the password to decrypt the encrypted medical document of the patient;
the public cloud interacts with a private cloud of the medical institution to perform a secure deduplication operation to eliminate copies of encrypted medical documents.
Further, the key generation center inputs security parameters 1κGenerating public parameters and a main private key of the system by using a GlobalSetup algorithm, which comprises the following specific steps:
GlobalSetup(1κ) → (PP, MSK): key generation centric randomly selected hash function
Figure GDA0002812055590000031
Figure GDA0002812055590000032
Secure symmetric encryption/decryption algorithm SEnc/SDec and symmetric key space
Figure GDA0002812055590000033
The key generation center then selects a cyclic group
Figure GDA0002812055590000041
Generating element of
Figure GDA0002812055590000042
And random number
Figure GDA0002812055590000043
Calculating Y ═ e (g)1,g2)ηSetting the common parameter PP ═ g, g1,g2,g3,Y,H1,H2,SEnc/SDec), setting a main private key MSK as eta; wherein,
Figure GDA0002812055590000044
p is a prime number,
Figure GDA0002812055590000045
represents from
Figure GDA0002812055590000046
And selecting a random value eta.
Further, when the ith medical institution registers to the cross-domain medical cloud storage system, the key generation center checks the medical quality of the ith medical institution; if qualified, the key generation center assigns an identity MI to the facilityiAnd generates a public key PK thereforiAnd a private key SKiCross-domain medical cloud storage system public PKiSK is transmitted via a secure channeliTo medical institutions MIiThe method comprises the following steps:
KeyGen.MI(MIi,MSK)→(PKi,SKi): random selection of alpha by key generation centerii,
Figure GDA0002812055590000047
Based on the master private key MSK and the identity MI of the medical institutioniIs calculated to obtain
MIiPublic key PKi
Figure GDA0002812055590000048
MIiPrivate key SKi
Figure GDA0002812055590000049
MIiIs PKi=(pki,1,pki,2) The private key is SKi=(Ki,1,Ki,2,Ki,3,Ki,4,Ki,5)。
Further, when the jth user Ui,jTo medical institutions MIiDuring registration, the medical institution verifies the identity of the user Ui,jDistributing anonymous identities
Figure GDA00028120555900000410
And hide its true identity, depending on the user identity, MIiAssigning a set of attribute collections
Figure GDA00028120555900000411
To characterize the user and for anonymous identity PIDi,jUser generated attribute key SKi,jThe method comprises the following steps:
Figure GDA00028120555900000412
medical institution MIiV 'is chosen randomly'i,j,
Figure GDA00028120555900000413
Setting vi,j=vi+v'i,jCalculating the user's attribute key SKi,j
Figure GDA00028120555900000414
Figure GDA00028120555900000415
ski,j,3=gt
Figure GDA00028120555900000416
Ui,jThe attribute key of (A) is
Figure GDA0002812055590000051
Wherein
Figure GDA0002812055590000052
To represent
Figure GDA0002812055590000053
The number of attributes of the user.
Further, a random number is selected
Figure GDA0002812055590000054
PID based on user anonymous identityi,jAnd attribute key SKi,jComputing proxy key DKi,jAnd sending to the public cloud, calculating as follows:
Figure GDA0002812055590000055
Figure GDA0002812055590000056
DK3=(ski,j,3)τ=(gt)τ
Figure GDA0002812055590000057
Figure GDA0002812055590000058
the user's proxy key is
Figure GDA0002812055590000059
Further, the emergency access key generation method is as follows:
the patient sets a password pwi,jAnd emergency access key BGK based on the passwordi,jUsing the password pwi,jGenerating an emergency access key, BGKi,jAuxiliary information (BGK)i,j,1,BGKi,j,2) BGKi,j,1Sending the BGK to public cloudi,j,2To medical institutions MIiPrivate cloud, emergency contact utilizes password pwi,jAnd auxiliary information (BGK)i,j,1,BGKi,j,2) Recovering to obtain BGK (emergency access key)i,j(ii) a The concrete implementation is as follows:
KeyGen.BGK(PIDi,j,pwi,j)→(BGKi,j,1,BGKi,j,2): randomly selecting ζ121,
Figure GDA00028120555900000510
Ψ,Ψ1RG, setting a BGK (emergency access key)i,jΨ, PID based on the anonymous identity of the patienti,jAnd password pwi,jAnd (3) calculating:
Figure GDA00028120555900000511
Figure GDA00028120555900000512
Figure GDA00028120555900000513
Figure GDA00028120555900000514
further, emergency contacts are in contact with the public cloud and medical institutions MIiInteracts according to the anonymous identity PID of the patienti,jPassword pwi,jAnd auxiliary information BGKi,j,1,BGKi,j,2Obtaining an emergency access key BGKi,jThe specific process is as follows:
Extract.BGK(PIDi,j,pwi,j,BGKi,j,1,BGKi,j,2)→BGKi,j: emergency contact selection random number
Figure GDA0002812055590000061
Computing
Figure GDA0002812055590000062
And sends it to the public cloud and medical institution MIi(ii) a Public cloud selection of random numbers
Figure GDA0002812055590000063
Computing
Figure GDA0002812055590000064
And transmits it to the medical structure MIi(ii) a Medical institution MIiSelecting random numbers
Figure GDA0002812055590000065
Computing
Figure GDA0002812055590000066
And send it to the public cloud; public cloud computing
Figure GDA0002812055590000067
And will be (A)1,W1) Sending the information to an emergency contact; medical institution MIiComputing
Figure GDA0002812055590000068
And will be (A)2,W2) Sending the information to an emergency contact; by calculating BGKi,j=Ψ=(W1·W2)·(A1·A2)ξAn emergency access key is obtained.
Further, the way that the patient specifies the access policy and the emergency access key to encrypt his medical document is: patient embedding access policy in the process of encrypting medical document M
Figure GDA0002812055590000069
Access policy based on medical document M
Figure GDA00028120555900000610
Medical institution MIiPublic key PKiAnonymous identity of the patient PIDi,jAnd emergency access key BGKi,jObtaining the ciphertext CT and the transformation key TKi,jAnd the proof information pf is specifically realized as:
Figure GDA00028120555900000611
ρ will matrix
Figure GDA00028120555900000612
Is mapped to the medical institution, delta is the matrix
Figure GDA00028120555900000613
The row vector of (a) is mapped to an attribute,
Figure GDA00028120555900000614
is that
Figure GDA00028120555900000615
Line x of (1), patient random selection
Figure GDA00028120555900000616
Let v be (z, v)2,...vn)T,w=(0,w2,...,wn)TLet us order
Figure GDA00028120555900000617
Figure GDA00028120555900000618
λxAnd wxRespectively represent
Figure GDA00028120555900000619
Z and 0, sign<·>Computing a transformation key by performing an inner product operation
Figure GDA00028120555900000620
The patient is
Figure GDA00028120555900000621
X in each row of the random selection
Figure GDA00028120555900000622
For the medical document M, a document number is set
Figure GDA00028120555900000623
Computing the elements of the ciphertext CT:
γ=H2(Ψ,PIDi,j,FID),
Figure GDA00028120555900000630
C-1=g1 z,C0=γ·Yz=γ·e(g1,g2)η·z
Figure GDA00028120555900000631
Figure GDA00028120555900000626
wherein
Figure GDA00028120555900000627
After M represents
Figure GDA00028120555900000628
0, (C) ciphertext CT ═ CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l]) (ii) a Where x ∈ [ l ]]Denotes that x is more than or equal to 1 and l is a matrix
Figure GDA00028120555900000629
The number of rows of (c);
randomly selecting s, r1,
Figure GDA0002812055590000071
Calculating the CT certification information pf:
Figure GDA0002812055590000072
D2=gs
Figure GDA0002812055590000073
θ=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1,B2),D4=r1-θ·H1(M),
D5=r2-θ·H1(γ), the certification information pf ═ D1,D2,D3,D4,D5θ), patient handle (PID)i,jFID, CT, pf) to the public cloud, and the TK for the key conversioni,jTo medical institutions MIiAnd the proof information pf is used for enabling the public cloud to distinguish different ciphertexts encrypted by the same plaintext information.
Further, the secure deduplication operation comprises:
the method comprises the following steps: and detecting whether the ciphertext is valid:
ValidityTest (CT, pf) → 1/0: and calculating by the public cloud according to the ciphertext CT and the proof information pf:
Figure GDA0002812055590000074
θ'=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1',B2')
verifying whether the equation theta' is true or not, if true, outputting 1 to indicate that the ciphertext is valid, and otherwise, outputting 0 to indicate that the ciphertext is invalid;
step two: detecting whether the ciphertext contains the same medical document:
MsgTest(pf1,pf2) → 1/0: let pf1=(D1,D2,D3,D4,D5,θ),pf2=(D1',D2',D3',D4',D5', θ'), the public cloud proves information pf according to the ciphertext1And pf2Verification of equation e (D)1,D2')=e(D1',D2) If yes, outputting 1 to show that the two ciphertexts are in the same plaintext encryption form, otherwise outputting 0;
step three: re-encrypting the ciphertext using the combined access policy, such that a user having access to the original ciphertext may also access the encrypted data:
assume that the ciphertext and corresponding access policy are
Figure GDA0002812055590000075
Medical institution MIiDeriving a combined access policy
Figure GDA0002812055590000076
And using combined access policies
Figure GDA0002812055590000077
Re-encrypting the ciphertext to generate a new ciphertext CT', bundle (CT)1,...,CTm) The ciphertext with the smallest document number is denoted as CT, and CT is assumed to be1,FID=FID1
Figure GDA0002812055590000078
Medical institution MIiPID based on anonymous identity of patienti,jTK for converting secret keyi,jCiphertext CT and combined access strategy
Figure GDA0002812055590000081
Computing a new ciphertext CT', wherein
Figure GDA0002812055590000082
ρ' will
Figure GDA0002812055590000083
Is mapped to the medical institution, δ' will
Figure GDA0002812055590000084
The row of (a) is mapped to an attribute,
Figure GDA0002812055590000085
to represent
Figure GDA0002812055590000086
The x-th row of (a),
Figure GDA0002812055590000087
random selection
Figure GDA0002812055590000088
Let v ═ z ', v'2,...v'n)T,w'=(0,w'2,...,w'n)TWherein
Figure GDA0002812055590000089
Order to
Figure GDA00028120555900000810
λ'xAnd w'xRespectively represent
Figure GDA00028120555900000811
Z and 0 fraction corresponding to the x-th row of (1), medical institution MIiIs composed of
Figure GDA00028120555900000812
X in each row of the random selection
Figure GDA00028120555900000813
And calculates ciphertext CT '═ C'M,C'-1,C'0,{C'1,x,C'2,x,C'3,x,C'4,x}x∈[l]):C’M=CM,
Figure GDA00028120555900000814
C'0=C0·Yz=γ·Yz'
Figure GDA00028120555900000815
Figure GDA00028120555900000816
Due to the fact that
Figure GDA00028120555900000817
Figure GDA00028120555900000818
To obtain
Figure GDA00028120555900000819
Using a transfer key TKi,jCalculating element C'1,x
Figure GDA00028120555900000820
Further, the specific way for the user to obtain the plaintext of the encrypted medical document by using the attribute key is as follows:
public cloud-based proxy key DKi,jPartially decrypting the ciphertext and generating a partial ciphertext CTp
PartialDec(CT,DKi,j)→CTp: public cloud according to ciphertext CT and proxy key DKi,jComputing
Figure GDA00028120555900000821
So that
Figure GDA00028120555900000822
Figure GDA00028120555900000823
CT partial cipher textp=(CM,C0,CT) Sending the data to a user;
Dec1(CTp,SKi,j) → M/. T: user with attribute key according to partial cipher text CTp=(CM,C0,CT) And attribute key SKi,jRecovering fromObtaining again
Figure GDA00028120555900000824
And M' ═ SDec (H)2(γ),CM) (ii) a If it is not
Figure GDA00028120555900000825
Outputting the medical document M; otherwise output ^ T, where
Figure GDA00028120555900000826
After M represents
Figure GDA00028120555900000827
And 0.
Compared with the prior art, the invention has the following beneficial effects:
(1) cross-domain fine-grained access control: the invention uses the encryption algorithm with cross-domain access strategy based on the attribute to encrypt the medical record of the patient, so that the authorized user (including the patient, the medical staff or the friends and relatives of the patient) in the system can access the medical record.
(2) Password-based emergency access: the invention provides an emergency access mechanism, a password and a group of emergency contacts are preset by a patient, and in an emergency situation, the emergency contacts can acquire an emergency access key by using the password so as to recover all medical data of the patient, so that the emergency access mechanism is favorable for timely treating the patient.
(3) Safe de-weighting: the invention supports the safe duplicate removal of the encrypted data based on the attribute, effectively saves the storage space and reduces the transmission cost between the public cloud and the user, and the duplicate removal operation comprises three stages: firstly, detecting whether a ciphertext is valid; secondly, detecting whether the ciphertext contains the same medical document; and finally, the ciphertext is re-encrypted by using the combined access strategy, so that an authorized user who can access the original ciphertext can access the encrypted data.
Drawings
FIG. 1 is a system framework diagram of the present invention;
FIG. 2 is a diagram of the system set up process of the present invention;
FIG. 3 is a key generation process for a medical facility of the present invention;
FIG. 4 is a user attribute key generation process of the present invention;
FIG. 5 is a proxy key generation process of the present invention;
FIG. 6 is a password-based emergency access key generation process of the present invention;
fig. 7 is a process of password-based emergency access key extraction according to the present invention.
Detailed Description
The invention is further explained below with reference to the drawings and the embodiments.
The invention relates to a cross-domain medical cloud storage system supporting emergency access control and safe duplicate removal, which comprises a key generation center, a medical institution and a public cloud;
the key generation center is used for generating public parameters and a main private key of the cross-domain medical cloud storage system, detecting the medical quality of the medical institution and generating a public key/private key for the medical institution;
the medical institution distributes an attribute set according to the characteristics of the user, generates an attribute key, and executes storage and calculation service for the user through the private cloud;
the public cloud is used for storing medical documents of patients of different medical institutions and responding to data access inquiry;
the patient acquires medical service through a medical institution, sets a password and an emergency access key based on the password, and informs an emergency contact of the password; the patient appoints an access strategy and an emergency access key to encrypt medical documents of the patient and then store the medical documents to the public cloud; the emergency contact list is managed by a private cloud of the medical institution;
the method comprises the steps that a user registers in a medical institution to obtain an anonymous identity and an attribute key, obtains a corresponding proxy key according to the anonymous identity and the attribute key and sends the proxy key to a public cloud, the public cloud generates a part of ciphertext of an encrypted medical document according to the proxy key, and the user obtains a plaintext of the encrypted medical document according to the attribute key and the part of ciphertext;
the emergency contact acquires the emergency access key by using the password to decrypt the encrypted medical document of the patient;
the public cloud interacts with a private cloud of the medical institution to perform a secure deduplication operation to eliminate copies of the encrypted medical documents.
The specific implementation process is as follows:
as shown in FIG. 1, the system framework of the present invention comprises the following entities of various types, each of which has the following features and functions:
key Generation Center (KGC): the KGC is a trusted third party entity and is responsible for generating system public parameters and generating a master private key and storing the master private key in a secret manner; the KGC is also responsible for detecting the medical quality of the medical institution and generating public/private keys for it.
Medical Institution (MI): the medical institution registers to the KGC to acquire a public key/private key pair, is responsible for treating patients and managing patients and medical staff in the medical field, distributes a group of attribute sets according to the characteristics of the patients and the medical staff and generates an attribute key, and executes storage and calculation services for the users through a private cloud, such as emergency contact list storage, cipher text re-encryption, emergency access key extraction and the like of the patients.
Data owner (based on medical internet of things): the data owner is typically a patient and the medical internet of things system is responsible for monitoring physiological data of the patient. Implanting several small wireless sensors in the patient or attached to the surface of the patient's skin to continuously monitor the patient's physiological parameters and send them to the aggregation node; medical data of a patient is recorded in an electronic medical document, in order to protect privacy of the patient, the medical document is encrypted into a ciphertext, an access policy is specified for the ciphertext so as to perform access control, only an authorized user can recover the document, then the protected medical document is outsourced to a public cloud for storage, and in order to deal with an emergency, the patient presets a password, an emergency access key and a set of emergency contacts (such as his main doctor, family or friend). The emergency access key may be used to decrypt all encrypted medical documents of the patient. The patient securely hands the password to an Emergency Contact (ECP). When the patient encounters an emergency, the ECP may derive the emergency access key from the password and recover the patient's medical documentation. The private cloud of the medical institution is responsible for managing ECP lists of patients.
Public cloud: the public cloud is responsible for storing medical documents of data owners from different medical institutions and responding to data access queries; according to the attributes of the data user and the access policy of the encrypted document, the public cloud can detect whether the user has the right to access the data, and provide partial decryption service for the user to reduce the calculation burden of the user. To eliminate copies of encrypted medical documents, the public cloud interacts with the private cloud of the medical institution to perform secure deduplication operations to save storage space.
The data user: a data user (e.g., a medical person or a patient's friend, relative) registers with a medical institution to obtain an attribute key, and the user sends a data access query to the public cloud to obtain an encrypted medical document and decrypts it using the attribute key.
Emergency Contact (ECP): the patient securely shares the password to the emergency contact and the ECP uses the password to obtain the emergency access key to decrypt the patient's medical documents when the patient is in a dangerous condition.
1. System set-up
FIG. 2 shows the system setup process, KGC inputs security parameters 1κThe GlobalSetup algorithm generates the public parameters PP and the master private key MSK of the system. The public parameter PP is disclosed in the system, and the KGC secretly stores the MSK. Globalsetup (1)κ) → (PP, MSK): the KGC executes the algorithm. KGC randomly selects a hash function
Figure GDA0002812055590000111
Secure symmetric encryption/decryption algorithm SEnc/SDec and symmetric key space
Figure GDA0002812055590000112
KGC selection cycle group
Figure GDA0002812055590000113
Generating element of
Figure GDA0002812055590000114
And random number
Figure GDA0002812055590000115
Calculating Y ═ e (g)1,g2)η. KGC sets the common parameter PP ═ g, g1,g2,g3,Y,H1,H2secc/SDec), MSK is set to η. Wherein,
Figure GDA0002812055590000116
Figure GDA0002812055590000117
Figure GDA0002812055590000118
represents from
Figure GDA0002812055590000119
And selecting a random value eta.
2. Key generation for medical institutions
As shown in fig. 3, when the ith medical facility registers with the system, the KGC checks whether it is a qualified facility. If qualified, the KGC assigns an identity MI to the medical facilityiAnd generates a public key PK thereforiAnd a private key SKi. System publication PKiSK is transmitted via a secure channeliTo MIi
KeyGen.MI(MIi,MSK)→(PKi,SKi): the KGC executes the algorithm. Input of algorithm is main private key MSK and identity MI of medical institutioni. Random selection of alpha by KGCii,
Figure GDA00028120555900001110
And calculating to obtain MIiPublic key PKi
Figure GDA0002812055590000121
MIiPrivate key SKi
Figure GDA0002812055590000122
MIiIs PKi=(pki,1,pki,2) The private key is SKi=(Ki,1,Ki,2,Ki,3,Ki,4,Ki,5)。
3. User key generation
As shown in FIG. 4, when the jth user Ui,jTo medical institutions MIiWhen registering, the medical institution first verifies his identity. The user may be a patient, doctor, nurse, or other persona. In order to protect user privacy, MIiFor user Ui,jDistributing anonymous identities
Figure GDA0002812055590000123
And hide its true identity. Based on user identity, MIiAssigning a set of attribute collections
Figure GDA0002812055590000124
To describe the characteristics of the user. Then MIiFor anonymous identities to PIDi,jUser generated attribute key SKi,j
Figure GDA0002812055590000125
Medical institution MIiThe algorithm is executed. The input to the algorithm is the medical institution MIiIdentity of the user, anonymous identity PID of the useri,j,MIiPrivate key SKiAnd attributes of the user
Figure GDA0002812055590000126
MIiV 'is chosen randomly'i,j,
Figure GDA0002812055590000127
Setting vi,j=vi+v'i,j(viUnknown), calculate PIDi,jIs a secret key SKi,j
Figure GDA0002812055590000128
Figure GDA0002812055590000129
ski,j,3=gt
Figure GDA00028120555900001210
Ui,jIs
Figure GDA00028120555900001211
Wherein
Figure GDA00028120555900001212
To represent
Figure GDA00028120555900001213
Figure GDA00028120555900001214
The number of attributes of the user.
4. Proxy key generation
As shown in FIG. 5, at this stage, the user (anonymous identity PID)i,j) Generating a proxy key DKi,jAnd sends it to the public cloud. The public cloud converts the ciphertext by using the proxy key, so that the user can recover the medical document only by light-weight calculation. Meanwhile, the public cloud cannot acquire plaintext information of the medical document.
KeyGen.Del(PIDi,j,SKi,j)→DKi,j: the user executes the algorithm. The input of the algorithm is the anonymous identity PID of the useri,jAnd a private key SKi,j. User selection of random numbers
Figure GDA0002812055590000131
Computing authorizationKey DKi,j
Figure GDA0002812055590000132
Figure GDA0002812055590000133
DK3=(ski,j,3)τ=(gt)τ
Figure GDA0002812055590000134
Figure GDA0002812055590000135
The user's proxy key is
Figure GDA0002812055590000136
The user sends its secret to the public cloud.
5. Password-based emergency access key generation
As shown in fig. 6, emergency access key generation process, to provide effective data access when a patient encounters an emergency situation (e.g., a sudden faint or heart attack), the patient presets a password-based emergency access key BGKi,jIt can be used to decrypt encrypted medical documents that are all of the patient. Patient (anonymous identity PID)i,j) Setting password pwi,jAnd emergency access key BGKi,j. The patient specifies a set of emergency contacts (e.g. his attending physician, family or friend) and tells them the password pw in secreti,j. The emergency contact may utilize the password pwi,jThe emergency access key for the patient is recovered. The private cloud of the medical facility where the patient is located is responsible for storing the emergency contact list. Patient utilizes password pwi,jGenerating an emergency access key, BGKi,jAuxiliary information (BGK)i,j,1,BGKi,j,2) And sends it to the public cloud and the MI, respectivelyiA private cloud. The emergency contact may utilize the password pwi,jObtaining emergency access key BGK by recovering auxiliary informationi,j
KeyGen.BGK(PIDi,j,pwi,j)→(BGKi,j,1,BGKi,j,2): the patient executes the algorithm. The input to the algorithm is the anonymous identity PID of the patienti,jAnd password pwi,j. Patient random selection ζ121,
Figure GDA0002812055590000137
Ψ,Ψ1RG, setting a BGK (emergency access key)i,jΨ, calculate:
Figure GDA0002812055590000141
Figure GDA0002812055590000142
Figure GDA0002812055590000143
Figure GDA0002812055590000144
BGK for patientsi,j,1Sending the BGK to public cloudi,j,2To medical institutions MIiA private cloud.
6. Password-based emergency access key extraction
When the patient (anonymous identity PID)i,j) In an emergency situation, the patient needs to have quick access to his encrypted medical documentation in order to give him immediate and effective treatment. Medical institution MIiWill contact his designated emergency contact who knows the emergency access key BGK with the patienti,jCorresponding password pwi,j. Emergency contact with public cloud and MIiThe private cloud carries out interaction to obtain an emergency access key BGKi,j
Extract.BGK(PIDi,j,pwi,j,BGKi,j,1,BGKi,j,2)→BGKi,j: the emergency contacts of the patient, the public cloud, and the medical institution interactively execute the algorithm. Anonymous identity PID entered into a patienti,jPassword pwi,jAnd auxiliary information BGKi,j,1,BGKi,j,2BGK outputs BGKi,jThe interaction process of the algorithm is shown in fig. 7.
(1) Emergency contact selection random number
Figure GDA0002812055590000145
Computing
Figure GDA0002812055590000146
And sends it to the public cloud and MIi
(2) Public cloud selection of random numbers
Figure GDA0002812055590000147
Computing
Figure GDA0002812055590000148
And transmits it to MIi
(3) Medical institution MIiSelecting random numbers
Figure GDA0002812055590000149
Computing
Figure GDA00028120555900001410
And sends it to the public cloud.
(4) Public cloud computing
Figure GDA00028120555900001411
And will be (A)1,W1) And sending to the emergency contact.
(5) Medical institution MIiComputing
Figure GDA00028120555900001412
And will be (A)2,W2) And sending to the emergency contact.
(6) User BGK calculationi,j=Ψ=(W1·W2)·(A1·A2)ξAn emergency access key is obtained.
7. Encryption
When the medical internet of things generates a medical document, a patient encrypts the document M into a ciphertext and embeds an access strategy in the encryption process
Figure GDA0002812055590000151
Cipher-output and conversion key TK of encryption algorithmi,jAnd certification information pf. According to a combined access strategy, a safe deduplication algorithm utilizes a transformed key TKi,jAnd (5) encrypting the ciphertext again. The proving information pf enables the public cloud to distinguish different ciphertexts encrypted by the same plaintext information. TK for patienti,jTo MIiThe public cloud is responsible for storage (CT, pf).
Figure GDA0002812055590000152
The patient executes the algorithm. The input of the algorithm is a medical document M, and the access strategy
Figure GDA0002812055590000153
MIiPublic key PKiAnonymous identity of the patient PIDi,jAnd emergency access key BGKi,jWherein
Figure GDA0002812055590000154
ρ will matrix
Figure GDA0002812055590000155
Is mapped to the medical institution, delta is the matrix
Figure GDA0002812055590000156
The row vector of (a) maps to an attribute.
Figure GDA0002812055590000157
Is that
Figure GDA0002812055590000158
Row x.
Patient random selection
Figure GDA0002812055590000159
Let v be (z, v)2,...vn)T,w=(0,w2,...,wn)T. Order to
Figure GDA00028120555900001510
Figure GDA00028120555900001511
They are respectively represented
Figure GDA00028120555900001512
Z and 0 share (share), symbol, corresponding to row x<·>Representing an inner product operation. Patient calculation of a conversion key
Figure GDA00028120555900001513
The patient is
Figure GDA00028120555900001514
X in each row of the random selection
Figure GDA00028120555900001515
For the electronic medical document M, the patient sets the document number
Figure GDA00028120555900001516
Calculating elements of CT;
γ=H2(Ψ,PIDi,j,FID),
Figure GDA00028120555900001517
Figure GDA00028120555900001518
C0=γ·Yz=γ·e(g1,g2)η·z
Figure GDA00028120555900001519
Figure GDA00028120555900001520
Figure GDA00028120555900001521
Figure GDA00028120555900001522
wherein
Figure GDA0002812055590000161
After M represents
Figure GDA0002812055590000162
0, (C) ciphertext CT ═ CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l])。
Then, the patient randomly selects s, r1,
Figure GDA0002812055590000163
Calculating the CT certification information pf:
Figure GDA0002812055590000168
D2=gs
Figure GDA0002812055590000164
Figure GDA0002812055590000165
Figure GDA0002812055590000166
θ=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1,B2),
D4=r1-θ·H1(M),
D5=r2-θ·H1(γ)。
the information is verified as pf ═ D (D)1,D2,D3,D4,D5θ), patient handle (PID)i,jFID, CT, pf) to the public cloud, secretly transmitting TKi,jTo MIi
8. Safe deduplication
(1) Ciphertext validity detection
In the safe duplicate removal process, the public cloud firstly checks whether the stored ciphertext is valid. And outputting 1 by the ciphertext validity detection algorithm to show that the ciphertext is valid, and otherwise, outputting 0.
ValidityTest (CT, pf) → 1/0: the public cloud executes the algorithm. The inputs to the algorithm are the ciphertext CT and the proof information pf.
Public cloud computing
Figure GDA0002812055590000167
θ'=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1',B2'),
It is verified whether the equation θ' holds. If true, the algorithm outputs 1, otherwise 0 is output.
(2) Information isocratic detection
If the validity detection algorithm has verified that both ciphertexts are valid, the information equality detection algorithm will detect whether they are in the form of ciphertexts of the same plaintext. If so, the algorithm outputs 1, otherwise outputs 0.
MsgTest(pf1,pf2) → 1/0: the public cloud executes the algorithm. The input of the algorithm is the certification information pf of the ciphertext1And pf2. Assuming pf1=(D1,D2,D3,D4,D5,θ),pf2=(D1',D2',D3',D4',D5', θ'). Public cloud verification equation e (D)1,D2')=e(D1',D2) Whether or not this is true. If yes, the algorithm outputs 1 to indicate that the two ciphertexts are in the encrypted form of the same plaintext, otherwise 0 is output.
(3) Re-encrypted ciphertext
If it is verified that a set of ciphertext sets contains the same information and belongs to the same data owner, the public cloud performs a secure deduplication operation. Assume that the ciphertext and corresponding access policy are
Figure GDA0002812055590000171
Medical institution MIiFirstly, these access policies are combined into
Figure GDA0002812055590000172
(combination of Access policies
Figure GDA0002812055590000173
MIiUsing combined access policies
Figure GDA0002812055590000174
Re-encrypting ciphertextA new ciphertext CT' is generated. Thus, Ciphertext (CT)1,...,CTm) Any predefined user of (2) can access the new ciphertext CT'. Handle (CT)1,...,CTm) The ciphertext with the minimum document number is marked as CT. Let CT be equal to CT1,FID=FID1
Figure GDA0002812055590000175
Medical institution MIiThe algorithm is executed. The input to the algorithm is the anonymous identity PID of the patienti,jTK for converting secret keyi,jCiphertext CT and combined access strategy
Figure GDA0002812055590000176
Wherein
Figure GDA0002812055590000177
ρ' will
Figure GDA0002812055590000178
Is mapped to the medical institution, δ' will
Figure GDA0002812055590000179
The rows of (2) map to attributes.
Figure GDA00028120555900001710
To represent
Figure GDA00028120555900001711
The x-th row of (a),
Figure GDA00028120555900001712
MIirandom selection
Figure GDA00028120555900001713
Let v ═ z ', v'2,...v'n)T,w'=(0,w'2,...,w'n)TWherein
Figure GDA00028120555900001714
(z unknown). Order to
Figure GDA00028120555900001715
They are respectively represented
Figure GDA00028120555900001716
Row x of (a) corresponds to z and 0 shares (share). MIiIs composed of
Figure GDA00028120555900001717
X in each row of the random selection
Figure GDA00028120555900001718
And calculates ciphertext CT '═ C'M,C'-1,C'0,{C'1,x,C'2,x,C'3,x,C'4,x}x∈[l]):
C'M=CM
Figure GDA00028120555900001719
C'0=C0·Yz=γ·Yz'
Figure GDA0002812055590000181
Figure GDA0002812055590000182
Figure GDA0002812055590000183
Figure GDA0002812055590000184
Due to the fact that
Figure GDA0002812055590000185
Can obtain
Figure GDA0002812055590000186
Using a transfer key TKi,jCan calculate element C'1,x
Figure GDA0002812055590000187
Obviously, C'1,xStructure of (2) and C in the original ciphertext1,xHas consistency.
9. Partial decryption
To reduce the computational burden on the user, the public cloud utilizes a proxy key DKi,jPartially decrypting the ciphertext and generating a partial ciphertext CTp. In this process, the public cloud cannot acquire plaintext information M of the ciphertext.
PartialDec(CT,DKi,j)→CTp: the public cloud executes the algorithm. The input of the algorithm is ciphertext CT and authorization key DKi,j. Public cloud computing
Figure GDA0002812055590000188
So that
Figure GDA0002812055590000189
Computing
Figure GDA00028120555900001810
And will CTp=(CM,C0,CT) And sending the data to the user.
10. Decryption and authentication with attribute keys
Possession of an Attribute Key SKi,jBy a decryption algorithm Dec1And recovering to obtain the medical document M.
Dec1(CTp,SKi,j) → M/. T: the user in possession of the attribute key executes the algorithm. The input of the algorithm is partial cipher text CTp=(CM,C0,CT) And attribute key SKi,jThe user resumes obtaining
Figure GDA00028120555900001811
And M' ═ SDec (H)2(γ),CM). If it is not
Figure GDA0002812055590000191
Indicating that the partial decryption algorithm executed by the public cloud is correct, and outputting a medical document M by the algorithm; otherwise, outputting ^ t.
11. Decryption and authentication with emergency access key
Extracting an emergency access key BGK by an emergency contact by using algorithm extracti,jAnd using a decryption algorithm Dec2The patient's medical document is decrypted.
Dec2(PIDi,j,FID,CM,BGKi,j) → M/. T: the emergency contact of the patient executes the algorithm. The input to the algorithm is the anonymous identity PID of the patienti,jDocument number FID and ciphertext CMAnd emergency access key BGKi,jThe emergency contact recovers γ ═ H2(BGKi,j,PIDi,jFID) and M' ═ SDec (H)2(γ),CM) If, if
Figure GDA0002812055590000192
Indicating that an emergency contact has correctly extracted BGKi,jOutputting a medical document M by an algorithm; otherwise, outputting ^ t.
12. Access policy
Definition 1 (access architecture): defining a set of entities { P }1,...,PnH, if any set B and C satisfies: when in use
Figure GDA0002812055590000193
And is
Figure GDA0002812055590000194
Time of flight
Figure GDA0002812055590000195
Then
Figure GDA0002812055590000196
One access structure is { P1,...,PnNon-empty subset of
Figure GDA0002812055590000197
For example
Figure GDA0002812055590000198
Figure GDA0002812055590000199
Is called an authorization set, is not
Figure GDA00028120555900001910
A set in (2) is referred to as an unauthorized set.
Definition 2: (Linear secret sharing scheme (LSSS)). Entity collections
Figure GDA00028120555900001911
Above secret sharing scheme Π is called linearity
Figure GDA00028120555900001912
Above) if and only if: 1. share of each party (share) forming
Figure GDA00028120555900001913
The vector of (c). 2. There is a matrix M of l × n called the generator matrix of pi shares (share). The ith line of l, M is marked by ρ (i) (ρ is { 1.·, l } to) for all i ═ 1.·,.., l, M
Figure GDA00028120555900001914
A function of). Let vector v equal (s, r)2,...rn) Where s is the secret to be shared
Figure GDA00028120555900001915
Random selection
Figure GDA00028120555900001916
Mv is the share vector ((Mv) of the secret s according to ΠiBelonging to ρ (i)). By definition, each LSSS has linear reconstruction properties. Suppose Π is the Access Structure
Figure GDA00028120555900001917
LSSS of (1), order
Figure GDA00028120555900001918
Is an arbitrary authorization set, and defines I ═ { I: ρ (I) ∈ S }, where
Figure GDA00028120555900001919
According to Π, if any
Figure GDA00028120555900001920
So that
Figure GDA00028120555900001921
Is a valid share of any secret s, then isi∈IwiλiS. For an unauthorized set, there is no such constant. The invention uses a LSSS matrix (M, p) to express the access policy associated with the ciphertext.
13. Bilinear group
Algorithm
Figure GDA00028120555900001922
Inputting a security parameter lambda, outputting prime order bilinear mapping parameters p, g,
Figure GDA00028120555900001923
e. wherein
Figure GDA00028120555900001924
And
Figure GDA00028120555900001925
is a multiplicative cyclic group of prime order p, g is
Figure GDA0002812055590000201
The generator of (1). Mapping
Figure GDA0002812055590000202
Is a bilinear map. The bilinear map e has three attributes: (1) bilinear:
Figure GDA0002812055590000203
and is
Figure GDA0002812055590000204
With e (u)a,vb)=e(uv)ab. (2) Non-degradability: e (g, g) ≠ 1. (3) Calculability: e can be obtained by efficient calculation.
The internet of things (IOT) technology allows medical devices in a wireless medical sensor network to be connected to the internet, which brings great convenience to daily health monitoring and diagnosis of patients and the elderly. Since the patient's medical information is very sensitive, it needs to be encrypted before transmission and storage. The invention provides a cross-domain medical cloud storage system supporting emergency access control and safe deduplication, which supports data sharing and access of cross-medical domains. In the encryption phase, the invention encrypts the medical document using a cross-domain access policy so that medical personnel from different medical domains can access it. Emergency situations may occur in medical applications, for example, a patient suddenly falls down and needs emergency rescue. To address emergency situations, the present invention provides a password-based emergency access mechanism that can decrypt any encrypted medical documents of a patient to save the patient's life. In addition, the invention adopts a safe deduplication mechanism to delete redundant ciphertext containing the same message, thereby saving storage space and transmission overhead.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks
Instructions which execute on the programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above are preferred embodiments of the present invention, and all changes made according to the technical scheme of the present invention that produce functional effects do not exceed the scope of the technical scheme of the present invention belong to the protection scope of the present invention.

Claims (7)

1. A cross-domain medical cloud storage system supporting emergency access control and safe duplicate removal is characterized by comprising a key generation center, a medical institution and a public cloud;
the key generation center is used for generating public parameters and a main private key of the cross-domain medical cloud storage system, detecting the medical quality of the medical institution and generating a public key/private key for the medical institution;
the medical institution distributes an attribute set according to the characteristics of the user, generates an attribute key, and executes storage and calculation service for the user through a private cloud;
the public cloud is used for storing medical documents of patients of different medical institutions and responding to data access inquiry;
the patient acquires medical service through a medical institution, sets a password and an emergency access key based on the password, and informs an emergency contact of the password; the patient appoints an access strategy and an emergency access key to encrypt medical documents of the patient and then store the medical documents to the public cloud; the emergency contact list is managed by a private cloud of the medical institution;
the method comprises the steps that a user registers in a medical institution to obtain an anonymous identity and an attribute key, obtains a corresponding proxy key according to the anonymous identity and the attribute key and sends the proxy key to a public cloud, the public cloud generates a part of ciphertext of an encrypted medical document according to the proxy key, and the user obtains a plaintext of the encrypted medical document according to the attribute key and the part of ciphertext;
the emergency contact acquires the emergency access key by using the password to decrypt the encrypted medical document of the patient;
the public cloud interacts with a private cloud of the medical institution, and performs a security deduplication operation to eliminate a copy of the encrypted medical document;
wherein the key generation center inputs a security parameter 1κGenerating public parameters and a main private key of the system by using a GlobalSetup algorithm, which comprises the following specific steps:
GlobalSetup(1κ) → (PP, MSK): key generation centric randomly selected hash function
Figure FDA0002975498360000011
Figure FDA0002975498360000012
Secure symmetric encryption/decryption algorithm SEnc/SDec and symmetric key space
Figure FDA0002975498360000013
The key generation center then selects a cyclic group
Figure FDA0002975498360000014
Generating element of
Figure FDA0002975498360000015
And random number
Figure FDA0002975498360000016
Calculating Y ═ e (g)1,g2)ηWhere e denotes bilinear pairwise arithmetic, and a common parameter PP ═ g, g is set1,g2,g3,Y,H1,H2SEnc/SDec), setting a main private key MSK as eta; wherein,
Figure FDA0002975498360000017
p is a prime number,
Figure FDA0002975498360000018
represents from
Figure FDA0002975498360000019
Selecting a random value eta;
when the ith medical institution registers to the cross-domain medical cloud storage system, the key generation center checks the medical quality of the ith medical institution; if qualified, the key generation center assigns an identity MI to the facilityiAnd generates a public key PK thereforiAnd a private key SKiCross-domain medical cloud storage system public PKiSK is transmitted via a secure channeliTo medical institutions MIiThe method comprises the following steps:
KeyGen.MI(MIi,MSK)→(PKi,SKi): key generation center random selection
Figure FDA0002975498360000021
Based on the master private key MSK and the identity MI of the medical institutioniIs calculated to obtain
MIiPublic key PKi
Figure FDA0002975498360000022
MIiPrivate key SKi
Figure FDA0002975498360000023
Ki,2=βi,
Figure FDA0002975498360000024
MIiIs PKi=(pki,1,pki,2) The private key is SKi=(Ki,1,Ki,2,Ki,3,Ki,4,Ki,5)。
2. The cross-domain medical cloud storage system supporting emergency access control and security deduplication as claimed in claim 1, wherein when jth user U is presenti,jTo medical institutions MIiDuring registration, the medical institution verifies the identity of the user Ui,jDistributing anonymous identities
Figure FDA0002975498360000025
And hide its true identity, depending on the user identity, MIiAssigning a set of attribute collections
Figure FDA0002975498360000026
To characterize the user and for anonymous identity PIDi,jUser generated attribute key SKi,jThe method comprises the following steps:
Figure FDA0002975498360000027
medical institution MIiRandom selection
Figure FDA0002975498360000028
Setting vi,j=vi+v'i,jCalculating the user's attribute key SKi,j
Figure FDA0002975498360000029
Figure FDA00029754983600000210
ski,j,3=gt
Figure FDA00029754983600000211
Ui,jThe attribute key of (A) is
Figure FDA00029754983600000212
Wherein
Figure FDA00029754983600000213
To represent
Figure FDA00029754983600000214
Figure FDA00029754983600000215
The number of attributes of the user.
3. The cross-domain medical cloud storage system supporting emergency access control and secure deduplication as claimed in claim 2System, characterized in that a random number is selected
Figure FDA00029754983600000216
PID based on user anonymous identityi,jAnd attribute key SKi,jComputing proxy key DKi,jAnd sending to the public cloud, calculating as follows:
Figure FDA0002975498360000031
Figure FDA0002975498360000032
DK3=(ski,j,3)τ=(gt)τ
Figure FDA0002975498360000033
Figure FDA0002975498360000034
the user's proxy key is
Figure FDA0002975498360000035
4. The cross-domain medical cloud storage system supporting emergency access control and security deduplication as claimed in claim 1, wherein the emergency access key generation manner is:
the patient sets a password pwi,jAnd emergency access key BGK based on the passwordi,jUsing the password pwi,jGenerating an emergency access key, BGKi,jAuxiliary information (BGK)i,j,1,BGKi,j,2) BGKi,j,1Sending the BGK to public cloudi,j,2To medical institutions MIiPrivate cloud, emergency contact utilizes password pwi,jAnd auxiliary information (BGK)i,j,1,BGKi,j,2) Recovering to obtain BGK (emergency access key)i,j(ii) a The concrete implementation is as follows: BGK (PID)i,j,pwi,j)→(BGKi,j,1,BGKi,j,2): random selection
Figure FDA0002975498360000036
Ψ,Ψ1RG, setting a BGK (emergency access key)i,jΨ, PID based on the anonymous identity of the patienti,jAnd password pwi,jAnd (3) calculating:
Figure FDA0002975498360000037
Figure FDA0002975498360000038
Figure FDA0002975498360000039
Figure FDA00029754983600000310
5. the cross-domain medical cloud storage system supporting emergency access control and security deduplication of claim 4, wherein the emergency contact is MI with a public cloud and a medical institutioniInteracts according to the anonymous identity PID of the patienti,jPassword pwi,jAnd auxiliary information BGKi,j,1,BGKi,j,2Obtaining an emergency access key BGKi,jThe specific process is as follows: extract.BGK (PID)i,j,pwi,j,BGKi,j,1,BGKi,j,2)→BGKi,j: tighten upSelection of random number for emergency contact
Figure FDA0002975498360000041
Computing
Figure FDA0002975498360000042
And sends it to the public cloud and medical institution MIi(ii) a Public cloud selection of random numbers
Figure FDA0002975498360000043
Computing
Figure FDA0002975498360000044
And transmits it to the medical structure MIi(ii) a Medical institution MIiSelecting random numbers
Figure FDA0002975498360000045
Computing
Figure FDA0002975498360000046
And send it to the public cloud; public cloud computing
Figure FDA0002975498360000047
And will be (A)1,W1) Sending the information to an emergency contact; medical institution MIiComputing
Figure FDA0002975498360000048
And will be (A)2,W2) Sending the information to an emergency contact; by calculating BGKi,j=Ψ=(W1·W2)·(A1·A2)ξAn emergency access key is obtained.
6. The cross-domain medical cloud storage system supporting emergency access control and security deduplication as claimed in claim 1, wherein the patient-specified access policy and emergency access key encrypt their medical documents in a manner that: patient history in encrypted medical document MIn-flight embedded access policy
Figure FDA0002975498360000049
Access policy based on medical document M
Figure FDA00029754983600000410
Medical institution MIiPublic key PKiAnonymous identity of the patient PIDi,jAnd emergency access key BGKi,jObtaining the ciphertext CT and the transformation key TKi,jAnd the proof information pf is specifically realized as:
Figure FDA00029754983600000411
ρ will matrix
Figure FDA00029754983600000412
Is mapped to the medical institution, delta is the matrix
Figure FDA00029754983600000413
The row vector of (a) is mapped to an attribute,
Figure FDA00029754983600000414
is that
Figure FDA00029754983600000415
The x-th row of (a),
Figure FDA00029754983600000416
the expression is given by taking a matrix of l × n, the number of rows is l, the number of columns is n, and each element in the matrix is selected from
Figure FDA00029754983600000417
Is selected from, wherein
Figure FDA00029754983600000418
Represents the set 0,1, …, p-1;
patient random selection
Figure FDA00029754983600000419
Let v be (z, v)2,...vn)T,w=(0,w2,...,wn)TLet us order
Figure FDA00029754983600000420
λxAnd wxRespectively represent
Figure FDA00029754983600000421
Z and 0, sign<,>Computing a transformation key by performing an inner product operation
Figure FDA00029754983600000422
The patient is
Figure FDA00029754983600000423
X in each row of the random selection
Figure FDA00029754983600000424
Figure FDA00029754983600000425
Representing a positive integer, and setting a document number for the medical document M
Figure FDA00029754983600000426
Computing the elements of the ciphertext CT:
Υ=H2(Ψ,PIDi,j,FID),
Figure FDA00029754983600000429
C0=Υ·Yz=Υ·e(g1,g2)η·z,
Figure FDA00029754983600000428
Figure FDA0002975498360000051
wherein
Figure FDA0002975498360000052
After M represents
Figure FDA0002975498360000053
The number of the 0 s is 0,
Figure FDA0002975498360000054
presentation element PKρ(x),1T ofxThe power; ρ (x) represents the mapping of the access control function ρ to the input element x; alpha is alphaρ(x) Denotes an alpha element, beta, corresponding to ρ (x)ρ(x)Denotes β elements corresponding to ρ (x), δ (x) denotes an access control function δ mapping an input element x, Ψ denotes an emergency access key, and CT ═ CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l]) (ii) a Where x ∈ [ l ]]Denotes that x is more than or equal to 1 and l is a matrix
Figure FDA0002975498360000055
The number of rows of (c);
random selection
Figure FDA0002975498360000056
Calculating the CT certification information pf:
Figure FDA0002975498360000057
D2=gs
Figure FDA0002975498360000058
θ=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1,B2),D4=r1-θ·H1(M),
D5=r2-θ·H1(γ), confirmation information pf ═ D (D)1,D2,D3,D4,D5θ), patient handle (PID)i,jFID, CT, pf) to the public cloud, and the TK for the key conversioni,jTo medical institutions MIiAnd the proof information pf is used for enabling the public cloud to distinguish different ciphertexts encrypted by the same plaintext information.
7. The cross-domain medical cloud storage system supporting emergency access control and secure deduplication of claim 6, wherein secure deduplication operations comprise:
the method comprises the following steps: and detecting whether the ciphertext is valid:
ValidityTest (CT, pf) → 1/0: and calculating by the public cloud according to the ciphertext CT and the proof information pf:
Figure FDA0002975498360000059
θ'=H1(CM,C-1,C0,{C1,x,C2,x,C3,x,C4,x}x∈[l],D1,D2,D3,B1',B2')
verifying whether the equation theta' is true or not, if true, outputting 1 to indicate that the ciphertext is valid, and otherwise, outputting 0 to indicate that the ciphertext is invalid;
step two: detecting whether the ciphertext contains the same medical document:
MsgTest(pf1,pf2) → 1/0: let pf1=(D1,D2,D3,D4,D5,θ),pf2=(D1',D2',D3',D4',D5',θ'),D1',D2',D3',D4',D5' indicating a proof message pf2The first 5 elements in the public cloud according to the certification information pf of the ciphertext1And pf2Verification of equation e (D)1,D2')=e(D1',D2) If yes, outputting 1 to show that the two ciphertexts are in the same plaintext encryption form, otherwise outputting 0;
step three: re-encrypting the ciphertext using the combined access policy, such that a user having access to the original ciphertext may also access the encrypted data:
assume that the ciphertext and corresponding access policy are
Figure FDA0002975498360000061
Medical institution MIiDeriving a combined access policy
Figure FDA0002975498360000062
And using combined access policies
Figure FDA0002975498360000063
Re-encrypting the ciphertext to generate a new ciphertext CT', bundle (CT)1,...,CTm) The cipher text with the minimum number of the middle document is marked as CT, and the CT is made to be CT1,FID=FID1:FID1A representation of the identifier of the document,
Figure FDA0002975498360000064
medical institution MIiPID based on anonymous identity of patienti,jTK for converting secret keyi,jCiphertext CT and combined access strategy
Figure FDA0002975498360000065
Computing a new ciphertext CT', wherein
Figure FDA0002975498360000066
Figure FDA0002975498360000067
Representing a matrix of l '× n', with the number of rows l ', the number of columns n', and each element in the matrix from
Figure FDA0002975498360000068
Is selected from, wherein
Figure FDA0002975498360000069
Represents the set 0,1, …, p-1;
ρ' will
Figure FDA00029754983600000610
Is mapped to the medical institution, δ' will
Figure FDA00029754983600000611
The row of (a) is mapped to an attribute,
Figure FDA00029754983600000612
to represent
Figure FDA00029754983600000613
The x-th row of (a),
Figure FDA00029754983600000614
random selection
Figure FDA00029754983600000615
Let v ═ z ', v'2,...v'n)T,w'=(0,w'2,...,w'n)TWherein
Figure FDA00029754983600000616
Order to
Figure FDA00029754983600000617
λ'xAnd w'xRespectively represent
Figure FDA00029754983600000618
Z and 0 fraction corresponding to the x-th row of (1), medical institution MIiIs composed of
Figure FDA00029754983600000619
X in each row of the random selection
Figure FDA00029754983600000620
And calculates ciphertext CT '═ C'M,C'-1,C'0,{C'1,x,C'2,x,C'3,x,C'4,x}x∈[l]):
C'M=CM,
Figure FDA00029754983600000621
Figure FDA00029754983600000622
Figure FDA00029754983600000623
Due to the fact that
Figure FDA00029754983600000624
Figure FDA00029754983600000625
To obtain
Figure FDA00029754983600000626
Using a transfer key TKi,jCalculating element C'1,x
Figure FDA0002975498360000071
CN201711051952.6A 2017-10-30 2017-10-30 Cross-domain medical cloud storage system supporting emergency access control and safe deduplication Active CN107635018B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711051952.6A CN107635018B (en) 2017-10-30 2017-10-30 Cross-domain medical cloud storage system supporting emergency access control and safe deduplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711051952.6A CN107635018B (en) 2017-10-30 2017-10-30 Cross-domain medical cloud storage system supporting emergency access control and safe deduplication

Publications (2)

Publication Number Publication Date
CN107635018A CN107635018A (en) 2018-01-26
CN107635018B true CN107635018B (en) 2021-05-18

Family

ID=61107055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711051952.6A Active CN107635018B (en) 2017-10-30 2017-10-30 Cross-domain medical cloud storage system supporting emergency access control and safe deduplication

Country Status (1)

Country Link
CN (1) CN107635018B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194523B (en) * 2018-10-01 2021-07-30 西安电子科技大学 Privacy protection multi-party diagnosis model fusion method and system and cloud server
CN109922128A (en) * 2019-01-08 2019-06-21 中金数据(武汉)超算技术有限公司 A kind of data safety exchange method suitable for across cloud service deployment environment
CN111324898B (en) * 2020-01-20 2023-04-07 福州大学 Block chain-based electronic medical document dual-access control system
CN111756777B (en) * 2020-08-28 2020-11-17 腾讯科技(深圳)有限公司 Data transmission method, data processing device, data processing apparatus, and computer storage medium
CN112735566B (en) * 2020-12-28 2023-05-30 武汉联影医疗科技有限公司 Medical image management method, device, computer equipment and storage medium
CN115460228B (en) * 2021-05-21 2024-09-27 湖南网数科技有限公司 Medical data access control method and system
CN117294465B (en) * 2023-08-11 2024-06-07 广州大学 Attribute encryption system and method based on cross-domain communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683351A (en) * 2015-03-17 2015-06-03 西安电子科技大学 System and method for controlling anonymous hospitalizing and security access of medical information based on property
CN106254374A (en) * 2016-09-05 2016-12-21 电子科技大学 A kind of cloud data public audit method possessing duplicate removal function
CN107104982A (en) * 2017-05-26 2017-08-29 福州大学 Have traitor tracing function in mobile electron medical treatment can search for encryption system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105779A2 (en) * 2006-05-22 2008-09-04 Corestreet, Ltd. Secure id checking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683351A (en) * 2015-03-17 2015-06-03 西安电子科技大学 System and method for controlling anonymous hospitalizing and security access of medical information based on property
CN106254374A (en) * 2016-09-05 2016-12-21 电子科技大学 A kind of cloud data public audit method possessing duplicate removal function
CN107104982A (en) * 2017-05-26 2017-08-29 福州大学 Have traitor tracing function in mobile electron medical treatment can search for encryption system

Also Published As

Publication number Publication date
CN107635018A (en) 2018-01-26

Similar Documents

Publication Publication Date Title
Yang et al. Privacy-preserving smart IoT-based healthcare big data storage and self-adaptive access control system
CN107635018B (en) Cross-domain medical cloud storage system supporting emergency access control and safe deduplication
Au et al. A general framework for secure sharing of personal health records in cloud system
Yang et al. Lightweight sharable and traceable secure mobile health system
CN108040056B (en) Safe medical big data system based on Internet of things
WO2019090988A1 (en) Cryptography attribute-based access control method and system based on dynamic rule
Deepa et al. RETRACTED ARTICLE: E health care data privacy preserving efficient file retrieval from the cloud service provider using attribute based file encryption
CN107104982B (en) It can search for encryption system with traitor tracing function in mobile electron medical treatment
Chen et al. An infrastructure framework for privacy protection of community medical internet of things: Transmission protection, storage protection and access control
CN105897742B (en) Anonymous Identity base access control method applied to electronic health care network
CN107579980A (en) Lightweight double call control system in medical Internet of Things
Du et al. A medical information service platform based on distributed cloud and blockchain
CN112364376A (en) Attribute agent re-encryption medical data sharing method
CN114938382B (en) Electronic medical record safe and controllable sharing method based on alliance block chain
CN111274594A (en) Block chain-based secure big data privacy protection sharing method
CN111931249A (en) Medical secret data statistical analysis method supporting transmission fault-tolerant mechanism
CN115378966A (en) Intelligent medical online service system and intelligent medical online service method
Sun et al. A privacy-aware and traceable fine-grained data delivery system in cloud-assisted healthcare IIoT
CN113411323A (en) Medical record data access control system and method based on attribute encryption
CN110752024A (en) Online medical diagnosis service system based on privacy protection
CN105656881B (en) A kind of electronic health record can verify that outsourcing storage and retrieval system and method
CN115473743A (en) Searchable medical data sharing method for resisting internal keyword guessing attack
Liu et al. Black-box accountable authority cp-abe scheme for cloud-assisted e-health system
CN113660278B (en) Quantum attack resistant non-interactive attribute proxy re-encryption method and system
Niu et al. A data-sharing scheme that supports multi-keyword search for electronic medical records

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant