Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead

  • Max Hoffmann Horst Görtz Institute for IT-Security, Ruhr-Universität Bochum, Germany
  • Christof Paar Horst Görtz Institute for IT-Security, Ruhr-Universität Bochum, Germany
Keywords: Opaque Predicates, Obfuscation, Hardware Reverse Engineering, Hardware Analysis

Abstract

Opaque predicates are a well-established fundamental building block for software obfuscation. Simplified, an opaque predicate implements an expression that provides constant Boolean output, but appears to have dynamic behavior for static analysis. Even though there has been extensive research regarding opaque predicates in software, techniques for opaque predicates in hardware are barely explored. In this work, we propose a novel technique to instantiate opaque predicates in hardware, such that they (1) are resource-efficient, and (2) are challenging to reverse engineer even with dynamic analysis capabilities. We demonstrate the applicability of opaque predicates in hardware for both, protection of intellectual property and obfuscation of cryptographic hardware Trojans. Our results show that we are able to implement stealthy opaque predicates in hardware with minimal overhead in area and no impact on latency.

Published
2018-05-08
How to Cite
Hoffmann, M., & Paar, C. (2018). Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2018(2), 277-297. https://doi.org/10.13154/tches.v2018.i2.277-297
Section
Articles