Publications
Secure computing using cryptographic assurance of execution correctness
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).