Award Abstract # 1562888
TWC: Medium: Collaborative: New Protocols and Systems for RAM-Based Secure Computation

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: YALE UNIV
Initial Amendment Date: May 17, 2016
Latest Amendment Date: April 11, 2019
Award Number: 1562888
Award Instrument: Standard Grant
Program Manager: Nina Amla
namla@nsf.gov
 (703)292-7991
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: May 15, 2016
End Date: July 31, 2020 (Estimated)
Total Intended Award Amount: $364,769.00
Total Awarded Amount to Date: $364,769.00
Funds Obligated to Date: FY 2016 = $364,769.00
History of Investigator:
  • Ruzica Piskac (Principal Investigator)
    ruzica.piskac@yale.edu
  • Mariana Raykova (Former Principal Investigator)
  • Ruzica Piskac (Former Co-Principal Investigator)
Recipient Sponsored Research Office: Yale University
150 MUNSON ST
NEW HAVEN
CT  US  06511-3572
(203)785-4689
Sponsor Congressional District: 03
Primary Place of Performance: Yale University
AKW, 51 Prospect Street
New Haven
CT  US  06520-8285
Primary Place of Performance
Congressional District:
03
Unique Entity Identifier (UEI): FL6GV84CKN57
Parent UEI: FL6GV84CKN57
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001617DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7434, 7924, 9102
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Secure computation allows users to collaboratively compute any program on their private data, while ensuring that they learn nothing beyond the output of the computation. Existing protocols for secure computation primarily rely on a boolean-circuit representation for the program being evaluated, which can be highly inefficient. This project focuses on developing secure-computation protocols in the RAM model of computation. Particularly challenging here is the need to ensure that memory accesses are oblivious, and do not leak information about private data. We are designing efficient oblivious data structures that can be used as general-purpose building blocks for secure protocols in the RAM model of computation.

This project develops a framework that enables programmers to write high-level code that can then be compiled by a back-end algorithm that analyzes the code and makes use of the oblivious data structures we provide. This work is influenced by the needs of real applications, and the techniques to analyze the exact requirements of the program will evaluated and to tailor the resulting protocol to those requirements. This project aims to develop tools making secure computation more accessible to non-specialists, so it can be more broadly used to perform computations on private data. The PIs on this project mentor both graduate and undergraduate students and actively encourage involvement of minority students. The project develops new course materials and interact with the broader community through involvement in the IEEE cybersecurity initiative and the Maryland Cybersecurity Council.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Fernando Krell, Gabriela Ciocarlie, Ashish Gehani, Mariana Raykova "Low-Leakage Secure Search for Boolean Expressions" CT-RSA , 2017
Mahdi ZamaniMahnush MovahediMariana Raykova "RapidChain: Scaling Blockchain via Full Sharding" CCS '18 Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security , 2018
Marcel Keller, Valerio Pastro, Dragos Rotaru "Overdrive: Making SPDZ Great Again" Eurocrypt , 2018
Phillipp SchoppmannAdria GasconMariana RaykovaBenny Pinkas "Make Some ROOM for the Zeros: Data Sparsity in Secure Distributed Machine Learning" Proceedings of the 26th ACM Conference on Computer and Communications Security (CCS 2019) , 2019
Ran Canetti, Oxana Poburinnaya, Mariana Raykova "Optimal-Rate Non-committing Encryption" Asiacrypt , 2017
Samuel Judson, Ning Luo, Timos Antonopoulos, Ruzica Piskac "Privacy Preserving CTL Model Checking through Oblivious Graph Algorithms" Proceedings of the 19th Workshop on Privacy in the Electronic Society (WPES 2020), pp. 101-115. , 2020 10.1145/3411497.3420212
Secure Linear Regression on Vertically Partitioned Datasets "Adria Gascon, Phillipp Schoppmann, Borja Balle, Mariana Raykova, Samee Zahur, Jack Doerner, David Evans" PETS , 2017
Varsha Dani, Thomas P. Hayes, Mahnush Movahedi, Jared Saia, and Maxwell Young "Interactive Communication with Unknown Noise Rate" Journal of Information and Computation , 2016
Varsha Dani, Valerie King, Mahnush Movahedi, Jared Saia, and Mahdi Zamani "Secure Multi-Party Computation in Large Networks" Journal of Distributed Computing , 2016

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Secure computation protocols enable multiple distrusting parties, each with their own private input, to interact and perform some agreed upon computation, revealing nothing in the process beyond the result of that computation. Traditionally, protocols for secure computation are designed in the circuit model. One benefit of this approach is that circuits are stateless, which precludes the participants from learning something about the other user inputs through memory access patterns. Unfortunately, the reliance on a circuit representation is also limiting, as access to memory can provide algorithms that are asymptotically faster than circuit-based computation. Oblivious RAM protocols allow us to fix this problem, by providing a method for accessing memory obliviously -- that is, without revealing which location in memory has been fetched.  

The use of ORAM in secure computation was relatively unexplored prior to our work in this project. The fact that it can be used generically had been observed twenty years ago, but since that time, researchers in the field have begun to optimize constructions of secure computation with an eye on concrete performance. The concrete performance of a generic approach to using Oblivious RAM inside a secure computation is prohibitively expensive.  

In this project, we have explored several directions for improving the use of oblivious memory access in secure computation:  

Constructing new ORAM protocols.  ORAM was originally designed for a client/server model in which the client has storage constraints, but is allowed to see all data. In secure computation, all parties have similar storage constraints, but none may see the data. We designed new ORAM protocols for this setting, improving efficiency by leveraging the fact that the parties have linear storage. Additionally, our protocols are faster to instantiate than existing constructions in the client/server model. In this same direction, we have designed new oblivious data structures that have better memory locality, allowing the server to reduce the total number of physical memory accesses while preserving privacy. 

 

Constructing new languages. We developed a new programming language, called L_obliv, for writing oblivious algorithms and data structures (including ORAM). We have proven that type-correct programs in L-obliv offer probabilistic obliviousness: no matter the values of secrets, the distribution of publicly observable traces is unaffected.  

 

Exploring other notions of data obliviousness. We have begun the investigation of alternatives to fully oblivious computation. Specifically, we have investigated a security definition that allows some leakage in the form of memory access patterns, but admits a proof that the leakage preserves differential privacy for the users that have contributed data.

 

Leveraging data oblivious computation in program analysis.  We have explored methods for securely performing static analysis without revealing the details of the program. This allows us to formally verify properties of the given code while maintaining privacy. 


Last Modified: 02/14/2021
Modified by: Ruzica Piskac

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page