Union, intersection and refinement types and reasoning about type disjointness for secure protocol implementations

被引:20
作者
Backes, Michael [1 ,2 ]
Hritcu, Catalin [1 ,3 ,4 ]
Maffei, Matteo [1 ]
机构
[1] Univ Saarland, CISPA, Saarbrucken, Germany
[2] MPI SWS, Saarbruken & Kaiserslautern, Kaiserslautern, Germany
[3] Paris Rocquencourt, Inria, Paris, France
[4] Univ Penn, Philadelphia, PA 19104 USA
关键词
Security protocols; reference implementations; zero-knowledge proofs; type systems; verification; refinement types; union types; intersection types; concurrent lambda-calculus; mechanized metatheory;
D O I
10.3233/JCS-130493
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:301 / 353
页数:53
相关论文
共 124 条
[1]   Analyzing security protocols with secrecy types and logic programs [J].
Abadi, M ;
Blanchet, B .
JOURNAL OF THE ACM, 2005, 52 (01) :102-146
[2]   A calculus for cryptographic protocols: The spi calculus [J].
Abadi, M ;
Gordon, AD .
INFORMATION AND COMPUTATION, 1999, 148 (01) :1-70
[3]   Secrecy by typing in security protocols [J].
Abadi, M .
JOURNAL OF THE ACM, 1999, 46 (05) :749-786
[4]   Mobile values, new names, and secure communication [J].
Abadi, M ;
Fournet, C .
ACM SIGPLAN NOTICES, 2001, 36 (03) :104-115
[5]  
Abe M, 2010, LECT NOTES COMPUT SC, V6223, P209, DOI 10.1007/978-3-642-14623-7_12
[6]  
Aizatulin M., 2011, EXTRACTING VERIFYING
[7]  
Allen E, 2011, OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, P973
[8]  
Almeida JB, 2010, LECT NOTES COMPUT SC, V6345, P151, DOI 10.1007/978-3-642-15497-3_10
[9]   SUBTYPING RECURSIVE TYPES [J].
AMADIO, RM ;
CARDELLI, L .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (04) :575-631
[10]  
[Anonymous], 2009, COQ PROOF ASSISTANT