Affiliation:
1. University of Vermont, USA
2. University of Maryland, USA
3. Citadel Securities, USA
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.
Funder
Defense Advanced Research Projects Agency
National Science Foundation
Intelligence Advanced Research Projects Activity
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Combining Classical and Probabilistic Independence Reasoning to Verify the Security of Oblivious Algorithms;Lecture Notes in Computer Science;2024-09-11
2. Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious Computation;Proceedings of the ACM on Programming Languages;2024-04-29
3. PP-CSA: Practical Privacy-Preserving Software Call Stack Analysis;Proceedings of the ACM on Programming Languages;2024-04-29
4. Taype: A Policy-Agnostic Language for Oblivious Computation;Proceedings of the ACM on Programming Languages;2023-06-06
5. Proving Obliviousness of Probabilistic Algorithms with Formal Verification;Companion Proceedings of the 2022 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity;2022-11-29