Skip to Main content Skip to Navigation
Journal articles

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.
Document type :
Journal articles
Complete list of metadata

https://hal.inria.fr/hal-01102192
Contributor : Bruno Blanchet <>
Submitted on : Monday, January 12, 2015 - 11:38:24 AM
Last modification on : Thursday, March 5, 2020 - 4:48:29 PM

Identifiers

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⟩

Share

Metrics

Record views

239