Modular Verification of Security Protocol Code by Typing

被引:31
|
作者
Bhargavan, Karthikeyan
Fournet, Cedric
Gordon, Andrew D.
机构
关键词
D O I
10.1145/1706299.1706350
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We propose a method for verifying the security of protocol implementations. Our method is based on declaring and enforcing invariants on the usage of cryptography. We develop cryptographic libraries that embed a logic model of their cryptographic structures and that specify preconditions and postconditions on their functions so as to maintain their invariants. We present a theory to justify the soundness of modular code verification via our method. We implement the method for protocols coded in F# and verified using F7, our SMT-based typechecker for refinement types, that is, types carrying formulas to record invariants. As illustrated by a series of programming examples, our method can flexibly deal with a range of different cryptographic constructions and protocols. We evaluate the method on a series of larger case studies of protocol code, previously checked using whole-program analyses based on ProVerif, a leading verifier for cryptographic protocols. Our results indicate that compositional verification by typechecking with refinement types is more scalable than the best domain-specific analysis currently available for cryptographic code.
引用
收藏
页码:445 / 456
页数:12
相关论文
共 50 条
  • [1] Modular Verification of Security Protocol Code by Typing
    Bhargavan, Karthikeyan
    Fournet, Cedric
    Gordon, Andrew D.
    ACM SIGPLAN NOTICES, 2010, 45 (01) : 445 - 456
  • [2] A Generic Methodology for the Modular Verification of Security Protocol Implementations
    Arquint, Linard
    Schwerhoff, Malte
    Mehta, Vaibhav
    Mueller, Peter
    PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 1377 - 1391
  • [3] DY☆: A Modular Symbolic Verification Framework for Executable Cryptographic Protocol Code
    Bhargavan, Karthikeyan
    Bichhawat, Abhishek
    Quoc Huy Do
    Hosseyni, Pedram
    Kuesters, Ralf
    Schmitz, Guido
    Wuertele, Tim
    2021 IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2021), 2021, : 523 - 542
  • [4] Modular Verification for Computer Security
    Appel, Andrew W.
    2016 IEEE 29TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2016), 2016, : 1 - 8
  • [5] Verification of Mondex electronic purses with KIV: From a security protocol to verified code
    Grandy, Holger
    Bischof, Markus
    Stenzel, Kurt
    Schellhorn, Gerhard
    Reif, Wolfgang
    FM 2008: FORMAL METHODS, PROCEEDINGS, 2008, 5014 : 165 - 180
  • [6] Abstractions for security protocol verification
    Binh Thanh Nguyen
    Sprenger, Christoph
    Cremers, Cas
    JOURNAL OF COMPUTER SECURITY, 2018, 26 (04) : 459 - 508
  • [7] Abstractions for security protocol verification
    Nguyen, Binh Thanh
    Sprenger, Christoph
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2015, 9036 : 196 - 215
  • [8] Modular Verification of SPARCv8 Code
    Jun-Peng Zha
    Xin-Yu Feng
    Lei Qiao
    Journal of Computer Science and Technology, 2020, 35 : 1382 - 1405
  • [9] Modular Code-Based Cryptographic Verification
    Fournet, Cedric
    Kohlweiss, Markulf
    Strub, Pierre-Yves
    PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), 2011, : 341 - 350
  • [10] Modular Verification of SPARCv8 Code
    Zha, Junpeng
    Feng, Xinyu
    Qiao, Lei
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2018, 2018, 11275 : 245 - 263