| Literature DB >> 30577524 |
Manuel Suárez-Albela1, Paula Fraga-Lamas2, Luis Castedo3, Tiago M Fernández-Caramés4.
Abstract
Modern Internet of Things (IoT) systems have to be able to provide high-security levels, but it is difficult to accommodate computationally-intensive cryptographic algorithms on the resource-constrained hardware used to deploy IoT end nodes. Although this scenario brings the opportunity for using advanced security mechanisms such as Transport Layer Security (TLS), several configuration factors impact both the performance and the energy consumption of IoT systems. In this study, two of the most used TLS authentication algorithms (ECDSA and RSA) were compared when executed on a resource-constrained IoT node based on the ESP32 System-on-Chip (SoC), which was tested at different clock frequencies (80, 160 and 240 MHz) when providing different security levels (from 80 to 192 bits). With every tested configuration, energy consumption and average time per transaction were measured. The results show that ECDSA outperforms RSA in all performed tests and that certain software implementations may lead to scenarios where higher security-level alternatives outperform cryptosystems that are theoretically simpler and lighter in terms of energy consumption and data throughput. Moreover, the performed experiments allow for concluding that higher clock frequencies provide better performance in terms of throughput and, in contrast to what may be expected, less energy consumption.Entities:
Keywords: ECC; ECDSA; IoT; IoT security; RSA; TLS; energy efficiency; power consumption
Year: 2018 PMID: 30577524 PMCID: PMC6338922 DOI: 10.3390/s19010015
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Cloud-centric IoT architecture vs. edge computing IoT architecture.
Comparable strengths for symmetric, RSA and ECDSA ciphers [30].
| Security | Symmetric | RSA | ECDSA |
|---|---|---|---|
| Level | Key Algorithms | Key Size | Curve |
| 80 | 2TDEA | 1024 bits | prime192v1 |
| 112 | 3TDEA | 2048 bits | secp224r1 |
| 128 | AES-128 | 3072 bits | secp256r1 |
| 192 | AES-192 | 7680 bits | secp384r1 |
Figure 2General testbed architecture.
Figure 3Implemented energy measurement testbed.: (A) ESP32-DevKitC; (B) INA219; and (C) Orange Pi PC.
Figure 4Energy consumption grouped by SoC frequency for the different tested RSA key sizes.
Figure 5Energy consumption grouped by SoC frequency for the different tested ECDSA curves.
Energy consumption reduction (in percentage) of ECDSA in comparison to RSA.
| Frequency (MHz) | 80-bit | 112-bit | 128-bit |
|---|---|---|---|
| 80 | 39.64 | 42.76 | 68.21 |
| 160 | 26.36 | 35.30 | 65.64 |
| 240 | 35.75 | 22.65 | 65.59 |
Figure 6Energy consumption of secp224r1 and secp256r1 curves without NIST modulo p optimizations (ESP32@240 MHz).
Average time per request (seconds) for the tested RSA key sizes, ECC curves and SoC frequency combinations.
| RSA Key Sizes | ECC Curves | ||||||
|---|---|---|---|---|---|---|---|
| Frequency (MHz) | RSA 1024 | RSA 2048 | RSA 3072 | prime192v1 | secp224r1 | secp256r1 | secp384r1 |
| 80 | 2.11 | 3.33 | 7.51 | 1.21 | 1.84 | 2.31 | 3.23 |
| 160 | 1.16 | 1.86 | 3.84 | 0.83 | 1.16 | 1.27 | 1.75 |
| 240 | 0.89 | 1.21 | 2.63 | 0.55 | 0.99 | 0.88 | 1.20 |