In questo momento è del tutto normale sentire parlare di una violazione dei dati. Potrebbe verificarsi una violazione con un servizio popolare come Gmail o con un software di cui la maggior parte di noi ha dimenticato, come MySpace.
Una delle cose peggiori che un hacker possa scoprire è la tua password. Ciò è particolarmente vero se si va contro i consigli standard e si utilizza lo stesso accesso su più piattaforme diverse. Ma la protezione tramite password non è solo una tua responsabilità.
Quindi, come fanno i siti Web a memorizzare le tue password? Come mantengono al sicuro le tue informazioni di accesso? E qual è il metodo più sicuro che i siti Web possono utilizzare per tenere traccia delle tue password?
Scenario peggiore: le password vengono salvate in testo normale
Considera questa situazione: un grande sito web è stato violato. I criminali informatici hanno eluso qualsiasi misura di sicurezza di base adottata dal sito Web e possono sfruttare un difetto nella struttura del sito. Tu sei il cliente. Quel sito web ha memorizzato i tuoi dati. Il sito garantisce che la tua password sia sicura. Ma cosa succede se quel sito web memorizza la tua password in formato testo normale?
Le password in testo semplice sono come un'esca redditizia. Non utilizzano algoritmi quindi non possono essere letti. Gli hacker possono leggere le password con la stessa facilità con cui stai leggendo questo articolo.
Non importa quanto siano complesse le tue password: un database di solo testo è un elenco delle password di tutti, scritte in modo chiaro, inclusi eventuali numeri e caratteri aggiuntivi che utilizzi.
E anche se gli hacker non riescono a violare il sito web, vuoi davvero che qualche amministratore del sito web sia in grado di vedere i tuoi dettagli di accesso segreti?
Potresti pensare che si tratti di un problema molto raro, ma si stima che circa il 30% dei siti di e-commerce utilizzi questo metodo per "proteggere" i dati dei clienti!
Un modo semplice per scoprire se un sito web salva le password in formato testo normale è se, subito dopo la registrazione, ricevi un'e-mail dal sito web che elenca i tuoi dati di accesso. In tal caso, potresti voler cambiare tutti gli altri siti che utilizzano la stessa password e contattare l'azienda per avvisarli che la loro sicurezza è troppo scarsa. Ovviamente è impossibile confermarlo al 100%, ma questo è un segno abbastanza chiaro e il sito non dovrebbe davvero inviare cose del genere via email.
Codifica: sembra buono, ma non è perfetto
Molti siti Web utilizzano la crittografia per proteggere le password degli utenti. Il processo di crittografia codifica le tue informazioni, rendendole illeggibili finché due chiavi, una detenuta da te (ovvero i tuoi dettagli di accesso) e l'altra dalla società in questione, appaiono insieme.
Hai utilizzato la crittografia anche in molti altri posti. Face ID su iPhone è una forma di crittografia. Il codice di accesso è lo stesso. Internet funziona con crittografia: l'HTTPS che puoi vedere nell'URL significa che il sito web che stai visitando utilizza il protocollo SSL o TLS per verificare la connessione e aggregare i dati. Ma in realtà la crittografia non è perfetta.
La crittografia può darti tranquillità. Ma se un sito protegge la tua password utilizzando la propria password, un hacker può rubare la password del sito, quindi trovarla e decrittografarla. Non ci vorrà molto sforzo perché gli hacker scoprano la tua password; Ecco perché i principali database sono sempre un grande bersaglio.
Se la chiave del tuo sito (password) è archiviata sullo stesso server della tua password, la tua password potrebbe anche essere in testo semplice.
Hash: sorprendentemente semplice (ma non sempre efficace)
L'hashing delle password può sembrare un gergo, ma è semplicemente una forma di crittografia più sicura.
Invece di memorizzare la password in testo semplice, il sito Web esegue la password tramite una funzione hash, come MD5, Secure Hashing Algorithm (SHA)-1 o SHA-256, che trasforma la password in un insieme di cifre completamente diverso. Possono essere numeri, lettere o qualsiasi altro carattere.
La tua password potrebbe essere IH3artMU0. Può trasformarsi in 7dVq$@ihT e se un hacker entra nel database, non riesce a vedere altro. Gli hacker non possono decrittografare nuovamente la password originale.
Sfortunatamente, le cose non sono così sicure come pensi. Questo metodo è migliore del testo semplice ma non costituisce ancora un problema per i criminali informatici.
Ciò che è importante è che una particolare password generi un particolare hash. C'è una buona ragione per questo: ogni volta che accedi con la password IH3artMU0, passa automaticamente attraverso quell'hash e il sito ti consente di accedere se quell'hash e quello nel database del sito sono presenti.
In risposta, gli hacker hanno sviluppato tabelle arcobaleno, simili ai cheat sheet. Sono liste di hash, già usate da altri come password, che un sofisticato sistema può velocemente processare, come un attacco Brute Force .
Se hai scelto una password davvero scadente, sarà in cima alla classifica arcobaleno e potrà essere facilmente violata. Le password complesse richiederanno più tempo.
Meglio attualmente: Salting e Slow Hash
Il salting è una delle tecniche più potenti implementate dalla maggior parte dei siti Web sicuri
Niente è impenetrabile: gli hacker lavorano sempre attivamente per violare qualsiasi nuovo sistema di sicurezza. Attualmente esistono tecniche più efficaci implementate dai siti Web più sicuri. Queste sono funzioni hash intelligenti.
Gli hash salati si basano sul nonce crittografico, un set di dati casuale generato per ogni singola password, che spesso è molto lungo e complesso.
Queste cifre aggiuntive vengono aggiunte all'inizio o alla fine della password (o della combinazione e-mail - password) prima che passi attraverso la funzione hash, per difendersi dai tentativi effettuati utilizzando una tabella arcobaleno.
In generale non ci sono problemi se i salt sono archiviati sugli stessi server degli hash. Decifrare una serie di password può richiedere molto tempo agli hacker ed è ancora più difficile se le password sono complesse.
Ecco perché dovresti sempre utilizzare una password complessa, non importa quanto tu sia sicuro della sicurezza del tuo sito web.
I siti Web utilizzano anche hash lenti come misura aggiuntiva. Le funzioni hash più famose (MD5, SHA-1 e SHA-256) esistono da tempo e sono ampiamente utilizzate perché relativamente facili da implementare.
Anche se si applica ancora il sale, gli hash lenti sono ancora migliori nel difendersi da qualsiasi attacco che si basi sulla velocità. Limitando gli hacker a un numero significativamente inferiore di tentativi al secondo, impiegheranno più tempo per craccare, rendendo così i tentativi meno preziosi e riducendo anche il tasso di successo.
I criminali informatici devono valutare se vale la pena attaccare i sistemi di hash lenti che richiedono molto tempo rispetto alle "soluzioni rapide". Ad esempio, le istituzioni mediche spesso hanno un livello di sicurezza inferiore, quindi i dati ottenuti da loro possono comunque essere venduti per somme di denaro sorprendenti.
Se un sistema è sotto “stress”, può rallentare ancora di più. Coda Hale, ex sviluppatore di software Microsoft, paragona MD5 alla più importante funzione di hash lento, bcrypt (altre funzioni includono PBKDF-2 e scrypt):
"Invece di crackare le password ogni 40 secondi (come con MD5), le farei ogni 12 anni circa (quando il sistema utilizza bcrypt). Le tue password probabilmente non hanno bisogno di questo tipo di sicurezza e potresti aver bisogno di un algoritmo di confronto più veloce , ma bcrypt ti consente di scegliere l'equilibrio tra velocità e sicurezza".
E poiché un hash lento può comunque essere eseguito in meno di un secondo, gli utenti non ne risentiranno.