Medical data sharing method, device and system based on cloud server and block chain
Technical Field
The invention relates to the technical field of computers, in particular to a medical data sharing method, device and system based on a cloud server and a block chain.
Background
With the rapid development of information technology and internet technology, electronic medical records become a substitute for traditional paper medical records, and the problems that the paper medical records are easy to lose, difficult to store for a long time and difficult to carry are solved. Electronic medical records can provide a large amount of reliable data for the study of disease, and help patients not clearly remember medical history or describe specific conditions.
At present, with the development and application of cloud computing technology, great convenience is brought to the sharing of electronic medical record information, and meanwhile, many potential dangers are brought. First, data security and privacy protection issues. The electronic medical record containing the medical data and the personal privacy information of the patient is very valuable, the data is stored in the third-party centralized database and risks of stealing, disclosure, tampering, abuse and the like, and the problem of single point failure is also faced. Second, data scatter and information islanding problems. Medical data are basically stored independently by hospitals in all areas, and the storage mode causes severe islanding phenomenon of a medical information system, so that uncertainty of information storage and resources of a database cannot be communicated and integrated, and the efficiency of medical information sharing is greatly reduced. Third, resource sharing has poor sustainable development. Due to the competition of interests related to data sharing, third-party institutions such as hospitals, medical research institutes and clinics cannot share data, big data analysis and personalized service cannot be performed on the premise that patients are authorized to share the data, and a sustainable development mode is lacked.
Disclosure of Invention
The embodiment of the invention aims to provide a medical data sharing method, a medical data sharing device and a medical data sharing system based on a cloud server and a block chain.
In order to achieve the above object, an embodiment of the present invention provides a medical data sharing method based on a cloud server and a blockchain, where the sharing method includes: storing primary encrypted medical record information of an object through a cloud server, and storing primary encrypted keyword information and object information corresponding to each medical record information through a block chain; the block chain acquires a search trapdoor converted based on a search request containing target keyword information, determines target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encryption keyword information, enables an accessor to send access encryption information to a target object shown by the target object information, and enables the target object to generate re-encryption information based on the access encryption information of the accessor and the object encryption information of the target object; and the cloud server acquires the re-encrypted information, and re-encrypts the primary encrypted medical record information of the target object according to the re-encrypted information and the stored primary encrypted medical record information of the target object, so that the visitor can continue to decrypt the primary encryption to acquire the medical record information of the target object after performing re-encryption decryption according to the access encrypted information and the object encrypted information.
Preferably, before the primary encrypted medical record information of the object is stored by the cloud server and the primary encrypted keyword information and the object information corresponding to each piece of medical record information are stored by the blockchain, the medical data sharing method includes: once encrypting the medical record information, comprising: acquiring medical record information m belonging to {0,1} of an object
*(ii) a Random number selected based on generator
The medical record information is encrypted once through the following formula to obtain once encrypted medical record information C
mWherein said
Is a non-zero integer, q is a prime number selected by the generator:
c
4=r(H
3(m)P
1+P
2);c
5=r(H
3(c
1)P
1+H
3(c
1||c
2||c
4)P
2+P
3);c
6-rP; wherein P is a cyclic group G
1A generator on an elliptic curve of, the
For a predetermined bilinear pair G
1×G
1→G
2Said G is
1For additive cyclic groups, said G
2For multiplication loop groups, the H
3As a Hash function
Said w
iThe pk is keyword information of the ith object
iAs an object public key Y
iX is said
kTo share the system private key, P
1For g selected based on the generator
1By the formula g
1Result after P calculation, P
2For g selected based on the generator
2By the formula g
2Result after P calculation, P
3For g selected based on the generator
3By the formula g
3P calculated result, and the g
1、g
2、
C
m=(c
1,c
2,c
3,c
4,c
5,c
6) (ii) a And/or encrypting the keyword information once, comprising: acquiring medical record information m belonging to {0,1} selected by a generator
*Corresponding keyword set W ═ (W)
1,w
2,...,w
n) And u, v, wherein said u,
Encrypting the keyword set once by the following formula to obtain once encrypted keyword information C
w:A=vP;B=uX
k=ux
kP;C
i=vh
i+uf
i(ii) a Wherein h is
i=H
1(w
i),f
i=H
2(w
iAB), the H
1Is a Hash function {0,1}
*→G
1Said H is
2Is a Hash function {0,1}
*×G
1×G
1→G
1Said X is
kPrivate key x for shared system
kA corresponding shared system public key; c
w=(A,B,C
1,C
2…,C
n)。
Preferably, before the blockchain acquires the search trapdoor, the medical data sharing method further comprises: converting a search request containing target keyword information into a search trapdoor T
QThe method comprises the following steps: the generator generates a target keyword set omega-omega (omega) corresponding to the search request
1,…,Ω
t) (ii) a Generating the search trapdoor T of the target keyword set conversion by the following formula
Q:T
Q1=aP,
Wherein a is a random number, and
said I
tIs the omega
tThe identification information of (1).
Preferably, the determining, by the block chain, the target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encryption keyword information includes: determining whether the following equation holds:
and if the equation is established, after the target keyword information in the equation is determined, continuously determining the target object information corresponding to the target keyword information.
Preferably, the medical data sharing method further includes: access encryption information based on the visitor at the target object and the visitorBefore generating re-encrypted information, the visitor sends visitor identity and address information and the shared system public key to the target object and receives authorization information from the target object, wherein the authorization information comprises a data storage address and index information Fi(ii) a The visitor can continue to decrypt the primary encryption to obtain the medical record information of the target object after decrypting the re-encryption according to the access encryption information and the object encryption information: the visitor can access the encrypted information, the object encrypted information, and the data storage address and index information FiAnd after the re-encryption decryption is carried out, continuing to carry out the decryption of the primary encryption to obtain the medical record information of the target object.
Preferably, the target object being capable of generating re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object includes: generating re-encrypted information by the following formula
rk=(rk
1,rk
2) (ii) a Wherein said pk
jAn access public key for a jth visitor in the access encryption information, x
iAs an object public key Y
iCorresponding randomly selected ith object private key, and x
i=sk
i,Y
i=x
iP。
Preferably, the re-encrypting the primary encrypted medical record information of the target object by the cloud server according to the re-encrypting information and the stored primary encrypted medical record information of the target object includes: the cloud server determines whether a first equation is satisfied, wherein the first equation is configured to
If the first equation is true, continuing to determine whether a second equation is true, wherein the second equation is configured to
If the second equation is satisfied, the primary encrypted medical record information C 'of the target object is re-encrypted through the following formula'
m:
c′
4=c
4=r(aH
3(m)+b);c′
5=c
5=r(aH
3(c
1)+bH
3(c
1||c
2||c
4)+P
3);c′
6=c
6=rP;C′
m=(c′
1,c′
2,c′
3,c′
4,c′
5,c′
6) (ii) a Wherein said F
iThe storage address and the index information of the medical record information are encrypted once.
In addition, the invention also provides a medical data sharing device based on the cloud server and the block chain, and the sharing device comprises: the cloud server is used for storing the primary encrypted medical record information of the object; the block chain is used for storing the primary encryption keyword information and the object information corresponding to each medical record information; the block chain is further configured to acquire a search trapdoor converted based on a search request including target keyword information, determine target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encryption keyword information, enable the visitor to send access encryption information to a target object indicated by the target object information, and enable the target object to generate re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object; the cloud server is further configured to obtain the re-encrypted information, and re-encrypt the primary encrypted medical record information of the target object according to the re-encrypted information and the stored primary encrypted medical record information of the target object, so that the visitor can continue to perform decryption of primary encryption to obtain the medical record information of the target object after performing decryption of re-encryption according to the access encrypted information and the object encrypted information.
In addition, the invention also provides a medical data sharing system based on the cloud server and the block chain, and the sharing system comprises: the above-mentioned sharing device; the visitor server is used for sending access encryption information to the target object shown by the target object information; and a target object server for generating re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object; and the visitor server is also used for continuing to decrypt the primary encryption to acquire the medical record information of the target object after carrying out decryption of re-encryption according to the access encryption information and the object encryption information.
In addition, the invention also provides a machine-readable storage medium, wherein the machine-readable storage medium is stored with instructions, and the instructions are used for enabling a machine to execute the medical data sharing method based on the cloud server and the block chain.
Through the technical scheme, the storage of the primary encrypted medical record information is realized through the cloud server, the storage of the primary encrypted medical record information and the object information is realized through the block chain, in addition, the block chain can determine the target keyword information and the corresponding target object information in the stored primary encrypted medical record information based on the search trapdoor converted by the search request, so that an accessor can communicate with the target object based on the target object information, the target object can obtain the access encrypted information of the accessor, the target object can generate the re-encrypted information based on the access encrypted information and the object encrypted information of the target object, the cloud server re-encrypts the stored primary encrypted medical record information of the target object by adopting the re-encrypted information, the accessor can obtain the object encrypted information of the target object and decrypt the re-encrypted primary encrypted medical record information by adopting the object encrypted information and the access encrypted information, and finally, the medical record information of the target object can be obtained by carrying out encryption and decryption once again, the safety of the data is ensured by utilizing the re-encryption and decryption modes, all the data can be integrated into a whole, and the sharing and sustainable development of the data are realized.
Additional features and advantages of embodiments of the invention will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the embodiments of the invention without limiting the embodiments of the invention. In the drawings:
fig. 1 is a flowchart of a medical data sharing method based on a cloud server and a blockchain;
fig. 2 is a block diagram of a cloud server and blockchain based medical data sharing apparatus; and
fig. 3 is a simulation diagram of a medical data sharing system based on a cloud server and a blockchain.
Detailed Description
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating embodiments of the invention, are given by way of illustration and explanation only, not limitation.
Before the present invention is set forth in detail, a block chain is introduced briefly, and the block chain can realize the search of keywords in the present invention to finally obtain target object information corresponding to target keywords. The cloud server can realize online storage of medical record information, the primary encrypted medical record information is the medical record information after initial encryption, so that the safety of medical record data uploaded to the cloud server is guaranteed, and in addition, the primary encryption of the keyword information is also used for guaranteeing the safety of the medical record information entering the block chain. The medical data sharing method of the present invention will be briefly described with reference to the accompanying drawings. In the embodiments described below, the subject may be a patient, the generator may be a hospital and a doctor, and the visitor may be a clinic, a laboratory, a government, etc.
Example 1
Fig. 1 is a flowchart of a medical data sharing method based on a cloud server and a blockchain according to embodiment 1.
As shown in fig. 1, in S110, primary encrypted medical record information of the object is stored through the cloud server, and primary encrypted keyword information and object information corresponding to each medical record information are stored through the blockchain.
The medical data may include medical record information, keyword information, and the like, and the medical data needs to adopt different storage modes due to different types, and be transmitted and stored through different channels respectively, and be subsequently processed to realize corresponding functions. The keywords are keywords in the medical records and are generated according to each medical record, and the object information can be account information of the object and is used for showing the account number of the object so as to be found out.
Further preferably, the way of encrypting the medical record information once and encrypting the keyword information once can be performed by the following steps.
The once encrypting medical record information may include the following steps:
A1) acquiring medical record information m belonging to {0,1} of an object*;
A2) Random number selected based on generator
Encrypting the medical record information once through the following formulas (1) - (8) to obtain once encrypted medical record information C
mWherein said
Is a non-zero integer, q is a prime number selected by the generator:
formula (5): c. C4=r(H3(m)P1+P2);
Formula (6): c. C5=r(H3(c1)P1+H3(c1||c2||c4)P2+P3);
Formula (7): c. C6=rP;
Formula (8): cm=(c1,c2,c3,c4,c5,c6);
Wherein P is a cyclic group G
1A generator on an elliptic curve of, the
For a predetermined bilinear pair G
1×G
1→G
2Said G is
1For additive cyclic groups, said G
2For multiplication loop groups, the H
3As a Hash function
Said w
iThe pk is keyword information of the ith object
iAs an object public key Y
iX is said
kTo share the system private key, P
1For g selected based on the generator
1By the formula g
1Result after P calculation, P
2For g selected based on the generator
2By the formula g
2Result after P calculation, P
3For g selected based on the generator
3By the formula g
3P calculated result, and the g
1、g
2、
Encrypting the keyword information at a time may include the steps of:
B1) obtaining the medical record information selected by the generatorm∈{0,1}
*Corresponding keyword set W ═ (W)
1,w
2,...,w
n) And u, v, wherein said u,
B2) Once encrypting the keyword set by equations (8) - (11) to obtain once encrypted keyword information Cw:
Formula (8): a ═ vP;
formula (9): b ═ uXk=uxkP;
Equation (10): ci=vhi+ufi;
Formula (11): cw=(A,B,C1,C2…,Cn);
Wherein h isi=H1(wi),fi=H2(wiAB), the H1Is a Hash function {0,1}*→G1Said H is2Is a Hash function {0,1}*×G1×G1→G1Said X iskPrivate key x for shared systemkThe corresponding shared system public key.
The first-time encrypted medical record information of the object is stored through the cloud server, and the first-time encrypted keyword information and the object information corresponding to each medical record information are stored through the block chain, and the first-time encrypted medical record information and the object information can include:
data packet
Storing the data packet in the cloud server
Stored in a block chain, wherein said A
iAccount address of ith object, namely target object information, C
kIs a consensus statement of the generator.
S120, the block chain acquires a search trapdoor converted based on a search request containing target keyword information, determines target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encryption keyword information, enables an accessor to send access encryption information to a target object shown by the target object information, and enables the target object to generate re-encryption information based on the access encryption information of the accessor and the object encryption information of the target object.
Wherein, before S120, a search request containing target keyword information may be converted into a search trapdoor TQThe conversion method comprises the following steps:
the generator generates a target keyword set omega-omega (omega) corresponding to the search request1,…,Ωt);
Generating the search trapdoor T of the target keyword set transformation by the following equations (12) - (14)Q:
formula (14):
wherein a is a random number, and
said I
tIs the omega
tI.e., it can identify a target keyword in the set of target keywords.
In S120, determining target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encrypted keyword information includes:
determining whether equation (15) holds, wherein equation (15) is
If the equation (15) is established, it is indicated that the stored keyword information shown in the equation (15) is the same as the search trapdoor, and the keyword information is the target keyword information, and then, the target object information corresponding to the target keyword information is continuously determined, and the target object information can realize subsequent operations; if equation (15) does not hold, it indicates that the search has failed, and the target keyword information cannot be searched from the stored keyword information.
Further preferably, in S120, before the target object generates re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object, after the visitor sends the visitor identity and address information and the shared system public key to the target object, authorization information from the target object is received, where the authorization information includes a data storage address and index information Fi。
Wherein the data information transmitted by the visitor to the target object may be transmitted in the following form
Said I
jIdentity information for the visitor, A
jAddress information of the visitor. The authorization information may be transmitted in the form of
Accordingly, if the visitor further includes visitor identity and address information and the shared system public key, the subsequent re-encryption needs to be adjusted according to the above information, and specifically, is improved through the subsequent steps.
Further preferably, the method for re-encrypting the target object based on the obtained information includes:
the re-encryption information rk is generated by the following equations (15) to (16):
formula (17): rk ═ k (rk)1,rk2) (ii) a Wherein said pkjAn access public key for a jth visitor in the access encryption information, xiAs an object public key YiCorresponding randomly selected ith object private key, and xi=ski,Yi=xiP。
And S130, the cloud server acquires the re-encrypted information, and re-encrypts the primary encrypted medical record information of the target object according to the re-encrypted information and the stored primary encrypted medical record information of the target object, so that the visitor can continue to decrypt the primary encryption to acquire the medical record information of the target object after performing decryption of the re-encryption according to the access encrypted information and the object encrypted information.
After acquiring the re-encrypted information, the cloud server firstly analyzes primary encrypted medical record information C 'of a target object'mTo obtain (c)1,c2,c3,c4,c5,c6) (ii) a Re-analyzing the re-encrypted information rk to obtain (rk)1,rk2)。
By the re-encryption mode, the re-encryption of the once-encrypted medical record information can be realized, the visitor can realize the decryption of the re-encryption based on the obtained information, and the medical record information of the target object can be obtained after the decryption of the once-encryption is continued.
Further preferably, the re-encrypting, by the cloud server, the primary encrypted medical record information of the target object according to the re-encryption information and the stored primary encrypted medical record information of the target object may include:
C1) determining whether a first equation is satisfied, wherein the first equation is configured to
C2) If the first equation is true, continuing to determine whether a second equation is true, wherein the second equation is configured toExecution continues with S134.
C3) Further preferably, if the first equation is not satisfied, it indicates that the once-encrypted medical record information of the target object cannot be re-encrypted;
C4) if the second equation is satisfied, the primary encrypted medical record information C 'of the target object is re-encrypted by the following equations (18) - (24) to obtain the re-encrypted primary encrypted medical record information C'm:
equation (21): c'4=c4=r(aH3(m)+b);
Equation (22): c'5=c5=r(H3(c1)P1+H3(c1||c2||c4)P2+P3);
Equation (23): c'6=c6=rP;
Equation (24): c'm=(c′1,c′2,c′3,c′4,c′5,c′6) (ii) a Wherein said FiThe storage address and the index information of the medical record information are encrypted once.
C5, further preferably, if the second equation is satisfied, it indicates that the re-encryption information is invalid.
Further preferably, the visitor is able to access the encrypted information, the object encrypted information, and the data storage address and index information F according to the access encryption information, the object encryption information, and the data storage address and index informationiAnd after the re-encryption decryption is carried out, continuing to carry out the decryption of the primary encryption to obtain the medical record information of the target object.
Wherein the visitor adopts the visitor private key sk
jAnd authorization information
Primary encrypted medical record information C 'after being re-encrypted'
mDecryption is performed, specifically, calculated by the following equation (25):
and determining whether equation (26) and equation (27) hold, wherein equation (26) is
The equation (27) is
If both equation (26) and equation (27) hold, the medical record information of the target object is decrypted.
Example 2
In embodiment 2, a medical data sharing apparatus corresponding to embodiment 1 is described in detail. Fig. 2 is a block diagram of the apparatus, which is further described in conjunction with fig. 2. As shown in fig. 2, 1, service request; 2, storing data; 3, file location; 4, keywords, account address; 5, searching for a request; 6, a trapdoor; 7, searching keywords; 8, searching results; 9, searching request; 10, requesting notification; 11, authorization; 12, re-encrypting the key; and 13, re-encrypting the data. The data visitor is the visitor in this embodiment, the data owner is the generator in this embodiment, and the data provider is the target object in this embodiment.
As shown in fig. 2, the present invention further provides a medical data sharing apparatus based on a cloud server and a blockchain, the sharing apparatus includes: the cloud server is used for storing the primary encrypted medical record information of the object; the block chain is used for storing the primary encryption keyword information and the object information corresponding to each medical record information; the block chain is further configured to acquire a search trapdoor converted based on a search request including target keyword information, determine target object information corresponding to the target keyword information according to the search trapdoor and the stored primary encryption keyword information, enable the visitor to send access encryption information to a target object indicated by the target object information, and enable the target object to generate re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object; the cloud server is further configured to obtain the re-encrypted information, and re-encrypt the primary encrypted medical record information of the target object according to the re-encrypted information and the stored primary encrypted medical record information of the target object, so that the visitor can continue to perform decryption of primary encryption to obtain the medical record information of the target object after performing decryption of re-encryption according to the access encrypted information and the object encrypted information.
Preferably, the medical data sharing system further comprises: the medical record information primary encryption module is used for encrypting the medical record information once before the object primary encrypted medical record information is stored through the cloud server and the primary encrypted keyword information and the object information corresponding to each piece of medical record information are stored through the block chain, and comprises the following steps: a medical record information obtaining sub-module for obtaining the medical record information m of the object belonging to {0,1}
*(ii) a A medical record information encryption submodule for encrypting the medical record information based on the random number selected by the generator
The medical record information is encrypted once through the following formula to obtain once encrypted medical record information C
mWherein said
Is a non-zero integer, q is a prime number selected by the generator:
c
4=r(H
3(m)P
1+P
2);c
5=r(H
3(c
1)P
1+H
3(c
1||c
2||c
4)P
2+P
3);c
6=rP;C
m=(c
1,c
2,c
3,c
4,c
5,c
6) (ii) a Wherein P is a cyclic group G
1A generator on an elliptic curve of, the
For a predetermined bilinear pair G
1×G
1→G
2Said G is
1For additive cyclic groups, said G
2For multiplication loop groups, the H
3As a Hash function
Said w
iThe pk is keyword information of the ith object
iAs an object public key Y
iX is said
kTo share the system private key, P
1For g selected based on the generator
1By the formula g
1Result after P calculation, P
2For g selected based on the generator
2By the formula g
2Result after P calculation, P
3For g selected based on the generator
3By the formula g
3P calculated result, and the g
1、g
2、
And/or a keyword information primary encryption module, configured to encrypt the keyword information once before the primary encrypted medical record information of the object is stored by the cloud server, and the primary encrypted keyword information and the object information corresponding to each piece of medical record information are stored by the blockchain, and the method includes: a keyword obtaining submodule for obtaining the medical record information m selected by the generator belonging to {0,1}
*Corresponding keyword set W ═ (W)
1,w
2,...,w
n) And u, v, wherein said u,
A keyword encryption submodule for encrypting the keyword set once to obtain once encrypted keyword information C
w:A=vP;B=uX
k=ux
kP;C
i=vh
i+uf
i(ii) a Wherein h is
i=H
1(w
i),f
i=H
2(w
iAB), the H
1Is a Hash function {0,1}
*→G
1Said H is
2Is a Hash function {0,1}
*×G
1×G
1→G
1Said X is
kPrivate key x for shared system
kA corresponding shared system public key; c
w=(A,B,C
1,C
2…,C
n)。
Preferably, before the blockchain acquires the search trapdoor, the medical data sharing system may further include: a search trapdoor conversion module for converting the search request containing the target keyword information into a search trapdoor T
QThe method comprises the following steps: a target keyword set generation sub-module for enabling the generator to generate a target keyword set omega (omega) corresponding to the search request
1,…,Ω
t) (ii) a A search trapdoor generation submodule for generating the search trapdoor T converted from the target keyword set by the following formula
Q:
Wherein a is a random number, and
said I
tIs the omega
tThe identification information of (1).
Preferably, the block chain comprises:
the target keyword judging module is used for judging whether the following equation is satisfied:
and the target object determining module is used for determining target keyword information in the equation and then continuously determining the target object information corresponding to the target keyword information if the equation is established.
Preferably, the cloud server includes:
a first equation determining module for determining whether a first equation is satisfied, wherein the first equation is configured to
A second equation determining module, configured to, if the first equation is satisfied, continuously determine whether a second equation is satisfied, where the second equation is configured to
A re-encryption module, configured to re-encrypt the primary encrypted medical record information C 'of the target object according to the following formula if the second equation is satisfied'
m:
c′
4=c
4=r(aH
3(m)+b);c′
5=c
5=r(H
3(c
1)P
1+H
3(c
1||c
2||c
4)P
2+P
3);c′
6=c
6=rP;C′
m=(c′
1,c′
2,c′
3,c′
4,c′
5,c′
6) (ii) a Wherein said F
iThe storage address and the index information of the medical record information are encrypted once.
In embodiment 2, compared with the prior art, the same technical effect as that of embodiment 1 can be achieved, and details are not described herein.
Example 3
Fig. 3 is a block diagram of modules of a cloud server and blockchain-based medical data sharing system according to embodiment 3. The data accessor is the accessor system in this embodiment, the data owner is the generator system in this embodiment, and the data provider is the target object system in this embodiment.
As shown in fig. 3, the present invention further provides a medical data sharing system based on a cloud server and a blockchain, the sharing system includes: the sharing apparatus described in embodiment 2 above; the visitor server is used for sending access encryption information to the target object shown by the target object information; and a target object server for generating re-encryption information based on the access encryption information of the visitor and the object encryption information of the target object; and the visitor server is further used for continuing to decrypt the primary encryption to acquire the medical record information of the target object after carrying out decryption of re-encryption according to the access encryption information and the object encryption information.
Wherein the visitor server is at a visitor end; the target object server is at the object side.
In addition, in the embodiment, a generator server is provided, which is at the generator side and is convenient for the generator to operate to encrypt the medical record information once, encrypt the keyword information once and convert the search request containing the target keyword information into the search trapdoor.
In embodiment 3, compared with the prior art, the same technical effect as that of embodiment 1 can be achieved, and details are not described herein.
The medical data sharing device based on the cloud server and the block chain comprises a processor and a memory, wherein the cloud server, the block chain and the like are stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. The kernel can be set to be one or more, and the sharing of the medical data is realized by adjusting the kernel parameters.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
The embodiment of the invention provides a machine-readable storage medium, wherein the machine-readable storage medium is stored with instructions, and the instructions are used for enabling a machine to execute the medical data sharing method based on a cloud server and a block chain in the above embodiment 1 of the application.
The embodiment of the invention provides a processor, which is used for running a program, wherein the medical data sharing method based on a cloud server and a block chain is executed when the program runs.
An apparatus is provided in an embodiment of the present invention, where the apparatus includes a processor, a memory, and a program stored in the memory and capable of running on the processor, and the processor implements the steps in embodiment 1 when executing the program. The device herein may be a server, a PC, a PAD, a mobile phone, etc.
The present application further provides a computer program product adapted to perform a program initialized with the method steps of embodiment 1 when executed on a data processing device.
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 flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.