Paper 2016/517

Towards Practical Tools for Side Channel Aware Software Engineering: `Grey Box' Modelling for Instruction Leakages

David McCann, Elisabeth Oswald, and Carolyn Whitnall

Abstract

Power (along with EM, cache and timing) leaks are of considerable concern for developers who have to deal with cryptographic components as part of their overall software implementation, in particular in the context of embedded devices. Whilst there exist some compiler tools to detect timing leaks, similar progress towards pinpointing power and EM leaks has been hampered by limits on the amount of information available about the physical components from which such leaks originate. We suggest a novel modelling technique capable of producing high-quality instruction-level power (and/or EM) models without requiring a detailed hardware description of a processor nor information about the used process technology (access to both of which is typically restricted). We show that our methodology is effective at capturing differential data-dependent effects as neighbouring instructions in a sequence vary. We also explore register effects, and verify our models across several measurement boards to comment on board effects and portability. We confirm its versatility by demonstrating the basic technique on two processors (the ARM Cortex-M0 and M4), and use the M0 models to develop ELMO, the first leakage simulator for the ARM Cortex M0.

Note: Updated version of paper.

Metadata
Available format(s)
PDF
Publication info
Published elsewhere. USENIX Security Symposium 2017
Keywords
leakageevaluationside-channelembedded systems
Contact author(s)
carolyn whitnall @ bristol ac uk
History
2017-07-18: last of 4 revisions
2016-05-29: received
See all versions
Short URL
https://ia.cr/2016/517
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2016/517,
      author = {David McCann and Elisabeth Oswald and Carolyn Whitnall},
      title = {Towards Practical Tools for Side Channel Aware Software Engineering: `Grey Box' Modelling for Instruction Leakages},
      howpublished = {Cryptology ePrint Archive, Paper 2016/517},
      year = {2016},
      note = {\url{https://eprint.iacr.org/2016/517}},
      url = {https://eprint.iacr.org/2016/517}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.