| CPC G06F 21/6245 (2013.01) [G16H 10/60 (2018.01); G16H 40/20 (2018.01); H04L 9/0838 (2013.01); H04L 9/3234 (2013.01); H04L 9/3297 (2013.01); H04L 9/50 (2022.05)] | 9 Claims |

|
1. An inter-hospital electronic medical record access authentication method based on a blockchain, comprising the following steps:
s1: initializing a medical server;
s2: submitting, by a user device of a patient and a device of a doctor, registration requests to the medical server; feeding, by the medical server, registration messages back to the user device of the patient and the device of the doctor after verifying legality of the patient and the doctor; and storing the registration messages of the patient and the doctor on a smart card of the patient and the device of the doctor respectively;
s3: submitting, by the user device of the patient, an initialize authentication request to the medical server;
s4: performing, by the doctor, a diagnosis on the patient after completing initialize authentication among the patient, the medical server and the doctor for negotiating session keys for communications; and uploading, by the medical server, an electronic medical record of the patient to the blockchain;
s5: submitting, by the patient, a transfer authentication request to another medical server of another hospital where the patient is located when the patient is transferred to the another hospital; and
s6: authorizing, by the patient, the another medical server to access the electronic medical record of the patient after completing transfer authentication among the patient, the another medical server, and another doctor in the another hospital for negotiating and verifying session keys for communications; performing, by the another doctor, a diagnosis on the patient; and uploading, by the another medical server, another electronic medical record of the patient to the blockchain;
wherein the initializing a medical server in the s1 comprises: selecting, by the medical server, an E(GFq) function of an elliptic curve; selecting a base point P on the elliptic curve; then selecting a server key kMSj and storing the server key kMSj in the medical server; and calculating, by the medical server, a public key PKMSj through the E(GF) function of the elliptic curve, and exposing parameters {E(GFq), P, PKMSj.
|