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

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 regard...

Full description

Bibliographic Details
Main Authors: Max Hoffmann, Christof Paar
Format: Article
Language:English
Published: Ruhr-Universität Bochum 2018-05-01
Series:Transactions on Cryptographic Hardware and Embedded Systems
Subjects:
Online Access:https://tches.iacr.org/index.php/TCHES/article/view/883
_version_ 1818345438854512640
author Max Hoffmann
Christof Paar
author_facet Max Hoffmann
Christof Paar
author_sort Max Hoffmann
collection DOAJ
description 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.
first_indexed 2024-12-13T17:02:23Z
format Article
id doaj.art-74bb58e00bbb4071ab8adfc7ea68707f
institution Directory Open Access Journal
issn 2569-2925
language English
last_indexed 2024-12-13T17:02:23Z
publishDate 2018-05-01
publisher Ruhr-Universität Bochum
record_format Article
series Transactions on Cryptographic Hardware and Embedded Systems
spelling doaj.art-74bb58e00bbb4071ab8adfc7ea68707f2022-12-21T23:37:46ZengRuhr-Universität BochumTransactions on Cryptographic Hardware and Embedded Systems2569-29252018-05-012018210.13154/tches.v2018.i2.277-297Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible OverheadMax Hoffmann0Christof Paar1Horst Görtz Institute for IT-Security, Ruhr-Universität Bochum, GermanyHorst Görtz Institute for IT-Security, Ruhr-Universität Bochum, GermanyOpaque 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.https://tches.iacr.org/index.php/TCHES/article/view/883Opaque PredicatesObfuscationHardware Reverse EngineeringHardware Analysis
spellingShingle Max Hoffmann
Christof Paar
Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
Transactions on Cryptographic Hardware and Embedded Systems
Opaque Predicates
Obfuscation
Hardware Reverse Engineering
Hardware Analysis
title Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
title_full Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
title_fullStr Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
title_full_unstemmed Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
title_short Stealthy Opaque Predicates in Hardware - Obfuscating Constant Expressions at Negligible Overhead
title_sort stealthy opaque predicates in hardware obfuscating constant expressions at negligible overhead
topic Opaque Predicates
Obfuscation
Hardware Reverse Engineering
Hardware Analysis
url https://tches.iacr.org/index.php/TCHES/article/view/883
work_keys_str_mv AT maxhoffmann stealthyopaquepredicatesinhardwareobfuscatingconstantexpressionsatnegligibleoverhead
AT christofpaar stealthyopaquepredicatesinhardwareobfuscatingconstantexpressionsatnegligibleoverhead