Quanto è meno sicura una crittografia se sappiamo qualcosa sui dati originali?

6

Ho un numero di file crittografati con una chiave derivata da una password. In linea con la prassi standard, utilizzo salt salt e password e faccio molte iterazioni PBKDF2 per ottenere una chiave di crittografia e IV. Quindi lo uso per crittografare i dati con AES-256 in modalità CBC.

In che modo la sicurezza dei miei dati potrebbe essere compromessa se un ipotetico hacker sa che i primi byte di ogni file di testo in chiaro sono una stringa fissa come "abcdef"?

    
posta user21203 28.02.2013 - 13:27
fonte

2 risposte

7

Se la conoscenza di parte del testo in chiaro dà un vantaggio all'avversario nei suoi sforzi per indovinare o ricalcolare altri byte crittografati, o la chiave stessa, allora questo è considerato un grave punto debole dell'algoritmo di crittografia. Nessuna debolezza di questo tipo è nota per AES.

Il paragrafo precedente necessita di alcune precisioni. Infatti, se io, come attaccante, mi viene data la consapevolezza che alcuni byte in chiaro sono "Papa Benedetto XVI si dimette", con il "." essendo un byte sconosciuto all'attaccante, allora posso indovinare con una probabilità relativamente alta che il byte sconosciuto codifica effettivamente una "i". Quindi la definizione corretta sarebbe: se l'attaccante, data conoscenza di alcuni byte di testo in chiaro e dell'intero file crittografato, può indovinare i byte mancanti con maggiore probabilità di successo rispetto allo stesso un utente malintenzionato che conosce gli stessi byte in chiaro ma non il file crittografato, quindi l'algoritmo di crittografia può essere considerato non funzionante. AES non è considerato danneggiato, quindi va bene.

Un altro punto riguarda gli attacchi attivi . Un utente malintenzionato potrebbe voler modificare i dati in modo da indurre un sistema onesto a lavorare su dati falsi; e il comportamento del sistema quel può dare molte informazioni sui byte sconosciuti (una variante di questo attacco è ciò che viene usato nel attacco BEAST su SSL / TLS ). La conoscenza di alcuni byte di testo in chiaro rende tali attacchi più facili. AES-CBC, da solo, non protegge da aggressori attivi. Per sconfiggere gli attaccanti attivi, devi applicare un MAC . La combinazione di crittografia e MAC è non facile ; è meglio sostituire CBC con una modalità di crittografia che include un MAC e gestisce il duro lavoro (ad esempio GCM o < a href="http://en.wikipedia.org/wiki/EAX_mode"> EAX ).

(La definizione di cui sopra riguarda "noti attacchi di testo in chiaro", dove l'autore dell'attacco conosce parte del testo in chiaro.Per gli attacchi attivi, dovremmo parlare di "attacchi di testo in chiaro scelti", in cui l'attaccante arriva a scegliere parte del testo in chiaro e "attacchi cifratici scelti", in cui l'autore dell'attacco altera il testo cifrato e osserva più o meno direttamente il risultato della decrittografia: il MAC correttamente applicato e verificato fornisce una protezione affidabile contro gli attacchi di testo cifrato scelti.)

    
risposta data 28.02.2013 - 14:47
fonte
1

Questo è un caso di Attacco di testo in chiaro noto . Questa situazione può essere sfruttata se vengono utilizzati cifrari più vecchi, ma non esiste alcuna vulnerabilità nota di questo tipo in AES.

Anche se il testo in chiaro è sempre lo stesso, l'IV non lo è. Forza brutale non sarebbe più veloce in questo caso particolare.

    
risposta data 28.02.2013 - 13:35
fonte

Leggi altre domande sui tag