Paper 2019/756

SKIVA: Flexible and Modular Side-channel and Fault Countermeasures

Pantea Kiaei, Darius Mercadier, Pierre-Evariste Dagand, Karine Heydemann, and Patrick Schaumont

Abstract

We describe SKIVA, a customized 32-bit processor enabling the design of software countermeasures for a broad range of implementation attacks covering fault injection and side-channel analysis of timing-based and power-based leakage. We design the countermeasures as variants of bitslice programming. Our protection scheme is flexible and modular, allowing us to combine higher-order masking -- fending off side-channel analysis -- with complementary spatial and temporal redundancy -- protecting against fault injection. Multiple configurations of side-channel and fault protection enable the programmer to select the desired number of shares and the desired redundancy level for each slice. Recurring and security-sensitive operations are supported in hardware through a custom instruction set extension. The new instructions support bitslicing, secret-share generation, redundant logic computation, and fault detection. We demonstrate and analyze multiple versions of AES from a side-channel analysis and a fault-injection perspective, in addition to providing a detailed performance evaluation of the protected designs.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. MINOR revision.
Keywords
BitslicingSide-channel attacksFault attacksCustom-instruction extensionsSoftware Countermeasures
Contact author(s)
pantea95 @ vt edu
darius mercadier @ gmail com
pierre-evariste dagand @ lip6 fr
karine heydemann @ lip6 fr
schaum @ vt edu
History
2019-11-27: revised
2019-07-02: received
See all versions
Short URL
https://ia.cr/2019/756
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2019/756,
      author = {Pantea Kiaei and Darius Mercadier and Pierre-Evariste Dagand and Karine Heydemann and Patrick Schaumont},
      title = {SKIVA: Flexible and Modular Side-channel and Fault Countermeasures},
      howpublished = {Cryptology ePrint Archive, Paper 2019/756},
      year = {2019},
      note = {\url{https://eprint.iacr.org/2019/756}},
      url = {https://eprint.iacr.org/2019/756}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.