TY - GEN
T1 - Secure computation of MIPS machine code
AU - Wang, Xiao
AU - Gordon, S. Dov
AU - McIntosh, Allen
AU - Katz, Jonathan
N1 - Funding Information:
The authors thank Elaine Shi for helpful discussions in the early stages. This research was developed with funding from the Defense Advanced Research Projects Agency (DARPA). Work of Xiao Wang and Jonathan Katz was additionally supported in part by NSF awards #1111599 and #1563722. The views, opinions, and/or findings contained in this work are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.
PY - 2016
Y1 - 2016
N2 - Existing systems for secure computation require programmers to express the program to be securely computed as a circuit, or in a domain-specific language that can be compiled to a form suitable for applying known protocols. We propose a new system that can securely execute native MIPS code with no special annotations. Our system allows programmers to use a language of their choice to express their programs, together with any off-the-shelf compiler to MIPS; it can be used for secure computation of "legacyä MIPS code as well. Our system uses oblivious RAM for fetching instructions and performing load/store operations in memory, and garbled universal circuits for the execution of a MIPS CPU in each instruction step. We also explore various optimizations based on an offline analysis of the MIPS code to be executed, in order to minimize the overhead of executing each instruction while still maintaining security.
AB - Existing systems for secure computation require programmers to express the program to be securely computed as a circuit, or in a domain-specific language that can be compiled to a form suitable for applying known protocols. We propose a new system that can securely execute native MIPS code with no special annotations. Our system allows programmers to use a language of their choice to express their programs, together with any off-the-shelf compiler to MIPS; it can be used for secure computation of "legacyä MIPS code as well. Our system uses oblivious RAM for fetching instructions and performing load/store operations in memory, and garbled universal circuits for the execution of a MIPS CPU in each instruction step. We also explore various optimizations based on an offline analysis of the MIPS code to be executed, in order to minimize the overhead of executing each instruction while still maintaining security.
UR - http://www.scopus.com/inward/record.url?scp=84990861729&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84990861729&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-45741-3_6
DO - 10.1007/978-3-319-45741-3_6
M3 - Conference contribution
AN - SCOPUS:84990861729
SN - 9783319457406
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 99
EP - 117
BT - Computer Security - 21st European Symposium on Research in Computer Security, ESORICS 2016, Proceedings
A2 - Katsikas, Sokratis
A2 - Meadows, Catherine
A2 - Askoxylakis, Ioannis
A2 - Ioannidis, Sotiris
PB - Springer Verlag
T2 - 21st European Symposium on Research in Computer Security, ESORICS 2016
Y2 - 26 September 2016 through 30 September 2016
ER -