Instruction Set Extensions for secure applications

The main goal of this paper is to expose the community to past achievements and future possible uses of Instruction Set Extension (ISE) in security applications. Processor customization has proven to be an effective way for achieving high performance with limited area and energy overhead for several applications, ranging from signal processing to graphical computation. Concerning cryptographic algorithms, a large body of work exists on speeding up block ciphers and asymmetric cryptography with specific ISEs. These algorithms often mix non-standard operations with regular ones, thus representing an ideal target for being accelerated with dedicated instructions. Tools supporting automatic generations of ISEs demonstrated to be useful for algorithm exploration, while secure instructions can increase the robustness against side channels attacks of software routines. In this paper, we discuss how processor customization and the relative tool chains can be used by designers to address security problems and we highlight possible research directions.

[1]  Stefan Tillich,et al.  Boosting AES Performance on a Tiny Processor Core , 2008, CT-RSA.

[2]  Thomas S. Messerges,et al.  Securing the AES Finalists Against Power Analysis Attacks , 2000, FSE.

[3]  Andreas Peter Burg,et al.  Investigating the Potential of Custom Instruction Set Extensions for SHA-3 Candidates on a 16-bit Microcontroller Architecture , 2012, IACR Cryptol. ePrint Arch..

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

[5]  Guido Bertoni,et al.  Speeding Up AES By Extending a 32 bit Processor Instruction Set , 2006, IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP'06).

[6]  R. Schroeppel,et al.  Towards High Performance Cryptographic Software , 1995, Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

[7]  Johann Großschädl,et al.  Instruction Set Extensions for Efficient AES Implementation on 32-bit Processors , 2006, CHES.

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

[9]  Andreas Peter Burg,et al.  Instruction Set Extensions for Cryptographic Hash Functions on a Microcontroller Architecture , 2012, 2012 IEEE 23rd International Conference on Application-Specific Systems, Architectures and Processors.

[10]  Johann Großschädl,et al.  Power Analysis Resistant AES Implementation with Instruction Set Extensions , 2007, CHES.

[11]  Paolo Ienne,et al.  Combining Algorithm Exploration with Instruction Set Design: A Case Study in Elliptic Curve Cryptography , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[12]  Johann Großschädl,et al.  Instruction Set Extensions for Fast Arithmetic in Finite Fields GF( p) and GF(2m) , 2004, CHES.

[13]  Paolo Ienne,et al.  Exploiting pipelining to relax register-file port constraints of instruction-set extensions , 2005, CASES '05.

[14]  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.

[16]  Johann Großschädl,et al.  Accelerating AES Using Instruction Set Extensions for Elliptic Curve Cryptography , 2005, ICCSA.

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

[18]  Stéphane Badel,et al.  A Design Flow and Evaluation Framework for DPA-Resistant Instruction Set Extensions , 2009, CHES.

[19]  T. Austin,et al.  Architectural support for fast symmetric-key cryptography , 2000, ASPLOS IX.