In cryptography, the white-box model refers to an extreme attack scenario, in which an adversary has full unrestricted access to a cryptographic implementation, most commonly of a block cipher such as the Advanced Encryption Standard (AES). A variety of security goals may be posed (see the section below), the most fundamental being "unbreakability", requiring that any (bounded) attacker should not be able to extract the secret key hardcoded in the implementation, while at the same time the implementation must be fully functional. In contrast, the black-box model only provides an oracle access to the analyzed cryptographic primitive (in the form of encryption and/or decryption queries). There is also a model in-between, the so-called gray-box model, which corresponds to additional information leakage from the implementation, more commonly referred to as side-channel leakage.

White-box cryptography is a practice and study of techniques for designing and attacking white-box implementations. It has many applications, including digital rights management (DRM), pay television, protection of cryptographic keys in the presence of malware,[1] mobile payments and cryptocurrency wallets. Examples of DRM systems employing white-box implementations include CSS, Widevine.

White-box cryptography is closely related to the more general notions of obfuscation, in particular, to Black-box obfuscation, proven to be impossible, and to Indistinguishability obfuscation, constructed recently under well-founded assumptions but so far being infeasible to implement in practice.[2]

As of January 2023, there are no publicly known unbroken white-box designs of standard symmetric encryption schemes. On the other hand, there exist many unbroken white-box implementations of dedicated block ciphers designed specifically to achieve incompressibility (see security goals).

Security goals

Depending on the application, different security goals may be required from a white-box implementation. Specifically, for symmetric-key algorithms the following are distinguished:[3]

A commonly used technique is to compose the white-box implementation with so-called external encodings.[1] These are lightweight secret encodings that modify the function computed by the white-box part of an application. It is required that their effect is canceled in other parts of the application in an obscure way, using code obfuscation techniques. Alternatively, the canceling counterparts can be applied on a remote server.
Examples of incompressible designs include SPACE cipher,[5] SPNbox,[6] WhiteKey and WhiteBlock.[7] These ciphers use large lookup tables that can be pseudorandomly generated from a secret master key. Although this makes the recovery of the master key hard, the lookup tables themselves play the role of an equivalent secret key. Thus, unbreakability is achieved only partially.

History

The white-box model with initial attempts of white-box DES and AES implementations were first proposed by Chow, Eisen, Johnson and van Oorshot in 2003.[1][8] The designs were based on representing the cipher as a network of lookup tables and obfuscating the tables by composing them with small (4- or 8-bit) random encodings. Such protection satisfied a property that each single obfuscated table individually does not contain any information about the secret key. Therefore, a potential attacker has to combine several tables in their analysis.

The first two schemes were broken in 2004 by Billet, Gilbert, and Ech-Chatbi using structural cryptanalysis.[9] The attack was subsequently called "the BGE attack".

The numerous consequent design attempts (2005-2022) [10][11][12][13][14][15] were quickly broken by practical dedicated attacks.[16][17][18][19][20][21][22]

In 2016, Bos, Hubain, Michiels and Teuwen showed that an adaptation of standard side-channel power analysis attacks can be used to efficiently and fully automatically break most existing white-box designs.[23] This result created a new research direction about generic attacks (correlation-based, algebraic, fault injection) and protections against them. [24][25][26][27][28][29]

Competitions

Three editions of the WhibOx contest were held in 2017, 2019 and 2021 respectively. These competitions invited white-box designers both from academia and industry to submit their implementation in the form of (possibly obfuscated) C code. At the same time, everyone could attempt to attack these programs and recover the embedded secret key. Each of these competitions lasted for about 4-5 months.

See also

References

  1. ^ a b c Chow, Stanley; Eisen, Phil; Johnson, Harold; van Oorschot, Paul C. (2003). A White-Box DES Implementation for DRM Applications. Digital Rights Management. Lecture Notes in Computer Science. Vol. 2696. pp. 1–15. doi:10.1007/978-3-540-44993-5_1. ISBN 978-3-540-40410-1.
  2. ^ Jain, Aayush; Lin, Huijia; Sahai, Amit (15 June 2021). "Indistinguishability obfuscation from well-founded assumptions". Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing. pp. 60–73. arXiv:2008.09317. doi:10.1145/3406325.3451093. ISBN 978-1-4503-8053-9.
  3. ^ Delerablée, Cécile; Lepoint, Tancrède; Paillier, Pascal; Rivain, Matthieu (2014). White-Box Security Notions for Symmetric Encryption Schemes. SAC 2013: Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 8282. pp. 247–264. doi:10.1007/978-3-662-43414-7_13. ISBN 978-3-662-43413-0.
  4. ^ Diffie, Whitfield; Hellman, Martin (November 1976). "New directions in cryptography". IEEE Transactions on Information Theory. 22 (6): 644–654. doi:10.1109/TIT.1976.1055638.
  5. ^ a b Bogdanov, Andrey; Isobe, Takanori (12 October 2015). "White-Box Cryptography Revisited: Space-Hard Ciphers". Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. pp. 1058–1069. doi:10.1145/2810103.2813699. ISBN 978-1-4503-3832-5.
  6. ^ Bogdanov, Andrey; Isobe, Takanori; Tischhauser, Elmar (2016). "Towards Practical Whitebox Cryptography: Optimizing Efficiency and Space Hardness". Advances in Cryptology – ASIACRYPT 2016. Lecture Notes in Computer Science. Vol. 10031. pp. 126–158. doi:10.1007/978-3-662-53887-6_5. ISBN 978-3-662-53886-9.
  7. ^ Fouque, Pierre-Alain; Karpman, Pierre; Kirchner, Paul; Minaud, Brice (2016). "Efficient and Provable White-Box Primitives" (PDF). Advances in Cryptology – ASIACRYPT 2016. Lecture Notes in Computer Science. Vol. 10031. pp. 159–188. doi:10.1007/978-3-662-53887-6_6. ISBN 978-3-662-53886-9.
  8. ^ Chow, Stanley; Eisen, Philip; Johnson, Harold; Van Oorschot, Paul C. (2003). "White-Box Cryptography and an AES Implementation". SAC 2002: Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 2595. pp. 250–270. doi:10.1007/3-540-36492-7_17. ISBN 978-3-540-00622-0.
  9. ^ Billet, Olivier; Gilbert, Henri; Ech-Chatbi, Charaf (2004). "Cryptanalysis of a White Box AES Implementation". Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 3357. pp. 227–240. doi:10.1007/978-3-540-30564-4_16. ISBN 978-3-540-24327-4.
  10. ^ Link, Hamilton; Neumann, W.D. (2005). "Clarifying obfuscation: Improving the security of white-box DES". International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II. Vol. II. pp. 679-684 Vol. 1. doi:10.1109/ITCC.2005.100. ISBN 0-7695-2315-3.
  11. ^ Bringer, Julien; Chabanne, Hervé; Dottax, Emmanuelle (2006). "Perturbing and Protecting a Traceable Block Cipher". Communications and Multimedia Security. Lecture Notes in Computer Science. Vol. 4237. pp. 109–119. doi:10.1007/11909033_10. ISBN 978-3-540-47820-1.
  12. ^ Xiao, Yaying; Lai, Xuejia (2010). "A Secure Implementation of White-Box AES". 2009 2nd International Conference on Computer Science and its Applications. pp. 1–6. doi:10.1109/CSA.2009.5404239. ISBN 978-1-4244-4945-3.
  13. ^ Karroumi, Mohamed (2011). "Protecting White-Box AES with Dual Ciphers". Information Security and Cryptology - ICISC 2010. Lecture Notes in Computer Science. Vol. 6829. pp. 278–291. doi:10.1007/978-3-642-24209-0_19. ISBN 978-3-642-24208-3.
  14. ^ Vandersmissen, Joachim; Ranea, Adrián; Preneel, Bart (2022). A White-Box Speck Implementation Using Self-equivalence Encodings. Applied Cryptography and Network Security. Lecture Notes in Computer Science. Vol. 13269. pp. 771–791. doi:10.1007/978-3-031-09234-3_38. ISBN 978-3-031-09233-6.
  15. ^ Ranea, Adrián; Vandersmissen, Joachim; Preneel, Bart (2022). "Implicit White-Box Implementations: White-Boxing ARX Ciphers". Advances in Cryptology – CRYPTO 2022. Lecture Notes in Computer Science. Vol. 13507. pp. 33–63. doi:10.1007/978-3-031-15802-5_2. ISBN 978-3-031-15801-8.
  16. ^ Goubin, Louis; Masereel, Jean-Michel; Quisquater, Michaël (2007). "Cryptanalysis of White Box DES Implementations". Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 4876. pp. 278–295. doi:10.1007/978-3-540-77360-3_18. ISBN 978-3-540-77359-7.
  17. ^ Wyseur, Brecht; Michiels, Wil; Gorissen, Paul; Preneel, Bart (2007). "Cryptanalysis of White-Box DES Implementations with Arbitrary External Encodings". Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 4876. pp. 264–277. doi:10.1007/978-3-540-77360-3_17. ISBN 978-3-540-77359-7.
  18. ^ Michiels, Wil; Gorissen, Paul; Hollmann, Henk D. L. (2009). "Cryptanalysis of a Generic Class of White-Box Implementations". Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 5381. pp. 414–428. doi:10.1007/978-3-642-04159-4_27. ISBN 978-3-642-04158-7.
  19. ^ De Mulder, Yoni; Wyseur, Brecht; Preneel, Bart (2010). "Cryptanalysis of a Perturbated White-Box AES Implementation". Progress in Cryptology - INDOCRYPT 2010. Lecture Notes in Computer Science. Vol. 6498. pp. 292–310. doi:10.1007/978-3-642-17401-8_21. ISBN 978-3-642-17400-1.
  20. ^ De Mulder, Yoni; Roelse, Peter; Preneel, Bart (2013). "Cryptanalysis of the Xiao – Lai White-Box AES Implementation". Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 7707. pp. 34–49. doi:10.1007/978-3-642-35999-6_3. ISBN 978-3-642-35998-9.
  21. ^ Lepoint, Tancrède; Rivain, Matthieu; De Mulder, Yoni; Roelse, Peter; Preneel, Bart (2014). "Two Attacks on a White-Box AES Implementation". Selected Areas in Cryptography -- SAC 2013. Lecture Notes in Computer Science. Vol. 8282. pp. 265–285. doi:10.1007/978-3-662-43414-7_14. ISBN 978-3-662-43413-0.
  22. ^ Biryukov, Alex; Lambin, Baptiste; Udovenko, Aleksei (9 June 2023). "Cryptanalysis of ARX-based White-box Implementations". IACR Transactions on Cryptographic Hardware and Embedded Systems: 97–135. doi:10.46586/tches.v2023.i3.97-135.
  23. ^ Bos, Joppe W.; Hubain, Charles; Michiels, Wil; Teuwen, Philippe (2016). "Differential Computation Analysis: Hiding Your White-Box Designs is Not Enough". Cryptographic Hardware and Embedded Systems – CHES 2016. Lecture Notes in Computer Science. Vol. 9813. pp. 215–236. doi:10.1007/978-3-662-53140-2_11. ISBN 978-3-662-53139-6.
  24. ^ Rivain, Matthieu; Wang, Junwei (28 February 2019). "Analysis and Improvement of Differential Computation Attacks against Internally-Encoded White-Box Implementations". IACR Transactions on Cryptographic Hardware and Embedded Systems: 225–255. doi:10.13154/tches.v2019.i2.225-255.
  25. ^ Goubin, Louis; Paillier, Pascal; Rivain, Matthieu; Wang, Junwei (April 2020). "How to reveal the secrets of an obscure white-box implementation". Journal of Cryptographic Engineering. 10 (1): 49–66. doi:10.1007/s13389-019-00207-5.
  26. ^ Biryukov, Alex; Udovenko, Aleksei (2018). "Attacks and Countermeasures for White-box Designs" (PDF). Advances in Cryptology – ASIACRYPT 2018. Lecture Notes in Computer Science. Vol. 11273. pp. 373–402. doi:10.1007/978-3-030-03329-3_13. ISBN 978-3-030-03328-6.
  27. ^ Ezepue, B.C. (2017). "Differential fault analysis of white-box cryptographic implementations". Master Thesis.
  28. ^ Seker, Okan; Eisenbarth, Thomas; Liskiewicz, Maciej (2021). "A White-Box Masking Scheme Resisting Computational and Algebraic Attacks". IACR Transactions on Cryptographic Hardware and Embedded Systems: 61–105. doi:10.46586/tches.v2021.i2.61-105.
  29. ^ Biryukov, Alex; Udovenko, Aleksei (2021). "Dummy Shuffling Against Algebraic Attacks in White-Box Implementations" (PDF). Advances in Cryptology – EUROCRYPT 2021. Lecture Notes in Computer Science. Vol. 12697. pp. 219–248. doi:10.1007/978-3-030-77886-6_8. ISBN 978-3-030-77885-9.
  30. ^ "CryptoLUX Research Group. Whitebox cryptography. WhibOx 2019 Competition". www.cryptolux.org. Retrieved 28 February 2024.
  31. ^ Goubin, Louis; Rivain, Matthieu; Wang, Junwei (19 June 2020). "Defeating State-of-the-Art White-Box Countermeasures with Advanced Gray-Box Attacks". IACR Transactions on Cryptographic Hardware and Embedded Systems: 454–482. doi:10.13154/tches.v2020.i3.454-482.
  32. ^ Barbu, Guillaume; Beullens, Ward; Dottax, Emmanuelle; Giraud, Christophe; Houzelot, Agathe; Li, Chaoyun; Mahzoun, Mohammad; Ranea, Adrián; Xie, Jianrui (31 August 2022). "ECDSA White-Box Implementations: Attacks and Designs from CHES 2021 Challenge". IACR Transactions on Cryptographic Hardware and Embedded Systems: 527–552. doi:10.46586/tches.v2022.i4.527-552.
  33. ^ Bauer, Sven; Drexler, Hermann; Gebhardt, Max; Klein, Dominik; Laus, Friederike; Mittmann, Johannes (31 August 2022). "Attacks Against White-Box ECDSA and Discussion of Countermeasures: A Report on the WhibOx Contest 2021". IACR Transactions on Cryptographic Hardware and Embedded Systems: 25–55. doi:10.46586/tches.v2022.i4.25-55.