Perché i siti Web dovrebbero cospargere di sale i loro hash per proteggere le tue password

[ware_item id=33][/ware_item]

Perché i siti Web dovrebbero cospargere di sale i loro hash per proteggere le tue password


Nonostante le loro carenze, le password sono ancora lo standard di fatto per l'autenticazione sul web.

ExpressVPN ha già scritto sui vantaggi della creazione di password sicure utilizzando Diceware, l'utilizzo di gestori di password e la creazione di un altro livello di sicurezza attorno agli account con l'autenticazione a due fattori.

Ma cosa succede dietro le quinte? Quali misure può e deve adottare un operatore del sito Web per proteggere le tue password?

La nascita dell'hacking informatico

Il primo sistema informatico che utilizzava le password era il sistema di condivisione del tempo compatibile presso il Massachusetts Institute of Technology, costruito nel 1960. La condivisione del tempo consentiva al computer di essere partizionato e utilizzato come diverse workstation.

Tuttavia, c'erano più ricercatori che postazioni di lavoro e agli utenti veniva assegnato un tempo limitato sul sistema (che alcuni si esaurivano abbastanza rapidamente). Per assicurarsi che i ricercatori rimanessero entro i loro limiti, a ciascuno era stata assegnata una password unica con cui effettuare l'accesso.

Ma, naturalmente, con le prime password è arrivato il primo hacker. Un ricercatore, Allan Scherr, fece uso di un sistema che consentiva agli utenti di stampare file tramite schede perforate (i computer non avevano schermi negli anni '60). Scherr ha individuato e stampato il file che memorizzava le password, consentendogli di accedere come altri utenti e utilizzare il computer più a lungo.

Oggi è considerato gravemente negligente archiviare le password in chiaro su un sistema, anche se l'hack del 2016 del sito di social media russo VK.com mostra che alcuni siti di grandi dimensioni lo fanno ancora. Le password di VK.com di 100 milioni di utenti sono state rubate e sono ora in vendita.

Perché le funzioni hash sono una strada a senso unico

Una funzione hash è una crittografia unidirezionale e si comporta in modo molto simile a un'impronta digitale. Ogni file, parola o stringa di testo è designata come "impronta digitale" di hash, che identifica in modo univoco il contenuto esatto del file originale.

Gli hash possono essere utilizzati per determinare le informazioni, ma non ciò che rappresentano i dati. Un modo semplice per immaginare come funzionano gli hash è la somma delle cifre (la somma di tutte le cifre di un numero).

La somma delle cifre di 9807347 è 9 + 8 + 0 + 7 + 3 + 4 + 7 = 38

Anche se è facile vedere la somma delle cifre di 987347 è 38, è impossibile calcolare 987347 dal numero 38.

Password sicure con hashHash SHA-256 per varie stringhe di testo e un file immagine.

SHA-256 offre un universo di permutazioni

Incredibilmente, 256 bit è un output abbastanza lungo da identificare in modo univoco ogni singolo atomo nell'universo osservabile (2 ^ 256 = 1.157920892 × 10⁷⁷).

Sebbene, in teoria, potrebbero esserci due valori diversi che hanno entrambi lo stesso hash SHA-256. Un tale evento è chiamato collisione di hash e la sicurezza di qualsiasi funzione hash si basa sul fatto che non è possibile scoprirli.

Il predecessore di SHA-2 (di cui SHA-256 è una variante) - l'algoritmo SHA-1 un tempo popolare - è noto per essere vulnerabile alle collisioni di hash. Anche se vale la pena notare, nessuno ne ha mai trovato uno.

Un altro hash un tempo popolare, MD5, aveva così tante vulnerabilità che non è una difesa utile contro la manomissione di file dannosa.

Oltre alla crittografia delle password, le funzioni di hash possono anche essere utili per garantire che i file non siano stati manomessi, in modo simile alle firme crittografiche, poiché una stringa di testo modificata altererà la chiave di hash.

La memorizzazione delle password come hash, anziché come testo in chiaro, consente di verificare che una password sia corretta senza lasciare la password vulnerabile agli hacker.

Salt e hash proteggono le tue password

Se qualcuno fosse in grado di hackerare un database che contenesse solo password con hash, in teoria non otterrebbero informazioni utili. In realtà, tuttavia, le persone riutilizzano le loro password su molti siti o usano parole comuni in essi, e ci sono molte cose che un hacker può fare per rompere gli hash.

Ogni hash SHA-256 della parola ExpressVPN è sempre lo stesso, su tutti i sistemi. Quindi se il tuo nome utente è Lexie e usi ExpressVPN come password (non farlo), un hacker potrebbe cercare l'hash "c9f45 ... 3d185" tra le password per vedere che la password di Lexie è ExpressVPN.

Sebbene questo non sembri particolarmente utile da solo, ci sono elenchi delle poche migliaia di password più utilizzate (che conosciamo dai precedenti hack).

Utilizzando tale elenco, un hacker potrebbe cercare gli hash delle password comuni e abbinarli ai nomi utente.

Questo tipo di attacco è chiamato attacco arcobaleno tabella, o dizionario. Non c'è abbastanza tempo nell'universo perché un attaccante possa provare ogni possibile combinazione hash / password in un attacco di forza bruta. Ma c'è abbastanza tempo per provare le password più utilizzate, che probabilmente comprometterebbero una parte significativa del database.

Il saling protegge le password assegnando loro numeri univoci

Per proteggersi dagli attacchi del dizionario, un amministratore del database può utilizzare un metodo chiamato "salting", in cui a ciascuna password viene assegnato un numero casuale univoco. Viene quindi calcolato, memorizzato e verificato un hash SHA-256 della combinazione di salt e password.

In alternativa, è possibile eseguire l'hashing della password, combinata con il numero salt, e il risultato sarà nuovamente hash.

Gli hash salati aggiungono ulteriore prtoectionEsempi di hash "salati", di nuovo hash.

A causa della tecnica di salatura, la creazione di un tavolo arcobaleno non è più attraente. I numeri casuali renderebbero ogni hash univoco, anche se l'utente non scegliesse una password univoca.

Se un hacker volesse indirizzare gli utenti con la password "Passw0rd!", Il numero salt manterrà il database al sicuro.

Il futuro dei sistemi di password

Le password sono tutt'altro che ottimali per l'autenticazione online. È difficile ricordarne uno buono, sono difficili da revocare e una volta trapelato potrebbe causare danni considerevoli.

I gestori di password possono rendere le password più facili da usare e aiutarti a crearne di uniche. Ti incoraggeranno anche a cambiare regolarmente le tue credenziali di accesso, il che è necessario per una buona sicurezza online.

Forse in futuro passeremo a forme alternative di autenticazione, come coppie di chiavi pubbliche / private, possibilmente combinate con chiavi hardware. In un tale modello dovrai solo caricare la tua chiave pubblica su un server al momento della registrazione, quindi mai più.

Sebbene non siano necessariamente più sicure di una soluzione password correttamente implementata, è meno probabile che le coppie di chiavi pubbliche / private vengano applicate in modo errato sia dall'utente che dal servizio.

Cosa puoi fare per proteggere le tue password

Tieni presente che molti dei servizi che stai utilizzando oggi potrebbero aver già perso il controllo delle tue password. Forse non lo sanno ancora, o forse si stanno rifiutando di riconoscerlo pubblicamente, proteggendo la loro immagine a spese della sicurezza dei loro utenti.

Utilizzare un generatore di password casuale e modificare le password in lunghe stringhe casuali di lettere e caratteri. È inoltre possibile attivare l'autenticazione a due fattori su alcuni servizi per aggiungere un ulteriore livello di sicurezza.

È anche una buona idea eliminare tutti gli account che non stai più utilizzando, nella speranza che il servizio elimini i tuoi dati utente insieme ad essi.

Perché i siti Web dovrebbero cospargere di sale i loro hash per proteggere le tue password
admin Author
Sorry! The Author has not filled his profile.