AES utilizza lo stesso rischio di sicurezza Nonce?

4

Se utilizzo AES-GCM e crittografa i dati con una chiave a 128 bit e utilizzo sempre la stessa Nonce.

Sta usando lo stesso nonce un rischio per la sicurezza? Un hacker può indovinare la chiave? Oppure il Nonce serve solo a verificare che il messaggio non sia stato danneggiato?

Specialmente se criptolo / memorizzo piccole quantità di testo come in un dizionario:

a
aa
b 
bb
c
cc
...

Grazie

    
posta John Smith 13.09.2016 - 22:37
fonte

3 risposte

20

Quando si utilizza AES-GCM, utilizzare lo stesso nonce e la stessa coppia di chiavi per più messaggi è catastrofico. Perdi tutte le garanzie di sicurezza che AES dovrebbe fornire. Questo è lo scenario peggiore che potresti creare. È fondamentale quando si utilizza AES-GCM che il nonce sia mai ripetuto per una determinata chiave. Il modo migliore per garantire ciò è utilizzare un PRNG crittograficamente strong per generare un nuovo nonce a 96 bit per ciascun messaggio e ridigitare a intervalli ragionevolmente regolari, dove "ragionevolmente regolare" è definito da quanti dati e quanti messaggi stai crittografando.

    
risposta data 13.09.2016 - 22:49
fonte
3

Fai riferimento a NIST publicaton SP 800-38A per dettagli sulle migliori pratiche per usare un 'nonce' come IV.

There are two recommended methods for generating unpredictable IVs. The first method is to apply the forward cipher function, under the same key that is used for the encryption of the plaintext, to a nonce. The nonce must be a data block that is unique to each execution of the encryption operation. For example, the nonce may be a counter, as described in Appendix B, or a message number. The second method is to generate a random data block using a FIPS approved random number generator.

Per quanto riguarda la modalità AES-GCM (modalità Galois / Counter); come citato dal documento NIST pubblicato di David A McGrew & John Viega.

The primary purpose of the IV is to be a nonce, that is, to be distinct for each invocation of the encryption operation for a fixed key. It is acceptable for the IV to be generated randomly, as long as the distinctness of the IV values is highly likely.

E naturalmente l'ovvia definizione obbligatoria di un nonce .

    
risposta data 14.09.2016 - 02:21
fonte
3

AES-GCM è un codice di flusso autenticato.

Il nonce verrà utilizzato per la chiave del codice di flusso e la prima regola dei codici di flusso è non parlare di codice di flusso non usare mai la stessa chiave / IV due volte.

Ignorare questa regola porta a errori catastrofici in crittografia.

D'altro canto, il nonce verrà anche usato per prevenire attacchi di "replay" sulla parte di autenticazione del cifrario. Quindi, anche se evitassi magicamente di indebolire direttamente il codice riutilizzando il nonce, indeboliresti ancora l'autenticazione e di conseguenza il codice.

    
risposta data 14.09.2016 - 01:06
fonte

Leggi altre domande sui tag