Paper 2018/098
How to Reveal the Secrets of an Obscure White-Box Implementation
Louis Goubin, Pascal Paillier, Matthieu Rivain, and Junwei Wang
Abstract
White-box cryptography protects key extraction from software implementations of cryptographic primitives. It is widely deployed in DRM and mobile payment applications in which a malicious attacker might control the entire execution environment. So far, no provably secure white-box implementation of AES has been put forward, and all the published practical constructions are vulnerable to differential computation analysis (DCA) and differential fault analysis (DFA). As a consequence, the industry relies on home-made obscure white-box implementations based on secret designs. It is therefore of interest to investigate the achievable resistance of an AES implementation to thwart a white-box adversary in this paradigm. To this purpose, the ECRYPT CSA project has organized the WhibOx contest as the catch the flag challenge of CHES 2017. Researchers and engineers were invited to participate either as designers by submitting the source code of an AES-128 white-box implementation with a freely chosen key, or as breakers by trying to extract the hard-coded keys in the submitted challenges. The participants were not expected to disclose their identities or the underlying designing/attacking techniques. In the end, 94 submitted challenges were all broken and only 13 of them held more than 1 day. The strongest (in terms of surviving time) implementation, submitted by Biryukov and Udovenko, survived for 28 days (which is more than twice as much as the second strongest implementation), and it was broken by a single team, i.e., the authors of the present paper, with reverse engineering and algebraic analysis. In this paper, we give a detailed description of the different steps of our cryptanalysis. We then generalize it to an attack methodology to break further obscure white-box implementations. In particular, we formalize and generalize the linear decoding analysis that we use to extract the key from the encoded intermediate variables of the target challenge.
Metadata
- Available format(s)
- Publication info
- Preprint. MINOR revision.
- Contact author(s)
- junwei wang @ cryptoexperts com
- History
- 2018-01-31: last of 2 revisions
- 2018-01-28: received
- See all versions
- Short URL
- https://ia.cr/2018/098
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2018/098, author = {Louis Goubin and Pascal Paillier and Matthieu Rivain and Junwei Wang}, title = {How to Reveal the Secrets of an Obscure White-Box Implementation}, howpublished = {Cryptology {ePrint} Archive, Paper 2018/098}, year = {2018}, url = {https://eprint.iacr.org/2018/098} }