1. Introduction
The TMIS uses various technologies, including communication networks and computer science, to provide extensive medical services related to remote consultations. Providing TMIS is an innovative invention that can save many lives. With TMIS, patients can use medical advice on-site, even at home, saving both the patient’s time and money. In addition, the recent worldwide spread of diseases, such as COVID-19, has made remote services a priority for users. Currently, TMIS is undergoing rapid development and includes three main parties: medical staff, users/patients, and medical servers. A server in the TMIS is responsible for registering patients, physicians, nurses, laboratories, etc., as well as issuing medical smart cards for patients. Patient’s medical information, such as body temperature, blood pressure, blood sugar, etc., is maintained on the server. By registering the TMIS, physicians can access the server’s medical data. Maintaining a secure data-transfer process is particularly important due to the sensitivity of medical data [
1,
2,
3].
Due to the advancement of engineering knowledge in various fields, many sensitive tasks that humans directly perform are now handled by engineering systems. An example of this is the use of the Internet of Things (IoT) to monitor a person’s health, receive information from the patient, and send it to the physician [
4]. Several features are crucial in this field. It is first necessary to design a reliable communication system so that data are correctly recorded and sent to the physician. Patient health can be compromised by changes in the exchanged data or by blocking data transfer. However, a person’s medical data are considered confidential information, and a patient is usually interested in keeping them private and not sharing them with a third party. Hence, to design an application system, it is necessary to maintain the anonymity of the patients while authenticating them as legitimate patients. Considering the abovementioned issues and the importance of secure communication in various TMIS, so far, scholars have proposed several solutions achieving the following security goals and operational features in their mind:
The confidentiality of data is protected against external attackers and the server.
For data exchange, the Internet serves as the communication platform.
Authentication is performed on each device connected to the network as part of the protocol.
Data integrity is verified by the physician.
A central core (server) of the system is responsible for registering new entities (for example, physicians and patients) and assisting them with authentication and key agreement.
Patient Identity (ID) is protected from external attackers.
Motivation. Medical information is usually considered to be of great importance, and many patients, especially office holders, politicians, and celebrities, are very sensitive about their privacy and the confidentiality of their medical data. For example, disclosing their illness to neighbors, colleagues, and the press can jeopardize their jobs and social status. They are worried about the disclosure of their disease information not only by external attackers but also by health system employees, including privileged insiders with special access to the database of the health system and even the treating physician himself. So, they may prefer even the treating physician not to be informed of their true identity. The proposed scheme of this article provides not only the privacy of the patient but also the privacy of the doctors (physicians) so that the patient identity is not disclosed to any entity inside the medical system or outside it. In addition, the identity of the doctors is also kept confidential from the eyes of entities outside the system.
Our Contribution. In the context of privacy in TMIS systems, all previous studies aim to provide anonymity and unlinkability of the patient against the external adversary. In this paper, we propose an authenticated key agreement scheme that extends the domain of privacy for the TMIS in two aspects.
(1) The patient ID is protected not only against external adversaries but also from internal entities, including the physician and even the medical server.
(2) The physician identity is also protected against external attackers.
Paper Outline. The rest of this article is organized as follows. A brief review of related work is provided in
Section 2. In
Section 3, the system model and prerequisites of elliptic curve cryptography are introduced. Then, the details of the proposed protocol are explained in
Section 4. The formal and informal security analysis is reviewed in
Section 5, and the efficiency analysis of the proposed scheme is given in
Section 6. Finally, the paper is concluded in
Section 7.
2. Related Work
Many research studies have been conducted on authentication and key agreement schemes in medical systems in recent years. Several anonymous authentication schemes for Wireless Body Area Networks (WBANs) are presented in [
5]. As part of this study, the Network Manager (NM) database is used to store authentication data, which is stored in a protected and secure location. This scheme has the disadvantage that it does not consider any authentication services between the local server and body sensors, and the authentication occurs only between the mobile device as the patient data recorder and other entities, such as the server [
6].
An authentication protocol for healthcare systems that use wireless sensor networks is described in [
7]. This protocol allows legitimate users to modify passwords without consulting trusted authorities and revoke invalid network nodes. However, the analysis of this scheme has demonstrated that it does not provide forward secrecy and has a high computational cost that does not correspond to real-life scenarios.
A protocol is proposed in [
8] to improve the authentication scheme proposed in [
9]. A key objective of this scheme is to ensure user anonymity and prevent password-guessing and replay attacks. This scheme does not provide data integrity and key freshness, as shown in [
10].
The authors of the paper [
11] propose a secure and lightweight authentication scheme using Wireless Multimedia Sensor Networks (WMSN) for remote patient monitoring. To ensure forward secrecy, the proposed scheme uses a hash function mechanism and a pseudonymous ID solution to ensure user anonymity. This study is vulnerable to offline dictionary attacks and has a flaw in the password change phase [
12].
A mechanism for secure authentication and key agreement between resource-constrained medical devices is proposed in [
13]. Despite its efficiency in terms of computational overhead and run time, the protocol has some security vulnerabilities. During all sessions, the same key is used for communication, so if revealed, then the security of the system collapses completely [
14].
In paper [
15], a lightweight and efficient authentication protocol for WMSNs is proposed, which meets the basic security requirements and prevents attackers from tracking users. The protocol described in [
15] does not provide integrity, and its computational overhead is relatively high [
11].
A healthcare system architecture is introduced in [
16], followed by a protocol designed to maintain anonymity and conduct mutual authentication for mobile phone users to record sensor data. It has been claimed by the designers of this protocol that it is resistant to known attacks. However, several shortcomings of this design have been discussed in [
17]. The studies in [
17] show that this protocol is vulnerable to password-guessing and impersonation attacks.
Although Ref. [
17] proposes a remote user authentication protocol for WMSNs, but Refs. [
11,
12] have shown that it may not be as secure as claimed, and it lacks forward secrecy, has a flaw in the password change phase, and is insecure against insider, desynchronization, and offline dictionary guessing attacks.
A WMSN authentication protocol using symmetric keys is proposed in [
18]. The proposed protocol in this study has a small computational overhead. It has been concluded in [
15] that the protocol described in [
18] is vulnerable against offline password-guessing and secret key disclosure attacks, in addition to the sensor node capture attacks [
19].
In paper [
20], a lightweight Radio-Frequency Identification (RFID) authentication protocol is proposed. The paper claims that the protocol can effectively prevent the disclosure of sensitive medical information. However, the study presented in [
21] demonstrates that this scheme is unable to meet all security requirements and is susceptible to secret key disclosure, impersonation, and tracking attacks. It is also shown that the protocol does not ensure the anonymity of the tag.
The authors of the paper [
21] propose a lightweight and secure authentication protocol for RFID systems that will increase security and privacy in medical IoT systems. Security analysis of the proposed scheme demonstrates its resistance to desynchronization, replay, tag/reader impersonation, and tracking attacks. In paper [
22] shows that the protocol has serious security flaws through key disclosure and tracking attacks.
A lightweight authentication scheme is described in [
23], designed for sensors attached to clothing. This scheme allows users to authenticate wearable devices and portable terminals and creates a session key between them. This scheme does not consider the connection between the cloud server and the mobile phone [
24]. The use of a biometric factor as one of the authentication factors is proposed in [
25]. This scheme was developed to overcome shortcomings in the protocol described in [
26]. The authors claimed that this scheme enhances security while maintaining computational efficiency in comparison to other protocols. However, the protocol proposed in [
27] is insecure against sensor compromised and insider attacks [
27]. An authentication scheme for anti-counterfeit drugs using the IoT is proposed in [
28], which is used to verify the authenticity of medicinal items. Near-field communication (NFC) is used in this scheme, which makes it suitable for mobility. In [
29], it was shown that this scheme could not resist denial-of-service attacks and eavesdropping.
The authors of the paper [
30] first addressed the security requirements of Body Sensor Networks (BSN). Following that, a secure medical care system based on the IoT has been introduced using BSN. It fails to consider the user anonymity and is susceptible to password-guessing and man-in-the-middle attacks [
19].
An improved method for creating a mutual authentication scheme for telehealth care systems for patient monitoring is described in [
31]. Also, revocation and re-registration of users are considered when a smart device is lost or stolen. As shown in [
32], this scheme has several disadvantages, including sensor node capture attacks and a lack of forward secrecy.
The authors of the paper [
33] describe a protocol that allows users to access cloud services anonymously. The goal is to provide a solution that allows users to be confirmed by the central system, allowing them to use the services while keeping their profile hidden simultaneously. Simulated results indicate that it has a low computational cost compared to other anonymous authentication schemes. Based on the investigation carried out by the authors of this study, it is apparent that in the proposed protocol of [
34], the two points of the elliptic curve are multiplied together, while the multiplication of points is not defined in the elliptic curve, and as a result, the proposed protocol is incorrect.
A lightweight anonymous authentication scheme is presented in [
34]. To verify the authenticity of a user before accessing cloud services, anonymous mutual authentication is provided between the user and the server. Cloud users or service providers are evicted from cloud environments if any misbehavior occurs after successful mutual authentication by a third party with a reliable revocation mechanism. Upon review of the proposed protocol, the author of this study finds that, contrary to the authors’ assertions, user anonymity is not respected in the mentioned protocol.
In paper [
35], a privacy-preserving protection scheme for patients is proposed. It assumes that all major entities in the healthcare system (such as sensors, gateways, and application providers) are unreliable. The suggested scheme utilizes a Privacy-Preserving Deep Neural Network (PPDNN) to enable secure and privacy-preserving data transmission and storage. In the proposed scheme, end-to-end privacy is claimed to be protected against both internal and external threats. While maintaining patients’ anonymity, this scheme provides mutual authentication between the main entities so that only authorized users can access the patient’s real identity and their location and health care records. Based on simulation results, the protocol proposed in this study is secure against attacks such as impersonation, duplication, modification, and man-in-the-middle. However, the author of this paper has reviewed the protocol and found that although the confidentiality of the user ID is taken into account, the physician’s user ID is not hidden and can be identified through wiretapping. To solve this problem in our research, in the proposed scheme, the IDs of the physician and the patient are encrypted in all stages of information exchange, and it is not possible to access them.
Chen proposes an anonymous authentication and key agreement scheme based on elliptic curve cryptography that uses a temporary identity to protect patient privacy [
36]. To use medical services, a new user must first send his/her information, including username and password, to the server over a secure channel. After checking the received information, the server provides the user with a smart card containing the patient information, which is used in the following stages of communication and contains the patient information. As a next step, the authentication protocol must be implemented to communicate between the patient and the server. Patient information, including usernames, passwords, and biometric data, is input into the smart device, and if the input data are confirmed, a message with the patient information is sent to the server. Simulation results indicate that the proposed protocol is secure against replay attacks, man-in-the-middle attacks, and denial-of-service attacks.
An authentication scheme for patient and physician medical systems is described in [
37]. This scheme leverages time stamps to prevent replay attacks. The proposed protocol provides the patient with an intelligent device that records the patient information and sends it to the physician, and the authentication operation takes place between this device and the server. Since the patient’s biometric data are not used, a password-guessing attack can be conducted if the device is lost. Even though the proposed protocol allows the patient to change the password, this is not a safe process [
38].
The proposed protocol in [
39] only considers the authentication between the patient and the server. The proposed protocol allows the attacker to impersonate the physician or patient. This makes it vulnerable to spoofing attacks [
38].
Another research conducted in paper [
40] presents a lightweight and anonymity-preserving user authentication scheme for IoT-based healthcare systems. A combination of elliptic curve cryptosystem and hash functions are used to achieve the desired security and privacy properties. The suggested scheme is designed to minimize the communication and computation costs for both the user and the server. Furthermore, the scheme provides anonymity and unlikability to the user using an anonymous identifier and a non-invertible hash function. The security and performance of the suggested scheme are evaluated and compared with existing schemes. The results indicate that the suggested scheme is more secure and efficient than existing schemes.
Moreover, Ref. [
37] presents an Identity-Based Anonymous Three-Party Authenticated Protocol (IBATPAP) for IoT infrastructure. The suggested IBATPAP protocol is designed to provide secure authentication and access control in IoT environments. It is based on a three-party authentication model, which consists of a trusted authority, a service provider, and a user. The suggested protocol provides identity-based authentication, as well as anonymity for the user, and is resilient against various attacks. The suggested protocol is analyzed for security, and its performance is evaluated using various security metrics. The results show that the suggested protocol provides strong security and performance guarantees.
In another study by [
41], an attempt has been made to design a secure scheme for exchanging information between the patient and the doctor using three factors: biometric factor, smart card, and storing sensitive identity information using Physical Unclonable Function (PUF) technology. But [
42] shows that the designed protocol has weaknesses, including being vulnerable to impersonation attacks and DoS attacks. In
Table 1, the characteristics of the discussed articles are reviewed.
4. The Proposed Scheme
In this section, we describe the details of the proposed authenticated key agreement for TMIS. In general, the goal is to develop a protocol for authenticating and establishing a key agreement for remote medical care system that preserves privacy, in the sense that the identity of the patient is kept hidden from all internal and external entities, and the identity of the physician is hidden from external attackers. In the design of our proposed protocol, we inspire the idea of using an entity called supervisor from [
35]. Also, the use of pseudonyms is borrowed from the research [
40]. The proposed protocol utilizes an anonymous identifier, different for each session, to identify the user and let him use the system and services. It is impossible to authenticate the patient directly, so a supervisor is used instead. The physician can only confirm the authenticity of the patient with the help of the gateway and does not have access to any other information.
Table 2 contains the symbols that appeared in the proposed method.
4.1. Setup Phase
In the setup phase, all entities agree on a common generator of the group of elliptic curve points, denoted by G. In this case, the public key is equal to , where Pu ∈{} and the corresponding private key is X∈{}. We proceed with the registration step. In general, the proposed scheme consists of two phases: registration and authentication. During the registration phase, the necessary information for each party is generated and stored for later use. Then, in the authentication stage, the stored information is utilized to verify the authenticity of each party, thus allowing them to communicate with one another. The registration process consists of three steps including (1) patient registration in the supervisor, (2) gateway registration in the supervisor, and (3) physician registration in the gateway. The steps of the proposed scheme are explained below.
4.2. Registration Phase
The registration is performed through secure channels between the two involved entities.
Registration of a Physician at the Gateway In this step, as shown in
Figure 2, the physician with the identity
, chooses a random
∈
R as his private key and computes the corresponding public key
=
G. Then he computes the long-term key to be shared by the gateway as
=
‖
) and sends the pair (
) to the gateway through a secure channel. The gateway stores
and
, and reciprocally computes
=
‖
and sends it back to the physician. Finally, the physician stores
.
Registration of a Patient at the Supervisor In this step, as shown in
Figure 3, two secrets
and
are exchanged between the patient and the supervisor, which are used for authentication in the next step. Also, at this stage, the supervisor saves the patient’s anonymous identity
. The anonymous identifier helps the patient to use the system without being identified.
Registration of the Supervisor at the Gateway In this step, as shown in
Figure 4, two secrets,
and
, are exchanged between the supervisor and the gateway, which will be used for authentication in the next steps. With the help of the supervisor, the gateway will be able to confirm that the patient is using the system services.
4.3. Authentication and Shared Key Generation
The general architecture of the proposed authenticated key agreement scheme including registeration, authentication and session key generation steps has been illustrated in
Figure 5. The details of the authentication and session key agreement has been shown in
Figure 6 and is described below.
Step 1: The patient first saves the current time , then generates a new random to let the supervisor update the anonymous identifier = ⨁ in the next steps (each anonymous identifier is used only once). If the patient uses a fixed public key in all stages, the patient identity can be recognized in general, so at this stage the patient generates a new public and private key to use in the current session, i.e., it chooses ∈R as his nth private key and computes = as the corresponding public key. In order to be able to send confidential messages between the patient and the supervisor, as well as between the patient and the gateway, two shared keys and is created, which are obtained by multiplying the patient’s nth private key by the public keys of the supervisor and the gateway and passing it through the hash function. In order to enable the supervisor to authenticate the patient, the stored in the registration stage and are encrypted by as = (‖) ⨁. Moreover, the current anonymous patient identity along with his desired physician identity is encrypted by the key as ‖) ⨁. Finally, the , and , along with the time of sending the message, , and the nth public key of the patient, , are sent to the gateway.
Step 2: The gateway extracts the current time , then the time delay between sending and receiving the message is calculated as − . If this value is longer than a desired threshold , the gateway aborts. Otherwise, it computes the shared key = ) and decrypts to obtain the patient’s anonymous identity and the physician identity . It checks the integrity of , and through . Considering that the gateway is not able to directly authenticate the patient, it uses the supervisor to confirm the service to the alleged patient. For this purpose, it computes = ‖‖‖‖ ) and sends it along with , , , , to the supervisor.
Step 3: After receiving the message from the gateway, the supervisor first examines the time of sending the message and then, using the shared key , verifies the freshness and the authenticity of . Moreover, using its private key and the public key of the patient, it produces the shared key he needs to decrypt the received as ‖ = ⨁. If equals the pre-shared , then it authenticates the patient and computes and stores his new anonymous identity as = ⨁. Finally, it sends a true message to the gateway indicating patient confirmation.
Step 4: The gateway first checks the freshness of the received message by checking if − < , where is the time it received , then, it generates the and compares it with the received to check the integrity of received from supervisor. Then, it sends a communication request message = (, , , ), where = ‖‖) to the physician with identity .
Step 5: The physician first checks the time of receiving the message and then authenticates the gateway through recomputing using the pre-shared key . If the draft information is correct, he sends a message containing the preparation for data exchange along with the information required for authentication to the gateway as = (, ), where ‖‖).
Step 6: After receiving the notification of readiness from the physician and checking the time of the sent message as well as authenticating the physician, the gateway sends the messages and about the start of the session to the patient and physician, respectively. Here, as in the previous steps, the information about the time of sending the message is also sent along with the information required for authentication.
Step 7: Finally, based on the information received from the gateway, the physician and the patient will generate the shared session key = ‖‖‖), where = ) = ) and will be able to exchange data with each other.
5. Security Analysis
This section shows that the proposed anonymous authenticated key agreement scheme provides the claimed security requirements. First, it is informally shown that the proposed scheme resists the attacks known in the context and provides security features such as anonymity and unlinkability. Then, the ProVerif tool is employed to formally and automatically verify the security properties of the proposed protocol.
5.1. Informal Security Analysis
In this section, we intuitively investigate the security features of the proposed authenticated key agreement scheme. These features include patient anonymity, physician anonymity, untraceability, resistance to well-known attacks such as man-in-the-middle, impersonation, replay, message modification, and eavesdropping.
Resistance to the Impersonation Attack: In this type of attack, the attacker impersonates herself as a valid entity, such as a patient, physician, gateway, or supervisor. In the proposed scheme, the patient and supervisor have two pre-shared symmetric keys and . Also, the supervisor with the gateway and the gateway with the physician pre-share some symmetric keys. Moreover, a pair of entities, such as the patient and the gateway, who do not already have a shared key, can create a shared key using the Diffie–Hellman elliptic curve method as , where is the short-term private key of the patient and is his corresponding public key, and is the long-term private key of the gateway and is its corresponding public key.
The messages sent from each entity to the desired receiver are accompanied by the keyed hash, the key to which is the common key of the receiver and the sender so that its authenticity can be verified in the receiver. In addition, placing the time stamp inside the MAC also guarantees the freshness of the messages. Because the attacker does not have the common key of the receiver and the sender of the messages, it cannot create a valid MAC for his messages and cannot convince the receiver to accept it. Therefore, the proposed scheme is safe against impersonation attacks.
Resistance to the Replay Attack: In this attack, the adversary eavesdrops and stores some messages of the sessions of the protocol and later tries to reuse them to impersonate some entity involved in the protocol. However, all the exchanged messages , , …, incorporate timestamps, and the receiver of these messages checks the freshness of the received message by checking if the message has been received within a permitted delay time . Therefore, the proposed scheme is secure against replay attacks.
Resistance to the Denial-of-Service (DoS) Attack: Suppose an adversary tries to launch a DoS attack by sending a new message . The only part of that the adversary cannot compute is , which includes the long-term key pre-shared by the supervisor and the patient. Therefore, the gateway cannot authenticate the sender of m1 by itself and must forward it to the supervisor who initially authenticate the origin of data3. Since the adversary does not know , it cannot generate valid ‖) ⨁. So the DoS attack is prevented by supervisor in Step 3 of the protocol. On the other hand, to pass the consistency checks done by the gateway over data1 and data2 in Step 2, the adversary is obliged to completely perform the computations of Step 1, including computing new short-term keys , , , as well as , and . These computations impose more overhead on the adversary compared to the computations done by the gateway in Step 2. Therefore, the proposed scheme is not vulnerable to DoS attacks.
Resistance to the Message Modification Attack: In this attack, the adversary tries to modify some messages such that valid entities accept the modified messages. In the proposed scheme, any modification can be detected by the receiver, as the integrity of all messages , , …, is guaranteed by a keyed hash function, where the key used in the hash is a key shared between the valid sender and receiver of that message.
Resistance to the Eavesdropping Attack: All messages sent over the line are one of the five types of hash values, timestamps, public keys, pseudo-identities (such as ), and data XOR-ed with the shared key of the receiver and sender. Therefore, listening to the channel does not reveal any useful information to the attacker.
Resistance to the Tracking Attack: To check the patient traceability, first note that the only message the patient sends is , which contains ‖) ⨁, ‖‖), ‖) ⨁ and . The and are updated in each session independently of the previous session. Therefore, the values of are completely independent from one session to another, and the eavesdropping attacker is unable to distinguish whether the users participating in two sessions are the same or not. Therefore, the traceability of the patient is maintained. Moreover, as the doctor identity, , is protected by XORing through the one-time key , the eavesdropper cannot distinguish if the same physician is contacted in two sessions or not.
Resistance to the Man-in-the-Middle Attack: In the proposed protocol, each pair of valid receivers and senders of the messages , , …, have a common symmetric key, which is used to verify the authenticity of the message and the authenticity of the sender at the receiver. In addition, the freshness of all messages is guaranteed due to the use of a time stamp. Therefore, the attacker cannot block a message in the middle of the way and replace his desired message or a previously eavesdropped message.
Patient Anonymity: In the proposed protocol, the patient identifies himself anonymously and only to the supervisor. For this purpose, the patient proves that he has a common key with the supervisor, say , by sending ‖) ⨁ through the gateway to the supervisor. Thus, the supervisor, although sure that the patient is the same patient who shared the key with him during the registration phase (since the patient’s real identity was not registered during the registration phase), is not informed of the patient’s real identity. On the other hand, the gateway can only access the patient’s pseudo-Identity, , by decrypting ‖) ⨁. However, this disposable pseudo-ID does not reveal any information about the patient’s true identity at the gateway. The only information the doctor acquires about the patient is his short-term public key, the , which has been implicitly confirmed by the gateway and the supervisor. So, the doctor does not obtain the true identity of the patient. The external attacker information is less than the gateway and supervisor information, so the patient identity remains confidential from the external attacker point of view. Therefore, neither internal entities nor external attackers will be able to understand the patient identity.
Physician Anonymity: The doctor identity, , is encrypted with the common key of the patient and the gateway as ‖) ⨁ and then is sent over the channel. It is only the gateway that is able to decrypt and know the identity of the doctor. The external attacker cannot decrypt , and therefore, the identity of the doctor remains hidden from the external attacker.
5.2. Formal Security Analysis Using ProVerif Tool
To verify the security of the proposed protocol against known attacks such as replay, message modification, impersonation, and offline password-guessing attacks, and to check the security properties such as patient anonymity and Perfect Forward Secrecy (PFS) property, we use the ProVerif tool as one of the most powerful automatic cryptographic protocol verification tools. In
Figure 7, the first result is related to the confidentiality of the session key, whose confidentiality has been proven. The second to fifth results show the resistance of the proposed protocol against the offline password-guessing attack. The sixth result is an injection correspondence claim, which confirms the resistance of the proposed protocol against replay, impersonation, injection, and message modification attacks. Finally, the last case shows the anonymity of the patient.
In
Figure 8, to show that the proposed protocol provides the PFS property, we first use the command
, in which we reveal the long-term key information to the attacker and then check the confidentiality of the session key. The result of ProVerif execution for this option confirms the PFS property for the session key between the patient and the physician.
6. Efficiency Analysis
To check the efficiency of the proposed scheme, in this section, the number of calculations required for each entity has been checked. In the proposed method, the four operations of random number generation, XOR operation, hash function evaluation, and scalar multiplication are used in different steps. The calculation of execution time of each of the functions has been calculated realistically in various research, including in the articles [
35,
44]. The execution time of each mathematical operation based on two different processors is shown in
Table 3 with symbols
,
,
and
.
In the proposed scheme at the registration stage, the patient will have one , two and one time for execution, and the doctor requires one and six . Of course, it should be noted that the registration stage is often done offline or in turn, so the execution time of the scheme is less important.
In the authentication and information exchange stage, the patient uses 4 XOR, one XOR, 6 hash functions, and four multiplications. The supervisor uses one XOR, one random number generation, three hash functions, and one multiplication. The multiplication, which in the proposed scheme is responsible for creating a connection between different entities, uses one XOR, eight hash functions, and one multiplication in the total steps, and finally, the doctor runs 4 multiplications and one multiplication.
In calculating the execution time of the schemes, two processors, NanoPi and Core i7-4702MQ, have been investigated. Considering that the Core i7 processor is a professional processor, it is used in entities that perform more calculations, so it is assumed that the gateway and supervisor are implemented with Core i7-4702MQ. On the other hand, the doctor and the patient will not need a powerful processor and, for example, they should be able to communicate with the system and receive medical services with hardware such as mobile phones, so the assumption that these two entities use the NanoPi processor is a realistic assumption. The number of calculations required by each of the entities is shown in
Table 4.
Calculating the energy required for data exchange is another parameter that is useful in comparing the efficiency of schemes provided by different researchers. Using more bits in information exchange means more energy is needed to send information. In
Table 5, different schemes presented by different researchers are compared with the proposed scheme. It is necessary to explain that the results of the article of [
44] were used to check the schemes of other researchers.
In
Table 5,
,
,
,
, and
are the execution times of point addition operation, EC point multiplication, public-key encryption, public-key decryption, hash operation, and symmetric encryption/decryption, respectively. In
Table 5, for the proposed method, the information related to the patient is written in column CM, and the sum of the computational complexity of the gate and supervisor is written in column CH.
As can be seen in
Table 5, although the proposed protocol has many features, such as being resistant to all types of attacks, and the structure of the proposed scheme is designed in such a way that patient information remains completely private, the computation overhead required for each entity, compared to most other protocols, is a small amount and this feature indicates that this protocol can be implemented with cheap processors. On the other hand, the number of sent and received bits has been calculated in order to check the energy consumption. It is important to note that usually, in other research, it is assumed that the information is sent to the physician by the sensor, considering that the sensors usually depend on the energy of small batteries to receive the patient information and recharge the battery can be a challenging task for the patient.
Sending and receiving less information saves energy and is of great importance in the efficiency of the scheme, but in the proposed scheme, information is sent by the patient to the physician, and for this purpose, the patient usually uses a computer or mobile phone. Moreover, other entities, such as the gateway and supervisor, are connected to the city electricity, so there is no energy consumption challenge in the proposed scheme, and the proposed method can be properly implemented. In addition, based on
Table 6, the number of bits sent by the patient through message
is equal to 1120 bits, and the number of bits through message
is equal to 1088 bits. Based on the source [
47], the average energy sent and received is 4.28
J/bit and 2.36
J/bit, respectively, which means The consumption is 2567 microjoules, which is a small number considering the capacity of today’s batteries, which shows that this scheme can be easily used in the implementation of sensor-dependent systems.
Table 7 shows a more detailed comparison of the energy consumption on the patient side between several studies with the proposed protocol. It is worth mentioning that in other studies reviewed in this table, the sensor receives the patient information and sends it to the physician.
As shown in
Table 7, the energy consumption on the patient side in the proposed scheme is more than the schemes proposed in other research, which is due to the implementation of a method in which all patient information remains confidential. However, as mentioned earlier, in the proposed scheme, due to the use of the computer on the patient side in order to send information to the physician, low energy consumption is not a high priority.