Lightweight Software Encryption for Embedded Processors

Over the last 30 years, a number of secure processor architectures have been proposed to protect software integrity and confidentiality during its distribution and execution. In such architectures, encryption (together with integrity checking) is used extensively, on any data leaving a defined secur...

Full description

Saved in:
Bibliographic Details
Published inPsicologia, teoria e pesquisa
Main Authors Hiscock, Thomas, Savry, Olivier, Goubin, Louis
Format Journal Article
LanguageEnglish
Published Universidade de Brasília 28.09.2017
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Over the last 30 years, a number of secure processor architectures have been proposed to protect software integrity and confidentiality during its distribution and execution. In such architectures, encryption (together with integrity checking) is used extensively, on any data leaving a defined secure boundary. In this paper, we show how encryption can be achieved at the instruction level using a stream cipher. Thus encryption is more lightweight and efficient, and is maintained deeper in the memory hierarchy than the natural off-chip boundary considered in most research works. It requires the control flow graph to be used and modified as part of the off-line encryption process, but thanks to the LLVM framework, it can be integrated easily in a compiler pipeline, and be completely transparent to the programmer. We also describe hardware modifications needed to support this encryption method, the latter were added to a 32 bit MIPS soft core. The synthesis performed on a Altera Cyclone V FPGA shows that encryption requires 26% of extra logic, while slowingdown execution time by an average of 48% in the best setting.
ISSN:0102-3772
1806-3446