PH.D DEFENCE - PUBLIC SEMINAR

Efficient Privacy-Preserving Computation with Trusted Hardware

Speaker
Ms Tople Shruti Shrikan
Advisor
Dr Prateek Saxena, Associate Professor, School of Computing


29 Jun 2018 Friday, 12:30 PM to 02:00 PM

Executive Classroom, COM2-04-02

Abstract: Cloud applications offer various services ranging from storage to highly complex computation on large-scale user data, thus exposing users' data to several privacy and security breaches. In practice, many believe that encrypting data and secure cryptographic key management is a panacea for these breaches. In this thesis, we investigate the challenges in securely computing on encrypted data while addressing side-channel leakages. We propose efficient privacy-preserving solutions that use a novel combination of cryptographic techniques and trusted hardware primitives.

First, we present AutoCrypt' a switchable homomorphic engine that converts between 3 partially-homomorphic encryption schemes that support encrypted search, addition and multiplication. To ensure secure conversion between these schemes, AutoCrypt depends on a small trusted software-base that can be realized using any trusted hardware primitive (such as TPM, Intel SGX). This allows us to implement the capabilities of fully homomorphic encryption schemes while maintaining an acceptable performance overhead. Further, we build a compiler to automate the process of converting existing C programs to autocrypted programs. Even with encrypted computation enabled, side-channels such as data access patterns, timing and length can reveal private information while computing on encrypted data. We study existing defenses that hide leakage via these side- channels and understand their limits in practice. We demonstrate that hiding all the channels is a must as blocking a single channel often shifts the leakage to another. We present an intractability result which states that blocking leakage from length and timing channels incurs an exponential overhead in certain real-world applications.

Further, we observe that there are randomized approaches, such as Oblivious RAM that can hide data access patterns without incurring a worst-case overhead. Oblivious RAM is a cryptographic primitive that hides leakage via data access patterns with at best logarithmic overhead in the general case i.e., arbitrary read / write accesses. We investigate whether the logarithmic overhead can be reduced to incur optimal efficiency for a large class of applications. To this end, we present two systems Pro-Oram and PermuteRam that improve over the performance of standard ORAM solutions in case of specific applications using trusted hardware primitives. Pro-Oram incurs a constant latency for cloud services with read-heavy access patterns while PermuteRam demonstrates optimal performance for specific algorithms that have linear or super-linear complexities. In both these solutions, we show that exploiting specific structures/patterns of data accesses in cloud applications allows us to design effective solutions.