An architecture-independent instruction shuffler to protect against side-channel attacks

Embedded cryptographic systems, such as smart cards, require secure implementations that are robust to a variety of low-level attacks. Side-Channel Attacks (SCA) exploit the information such as power consumption, electromagnetic radiation and acoustic leaking through the device to uncover the secret information. Attackers can mount successful attacks with very modest resources in a short time period. Therefore, many methods have been proposed to increase the security against SCA. Randomizing the execution order of the instructions that are independent, i.e., random shuffling, is one of the most popular among them. Implementing instruction shuffling in software is either implementation specific or has a significant performance or code size overhead. To overcome these problems, we propose in this work a generic custom hardware unit to implement random instruction shuffling as an extension to existing processors. The unit operates between the CPU and the instruction cache (or memory, if no cache exists), without any modification to these components. Both true and pseudo random number generators are used to dynamically and locally provide the shuffling sequence. The unit is mainly designed for in-order processors, since the embedded devices subject to these kind of attacks use simple in-order processors. More advanced processors (e.g., superscalar, VLIW or EPIC processors) are already more resistant to these attacks because of their built-in ILP and wide word size. Our experiments on two different soft in-order processor cores, i.e., OpenRISC and MicroBlaze, implemented on FPGA show that the proposed unit could increase the security drastically with very modest resource overhead. With around 2% area, 1.5% power and no performance overhead, the shuffler increases the effort to mount a successful power analysis attack on AES software implementation over 360 times.

[1]  Adi Shamir,et al.  Protecting Smart Cards from Passive Power Analysis with Detached Power Supplies , 2000, CHES.

[2]  Ingrid Verbauwhede,et al.  FPGA Vendor Agnostic True Random Number Generator , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[3]  Ingrid Verbauwhede,et al.  A logic level design methodology for a secure DPA resistant ASIC or FPGA implementation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[4]  Abraham Waksman,et al.  A Permutation Network , 1968, JACM.

[5]  Abdel Alim Kamal,et al.  An area-optimized implementation for AES with hybrid countermeasures against power analysis , 2009, 2009 International Symposium on Signals, Circuits and Systems.

[6]  Paul C. Kocher,et al.  Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems , 1996, CRYPTO.

[7]  Henk L. Muller,et al.  Non-deterministic Processors , 2001, ACISP.

[8]  Jean-Sébastien Coron,et al.  On Boolean and Arithmetic Masking against Differential Power Analysis , 2000, CHES.

[9]  Stefan Mangard,et al.  Power analysis attacks - revealing the secrets of smart cards , 2007 .

[10]  Yousaf Zafar,et al.  Random clocking induced DPA attack immunity in FPGAs , 2010, 2010 IEEE International Conference on Industrial Technology.

[11]  Francis Olivier,et al.  Electromagnetic Analysis: Concrete Results , 2001, CHES.

[12]  I. Verbauwhede,et al.  A dynamic and differential CMOS logic with signal independent power consumption to withstand differential power analysis on smart cards , 2002, Proceedings of the 28th European Solid-State Circuits Conference.

[13]  Luca Benini,et al.  Energy-aware design techniques for differential power analysis protection , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[14]  Ruby B. Lee,et al.  Single-Cycle Bit Permutations with MOMR Execution , 2005, Journal of Computer Science and Technology.

[15]  David Blaauw,et al.  True Random Number Generator With a Metastability-Based Quality Control , 2007, IEEE Journal of Solid-State Circuits.

[16]  Yusuf Leblebici,et al.  Low-power current mode logic for improved DPA-resistance in embedded systems , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[17]  Rinkle Rani Design and performance evaluation of multistage interconnection networks , 2010 .

[18]  Peter Alfke,et al.  Linear Feedback Shift Registers in Virtex Devices , 2001 .

[19]  E.Y. Lam,et al.  FPGA-based High-speed True Random Number Generator for Cryptographic Applications , 2006, TENCON 2006 - 2006 IEEE Region 10 Conference.

[20]  Xilinx Family Efficient Shift Registers, LFSR Counters, and Long Pseudo- Random Sequence Generators , 1996 .

[21]  Christophe Giraud,et al.  An Implementation of DES and AES, Secure against Some Attacks , 2001, CHES.

[22]  F. Madlener,et al.  Novel hardening techniques against differential power analysis for multiplication in GF(2n) , 2009, 2009 International Conference on Field-Programmable Technology.

[23]  Ruby B. Lee,et al.  Arbitrary bit permutations in one or two cycles , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[24]  Stefan Mangard,et al.  Protecting AES Software Implementations on 32-Bit Processors Against Power Analysis , 2007, ACNS.

[25]  J.-L. Danger,et al.  Fast True Random Generator in FPGAs , 2007, 2007 IEEE Northeast Workshop on Circuits and Systems.

[26]  Siva Sai Yerubandi,et al.  Differential Power Analysis , 2002 .

[27]  Ruby B. Lee,et al.  Efficient permutation instructions for fast software cryptography , 2001 .

[28]  Bruce Schneier,et al.  Cryptanalytic Attacks on Pseudorandom Number Generators , 1998, FSE.

[29]  A. Suciu,et al.  Design and implementation of a high quality TRNG in FPGA , 2008, 2008 4th International Conference on Intelligent Computer Communication and Processing.

[30]  Trevor Mudge,et al.  True Random Number Generator With a Metastability-Based Quality Control , 2008, IEEE J. Solid State Circuits.

[31]  Christof Paar,et al.  KeeLoq and Side-Channel Analysis-Evolution of an Attack , 2009, 2009 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC).

[32]  Peter Alfke,et al.  Efficient Shift Registers, LFSR Counters, and Long Pseudo Random Sequence Generators , 1995 .

[33]  Wei Cui,et al.  VLSI implementation of universal random number generator , 2002, Asia-Pacific Conference on Circuits and Systems.

[34]  Huang Zhun,et al.  A truly random number generator based on thermal noise , 2001, ASICON 2001. 2001 4th International Conference on ASIC Proceedings (Cat. No.01TH8549).

[35]  Eran Tromer,et al.  Acoustic cryptanalysis : on nosy people and noisy machines , 2004 .

[36]  Christophe Clavier,et al.  Correlation Power Analysis with a Leakage Model , 2004, CHES.

[37]  Johannes Blömer,et al.  Provably Secure Masking of AES , 2004, IACR Cryptol. ePrint Arch..

[38]  Vincent Rijmen,et al.  A Side-Channel Analysis Resistant Description of the AES S-Box , 2005, FSE.