Three-element remote medical authentication method based on block chain
By adopting a three-element authentication method based on blockchain in the telemedicine system, the problems of poor security of telemedicine certification and cumbersome authentication in the existing technology are solved, and efficient and secure telemedicine certification is achieved, which improves the overall performance and response speed of the system.
Patent Information
- Application Number
- CN202411439552.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-03-04
AI Technical Summary
The existing telemedicine certification schemes are poor in dealing with cyber attacks, and the certification process is cumbersome and the calculation overhead is large, resulting in the long certification time for patients and medical institutions, which affects the medical experience.
A three-element telemedicine authentication method based on blockchain is adopted to generate unique identity and master keys for medical institutions and patients through authoritative institutions, and a biometric key is generated by combining elliptic curve algorithms and fuzzy extraction functions to ensure the security of passwords, identity identifications and biological information, and verify signatures and generate session keys through blockchain.
It improves the security of the system, reduces the time overhead during the authentication process, improves the immutability and transparency of data, prevents single point of failure and data tampering risks, and ensures the credibility and practicality of the telemedicine system.
Smart Images

Figure CN119561667A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and in particular to a three-factor telemedicine authentication method based on blockchain. Background Art
[0002] Telemedicine is an important manifestation of scientific and technological development. It refers to the real-time interaction and data exchange between patients and medical institutions through the Internet. Patients can connect to medical institutions through personal devices at home or anywhere else for consultation, diagnosis and health monitoring. Among them, personal devices can be smartphones or special medical devices. Medical institutions communicate with patients through telemedicine platforms, obtain patients' physical symptoms, diagnose and provide medical advice, and provide remote surgical guidance or other emergency medical services when necessary. Telemedicine is particularly suitable for remote areas, patients with limited mobility, or emergency medical situations that require a quick response.
[0003] Blockchain technology has been widely used in the field of medical data management and security in recent years due to its decentralization, immutability and transparency. Blockchain ensures the integrity and reliability of data through distributed ledger technology, and can realize automated data processing and transactions through smart contracts.
[0004] Through identity authentication protocols, data encryption transmission, and smart contracts, the secure sharing and privacy protection of medical data are achieved. However, most existing solutions are still insufficient in dealing with cyber attacks, which may lead to the leakage of patient privacy. In addition, many authentication schemes have disadvantages such as cumbersome authentication process and high computational overhead, which leads to long authentication time for patients and medical institutions, affecting the medical experience. Summary of the invention
[0005] In order to solve the technical problem of poor security of medical communications caused by poor security of identity authentication of patients and medical institutions, the present invention proposes a three-factor telemedicine authentication method based on blockchain.
[0006] The present invention provides a three-factor remote medical authentication method based on blockchain, the method comprising:
[0007] Generate a unique identity and master key for the medical institution through an authoritative organization, determine the public key of the medical institution through the elliptic curve algorithm, and upload the public key of the medical institution to the blockchain;
[0008] During the patient registration phase, the patient's registered identity, password and random number are obtained, a biometric key is generated through a fuzzy extraction function, and the encrypted information is sent to the authority;
[0009] The information is verified by an authority and pseudo-identity information of the patient is generated. During the authentication stage, the patient and the medical institution transmit information through a public channel, and the blockchain is combined to verify the signature and generate the session key.
[0010] Optionally, generating a unique identity and a master key of the medical institution through an authoritative institution, determining the public key of the medical institution through an elliptic curve algorithm, and uploading the public key of the medical institution to the blockchain includes:
[0011] Generate a unique ID for the medical institution through an authoritative organization MI and a secret master key MIK, and generates secret parameters Pr for medical institutions, where the authority is used to register patients and medical institutions, generate and distribute system parameters;
[0012] The generated identity ID MI , the secret master key MIK, the secret parameter Pr and the medical institution public key PMIK = MIK·P are sent to the medical institution, where P is a point on the elliptic curve. MI , PMIK} uploaded to the blockchain.
[0013] Optionally, the step of obtaining the patient's registered identity, password and random number, generating a biometric key through a fuzzy extraction function, and sending the encrypted information to an authority includes:
[0014] Generate Ui's identity ID through MC Ui 、PasswordSK Ui and a random number n1, where MC represents the authority and Ui represents the patient;
[0015] Enter Ui's fingerprint information BIO Ui , through the generating function of the fuzzy extraction function, calculate (BUi, α) = Gen(BIO Ui ), generate a biometric key BUi associated with Ui, where Gen() is the generating function of the fuzzy extraction function and α is the recovery parameter;
[0016] Determine the public key PSK through Ui Ui =SK Ui P, P is a point on the elliptic curve, using the private key SK Ui Sign the verification message L1 and generate a signature ID Ui and SK Ui Encrypt with MC's public key to generate Enc MC () represents the function of encryption using MC's public key, L1 is the verification message sent by the patient to the authority center, The patient signs it with his private key and sends {e1, Tr} to MC, where Tr is the current timestamp;
[0017] After receiving e1, MC verifies and checks. If ID Ui If it does not exist, the registration is successful, and L1 and the patient's public key PSK Ui Upload to the blockchain and get the address addr2; PMC k PMC is the public key of the authority MC. k XOR operation is performed with the secret parameter Pr and hashed to generate V1. The formula for generating V1 is: H() in the formula is a hash function, which is used to map input data to a fixed-length output; select a random number R Ui and n2, calculate ||Generate PID and RID for the connection operation Ui , and encrypt to generate Enc Ui Indicates encryption using Ui's public key, R Ui is the random number selected previously; the message M0 = {e2, T MC}Send to Ui, T MC is the current timestamp;
[0018] After Ui receives M0, it verifies T MC Freshness, calculated by ASCON encryption algorithm Indicates the use of key K Ui-0 Combined with the associated data AD1, the plaintext Perform ASCON encryption to generate ciphertext CT x1 and verification tag X1 ;in,
[0019] Optionally, the information is verified by an authority and pseudo-identity information of the patient is generated. During the authentication stage, the patient and the medical institution transmit information through a public channel, and the blockchain is combined to verify the signature and generate a session key, including:
[0020] MC represents the authority, Ui represents the patient, and through MC, the identity ID of Ui is generated Ui 、PasswordSK Ui and Bioinformatics*BIO Ui , the biometric key BUi associated with Ui is generated by the restoration function Rep() in the fuzzy extraction function, using the secret encryption key *K ui-0 And the ASCON decryption algorithm outputs the plaintext *PT x1 and certification label*Tag x1, Smart user device SD check Tag x1 Is it equal to *Tag x1 If it is not established, the authentication is terminated and a failure message is returned, otherwise the authentication continues;
[0021] Smart user device SD retrieves plain text PT x1 = {PID, BUi} and select timestamp T1 and random number Na, Nb; finally use ASCON encryption algorithm to calculate (CT1, Tag1) = E KUi-1 {AD2,Na};
[0022] Where (CT1, Tag1) = E KUi-1 {AD2,Na} indicates the use of key K U i-1 combines the associated data AD2 to perform ASCON encryption on the plaintext Na to generate the ciphertext CT1 and the verification tag Tag1;
[0023] MI represents a medical institution. Ui retrieves the public key of MI from the blockchain and generates a shared key Sk using Diffie-Hellman key exchange. u-m , generate message M1 = {T1, PID, CT1, Tag1, Nb, ID MI , addr2}, T1, PID, CT1, Tag1, Nb, ID MI , addr2 represents the current timestamp, patient pseudo-identity, ciphertext, authentication tag, random number, medical institution ID, and blockchain address containing the patient's public key. M1 is encrypted using the shared key to obtain E M1 , and use the private key SK Ui Sign the Sig_M1 and hash it to get HE M1 =H(E M1 ), the processed HE M1 Upload to the blockchain, get the address addr3, generate message MS1 = {T1, E M1 , Sig_M1, addr3}, and send MS1 to MI;
[0024] After receiving the message, MI verifies the freshness of timestamp T1 and queries HE from the blockchain if the conditions are met. M1 and Ui's public key PSK Ui , verify the signature Sig_M1, confirm that the information comes from Ui, and at the same time, verify HE M1 Is it equal to H(E M1 ) to ensure the integrity of the message content. Use the ASCON decryption process to generate the authentication tag *Tag x1 , verify the equation *Tag x1 =Tag x1Is it true? If true, MI stores the random number Na, selects the timestamp T2 and the random number Nc, and calculates the verification information and
[0025] in, Indicates the use of key K MI-2 Combined with the associated data AD3, the plaintext PT MI Perform ASCON encryption to generate ciphertext CT M2 and verification tag M2 ; Construct message M2 = {T2, CT M2 , Tags M2}, use the private key MIK to sign the message M2 and generate the signature Sig_M2; {M2, Sig_M2} is signed with the shared key Sk m-u Encrypt and get Send {T2, e2} to Ui through the public channel;
[0026] After Ui receives {T2, e2}, it verifies the freshness of the timestamp, decrypts e2 using the shared key, verifies the signature Sig_M2 using MI’s public key to ensure that the information comes from MI, and uses the ASCON decryption algorithm to generate *Tag M2 And verify *Tag M2 =Tag M2 If the verification is successful, Ui will regard M2 as a valid message and calculate the session key Where S2 = H(PID||Nb||T1);
[0027] Finally, the patient and the medical institution complete mutual authentication and generate a secure session key SK Ui( SK MI ).
[0028] The present invention has the following beneficial effects:
[0029] The present invention designs a mechanism based on three-factor authentication, which further improves the security of the system. The three elements are password, identity and biometric information. The biometric key is generated by fuzzy extraction function, combined with the user's password and identity, to ensure that even in the case of password leakage, the system can still provide high security. In terms of authentication efficiency, the present invention designs an efficient session key negotiation mechanism (AKE stage), which can quickly establish a secure communication session and reduce the time overhead in the authentication process. Through the design of distributed computing, this scheme unloads the authentication calculation task to smart user devices and medical institutions, reduces the burden of centralized servers, and improves the overall performance and response speed of the system. The present invention uses blockchain technology to ensure the immutability and transparency of data, so that the scheme has higher security and reliability. By uploading key information to the blockchain, single point failure and data tampering risks are avoided. The present invention adopts the ASCON encryption algorithm, which is a lightweight encryption scheme recommended by NIST (National Institute of Standards and Technology) with efficient encryption and decryption performance. The ASCON algorithm can provide efficient encryption and authentication to ensure the security of data transmission. The present invention utilizes elliptic curve cryptography (ECC), which has the advantages of shorter key length and higher computational efficiency at the same security level, greatly reducing computational and communication overhead. Compared with the traditional RSA algorithm, ECC can significantly reduce computational complexity while providing the same security. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0031] Figure 1 It is a flowchart of the three-factor remote medical authentication method based on blockchain of the present invention;
[0032] Figure 2 This is the overall architecture diagram of the three-factor blockchain-based telemedicine authentication of the present invention;
[0033] Figure 3 It is a schematic diagram of the user registration stage of the present invention;
[0034] Figure 4 It is a schematic diagram of the user login, authentication and key negotiation phase of the present invention. DETAILED DESCRIPTION
[0035] In order to further explain the technical means and effects adopted by the present invention to achieve the predetermined invention purpose, the specific implementation methods, structures, features and effects of the technical solutions proposed by the present invention are described in detail below in conjunction with the accompanying drawings and preferred embodiments. In the following description, different "one embodiment" or "another embodiment" does not necessarily refer to the same embodiment. In addition, specific features, structures or characteristics in one or more embodiments may be combined in any suitable form.
[0036] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
[0037] refer to Figure 1 , showing the process of some embodiments of the three-factor remote medical authentication method based on blockchain according to the present invention. The overall architecture of the three-factor remote medical authentication method based on blockchain is as follows Figure 2 As shown in Figure 1, it mainly includes four stages: initialization stage, patient registration stage, session key negotiation stage and two-way authentication stage. Figure 3 As shown in the figure, the identity authentication process is as follows Figure 4 During the initialization phase, a unique ID of the medical institution is generated by a trusted authority (MC). MI and master key MIK, and upload this information to the blockchain. This stage also includes generating a public key PMIK for the medical institution and a secret parameter Pr shared by all medical institutions, and sending the relevant information to the medical institution (MI) for storage. During the patient registration stage, the patient (Ui) selects an identity ID Ui 、PasswordSK Ui and random number n1, and generates a biometric key BUi through a fuzzy extraction function. The patient sends the encrypted identity information and signature to the MC, which verifies and stores the patient information on the blockchain, and generates and sends encryption parameters and random numbers to the patient. In the session key negotiation phase, the patient generates an encryption key by entering a password, identity identifier, and biometric information, and conducts two-way authentication and session key negotiation with the medical institution. After receiving the patient's authentication information, the medical institution verifies the patient's identity through the blockchain, generates a session key, and ensures the secure transmission of data through an encryption algorithm. In the two-way authentication phase, the patient and the medical institution use their respective public keys, private keys, and the ASCON encryption algorithm to encrypt and decrypt data to ensure the security of identity authentication and the confidentiality of data transmission. This process also includes generating and exchanging random numbers to negotiate session keys to ensure data integrity and confidentiality during the session. The three-factor telemedicine authentication method based on blockchain can specifically include the following steps:
[0038] Step S1, generate a unique identity and master key for the medical institution through an authoritative organization, determine the public key of the medical institution through an elliptic curve algorithm, and upload the public key of the medical institution to the blockchain.
[0039] In some embodiments, the task of the initialization phase is to establish the basic settings of the system, including generating a unique identity, secret parameters, keys, and uploading public keys to the blockchain for the medical institution. That is to say, the method of MC initialization system may include: generating secret parameters for the medical institution (MI) for subsequent authentication, generating a unique identity and public and private keys of the elliptic curve encryption algorithm, and uploading the identity and public key to the blockchain.
[0040] Among them, MC is a trusted authority responsible for registering patients (Ui) and medical institutions (MI, Medical Institution), as well as generating and allocating system parameters.
[0041] As an example, this step may include the following steps:
[0042] The first step is to generate a unique ID for the medical institution through an authority. MI and a secret master key MIK, and generates secret parameters Pr for medical institutions, where the authority is used to register patients and medical institutions, generate and distribute system parameters.
[0043] It should be noted that before MI is officially activated, during the initialization phase, a unique identity ID is generated for MI by a trusted authority MC. MI And a secret master key MIK, and upload this information to the blockchain. This stage also includes generating a public key PMIK and a secret parameter Pr shared by the medical institution for the medical institution, and sending the relevant information to the medical institution MI for storage.
[0044] Among them, the public key of MI PMIK = MIK·P. The elliptic curve is defined as E:y 2 ≡x 3 +ax+b(mod p), where P is a point on the elliptic curve and its order is q.
[0045] The second step is to generate the identity ID MI , the secret master key MIK, the secret parameter Pr and the medical institution public key PMIK = MIK·P are sent to the medical institution, where P is a point on the elliptic curve, and {ID MI , PMIK} is uploaded to the blockchain, where PMIK represents the public key of the medical institution.
[0046] It should be noted that MC will {ID MI, MIK, PMIK, Pr} are sent to MI for storage, Pr is a secret parameter for medical institutions, and {ID MI , PMIK} is uploaded to the blockchain and the address addr1 is obtained. The private key of MC is MCk and the public key is PMC k =MCk*P.
[0047] Step S2, during the patient registration phase, obtain the patient's registered identity, password and random number, generate a biometric key through a fuzzy extraction function, and send the encrypted information to an authority.
[0048] In some embodiments, during the patient registration phase, the patient can select the identity, key, and fingerprint information BIO Ui etc., generate a biometric key through a fuzzy extraction function, and send the relevant information to the MC. If the patient's identity is legitimate, the MC agrees to its registration request and uploads the patient's public key and hidden identity to the blockchain to ensure data security and facilitate subsequent authentication. Subsequently, the MC sends an encrypted message to the patient containing the patient's pseudo identity, blockchain address and other information. After receiving the information, the patient generates an ASCON encryption key and uses the ASCON encryption algorithm to generate ciphertext and authentication tags for use in logging into the device during authentication.
[0049] Among them, the registration stage refers to the stage in which the patient Ui registers with the authoritative center MC before receiving telemedicine.
[0050] As an example, this step may include the following steps:
[0051] The first step is to generate Ui's identity ID through MC Ui 、PasswordSK Ui and a random number n1, where MC represents the authority and Ui represents the patient.
[0052] It should be noted that Ui chooses his own identity ID Ui 、PasswordSK Ui and a random number n1.
[0053] The second step is to enter Ui's fingerprint information BIO Ui , through the generating function of the fuzzy extraction function, calculate (BUi, α) = Gen(BIO Ui ), generate the biometric key BUi associated with Ui, where Gen() is the generating function of the fuzzy extraction function and α is the recovery parameter.
[0054] It should be noted that Ui enters his fingerprint information BIO Ui , calculate (BUi, α) = Gen(BIO Ui), generates a biometric key BUi associated with Ui.
[0055] For example, the calculation formula corresponding to Ui includes:
[0056] S_1=H(ID_Ui||SK_Ui)
[0057] PSK Ui =SK Ui ·P
[0058]
[0059] S1 is the patient's ID Ui With private key SK Ui After concatenation, hashing is performed to hide the private information. Ui is the public key, S1 F and S1 B It is the front and back parts of S1, using the private key SK Ui Sign the message L1 and generate the signature Sig_L1.
[0060] The third step is to determine the public key PSK through Ui Ui =SK Ui P, using private key SK Ui Sign the verification message L1 and generate a signature ID Ui and SK Ui Encrypt with MC's public key to generate Enc MC () represents the function of encrypting using the public key of MC. Send {e1, Tr} to MC, where Tr is the current timestamp. L1 is the verification message sent by the patient to the authority center, Sign it with the patient's private key.
[0061] It should be noted that Ui calculates the public key PSK Ui =SK Ui P, using private key SK Ui Sign the message L1 and generate the signature Sig_L1. Ui and SK Ui Encrypt with MC's public key to generate e1=Enc MC (L1, Sig_L1, ID Ui , S.K. Ui ), send {e1, Tr} to MC.
[0062] Step 4: After receiving e1, MC verifies and checks it. First, it verifies the time freshness. If Tc-Tr≤Td, then it decrypts e1, where T c is the current time, Td is the threshold. Then use Ui's public key PSK Ui Verify the signature Sig_L1 to ensure that the message comes from Ui. Retrieve the ID from the database Ui If it exists, if ID Ui If it exists, the registration failure message will be returned. Ui If it does not exist, the registration is successful, and L1 and the patient's public key PSK Ui Upload to the blockchain and get the address addr2; PMC k PMCk is the public key of the authority MC. PMCk and the secret parameter Pr are XORed and hashed to generate V1, that is, H() in the formula is a hash function, which is used to map input data to a fixed-length output. Select a random number R Ui and n2, calculate ||Generate PID and RID for the connection operation Ui , and encrypt to generate Enc Ui Indicates encryption using Ui's public key, R Ui is the random number selected previously. Send the message M0 = {e2, TMC} to Ui, where TMC is the timestamp.
[0063] Step 5: After Ui receives M0, it verifies T MC Freshness, calculated by ASCON encryption algorithm Indicates the use of key K Ui-0 Combined with the associated data AD1, the plaintext Perform ASCON encryption to generate ciphertext CT x1 and verification tag X1 .in,
[0064] It should be noted that when Ui receives information from MC, it first determines whether Tc-T MC ≤Td, where T c is the current time, T d is the threshold. If Ui is established, calculation:
[0065] AD1=R Ui
[0066]
[0067] PT x1 ={PID, BUi}, at the same time, Ui is calculated through the ASCON encryption algorithm:
[0068]
[0069] The ASCON encryption algorithm is an encryption algorithm that can provide data confidentiality, integrity and authenticity at the same time. The encryption and decryption process of the ASCON encryption algorithm can be expressed as follows:
[0070] (CT, Tag) = E K {AD, PT}
[0071] (PT , *Tag)=E K {AD, CT}
[0072] Among them, PT represents plain text, K represents key, AD represents associated data, Tag and *Tag represent authentication tags, and CT represents ciphertext.
[0073] Finally, Ui stores {CT x1 , Tags x1 ,α,R Ui}.
[0074] Step S3, verify the information through the authority and generate the patient pseudo-identity information. During the authentication stage, the patient and the medical institution transmit information through a public channel, and combine the blockchain to verify the signature and generate the session key.
[0075] In some embodiments, the patient login authentication and key negotiation phase refers to the mutual authentication between the patient Ui and the medical institution MI and the negotiation of the session key. In the mutual authentication phase, the decentralized authentication process is implemented using blockchain. Biometric information and ASCON encryption algorithms are used for verification and encryption, and the security of the scheme is ensured by combining elliptic curve encryption algorithms and symmetric encryption algorithms. By reducing the interaction steps and calculation steps, the authentication process is ensured to be efficient and fast.
[0076] As an example, this step may include the following steps:
[0077] In the first step, MC represents the authority, Ui represents the patient, and through MC, the identity ID of Ui is generated Ui 、PasswordSK Ui and Bioinformatics*BIO Ui , the biometric key B associated with Ui is generated by the restoration function Rep() in the fuzzy extraction function Ui , using the secret encryption key *K ui-0 And the ASCON decryption algorithm outputs the plaintext *PT x1 and certification label*Tag x1 , Smart user device SD check Tag x1 Is it equal to *Tag x1 If not, the authentication is terminated and a failure message is returned; otherwise, the authentication continues.
[0078] It should be noted that Ui enters the password SK Ui 、ID Ui 、Bioinformatics*BIO Ui , the biometric key BUi associated with Ui is generated by the restoration function Rep() in the fuzzy extraction function, using the secret encryption key *K ui-0 And the ASCON decryption algorithm outputs *PT x1 and *Tag x1 , Smart user device SD check Tag x1 Is it equal to *Tag x1 If not, the authentication is terminated and a failure message is returned; otherwise, the authentication continues.
[0079] Step 2: SD retrieves PT x1 = {PID, BUi} and select timestamp T1 and random number Na, Nb; use the associated parameter AD2 and random number Na to finally calculate the ciphertext CT1 and authentication tag Tag1, that is, (CT1, Tag1) = E KUi-1 {AD2,Na}. Where (CT1,Tag1)=E KUi-1 {AD2,Na} indicates the use of key K U i-1 combines the associated data AD2 to perform ASCON encryption on the plaintext Na to generate the ciphertext CT1 and the verification tag Tag1.
[0080] In the third step, MI represents the medical institution. Ui retrieves the public key of MI from the blockchain and uses Diffie-Hellman key exchange to generate a shared key Sk u-m , generate message M1 = {T1, PID, CT1, Tag1, Nb, ID MI , addr2}, T1, PID, CT1, Tag1, Nb, ID MI , addr2 represents the current timestamp, patient pseudo-identity, ciphertext, authentication tag, random number, medical institution ID, and blockchain address containing the patient's public key. Encrypt M1 with the shared key to get E M1 , and use the private key SK U i signs to get Sig_M1, and hashes it to get HE M1 =H(E M1 ), the processed HE M1 Upload to the blockchain, get the address addr3, generate message MS1 = {T1, E M1 , Sig_M1, addr3}, and MS1 sends it to MI.
[0081] Step 4: After receiving the message, MI verifies the freshness of the timestamp and queries HE from the blockchain if the conditions are met.M1 and Ui's public key PSK Ui , verify the signature Sig_M1, ensure that the message comes from Ui, and at the same time, verify HE M1 Is it equal to H(E M1 ) to ensure the integrity of the message content. Use the ASCON decryption process to generate the authentication tag *Tag x1 , verify the equation *Tag x1 =Tag x1 Is it true? If true, MI stores the random number Na, selects the timestamp T2 and the random number Nc, and calculates the verification information and in, Indicates the use of key K MI-2 Combined with the associated data AD3, the plaintext PT MI Perform ASCON encryption to generate ciphertext CT M2 and verification tag M2 . Construct message M2 = {T2, CT M2 ,Tag M2}, use the private key MIK to sign the message M2 and generate the signature Sig_M2. m-u Encrypt and get Send {T2, e2} to Ui through the public channel.
[0082] Step 5: After receiving {T2, e2}, Ui verifies the freshness of the timestamp, decrypts e2 using the shared key, verifies the signature Sig_M2 using MI’s public key to ensure that the message comes from MI, and uses the ASCON decryption algorithm to generate *Tag M2 And verify *Tag M2 =Tag M2 If the verification is successful, Ui will regard M2 as a valid message and calculate the session key Where S2 = H(PID||Nb||T1).
[0083] Step 6: Finally, the patient and the medical institution complete mutual authentication and generate a secure session key SK Ui (SK MI ).
[0084] It should be noted that the patient login authentication and key negotiation phase refers to the mutual authentication between the patient Ui and the medical institution MI and the negotiation of the session key. The specific steps of the mutual authentication phase between Ui and MI may include:
[0085] The first step is to enter the password SK Ui , ID Ui , Bioinformatics*BIO Ui, then the formula to be executed is:
[0086] *BUi=Rep(*BIO Ui ,α)
[0087] *S1=H(ID Ui ||SK Ui )
[0088] *AD1=R Ui
[0089]
[0090] (*PT x1 ,*Tag x1 )=D KUi-0 {*AD1,CT x1}
[0091] Among them, *B Ui is the biometric key associated with Ui generated by the fuzzy extraction function restoration function Rep(). *K ui-1 is the secret encryption key, *S 1F 、*S 1B It is the front and back parts of *S1. In addition, *PT x1 and *Tag x1 is the output of the ASCON decryption algorithm.
[0092] Finally, the smart user device SD checks the *Tag x1 =Tag x1 If the equality is not established, the smart user device SD immediately terminates the mutual authentication process and returns a failure message. Otherwise, SD retrieves PT x1 ={PID, BUi} and continue the authentication process. SD selects random numbers Na, Nb and timestamp T1 and executes the calculation formula:
[0093] S2=H(PID||Nb||T1)
[0094]
[0095]
[0096] (CT1, Tag1) = E KUi-1 {AD2,Na}
[0097] Sk u-m =SK Ui ·PMIK
[0098] Among them, AD2 is the associated data, K Ui-1 is the key used in the ASCON encryption process, Sku-m It is the shared key generated by the Diffie-Hellman key exchange between Ui and MI. In this step, Ui needs to retrieve MI's public key from the blockchain. Ui generates a message M1 = {T1, PID, CT1, Tag1, Nb, ID MI ,addr2}, first encrypt M1 to get the ciphertext E M1 =E Sku-m (M1), using private key SK U i signs the ciphertext M1 to obtain the signature Sig_M1, and then hashes the ciphertext to obtain HE M1 =H(E M1 ).
[0099] Will HE M1 Upload to the blockchain, get the address addr3, generate message MS1 = {T1,E M1 ,Sig_M1, addr3}, T1 is the timestamp, and the message MS1 is sent to MI.
[0100] In the second step, after receiving the message, MI checks whether Td≥Tc-T1 is satisfied, where T c is the current time, T d is the threshold. If the equation holds, query HE from the blockchain M1 and Ui's public key PSK Ui , using PSK Ui Verify the signature Sig_M1 to ensure that the message comes from Ui and verify HE M1 Is it equal to H(E M1 ) to ensure the integrity of the message content. If the verification is successful, proceed to the next step. PMC k and Pr are the public key of the authority and the secret parameter of the medical institution respectively. The calculation formula corresponding to MI includes:
[0101]
[0102]
[0103]
[0104] K MI_1 =*L1
[0105]
[0106]
[0107] (Na,*Tag x1 )=DK MI_1 {*AD2,CT x1}
[0108] By using the ASCON decryption process, MI generates an authentication tag *Tag x1 MI then verifies the equation *Tag x1 =Tag x1 Is it true?
[0109] If so, MI stores the random number Na, and the formula for selecting the timestamp T2 and the random number Nc for calculation may include:
[0110]
[0111] Among them, EX F and EX B The front and back parts of EX are used to generate the ASCON encryption key K MI_2 .
[0112]
[0113] Generate session negotiation key SK MI :
[0114]
[0115] Generate verification plaintext, perform ASCON encryption, and perform Diffie-Hellman key exchange to generate a shared key:
[0116]
[0117]
[0118] Sk m-u =MIK·PSK Ui
[0119] Construct message M2 = {T2, CT M2 , Tags M2}. Sign the message M2 with the private key MIK.
[0120] Generate signature Sig_M2. Substitute {M2, Sig_M2} with the shared key Sk m-u Encrypt and get
[0121] Finally, MI sends {T2, e2} to Ui through the public channel, where T2 is the timestamp.
[0122] Step 3: When Ui receives {T2, e2}, it checks whether Td≥Tc–T2 is satisfied, where Tc is the current time and Td is the threshold. If satisfied, it decrypts e2 and verifies the signature Sig_M2 with MI’s public key PMIK to ensure that the message comes from MI. The user equipment determination formula may include:
[0123] *AD3=AD2
[0124]
[0125]
[0126] By using the ASCON decryption algorithm, the calculation formula corresponding to SD is:
[0127]
[0128] And check the equation *Tag M2 =Tag M2 Is it true? If so, Ui regards M2 as a valid message. To ensure encrypted communication with MI, Ui calculates SK ui The corresponding formula is:
[0129]
[0130] The patient and the medical institution complete mutual authentication and generate a secure session key SK Ui (SK MI ).
[0131] In summary, through the combination of blockchain technology and a trusted computing environment, a safe and efficient telemedicine authentication solution is provided using a three-factor authentication mechanism of passwords, biometric information, and device identity. Compared with traditional authentication methods, it reduces authentication overhead, improves data security and reliability, prevents internal and external attacks, and ensures the credibility and practicality of the telemedicine system.
[0132] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features can be replaced by equivalents. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention, and should all be included in the protection scope of the present invention.
Claims
1. A three-factor telemedicine authentication method based on blockchain, characterized in that: The following steps are involved: Generate a unique identity and master key for the medical institution through an authoritative organization, determine the public key of the medical institution through the elliptic curve algorithm, and upload the public key of the medical institution to the blockchain; During the patient registration phase, the patient's registered identity, password and random number are obtained, a biometric key is generated through a fuzzy extraction function, and the encrypted information is sent to the authority; The information is verified by an authority and pseudo-identity information of the patient is generated. During the authentication stage, the patient and the medical institution transmit information through a public channel, and the blockchain is combined to verify the signature and generate the session key.
2. According to claim 1, a three-factor remote medical authentication method based on blockchain is characterized in that: The method of generating a unique identity and a master key of a medical institution through an authoritative institution, determining the public key of the medical institution through an elliptic curve algorithm, and uploading the public key of the medical institution to the blockchain includes: Generate a unique ID for the medical institution through an authoritative organization MI and a secret master key MIK, and generates secret parameters Pr for medical institutions, where the authority is used to register patients and medical institutions, generate and distribute system parameters; The generated identity ID MI , the secret master key MIK, the secret parameter Pr and the medical institution public key PMIK = MIK·P are sent to the medical institution, where P is a point on the elliptic curve. MI , PMIK} uploaded to the blockchain.
3. According to a three-factor remote medical authentication method based on blockchain in claim 1, it is characterized in that: The step of obtaining the patient's registered identity, password and random number, generating a biometric key through a fuzzy extraction function, and sending the encrypted information to an authority includes: Generate Ui's identity ID through MC Ui 、PasswordSK Ui and a random number n1, where MC represents the authority and Ui represents the patient; Enter Ui's fingerprint information BIO Ui , through the generating function of the fuzzy extraction function, calculate (BUi, α) = Gen(BIO Ui ), generate a biometric key BUi associated with Ui, where Gen() is the generating function of the fuzzy extraction function and α is the recovery parameter; Determine the public key PSK through Ui Ui =SK Ui P, P is a point on the elliptic curve, using the private key SK Ui Sign the verification message L1 and generate a signature ID Ui and SK Ui Encrypt with MC's public key to generate Enc MC () represents the function of encryption using MC's public key, L1 is the verification message sent by the patient to the authority center, The patient signs it with his private key and sends {e1, Tr} to MC, where Tr is the current timestamp; After receiving e1, MC verifies and checks. If ID Ui If it does not exist, the registration is successful, and L1 and the patient's public key PSK Ui Upload to the blockchain and get the address addr2; PMC k PMC is the public key of the authority MC. k XOR operation is performed with the secret parameter Pr and hashed to generate V1. The formula for generating V1 is: H() in the formula is a hash function, which is used to map input data to a fixed-length output; select a random number R Ui and n2, calculate ||Generate PID and RID for the connection operation Ui , and encrypt to generate Enc Ui Indicates encryption using Ui's public key, R Ui is the random number selected previously; the message M0 = {e2, T MC }Send to Ui, T MC is the current timestamp; After Ui receives M0, it verifies T MC Freshness, calculated by ASCON encryption algorithm Indicates the use of key K Ui-0 Combined with the associated data AD1, the plaintext PT X1 Perform ASCON encryption to generate ciphertext CT x1 and verification tag X1 ; Among them, K Ui- 4. According to a three-factor remote medical authentication method based on blockchain according to claim 3, it is characterized in that: The information is verified by an authority and pseudo-identity information of the patient is generated. During the authentication stage, the patient and the medical institution transmit information through a public channel, and the blockchain is combined to verify the signature and generate the session key, including: MC represents the authority, Ui represents the patient, and through MC, the identity ID of Ui is generated Ui 、PasswordSK Ui and Bioinformatics*BIO Ui , the biometric key BUi associated with Ui is generated by the restoration function Rep() in the fuzzy extraction function, using the secret encryption key *K ui-0 And the ASCON decryption algorithm outputs the plaintext *PT x1 and certification label*Tag x1 , Smart user device SD check Tag x1 Is it equal to *Tag x1 If it is not established, the authentication is terminated and a failure message is returned, otherwise the authentication continues; Smart user device SD retrieves plain text PT x1 = {PID, BUi} and select timestamp T1 and random number Na, Nb; finally use ASCON encryption algorithm to calculate (CT1, Tag1) = E KUi-1 {AD2,Na}; Where (CT1, Tag1) = E KUi-1 {AD2,Na} indicates the use of key K U i-1 combines the associated data AD2 to perform ASCON encryption on the plaintext Na to generate the ciphertext CT1 and the verification tag Tag1; MI represents a medical institution. Ui retrieves the public key of MI from the blockchain and generates a shared key Sk using Diffie-Hellman key exchange. u-m , generate message M1 = {T1, PID, CT1, Tag1, Nb, ID MI , addr2}, T1, PID, CT1, Tag1, Nb, ID MI , addr2 represents the current timestamp, patient pseudo-identity, ciphertext, authentication tag, random number, medical institution ID, and blockchain address containing the patient's public key. M1 is encrypted using the shared key to obtain E M1 , and use the private key SK Ui Sign the Sig_M1 and hash it to get HE M1 =H(E M1 ), the processed HE M1 Upload to the blockchain, get the address addr3, generate message MS1 = {T1, E M1 , Sig_M1, addr3}, and send MS1 to MI; After receiving the message, MI verifies the freshness of timestamp T1 and queries HE from the blockchain if the conditions are met. M1 and Ui's public key PSK Ui , verify the signature Sig_M1, confirm that the information comes from Ui, and use the ASCON decryption process to generate the authentication tag *Tag x1 , verify the equation *Tag x1 =Tag x1 Is it true? If true, MI stores the random number Na, selects the timestamp T2 and the random number Nc, and calculates the verification information and in, Indicates the use of key K MI-2 Combined with the associated data AD3, the plaintext PT MI Perform ASCON encryption to generate ciphertext CT M2 and verification tag M2 ; Construct message M2 = {T2, CT M2 , Tags M2 }, use the private key MIK to sign the message M2 and generate the signature Sig_M2; {M2, Sig_M2} is signed with the shared key Sk m-u Encrypt and get Send {T2, e2} to Ui through the public channel; After Ui receives {T2, e2}, it verifies the freshness of the timestamp, decrypts e2 using the shared key, verifies the signature Sig_M2 using MI’s public key to ensure that the information comes from MI, and uses the ASCON decryption algorithm to generate *Tag M2 And verify *Tag M2 =Tag M2 If the verification is successful, Ui will regard M2 as a valid message and calculate the session key Where S2 = H(PID||Nb||T1); Finally, the patient and the medical institution complete mutual authentication and generate a secure session key SK Ui (SK MI ).
Citation Information
Cited By
Data processing method and device for data management in iron and steel industry
CN120281588A