L’autenticazione a due fattori (2FA), a volte indicata come verifica a due passi o autenticazione a due fattori, è un processo di sicurezza in cui gli utenti forniscono due diversi fattori di autenticazione per verificare se stessi. Questo processo è fatto per proteggere meglio sia le credenziali dell’utente che le risorse a cui l’utente può accedere. L’autenticazione a due fattori fornisce un livello più alto di sicurezza rispetto ai metodi di autenticazione che dipendono dall’autenticazione a fattore singolo (SFA), in cui l’utente fornisce un solo fattore – tipicamente, una password o un codice di accesso. I metodi di autenticazione a due fattori si basano su un utente che fornisce una password e un secondo fattore, di solito un token di sicurezza o un fattore biometrico, come un’impronta digitale o una scansione facciale.
L’autenticazione a due fattori aggiunge un ulteriore livello di sicurezza al processo di autenticazione, rendendo più difficile per gli attaccanti ottenere l’accesso ai dispositivi di una persona o agli account online, perché conoscere la sola password della vittima non è sufficiente per passare il controllo di autenticazione. L’autenticazione a due fattori è stata a lungo utilizzata per controllare l’accesso a sistemi e dati sensibili, e i fornitori di servizi online utilizzano sempre più spesso la 2FA per proteggere le credenziali dei loro utenti dall’essere utilizzate da hacker che hanno rubato un database di password o utilizzato campagne di phishing per ottenere le password degli utenti.
- Che cosa sono i fattori di autenticazione?
- Cos’è la gestione delle identità e degli accessi? Guida all’IAM
- Come funziona l’autenticazione a due fattori?
- Elementi di autenticazione a due fattori
- Tipi di prodotti per l’autenticazione a due fattori
- Come funzionano i token hardware 2FA
- Autenticazione a due fattori per l’autenticazione dei dispositivi mobili
- L’autenticazione a due fattori è sicura?
- Livelli più alti di autenticazione
- Notifiche push per 2FA
- Futuro dell’autenticazione
Che cosa sono i fattori di autenticazione?
Ci sono diversi modi in cui qualcuno può essere autenticato utilizzando più di un metodo di autenticazione. Attualmente, la maggior parte dei metodi di autenticazione si basa su fattori di conoscenza, come una password tradizionale, mentre i metodi di autenticazione a due fattori aggiungono un fattore di possesso o un fattore di inerenza.
I fattori di autenticazione, elencati in ordine approssimativo di adozione nell’informatica, includono i seguenti:
- Un fattore di conoscenza è qualcosa che l’utente conosce, come una password, un PIN (numero di identificazione personale) o qualche altro tipo di segreto condiviso.
- Un fattore di possesso è qualcosa che l’utente ha, come una carta d’identità, un token di sicurezza, un cellulare, un dispositivo mobile o un’applicazione per smartphone, per approvare le richieste di autenticazione.
- Un fattore di inerenza, più comunemente chiamato fattore biometrico, è qualcosa inerente al sé fisico dell’utente. Questi possono essere attributi personali mappati da caratteristiche fisiche, come le impronte digitali autenticate attraverso un lettore di impronte digitali. Altri fattori di inerenza comunemente usati includono il riconoscimento facciale e vocale. Essi includono anche la biometria comportamentale, come la dinamica della pressione dei tasti, l’andatura o i modelli di discorso.
- Un fattore di localizzazione, di solito indicato dalla posizione da cui viene fatto un tentativo di autenticazione, può essere applicato limitando i tentativi di autenticazione a dispositivi specifici in una particolare posizione o, più comunemente, tracciando la fonte geografica di un tentativo di autenticazione basato sull’indirizzo IP (Internet Protocol) di origine o qualche altra informazione di geolocalizzazione, come i dati GPS (Global Positioning System), derivati dal telefono cellulare dell’utente o altro dispositivo.
- Un fattore temporale limita l’autenticazione dell’utente a una specifica finestra temporale in cui è consentito l’accesso e limita l’accesso al sistema al di fuori di tale finestra.
Si noti che la stragrande maggioranza dei metodi di autenticazione a due fattori si basa sui primi tre fattori di autenticazione, anche se i sistemi che richiedono maggiore sicurezza possono usarli per implementare l’autenticazione a più fattori (MFA), che può contare su due o più credenziali indipendenti per un’autenticazione più sicura.
Questo articolo fa parte di
Cos’è la gestione delle identità e degli accessi? Guida all’IAM
- Che include anche:
- Come costruire un’architettura IAM efficace
- 4 best practice essenziali per la gestione delle identità e degli accessi
- 5 tendenze IAM che plasmano il futuro della sicurezza
Come funziona l’autenticazione a due fattori?
Ecco come funziona l’autenticazione a due fattori:
- L’utente viene invitato ad accedere dall’applicazione o dal sito web.
- L’utente inserisce ciò che conosce — di solito, username e password. Poi, il server del sito trova una corrispondenza e riconosce l’utente.
- Per i processi che non richiedono password, il sito web genera una chiave di sicurezza unica per l’utente. Lo strumento di autenticazione elabora la chiave e il server del sito la convalida.
- Il sito chiede quindi all’utente di avviare la seconda fase di login. Anche se questo passo può assumere diverse forme, gli utenti devono dimostrare di avere qualcosa che solo loro avrebbero, come un token di sicurezza, una carta d’identità, uno smartphone o un altro dispositivo mobile. Questo è il fattore di possesso.
- Poi, l’utente inserisce un codice monouso che è stato generato durante il quarto passo.
- Dopo aver fornito entrambi i fattori, l’utente viene autenticato e gli viene concesso l’accesso all’applicazione o al sito web.
Elementi di autenticazione a due fattori
L’autenticazione a due fattori è una forma di AMF. Tecnicamente, è in uso ogni volta che sono richiesti due fattori di autenticazione per accedere a un sistema o servizio. Tuttavia, usare due fattori della stessa categoria non costituisce una 2FA; per esempio, richiedere una password e un segreto condiviso è ancora considerato SFA in quanto entrambi appartengono allo stesso tipo di fattore di autenticazione: la conoscenza.
Per quanto riguarda i servizi SFA, ID utente e password non sono i più sicuri. Un problema con l’autenticazione basata su password è che richiede conoscenza e diligenza per creare e ricordare password forti. Le password richiedono protezione da molte minacce interne, come note adesive memorizzate incautamente con le credenziali di accesso, vecchi dischi rigidi e exploit di ingegneria sociale. Le password sono anche preda di minacce esterne, come gli hacker che utilizzano attacchi di forza bruta, dizionario o tabella arcobaleno.
Con tempo e risorse sufficienti, un aggressore può solitamente violare i sistemi di sicurezza basati su password e rubare i dati aziendali, comprese le informazioni personali degli utenti. Le password sono rimaste la forma più comune di SFA a causa del loro basso costo, della facilità di implementazione e della familiarità. Le domande a risposta multipla possono fornire maggiore sicurezza, a seconda di come vengono implementate, e i metodi di verifica biometrica autonoma possono anche fornire un metodo più sicuro di SFA.
Tipi di prodotti per l’autenticazione a due fattori
Ci sono molti dispositivi e servizi diversi per implementare la 2FA – dai token alle carte di identificazione a radio frequenza (RFID) alle applicazioni per smartphone.
I prodotti per l’autenticazione a due fattori possono essere divisi in due categorie: i token che vengono dati agli utenti per l’accesso e l’infrastruttura o il software che riconosce e autentica l’accesso per gli utenti che stanno usando correttamente i loro token.
I token di autenticazione possono essere dispositivi fisici, come portachiavi o smart card, o possono esistere nel software come applicazioni mobili o desktop che generano codici PIN per l’autenticazione. Questi codici di autenticazione, noti anche come password monouso (OTP), sono solitamente generati da un server e possono essere riconosciuti come autentici da un dispositivo di autenticazione o da un’app. Il codice di autenticazione è una breve sequenza legata a un particolare dispositivo, utente o account e può essere utilizzato una volta come parte di un processo di autenticazione.
Le organizzazioni hanno bisogno di implementare un sistema per accettare, elaborare e consentire – o negare – l’accesso agli utenti che si autenticano con i loro token. Questo può essere distribuito sotto forma di software per server, un server hardware dedicato o fornito come servizio da un fornitore di terze parti.
Un aspetto importante della 2FA è assicurare che l’utente autenticato abbia accesso a tutte le risorse per le quali l’utente è approvato – e solo a quelle risorse. Di conseguenza, una funzione chiave di 2FA è il collegamento del sistema di autenticazione con i dati di autenticazione di un’organizzazione. Microsoft fornisce alcune delle infrastrutture necessarie alle organizzazioni per supportare 2FA in Windows 10 attraverso Windows Hello, che può funzionare con gli account Microsoft, così come autenticare gli utenti attraverso Microsoft Active Directory, Azure AD o Fast IDentity Online (FIDO 2.0).
Come funzionano i token hardware 2FA
Sono disponibili token hardware per 2FA che supportano diversi approcci di autenticazione. Un popolare token hardware è la YubiKey, un piccolo dispositivo Universal Serial Bus (USB) che supporta OTP, crittografia e autenticazione a chiave pubblica, e il protocollo Universal 2nd Factor (U2F) sviluppato dalla FIDO Alliance. I token YubiKey sono venduti da Yubico Inc. con sede a Palo Alto, Calif.
Quando gli utenti con una YubiKey accedono a un servizio online che supporta OTP – come Gmail, GitHub o WordPress – inseriscono la loro YubiKey nella porta USB del loro dispositivo, inseriscono la loro password, cliccano nel campo YubiKey e toccano il pulsante YubiKey. La YubiKey genera un OTP e lo inserisce nel campo.
L’OTP è una password di 44 caratteri, monouso; i primi 12 caratteri sono un ID unico che identifica la chiave di sicurezza registrata con l’account. I restanti 32 caratteri contengono informazioni criptate utilizzando una chiave nota solo al dispositivo e ai server di Yubico, stabilita durante la registrazione iniziale dell’account.
L’OTP viene inviata dal servizio online a Yubico per il controllo dell’autenticazione. Una volta convalidato l’OTP, il server di autenticazione di Yubico invia un messaggio di conferma che questo è il token giusto per questo utente. La 2FA è completa. L’utente ha fornito due fattori di autenticazione: La password è il fattore di conoscenza, e la YubiKey è il fattore di possesso.
Autenticazione a due fattori per l’autenticazione dei dispositivi mobili
Gli smartphone offrono una varietà di possibilità per la 2FA, permettendo alle aziende di utilizzare ciò che funziona meglio per loro. Alcuni dispositivi sono in grado di riconoscere le impronte digitali, una fotocamera integrata può essere utilizzata per il riconoscimento facciale o la scansione dell’iride, e il microfono può essere utilizzato per il riconoscimento vocale. Gli smartphone dotati di GPS possono verificare la posizione come fattore aggiuntivo. La voce o il servizio di messaggi brevi (SMS) possono anche essere usati come canale per l’autenticazione fuori banda.
Un numero di telefono affidabile può essere usato per ricevere codici di verifica tramite messaggio di testo o chiamata telefonica automatica. Un utente deve verificare almeno un numero di telefono di fiducia per iscriversi a 2FA.
Apple iOS, Google Android e Windows 10 hanno tutti applicazioni che supportano 2FA, permettendo al telefono stesso di servire come dispositivo fisico per soddisfare il fattore di possesso. Duo Security, con sede a Ann Arbor, Mich, e acquistato da Cisco nel 2018 per 2,35 miliardi di dollari, è un fornitore di piattaforme 2FA il cui prodotto consente ai clienti di utilizzare i loro dispositivi di fiducia per 2FA. La piattaforma di Duo stabilisce innanzitutto che un utente è affidabile prima di verificare che il dispositivo mobile possa essere affidabile anche per l’autenticazione dell’utente.
Le app di autenticazione sostituiscono la necessità di ottenere un codice di verifica tramite testo, chiamata vocale o e-mail. Ad esempio, per accedere a un sito web o a un servizio basato sul web che supporta Google Authenticator, gli utenti digitano il loro nome utente e la password – un fattore di conoscenza. Agli utenti viene poi richiesto di inserire un numero di sei cifre. Invece di dover aspettare qualche secondo per ricevere un messaggio di testo, Authenticator genera il numero per loro. Questi numeri cambiano ogni 30 secondi e sono diversi per ogni login. Inserendo il numero corretto, gli utenti completano il processo di verifica e provano il possesso del dispositivo corretto – un fattore di proprietà.
Questi e altri prodotti 2FA offrono informazioni sui requisiti minimi di sistema necessari per implementare la 2FA.
L’autenticazione a due fattori è sicura?
Sebbene l’autenticazione a due fattori migliori la sicurezza – perché il diritto di accesso non si basa più solo sulla forza di una password – gli schemi di autenticazione a due fattori sono sicuri solo quanto il loro componente più debole. Per esempio, i token hardware dipendono dalla sicurezza dell’emittente o del produttore. Uno dei casi di più alto profilo di un sistema a due fattori compromesso si è verificato nel 2011, quando la società di sicurezza RSA Security ha riferito che i suoi token di autenticazione SecurID erano stati violati.
Il processo di recupero dell’account stesso può anche essere sovvertito quando viene utilizzato per sconfiggere l’autenticazione a due fattori, perché spesso reimposta la password corrente di un utente e invia via e-mail una password temporanea per consentire all’utente di accedere nuovamente, bypassando il processo 2FA. Gli account Gmail aziendali dell’amministratore delegato di Cloudflare sono stati violati in questo modo.
Anche se la 2FA basata su SMS è poco costosa, facile da implementare e considerata user-friendly, è vulnerabile a numerosi attacchi. Il National Institute of Standards and Technology (NIST) ha scoraggiato l’uso di SMS nei servizi 2FA nella sua Special Publication 800-63-3: Digital Identity Guidelines. Il NIST ha concluso che gli OTP inviati via SMS sono troppo vulnerabili a causa degli attacchi alla portabilità del numero di cellulare, come il Signaling System 7 hack, contro la rete di telefonia mobile e il malware, come Eurograbber, che può essere usato per intercettare o reindirizzare i messaggi di testo.
Livelli più alti di autenticazione
La maggior parte degli attacchi ha origine da connessioni Internet remote, quindi 2FA rende questi attacchi meno minacciosi. Ottenere le password non è sufficiente per l’accesso, ed è improbabile che un attaccante sia in grado di ottenere anche il secondo fattore di autenticazione associato ad un account utente.
Tuttavia, gli attaccanti a volte rompono un fattore di autenticazione nel mondo fisico. Per esempio, una perquisizione persistente dei locali dell’obiettivo potrebbe far ritrovare l’ID e la password di un dipendente nella spazzatura, o in dispositivi di archiviazione buttati via con noncuranza che contengono database di password. Tuttavia, se sono richiesti fattori aggiuntivi per l’autenticazione, l’attaccante dovrebbe affrontare almeno un ostacolo in più. Poiché i fattori sono indipendenti, la compromissione di uno non dovrebbe portare alla compromissione degli altri.
Questo è il motivo per cui alcuni ambienti ad alta sicurezza richiedono una forma più impegnativa di MFA, come l’autenticazione a tre fattori (3FA), che in genere comporta il possesso di un token fisico e una password utilizzata insieme a dati biometrici, come le scansioni delle impronte digitali o le impronte vocali. Fattori come la geolocalizzazione, il tipo di dispositivo e l’ora del giorno sono anche utilizzati per aiutare a determinare se un utente deve essere autenticato o bloccato. Inoltre, gli identificatori biometrici comportamentali, come la lunghezza dei tasti premuti da un utente, la velocità di battitura e i movimenti del mouse, possono anche essere monitorati discretamente in tempo reale per fornire un’autenticazione continua invece di un singolo controllo di autenticazione una tantum durante il login.
Notifiche push per 2FA
Una notifica push è un’autenticazione senza password che verifica un utente inviando una notifica direttamente a un’app sicura sul dispositivo dell’utente, avvisandolo che sta avvenendo un tentativo di autenticazione. L’utente può visualizzare i dettagli del tentativo di autenticazione e approvare o negare l’accesso – in genere, con un solo tocco. Se l’utente approva la richiesta di autenticazione, il server riceve la richiesta e registra l’utente nella web app.
Le notifiche push autenticano l’utente confermando che il dispositivo registrato con il sistema di autenticazione – di solito, un dispositivo mobile – è in possesso dell’utente. Se un aggressore compromette il dispositivo, anche le notifiche push sono compromesse. Le notifiche push eliminano le opportunità di attacchi man-in-the-middle (MitM), accessi non autorizzati e attacchi di phishing e social engineering.
Mentre le notifiche push sono più sicure di altre forme di metodi di autenticazione, ci sono ancora rischi di sicurezza. Per esempio, gli utenti potrebbero approvare accidentalmente una richiesta di autenticazione fraudolenta perché sono abituati a toccare l’approvazione quando ricevono notifiche push.
Futuro dell’autenticazione
Raffidarsi alle password come metodo principale di autenticazione non offre più la sicurezza o l’esperienza utente (UX) che gli utenti richiedono. E, anche se gli strumenti di sicurezza legacy, come il password manager e l’MFA, tentano di affrontare i problemi di nomi utente e password, dipendono da un’architettura essenzialmente obsoleta: il database delle password.
Di conseguenza, le organizzazioni che cercano di migliorare la sicurezza in futuro stanno esplorando l’uso di tecnologie di autenticazione senza password per migliorare l’UX.
L’autenticazione senza password permette agli utenti di autenticarsi nelle loro applicazioni in modo sicuro, senza dover inserire le password. Nel business, questo significa che i dipendenti possono accedere al loro lavoro senza dover inserire le password – e l’IT mantiene ancora il controllo totale su ogni login.
Biometria e protocolli sicuri sono un paio di esempi di tecnologie di autenticazione senza password.
Utilizzare la biometria come metodo di autenticazione senza password a livello di utente, applicazione e dispositivo può garantire alle aziende che i dipendenti che accedono ai sistemi siano chi dicono di essere.
I protocolli sono un altro esempio di tecnologie senza password. I protocolli sono standard che mirano a facilitare la comunicazione tra un fornitore di identità e un fornitore di servizi. Un dipendente che si autentica al fornitore di identità si autentica anche nei fornitori di servizi assegnati, senza inserire una password.
Andare senza password avvantaggia le organizzazioni perché eliminando la password si ottiene una migliore UX per i loro dipendenti. L’autenticazione senza password introduce nuovi modi per i dipendenti di accedere facilmente e in modo sicuro al loro lavoro senza dover fare affidamento sulle password. Questo elimina la necessità di recupero dell’account, le richieste di reimpostare le password e il processo di rotazione manuale delle password.