Guida alle funzioni hash e al loro funzionamento

Le violazioni dei dati digitali sono diventate così comuni che non generano troppi allarmi a meno che tu non sia uno dei milioni di utenti di LinkedIn che sono stati esposti o se il tuo vecchio account MySpace è stato violato. Tutte queste violazioni si incontrano in una confusione criptica per la maggior parte delle persone che non si rendono conto di ciò che queste aziende hanno fatto di sbagliato per offrire le tue informazioni ai ladri informatici. Uno dei tanti motivi per cui ciò può essere accaduto è perché le tue informazioni non erano corrette hash.


L’hash può essere usato in modo intercambiabile come sostantivo o verbo nella crittografia. L’hashing è l’azione di cambiare le password in stringhe di codice irriconoscibili progettate da impossibili da riconvertire. Questi sono anche chiamati hash. Alcuni hash possono essere decifrati più semplicemente di altri, ma è ancora un compito difficile che la maggior parte degli hacker alle prime armi non sarà in grado di fare.

Perché Hash è così importante

Algoritmo di hash

La maggior parte degli hacker desidera utilizzare i dati per accedere alle informazioni dell’utente e, per farlo, ha spesso bisogno della tua password. Ciò che questi criminali trovano e truffano dal tuo profilo non viene archiviato in una forma leggibile a occhio nudo, a meno che la società non protegga i loro dati sensibili.

La tua password viene convertita in hash in genere nel momento stesso in cui ne crei una, e sembra un insieme casuale di stringhe. È la tua password trasformata matematicamente in qualcosa di irremovibile. Nella maggior parte dei casi, ci vogliono anni per decifrare un hash e per allora potresti aver già cambiato la password o eliminato il tuo account.

Cosa sono le funzioni hash

Funzioni hash: si tratta di funzioni o tecniche utilizzate per codificare password e altro testo semplice in testo illeggibile per l’archiviazione e la trasmissione. Esistono molti tipi di funzioni hash in base alla modalità di codifica del testo normale.

Cosa sono le funzioni hash: si tratta di funzioni o tecniche utilizzate per codificare password e altro testo semplice in testo illeggibile per l’archiviazione e la trasmissione. Esistono molti tipi di funzioni hash in base alla modalità di codifica del testo normale.

Come sono progettati gli hash

Come sono progettati gli hash

Un hash è progettato per essere una funzione a senso unico, che è un’operazione matematica che all’inizio è semplice da eseguire, ma non può essere invertita. Una volta eseguito l’hashing dei dati non elaborati, diventa completo gobbledegook, che è come il tuo account rimane protetto dagli hacker.

Gli hash non sono progettati per essere decifrati in alcun modo. Una volta immessa la password, il sistema esegue l’hash e verifica i risultati rispetto all’hash creato dalla password al momento della prima impostazione. Verifica la password senza doverla archiviare nel sistema, motivo per cui gli hacker odiano i siti Web con hashing.

Differenze tra metodi hash forti e deboli

In teoria, nessuno dovrebbe mai essere in grado di rompere una stringa con hash, nemmeno la società che memorizza l’hash. Nessuno sarà mai in grado di convertire una password con hash memorizzata nella password originale. Tuttavia, gli schemi di hashing sono in circolazione da molti anni e alcuni sono diventati più deboli di altri.

Ad esempio, il caso di 177 milioni di account LinkedIn in vendita sul Web oscuro mostra che le password con hash possono essere violate. LinkedIn aveva usato una semplice funzione di hashing al momento chiamata SHAI e non aveva altre protezioni per impedire il furto di dati. Ciò ha consentito agli hacker di accedere alle password e di provare quelle password su altri siti Web. Questo potrebbe essere stato il motivo per cui gli account di Mark Zuckerberg per Twitter e Pinterest sono stati hackerati contemporaneamente.

Un altro caso di hashing andato storto è la storia della violazione dei dati di Patreon. Questa volta, il sito Web disponeva di funzioni di hashing molto potenti chiamate bcrypt. Questa funzione fornisce più tempo tra la violazione e la modifica delle password prima che l’hacker possa accedere a tutti i dati memorizzati nella cache.

Qual è la differenza tra SHAI e bcrypt? Con SHAI, gli hacker non sono in grado di invertire la password con hash creata con quella specifica funzione. Tuttavia, possono indovinare le password ed eseguire la stessa funzione per scoprire la password e come l’hash.

Quando ottengono un tratteggio corrispondente, possono utilizzare un programma di hash cracking per filtrare database molto più grandi e indovinare milioni di password o più. Possono quindi utilizzare tali dati per confrontarli con i risultati di un gruppo di password con hash per trovare più corrispondenze, portando così a un effetto domino se si utilizza la stessa password per ogni sito. Ottimo lavoro, Mark Zuckerberg!

Quali sono le caratteristiche di una funzione hash utile

Dal momento che esistono diverse funzioni di hashing là fuori, è meglio cercarne una con queste quattro caratteristiche.

Efficiente e veloce

Nessuno vuole attendere per accedere poiché la loro password è sottoposta a hash. Ciò significa che la funzione di hashing deve essere efficiente e rapida. Poiché la funzione di hashing può essere laboriosa, è fondamentale trovare la più veloce. Se un normale computer necessita di alcuni minuti per elaborare una funzione di hashing e creare un output, non sarebbe pratico per l’azienda. La maggior parte dei computer oggi può elaborare un hash in un quinto di secondo.

Fornisce sempre lo stesso risultato

Anche le funzioni hash devono essere deterministiche. Per ogni input fornito, la funzione di hashing deve sempre fornire lo stesso risultato. Se si collega lo stesso input 5 milioni di volte, una dopo l’altra, anche la funzione hash dovrebbe produrre lo stesso output esatto 5 milioni di volte.

Se una funzione di hashing dovesse creare risultati diversi ogni volta che veniva inserito lo stesso input, l’hash sarebbe troppo casuale e inutile. Sarebbe impossibile verificare anche l’input fornito, che è l’intero punto delle password con hash.

Pre-immagine resistente

Il risultato di qualsiasi funzione hash non dovrebbe rivelare alcuna informazione sull’input fornito. Questo è noto come resistenza pre-immagine. Mentre le funzioni hash crittografiche possono ricevere qualsiasi tipo di informazione, siano esse lettere, parole, segni di punteggiatura o numeri, la funzione hash deve sempre fornire lo stesso risultato a lunghezza fissa. Questo è vero anche se si inserisce un intero libro di personaggi.

Questo per nascondere eventuali suggerimenti su ciò che l’input è. Deve essere impossibile per gli hacker indovinare ciò che è stato originariamente fornito. Pertanto, è impossibile determinare se la stringa è lunga o corta.

Resistente alle collisioni

L’ultima caratteristica definisce quanto sia improbabile trovare due input diversi che creino lo stesso risultato. Ciò significa che è possibile creare un numero qualsiasi di ingressi, ma le uscite hanno ancora una lunghezza fissa. Ci sono anche molti output che una funzione hash deve produrre, ma il numero è finito in contrasto con gli input, che possono essere infiniti.

In poche parole, l’obiettivo è quello di rendere assolutamente impossibile trovare due input che creino lo stesso output e che la sua probabilità possa essere scartata prima ancora di valutare qualsiasi rischio.

Perché gli hash sono irreversibili

Perché gli hash sono irreversibili – Le funzioni hash sono di solito a senso unico a causa della maggior parte del testo normale che viene scartato durante il processo di crittografia. La corrispondenza viene eseguita inserendo il testo dell’utente attraverso la funzione hash e confrontandolo con il testo crittografato.

Che cosa è un attacco di collisione hash

Hash Collision Attack – Una collisione hash si riferisce a due testi di input che hanno lo stesso output dopo la crittografia. Questo si chiama collisione e il tentativo di trovare tali stringhe viene chiamato attacchi di collisione hash. Ciò è altamente improbabile data la complessità delle attuali chiavi hash.

Comprensione del salming della password

Salatura password – Salata si riferisce all’aggiunta di una stringa aggiuntiva a una password prima di crittografarla. Ciò rende difficile per gli aggressori identificare le password in base a una tabella precompilata di password chiamata tabella arcobaleno.

Cos’è Hash Peppering

Ai crittografi piace condire il loro hash con un’altra spezia chiamata “peppering”. Questo è simile alla tecnica salt, tranne per il fatto che il nuovo valore viene inserito alla fine della password. Esistono due versioni di peppering. Il primo è un valore nascosto noto che viene aggiunto a ciascun valore, ma è utile solo se non è noto all’hacker.

Il secondo è il valore che viene generato casualmente dal sistema, ma non viene memorizzato. Ciò significa che ogni volta che un utente tenta di accedere, deve provare più combinazioni dell’algoritmo di hashing e dell’algoritmo pepper per trovare i valori giusti che corrispondono all’hash. Ciò significa che può richiedere molto tempo per accedere, motivo per cui non viene utilizzato.

Come funziona l’archiviazione delle password con le funzioni hash

Funzionamento dell’archiviazione password con funzioni hash: si riferisce all’archiviazione delle password utente in modo crittografato per garantire che le parti esterne non siano in grado di manipolare l’accesso dell’utente nel caso in cui il database sia compromesso.

Come funzionano gli attacchi da tavolo arcobaleno

Tabelle arcobaleno – Questa è una tabella di password e il loro output quando codificato utilizzando molte funzioni hash note. Tali tabelle vengono utilizzate per identificare le password senza dover dedicare tempo al calcolo delle funzioni di hash.

Quali strumenti sono necessari per le funzioni hash

Strumenti necessari per le funzioni hash: sono disponibili diversi tipi di funzioni di hashing come strumenti online in cui il testo normale può essere crittografato semplicemente copiandolo in un determinato campo di testo. MD5 e SHA-256 sono alcune delle funzioni di hashing più popolari.

Comprensione delle classi per le funzioni hash crittografiche

Sono disponibili diverse classi di funzioni hash. Tuttavia, oggi ci sono alcuni modi più comuni utilizzati, tra cui:

  •  BLAKE2
  •  Algoritmo di hash sicuro o SHA-2 e SHA-3
  •  RACE Integrity Primitives Evaluation MEssage DIGEST o RIPEMD
  •  Message Digest Algorithm 5 (MD5)

Ognuna di queste classi coinvolge funzioni hash con diversi algoritmi combinati. Con SHA-2, è stata sviluppata una famiglia di funzioni hash per rendere più difficile il cracking. Ciò include SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 e SHA-512/256.

Mentre ciascuno varia dall’altro nel modo in cui trasforma un determinato input, ha anche lunghezze fisse variabili che producono dopo aver digerito l’input. Ad esempio, SHA-256 è il più utilizzato nella tecnologia blockchain ed è basato sul codice Bitcoin originale.

Come vengono elaborati gli hash

Come vengono elaborati gli hash

In una parola, all’istante. Per una spiegazione dettagliata, il processo è un po ‘più complesso anche se è completamente automatizzato e avviene in pochi secondi. Questo processo è anche chiamato effetto valanga o effetto farfalla.

Fondamentalmente, la dimensione del blocco dati differisce da un algoritmo di hashing a quello successivo. Per un algoritmo specifico come SHA-1, il messaggio o la password sono accettati in blocchi che contengono solo 512 bit. Ciò significa che se la password ha solo una lunghezza di 512 bit, la funzione hash verrebbe eseguita una sola volta. Se il messaggio è 1024 bit, viene diviso in blocchi separati da 512 bit ciascuno. Anche la funzione hash viene eseguita due volte.

Nella maggior parte dei casi, viene utilizzata anche una tecnica chiamata Padding, il che significa che l’intero messaggio o password è diviso in blocchi di dati di dimensioni uguali. La funzione hash viene quindi ripetuta tante volte quanto il numero totale di blocchi. Questi blocchi vengono elaborati uno dopo l’altro. In questo processo, l’output del primo blocco di dati viene alimentato come input insieme al successivo blocco di dati.

L’output del secondo viene quindi inviato al terzo blocco, e così via e così via. Questo rende l’output finale lo stesso numero del valore totale di tutti i blocchi insieme. Se si cambia morso in qualsiasi punto della password o del messaggio, cambierebbe anche l’intero valore di hash, da cui il nome Effetto valanga.

Avvolgendo

Se la tua password è correttamente hash e salata, l’unico modo per ottenere sarebbe un attacco di forza bruta. Con password più lunghe che hanno più crittografia, l’attacco a forza bruta richiede più tempo, il che significa che richiede più tempo e denaro per l’hacker.

Ciò significa che i tuoi utenti dovrebbero sempre creare password più lunghe e configurarle con caratteri segreti, come un simbolo o una lettera maiuscola. Questo è anche il motivo per cui le stringhe di password generate casualmente sono più sicure di una parola del dizionario, poiché gli attacchi di forza bruta utilizzano i dizionari per trovare le parole da testare.

Quando ti iscrivi a qualsiasi attività commerciale online, dovresti sempre controllare per vedere come gestiscono le loro password. Sono criptati? Sono hash? Come saranno protette le tue informazioni? La maggior parte delle aziende con hashing lo elencano nelle loro politiche sulla privacy.

Strumenti consigliati

  • La migliore VPN
  • I migliori gestori di password
  • Recensioni sulla sicurezza domestica
Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me