Hardware Evaluation of a Lightweight Secure Communication Protocol for Constrained IoT Devices
Abstract
This paper details the design and hardware evaluation of a lightweight communication protocol for constrained Internet of Things (IoT) devices. The design was implemented on one single Nordic nRF52840 Development Kit (ARM Cortex-M4F, 64 MHz) with the help of Zephyr OS, using the micro-ECC library for ECDH key exchange on the secp256r1 curve and TinyCrypt library for key derivation and AES-128-CCM cipher suite. It took 31,405,906 CPU cycles in a handshake operation that comprised generation of key pair, deriving shared secret, key derivation and encryption of 128-byte transcript using AES-CCM, which was performed ten times without variation, taking about 491 ms at 64 MHz frequency. Energy profiling using the Nordic Power Profiler Kit II over a 447.2 ms time window revealed an energy consumption of about 32.8 mJ. The implementation consumes 39 KB Flash and 13 KB RAM, corresponding to 3.8% and 5.1% of the device resource pool, respectively. On an individual stage level, ECDH scalar multiplication over secp256r1 is responsible for 99.8% of the overall cycle count, whereas HKDF-SHA256 and AES-128-CCM cover 0.2% together. The protocol provides key agreement and authenticated encryption but lacks public key authentication functionality. This shows that the full protocol could be implemented on an IoT device with reasonable resource usage, and that hardware evaluation gives a good point of reference for future optimizations.