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...
Main Authors: | , |
---|---|
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 |