Share This Author
Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice
- David Adrian, K. Bhargavan, P. Zimmermann
- Computer ScienceConference on Computer and Communications…
- 12 October 2015
Logjam, a novel flaw in TLS that lets a man-in-the-middle downgrade connections to "export-grade" Diffie-Hellman, is presented and a close reading of published NSA leaks shows that the agency's attacks on VPNs are consistent with having achieved a break.
Refinement Types for Secure Implementations
- Jesper Bengtson, K. Bhargavan, C. Fournet, A. Gordon, S. Maffeis
- Computer Science, MathematicsIEEE Computer Security Foundations Symposium
- 23 June 2008
The design and implementation of a typechecker for verifying security properties of the source code of cryptographic protocols and access control mechanisms and typechecking generates veri¿cation conditions that are passed to an SMT solver.
A Messy State of the Union: Taming the Composite State Machines of TLS
- Benjamin Beurdouche, K. Bhargavan, J. Zinzindohoué
- Computer ScienceIEEE Symposium on Security and Privacy
- 17 May 2015
This work systematically test popular open-source TLS implementations for state machine bugs and discovers several critical security vulnerabilities that have lain hidden in these libraries for years, and have now finally been patched due to the disclosures.
HACL*: A Verified Modern Cryptographic Library
- J. Zinzindohoué, K. Bhargavan, Jonathan Protzenko, Benjamin Beurdouche
- Computer Science, MathematicsConference on Computer and Communications…
- 30 October 2017
HACL* implements the NaCl cryptographic API and can be used as a drop-in replacement for NaCl libraries like libsodium and TweetNaCl, showing that writing fast, verified, and usable C cryptographic libraries is now practical.
Formal Verification of Smart Contracts: Short Paper
- K. Bhargavan, Antoine Delignat-Lavaud, Santiago Zanella Béguelin
- Computer SciencePLAS@CCS
- 24 October 2016
This paper outlines a framework to analyze and verify both the runtime safety and the functional correctness of Ethereum contracts by translation to F*, a functional programming language aimed at program verification.
Formal verification of standards for distance vector routing protocols
This work shows how to use an interactive theorem prover, HOL, together with a model checker, SPIN, to prove key properties of distance vector routing protocols, and develops verification techniques suited to routing protocols generally.
Automated Verification for Secure Messaging Protocols and Their Implementations: A Symbolic and Computational Approach
- Nadim Kobeissi, K. Bhargavan, B. Blanchet
- Computer Science, MathematicsEuropean Symposium on Security and Privacy
- 26 April 2017
This work uses ProVerif and CryptoVerif to find new and previously-known weaknesses in the protocol and suggest practical countermeasures, and demonstrates that, with disciplined programming and some verification expertise, the systematic analysis of complex cryptographic web applications is now becoming practical.
Verified interoperable implementations of security protocols
- K. Bhargavan, C. Fournet, A. Gordon, Stephen Tse
- Computer Science, Mathematics19th IEEE Computer Security Foundations Workshop…
- 5 July 2006
The approach is developed for protocols written in F#, a dialect of ML, and verified by compilation to ProVerif a resolution-based theorem prover for cryptographic protocols, and illustrated with protocols for Web services security.
Dependent types and multi-monadic effects in F*
- N. Swamy, Catalin Hritcu, Santiago Zanella-Béguelin
- Computer ScienceACM-SIGACT Symposium on Principles of Programming…
- 11 January 2016
A new, completely redesigned, version of F*, a language that works both as a proof assistant as well as a general-purpose, verification-oriented, effectful programming language that confirms F*'s pay-as-you-go cost model.
Secure distributed programming with value-dependent types
- N. Swamy, Juan Chen, C. Fournet, Pierre-Yves Strub, K. Bhargavan, Jean Yang
- Computer ScienceJournal of functional programming
- 19 September 2011
This work presents F*, a full-fledged design and implementation of a new dependently typed language for secure distributed programming that provides arbitrary recursion while maintaining a logically consistent core, and proves type soundness (with proofs mechanized in Coq) and logical consistency for F*.