Power side-channel leakage localization through adversarial training of deep neural networks

Jimmy Gammell, Anand Raghunathan, Kaushik Roy
10/29/2024
cs.LGcs.CR

No official code found. Best implementation: jimgammell/gan_side_channel_leakage_detector (1 star, MIT, last commit 2024-10-29).

Abstract

Supervised deep learning has emerged as an effective tool for carrying out power side-channel attacks on cryptographic implementations. While increasingly-powerful deep learning-based attacks are regularly published, comparatively-little work has gone into using deep learning to defend against these attacks. In this work we propose a technique for identifying which timesteps in a power trace are responsible for leaking a cryptographic key, through an adversarial game between a deep learning-based side-channel attacker which seeks to classify a sensitive variable from the power traces recorded during encryption, and a trainable noise generator which seeks to thwart this attack by introducing a minimal amount of noise into the power traces. We demonstrate on synthetic datasets that our method can outperform existing techniques in the presence of common countermeasures such as Boolean masking and trace desynchronization. Results on real datasets are weak because the technique is highly sensitive to hyperparameters and early-stop point, and we lack a holdout dataset with ground truth knowledge of leaking points for model selection. Nonetheless, we believe our work represents an important first step towards deep side-channel leakage localization without relying on strong assumptions about the implementation or the nature of its leakage. An open-source PyTorch implementation of our experiments is provided.

View on arXivView PDF

Code Implementations(1)

MIT
10Python, Jupyter NotebookAug 9, 20231 years agoMIT

Similar Papers

Cite this paper

@article{gammell2024power,
  title  = {Power side-channel leakage localization through adversarial training of deep neural networks},
  author = {Jimmy Gammell and Anand Raghunathan and Kaushik Roy},
  year   = {2024},
  eprint = {2410.22425},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.22425v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.22425.svg)](https://codeofpaper.com/paper/2410.22425)

Discussion