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)
PDF
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
Creative Commons Attribution
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},
      note = {\url{https://eprint.iacr.org/2018/098}},
      url = {https://eprint.iacr.org/2018/098}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.