Affiliation:
1. IMDEA Software Institute, Madrid, Spain
2. Microsoft Research, Cambridge, United Kingdom
3. Inria Sophia Antipolis - Méditerranée, Sophia Antipolis, France
4. Microsoft Research, Seattle, WA, USA
Abstract
Relational program logics have been used for mechanizing formal proofs of various cryptographic constructions. With an eye towards scaling these successes towards end-to-end security proofs for implementations of distributed systems, we present RF*, a relational extension of F*, a general-purpose higher-order stateful programming language with a verification system based on refinement types. The distinguishing feature of F* is a relational Hoare logic for a higher-order, stateful, probabilistic language. Through careful language design, we adapt the F* typechecker to generate both classic and relational verification conditions, and to automatically discharge their proofs using an SMT solver. Thus, we are able to benefit from the existing features of F*, including its abstraction facilities for modular reasoning about program fragments. We evaluate RF* experimentally by programming a series of cryptographic constructions and protocols, and by verifying their security properties, ranging from information flow to unlinkability, integrity, and privacy. Moreover, we validate the design of RF* by formalizing in Coq a core probabilistic λ calculus and a relational refinement type system and proving the soundness of the latter against a denotational semantics of the probabilistic lambda λ calculus.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Translation certification for smart contracts;Science of Computer Programming;2024-03
2. Decision and Complexity of Dolev-Yao Hyperproperties;Proceedings of the ACM on Programming Languages;2024-01-05
3. Cache Refinement Type for Side-Channel Detection of Cryptographic Software;Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security;2022-11-07
4. Translation Certification for Smart Contracts;Functional and Logic Programming;2022
5. The First Fifteen Years of the Verified Software Project;Theories of Programming;2021-10-02