Refinement types for secure implementations - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue ACM Transactions on Programming Languages and Systems (TOPLAS) Année : 2011

Refinement types for secure implementations

Résumé

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.
Fichier principal
Vignette du fichier
refinement-types-for-secure-implementations-toplas11.pdf (396.65 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01294973 , version 1 (04-04-2016)

Identifiants

Citer

Jesper Bengtson, Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon, Sergio Maffeis. Refinement types for secure implementations. ACM Transactions on Programming Languages and Systems (TOPLAS), 2011, 33 (2), ⟨10.1145/1890028.1890031⟩. ⟨hal-01294973⟩
29 Consultations
238 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More