La salatura di un hash è più sicura rispetto alla crittografia?

1

Supponendo che gli algoritmi più sicuri usati per entrambi, quello che mi piacerebbe capire e ottenere la risposta, è se un hash salato è più sicuro di un hash crittografato?

Sebbene simile a questa domanda ( Salting in encryption, piuttosto che hashing) Credo che sia sottilmente differente in quanto si tratta di salare un hash crittografato.

Da quello che ho letto, in linea di principio la salatura è più sicura poiché l'hash non può essere determinato senza conoscere il valore del sale.

In confronto, un algoritmo di decodifica "potrebbe" essere incrinato, quindi rivelando l'hash.

    
posta gb5757870 13.11.2017 - 22:31
fonte

2 risposte

6

La crittografia è l'esatto contrario di Hashing.

  • La crittografia è reversibile, tramite la chiave.
  • L'hashing non è reversibile e lì solo per 1 via.

Ora la salatura protegge un hash dall'essere precalcolato ed elimina il rischio dalle tabelle arcobaleno precalcolate (purché non esista una tabella arcobaleno per la combinazione di hash e sale).

Ora Hashing ha anche un parametro per essere "costoso", o in altre parole l'atto di hashing deve richiedere del tempo. (almeno per le password) in modo da eliminare i dettagli che perdono sul processo (e.a. attacchi basati sul tempo).

La crittografia non aggiunge alcuna proprietà significativa all'hash e non protegge dagli attacchi arcobaleno, come fa la salatura.

Spesso la crittografia è suggerita da persone che non capiscono funzioni hash e crittografia crittografiche. Per 1 prova di conoscenza (dimostrando che la password è corretta senza rivelare la password) l'hashing è migliore della crittografia.

    
risposta data 13.11.2017 - 23:08
fonte
5

Stai confrontando due diversi tipi di difese che funzionano contro due diversi tipi di minacce, senza specificare quali tipi di segreti stai cercando di proteggere o quali tipi di minacce stai cercando di difendere. E non ci stai fornendo protocolli completi con cui lavorare, quindi faremo ipotesi su ciò che stai cercando di fare. Quindi, per favore, comprendi in anticipo se la risposta non soddisfa le tue aspettative.

La prima cosa da ricordare su Salt è che non è tenuto segreto, e non è destinato a essere tenuto segreto. L'unica ragione per cui esiste il sale è rendere difficile indovinare il valore dei dati nel caso in cui i dati sottoposti a hash debbano rimanere segreti E 'possibile che i dati possano entrare in collisione con altri dati. Per esempio se io e te abbiamo scelto la stessa password e entrambi gli hash delle password sono mantenuti nel database, qualcuno che guarda il database potrebbe vedere che l'hash della mia password è uguale al tuo. Ma quando conosco il tuo sale (ricorda, il sale non è segreto), posso provare a forzare il tuo segreto con la forza bruta eseguendo le mie ipotesi attraverso il tuo algoritmo di hash sale +.

La prossima domanda è come stai crittografando l'hash? Tutti gli hash sono crittografati con la stessa chiave? Se è così, allora le collisioni tra i segreti sono ancora possibili e non si comportano diversamente da un hash non salato. Ad esempio, se il mio segreto è "Squeamish Ossifrage", il digest di hash potrebbe essere 123456 e il digest di hash crittografato utilizzando la chiave ABC potrebbe essere XYZ999. Se il tuo segreto è anche "Squeamish Ossifrage", allora il tuo hash digest è anche 123456, e il digest hash crittografato usando la chiave ABC è anche XYZ999. Un utente malintenzionato potrebbe confrontare le voci nel database e vedendo che entrambi hanno XYZ999 saprebbe che il tuo segreto è uguale al mio.

La crittografia di un hash con una chiave segreta fa una cosa: impedisce a qualcun altro di calcolare l'hash perché non conosce la chiave segreta. Altrimenti, funziona come un hash.

E NON preoccuparti di "un algoritmo di decrittografia potrebbe essere rotto". Se hai scelto un algoritmo strong come hai affermato nelle tue precondizioni, non è una preoccupazione realistica. (E se hai scelto AES-256 ed è scoppiato, il mondo intero ha molto più da perdere rispetto a qualunque segreto tu conservi.)

    
risposta data 13.11.2017 - 23:08
fonte

Leggi altre domande sui tag