Bcrypt: cos’è e come funziona?

Scopri perché bcrypt è uno strumento ideale per l'hashing e l'archiviazione delle password, come funziona e perché dovresti usarlo.

Se devi affrontare l’intricata selva della sicurezza informatica, ti sarai sicuramente già imbattuto in bcrypt. Si tratta di una soluzione per l’archiviazione delle password rinomata, che utilizza algoritmi crittografici complessi, riducendo drasticamente le probabilità che un hacker possa decifrare la tua password. In questo articolo, ci addentreremo nel labirinto che è bcrypt, per capire come funziona e quanto sia sicuro.

Altri articoli che potrebbero interessarti:

bcrypt cosa come funziona guida copertina

Cosa è bcrypt e a cosa serve?

Bcrypt è una funzione hash crittografica progettata per l’hashing delle password e per la loro conservazione in sicurezza nel backend delle applicazioni, così da renderle meno vulnerabili agli attacchi informatici basati su dizionari. La funziona è stata concepita nel lontano 1999, da Niels Provos e David Mazières, basandosi sul complesso algoritmo Blowfish cipher.

Bcrypt esegue un elaborato processo di hashing, durante il quale la password di un utente viene trasformata in una serie di caratteri di lunghezza fissa. Utilizza una funzione hash unidirezionale, il che significa che una volta che la password è stata “hashata”, non può essere ricondotta alla sua forma originale. Ogni volta che l’utente accede al suo account, bcrypt rielabora la password e confronta il nuovo valore hash con la versione memorizzata nel sistema per verificare se le password corrispondono.

A differenza di altri algoritmi di hashing, bcrypt aggiunge un elemento casuale, chiamato “salt”, alla password, creando un hash unico che è quasi impossibile da decifrare con tentativi automatici negli attacchi a dizionario hash e brute force.

Inoltre, bcrypt si distingue dagli altri algoritmi di hashing perché utilizza un “cost factor”. Infatti, con bcrypt puoi determinare il numero di iterazioni della password e i round di hashing da eseguire, aumentando il tempo, lo sforzo e le risorse computazionali necessarie per calcolare il valore hash finale. Il “cost factor” rende bcrypt un algoritmo lento che impiega molto tempo per produrre una chiave hash, trasformandolo in uno strumento sicuro per la conservazione delle password.

Come funziona bcrypt?

Per effettuare l’hash delle password, l’algoritmo di bcrypt combina la stringa della password, il “salt”, e il “cost” per derivare un hash di 24 byte utilizzando la codifica base 64. Ecco un’occhiata più approfondita di ciascun componente dell’hash:

  1. Stringa della password. Per derivare un hash impenetrabile, è necessaria una password complessa. Questo è il motivo per cui bcrypt ha introdotto una funzione di potenziamento della password. Se la password in chiaro è troppo breve, può essere estesa per diventare più lunga e complessa. Bcrypt consente fino a 72 byte per una password, anche se generalmente vengono utilizzati fino a 56 byte per generare un hash di 31 caratteri. L’hash della password può costituire fino a 23 byte dell’hash calcolato di 24 byte.
  2. Salt. Davanti alla password in chiaro viene aggiunto un valore “salt” casuale di 16 byte. Il “salt” viene poi hashato, risultando in una stringa di 22 caratteri che viene posta davanti all’hash della password.
  3. Cost factor. Davanti al valore salt viene aggiunto un “cost” numerico, indicando quante iterazioni della password sono state effettuate prima che l’hash fosse generato.

La stringa hash viene poi prefissata con gli identificatori dell’algoritmo hash di bcrypt: $2a$, $2y$ o $2b$.

Perché dovresti usare bcrypt per hashare le password archiviate

Utilizzare bcrypt per hashare e archiviare le password presenta numerosi vantaggi:

  • Tempo di esecuzione lento. Bcrypt è un algoritmo che funziona lentamente, impiega tempo per creare hash di password e richiede tempo per decifrarle, rallentando significativamente i tentativi di hacker di rompere l’hash bcrypt. Quindi, visto che l’aggressore ha bisogno di più tempo per agire, un software di sicurezza o un utente potranno notare le attività sospette e prevenire violazioni dei dati sensibili.
  • Uso del salt. L’aggiunta di un pezzo di dati casuale e il suo hashing con la password aiuta a generare hash di password unici, resistenti agli attacchi con rainbow table. Il “salting” delle password garantisce i più alti standard di sicurezza nella conservazione delle password.
  • Adattabilità. Bcrypt è uno strumento versatile, che può evolversi con l’ottimizzazione hardware e software. La sicurezza della password hashata dipende da quanto velocemente può essere calcolato il suo hash. Il fatto che i computer diventino sempre più potenti significa che gli hacker possono essere più veloci nel calcolare gli hash delle password. Tuttavia, bcrypt utilizza un numero variabile di iterazioni di password, che può aumentare significativamente gli sforzi computazionali. Quindi, mentre i computer diventano più veloci, bcrypt rallenta il processo di hashing, portando gli attori minacciosi allo stesso punto morto che avrebbero con tecniche più lente e datate.

Confronto: Bcrypt vs SHA256

Bcrypt e SHA256 sono due degli algoritmi di hashing crittografici più utilizzati. Tuttavia, prima di scegliere quale dei due sia più adatto a te, è bene valutare le tue esigenze. Quindi, vediamo in cosa consiste lo SHA256 e come si confronta con bcrypt.

SHA256 è l’acronimo di “secure hash algorithm” con una chiave a 256 bit. SHA 256 produce una funzione hash unidirezionale, trasformando un input di qualsiasi lunghezza in un output di valore hash a 256 bit. È progettato in modo tale che lo stesso input produca sempre lo stesso valore hash. SHA256 è computazionalmente efficiente e viene ampiamente utilizzato per controlli di integrità dei dati, firme digitali e altre applicazioni crittografiche.

La differenza principale tra bcrypt e SHA256 risiede nel fatto che bcrypt è progettato per calcolare l’hash il più lentamente possibile senza intralciare gli utenti, mentre SHA256 è concepito per essere computazionalmente veloce. Un altro dettaglio importante è che gli hash SHA256 non includono l’elemento “salt”, il che li rende più vulnerabili agli attacchi informatici basati su dizionario.

Quindi, mentre lo SHA256 è più adatto per applicazioni che richiedono un’interazione frequente, bcrypt rappresenta una soluzione migliore per l’archiviazione sicura delle password.

BcryptSHA256
Hash lentoHash veloce
SaltNon usa il salt
Ideale per l’archiviazione sicura delle passwordIdeale per le applicazioni crittografiche utilizzate frequentemente

    Bcrypt è sicuro per l’hashing delle password?

    Bcrypt è un algoritmo crittografico sicuro per l’hashing e l’archiviazione delle password. Grazie all’aggiunta dei fattori “salt” e “cost”, bcrypt offre un’ottima protezione contro gli attacchi brute force e le rainbow table. È improbabile che gli hacker riescano a indovinare l’hash della password grazie all’algoritmo di hashing lento di bcrypt, che richiede uno sforzo computazionale estremo.

    La flessibilità crittografica di bcrypt è inoltre progettata per rendere l’algoritmo di hashing sempre più difficile da risolvere e per stare al passo con le nuove tecnologie più veloci che potrebbero essere utilizzate dagli hacker.

    Tuttavia, è importante notare che l’uso di bcrypt potrebbe essere illegale o soggetto a leggi e regolamenti specifici in determinati paesi. Per questo motivo, si consiglia sempre di consultare esperti legali prima di utilizzare bcrypt.

    Bcrypt: Domande frequenti

    Cosa ne pensi di questa guida su Bcrypt per la protezione delle password? Commenta qui sotto e condividi questo articolo con i tuoi amici! Non dimenticarti di iscriverti alla newsletter di Stolas Informatica e di seguirci su FacebookInstagram e Telegram per rimanere sempre aggiornato!

    Indice

    Il tuo indirizzo IP è:

    18.97.9.169

    La tua posizione è:

    Ashburn,

    USA

    Il tuo indirizzo IP e la tua posizione sono visibili a chiunque.

    Torna in alto

    Offerta a tempo limitato:

    Giorni
    Ore
    Minuti
    Secondi

    Risparmia il 72%!

    su VPN + Antimalware!

    Garanzia soddisfatti o rimborsati di 30 giorni

    Offerta a tempo limitato:

    Giorni
    Ore
    Minuti
    Secondi

    Risparmia il 72%!

    su VPN + Antimalware!

    Garanzia soddisfatti o rimborsati di 30 giorni

    Indice

    Il tuo indirizzo IP è:

    18.97.9.169

    La tua posizione è:

    Ashburn,

    USA

    Il tuo indirizzo IP e la tua posizione sono visibili a chiunque.