Open Source im professionellen Einsatz

© photocase.com

Anwendungen für das Trusted Platform Module

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.

Vertrauenswürdige und sichere Computerplattformen sind das vorgebliche Ziel des TPM (Trusted Platform Module, siehe Kasten "Trusted Computing"). Doch bislang verströmt dieser Chip vor allem Verunsicherung. Unabhängig von der Eignung für Kopierschutzmechanismen oder wofür seine Macher die einzelnen Funktionen des TPM auch ersonnen haben: Einige taugen durchaus auch für sinnvolle, friedliche Anwendungen. Die folgenden Seiten zeigen, wie ein TPM SSL-Zertifikate schützt, wie es kryptographische Schlüssel sicher speichert, um mit ihnen den Inhalt der Festplatte zu chiffrieren, und wie es sicheres Booten ermöglicht.

Trusted Computing

Das ebenso viel versprechende wie umstrittene Trusted Computing (TC) soll die Sicherheit von Rechnersystemen erhöhen [10]. TC erlaubt es den Komponenten, sich gegenseitig zu authentisieren und so eine vertrauenswürdige Umgebung aus Hard- und Software zu schaffen. Als Kernelement fungiert ein Hardwarebaustein, den das TCG-Konsortium (Trusted Computing Group, [11]) spezifiziert hat. Sein Name: Trusted Platform Module (TPM). Kritiker leiten aus dem Funktionsumfang des TPM ab, dass sich das Modul vor allem für DRM-Aufgaben eignet (Digital Rights Management, also Kopierschutz) und vermuten darin die wahre Intention der Protagonisten.

Die TCG überarbeitet und aktualisiert laufend die Spezifikation und macht den größten Teil öffentlich zugänglich. Erste Versionen der Spec dienen jetzt schon als Grundlage für die millionenfache Produktion von TPM-Chips und deren Integration in entsprechende Systeme.

Krypto-Chip mit vielen Funktionen

Vorangegangene Artikel im Linux-Magazin haben bereits darüber berichtet, welche kryptographischen Verschlüsselungs- und Signaturfunktionalitäten im TPM realisiert sind [12], wie sich die Versionen der Spezifikation unterscheiden und wie Kernel und Userspace das TPM unter Linux ansprechen [10].

Ohne sichere Betriebssysteme laufen die Funktionen des TPM ins Leere, der Chip ist nur in sicherer Umgebung sinnvoll zu nutzen und stellt nur dann dem Anwender nützliche Dienste zur Verfügung. Entgegen der optimistischen Annahmen der ersten Jahre, hat sich vor allem dieser Aspekt als sehr schwierig und bestenfalls langfristig umsetzbar herausgestellt.

TC-taugliche Betriebssysteme fehlen noch

Komplette Betriebssysteme, die TC unterstützen, sind auch im Jahre 2006 nur am fernen Horizont zu erahnen. Allerdings existieren einige Anwendungsszenarien, in denen Applikationen von einem TPM profitieren.

Bereits beim Bootprozess entscheidet sich, wie vertrauenswürdig ein System ist. Es muss von Beginn an sicherstellen, dass kein Angreifer die beteiligten Komponenten ausgetauscht oder modifiziert hat. In der wissenschaftlichen Literatur [5] beginnen sich hierfür die Begriffe "Trusted Boot", "Secure Boot" und "Authenticated Boot" zu etablieren. Trusted Boot meint, dass ein Sicherheitsmodul die relevanten Systemkomponenten lediglich überprüft. Es analysiert und misst das startende System; dieser Vorgang heißt auch Monitoring.

Vorsicht beim Booten

Wie Trusted Boot misst auch ein Secure Boot das System, Letzterer löst aber zusätzlich Aktionen aus, falls der gemessene Ist-Wert und der erwartete Referenzwert differieren (Enforcing). Zum Beispiel bricht er den Bootvorgang ab, löst eine Kernel Panic aus oder meldet die Abweichung auf der Konsole.

Authenticated Boot kennt beim Enforcing nicht nur falsch und richtig, sondern unterscheidet mehrere Szenarien. Der prüfenden Instanz ist eine Menge von Referenzwerten bekannt, die je eine gültige Plattformkonfigurationen darstellen. Jede Konfiguration gilt zum Beispiel nur für eine Betriebssystemversion mit einem bestimmten Patch-Level. Damit kann die prüfende Instanz anhand der gemessenen Ist-Werte entscheiden, welche Plattformkonfigurationen vorliegen und wie weiter zu verfahren ist.

Ab der Wurzel

Sinnvoll ist sicheres Booten nur, wenn es die Integrität der gesamten Plattform vom Systemstart bis in die Anwendungsebene erfasst und überprüft und gegebenenfalls abbricht. Maßgeblich sind dabei der TPM-Chip sowie Teile des Bios. Nur diese beiden Komponenten gelten als vertrauenswürdig, weil ein Angreifer keinen Einfluss auf sie hat. Das Bios dient als unbedingter Vertrauensanker (CRTM, Core Root of Trust for Measurement), der TPM-Chip ist sein kryptographischer Erfüllungsgehilfe.

Mit dem Systemstart übernimmt das Bios die Kontrolle (Abbildung 1), misst mit Hilfe des TPM-Chips relevante Teile des Bios und speichert die ermittelten Hashwerte in volatilen PCRs (Platform Configuration Register). TPM-Chips verfügen nur über wenige PCRs - bei TPM 1.1b typischerweise 16, bei TPM 1.2 mindestens 24. Als Ausweg hat die TCG das so genannte Extending ersonnen: Dieser Algorithmus verknüpft den aktuellen Registerinhalt eines PCR mit einem neuen Messergebnis, das als aktualisierter Hashwert im selben PCR landet.

Abbildung 1: Sicheres Booten beginnt bei einem Vertrauensanker (CRTM, Core Root of Trust for Measurement) und setzt sich über den Bios-Code und den Master Boot Record (MBR) zum Bootloader fort (etwa Grub), der wiederum seine Konfiguration sowie den Kernel prüft.

Abbildung 1: Sicheres Booten beginnt bei einem Vertrauensanker (CRTM, Core Root of Trust for Measurement) und setzt sich über den Bios-Code und den Master Boot Record (MBR) zum Bootloader fort (etwa Grub), der wiederum seine Konfiguration sowie den Kernel prüft.

Mit diesem Trick gelingt es, eine Vielzahl von Einzelmessungen auf die begrenzte Zahl von PCRs abzubilden. Die TCG-Spezifikation [1] gibt beispielsweise vor, dass das Bios in PCR 0 bis 3 diverse Bios-Parameter und die Motherboard-Konfiguration speichert (Tabelle 2). In PCR 4 misst das Bios den IPL-Code (Initial Program Loader). Der beginnt üblicherweise im Master Boot Record (MBR) eines passenden Bootdevice und umfasst den kompletten Bootloader, etwa Lilo oder Grub.

Tabelle 1:
Abkürzungen

 

CA

Certification Authority

CRTM

Core Root of Trust for Measurement

CSR

Certificate Signing Request

DIR

Data Integrity Register

DRM

Digital Rights Management

EK

Endorsement Key

EMSCB

European Multilaterally Secure Computing Base

IPL

Initial Program Loader

MBR

Master Boot Record

PCR

Platform Configuration Register

RPC

Remote Procedure Call

SRK

Storage Root Key

SSL

Secure Sockets Layer

TCG

Trusted Computing Group

TCPA

Trusted Computing Platform Alliance

TCS

TSS Core Service

TC

Trusted Computing

TDDL

TCPA Device Driver Library

TPM

Trusted Platform Module

TSPI

TSP Interface

TSP

TSS Service Provider

TSS

TCG Software Stack

Tabelle 2: Platform
Configuration Registers

 

PCR

Verwendung bei TPM-Chips der Version 1.1b

CRTM, Bios and Platform Extensions

1

Platform Configuration

2

Option ROM Code

3

Option ROM Configuration and Data

4

IPL Code (usually the MBR)

5

IPL Code Configuration and Data (for use by the IPL code)

6

State Transition and Wake Events

7

Reserved for future usage

8-15

For application usage

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook