 Okay, please welcome Paul Van Aubel, PhD student at Trabald University in Nijmegen. Bitte begrüßt Paul Van Aubel. Er ist ein Doktorant an der Radbau- und Universität. Mit einem warmen Applaus. Er wird einen Vortrag über Physically Unclonable Functions halten. Vielen Dank, vielen Dank für diesen Applaus. Vielen Dank, dass ich hier zur besten Zeit sprechen kann, wenn alle noch da sind und noch nicht betrunken. Und vielen Dank, dass ich neben dem Space-Track sprechen kann. Der Harold hat schon erklärt, wer ich bin, aber das Wort, der Inhalt kommt zum größten Teil nicht von mir, sondern von vielen, vielen Autoren. Und ihr werdet Zitationen auf Referenzen auf den meisten Slides sehen. Übertreibt es nicht, dort drauf zu gucken. Lad euch, wird euch die Folien nachher runter. Wenn euch was interessiert an diesem Talk, schaut es euch an. Der Zweck dieses Talks ist es, dass ihr einen Überblick erhält und ein Interesse gewinnt an Physically Unclonable Functions. Nachdem das aus dem Weg ist, schauen wir uns das Problem an, das wir lösen wollen. In Computersicherheit seit den 80er Jahren haben wir das Problem erkannt, dass wir einzigartige Identifikation und Authentisierung von Geräten möchten, von Chips. Wir wollen also Chips einzigartig von anderen Chips mit derselben Maske identifizieren. Und das mit hoher Genauigkeit und ohne Fälschungsmöglichkeiten. Und zu erklären, wie wir zu diesen Funktionen kommen, werde ich etwas Geschichte der Fälschungssicherung erzählen. Da geht es um Geld, um Magnetstreifenkarten, um Identitätsdokumente, um Atomwaffenzähler. Oder wie man die in vielen offiziellen Dokumenten sieht, als Treaty-Limited-Item-Identifikatoren. Geld ist schon lange mit sehr detaillierten Zeichnungen bedruckt. Das hier ist ein Beispiel direkt nach der amerikanischen Revolution. Und ich mag sehr diese Zeile hier, the counterfeit fälschen ist tot. Weil, wenn man es tat, wenn man Geld fälschte, wurde man gefiertelt. Und ich würde vom Publikum gerne wissen, wer dieses Muster schon mal gesehen hat. Kann man mir sagen, wer das ist? Was das Muster bedeutet? Die Orion-Konstellation. Sie soll Fotokopierer davon stoppen, Geld zu kopieren. Wenn er sein Kopierer diese Konstellation erkennt, dann wird er einfach das Dokument nicht kopieren. Das kann man auch auf eigenen Dokumenten anwenden. Wir sehen das immer wieder in diesen Jahrhunderten. Wir markieren alle Noten auf dieselbe Weise und stellen dann sicher, dass man diese Verifikationsdokumente bestätigen kann. Eine Alternative dazu wäre es, wenn man einzigartige Markierungen für jeden einzelnen Geldschein hätte und diese Markierung dann signieren würde, dann hätten wir aber eine ganze neue Sammlung von Fragen. Wie kann ich verhindern, dass jemand einen besonderen Geldschein kopiert und damit die Signatur ebenfalls kopiert? Niemand würde in diesem Fall noch prüfen, ob ein Geldschein online guldesigniert wurde. In 1983 wurde eine Antikopiermaßnahme vorgeschlagen. Und zwar sollten zufällig lange optische Fasern ins Papier, in die die Masse aus der das Papier für die Noten entsteht, gestreut werden. Danach würde das Geld gemacht werden. Und nachher würde man einen Leuchtbalkenscann machen und ein Punktemuster sehen. Und aus diesem Punktemuster wurde vorgeschlagen, würde man eine Signatur erstellen und diese Signatur auf den Geldschein rücken. Das wird in diesem Paper hier im Detail erklärt. Im Prinzip funktioniert das. Etwas weiteres sind Karten. Wir hatten Karten mit Magnetschreifen und Pin in Europa werden die nicht mehr benutzt, in den US schon. Das machen wir, weil niemand weiß, wie man Magnetschreifen kopiert. Genau. Das heißt, wir fügen dann weitere Informationen auf die Karten dazu, damit erkennbar wird, wenn die Inhalte auf eine zweite Karte kopiert wurden. Zum Beispiel ein Hologramm. Aber das kann mittlerweile auch kopiert werden. Ich muss da nicht mal die Literatur referenzieren. Nun, in 1980 hat jemand vorgeschlagen, dass wir zufällige Magnetfasern in eine Beschichtung verteilen, diese Fasern einscannen. Und zwar mit einem elektromagnetischen Erkennungsgerät und daraus wieder ein Bitmuster erstellen und dies wieder signieren. Genau. Dann gab es auch diesen schönen Vorschlag, wo wir zufälligerweise leitende Partikel in diesem Material verteilen. Und das Wirum-Scan mit einer Mikrowelle diesmal aus dem 1980er. Weiter mit Identifikationsdokumenten hat jemand vorgeschlagen, wir können die Translucenz eines Papierstreifens verwenden, diesen Streifen einscannen, dieses Muster in ein Bitmuster umwandeln und so weiter. Siemens hat gesagt, dass das zu einfach klonbar ist, weil man ein Foto davon machen kann und dieses reproduzieren kann. Diese Translucenz ist also nicht wirklich nützlich. Man könnte wahrscheinlich auch ein dreidimensionales Baumwollmuster verwenden von diesem Dokument. Auch dieser Vorschlag war von 1981 und auch hier hat Siemens gesagt, das ist unmöglich, so was umzusetzen. 1999 kam jemand auf die Idee, den Oberflächenhersch eines Briefumschlags zu verwenden, ein hochauflussendes Bild des Umschlags zu machen und das nachher, dieses Bild nachher zu herrschen. Das sicherstellt, dass diese Fotos immer in dasselbe Bitmuster fallen. Das funktioniert. Schließlich... Schließlich die Treaty-Limited-Eiffelns, also benutzt man reflektive Partikel-Objekte. Dann beleuchtet man sie mit ultravioletem Licht und das macht dann die Sache relativ offensichtlich. Das ist damit gemacht... Das wird offensichtlich, wenn diese verändert wurden und nachträglich kann man feststellen, dass eine Veränderung vorgenommen wurde. Wenn wir also Atomwaffen zählen wollen, dann funktioniert dieses Vorgehen. Die Gemeinsamkeit ist, dass wir einen intrinsischen Aspekt des Gegenstands verwenden, der nicht kopiert werden kann, einfach gelesen werden kann, nicht voraussehbar ist und sich nicht verändert. Was uns zu einem 2001er-Vorschlag für physische Einwegfunktionen bringt, bei diesem Vorschlag war die Grundidee, dass wir einen Epoxid haben mit kleinen Glaskubeln. Wir festigen dieses Epoxid auf ein kleines... ...in eine kleine, würfelförmige Form und beleuchten es mit einem Laser. Daraus erhalten wir ein spektrales Muster, das wir mit 320 x 240 Pixeln aufnehmen und daraus einen 2400-Bit-Schlüssel mit einer Gabor-Transformation machen. Ich habe keine Ahnung, wie das genau funktioniert, das ist nicht meine Expertise, aber wir erhalten damit interessante Möglichkeiten, dass z.B. ein Loch zu bohren, die Hälfte der Bits dreht. Das heißt, das spiegelt eigentlich digitale Haschfunktionen wieder, weil ein Bit in einer Input für SHA Funktionen zu verändern, sollte auch die Hälfte der Bits des Outputs verändern. Es kommt also an die Kryptografie hin. Die Struktur zu lesen, ist in diesem Fall möglich mit einem Mikroskop, kann das gemacht werden. Man kann das auch wieder rekonstruieren, aber es ist ziemlich unmöglich, auf die Submikronebene genau den Gegenstand zu kopieren. In der Theorie, wenn man die Struktur des Gegenstands kennt, kann man simulieren, wie dieser Laser durch diese Kugeln reflektiert werden würde. Man müsste dazu aber eine Datenbank aller Antworten auf Challenges machen. Das Schwere daran ist, dass die Challenges jeweils ein Laser zu einem anderen Winkel sind und von einem unterschiedlichen Ort. Und alle diese Antworten auf eine neue Challenge werden immer unterschiedlich sein, und die Datenbank wäre unmöglicherweise riesig. Das heißt, das Protokoll für diese Funktion wäre es. Wir lesen es auf einem vertrauenswürdigen Terminal. Wir sammeln zufällige Challenge und Response Pairs. Diese müssen wir geheimhalten. Später erhalten wir eine Authentication, eine Authentifizierungsanfrage von einem unvertrauenswürdigen Terminal und senden diesem Terminal eine Challenge aus dieser Datenbank. Das heißt, die Theorie ist, wenn dieses Terminal das Device nicht enthält, dann kann es die Response nicht senden. Wenn es das tut, kann es die Challenge entsprechend beantworten. Wir werden die Challenge dann gegen die Antwort vergleichen, mit einer gewissen Toleranz. Es wird wahrscheinlich kleine Abweichung geben, weil sich das Sample verschiebt, weil die Kamera anders ist. Wir halten gewisse Unterschiede und nehmen deshalb die größtunwahrscheinliche Akzeptanzrate, die wir akzeptieren wollen, für Fehler. Damit erhalten wir, wenn wir die Schritte 4 bis 6 mehrmals wiederholen, können wir diese Rate verbessern. Und wenn die Challenge scheitert, fangen wir wieder mit einem 1 an. Das ist das erste Paper, was die Verbindung zur Kryptografie geschaffen hat. Aber es gibt einige Probleme damit. Man braucht spezielles Equipment. Wir brauchen wirklich, wir hätten gerne für Silizium die gleiche Wahrscheinlichkeit. In diesem Paper war schon der Vorschlag gemacht, dass man einen ähnlichen Hangehensweise macht, wenn man Elektronen streut und so weiter. Ich verstehe nicht, was das bedeutet, aber wir wissen, wie das weitergeht. Also unter uns, wenn man das Zeug macht, dann muss man zu mich alte Papers lesen. War das nicht toll, als man noch sagen konnte? Die seismischen Sensoren müssen alle Versuche physischen Zugriff zum Package erkennen, bevor die Informationssicherheit gefährdet wird. Ich möchte das nicht unbedingt prüfen, aber ich akzeptiere die Wahrscheinlichkeit, dass das wahrscheinlich ungefähr so ist. Also so sieht man das damals. Und der Text ist wirklich klasse. Das wurde noch auf dem Schreibmaschine geschrieben. Das gibt es übrigens online, also wenn ihr Universitätszugang habt. Dann gibt es noch andere Lösungen für das Problem. Es gibt Hardware-Sicherheitsmodelle, es gibt Trusted Platform Modules. Die gab es übrigens erst seit 2006. Ich dachte, die gab es schon länger, aber nein. Aber man hat noch das Problem der Schüsselmanagement. Der Schüssel ist halt mit der Plattform verbunden. Wenn ich den Schüssel irgendwie rauskühlen kann oder ein anderes TPM-Reinigung kann, dann habe ich irgendwie ein Problem. Also jeder der Weise verlässt das Schüssel nie das Device. Wie kommt der Key auf das Device? Wie kommt das Schleuchtes Device? Also alles interessante, Kryptografie. Aber man weiß nicht genau, was kann der Schüssel machen. Man kann nur 1.024 Bits, kann man das alles emulieren. Also wir wollen wirklich das andere Zug auf der Funktion. Das ist der erste Name fysikalische Zufallsfunktion. Also P-O-F, es ist natürlich ein Threaded Earth Acronym und das übersteigt sich mit dem anderen Acronym. Es gibt eine interessante Diskussion, ob das jetzt fysikalisch oder physisch ist. Aber es gibt auch andere Funktionen. Es gibt auch andere Funktionen, also schauen wir uns mal den anderen Zugang hier an. Es gibt genügend unterschiedliche Prozesse, wenn man auf eigentlich identische Schaltkreise schaut. 2003 haben sich Dash and Taylor eine spezielle Device-Identifizierung Schaltkreise angeschaut. Wenn man die verwenden möchte für die Authentizierung und die Sicherheit, dann braucht man mehr. Also was macht man? Man baut das hier und ich denke nicht, dass es wirklich wie möglich ist, das ist ein Ring-Oscillator-Puff. Wir haben hier eine Schleife, die selber oscillieren müsste. Die Herausforderung hier ist es, dass wir ein Bit für jeden dieser Blöcke möchten. Wenn das Bit eins sagt, dann geben wir das Signal weiter. Wenn es null sagt, dann überspringen wir. Das heißt, für jede unterschiedliche Challenge haben wir einen unterschiedlichen Pfad durch diese PoF. Je nachdem erhalten wir ein 1 oder ein 0 und zählen die Signale und identifizieren die Kreise. Es gibt auch mögliche Angriffe. Wir haben den Duplicationsangriff, das sollte unmöglich sein, das ist die Privise. Wir haben die Immunation der Messung. Das heißt, wir bauen ein Modell und messen darin genau die Distanzen der logischen Einheiten innerhalb dieses Kreislaufs. Es wird als unmöglich angenommen, denn wie soll man so etwas messen ohne die Funktion zu zerstören? Dann haben wir die Möglichkeit, wenn wir genügend Paare von Challenge Response gesammelt haben, können wir beginnen zu simulieren und können damit Antworten vorausschauen. Zum Schluss haben wir die Möglichkeit, den Kontrollalgorithmus anzugreifen, den Kontrollalgorithmus, der die PoF steuert. Wenn das möglich ist, ist die Funktion nutzlos. Wir haben ein weiterer Vorschlag, kontrollierte physische unklungenbare Funktionen. Das ist derselbe, aber ein bisschen komplizierter. Die Zugrifffunktion wird hier Teil der physischen unklungenbaren Funktionen. Wir überlegen die Logik der Zugrifffunktion mit der unklungenbaren Funktion selbst. Das heißt, wenn man die PoF-Klonen möchte, muss man dazu, wenn man die Zugrifffunktion klonen möchte, muss man die PoF selber klonen und die wäre sowieso gebrochen. In dieser Kombination haben wir Proof of Execution auf dem spezifischen Device. Also eine Antwort muss tatsächlich von diesem spezifischen Device kommen. Und wir können Code schreiben, der nur auf diesem Gerät laufen kann. Also, wenn wir einen sicheren Kryptograf in den Schlüssel brauchen, dann sollten wir diesen nur auf einem solchen Gerät ausführen. Wir haben eine Challenge, eine Personalität, eine ID, machen daraus einen zufälligen Hash und holen aus diesem Gerät am Ende nach dem Random Hash wieder eine Responsor aus. Für Details schaut euch das Paper an. 2011 wurde ein formales Modell vorgeschlagen, was wir wirklich brauchen für PoFs. Erstens, wir brauchen Robustheit. Das heißt, über die Variationen muss dieselbe Antwort rauskommen. Wir brauchen physische Unklonbarkeit und wir brauchen Unvorhersehbarkeit. Nun, zwei und drei davon sind möglicherweise Gegensätze. Da kommen wir später dazu. Und seither gab es viele Vorschläge und Angriffe auf PoFs. Ein erster Punkt sind Arbiter PoFs, die alle Verzögerungsbasiert sind. Wenn ich ein Signal durch einen Chip laufen lasse, dann wird dieses Signal verzögert. Aber diese Verzögerung soll vom Chip abhängig sein. Das können wir aber relativ einfach modellieren. Und zum Beispiel beim Bystable Ring PoF, der ziemlich aktuell ist, kann man ein bisschen ausgefeiltes Machine Learning machen und mit ungefähr 30.000 Challenge Response Paaren 100% Präzision im Vorausschauern von Antworten generieren. Das ist nicht wirklich gut. Und wir können auch optische Messungen anwenden und damit rund 6 Frames pro Sekunde Zuverlässigkeit. Dann gibt es speicherbasierte PoFs, die bistabilen Arbeitsspeicher nutzen. Die sehen ungefähr so aus. Wir sind eigentlich auch verzögerungsbasiert. Hier ist aber einzigartig für diese Zelle ein Block von Zellen, die unabhängig voneinander sind. Und daraus erhalten wir ein Muster von 1 und 0. Die sind ziemlich stabil. Ich zeig euch nachher ein Muster, wenn wir ein gutes PoF haben und ein schlechtes PoF haben. Eine weitere Möglichkeit sind SRAM PoFs. Wenn wir ziemlich limitiertes SRAM haben, dann ist es möglich, dass wir die ganzen Informationen auslesen, diese in der Datenbank speichern und so das PoF klonen. Wir können fokussierte Ionenstrahlen nehmen, um die SRAM Struktur in einem anderen Chip entsprechend nachzubauen, dass die korrekt sind. Das soll möglich sein. Diese SRAM PoFs sind deshalb werden als schwache PoFs angesehen, sind aber wahrscheinlich die besten, die zurzeit existieren. Das ist auch das, was ihr mögen, wenn ihr ihren Geräten habt, die vorgeben, eine PoF zu enthalten. Zum Schluss hat jemand vorgeschlagen, Schallaxung und ich kann den Namen nicht aussprechen. Die K-Based PoF, zerfallbasierte PoFs, wir nehmen SRAM, entfernen den Strom und führen dann wieder Strom zu und schauen, wie sich die Inhalte verändert haben. Aber davon wissen wir noch nicht viel. Nun zu den allerletzten Inhalten in diesem Talk. Wir nehmen den eigenen Speichern und das ist trivial. Den ganzen Talk habt ihr euch vielleicht gefragt, wieso machen wir das überhaupt? Es gibt nicht genügend Zufälligkeit in einer Siliziumstruktur und ich stelle mir nicht zu, weil ein bisschen Schutz ist besser als gar kein Schutz, finde ich. Zweitens, ich glaube nicht an magische Lösungen. Das hier sollte ein Teil einer größeren Sicherheitsstruktur sein. Also wenn ihr aus diesem Talk nichts weiter als das mitnehmt, dann lest dieses Paper hier auf Folie 39. Hier geht es um eine lightweight anti counterfeiting solutions for low end commodity hardware using inherent PoFs. Am besten lest ihr auch dieses verwandte Paper auf Folie 40. Lasst euch von den Punkten IP Protection und License Model nicht beirrend. Ihr möcht so was haben, z.B. in einem Raspberry Pi. Ich weiß nicht, ob ein Raspberry Pi das habt, das ist für euch rauszufinden. Was ihr braucht, ist ein Device mit einem marschierten Raum, um den Bootloader zu enthalten. Diese erste Stage muss unter eurer Kontrolle sein. Ihr braucht den Startup Code und müsst den modifizieren können und ihr braucht SRAM on Board, um darauf das Puff aufzubauen. Ihr werdet auch ein bisschen nichtflüssigen Speicher brauchen, um die Firmware und verschlüsselte Daten zu lagern. In dem Puff and Paper, von dem das ein früheres Ergebnis war, gibt es mehrere Ergebnisse. Das ist ein STM32F0B-Modul. Was man sehen möchte, ist Weiß als Rauschen. Anders als auf der rechten Seite, wo man das sehr gut sehen kann. Aber das kann man nutzen. In dem Moment, wo man etwas hat, wo ein solches Gebiet mit weißem Rauschen ist, kann man die verschiedenen Abstände für die Funktion nutzen. Für viele verschiedene Devices. Das bedeutet, dass jedes Gerät anders aussieht. Man misst auch die Inner-Class-Hemming-Abstand und man möchte, dass das unter 0,1 ist, damit es von der Fehlerkorrektur nicht zu kompliziert wird und man wird Fehlerkorrektur benötigen. Zum Beispiel Goliacodes. Das Paper, was ich gerade gemeint habe, ist dieses hier. Das ist auch von diesem Paper. Es erklärt, wie die Fuzzy-Extraktion funktioniert. Und entgültig baut man dann den Fuzzy-Extractor. Man generiert etwas Hilfsdaten für die Fehlerkorrektur und um die Challenge zu generieren, sendet man etwas Hilfsdaten. Und am Ende bekommt man eine Secret-S-Prime-Zahl von jedem Chip. Als Nächstes benötigt man ein Bootloader, der wird ge-challengt vom was geht ein Rauschen. Und dann wird davon das eingebettete Betriebssystem geladen. Das ist im Prinzip genauso wie die Geräteausführung auf X68 funktioniert. Etwas mehr Detail hier. Das gleiche Vorgehen. Frage des POF. Die Krypto-Systeme. Das ist wie es jetzt genau im Detail aussieht. Und wenn man das nicht bauen will, dann hat man das hier. Erinnert euch, wenn ich euch die Inner-Klass-Hammenglisters gezeigt habe, die in der Struktur gezeigt habe. Die roten Punkte. Das ist die innerstruktur der SRAM-Zellen. Das ist kein Puff. Das ist viel zu feuersehbar. Und was ist mit X68? Leider funktioniert das nicht. Denn sie nullen alles. Leider bin ich genug Zeit dafür. Und Nutzer haben den Eindruck, dass, wenn es einen eindeutigen Identifizier gibt, können sie getrackt werden. Aber mit einem Kontroll-POF, könnte man die Anwiedung keine Paranoia benötigt, denn man kann sie auch verändern. Entgültig. Die Referenzen. Google Scholar ist ein guter Freund. Read that paper. Read it. Vielen Dank für Ihre Aufmerksamkeit. Thank you, Paul. We have time for maybe two questions. Was denken Sie über Memory Space-Affs, wo man die Accelerometer in die Beschleunigungsmesser verwendet und Vibration als Challenge verwendet? Mems basierte Technologien. Bosch hat das. Ich denke, die sind sicherer als Silizium basierte Puffs, denn sie sind speziell dafür gebaut. Wir versuchen, aus bestehenden Bauteilen Puffs zu extrahieren. Es ist interessant, verwendet sie, wenn sie da sind, aber die meisten Leute haben nicht die Möglichkeit dafür. Vielen Dank. Vielen Dank. Vielen Dank für Ihren Vortrag. Ich habe noch nie von Puffs gehört. Ich habe mir die Frage gestellt, wie kann ich eine nutzbare Smartcard finden, die all das ausnutzt. Er zieht mir etwas, wie man Puffs benutzen kann. Ich habe noch die Frage, wie kann ich eine Smartcard finden, wie kann ich eine Smartcard finden? Er zieht mir etwas, wie man Puffs benutzen kann zusammen mit OpenPGP Smartcards. Kurze Antwort, nein. Ich habe keine Ahnung, ob OpenPGP jemals so etwas unterstützen wird. Ich habe keine Ahnung, ob so etwas implementiert ist. Auf Smartcards habe ich keine Ahnung, ob Puffs von relevant sind. Das bedeutet allerdings nicht, dass es nicht existiert. Das war alles. Noch eine Runde Applaus.