 Die andere Sprecher heute, da wird hier mit der Brille und Lars und Christian alle drei arbeiten für eine kleine Firma der Universität Buchung und bitte Applaus. Ja, vielen Dank. Danke, dass ihr heute hier seid. Ich bin Christian. Der große hier ist Lars und der andere hier ist David. Wir sind aus Buchung, das ist eine schöne Stadt und zweieinhalb Stunden hier von Leipzig entfernt. Sehr nah, mehr oder weniger. FACEAC ist ein Unterunternehmen von der Universität Buchung. Wir sind zweieinhalb Jahre alt und das ist wirklich das erste Mal, dass wir hier Einblick in unsere Technologie geben. Unsere Team hinter dem Enclosure-PAF-Technologie sind nicht nur wir drei, sondern die Hauptteile der Leute sind ja auch Christoph Paar, sind Professor und Stuhl der Embedded Security und Johannes Trubisch, das ist auch hier, ist noch ein bisschen schüchtern, da wollte ich ja nicht auf der Bühne stehen. Das ist natürlich ein Witz, aber drei Leute reichen natürlich und natürlich wir. Ihr kennt vielleicht Buchung wegen der Ruhr-Universität, insbesondere wegen dem Institut für IT-Security, aber es gibt auch Nokia und Opel-Werke, aber weil wir kein Nokia und kein Opel mehr haben, haben wir eben hier FACEAC gegründet. Das stimmt natürlich nicht, aber wir haben 26 Professoren auf dem HTI und über 100 Jahre Alumni und mehr als 15 Start-ups und einige von denen sind inzwischen keine Start-ups mehr, aber es ist ein schönes Ecosystem für uns und natürlich für IT-Sicherheit. In Buchung gibt es auch das Max-Planx-Institut für Cybersecurity und das Europäische Kompetenzzenter für IT-Security, es gibt auch die Fluxfinger und Buchung ist natürlich auch gut in echte Angriffe zu veröffentlichen. Um meine Idee zu kriegen, was wir eigentlich wirklich tun, was wir nun nicht hier so neuerdige Technologien vorstellen, wir machen Implementierungsangriffe für Leute, die Statistik mögen, physikalische unsichere Geräte für das Internet of Things und dass sie in der Zukunft haben werden, ist ein großes Problem. Aber wer hier konkrete Beispiele will, wir haben natürlich sehr viele verschiedene Angriffe, also Mathematische Angriffe, Social Engineering, aber auch insbesondere halt Implementierungsangriffe. Das kann man auch in verschiedenen Familien kategorisieren, aktive und passive Angriffe und die passiven sind halt Side-Channel, das Timing der Algorithmen ausnimmt und Stromverbrauch und dann gibt es einfache Analyzes oder Statische Analyzes, kann man dann an die Schlüssel kommen. Ich werde noch ein paar Beispiele zeigen. Auf der anderen Seite gibt es natürlich aktiven Angriffe. Da hat der Angreifer das Gerät und kann vielleicht Fehler initiieren, mit zum Beispiel Lesern oder halt mit Timing-Clitches oder eben das komplette Gerät Reverse Engineering. Diese Angriffe sind unabhängig von den Algorithmen und kann sich also quasi virtuell für alle Siphers im Teamfeld anwenden. Eine kleine Illustration von einer Timing-Analyse, wenn man hier ein PicoScope oder ein Oscilloscope nimmt und halt dann Fehler initiiert und meine Kollegen eben das sehr intensiv analysiert. Was man hier sieht ist die Berechnung von einem NSA Algorithmus. Ich werde das ja nicht ins Detail gehen, aber sie machen hier ein paar Exponenzierung und Moduloreduktionen. Man reduziert halt die Molybrikizierung zu einem Quadrieren, wenn das möglich ist. Wenn man das macht, dann ist es schön, das macht es schneller, aber das ist in der Tat ein Problem, wenn man sich jetzt hier einen Stromverbrauch anschaut, dann kann man sehr, sehr einfach den privaten Schlüssel auslesen. Und das reicht halt, dass der Angreifer einfach nur das Gerät hat, dann kann er das Gerät hier ausspänen. Ein bisschen teurer ist dieser Ansatz, wo man hier jetzt eben mit einem fokussierten Ionstrahl auf den Schaltkreis schießt, damit verursacht man eben Fehler und wenn man dann nachher die Ergebnisse, die so einer zum Scheitern gebrachten Operation vergleicht mit der korrekten Operation, dann kann man halt auch solche Implementierung sehr einfach angreifen. Wenn euch das mehr interessiert, dann meine Kollegen, der heute auch hier ist, er hat erst seine Doktorarbeit veröffentlicht, aber wir dürfen den jetzt Doktor nennen, aber er selbst hat das noch nicht. Er ist gerade so dazwischen für seine Promotion. Er ist auch ein Experte in Hardware Reverse Engineering, wo man Säuren nimmt, um den Chip aufzumachen und zu analysieren, was in dem Chip ist. Und vielleicht finden wir da halt Schwachstellen, halt irgendwelche Sicherungen, die man nutzen kann, um im Schlüssel aufzulesen oder halt das komplette System zu Reverse Engineering. Eine weitere sehr interessante Angriffe ist die Implementierung von Trojanern in den Geräten. Hier ist zum Beispiel auch ein Beispiel eines Kollegen von mir in Bochum. Er hat ein Hardware Trojaner in eine High Security USB Stick eingebaut und das ist auch etwas, das wir hier versuchen, mit unserer Technologie abzuhandeln. Und wenn wir diese Informationen jetzt mehr noch aufbehalten, dann muss man das betrachten. Also man muss halt vielleicht darin in den Vortrag von gestern Smart Home Hacking, hat dann einen Tipp gesagt, ja, die ganzen Firmen beschweren sich immer, dass es hier Militärsicherheit ist. Aber von der physikalischen Sicherheitsstandards gibt es nicht wirklich so Militärstandards, die verwendet werden und es ist alles sehr weit weg davon, was das Militär macht. Aber es ist auch in diesem Fall, man muss sich näher damit befassen, die Geräte eben physikalisch zu abzusichern. Und ein Entwickler von IoT-Geräten wird halt eine sehr schwere Zeit haben, diese ganzen Sachen ins Design einzubauen und halt ein System zu entwickeln, wo man eben nicht Daten zwischen zwei Chips abgreifen kann. Also wenn man so ein Sicherheits-Element hat, also ein klassischer Microcontroller, dann muss man das ganze System schützen, wenn man da einen Angriff vermeiden will. Das ist ein großes Problem. Für all diese Anwendungen ist, wie schützt man jetzt wirklich Systeme von eben physikalischen Angriffen, wenn man jetzt von echten Internet-of-Thanks-Geräten kommt, also wie zum Beispiel Smart Home-Geräten oder Alarmanlagen, bis hin zu Finanzsystemen wie Geldautomaten oder Satelliten eben oder andere kritische Anwendungen, bis hin zu wirklich High Security Anwendungen, wenn euch einen Vortrag von uns von Princeton erinnert. Sie hatten auch ein paar sehr interessante Anwendungsfälle, wo diese Technologie hier sehr gut passen würde. Okay, bei diesem Punkt könnt ihr euch fragen, gibt es irgendwas, dass diese Geräte schon gegen Manipulationen schützt? Und wir geben jetzt einen Überblick, was heutzutage schon auf dem Markt gibt. Zunächst gibt es vier Ansätze um Manipulationssicherheit zu gerinnen, die einfach Manipulationen schwierig machen für den Angreifer. Manipulationswiderstand, Manipulationen muss schwierig gemacht werden, kann Evidenz geben, dass es offensichtlich ist, dass es einen Versuch gegeben hat, dann eine Tempererkennung, also Manipulationserkennung, dass der Nutzer darüber informiert wird, dass eine Angriff standgefunden haben und Manipulationsbeantwortung, also das Gegenmaßnahmen ergriffen werden, sobald ein Angriff vorkommt. Es gibt einen Standard, das ist diese NIST FIPS 142, das definiert steigende Niveaus von Manipulationssicherheit. Und wir versuchen den höchsten Level 4 zu erreichen, das ist für alle sehr empfindlichen Bereiche in dem amerikanischen Regierung gefordert wird, etwa für Server oder sowas. Was fordert dieser Level? Also jeder Angriff muss erkannt werden, auch kleinste Eindringversuche, Angriffe auf die Umgebung oder sowas. Alles, was irgendwie mit der physikalischen Integrität zu tun hat, muss erkannt werden. Angriffe müssen alle wichtigen Sicherheitsparameter zurücksetzen, alle wichtigen Daten, die geheimen Daten müssen gelöscht werden. Drittens müssen die Sicherheitsdaten müssen von dem eigentlichen System getrennt werden, also eine rot-schwarze Gebesen. Und der gesamte Setup muss in einem Manipulationserkennungs- und Antwortprozess eingebunden sein. Aber es gibt keine öffentliche Benchmarks dafür, was für Angriffe erkannt werden können, jeweils soweit wir es wissen. Vielleicht gibt es paar, die geheim sind, aber wir können darauf nicht zugreifen. Ja, kommen wir zur Manipulations- Widerstandsfähigkeit durch Resilienz. Da gibt es verschiedene, zum Beispiel die Versiegelung von elektronischen Elementen. Das wird auch manchmal für die Wasserfestigkeit gemacht. Da braucht man einige proprietäre Tools, um daran zu kommen. Oder man muss halt die Vergusssachen einfach entfernen. Das schützt für Vandalismus in öffentlichen Plätzen und ist relativ billig, aber es ist nicht das, was wir wollen. Dann gibt es die Manipulations-Evidenz. Das ist etwas, was erkennt aus der eigenen Erfahrung, etwa wenn ihr euer eigenes Telefon reparieren wollt und ihr es nicht machen könnt. Ein typisches Beispiel sind so Sicherheitssiegel, diese Warranties, sobald man das abzieht. Die erste wichtige Sache, die aufkommt, ist, kennt ihr mal die Geschichte dahinter? Es gab einen Serienmörder in den Vereinigten Staaten, der diese kleinen Verwältnisse vergiftet hat und als Resultat daraus wurden, diese Sicherheitssiegel eingezürzt. Die sind weit verbreitet, sind billig und ineffektiv. Es gibt auch einen Talk dazu, wie man sehr einfach diese Massnahmen umgehen kann. Wir möchten eine Sache hinweisen, obwohl es letztes Jahr hin geworden. Man kann Laptop gegen Chipping oder sowas schützen mit Glitzernasellack. Ihr nehmt einfach irgendwelche Sticker und dann überzieht ihr den Rand dieses Stickers mit Glitzernagelsack. Dann macht ihr ein hochauflösendes Foto von diesem Sticker mit dem Nagemacht und signiert es mit eurer Signatur und ihr könnt dann ganz einfach feststellen, wenn jemand versucht hat, das zu ändern. Aber das schützt nicht gegen alles. Kommen wir zur Manipulationserkennung. Wenn man Temper-Detection hat, bedeutet das, man muss irgendeinen Sensor haben, der feststellen kann, dass irgendjemand was an dem Gerät manipuliert hat. Oben seht ihr eine Platine mit einer kleinen Fotodiode und die kann erkennen, wenn jemand das Gerät öffnet, scheint Licht auf diese Fotodiode und das Gerät kann erkennen, dass es geöffnet worden ist. Andere Arten von Sensoren sind Schalter, die einfach auslösen, wenn man das Gehäuse öffnet oder Vibrationensoren. Das einfache daran ist, man braucht keine komplexierten Arpies, man kann einfach einen Schalter ausleben und ein Sachen ist, falls positive Ereignisse zersteuern, nicht die Sicherheitsparameter, man kann dort auslesen und was verändert nichts. Und was wir erreichen wollen ist Manipulationsantworten. Angriffs, viele Ansätze sind, wir haben Netze oder die, die das Gerät geht umgeben und wenn man jetzt irgendwie auf das Gerät rankommen will, wenn man irgendwelche Pins rankommen will, dann zerstört man dieses Gewebe, das darum ist und es ändert die Kapazität zwischen der Platine und dem Gewebe und das ist State of the Art. Fast alle Hardware-Module mit Manipulationserkennung benutzen das. Es hat zwei Probleme. Es braucht eine Batterie, wenn man, wenn die Batterie leer ist, dann löscht sich das Gerät. Das will man nicht, wenn man irgendwelche Daten z.B. ins Regal stellen will, um sie aufzubauen und man kann keine sehr kleinen Geräte damit schützen. So, was sind die? Also 1542 Level 4 ist sehr schwer zu erreichen. Es gibt überhaupt nur drei Module, die dieses Niveau erreichen. Und es gibt ja nichts, nicht in Laden gehen oder irgendwelche kaufen. Ich möchte einen FIPS 142 Level 4 Gerät haben, es gibt es am Moment nicht zu kaufen. Das macht es auch schwierig, diese Sachen nachzurüsten bei irgendwelchen Geräte. Und gerade auch so Geldautomaten sind sehr teure Geräte, die kann man nicht ersetzen. Das fürchte, der haben im Keller einen angeschossene Safe und so was, die möchte man nicht bewegen, nur um eine Manipulationserkennung nachzurücken. Ja. So, was wollen wir jetzt erreichen? Im Moment gibt es Software und Hardware Lösungen, die Manipulation erkennen wollen. Unsere Lösung ist in der Grafik von dem roten Punkt markiert. Wir wollen einen neuen Ansatz ausprobieren, wo man auch existierende Geräte mit Nachrichten kann. Unsere Lösung basiert auf physikalischer Unordnung. Das heißt, wir wollen kleine Effekte ausnutzen, die während der Produktion auftreten können. Ihr wisst vielleicht, dass elektronische Geräte kleine Manipulation, kleine Abweichung haben, mit dem man die Identität über nachweis kann. Wir gehen in eine gleiche Regeln. Normalerweise ist physikalische Unordnung etwas, was man nicht möchte. Eigentlich möchte man, dass jedes Gerät eine Serie komplett gleich ist. Aber man hat immer diese mikrokopischen Effekte, die wir oben sehen können. Also wir benutzen physikalisch nicht kopierbare Funktionen, solche Physically Unclonable Functions. Um es kurz zu fassen, man nimmt eine Challenge, eine Herausforderung, die man auf ein zufälliges System wirkt. Und man kriegt dann eine Antwort. Und man hat ein guter, alte Challenge Response Prozess. Und wir machen es einfach. Wir machen eine Challenge und eine Response. Und wenn es stimmt, dann nehmen wir an, dass die Umgebung stimmt. Die Eigenschaften davon sind, dass diese Funktionen sehr einfach auszurecht zu evaluieren ist, aber sehr schwer zu vorherzusagen. Es ist also einfach herzustellen und schwierig zu kopieren. Also man kann das Gerät in ein 3D-Scanor oder einen Tomogrammspecken-Scanor, man kann es dann nicht wieder 3D drucken. Es gibt mathematische Aspekte, diese algorithmische Manipulationsbeweis. Also es gibt solche Spiele, die in der Kryptografie gespielt werden, die darauf basieren, dass man solche Sachen sehr schwer kopieren kann. Und wir bauen darauf auf. Also wir haben 3 Eigenschaften, die wir checken. Und dann gehen wir davon aus, dass es widerstandsfähig ist gegen Manipulation. Erstens. Es ist eine Blackbox. Das heißt, solange das System nicht manipuliert wurde, gibt es keine Möglichkeit von dieser Hardware etwas auszulesen. Zweitens. Das System hat die Möglichkeit, sich selbst zu zerstören, also die Daten komplett zu löschen. Und drittens. Es ist ein System, das nicht verändert werden kann. Also es kann ausgelesen werden, aber von einem Angreifer nicht verändert werden. Das erste ist schon umgesetzt worden. In 2006 in Heidelberg haben sie eine kleine Umhüllung benutzt, die sie in einem kleinen Chip eingesetzt haben. Und dieser Überzug hat eine feste Kapazität, also die elektrische Eigenschaft Kapazität. Und das könnten sie sehr genau messen. Und dann haben sie mit einem Gallium Laser ein kleines Loch reingeschnitten, also 100 Mikrometer mal 100 Mikrometer mal 1,5 Mikrometer. Und das konnten sie erfolgreich lesen. Und damit war der Chip nicht mehr nutzbar. Das ist nicht ganz die Auflösung, die wir erreichen wollen, weil die meisten Lösungen, die wir kennen, das sind in etwa die militärischen Anforderungen von 300 Mikrometer Löchern. Das ist, was wir erreichen wollen. Also kommen wir jetzt zu unserer Schlüsselidee. Also wir haben jetzt schon sehr viel gelernt. Wir haben das Problem kennengelernt. Wir haben die Lösung, die jetzt Stand der Technik ist kennengelernt. Also wir können ein System komplett in ein Gewebe, in ein metallisches Gewebe ein betten. Und wir können kleine Löcher feststellen. Das ist, was wir feststellen wollen. Wir haben diesen Filpsstandard mit dem 140, 2 Level 4. Das erfordert ja, dass es komplett umgeben ist. Und das ist bisher nur für einzelne Platinen möglich, noch nicht für komplette Computersysteme. Und mit unserer Idee kommen wir jetzt aus einer komplett anderen Richtung. Aber es geht auch in die Richtung einer physikalisch einzigartigen Funktion. Und wir nutzen elektromagnetische Wellen, also insbesondere die Fortpflanzungseffekte von diesen Wellen. Wenn es jetzt eine Oberfläche berührt zwischen dem Sender und dem Empfänger, also wenn es zwischen Empfänger und Sender eine Oberfläche berührt, dann wird das abgelenkt. Und das sind sehr komplizierte Effekte dabei. Wir haben hier Effekte wie Reflexion, Absorption oder auch Aufteilung. Oder wenn solch eine Welle dann zurückgeworfen wird in verschiedene Richtungen. Und unsere Idee basiert jetzt auf diesen ganzen Effekten. Und die Idee kann charakterisiert werden. Als Kanalimpulsantwort. Wir haben eine Funktion S von T und E von T. Und der Kanal H von T ist genau als die Veränderung in diesem Signal definiert. Und die Quelle der Entropie, also der Unordnung hier, ist genau diese physikalische Unordnung in diesem System. Das entsteht also bei der Herstellung. Das System enthält also immer mehr oder weniger die gleiche Information. Aber das ist, die unterscheiden sich in ihren sementischen Eigenschaften. Und das funktioniert sehr gut für Equalizer und Filter. Wir benutzen also diese Technologie, die kabelose physikalische Sicherheits Layer heißt. Und wir benutzen hier elektromagnische Wellen. Die schicken wir von innen der Hüllung. Und wir schicken einen Fingerprint, also ein eindeutiges Signal von innen. Und mit mindestens einer Antenne, möglicherweise auch mehrere. Und hier sieht man, wie das in etwa aussieht. Es gibt auch Phaseninformationen, aber wir halten es jetzt mal einfach. Diese Umhüllung kann jetzt etwa in dem Beispiel der Kontrolleinheit eines Autos sein. Und wir haben das auch schon für Geldautomaten und andere Systeme, über die ich jetzt nicht reden darf, angepasst. Aber man kann das wirklich auch für komplexere Strukturen anwenden, auch mit beweglichen Teilen. Auch wenn sich die Temperatur ändert, dann bewegt sich ja das Ganze und verändert auch die Abmessung. Und das funktioniert immer noch. Und ein wichtiger Teil des Algorithmus ist, dass wir jetzt diesen Fingerabdruck nehmen, um einen kryptographisch verwendbaren Schlüssel zu erzeugen. Wir haben 128 Bit und das haben wir auch getestet. Und unsere Entropie haben wir abgeschätzt. Das ist grob die Idee. Und wenn jetzt jemand das System verändert, indem er beispielsweise ein kleines Loch reinbohrt in die Hülle, dann wird er automatisch den Schlüssel zerstören, weil sich dann die physikalischen Eigenschaften verändern. Also das ist automatisch schon die Selbstzerstörung des Automatismus, über den wir vorher geredet haben. Und das ist die Kernidee. Also jetzt ist die Frage, welche Wellenlänge verwenden wir hier? Wir benutzen elektromagnetische Wellen und wir wissen, dass abhängig von der Wellenlänge wir eine größere oder eine bessere Auflösung bekommen. Also je kleiner die Wellenlänge umso größer ist die Auflösung. Und das ist jetzt auch etwas der komplizierte Teil, welche Frequenz man auswählend. Welche Frequenzen sind jetzt für uns gut geeignet? Natürlich gibt es eine sehr große Bandbreite an Frequenzen. Wir haben ein paar Kilo Herz bis zu Terra Herz inzwischen. Und natürlich auch das Licht. Und wir benutzen jetzt Frequenzen, die in dem Bereich von 300 MHz bis 60 Gigahertz sind. Also wir haben Wellenlänge von etwa 1 Meter bis runter auf etwa 1 Zentimeter. Also warum funktioniert das jetzt für uns? Wir haben eine Faustregel, dass Veränderungen in der Ausbreitung von elektromagnetischen Wellen mit der Objektgröße zusammenhängen. Also das hängt zusammen mit der Größe der Wellenlänge. Und bei ein paar Gigahertz haben wir eine Größe von einem Zentimeter. Und wir können also eine Veränderung im Zentimeterbereich schon feststellen. Und wir schauen jetzt hier einmal eine Antenne an. Und das fällt in der Nähe der Antenne. Und wir können von der Abhängigkeit der Wellenlänge runtergehen auf etwa 1.000 Stil der Wellenlänge. Wenn wir also diese Wellenlänge benutzen, die wir überhaupt benutzen dürfen, weil das ja alles sehr stark reguliert ist, dann können wir jetzt bei 433 MHz von 70 Zentimeter runter kommen auf 0,7 Millimeter etwa. Und das geht natürlich weiter. Wenn wir jetzt 5 Gigahertz verwenden, dann kommen wir von 6 Zentimeter runter auf etwa 60 Mikrometer. Was können wir jetzt damit machen? Wir können damit algorithmisch sicherstellen, dass etwas nicht manipuliert werden kann. Warum? Ja, weil wir den Schlüssel aus dieser physikalischen Eigenschaft herauslösen oder herausbekommen, zurückrechnen. Und nur so lange dieses System exakt so ist, wie wir es hinterlassen haben, kann dieser Schlüssel so ausgelesen werden. Sobald etwas verändert wird, wird sich dieser Schlüssel, den man daraus herausrechnet, verändern. Und damit haben wir schon sichergestellt, dass diese Hardware nicht verändert kann oder auch nicht unerlaubt herausgelesen werden kann, weil der Schlüssel nirgendwo digital gespeichert wird. So lange er nicht gespeichert wird, kann man ihn aus Prinzip her nicht unerlaubt herauslesen und er wird auch automatisch zerstört, wenn man es manipuliert. Und das ist eine sehr schöne Kombination, die man mit unserem System erreichen kann. Unsere Features sind, ist ein bisschen komplizierter, aber, war einfach gesagt, wir haben keine digital gespeicherten Schlüssel mehr. Natürlich muss man jetzt hier unterscheiden zwischen einem Offline und einem Online-System. Also wenn ein Offline-System online geht, dann muss dieser Schlüssel ja erstmals in den Speicher geladen werden. Und wenn es online ist, dann muss es ja auch selbst testen können. Also wir müssen das schon ein wenig komplizierter aufbauen. Wir brauchen dann ein bisschen mehr Tricks und mehr Mechanismen. Aber am Ende des Tages haben wir keine digital gespeicherten Schlüssel. Und wir müssen jetzt auch nicht, also wir müssen auch ein bisschen dran denken, dass der aus dem Arbeitsspeicher dann eventuell gelöscht werden muss. Ein Freezing-Attacks, also dass der Speicher eingefroren wird und dann ausgelesen wird. Aber grundsätzlich haben wir gute Sicherheit bereitgestellt. Und für diese Methode braucht man natürlich auch keine Batterie. Also die Daten müssen nicht ausgenullt werden, es muss nichts gelöscht werden. Alle wichtige Informationen ist komplett verschlüsselt. Und sobald ein Angreifer jetzt solchen Gerät öffnet, findet er nur verschlüsselte Informationen vor. Und die ist so verschlüsselt, dass er nicht mehr entschlüsseln kann, weil er den Schlüssel gerade zerstört hat. Und wir können das außerdem in Standard-Hardware einfach einbauen. Also in dem Fall jetzt Single-Bord-Computer, beispielsweise in Raspberry Pi. Und das ist ein großer Vorteil für uns. Ein High-Level-Overview oder eine Übersicht von so einem System. Jetzt Geldautomat beispielsweise. Wir verbinden uns jetzt mit dem Secure-Boot, also dem sicheren Booten des Geweises, oder sogar noch vorher im System. Und das besteht aus einem Radio, also einer Funkeinheit mit mindestens zwei Antennen, also zum Senden und zum Empfangen, um diesen analogen Algorithmus hier aus den physikalischen Eigenschaften umzusetzen und der extrahiert aus dem Gehäuse, aus dem Aufbau des Gehäuses den Schlüssel. Manchmal muss man natürlich noch zusätzliches Material anbringen. Das kann beispielsweise Alufoli sein, um das wirklich komplett abzudichten. Aber das kann auch ein Kupfergitter sein oder ein Kupfergewebe sein. Das wird verwendet beispielsweise bei Air-Conditioning, also bei Klimaanlagen. Und die eigentliche Herausforderung ist, wie man eigentlich wirklich die Kommunikation innerhalb des Systems absichert, damit die Kommunikation aus dem Gehäuse heraus auch abgesichert ist. So, wie jetzt Christian gesagt hat, werde ich euch zeigen, wie man so ein kostengünstiges Proof-for-Concept hier bauen kann und hier so ein Demonstratoren. Wir lassen jetzt den theoretischen Teil hinter uns und werden jetzt ein bisschen mehr Praxis betreiben. Zunächst werden wir physikalische Unordnung benutzen, um eben unsere Verpackungen zu bauen. Und wir brauchen halt auch Hardware mit mindestens zwei Radiosendern. Das kann natürlich auch mehr sein. Und wie wir es schon vorher erwähnt haben, benutzen wir Aluminiumfolie und diese coole Box, das ist eine Mittagessenbox und halt Nudeln oder so was rein tun kann. Das erste Proof-for-Concept Demonstratoren benutzen Raspberry Pi. Das ist mit zwei kurz verbandigen Radios verbunden, die 866 MHz senden mit einer 2 MHz Bandbreite. Und für diese Verpackung benutzen wir eine kleinere von diesen Boxen und Aluminiumfolie. Das Problem ist, dass die Auflösung nicht gut genug ist. Das heißt, wir haben etwas anders gebaut und dass diese Demonstrate, den wir hier mitgebracht haben. Hier haben wir einen APU Single Board Computer genutzt, der halt das Schutzmodul trägt. Es hat vier Antennen. Also man hat ein 2x2 räumliches ausgedehntes System. Das bringt uns jetzt 40 MHz Bandbreite bei 5,5 GHz. Das ist eine bessere Auflösung. Wir nehmen einfach hier diese Lunchbox. Das ist also die APU. Hier sind die Antennen, vier davon. Wir tun jetzt die APU hier rein in die Box und platzieren die Antenne irgendwo. Ein bisschen mehr Zufälligkeit, einfach diese Aluminiumfolie, die ich über das System packe. Und dann mache ich die Box zu mit diesem Papier. So, jetzt gehen wir auf den Demonstrator. Wir müssen einmal die Bildschirme hier wechseln. Also fangen wir mit der Demonstration an und zunächst wir haben drei GUIS für diese Demonstration. Also der erste Benutzer Oberfläche zeigt einfach 3D Modulation, was die vier Kanäle hier messen. Das sieht jetzt ungefähr so aus. Das ist ja auch ganz schick. Wenn man jetzt gar nichts mit dem System macht, dann ist es sehr konstant. Aber was passiert, wenn wir das Gerät jetzt aufmachen? Wenn wir das jetzt aufmachen, dann passiert hier ganz schön viel. Die Aluminiumfolie jetzt weg machen, dann passieren ganz viele Sachen. Wenn wir das wieder zurück tun, sieht es nicht so aus wie vorhin. Das heißt, wir haben jetzt im Prinzip die Umhüllung zerstört, so wie es davor war. Das ist ziemlich primitiv Angriff natürlich. Können natürlich jetzt auch einen Angriffer vorstellen, der ein bisschen cleverer ist. Wir haben diese Angry Bird-Nadel mit einem kleinen Angry Bird drauf. Genau das so was. Also dieser Vogel ist sehr, sehr böse und er möchte es halt in dieses System eindringen und möchte zeigen, wie das aussieht, wenn das passiert. Es gibt auch noch einen weiteren Demonstrator und der zeigt uns jetzt ein paar Metriken. Man kann es nicht einfach nur. Das zeigt es halt, dass die Änderungen persistent sind, wenn wir hier in das System eindringen. Es generieren ein paar Referenzwerte. Das ist eine euklitische Abstandmetrik. Wir haben ein paar von euch kennen das vielleicht. Und jetzt vergleichen wir einfach unsere Messe, also unsere Messungen, die wir jetzt machen, mit denen wir am Anfang gemacht haben. Aber Sie, das gibt eine geringe Varianz, aber es ist mehr oder weniger sehr verlässlich. Aber was, wenn jetzt diese Nadel hier kommt und da reinsticht, dann gibt es sehr große Änderungen im System. Und selbst wenn ich es wieder zurücknehme, dann sind die Änderungen wirklich persistent. Das heißt, man kann jetzt hier sehen, dass an die Manipulationen oder halt dann eindringen, die in das Gehäuse stattgefunden hat. Dann haben wir noch eine dritte Oberfläche und die zeigt das in einem guten Testsystem, wie man jetzt daraus einen Schlüssel generieren können. Das waren jetzt einfach ein paar Metriken, die das uns visualisieren. Aber jetzt möchten wir einen Schlüssel generieren. Als erst generieren wir eben eine Referenzwerte und gültige Werte, dass man sieht, dass es funktioniert. Dann machen wir einen Eingriff und messen dann nochmal. Und die Kernidee ist, dass man aus der Referenz und den gültigen Werten den selben Schlüssel erzeugen können. Das hat das nicht so ganz funktioniert. Was wir jetzt sehen, ist, wir sehen jetzt, dass wir am Anfang messen. Dann kommen wir an eine Bitfehlerrate von 22% und einen Eingriff Bitfehlerrate von knapp 50%. Dann haben wir die Parameter ein bisschen angepasst. Dann haben wir die Fehlerrate ein bisschen angepasst, dass es nur noch 9% sind und danach werden die Strings gehasht. In einem anderen Wert. Das ist nicht so gut funktioniert. Dann haben wir 0,0, aber wir haben so ungefähr 0,5%. Das kann man weiter optimieren über die Zeit. Das sind die Kurven hier oben, wo die weiße, glaube ich, der Referenzmessung ist. Und die grüne ist die gültige Messung. Das sind also sehr ähnlich. Und die rote Messung ist die Messung nach dem Angriff. Die Charakteristik hat sich wirklich sehr geändert und in mehr Parameteroptimisierung ist es möglich, dass man jetzt hier perfekt einen Schlüssel erzeugen kann. Hier sind ein paar Bilder von den Demonstratoren. Falls die Demo nicht funktioniert hätte, die überspring ich jetzt. Dann kommen wir jetzt darum, wie das arbeitet und was die Entwurfsanforderungen sind für Fingerabdrücke. Wir haben drei Anforderungen, die die Schlüsselqualität ist. Wenn wir einen Fingerabdruck generieren, wo alle Werte nullen sind oder eins, dann ist es keine wirklich Zufälligkeit. Wenn wir das nicht erreichen können, dann ist das Ganze nicht gut, weil wir wenigstens 128 Bit benötigen. 128 Bit ran Zufälligkeit müssen wir aus dem System herauskriegen. Der zweite wichtige Punkt ist die Zufallessigkeit. Das ist, wenn wir etwas messen und wir wollen nicht, dass das System im Laufe der Zeit andere Schlüssel generiert, wir wollen, dass immer der gleiche Schlüssel generiert, denn wenn wir unseren eigenen Schlüssel durch einen falspositiven Manipulationserkennung zerstören, das wollen wir nicht. Und das Letzte ist die Empfindlichkeit. Wir wollen auch die kleinstmöglichen Angriffe erkennen können. Und wenn unsere System einen sehr guten Schlüssel gibt die ganze Zeit, aber keine Angriffe erkennt, das ist auch nicht gut. Das ist ja die Empfindlichkeit gegen Manipulationsempfindlichkeit. Also wenn wir Zufallessigkeit haben, ja, wenn wir zuverlässige kleine Fehler haben und wenn wir einen Angriff hatten, dann kriegen wir sehr hohe und das wird durch Informationswiederstellung nicht behoben. Was wir machen, wir haben eine Referenzmessung, wir haben gündige Messungen, die werden quantisiert und danach machen wir Informationsabgleich. Der Ziel ist, dass wir nach diesem Informationsabgleich haben, dass wir immer den gleichen Wert haben wie in unseren gültigen Messungen, wie in unserer Referenzmesserung. Denn nach diesem gültigen Schritt werden die Werte gehascht und dann hätte auch ein einziger Bit Fehler dazu, dass am Ende 50 Prozent aller Bits falsch wäre. Ich überspringe diese Folie, weil wir keine Zeit mehr haben. Also die Zusammenfassung. Wir haben drei Dinge gelernt. Das erste ist, physikalischer Zugriff erlaubt sehr viele Angriffe, wie zum Beispiel Sensoren auf den Bus zu setzen oder sowas oder Leistungsmessungen oder neben Satzschannel-Angriffe. Und das dritte ist, es gibt keine kommerzielle, haltliche Systeme für Manipulationserkennung für existierende Systeme und keine Systeme, die ohne Batterie behaben. Und das dritte, was wir, das letzte, was wir gemacht haben, wir haben eine Lösung präsentiert, Enclosure Puffs, die auf Standard Hardware funktioniert und diese auch sehr billig ist. Wir können diese Lösung auf vielen Systemen einsetzen. Es gibt, man muss keine neuen Systeme bauen. Wir können existierende Systeme erweitern. Wir können, und die Öffel, die ATP kriterieren. Vielen Dank. Gibt es irgendwelche Fragen? Bei Fragen bitte ans Mikrofon, ansonsten bitte über den Chat. Erst mal die Online-Frage. Die erste Frage aus dem Internet ist, welche Art von Gehäuse ist langzeitstabil für diesen Ansatz? Also wirklich über längere Zeit und wenn es auch bewegt wird, was ist stabil genug? Ja, das war eine gute Frage. Die Zuverlässigkeit ist tatsächlich sehr von der Anwendung abhängig. Das hängt von der Umgebung ab, wenn es ein Aluminium Gehäuse ist, ob es ein Stahl Gehäuse ist, ob es zusammengesetzt ist, in welchem Umgebung wird es installiert. Müssen wir das System während des Transport sichern oder erst nachdem es installiert worden ist, ist es sehr anwendungsabhängig. Die Antwort ist, das hängt sehr vom Einsatzgebiet ab. Zweite Frage aus dem Internet. Wie schwierig ist es zu unterscheiden zwischen einem Angriff und wenn man einfach nur gegen das Gehäuse stößt? Das ist eine gute Frage. Das ist natürlich eine sehr einfache Art und Dienal-of-Service machen. Man haut einfach dagegen. Das ist das gleiche Problem wie für Hardware-Storage-Modules. Man kann das System fallen lassen und versuchen zu versuchen. Das geht dann in vielen Stellen einfach nicht mehr. Hier, das ist ein anderes, wo wir dieses Dreieck ausgleichen. Die Schlüsselqualität können wir nichts machen, aber zwischen Zuverlässigkeit und Empfindlichkeit, da müssen wir ein Kompromiss bilden, finden. Jetzt Mikrofonfrage. Hi, vielen Dank für den Vortrag. Ist es möglich, eine Backdoor zu installieren? Das ist unmöglich. Wir haben darüber in der Weile nachgedacht. Wenn man falsch positiv hat und man zerstört seine kritischen Sicherheitsparameter, das ist schrecklich. Worüber wir nachgedacht haben, ist, dass wir vielleicht das System in einem sicheren Umgebung initialisieren und es könnte möglich sein, dass man eine Funktion hat, wo man den gültigen Schlüssel am Anfang rausziehen kann und man kann es dann in einer sicheren Ort speichern kann. Also dann könnte man es, hat man Backup von dem Schlüssel, aber ein Backdoor einzubauen, so wie man irgendeine Art von Manipulation machen können, die dann undetektiert wird, dass es nichts, was man irgendwie bauen wollte. Ja, er möchte die Frage noch erweitern und ist es vielleicht möglich, einen Schwachpunkt einzubauen und später kann jemand anders noch eine, also wenn man vorher schon das Gehäuse manipuliert, um dann hinterher etwas einführen zu können? Nein, nein. Nicht so was wir geplant hätten. Wir suchen auch Leute, die mit uns zusammenarbeiten. Für Partner hat ich versucht, das System anzugreifen. Wie ich gesagt habe, mein Kollege Johannes, der macht nichts, als zu versuchen, das System anzugreifen. Und bisher hat er keine mögliche sinnvollen Angriff gefunden. Natürlich könnten wir Hintertüren einbauen, aber wozu? Frage Nummer von Mikrofon 2. Hi, schöne Arbeit. Nur ein paar Fragen. Wie genau berechnet ihr die Entropie, also wie viel man rausbekommen kann an Geheimnis? Und wie quantifiziert ihr das? Mit der Mutual Information Estimator, also Abschätzergeschäft, dann ziehen wir einfach die gegenseitige Information oder irgendwelchen Attac ab und dann, warum ist das ein legitimer Fall? Warum ist das ein Attac? Und das ergibt dann die Informationskapitänität. Wir benutzen ein Entropie-Schätzer. Alle deine Fragen sind in meiner Doktorarbeit beantwortet. Für die Quantisierung benutzen wir ein gleich verteiltes Quantisierungsthemen und wir benutzen dann einen Fasio-Extrector, der klassische Fehlerkulturcodes benutzt. Da werden wir jetzt keine Zeit in der Demo. Vielen Dank. Könnt ihr den richtigen Aufbau sicherstellen, wenn ich jetzt 1000 bestelle, kann ich sicher sein, dass da nichts eingebaut ist? Ja, da hätten wir gerne einen Sponsor, der uns die 1000 Chips schickt und dann finden wir das ja auch. Was wir gemacht haben, ist, wir haben 100 verschiedene Umgebungen ausgewertet, die waren alle ähnlich konstruiert, aber wir haben 100 verschiedene Umgebungen ausgewertet, die nur ein klein wenig unterschiedlich waren und keine 2 Fingerabdrücke waren auch nur ähnlich. Wir haben noch eine Frage aus dem Internet. Gibt es eine Möglichkeit, das für hohe Schwerkraftumgebungen anzupassen? Kannst du das wiederholen? Das habe ich jetzt nicht verstanden. Also man muss das gut abschirmen. Das ist eines der großen Probleme, die wir lösen müssen. Wir können über dieses Hinterher darüber reden, über dieses Thema, also Dinge wie korrekte Phaseninformationen. Du kannst doch uns auch eine E-Mail schreiben und dann können wir darüber reden. Und Mikrofon 2. Hi, vielen Dank für den tollen Vortrag. Was ihr hier vorgestellt habt, war ja nur die Feststellung des Problems beim Boot, nicht in der Laufzeit. Also kann ich das System ja booten, dann schlafen legen und danach untersuchen auf Schlüssel. Habt ihr irgendeinen Weg damit umzugehen, das schon gebotet ist? Ja, ist ein guter Kommentar, das ist etwas, wo ich gesagt habe, das ist ja zwei Protokolle. Das eine Protokolle ist, wenn man von offline in online kommt und ein zweites Protokoll, dass die Umgebung während der Laufzeit auswertet, was nicht Teil dieses Vortrags war. Ich glaube, um diese Frage richtig zu beantworten, müssten wir über dieses andere Protokoll offline reden. In eure Nadel-Demonstrationen, wie habt ihr sichergestellt, dass der Auslöser wirklich der Anwesenheit eines kleinen Lochs ist und keine Deformation des gesamten Gehäuses? Das können wir nicht. Wenn das Gehäuse ein bisschen verdreht, fändet man den Schlüssel. Wir bräuchten vielleicht mechanisch entkoppelte Systeme, wo Infarenzen von der Außenseite nicht das Gehäuse verinnere. Ich mein, das Gegenteil, wie könnt ihr sicher sein, dass ihr ein Loch messt und nicht eine Verformung? In dieser Demo bin ich nicht sicher. Aber in unserer Laborumgebung bin ich mir sehr sicher, da haben wir alles festgemacht. Und wir haben nur diese eine kleine Loch gehabt und alles andere fest. Noch eine Frage aus dem Internet. Wie kann ich dem System vertrauen? Wie kann ich darauf vertrauen, dass der Hersteller nicht den Schlüssel extrahiert hat während der Herstellung? Das ist auch eine sehr gute Frage und das ist keine Frage, die wir wirklich technologisch beantworten können. Wir können Überlösungen nachdenken, Vertrauenswürdigkeit der Hersteller. Wir könnten aber auch darüber nachdenken, die Initialisierung des Systems erst nicht, dass sie nicht beim Herstellungsprozess gemacht wird, sondern hinterher oder zumindest teilweise, dass ein allgemeines Problem für Herstellung ist. Es gibt eine Lösung, über die wir nachgedacht haben, dass das System in einem uninitialisierten Zustand ausgeliefert wird und dann packst du als Endbenutzer irgendetwas da rein, was vorher nicht drin war, kannst du über irgendetwas nachdenken, dass irgendwie ein Metallgewebe, das du selbst da reinbaust, das du als Hersteller nicht vorher sagen kannst. Wie vergleicht das System, wie ist euer System vergleicht zu dem, dass vom Fraunhofer-Institut veröffentlicht wurde, dass soweit ich es verstehe, nur die Integrität einer Folie, die um das System gewickelt wurde misst. Und vergleicht die physikalische Größe oder die Oberfläche der Folie? Hast du die Literaturen gerade in unseren Folien gesehen, wie wir gesagt haben, die Unterschiede ist, das andere ist Platinenniveau. Und dann bei uns ist das Systemniveau, das Prototyp-System war halt so groß. Und dann, wenn man ein ganzes großes System will, sagt man, ein großes System, wenn man einen Geldautomaten entdenkt, eine Folie komplett darum boomt, das wäre ziemlich schwierig. Ich denke, das ist die größte Unterschied zwischen Platinen- oder auch Chip-Level-Sicherheit und System-Sicherheit. Also ihr meint, dass es schwierig ist, das ganze System in Folie einzuwickeln? Ja, und dann gibt es Wärmeprobleme. Hi, danke. Mir kommt es sofort, dass das wirklich empfindlich ist auf Temperaturveränderungen. Also ich denke, eine verendete Temperatur, gerade bei einem großen System wie einem Geldautomaten, ist sehr empfindlich auf Temperatur und auch wenn jemand dagegen stößt. Ja, Johannes macht, gucken Sie darum, dass es Teil von seinen momentanen Untersuchungen Temperaturstabilität muss natürlich irgendwie gegeben sein. Wir können Fingerabdrücke für verschiedene Temperaturen extrahieren. Wir haben eine Auflösung von ungefähr einem Grad, wenn wir die Temperatur um ein Grad verändern müssen, wir das System neu initialisieren. Wir müssen das in der Initialisierungsphase machen, das ist etwas, wo wir einen ganzen Haufen Messungen gemacht haben, mit Kühlkammern, um genau das zu machen. Und die Zuverlässigkeit bleibt gleich? Ich meine, wir haben das System initialisiert, für die verschiedenen Temperaturen initialisiert hat, dann kann man Zuverlässigkeit haben. Eier auf Seite 21 fehlt etwas. Okay, wir haben jetzt leider keine Zeit mehr für diesen Talk. Es gibt wohl noch, also keine Fragesteller mehr, aber online wohl noch. Nein, keine Fragen mehr. Zunächst einmal vielen Dank.