Union, Intersection, and Refinement Types and Reasoning About Type Disjointness for Secure Protocol Implementations

Abstract : We present a new type system for verifying the security of reference implementations of cryptographic protocols written in a core functional programming language. The type system combines prior work on refinement types, with union, intersection, and polymorphic types, and with the novel ability to reason statically about the disjointness of types. The increased expressivity enables the analysis of important protocol classes that were previously out of scope for the type-based analyses of reference protocol implementations. In particular, our types can statically characterize: (i) more usages of asymmetric cryptography, such as signatures of private data and encryptions of authenticated data; (ii) authenticity and integrity properties achieved by showing knowledge of secret data; (iii) applications based on zero-knowledge proofs. The type system comes with a mechanized proof of correctness and an efficient type-checker.
Type de document :
Article dans une revue
Journal of Computer Security, IOS Press, 2014, 22 (2), pp.301-353. 〈10.3233/JCS-130493〉
Liste complète des métadonnées

https://hal.inria.fr/hal-01102192
Contributeur : Bruno Blanchet <>
Soumis le : lundi 12 janvier 2015 - 11:38:24
Dernière modification le : lundi 20 août 2018 - 13:36:04

Lien texte intégral

Identifiants

Collections

Citation

Michael Backes, Cătălin Hriţcu, Matteo Maffei. Union, Intersection, and Refinement Types and Reasoning About Type Disjointness for Secure Protocol Implementations. Journal of Computer Security, IOS Press, 2014, 22 (2), pp.301-353. 〈10.3233/JCS-130493〉. 〈hal-01102192〉

Partager

Métriques

Consultations de la notice

145