Paper 2024/077 Original: eprint.iacr.org/2024/077 ↗

OBSCURE: Versatile Software Obfuscation from a Lightweight Secure Element

Darius Mercadier
Viet Sang Nguyen
Matthieu Rivain
Aleksei Udovenko
Abstract

Software obfuscation is a powerful tool to protect the intellectual property or secret keys inside programs. Strong software obfuscation is crucial in the context of untrusted execution environments (e.g., subject to malware infection) or to face potentially malicious users trying to reverse-engineer a sensitive program. Unfortunately, the state-of-the-art of pure software-based obfuscation (including white-box cryptography) is either insecure or infeasible in practice. This work introduces OBSCURE, a versatile framework for practical and cryptographically strong software obfuscation relying on a simple stateless secure element (to be embedded, for example, in a protected hardware chip or a token). Based on the foundational result by Goyal et al. from TCC 2010, our scheme enjoys provable security guarantees, and further focuses on practical aspects, such as efficient execution of the obfuscated programs, while maintaining simplicity of the secure element. In particular, we propose a new rectangular universalization technique, which is also of independent interest. We provide an implementation of OBSCURE taking as input a program source code written in a subset of the C programming language. This ensures usability and a broad range of applications of our framework. We benchmark the obfuscation on simple software programs as well as on cryptographic primitives, hence highlighting the possible use cases of the framework as an alternative to pure software-based white-box implementations.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint.
History
2024-07-27: last updated
2024-01-17: published
Short URL
https://ia.cr/2024/077
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2024/077,
      author = {Darius Mercadier and Viet Sang Nguyen and Matthieu Rivain and Aleksei Udovenko},
      title = {OBSCURE: Versatile Software Obfuscation from a Lightweight Secure Element},
      howpublished = {Cryptology {ePrint} Archive, Paper 2024/077},
      year = {2024},
      url = {https://eprint.iacr.org/2024/077}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.