Title :
The MEET Approach: Securing Cryptographic Embedded Software Against Side Channel Attacks
Author :
Agosta, Giovanni ; Barenghi, Alessandro ; Pelosi, Gerardo ; Scandale, Michele
Author_Institution :
Dept. of Electron., Inf. & Bioeng., Politec. di Milano, Milan, Italy
Abstract :
We propose an efficient and effective methods to secure software implementations of cryptographic primitives on low-end embedded systems, against passive side channel attacks relying on the observation of power consumption or electro-magnetic emissions. The proposed approach exploits a modified LLVM compiler toolchain to automatically generate a secure binary characterized by a randomized execution flow. We improve the current state-of-the-art in dynamic executable code countermeasures removing the requirement of a writable code segment, and reducing the countermeasure overhead. Also, we provide a new method to refresh the random values employed in the share splitting approaches to lookup table protection. Finally, we devise an automated approach to protect spill actions onto the main memory, which are inserted by the compiler backend register allocator when there is a lack of available registers, thus, removing the need for manual assembly inspection. We report a validation of the performances of our approach on all the current ISO-standard block ciphers, employing an ARM Cortex-M4 based microcontroller as the validation platform.
Keywords :
cryptography; electromagnetic fields; embedded systems; microcontrollers; optimising compilers; power consumption; table lookup; ARM Cortex-M4 based microcontroller; ISO-standard block ciphers; MEET approach; compiler backend register allocator; cryptographic embedded software; cryptographic primitives; dynamic executable code countermeasures; electromagnetic emissions; lookup table protection; low-end embedded systems; manual assembly inspection; modified LLVM compiler toolchain; passive side channel attacks; power consumption observation; randomized execution flow; share splitting approach; side channel attacks; Ciphers; Hardware; Optimization; Power demand; Registers; Automated Countermeasure Application; Automated countermeasure application; Code Morphing; Compilers; Side Channel Attacks; code morphing; compilers; side channel attacks (SCAs);
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2015.2430320