Abstract

White-box cryptography is the last security barrier for a cryptographic software implementation deployed in an untrusted environment. The principle of internal encodings is a commonly used white-box technique to protect block cipher implementations. It consists in representing an implementation as a network of look-up tables which are then encoded using randomly generated bijections (the internal encodings). When this approach is implemented based on nibble (i.e. 4-bit wide) encodings, the protected implementation has been shown to be vulnerable to differential computation analysis (DCA). The latter is essentially an adaptation of differential power analysis techniques to computation traces consisting of runtime information, e.g., memory accesses, of the target software. In order to thwart DCA, it has then been suggested to use wider encodings, and in particular byte encodings, at least to protect the outer rounds of the block cipher which are the prime targets of DCA.In this work, we provide an in-depth analysis of when and why DCA works. We pinpoint the properties of the target variables and the encodings that make the attack (in)feasible. In particular, we show that DCA can break encodings wider than 4-bit, such as byte encodings. Additionally, we propose new DCA-like attacks inspired from side-channel analysis techniques. Specifically, we describe a collision attack particularly effective against the internal encoding countermeasure. We also investigate mutual information analysis (MIA) which naturally applies in this context. Compared to the original DCA, these attacks are also passive and they require very limited knowledge of the attacked implementation, but they achieve significant improvements in terms of trace complexity. All the analyses of our work are experimentally backed up with various attack simulation results. We also verified the practicability of our analyses and attack techniques against a publicly available white-box AES implementation protected with byte encodings –which DCA has failed to break before– and against a “masked” white-box AES implementation –which intends to resist DCA.

Highlights

  • Software implementations of cryptographic algorithms in the real world suffer more severe challenges than expected in their design model

  • We have focused on implementations protected with internal encodings and we have conducted a thorough analysis of differential computation analysis (DCA) in this context

  • Our results formally pinpoint when and why DCA succeeds in defeating internal encodings

Read more

Summary

Introduction

Software implementations of cryptographic algorithms in the real world suffer more severe challenges than expected in their design model. In addition to the well-known side-channel analysis (SCA) attacks [Koc, KJJ99, Cor, PQ03], an adversary sometimes might gain full access to a software implementation of a cryptographic algorithm. She could try to extract the underlying secret key by all kinds of means, e.g. by performing static or Licensed under Creative Commons License CC-BY 4.0. The seminal work on white-box cryptography (WBC), introduced by Chow et al in 2002 [CEJvO02a] intends to protect cryptographic software against these kinds of threats It aims to render key extraction difficult –if not infeasible– to any malicious party that would gain full access to the program and/or the execution environment. With the development of smartphones and wearable devices embedding third party applications, more and more cryptographic implementations are being deployed in untrusted environments, resulting in a growing interest for white-box cryptography

Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call