3.1. Overall Architecture
The overall architecture of this solution is shown in
Figure 1. In this system, a Fabric consortium blockchain is adopted to implement the blockchain-based data-sharing platform. The uploading, querying, and updating of authentication information are achieved through the deployment of smart contracts. The medical service centers, medical sensors, etc., serve as participants to form a collaborative consortium of the blockchain network, leveraging the distributed ledger technology of blockchain to break the medical information silos. Entities interact with each other via secure communication protocols to jointly complete the identity authentication and management of telemedicine users, ensuring the security and integrity of information transmission. The proposed system model mainly includes the following types of entities:
Medical service center: Medical service centers offer remote medical services through various facilities, focusing on improving healthcare, reducing costs, and meeting users’ needs. It manages user registration and authentication and uses smart cards for three-factor authentication. During user interactions, in registration, it processes patient data under smart contract supervision. In authentication, it checks requests and smart contracts determine further steps. For visitors, smart contracts review and authorize. With medical blockchain, the service center sends encrypted data on registration and obtains a key. In daily operations, it uploads user data, and smart contracts support trust and permission management and provide data as needed.
User entity: Includes all objects that receive telemedicine services and have access to the medical data system. Four major groups are included in this program: doctors, managers, patients, and other telemedicine visitors.
Doctor: As medical service providers, they interact with the medical service center in real time when accessing patient data and performing operations. The center obtains requests, smart contracts verify rights, and if passed, the center fetches data. Doctors’ behavior data are uploaded, and smart contracts analyze it, adjusting trust levels and access rights if there is abnormal behavior.
Manager: Managers manage the system, including user and data management, and interact with the medical service center in real time. When allocating user permissions, their instructions go to the center. Smart contracts verify identities and authorities, and the center updates permission settings in real time and reports back results.
Telemedicine patient: Patients interact with the medical service center in real time during registration, record viewing, and communication with doctors. At registration, their info goes to the center, and smart contracts verify it for proper storage. When viewing records, the center obtains requests, smart contracts check access rights, and the center fetches and returns data. For doctor communication, the center relays info while smart contracts safeguard its security and privacy.
Telemedicine visitor: This includes third-party service orgs and patients’ family members. When applying for specific data, their authorization apps to the medical service center are received in real time. Smart contracts review apps per security and permission rules. After approval, during smart card and static password authentication, the info is sent to the center for verification. Smart contracts check its accuracy. If verified, visitors obtain access rights immediately.
Medical blockchain [22]: This consists of the medical information database used by the medical service center and the trusted server. The database is for user entities to upload and download data. The trusted server offers access control for dynamic three-factor authentication and dynamic trust evaluation when users download remote medical data. The medical service center uploads user registration, authentication, and behavioral data to the medical blockchain in real time. Blockchain smart contracts verify and store these data per preset rules for authenticity and integrity. When the medical service center needs to verify user permissions or obtain trust evaluation results, smart contracts quickly retrieve relevant data and give real-time feedback. When users download remote medical data, the trusted server conducts real-time dynamic three-factor authentication and trust evaluation. The smart contract determines the user’s trust level based on historical behavior and current operations. If the user meets the access requirements, the corresponding access rights are automatically granted. If the trust level is low or there are risks, the user is required to perform additional authentication steps or have their access rights restricted.
This paper proposes an identity management scheme based on multi-factor authentication and dynamic trust evaluation for telemedicine, whose workflow mainly includes two phases of registration and authentication. The flowchart of the patient authentication phase is shown in
Figure 2. The specific description of re-authentication is located in
Section 3.2.2.
The entire process, from the initial settings in the registration phase to the multiple verifications in the daily authentication, to the risk assessment and response based on user behaviors, and the secure handling of medical sensor data, ensures the security, privacy protection, and efficient operation of telemedicine.
3.2. Core Modules
The meaning of the symbols is shown in
Table 1.
3.2.1. Three-Factor Authentication
Our scheme adopts a three-factor authentication method combining iris recognition, smart cards, and static passwords and incorporates the state secret algorithm to enhance security, in which SM2 is used for asymmetric encryption and SM3 is used for hashing, and adopts a dynamic and flexible authentication factor scheme to adapt to different situations to balance the authentication convenience and security.
Registration stage: The registration stage consists of three components, including medical service center registration, the registration of user entities, and medical sensor registration.
Medical service center registration: The medical service center generates the registration random number and calls for hashing to generate the current timestamp and uses the algorithm to generate the public key of the medical blockchain to send the relevant information encrypted as by to the medical blockchain. The medical blockchain receives the request and uses to decrypt , after which it generates the current timestamp and verifies whether is established; if it passes, it checks whether is registered, and if it is not registered, it selects and encrypts using the encryption algorithm and the key to obtain and sends to the medical service center. The medical service center calculates , decrypts , generates the current timestamp , verifies whether is established, and if established, saves it as the data encryption key.
Registration of user entities: User uses the user terminal in the secure environment of the medical service center to enter account number , login key , and iris characteristics . The user terminal generates the registration random number , uses the function to generate the data required for iris detection to compute , and then uses the hash algorithm to compute , , and to generate the current timestamp and provides to the medical service center. The medical service center receives the enrollment request, generates the current timestamp , verifies whether is valid, generates the enrollment random number , selects the smart card numbered Cid, and calls the SM3 hash algorithm to calculate , , , , , , and . The is stored in the database and the is encrypted by the algorithm stored in the smart card and issued to the user. After the user receives the information, is stored in the smart card, and the smart card saves .
Medical sensor registration: The medical sensor generates the registration random number , calls the hash algorithm to calculate and , obtains and generates the current timestamp , and sends to the gateway through a secure channel. The gateway sends the information to the medical service center. The medical service center receives the message, generates the current timestamp , verifies whether is valid, verifies the freshness of the message, and if the judgment is successful, generates the registered random number and uses the algorithm to calculate , , and ; generates the current timestamp ; stores in the database; and sends to the medical sensor. The medical sensor receives the message, generates the current timestamp , verifies whether is valid, and if the judgment is successful, then invokes the hash algorithm to calculate , and will be stored locally.
Authentication phase: In this phase, the user inserts the smart card into the terminal device, the terminal device acquires , and the user name and key entered by the user generates the current timestamp using the algorithm and sends to the medical service center. The medical service center receives the information, generates the current timestamp , verifies whether is valid, if the judgment is successful, calls the hash algorithm to calculate , searches for table entries in the database with as the index to obtain the corresponding , checks whether is outdated, and verifies whether the value of is “3” if the verification is passed; if it is “3”, reject the user request, and if the verification passes, then temporarily store and generate the current timestamp and send to the user. The user terminal receives the information and generates the current timestamp , verifies whether is valid, and if the judgment is successful, calls the hash algorithm to calculate ; the terminal generates a random number and calls the algorithms to generate the current timestamp . The user inputs the target device number , calls the hash algorithm to calculate and , and requests the user to provide the authentication factor according to , and when it is “1”, calculate and , ; when it is “2”, the terminal enters the user’s iris feature specimen and calls the hash algorithm to calculate , , , and . is sent to the medical service center for the temporary storage of . The medical service center receives the information and generates the current timestamp to verify whether is valid, and if successful, it calls the hash algorithm to calculate , , and and calculates or based on and verifies whether is equal to . If the verification is successful, it completes the verification of the user. The medical service center calculates based on the provided by the user and, using the hash algorithm, looks up and obtains in the medical service equipment table based on , calculates and , generates a random number , generates a current timestamp , and sends to the medical sensor for temporary storage of . The medical sensor receives the information and first generates the current timestamp , verifies that is valid, and, if the judgment is successful, invokes the hash algorithm to calculate , , and and verify whether and are equal; if they are equal, the verification passes, the medical sensor generates , calculates and by the hash algorithm, generates the current timestamp , and sends to the medical service center. The medical service center receives the message and generates the current timestamp , verifies whether is valid, and if the judgment is successful, it calls the hash algorithm to calculate and and verifies whether and are equal. If the verification is successful, it passes the verification of the medical sensor and generates the current timestamp by using the hash algorithm to calculate and and calculates , , , and , sends to the user, and sends to the medical sensor. The user receives the message, generates the current timestamp , and verifies that is valid. If the judgment is successful, it calculates using the hash algorithm, verifies that is equal to , and if equal, the verification passes and calculates . The medical sensor receives the message and also generates the current timestamp and verifies it using the hash algorithm. If the judgment is successful, it calculates , verifies that is equal to , and if equal, the verification passes and calculates .
3.2.2. Dynamic Trust Evaluation
On the basis of three-factor authentication to determine the user’s identity, in order to enhance the security of telemedicine user authentication, we introduced dynamic trust evaluation based on user behavior analysis, which relies on some of the data collected during three-factor authentication, and is able to analyze the user’s behavior in depth further, assess the user’s risk level in real time, and ensure that telemedicine can be operated securely and reliably.
After considering multiple factors, we chose six key indicators for telemedicine security: malicious attack rate, attempted override rate, login system anomaly rate, access service duration, user operation habit stability, and sensitive data utilization rate. The malicious attack rate weighs threats by harm degree to warn users. The attempted override rate spots internal risks from unauthorized actions. The login system anomaly rate blocks illegal logins. The user operation habit stability flags abnormal behavior. The sensitive data utilization rate safeguards data confidentiality. Access service duration ensures proper user operation. These six indicators build a comprehensive trust model, ensuring reliable user trust evaluation and overall telemedicine security. The description of these indicators is listed as follows:
Malicious attack rate [
23]: The malicious attack rate refers to the frequency of malicious attacks (such as user impersonation attacks, man-in-the-middle attacks, static password guessing attacks, and other types of attacks that intentionally damage system security, steal information, or interfere with normal services) launched against the system within a specific period. It reflects the frequency of malicious attacks on the system. Let i denote the number of times the first malicious attack behavior is detected, and
denotes the total number of accesses in the same period. The attempted transgression rate is calculated as follows:
where
k is the number of types of malicious attacks, considering the different degrees of harm of different types of malicious attacks, where each type of malicious attack sets the corresponding weight factor
.
Attempted override rate: Attempts to overstep the authority rate refer to the frequency of users attempting to access resources beyond their authorized scope or perform unauthorized operations within a certain period, including patients attempting to access the medical records of other patients, non-medical personnel attempting to perform medical operation-related commands, and ordinary users attempting to obtain system management privileges and other behaviors. It reflects the degree of users’ compliance with system privilege rules and the degree of potential security risk. Setting the number of times a user attempts to access unauthorized resources in a certain period for the
jth operation category as
, the corresponding weight as
, and the total number of access attempts in the same period as
, the malicious attack rate is calculated as follows:
where
m is the number of operation categories involved in the user’s attempts to transgress authorization.
Login system anomaly rate [
24]: The login system anomaly rate is the frequency of authentication failures or errors due to various reasons within a certain period. This includes but is not limited to multiple login attempts with incorrect usernames or static passwords, frequent logins within a short period, logins from unusual geographic locations or
addresses, login attempts with known malware or tools, and so on. Setting the number of anomalies detected by the login system in a given period as
and the total number of login attempts in the same period as
, the login system anomaly rate is calculated as follows:
Access service duration [
25]: The access service duration is the average length of time from when a user successfully logs into the system to when they log out of the system or when the session times out. This period can reflect the user’s activity level and usage habits in the system, as well as the response time and performance issues of the service. Let the duration of the
ith service access be
, the length of time from the beginning to the end of the request, and the total number of service accesses in a certain period is
N; then, the access service duration is calculated as follows:
Stability of user operation habits [
26]: The stability of user operation habits refers to the degree of deviation between a user’s operation behaviors within a system and their past habits within a certain period of time. Suppose that within the investigation period, the number of deviations in the user’s operation behaviors from their past habits is
(where
k represents the type of operation, such as deviation in login time, deviation in login device, deviation in operation frequency, etc.), the weight of each operation type is
, and the total number of access attempts within the same time period is
. Then, the calculation formula for the stability of user operation habits is
where
m is the number of operation categories.
Sensitive data utilization rate: The sensitive data utilization rate is used to measure the frequency at which users access and use sensitive data in the system, encompassing operations such as users accessing, downloading, and sharing sensitive data. Assume that the number of operations a user conducts on sensitive data within a certain period of time is
, and the total number of data operations within the same time period is
. Then, the calculation of the utilization rate of sensitive data is as follows:
For users logging into the system for the first time, due to the lack of sufficient behavioral data for a comprehensive assessment, we give a relatively high initial user trust value
Q (
Q = 1) to enhance the ease of authentication and ensure that users can use basic healthcare services without any problems. As the user’s activities in the system increase and the behavioral data accumulate, we will pay close attention to those behavioral signs that may lead to an increased risk level, and the trust value will drop rapidly in the case of frequent abnormal behaviors (e.g., multiple abnormal samples in a short period). The formula for calculating the comprehensive trust value is as follows:
where
,
,
,
,
, and
denote the malicious attack rate, attempted transgression rate, login system anomaly rate, access service duration, stability of user operation habits, and sensitive data utilization rate, respectively, and the weights of each indicator are set to be
,
,
,
,
, and
, respectively, and
.
In real-world scenarios, the six key indicators for telemedicine security we chose are based on extensive research and analysis on actual medical data. For example, the malicious attack rate is calculated based on the historical data of known malicious attacks in similar telemedicine systems. This data-driven approach ensures that our dynamic trust evaluation mechanism can accurately assess the risk level of users. When a malicious attack is detected, the system not only blocks the attacker’s access but also alerts the system administrators. They can then take further actions, such as investigating the source of the attack and strengthening the security of the system. In terms of handling other security threats like attempted override of authority, the system logs every access attempt and cross-checks it with the user’s authorized privileges. If an unauthorized access attempt is detected, the system immediately locks the user’s account and initiates an investigation. These measures have been proven effective in simulations and pilot studies, and we are confident they will be effective in real-world applications.
By analyzing and modeling user and entity behaviors, a triple baseline is constructed. Based on the behavioral baseline of different risks, the trust level is divided into four categories, namely untrustworthy, basic trustworthy, general trustworthy, and high trustworthy. Based on the behavioral scores of users and entities falling into different trust value intervals, users can be defined into four classes, which are low-risk users, normal users, medium-risk users, and high-risk users. According to the results of the dynamic trust evaluation, the telemedicine visitor is graded in terms of authority, and the trust level is divided, as shown in
Table 2.
Authentication policy and factor updates: Depending on the risk level of the user, we will take appropriate measures to securiguard the security of the system. For normal and low-risk users, as they are assessed as having a low risk, the subsequent authentication process can be simplified, and they will continue to operate as normal, with no additional steps required to complete authentication by simply providing a smart card. For medium-risk users, the medical service center will immediately initiate the re-authentication process and lock the uploading of data access requests for this level of users as well as the data of the medical sensors employed by the users at the same time. For high-risk users, more stringent measures will be taken to directly block them from further accessing the system until a higher level of authentication is completed and the authentication factor is updated.
The process of updating the identification factor is as follows. The banned user inputs the identification factor update request to the user terminal, inserts the smart card into the terminal device, acquires , inputs the user name and key , generates the current timestamp with the key update random number , and the terminal enters the user’s iris feature specimen , ; calculates , , , and ; sends to the medical service center; and stores it temporarily as . The medical service center generates the current timestamp and verifies whether is valid; if the judgment is successful, then it calculates , , and , and verifies whether is equal to . If the verification is successful, then it completes the verification of the user, generates the key update random number , generates the current timestamp , calculates and , and sends to the user terminal and temporary storage . The user terminal receives the information, verifies that the current timestamp is generated, verifies whether is valid, calculates if the judgment is successful, verifies whether is equal to , and verifies that it is successful. If so, it calculates , and the user enters a new factor, the login key , and enters the iris characteristics . The user terminal generates the key update random number and calculates , , , , and ; generates the current timestamp ; and provides to the medical service center. The medical service center receives the registration request; generates the current timestamp ; verifies whether is valid; generates the key update random number ; calculates , , , , , , and ; stores in the database; and is the user identification factor policy that is periodically updated from the medical blockchain. The calculation verifies that and are equal, and is sent to the user if the verification is successful. The smart card provided by the medical service center has a limitation of time; when the smart card expires, the user needs to re-visit the medical service center for re-registration. The user receives the information and re-deposits to the smart card.
3.2.3. Re-Authentication
When the dynamic trust evaluation finds that the user level reaches medium risk, the medical service center will immediately start the re-authentication process with the following steps:
Step 1: The medical service center receives the updated from the medical blockchain and then re-authenticates the online user with increased risk and immediately locks the upload of the data access request of the risky user as well as the upload of the data of the medical sensors adopted by the user, encrypts the re-authentication message by the key K generated in the key negotiation stage, and then generates the current timestamp by using the algorithm, and sends the to the user terminal.
Step 2: The user terminal receives the message and uses the algorithm to generate the current timestamp , verifies whether is valid, decrypts the message, and requires the user to perform strong identity authentication. The user inserts the smart card into the terminal device, acquires , enters the user name and the key , enters the iris feature specimen , and the terminal calculates to generate the random number . The terminal generates the current timestamp by calculating , , , , , and through the algorithm and sends to the medical service center, which temporarily stores .
Step 3: After the medical service center terminal receives the information, it uses the algorithm to verify the generation of the current timestamp , verifies whether is valid, and verifies whether exceeds the time limit for re-authentication. If the verification is successful, it calculates , , and by the algorithms and verifies whether is equal to . If the verification is successful, it completes the re-authentication of the user.
Step 4: The medical service center lifts the data access lock and the lock of relevant medical sensor data upload for the user who has passed the re-authentication and readjusts the risk level of the user.
The flowchart of the patient re-authentication is shown in
Figure 3.
Re-authentication is a complementary measure for user risk changes based on three-factor authentication and dynamic trust evaluation. When the dynamic trust evaluation detects an increase in the user’s risk, the medical service center determines the users who need to be re-authenticated based on the updated data provided by the medical blockchain and sends a notification to their terminals. The user is required to authenticate again through the three-factor authentication process. If the user passes the re-authentication, the restrictions on data access and sensor data upload will be lifted, and the user’s risk level will be readjusted; if not, stricter access restrictions and other security measures will be taken. This mechanism can effectively ensure that in the event of a change in the user’s risk, especially if the risk increases, the system can re-verify the user in a timely manner to protect the security and stability of the system.