Cryptology Academy · Lektion

SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung

Erkunden Sie den Synthetic-IV-(SIV-)Modus und wie er vor einer katastrophalen Wiederverwendung von Nonces schützt.

Lektion 2 von 413 Schritte

SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Nonce-Wiederverwendung: Ein katastrophaler Fehler

AEAD-Chiffren im CTR-Modus wie AES-GCM erfordern für jede Verschlüsselung eine eindeutige Nonce. Wird dieselbe Nonce mit demselben Schlüssel wiederverwendet, kann ein Angreifer, der zwei Chiffretexte beobachtet, diese per XOR verknüpfen und so das XOR der beiden Klartexte ermitteln, wodurch die Vertraulichkeit sofort gebrochen ist.

GCM-Nonce-Wiederverwendung gibt den Authentifizierungsschlüssel preis

Die Wiederverwendung einer Nonce in AES-GCM ist noch katastrophaler als im einfachen CTR-Modus. Werden zwei Nachrichten unter derselben Nonce und demselben Schlüssel verschlüsselt, kann ein Angreifer den GHASH-Authentifizierungsschlüssel H vollständig ermitteln. Ist H bekannt, kann der Angreifer beliebige authentifizierte Nachrichten fälschen.

Synthetic-IV-Modus eingeführt

Der in RFC 5297 definierte Synthetic-IV-Modus (SIV) wurde entwickelt, um Schwachstellen durch die Wiederverwendung von Nonces zu beseitigen. Statt eine zufällige oder auf einem Zähler basierende Nonce vorauszusetzen, leitet SIV die IV mithilfe einer pseudorandomisierten Funktion synthetisch aus dem Klartext ab. Dadurch ist das Verfahren deterministisch und gegen die fehlerhafte Verwendung von Nonces resistent.

Mechanismus zur SIV-Nonce-Ableitung

Bei SIV wird die Nonce, die als Synthetic IV bezeichnet wird, als SIV = PRF(key, plaintext, associated_data) berechnet. Diese IV wird anschließend als Zähler für die Verschlüsselung im CTR-Modus verwendet. Da die IV aus dem Klartext abgeleitet wird, erzeugt die Verschlüsselung desselben Klartexts immer denselben Chiffretext.

Folge der Nonce-Wiederverwendung in SIV

Wenn eine Nonce in SIV wiederverwendet wird, weil derselbe Klartext zweimal verschlüsselt wird, erfährt ein Beobachter nur, dass zwei identische Nachrichten gesendet wurden. Der Inhalt des Klartexts bleibt verborgen. Das ist eine deutliche Verbesserung gegenüber CTR-basiertem AEAD, bei dem die Wiederverwendung einer Nonce das XOR der Klartexte offenlegt.

AES-SIV-Konstruktion

AES-SIV (RFC 5297) verwendet die S2V-Funktion (eine verkettete PRF auf Basis von AES-CMAC), um die synthetische IV zu erzeugen, gefolgt von einer AES-CTR-Verschlüsselung mit einem zweiten Unterschlüssel. Dafür sind zwei AES-Schlüssel erforderlich, wodurch die Schlüsselverwaltung etwas komplexer ist als bei AEAD-Modi mit nur einem Schlüssel.

AES-GCM-SIV: Moderne Alternative

AES-GCM-SIV (RFC 8452) ist ein effizienterer, gegen Nonce-Missbrauch resistenter AEAD-Modus, der die Leistung von GCM mit der Sicherheit von SIV verbinden soll. Er leitet aus der Nonce Unterschlüssel pro Nachricht ab und verwendet einen Polyval-Authenticator. Dadurch erreicht er eine bessere Leistung als AES-SIV und bleibt zugleich gegen Nonce-Missbrauch resistent.

Leistungskosten zweier Durchläufe

SIV erfordert zwei Durchläufe über die Daten: einen zur Berechnung der synthetischen IV und einen zur Verschlüsselung. Dadurch verdoppeln sich die Rechenkosten im Vergleich zu AEAD-Modi mit nur einem Durchlauf wie AES-GCM ungefähr. Bei Anwendungen mit hohen Anforderungen an Latenz oder Durchsatz müssen Sie diesen Mehraufwand berücksichtigen.

Wann Sie SIV gegenüber GCM bevorzugen sollten

SIV wird bevorzugt, wenn die Erzeugung von Nonces unzuverlässig ist, wenn die Anwendung zustandslos ist und keinen Nonce-Zähler verwalten kann oder wenn deterministische Verschlüsselung erforderlich ist. Beispiele sind die Verschlüsselung von Datenbankfeldern, bei denen derselbe Wert für Indexierungszwecke stets denselben Ciphertext ergeben soll.

Zustandslose Dienste und deterministische Verschlüsselung

Zustandslose Microservices, die den Nonce-Zustand nicht über mehrere Replikate hinweg koordinieren können, sind besonders geeignete Kandidaten für den SIV-Modus. Statt eine versehentliche Wiederverwendung von Nonces durch einen globalen Zähler zu riskieren, bietet SIV automatisch Sicherheit. Auch beim Key-Wrapping (RFC 3394) werden SIV-Prinzipien für die deterministische Schlüsselverschlüsselung eingesetzt.

SIV in der Praxis

AES-SIV ist in wichtigen kryptografischen Bibliotheken verfügbar, darunter libsodium (in aktuellen Versionen als crypto_aead_aes256gcm_siv) und Google Tink. AES-GCM-SIV wird von BoringSSL und der Go-Standardbibliothek unterstützt. Wenn die Verwaltung von Nonces schwierig ist, sind diese Modi sicherere Standardoptionen als gewöhnliches AES-GCM.

Überprüfung auf Nonce-Missbrauch bei SIV

Was geschieht, wenn derselbe Schlüssel verwendet wird, um denselben Klartext zweimal mit AES-SIV zu verschlüsseln?

Lektionsrückblick: SIV für Nonce-Sicherheit

Der SIV-Modus verhindert katastrophale Folgen der Nonce-Wiederverwendung, indem er die IV aus dem Klartext ableitet. Die Wiederverwendung einer Nonce verrät nur, dass identische Nachrichten gesendet wurden, nicht deren Inhalt. AES-GCM-SIV (RFC 8452) bietet eine effiziente Resistenz gegen Nonce-Missbrauch für moderne Anwendungen, die zustandslose oder deterministische Verschlüsselung benötigen.

Kostenlos starten

Lerne Cryptology Academy mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
67
Lektionen
261

Häufig gestellte Fragen

Ist die Lektion „SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung“ kostenlos?

Ja — der vollständige Text von „SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung“?

Erkunden Sie den Synthetic-IV-(SIV-)Modus und wie er vor einer katastrophalen Wiederverwendung von Nonces schützt. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum Encrypt-Then-MAC besser ist als MAC-Then-Encrypt
  2. SIV-Modus: AEAD mit Schutz vor Noncen-Fehlverwendung
  3. AEGIS: Hochperformante authentifizierte Verschlüsselung
  4. AEAD für Produktionssysteme auswählen
← Zurück zu Cryptology Academy