On Security in Encrypted Computing

Encrypted computing is an emerging approach to security and privacy of user data on a computing system with respect to the operating system and other powerful insiders as adversaries. It is based on a processor that ‘works encrypted’, taking encrypted inputs to encrypted outputs while data remains in encrypted form throughout processing. An appropriate machine code instruction set is required, plus an ‘obfuscating’ compiler, and then the three part system provably provides cryptographic semantic security for user data, given that the encryption is independently secure. In other words, encrypted computing does not compromise the encryption. This paper presents the developing theory.

[1]  Peter T. Breuer,et al.  On Obfuscating Compilation for Encrypted Computing , 2017, SECRYPT.

[2]  Nektarios Georgios Tsoutsos,et al.  The HEROIC Framework: Encrypted Computation Without Shared Keys , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Silvio Micali,et al.  Probabilistic encryption & how to play mental poker keeping secret all partial information , 1982, STOC '82.

[4]  Michael Naehrig,et al.  Improved Security for a Ring-Based Fully Homomorphic Encryption Scheme , 2013, IMACC.

[5]  Peter Schartner,et al.  On the Security of a Universal Cryptocomputer: the Chosen Instruction Attack , 2016, IEEE Access.

[6]  Henk C. A. van Tilborg,et al.  Encyclopedia of Cryptography and Security, 2nd Ed , 2005 .

[7]  Frederik Vercauteren,et al.  Modular Hardware Architecture for Somewhat Homomorphic Function Evaluation , 2015, CHES.

[8]  Donald J. Patterson,et al.  Computer organization and design: the hardware-software interface (appendix a , 1993 .

[9]  David Hardin Real-time objects on the bare metal: an efficient hardware realization of the Java/sup TM/ Virtual Machine , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[10]  Reinhold Weicker,et al.  Dhrystone: a synthetic systems programming benchmark , 1984, CACM.

[11]  Ruby B. Lee,et al.  Covert and Side Channels Due to Processor Architecture , 2006, 2006 22nd Annual Computer Security Applications Conference (ACSAC'06).

[12]  Peter T. Breuer,et al.  A Fully Homomorphic Crypto-Processor Design , 2013, ESSoS.

[13]  Srinivas Devadas,et al.  A secure processor architecture for encrypted computation on untrusted programs , 2012, STC '12.

[14]  Christos Gkantsidis,et al.  VC3: Trustworthy Data Analytics in the Cloud Using SGX , 2015, 2015 IEEE Symposium on Security and Privacy.

[15]  J. H. Conway FRACTRAN: A Simple Universal Programming Language for Arithmetic , 1987 .

[16]  Brent Waters,et al.  Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based , 2013, CRYPTO.

[17]  Peter T. Breuer,et al.  Superscalar Encrypted RISC: The Measure of a Secret Computer , 2018, 2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/ 12th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE).

[18]  Alex Biryukov Known plaintext attack , 2005, Encyclopedia of Cryptography and Security.

[19]  Siva Sai Yerubandi,et al.  Differential Power Analysis , 2002 .

[20]  Johannes Götzfried,et al.  Cache Attacks on Intel SGX , 2017, EUROSEC.

[21]  Martin Schoeberl Java Technology in an FPGA , 2004, FPL.

[22]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[23]  Craig Gentry,et al.  Implementing Gentry's Fully-Homomorphic Encryption Scheme , 2011, EUROCRYPT.

[24]  David A. Patterson,et al.  Reduced instruction set computers , 1985, CACM.

[25]  Sri Parameswaran,et al.  CryptoBlaze: A partially homomorphic processor with multiple instructions and non-deterministic encryption support , 2018, 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC).