A language for probabilistically oblivious computation
David Darais, Ian Sweet, Chang Liu, Michael Hicks
Abstract
An oblivious computation is one that is free of direct and indirect information leaks, e.g., due to observable differences in timing and memory access patterns. This paper presents Lambda Obliv, a core language whose type system enforces obliviousness. Prior work on type-enforced oblivious computation has focused on deterministic programs. Lambda Obliv is new in its consideration of programs that implement probabilistic algorithms, such as those involved in cryptography. Lambda Obliv employs a substructural type system and a novel notion of probability region to ensure that information is not leaked via the observed distribution of visible events. Probability regions support reasoning about probabilistic correlation and independence between values, and our use of probability regions is motivated by a source of unsoundness that we discovered in the type system of ObliVM, a language for implementing state of the art oblivious algorithms. We prove that Lambda Obliv's type system enforces obliviousness and show that it is expressive enough to typecheck advanced tree-based oblivious RAMs.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 3e826509-186a-4fd0-bedf-974cfe42b662Cited by top-tier papers6
- Data Oblivious ISA Extensions for Side Channel-Resistant and High Performance ComputingJiyong Yu, Lucas Hsiung, Mohamad El Hajj, Christopher W. FletcherNDSS 2019 · 106 citations
- A probabilistic separation logicGilles Barthe, Justin Hsu, Kevin LiaoPOPL 2020 · 35 citations
- Verification of Quantitative Hyperproperties Using Trace Enumeration RelationsShubham Sahai, Pramod Subramanyan, Rohit SinhaCAV 2020 · 7 citations
- Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious ComputationQianchuan Ye, Benjamin DelawareOOPSLA 2024 · 1 citation
- DOVE: A Data-Oblivious Virtual EnvironmentHyun Bin Lee, Tushar M. Jois, Christopher W. Fletcher, Carl A. GunterNDSS 2021
Builds on5
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin et al.S&P 2019 · 2,435 citations
- Meltdown: Reading Kernel Memory from User SpaceMoritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher et al.USENIX Security 2018 · 1,456 citations
- Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order ExecutionJo Van Bulck, Marina Minkin, Ofir Weisse, Daniel Genkin et al.USENIX Security 2018 · 1,175 citations
- Oblivious Multi-Party Machine Learning on Trusted ProcessorsOlga Ohrimenko, Felix Schuster, Cédric Fournet, Aastha Mehta et al.USENIX Security 2016 · 594 citations
- A probabilistic separation logicGilles Barthe, Justin Hsu, Kevin LiaoPOPL 2020 · 35 citations
Related papers
- Combining Classical and Probabilistic Independence Reasoning to Verify the Security of Oblivious AlgorithmsPengbo Yan, Toby Murray, Olga Ohrimenko, Van-Thuan Pham et al.FM 2024 · 2 citations
- Oblivious algebraic data typesQianchuan Ye, Benjamin DelawarePOPL 2022 · 7 citations
- Taype: A Policy-Agnostic Language for Oblivious ComputationQianchuan Ye, Benjamin DelawarePLDI 2023 · 3 citations
- A Gradual Probabilistic Lambda CalculusWenjia Ye, Matías Toro, Federico OlmedoOOPSLA 2023 · 3 citations
- OptORAMa: Optimal Oblivious RAMGilad Asharov, Ilan Komargodski, Wei-Kai Lin, Kartik Nayak et al.EUROCRYPT 2020 · 92 citations
