>> Diplomarbeit Entfernte Attestierung von Eigenschaften auf Mikrokern-basierten Systemen Hans...

Preview:

Citation preview

>>

Diplomarbeit

Entfernte Attestierung von Eigenschaften auf Mikrokern-basierten SystemenHans Marcus Krüger Hans.Krueger@secunet.comhttp://skbrasil.net/~hans/DA/

Technische Universität Dresdensecunet Security Networks AG

10. IT Deutsche SicherheitskongressBad Godesberg, Bonn 2007

>>

>> 2

Schwerpunkte

Nizza-Architekturen sicheres Urladen entferntes Attestieren und die damit verbundenen

Probleme Attestieren von Eigenschaften auf Nizza-Architekturen Ausblick

>>

>> 3

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

Hardware

Mikrokern

Basis-

dienste

Basis-

dienste

Legacy-

Betriebs-

system

sichere

Anwen-

dung

>>

>> 4

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

# PCR-Register Prüfsumme Name0 000000... Initialzustand1 5E8FA1... 5FBBA... Bios2 0FB62... F494A... Bootsektor

... ... ...17 457AC... 41216... Thunderbird

>>

>> 5

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

# PCR-Register Prüfsumme Name0 000000... Initialzustand1 5E8FA1... 5FBBA... Bios2 0FB62... F494A... Bootsektor

... ... ...17 457AC... 41216... Thunderbird

>>

>> 6

Beispiel: Elektronische Wahlurne

>>

>> 7

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!“

>>

>> 8

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. E

i)

• Ed = { H(d), WahlUrne, E

i, E

j, ... }

sicher wenn s = SignTTP

(Ed)

Laufzeit-Informationen?

>>

>> 9

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

>>

>> 10

Wie? (2)

>>

>> 11

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

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

>>

>> 12

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

>>

>> 13

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

>>

>> 14

Auszug aus der Referenzimplementierung

>>

>> 15

Attest erstellen

>>

>> 16

Attest prüfen

>>

>> 17

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

>>

>> 18

Messen von Generalisierungen

Generalisierung

• Messen von WahlAgent (d') anstatt von WahlAgentV1_05 (d)

• Flexibilität

• Datenschutz

>>

>> 19

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?

Recommended