Abstract
Loop structures in software code may reveal essential information about implemented algorithms and their parameters, even if the observer has no knowledge about which instructions are executed. Regular patterns can for instance be observed in power consumption, instruction fetches in external memory, or radiated EM energy. This paper addresses the use of dummy operations to obscure the details of the algorithm executed by the processor. We show that for a particular class of dummy insertion strategies, a Viterbi decoder can fairly reliably distinguish dummy fetches from real instruction fetches.
In the second part of this paper, we study strategies to choose dummy fetches from a more general model. For certain situations, the optimum protection strategy appears to be deterministic (as opposed to random). Moreover, we show that in such a case, it is fundamentally not possible to enhance the security of the implementation by keeping the strategy for generating dummy fetches secret to the attacker.
Author Keywords: Software protection; Secure processor; Viterbi decoder; Dummy instructions
Original language | English |
---|---|
Pages (from-to) | 55-63 |
Number of pages | 9 |
Journal | Future Generation Computer Systems |
Volume | 13 |
Issue number | 1 |
DOIs | |
Publication status | Published - 1997 |
Keywords
- Dummy instructions
- Secure processor
- Software protection
- Viterbi decoder