BIROn - Birkbeck Institutional Research Online

    Formal Verification of Masking Countermeasures for Arithmetic Programs

    Gao, P. and Xie, H. and Sun, P. and Song, F. and Chen, Taolue (2010) Formal Verification of Masking Countermeasures for Arithmetic Programs. IEEE Transactions on Software Engineering , ISSN 0098-5589. (In Press)

    [img]
    Preview
    Text
    tacas19_jrnl.pdf - Author's Accepted Manuscript

    Download (3MB) | Preview

    Abstract

    Cryptographic algorithms are widely used to protect data privacy in many aspects of daily lives. Unfortunately, programs implementing cryptographic algorithms may be vulnerable to practical power side-channel attacks, which may infer private data via statistical analysis. To thwart these attacks, several masking schemes have been proposed, giving rise to effective countermeasures for reducing the statistical correlation between private data and power consumptions. However, programs that rely on secure masking schemes are not secure a priori. Indeed, designing effective masking programs is a labor intensive and error-prone task. Although some techniques have been proposed for formally verifying masking countermeasures and for quantifying masking strength, they are currently limited to Boolean programs and suffer from low accuracy. In this work, we propose an approach for formally verifying masking countermeasures of arithmetic programs. Our approach is more accurate for arithmetic programs and more scalable for Boolean programs comparing to the existing approaches. It is essentially a synergistic integration of type inference and model-counting based methods, armed with domain specific heuristics. The type inference system allows a fast deduction of leakage-freeness of most intermediate computations, the model-counting based methods accounts for completeness, namely, to eliminate spurious flaws, and the heuristics facilitate both type inference and model-counting based reasoning, which improve scalability and efficiency in practice. In case that the program does contain leakage, we provide a method to quantify its masking strength. A distuiguished feature of our type sytem lies in its support of compositonal reasoning when verifying programs with procedure calls, so the need of inlining procedures can be significantly reduced. We have implemented our methods in a verification tool QMVERIF which has been extensively evaluated on cryptographic benchmarks including full AES, DES and MAC-Keccak. The experimental results demonstrate the effectiveness and efficiency of our approach, especially for compositional reasoning. In particular, our tool is able to automatically prove leakage-freeness of arithmetic programs for which only manual proofs exist so far; it is also significantly faster than the state-of-the-art tools: EasyCrypt on common arithmetic programs, QMSINFER, SC Sniffer and maskVerif on Boolean programs.

    Metadata

    Item Type: Article
    School: School of Business, Economics & Informatics > Computer Science and Information Systems
    Depositing User: Taolue Chen
    Date Deposited: 06 Jul 2021 14:16
    Last Modified: 08 Jul 2021 06:03
    URI: https://eprints.bbk.ac.uk/id/eprint/44956

    Statistics

    Downloads
    Activity Overview
    12Downloads
    22Hits

    Additional statistics are available via IRStats2.

    Archive Staff Only (login required)

    Edit/View Item Edit/View Item