HKDF e allungamento della chiave

9

Ho pensato che tutte le funzioni di derivazione delle chiavi avrebbero svolto una fase di stretching chiave, eseguendo iterando un qualche tipo di processo. Ma non riesco a vedere quel processo in HKDF. HKDF non rafforza le chiavi?

Se ho una passphrase come input, e ho bisogno, diciamo, di 1024 byte derivati da questa passphrase (alcuni byte per la crittografia, alcuni byte per un MAC). Cosa raccomanderesti? Andando direttamente per PBKDF2? O utilizzando HKDF in qualche modo?

    
posta James 02.07.2013 - 13:22
fonte

1 risposta

14

HKDF è una funzione di derivazione della chiave : trasforma una chiave simmetrica (un mucchio di byte) in un'altra chiave simmetrica, che può essere più lunga (questo è il punto dell'esercizio).

Fare più iterazioni interne, per rendere la funzione slow , è un meccanismo di difesa che ha senso quando la chiave di input è di entropia intrinsecamente bassa - ad es. quando è una password (è un fatto biologico inevitabile: come un supporto di memorizzazione per dati dall'aspetto casuale, i cervelli umani succhiano). Derivare una chiave da una password è un compito più complesso del semplice derivare una chiave da un'altra chiave. HKDF non pretende di gestire il bit "password". Per questo è necessario PBKDF2 , che è basato su password (questa è la parte "PB") e utilizza anche HMAC, questa volta con un numero configurabile (e potenzialmente enorme) di iterazioni.

HKDF è un elemento fondamentale per alcuni protocolli crittografici, non qualcosa da usare direttamente.

    
risposta data 02.07.2013 - 13:35
fonte

Leggi altre domande sui tag