Open Source im professionellen Einsatz
Linux-Magazin 11/2011
© stylephotographs, 123RF

© stylephotographs, 123RF

Hardware absichern mit IMA und Trusted Boot

Kette des Vertrauens

Gut ausgestattete Mainboards bringen meist Trusted-Computing-Chips mit, die Benutzer und Betriebssysteme aber nur selten nutzen. Der Linux-Kernel beherrscht die Technik und ermöglicht mit Trusted Grub eine weitreichende Vertrauenskette – zumindest theoretisch.

1027

Die digitale Unterschrift alleine reicht nicht. Selbst wenn die qualifizierte elektronische Signatur als Ersatz der händischen Unterschrift in der Praxis anerkannt wäre, müsste die Software garantieren können, dass die Anwendung auch das signiert hat, was auf dem Bildschirm angezeigt wurde.

Wer da von der Vertrauenswürdigkeit der verwendeten Hardware ausgeht (Stichwort "Trusted Display"), dem stellt sich die Frage nach der Glaubhaftigkeit der verwendeten Programme. Der folgende Artikel beschreibt eine Möglichkeit, wie sich die Integrität von Software mit Linux, entsprechender Hardware und den richtigen Tools überprüfen lässt, und zeigt, wo es noch hakt und an welchen Stellen das freie System dennoch gegenüber Microsofts Windows die Nase vorn hat.

Soll in einem PC-System eine Anwendung die Integrität einer anderen überprüfen, so muss sie dazu selbst vertrauenswürdig sein. Aber weil auch die Überprüfung dieser Annahme wiederum von einer anderen vertrauenswürdigen Anwendung zu erfolgen hat, bedarf es einer Kette von Überprüfungen, einer Chain of Trust. Damit nicht genug: An deren Anfang muss eine vollkommen vertrauenswürdige Instanz stehen, der Sicherheitsanker oder Root of Trust.

Trusted Platform Module als Anker

Im PC-Umfeld hat sich in den letzten Jahren das TPM (Trusted Platform Module, [1]) etabliert – als Hardware in Form eines Chips auf den Mainboards vieler PCs und Notebooks. In der Voreinstellung fristet es jedoch meist nur ein Schattendasein und bleibt deaktiviert. Das TPM ist von der TCG (Trusted Computing Group, siehe Kasten "TCG") spezifiziert und standardisiert (ISO/IEC 11889). Es enthält Komponenten fürs Trusted Computing und verschafft einem Rechner Zugang zu folgenden Funktionen:

TPM

Das Trusted Platform Module ist ein von der TCG spezifizierter Chip, der Computer oder ähnliche Geräte um grundlegende Sicherheitsfunktionen erweitert. Sie umfassen kryptographische Algorithmen, einen Hardware-Zufallszahlengenerator sowie diverse Mechanismen für das sichere Verwalten und Ablegen von Schlüsseln und digitalen Zertifikaten. Aufgrund der hohen Sensibilität ist die Einhaltung der TPM-Spezifikation durch die Chiphersteller von großer Bedeutung: Schließlich dient er als Wurzel einer Vertrauenskette, auf deren Sicherheit die des gesamten Systems aufbaut.

Vertrauen

Um das Vertrauen des Anwenders in die Einhaltung der Spezifikation durch den Hersteller zu gewährleisten, sind im TPM diverse Zertifikate enthalten, die die Korrektheit des Herstellungsprozesses bestätigen sollen. Zudem enthält der Chip einige Schlüsselpaare, die das Modul eindeutig identifizieren und zum Verschlüsseln oder digitalen Signieren von Daten dienen. Auch der Nutzer generiert einige dieser Schlüssel. Beim ersten Erstellen der Keys verleiht der Anwender dem Modul seine Identität. Dieser Prozess heißt Inbesitznahme (Take Ownership). Einen guten Überblick über die Zusammenhänge findet sich in [3].

Platform Configuration Register

Eine wichtige Rolle für die Integritätsprüfung (Trusted Boot) spielen die so genannten Platform Configuration Registers (PCR). Es handelt sich um einen Satz von 16 Registern mit einer Datenbreite von 20 Byte. Das entspricht genau der Ergebnisgröße der kryptographischen Einwegfunktion SHA-1 (siehe unten). Die PCR sind beim Neustart oder Reset des Computers mit 0 initialisiert. Danach ist kein Setzen auf vorbestimmte Werte mehr möglich.

Die einzige Möglichkeit der Modifikation besteht im Aufruf der so genannten TPM-Extend-Funktion. Sie ist definiert über »TPM_Extend[n] := SHA-1(PCR[n] || D)« . Das bedeutet: Ein Datum beliebiger Länge D wird mit dem aktuellen Wert des PCR-Registers Nummer n[UCC:x00-fake-italic] verkettet und darüber dann die kryptographische Einwegfunktion (Prüfsumme) SHA-1 berechnet. Das 20 Byte lange Ergebnis landet im PCR-Register n. Bedingt durch die Eigenschaften der Einwegfunktion ist es praktisch nicht möglich, über diesen Mechanismus einen bestimmten Wert gezielt in das PCR zu schreiben. Das nutzt beispielsweise Trusted Boot, um die Messwerte D beim Booten manipulationssicher in einem PCR abzulegen.

Remote Attestation Protocol

Eine weitere API-Funktion zum Zugriff auf den TPM-Chip kommt bei der Überprüfung der Integrität mittels des Remote-Attestation-Protokolls zum Einsatz. Es handelt sich um TPM_Quote, die gezielt PCR-Registerwerte zusammen mit einer digitalen Signatur ausliest. Als Eingabeparameter erwartet sie einen Selektor für einen TPM-Schlüssel, der zum Signieren der Daten dient, eine Zufallszahl (Nonce), die in die Signaturberechnung eingeht, sowie die gewünschten PCR. Als Ergebnis bekommt der Anwender die PCR-Inhalte, signiert mit dem angegebene privaten Schlüssel.

TCG

Die Trusted Computing Group (TCG, [2]) ist eine Standardisierungsorganisation, die AMD, Intel, HP, IBM und Microsoft 2003 gegründet haben und die heute über 100 Mitglieder zählt. Das ursprüngliche Ziel der TCG war die Definition eines Trusted Platform Module. Im Laufe der Zeit entstanden weitere Spezifikationen zu Fragen der Sicherheit von Computern und Netzwerken.

In verschiedenen Arbeitsgruppen befasst sich die Non-Profit-Organisation mit Themen wie Infrastruktur-Sicherheit, Sicherheit für mobile Endgeräte, PC-Clients, Servern und Storage-Devices oder mit Endpunkt-Sicherheit bei vernetzten Systemen.

  • Eindeutige Plattform-Identität
  • Sicherer Schlüsselspeicher
  • Versiegeln von Daten
  • Kryptographie-Funktionen
  • Bewertung der System-Integrität

Die standardkonforme Realisierung des Chips bestätigen diverse Zertifikate und Signaturen (siehe Kasten "TPM"). Seine Vertrauenswürdigkeit beruht damit auf der Vertrauenswürdigkeit des Herstellers sowie der unterzeichnenden Instanzen der enthaltenen Zertifikate.

Trusted Boot

Bei PC-Systemen initialisiert ein vertrauenswürdiger Bootvorgang (Trusted Boot) die Chain of Trust. Er nimmt seinen Anfang mit dem Einschalten des Systems und der Ausführung des ROM-Bios-Code. Hier finden die grundlegenden Hardware-Initialisierungen, speziell die des TPM-Chips, statt.

Damit dessen Funktionen schon beim Booten bereitstehen, hilft eine Bios-Erweiterung namens CRTM (Core Root of Trust for Measurement). Sie ist ebenfalls von der TCG spezifiziert und sorgt für die Messung von Systemzuständen noch vor dem Start des Betriebssystems. Die Messung erfolgt durch eine Hashfunktion über relevante Datenbereiche und das Speichern der Ergebnisse in den PCR-Registern des TPM.

Abbildung 1 zeigt, wie das TPM zunächst den Bios-Code selbst unter die Lupe nimmt, dann den Bios-Code von externer Hardware und schließlich Daten, die sich aus dem Ergebnis des Einlesens von Hardware-Informationen ergeben. Damit ist die vorliegende Hardwarekonfiguration bereits Bestandteil der Integritätsprüfung. Im weiteren Verlauf sucht das Bios nach einem bootfähigen Gerät. Findet es dabei eine Festplatte, liest es deren ersten Sektor ein, misst ihn und führt einen gefundenen MBR-Code aus.

Abbildung 1: Die Chain of Trust beginnt beim Einschalten des PCs und setzt sich im Idealfall lückenlos bis zum gestarteten Betriebssystem fort. Unter Linux hilft da Trusted Grub.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • In Kinderschuhen

    In vielen aktuellen Rechnern steckt ein Chip, den zwar niemand nutzt, um dessen Sinn sich aber Mythen ranken. Dabei könnte sich das Trusted Platform Module durchaus für sinnvolle Aufgaben eignen, wie erste Beispielanwendungen zeigen. Deren Reifegrad lässt aber Wünsche offen.

  • Höllenglut

    Das Thema Trusted Computing für Linux ist ein heißes Eisen, kein Artikel wird es abkühlen können. Wohl aber vermag er Leser in die Lage zu versetzen, sich selber ein Bild über die Chancen und Risiken der Fritz-Chip-Technik zu machen.

  • TPM

    Das einst geschmähte Trusted Platform Module könnte künftig zu einem sicheren Anker für die Chain of Trust auf Rechnern werden. Warum das so ist, wie es aktuell um TPM unter Linux steht und wohin die Reise gehen könnte, erklärt Security-Experte Matthew Garrett in diesem Artikel.

  • Kern-Technik

    Ubuntu bringt von Haus aus Kernel mit, die für die meisten Einsatzzwecke taugen. Die aktuelle Version 14.04 der Distribution eignet sich aber auch für erste eigene Versuche mit dem Konfigurieren, Übersetzen und Installieren des Linux-Kerns.

  • SE Android

    Dass Android-Geräte vermehrt ins Visier von Angreifern geraten, ist eine Folge ihrer Popularität. Android-Designschwächen erleichtern Crackern bislang ihr Tun. Das SE-Linux-Projekt der NSA ist dabei, mit SE Android zumindest die Auswirkungen von Exploits drastisch zu mindern.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

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