29
Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Embed Size (px)

Citation preview

Page 1: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Formale Analyse kryptografischer Protokolle

Einführung

Seminar WS 2002/03

André Rosin

Page 2: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Inhalt

I. Einführung und Grundbegriffe

II. Szenario (Needham und Schroeder)

III. Ansätze nach Meadows

1. Zustandsmaschinen2. Modale Logiken3. Algebraische Termersetzungssysteme4. Formale Sprachen und Werkzeuge

IV. Schlußbetrachtung

Page 3: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Einführung und Grundbegriffe

Definition: Ein kryptografisches Protokoll ist ein Folge von Schritten mehrerer Teilnehmer zur Erreichung eines Ziels. Es beinhaltet kryptografische Elemente zur Erfüllung von Sicherheitsanforderungen.

Letztere umfassen die Vertraulichkeit, die Integrität, die Authenzität und die Nichtabstreitbarkeit von Daten; kryptografische Elemente werden im Folgenden vorgestellt.

Page 4: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Kryptografische Elemente

Definition: Authentisierung ist der Prozeß durch den ein Teilnehmer eines verteilten Systems seine Identität nachweist.

Typischerweise geschieht dies über einen vertrauenswürdigen Authentisierungsdienstgeber (im folgenden Authentication Server genannt).

Definition: Verschlüsselung (Entschlüsselung) ist die Wissenschaft einen Klartext (chiffrierten Text) in einen chiffrierten Text (Klartext) mittels eines geheimen Schlüssels und eines Verschlüsselungsalgorithmus zu überführen.

Page 5: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

... Verschlüsselung Starke Verschlüsselung ist nicht mit vertretbarem

Aufwand (brute force) berechenbar. Man unterscheidet zwei

Ver-/Entschlüsselungsverfahren: symmetrisch: Für Ver- und Entschlüsselung

wird jeweils der gleiche geheime Schlüssel verwendet; arbeitet sehr schnell, aber n Teilnehmer benötigen n*(n-1)/2 Schlüssel

asymmetrisch: es existieren zwei zueinander inverse Schlüssel, private key und public key; langsamer, aber für n Teilnehmer 2*n Schlüssel

Page 6: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Digitale Signatur

Digitale Signatur ist das Analogon zur Unterschrift im realen Leben

Basiert auf asymmetrischen Verfahren: Alice signiert eine Nachricht an Bob mit ihrem eigenen privaten Schlüssel, Bob entschlüsselt sie mit dem öffentlichen Schlüssel von Alice.

Dadurch authentifiziert sich Alice unabstreitbar gegenüber Bob. Verschlüsselt wird in der Regel nur der Hashwert der Nachricht H=h(M).

Page 7: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Zertifikate Für das korrekte Funktionieren der Signatur ist es

unabkömmlich, dass der öffentliche Schlüssel von Alice echt ist

Dazu wird eine vertrauenswürdige dritte Partei, eine Zertifizierungsstelle, benötigt, welche allen bekannt ist

Nachdem sich Alice gegenüber dieser Partei identifiziert hat, bürgt sie gewissermaßen für Alice

Verschlüsselt wird in der Regel nach dem Signieren und nicht umgekehrt (Sicherheit)!

Page 8: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Aktualität von Nachrichten

Für die an in einem kryptografischen Protokoll involvierten Teilnehmer ist es essentiell erkennen zu können, ob eine Nachricht aus dem aktuellen Protokollablauf stammt oder von einem Angreifer aus einem vergangenen Protokollablauf wiederholt wird (alte Sitzungsschlüssel können kompromittiert sein).

Zeitliche Aspekte sollten deshalb in kryptografischen Protokollen modelliert werden, dazu zwei Möglichkeiten: Zeitstempel und Nonces

Page 9: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Zeitstempel und Nonces

Zeitstempel liefern genaue Zeitpunkte, aber erfordern synchronisierte Uhren bei allen Teilnehmern

Nonce (engl. a number used once) ist eine zufallsgenerierte Zahl, die in einem aktuellen Protokollablauf einen anderen Wert annimmt als in vorangegangenen Protokollabläufen

Unvorhersagbare Nonces sind Außenstehenden nicht bekannt, jedoch schwer zu erzeugen

Page 10: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Szenario

NetzAlice Bob

Authentication Server

Oskar

Page 11: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Das Bedrohungsmodell

Das Bedrohunsmodell beschreibt die angenommenen Eigenschaften der Sicherheitsumgebung. Es beinhaltet Annahmen über die Teilnehmer und mögliche Störungen von böswilligen Akteuren. Es wird angenommen, dass es einen Angreifer gibt, der Nachrichten abfangen, löschen, modifizieren und nach belieben erzeugen kann -> Vorraussetzung: starke Verschlüsselung.

Weiterhin wird angenommen, dass die zugrundeliegenden Schlüssel und Verschlüsselungsalgorithmen perfekt sind.

Page 12: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Needham und Schoeder Austausch eines geheimen Schlüssels in einem

Netzwerk A(lice) möchte mit B(ob) über S(=AuS)

kommunizieren; dazu nötige Schritte:

1. A –> S : A, B, Na (unverschlüsselt) 2. S –> A : {Na, B, Kab, {Kab, A}Kbs }Kas 3. A –> B : {Kab, A}Kbs 4. B –> A : {Nb}Kab (=handshake) 5. A –> B : {Nb-1}Kab

Page 13: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Möglicher Angriff Der Angreifer Z besitzt im Gegensatz zu A und B

kein beschränktes Gedächtnis und hat vorangegangene Sitzungen mitgeschnitten und dadurch den Sitzungsschlüssel CK kompromittiert. Nun kann Z mittels CK B glaubhaft machen, dass er/sie A ist:

Z –> B : {CK, A}Kbc (für B neue Sitzung) B –> A : {Nb}CK (handshake) Z –> B : {Nb-1}CK (Z immitiert A)

Page 14: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Behandlung der Schwäche

Es wird ein Zeitstempel hinzugefügt:

2. S –> A : {T, Na, B, Kab, {Kab, A, ...

... T}Kbs }Kas 3. A –> B : {Kab, A, T}Kbs

Somit wird die Wiederholung von Schritt 3 als „alt“ erkannt und ignoriert.

Page 15: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Ansätze der formalen Analyse

Die formale Analyse von kryptografischen Protokollen ist eine relativ junge Wissenschaft, die in den frühen 90ern aus dem Bedürftnis heraus entstand, die Korrektheit dieser Protokolle hinsichtlich ihrer „Sicherheit“ zu beweisen

Vorweg: die Sicherheit eines Protokolls kann mit keiner der folgenden Methoden garantiert werden

Am beliebtesten sind die Ansätze 1 und 2, inbesondere jedoch die BAN-Logik (aus Ansatz 2)

Page 16: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(1) Zustandsmaschinen

Nach Meadows auch Expertensysteme genannt Das kryptografische Protokoll wird als eine Reihe

von Zuständen und Transformationsregeln betrachtet

Vorgegeben wird dann ein nicht gewünschter, bzw. fehlerhafter Zustand des Protokolls

Vom Initialzustand des Protokolls ausgehend wird nun in einer ausschöpfenden Suche ein Pfad zum unerwünschten Zustand gesucht

Page 17: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(1) Zustandsmaschinen

Gibt es einen solchen Pfad, so wurde ein möglicher Angriff erkannt.

Die Suche muß dabei nicht terminieren, da es gegebenenfalls unendlich viele Zustände in einem solchen regelbasierten System gibt

Somit können nur bekannte Protokollschwächen, jedoch keine unbekannten Protokollfehler mit Zustandsmaschinen modelliert werden

Page 18: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(1) Zustandsmaschinen Bekannte Vertreter für

Zustandsmaschinen/Expertensysteme sind:

Interrogator von Millen Longley und Rigby Tool NRL Protocol Analyzer

Diese Werkzeuge basieren teilweise auf Dolev und Yaos Model, welches unter Ansatz 3 aufgeführt ist.

Page 19: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(2) Modale Logiken Modale Logiken ähneln den Logiken von

„Glauben und Wissen“ in verteilten Systemen Beginnend mit einer initialen Menge von

Glaubens- und Wissensmodellierungen werden mittels Schlussregeln aus „alten“ neue Aussagen gewonnen

Glauben wird somit axiomatisiert Sind die gezogenen Schlüsse adäquat zu den

vordefinierten Glaubensaufstellungen, so wird das kryptografische Protokoll als korrekt betrachtet

Üblicherweise entscheidbar und berechenbar

Page 20: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(2) Modale Logiken

Modale Logiken können lediglich Authorisierungsprotokolle behandeln

So werden etwa Authorisierungsziele 1. oder 2. Ordnung angestrebt: 1. Ordnung: Es gibt Schlüssel K, sodaß

A und B jeweils glauben A B über K 2. Ordnung: Es gibt Schlüssel K, sodaß

A glaubt B glaubt A B über K und

B glaubt A glaubt A B über K

Page 21: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(2) Modale Logiken Der Hauptvertreter ist die erfolgreiche, aber auch

umstrittene BAN-Logik (Burrows,Abadi und Needham), welche sich durch ihre Einfachheit und Abstraktionsweise abhebt

Erweiterungen zur BAN-Logik gibt es viele: GNY-Logik (Gong,Needham und Yahalom), Kailar, Gligor und Gong-Logik, Mao und Boyd-Logik sowie Gaarder und Suekkenes-Logik

Weitere Vertreter: Biebers CKT5, Syversons KPL, Rangans Logik des „Vertrauens“, Mosers Logik und das System von Yahalom, Klein und Beth

Page 22: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(3) Algebraische Termersetzungssystem

Das kryptografische Protokoll wird als ein algebraisches System betrachtet und der Zustand des Wissens der Teilnehmer über das Protokoll wird modelliert

Im Gegensatz zu Zustandsmaschinen versucht man zu zeigen, dass aus dem Initialzustand unsichere Zustände nicht erreicht werden können und bestätigt somit die Korrektheit des Protokolls

Page 23: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(3) Algebraische Termersetzungssysteme

Modelliert wird die Fähigkeit des Angreifers Wörter zu generieren, die das Regelwerk des Protokolls zulässt und welche in der geheimen Menge der tatsächlichen Wörter vorhanden sind

Dieser Ansatz verbindet die Ansätze 1 und 2 miteinander, also Zustandsmaschinen mit modalen Logiken und könnte somit verbesserte Zustandsmaschinen hervorbringen hinsichtlich des Wissens, das ein Angreifer des Protokolls erlangen kann

Page 24: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(3) Algebraische Termersetzungssysteme

Als Hauptvertreter dieses Ansatzes ist das Model von Dolev und Yao zu verzeichnen

Weitere Vertreter finden sich in der PhD thesis von Merrit, im Narrower Algorithmus von Meadows und im Toussaint Model

Obwohl viel versprechend ist dieser Ansatz bisher nicht weit verbreitet, da die Modellierungen sehr komplex sind

Page 25: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(4) Formale Sprachen und Werkzeuge

Dieser Ansatz beschäftigt sich mit Spezifikationssprachen und Verifikationswerkzeugen, welche ursprünglich nicht für die Analyse kryptografische Protokolle entwickelt wurden

Viel mehr handelt es sich um Werkzeuge die allgemein die Korrektheit von Software nachzuweisen versuchen

Da jedoch Korrektheit im Allgemeinen nicht gleich Sicherheit gesetzt werden kann, ist dieser Ansatz weniger für die Analyse geeignet

Page 26: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

(4) Formale Sprachen und Werkzeuge

Vertreter dieses Ansatzes sind endliche Automaten, die Sprache LOTOS (language of temporal ordering specification) und die Sprache Ina Jo, welche eine Erweiterung der Prädikatenlogik erster Stufe darstellt

Mit diesem Ansatz wurden bisher keine konkreten Ergebnisse erzielt

Page 27: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Schlußbetrachtung Fazit ist: keine formale hier vorgestellte Methode

kann wirklich alle Aspekte eines kryptografischen Protokolls modellieren

Man kann lediglich garantieren, daß ein solches Protokoll korrekt in bezug auf eine Menge von wohldefinierten Annahmen ist

Speziell die BAN-Logik liefert große Kontroversen über die Modellierung von Logiken und Annahmen

Prinzipiell kann man jedoch nicht sagen, dass ein Modell nützlicher ist, desto detailierter es ist

Page 28: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Schlußbetrachtung (2) Auf verschiedenen Abstraktionsebenen haben

jedoch alle Modelle einen gewissen Nutzen So sollten etwa abstrakte Modelle am Anfang der

Designphase eines kryptografischen Protokolls eingesetzt werden, wenn noch keine konkreten Implementationsdetails behandelt werden

Für die Strukturfestlegung der Nachrichten könnte dann ein zustandsbasiertes Modell verwendet werden usw.

So läßt sich ein Minimum an Aufwand bei der Implementation eines solchen Protokolls erzielen

Page 29: Formale Analyse kryptografischer Protokolle Einführung Seminar WS 2002/03 André Rosin

Ende

Gibt es Fragen?