Certifying assembly with formal security proofs: The case of BBS

被引:14
作者
Affeldt, Reynald [1 ]
Nowak, David [1 ]
Yamada, Kiyoshi [1 ]
机构
[1] Natl Inst Adv Ind Sci & Technol, Tsukuba, Ibaraki 3058568, Japan
关键词
Hoare logic; Assembly language; Coq; PRNG; Provable security; VERIFICATION; LOGIC;
D O I
10.1016/j.scico.2011.07.003
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With today's dissemination of embedded systems manipulating sensitive data, it has become important to equip low-level programs with strong security guarantees. Unfortunately, security proofs as done by cryptographers are about algorithms, not about concrete implementations running on hardware. In this article, we show how to perform security proofs to guarantee the security of assembly language implementations of cryptographic primitives. Our approach is based on a framework in the Coq proof assistant that integrates correctness proofs of assembly programs with game-playing proofs of provable security. We demonstrate the usability of our approach using the Blum-Blum-Shub pseudorandom number generator, for which an MIPS implementation for smartcards is shown cryptographically secure. (c) 2011 Elsevier B.V. All rights reserved.
引用
收藏
页码:1058 / 1074
页数:17
相关论文
共 27 条
[1]  
Affeldt R., 2009, ELECT COMMUNICATIONS, V23
[2]  
Affeldt R., CERTIFYING ASSEMBLY
[3]  
Affeldt R, 2007, LECT NOTES COMPUT SC, V4435, P346
[4]  
Affeldt R, 2007, LECT NOTES COMPUT SC, V4784, P151
[5]  
[Anonymous], 2017, COQ PROOF ASS REF MA
[6]  
[Anonymous], 1982, 23 ANN S FDN COMP SC
[7]   A Formal Language for Cryptographic Pseudocode [J].
Backes, Michael ;
Berg, Matthias ;
Unruh, Dominique .
LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, PROCEEDINGS, 2008, 5330 :353-376
[8]   Formal Certification of Code-Based Cryptographic Proofs [J].
Barthe, Gilles ;
Gregoire, Benjamin ;
Beguelin, Santiago Zanella .
ACM SIGPLAN NOTICES, 2009, 44 (01) :90-101
[9]  
Bellare Mihir, 2004, Paper 2004/331
[10]   A SIMPLE UNPREDICTABLE PSEUDORANDOM NUMBER GENERATOR [J].
BLUM, L ;
BLUM, M ;
SHUB, M .
SIAM JOURNAL ON COMPUTING, 1986, 15 (02) :364-383