Cryptology ePrint Archive: Report 2019/423

Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name

Peter T. Breuer

Abstract: An `obfuscation' for the encrypted computing context is quantified exactly here, leading to an argument that security against polynomial-time attacks has been achieved for user data, with or without encryption. Encrypted computing is the emerging science and technology of processors that take encrypted inputs to encrypted outputs via encrypted intermediate values (at nearly conventional speeds). The aim is to make user data in general-purpose computing secure against the operator and operating system as potential adversaries. A stumbling block has always been that memory addresses are data and good encryption means the encrypted value varies randomly,and that makes hitting any target in memory problematic without address decryption, but decryption anywhere on the memory path would open up many easily exploitable vulnerabilities. This paper `solves compilation' for processors without address decryption, covering all of ANSI C while satisfying the required security properties and opening up encrypted computing for the standard software tool-chain and infrastructure. The new understanding produces the argument referred to above.

Category / Keywords: applications / Encrypted computing, Compilers, Obfuscation, Data Security

Original Publication (with major differences): 1st Annual International Workshop on Software Hardware Interaction Faults (SHIFT'19), IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW'19)
DOI:
10.1109/ISSREW.2019.00106

Date: received 24 Apr 2019, last revised 28 Oct 2019

Contact author: Peter T Breuer at gmail com

Available format(s): PDF | BibTeX Citation

Note: The middle third of the original paper, dealing with deliberately using encryption as a source of maximally chaotic hardware aliasing to be coped with via techniques for software compilation safe against hardware aliasing, has been extensively revised and published as "Chaotic Compilation: A (Statistical) Cloak for a Secret Computer" in Proc. 1st Annual International Workshop on Software Hardware Interaction Faults (SHIFT'19) at IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW'19), Berlin, Oct. 2019, and that is available from the IEEE via the DOI 10.1109/ISSREW.2019.00106 . Some other elements of the original paper, notably those dealing with the calculation of the amount of entropy injected into runtime traces by different compiler and source code constructs, have been published as "A Calculus of Chaos in Stochastic Compilation: Engineering in the Cause of Mathematics" in the 9th International Workshop on Open Community approaches to Education, Research and Technology (OpenCert'19) at the Third World Congress on Formal Methods (FM'19), Porto, Portugal, Oct. 2019, and will appear in Springer LNCS. A DOI is not yet available but the publication has a fully open access license and pre-proceedlings, proceedings and post-proceedings preprints of it are made available via EasyChair.com's preprint service and can be readily found via search engine.

Version: 20191028:061005 (All versions of this report)

Short URL: ia.cr/2019/423


[ Cryptology ePrint archive ]