Posso calcolare la chiave derivata generata da pbkdf2 (password || SOME_TEXT) se conosco pbkdf2 (password)?

0

Se conosco la chiave derivata DK1

DK1 = PBKDF2 (sha512, password, random_salt, iterations = 1000, lunghezza dell'output = 20)

è possibile calcolare la chiave derivata DK2

DK2 = PBKDF2 (sha512, password || SOME_TEXT, random_salt, iterations = 1000, lunghezza dell'output = 20)

se ho accesso completo all'amministratore (sia all'algoritmo di hashing nel codice sorgente che ai sali nel DB) ma non conosco la password? So che sarebbe possibile se usassi SHA1 solo per cancellare la password ma per quanto riguarda pbkdf2? Perché chiedo: voglio utilizzare DK1 per l'autenticazione utente e DK2 nel DB per l'anonimizzazione dei dati (solo l'utente che ha effettuato l'accesso può eseguire join tra tabelle firmate con user.id e tabelle firmate con DK2). Per questo motivo devo assicurarmi che nessuno possa derivare DK2 da DK1 altrimenti le tabelle DB non sarebbero correttamente anonimizzate e l'amministratore DB potrebbe eseguire join.

    
posta Zoltan Vincze 22.09.2016 - 08:58
fonte

2 risposte

1

PBKDF2 non usa (generalmente?) due sali (sale e pepe). Devi capire che PBKDF2 è basato su una funzione PseudoRandom (PRF) tipicamente HMACSHA1.

Quindi procede a calcolare la chiave derivata (quello che tu chiami il tuo hash suppongo) iterando (semplificazione grossolana):

Uc = PRF(Password, Uc-1)

where U0 = Salt || INT_32_BigEndian(i)

Quindi nello schema PBKDF2 standard, non puoi indovinare la password avendo la chiave derivata e il salt. Tuttavia, se disponi della chiave derivata, non hai bisogno della password utente poiché è la chiave derivata che è rilevante per qualsiasi crittografia successiva.

Ho paura di confondere PBKDF2 con un'altra funzione.

Quindi ottieni una chiave derivata che deve essere utilizzata ha una chiave per un'altra funzione di crittografia. Sei sicuro che sia PBKDF2 e qual è il PRF sottostante?

    
risposta data 22.09.2016 - 09:20
fonte
0

No. PBKDF2 utilizza HMAC che è specificamente progettato per resistere a attacchi di estensione della lunghezza .

    
risposta data 22.09.2016 - 12:24
fonte

Leggi altre domande sui tag