University of California, Berkeley
Wenting Zheng is a PhD candidate in the Computer Science department at UC Berkeley, co-advised by Raluca Ada Popa and Ion Stoica. She completed her bachelor’s and master of engineering at MIT, where she was advised by Barbara Liskov. Her research focuses on building practical systems for secure collaborative computation, where multiple organizations can jointly run a computation without revealing any party’s data to other parties. She is the recipient of a Berkeley Fellowship from 2014-2016, and an IBM Research fellowship from 2017-2018.
Recently, we have seen an increased interest in collaborative computation, where multiple organizations want to jointly compute a function over every party’s data. Unfortunately, collaborative computation requires sharing data, and many parties hold sensitive data that cannot be shared in plaintext with other organizations due to various limiting factors including data privacy concerns, policy regulation, and business competition.
My overall approach to solving this problem is to combine cryptography and systems techniques in order to build practical systems with strong security that allow organizations to share but not show their sensitive data. My thesis has explored building such systems in two paradigms. In the cloud-based paradigm, I built a SQL analytics database called Opaque that uses secure hardware enclaves to not only provide strong encryption of sensitive data, but also to protect against memory and network based side-channel attacks by leveraging new distributed oblivious algorithms. In the decentralized paradigm, I took an alternative approach that uses a purely cryptographic tool called secure multi-party computation (MPC). In a secure training system called Helen, we show that it is possible to train a linear model efficiently under malicious security by co-designing systems, machine learning, and cryptography. Next, we tackle the problem of “enabling MPC for the masses” by designing a generic end-to-end platform for secure collaborative learning. Within this system, we allow users to write simple programs in a Python-like language, then automatically transforms these programs into efficient MPC protocols.