Crittografia autenticata deterministica con dati associati (AEAD deterministici)

La primitiva Deterministic Authenticated Encryption with Associated Data (Deterministic AEAD) fornisce la crittografia con una proprietà deterministica: la crittografia degli stessi dati produce sempre lo stesso testo criptato. Questo tipo di crittografia è utile per il wrapping delle chiavi o per alcuni schemi di ricerca su dati criptati (per maggiori informazioni, consulta la sezione 1.3 della RFC 5297). A causa della sua proprietà deterministica, le implementazioni di questa primitiva possono portare alla perdita di segretezza perché un malintenzionato deve solo scoprire il testo cifrato per un determinato messaggio per identificare altre istanze di quel messaggio.

AEAD deterministico ha le seguenti proprietà:

  • Secrecy: non si conosce nulla del testo non crittografato, tranne la sua lunghezza e l'uguaglianza dei testi non crittografati ripetuti.
  • Autenticità: è impossibile modificare il testo non crittografato sottostante il testo crittografato senza che ciò venga rilevato.
  • Simmetrica: la crittografia del testo non crittografato e la decrittografia del testo crittografato vengono eseguite con la stessa chiave.
  • Deterministica: se la chiave primaria non viene modificata, la crittografia di un testo non crittografato due volte con gli stessi parametri genera lo stesso testo crittografato.

Dati associati

AEAD deterministico può essere utilizzato per collegare il testo cifrato a dati associati specifici. Supponiamo di avere un database con i campi user-id e encrypted-medical-history. In questo scenario, user-id può essere utilizzato come dati associati durante la crittografia di encrypted-medical-history. In questo modo, un malintenzionato non può trasferire la storia clinica da un utente a un altro.

I dati associati sono facoltativi. Se specificata, la decrittografia ha esito positivo solo se gli stessi dati associati vengono passati alle chiamate di crittografia e decrittografia.

Scegli un tipo di chiave

Consigliamo il tipo di chiave AES256_SIV per tutti i casi d'uso.

Garanzie di sicurezza

  • Efficacia dell'autenticazione di almeno 80 bit.
  • Il testo normale e i dati associati possono avere lunghezze arbitrarie (entro l'intervallo 0-232 byte).
  • livello di sicurezza a 128 bit contro gli attacchi di recupero delle chiavi e anche negli attacchi multiutente con un massimo di 232 chiavi. Ciò significa che se un avversario ottiene 232 testi criptati dello stesso messaggio criptati con 232 chiavi, deve eseguire 2128 calcoli per ottenere una singola chiave.
  • La possibilità di criptare in modo sicuro 238 messaggi, a condizione che ciascuno sia inferiore a 1 MB.

Caso d'uso di esempio

Voglio criptare i dati in modo deterministico e associare il testo criptato al suo contesto.