Paper 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.

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.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Published elsewhere. MAJOR revision.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
Keywords
Encrypted computingCompilersObfuscationData Security
Contact author(s)
Peter T Breuer @ gmail com
History
2019-10-28: last of 2 revisions
2019-04-27: received
See all versions
Short URL
https://ia.cr/2019/423
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2019/423,
      author = {Peter T.  Breuer},
      title = {Chaotic Compilation for Encrypted Computing: Obfuscation but Not in Name},
      howpublished = {Cryptology ePrint Archive, Paper 2019/423},
      year = {2019},
      doi = {10.1109/ISSREW.2019.00106},
      note = {\url{https://eprint.iacr.org/2019/423}},
      url = {https://eprint.iacr.org/2019/423}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.