iX 7/2018
S. 88
Report
Hardware-Security
Aufmacherbild

Mikrocontroller vor Angriffen schützen

Sicheres Silizium

Wer Mikrocontroller einsetzt, muss oder will deren Programme und Daten vor Manipulation schützen. Je nach Anforderungen lässt sich das nicht ohne dedizierte Chips gewährleisten – die Secure Elements.

Der Kampf zwischen Pirat und Entwickler währt lange: Schon zu Zeiten von Atari und Co. versuchten Hersteller, Hardware und Code gegen unberechtigtes Kopieren abzusichern. Dies ist vernünftig, um das geistige Eigentum und die Erträge daraus zu schützen. Im Laufe der letzten Jahre verlagerte sich der Schwerpunkt der Kampfzone in dedizierte Chips.

Zeit, einen Überblick über die Gesamtlage zu wagen. Dafür bietet es sich an, die Chips nach ihren Grundfunktionen zu unterteilen. Neben ICs, die sich ausschließlich um kryptografische Schlüssel kümmern, gibt es kombinatorische Mikrocontroller und Chips, die die Integrität von Software überwachen. Bei den Sicherheits-ICs (Integrated Circuit) tummeln sich einige Angebote, die wegen der immer höheren Integration auch in Form von Kombinationsschaltungen auftreten können.

Zunächst sei angemerkt, dass sich die Halbleiterhersteller bei Sicherheits-ICs wenig kommunikativ zeigen. Datenblätter bekommt man als Kleinentwickler wenn überhaupt meist nur gegen Unterzeichnung einer Vertraulichkeitsvereinbarung. Ins Internet entkommene Informationen verschwinden erfahrungsgemäß sehr schnell – das vorsorgliche lokale Speichern von Dokumenten ist ratsam.

My Chip is my Castle

Wer Google mit dem Suchbegriff „MCU Reverse Engineer“ füttert, findet schnell günstige Anbieter (Abb. 1).

Hersteller von Mikrocontrollern bieten seit jeher die Möglichkeit an, einen Chip beim Brennen als nicht mehr auslesbar zu kennzeichnen. Dabei handelt es sich aber mehr um eine Empfehlung an das hauseigene Programmiergerät – in der GUS-Region, aber auch in Asien, gibt es eine Vielzahl von Anbietern, die so gut wie alle Mikrocontroller für wenig Geld auslesen (siehe Abbildung 1).

Derartige Unternehmen arbeiten mit ausgefeilten Methoden: Öffnen des Gehäuses, elektronenmikroskopische Analyse, Belästigung des Chips mit zu niedrigen Versorgungsspannungen, Analyse des Stromverbrauchs und anderes gehören heute zum Arsenal [a]. In der Theorie gibt es gegen so gut wie alle genannten Angriffsvektoren Abwehrmaßnahmen, die sich in das Halbleitersubstrat einarbeiten lassen. Leider erhöhen sie die Kosten immens – das Absichern eines großen Mikrocontrollers mit Millionen von Transistoren wäre alles andere als preiswert.

Dank der Rollenteilung zwischen Secure Element und Mikrocontroller benötigen nur wenige Transistoren teure Sicherheitsmaßnahmen (Abb. 2). Quelle: STMicroelectronics

Abhilfe können Secure Elements schaffen. Sie sind auf Sicherheitsaufgaben spezialisierte ICs, die je nach Ausbau entweder nur einen Speicher samt Kryptoalgorithmus oder einen kleinen Mikrocontroller mitbringen (siehe Abbildung 2). Mit ihrem Host kommunizieren sie in der Regel über den I2C-Bus (Inter-Integrated Circuit).

Die wichtigste Rolle des Secure Element ist der Schutz von Schlüsseln für verschiedene kryptografische Prozesse. Die Applikation schickt zu signierende oder zu (de-)chiffrierende Informationen zum Chip, die Antwort wandert postwendend zurück. Diverse Absicherungsmethoden gewährleisten, dass sich der Speicher beim Erkennen von Manipulationen selbst zerstört (Tamper Protection).

Im Umgang mit der von Atmel übernommenen Dokumentation zeigt sich der Hersteller Microchip freigiebig: Die Application Note [b] enthält eine lesenswerte Liste von Angriffsmethoden auf Secure Elements. Sie stellt außerdem etliche Methoden der Signaturverifikation vor. Im Interesse der Kompaktheit seien nur eine einfache und eine komplizierte Implementierung betrachtet: Atmels AT88SA10HS und der STSAFE-A100 von STMicroelectronics.

Vordefinierte Werte als Einfach-Test