Indovinare l'intera uscita PBDKF2 da 1 metà

1

Se uso PBDKF2 con una password abbastanza buona e sale per generare una chiave da 2n byte, conoscere il primo o l'ultimo n byte rende più facile a una terza parte indovinare l'altra metà della mia chiave rispetto all'utilizzo di una forza bruta attacco?

    
posta gzup 24.07.2015 - 15:31
fonte

2 risposte

3

PBKDF2 dovrebbe essere sicuro come funzione di derivazione della chiave , che più o meno significa che conoscere parte dell'output byte non lascia informazioni utilizzabili per indovinare gli altri byte di output. Se produci 20 byte con PBKDF2 ma l'hacker ne conosce 12, non può ancora indovinare l'8 rimanente con una probabilità migliore di pura fortuna (cioè 2 -64 , poiché 8 byte è 64 bit).

Si noti, tuttavia, che la "P" in PBKDF2 significa "password", e la principale debolezza di qualsiasi cosa che coinvolga le password è che le password sono, in pratica, indovinate tramite attacchi di dizionario. Pur avendo un output parziale non produce informazioni immediate sugli altri byte di output, può servire come test rapido per un'enumerazione brutale di password possibili.

Un attacco di dizionario "normale" su PBKDF2 presuppone una situazione in cui la password è stata espansa in una chiave di crittografia simmetrica, utilizzata per crittografare un dato. L'utente malintenzionato "prova" le password, calcolando ogni volta la chiave corrispondente, quindi cercando di decrittografare i dati e vedere se il risultato "ha senso". Se l'autore dell'attacco conosce alcuni dei byte prodotti da PBKDF2, può saltare il passo "decrittografia con senso", il che lo aiuta un po '.

    
risposta data 24.07.2015 - 15:49
fonte
0

Certo che lo rende più facile. La tua possibilità di indovinare casualmente una chiave di lunghezza 2n byte è 1/2 ^ 16n. Se conosci il primo o l'ultimo n byte, allora la tua possibilità di indovinare il resto è 1/2 ^ 8 n, che è 2 ^ 8n volte più probabile.

    
risposta data 24.07.2015 - 15:41
fonte

Leggi altre domande sui tag