Trusted Computing Group
# Trusted Computing Group

Die Trusted Computing Group (TCG) ist eine von der Industrie betriebene Standardisierungs-Organisation, die einen offenen Standard für Trusted-Computing-Plattformen entwickelt. Sie hat im Jahre 2003 die Standardisierungsarbeit der ehemaligen Trusted Computing Platform Alliance (TCPA) adoptiert und setzt diese fort.

## Zielsetzung

Die detaillierte Zielsetzung der TCG ist auf deren Website wie folgt definiert:

   “Trusted Computing Group members develop and promote open, vendor-neutral, industry standard specifications for trusted computing building blocks and software interfaces across multiple platforms.”
   „Mitglieder der TCG entwickeln und fördern offene, Hersteller-unabhängige Industriestandard-Spezifikationen für plattformübergreifende Trusted Computing Bausteine und Software-Schnittstellen.“

Mit „Trust“ wird hierbei die Erwartung an ein Gerät oder eine Software gemeint, dass es sich für einen bestimmten Zweck in einer vordefinierten Art und Weise verhält.

Eine solche „Trusted Platform“ soll gemäß dieser Definition Veränderungen in einer Computer-Plattform eindeutig erkennen können und damit sowohl externe Software-Angriffe als auch Veränderungen durch Konfiguration, Fehlfunktionen, Sicherheitslücken und Einflüsse des eigenen Betriebssystems oder der Anwendungsprogramme eindeutig identifizieren.

Die Reaktion auf eine solche Veränderung soll dabei durch ein entsprechendes, sicheres Betriebssystem erfolgen. Dieses Betriebssystem ist dabei explizit nicht Bestandteil der TCG-Spezifikation, die sich als Betriebssystem-agnostisch definiert.

## Organisationsstruktur

Die Organisationsstruktur der TCG umgeht die Beschränkung der Vorgängerorganisation TCPA, die Einstimmigkeit bei den Entscheidungen verlangte und sich damit selbst blockierte. Stattdessen gelten in der TCG qualifizierte Mehrheiten.

In der TCG gibt es drei Gruppen von Mitgliedern. Die Einordnung in eine der Gruppen bringt neben den unterschiedlichen Mitgliedsbeiträgen auch unterschiedliche Rechte mit sich:

* Die „Adopters“ (8.250 US-Dollar Beitrag pro Jahr) bekommen Zugriff auf die Spezifikationsentwürfe und auf andere nicht öffentliche Informationsquellen, allerdings besitzen sie keine Stimmrechte. Für Unternehmen mit weniger als 100 Mitarbeitern ermäßigt sich der Mitgliedsbeitrag auf 1.000 US-Dollar pro Jahr.
* Mitglieder der „Contributors“ (16.500 US-Dollar Beitrag pro Jahr) dürfen darüber hinaus an den Arbeitsgruppen, die neue Spezifikationen entwickeln, mitwirken. Außerdem wählen sie zwei Vertreter aus ihrer Mitte, die diese Gruppe im Vorstand („Board of Directors“) vertreten, wo sie aktiv an Entscheidungen beteiligt werden.
* Die exklusive Gruppe der „Promoters“ (55.000 US-Dollar Beitrag pro Jahr) verfügt über feste Sitze im Vorstand und in den Work Groups und entscheidet über die Aufnahme/Berufung neuer Firmen in diese Gruppe. Mitglieder sind AMD, Hewlett-Packard, IBM, Infineon (seit kurzem und als einzige europäische Firma), Intel, Lenovo, Microsoft und Sun.

Die Leitungsgruppe, das „Bord of Directors“ besteht aus der Gruppe der Promoter sowie zwei von den Contributor-Mitgliedern gewählten Unternehmen, derzeit Wave Systems und Seagate.

Darüber hinaus wurden in den letzten Jahren weitere Mitgliedsformen etabliert, um auch dem wissenschaftlichen Sektor einen kostenfreien Zugang zur Technologie zu ermöglichen. Als Ergebnis dieser Überlegungen wurde ein sogenanntes „Liaison Program“ eingeführt, das interessierten, qualifizierten Organisationen wie z. B. Universitäten eine kostenlose Mitgliedschaft, allerdings ohne Stimmrecht, ermöglicht.

Die TCG hat auch ein unabhängig besetztes „TCG Advisory Council“ eingerichtet. Daneben gibt es noch ein Mentor-Programm, in dem Universitäten durch qualifizierte TCG-Mitglieder beraten und informiert werden.

Die Arbeit in der TCG wird in den einzelnen Workgroups geleistet, deren Aktivitäten das gesamte Gebiet der Computerplattformen abdecken. Die TCG hat derzeit etwa 120 Mitglieder.

## Details der Spezifikation

### Übersicht über die Spezifikationen

Die erste wichtige Spezifikation wurde im Juli 2001 von der TCPA vorgestellt. Die Arbeit ist seitdem fortgeschritten: es gibt derzeit insgesamt 40 verabschiedete und veröffentlichte einzelne Spezifikationen und Whitepapers, weitere Dokumente befinden sich in Arbeit. Der Gesamtumfang liegt bei über 1200 Seiten.

Die Spezifikationen sind in Gruppen geordnet:

* Best Practices and Principles
* Trusted Platform Module (TPM) Specifications, das Sicherheits-Kernelement für Trusted Platforms
* TPM Software Stack (TSS) Specifications, der Treiber und API-Stack zum TPM
* PC Client Specifications
* Infrastructure Specifications
* Server Specifications für vertrauenswürdige Computer-Server
* Trusted Network Connect (TNC) Specifications, eine Erweiterung bisheriger Sicherheits-Kommunikations-Protokolle, die auch Informationen über eingesetzte Sicherheitsrichtlinien und Plattform-Zustände enthält.

Zurzeit wird bei der Spezifikationsarbeit vor allen Dingen im Bereich Mobile Kommunikation gearbeitet.

### Hauptkomponenten der TCG Spezifikation

Die Grundlage für die TCG-Spezifikationen einer Trusted-Computing-Plattform sind zwei Sicherheits-Erweiterungen von Standard-Computer-Plattformen: das Trusted Platform Module und das Core Root of Trust Measurement.

**Trusted Platform Module (TPM)**

Das TPM ist ein zusätzlicher Computer-Sicherheits-Chip (vergleichbar einem sicheren Chipkarten-Chip) auf der Hauptplatine z. B. eines PCs, der die elementaren Computersicherheitsmechanismen bereitstellt:

Der TPM-Chip erzeugt und speichert die kryptographischen Schlüssel und Zertifikate, signiert Datenobjekte und verifiziert deren Signatur, und bietet weitere Unterstützungsfunktionen wie monotone Zähler, Lokalitätsfunktion und Backup- sowie Migrations-Funktionen für das Schlüsselmaterial.

Der TPM ist ein passives Element, das vom Host-System beauftragt werden muss, um Daten sicher abzuspeichern oder die genannten Funktionen durchzuführen. Er kann nicht den Programmablauf unterbrechen oder den Hauptprozessor anhalten. Die Nutzung der genannten TPM-Funktionen muss durch ein geeignetes Trusted-Betriebssystem und die entsprechende Applikations-Software erfolgen.

Die Spezifikationen sehen vor, dass der TPM auf Aufforderung der Nutzer über eine BIOS- oder UEFI-Funktion jederzeit aus- bzw. eingeschaltet und auch im aktiven Betrieb vom Nutzer deaktiviert werden kann.

**Core Root of Trust for Measurement (CRTM)**

Eine BIOS-Erweiterung namens Core Root of Trust for Measurement (CRTM) stellt die erste Stufe eines sicheren Bootprozesses dar. Beginnend mit dem CRTM wird dabei jeweils die Integrität des jeweils folgenden Codeabschnitts mit einer Hashfunktion gemessen und der Messwert dann sicher und digital signiert im TPM abgelegt. Dies erfolgt hierarchisch, beginnend beim CRTM im BIOS, und setzt sich dann Schritt für Schritt zu den höheren Systemschichten hin fort: Restliches BIOS, Bootroutine, Betriebssystem-Lader, Kernel, Gerätetreiber bis zu den Anwendungsprogrammen. Damit kann nach dem Bootvorgang von den Anwendungsprogrammen oder aber auch von einem externen Server überprüft werden, ob der Bootvorgang sicher abgelaufen ist, kein Bootvirus oder dergleichen vorhanden ist und ob das Betriebssystem korrekt gestartet wurde.

Wichtig ist dabei, dass diese Funktionen nicht im TPM, sondern im Lader bzw. Betriebssystem enthalten sind: diese benutzen für diese Funktionen wiederum die Fähigkeiten des TPM. Für jedes Betriebssystem muss diese Funktion individuell erstellt werden und im Bootteil des Betriebssystems implementiert werden.

## Verfügbare Hardware

Trusted Platform Module (TPM) werden mittlerweile in diskreter oder integrierter Form von Atmel, Broadcom, Infineon, Sinosun, STMicroelectronics und Winbond angeboten.

IBM-Notebooks werden bereits seit Anfang 2003 mit TPM-Chips ausgeliefert. Im Dezember 2003 stellte Intel die erste Hauptplatine (D865GRH) mit TPM vor. Mittlerweile sind nach dem TCG-Standard ausgestattete Computer von den meisten Herstellern verfügbar.

Mit Intels "Platform Trust Technology" (ptt) ist eine diskrete TPM nicht mehr zwingend notwendig und wird dessen Aufgaben vom CPU übernommen.

## Kritik

Die bei der digitalen Signatur der TCG verwendete Hashberechnung SHA-1 gilt mittlerweile unter bestimmten Bedingungen als theoretisch angreifbar. Kritiker bemängeln, dass die TCG-Spezifikationen deswegen in Zukunft sicherheitstechnisch anfällig werden könnten und den eigentlichen Sinn einer sicheren Plattform nicht mehr erfüllen können. Bei den dabei angesprochenen theoretischen Schwachstellen handelt es sich aber um Kollisionsangriffe, während für ein TPM ein Preimage-Angriff erforderlich wäre, der praktisch unmöglich ist.

Es gibt bisher kein Compliance-Programm, mit dem überprüft werden kann, ob die jeweilige Implementierung der TCG-Spezifikation (sowohl der TPM-Hardware als auch von SW-Modulen) verschiedener Anbieter der Spezifikation entspricht. Bei anderen Technologien (z. B. USB) eingeführte und erprobte Möglichkeiten wären z. B. Third-Party Evaluierung oder Selbst-Evaluierung mit offiziellen Testvektorsätzen. Es fehlt damit für den potenziellen Nutzer eine einfache Möglichkeit (es sei denn man testet selbst) zu erfahren, ob denn in einem Produkt gemäß TCG-Spezifikation auch TCG enthalten ist (z. B. Güte-Zertifikat aufgrund definierter Regeln und Überwachung dieses Prozesses). Im Frühjahr 2006 arbeitete die TCG aber intensiv an einem Compliance-Programm und hatte bereits einen ersten Entwurf für ein solches Programm öffentlich bereitgestellt.

Die lange Anfangsphase der Bildung der Spezifikationen, die erst nach intensiven, internen Diskussionen verabschiedet und veröffentlicht wurden, hat zu einer großen Misstrauensbildung in der Öffentlichkeit geführt. Hier wurde es versäumt, durch frühzeitige, leichtverständliche und einfache Zusammenfassungen die Öffentlichkeit aufzuklären und Fachredakteuren bei der Erstellung von qualitativen Artikeln zu helfen. Da die verabschiedeten und veröffentlichten Spezifikationen mehr als 1200 Seiten Umfang erreicht haben, ist man, um einen Überblick zu erhalten, letzten Endes auf entsprechende externe Literatur angewiesen.

