loading...
Refinement Types for Secure Implementations
June 23-June 25
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSF.2008.272008 21st IEEE Computer Security Foun ...
 This Article 
 
PDF
HTML
IEEE Xplore Subscribers
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
We present the design and implementation of a typechecker for verifying security properties of the source code of cryptographic protocols and access control mechanisms. The underlying type theory is a λ-calculus equipped with refinement types for expressing pre- and post-conditions within first-order logic. We derive formal cryptographic primitives and represent active adversaries within the type theory. Well-typed programs enjoy assertion-based security properties, with respect to a realistic threat model including key compromise. The implementation amounts to an enhanced typechecker for the general purpose functional language F#; typechecking generates verification conditions that are passed to an SMT solver. We describe a series of checked examples. This is the first tool to verify authentication properties of cryptographic protocols by typechecking their source code.
Citation:
Jesper Bengtson, Karthikeyan Bhargavan, C?dric Fournet, Andrew D. Gordon, Sergio Maffeis, "Refinement Types for Secure Implementations," csf, pp.17-32, 2008 21st IEEE Computer Security Foundations Symposium, 2008
Usage of this product signifies your acceptance of the Terms of Use.