2FA (Two-factor authentication - Autenticazione a due fattori)

Scopri in che modo l'autenticazione a due fattori (Two-factor authentication - 2FA) protegge gli account utente, difende le organizzazioni dagli attacchi informatici e supporta un approccio di sicurezza zero-trust.

Illustrazione isometrica del processo di autenticazione a due fattori
Che cos'è 2FA?

2FA, o autenticazione a due fattori, è un metodo di verifica dell'identità che richiede che un utente fornisca un secondo fattore di autenticazione oltre a una password oppure due fattori di autenticazione invece di una password per accedere a un sito Web, un'applicazione o una rete. Ad esempio, quando un'app di online banking richiede a un cliente di immettere sia una password che un codice di verifica inviato al cellulare del cliente tramite SMS, l'app sta utilizzando 2FA.

Poiché è più complesso violare un secondo fattore di autenticazione e poiché altri tipi di fattori sono più difficili da rubare o falsificare, 2FA migliora la sicurezza dell'account e protegge in modo più efficace un'organizzazione e i suoi utenti dall'accesso non autorizzato.

2FA è il tipo più comunemente utilizzato di MFA (multi-factor authentication - autenticazione a più fattori) – autenticazione che richiede almeno un fattore di autenticazione oltre ad una password, o almeno due fattori di autenticazione invece di una password.


Tipi di fattori di autenticazione utilizzati in 2FA

L'autenticazione a due fattori riduce il rischio di accesso non autorizzato in due modi. In primo luogo, costringe gli hacker a violare due fattori, invece di uno solo. In secondo luogo, almeno uno dei fattori richiesti dalla 2FA è più difficile da violare rispetto a una password.

In definitiva, la solidità di qualsiasi schema 2FA dipende dai tipi di fattori di autenticazione che richiede a un utente di fornire.

Fattori di conoscenza: un'informazione di cui l'utente è a conoscenza

Nella stragrande maggioranza delle implementazioni 2FA, un fattore di conoscenza funge da primo fattore di autenticazione. Un fattore di conoscenza è un bit di informazione che, in teoria, solo l'utente dovrebbe conoscere. Una password è il fattore di conoscenza più comune; altri sono i numeri di identificazione personale (personal identification number - PIN) e le risposte alle domande di sicurezza.

Nonostante il loro uso diffuso, i fattori di conoscenza in generale, e le password in particolare, sono il tipo più vulnerabile di fattore di autenticazione. Gli hacker possono ottenere le password e altri fattori di conoscenza tramite attacchi di phishing, installando programmi di registrazione delle sequenze di tasti premuti o spyware sui dispositivi degli utenti, oppure organizzando attacchi di forza bruta, eseguendo script o bot che generano e provano password potenziali, fino a quando non viene individuata quella funzionante.

Altri tipi di fattori di conoscenza non rappresentano una sfida particolarmente ardua. Risposte ad alcune domande di sicurezza, ad esempio "Qual è il nome da nubile di tua madre?" — possono essere facilmente violate attraverso la ricerca di base o attacchi di ingegneria sociale, in cui gli hacker inducono gli utenti a divulgare informazioni personali. Altre domande di sicurezza, ad esempio "Dove sei andato in luna di miele?" — possono essere relativamente facili da indovinare. Non c'è da stupirsi che le credenziali compromesse siano state il vettore di attacco iniziale più comunemente sfruttato nel 2021, rappresentando il 20 percento di tutte le violazioni dei dati.

Vale la pena notare che la pratica ancora comune di richiedere una password e una domanda di sicurezza — due fattori di conoscenza — non è 2FA; è una verifica in due passaggi. La vera 2FA richiede due tipi diversi di fattori di autenticazione.

Fattori di possesso: qualcosa che l'utente ha a disposizione

I fattori di possesso sono oggetti fisici che gli utenti portano con sé, contenenti le informazioni necessarie per l'autenticazione. Esistono due tipi di fattori di possesso: token software e token hardware.

Oggi, la maggior parte dei token software sono password monouso (one-time password - OTP)  — codici di accesso a scadenza, composti da 4 a 8 cifre, inviati al telefono di un utente tramite messaggio di testo SMS (o email o messaggio vocale) o generati da un'app di autenticazione installata sul telefono. Le app di autenticazione possono generare token senza connessione a Internet o cellulare. L'utente accoppia l'app con gli account scansionando i codici QR presentati dai provider di servizi; l'app genera, quindi, continuamente password monouso basate sul tempo (time-based one-time passwords - TOTP) o altri token software per ciascun account, in genere ogni 30-60 secondi. Le app di autenticazione più comunemente utilizzate includono Google Authenticator, Authy, Microsoft Authenticator, LastPass Authenticator e Duo, che utilizza le notifiche push anziché le TOTP.

I token hardware sono dispositivi dedicati (portachiavi, carte d'identità, dongle)  che funzionano come chiavi di sicurezza. Alcuni token hardware si collegano alla porta USB di un computer e trasmettono le informazioni di autenticazione alla pagina di accesso; altri generano codici di sicurezza che l'utente può immettere manualmente quando richiesto.

I fattori di possesso offrono vari vantaggi rispetto ai fattori di conoscenza. Per impersonare un utente, al momento dell'accesso un hacker deve avere in mano il dispositivo fisico o intercettare la trasmissione al dispositivo per acquisire l'OTP o la TOTP prima che scada.

Ma i fattori di possesso non sono inviolabili. I token fisici e gli smartphone possono essere rubati o smarriti. Sebbene OTP e TOTP siano più difficili da rubare rispetto alle password tradizionali, sono comunque soggette a sofisticati attacchi di phishing o man-in-the-middle. E le OTP sono vulnerabili alla clonazione della SIM, creando un duplicato funzionale della scheda SIM dello smartphone della vittima.

Fattori intrinseci: qualcosa che rende unico l'utente come individuo

I fattori intrinseci, chiamati anche biometria, sono caratteristiche fisiche o tratti unici dell'utente: un'impronta digitale, una voce, tratti del viso o disegni dell'iride e della retina. Oggi, molti dispositivi mobili possono essere sbloccati mediante le impronte digitali o il riconoscimento facciale, alcuni computer possono utilizzare le impronte digitali per immettere password nei siti Web o nelle applicazioni.

I fattori intrinseci sono i fattori più difficili da violare: non possono essere dimenticati, persi o mal posizionati e sono estremamente difficili da replicare. Ma ciò non significa che siano impenetrabili. Se i fattori intrinseci sono memorizzati in un database, possono essere sottratti. Ad esempio, nel 2019, un database biometrico contenente 1 milione di impronte digitali degli utenti è stato violato. In teoria, gli hacker sono stati in grado di rubare queste impronte digitali o di collegare le proprie al profilo di un altro utente nel database.

Quando i dati biometrici vengono compromessi, non possono essere modificati in modo rapido o semplice; ciò può rendere difficile per le vittime arrestare gli attacchi in corso.

Fattori comportamentali: qualcosa che l'utente fa

I fattori comportamentali sono artefatti digitali che verificano l'identità di un utente in base a modelli comportamentali. Gli esempi includono un intervallo di indirizzi IP oppure i dati sulla posizione, che indicano l'area da cui un utente in genere accede a un'applicazione.

Le soluzioni di autenticazione comportamentale utilizzano l'intelligenza artificiale per determinare una baseline per i normali modelli comportamentali degli utenti, quindi segnalano le attività anomale, ad esempio l'accesso da un nuovo dispositivo, numero di telefono, browser Web o da una nuova posizione. Alcune implementazioni 2FA utilizzano efficacemente i fattori comportamentali consentendo agli utenti di registrare dispositivi attendibili come fattori di autenticazione. Sebbene è possibile che l'utente debba fornire manualmente due fattori al primo accesso, l'uso del dispositivo attendibile agirà automaticamente come secondo fattore in futuro.

I fattori comportamentali sono comunemente usati nell'autenticazione adattiva, definita anche “autenticazione basata sul rischio”. In questo sistema, i requisiti di autenticazione cambiano quando il rischio cambia, ad esempio quando un utente tenta di accedere da un dispositivo non attendibile, tenta di accedere a un'applicazione per la prima volta o tenta di accedere a dati particolarmente sensibili. Gli schemi di autenticazione adattivi in genere consentono agli amministratori di sistema di impostare politiche di autenticazione separate per ogni tipo di utente o ruolo. Gli utenti a basso rischio potrebbero aver bisogno solo di due fattori per accedere, mentre gli utenti ad alto rischio, o le app ad elevata sensibilità, potrebbero richiedere tre o più fattori.

Sebbene i fattori comportamentali rappresentino un modo sofisticato per autenticare gli utenti, la loro implementazione richiede notevoli risorse e competenze. Inoltre, se un hacker ottiene l'accesso a un dispositivo attendibile, può utilizzarlo come fattore di autenticazione.


2FA senza password

Poiché i fattori di conoscenza compromessi sono il vettore iniziale più comune nelle violazioni della sicurezza informatica, molte organizzazioni stanno esplorando la modalità senza password  di autenticazione: autenticazione che si basa su fattori di possesso, intrinseci e comportamentali per verificare le identità. L'autenticazione senza password riduce la vulnerabilità agli attacchi che prendono di mira le password, come attacchi di phishing e credential stuffing, in cui gli hacker utilizzano le credenziali rubate da un sistema per accedere a un altro sistema.

Sebbene la maggior parte degli attuali metodi 2FA utilizzi le password, gli esperti del settore prevedono una sempre maggiore diffusione in futuro della modalità senza password, dal momento che sempre più organizzazioni si allontanano da quello che è ampiamente considerato l'anello più debole nella catena di verifica dell'identità. È probabile che ciò promuova l'adozione di sistemi 2FA senza password, in cui gli utenti devono fornire due diversi tipi di credenziali di autenticazione di fattore non di conoscenza. Ad esempio, richiedere a un utente un'impronta digitale e un token fisico costituirebbe una configurazione 2FA senza password.


2FA e conformità normativa

In risposta alla crescente ondata di attacchi informatici, molte normative governative e di settore ora richiedono l'MFA per sistemi che gestiscono dati sensibili. Ad esempio:

  • Nel 2020, l'IRS (Internal Revenue Service) ha reso obbligatoria l'MFA per i provider di sistemi di preparazione delle dichiarazioni dei redditi online.
  • L'ordine esecutivo del 2021 del presidente Biden, relativo all'incremento della sicurezza informatica nazionale ha reso l'MFA un requisito per tutte le agenzie federali. Un successivo memorandum richiede che tutti i sistemi di sicurezza nazionale, del Dipartimento della difesa e della community di intelligence implementino l'MFA entro il 18 agosto 2022.
  • Il PCI-DSS (Payment Card Industry Data Security Standard) richiede esplicitamente l'MFA per i sistemi che gestiscono i dati delle carte di credito e di pagamento.

I metodi di autenticazione a due fattori soddisfano il livello minimo di conformità a queste e ad altre normative. Molte altre normative, tra cui il SOX (Sarbanes-Oxley) Act e l'HIPAA, raccomandano vivamente l'utilizzo almeno della 2FA come mezzo per ottenere la conformità.


2FA, single sign-on e zero trust

SSO (Single Sign-On) è un metodo di autenticazione che consente agli utenti di accedere a più applicazioni e servizi correlati tramite un'unica serie di credenziali di accesso. L'utente esegue una sola volta l'accesso e la soluzione SSO autentica la sua identità e genera un token di autenticazione per la sessione. Questo token funge da chiave di sicurezza dell'utente per vari database e applicazioni interconnessi.

Per ridurre il rischio che deriva dal fare affidamento su un unica serie di credenziali per più applicazioni, le organizzazioni spesso abilitano la 2FA per gli accessi SSO. Ciò fornisce un ulteriore livello di sicurezza, richiedendo due diversi fattori di autenticazione prima che un utente possa accedere alla sessione SSO.

Le organizzazioni possono implementare l'autenticazione adattiva per l'SSO, combinando 2FA per l'accesso iniziale e l'accesso ad applicazioni e contenuti meno sensibili e richiedendo fattori di autenticazione aggiuntivi quando l'utente tenta di accedere a dati più sensibili o mostra un comportamento anomalo (come tentare di connettersi tramite una VPN non riconosciuta). Questo è particolarmente comune nelle architetture di sicurezza informatica zero trust, in cui l'identità di un utente non è mai considerata attendibile e viene sempre verificata mentre l'utente si sposta sulla rete.