I have an issue about AES whitebox protection as it is possible to decrypt data and get the whitebox encryption and decryption logic even without the ability to extract the original key. In my knowledge, until now there is no unbroken implementation of AES whitebox. My question is: is there any option to hide/obfuscate the whitebox logic? In this case where decryption is possible even without the original key can we speak about code lifting attack?

I searched for some options but I cannot find an efficient solution in industry that can handle this issue. I found a proposal about the use of WebAssembly, could I investigate this option and how it may help for the whitebox protection?

  • 3
    $\begingroup$ Indeed, the short conclusion of WhiBox 2019 is that AES white-box crypto is insecure, and I don't know of later improvements. Obfuscation remains brittle and a black art, even if repainted white for marketing purposes. $\endgroup$
    – fgrieu
    Feb 14 at 17:59
  • $\begingroup$ Thanks for your response. I know that AES whitebox is insecure but my purpose is to add other obfuscation layers or other security countermeasures to add more complexity even if it can be broken. Currently, we have only this option to protect our encryption key in the client side (web application). $\endgroup$
    – Rita
    Feb 15 at 8:17
  • $\begingroup$ A theoretical countermeasure against code lifting is "device binding", i.e., some device-specific data is included in the calculation in an essential way, so that the lifted implementation cannot properly en-/decrypt. In practice, it's hard to find some device-specific data that cannot simply be faked by an attacker. In my opinion, the most successful obfuscation is done by the marketing about the security of their products, and not by code obfuscation to make the implementation more secure. $\endgroup$
    – j.p.
    Feb 16 at 8:36
  • $\begingroup$ Due to the weakness of the AES whitebox implementation and all existing options can only add more obfuscation layers (device binding based on PUF, Token based obfuscation, etc.) instead of security layers. Is there any alternatives to protect encryption keys in the client side (web application)? $\endgroup$
    – Rita
    Feb 16 at 14:52


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.