Download PDFOpen PDF in browser

Symbolic Approach for Side-Channel Resistance Analysis of Masked Assembly Codes

16 pagesPublished: October 4, 2017

Abstract

Masking is a popular countermeasure against side-channel attacks, that randomizes secret data with random and uniform variables called masks. At software level, masking is usually added in the source code and its effectiveness needs to be verified. In this paper, we propose a symbolic method to verify side-channel robustness of masked programs. The analysis is performed at the assembly level since compilation and optimizations may alter the added protections. Our proposed method aims to verify that intermediate computations are statistically independent from secret variables using defined distribution inference rules. We verify the first round of a masked AES in 22s and show that some secure algorithms or source codes are not leakage-free in their assembly implementations.

Keyphrases: formal evaluation, Masking, security analysis, side-channel attacks

In: Ulrich Kühne, Jean-Luc Danger and Sylvain Guilley (editors). PROOFS 2017. 6th International Workshop on Security Proofs for Embedded Systems, vol 49, pages 17--32

Links:
BibTeX entry
@inproceedings{PROOFS2017:Symbolic_Approach_for_Side_Channel,
  author    = {In\textbackslash{}`es Ben El Ouahma and Quentin Meunier and Karine Heydemann and Emmanuelle Encrenaz},
  title     = {Symbolic Approach for Side-Channel Resistance Analysis of Masked Assembly Codes},
  booktitle = {PROOFS 2017. 6th International Workshop on Security Proofs for Embedded Systems},
  editor    = {Ulrich K\textbackslash{}"uhne and Jean-Luc Danger and Sylvain Guilley},
  series    = {EPiC Series in Computing},
  volume    = {49},
  pages     = {17--32},
  year      = {2017},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/9Bpn},
  doi       = {10.29007/hhnf}}
Download PDFOpen PDF in browser