article Open access

Verifying Indistinguishability of Privacy-Preserving Protocols

  • Proceedings of the ACM on Programming Languages
  • Association for Computing Machinery
Research footprint

At a glance

Citations
2
References
53
Comments
0
Paper overview

Abstract

Internet users rely on the protocols they use to protect their private information including their identity and the websites they visit. Formal verification of these protocols can detect subtle bugs that compromise these protections at design time, but is a challenging task as it involves probabilistic reasoning about random sampling, cryptographic primitives, and concurrent execution. Existing approaches either reason about symbolic models of the protocols that sacrifice precision for automation, or reason about more precise computational models that are harder to automate and require cryptographic expertise. In this paper we propose a novel approach to verifying privacy-preserving protocols that is more precise than symbolic models yet more accessible than computational models. Our approach permits direct-style proofs of privacy, as opposed to indirect game-based proofs in computational models, by formalizing privacy as indistinguishability of possible network traces induced by a protocol. We ease automation by leveraging insights from the distributed systems verification community to create sound synchronous models of concurrent protocols. Our verification framework is implemented in F* as a library we call Waldo. We describe two large case studies of using Waldo to verify indistinguishability; one on the Encrypted Client Hello (ECH) extension of the TLS protocol and another on a Private Information Retrieval (PIR) protocol. We uncover subtle flaws in the TLS ECH specification that were missed by other models.

Record transparency

Publication details

DOI
10.1145/3622849
OpenAlex
W4387667018
Document type
article
Language
EN
Source
Proceedings of the ACM on Programming Languages
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.