Improving Software Quality in Cryptography Standardization Projects

被引:20
作者
Kannwischer, Matthias J. [1 ]
Schwabe, Peter [2 ]
Stebila, Douglas [3 ]
Wiggers, Thom [4 ]
机构
[1] Acad Sinica, Taipei, Taiwan
[2] Germany Radboud Univ, MPI SP, Bochum, Netherlands
[3] Univ Waterloo, Waterloo, ON, Canada
[4] Radboud Univ Nijmegen, Nijmegen, Netherlands
来源
7TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (EUROS&PW 2022) | 2022年
基金
欧洲研究理事会; 加拿大自然科学与工程研究理事会;
关键词
NIST PQC; post-quantum implementations; testing cryptographic software; open source; continuous integration;
D O I
10.1109/EuroSPW55150.2022.00010
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The NIST post-quantum cryptography (PQC) standardization project is probably the largest and most ambitious cryptography standardization effort to date, and as such it makes an excellent case study of cryptography standardization projects. It is expected that with the end of round 3 in early 2022, NIST will announce the first set of primitives to advance to standardization, so it seems like a good time to look back and see what lessons can be learned from this effort. In this paper, we take a look at one specific aspect of the NIST PQC project: software implementations. We observe that many implementations included as a mandatory part of the submission packages were of poor quality and ignored decades-old standard techniques from software engineering to guarantee a certain baseline quality level. As a consequence, it was not possible to readily use those implementations in experiments for post-quantum protocol migration and software optimization efforts without first spending a significant amount of time to clean up the submitted reference implementations. We do not mean to criticize cryptographers who submitted proposals, including software implementations, to NIST PQC: after all, it cannot reasonably be expected from every cryptographer to also have expertise in software engineering. Instead, we suggest how standardization bodies like NIST can improve the software-submission process in future efforts to avoid such issues with submitted software. More specifically, we present PQClean, an extensive (continuous-integration) testing framework for PQC software, which now also contains "clean" implementations of the NIST round 3 candidate schemes. We argue that the availability of such a framework-either in an online continuous-integration setup, or just as an offline testing system-long before the submission deadline would have resulted in much better implementations included in NIST PQC submissions and overall would have saved the community and probably also NIST a lot of time and effort.
引用
收藏
页码:19 / 30
页数:12
相关论文
共 60 条
[1]  
Alagic G., 2020, Status report on the second round of the nist post-quantum cryptography standardization process, DOI [DOI 10.6028/NIST.IR.8309, 10.6028/NIST.IR.8309]
[2]  
Alagic G., 2019, Status report on the first round of the nist post-quantum cryptography standardization process, DOI [10.6028/NIST.IR.8240, DOI 10.6028/NIST.IR.8240]
[3]   Jasmin: High-Assurance and High-Speed Cryptography [J].
Almeida, Jose Bacelar ;
Barbosa, Manuel ;
Barthe, Gilles ;
Blot, Arthur ;
Gregoire, Benjamin ;
Laporte, Vincent ;
Oliveira, Tiago ;
Pacheco, Hugo ;
Schmidt, Benedikt ;
Strub, Pierre-Yves .
CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, :1807-1823
[4]  
Almeida JB, 2016, PROCEEDINGS OF THE 25TH USENIX SECURITY SYMPOSIUM, P53
[5]  
Anderson Ross, 1993, P 1 ACM C COMP COMM, P215, DOI DOI 10.1145/168588.168615
[6]  
[Anonymous], 2018, EBACS ECRYPT BENCHMA
[7]  
[Anonymous], 2017, Criteria for the Post-Quantum Cryptography Standardization Process
[8]   SoK: Computer-Aided Cryptography [J].
Barbosa, Manuel ;
Barthe, Gilles ;
Bhargavan, Karthik ;
Blanchet, Bruno ;
Cremers, Cas ;
Liao, Kevin ;
Parno, Bryan .
2021 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP, 2021, :777-795
[9]  
Bernstein DJ, 2022, PROCEEDINGS OF THE 31ST USENIX SECURITY SYMPOSIUM, P845
[10]   A static analyzer for large safety-critical software [J].
Blanchet, B ;
Cousot, P ;
Cousot, R ;
Feret, J ;
Mauborgne, L ;
Miné, A ;
Monniaux, D ;
Rival, X .
ACM SIGPLAN NOTICES, 2003, 38 (05) :196-207