Computation on Encrypted Data using Dataflow Authentication

Authors: Andreas Fischer (SAP Security Research, Karlsruhe, Germany), Benny Fuhry (SAP Security Research, Karlsruhe, Germany), Florian Kerschbaum (School of Computer Science, University of Waterloo, Canada), Eric Bodden (Heinz Nixdorf Institute, University of Paderborn, Germany:)

Volume: 2020
Issue: 1
Pages: 5–25
DOI: https://doi.org/10.2478/popets-2020-0002

Download PDF

Abstract: Encrypting data before sending it to the cloud protects it against attackers, but requires the cloud to compute on encrypted data. Trusted modules, such as SGX enclaves, promise to provide a secure environment in which data can be decrypted and then processed. However, vulnerabilities in the executed program, which becomes part of the trusted code base (TCB), give attackers ample opportunity to execute arbitrary code inside the enclave. This code can modify the dataflow of the program and leak secrets via SGX side-channels. Since any larger code base is rife with vulnerabilities, it is not a good idea to outsource entire programs to SGX enclaves. A secure alternative relying solely on cryptography would be fully homomorphic encryption. However, due to its high computational complexity it is unlikely to be adopted in the near future. Researchers have made several proposals for transforming programs to perform encrypted computations on less powerful encryption schemes. Yet current approaches do not support programs making control-flow decisions based on encrypted data. We introduce the concept of dataflow authentication (DFAuth) to enable such programs. DFAuth prevents an adversary from arbitrarily deviating from the dataflow of a program. Our technique hence offers protections against the side-channel attacks described above. We implemented DFAuth using a novel authenticated homomorphic encryption scheme, a Java bytecode-tobytecode compiler producing fully executable programs, and an SGX enclave running a small and programindependent TCB. We applied DFAuth to an existing neural network that performs machine learning on sensitive medical data. The transformation yields a neural network with encrypted weights, which can be evaluated on encrypted inputs in 0.86 s.

Keywords: Dataflow Authentication, Trusted Code Base, Homomorphic Encryption, Authenticated Encryption, Secure Cloud Computing

Copyright in PoPETs articles are held by their authors. This article is published under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 license.