Obfuskation (Hardware)
# Obfuskation (Hardware)

Unter Hardware-Obfuskation wird die Verschleierung des Layouts von integrierten Schaltkreisen (ICs wie Kryptoprozessoren, Mikrokontroller, SoC) verstanden. Sie ist eine wesentliche Maßnahme zum Schutz vor Manipulationen wie dem vorsätzlichen Einbau von Schwachstellen (Sabotage, Backdoors) und des geistigen Eigentums (englisch know-how, intellectual property) und erschwert generell das Reverse Engineering und somit auch die Produktpiraterie.

## Hintergrund

Erfolgreiche Produkte finden häufig Nachahmer. Während das Patentrecht die Entwicklung der Original-Hersteller schützt, gleichzeitig aber die Umgehung von Patenten durch alternative technische Lösungen erlaubt, und damit die Vielfalt technischer Lösungen fördert, kürzen manche Anbieter den Entwicklungsprozess ab, in dem sie die Entwicklungen anderer unberechtigt kopieren und selbst vertreiben.

### Risiken für Hersteller des Originals

Für die Hersteller des Originals entstehen dadurch verschiedene Risiken:

* Der Produktpirat bringt das kopierte Produkt als Original in den Warenverkehr. Das kann verschiedene Folgen haben:
   * Die Kopie hat qualitative Mängel (z. B. Mikroprozessor-Kopie wird übertaktet angeboten), die dem Hersteller angelastet werden. Sofern das fehlerhafte Produkt nicht unmittelbar als Nachahmung erkannt werden kann, werden dem Original-Hersteller Sicherheitsmängel angelastet (Produkthaftung) und das Image seiner Marke wird geschädigt.
   * Der Kopie wurden Funktionen zur Spionage oder Sabotage hinzugefügt (Hardware-Trojaner)
* Das kopierte Produkt wird vom Endbenutzer als solches erkannt trotzdem bevorzugt, weil z. B. Kopien von Markenuhren oder Karten zur Pay-TV Entschlüsselung erheblich preisgünstiger sind und dem Käufer die Qualität des kopierten Produktes ausreicht
* Der Hersteller des Originals kann seine Entwicklungskosten nicht mehr aus Verkäufen refinanzieren

### Globale Arbeitsteilung

Weiterer Bedarf an Hardware-Obfuskation entsteht dadurch, dass sich durch die Globalisierung eine Arbeitsteilung in der Entwicklung und Produktion von ICs entwickelt hat, so dass immer weniger Anbieter in der Lage sind, komplexe Halbleiterkomponenten selbst zu entwickeln, fertigen und zu vertreiben.

Die Aufgabenteilung der kooperierenden Unternehmen kann durch folgende Struktur abgebildet werden:

* Architektur: Der Anbieter von dem und unter dessen Namen der IC vertrieben wird, trägt eigene Komponenten sowie die von anderen Anbietern zusammen. Die fremden Komponenten können Funktionsblöcke zur Verschlüsselung, Energiemanagement oder anderem sein.
* Integration: Die Komponenten werden zu einem System zusammengesetzt. Durch Analysen und Simulationen wird die einwandfreie Funktion abgesichert. Das Ergebnis ist ein optimierter Schaltplan.
* Test-Design: In der Endkontrolle wird jeder IC auf Funktion geprüft. Während bei einfachen Schaltkreisen die Funktionen noch über den Anschluss an die nach außen geführten Pins testbar ist, besitzen komplexe Schaltkreise interne Testmechanismen, die eine größere Testtiefe erlauben. Die Integration solcher Teststrukturen ist ein eigener Arbeitsschritt, der von spezialisierten Dienstleistern erbracht wird und auf dem fertigen Schaltplan aufbaut.
* Fertigung: Der Fertiger des Halbleiters erhält die Layouts der Masken. Wird diesem nicht vertraut, erhält er wenige oder keine Information, wie der IC zu testen ist, damit der Fertiger nicht über die vertraglich vereinbarte Menge hinaus seine Produktion weiterlaufen lässt und diese ICs über eigene Kanäle vertreibt.
* Zusammenbau: Die Halbleiter werden von einem weiteren Dienstleister mit den Pins des Gehäuses und eventuell anderen Halbleitern im selben Gehäuse kontaktiert (Multi-Chip-Modul, System-in-Package, Package-on-Package). Danach werden sie vollständig getestet. Möglicherweise wird der IC hier dann noch auf einer Leiterplatte kontaktiert.

Durch diese Aufteilung besteht das Risiko, dass geistiges Eigentum ungewollt und unnötigerweise zu einem kooperierenden Unternehmen abfließt.

## Methoden der Obfuskation

Grundsätzlich muss bei der Obfuskation zwischen Methoden gewählt werden, die gegen unberechtigte Verwendung wirken und Methoden, die das Reverse-Engineering erschweren.

Es lassen sich mehrere Arten der Verschleierung unterscheiden:

* Aktivierung vor der ersten Benutzung: Der Halbleiter enthält zusätzliche logische Gatter, die einem Funktionsblock hinzugefügt werden. Erst im finalen Fertigungsschritt oder beim Endbenutzer werden sie dauerhaft und korrekt konfiguriert. Wird der IC vor der Konfiguration getestet, so liefert er überwiegend fehlerhafte Ausgaben.
* Gatter, die nicht erkennen lassen, ob sie als XOR, NAND oder NOR arbeiten. Alternativ können auch Multiplexer eingesetzt werden, deren Konfiguration verschleiert wird.
* Ein Hardware-Design, bei dem die Schaltung mit zusätzlichen Gattern erweitert wird. Diese zusätzlichen Gatter sind mit echten Kontakten als auch mit Dummy-Kontaktierungen (Kontakte mit unauffälliger Unterbrechung) verbunden. Beim Reverse-Engineering müssen zusätzlich die verschleiernden Gatter und die wirksamen Kontaktierungen identifiziert werden.
* Unnötig verschlungene Leitungsführung oder zusätzliche Leitungen ohne Funktion

Diese Maßnahmen lassen sich durch kryptografische Schutzmechanismen oder eindeutige ID's durch Physical unclonable functions (PUF) ergänzen.

## Nachteile

Nachteile der Obfuskation können sein:

* Ein Teil des Entwicklungsaufwandes wird in die Obfuskation gesteckt
* Maßnahmen der Obfuskation bieten dem Endkunden keinen Nutzen, aber sie erhöhen die Komplexität und damit
   * das Ausfallrisiko, weil der Halbleiter mehr Funktionen hat, als zur spezifizierten Ausführung notwendig und
   * es gibt mehr Fehlermöglichkeiten, die bei Tests und Analysen übersehen werden können und damit in sicherheitskritische Anwendungen ein zusätzliches Risiko einbringen.
   * Längere Laufzeiten, wenn ein Signal zusätzliche Kaskaden aus Gattern durchläuft
* Gleichzeitig wird allerdings auch der Nachweis einer unerlaubten Nutzung durch Dritte erschwert, wenn dem Inhaber der Rechte der Nachweis von patentgeschützten Merkmalen nicht mehr gelingt, weil der Nachahmer selbst Maßnahmen zur Obfuskation ergriffen hat.
* Es sind Fälle dokumentiert, in denen die originalen IC's aufgekauft wurden und mit neuer, höherer Taktrate an Endkunden verkauft wurden. Gegen solche Methoden hilft Obfuskation nicht.

Insofern bieten OpenSource-Entwicklungen den Vorteil, dass kein Aufwand in die Obfuskation gesteckt werden muss.

