One Time Pad
  One-Time-Codes
 
Vorausgesetzt wird: Zufall erzeugen, Daten aufbewahren

Sicherheitsregeln im Überblick:
  • Jeder One-Time-Code ist nur einmal zu meinen. Das bedeutet, dass ein Code nicht zweimal gesendet werden darf, um dessen Bedeutung zweimal auszudrücken. Eine Wiederholung des Codes darf alleine aus technischen Gründen (die Übertragung schlug fehl oder es ist unbekannt, ob die Übertragung erfolgreich lief) erfolgen. Sobald der Code einmal gesendet wurde, muss davon ausgegangen werden, dass Angreifer den Code in schädlicher Absicht wiederholen.
  • Die Codes müssen geheim gehalten werden. Der Austausch des Blattes mit den Codes darf nur persönlich erfolgen und jeder Code sollte nach der Übertragung bzw. nach dem Empfang vernichtet werden. Daraus folgt die Notwendigkeit, wasserlösliches Papier oder vergleichbar leicht zerstörbare Medien zu verwenden.
  • Der Zufall der OTCs muss gleichverteilt sein, und aus einem transparenten mechanischen Prozess hervorgegangen sein. Computer oder das "Ausdenken" vermeintlichen Zufalls sind hierfür ungeeignet.
  • Die Anzahl der Codes muss vernachlässigbar niedrig gegenüber dem Schlüsselraum sein. Wenn Codes aus fünf Ziffern verwendet werden, entspricht dies 100.000 möglichen Codes. Die Anzahl definierter Codes sollte unter 40 liegen.
One-Time-Codes sind Codes, um vorab vereinbarte Nachrichten zu übermitteln. Der Vorteil liegt in der spontanen Nutzung und leichten Erlernbarkeit; Nachteile sind, dass keine beliebig formulierten Texte (sondern eben vorab Vereinbartes) übertragen werden können. Daher lassen sich nur Dinge mitteilen, die im Rahmen der Vorhersehbarkeit liegen. Außerdem gibt es einige Grenzen der sicheren Nutzung zu beachten.

Im einfachsten Fall wird aufgelistet, was für Ereignisse sich mitteilen lassen sollen, und diesen ein zufälliger Code aus fünf Ziffern zugeordnet:

Beispiel einer One-Time-Code-Liste
Nachricht Code
Angaben erst morgen möglich 81189
Defekt konnte behoben werden 76154
Defekt lässt sich nicht beheben 52565
Defekt nur vorübergehend behoben 78068
Ursache war Stromleitung 97364
Ursache war Pumpe 10860

In diesem Szenario scheint es um eine defekte technische Anlage zu gehen (es sind natürlich beliebige Situationen denkbar, in denen One-Time-Codes nützlich sind).

Im einfachsten Fall sendet man nun den Code, dessen Bedeutung man mitteilen will, an dem Empfänger, mit dem man zuvor die Liste ausgetauscht hat. Dieser kann den Code wieder zuordnen und weiß, was der Absender gemeint hat. Dabei ist wichtig, dass jeder Code nur einmal mitgeteilt wird. Eine Wiederholung des Code darf zwar erfolgen, wenn er fehlerhaft übermittelt wurde; der mehrfache Ausdruck seiner Bedeutung verstößt jedoch gegen das Prinzip der Einmaligkeit.

Betrachtung der Sicherheit
Da die Codes zufällig erzeugt wurden, kann ein Angreifer ihre Bedeutung nicht erschließen. Allenfalls sind grobe Schlussfolgerungen durch externe Informationen möglich. Wenn Alice Schachspielerin ist und nach jedem Spiel einen Code an Bob sendet, ist naheliegend, dass sie mitteilt, wie das Spiel ausgegangen ist - es gibt in diesem Fall jedoch keine intrinsischen Hinweise darauf, denn letztlich sendet sie ihm eine Zufallszahl.

Ein Angreifer kann auch keine Störungen provozieren, indem er die Codes wiederholt. Der wiederholte Ausdruck der Bedeutung eines Codes ist nicht vorgesehen und das erneute Senden eines Codes wird daher lediglich als Bestätigung, dass dieser Code vorher legitim gesendet wurde, wahrgenommen.

Der Angreifer kann die Reihenfolge der Codes beliebig verändern und gezielt alle oder ausgewählte Codes zurückhalten. Daher ist wichtig, dass die Bedeutung der Codes kontextlos ist. Um etwa mitzuteilen, wer bei einem Wettbewerb den ersten, zweiten und dritten Platz hat, genügt es nicht, Codes für alle Beteiligten zu definieren, und zuerst den Code von Platz 1, dann von Platz 2 und schließlich von Platz 3 zu senden. Es muss nämlich davon ausgegangen werden, dass durch eine technische Störung oder einen bewussten Angriff die Reihenfolge den Empfänger entstellt erreicht.

Außerdem kann ein Angreifer einen Denial-of-Service-Angriff begehen, indem er "gewaltsam" tausende Codes sendet, und dabei unweigerlich auf gültige trifft. Ist ein solches Problem zu befürchten, kann die Länge der Codes so angepasst werden, dass das Risiko eines willkürlichen Treffers unwahrscheinlich bleibt.

Schließlich muss immer davon ausgegangen werden, dass ein Angreifer oder ein technischer Fehler die Übertragung der Nachrichten komplett unterbindet oder verzögert. Dieses Problem kann die Kryptografie selbst nicht lösen.

Bedeutungslose Codes
Damit Angreifer nicht feststellen können, wann man tatsächlich Codes gesendet hat, sollten einige Codes im Voraus definiert werden, die explizit keine Bedeutung tragen. Diese müssen auch als solche in der Codeliste vermerkt sein, denn sonst lassen sie sich nicht von willkürlich gesendeten Codes eines Angreifers oder von technischen Störungen unterscheiden.

Mit bedeutungslosen Codes
Nachricht Code
Angaben erst morgen möglich 81189
Defekt konnte behoben werden 76154
Defekt lässt sich nicht beheben 52565
Defekt nur vorübergehend behoben 78068
Ursache war Stromleitung 97364
Ursache war Pumpe 10860
Ohne Bedeutung Nr. 1 86827
Ohne Bedeutung Nr. 2 96195
Ohne Bedeutung Nr. 3 05771
Ohne Bedeutung Nr. 4 29498

Besteht das Bedürfnis, die Muster der Kommunikation weitergehend zu verschleiern, kann strikt in einem festen Intervall gesendet werden, etwa alle fünf Minuten. Bei jeder Gelegenheit wird dann entweder ein "echter" Code mit der jeweiligen Bedeutung oder einer der Codes ohne Bedeutung übertragen. Der periodische Versand der Codes erfordert naturgemäß hohe Aufmerksamkeit.
 
   
 
Diese Webseite wurde kostenlos mit Webme erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden