Cryptology Academy · Les

SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik

Ontdek de Synthetic IV-modus (SIV) en hoe deze beschermt tegen catastrofaal hergebruik van nonces.

Les 2 van 413 stappen

SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik is een gratis Cryptology Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cryptology Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cryptology Academy bevat in totaal 4 lessen.

Hergebruik van nonce: catastrofale fout

AEAD-cijfers op basis van de CTR-modus, zoals AES-GCM, vereisen voor elke versleuteling een unieke nonce. Als dezelfde nonce met dezelfde sleutel wordt hergebruikt, kan een aanvaller die twee cijferteksten observeert ze met elkaar XOR'en om de XOR van de twee platte teksten te achterhalen. Daarmee wordt de vertrouwelijkheid onmiddellijk verbroken.

Hergebruik van GCM-nonce lekt de authenticatiesleutel

Hergebruik van een nonce in AES-GCM is nog catastrofaler dan in de gewone CTR-modus. Wanneer twee berichten met dezelfde nonce en sleutel worden versleuteld, kan een aanvaller de GHASH-authenticatiesleutel H volledig achterhalen. Met kennis van H kan de aanvaller willekeurige geauthenticeerde berichten vervalsen.

Synthetische IV-modus geïntroduceerd

De SIV-modus, gedefinieerd in RFC 5297, is ontworpen om kwetsbaarheden door noncehergebruik uit te bannen. In plaats van een willekeurige of tellergebaseerde nonce te vereisen, leidt SIV de IV op synthetische wijze af van de platte tekst zelf met behulp van een pseudowillekeurige functie. Daardoor is de modus deterministisch en bestand tegen verkeerd noncegebruik.

Afleidingsmechanisme voor SIV-nonce

In SIV wordt de nonce (de synthetische IV genoemd) berekend als SIV = PRF(key, plaintext, associated_data). Deze IV wordt vervolgens als teller gebruikt voor versleuteling in de CTR-modus. Omdat de IV van de platte tekst wordt afgeleid, levert het versleutelen van dezelfde platte tekst altijd dezelfde cijfertekst op.

Gevolg van noncehergebruik in SIV

Als een nonce in SIV wordt hergebruikt omdat dezelfde platte tekst twee keer wordt versleuteld, weet een waarnemer alleen dat er twee identieke berichten zijn verstuurd. De inhoud van de platte tekst zelf blijft verborgen. Dit is een aanzienlijke verbetering ten opzichte van op CTR gebaseerde AEAD, waarbij noncehergebruik het XOR-resultaat van de platte teksten onthult.

Constructie van AES-SIV

AES-SIV (RFC 5297) gebruikt de S2V-functie, een gekoppelde PRF op basis van AES-CMAC, om de synthetische IV te genereren. Daarna volgt versleuteling met AES-CTR, waarvoor een tweede subsleutel wordt gebruikt. Er zijn twee AES-sleutels nodig, waardoor sleutelbeheer iets complexer is dan bij AEAD-modi met één sleutel.

AES-GCM-SIV: modern alternatief

AES-GCM-SIV (RFC 8452) is een efficiëntere AEAD die bestand is tegen verkeerd noncegebruik en is ontworpen om de prestaties van GCM te combineren met de veiligheid van SIV. Het leidt subsleutels per bericht af van de nonce en gebruikt een Polyval-authenticator. Zo levert het betere prestaties dan AES-SIV, terwijl het bestand blijft tegen nonce-misbruik.

Prestatiekosten van twee doorgangen

SIV vereist twee doorgangen over de gegevens: één om de synthetische IV te berekenen en één voor de versleuteling. Dit verdubbelt ongeveer de rekenkosten ten opzichte van AEAD-modi met één doorgang, zoals AES-GCM. Voor toepassingen waarbij latentie of hoge doorvoer belangrijk is, moet je met deze overhead rekening houden.

Wanneer je SIV boven GCM verkiest

Je verkiest SIV wanneer het genereren van nonces onbetrouwbaar is, wanneer de toepassing staatloos is en geen nonce-teller kan bijhouden, of wanneer deterministische versleuteling vereist is. Voorbeelden zijn het versleutelen van databasevelden waarbij dezelfde waarde altijd dezelfde cijfertekst moet opleveren voor indexering.

Staatloze diensten en deterministische versleuteling

Staatloze microservices die de nonce-status niet tussen replica's kunnen afstemmen, zijn uitstekende kandidaten voor de SIV-modus. In plaats van het risico op onbedoeld noncehergebruik door een globale teller, biedt SIV automatisch veiligheid. Bij sleutelverpakking (RFC 3394) worden ook SIV-principes gebruikt voor deterministische sleutelversleuteling.

SIV in de praktijk

AES-SIV is beschikbaar in belangrijke cryptografische bibliotheken, waaronder libsodium (als crypto_aead_aes256gcm_siv in recente versies) en Google Tink. AES-GCM-SIV wordt ondersteund door BoringSSL en de standaardbibliotheek van Go. Wanneer noncebeheer lastig is, zijn dit veiligere standaardkeuzes dan standaard AES-GCM.

Controle op verkeerd SIV-noncegebruik

Wat gebeurt er wanneer dezelfde sleutel wordt gebruikt om dezelfde platte tekst twee keer te versleutelen met AES-SIV?

Samenvatting van de les: SIV voor nonceveiligheid

De SIV-modus voorkomt catastrofaal noncehergebruik door de IV van de platte tekst zelf af te leiden. Noncehergebruik onthult alleen dat er identieke berichten zijn verstuurd, niet wat ze bevatten. AES-GCM-SIV (RFC 8452) biedt efficiënte weerstand tegen verkeerd noncegebruik voor moderne toepassingen waarin staatloze of deterministische versleuteling nodig is.

Gratis beginnen

Leer Cryptology Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
67
Lessen
261

Veelgestelde vragen

Is de les “SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik” gratis?

Ja — de volledige tekst van “SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cryptology Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cryptology Academy bevat in totaal 4 lessen.

Wat leer ik in “SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik”?

Ontdek de Synthetic IV-modus (SIV) en hoe deze beschermt tegen catastrofaal hergebruik van nonces. Je oefent met Cryptology Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Cryptology Academy te beginnen?

Ervaring vooraf is niet nodig. Cryptology Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Cryptology Academy?

Ja. Elke les over Cryptology Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Waarom Encrypt-Then-MAC beter is dan MAC-Then-Encrypt
  2. SIV-modus: AEAD die bestand is tegen verkeerd noncegebruik
  3. AEGIS: snelle geauthenticeerde versleuteling
  4. AEAD selecteren voor productiesystemen
← Terug naar Cryptology Academy