Il principio fondamentale per quanto riguarda le password è che sono da preferirsi password lunghe. La raccomandazione più comune è un minimo di 15 caratteri. Inoltre non si dovrebbe utilizzare la stessa password in più siti. Nel caso una password venga utilizzata in molteplici siti e trapeli o venga decodificata, niente impedisce a degli aggressori informatici di accedere ad altri siti con la stessa password.
Per ricevere una notifica in caso le nostre credenziali siano trapelate, ci si può iscrivere al seguente portale:https://haveibeenpwned.com/. Se la propria mail appare nelle liste trapelate su internet ci sono buone probabilità di ricevere una notifica e di poter quindi cambiare la propria password prima che qualcuno se ne approfitti.
Come rendere più facile ricordarsi password uniche
Ricordarsi diverse password uniche è difficile. Molti si appuntano le password uniche che utilizzano digitalmente o su un quaderno o su un foglietto. Se qualcuno ha accesso a questi appunti sarà in grado di accedere a tutti i siti archiviati. Come si fa ad evitarlo?
I password manager
I password manager sono software che si ricordano le password ed altri segreti al posto nostro. Di solito codificano tutti i dati che archiviamo al loro interno e permettono solo a noi di utilizzare i dati archiviati. La sicurezza dei manager di dati dipende, come vedremo in un capitolo successivo, dalla chiave d'accesso e non dall'algoritmo utilizzato. Detto altrimenti, nel caso in cui non si possa più accedere al database che contiene tutte le nostre password criptate, nessun altro potrà accedervi senza la chiave d'accesso.
Ricordarsi a memoria una lunga chiave d'accesso è impossibile, quindi si impiega un algoritmo master password per decriptare la chiave stessa, la quale poi viene impiegata per decriptare i dati. Fondamentalmente la chiave d'accesso è sicura quanto la master password. Si tratta di fare una concessione alla facilità d'utilizzo a discapito della sicurezza totale. Una master password è più facile da ricordare di una lunga chiave d'accesso piena di elementi a caso. Una master password dovrebbe comunque essere molto sicura, quindi dovrebbe essere lunga e difficile, se non impossibile, da indovinare. Altri password manager utilizzano altri metodi per recuperare il proprio account, ma bisogna fare attenzione che quel tipo di informazione di recupero non venga archiviata al di là del proprio controllo, perché ciò significa che chiunque potrebbe accedere a quei dati di recupero e decriptare le nostre password.
I password manager sono utili anche grazie a funzioni che generano per noi password sicure da utilizzare. Molti password manager mostrano anche il livello di sicurezza relativo di una password calcolando fattori simili a quello precedentemente analizzato dell'entropia. Quasi tutti i password manager hanno un plugin opzionale che ci permette la compilazione automatica delle informazioni di login sui siti che visitiamo. La maggior parte funziona anche su più piattaforme, per cui si può usare la stessa app sul computer, sul tablet e sul telefono.
Una funzione utile disponibile in alcuni password manager è la possibilità di ricevere una notifica nel momento in cui le password trapelano dai siti che utilizziamo. Quando si riceve una tale notifica, il password manager ci può aiutare a cambiare la propria password per impedire che un assalitore acceda al nostro account e faccia trapelare le nostre credenziali.
Nello scegliere un password manager si dovrebbe fare attenzione a dove e come vengono archiviati il database delle password e le chiavi di criptazione. Alcuni password manager permettono di archiviare le password in un database locale. Ciò significa essere l'unica persona che ha accesso al file di database. A seconda del software è possibile sincronizzare il database su più computer e su altri dispositivi per mezzo di diversi servizi come Dropbox o iCloud. Alcuni password manager archiviano il database sui propri server. In questo caso il principale fattore che determina il livello di sicurezza riguarda la gestione della criptazione e delle chiavi di criptazione. Alcuni servizi hanno bisogno di archiviare la chiave di criptazione generale (master encryption key) sui loro server, ma ciò gli dà anche accesso alla decriptazione del database contente le password. Altri servizi, come ad esempio 1Password, tengono il database con le password dove sceglie l'utente (versione stand-alone) o sui loro server (versione per abbonamento). In entrambi i casi, però, l'utente è l'unico ad avere accesso alla chiave di criptazione generale.
Come si può aver già intuito, l'uso di un password manager significa “avere tutte le proprie uova in un unico paniere”. Se un aggressore informatico riesce ad accedere al database delle nostre password e riesce a decriptarlo, avremo perso tutte le nostre password in una volta sola. Tuttavia l'uso di un password manager ha in generale molti più vantaggi in confronto al rischio di perdere tutte le password in una volta sola. Permette di archiviare in modo sicuro password uniche e lunghe che sarebbe piuttosto impossibile ricordare. La perdita di una password nel caso in cui un sito subisca un attacco hacker non metterà a repentaglio gli altri login perché la stessa password non viene riutilizzata più volte. Per proteggere il database è una buona idea usare una buona e lunga master password. Si può anche utilizzare una passfrase (o una serie di parole non correlate) per renderla ancora più lunga!
Se l'idea che qualcuno metta le mani sulle nostre credenziali ci preoccupa, si possono impiegare misure aggiuntive di protezione, come per esempio l'autenticazione a più fattori.
Autenticazione a più fattori
L'autenticazione multi-fattoriale o MFA avviene quando un utente si autentifica presso un servizio usando più di un fattore. Questi fattori si definiscono solitamente come:
qualcosa che si sa (tipo una password)
qualcosa che si ha (qualcosa che si possiede, come un telefono o un elemento fisico)
qualcosa che si è (la cosiddetta “inerenza”, come l'impronta digitale o la retina)
La forma più comune di autentificazione multi-fattoriale in uso è la cosiddetta autenticazione a due fattori (o verifica a due fattori). Un esempio di autenticazione a due fattori o 2FA è il pagamento con la carta di credito. Per pagare con la carta di credito, si usa qualcosa che si ha (la carta di credito) e qualcosa che si sa (il proprio codice PIN) per autorizzare il pagamento.
Un nome utente e una password rappresentano solo un fattore. Appartengono entrambi alla categoria “qualcosa che si sa”. Alcuni siti impiegano domande di sicurezza come fattore aggiuntivo, sopratutto per il recupero di una password, ma si tratta sempre di un elemento dello stesso gruppo. Quel che è peggio è che le risposte a tali domande di sicurezza sono di solito piuttosto facili da trovare su internet.
L'autenticazione a più fattori si usa per aggiungere ulteriore sicurezza al processo di autenticazione. È possibile che si sia sentito parlare di violazioni nella sicurezza dei siti che utilizziamo o di nomi utente e password che sono trapelati su internet. Se non si usa una autenticazione a più fattori o una sua variante comune, l'autenticazione a due fattori (2FA), chiunque abbia accesso a quelle credenziali può utilizzare per accedere al nostro account. Se si è usata la stessa password per diversi servizi, ognuno di essi è esposto ad un uso illecito da parte di chiunque sia in possesso di quelle credenziali. Se invece si è attivata la 2FA nei servizi che si usano, l'aggressore ha bisogno di avere accesso anche al secondo fattore per accedere al nostro account.
Secondi fattori comunemente in uso sono:
un SMS (bisogna avere accesso ad un determinato telefono per poter accedere ad un account);
le one-time-password (OTP o password che si usano una volta sola), generate per mezzo di un app o di un oggetto fisico come una chiave RSA (un piccolo dispositivo che genera password utilizzabili una volta sola);
le chiavi di sicurezza, come ad esempio una Yubikey o una Titan key di Google;
le push notification (per esempio attraverso la app di Google o l'Authenticator di Microsoft);
l'impronta digitale o il riconoscimento facciale.
Attenzione agli SMS
Per quanto gli SMS siano ancora il fattore aggiuntivo più comunemente utilizzato, sono passibili di abuso. Molti attacchi diversi possono venir impiegati per aggirare la sicurezza derivante dall'uso degli SMS. Inoltre, alcuni criminali usano determinati trucchi per indurre un utente a digitare un codice password generato una volta sola per rispondere ad una richiesta inaspettata, il che permette all'aggressore di utilizzare quel codice per effettuare un attacco.
Questo tipo di attacco di ingegneria sociale può avvenire nella forma di un SMS che ci dice che il nostro account si trova sotto attacco e che è necessario digitare la propria password generata una volta sola per permettere al servizio di verificare che l'aggressore non siamo noi. Un'altra strategia usata piuttosto spesso è quella di chiamarci in qualità di rappresentante della nostra banca o di un altro istituto di fiducia e chiederci di confermare la nostra identità attraverso la richiesta di una password a generazione unica. Provano poi ad effettuare l'accesso al nostro account e ci girano la richiesta di password a generazione unica. L'aggressore può inspirare fiducia, perché ci mette in guardia rispetto al comunicare le proprie credenziali ad estranei (perché ce le ha già!). È importante ricordare che qualsiasi banca, istituto governativo o istituzione ufficiale non ci chiederebbe mai la nostra password o il nostro numero pin.
Un altro oggetto spesso in uso è una app di autenticazione. Ce ne sono diverse che forniscono lo stesso servizio, quindi si può scegliere quale si vuole utilizzare. La maggior parte delle app coprono multiple piattaforme, quindi possono essere utilizzate sulla maggior parte dei telefoni e dei computer. La app di autenticazione più comunemente utilizzate sono Google Authenticator, Authy e Microsoft Authenticator, ma ce ne sono molte altre disponibili. Spesso un'app di autenticazione ha bisogno di ricevere un valore seed dal server per poter generare per noi una password utilizzabile una volta sola. Il metodo più comune oggi prevede la scannerizzazione di un codice QR con la macchina fotografica del telefono. Un seed di codice a tempo si rigenera di solito in 30 secondi. Il codice ha anche una validità temporale limitata entro la quale può venir utilizzato, di solito circa un minuto.
Le chiavi di sicurezza
Una chiave di sicurezza è il più sicuro tra i fattori precedentemente menzionati nell'autenticazione multi-fattoriale. Il loro utilizzo è un po' più impegnativo rispetto a quello di app di autenticazione, ma sono anche più sicure. Se si smarrisce il proprio telefono con la app di autenticazione, si rischia di perdere tutte le informazioni che proteggono i propri account. Con una chiave di sicurezza si ha un dispositivo fisico separato che è necessario in aggiunta alle proprie credenziali, per cui se si perde solo il dispositivo non significa che non ci possa connettere al proprio account. Si considera buona pratica tenere un duplicato della chiave di sicurezza in un luogo sicuro in caso si perda o si rompa la chiave primaria. Le chiavi di sicurezza richiedono di solito un passo aggiuntivo per proteggere i dati che contengono. Di solito c'è un bottone che deve essere premuto prima che l'informazione segreta possa essere utilizzata. Questo evita che un malware nel nostro computer possa leggere l'oggetto di sicurezza senza che venga compiuta un'azione fisica.
I login senza password
L'uso delle password ha molti punti deboli. Per esempio gli utenti tendono a preferire password deboli, facili da ricordare e a conservarle da qualche parte, spesso non in un luogo sicuro. Una volta trapelate, le informazioni relative ad un login possono essere usate in modo illecito, anche su altri siti, in caso la stessa password sia stata riutilizzata più volte. Le tabelle arcobaleno e gli attacchi di forza bruta diventeranno in futuro ancora più utili grazie all'avvento di computer più veloci, ad una migliore comprensione del funzionamento degli algoritmi e ai computer quantici. I login senza password hanno l'obiettivo di cambiare questo stato di cose utilizzando una criptazione a chiave pubblico-privata. Grazie a questo metodo la chiave privata non viene ceduta al server e in questi casi la perdita della chiave pubblica conservata sul server non permette a nessuno tranne che al proprietario della chiave privata di effettuare il log in sull'account di un utente. Il Windows Hello di Microsoft rappresenta un esempio di login senza password.
Windows Hello può essere utilizzato con diversi metodi, che variano da un codice PIN all'impronta digitale e perfino al riconoscimento facciale. L'autenticazione iniziale avviene localmente sul proprio computer e non viene trasferita in nessun momento su un server. Un codice PIN o un'impronta digitale vengono invece utilizzati dietro le quinte per autorizzare uno scambio crittografico tra il proprio computer e il server, il quale alla fine autorizza l'accesso al computer.
Senza password o autenticazione multi-fattoriale?
Si può confondere il login senza password con l'autenticazione multi-fattoriale, nella misura in cui l'esperienza utente può essere piuttosto simile. Nel caso dell'autenticazione senza password il sistema chiede di solito di fornire un certo tipo di informazione d'identificazione, come ad esempio un nome utente o un indirizzo email. L'autenticazione può avere luogo attraverso diversi fattori, come nel caso dell'autenticazione multi-fattoriale. La differenza sta nel fatto che l'autenticazione senza password non richiede di ricordare un elemento segreto condiviso con il server come ad esempio una password. Anche se si usa un codice PIN, che sarebbe una password pessima, il codice PIN non viene trasmesso al server ma è impiegato invece per autorizzare l'autenticazione crittografica localmente sul proprio computer.
Sign up to solve exercises
Dopo aver completato il capitolo 2 si dovrebbe esser capaci di:
capire quali tipi di dati hanno bisogno di essere protetti e quali invece possono essere lasciati pubblici
spiegare dove e come si lascia una scia di dati e come essa viene utilizzata
capire come identificare i propri diritti e le proprie responsabilità in materia di uso dei dati
avere nozioni di base su come creare una buona password e rafforzare la sicurezza dei propri login sui diversi account che si hanno online