Modalità SIV: AEAD resistente all’uso improprio dei nonce
Esplori la modalità Synthetic IV (SIV) e come protegge dal riutilizzo catastrofico dei nonce.
Modalità SIV: AEAD resistente all’uso improprio dei nonce è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Riutilizzo del nonce: un errore catastrofico
I cifrari AEAD basati sulla modalità CTR, come AES-GCM, richiedono un nonce univoco per ogni cifratura. Se lo stesso nonce viene riutilizzato con la stessa chiave, un attaccante che osserva due testi cifrati può applicare XOR tra loro per recuperare lo XOR dei due testi in chiaro, compromettendo immediatamente la riservatezza.
Il riutilizzo del nonce in GCM divulga la chiave di autenticazione
Il riutilizzo del nonce in AES-GCM è ancora più catastrofico che nella modalità CTR semplice. Quando due messaggi vengono cifrati con lo stesso nonce e la stessa chiave, un attaccante può recuperare completamente la chiave di autenticazione GHASH H. Una volta nota H, l'attaccante può contraffare messaggi autenticati arbitrari.
Introduzione della modalità Synthetic IV
La modalità Synthetic IV (SIV), definita nella RFC 5297, è stata progettata per eliminare le vulnerabilità dovute al riutilizzo dei nonce. Anziché richiedere un nonce casuale o basato su un contatore, SIV deriva sinteticamente l'IV dal testo in chiaro stesso usando una funzione pseudocasuale, rendendola deterministica e resistente all'uso improprio dei nonce.
Meccanismo di derivazione del nonce SIV
In SIV, il nonce, chiamato IV sintetico, viene calcolato come SIV = PRF(key, plaintext, associated_data). Questo IV viene poi usato come contatore per la cifratura in modalità CTR. Poiché l'IV deriva dal testo in chiaro, la cifratura dello stesso testo in chiaro produce sempre lo stesso testo cifrato.
Conseguenza del riutilizzo del nonce in SIV
Se in SIV un nonce viene riutilizzato perché lo stesso testo in chiaro viene cifrato due volte, un osservatore scopre soltanto che sono stati inviati due messaggi identici. Il contenuto del testo in chiaro resta nascosto. Si tratta di un miglioramento notevole rispetto all'AEAD basato su CTR, in cui il riutilizzo del nonce rivela lo XOR dei testi in chiaro.
Costruzione di AES-SIV
AES-SIV (RFC 5297) utilizza la funzione S2V (una PRF concatenata basata su AES-CMAC) per generare l'IV sintetico, seguita dalla cifratura AES-CTR con una seconda sottochiave. Richiede due chiavi AES, rendendo la gestione delle chiavi leggermente più complessa rispetto alle modalità AEAD con una sola chiave.
AES-GCM-SIV: alternativa moderna
AES-GCM-SIV (RFC 8452) è un'AEAD più efficiente e resistente all'uso improprio dei nonce, progettato per combinare le prestazioni di GCM con la sicurezza tipica di SIV. Deriva sottochiavi specifiche per ogni messaggio dal nonce e utilizza un autenticatore Polyval, ottenendo prestazioni migliori di AES-SIV e mantenendo la resistenza all'uso improprio dei nonce.
Costo prestazionale di due passaggi
SIV richiede due passaggi sui dati: uno per calcolare l'IV sintetico e uno per la cifratura. Questo raddoppia approssimativamente il costo computazionale rispetto alle modalità AEAD a passaggio singolo, come AES-GCM. Per le applicazioni sensibili alla latenza o con throughput elevato, è necessario tenere conto di questo sovraccarico.
Quando preferire SIV a GCM
Si preferisce SIV quando la generazione dei nonce non è affidabile, quando l'applicazione è stateless e non può mantenere un contatore dei nonce oppure quando è necessaria una cifratura deterministica. Un esempio è la cifratura dei campi di un database in cui lo stesso valore deve produrre sempre lo stesso testo cifrato per consentire l'indicizzazione.
Servizi stateless e cifratura deterministica
I microservizi stateless che non possono coordinare lo stato dei nonce tra le repliche sono candidati ideali per la modalità SIV. Invece di rischiare il riutilizzo accidentale dei nonce attraverso un contatore globale, SIV offre automaticamente la protezione necessaria. Anche il key wrapping (RFC 3394) utilizza principi di SIV per la cifratura deterministica delle chiavi.
SIV nella pratica
AES-SIV è disponibile nelle principali librerie crittografiche, tra cui libsodium (come crypto_aead_aes256gcm_siv nelle versioni recenti) e Google Tink. AES-GCM-SIV è supportato da BoringSSL e dalla libreria standard di Go. Quando la gestione dei nonce è difficile, queste sono scelte predefinite più sicure rispetto ad AES-GCM standard.
Verifica dell'uso improprio del nonce in SIV
Che cosa succede quando la stessa chiave viene utilizzata per cifrare due volte lo stesso testo in chiaro con AES-SIV?
Riepilogo della lezione: SIV per la sicurezza dei nonce
La modalità SIV elimina le conseguenze catastrofiche del riutilizzo dei nonce derivando l'IV dal testo in chiaro stesso. Il riutilizzo del nonce rivela soltanto che sono stati inviati messaggi identici, non il loro contenuto. AES-GCM-SIV (RFC 8452) offre un'efficiente resistenza all'uso improprio dei nonce per le applicazioni moderne che richiedono una cifratura stateless o deterministica.
Impara Cryptology Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 67
- Lezioni
- 261
Domande Frequenti
La lezione «Modalità SIV: AEAD resistente all’uso improprio dei nonce» è gratuita?
Sì — il testo completo di «Modalità SIV: AEAD resistente all’uso improprio dei nonce» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Modalità SIV: AEAD resistente all’uso improprio dei nonce»?
Esplori la modalità Synthetic IV (SIV) e come protegge dal riutilizzo catastrofico dei nonce. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Modalità SIV: AEAD resistente all’uso improprio dei nonce»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché Encrypt-Then-MAC è migliore di MAC-Then-Encrypt
- Modalità SIV: AEAD resistente all’uso improprio dei nonce
- AEGIS: cifratura autenticata ad alta velocità
- Selezionare AEAD per i sistemi di produzione