Zero-trust medical internet of things authentication method and system based on block chain

By adopting a blockchain-based zero-trust authentication method in medical IoT systems, the problem of insufficient system security and scalability is solved, higher security and real-timeness are achieved, and cross-domain authentication and password recovery functions are provided.

CN119815333AActive Publication Date: 2025-04-11HUAZHONG NORMAL UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411955260.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-11
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

The existing medical IoT systems have shortcomings in terms of security and scalability, and are vulnerable to internal attacks, restrictions on centralized authentication, dissatisfaction with real-time requirements, limited resistance to known attacks, lack of cross-domain authentication, password recovery and node revocation functions, etc.

Method used

The zero-trust authentication method and system based on blockchain is adopted, and the blockchain is built and smart contracts are deployed through the initialization stage, identity registration is carried out in the registration stage, mutual authentication between users, fog nodes and sensors is completed in the static authentication stage, and continuous authentication is used to utilize channel fingerprints and tokens in the continuous authentication stage, providing password retrieval and cross-domain authentication functions.

Benefits of technology

It has achieved the security improvement of the medical IoT system, avoided internal attacks, solved the single point of failure problem, met the real-time requirements, enhanced its resistance to known attacks, and provided cross-domain authentication, password recovery and node revocation functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119815333A_ABST
    Figure CN119815333A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of medical internet-of-things authentication, and discloses a zero-trust medical internet-of-things authentication method and system based on a block chain, which adopts a zero-trust security architecture, introduces continuous authentication on the basis of traditional single authentication, divides the operation authority applied by a user into different levels, and improves the authentication efficiency. And the corresponding continuous authentication time interval is set according to the grade, so that the problem of excessive trust in the prior art can be effectively solved. According to the technology provided by the invention, the private block chain for data storage is constructed among the cloud, the registration center and the fog node, and the related smart contract is deployed. When a certain fog node has a fault, other fog nodes can also acquire related data through the smart contract, thereby providing an authentication service. According to the technology provided by the invention, fog computing is introduced on the basis of cloud to provide low-latency service.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of medical Internet of Things authentication technology, and in particular, relates to a zero-trust medical Internet of Things authentication method and system based on blockchain. Background Art

[0002] In the Medical Internet of Things (MIoT) environment, smart wearable devices and implantable sensors monitor patients' key physical data such as blood pressure and heart rate in real time, and can also collect health-related environmental information such as temperature, humidity, and air quality in the patient's environment. In addition to these real-time data, the MIoT system also centrally manages various physical examination reports of patients. Medical personnel can use various terminal devices to view these data anytime and anywhere, give diagnostic opinions and treatment plans, and even use technologies such as 5G and real-time video transmission to perform remote surgery. In emergencies, the real-time monitoring mechanism of MIoT can allow medical personnel to respond in time to prevent the patient's condition from worsening. In addition, MIoT can also use AI technology to assist in diagnosis and monitoring, automate some medical services, and further reduce the burden on hospitals. These intelligent medical methods can significantly improve the quality and efficiency of medical services and lower the threshold for patients to obtain medical services. However, the data in MIoT is transmitted in wireless networks, which are insecure open channels. The transmitted data is easily eavesdropped, intercepted, and tampered by attackers. These data are private information of patients. If they are obtained by attackers, it will seriously infringe on the privacy of patients. In addition, these data are important references for doctors’ diagnosis. Once tampered by attackers, doctors may make wrong diagnoses, thus endangering the health of patients. Therefore, a secure and efficient authentication solution is needed to ensure the security of the medical Internet of Things.

[0003] Through the above analysis, the problems and defects of the prior art are as follows:

[0004] (1) Existing solutions are all based on the boundary security model, which associates trust with location. It is assumed that the network has a fixed boundary and is divided into two parts: internal trusted and external untrusted. Users only need to complete authentication at the entrance to freely access internal resources. This solution places excessive trust in the internal network. The security level of the system depends on the device with the weakest protection, and it is difficult to resist malicious internal nodes. Attackers can capture defective devices, hijack authenticated sessions, or exploit security vulnerabilities to enter the network and access various resources, causing great harm to MIoT.

[0005] (2) Most existing technologies use centralized authentication methods, which limits the scalability of the medical Internet of Things and is prone to single point failure problems.

[0006] (3) Existing technologies introduce the cloud to store and analyze data in the medical Internet of Things, which has large delays and is not suitable for the real-time requirements of the medical Internet of Things.

[0007] (4) Existing technologies use complex encryption methods and have limited resistance to known attacks.

[0008] (5) Existing technologies do not provide cross-domain authentication, password recovery, and node revocation functions. Summary of the invention

[0009] In response to the problems existing in the prior art, the present invention provides a zero-trust medical Internet of Things authentication method and system based on blockchain.

[0010] The present invention is implemented in this way: a zero-trust medical Internet of Things authentication method based on blockchain includes:

[0011] Step 1: During the initialization phase, the registration center generates the necessary parameters of the system, builds the blockchain, and deploys smart contracts;

[0012] Step 2: During the registration phase, the registration center registers the identities of fog nodes, remote users, and sensors.

[0013] Step 3: The static authentication phase completes mutual authentication between the user, fog node, and sensor, and negotiates a session key.

[0014] Step 4, continuous authentication preparation phase: the user and the sensor generate a token and a channel fingerprint respectively, which are used in the continuous authentication phase;

[0015] Step 5, the continuous authentication phase is repeated at a certain time interval, and the user and the sensor authenticate each other using the channel fingerprint and token;

[0016] Step 6, the password recovery phase is when the user recovers the password by answering password recovery questions;

[0017] Step 7, the cross-domain authentication phase is where the user authenticates with sensors in other domains.

[0018] Further, the initialization phase:

[0019] RC selects the master key MK; then, RC constructs the blockchain and deploys smart contracts for data storage, data acquisition, data update, and reputation management;

[0020] Registration stage:

[0021] Fog node registration: The fog node registers with the registration center. The registration steps are as follows:

[0022] Step 1.F k Select the FID k, then FID k Transmit to the registration center RC;

[0023] Step 2. After receiving the message, RC generates a random number r1 and calculates FK k =h(r1‖MK) and FIC k =h(FID k ‖FK k ); Then, RC calls the smart contract storeFogNode(FK k ,FIC k )Store {FID in the data link k ,FIC k}; Finally, RC will FK k Send to F k ;

[0024] Step 3. Receive FK k After that, F k Storage {FID k ,FK k};

[0025] User registration: Users register with the registration center. The registration steps are as follows:

[0026] Step 1. i Select the identity UID i 、Password PW i , input biometric information B i ; Then, MD i Generate a random number r2 and a list of questions for password retrieval p ={p1,p2,…,p n},U i Setting List p Corresponding answer list a ={a1,a2,…,a n}; After completion, MD i calculate (σ i ,τ i )=Gen(B i ), PID i =h(r2‖UID i ), PW * =h(r2‖PW i ‖UID i ) and RID i =h(UID i ‖σ i ); Finally, MD i {PID i ,PW * ,RIDi ,List p}Transmit to RC;

[0027] Step 2.RC receives U i After the registration information is obtained, a random number r3 is generated and UK is calculated. i =h(r3‖MK), and Then, RC calls storeUser(TID i ,HID i ,List p ,RID i )Stored in the blockchain and transmit {UR} to U i ;

[0028] Step 3. i After receiving UR, calculate L3=h(PW i ‖σ i ‖r2‖UID i )and Then, MD i Storage {L1, L2, L3, L4, h(V R ),τ i};

[0029] Sensor registration: The sensor also needs to be registered with the registration center. The registration steps are as follows:

[0030] Step 1.S j Select the SID j , and then the SID j Transmit to RC;

[0031] Step 2. RC receives SID j Then, choose Challenge C j ; Then, RC will C j Send to S j ;

[0032] Step 3.S j Receive C j , calculate R j =PUF(C j ); then, S j R j Send to RC;

[0033] Step 4. RC receives R j Then call storeSensor(SID j ,C j,R j ), store {SID j ,C j ,R j};

[0034] Static authentication stage:

[0035] The user first needs to log in using a mobile device. After successful login, the user and the sensor perform mutual authentication;

[0036] Login: U i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τ i ), and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next steps;

[0037] Mutual authentication: After the user logs in successfully, mutual authentication is performed with the sensor. The authentication steps are as follows:

[0038] Step 1. i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i =h(r'2‖UID' i ), and UM2 = h(n1||TID i ||UK'1‖T1‖A per );After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per}Transmit to F k ;

[0039] Step 2.F k Received {TID i ,UM1,UM2,T1,A per}, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F kCall getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k calculate and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ; Then, F k Generate random number n2 and new challenge calculate and Finally, F k Will Transfer to SID' j The corresponding S j ;

[0040] Step 3.S j Received Then, calculate R' j =PUF(C j ), and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ;

[0041] Step 4.F k After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, F k Compare SM'2 to see if it is equal to SM2; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, F k Call renew and F k calculate and After the calculation is completed, F k Call renew And transmit {FM3,SM2} to U i ;

[0042] Step 5. i After receiving {FM3,SM2}, calculate SK i =h(n1||n”3||R” i ||SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, U i Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate renew

[0043] After the above steps are executed, the user can communicate with the sensor, but continuous authentication is required during the communication process.

[0044] Furthermore, the continuous authentication preparation phase: generating a token and channel fingerprint for formal continuous authentication, the specific steps are as follows:

[0045] Step 1. i Generate a random number N1, calculate Token = h(N1‖SK), and UP2 = h(Token|SID j ); then, U i Transmit {UP1, UP2} to S j ;

[0046] Step 2.S j After receiving {UP1, UP2}, calculate the channel fingerprint CF s , and Token' = h(N'1|SK) and UP'2 = h(Token'|SID j ); then, S j Check whether UP'2 and UP2 are equal; if they are not equal, terminate the session; otherwise, S j Generate a random number N2, calculate Token1 = h(Token' ‖ N'1 ‖ N2), and SP2 = h(N'1‖N2‖Token1), update Token to Token1; finally, S j Send {SP1,SP2} to U i ;

[0047] Step 3. i After receiving {SP1, SP2}, calculate the channel fingerprint CF u , Token1 = h(Token||N1||N'2) and SP'2 = h(N1||N'2||Token1); then, U i Checks whether SP'2 and SP2 are equal; if not, U i Terminate the session; otherwise, U i Update Token = Token1.

[0048] Furthermore, in the continuous authentication phase, the user and the sensor perform continuous authentication at a certain time interval, and the steps of the i-th continuous authentication are as follows:

[0049] Step 1. i Generate a random number r u ,calculate and UC2=h(r u ‖Token i ); then send {UC1,UC2} to S j ;

[0050] Step 2.S j After receiving {UC1, UC2}, calculate the current channel fingerprint CF' s ; S j Verify | CF' s -CF s |<ΔCF is true; if not, S j Terminate the session; otherwise, S j calculate and UC'2=h(r' u ‖Token i ); then, S j Checks whether UC'2 and UC2 are equal; if not, S j Terminate the session; otherwise, S j Generate a random number r s ,calculate and SC2 = h(r' u ‖r s ‖Token i+1 ); Finally, S j Update Token i Token i+1 , and transmit {SC1,SC2} to U i ;

[0051] Step 3. i After receiving {SC1, SC2}, calculate the current channel fingerprint CF' u ; U i Verify | CF' u -CF u |<ΔCF is true; if not, U i Terminate the session; otherwise, U i calculate and SC'2=h(r u ‖r' s ‖Token i+1 ); then, U i Checks whether SC'2 and SC2 are equal; if not, U i Terminate the session; otherwise, U i Update Token i Token i+1 , in T c Then start the next continuous authentication.

[0052] Further, in the password retrieval stage: the user retrieves the password through the following steps:

[0053] Step 1. iEnter UID' i and B' i , calculate σ' i =Rep(B' i ,τ), RID i =h(UID' i ‖σ' i ); then, U i RID i Send to RC;

[0054] Step 2.RC receives RID i Then, call getUserByRID(RID i )Get List p ; Then, RC will List p Transmit to U i ;

[0055] Step 3. i Receive List p Then answer List p In the problem, get List' a ; Then, calculate If h(V' R ) and h(V R ), U i Recover your password Then, give U i Provide a new password recovery question U i Set new answer calculate and make Finally, Transmit to RC;

[0056] Step 4.RC received Then, call updateUserByRID(RID i ), Update List p for

[0057] Furthermore, in the cross-domain authentication stage, the user authenticates with sensors in other domains through the following steps:

[0058] Step 1. i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τ i ), and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next step; i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i =h(r'2‖UID' i ), and UM2 = h(n1||TID i ||UK'1‖T1‖A per );After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per}Transfer to

[0059] Step 2. Received {TID i ,UM1,UM2,T1,A per}, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F k Call getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k calculate and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; generate calculate and Then, Will Transmit to

[0060] Step 3. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'2 and FC2 are equal; if they are equal, F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ;Then, Generate random number n2 and new challenge calculate and at last, Will Transfer to SID' j The corresponding S j ;

[0061] Step 4.S j Received Then, calculate R' j =PUF(C j ), and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j ‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ;

[0062] Step 5. After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, Compare SM'2 to SM2 to see if they are equal; if they are not equal, Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, Call renew generate calculate and Then, Will Transmit to

[0063] Step 6. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'4 and FC4 are equal; if they are equal, calculate and After the calculation is completed, Call renew And transmit {FM3,SM2} to U i ;

[0064] Step 7.U i After receiving {FM3,SM2}, calculate SK i =h(n1||n”3||R” i ||SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, Ui Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate and renew

[0065] Another object of the present invention is to provide a zero-trust medical Internet of Things authentication system based on blockchain, comprising:

[0066] The initialization module is used by the registry to generate the necessary system parameters, build the blockchain and deploy smart contracts;

[0067] The registration module is used by the registration center to register the identities of fog nodes, remote users and sensors;

[0068] Static authentication module, used to complete mutual authentication between users, fog nodes and sensors, and negotiate a session key;

[0069] The continuous authentication preparation module is used for users and sensors to generate tokens and channel fingerprints respectively for the formal continuous authentication phase;

[0070] A continuous authentication module is used to repeatedly authenticate the user and the sensor using the channel fingerprint and token at a certain time interval;

[0071] Password recovery module, which allows users to recover their passwords by answering password recovery questions;

[0072] The cross-domain authentication module is used to authenticate users with sensors in other domains.

[0073] Another object of the present invention is to provide a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the blockchain-based zero-trust medical Internet of Things authentication method.

[0074] Another object of the present invention is to provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to perform the steps of the blockchain-based zero-trust medical Internet of Things authentication method.

[0075] Another object of the present invention is to provide an information data processing terminal, which is used to implement the blockchain-based zero-trust medical Internet of Things authentication system.

[0076] In combination with the above technical solutions and the technical problems solved, please analyze the advantages and positive effects of the technical solutions to be protected by the present invention from the following aspects:

[0077] First, the technology of the present invention adopts a zero-trust security architecture, introduces continuous authentication on the basis of traditional single authentication, and divides the operation permissions applied by users into different levels. The corresponding continuous authentication time interval is set according to the level, which can effectively solve the problem of excessive trust in the prior art. The technology of the present invention builds a private blockchain for data storage between the cloud, the registration center and the fog node, and deploys relevant smart contracts. When a fog node fails, other fog nodes can also obtain relevant data through smart contracts to provide authentication services, which can effectively solve the single point failure problem existing in the prior art. The technology of the present invention introduces fog computing to provide services on the basis of the cloud, meeting the requirements of the medical Internet of Things for storage, computing and low latency. The technology of the present invention does not use asymmetric encryption, a complex encryption method, in the authentication process, and can resist most known attacks by updating the key and designing the authentication process. Compared with the prior art, it is lighter and safer. The technology of the present invention realizes cross-domain authentication through authentication between different fog nodes, realizes password recovery through password retrieval problems, and realizes node revocation by building a consortium blockchain for reputation management between all members. Compared with the prior art, it provides more services. The specific working principle of the technology of the present invention is as follows: the first stage is the system initialization stage, in which the registration center sets system parameters, builds blockchain and deploys smart contracts. The second stage is the registration stage, in which users, sensors and fog nodes register their identities with the registration center and save relevant information on the private blockchain. The third stage is the static authentication stage, in which users and sensors perform identity authentication with the help of fog nodes and negotiate session keys. The fourth stage is the continuous authentication preparation stage, in which users and sensors calculate channel fingerprints respectively, and generate identity tokens based on the session keys generated by static authentication. The fifth stage is the formal stage of continuous authentication, in which users and sensors use channel fingerprints and identity tokens to repeat identity authentication at certain time intervals. In addition to the above five stages, the technology of the present invention also has a password retrieval stage and a cross-domain authentication stage for the convenience of users.

[0078] Second, the expected benefits and commercial value after the technical solution of the present invention is transformed as follows: the medical Internet of Things realizes the interconnection and intercommunication of medical equipment and medical information through the network, and uniformly manages medical images, electronic medical records and medical data. This technology can effectively integrate medical resources, lower the threshold of medical services, and provide a variety of services including real-time monitoring, remote diagnosis and remote surgery. Therefore, the medical Internet of Things is regarded as a major development stage of Internet of Things technology in the medical field, which will completely revolutionize the medical service model and promote the future medical system to an unprecedented level of intelligence. It is predicted that the medical Internet of Things will create broad technical market opportunities in multiple medical application fields, covering technical applications such as remote medical monitoring, surgical robot-assisted surgery and health monitoring of smart wearable devices, aiming to solve complex problems in the field of human health. These applications will significantly improve the quality and efficiency of medical services, reduce medical costs, and bring patients a more personalized and precise medical experience. The present invention is mainly committed to protecting the secure communication of the medical Internet of Things, which is one of the core conditions for the successful implementation of the medical Internet of Things. Therefore, the technical solution of the present invention will generate huge expected benefits and commercial value after transformation. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] Figure 1 This is a flow chart of a zero-trust medical Internet of Things authentication method based on blockchain provided by an embodiment of the present invention.

[0080] Figure 2 This is a structural block diagram of a zero-trust medical Internet of Things authentication system based on blockchain provided by an embodiment of the present invention.

[0081] Figure 3 It is a system structure diagram of the medical Internet of Things provided by an embodiment of the present invention.

[0082] Figure 4 It is an authentication architecture diagram of the system provided by an embodiment of the present invention.

[0083] Figure 5 This is an authentication flow chart of a user, a fog node, and a sensor provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0084] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0085] like Figure 1 As shown, a zero-trust medical Internet of Things authentication method based on blockchain provided by an embodiment of the present invention includes the following steps:

[0086] S101, the initialization phase, the registration center generates the necessary parameters of the system, builds the blockchain and deploys smart contracts;

[0087] S102, the registration phase is where the registration center registers fog nodes, remote users, and sensors;

[0088] S103, static authentication phase completes mutual authentication between the user, fog node and sensor, and negotiates a session key;

[0089] S104, continuous authentication preparation phase: the user and the sensor generate a token and a channel fingerprint respectively, which are used in the formal continuous authentication phase;

[0090] S105, the continuous authentication phase is repeated at a certain time interval, and the user and the sensor authenticate each other using the channel fingerprint and the token;

[0091] S106, the password recovery phase is when the user recovers the password by answering password recovery questions;

[0092] S107, the cross-domain authentication phase is when the user authenticates with sensors in other domains.

[0093] The initialization phase provided by the embodiment of the present invention is as follows:

[0094] RC selects the master key MK; then, RC constructs the blockchain and deploys smart contracts for data storage, data acquisition, data update, and reputation management;

[0095] Registration stage:

[0096] Fog node registration: The fog node registers with the registration center. The registration steps are as follows:

[0097] Step 1.F k Select the FID k , then FID k Transmit to the registration center RC;

[0098] Step 2. After receiving the message, RC generates a random number r1 and calculates FK k =h(r1‖MK) and FIC k =h(FID k ‖FK k ); Then, RC calls the smart contract storeFogNode(FK k ,FIC k )Store {FID in the data link k ,FIC k}; Finally, RC will FK k Send to F k ;

[0099] Step 3. Receive FK k After that, F k Storage {FID k ,FK k};

[0100] User registration: Users register with the registration center. The registration steps are as follows:

[0101] Step 1. i Select the identity UID i 、Password PW i , input biometric information B i ; Then, MD i Generate a random number r2 and a list of questions for password retrieval p ={p1,p2,…,p n},U i Setting List p Corresponding answer list a ={a1,a2,…,a n}; After completion, MD i calculate (σ i ,τ i )=Gen(B i ), PID i =h(r2‖UID i ), PW * =h(r2‖PW i ‖UID i ) and RID i =h(UID i ‖σ i ); Finally, MD i {PID i ,PW * ,RID i ,List p}Transmit to RC;

[0102] Step 2.RC receives U i After the registration information is obtained, a random number r3 is generated and UK is calculated. i =h(r3‖MK), and Then, RC calls storeUser(TID i ,HID i ,List p ,RID i )Stored in the blockchain and transmit {UR} to U i ;

[0103] Step 3. i After receiving UR, calculate L3=h(PW i ‖σ i ‖r2‖UID i )and Then, MD i Storage {L1, L2, L3, L4, h(V R ),τ i};

[0104] Sensor registration: The sensor also needs to be registered with the registration center. The registration steps are as follows:

[0105] Step 1.S j Select the SID j , and then the SID j Transmit to RC;

[0106] Step 2. RC receives SID j Then, choose Challenge C j ; Then, RC will C j Send to S j ;

[0107] Step 3.S j Receive C j , calculate R j =PUF(C j ); then, S j R j Send to RC;

[0108] Step 4. RC receives R j Then call storeSensor(SID j ,C j ,R j ), store {SID j ,C j ,R j};

[0109] Static authentication stage:

[0110] The user first needs to log in using a mobile device. After successful login, the user and the sensor perform mutual authentication;

[0111] Login: U i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τi ), and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next steps;

[0112] Mutual authentication: After the user logs in successfully, mutual authentication is performed with the sensor. The authentication steps are as follows:

[0113] Step 1. i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i =h(r'2‖UID' i ), and UM2 = h(n1||TID i ||UK'1‖T1‖A per );After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per}Transmit to F k ;

[0114] Step 2.F k Received {TID i ,UM1,UM2,T1,A per}, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F k Call getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k calculate and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F kTerminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ; Then, F k Generate random number n2 and new challenge calculate and Finally, F k Will Transfer to SID' j The corresponding S j ;

[0115] Step 3.S j Received Then, calculate R' j =PUF(C j ), and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j ‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ;

[0116] Step 4.F k After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, F kCompare SM'2 to see if it is equal to SM2; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, F k Call renew and F k calculate and After the calculation is completed, F k Call renew And transmit {FM3,SM2} to U i ;

[0117] Step 5. i After receiving {FM3,SM2}, calculate SK i =h(n1‖n”3||R” i ||SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, U i Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate and renew

[0118] After the above steps are executed, the user can communicate with the sensor, but continuous authentication is required during the communication process.

[0119] The continuous authentication preparation phase provided by the embodiment of the present invention is to generate a token and a channel fingerprint for formal continuous authentication. The specific steps are as follows:

[0120] Step 1. i Generate a random number N1, calculate Token = h(N1‖SK), and UP2 = h(Token|SID j ); then, U i Transmit {UP1, UP2} to S j ;

[0121] Step 2.S jAfter receiving {UP1, UP2}, calculate the channel fingerprint CF s , and Token' = h(N'1|SK) and UP'2 = h(Token'|SID j ); then, S j Check whether UP'2 and UP2 are equal; if they are not equal, terminate the session; otherwise, S j Generate a random number N2, calculate Token1 = h(Token' ‖ N'1 ‖ N2), and SP2 = h(N'1‖N2‖Token1), update Token to Token1; finally, S j Send {SP1,SP2} to U i ;

[0122] Step 3. i After receiving {SP1, SP2}, calculate the channel fingerprint CF u , Token1 = h(Token||N1||N'2) and SP'2 = h(N1||N'2||Token1); then, U i Checks whether SP'2 and SP2 are equal; if not, U i Terminate the session; otherwise, U i Update Token = Token1.

[0123] The continuous authentication phase provided by the embodiment of the present invention: the user and the sensor perform continuous authentication at a certain time interval, and the steps of the i-th continuous authentication are as follows:

[0124] Step 1. i Generate a random number r u ,calculate and UC2=h(r u ‖Token i ); then send {UC1,UC2} to S j ;

[0125] Step 2.S j After receiving {UC1, UC2}, calculate the current channel fingerprint CF' s ; S j Verify | CF' s -CF s |<ΔCF is true; if not, S j Terminate the session; otherwise, S j calculate and UC'2=h(r' u ‖Token i ); then, Sj Checks whether UC'2 and UC2 are equal; if not, S j Terminate the session; otherwise, S j Generate a random number r s ,calculate and SC2 = h(r' u ‖r s ‖Token i+1 ); Finally, S j Update Token i Token i+1 , and transmit {SC1,SC2} to U i ;

[0126] Step 3. i After receiving {SC1, SC2}, calculate the current channel fingerprint CF' u ; U i Verify | CF' u -CF u |<ΔCF is true; if not, U i Terminate the session; otherwise, U i calculate and SC'2=h(r u ‖r' s ‖Token i+1 ); then, U i Checks whether SC'2 and SC2 are equal; if not, U i Terminate the session; otherwise, U i Update Token i Token i+1 , in T c Then start the next continuous authentication.

[0127] The password retrieval stage provided by the embodiment of the present invention: the user retrieves the password through the following steps:

[0128] Step 1. i Enter UID' i and B' i , calculate σ' i =Rep(B' i ,τ), RID i =h(UID' i ‖σ' i ); then, U i RID i Send to RC;

[0129] Step 2.RC receives RID i Then, call getUserByRID(RIDi )Get List p ; Then, RC will List p Transmit to U i ;

[0130] Step 3. i Receive List p Then answer List p In the problem, get List' a ; Then, calculate If h(V' R ) and h(V R ), U i Recover your password Then, give U i Provide a new password recovery question U i Set new answer calculate and make Finally, Transmit to RC;

[0131] Step 4.RC received Then, call updateUserByRID(RID i ), Update List p for

[0132] In the cross-domain authentication stage provided by the embodiment of the present invention, the user authenticates with sensors in other domains through the following steps:

[0133] Step 1. i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τ i ), and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next step; i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i=h(r'2‖UID' i ), and UM2 = h(n1||TID i ||UK'1‖T1‖A per );After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per}Transfer to

[0134] Step 2. Received {TID i ,UM1,UM2,T1,A per}, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F k Call getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k calculate and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; generate calculate and Then, Will Transmit to

[0135] Step 3. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'2 and FC2 are equal; if they are equal, F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ;Then, Generate random number n2 and new challenge calculate and at last, Will Transfer to SID' j The corresponding S j ;

[0136] Step 4.S j Received Then, calculate R' j =PUF(C j ), and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j ‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ;

[0137] Step 5. After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, Compare SM'2 to SM2 to see if they are equal; if they are not equal, Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, Call renew and generate calculate and Then, Will Transmit to

[0138] Step 6. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'4 and FC4 are equal; if they are equal, calculate and After the calculation is completed, Call renew And transmit {FM3,SM2} to U i ;

[0139] Step 7.U i After receiving {FM3,SM2}, calculate SK i =h(n1||n”3||R” i ||SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, U i Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate and renew

[0140] like Figure 2 As shown, a zero-trust medical Internet of Things authentication system based on blockchain provided by an embodiment of the present invention includes:

[0141] The initialization module is used by the registry to generate the necessary system parameters, build the blockchain and deploy smart contracts;

[0142] Registration module, used by the registration center to register fog nodes, remote users and sensors;

[0143] Static authentication module, used to complete mutual authentication between users, fog nodes and sensors, and negotiate a session key;

[0144] The continuous authentication preparation module is used for users and sensors to generate tokens and channel fingerprints respectively for the formal continuous authentication phase;

[0145] A continuous authentication module is used to repeatedly authenticate the user and the sensor using the channel fingerprint and token at a certain time interval;

[0146] Password recovery module, used for users to recover passwords by answering password recovery questions;

[0147] The cross-domain authentication module is used to authenticate users with sensors in other domains.

[0148] Another object of the present invention is to provide a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the blockchain-based zero-trust medical Internet of Things authentication method.

[0149] Another object of the present invention is to provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to perform the steps of the blockchain-based zero-trust medical Internet of Things authentication method.

[0150] Another object of the present invention is to provide an information data processing terminal, which is used to implement the blockchain-based zero-trust medical Internet of Things authentication system.

[0151] 1. The system structure of this patent and the relationship between them:

[0152] The system of this patent includes 6 entity modules:

[0153] Cloud: The cloud has sufficient computing and storage resources, is responsible for long-term storage and in-depth analysis of data in the system, and is considered to be completely trustworthy.

[0154] Registration Center: The registration center is a fully trusted organization responsible for the initialization of the system, such as setting the necessary parameters of the system, building the blockchain, and deploying smart contracts. In addition, the registration center needs to provide registration services for users, sensors, and fog nodes, and store relevant data in the blockchain.

[0155] Fog nodes: There are multiple fog nodes in the system. They are mainly responsible for completing static identity authentication between users and sensors, and monitoring user behavior and network traffic during user operations. In addition to providing authentication services for the network, fog nodes also provide cross-domain authentication services.

[0156] Users: Users are usually professional medical personnel such as doctors. In the MIoT system, doctors can view the patient's physiological data, environmental information around the patient, and various examination reports of the patient anytime and anywhere through a variety of network devices, so as to diagnose the patient and design a treatment plan. However, before performing these operations, doctors need to apply for permission and complete static authentication to obtain permission before they can perform the operation, and continuous authentication is required during the operation.

[0157] Sensors: There are many types of sensors in the MIoT system, including implantable sensors, wearable sensors, and environmental sensors. These sensors collect data related to user health, provide data to users after static authentication, and continuously authenticate users during their operation.

[0158] Blockchain: There are two types of blockchains built in the system. One is a private blockchain built between the cloud, the registration center, and the fog nodes, which is used to store data. The other is a consortium blockchain built between all members, which is used to manage the reputation information of all members.

[0159] Figure 3 Architecture diagram of the medical internet of things.

[0160] Working principle of this patent:

[0161] This patent mainly realizes the secure communication between remote users and sensors. Its working principle is as follows: the first stage is the initialization stage of the system. The registration center needs to generate the necessary parameters of the system, build the blockchain and deploy smart contracts. The second stage is the registration stage. The fog nodes, remote users and sensors connected to the system register with the registration center. The third stage is the static authentication stage. The remote user, fog node and sensor need to authenticate each other. After the authentication is successful, a session key is negotiated for communication between them. After the remote user successfully registers, the registration information will be stored on his mobile device. If the user wants to perform a series of operations, he needs to enter the identity, password and fingerprint information on the mobile device to log in. After the login is successful, an authentication request is sent to the fog node, and then mutual authentication is completed. After the verification is successful, a session key owned only by the user, fog node and sensor will be generated. The fourth stage is the preparation stage for continuous authentication. The user and the sensor generate the same communication token through the session key and calculate the channel fingerprint of the communication. The fifth stage is the formal continuous authentication stage. This stage performs identity authentication based on the communication token and channel fingerprint. The token will be updated each time it is completed, and it will be repeatedly executed at a certain time interval during the entire operation process of the user. The sixth stage is the password recovery stage, where users recover their passwords by answering pre-set password recovery questions. The seventh stage is the cross-domain authentication stage, where users and sensors in different domains complete authentication with the help of fog nodes in their respective domains.

[0162] Its authentication architecture is as follows Figure 4 As shown in the flow chart, Figure 5 The detailed implementation process is as follows.

[0163] Figure 5 ① The user logs in using a mobile device and initiates a static authentication request to the fog node.

[0164] ② The fog node authenticates the user. After successful authentication, it initiates a static authentication request to the sensor.

[0165] ③The sensor authenticates the fog node. After successful authentication, it generates a session key and initiates a static authentication request to the fog node.

[0166] ④ The fog node authentication sensor generates a session key after successful authentication and initiates a static authentication request to the user.

[0167] ⑤ The user authenticates the fog node. After successful authentication, a session key is generated, a token is generated, and a continuous authentication preparation request is initiated to the sensor.

[0168] ⑥ The sensor calculates the channel fingerprint, verifies the freshness of the message, and authenticates the user. After successful authentication, the token is updated and a continuous authentication preparation request is initiated to the user.

[0169] ⑦ The user calculates the channel fingerprint, verifies the freshness of the message, and authenticates the sensor. After successful authentication, the token is updated and a continuous authentication request is initiated to the sensor.

[0170] ⑧The sensor verifies the message freshness and channel fingerprint and authenticates the user. After successful authentication, the token is updated and a continuous authentication request is initiated to the user.

[0171] ⑨ The user verifies the message freshness and channel fingerprint and authenticates the sensor. After successful authentication, the token is updated and the next continuous authentication is awaited.

[0172] 2. This patent achieves this purpose through the following technical solutions:

[0173] In order to achieve this purpose, the technical solution of the present invention includes an initialization phase, a registration phase, a static authentication phase, a continuous authentication preparation phase, a continuous authentication phase, a password retrieval phase and a cross-domain authentication phase. In the initialization phase, the registration center generates the necessary parameters of the system, builds a blockchain and deploys smart contracts. In the registration phase, the registration center registers fog nodes, remote users and sensors; in the static authentication phase, mutual authentication between users, fog nodes and sensors is completed, and a session key is negotiated. In the continuous authentication preparation phase, users and sensors generate tokens and channel fingerprints respectively for the formal continuous authentication phase. The continuous authentication phase is repeated at a certain time interval, and users and sensors use channel fingerprints and tokens to authenticate each other. In the password retrieval phase, the user recovers the password by answering password retrieval questions. In the cross-domain authentication phase, the user authenticates with sensors in other domains.

[0174] The technical solution of the present invention can be applied to the medical Internet of Things system to effectively ensure communication security. The most typical application scenario is remote diagnosis. Through this system, doctors can view the patient's physical data and examination reports, and combine remote video consultation to give diagnosis results and formulate treatment plans. Remote diagnosis can not only greatly facilitate out-of-town patients, but also significantly shorten the diagnosis time and reduce the cost of diagnosis. However, if the security of the medical Internet of Things system is not effectively guaranteed, resulting in the tampering of the data in the system, the doctor may make a wrong diagnosis, thereby posing a serious threat to the patient's life safety.

[0175] In terms of security, the present invention can resist various known attacks, mainly including:

[0176] It can resist man-in-the-middle attacks, impersonation attacks, replay attacks, privileged internal attacks, short-term secret leakage attacks, physical capture attacks, smart card theft attacks, offline password guessing attacks, desynchronization attacks, single point failures, session hijacking attacks, etc. It also achieves features such as user anonymity, untraceability, forward security, and zero trust.

[0177] In terms of communication cost, the communication cost required by the present invention is relatively small. We assume that the auxiliary fields and keys generated by the identity identification, PUF challenge, PUF response and fuzzy extractor generation function are 128 bits, the user password, system key, random number, hash output and chaotic map output are 256 bits, the point on the elliptic curve is 512 bits, the timestamp is 64 bits, and the privilege identification requested by the user is 8 bits. The present invention needs to transmit 4 messages, which requires a total of 2120 bits. In other similar communication systems, the system invented by Soleymani et al. requires a cost of 5952 bits, the system of Miao et al. requires a cost of 2752 bits, and the system of Kousalya et al. requires a cost of 2752 bits.

[0178] In terms of computational cost, the present invention has a great advantage. In order to compare the computational costs of different systems, let T h 、T puf 、T ecc 、T fr 、T D 、T cf and T cm They represent the time required for hashing, PUF response generation, elliptic curve scalar multiplication, fuzzy extractor reproduction algorithm, symmetric decryption, channel fingerprint calculation and chaotic mapping respectively. The experimental measurement value used is: T h ≈0.00052ms, T puf ≈0.00052ms, T ecc ≈0.246ms, T fr ≈0.249ms, T D ≈0.0026ms, T cf ≈0.00052ms, T cm ≈0.195ms. The computational cost required by the present invention is 0.26148ms. The computational cost required by the lightweight system of Soleymani et al. is 2.26496ms, the cost required by the lightweight system of Miao et al. is 1.822ms, and the cost required by the lightweight system of Kousalya et al. is 0.754ms.

[0179] It should be noted that the embodiments of the present invention can be implemented by hardware, software, or a combination of software and hardware. The hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. It can be understood by a person of ordinary skill in the art that the above-mentioned devices and methods can be implemented using computer executable instructions and / or contained in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium. The device and its modules of the present invention can be implemented by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., can also be implemented by software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software, such as firmware.

[0180] The above description is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any modifications, equivalent substitutions and improvements made by any technician familiar with the technical field within the technical scope disclosed by the present invention and within the spirit and principle of the present invention should be covered by the protection scope of the present invention.

Claims

1. A zero-trust medical Internet of Things authentication method based on blockchain, characterized in that: The following steps are involved: Step 1: During the initialization phase, the registration center generates the necessary parameters of the system, builds the blockchain, and deploys smart contracts; Step 2, the registration phase, the registration center registers fog nodes, remote users and sensors; Step 3: The static authentication phase completes mutual authentication between the user, fog node, and sensor, and negotiates a session key. Step 4: Continuous authentication preparation phase: The user and sensor generate tokens and channel fingerprints respectively for the formal continuous authentication phase; Step 5, the continuous authentication phase is repeated at regular intervals, where the user and the sensor authenticate each other using the channel fingerprint and token; Step 6, the password recovery phase is when the user recovers the password by answering password recovery questions; Step 7, the cross-domain authentication phase is where the user authenticates with sensors in other domains.

2. The zero-trust medical Internet of Things authentication method based on blockchain as claimed in claim 1, characterized in that: The initialization phase: RC selects the master key MK; then, RC constructs the blockchain and deploys smart contracts for data storage, data acquisition, data update, and reputation management; Registration stage: Fog node registration: The fog node registers with the registration center. The registration steps are as follows: Step 1.F k Select the FID k , then FID k Transmit to the registration center RC; Step 2. After receiving the message, RC generates a random number r1 and calculates FK k =h(r1‖MK) and FIC k =h(FID k ‖FK k ); Then, RC calls the smart contract storeFogNode(FK k ,FIC k )Store {FID in the data link k ,FIC k }; Finally, RC will FK k Send to F k ; Step 3. Receive FK k After that, F k Storage {FID k ,FK k }; User registration: Users register with the registration center. The registration steps are as follows: Step 1. i Select the identity UID i 、Password PW i , input biometric information B i ; Then, MD i Generate a random number r2 and a list of questions for password retrieval p ={p1,p2,…,p n },U i Setting List p Corresponding answer list a ={a1,a2,…,a n }; After completion, MD i Calculate V R =h(a1)⊕h(a2)⊕…⊕h(a n ), (σ i ,τ i )=Gen(B i ), PID i =h(r2‖UID i ), PW * =h(r2‖PW i ‖UID i ) and RID i =h(UID i ‖σ i ); Finally, MD i {PID i ,PW * ,RID i ,List p }Transmit to RC; Step 2. RC receives U i After the registration information is obtained, a random number r3 is generated and UK is calculated. i =h(r3‖MK), HID i =PID i ⊕r3, TID i =HID i ⊕UK i and UR = PW * ⊕(UK i ‖r3); Then, RC calls storeUser(TID i ,HID i ,List p ,RID i )Stored in the blockchain and transmit {UR} to U i ; Step 3. i After receiving UR, calculate L1=(r2‖r3)⊕h(PW i ‖σ i ), L2=UK i ⊕h(PW i ‖σ i ‖r2), L3=h(PW i ‖σ i ‖r2‖UID i ) and L4=PW i ⊕σ i ⊕V R ; Then, MD i Storage {L1, L2, L3, L4, h(V R ),τ i }; Sensor registration: The sensor also needs to be registered with the registration center. The registration steps are as follows: Step 1.S j Select the SID j , and then the SID j Transmit to RC; Step 2. RC receives SID j Then, choose Challenge C j ; Then, RC will C j Send to S j ; Step 3.S j Receive C j , calculate R j =PUF(C j ); then, S j R j Send to RC; Step 4. RC receives R j Then call storeSensor(SID j ,C j ,R j ), store {SID j ,C j ,R j }; Static authentication stage: The user first needs to log in using a mobile device. After successful login, the user and the sensor perform mutual authentication; Login: U i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τ i ), (r'2‖r'3)=L1⊕h(PW' i ‖σ' i ) and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next steps; Mutual authentication: After the user logs in successfully, mutual authentication is performed with the sensor. The authentication steps are as follows: Step 1. i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i =””””””' h(r2‖UID i ),UK i =L2⊕h(PW i ‖σ i ‖r2),HID i =PID i ⊕r3,TID i =HID i ⊕UK i ,UM1=(n1‖SID j )⊕h(TID i ‖UK' i ) and UM2=h(n1||TID i ||UK'1‖T1‖A per ); After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per }Transmit to F k ; Step 2.F k Received {TID i ,UM1,UM2,T1,A per }, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F k Call getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k CalculateUK i =TID i ⊕HID” i ,(n'1‖SID' j )=UM1⊕h(TID i ||UK” i ) and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ; Then, F k Generate random number n2 and new challenge Calculate FM1 = (n'1‖n2)⊕h(SID j '‖R j ) and FM2=h(C j ‖C j new ‖n2‖R j ); Finally, F k Will Transfer to SID' j The corresponding S j ; Step 3.S j Received Then, calculate R' j =PUF(C j ), (n”1‖n'2)=FM1⊕h(SID j ‖R' j )and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j ‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ; Step 4.F k After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, F k Compare SM'2 to see if it is equal to SM2; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, F k Call renew and F k Calculate FM3 = (R j ‖n'3)⊕h(n'1‖UK” i ), and After the calculation is completed, F k Call renew And transmit {FM3,SM2} to U i ; Step 5. i After receiving {FM3, SM2}, calculate (R” i ‖n”3)=FM3⊕h(n1‖UK' i ), SK i =h(n1‖n”3‖R” i ‖SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, U i Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate and renew After the above steps are executed, the user can communicate with the sensor, but continuous authentication is required during the communication process.

3. The zero-trust medical Internet of Things authentication method based on blockchain as claimed in claim 1, characterized in that: The continuous authentication preparation phase: generating a token and channel fingerprint for formal continuous authentication, the specific steps are as follows: Step 1. i Generate a random number N1, calculate Token = h(N1‖SK), UP1 = N1⊕SK and UP2 = h(Token‖SID j ); then, U i Transmit {UP1, UP2} to S j ; Step 2.S j After receiving {UP1, UP2}, calculate the channel fingerprint CF s , N'1=UP1⊕SK and Token'=h(N'1‖SK) and UP'2=h(Token'‖SID j ); then, S j Check whether UP'2 and UP2 are equal; if they are not equal, terminate the session; otherwise, S j Generate a random number N2, calculate Token1 = h(Token' ‖ N'1 ‖ N2), SP1 = N2 ⊕ Token' and SP2 = h(N'1 ‖ N2 ‖ Token1), and update Token to Token1; finally, S j Send {SP1,SP2} to U i ; Step 3. i After receiving {SP1, SP2}, calculate the channel fingerprint CF u , N'2 = SP1⊕Token, Token1 = h(Token‖N1‖N'2) and SP'2 = h(N1‖N'2‖Token1); then, U i Checks whether SP'2 and SP2 are equal; if not, U i Terminate the session; otherwise, U i Update Token = Token1.

4. The zero-trust medical Internet of Things authentication method based on blockchain as claimed in claim 1, characterized in that: The continuous authentication phase: the user and the sensor perform continuous authentication at a certain time interval. The steps of the i-th continuous authentication are as follows: Step 1. i Generate a random number r u , calculate UC1 = r u ⊕Token i and UC2=h(r u ‖Token i ); then send {UC1,UC2} to S j ; Step 2.S j After receiving {UC1, UC2}, calculate the current channel fingerprint CF' s ; S j Verify |CF' s -CF s |<ΔCF is true; if not, S j Terminate the session; otherwise, S j Calculate r' u =UC1⊕Token i and UC'2=h(r' u ‖Token i ); then, S j Checks whether UC'2 and UC2 are equal; if not, S j Terminate the session; otherwise, S j Generate a random number r s , calculate Token i+1 =Token i ⊕r' u ⊕r s , SC1=r s ⊕Token i and SC2 = h(r' u ‖r s ‖Token i+1 ); Finally, S j Update Token i Token i+1 , and transmit {SC1, SC2} to U i ; Step 3. i After receiving {SC1, SC2}, calculate the current channel fingerprint CF' u ; U i Verify |CF' u -CF u |<ΔCF is true; if not, U i Terminate the session; otherwise, U i Calculate r' s =SC1⊕Token i Token i+1 =Token i ⊕r u ⊕r' s and SC'2=h(r u ‖r' s ‖Token i+1 ); then, U i Checks whether SC'2 and SC2 are equal; if not, U i Terminate the session; otherwise , U i Update Token i Token i+1 , in T c Then start the next continuous authentication.

5. The zero-trust medical Internet of Things authentication method based on blockchain as claimed in claim 1, characterized in that: Password retrieval stage: The user retrieves the password through the following steps: Step 1. i Enter UID' i and B' i , calculate σ' i =Rep(B' i ,τ), RID i =h(UID' i ‖σ' i ); then, U i RID i Send to RC; Step 2.RC receives RID i Then, call getUserByRID(RID i )Get List p ; Then, RC will List p Transmit to U i ; Step 3. i Receive List p Then answer List p In the problem, get List' a ; Then, calculate V' R =h(a'1)⊕h(a'2)⊕…⊕h(a' n ); if h(V' R ) and h(V R ), U i Retrieve password PW' i =L4⊕V' R ⊕σ' i ; Then, give U i Provide a new password recovery question U i Set new answer calculate and make Finally, Transmit to RC; Step 4.RC received Then, call updateUserByRID(RID i ), Update List p for 6. The zero-trust medical Internet of Things authentication method based on blockchain as claimed in claim 1, characterized in that: In the cross-domain authentication phase, the user authenticates with sensors in other domains through the following steps: Step 1. i Enter UID' i , PW' i and B' i , calculate σ' i =Rep(B' i ,τ i ), (r'2‖r'3)=L1⊕h(PW' i ‖σ' i ) and L'3=h(PW' i ‖σ'‖r'2‖UID' i ); then, U i Determine whether the equation L'3=L3 holds; if the equation does not hold, U i Login failed; otherwise, U i If the login is successful, continue to the next step; i Generate a random number n1 and timestamp T1, and select the requested permission A per ; Then, U i Calculate PID' i =h(r'2‖UID' i ), UK' i =L2⊕h(PW' i ‖σ' i ‖r'2), HID' i =PID' i ⊕r'3, TID i =HID' i ⊕UK' i UM1=(n1‖SID j )⊕h(TID i ‖UK' i ) and UM2 = h(n1 ‖TID i ‖UK'1‖T1‖A per ); After the calculation is completed, U i {TID i ,UM1,UM2,T1,A per }Transfer to Step 2.F 1 k Received {TID i ,UM1,UM2,T1,A per }, generate timestamp T2, and check whether |T2-T1|<ΔT is true; if not, F k Terminate the authentication; otherwise, F k Call getUserByTID(TID i ); if TID i Does not exist, F k Terminate the authentication; otherwise, F k Get with TID i Corresponding HID" i ; Then, F k CalculateUK i =TID i ⊕HID” i ,(n'1‖SID' j )=UM1⊕h(TID i ||UK” i ) and UM'2 = h(n'1|TID i ‖UK' i ‖T1‖A per ), compare UM'2 to UM2 to see if they are equal; if they are not equal, F k Terminate authentication and start trust voting; after voting, call calculateReputation(TID i ) Count the results and perform the corresponding operation; if they are equal, F k According to A per Set the corresponding continuous authentication time interval; generate calculate and Then, Will Transmit to Step 3. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'2 and FC2 are equal; if they are equal, F k Call getSensor(SID' j ); if SID' j Does not exist, F k Terminate the authentication, otherwise F k Get the corresponding C j and R j ;Then, Generate random number n2 and new challenge Calculate FM1 = (n'1‖n2)⊕h(SID j '‖R j )and at last, Will Transfer to SID' j The corresponding S j ; Step 4.S j Received Then, calculate R' j =PUF(C j ), (n”1‖n'2)=FM1⊕h(SID j ‖R' j )and Compare FM'2 to see if it is equal to FM2; if not, S j Terminate the authentication and start the confidence vote; after the vote, S j Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, S j Generate a random number n3 and calculate SK j =h(n"1‖n3‖R' j ‖SID j ) and SM2=h(SK j ‖n”1‖n3); finally, S j Transfer {SM1, SM2} to F k ; Step 5. After receiving {SM1, SM2}, calculate SK k =h(n'1‖n'3‖R j ‖SID' j ) and SM'2=h(SK k ‖n'1‖n'3); then, Compare SM'2 to SM2 to see if they are equal; if they are not equal, Terminate authentication and start trust voting; after voting, call calculateReputation(SID' j ) Count the results and perform the corresponding operation; if they are equal, Call renew and generate calculate and Then, Will Transmit to Step 6. generate judge Is it established? If established, Call get Then, calculate and Verify that FC'4 and FC4 are equal; if they are equal, Calculate FM3 = (R j ‖n'3)⊕h(n'1‖UK” i ), and After the calculation is completed, Call renew And transmit {FM3,SM2} to U i ; Step 7.U i After receiving {FM3, SM2}, calculate (R” i ‖n”3)=FM3⊕h(n1‖UK' i ), SK i =h(n1‖n”3‖R” i ‖SID j ) and SM"2 = h(SK i ‖n1‖n”3); then, U i Compare SM"2 to see if it is equal to SM2; if not, U i Terminate the authentication and start the confidence vote; after the vote, U i Call calculateReputation(FID k ) Count the results and perform the corresponding operation; if they are equal, U i calculate and renew 7. A blockchain-based zero-trust medical Internet of Things authentication system that implements the blockchain-based zero-trust medical Internet of Things authentication method as described in any one of claims 1 to 6, characterized in that: The blockchain-based zero-trust medical IoT authentication system includes: The initialization module is used by the registry to generate the necessary system parameters, build the blockchain and deploy smart contracts; Registration module, used by the registration center to register fog nodes, remote users and sensors; Static authentication module, used to complete mutual authentication between users, fog nodes and sensors, and negotiate a session key; The continuous authentication preparation module is used for users and sensors to generate tokens and channel fingerprints respectively for the formal continuous authentication phase; A continuous authentication module is used to repeatedly authenticate the user and the sensor using the channel fingerprint and token at a certain time interval; Password recovery module, used for users to recover passwords by answering password recovery questions; The cross-domain authentication module is used to authenticate users with sensors in other domains.

8. A computer device, characterized in that: The computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the blockchain-based zero-trust medical Internet of Things authentication method as described in any one of claims 1-6.

9. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor executes the steps of the blockchain-based zero-trust medical Internet of Things authentication method as described in any one of claims 1 to 6.

10. An information data processing terminal, characterized in that: The information data processing terminal is used to implement the zero-trust medical Internet of Things authentication system based on blockchain as described in claim 7.

Citation Information

Patent Citations

  • Wireless sensor network authentication method and system based on block chain

    CN117857061A

  • Combination attack resistant block chain medical internet of things authentication system and method

    CN118869314A

  • Lightweight encryption authentication method for wireless sensor network and related equipment

    CN119136191A

  • Electronic device for controlling crystal oscillator and method for the same

    KR1020240174009A