Sarebbe un buon approccio all'hash due volte? [duplicare]

1

Diciamo che ho un sistema in cui salvataggio le password dell'utente usando SHA-2. Ora mi stavo chiedendo sarebbe un buon approccio se prendo l'hash MD5 della password e poi computo SHA-2 per l'hash MD5 risultante? Ci sono possibilità di duplicazioni?

    
posta Umair Afzal 25.10.2016 - 11:43
fonte

2 risposte

0

C'è sempre una possibilità di duplicazione ma la maggior parte delle volte la possibilità è abbastanza bassa (ma più alta di quanto pensassi, guarda il "paradosso" del compleanno)

L'hashing due volte non fornisce enormi quantità di sicurezza extra, è la sicurezza dell'hash 1 + sicurezza dell'hash 2.

Per aumentare la sicurezza degli hash delle password dovresti saltarli, questo è dare a ogni password una stringa casuale individuale da aggiungere alla password ogni volta che viene eseguito l'hashing, questo rimuoverà la minaccia di una tabella precalcolata (tabella arcobaleno ) rivelando le password.

Come menzionato nel podcast della sicurezza ora, non c'è niente di sbagliato nelle password di hashing più volte, in realtà è incoraggiato perché se vuoi cambiare l'hash con cui le tue password sono criptate, non devi aspettare che la password sia inserito di nuovo per cancellarlo con il nuovo hash, puoi cancellare tutti i vecchi hash con il nuovo hash. Questo dà a tutti la sicurezza del nuovo hash immediatamente.

Vorrei anche sottolineare che MD5 e SHA-2 sono funzioni hash scadenti per le password. Le funzioni hash della password dovrebbero essere "lente" e MD5 è stato progettato per essere veloce (non so SHA-2), dovresti usare funzioni come Argon2, bcrypt, scrypt o PBKDF2 che sono davvero difficili da velocizzare.

    
risposta data 25.10.2016 - 12:03
fonte
0

Non avrà alcun vantaggio, poiché lo scopo dell'hash è mappare dati di dimensioni arbitrarie a dati di dimensione fissa in modo univoco e irreversibile

PROBLEMA CON MD5 PRIMA DI SHA2

Ci sono molti esempi di collisioni MD5 così i tuoi due pezzi di dati, s1 e s2, potrebbero portare allo stesso hash MD5, che può portare allo stesso output SHA-2.

Non penso che questo sia quello che vuoi.

    
risposta data 25.10.2016 - 13:29
fonte

Leggi altre domande sui tag