Open Source im professionellen Einsatz

Linux und TPM2

04.01.2017

Da Microsoft für Windows 10 seit neuestem Support von TPM2 voraussetzt, dürften Hardware-Hersteller schnell reagieren. Das hat auch Konsequenzen für Linux, schreibt James Bottomley.

475

Version 2 der Hardware-Sicherheitsfunktion unterscheide sich grundlegend von der Vorgängerversion 1.2, erklärt Kernelentwickler und IBM-Forscher Bottomley in seinem Blog, so dass existierende TPM-1.2-Software nicht mehr funktioniere. TPM2 unterstützt unter anderem alle möglichen Algorithmen, nicht mehr nur zwei (SHA1 und RSA 2048). Welche die jeweilige TPM-2-Hardware konkret unterstützt, muss der User erfragen. Im Westen kämen die Krypto-Algorithmen RSA 1024 bis 2048, ECC und AES zum Einsatz sowie SHA1- und SHA256-Hashes.

Algorithm Agility

Das Feature heißt Algorithm Agility. Anstelle von Root Keys kommen nun Seeds und eine deterministisch arbeitende Key Derivation Function (KDF) zum Zug, letztere erzeugt aus demselben Algorithmus stets denselben Schlüssel. Die Seed besteht aus einem langen String zufälliger Nummern, und dient der KDF, zusammen mit den Key-Parametern und einem Algorithmus, als Input. Es gibt dabei drei permanente und eine dynamische Seed: Endorsement (EPS, entspricht EK von TPM 1.2), Platform (PPS) und Storage (SPS, entspricht SRK von TPM 1.2). Eine Null-Seed erzeugt flüchtige Seeds und ändert sich mit jedem Reboot. Die Wurzel für die Vertrauenshierarchie bildet dabei nicht mehr eine Seed, sondern ein Key.

Geheime Schlüssel

Neben der Algorithm Agility ist auch der Umgang mit Schlüsseln neu. Wurden geheime Schlüssel in TPM 1.2 noch asymmetrisch in SRKs verpackt und dann über „LoadKeyByBlob“ aufgerufen, verwendet TPM 2 ein zweistufiges Verfahren. Zunächst importiert der Schlüsselverwalter den geheimen Key verdeckt über „TPM2_import“. Zurück kommt eine Private-Key-Struktur, die der interne symmetrische Schlüssel des Parent Key chiffriert. Ein „TPM2_Load“ holt dann bei Bedarf diesen Schlüssel, um mit der Struktur zu interagieren. Laut Bottomley findet hier ein Wechsel von Online- zu Offline-Key statt.

TPM2 in der Praxis

Der Autor führte dann verschiedene Experimente mit Linux und TPM2 durch, die sich auf der Webseite nachvollziehen lassen. Dafür musste er die Hardware manuell auf TPM2 aktualisieren und stieß auf verschiedene Probleme. So erlaubt das vom Kernel bereitgestellte „/dev/tpm0“ nur einen User zur Zeit und übersteigt die Nachfrage nach vorübergehenden Key-Slots womöglich das limitierte Angebot solcher Slots durch TPM2.

Steckbare TPM-Einheit auf einem Asus-Board (Quelle: FxJ, Wikipedia)

Die Probleme soll ein Resource Manager (RM) lösen, der im Kernelspace zu Hause ist. Denn sowohl User- als auch Kernelspace greifen  auf TPM2 zu. Entsprechen Patches kommen von Jarkko Sakkinen und werden wohl im Kernel 4.11 und 4.12 landen, sind aber bislang noch im Teststadium. Auf Basis dieser Patches lassen sich dann auch Open SSL und Gnome-Keyring für den TPM-2-Einsatz patchen.

Fazit

Dank des im Kernel noch fehlenden Resource Managers sei der TPM-2-Support noch nicht reif für den großen Auftritt, das werde sich aber wohl in Kernel 4.11 oder 4.12 ändern. Ein spürbarer Vorteil sei das Fehlen eines zentralen Daemons, insbesondere in verteilten Setups. Der Kernel könne sich zudem unbehelligt vom Userspace um die Trusted Keys und Festplattenverschlüsselung kümmern.

Ähnliche Artikel

  • Einmalige Gelegenheit

    Passwörter sind trotz Biometrie-Boom immer noch das am häufigsten eingesetzte Mittel zur Authentifizierung. In unfreundlichen Umgebungen versuchen Falschspieler sie abzuhören oder auszuspähen. Das macht aber nichts, wenn sie nur einmal gültig sind.

  • Linuxcon Europe: UEFI Secure Boot theoretisch kein Hindernis

    James Bottomley, Vorsitzender des technischen Beirats der Linux Foundation, hat in seinem Vortrag den jüngsten Stand zu Linux auf Rechnern mit UEFI Secure Boot dargestellt.

  • Sicherheitslücke in OpenSSL

    Ein Fehler in OpenSSL kann Angreifern ermöglichen, Sicherheitsbestimmungen zu umgehen. Zwar liegen Patches vor, doch auf eine neue, zertfizierte Release müssen die Anwender noch warten.

  • Besser abgesichert

    Wer seinen Rechner richtig absichern will, muss zu Einmalpasswörtern greifen. Da finden sich diverse proprietäre Backends, die mit Radius kommunizieren. Feature-technisch ist Lin OTP das einzige freie Pendant. Auch wenn es noch in einem frühen Stadium ist, hat es doch das Zeug zur ernsthaften Alternative.

  • Greg KH: Selbst signierten Kernel booten

    Greg Kroah-Hartman, Maintainer der stabilen Linux-Kernel, hat eine Anleitung veröffentlicht, wie man einen selbst signierten Kernel unter UEFI Secure Boot startet.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.