190 likes | 331 Views
Hans Marcus Krüger Hans.Krueger@secunet.com http://skbrasil.net/~hans/DA/. Diplomarbeit Entfernte Attestierung von Eigenschaften auf Mikrokern-basierten Systemen. Technische Universität Dresden secunet Security Networks AG 10. IT Deutsche Sicherheitskongress Bad Godesberg, Bonn 2007.
E N D
Hans Marcus Krüger Hans.Krueger@secunet.com http://skbrasil.net/~hans/DA/ DiplomarbeitEntfernte Attestierung von Eigenschaften auf Mikrokern-basierten Systemen • Technische Universität Dresden • secunet Security Networks AG • 10. IT Deutsche Sicherheitskongress • Bad Godesberg, Bonn • 2007
Schwerpunkte • Nizza-Architekturen • sicheres Urladen • entferntes Attestieren und die damit verbundenen Probleme • Attestieren von Eigenschaften auf Nizza-Architekturen • Ausblick
Nizza und Mikrokerne • Mikrokern • Isolation durch Adressräume • geringe Komplexität • hohe Modularität • hohe Sicherheit • Nizza • Legacy-Partitionen • Integration monolithischer Systeme • weitere Nutzung bestehender Systeme/Software (z.B. Linux) • Auslagern sicherer Anwendungen Legacy- Betriebs- system sichere Anwen- dung Basis- dienste Basis- dienste Mikrokern Hardware
Entferntes Attestieren, Übersicht • sicheres bzw. überprüfbares Urladen • Ladeprotokoll • Prüfsumme der Anwendungen • Prüfsummenkette • jüngster Zustand (ri) in PCR-Register • ri+1 = H( ri || H(Programm)) • die Operationen Extend und Quote
Probleme • Auswerten des Ladeprotokolls nur im Ganzen • Prüfsummen unflexibel: zwei Anwendungen mit den selben Eigenschaften? • keine Beziehungen unter Programmen • alle Anwendungen müssen sicher sein • alle sicheren Anwendungen müssen bekannt sein • keine Konfigurationsdaten oder Anwenderdaten
Zielstellung • Einsatz von Nizza aufgrund hoher Sicherheitsanforderungen • Messen der Anwendung WahlAgent • nicht das gesamte System! • Trusted Computing Base (TCB) von WahlAgent • Messen einer Eigenschaft, nicht einer Prüfsumme: • „WahlAgent ist sicher!“
Attestieren von Eigenschaften • Schritt 1: Einsetzen von Zertifikaten • Eine vertrauten Instanz TTP • Signatur durch TTP über Prüfsumme s = SignTTP(H(d)) • Schritt 2: Ersetzen der Prüfsumme durch eine Menge von Eigenschaften (Beschreibung): • Ed = { H(d), WahlUrne, WahlUrneV1_05, ...} • Schritt 3: Beschreiben der Abhängigkeiten durch Referenzen (z.B. Ei) • Ed = { H(d), WahlUrne, Ei, Ej, ... } • sicher wenn s = SignTTP(Ed) • Laufzeit-Informationen?
Wie? (1) • Objektklassen definieren Ed • Eigenschaften • Abhängigkeiten • Objektbeschreibung deklariert Ed • Laufzeit-Informationen • Einsatz des Trusted Attestation Manager (TAM) • Verwaltet Instanzschicht • Ladeprotokoll sichert TAM • Prüfsummen bestimmen Objektklasse
Messen von Eigenschaften: messen einzelner TCB Anwendungen und Daten Semantik frei wählbar zwei Anwendungen können die selben Eigenschaften besitzen nur der TTP-Schlüssel muss bekannt sein Unsichere Anwendungen erlaubt Fazit Ladeprotokoll: • misst nur gesamtes System • nur Anwendungen • Prüfsummen besitzen eingeschränkte Semantik • jede Prüfsumme ist genau einer Anwendung zugeordnet • jede sichere Anwendung muss bekannt sein • Keine unsicheren Anwendungen im System erlaubt
Ausblick • Remote Attestation Query Language (RAQL) • Fordere eine Anwendung vom Typ WahlAgent mit einer TCB (Zone) geprüft durch TTP: ?type=WahlAgent AND forall(zone(), hasCertificate(TTP)); • Content Management System (CMS) • RAQL in Daten (z.B. in die Wahlliste) einbetten • Freigabe der Daten erst nach erfolgreicher Prüfung der anfordernden Anwendung
Fragen? Diplomarbeit Entferntes Attestieren von Eigenschaften auf mikrokernbasierten Systemen verantwortlicher Hochschulprofessor: Prof. Dr. Hermann Härtig (TU Dresden) Betreuer: Dipl. Inf. Carsten Weinhold (TU Dresden) Dr. Kai Martius (secunet, Dresden) http://skbrasil.net/~hans/DA
Trusted Platform Module • Sicherheit • Anti-Tamper • Fest mit Rechner verbaut • kryptographische Algorithmen • RSA-Schlüssel • Manufacturer Key • Endorsement Key • Attestation Identity Key • Überprüfbares Urladen • PCR-Register • Operation Extend • Prüfsummenkette • Operation Quote
Messen von Generalisierungen • Generalisierung • Messen von WahlAgent (d') anstatt von WahlAgentV1_05 (d) • Flexibilität • Datenschutz
Abhängigkeiten • Sicherheit nur in Abhängigkeit zu verwendeten Ressourcen • Daten, Anwendungen, Algorithmen etc. • TCB • Informationen zur Laufzeit sind relevant für die Sicherheit • Wie sollen diese in ein Zertifikat aufgenommen werden?