As companies experience more security breaches and data leakages (intentional or unintentional), there has been a need for systems that can provide stronger guarantees in face of these breaches. The goal of this line of research is to apply cryptographic techniques practically to secure web application databases and provide strong guarantees against realistic adversaries.
Many online services let users query public datasets such as maps, flight prices, or restaurant reviews. Unfortunately, the queries to these services reveal highly sensitive information that can compromise users’ privacy. Splinter is the first system to protect users’ queries on public data while scaling to realistic applications.
A user splits her query into multiple parts and sends each part to a different provider; each provider holds a copy of the data. As long as any one of the providers is honest and does not collude with the others, the providers cannot determine the query. Splinter uses and extends a new cryptographic primitive called Function Secret Sharing (FSS) that makes it significantly more efficient than prior systems based on Private Information Retrieval and garbled circuits. We develop protocols that extend FSS to new types of queries, such as maximum and top-K queries, as well as an optimized implementation of FSS using AES-NI instructions and multicores. Splinter achieves latencies below 1.2 seconds for realistic workloads including a Yelp clone, flight search, and map routing.
Sieve is a new platform which selectively (and securely) exposes user data to web services. Sieve has a user-centric storage model: each user uploads encrypted data to a single cloud store, and by default, only the user knows the decryption keys. Given this storage model, Sieve defines an infrastructure to support rich, legacy web applications.
Using attribute-based encryption, Sieve allows users to define intuitively understandable access policies that are cryptographically enforceable. Using key homomorphism, Sieve can re-encrypt user data on storage providers in situ, revoking decryption keys from web services without revealing new keys to the storage provider. Using secret sharing and two-factor authentication, Sieve protects cryptographic secrets against the loss of user devices like smartphones and laptops. The result is that users can enjoy rich, legacy web applications, while benefiting from cryptographically strong controls over which data a web service can access.
- Frank Wang (PhD)
- Cathie Yun (MEng)
- Prof. James Mickens (Harvard)
- Prof. Nickolai Zeldovich
- Prof. Vinod Vaikuntanathan
- Prof. Shafi Goldwasser
- Prof. Matei Zaharia (Stanford)
Splinter: Practical Private Queries on Public Data.
Frank Wang, Catherine Yun, Shafi Goldwasser, Vinod Vaikuntanathan, Matei Zaharia.
To Appear NSDI’17
Sieve: Cryptographically Enforced Access Control for User Data in Untrusted Clouds.
Frank Wang, James Mickens, Nickolai Zeldovich, Vinod Vaikuntanathan.
NSDI ‘16 (Slides)