Secure computing using cryptographic assurance of execution correctness
Lyndon Pierson, Philip Campbell, John Eldridge, Perry Robertson, Thomas D. Tarman, Edward L. Witzke · 2005
Current computing architectures are "inherently insecure" because they are designed to execute ANY arbitrary sequence of instructions. As a result they are subject to subversion by malicious code. Our goal is to produce a cryptographic method of "tamper-proofing" trusted code over a large portion of the software life cycle. We have developed a technique called "faithful execution", to cryptographically protect instruction sequences from subversion. This paper presents an overview of, and the lessons learned from, our implementations of faithful execution in a Java virtual machine prototype and also in a configurable soft-core processor implemented in a field programmable gate array (FPGA).