# Key Agreement and Authentication Protocols in the Internet of Things: A Survey
## 3 Security Protocols for the Internet of Things
The authors conducted a safety analysis of the proposed protocol based on the ROR model. Research has shown that the protocol is resistant to replay attacks, user impersonation attacks, server impersonation attacks, privileged-insider attacks, KSSTI attacks, and stolen smart card attacks. Moreover, the protocol ensures perfect forward secrecy. The authors also showed that the LAP-IoHT protocol is more computationally efficient than similar solutions and has low communication costs. [PERSON] et al. [97] focused on securing communication between doctor and patient. The authors proposed a two-factor authentication protocol by using hashing functions and bilinear pairing. Authentication is based on the smart card and password entered by the users. The authors checked the safety and correctness of the proposed scheme by using the Avispa tool and the BAN logic. The formal and informal analyses showed that the protocol meets the following security properties, mutual authentication, user anonymity, perfect forward secrecy, and untraceability, and is resistant to MITM, offline password guessing attacks, and privileged-insider attacks and replay attacks. The authors also compared their protocol with similar solutions and obtained satisfactory results in achieving security attributes and energy consumption during communication and calculations. [PERSON] et al. in [98] have proposed an authentication protocol targeting the telecare medical information system. This protocol uses lightweight cryptography-based authenticated encryption with associative data and the hash function of the Esch256 [99] hash. The authors showed that their protocol ensures the anonymity and privacy of users and is resistant to MITM attacks, replay attacks, impersonation attacks and DoS attacks. Moreover, the authors used the ROM model and Scyther tools to confirm the level of security provided by the proposed protocol. Compared to similar solutions, this protocol generates lower computational and communication costs. [PERSON] et al. in [100] highlighted the problems of adequately securing IoT devices in fog or edge processing. This problem arises with mass-produced IoT devices that ignore basic security requirements and make them vulnerable to attacks. Therefore, the authors proposed a hash-chain fog/edge zero-knowledge protocol, the task of which is to authenticate each other and agree on session keys in the fog/cloud processing environment for different devices. In the proposed protocol, the authentication process takes place by using a centralized server that manages the keys. The protocol consists of the phases: initialization, registration, authentication, communication, and revocation. The authors confirmed the performance and correctness of the protocol on various architectures and workstations, including interconnectivity. Moreover, they established the security of the protocol using the BAN logic. They also demonstrated the protocol's resistance to active and passive attacks, modification, sinkhole, monitoring, replay, location disclosure, and Sybil attacks. [PERSON] et al. in [101] proposed an authentication protocol with a key agreement for IoT and cloud computing environments. The authors used elliptic curve algorithms and symmetric encryption/decryption. The authors performed a formal protocol security analysis by using BAN logic and the Scyther tool. In turn, informal analyses showed the protocol's resistance to replay attacks, impersonation attacks, traceability attacks, message integrity attacks, and MITM attacks. Computational and communication cost studies have shown that the protocol proposed by [PERSON] et al. in [101] is more efficient than similar solutions. [PERSON] et al. in [102; 103] focused on IoT-related cloud computing solutions. In both years, they used Intel software guard extensions (SGX) [104] to improve the security of protocols used in cloud solutions. In [PERSON] et al. [102], the authors proposed the SAKAP protocol for authentication and session key reconciliation. The authors use SGX to store a shared key.