A Tutorial-Style Introduction to DY⋆
Source
Lecture Notes in Computer Science Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics
ISSN
03029743
Date Issued
2021-01-01
Author(s)
Bhargavan, Karthikeyan
Do, Quoc Huy
Hosseyni, Pedram
Küsters, Ralf
Schmitz, Guido
Würtele, Tim
Abstract
DY<sup>⋆</sup> is a recently proposed formal verification framework for the symbolic security analysis of cryptographic protocol code written in the F<sup>⋆</sup> programming language. Unlike automated symbolic provers, DY<sup>⋆</sup> accounts for advanced protocol features like unbounded loops and mutable recursive data structures as well as low-level implementation details like protocol state machines and message formats, which are often at the root of real-world attacks. Protocols modeled in DY<sup>⋆</sup> can be executed, and hence, tested, and they can even interoperate with real-world counterparts. DY<sup>⋆</sup> extends a long line of research on using dependent type systems but takes a fundamentally new approach by explicitly modeling the global trace-based semantics within the framework, hence bridging the gap between trace-based and type-based protocol analyses. With this, one can uniformly, precisely, and soundly model, for the first time using dependent types, long-lived mutable protocol state, equational theories, fine-grained dynamic corruption, and trace-based security properties like forward secrecy and post-compromise security. In this paper, we provide a tutorial-style introduction to DY<sup>⋆</sup> : We illustrate how to model and prove the security of the ISO-DH protocol, a simple key exchange protocol based on Diffie-Hellman.
Subjects
Cryptographic protocols | F⋆ | Formal methods | Mechanized proofs | Protocol analysis
