Verifying Hardware Security Modules with Information-Preserving Refinement

被引:0
作者
Athalye, Anish [1 ]
Kaashoek, M. Frans [1 ]
Zeldovich, Nickolai [1 ]
机构
[1] MIT, CSAIL, Cambridge, MA 02139 USA
来源
PROCEEDINGS OF THE 16TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, OSDI 2022 | 2022年
关键词
VERIFICATION;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Knox is a new framework that enables developers to build hardware security modules (HSMs) with high assurance through formal verification. The goal is to rule out all hardware bugs, software bugs, and timing side channels. Knox's approach is to relate an implementation's wire-level behavior to a functional specification stated in terms of method calls and return values with a new definition called information-preserving refinement (IPR). This definition captures the notion that the HSM implements its functional specification, and that it leaks no additional information through its wire-level behavior. The Knox framework provides support for writing specifications, importing HSM implementations written in Verilog and C code, and proving IPR using a combination of lightweight annotations and interactive proofs. To evaluate the IPR definition and the Knox framework, we verified three simple HSMs, including an RFC 6238-compliant TOTP token. The TOTP token is written in 2950 lines of Verilog and 360 lines of C and assembly. Its behavior is captured in a succinct specification: aside from the definition of the TOTP algorithm, the spec is only 10 lines of code. In all three case studies, verification covers entire hardware and software stacks and rules out hardware/software bugs and timing side channels.
引用
收藏
页码:503 / 519
页数:17
相关论文
共 74 条
[1]   Let's Encrypt: An Automated Certificate Authority to Encrypt the Entire Web [J].
Aas, Josh ;
Barnes, Richard ;
Case, Benton ;
Durumeric, Zakir ;
Eckersley, Peter ;
Flores-Lopez, Alan ;
Halderman, J. Alex ;
Hoffman-Andrews, Jacob ;
Kasten, James ;
Rescorla, Eric ;
Schoen, Seth ;
Warren, Brad .
PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'19), 2019, :2473-2487
[2]  
Abadi M., 1999, Secure Internet programming. Security issues for mobile and distributed objects, P19
[3]  
Agrawal D., 2002, P 2002 IACR WORKSH C
[4]  
Alkassar E, 2010, LECT NOTES COMPUT SC, V6217, P71, DOI 10.1007/978-3-642-15057-9_5
[5]   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
[6]  
[Anonymous], 2004, CVE-2004-0320
[7]  
[Anonymous], 2018, YSA-2018-01
[8]  
[Anonymous], 2020, YSA-2020-04
[9]  
[Anonymous], 2019, CVE-2019-18672
[10]  
[Anonymous], 2021, WhatsApp security whitepaper: Security of end-to-end encrypted backups