Physical Unclonable Functions

Das Geheimnis aus der Hardware

Ein Beitrag von Dr. Matthias Hiller und Dr. Michael Pehl, Fraunhofer AISEC und TUM Fakultät für Elektrotechnik und Informationstechnik

Für die dauerhafte Speicherung kryptographische Schlüssel in Chips sind besondere Maßnahmen nötig, damit der Schlüssel nicht auf einfache Weise von einem Angreifer ausgelesen werden kann. Eine zunächst überraschend erscheinende Möglichkeit ist die Messung chipindividueller Fertigungsschwankungen bestimmter Parameter und ihre Verwendung zur sicheren und kostengünstigen Schlüsselspeicherung. Wie dadurch die Sicherheit erhöht wird und Systeme vor Manipulation geschützt werden, wird im folgenden Beitrag vorgestellt.

Alternative zu nicht-flüchtigen Speichern

Klassische Speicher sind häufig angreifbar, da sie optisch – wie bspw. sogenannte eFuses – oder auf anderem Weg ausgelesen werden können. Vielfach sind auch für geeignete Technologien zusätzliche Fertigungsschritte nötig, was zu hohen Kosten führt, weshalb solche Technologien nicht auf jedem Chip verfügbar sind.

Der grundlegende kryptographische Nachteil eines nicht-flüchtigen Speichers ist, dass der Schlüssel auch vorhanden ist, wenn der Chip ausgeschaltet ist und aktive Gegenmaßnahmen – wie Sensoren – inaktiv sind. Ein Angreifer kann dann den Chip manipulieren und den geheimen Schlüssel auslesen.

Eine Alternative zu einer permanenten Spannungsversorgung für die Aufrechterhaltung der Gegenmaßnahmen und eine Lösung für Anwendungsfälle, in denen kein sicherer nicht-flüchtiger Speicher verfügbar ist, bieten Physical Unclonable Functions, kurz PUFs. Diese können nicht nur als Schlüsselspeicher sondern auch für die Authentifizierung verwendet werden wobei ihre Nutzung als Schlüsselspeicher die derzeit wichtigste Einsatzmöglichkeit darstellt, auf die sich dieser Artikel zunächst fokussiert. Hierbei werden im folgenden Abschnitt sogenannte Silicon PUFs betrachtet, also PUFs die im klassischen Halbleiterprozess integriert werden können.

Vom Zufall zum Schlüssel

Den Ursprung des von PUFs erzeugten Geheimnisses stellen im Fertigungsprozess unvermeidbare Schwankungen dar, die selbst für den Hersteller nicht kontrollierbar sind. Solche Schwankungen treten im Fall von Silicon PUFs beispielsweise bei der Dotierung oder Belichtung auf und können als Zufall modelliert werden.

Ziel ist es, pro PUF einzigartige und nicht vorhersagbare Fertigungsschwankungen reproduzierbar zu messen, also gewissermaßen einen Fingerabdruck des Chips zu generieren. Die bekanntesten PUFs basieren hierbei auf der Unvorhersagbarkeit des Initialzustands einer Speicher-Zelle (z.B. SRAM-PUF) oder der Laufzeitvariation von Logikgattern (z.B. Ringoszillator PUF).

Geheimnis-Generierung mit PUFs

PUFs generieren das chipindividuelle Geheimnis nur bei Bedarf. Ist der Chip ausgeschaltet oder wird das Geheimnis nicht benötigt, muss es nicht vorgehalten und somit auch nicht geschützt werden. Das Auslesen der PUF ohne den Chip einzuschalten oder die chipindividuellen Eigenschaften zu verändern (also das Geheimnis zu zerstören) ist praktisch nicht durchführbar.

Für PUFs werden dabei in der Regel sehr grundlegende Strukturen wie SRAM-Zellen oder Logikgatter verwendet, sodass sie in jedem Fertigungsprozess ohne großen Mehraufwand realisiert werden können. Allerdings muss das von PUFs erzeugte Geheimnis für die spätere Nutzung aufbereitet werden. Soll die PUF etwa für die Speicherung eines Schlüssels genutzt werden, muss dieser Schlüssel zuverlässig über die gesamte Lebenszeit des Chips immer wieder hergestellt werden können.

Das von der PUF durch Messung ermittelte Geheimnis variiert jedoch; nicht nur aufgrund von Rauschen, sondern auch wegen Umgebungseinflüssen und Alterungseffekten (praktische Implementierungen setzen Fehlerwahrscheinlichkeiten von bis zu 15 %-25 % pro Bit an). Das mittels PUF erzeugte Geheimnis unterscheidet sich also bei jedem Messvorgang leicht.

Erzeugen stabiler Schlüsseln

Um einen stabilen Schlüssel zu erzeugen, sind sehr effiziente, ressourcensparende Fehlerkorrekturverfahren notwendig [1]. Hier sind in den letzten Jahren erhebliche Fortschritte gemacht worden. Allerdings sind immer noch Fragen offen. Insbesondere wird erforscht, inwieweit sicherheitskritische Information bei der Verarbeitung des Geheimnisses durch die Fehlerkorrektur preisgegeben wird.

Solche Leakage kann bspw. über Seitenkanäle (z. B. elektromagnetische Abstrahlung) oder durch gespeicherte Zusatzinformation für die Fehlerkorrektur (Helper Daten) entstehen.

Qualitätsmaßstäbe

Ein weiterer Forschungsschwerpunkt im PUF-Bereich ist die Qualitätsbewertung, insbesondere bezüglich der statistischen Vorhersagbarkeit des mit ihr gespeicherten Geheimnisses [2].

Das Finden von Maßen, die für PUFs eine statistisch belastbare Aussage über die Güte zulassen, stellt ein herausforderndes Problem dar, da in der Regel nur ein vergleichsweise kleiner Datensatz zur Verfügung steht. Auch sind Grundannahmen mancher Tests unzulässig, da etwa nicht vorausgesetzt werden kann, dass alle PUF-Antworten aus derselben Verteilung stammen.

Geeignete Maße sind jedoch eine Grundvoraussetzung für eine sinnvolle Sicherheitszertifizierung von PUFs. Das Fraunhofer-Institut für Angewandte und integrierte Sicherheit AISEC und der Lehrstuhl für Sicherheit in der Informationstechnik der Technischen Universität München nutzen für die Analyse von PUF-Prototypen auf FPGA und zur Überprüfung der Eignung von PUF-Bewertungsmaßen ein am Fraunhofer AISEC befindliches FPGA Array (Abb. 1) [3] und tragen so zur Lösung dieser Aufgabenstellung bei.

PUFs als Schutz gegen Manipulationsversuche

Neben den bereits erwähnten Einsatzmöglichkeiten innerhalb von Siliziumchips können großflächigere PUFs auch genutzt werden, um Manipulationsversuche an ganzen eingebetteten Systemen zu unterbinden. Hierzu wurde am Fraunhofer AISEC in Zusammenarbeit mit Fraunhofer EMFT und IMS eine Schutzfolie mit PUF-Eigenschaften [4] entwickelt (Abb. 2): Ein engmaschiges Netz von Leiterbahnen wird in eine Folie eingebracht.

Die Kapazitäten zwischen den Leiterbahnen unterliegen feinen Fertigungsschwankungen, die über eine Verstärkerschaltung gemessen werden. Wird die Folie von einem Angreifer manipuliert – z.B. entfernt oder durchbohrt – führt dies zu einer irreversiblen Veränderung von Kapazitäten. Ist das unter der Folie befindliche System – typischerweise ein eingebettetes System mit kryptographischen Geheimnissen oder schützenswerter Software – eingeschaltet, so kann der Angriff direkt aus einer Änderung zur Laufzeit detektiert werden.

Ist das System ausgeschaltet, so sind alle sicherheitskritischen Informationen mit einem aus der Folie extrahierten Geheimnis verschlüsselt, welches durch den Angriff zerstört wird. Das Konzept erlaubt somit einen umfassenden Schutz aller im System gespeicherten kritischen Informationen. Anders als herkömmliche Schutzfolien erlaubt die Nutzung der PUF-Eigenschaften die Realisierung des Schutzes ohne permanente Spannungsversorgung aus einer integrierten Batterie. Dies ist z.B. im Hinblick auf Temperaturbereich und Lagerung, aber auch Größe und Gewicht vorteilhaft.

Fazit

Die in diesem Artikel vorgestellten Eigenschaften von PUFs erlauben ein hohes Sicherheitsniveau bei der Schlüsselspeicherung sowie den Schutz ganzer Systeme gegen Manipulation. Dabei können insbesondere auch leichtgewichtige Anwendungen geschützt werden, die über keine permanente Spannungsversorgung verfügen. Die Integration von PUFs ist überdies oft kostengünstig. Somit sind PUFs bspw. in Sensornetzwerken und im IoT-Bereich, aber auch darüber hinaus eine interessante und zukunftsträchtige Lösung.

Literatur

[1] M. Pehl, M. Hiller und G. Sigl, Secret Key Generation for Physical Unclonable Functions, in Information Theoretic Security and Privacy of Information Systems, Cambridge University Press, 2017, pp. 362-389.
[2] F. Wilde, B. M. Gammel und M. Pehl, Spatial Correlation Analysis on Physical Unclonable Functions, IEEE Transactions on Information Forensics and Security, 2018.
[3] R. Hesselbarth, F. Wilde, C. Gu und N. Hanley, Large scale RO PUF analysis over slice type, evaluation time and temperature on 28nm Xilinx FPGAs, IEEE International Symposium on Hardware Oriented Security and Trust (HOST) , 2018.
[4] V. Immler, J. Obermaier, M. König, M. Hiller und G. Sigl, B-TREPID: Batteryless Tamper-Resistant Envelope with a PUF and Integrity Detection, IEEE International Symposium on Hardware-Oriented Security and Trust (HOST), 2018.