The Last Mile: High-Assurance and High-Speed Cryptographic Implementations

被引:23
|
作者
Almeida, Jose Bacelar [1 ,2 ]
Barbosa, Manuel [2 ,3 ]
Barthe, Gilles [4 ,5 ]
Gregoire, Benjamin [6 ]
Koutsos, Adrien [7 ]
Laporte, Vincent [6 ]
Oliveira, Tiago [2 ,3 ]
Strub, Pierre-Yves [8 ]
机构
[1] Univ Minho, Braga, Portugal
[2] INESC TEC, Porto, Portugal
[3] Univ Porto, FCUP, Porto, Portugal
[4] MPI Secur & Privacy, Bochum, Germany
[5] IMDEA Software, Madrid, Spain
[6] INRIA, Rocquencourt, France
[7] ENS Paris Saclay, CNRS, LSV, Gif Sur Yvette, France
[8] Ecole Polytech, Palaiseau, France
关键词
D O I
10.1109/SP40000.2020.00028
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
We develop a new approach for building cryptographic implementations. Our approach goes the last mile and delivers assembly code that is provably functionally correct, protected against side-channels, and as efficient as handwritten assembly. We illustrate our approach using ChaCha20Poly1305, one of the two ciphersuites recommended in TLS 1.3, and deliver formally verified vectorized implementations which outperform the fastest non-verified code. We realize our approach by combining the Jasmin framework, which offers in a single language features of high-level and low-level programming, and the EasyCrypt proof assistant, which offers a versatile verification infrastructure that supports proofs of functional correctness and equivalence checking. Neither of these tools had been used for functional correctness before. Taken together, these infrastructures empower programmers to develop efficient and verified implementations by "game hopping", starting from reference implementations that are proved functionally correct against a specification, and gradually introducing program optimizations that are proved correct by equivalence checking. We also make several contributions of independent interest, including a new and extensible verified compiler for Jasmin, with a richer memory model and support for vectorized instructions, and a new embedding of Jasmin in EasyCrypt.
引用
收藏
页码:965 / 982
页数:18
相关论文
共 50 条
  • [1] Jasmin: High-assurance and high-speed cryptography
    INESC TEC, Universidade Do Minho, Portugal
    不详
    不详
    不详
    不详
    不详
    不详
    [J]. Proc ACM Conf Computer Commun Secur, 1600, (1807-1823):
  • [2] Jasmin: High-Assurance and High-Speed Cryptography
    Almeida, Jose Bacelar
    Barbosa, Manuel
    Barthe, Gilles
    Blot, Arthur
    Gregoire, Benjamin
    Laporte, Vincent
    Oliveira, Tiago
    Pacheco, Hugo
    Schmidt, Benedikt
    Strub, Pierre-Yves
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 1807 - 1823
  • [3] COGENT: Verifying High-Assurance File System Implementations
    Amani, Sidney
    Hixon, Alex
    Chen, Zilin
    Rizkallah, Christine
    Chubb, Peter
    O'Connor, Liam
    Beeren, Joel
    Nagashima, Yutaka
    Lim, Japheth
    Sewell, Thomas
    Tuong, Joseph
    Keller, Gabriele
    Murray, Toby
    Klein, Gerwin
    Heiser, Gernot
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (04) : 175 - 188
  • [4] A Tool-Chain for High-Assurance Cryptographic Software
    Almeida, Jose
    Barbosa, Manuel
    Pacheco, Hugo
    Pereira, Vitor
    [J]. ERCIM NEWS, 2016, (106): : 14 - +
  • [5] High-Assurance Cryptography: Cryptographic Software We Can Trust
    Barthe, Gilles
    [J]. IEEE SECURITY & PRIVACY, 2015, 13 (05) : 86 - 89
  • [6] A Touch of Evil: High-Assurance Cryptographic Hardware from Untrusted Components
    Mavroudis, Vasilios
    Cerulli, Andrea
    Svenda, Petr
    Cvrcek, Dan
    Klinec, Dusan
    Danezis, George
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 1583 - 1600
  • [7] Machine-Checked Proofs for Cryptographic Standards Indifferentiability of SPONGE and Secure High-Assurance Implementations of SHA-3
    Almeida, Jose Bacelar
    Baritel-Ruet, Cecile
    Barbosa, Manuel
    Barthe, Gilles
    Dupressoir, Francois
    Gregoire, Benjamin
    Laporte, Vincent
    Oliveira, Tiago
    Stoughton, Alley
    Strub, Pierre-Yves
    [J]. PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'19), 2019, : 1607 - 1622
  • [8] High-assurance zeroization
    Arranz Olmos S.
    Barthe G.
    Gonzalez R.
    Grégoire B.
    Laporte V.
    Léchenet J.-C.
    Oliveira T.
    Schwabe P.
    [J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2023, 2024 (01): : 375 - 397
  • [9] High-assurance systems
    Bhattacharya, S
    Onoma, A
    Bastani, F
    [J]. COMMUNICATIONS OF THE ACM, 1997, 40 (01) : 67 - 67
  • [10] High-Assurance Control
    How, Jonathan P.
    [J]. IEEE CONTROL SYSTEMS MAGAZINE, 2017, 37 (02): : 5 - 13