Quanto può essere sicura una password?
Immaginati una password come questa:
$BjG46ebD3@GfJ86u/y%C3)i
Quanto è sicura?
È certamente molto forte, praticamente impossibile da decifrare con un attacco brute force, che richiederebbe diversi miliardi di anni.
Come abbiamo spiegato nel nostro precedente articolo: una password del genere, lunga 24 caratteri, ha un’entropia S di 157 bit, quindi ancora più della massima entropia consigliata di 128 bit.
Ma potrebbe comunque non essere sufficiente… se fosse scoperta, ad esempio a causa di negligenza o per un errore dell’utente, che potrebbe averla comunicata cadendo nella trappola di un’email di phishing.
Oppure potrebbe averla scritta su un post-it lasciato in vista… qualcosa che accade molto più spesso di quanto dovrebbe!
Quindi, non possiamo escludere che una password – per quanto sicura possa essere – venga rubata o scoperta.
L’autenticazione basata unicamente sulla password è intrinsecamente debole, qualunque sia la password, poiché la sicurezza dell’account dipende da un solo fattore, cioè la password stessa.
In Cybersecurity, la difesa deve essere realizzata su strati: ecco perché parliamo di “layered security”, per evitare quello che il famoso Kevin Mitnick ha chiamato l'”effetto M&M”.
Gli M&M sono quelle popolarissime caramelle con rivestimento di zucchero: duri fuori… ma morbidi dentro! Una volta rotto il guscio, siamo dentro l’M&M.
Se portiamo questa immagine nel regno della cybersecurity: è importante avere un secondo strato difensivo, nel caso il primo fallisca. Questo concetto – che è fondamentale – dovrebbe essere applicato anche alle password e, più in generale, all’intero processo di autenticazione.
Per accedere a tutti i tipi di sistemi digitali (laptop, carte di credito, siti web, ecc.) ci viene prima chiesto di presentarci dichiarando il nostro nome utente.
Poi, dovremo dimostrare che siamo veramente noi: questa è la fase di “autenticazione” e può avvenire in uno di tre modi:
- Conoscenza: “qualcosa che sai”, ad esempio una password o un PIN;
- Possesso: “qualcosa che hai”, come uno smartphone o un token di sicurezza (quelle piccole “chiavi” che le banche erano solite distribuire e che generavano un codice di 6 caratteri, o un token Fido);
- Caratteristica biometrica: “qualcosa che sei”, come la tua impronta digitale, il riconoscimento facciale o oculare, o altre caratteristiche biometriche.

In generale, è richiesto un solo fattore (solitamente una password). Per aumentare il livello di sicurezza, sono state introdotte tecniche di “autenticazione forte”, o autenticazione a due o più fattori.
Chiamata anche 2FA o MFA (“Multi Factor Authentication”), oggi questo è il sistema di protezione più sicuro che possiamo utilizzare. O meglio, che dobbiamo utilizzare.
Parliamo di 2FA quando vengono utilizzati due fattori e 3FA quando sono richiesti tre fattori (molto meno comune, viene utilizzato ad esempio nel SPID di terzo livello).
La condizione che consente di definirlo “autenticazione a due fattori” è verificata solo quando i due fattori utilizzati sono di origine diversa: in altre parole, se ad esempio usi “una cosa che sai” + “una cosa che hai”.
Mentre un’autenticazione basata su due password non può – di conseguenza – essere considerata 2FA (poiché sono due fattori della stessa natura).

Come funziona MFA?
MFA richiede almeno due dei tre fattori elencati sopra: dopo aver digitato la password del tuo account (che di solito rappresenta il primo fattore), ti verrà chiesto di inserire un secondo fattore, che nella maggior parte dei casi è un PIN o un codice ottenuto tramite smartphone (come messaggio di testo o tramite un’app dedicata) o tramite un token fisico.
Diversamente dalla password, questo secondo codice non può di fatto essere violato poiché viene generato casualmente da un algoritmo e dura per un tempo molto breve (solitamente 30 secondi). Per questo motivo è anche chiamato OTP: “one time password”.
Il secondo fattore può essere anche biometrico: “qualcosa che sei”. Un esempio si trova in diverse app bancarie per smartphone: per aprire l’app, e anche per eseguire alcune operazioni (come un trasferimento bancario), ci viene richiesto di identificarci una seconda volta utilizzando la nostra impronta digitale o il riconoscimento facciale.
Come puoi ottenere il secondo fattore di autenticazione?
Ci sono tecnicamente quattro modi:
- Tramite un messaggio di testo che riceviamo: questa è una soluzione molto diffusa, ma anche la meno sicura, perché ormai le vulnerabilità del Signalling System No. 7 Protocol (SS7) sono ben noti. SS7 è un protocollo molto vecchio (nato negli anni ’70) e non è sicuro.
Inoltre, c’è un rischio ancora più grave: potresti finire in una frode nota come “SIM swap fraud”, cioè il clonaggio della nostra SIM da parte di un individuo malintenzionato che – in questo modo – riceverà il messaggio di testo con il codice numerico per la seconda autenticazione al posto nostro.
Il NIST nel SP 800-63B “Digital Identity Guidelines” al capitolo 5.1.3 – Out of Band Devices – sconsiglia l’uso dei messaggi di testo per ricevere il secondo fattore OTP, esattamente per il rischio di SIM swapping.
E infine, qualcosa che non dovrebbe essere trascurato: questo sistema ci obbliga a fornire il nostro numero di telefono cellulare a un social network o a un sito web: questo potrebbe non essere apprezzato dal punto di vista della privacy. - Utilizzando app dedicate che generano un codice di 6 numeri da inserire nel browser: quando un sito web mette questa opzione a disposizione, suggerisco di sceglierla, poiché è il metodo più pratico, non richiede copertura telefonica ed è molto sicuro. Le app più comuni che è possibile utilizzare – che sono tutte gratuite – sono Authy, Google Authenticator, Microsoft Authenticator. Alcuni gestori di password, ad esempio LastPass e 1Password, ma non solo loro, implementano questo servizio. L’autenticazione tramite app è molto popolare adesso e, negli ultimi anni, ci sono sempre più siti web che la elencano tra le opzioni possibili.
- Con un token hardware: un’opzione molto sicura ma che non è ancora così comune. Ogni account che supporta questa funzione è collegato a un dispositivo di accesso fisico simile a una chiave USB, realizzato secondo lo standard U2F Security Key. Si tratta di un protocollo di autenticazione aperta 2FA sviluppato da Google e Yubico nel 2013 e che oggi è gestito e regolato da FIDO Alliance (fondata nel 2012).
Le U2F Security Keys sono prodotte da Google come Titan Security Keys, da Feitian e soprattutto da Yubico, con prezzi a partire da 25€ per i modelli base e fino a 80-90€.
È un sistema molto sicuro che può essere utilizzato anche da aziende per l’autenticazione su laptop e servizi aziendali, con un notevole miglioramento della sicurezza. Non è certamente il più pratico né il più economico: oltre ad avere un costo, non tutti i servizi lo supportano. Inoltre, richiede una connessione diretta al laptop per l’autenticazione: nel caso di un PC questo avviene attraverso la porta USB. Ma nel caso di uno smartphone le U2F Security Keys devono essere equipaggiate con NFC (Near Field Communication) o Bluetooth o, nel caso degli iPhone, devono avere una porta Lightning, con un costo molto più elevato. E, non da ultimo, dobbiamo sempre avere la Security Key con noi per poter effettuare l’autenticazione, prestando attenzione a non perderla. Per questo i produttori consigliano di crearne una copia di backup… - Con una notifica push: in questo caso, l’autenticazione a due fattori viene eseguita tramite una notifica da un’app collegata al servizio in uso, ma installata su un altro dispositivo. Questo sistema è utilizzato principalmente nell’Internet banking, tramite app proprietarie fornite da ogni banca e installate sullo smartphone. È una modalità molto sicura ed è anche facile: dopo aver digitato il nome utente e la password, l’individuo riceverà una notifica push sullo smartphone, che gli chiederà di autorizzare l’accesso tramite l’applicazione della banca stessa. Spesso, questa autorizzazione viene concessa tramite un’autenticazione biometrica veloce e pratica: impronta digitale, riconoscimento facciale o altro.
Come si attiva l’autenticazione a due fattori?
La modalità di attivazione è più o meno sempre la stessa: dopo essersi registrati al sito web, accediamo alle “Impostazioni” (il nome può variare un po’, ma è sempre la pagina dove, ad esempio, andiamo a cambiare la password).
Scegliamo di attivare 2FA e poi il sito web ci guiderà attraverso la procedura guidata e ci chiederà come desideriamo ricevere il codice: il metodo più diffuso su tutti i siti web (ma non consigliato!) è tramite un messaggio di testo, e in questo caso dobbiamo indicare uno smartphone “affidabile” al quale il codice possa essere inviato.
Se scegliamo questa opzione (che, come accennato, non è la migliore), ti suggeriamo di registrare sempre due o più numeri di telefono, per una sicurezza maggiore. Successivamente, con ogni messaggio di testo ci verrà chiesto di scegliere su quale dispositivo vogliamo ricevere il codice.
Quasi tutti i siti web ti permettono di scegliere, come alternativa al messaggio di testo, di utilizzare le app sopra menzionate in grado di generare un codice temporaneo (OTP). Come abbiamo detto, se questa opzione è disponibile, è quella che dovremmo preferire ed è anche molto facile e totalmente gratuita: la registrazione avviene tramite un codice QR che appare sullo schermo del computer e che dobbiamo scansionare con la fotocamera del nostro smartphone.
Questa opzione è chiamata “Enrollment” e effettua lo scambio della chiave crittografata e univoca tra il sito web e l’app, che in questo modo sarà sincronizzata.
Ogni app di questo tipo ti permette di salvare gli OTP per tutti i siti web dove abilitiamo 2FA.
Ad ogni successivo accesso, oltre al nome utente e alla password, dovremo inserire il codice OTP a 6 cifre mostrato dall’app e che viene rigenerato ogni 30 secondi.
Esiste – su quasi tutti i siti web – un’opzione conveniente che ci consente di non dover inserire il codice OTP durante i prossimi accessi: questa opzione di solito appare come “questo sito web è affidabile” (o qualcosa di simile) e deve essere attivata una sola volta.
In pratica, poiché l’autenticazione a due fattori ha lo scopo di evitare accessi da laptop o dispositivi diversi dai nostri, potremmo dire al sito web di riconoscere che stiamo accedendo dal nostro dispositivo “abituale” e non abbiamo più bisogno di aggiungere il secondo fattore di autenticazione.

Quali servizi offre l’autenticazione a due fattori?
Con l’eccezione dei servizi di Internet banking, dove 2FA è obbligatorio data la Direttiva europea 2015/2366 (nota come PSD2 e che in Italia è diventata effettiva il 14 settembre 2019), e di alcuni altri servizi come lo SPID italiano che lo richiedono, su tutti gli altri siti web non siamo obbligati a utilizzare l’autenticazione a due fattori.
È un’opzione discrezionale, ma che consigliamo fortemente, almeno per i servizi più importanti come, ad esempio, Amazon, Apple ID (iCloud), Dropbox, Evernote, Facebook, Google, LinkedIn, Microsoft, PayPal, Twitter, Yahoo!, WordPress. E ovviamente per tutti gli account aziendali!
Ci sono anche molti altri siti web che lo offrono, è possibile vedere l’elenco completo (con le opzioni disponibili per ogni sito web) a questo link.
Qual è il futuro dell’autenticazione a due fattori?
Secondo un rapporto di Juniper Research, il numero di utenti di smartphone che utilizzeranno sistemi di autenticazione biometrica (impronta digitale, riconoscimento facciale – vocale – oculare, ecc.) crescerà di oltre il 250% nei prossimi 5 anni.
Secondo l’autore del rapporto James Moar:
“La battaglia chiave ora sarà convincere gli utenti, in particolare quelli in Europa e Nord America, che questi metodi sono altrettanto sicuri quanto la sicurezza tradizionale basata su hardware.”
Nel 2018, Google ha comunicato che solo il 10% degli account attivi utilizzava questa misura di sicurezza.
Forse anche per questo motivo Google stesso ha annunciato nell’ottobre 2021 che attiverà l’autenticazione a due fattori come impostazione predefinita. Inizialmente, sarà solo per i creatori iscritti al Partner Program (quindi coloro che monetizzano attraverso la piattaforma YouTube), ma ci aspettiamo che estenderanno questa impostazione anche agli altri utenti.
Difesa DNS di nuova generazione: basata su cloud e IA, semplice da attivare.
L’autore
Giorgio Sbaraglia, ingegnere, è consulente e formatore sui temi della cybersecurity e privacy.
Tiene corsi di formazione su questi argomenti per numerose importanti aziende italiane, tra cui ABIFormazione e la 24Ore Business School.
È coordinatore scientifico del Master “Cybersecurity e Data Protection” della business school 24Ore.
È membro del Comitato Scientifico CLUSIT (Associazione Italiana per la Cybersecurity) e Innovation Manager certificato da RINA.
Ricopre posizioni di DPO (Data Protection Officer) in aziende e Associazioni Professionali.
È autore dei seguenti libri:
- “GDPR kit di sopravvivenza” – “GDPR survival kit” (Edito da goWare),
- “Cybersecurity kit di sopravvivenza. Il web è un luogo pericoloso. Dobbiamo difenderci!” – “Cybersecurity survival kit. The web is a dangerous place. We must defend ourselves!” (Edito da goWare),
- “iPhone. Come usarlo al meglio. Scopriamo insieme tutte le funzioni e le app migliori” – “iPhone. How to use it to its full potential. Let’s discover together all the functions and best apps” (Edito da goWare).
Collabora con CYBERSECURITY360 una rivista online specializzata del gruppo Digital360 focalizzata su Cybersecurity.
Scrive inoltre per ICT Security Magazine, per Agenda Digitale e per la rivista CLASS.
Puoi attivare la protezione FlashStart® Cloud su qualsiasi tipo di router e firewall per mettere in sicurezza dispositivi desktop e mobile e dispositivi IoT sulle reti locali.

