Utilizzo dell'ID utente GUID come sale per Rfc2898DeriveBytes

0

Uso Rfc2898DeriveBytes per la creazione di una chiave AES per la protezione dei dati dell'utente.
Per il valore salt vorrei utilizzare l'id dell'utente, che è un guid.

La mia comprensione è che l'unico svantaggio di usare l'id dell'utente sarebbe, che sarà più facile crackare le chiavi che sono state costruite in precedenza per questo specifico utente, nel caso in cui l'attaccante si trovi nella posizione del database. Ma dal momento che l'hacker ha già infranto la chiave attuale, non è necessario scoppiare le chiavi più vecchie, quindi non vedo questo come un problema.

È un problema utilizzare l'id dell'utente come sale per la derivazione della chiave?

Tipo di guida
Come informazione aggiuntiva, il guid è una guida sequenziale di Windows. Quindi non è casuale ma piuttosto unico.

    
posta HCL 19.05.2018 - 12:46
fonte

1 risposta

1

Dato che dici che il GUID viene assegnato e inviato in modo sequenziale nel traffico di rete, no, non è adatto per l'uso come sale. Mentre eviterà comunque gli scenari tipici di "attacker" vuole crackare tutte le tue password, quindi costruisce una tabella arcobaleno che può essere usata per cercare qualsiasi hash password "e" due utenti hanno usato la stessa password, e puoi dire perché loro hashes match ", è ancora più debole di quanto dovrebbe essere.

In particolare, non impedisce che lo scenario di "attacker voglia crackare una password specifica , quindi costruisce una tabella arcobaleno usando quella di quell'utente (nota ) salt ". Sì, l'autore dell'attacco deve ancora accedere all'hash della password dell'utente, il che implica che avrebbero comunque accesso al sale, ma di solito inizia una gara tra l'amministratore del sito che ha notato la violazione e l'attaccante che riesce a forzare la forza hash lento (hai usato una costosa funzione di hash, giusto?). Se il sale è noto in anticipo, l'attaccante può eseguire il lento processo di forzatura bruta degli hash (costruendo una tabella arcobaleno), e quindi determinare immediatamente la password una volta che l'hash dell'utente diventa noto.

    
risposta data 20.05.2018 - 21:44
fonte

Leggi altre domande sui tag