Formal verification of side-channel countermeasures using self-composition

被引:28
作者
Bacelar Almeida, J. [1 ]
Barbosa, Manuel [1 ]
Pinto, Jorge S. [1 ]
Vieira, Barbara [1 ]
机构
[1] Univ Minho, CCTC Dept Informat, P-4710057 Braga, Portugal
关键词
Cryptographic algorithms; Program verification; Program equivalence; Self-composition; Side-channel countermeasures; SECURE INFORMATION-FLOW;
D O I
10.1016/j.scico.2011.10.008
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Formal verification of cryptographic software implementations poses significant challenges for off-the-shelf tools. This is due to the domain-specific characteristics of the code, involving aggressive optimizations and non-functional security requirements, namely the critical aspect of countermeasures against side-channel attacks. In this paper, we extend previous results supporting the practicality of self-composition proofs of non-interference and generalizations thereof. We tackle the formal verification of high-level security policies adopted in the implementation of the recently proposed NaCl cryptographic library. We formalize these policies and propose a formal verification approach based on self-composition, extending the range of security policies that could previously be handled using this technique. We demonstrate our results by addressing compliance with the NaCl security policies in real-world cryptographic code, highlighting the potential for automation of our techniques. (C) 2011 Elsevier B.V. All rights reserved.
引用
收藏
页码:796 / 812
页数:17
相关论文
共 31 条
[1]  
Aciicmez O., 2007, P 2 ACM S INF COMP C, P312, DOI DOI 10.1145/1229285.1266999
[2]  
Agat J., 2000, Conference Record of POPL'00: 27th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages. Papers Presented at the Symposium, P40, DOI 10.1145/325694.325702
[3]   Deductive verification of cryptographic software [J].
Almeida, Jose Bacelar ;
Barbosa, Manuel ;
Pinto, Jorge Sousa ;
Vieira, Barbara .
INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2010, 6 (03) :203-218
[4]  
Almeida JB, 2009, LECT NOTES COMPUT SC, V5825, P37, DOI 10.1007/978-3-642-04570-7_5
[5]   Stack-based access control and secure information flow [J].
Banerjee, A ;
Naumann, DA .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2005, 15 :131-177
[6]  
BARNETT M, 2004, LNCS, V3362, P49, DOI [DOI 10.1007/978-3-540-30569-9_3, 10.1007]
[7]   Secure information flow by self-composition [J].
Barthe, G ;
D'Argenio, PR ;
Rezk, T .
17TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2004, :100-114
[8]  
Baudin Patrick, 2008, ACSL ANSI ISO C SPEC
[9]  
Bernstein Daniel J., 2011, CRYPTOGRAPHY NACI
[10]  
Ceara Dumitru, 2010, Proceedings of the IEEE Third International Conference on Software Testing Verification and Validation - Workshops (ICSTW 2010), P371, DOI 10.1109/ICSTW.2010.28