# Key Agreement and Authentication Protocols in the Internet of Things: A Survey
## 3 Security Protocols for the Internet of Things
in [122]. The authors focused on the use of RFID technology in the IoT environment. The authors created a new message authentication code function for the proposed protocol by analyzing the existing protocols and their problems and possible attacks. The authors formally informally verified their protocol's security (using BAN logic and the Scyther tool). The protocol is resistant to replay attacks, secret disclosure attacks, impersonation attacks, and desynchronization attacks. Moreover, the authors showed that their proposed protocol is characterized by low computing and communication costs, and therefore it can be implemented in environments with low resources and computing power. [PERSON] et al. in [123] proposed three lightweight protocols called LRSAS+, LRARP, and LRARP+ for use in IoT solutions. The authors chose the operations performed during the protocol to be safe and computationally light, i.e., they do not burden the communicating devices. The authors confirmed the protocol's security by using GNY logic and the Scyther tool. The protocol is resistant to tag-tracking attacks, replay and reader impersonation attacks, desynchronization attacks, and DoSs attacks. In addition, the protocol meets forward-backward secrecy. The study of the efficiency of the proposed protocols also confirmed the authors' initial assumptions regarding not overloading communicating devices. [PERSON] et al. [124] have proposed a new authentication protocol for use in IoT environments. The authors used the elliptic curve discrete logarithm problem [125] properties, hash functions, and XOR operations to ensure robust and secure authentication. The authors tested their protocol by using the BAN logic and the Avispa tool and demonstrated its resistance to forging, guessing, masquerading, DoSs and MITM attacks. Moreover, the protocol complies with security properties such as user anonymity and untraceability or perfect forward secrecy. Furthermore, the authors compared the proposed protocol with other schemes in terms of security and computational and communication costs, obtaining satisfactory results. The authors concluded that the proposed protocol can be implemented for various applications of IoT devices and that it can be successfully extended with other techniques of securing the authentication process. [PERSON] et al. in [126] proposed a three-factor authentication protocol for IoT environments. The protocol uses blockchain technology, hashing functions, XOR, and the concept of a fuzzy extractor. The cryptographic techniques ensure an appropriate level of security, protect data against manipulation and increase the transparency of the recorded information on smart cards. The authors used the BAN logic, the ROR model and the Avispa tool for formal analysis. Research has shown the security of mutual authentication implemented by the proposed protocol. Conversely, an informal analysis showed that the protocol provides data confidentiality, mutual authentication, data integrity, forward security, anonymity, authorization, three-factor secrecy, and secured password updating. Moreover, the proposed protocol is resistant to replay attacks, password-guessing attacks, DoS attacks, server impersonation attacks, privileged-insider attacks, KSSTI attacks, user impersonation attacks, stolen smart card attacks, MITM attacks, and brute force attacks. The authors concluded that their protocol is superior in computation cost, communication cost, security requirements, and attack resistance compared to similar solutions. [PERSON] et al. in [127] proposed a three-factor authentication protocol for mission-critical IoT-based applications. The protocol is based on the publish-subscribe model and uses elliptical curve cryptography (ECC) and computationally low hash chains. Authentication is done through an identity, password, and digital signature. The authentication process also generates a dynamic session key based on the value of the nonce. Dynamic key changes make the protocol resistant to attacks on session keys.