Secure Execution Architecture based on PUF-driven Instruction Level Code Encryption

Stephan Kleber, Florian Unterstein, Matthias Matousek, Frank Kargl, Frank Slomka, Matthias Hiller · 2015

Abstract. A persistent problem with program execution, despite nu-merous mitigation attempts, is its inherent vulnerability to the injec-tion of malicious code. Equally unsolved is the susceptibility of firmware to reverse engineering, which undermines the manufacturer’s code con-fidentiality. We propose an approach that solves both kinds of security problems employing instruction-level code encryption combined with the use of a physical unclonable function (PUF). Our novel Secure Execution PUF-based Processor (SEPP) architecture is designed to minimize the attack surface, as well as performance impact, and requires no significant changes to the development process. This is possible based on a tight integration of a PUF directly into the processor’s instruction pipeline. Furthermore, cloud scenarios and distributed embedded systems alike inherently depend on remote execution; our approach supports this, as the secure execution environment needs not to be locally available at the developers site. We implemented an FPGA-based prototype based on the OpenRISC Reference Platform. To assess our results, we performed a security analysis of the processor and evaluated the performance im-pact of the encryption. We show that the attack surface is significantly reduced compared to previous approaches while the performance penalty is at a reasonable factor of about 1.5. 1

Read the paper · More papers on PaperTik