LeakageVerif: Efficient and Scalable Formal Verification of Leakage in Symbolic Expressions

被引:0
|
作者
Meunier, Quentin L. [1 ]
Pons, Etienne [1 ]
Heydemann, Karine [1 ]
机构
[1] Sorbonne Univ, CNRS, LIP6, Lab Informat Paris 6, F-75005 Paris, France
关键词
Application security; computer security; crypt ography; industry applications; security; side-channel attacks; MASKING;
D O I
10.1109/TSE.2023.3252671
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Side-channel attacks are a powerful class of attacks targeting cryptographic devices. Masking is a popular protection technique to thwart such attacks as it can be theoretically proven secure. However, correctly implementing masking schemes is a non-trivial task and error-prone. If several techniques have been proposed to formally verify masked implementations, they all come with limitations regarding expressiveness, scalability or accuracy. In this work, we propose a symbolic approach, based on a variant of the classical substitution method, for formally verifying arithmetic and boolean masked programs. This approach is more accurate and scalable than existing approaches thanks to a careful design and implementation of key heuristics, algorithms and data structures involved in the verification process. We present all the details of this approach and the open-source tool called LeakageVerif which implements it as a python library, and which offers constructions for symbolic expressions and functions for their verification. We compare LeakageVerif to three existing state-of-the-art tools on a set of 46 masked programs, and we show that it has very good scalability and accuracy results while providing all the necessary constructs for describing algorithmic to assembly masking schemes. Finally, we also provide the set of 46 benchmarks, named MaskedVerifBenchs and written for comparing the different verification tools, in the hope that they will be useful to the community for future comparisons.
引用
收藏
页码:3359 / 3375
页数:17
相关论文
共 50 条
  • [1] Scalable Formal Verification of UML Models
    Kallehbasti, Mohammad Mehdi Pourhashem
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 847 - 850
  • [2] EFFICIENT SYMBOLIC SIMULATION-BASED VERIFICATION USING THE PARAMETRIC FORM OF BOOLEAN EXPRESSIONS
    JAIN, P
    GOPALAKRISHNAN, G
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1994, 13 (08) : 1005 - 1015
  • [3] AN ENVIRONMENT FOR FORMAL VERIFICATION BASED ON SYMBOLIC COMPUTATIONS
    HOJATI, R
    BRAYTON, RK
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 1995, 6 (02) : 191 - 216
  • [4] Explicit-Symbolic Modelling for Formal Verification
    Costa, Umberto
    Campos, Sergio
    Vieira, Newton
    Deharbe, David
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 130 : 301 - 321
  • [5] FORMAL PROGRAM VERIFICATION USING SYMBOLIC EXECUTION
    DANNENBERG, RB
    ERNST, GW
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1982, 8 (01) : 43 - 52
  • [6] Efficient symbolic computation of process expressions
    Fraikin, Benoit
    Frappier, Marc
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2009, 74 (09) : 723 - 753
  • [7] A scalable formal verification methodology for pipelined microprocessors
    Levitt, J
    Olukotun, K
    [J]. 33RD DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 1996, 1996, : 558 - 563
  • [8] Efficient and formal generalized symbolic execution
    Deng, Xianghua
    Lee, Jooyong
    Robby
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2012, 19 (03) : 233 - 301
  • [9] Efficient and formal generalized symbolic execution
    Xianghua Deng
    Jooyong Lee
    [J]. Automated Software Engineering, 2012, 19 : 233 - 301
  • [10] Formal verification of designs with complex control by symbolic simulation
    Ritter, G
    Eveking, H
    Hinrichsen, H
    [J]. CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, 1999, 1703 : 234 - 249