# Key Agreement and Authentication Protocols in the Internet of Things: A Survey
## 3 Security Protocols for the Internet of Things  
Communication in various IoT environments usually consists of several stages using specially designed security protocols. The stages of authentication and agreement of the session key are the most characteristic stages of communication. During authentication, the user or device confirms their identity. As a result of correct authentication, the user or device acquires certain rights and privileges depending on the system. Various mechanisms are used in authentication protocols to ensure an appropriate level of security (for example, using methods described in Section 2.2). An essential element of authentication protocols is the number of factors used in the authentication process. It is worth indicating three groups of factors that are used during the authentication process:  
* Knowledge factor relates to something the user knows, e.g., username and password;
* Ownership factor refers to something the user has, e.g., a smart card or security token; and
* Inheritance factor refers to the user's biometric characteristics, i.e., something the user can be identified by, such as a fingerprint or an iris pattern. An equally important stage of communication is distributing the session key. The keys are used to encrypt and decrypt messages. There are many different approaches to the problem of session key agreement. We can define a separate protocol for these purposes and extract a fragment of the authentication protocol that will be responsible for the agreement of the session key (e.g., [80]). As mentioned earlier, the most desirable features of security protocols are connected with the implementation of the CIA triad (confidentiality, integrity, availability). Data confidentiality is critical in IoT environments. Any situation that threatens the security of such environments can contribute to the threat to users' privacy and their data. Data can be stolen and misused. Data confidentiality is essential in any situation, but it becomes crucial when communication concerns patients' health data. An excellent solution to secure data and thus ensure data confidentiality is the use of elliptic curve algorithms, which use the mathematics of elliptic curves. Usually, these algorithms are considered in the case of the Rivest-Shamir-Adleman algorithm as an alternative cryptographic method. Elliptic curve algorithms use a smaller key size than the Rivest-Shamir-Adleman algorithm. The second security feature is data integrity, ensuring data consistency, accuracy, and reliability. Here, the characteristic technology has become blockchain technology. Blockchain can be defined as a register of decentralized data that is securely shared between users. The data is divided into shared blocks, linked to unique identifiers in the form of cryptographic hashes. The use of blockchain technology enables accessible collection, integration, and sharing of data. The last security feature is availability, ensuring that access to data will be easy for authorized parties. We can use biometric techniques and physical unclonable functions to support data availability. Physical unclonable functions use randomness to give an object a unique \"fingerprint\". Thanks to this, only users or devices with defined permissions will gain access to data. Below in this Section, we will present a comprehensive review of the latest authentication protocols, including authentication protocols with key agreement phases for IoT solutions. We will deliver them, dividing them according to their use (medicine and healthcare, edge, industry, vehicles, drones, and general IoT solutions). This review will support the summary of the characteristics and features of the protocols that occurred in the IoT or WSN environments. [PERSON] et al. in [81] have proposed identity-based strong designated verifier signature authentication protocols for medical IoT solutions.