Uno sguardo più approfondito agli hash: Funzioni, algoritmi e applicazioni
Che cos'è un gestore di password derivativo?
Nel mondo digitale di oggi, la sicurezza delle password è più importante che mai. Poiché i criminali informatici sono costantemente alla ricerca di nuovi modi per accedere ai nostri account e rubare i nostri dati, uno dei modi migliori per proteggersi è utilizzare password forti e uniche per ogni account.
Tuttavia, ricordare password forti e uniche per tutti i nostri account può essere difficile. Ecco perché l'uso dei gestori di password è una soluzione sempre più diffusa. In generale, i dati di autenticazione in un gestore di password tradizionale incorporano sia l'utente che la password in un unico set di dati crittografato con una master password. La conoscenza della master password rivela la totalità dei dati di autenticazione protetti dal gestore tradizionale e, pertanto, un attacco mirato alla determinazione di un singolo dato critico può provocare un fallimento catastrofico della sicurezza.
LISTHASH implementa una nuova forma di gestione delle password che incorpora punti di controllo multipli e consente una privacy assoluta dei dati di autenticazione dell'utente. Utilizzando funzioni di hash, fornisce i meccanismi necessari per creare password forti e sicure derivate dai dati forniti dall'utente nel processo di generazione delle password. Definiamo LISTHASH un gestore di password derivate, poiché da un dato di base vengono derivati nuovi dati in modo caotico ma deterministico, sufficientemente complessi da poter essere utilizzati come password.
Che cos'è la derivazione della password da un seme master?
La derivazione di password da un seme master è un metodo per generare password sicure e uniche da un singolo dato segreto, noto come seme master. Il seme master può essere una parola, una frase o una serie di dati la cui unica condizione è che siano abbastanza lunghi e complessi da essere difficili da indovinare, ma facilmente ricordabili dall'utente.
Una volta ottenuto un seme master, è possibile utilizzare una funzione hash per generare password uniche per ogni account. Come abbiamo già detto, una funzione hash è una funzione matematica che prende un input (in questo caso, il seme master) e lo converte in un output (in questo caso, la password). L'output della funzione hash è sempre lo stesso a parità di input, ma è impossibile invertire la funzione per ottenere l'input dall'output.
Come funzionano gli hash per creare le password?
L'uso degli hash per creare le password è un modo semplice ed efficace per proteggere i dati di autenticazione. Combinando una frase, una chiave o un set di dati memorabili con una funzione di hash sicura, è possibile creare password uniche e difficili da indovinare, in grado di proteggere i dati dai criminali informatici. Il processo di base da seguire è il seguente:
1. Scegliere una frase, una chiave o un pezzo di dati che rappresenti un'informazione facile da ricordare ma non facile da legare all'utente; questo sarà il seme.
2. Utilizzare una funzione di hash, come SHA-256, per convertire il seme in un valore di hash. Questo valore hash sarà una sequenza unica e irriconoscibile di caratteri alfanumerici.
3. Aggiunta di sale, o "salting", per aumentare la sicurezza. Il sale è un valore segreto che viene combinato con il seme prima che la funzione hash venga applicata una seconda volta, rendendo ancora più difficile per gli hacker decifrare la password.
4. Mappare il risultato dell'applicazione della funzione di hash in una stringa di caratteri alfanumerici che può essere utilizzata come password.
Ci sono rischi nell'utilizzo della derivazione della password da un seme master?
Il rischio principale dell'utilizzo della derivazione della password da un seme master è che se si perde il seme master o non lo si ricorda, sarà impossibile accedere ai propri account. Pertanto, è importante scegliere un seme master che possa essere facilmente ricordato e conservarlo in un luogo sicuro.
Punti di controllo di LISTHASH
Per ottenere una privacy assoluta e la generazione di password forti e sicure, LISTHASH stabilisce tre punti di controllo nel suo processo di derivazione:
1. Seme: Inizialmente viene utilizzato un seme che non solo fornisce un'informazione unica e memorabile, ma anche il set di caratteri che verrà utilizzato dal gestore per la generazione della password.
2. Elenco di account: Ogni account registrato con LISTHASH ha un identificatore unico ed è rappresentato con i dati del servizio, l'utente e la lunghezza della password da generare.
3. Codici segreti: Infine, per la generazione, l'utente fornisce codici segreti facili da ricordare. Questi codici hanno la funzione di aggiungere "sale" alla generazione finale della password, aumentando l'incertezza del risultato delle funzioni di hash.
Importante: La mancanza di informazioni specifiche in ciascuno dei punti di controllo sopra indicati renderà impossibile l'accesso ai dati di autenticazione corretti. Pertanto, solo la conoscenza completa dei dati specifici in ogni punto di controllo consentirà di recuperare una password. Questo processo garantisce che la violazione di un massimo di due punti di controllo sia inutile per un aggressore nel suo tentativo di ottenere i dati di autenticazione dell'utente.
Inoltre, i gestori di password convenzionali forniscono un chiaro segnale all'aggressore quando riesce a compromettere la master password, poiché solo la decrittazione genera un risultato leggibile che consente l'accesso ai dati di autenticazione. Al contrario, i punti di controllo di LISTHASH producono sempre valori di autenticazione leggibili ma non validi, poiché solo i dati accurati e corretti di ogni punto di controllo corrispondono a dati di autenticazione validi. Un attacco a forza bruta in queste condizioni è inutile, perché richiede di testare ogni possibile combinazione direttamente sul servizio collegato a un account, e questo tipo di attacco si ferma quando si superano gli errori ammessi dal servizio.
Con LISTHASH, l'utente del gestore non è costretto a rinunciare alla propria privacy o ad affidare la sicurezza dei propri dati a un servizio nel cloud suscettibile di hacking.