2b. Kryptographische Protokolle

Verfeinerte Modellierung kryptographischer Protokolle


Was lernen wir aus dem Beispiel?

Wir wollten die Vertraulichkeit schützen und nahmen daher an, dass E die Angreiferin ist. Aber:

D. h., das Protokoll »hybride Verschlüsselung« war unvollständig spezifiziert und dadurch unsicher.

Ziel formaler Spezifikationsmethoden:

Dieses Ziel ist bisher unerreicht - erfolgreicher sind pragmatische Ansätze, die auf dem »gesunden Menschenverstand« und sorgfältigem Analysieren der Situation beruhen (»semiformale Ansätze«).


Maßnahmen gegen einen aktiven Angriff

(gegen den Mann in der Mitte)

Solche Erweiterungen des Protokolls erzwingen, dass M bei realer Umsetzung seines Angriffs stets präsent sein muss, um den gesamten Nachrichtenstrom zu filtern, also:


Ansätze zur verfeinerten Modellierung

Modellierung von M (formal komplizierter als für E). Evtl. »Vernichten von Daten« modellieren.

Zusätzlich ins Modell einbauen:

Modellierung von »Vertrauen«.

Differenzierung von Angreifern nach Motiven, Absichten und Fähigkeiten.

Noch manches lässt sich modellieren. Das Problem dabei ist,


Schwierigkeiten bei Modellierung und Sicherheitsnachweis


Formale Analyse kryptographischer Protokolle (Übersicht)

(Auch bekannt als »formalisierte Paranoia«.)

A. D. Rubin/ P. Honeyman: Formal methods for the analysis of authentication protocols. http://www.citi.umich.edu/techreports/reports/citi-tr-93-7.pdf

Klassifikation der Methoden nach Catherine Meadows:

  1. Allgemeine Spezifikationssprachen und Verifikationsmethoden.
  2. Expertensysteme, die verschiedenen Szenarien analysieren.
  3. Logik von Wissen und Glauben formalisieren.
  4. Algebraische Termersetzungen in kryptographischen Systemen.

Praktikable Ansätze zur Realisierung:


Probleme der formalen Analyse

Keine Methode führt zu einem vollständigen formalen Sicherheitsbeweis.

Ausgewählte Probleme (nach Peter Gutmann):

Was bleibt?

Nutzen für eng umgrenzte Teilprobleme - als Teil der Fehlersuche.

»Wie bei den meisten Verifikationstechniken liegt der Nutzen weitgehend in der Identifikation von Fehlern und weniger im Nachweis, dass alles perfekt ist.« (Peter G. Neumann)


Weiterführende Literatur

Ross Anderson: Why cryptosystems fail. Communications of the ACM 37 (1994), 32 - 40. [online im WWW unter http://www.cl.cam.ac.uk/users/rja14/wcf.html]

Peter G. Neumann: Architectures and Formal Representations for Secure Systems. Final Reprot SRI Project 6401, 1995. [online im WWW unter http://www.csl.sri.com/papers/csl-96-05/]

BSI-Projekt Formale Methoden.

Bruce Schneier: Why cryptography is harder then it looks. Security Bulletin 2/2 (1997), 31 - 36. [online im WWW unter http://www.counterpane.com/whycrypto.html]

Bruce Schneier, Adam Shostack: Breaking up is hard to do: Modeling security Threats for smart cards. 1999. [online im WWW unter http://www.counterpane.com/smart-card-threats.html]

Ken Thompson: Reflections on trusting trust. Communications of the ACM 27 (1984), 761 - 763. [online im WWW unter http://www.acm.org/classics/sep95/]

Committee on Information Systems Trustworthiness, National Research Council: Software for Networked Information Systems. [online im WWW unter http://www.nap.edu/readingroom/books/trust/trust-3.htm], Kapitel 3 des Buchs Trust in Cyberspace.

Peter Gutmann: The Design and Verification of a Cryptographic Security Architecture (Dissertation). [online im WWW unter http://www.cs.auckland.ac.nz/~pgut001/pubs/thesis.html], .

Das beinahe enzyklopädische Verzeichnis von kryptographischen Protokollen aller Art ist die »Applied Cryptography« von Bruce Schneier, siehe das Literaturverzeichnis.

Helger Lipmaa hat eine umfangreiche Liste mit Links zum Thema »Authentication Logic«, wo man auch viele formale Verifikationsansätze findet.


Autor: Klaus Pommerening, 31. März 1999; letzte Änderung: 17. Juli 2007.
E-Mail an
Pommerening »AT« imbei.uni-mainz.de.