hwr-notes/IT-Sicherheit/Zusammenfassungen/itsec6-11 - zusammenfassung.md
2026-04-09 11:24:56 +02:00

50 KiB
Raw Permalink Blame History

IT-Sicherheit Ausführliche Zusammenfassung (Vorlesungen 59)


1. Hardware-Sicherheitsmodule (HSM)

1.1 Grundidee

Ein Hardware-Sicherheitsmodul ist ein physisch geschützter Bereich (typischerweise ein Chip oder ein eigenständiges Gerät), dessen Aufgabe es ist, sicherheitsrelevante Informationen vor dem Auslesen und vor Manipulation zu schützen. Der entscheidende Vorteil gegenüber reiner Software: Die geheimen Daten verlassen die Hardware nie. Alle kryptographischen Operationen finden direkt innerhalb des Moduls statt.

Zu den sicherheitsrelevanten Informationen gehören drei Kategorien:

  • Geheime Schlüssel für Verschlüsselung, Authentisierung und digitale Signaturen
  • Programme die weder kopiert noch modifiziert werden dürfen
  • Daten etwa Transaktionsdaten, die einen monetären oder rechtlichen Wert repräsentieren

In der Vorlesung werden drei Klassen von HSMs behandelt, die sich in Einsatzzweck, Sicherheitsniveau und Kosten unterscheiden: Smartcards, TPM und HLSM.


1.2 Smartcards

Aufbau

Eine Smartcard ist ein vollständiges IT-System im Format einer EC-Karte (86 × 54 × 0,76 mm). Trotz dieser winzigen Abmessungen enthält sie alle wesentlichen Komponenten eines Computers:

  • CPU führt Berechnungen und kryptographische Operationen aus
  • RAM und ROM flüchtiger Arbeitsspeicher bzw. permanenter Speicher mit dem Betriebssystem
  • EEPROM/Flash hier werden die geheimen Schlüssel (z. B. ein privater RSA-Schlüssel), Passwörter und persönliche Daten dauerhaft und sicher gespeichert
  • I/O-Schnittstelle die gesamte Kommunikation mit der Außenwelt läuft über einen einzigen Kanal (Kontaktflächen oder kontaktloses Interface)
  • Krypto-Prozessor ein optionaler, auf kryptographische Berechnungen spezialisierter Co-Prozessor

Sicherheitsdienste

Smartcards bieten dem Nutzer eine breite Palette an Sicherheitsdienstleistungen:

  • Laden und Entladen von Werteinheiten für elektronisches Bezahlen
  • Kryptographische Anwendungen wie das Erstellen digitaler Signaturen
  • Identifikation und Authentisierung des Nutzers (Aktivierung der Karte per PIN)
  • Single-Sign-On-Anwendungen, bei denen die Karte Passwörter und PINs für verschiedene Dienste verwaltet
  • Sicheres Speichern von Daten direkt auf der Karte
  • Lesen von gespeicherten Servicedaten und Ausführung sonstiger Rechenoperationen

Hardware-Sicherheitsmechanismen

Die physische Sicherheit einer Smartcard wird durch eine Reihe von Hardware-Maßnahmen gewährleistet:

  • Unter- und Überspannungsdetektion erkennt Versuche, den Chip durch manipulierte Stromversorgung in undefinierten Zuständen zu bringen
  • Erkennung niedriger Frequenzen verhindert, dass der Chip absichtlich langsam getaktet wird, um einzelne Operationen beobachtbar zu machen
  • Gescramblete Busse die internen Datenleitungen sind verwürfelt, so dass ein Angreifer selbst bei physischem Zugriff keine sinnvollen Daten auslesen kann
  • Sensoren für Licht, Temperatur und andere Umgebungsparameter erkennen, wenn jemand den Chip aufdeckt oder unter extremen Bedingungen betreibt
  • Passivierungs- und Metallisierungsschichten über Bus- und Speicherstrukturen oder der gesamten CPU physische Schutzschichten, die Mikroskopie und Probing erschweren
  • Hardware-Zufallszahlengenerator erzeugt echte Zufallszahlen statt nur pseudozufälliger Werte
  • Spezielle CPU-Befehle für kryptographische Funktionen und Speicherschutzfunktionen

Software-Sicherheitsmechanismen

Auf der Softwareseite kommen hinzu:

  • Zugriffskontrolle auf gespeicherte Objekte
  • Zustandsautomaten, die in Abhängigkeit von vorheriger Identifikation und Authentisierung bestimmte Befehle zulassen oder blockieren

Sicherheitsprinzip und Vorteile

Die Sicherheit einer Smartcard beruht auf dem Zwei-Faktor-Prinzip: Wissen (die PIN) und Besitz (die physische Karte). Geheime Schlüssel verlassen die Karte niemals alle geheimen Operationen finden direkt auf dem Chip statt. Das bedeutet: Ein Schlüssel kann benutzt werden, ohne ihn jemals zu kennen. Die Daten sind manipulationssicher in der Karte gespeichert. Der geschätzte Aufwand für einen erfolgreichen Angriff liegt bei etwa 1 Million Euro.

Biometrische Smartcard

Eine Erweiterung ist die biometrische Smartcard, die zusätzlich einen MatchOnCard-Algorithmus im Betriebssystem enthält. Auf dem EEPROM sind neben den RSA-Schlüsseln und Zertifikaten auch bis zu vier Fingerabdrücke gespeichert. Der biometrische Vergleich findet vollständig auf der Karte statt die Fingerabdruckdaten verlassen sie nie.

Alternative: YubiKey

Als kompaktere Alternative zu klassischen Smartcards bietet Yubico USB-Sicherheitstoken mit FIPS-Zertifizierung, manipulationssicherem Gehäuse, Hardware-basierter Zwei-Faktor-Authentifizierung und AES-Verschlüsselung. Die Programmierung eigener Schlüssel ist dabei bewusst einfach gehalten.


1.3 Trusted Platform Module (TPM)

Idee

Ein TPM ist ein kleines, kostengünstiges (unter 1 €!) Sicherheitsmodul, das in nahezu jedes Rechnersystem integriert werden kann PCs, Notebooks, Smartphones, Drucker, Router und sogar IoT-Geräte wie Kühlschränke. Das Sicherheitsniveau gleicht dem einer Smartcard, allerdings ist ein TPM fest in die Plattform eingebaut und nicht tragbar.

Organisation

Das TPM wird durch die Trusted Computing Group (TCG) gesteuert, deren Hauptmitglieder Microsoft, Intel, HP, IBM, AMD, Sony, Oracle, Infineon, Utimaco und Lenovo sind. Die TCG definiert einheitliche Standards für die TPM-Software, auf deren Basis die einzelnen Unternehmen dann ihre eigenen Lösungen entwickeln. Microsofts Implementierung heißt beispielsweise Next Generation Secure Computing Base (NGSCB).

Sicherheitsfunktionen

Die beiden zentralen Sicherheitsmechanismen eines TPM sind:

  • Sealing Daten werden so verschlüsselt, dass sie nur entschlüsselt werden können, wenn sich das System in einem bestimmten, vordefinierten Zustand befindet (mehr dazu im Abschnitt Trusted Computing)
  • Attestation das TPM kann gegenüber einem Prüfer authentisch bestätigen, in welchem Zustand sich die Plattform befindet

Vorteile und Nachteile

Vorteile: Sehr hohe Sicherheit bei minimalen Kosten, Smartcard-vergleichbares Sicherheitsniveau, einfaches Sicherheitsmanagement durch Einbindung in bestehende PKI-Infrastrukturen, und in den meisten Fällen Microsoft-Readiness.

Nachteile: Die TCG arbeitet teilweise intransparent, und physikalische Backdoors in der Hardware sind theoretisch möglich.


1.4 High-Level Security Module (HLSM)

Ziele

HLSMs sind für Szenarien gedacht, in denen besonders sichere und wertvolle Informationen geschützt werden müssen (z. B. Master-Keys) und gleichzeitig sehr hohe Performance-Anforderungen bestehen. Ein zentrales Designprinzip: Wenn ein Angriff vom Sicherheitsmodul erkannt wird, werden die sicherheitsrelevanten Informationen sofort aktiv gelöscht der Angreifer bekommt unter keinen Umständen Zugriff.

Potentielle Angriffe

HLSMs müssen gegen eine Vielzahl physischer Angriffe geschützt sein: Durchleuchten (z. B. Röntgen), Temperaturangriffe (Einfrieren oder Erhitzen), mechanische Attacken (Aufbohren, Aufschleifen), chemische Attacken (Ätzen von Schutzschichten) und Manipulationen über die Spannungsversorgung.

Anforderungen

Neben den Sicherheitsanforderungen müssen HLSMs auch hohe Performance, Skalierbarkeit und Verfügbarkeit bieten. Sie benötigen flexible Schnittstellen zu Host-Systemen (physikalisch über TCP/IP mit 100 Mbit, 1 Gbit oder FDDI; logisch durch Support bestehender Schnittstellen). Weitere Anforderungen sind die Möglichkeit zur Umstellung auf neue kryptographische Verfahren, der Übergang der kryptographischen Hoheit an den Betreiber und eine möglichst vertrauenswürdige Basis (wenige Lines of Code).

Anwendungen

Der geschätzte Aufwand für einen erfolgreichen Angriff auf ein HLSM liegt bei etwa 5 Millionen Euro. Typische Einsatzgebiete sind:

  • PKI: Schlüsselgenerierung gemäß Signaturgesetz
  • Banken: Autorisierungsstationen für Geldfreigabe, Sicherheit für Netzbetreiber (EC-Systeme, Mineralölunternehmen)
  • Industrie: Schlüsselgenerierung für Auto-Schlüssel, Maut-Systeme, Authentifikation im Mobilfunknetz, digitale Signatur zentraler Geschäftsprozesse

1.5 Rahmenbedingungen

Evaluierung und Zertifizierung

Die Sicherheit von HSMs muss durch unabhängige, qualifizierte Organisationen nachgewiesen werden. Relevante Standards sind FIPS 140-1, FIPS 140-2 und das CC-Schutzprofil CWA 14167-2. Typische Prüffragen betreffen z. B. die Gütekriterien eines Zufallszahlengenerators (Streuung, Periodizität, Gleichverteilung) oder die sichere Implementierung von Sicherheitsprotokollen.

Key-Management

Generelle Anforderungen: Niemand darf direkten Zugriff auf geheime Schlüssel haben. Die Nutzung kryptographischer Funktionen und die Definition oder Änderung von Funktionalitäten darf nur nach Autorisierung erfolgen.

Für TPMs geschieht die Personalisierung durch einen einzigartigen Endorsement Key (EK), der durch eine öffentliche PKI verwaltet und signiert wird. Für HLSMs gilt das Vier-Augen-Prinzip: Kritische Tätigkeiten dürfen nicht von einer einzelnen Person durchgeführt werden. Schlüssel werden stets unter Aufsicht zweier autorisierter Personen eingegeben.


1.6 Zusammenfassung und Einordnung

Eigenschaft Smartcard TPM HLSM
Einsatz Personen Kleine Rechner Große Systeme
Kosten Gering Unter 1 € Hoch
Angriffskosten ~1 Mio. € ≈ Smartcard ~5 Mio. €
Mobilität Tragbar Fest eingebaut Stationär
Performance Gering Gering Hoch

2. OpenSSL

2.1 Was ist OpenSSL?

OpenSSL ist eine robuste, vollständige und universelle Open-Source-Bibliothek für Kryptographie und sichere Kommunikation. Sie bietet sowohl eine Command-Line-Anwendung als auch Programmbibliotheken für die Integration in eigene Software. Ab Version 3.6 steht OpenSSL unter der Apache v2 License.

OpenSSL deckt drei Hauptbereiche ab:

  • Kryptographische Funktionen (Hashing, Verschlüsselung, Signierung)
  • Generierung von Schlüsseln und Zertifikaten
  • Sichere Kommunikation via TLS/SSL

2.2 Praktische Nutzung auf der Kommandozeile

Hashing mit SHA-256

openssl dgst -sha256 name.txt

Erzeugt den SHA-256-Hashwert einer Datei. Die Ausgabe ist ein 256-Bit-Wert als Hexadezimalstring, z. B. 99671587e0856ec3a860....

Symmetrische Verschlüsselung mit AES-256

Verschlüsseln:

openssl enc -e -aes256 -in name.txt -out name.aes

Entschlüsseln:

openssl enc -d -aes256 -out name2.txt -in name.aes

OpenSSL unterstützt eine Vielzahl symmetrischer Verfahren, die mit openssl enc -ciphers aufgelistet werden können darunter AES-128/192/256 in den Modi CBC, CFB, CTR, ECB und OFB.


3. TLS/SSL Transport Layer Security / Secure Socket Layer

3.1 Einleitung und Motivation

Da das Internet ein offenes Netz ist und die Angriffsmöglichkeiten sowie Angriffswahrscheinlichkeiten sehr groß sind, ist die Nutzung einer verschlüsselten und integritätsgesicherten Kommunikation zwischen Client und Server von besonderer Bedeutung. Passwörter, Kreditkartendaten und andere sensible Informationen werden ständig über das Internet übertragen ohne TLS/SSL wären sie für jeden Angreifer lesbar.

TLS/SSL ist ein anwendungsunabhängiges Sicherheitsprotokoll, das logisch auf einem Transportprotokoll (TCP) aufsetzt. Es bündelt drei zentrale Sicherheitsdienste:

  1. Authentifikation von Server und Client unter Verwendung asymmetrischer Verschlüsselung und elektronischer Zertifikate
  2. Vertraulichkeit durch symmetrische Ende-zu-Ende-Verschlüsselung mit einem gemeinsamen Sitzungsschlüssel
  3. Integrität und Authentizität der transportierten Daten unter Verwendung des HMAC-Verfahrens

Zusätzlich bietet TLS/SSL optional die Komprimierung der Daten an.

Geschichte

Die Idee stammte von Netscape; die erste Version von SSL wurde 1994 veröffentlicht. 1999 übernahm die IETF den Standard und benannte ihn in Transport Layer Security (TLS) um. Da TLS/SSL in allen wichtigen Internet-Technologien (Browser, Web-Server, E-Mail-Server) eingebunden ist, ist es der De-facto-Standard für Transportverschlüsselung.


3.2 Architektur und Protokolle

Einordnung im Schichtenmodell

TLS/SSL befindet sich zwischen der Transport- und der Anwendungsschicht. Es übernimmt zusätzlich die Aufgaben der Sitzungs- und Präsentationsschicht (Schichten 5 und 6 des ISO/OSI-Modells). Ein wesentlicher Vorteil: Zustandsinformationen können über einen längeren Zeitraum und über verschiedene Einzelverbindungen hinweg gespeichert werden. Für das zustandslose HTTP-Protokoll bedeutet das, dass mehrere TCP-Verbindungen zu einer TLS/SSL-Sitzung gebündelt werden können.

TLS/SSL kann eine Vielzahl höherer Anwendungsprotokolle unterstützen HTTP, SMTP, SIP, IMAP, FTP, Telnet und weitere. Der Client entscheidet durch die Wahl des Ports, ob die Kommunikation gesichert sein soll oder nicht.

Port-Zuordnungen

Protokoll Standard-Port TLS/SSL-Port
HTTP 80 443
SMTP 25 465
IMAP 143 993
SIP 5060 5061
FTP 20, 21 989, 990
Telnet 23 992

Aufbau der TLS/SSL-Schicht

Die TLS/SSL-Schicht besteht aus zwei Teilschichten:

  1. Höhere Schicht mit vier TLS/SSL-Teilprotokollen: ChangeCipherSpec (CCS), Alert, Handshake und Application Data
  2. Record-Schicht mit dem Record Layer Protokoll

Die Protokolle sind erweiterbar und flexibel gestaltet, um Zukunftssicherheit bei den Verschlüsselungsalgorithmen zu gewährleisten. TLS/SSL arbeitet transparent es kann jedes Anwendungsprotokoll absichern, das keine eigenen Sicherheitsmechanismen mitbringt.


3.3 Record Layer Protokoll

Aufgaben

Das Record Layer Protokoll ist das Arbeitspferd von TLS/SSL. Es nimmt die Klartext-Anwendungsdaten aus der Anwendungsschicht entgegen und leitet sie verschlüsselt an die Transportschicht weiter. Es bietet zwei Sicherheitsdienste, die zusammen oder einzeln genutzt werden können: Client-to-Server-Verschlüsselung und Sicherung der Nachrichten-Integrität und -Authentizität.

Verarbeitungsschritte

Die Record-Schicht führt folgende Schritte aus:

  1. Fragmentierung der Klartext-Anwendungsdaten in Records mit maximal 2¹⁴ Byte (16.384 Byte)
  2. Kompression der Fragmente (optional, Verfahren wird beim Handshake ausgehandelt)
  3. HMAC-Berechnung über die (komprimierten) Fragmente plus Sequenznummer
  4. Verschlüsselung des komprimierten Fragments zusammen mit dem HMAC
  5. Record-Bildung durch Voranstellen des Record-Headers

Record-Header

Der Record-Header ist 5 Byte groß und enthält:

  • Type (1 Byte): Nummer des höheren TLS/SSL-Protokolls (20 = CCS, 21 = Alert, 22 = Handshake, 23 = Application Data)
  • Version Major (1 Byte): Hauptversionsnummer
  • Version Minor (1 Byte): Unterversionsnummer
  • Length (2 Byte): Länge der Nutzdaten (maximal 2¹⁴ + 2.048 Byte)

Wichtig: Der gesamte Record-Layer-Header ist ungeschützt und somit für jeden Mitleser sichtbar. Nur die Nutzdaten sind verschlüsselt.

HMAC-Berechnung

Die HMAC-Berechnung bezieht bewusst nicht nur die Daten, sondern auch Metainformationen ein:

HMAC = KH(HMAC-Key, SeqNum || Compressed.type || Compressed.version || 
           Compressed.length || Compressed.fragment)

Durch die Einbeziehung der Sequenznummer wird Replay-Schutz erreicht, durch Type und Version wird sichergestellt, dass ein Angreifer den Record-Typ nicht unbemerkt ändern kann.


3.4 Die vier Teilprotokolle

Application Data Protokoll

Dieses Protokoll reicht die eigentlichen Anwendungsdaten transparent also ohne Betrachtung des Inhalts durch. Die Daten werden gemäß den im Handshake ausgehandelten Sicherheitsparametern fragmentiert, komprimiert, gegen Verfälschung geschützt und verschlüsselt.

ChangeCipherSpec (CCS) Protokoll

Dieses minimale Protokoll wird bei Änderung des kryptographischen Algorithmus oder der Parameter genutzt. Es enthält nur eine einzige Meldung: ein Byte mit dem Wert 1. CCS bewirkt, dass der Empfänger die während des Handshakes ausgehandelten Parameter für die aktive Sitzung übernimmt.

Alert Protokoll

Das Alert-Protokoll dient der Signalisierung von Problemen wie Fehlern oder Verbindungsabbrüchen. Eine Alert-Nachricht besteht aus nur 2 Byte: dem Sicherheitslevel und dem Fehlercode.

Das erste Byte kann zwei Werte annehmen:

  • warning (1) die Verbindung kann fortgesetzt werden
  • fatal (2) TLS/SSL beendet die Verbindung sofort

Fatale Alerts umfassen unter anderem: falscher HMAC (bad_record_mac), Record zu groß (record_overflow), Handshake-Fehler (handshake_failure), unbekannte CA (unknown_ca), Zugriff verweigert (access_denied), Protokollversion nicht unterstützt (protocol_version) und unzureichende Sicherheit (insufficient_security).

Warnungs-Alerts betreffen typischerweise Zertifikatsprobleme: ungültiges Zertifikat (bad_certificate), gesperrtes Zertifikat (certificate_revoked), abgelaufenes Zertifikat (certificate_expired) und weitere.

Handshake Protokoll

Das Handshake-Protokoll ist das komplexeste der vier Teilprotokolle. Es ermöglicht den Aufbau einer TLS/SSL-Verbindung, indem es die Kommunikationspartner identifiziert und authentifiziert, kryptographische Algorithmen, Schlüssel und Parameter aushandelt und den Austausch geheimer Informationen durchführt.

Eine Handshake-Nachricht besteht aus: Type (1 Byte), Length (3 Byte) und Content (variabel).


3.5 Sitzungs- und Verbindungskonzepte

TLS/SSL ist ein zustandsbehaftetes Protokoll mit zwei wichtigen Konzepten: Sessions und Connections.

Session

Eine TLS/SSL-Session ist eine "Security Association" zwischen Client und Server. Sie wird über das Handshake-Protokoll aufgebaut und definiert eine Menge kryptographischer Sicherheitsparameter, die über mehrere Verbindungen hinweg genutzt werden können. Der Sinn: Es muss nicht jedes Mal eine neue, zeitaufwendige Verhandlung der Sicherheitsparameter stattfinden.

Session-Zustände umfassen:

  • Session-Identifier: Zufällige Bytesequenz vom Server zur Identifikation der Session
  • Peer-Certificate: X.509v3-Zertifikat des Clients (falls vorhanden)
  • Compression-Method: Vereinbarter Kompressionsalgorithmus
  • Cipher-Spec: Verschlüsselungsalgorithmus, Hash-Funktion für HMAC und weitere Attribute
  • Master-Secret: 48 Byte, aus denen Client und Server die geheimen Schlüssel ableiten
  • Is-Resumable: Flag, das anzeigt, ob die Session wiederverwendet werden kann

Connection

Eine TLS/SSL-Connection ist ein logischer, temporärer Transportkanal zwischen Client und Server. Sie ist immer mit einer Session assoziiert, und aus einer Session können mehrere Connections parallel aufgebaut werden.

Connection-Zustände umfassen unter anderem:

  • Server-/Client-Random: Zufallszahlen, die für jede Verbindung neu erzeugt werden
  • Server-/Client-Write-MAC-Secret: Geheime Schlüssel für HMAC-Operationen in jeder Richtung
  • Server-/Client-Write-Key: Symmetrische Schlüssel für Ver- und Entschlüsselung in jeder Richtung
  • Initialization Vectors: Für Modi wie CBC, die einen IV benötigen
  • Sequence Numbers: Für gesendete und empfangene Daten jeder Verbindung; werden bei CCS auf Null zurückgesetzt

Entscheidend: Die Schlüssel gelten jeweils nur für eine Verbindung, aber die Verfahren werden pro Session ausgehandelt. Bei Wiederverwendung einer bestehenden Session entfällt die Neuverhandlung.


3.6 Protokollablauf: Der Handshake im Detail

Der Protokollablauf erfolgt in zwei Schritten: dem Verbindungsaufbau (vier Phasen) und dem Transfer-Mode.

Phase 0: HelloRequest

Der Server kann jederzeit ein HelloRequest an den Client senden, um ihn zu einem neuen ClientHello zu veranlassen. Diese Nachricht hat keine Parameter. Der Client antwortet nur, wenn er sich nicht bereits in einem Handshake befindet. Erhält der Server keine Antwort, kann er die Verbindung schließen.

Phase 1: Aushandlung der Sicherheitsparameter

ClientHello: Der Client startet den Verbindungsaufbau. Diese Klartextnachricht enthält:

  • Random Client (RC): 4 Byte Zeitstempel + 28 Byte Zufallszahl
  • Sitzungs-ID: Falls eine bestehende Sitzung wiederaufgenommen werden soll
  • Prioritätenliste der Cipher Suites: Alle Kryptographie- und Kompressionsverfahren, die der Client unterstützt

Der Client sollte nur Verfahren und Schlüssellängen anbieten, die sein gewünschtes Sicherheitsniveau erfüllen.

ServerHello: Der Server antwortet mit den gleichen Parametertypen:

  • Random Server (RS): 4 Byte Zeitstempel + 28 Byte Zufallszahl
  • Die vom Server ausgewählte Cipher Suite, die nachfolgend verwendet wird
  • Die Sitzungs-ID: Übernimmt der Server die vom Client vorgeschlagene ID, kann die Sitzung später wieder aufgenommen werden. Gibt er keine an, ist die Sitzung nicht wiederherstellbar.

Cipher Suites

Eine Cipher Suite ist eine Kombination aus drei Komponenten:

  1. Schlüsselaustauschverfahren (z. B. DHE_RSA)
  2. Verschlüsselungsalgorithmus mit Schlüssellänge und Mode of Operation (z. B. AES_256_GCM)
  3. Hash-Funktion für den HMAC (z. B. SHA384)

Beispiel: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 bedeutet: Schlüsselaustausch über Elliptic-Curve Diffie-Hellman Ephemeral mit RSA-Signatur, Verschlüsselung mit AES-128 im GCM-Modus, HMAC mit SHA-256.

Phase 2: Serverauthentifizierung und Schlüsselaustausch

  • Certificate (11): Der Server sendet sein X.509v3-Zertifikat, das für eine Domäne von einer Zertifizierungsinstanz ausgestellt wurde. Das Zertifikat muss zur gewählten Cipher Suite passen.
  • ServerKeyExchange (12): Wird nur gesendet, wenn der Server kein Zertifikat mit festen DH-Parametern oder RSA-Schlüssel besitzt. Enthält einen temporären öffentlichen Schlüssel.
  • CertificateRequest (13): Optional der Server fordert eine Client-Authentifikation per Zertifikat an.
  • ServerHelloDone (14): Signalisiert dem Client das Ende von Phase 2. Diese Nachricht ist nötig, weil die vorherigen drei Nachrichten optional sind.

Phase 3: Clientauthentifizierung und Schlüsselaustausch

  • Certificate (11): Wurde ein CertificateRequest gesendet, muss der Client nun sein Zertifikat übermitteln.
  • ClientKeyExchange (16): Der Client prüft zunächst die Gültigkeit des Server-Zertifikats. Dann übermittelt er das Pre-Master-Secret (48 Byte): Bei RSA verschlüsselt der Client es mit dem öffentlichen Schlüssel des Servers. Bei Diffie-Hellman sendet er seinen öffentlichen DH-Schlüssel, und beide Seiten berechnen das Pre-Master-Secret dezentral.
  • CertificateVerify (15): Der Client beweist, dass er den zum Zertifikat gehörigen geheimen Schlüssel besitzt, indem er einen Hashwert über alle bisherigen Handshake-Nachrichten berechnet und mit seinem privaten Schlüssel signiert. Der Server verifiziert diese Signatur.

Master Secret und Schlüsselerzeugung

Das Pre-Master-Secret und die ausgetauschten Zufallszahlen werden verwendet, um das 48 Byte große Master-Secret zu berechnen:

Master-Secret = KH(Pre-Master-Secret, ClientHello.random || ServerHello.random)

Aus dem Master-Secret werden dann alle benötigten Schlüssel (Session Keys, HMAC-Schlüssel, IVs) abgeleitet:

Key-Block = KH(Master-Secret, ServerHello.random || ClientHello.random)

Der Key-Block wird so lange generiert, bis alle Schlüssel daraus konstruiert sind. Beide Seiten (Client und Server) führen diese Berechnung unabhängig voneinander durch und kommen zum gleichen Ergebnis.

Phase 4: Beendigung des Handshakes

Client und Server senden jeweils eine ChangeCipherSpec-Nachricht, die signalisiert, dass ab jetzt die ausgehandelten Verfahren und Parameter genutzt werden. Darauf folgt die Finished (20)-Nachricht, die bestätigt, dass der jeweilige Teil des Verbindungsaufbaus abgeschlossen ist. Die Finished-Nachricht ist die erste Nachricht, die bereits mit den neuen Sicherheitsparametern verschlüsselt und integritätsgesichert wird.


3.7 Domänen-Zertifikate

Domänen-Zertifikate ordnen einen öffentlichen Schlüssel eindeutig einer Organisation (Domäne) zu. Die Zertifizierungsstelle signiert das Zertifikat und verbürgt sich dafür, dass die Organisation, die den passenden geheimen Schlüssel besitzt, auch tatsächlich existiert.

Vertrauensstufen

Es gibt drei Stufen der Überprüfung:

  • Domain Validated (DV): Die einfachste Stufe. Die Zertifizierungsstelle bestätigt lediglich, dass der Antragsteller die administrative Kontrolle über die Domain nachweisen kann. Das Zertifikat enthält keinerlei Unternehmensinformationen.
  • Organization Validated (OV): Enthält verifizierte Unternehmensinformationen, die aber nur in den Zertifikatdetails sichtbar sind.
  • Extended Validation (EV): Die strengste Stufe. Der Unternehmensname wird prominent in der grünen Adresszeile des Browsers angezeigt. Unternehmen müssen die strengsten Anforderungen erfüllen.

Root-Zertifikate

Das Root-Zertifikat ist das oberste Zertifikat im Verzeichnisbaum. Browser haben die Root-Zertifikate der wichtigsten Zertifizierungsstellen vorinstalliert. Ist ein Root-Zertifikat dem Browser unbekannt, erhält der Nutzer einen Warnhinweis mit der Möglichkeit, dem Zertifikat einmalig oder dauerhaft zu vertrauen.

Bewertung der Authentikationsqualität

Die Qualität hängt ab von: der Vertrauenswürdigkeit der Zertifizierungsinstanz, dem Level der Identitätsprüfung und der Bereitstellung einer Certificate Revocation List (CRL). Die Zertifikatsklassen reichen von Klasse 1 (nur Name und E-Mail nötig) über Klasse 2 (Kopie des Ausweises) bis zu höheren Klassen (persönliche Authentisierung bei einer Registration Authority).


3.8 Authentifikationsmethoden

TLS/SSL unterscheidet drei Verbindungsarten:

1. Server und Client ohne Authentifizierung: Weder Server noch Client weisen sich per Zertifikat aus. Diese Variante ist nicht sicher gegen Man-in-the-Middle-Angriffe und sollte vermieden werden.

2. Server authentifiziert, Client anonym (gängigste Art): Der Server übermittelt sein Zertifikat. Der Client kann nach Verifikation sicher sein, dass die Verbindung zum echten Server besteht. Ein MITM-Angreifer kann sich nicht als falscher Server ausgeben. Dies ist das Standardverfahren beim Aufruf von HTTPS-Webseiten.

Ablauf im Detail:

  1. Client wählt Internetseite an
  2. Server übermittelt sein Domänen-Zertifikat mit dem öffentlichen RSA-Schlüssel
  3. Client prüft das Zertifikat auf Gültigkeit
  4. Client generiert das Pre-Master-Secret und verschlüsselt es mit dem öffentlichen Schlüssel des Servers
  5. Server entschlüsselt das Pre-Master-Secret, generiert die Session Keys
  6. Verschlüsselter Datenaustausch beginnt

3. Server und Client authentifiziert: Der Server fordert per CertificateRequest auch ein Client-Zertifikat an. Der Client beweist per CertificateVerify, dass er tatsächlich der Inhaber des Zertifikats ist. Falls der Client kein passendes Zertifikat besitzt, wird der Verbindungsaufbau abgebrochen.


3.9 Anwendungsformen

TLS/SSL sichert nicht nur Web-Kommunikation (HTTPS), sondern auch:

  • Mail-Kommunikation: SMTPS, IMAPS, POP3S
  • SIP-Kommunikation: Für VoIP und Echtzeitkommunikation

4. QUIC Quick UDP Internet Connections

4.1 Motivation

Das klassische Verfahren zum Aufbau einer gesicherten Web-Verbindung erfordert drei aufeinanderfolgende Handshakes: den TCP-3-Wege-Handshake, den TLS-Handshake und den HTTP-Handshake. Bei einem Round-Trip von 200 ms summiert sich das auf bis zu 2 Sekunden allein für den Verbindungsaufbau und das für jede einzelne Ressource einer Webseite, die aus Dutzenden oder Hunderten Teilen bestehen kann.

Gleichzeitig haben sich die Internet-Geschwindigkeiten rasant gesteigert, selbst Privatanwender verfügen über Gigabit-Anschlüsse. TCP kann diese Bandbreite nicht vollständig ausschöpfen.

4.2 Die QUIC-Lösung

QUIC wurde 2012 bei Google begonnen und 2017 an die IETF übergeben. Der Kernansatz: Die drei sequentiellen Handshakes werden verschachtelt und in einem einzigen Schritt zusammengefasst. QUIC basiert auf UDP statt TCP und integriert TLS 1.3 direkt in das Transportprotokoll. Dafür wurde auch HTTP/3 als neues Anwendungsprotokoll entwickelt.

Der Vergleich: Während TCP + TLS mehrere Round-Trips benötigt, kann QUIC den gesamten Verbindungsaufbau in einem einzigen Round-Trip erledigen bei bekannten Servern sogar in null Round-Trips (0-RTT).

4.3 Verbreitung und offene Fragen

QUIC wird bereits für die Hälfte des Verkehrs zwischen Google-Servern und Chrome genutzt. Facebook setzt QUIC vollständig ein, und es befindet sich in den Beta-Stadien von Edge, Firefox und Safari.

Offene Fragen und Bedenken: QUIC ist ein komplexes Protokoll, das drei Schritte auf einmal durchführt was passiert, wenn ein Schritt scheitert? Außerdem bietet QUIC ausschließlich Verschlüsselung an, was von Rechenzentren und Nachrichtendiensten kritisch gesehen wird, da diese zur Netzwerkdiagnose oder Überwachung gerne den Klartext-Verkehr analysieren möchten.


5. Digitale Signaturen, Zertifikate und PKI

5.1 Eigenhändige Unterschrift als Ausgangspunkt

Um digitale Signaturen zu verstehen, lohnt ein Blick auf die Funktionen der eigenhändigen Unterschrift, die die digitale Signatur elektronisch nachbilden soll:

  • Abschlussfunktion: Die Unterschrift vollendet eine Erklärung und hebt sie vom Entwurf ab
  • Identitätsfunktion: Sie macht die Identität des Ausstellers kenntlich
  • Echtheitsfunktion: Sie bestätigt, dass das Dokument vom Aussteller stammt
  • Warnfunktion: Sie schützt den Unterzeichner vor Übereilung
  • Beweisfunktion: Sie erleichtert die Beweisführung im Streitfall (Urkundenbeweis)

5.2 Digitale Signatur

Grundprinzip

Die Signaturerstellung zu einer Nachricht m funktioniert mit einem asymmetrischen Verfahren:

s = S(m, GSₐ)

Dabei ist S die Signaturfunktion (z. B. RSA), m die zu signierende Nachricht, s die resultierende Signatur (z. B. eine 3.000-Bit-Zeichenkette) und GSₐ der geheime Schlüssel des Nutzers A.

Die Verifikation erfolgt durch:

V(m, s, ÖSₐ) = true?

Hierbei ist V die Verifikationsfunktion und ÖSₐ der öffentliche Schlüssel des Nutzers A.

Performance-Problem und Lösung

Public-Key-Verfahren haben eine relativ hohe Verarbeitungszeit. Eine direkte Signatur einer großen Datei wäre unpraktikabel: 100 MB bei 2.048 Bit Schlüssellänge würden etwa 400.000 Operationen erfordern bei 100 ms pro Operation wären das rund 11 Stunden. Zudem wäre die Zusammengehörigkeit der einzelnen Signaturblöcke nicht gegeben.

Die Lösung ist die Verwendung einer One-Way-Hashfunktion: Statt die gesamte Nachricht zu signieren, wird zuerst ein kompakter Hashwert berechnet und nur dieser signiert:

AV(hm = H(m), s, ÖSₐ) = true

Vorteile: Beliebig lange Nachrichten können signiert werden, die Signaturerstellung ist schnell, und jedes einzelne Bit der Nachricht ist über den Hashwert in die Signatur eingeschlossen (Integritätsschutz).

5.3 Digitale Zertifikate

Ein digitales Zertifikat ermöglicht es, Attribute von Nutzern überprüfbar nachzuweisen und die Authentizität öffentlicher Schlüssel zu bestätigen. Ausgestellt werden Zertifikate durch Zertifizierungsinstanzen das können spezialisierte Anbieter, Berufsverbände (Notare, Steuerberater, Ärzte), Personalabteilungen oder Behörden sein.

Der Prozess zur Erstellung und Verifikation eines Zertifikats: Die Zertifizierungsinstanz prüft alle relevanten Daten (Identität, Ausweis, Urkunden, weitere Attribute), erstellt das Zertifikat mit dem öffentlichen Schlüssel des Nutzers und signiert es mit ihrem eigenen geheimen Schlüssel. Jeder Dritte kann das Zertifikat dann mit dem öffentlichen Schlüssel der Zertifizierungsinstanz verifizieren.


5.4 Public-Key-Infrastrukturen (PKI)

Definition und Aufgabe

Eine PKI verwaltet Zertifikate mit öffentlichen Schlüsseln und weiteren Attributen über deren gesamten Lebenszyklus: Erstellung, Aufbewahrung, Verwendung und Löschung. Die Analogie aus der analogen Welt: Standesamt und Einwohnermeldeamt.

Eine PKI besteht aus Hardware, Software und einem Regelwerk und deckt folgende Sicherheitsbedürfnisse ab:

Sicherheitsbedürfnis Mechanismus
Authentizität Signatur
Integrität Signatur
Verbindlichkeit Signatur
Einmaligkeit Zeitstempel
Vertraulichkeit Verschlüsselung

Bestandteile einer PKI

  • Registration Authority (RA): Schnittstelle zwischen PKI-Nutzer und CA. Erfasst Anträge auf Zertifizierung und prüft die Identität der Antragsteller gemäß des Regelwerks. Kann eine private oder öffentliche Einrichtung sein.

  • Certification Authority (CA): Vergibt eindeutige digitale Identitäten, erzeugt Zertifikate und verwaltet Schlüsselpaare pro Nutzer.

  • Directory Service (DIR): Öffentlich zugreifbarer Verzeichnisdienst zur Verwaltung der Zertifikate.

  • Certificate Revocation List (CRL): Sperrliste für zurückgezogene oder kompromittierte Schlüssel und Zertifikate. Vor jeder Verifikation sollte ein Abgleich mit der Sperrliste erfolgen.

  • Time Stamping Service: Erstellt gesicherte Zeitsignaturen gemäß des Regelwerks.

  • Personal Security Environment (PSE): Sammlung aller sicherheitsrelevanten Daten eines Teilnehmers geheimer Schlüssel, öffentlicher Schlüssel der CA, ggf. Zertifikate der Kommunikationspartner. Mögliche Formen: Software, Smartcards, USB-Token, HSMs, SIM-Karten, TPMs.

  • PKI-enabled Application (PKA): Anwendungen, die auf den Sicherheitsmechanismen der PKI aufbauen (Dokumentenverschlüsselung, Zahlungssysteme, IPSec, ...).

Wirksamkeit und Lesegeräte-Kategorien

Unsicher gespeicherte Schlüssel sind das größte Sicherheitsrisiko. Daher werden in der Regel Smartcards oder USB-Token verwendet. Es gibt drei Kategorien von Lesegeräten:

  1. Basisleser: Anzeige und Eingabe über dasselbe IT-System des Nutzers hohes Restrisiko durch Malware
  2. Standardleser: Anzeige und Eingabe über ein externes IT-System
  3. Komfortleser: Ein zertifizierter Standardleser mit höchster Sicherheitsstufe

PKI-Konzepte

Es gibt drei grundlegende PKI-Architekturen:

  • Geschlossene, dezentrale PKI: Funktioniert nur innerhalb einer Organisation; keine Kommunikation nach außen möglich. Problem: In der Praxis existieren viele organisationsübergreifende Prozesse.

  • Offene, dezentrale PKI: Mehrere unabhängige CAs, die untereinander Zertifikate austauschen. Problem: Abgleich verschiedener Regelwerke nötig, um eine gemeinsame Vertrauensbasis zu schaffen.

  • Offene, zentrale PKI: Eine übergeordnete Wurzel-CA als gemeinsame Vertrauensbasis. Problem: Organisationen akzeptieren selten eine solche Unterordnung.

Vertrauensmodelle

  1. Übergeordnete CA (Root CA): Hierarchisches Modell, in dem die Wurzel-CA die Zertifikate aller untergeordneten CAs signiert. Nur in großen, geschlossenen Systemen etabliert, da Organisationen selten eine Unterordnung akzeptieren.

  2. n:n-Cross-Zertifizierung: Jede CA tauscht ihre öffentlichen Schlüssel selbstständig mit jeder anderen CA aus. Sehr aufwendig bei vielen Teilnehmern, nur für kleine Gruppen geeignet.

  3. 1:n-Cross-Zertifizierung (Bridge CA): Eine zentrale Bridge CA fungiert als Vermittlungsinstanz. Jede CA hat nur einen Vertragspartner, der Verwaltungsaufwand ist gering. Die CAs übergeben ihre öffentlichen Schlüssel authentisch an die Bridge CA, die eine signierte Tabelle aller beteiligten öffentlichen Schlüssel erstellt.

Praxisprobleme

  • Unterschiedliche Verantwortlichkeiten für PKIs und PKAs in Unternehmen erschweren die Abstimmung
  • Das Henne-Ei-Problem: PKIs benötigen konsequenten Einsatz, aber Organisationen können sich nur schwer auf gemeinsame Sicherheitskonzepte einigen
  • Hoher personeller und organisatorischer Aufwand für Sensibilisierung, Schulung und Roll-Out
  • Key-Recovery: Was passiert bei technischen Defekten, verlorenen PSEs oder ausscheidenden Mitarbeitern?

5.5 Gesetzlicher Hintergrund: eIDAS

Grundlagen

Die EU-Verordnung 910/2014 (eIDAS electronic Identification, Authentication and Trust Service) regelt die elektronische Identifizierung und Vertrauensdienste für elektronische Transaktionen im europäischen Binnenmarkt. Ziel: Gleichstellung, Interoperabilität und gegenseitige Anerkennung der Vertrauensdienste aller Mitgliedsstaaten.

In Deutschland umgesetzt durch das Signaturgesetz (SigG) und die Signaturverordnung (SigV). eIDAS gilt für alle in der EU niedergelassenen Vertrauensdienstanbieter (VDA), ausgenommen sind interne Unternehmenslösungen.

Kernregelungen

  • Rechtssicherheit: Ein elektronisches Dokument soll in der EU den gleichen Stellenwert haben wie ein analoges
  • Qualifizierte vs. nicht-qualifizierte VDA: Freiwillige Akkreditierung alle drei Jahre möglich
  • EU-Vertrauenssiegel (Art. 13): Zusätzliches Vertrauensmerkmal, analog zum "IT Security made in Germany"-Qualitätssiegel
  • Elektronische Siegel (Art. 35-40): Pendant zu Signaturen Signaturen gelten für natürliche Personen, Siegel für Organisationen
  • Elektronische Fernsignaturen: Die sichere Signaturerstellungseinheit befindet sich beim VDA, nicht beim Nutzer
  • Haftung (Art. 11, 13): Qualifizierte VDA sind in der Nachweispflicht, bei nicht-qualifizierten liegt die Beweislast beim Kunden
  • Elektronisches Einschreiben (Art. 43-44): Identifizierung von Absender und Empfänger, Schutz durch fortgeschrittene Signatur oder Siegel, qualifizierte Zeitstempel
  • Sicherheitsanforderungen (Art. 19): Alle VDA müssen Sicherheitsmaßnahmen gemäß dem Stand der Technik implementieren, Sicherheitsvorfälle innerhalb von 24 Stunden melden

De-Mail und eIDAS

De-Mail ist aktuell nicht vollständig eIDAS-konform: Der VDA selbst versieht Nachrichten mit qualifizierter Signatur (Fernsignatur), statt qualifizierter Zeitstempel werden Prüfsummen und qualifizierte Signaturen verwendet, und die sichere Dokumentenablage ist den Anbietern freigestellt.


5.6 PKI-enabled Applications

E-Mail-Sicherheit

E-Mail-Sicherheit bedeutet, die gleiche Sicherheit bei elektronischen Nachrichten herzustellen, die bei Briefen selbstverständlich ist: der Briefumschlag (Vertraulichkeit), die Unterschrift (Authentizität und Integrität), der Poststempel (Zeitnachweis).

Die digitale Signatur bietet nach erfolgreicher Verifikation folgende Garantien: Das Dokument wurde nicht manipuliert, die angegebene Zeit wurde nicht geändert, und nur der angegebene Absender konnte die Signatur erstellen. Als zusätzlicher Sicherheitsdienst steht die Verschlüsselung zur Verfügung.

Der digitale Zeitstempel löst das Problem, dass Systemuhren leicht manipulierbar sind: Eine Zertifizierungsstelle bestätigt per digitaler Signatur, dass ein Dokument zum angegebenen Zeitpunkt vorgelegen hat.

Für den Endnutzer werden die Sicherheitsfunktionen direkt in die Mailsoftware integriert und per Mausklick aufrufbar. E-Mail-Gateways können eingehende Mails zentral entschlüsseln und ausgehende Mails signieren.

Lotto Online-Glücksspiel

Ein anschauliches Beispiel für den Einsatz digitaler Signaturen: Bei Online-Glücksspielen müssen Transaktionsdaten (Wetten) manipulationssicher gespeichert werden. Das alte Verfahren nutzte WORM-Speicher (Write Once, Read Many). Das neue Verfahren nutzt stattdessen einen Zeitstempeldienst:

  1. Es wird ein Hashwert über die Transaktion, das Datum und die Uhrzeit berechnet: h = H(Transaction, Datum, Uhrzeit)
  2. Dieser Hashwert wird mit dem geheimen Schlüssel von Lotto signiert: s = S(h, GSLotto)
  3. Nach der Ziehung kann jede Transaktion verifiziert werden: V(H(Transaktion, Datum, Uhrzeit), s, ÖSLotto) = true?

6. Trusted Computing

6.1 Herausforderung: Von reaktiv zu proaktiv

Traditionelle IT-Sicherheitssysteme arbeiten reaktiv wie ein Airbag, der erst bei einem Aufprall auslöst. Trusted Computing verfolgt einen proaktiven Ansatz: Das System soll vorausschauend sicherstellen, dass nur vertrauenswürdige Software in einer vertrauenswürdigen Umgebung ausgeführt wird.

Das fundamentale Problem: Software allein kann keine verlässliche Vertrauensbasis sein, da sie manipuliert werden kann. Daher braucht man einen Hardware-Vertrauensanker.

6.2 Sicherheitsprinzipien

Trusted Computing basiert auf mehreren zusammenwirkenden Prinzipien:

  • Robustheit und Modularität: Das System wird in isolierte, kontrollierbare Module aufgeteilt (Virtualisierung, Mikrokernel)
  • Trusted Process: Isolierte Prozesse, die sich nicht gegenseitig beeinflussen können
  • Integritätsprüfung: Kontinuierliche Überprüfung der System- und Softwareintegrität
  • Trusted Platform: Hardware-Vertrauensanker (TPM) als Basis

Die Gesamtarchitektur besteht aus: Hardware mit Security Module → Security Kernel / Virtualization → Trusted Software Layer → Isolierte Virtual Domains mit Anwendungen.


6.3 Kernelarchitekturen

Monolithischer Kernel

Beim monolithischen Kernel (z. B. Linux, Windows) laufen alle Treiber und Systemdienste im Kernel-Space.

Vorteile: Lange etabliert, gute Performance.

Nachteile: Alle Treiber sind im Kernel-Space vereint, was zu geringerer Flexibilität, höherer Komplexität, weniger Robustheit und schlechten Sicherheitsmechanismen führt. Ein fehlerhafter Treiber kann das gesamte System kompromittieren.

Mikrokernel

Beim Mikrokernel (z. B. L4, MINIX, QNX) laufen nur die absolut notwendigen Funktionen im Kernel alles andere läuft als eigenständiger Prozess im User-Space.

Vorteile: Höhere Robustheit, Modularität und Flexibilität, kontrollierbare Interprozesskommunikation und damit höhere IT-Sicherheit, weniger benötigter Speicherplatz.

Nachteile: Geringere Performance, da die erhöhte Kommunikation zwischen den Prozessen Overhead verursacht.

Für Trusted Computing ist der Mikrokernel die bevorzugte Architektur, da er eine bessere Isolation und Kontrolle der einzelnen Systemkomponenten ermöglicht.


6.4 TPM-Schlüsselhierarchie und Identitäten

Endorsement Key (EK)

Der EK ist die eindeutige, nicht migrierbare Identität des TPM. Er wird als RSA-Schlüsselpaar während des Herstellungsprozesses erzeugt. Der geheime Schlüssel ist im TPM gespeichert, der öffentliche Schlüssel ist datenschutzsensibel (da er das TPM und damit potenziell den Nutzer eindeutig identifiziert). Die PKI wird vom TPM-Hersteller verwaltet.

Das Endorsement Credential (EC) ist ein elektronisches Zertifikat vom Hersteller, das die ordnungsgemäße Erstellung und Einbettung des EK bestätigt. Es enthält: TPM-Herstellername, Modellnummer, Version und den öffentlichen EK-Schlüssel.

Storage Root Key (SRK)

Der SRK ist die Wurzel der gesamten Schlüsselhierarchie im TPM. Er wird während der Installation des TPM-Eigentümers generiert, steht im nicht-flüchtigen Speicher und ist nicht migrierbar. Die Löschung des TPM-Eigentümers löscht den SRK und damit den Zugriff auf die gesamte Schlüsselhierarchie.

Attestation Identity Keys (AIK)

AIKs werden für die Attestation-Funktion verwendet also die authentische Bestätigung der Plattformintegrität. Sie sind nötig, weil der EK datenschutzsensibel ist und nicht direkt für Attestation verwendet werden sollte. AIKs werden vom TPM-Besitzer generiert, ein TPM kann mehrere AIKs besitzen (z. B. einen für Online-Banking, einen für E-Mail). Sie sind nicht migrierbar.

Weitere Schlüsseltypen

  • Storage Keys (StorK): Verschlüsseln weitere Schlüssel und Daten außerhalb des TPM. Werden für Sealing verwendet. RSA-Schlüsselpaare, im Allgemeinen migrierbar.
  • Binding Keys (BindK): Verschlüsseln beliebige Daten (asymmetrische Verschlüsselung). Migrierbar, können nur mit Binding-Befehlen verwendet werden.
  • Signing Keys (SigK): Nachweis der Authentizität und Integrität von Daten und Protokollnachrichten. RSA-Schlüsselpaare, migrierbar.

Schlüssel sind entweder migrierbar (auf andere Plattformen übertragbar) oder nicht migrierbar (an die Plattform gebunden). EK, SRK und AIKs sind nicht migrierbar.


6.5 Core Root of Trust for Measurement (CRTM)

Der CRTM ist die Vertrauensbasis des gesamten Systems. Er führt Messungen über einzelne Systemzustände (Hardware und Software) durch und speichert die Ergebnisse in den Platform Configuration Registers (PCRs) des TPM.

Es gibt zwei Boot-Varianten:

  • Authenticated Boot: Systemzustände werden gemessen und in den PCRs gespeichert, die Integrität wird überprüft aber der Bootvorgang wird nicht gestoppt. Man hat einen nachprüfbaren Zustandsnachweis, aber kein erzwungenes Sicherheitsniveau.

  • Secure Boot: Systemzustände werden gemessen, die Integrität wird überprüft, und bei einer Abweichung wird der Bootvorgang gestoppt. Nur verifizierte Software kann starten.

Das Vertrauen ist transitiv: Der CRTM vertraut dem BIOS, das BIOS vertraut dem Bootloader, der Bootloader vertraut dem Betriebssystem, und so weiter. Jede Stufe misst die nächste, bevor sie ihr die Kontrolle übergibt.


6.6 Die vier zentralen Trusted-Computing-Funktionen

Sealing

Sealing verschlüsselt Daten so, dass sie nur entschlüsselt werden können, wenn sich das System in einem bestimmten Zustand befindet. Der aktuelle Zustand der Plattform (gespeichert in den PCRs) wird Teil der Verschlüsselung.

Ablauf des Sealings:

  1. Ein symmetrischer Schlüssel (plainKEY) wird erzeugt
  2. Die Daten werden zusammen mit einem Hash über die Daten und die aktuellen PCR-Werte verschlüsselt: cipher = encrypt(plainKEY, (daten || H(daten || PCR-0 || ... || PCR-x)))
  3. Der symmetrische Schlüssel wird mit dem SRK verschlüsselt: cryptedKEY = encrypt(SRK, plainKEY || H(plainKEY))

Ablauf des Un-Sealings:

  1. Der symmetrische Schlüssel wird mit dem SRK entschlüsselt
  2. Die Daten werden entschlüsselt
  3. Die enthaltenen PCR-Werte werden mit den aktuellen PCR-Werten verglichen
  4. Nur wenn die Werte übereinstimmen, werden die Daten freigegeben andernfalls wird ein Fehler zurückgegeben

Praktisches Beispiel: Festplattenverschlüsselung per BitLocker nutzt Sealing, damit die Festplatte nur in dem PC entschlüsselt werden kann, in dem sie verschlüsselt wurde, und nur wenn das Betriebssystem nicht manipuliert wurde.

Binding

Binding ist die einfachere Variante: Daten werden mit dem öffentlichen Schlüssel des TPM verschlüsselt und können nur auf dieser Plattform entschlüsselt werden. Im Gegensatz zu Sealing wird der Plattformzustand dabei nicht berücksichtigt.

Attestation (Remote Attestation)

Attestation ermöglicht es einem externen Prüfer, den Integritätszustand einer Plattform zu überprüfen.

Signaturfunktion (auf der geprüften Plattform):

  1. Der Prüfer sendet eine Zufallszahl (random)
  2. Das TPM berechnet: σTPM = sign(GSAIK, H(random || PCR-0 || ... || PCR-x))
  3. Die Signatur und das AIK-Zertifikat werden zurückgesendet

Verifikationsfunktion (beim Prüfer):

  1. Die Signatur wird mit dem öffentlichen AIK-Schlüssel verifiziert
  2. Das AIK-Zertifikat wird auf Gültigkeit geprüft
  3. Die PCR-Werte werden mit den erwarteten Werten verglichen
  4. Nur wenn alle drei Prüfungen erfolgreich sind, gilt die Plattform als vertrauenswürdig

Authenticated Boot

Beim Authenticated Boot wird jede Komponente der Bootkette gemessen, bevor ihr die Kontrolle übergeben wird. Die Messungen werden in den PCRs des TPM gespeichert und können später für Attestation oder Sealing verwendet werden.


6.7 Trusted Network Connect (TNC)

Problemstellung

In einem Netzwerk reicht es nicht, nur die Authentizität, Integrität und Vertraulichkeit der Kommunikation sicherzustellen man muss auch sicherstellen, dass die Endgeräte selbst in einem vertrauenswürdigen Zustand sind. Ein PC mit veraltetem Virenscanner oder kompromittiertem Betriebssystem ist ein Sicherheitsrisiko für das gesamte Netzwerk.

Lösungsansätze: Microsoft NAP, Cisco NAC und die TCG-Lösung Trusted Network Connect (TNC).

Prinzip

TNC betrachtet die Vertrauenswürdigkeit in Abhängigkeit von der Integrität aller beteiligten Kommunikationspartner, IT-Systeme, Infrastrukturelemente und des Umfelds. Anforderungen werden in Policies definiert (erlaubte Konfigurationen, Betriebssysteme, Hard- und Software). Die Überprüfung erfolgt vor dem Zugriff auf das Netzwerk (Prävention), und die Kommunikationsrichtung wird getrennt betrachtet.

TNC nutzt die Attestation-Funktion des TPM: Bevor ein Gerät Zugang zum Netzwerk erhält, muss es seinen aktuellen Zustand per Remote Attestation nachweisen. Entspricht der Zustand nicht der Policy, wird der Zugang verweigert oder eingeschränkt.


6.8 Beispielanwendungen: Turaya

Turaya ist eine Trusted-Computing-Plattform, die die Konzepte in der Praxis umsetzt:

  • Turaya.Crypt: Vertrauenswürdige Festplattenverschlüsselung mittels Sealing
  • Turaya.VPN: Vertrauenswürdige VPN-Verbindungen, bei denen per Attestation sichergestellt wird, dass beide Endpunkte in einem sicheren Zustand sind
  • Turaya.FairDRM: Vertrauenswürdiges Digital Rights Management, das die Rechte sowohl des Anbieters als auch des Nutzers schützt

6.9 Zusammenfassung Trusted Computing

Die Kernfunktionalitäten sind Robustheit/Modularität, Integritätsprüfung, Trusted Process und Trusted Platform. Der CRTM bildet die Vertrauensbasis, das Vertrauen ist transitiv. Die TPM-Schlüsselhierarchie ermöglicht sichere Speicherung auch auf externen Medien. Die vier zentralen Funktionen (Authenticated Boot, Binding, Sealing, Attestation) bilden zusammen ein umfassendes Sicherheitskonzept. Vertrauenswürdige Netzwerkverbindungen können durch TNC realisiert werden. Die Festlegung einer sicheren und vertrauenswürdigen Systemkonfiguration bleibt jedoch mit zahlreichen technischen und politischen Schwierigkeiten verbunden.