Forschungsmafia: Titelhandel · Forschungsbetrug · Wissenschaftskorruption · Hochschulkriminalität

Das kryptographische Einschreibe-Problem

Hadmut Danisch
16.6.2008 12:13

Eines der ungelösten Grundprobleme kryptographischer Protokolle ist das Einschreibeproblem. Und auch das kann man in der schnöden Realität wiederfinden.

Das Einschreibeproblem dreht sich – wieder der Name sagt – eben um das Zusenden gegen Quittung, also das Einschreiben. Quittung ist dabei als weiter Begriff anzusehen, es könnte also eine Empfangsbestätigung in Form eines signierten Textes entsprechenden Inhaltes gehen, um eine Bezahlung oder eigentlich jeden beliebigen weiteren Protokollschritt, der auf dem Empfang einer Nachricht beruht. Das Problem tritt auch beim digitalen Bezahlen auf, sowohl in der Theorie, als auch in der Praxis, wie kürzlich beim Tanken beobachtet.

Viele Kryptologen – oder solche, die sich dafür hielten oder ausgaben – meinten schon, das Problem durch irgendwelche spaghetti-artig verstrickten Protokolle lösen zu können. Und machen dabei immer denselben Fehler: Sie gehen von einem Angreifer als dritte Partei aus und unterstellen, daß die beiden Kommunikationspartner nett mitspielen. Den Fall, daß der Angreifer selbst in der Rolle des Kommunikationspartners ist, betrachten sie nicht. Weil sie ihn nicht sehen oder keine Lösung dafür haben.

Dabei ist gerade das das harte Problem. Und dieses Problem ist mit den Mitteln eines normalen kryptographischen Protokolls nicht lösbar. Auch wenn manche das nicht akzeptieren oder zugeben wollen: Es gibt Probleme, die durch reguläre kryptographische Protokolle nicht lösbar sind.

Warum ist das Einschreibeproblem ein solches Problem?

Ich bin jetzt gerade zu faul für den Blog-Eintrag eine Zeichnung zu machen, aber der Grund müßte sich auch verbal darstellen lassen:

Kryptographische Protokolle laufen nach einem bestimmen Grundprinzip ab: Zwei Parteien kommunizieren, indem sie sich gegenseitig Nachrichten zusenden. Einer fängt an und dann läuft es nach dem Ping-Pong-Verfahren. Jeder wartet, empfängt, macht irgendwas, sendet und wartet wieder. Zeichnet man das in den klassischen drei Spalten (A oder Alice, Kommunikation, B oder Bob) mit zeitlicher Abfolge von oben nach unten auf, ergibt sich ein so ein Zick-Zack-Muster, immer schön hin und her. Damit agieren A und B niemals gleichzeitig, sondern eben immer abwechselnd.

Damit kann ein solches Protokoll einen Zustand als Ergebnis einer Kommunikation niemals auf beiden Seiten gleichzeitig erzeugen. Geht man von der Grundannahme aus, daß ein Zustand (Nachricht erhalten, Quittung oder Geld erhalten usw.) immer nur als Folge einer erhaltenen Nachricht eintreten kann, dann können A und B niemals synchron einen neuen Zustand erreichen, weil zu einem Zeitpunkt immer nur einer und nicht beide den Zustand wechseln können.

Der zweite Grund liegt in der Grundannahme, daß ein Zustandswechsel immer nur durch eigenen Empfang und nicht durch Sendung bzw. gegnerischen Empfang erzeugt werden kann: A kann seinen Zustand nicht wechseln, indem es B etwas sendet oder B etwas empfängt, sondern nur indem A etwas empfängt.

Die dritte Grundannahme ist, daß Senden auf freiwilliger Basis erfolgt, daß man also niemanden zum Senden zwingen kann. Anders gesagt: Schweigen, also Abbruch des Protokolls vor dessen Ende zu jedem beliebigen Zeitpunkt ist einer der im Modell möglichen Angriffe.

Und damit kann der Empfang einer Nachricht niemals den Zustand des Absenders ändern, wenn nicht der Empfänger freiwillig mitspielt und eine entsprechende Antwort sendet, weil Empfangen und Quittieren mittels kryptographischer Protokolle nicht als ein atomarer Protokollschritt möglich sind.

Und damit haben alle kryptographischen Protokolle, die auf beiden Seiten einen neuen Zustand als Ergebnis des Protokolllaufs hervorrufen sollen, eine entscheidende Schwäche: Weil es keinen synchronen Vorgang gibt, können niemals beide Seiten synchron den neuen Zustand erreichen, einer ist immer Erster und der andere Zweiter. Und damit gibt es stets zwei kanonische Angriffe:

  • Der Erste kann nach Erreichen seines gewünschten Zustandes (z. B. Erhalt der Ware, der Zahlung, der Quittung, …) das Protokoll abbrechen und damit verhindern, daß der Zweite seinen gewünschten Zustand erreicht.
  • Der Zweite kann später bestreiten, seinen Zustand erreicht zu haben (Geld bekommen, Lizenz bekommen, was auch immer).

    Genau genommen ist das nur eine Inversion des ersten Falles, denn wenn es darauf ankommt, daß der Erste später beweisen kann, daß auch der Zweite seinen Zustand erreicht hat, ist das letztlich nichts anderes als ein separates angefügtes Protokoll, in dem der Zweite nun der Erste und umgekehrt ist, und damit der “Zweite” nun das Protokoll abbricht, bevor der “Erste” als “Dritter” seinen weiteren Zustand eingenommen hat.

    Wie man leicht sieht, läuft das auf eine Endlosschleife hinaus. Der Erste kann nämlich nun analog wieder behaupten, der Zweite habe das Erreichen seines Zustandes nicht quittiert usw. usw. usw.

    Für dieses Problem müssen die Teilnehmer des Protokolls nicht einmal verfeindet sein, selbst bei kooperativen Teilnehmern tritt ein sehr eng verwandtes Problem auf und ist auch als “Zwei-Armeen-Problem ” bekannt. Auch das ist kryptographisch nicht lösbar.

(Zur Quellenangabe: Zugegebenermaßen ist das nicht ganz alles auf meinem Mist gewachsen, sondern geht auf die Fachgespräche am früheren Europäischen Institut für Systemsicherheit E.I.S.S. zurück, in denen wir das mit dem Zick-Zack irgendwann in der ersten Hälfte der neunziger Jahre diskutiert hatten. Ich weiß aber nicht mehr, ob das damals mit Patrick Horster oder Dieter Gollmann war. )

Darin liegt einer der Hauptgründe, warum die Einsatzgebiete kryptographischer Protokolle oft weit überschätzt werden. Eigentlich muß man ein kryptographisches Protokoll als ein ganz besonderes Automatenmodell ansehen, nämlich als Verbindung von zwei zustandsbasierten Automaten, die abwechselnd agieren und jeweils die Ausgabe des anderen als Eingabe verwenden. Und kryptographische Protokolle sind dann eben auf das beschränkt, was dieses Automatenmodell berechnen kann. Kryptographie ist damit mindestens durch eine bestimmte Berechenbarkeitsklasse beschränkt. Und sie ist keineswegs allmächtig, was man manchen “Universitätswissenschaftlern”, die die Kryptographie immer wieder als die universelle und alles andere abdeckende Königsdisziplin hinstellen, mal um die Ohren hauen sollte.

Ob die Quantenkryptographie dazu andere Automatenmodelle finden und damit die Mächtigkeitsklasse erweitern kann, will ich mal dahingestellt lassen.

Was mich jetzt gerade dazu gebracht hat, uralte Erkenntnisse aus der Rumpelkammer meines Hirns hervorzuholen?

Mir hat kürzlich einer eine Schramme ins Auto gefahren.

Der erste Versuch, ihm einen Brief zu schreiben, scheiterte daran, daß er kurz nach dem Ereignis so ganz spontan umgezogen und unter der angegebenen Adresse nicht mehr erreichbar war. Der Brief kam mit “Empfänger unbekannt verzogen” zurück.

Immerhin stimmte die Handy-Nummer, und er geht sogar ans Telefon, wenn ich meinerseits die Rufnummernübermittlung unterdrücke (wieder ein kryptographischer/sicherheitstechnischer Aspekt: Wenn ich meine Nummer übermittle, dann kann er entscheiden, den Anruf nicht anzunehmen, das Protokoll also abzubrechen. Rufe ich aber anonym an, also zunächst mal ohne sendung einer identifikation, und er nimmt ab und meldet sich, dann hat er zuerst was konkretes gesendet und damit quittiert. Hihi.)

Den zweiten Brief habe ich per Einschreiben-Rückschein (klassisches Zweitschritt-Verfahren für Sendung und Quittung) hingeschickt, er hat ihn aber (zumindest bis Samstag) nicht abgeholt. Die Post meinte auf ihrem Webserver, daß man ihn nicht angetroffen aber benachrichtigte habe und die Sendung seither auf dem Postamt der Abholung harrt. Auf die telefonische Anfrage, warum er denn die Sendung nicht abhole, bestritt er, eine solche Benachrichtigung – also so einen Zettel im Briefkasten – bekommen zu haben. Was natürlich insofern heikel ist, als er ja spätestens durch die zwei Telefonate weiß, was in dem Brief steckt. Würde er es nicht wissen und erst auf dem Postamt fragen müssen, von wem der Brief kommt, könnte er ihn nicht mehr “nicht abholen” sondern wäre gleich bei “Annahme verweigert” und damit dem Nachweis, daß die Sendung grundsätzlich angekommen ist und er den nächsten Protokollschritt verweigert hat. So aber bin ich noch immer in Beweisnot, das die Sendung ihn überhaupt erreicht hat. Das Handy-Telefonat ist bezüglich des Inhaltes nicht beweisbar.

Interessanterweise steht auch die Post vor dem Problem, daß sie die Sendung der Benachrichtigung nicht beweisen kann. Man müßte also auch den Benachrichtigungszettel selbst, daß ein Einschreiben abzuholen wäre, per Einschreiben schicken. Und so weiter und so fort.

Obwohl der Mann ganz sicher kein Kryptologe ist und von Kryptographie keine Ahnung hat, hat der schon ganz gut kapiert, wo die Schwachstellen bei solcherlei Kommunikation nach dem kryptographischen Grundmuster liegen und nutzt sie auch ganz nett aus.

Allerdings übersieht er dabei eine Kleinigkeit: Anders als bei kryptographischen Protokollen bin ich nicht an das Automaten- bzw. Kommunikationsmodell gebunden sondern habe zwei Möglichkeiten, das Modell zu verlassen:

  • Ich kann Mahnbescheid beantragen bzw. Klage erheben. Im Mahnverfahren gibt es zunächst die Zustellung per Zustellungsurkunde. Da funktioniert der Angriff durch Schweigen nicht, weil da die Sendung durch Zeugen und damit auch ohne Mitwirken des Empfängers wirksam zustellt wird. Wer schweigt, kann damit nicht angreifen.

    Schweigt er weiter, wird aus dem Mahnverfahren ein vollstreckbarer Titel, ein Abbruch des Protokolls führt also automatisch zum Sieg der Gegenseite und ist kein tauglicher Angriff.

  • Ich kann direkt an den Fahrzeughalter und dessen Haftpflichtversicherung gehen. Da der Mann mir sagte, daß es sich um einen Firmenwagen handelt und er es unbedingt vermeiden wollte, daß er da Ärger bekommt, habe ich das zunächst mal hingenommen und sein Angebot, das selbst zu zahlen, angenommen. Wenn der hier noch lange rumkaspert, gehe ich direkt an die Versicherung und dann hat er den Salat, den er vermeiden wollte, und zwar noch viel dicker. Auch hier ist Schweigen kein tauglicher Angriff.

Man sollte sich also immer mal überlegen, ob Schweigen bzw. Abbruch des Protokolls gerade als Angriff taugt.

2 Kommentare (RSS-Feed)

yasar
16.6.2008 17:10
Kommentarlink

1. Die Diskussionen IRC müßten es noch zu Zeiten von Dieter Gollmann gewesen sein, allerdings kann mich natürlich auch mein Gedächtnis täuschen.

2. es gibt immer noch die Möglichkeit persönlich vor Ort aufzutauchen, was allerdings bei deiner Statur nur funktioniert, wenn Du Deinen großen “russischen” Bruder mitbringst. Lohnt sich aber wirklich nur für größeren Beträge. 🙂


Zugschlus
22.6.2008 13:08
Kommentarlink

Das Einwurf-Einschreiben gibt immerhin Ansätze für die Lösung der Probleme der dokumentierten Auslieferung (Postler wirft Einschreiben in den Briefkasten, dokumentiert dies) und der Nichtabholung eines benachrichtigten Einschreibens.