## 6 Security Solutions  
In this section, we review the existing security methods used for mitigating IoT attacks. We classify the contemporary security schemes into three domains: end-device security, communication security, and service security. Figure 15 presents the classification of the security solutions from these three domains. We summarize prior solutions protecting the IoT devices from different attack surfaces and mitigating vulnerabilities in Table 6.  
Figure 15: Classification of the existing security schemes.  
End-device security protects IoT devices from host compromise attacks, such as software and hardware tampering. End-device security methods ensure the integrity of the embedded software and system booting process, protect on-chip storage from micro-probing, and provide a secure execution environment that isolates the computation of the trusted and untrusted software. Communication security provides authentication for device-to-device communications and ensures confidentiality, integrity, and non-repudiation of the information exchanged between devices. Finally, service security protects IoT devices and their resources from unauthorized access.  
Since a comparative survey is one of the key objectives of this article, the performance of the aforementioned security solutions is evaluated in terms of the functional security properties described in Section 5.3. The analysis eventually determines the usability of the existing security methods for IoT systems. Table 7 summarizes the performance metrics of interest in this regard.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Aspects** & **Threats** & **Mitigation** & **Schemes** \\ \hline \multirow{4}{*}{Device Security} & Software & Secure Execution & [106; 107; 108; 109] \\ \cline{3-4}  & Compromise & Secure Bootstrap & [110] \\ \cline{2-4}  & Hardware & Secure Debug & [111; 112; 113] \\ \cline{2-4}  & Compromise & Secure Storage & [114; 115; 116] \\ \hline \multirow{4}{*}{Network Layer Security} & Identity Impersonation & Authentication and Encryption Using Host Identity & Distributed [118] \\ \cline{2-4}  & Information Disclosure & Protocol (HIP) & Tiny Exchange [120; 121] \\ \cline{2-4}  & Identity & Authentication and Encryption Using Host Identity & Diet Exchange [120; 121] \\ \cline{2-4}  & Disclosure & Protocol (HIP) & Slimfit [120] \\ \cline{2-4}  & Identity & Authentication and Encryption Using DTLS & Pre-Shared Key [122; 123; 124; 125] \\ \hline \multirow{4}{*}{Transport layer Security} & Information Disclosure & Authentication and Encryption Using DTLS & Certificate-based [128] \\ \cline{2-4}  & Information Disclosure & Authentication and Encryption Using DTLS & DTLS-PSK[122; 125; 129] \\ \cline{2-4}  & \multirow{2}{*}{Information Disclosure} & Encryption Using DTLS & Modified [130] \\ \cline{2-4}  & & & Delegated [131; 132; 133] \\ \hline \multirow{4}{*}{Application Layer Security} & \multirow{4}{*}{Unauthorized Access} & Role-based Access Control (RBAC) & Centralized [134] \\ \cline{3-4}  & & & Context-aware [135] \\ \cline{1-1} \cline{3-4}  & & & Centralized [136; 137; 138] \\ \cline{1-1} \cline{3-4}  & & & Distributed [139; 140; 141] \\ \cline{1-1} \cline{3-4}  & & & Control & Context-Aware [142] \\ \cline{1-1} \cline{3-4}  & & & OAuth Compliant [143; 144] \\ \hline \hline \end{tabular}
\end{table}
Table 6: Summary of the available solutions to mitigate IoT threats.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Property** & \multicolumn{2}{c}{**Highlights**} \\ \hline \multirow{2}{*}{Memory Requirement (MR)} & The total number of bytes required to store public keys (\(m_{pk}\)), private keys (\(m_{sk}\)), and certificates (\(m_{ct}\)) in volatile and non-volatile memory. \(MR=\sum(m_{pk},m_{sk},m_{ct})_{ROM}+\sum(m_{pk},m_{sk},m_{ct})_{RAM}\) \\ \cline{2-4}  & & \\ \hline \hline \end{tabular}
\end{table}
Table 7: A list of metrics used to analyze the performance of contemporary security schemes.