Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Formale Analyse kryptografischer Protokolle

Ähnliche Präsentationen


Präsentation zum Thema: "Formale Analyse kryptografischer Protokolle"—  Präsentation transkript:

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

2 Inhalt I. Einführung und Grundbegriffe
II. Szenario (Needham und Schroeder) III. Ansätze nach Meadows 1. Zustandsmaschinen 2. Modale Logiken 3. Algebraische Termersetzungssysteme 4. Formale Sprachen und Werkzeuge IV. Schlußbetrachtung Authenzität, Verschlüsselung, Bedrohungsmodell, Aktualität, Digitale Signatur und Zertifikate ...

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

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

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

6 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).

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

8 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

9 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

10 Authentication Server
Szenario Authentication Server Netz Bob Alice Oskar

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

12 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

13 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)

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

15 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)

16 (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

17 (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

18 (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.

19 (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

20 (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

21 (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

22 (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

23 (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

24 (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

25 (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

26 (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

27 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

28 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

29 Ende Gibt es Fragen?


Herunterladen ppt "Formale Analyse kryptografischer Protokolle"

Ähnliche Präsentationen


Google-Anzeigen