# Defense and Security Mechanisms in the Internet of Things: A Review
## 3 Materials and Methods
### Encryption and Cryptographic Mechanisms  
Cryptography is the process of developing mechanisms and techniques that help in enhancing the level of security of communication as well as data integrity [47; 48; 49]. Among the cryptographic mechanisms, we can indicate the following:  
* Encryption (symmetric or asymmetric) [48; 50; 51; 52]--processing plain text using mathematical techniques into a secret text that can only be read by those who know the appropriate key (for example, AES [53], RSA [54]). * Hash functions [55; 56]--a function that assigns a short value of fixed size to an arbitrarily large number (for example, SHA-256 [57], bcrypt [58]). \begin{table}
\begin{tabular}{l l l} \hline \hline
**Platform** & **Application, Features, Security Enhancement** & **References** \\ \hline IBM Watson IoT & \(\bullet\) & Smart energy grids, logistics optimisation, and industrial automation & [42] \\  & \(\bullet\) & AI-driven insights, secure API usage, and robust analytics for IoT data & \\  & \(\bullet\) & Deploying key agreement protocols to secure API communication, leveraging IDSs to & \\  & & detect and mitigate insider attacks or malicious API requests & \\ \hline ThingSpeak & \(\bullet\) & Real-time IoT monitoring, academic projects, and prototyping for smart agriculture or & [43] \\  & & home automation & \\  & & Simple API for data collection and real-time visualisation & \\  & & Using lightweight IDSs to monitor for impersonation or guessing attacks in low-power & \\  & & environments & \\ \hline \hline \end{tabular}
\end{table} 
Table 2: _Cont._  
Figure 1: Word cloud with IoT solutions. * Digital signature algorithms--generating digital signatures that ensure the integrity and authentication of the sender (for example, Elliptic Curve Digital Signature Algorithm [59]). Each of these techniques is widely used during communication via security protocols. A security protocol is simply a recipe that defines a sequence of steps that must be followed to conduct secure communication. It has a set of rules defining how devices in a computer network should communicate securely. There are a few main reasons for adopting security protocols. First, the data are encrypted thanks to protocols, i.e., converted into an unreadable code only authorised people can read. Second, protocols allow us to ensure that we communicate with the right person or device and not with an imposter. And finally, thanks to protocols, we can be sure that the transmitted data have not been changed during its journey through the network. This translates into the objectives that security protocols achieve: they can involve one side or mutual authentication among the parties engaged in communication. Maintaining the confidentiality of transmitted information is crucial; however, it also ensures the data's integrity. Additionally, distributing the session key is essential for secure interactions. Although these elements are distinct, they collectively contribute to a robust security framework because they address various aspects of data protection. Security protocols can accomplish one or more goals, depending on what they were designed for. Security protocols designed for IoT systems also accomplish other tasks because they are usually dedicated to specific applications of the systems [1,60]. The security protocols achieve these goals using such cryptographic methods as blockchain [61], chaotic maps [62], visual cryptography [63], Physically Unlonable Functions (PUFs) [64], fuzzy extraction technology [65], hash functions and bitwise XOR operations, Elliptic Curve Cryptography (ECC) [66,67], Computational Diffie-Hellman [68], and the Schnorr signature protocol [69]. Once the necessity for security in IoT systems is addressed, the next step is to include the CIA triad into such systems: confidentiality, integrity, and availability. This piece aims to guide the formulation of security policy. Confidentiality prevents unauthorised access to sensitive information.