Formal Verification of Software Countermeasures against Side-Channel Attacks

Abstract

A common strategy for designing countermeasures against power-analysis-based side-channel attacks is using random masking techniques to remove the statistical dependency between sensitive data and side-channel emissions. However, this process is both labor intensive and error prone and, currently, there is a lack of automated tools to formally assess how secure a countermeasure really is. We propose the first SMT-solver-based method for formally verifying the security of a masking countermeasure against such attacks. In addition to checking whether the sensitive data are masked by random variables, we also check whether they are perfectly masked , that is, whether the intermediate computation results in the implementation of a cryptographic algorithm are independent of the secret key. We encode this verification problem using a series of quantifier-free first-order logic formulas, whose satisfiability can be decided by an off-the-shelf SMT solver. We have implemented the proposed method in a software verification tool based on the LLVM compiler frontend and the Yices SMT solver. Our experiments on a set of recently proposed masking countermeasures for cryptographic algorithms such as AES and MAC-Keccak show the method is both effective in detecting power side-channel leaks and scalable for practical use.

Document Details

Document Type
Pub Defense Publication
Publication Date
Dec 23, 2014
Source ID
10.1145/2685616

Entities

People

  • Chao Wang
  • Hassan Eldib
  • Patrick Schaumont

Organizations

  • Division of Computer and Network Systems
  • Office of Naval Research
  • Virginia Tech

Tags

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Cybersecurity.
  • Database Systems and Applications
  • Mathematical Modeling and Probability Theory.