- Chaffing and Winnowing
-
Der Spreu-und-Weizen-Algorithmus, auch Chaffing and Winnowing (englisch to winnow the chaff from the wheat – die Spreu vom Weizen trennen) ist ein Verfahren zur Geheimhaltung beim Versenden von Daten, ohne dass die Daten dabei verschlüsselt werden. Die Technik wurde im Jahr 1998 von Ronald L. Rivest vorgestellt. Chaffing and Winnowing ist eine Alternative zu Steganographie und Kryptographie.
Der Absender unterteilt dabei die Nachricht in einzelne Datenpakete. Jedes der Datenpakete verfügt über eine fortlaufende Nummer, die ihm bei der Aufteilung der Nachricht in Datenpakete zugeteilt wird. Diese Nummer wird benötigt, um fehlende oder doppelt vorhandene Datenpakete identifizieren zu können und um beim Empfänger die richtige Reihenfolge der Nachricht wiederherstellen zu können.
Der Absender authentisiert jedes einzelne Datenpaket mit einem geheimen Authentifizierungsschlüssel. Das bedeutet, der Absender fügt jedem Datenpaket einen Message Authentication Code (MAC) hinzu. Der MAC ergibt sich als Ergebnis einer Berechnung, das von der fortlaufenden Nummer und dem Inhalt des Datenpakets sowie vom Authentifizierungsschlüssel abhängig ist. Als Algorithmus für diese Berechnung kann ein üblicher MAC-Algorithmus wie beispielsweise HMAC-SHA1 (Hashed Message Authentication Code – Secure Hash Algorithmus 1) verwendet werden.
Der Authentifizierungsschlüssel ist ein geheimer Schlüssel, der nur dem Sender und dem Empfänger der Nachricht bekannt sein darf. Der Sender und der Empfänger können jederzeit einen neuen geheimen Authentifizierungsschlüssel vereinbaren (beispielsweise mit dem Diffie-Hellman-Verfahren).
Anschließend werden zufällig unsinnige, aber formal „korrekte" Datenpakete dazugemischt. Diese Datenpakete sollten eine „passende“ fortlaufende Nummer und einen „sinnvollen Text“ enthalten und werden mit einem für dieses Datenpaket ungültigen MAC versehen.
Der legitime Empfänger kann die Authentizität überprüfen, indem er für ein eingelangtes Datenpaket mit dem ihm bekannten Authentifizierungsschlüssel den MAC berechnet und das Ergebnis mit dem für dieses Datenpaket übermittelten MAC vergleicht. Wenn der Vergleich keine Übereinstimmung ergibt, werden dieses Datenpaket und der dazugehörige MAC verworfen.
Mit Chaffing and Winnowing wird zwar der Umfang der übermittelten Botschaft vergrößert, aber es scheint, wenn die Datenpakete klein genug sind, eine hohe Sicherheit zu bieten, ohne dass dabei eine Verschlüsselung der Daten vorgenommen wird.
Beispiel
Wir wollen folgende Nachricht geheim versenden: „Hallo Bob wir sehen uns morgen um 12h. Alice“
Umwandlung in Datenpakete und MAC hinzufügen: (alle Datenpakete haben die Form Seriennummer, Botschaft, MAC)
(1, Hallo Bob, 465231) (2, wir sehen, 782290) (3, uns morgen um, 344287) (4, 12h. Alice, 312265)
nun wird chaff erzeugt:
(1, Hallo Larry, 532105) (2, ich ruf dich, 793122) (3, morgen früh, 891231) (4, an. Susan, 553419)
Nachricht die versendet wird:
(1, Hallo Larry, 532105) (1, Hallo Bob, 465231) (2, wir sehen, 782290) (2, ich ruf dich, 793122) (4, an. Susan, 553419) (3, uns morgen um, 344287) (3, morgen früh, 891231) (4, 12h. Alice, 312265)
Weblinks
Wikimedia Foundation.