 Alles zwischen Deutsch und Englisch und in eine weitere Sprache übersetzt. Für weitere Details und Informationen, wie die Streams genutzt werden können, benutzt C3lingo.org. Wir freuen uns über Rückmeldung bevorzugt mit Hashtag C3T. Eure Übersetzer für diesen Talk sind Problem und Florian. Hallo zusammen, ich bin Andreas. Ich präsentiere euch heute etwas über Unterstedt Platform Modules. Das ist mein GitHub-Account, wo ihr einiges von dem, an dem ich arbeite, finden könnt. Und das ist tatsächlich auch die wichtigste Ressource für alles, über das ich jetzt reden werde. Wer bin ich? Ich arbeite tatsächlich an TPMs beruflich, also ich werde dafür bezahlt. Ich habe zumindest jemanden gefunden, der mich dafür bezahlt. Und ich bin Mitglied der Trusted Computing Group. Das ist ein Industriekonsortium, das eben hier für die Spezifikationen schreibt. Ich habe ungefähr vor 13 Jahren angefangen mit TPMs zu arbeiten. Ich habe damals zwar einen Versuch zu haben, für mich selbst zum Laufen zu kriegen. Und das lief nicht so gut, weil die Software gar nicht so gut maintained war, gewartet war. Und die Schnittstellen relativ komplizistisch zu benutzen waren. Aber vor ca. fünf Jahren gab es einen Call for Participation, also einen Aufruf zu mitmachen. Und da habe ich dann mitgemacht. Also es ging darum, was in die Spezifikationen rein soll. Und das Ganze dann auch zu implementieren und zu warten auf GitHub. Und ja, die Ergebnisse dieses Prozesses werde ich jetzt hier ein bisschen erklären. Ja, worum was sind TPMs? Dann beschäftigen wir uns zuerst. Und dann schauen wir uns einmal das Thema Credential Protection an. Also Autorisierungsinformationsschutz. Und das zweite Thema ist Schutzmechanismen im frühen Bootprozess. Und zu eurer Belustigung und meinem persönlichen Artiller Nienrausch spät in der Nacht habe ich tatsächlich ein paar Demos zusammengebaut. Und da fangen wir jetzt mal mit an. Ich habe ja dieses Stück Shell Code, das ich in die virtuelle Maschine kopiere. Ja, das hätte ich vielleicht vorher vorbereiten sollen. Und ich werde da ein paar Live-Demos machen. Bitte macht nicht das WLAN kaputt, ansonsten hört das hier sehr schnell auf. Also, was sind Trusted Platform Modules? Das ist ein Sicherheitschip, der auf euer Mainboard draufgelötet ist. Und vielen Dank an Microsoft. Wegen den wir im Prinzip alle Trusted Platform Modules in Konsumer hat. Wir haben also in Laptops, Desktops und so weiter. Die sind da überall drin. Und deswegen können wir sie ja jetzt auch benutzen. Das sind Chips mit relativ hoher Sicherheitsanforderungen. Und es gibt so verschiedene Sicherheitsanstufungen, das ist auf jeden Fall relativ hoch geringt. Es gab natürlich auch ein paar Sicherheitsprobleme damit. Zum Beispiel haben ja Tanya und David vor zwei, drei Stunden darüber was erzählt. Und was kann dieser Chip? Er kann Kopthografie machen. Er kann ein bisschen was speichern. Und er kann Hash-Werte beim Booten aufzeichnen. Also, es ist ein ziemlich passives Gerät. Und das ist tatsächlich ziemlich wichtig. Und auf der rechten Seite sieht man ein TPM in Version 1.2. Heute ist es tatsächlich sehr viel kleiner, das Chip-Paket. Sind TPMs gefährlich? Also, wir haben ja auf vergangenen Kongressen Argumente für beide Seiten gehört. TPMs ursprünglicher Ruf war relativ schlecht. Man hatte vor allem Angst vor DRM und Steuerung von PCs aus der Ferne. Und was TPMs dann tatsächlich waren, war im Prinzip einfach nur eine Smart-Karte, die man dann irgendwie benutzen konnte. Und dann gab es eben noch diese Integritätssicherungs- und Autostierungsmöglichkeiten, die wir uns später noch mal anschauen. Aber ich nehme vielleicht nicht einfach nur mein Wort, sondern auch das von Richard Stolman oder das von der GNU Foundation. Denn der Entschlussfolge war, dass das Trusted-Plattformmodul für PCs nicht problematisch oder nicht gefährlich ist und dass es keinen Grund gibt, warum er das nicht auch unterstützen sollte. Sowohl dann Software als auch Hardware. Also ich nenne das jetzt mal durch Richard Stolman abgesegnet, was auch immer man daraus jetzt machen möchte. Ja, gehen wir mal los. Credential Protection. Wer von euch benutzt Public-Private-Key-Kriptographie? Ja, im Prinzip haben wir jetzt alle die Hand gehoben. Wer von euch nutzt Smart-Karts oder Ubi-Keyes? Okay. Und wer hat diesen Prozess optimiert, indem er die Smart-Kart drin lässt oder die Smart-Kart in Stückchen zerschneidet oder ein Ubi-Key Nano verwendet? Okay, das sind nur ziemlich wenig. Also für die wenigen von euch, die da eben die Hand gehoben haben, das ist im Prinzip dieselbe Garantie, die euch ein TPM gibt. Und für alle anderen, der Smart-Karts. Also man kann ein TPM für ein bisschen mehr Komfort verwenden, für Public-Key-Krypto. Man, ja, für diejenigen, die es noch überhaupt nicht verwenden, die können es ja unbedingt TPM verwenden, weil ihr es eh schon habt und es da ist. Was ist der Gedanke dahinter? Was ist der also aus Sicherheitssicht bei TPMs? Was wir möchten, ist, was wir möchten, ist, ist die Authentisierung in zwei Teile zerteilen, ein Beweis, das man etwas besitzt und ein Beweis, das man etwas weiß. Der sogenannte Proof of Possession, Possession versus Proof of Knowledge. Der Besitzbeweis ist eben der zweite Faktor. Was heißt das eigentlich? Um einen Proof of Possession, also einen Besitzbeweis zu generieren, das braucht man etwas, das man nicht duplizieren kann. Und das ist im Prinzip das primäre Feature einer Smart-Kart. Das kann euch ein Software-Token oder irgendein Public-Key, der irgendwo auf eurer Festplatte umflegt, kann euch das nicht geben, weil ihr das ja einfach kopieren könnt, an einen anderen Computer bringen könnt und so weiter. Also das, ja, ihr braucht halt irgendwas, das tatsächlich nicht duplizierbar ist. Und, ja, also das ist eben etwas, das die Eigenschaft hat, dass es nur von einer Person gleichzeitig besessen werden kann. Und das wird zum Beispiel auch total wichtig bei jeder Form von Hacker-Kongress, denn, ja, Leute bei solchen Konferenzen scheinen ziemlich gut darin zu sein, Passwörter abzuschauen, während ihr sie eingibt. Und das ist definitiv ein gutes Argument, seinen zweiten Faktor zu haben. Und, ja, dieser Besitzbeweis kann im Prinzip übersetzt werden in einem Beweis, dass man seinen Laptop besitzt. Und, ja, wenn man ihn dann zusammenbringt mit einem Proof of Knowledge, also zum Beispiel ein Passwort, dann kann das eben zur Authentifizierung verwendet werden. Aber da ist die Frage, was ist, wenn man dann gehackt wird, das ist im Prinzip das gleiche Problem, was man bei allen Proof of Processions Varianten hat, der, ja, für die Zeit, in der jemand in der Lage ist, euer System zu kontrollieren, können sie eben auch, können sich eben als euch ausgeben. Aber das ist eben gebunden daran, also es ist zeitlich begrenzt. Ihr könnt euer System danach zum Beispiel aufräumen. Und es gibt jetzt nicht so eine Attacke wie, es gibt keine Chance für so eine Attacke wie Hardbleed, weil Leute, die, ja, also wenn ihr den, jemand kann euren Key nicht extrahieren, weil der Schlüssel zu keinem möglichen Zeitpunkt im Rahmen gespeichert ist. Demo-Zeit, wie kann man das tatsächlich implementieren, wie kann man von dieser Kredenziellschutz benutzen? Einfachste ist diese, die TPM2 TSS Engine, eines meiner Softwareprojekte. Das gibt eine von diesen, das eine von dieser Software, die ich vorhin installiert hat und hat tatsächlich erfolgreich installiert, das ist nett. Um das zu benutzen, braucht man nur diese drei Kommandos und ich zeige es euch jetzt einfach einmal schnell. Ich benutze keinen TPM Simulator, um das jetzt zu demonstrieren, sondern ein richtiges TPM, ich forwarde das aus der virtuellen Maschine. Hin und her schalten zwischen virtuellen Desktops. Was wir zuerst machen, wir generieren ein Schlüssel auf dem TPM und das nächste, generieren wir ein selbst signiertes Zertifikat. Und wie ihr alle sehen, die schon mit OpenSSL gearbeitet haben, das erste Kommand ist ein spezielles Kommand für das TPM, das andere ist ein ganz normales OpenSSL Kommando. Das erwähnt die TPM Engine und die Form des Schlüssel. Wir nehmen das und basten das auch hier rein. Und jetzt ist es aus Österreich, nein. Jetzt haben wir CURL und CURL kann uns tatsächlich verbinden. CURL kann OpenSSL Engines benutzen. Jetzt lasst euch nicht von dem minus minus insecure verwirren. Ich benutze einen EngineX auf dem Hostsystem und ich benutze CURL, um mich mit dem Kleinzertifikat zu authentifizieren, um zu dem EngineX zu reden. Und wie ihr seht, das ist die Webseite. Als ich das das erste Mal gemacht habe, konnte ich gar nicht glauben, dass es funktioniert hat, weil das so schnell war. Und ja doch mal, um alles zu zeigen, schalte ich nochmal Trace-Logging ein und ihr seht hier ganz viele Informationen, dass die Kommunikation zum Server tatsächlich das TPM benutzt hat. Das nächste? Warum mache ich das hier jetzt? Natürlich, weil ich das selbst benutzen möchte. Ich benutze TPMs zu Hause für einfachen Bash-Skript-basierten Kram und wenn man einen Shell-Skript macht, dann möchte man seine Passworte da nicht reinpacken, weil man das auch immer zu GitHub pusht oder so, dann sehen andere Leute seine Passworte, das will man nicht. Das ist ein anderer Vorteil davon. Und die andere Sache, die ich zu Hause machen will, ich habe ein Webserver zu Hause, der einen EngineX, der in Reverse Proxy ist, der Dinge forwarded ins Netz und so was. Und ich möchte, dass dieser auch Credentials sicher speichern kann, sodass nicht die nächste EngineX-Sicherheitslücke alles für mich ruiniert. Und für EngineX ist das tatsächlich relativ einfach. Wenn wir in die Sitesenabled hier gucken, das ist im Wesentlichen nur die Standardseite, dann sehen wir, dass Sie bei den SSL-Zertifikat und das SSL-Zertifikat Key Schlüssel eintragen und Sie schreiben mir das Schlüsselwort Engine und sagen, das ist das TPM-TSS aufgrund irgendwelcher früherer Bucks in EngineX, über das die Leute von EngineX nicht gefunden haben, müssen wir die Engine da oben noch mal spezifizieren. So, wenn wir das haben, können wir einfach EngineX neu starten. Ja, starten EngineX einfach neu. Jetzt drehen wir es um. Ich nehme den Webserver auf dem Hostsystem und versuche damit zu ... natürlich, weil es ein Selbstsignier des Zertifikat ist, vertrauen wir eben nicht sofort, aber wir benutzen hier einfach das TPM um auch mit dem Server zu kommunizieren. Cool. Okay. Das ist die einfachste Art, um damit anzufangen, wenn man TPM, die eigenen Arbeitsabläufe mit der Bash oder sowas, integrieren will. Der nächste Komplexerer ist PKCS11. Das ist ein Standard von der Open Group. Das benutzt Firefox, um zum Beispiel mit SmartCards zu reden und natürlich arbeiten wir oder dass die Community arbeitet auch an solchen Sachen. Wir haben hier auch einen Raum sitzen, der das macht und die 1.0 RC0 Version. Das ist auch deshalb etwas komisch, dass die Setup Tools nicht installiert werden, wenn man Make installen macht. Also, wenn man das hier von zu Hause machen willst, auf Basis dieser Folien, beachtet, das ist hier ein Fahrt in das ausgetrackte Git Repository. Das Einzige, was tatsächlich installiert wird, ist die Library, die später benutzt wird. Aber wir benutzen jetzt hier diese paar Kommandos. Und was wir im Prinzip machen, wir setzen in Python Part, dann sagen wir, dass wir die Plimtatenbank in unserem Home Directory speichern wollen. Dann initialisieren wir das und dann generieren ein neues Token. Das erzeugt praktisch eine SmartCard aus nichts. Und dann benutzen wir es. Sieht gut aus. Ja. Und hier haben wir es. Wir haben einfach eine SmartCard mit diesem zufälligen SmartCard ID generiert, über den man sich nicht, die nicht weiter interessiert. Was das coole daran ist, ich möchte das benutzen, um wie per SSH mich zu authentifizieren. Ich weiß nicht, wie viele von euch SSH-Klein-Authentifizierung mit öffentlichen Schlüsseln benutzt. Das ist im Wesentlichen jeder hier. Das ist coole, ja, Hacker-Congress halt. Und wer von euch schützt seinen Schlüssel nicht mit einem Passwort, sondern benutzt ein leeres Passwort. Okay, ein paar melden sich und für alle, die kann das interessant sein. Ja, so, was wir machen, wir rufen SSH-Key gern auf. Ja. Und das generiert ein SSH-Schlüssel. Und ihr habt das alles schon gesehen. So, ich kopiere das, gehe in meinen Host und hier addiere ich, hier füge ich diesen Schlüssel hinzu. Das ist alles. Und jetzt gehe ich zurück in die virtuelle Maschine. Virtuelle Desktops in einem virtuellen Desktop. Und dann können wir uns einlocken per SSH und hier werden wir den PIN für die Smartcard, die ich ursprünglich mal Label genannt hatte. Und jetzt bin ich eingelockt. Also, das funktioniert auch. Um die Sachen noch cooler zu machen, wofür wir SSH auch benutzen können, wer benutzen ist, für Git. Git zusammen mit SSH. Also, wir nehmen diesen Schlüssel nochmal und wir gehen rüber ins Dach GitHub. Das ist mal ein GitHub-Account. Jetzt wird es interessant. Ja, ich speichere Passworte. Sie haben keine kleinen Zertifikats-Authentifizierung. Was soll ich sonst machen? Die Sache, die wir hier machen, ist, ich schreibe dieses großartige Shell-Skript, das halt die TPM-Konfiguration generiert und dann ein SSL-Skript, das SSH mit diesen Argumenten aufruft. Und da sage ich, Git, das er dieses Skript benutzen muss. Also, lassen wir uns nun klären wir ein Repository. Die haben wir, das TPM, diese Aufrufe und noch mehr TPM. Und da sind wir, ich glaube, ich habe das mit meinen Tests benutzt, aber wir können jetzt einfach einen neuen Branche anlegen. Nehmen wir es 36C3Now. Geht natürlich nicht ein bisschen erstmal in das Repository wechseln. Wir checken einen neuen Branche aus, pushen ihn zurück und es ist gepusht. Wir können hingehen und auf meinen Account in Good App gehen und ihr könnt dieses Push da drüben sehen. Okay, wie ich gesagt, das ist AC0, also da gibt es vermutlich noch ein paar Bugs und Haken und Ösen, bevor wir es releasen, aber es geht ganz benutzbar aus. Also, was kann man noch machen? Das hier ist im Prinzip Bitlocker für Linux. Ich habe das jetzt schon vor mehr als ein Jahr geschrieben und es gab dann einen längeren Merch-Request beim Upstream-Crypt-Setup-Projekt. Also, da muss man einige Sachen umbauen, aber ich dachte, ich könnte das hier nochmal zeigen. Also, was es macht ist, bei Luxem-Crypt-Setup gibt es eben so einen Volume-Schlüssel, mit dem eben die Partitionen verschlüsselt sind und dann gibt es solche Key Slots auf der Partition und die Schlüsse, die dafür werden, sind abgeleitet vor dem Passwort, das man eingibt. Und das sieht dann ungefähr so aus, wie man hier in der Mitte sieht. Key Slot, also Schlüsse ist laut 0 und da stehen dann eben die Parameter drin. Und das ist übrigens JSON hier und das ist tatsächlich auch so, wie das in eurem Partitions-Set dann repräsentiert ist. Ja, also wir haben hier diesen Schlüsselslot, wie hier auf der rechten Seite. Wir nehmen einfach diesen Volume-Key und nutzen einen von den Speicherplätzen in dem TPM, sogenannte Non-Voter-Time-Memory-Space, und speichern das einfach da drinnen. Und was wir dann bei dem On-Disk-Format von Lux geändert haben, ist, dass wir einfach Metadaten da rein speichern, nämlich zum Beispiel, wie der Index ist von dem Non-Voter-Time-Memory-Slot in dem TPM-Modul. Also, nochmal eine Demo. Ups, also das hier ist der Crypt-Setup-Brunch, den ich ausgecheckt habe und kompiliere das jetzt einfach live. Und in der Zwischenzeit vielleicht noch ein kleiner Hinweis, das Betriebssystem, das ich in der Vm laufen las, ist eine Stand-Ubuntu-Installation. Und ich habe bei der Installation einfach nur Festplattenverschlüsselung mit Standard-LVM-Layout ausgewählt. Das Nutz war leider immer noch das Lux-1-On-Disk-Format. Und deswegen muss man das die Crypt-Setup-Convert-Option in dem Installations-Dialog zur Partizonierung aufrufen. Aber dann sollte das einfach alles klappen. Also, wir haben es kompiliert und installiert und updaten jetzt das Innitram-FS. Und das nächste Kommando, das wir ausführen, ist dann dieses hier. Und das Einzige, was anders ist als normal, wenn man bei Lux-Schlüsseln zufügt ist, wenn man dieses Minus-Minus-TPM hier hinzufügt, wir geben unser aktuelles Passwort ein und geben das neue Passwort ein. Und das neue Passwort wird dann benutzt, um sich zusammen mit dem TPM zu authentifizieren. Wir haben nur noch fünf Minuten, also mache ich jetzt ein bisschen schneller. Beim nächsten Reboot wird nicht das System dann nach dem TPM-Basinenpasswort fragen. Und lass uns zumindest mal gerade schauen, was hier passiert ist. Wir sehen hier diesen zweiten Schlüsselslot und der hat jetzt den Typ TPM2. Okay, eine weitere Sache, die ich noch präsentieren möchte, ist Integrated Checking. Das hat Matthew Garrett am 33C3 vorgestellt. Das ist der Link zu seinem Vortrag. Das sollte ihr euch auf jeden Fall anschauen. Dabei geht es darum, dass man die Integrität des frühen Bootprozesses verifiziert, indem man das mit einem QR-Code und mit seinem Smartphone verifiziert. Und ich arbeite da gerade an einer Reimplementierung. Und es ist tatsächlich, ja, öffnet da mal auf euren Telefon bitte jetzt die OTP-App. Also, das könnt ihr machen. Also, falls jemand im Publikum ist, der gut im GTK GUI-Design ist, weil das hier mein Versuch bei dieser ganzen Sache war. Also, was werden wir hier machen? Wir werden meine Bindings für PCR 0 bis 7 schützen. Und das ist der QR-Code, mit dem ich bei jedem Boot überprüfen kann, ob die PCR-Werte zum Zeitpunkt des Boots, diejenigen sind, die sie gerade haben, also die, den ich gerade jetzt vertraue. Also, alle von euch können das ja jetzt irgendwie abscannen mit eurem Free OTP oder Google Authenticator. Also, ihr könnt das ja gerade einscannen. Und jetzt starten wir das Thema gerade neu. Und hoffentlich funktioniert das jetzt auch, denn der komplizierteste Teil bei diesen ganzen Demos war tatsächlich das Mode-Setting zwischen Grubb und Plymouth. So, und jetzt seht ihr hier diese Zahl. Also, das ist jetzt nicht so groß auf dem Bildschirm, 82688, war das korrekt? Ja, war es tatsächlich, super. Und das zweite, was ich jetzt mache, ist, dass ich statt des Totalisieren Passwords Andreas1234 eingebe, was das TPM Password ist, und es bootet tatsächlich mit dem TPM. Man sieht es hier. Also, das funktioniert auch mit Lacks. Cool. Ich hoffe, das hat euch einen kleinen Eindruck vermittelt, dass man alles mit TPMs heute so anstellen kann. Wenn ihr mitmachen wollt, wenn ihr da mit dran rumhäcken wollt, dann geht auf unsere Community-Webseite. Wir haben auch einen Chatroom mit Gitter. Und da könnt ihr dann mit den anderen Leuten reden, die das so an dem Projekt arbeiten. Ihr könnt euch diese beiden Hater-Dateien anschauen. Das sind die beiden Wichtigsten. Die FRP ist etwas neuer. Und die haben wir gerade in den Master gemirkt vor ungefähr einer Woche. Schaut euch das auf jeden Fall mal an, testet das. Schaut euch die verschiedenen Tools an. Die ganzen Tools, die mit TPM2-Unterstrich anfangen, sind im Prinzip einfach nur Command-Line-Abbildung der API. Und hier ist vielleicht noch ein weiterer Pro-Tipp, wenn ihr etwas, wenn ihr an irgendetwas rumhäkt mit TPMs und irgendetwas geht, manchmal kaputt, dann hängt das zusammen mit TPM Resource Exhaustion. Und dieses Kommando hier unten gibt dann wieder internen Rahmen in dem TPM frei, sodass ihr weiterarbeiten könnt. So, das war die deutsche Übersetzung von Hacking with a TPM von Andreas Fuchs vom 36. Chaos Communication Congress. Wir freuen uns über Feedback entweder per Mail Hello at C3lingo oder über Twitter mit dem Hashtag C3T. Und jetzt geht es weiter mit Q&A. Okay, wenn man diese Verschlüsselungsschlüssel in dem TPM habe und die Regierung beeinflusst irgendwie den Hersteller des TPM, dann gäbe es eine Möglichkeit, dass man den Schlüssel rauskriegen und dann wäre es nicht besser, einen weiteren Key zu haben, dass man den privaten Schlüssel zusätzlich mit dem Schlüssel dann aus dem TPM hat, sodass man halt beides braucht, sodass man wirkliche Zwei-Faktor-Authentifizierung hat, die Schlüssel im TPM hat, weil dem würde ich nicht vertrauen. Okay, also abhängig von Paranoia-Level ist das definitiv eine TID. Ich muss Windows benutzen, das mit BitLocker verschlüsselt ist und ja, wahrscheinlich ist es die Schlüssel für BitLocker, wenn ich die Schlüssel zerstöre, wenn ich diese Tools benutze. Also das hängt sehr davon ab, welche Tools man denn tatsächlich verwendet, keines der Tools, die ich gerade gezeigt habe, installiert Persistentekies, also die PKCS2-Demo, installiert tatsächlich einen Schlüssel und dann verbraucht man natürlich etwas in Vorrangplatz und dann hängt es halt davon ab, dass man die Ressourcen-Windows verwendet und das könnte dann auch zu so einer ressource-exhausten Fehler führen. Aber ansonsten löschen die Kommandos, die ich in der Demo gezeigt habe, auf jeden Fall nichts und das könnte ihr verwenden. Okay, thank you. Vielleicht haben wir eine Frage aus dem Internet, vom Signal-Endel. Eine Tokens wie Ubikis haben auch wie einen Knopf, den man drücken muss um ein Proof of Presence, also ein Beweis zu haben, dass man tatsächlich da ist oder Software, das nicht im Hintergrund benutzen kann. Wie kann man das mit einem TPM machen? Aktuell nicht, aber ich hoffe, auf einen TPM mit einer eingebauten ADD ist seit ca. 10 Jahren, vielleicht sehen wir ja mal irgendwann GPIO-fähige TPMs in der Zukunft und dann könnte man sowas vielleicht irgendwie bauen mit den GPIOs. Aber bis jetzt gab es nur Forschungsprototypen. Ich habe mal einen TPM auf einem Cortex-M3 implementiert, um den Nutzen von GPIO direkt am TPM zu demonstrieren. Aber das müsste man jetzt erstmal fertig entwickeln. Kann man diesen zweiten Faktor implementen? Die Frage habe ich jetzt nicht ganz verstanden. Ja oder nein? Also man kann Teile von FIDO mit TPMs implementieren, also die Basiskrypto-Operationen. Aber es gibt da bei FIDO noch Property- oder spezielle Datenformate, also da müssen irgendwie Zeile hochgezählt werden und die speichert der TPM nicht intern, weil der TPM diese Datenstrukturen, die man bei FIDO braucht, gar nicht kennt. Aber es gab wohl irgendwann zwischendurch mal einen TPM Registrierungsmodus, aber das müsste erstmal von irgendwie implementiert werden. Also wenn du an sowas anfangen willst zu arbeiten, dann rede mit mir, ich helfe dir gerne. Ja, aber gibt es viel zu tun? Wenn du dich etwas zu tun sucht, dann könnt ihr einfach auf diese Gitterbio-Community-Pages gucken. Dann klickt ihr einfach auf Software und dann scrollt ihr runter und da gibt wir eine lange Liste von Programmen, die TPM Unterstützung haben und da kommt eine sehr viel längere Liste von Programmen, von denen wir wünschen, dass die TPM Unterstützung hätten. Und da gibt es viel einfache Sachen wie GPG. Wie viele verschiedene Schlüsseln oder Smart Cards kann man in einem TPM speichern? Ist das nur eine oder kann man mehrere? Also das Nette ist, dass das prinzipielle Konzept bei einem TPM ist, dass er nur sehr wenige Schlüssel speichert, also das ist meistens nur einer. Und die ganzen anderen Schlüssel sind mit dem Schlüssel des TPMs verschlüsselt auf der normalen Festplatte. Und das heißt, ihr könnt so viele Schlüssel haben, wie ihr Festplattenplatz habt oder so viele Escolite euch erlaubt, in einer Datenbank zu speichern mit der entsprechenden Indexzahl. Ich habe eine Frage zu Kernel Upgrades. Wenn ich mein Betriebssystem kann, Updates, kann ich irgendwie messen, was Kernel beim nächsten Boot sein wird und kann dann dem TPM sagen, die Keys, das kannst mit den nächsten zu ersetzen? In der Theorie ja klar, also das ist theoretisch, also ist der Theorie sich nicht so kompliziert. Das Ingenieur sieht schon, weil man die Referenzwerte vorab wissen muss und die ganze Measurement-Kette neu berechnen muss und das ist eben eine Frage von Reference Integrity Measurement Distribution also der Verteilung das werden wir nicht übersetzen. Also es ist mehr ein Infrastruktur-Problem als jetzt ein prinzipielles Problem der TPM oder der TPM Software. Wir haben leider nur noch eine Minute und wir haben eine Internetfrage. Wenn ich dem TPM in meinem Gerät nicht traue, kann ich es einfach auslöten und durch eines von vor allem vertrauenswürdigeren Hersteller ersetzen? Ja, sobald ich weiß, haben Sie ein kompetibles Pin-Out und ein kompetibles Protokoll und das ist eben genau das schöne also vielleicht nicht bei Intel, PPT, FTPMs die sind in der Management Engine oder die hängen mit der Management Engine zusammen und wenn er die rauslütte dann habt er keine Eingabeausgabe. Ja, wenn ihr mit Andreas in Kontakt kommen könnt, nun ist die Webseite, habt ihr ja gesehen, vielen Dank und vielleicht noch einen anderen Applaus für Andreas damit verabschieden.