Search papers, labs, and topics across Lattice.
This paper introduces AutoTam, a language-first approach for the formal verification of cryptographic protocols using a domain-specific language that simplifies the modeling process for practitioners. By integrating symbolic execution with the Tamarin prover, the authors demonstrate that verified universal trace properties can be effectively translated back to concrete protocol implementations. The approach is validated through the implementation of secure models for both the signed Diffie-Hellman protocol and the WireGuard VPN protocol, achieving interoperability and acceptable performance metrics.
Verified trace properties can now be seamlessly translated into secure protocol implementations, bridging the gap between formal verification and practical application.
Formal verification is a challenging but important task for ensuring the security of cryptographic protocols. While modern protocol verification tools significantly reduce verification effort, modelling remains challenging to practitioners without a background in formal verification. In addition, transferring verification results to a concrete protocol implementation requires expert knowledge. In this paper, we present a novel language-first method for verification of trace properties using a domain-specific language for protocol implementations. We target the Tamarin prover for verification, and we prove that verified universal trace properties translate back to the implementation. We additionally integrate symbolic execution in order to analyse the memory safety of protocol implementations. We use our tool to implement and generate accurate models for a signed Diffie-Hellman protocol, and for the WireGuard VPN protocol. Our WireGuard implementation is interoperable with existing implementations when using our interpreter, and achieves acceptable performance. We formally prove our implementations secure using a combination of symbolic execution and verification of the generated Tamarin models.