Skip to content

Che cos’è la 2FA? E come funzionano davvero quei codici da 30 secondi?

Una guida completa e senza tecnicismi: che cos’è l’autenticazione a due fattori, la crittografia che sta dietro ai codici TOTP a sei cifre, quale fattore attivare su quale account e come non restare mai chiuso fuori.

Perché le password da sole non bastano

Ogni accesso richiede una password, e le password hanno tre problemi strutturali: vengono riutilizzate, vengono indovinate dagli attacchi di credential stuffing che ripropongono database trafugati, e vengono pescate con il phishing. L’autenticazione a due fattori (2FA) accetta una verità semplice — l’anello debole è il fattore umano — e aggiunge una seconda cosa, indipendente, che l’attaccante deve possedere a sua volta. Con la 2FA, una password trafugata non basta più da sola a entrare nel tuo account.

La maggior parte dei grandi servizi oggi offre o impone la 2FA: GitHub la applica dal 2023, gli exchange di criptovalute (Binance, Coinbase, Kraken) la spingono a ogni ribasso di mercato, e Microsoft, Google e Apple l’hanno integrata nella sicurezza degli account come impostazione predefinita.

I tre fattori

I fattori di autenticazione si dividono in tre categorie:

  • Qualcosa che sai — password, PIN. Economici da distribuire e facili da pescare con il phishing.
  • Qualcosa che hai — un autenticatore che genera codici, una chiave di sicurezza hardware o una passkey, un telefono che riceve SMS. È qui che vive la 2FA.
  • Qualcosa che sei — impronte digitali, riconoscimento del volto. Comodi, ma registrati in locale sul dispositivo più che impiegati come fattore remoto primario.

Una verifica davvero a due fattori combina tecniche di due categorie diverse. Una password più lo sblocco a disegno del telefono non è 2FA; una password più un codice di autenticazione che ruota lo è.

Come funziona il TOTP, passo per passo

  1. Registrazione. Quando attivi la 2FA su un servizio, questo genera un segreto casuale e lo condivide con te una volta sola — disegnato come codice QR o mostrato come chiave di configurazione Base32. In termini di sicurezza, questo singolo momento concentra tutto il rischio: per questo la chiave va rivelata soltanto in un luogo di cui ti fidi.
  2. Il tempo corre. L’ora corrente viene divisa in “passi” di 30 secondi: step = floor(unixTime / 30). Niente di speciale nei 30 secondi: l’RFC 6238 consente a un servizio di accettare 15, 30 o 60 secondi.
  3. HMAC. Il tuo autenticatore calcola un hash HMAC (SHA-1 per la maggior parte dei servizi, a volte SHA-256/512) sul valore del passo, usando il segreto come chiave. HMAC è una costruzione a senso unico: vedere il risultato non dice nulla sul segreto.
  4. Estrazione delle cifre. Quattro byte dell’output HMAC vengono selezionati tramite l’ultimo nibble, il bit più significativo viene azzerato e il risultato modulo 10n diventa il tuo codice — di soliton = 6, a volte 7 o 8.
  5. Finestra di verifica. Il server ricalcola lo stesso valore per il passo corrente e per quello precedente (per tollerare le piccole derive dell’orologio). Corrispondenza trovata, accesso consentito.

Tutto quanto sopra viene eseguito in microsecondi, interamente sul dispositivo. Ecco perché uno strumento client-side come 2FA COUNTER può fare tutto il lavoro in locale: carica la pagina, disconnettiti da internet, e i codici continuano a uscire ogni 30 secondi, per sempre.

Il segreto e il codice QR

La stringa Base32 non è un formato intermedio qualsiasi: sono i byte grezzi del segreto codificati in un alfabeto adatto alle tastiere (A–Z più 2–7, escludendo di proposito 0 e 1, che si confondono facilmente, e sicuro su qualsiasi tastiera). Quando una piattaforma offre il link “non riesci a scansionare?”, la stringa risultante contiene lestesse informazioni private del codice QR. Puoi conservare una delle due forme: il significato è identico:

otpauth://totp/GitHub:you%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub
otpauth://totp/Binance:me?secret=JBSWY3DPEHPK3PXP&digits=6&period=30&algorithm=SHA1
otpauth://hotp/Steam:sda?secret=...&counter=5   ← counter-based (HOTP) variant

Un generatore moderno rispetta ogni parametro: numero di cifre, periodo, algoritmo di hash e contatore HOTP — perché un servizio che specifica SHA-256 rifiuterà comunque un codice SHA-1 predefinito. Una chiave Base32 nuda usa le impostazioni predefinite standard: 6 cifre, 30 secondi, SHA-1, che è ciò che usa la gran parte dei servizi.

TOTP contro SMS contro chiavi hardware

  • I codici SMS viaggiano sulla rete delle telecomunicazioni. Con gli attacchi SIM swap un malintenzionato dirotta il tuo numero di telefono e riceve ogni codice al posto tuo. L’SMS è deprecato negli standard statunitensi (NIST SP 800-63B) per l’autenticazione.
  • Il TOTP non trasmette nulla — il codice viene calcolato in locale e scade dopo 30 secondi. Gratuito, basato su standard e supportato ovunque. Anello debole: può essere pescato con il phishing entro la sua finestra di validità.
  • Le chiavi di sicurezza e le passkey (WebAuthn/FIDO2) sono vincolate crittograficamente al dominio esatto, quindi le pagine finte somiglianti falliscono automaticamente. L’opzione più forte; supporto meno diffuso e costa una chiave.

La scala pratica: usa l’SMS solo se non hai alternativa, il TOTP come impostazione predefinita, e le chiavi hardware o le passkey per gli account che contano di più.

Per un’analisi approfondita dei pro e contro: TOTP contro passkey — quale fattore sta dove, come gli attacchi SIM swap scavalcano i codici SMS e cosa fa la sincronizzazione cloud delle app alle tue chiavi segrete.

Ciò che la 2FA non risolve

L’autenticazione a due fattori risolve il furto della password. Non blocca il furto dei cookie di sessione (malware già in esecuzione sulla tua macchina), le estensioni del browser con permessi troppo generosi, un’email di recupero di cui hai perso il controllo, o l’ingegneria sociale in cui un attaccante ti mette pressione perché tu legga ad alta voce un codice appena generato, entro la sua finestra di 30 secondi. Tieni i browser aggiornati, pota le estensioni senza pietà e considera ogni richiesta urgente e ansiosa di un codice per ciò che è: una bandiera rossa.

Come non restare mai escluso dal tuo account

  1. Salva i codici di backup. Ogni servizio stampa un pacchetto di codici di recupero monouso quando attivi la 2FA. Stampali o conservali cifrati e offline.
  2. Conserva il segreto, non solo lo strumento. La chiave Base32 salvata nel caveau del tuo password manager ti permette di rigenerare i codici con qualunque autenticatore — un’app per telefono oppure il generatore nel browser — su qualsiasi dispositivo tu abbia a disposizione quel giorno.
  3. Registra due dispositivi, non uno. La stessa chiave può vivere senza problemi su due dispositivi fidati contemporaneamente. Il TOTP è deterministico: stesso segreto, stessi codici.
  4. Controlla il tuo orologio. Se i codici vengono respinti di frequente, correggi prima di tutto la sincronizzazione dell’ora del dispositivo: è la causa numero uno degli errori “codice non valido”, e nessuno strumento può aggirarla.

FAQ

Che cos’è la 2FA?

La 2FA (autenticazione a due fattori) significa dimostrare chi sei con due tipi di prova diversi: qualcosa che sai (la tua password) più qualcosa che hai (un codice che cambia ogni 30 secondi, una chiave di sicurezza o il tuo telefono). Una password, da sola, può finire in circolazione o essere indovinata; il secondo fattore rende inutile una password trafugata.

Perché la 2FA è così importante?

Perché le password continuano a fallire sempre allo stesso modo. Miliardi di password reali sono già pubbliche a causa dei data breach, e gli aggressori le ripropongono sugli account di altre persone, giorno e notte (credential stuffing). Microsoft segnala che la 2FA blocca oltre il 99,9% degli attacchi automatizzati di takeover degli account: protegge la tua email, la banca, i social, il gaming e le criptovalute dalle minacce che succedono davvero.

A cosa serve la 2FA?

Protegge qualsiasi accesso che qualcun altro desidera: email e suite cloud (Google, Microsoft, Apple), conti bancari e di trading, exchange di criptovalute (Binance, Coinbase, Kraken), piattaforme per sviluppatori (GitHub, AWS), gaming (Steam, Discord, Twitch) e social (X, Instagram). Le aziende la usano anche per VPN, posta elettronica e console di amministrazione. Ovunque un servizio offra l’opzione «app di autenticazione», la 2FA è lo strumento giusto.

Come funziona la 2FA?

Dopo la password, il servizio chiede una seconda prova di identità. Con il metodo più diffuso (TOTP), il tuo autenticatore deriva un codice a 6 cifre sempre nuovo da un segreto condiviso più l’ora corrente (lo standard RFC 6238), mentre il server esegue lo stesso identico calcolo e confronta i risultati. Il codice viene ricalcolato ogni 30 secondi e non può essere riutilizzato: così un attaccante che ha soltanto la tua password non entra comunque.

Come viene generato un codice TOTP?

Il sito ti consegna una chiave segreta (di solito come codice QR o stringa Base32). Il tuo autenticatore calcola l’HMAC (con SHA-1, SHA-256 o SHA-512) sulla finestra di tempo corrente di 30 secondi usando quel segreto, poi legge 6 cifre dal risultato. Il sito esegue lo stesso identico calcolo e confronta il risultato. Non serve alcuna connessione, perché le due parti condividono già il segreto.

Come si ottiene la 2FA?

La 2FA si ottiene dall’account che vuoi proteggere: apri le impostazioni, cerca la voce «Sicurezza» o «Accesso e sicurezza» e trova «Autenticazione a due fattori» o «Verifica in due passaggi». Scegli l’opzione per l’app di autenticazione, scansiona il codice QR — oppure fai comparire la chiave di configurazione — e inserisci il codice mostrato dall’autenticatore per confermare. La nostra guida passo passo spiega come ottenere un codice anche senza un telefono: /it/how-to-get-2fa-code/.

Come si attiva la verifica in due passaggi?

Quattro passaggi: 1) Apri le impostazioni dell’account o di sicurezza del servizio e seleziona «Autenticazione a due fattori». 2) Scegli «Usa un’app di autenticazione» (evita gli SMS se esiste un’opzione migliore). 3) Scansiona il codice QR con l’autenticatore — oppure clicca «non riesci a scansionare?» e salva la chiave di configurazione. 4) Inserisci il codice live per completare la procedura, poi scarica o stampa i codici di backup/recupero che ti vengono mostrati. Pubblichiamo guide di configurazione per Google, GitHub, Discord, Binance e altri servizi.

Quanto è robusta la 2FA?

Dipende interamente dal secondo fattore. I codici SMS sono i più deboli — con gli attacchi SIM swap un aggressore dirotta il tuo numero di telefono e intercetta i messaggi. I codici degli autenticatori TOTP — quelli da 30 secondi — sono robusti a livello computazionale: un attaccante offline non può ricavarli e ognuno scade in pochi secondi. Le chiavi di sicurezza hardware e le passkey sono i più forti di tutti: resistenti al phishing e vincolate crittograficamente al dominio reale.

La 2FA è sicura al 100%?

No — non lo è nessuna misura di sicurezza, e le guide oneste lo dicono. La 2FA neutralizza le password rubate, ma il codice stesso può comunque essere pescato con il phishing se lo digiti, vivo e funzionante, su un sito falso nei suoi 30 secondi di validità; un malware già presente sul dispositivo può dirottare la sessione; e se il secondo fattore è l’SMS, i SIM swap sono una minaccia reale. Con queste premesse, attivare la 2FA rende il tuo account drasticamente più difficile da attaccare rispetto a uno protetto dalla sola password.

La 2FA è obbligatoria?

Nessun governo la impone per legge, ma sempre più piattaforme sì: GitHub la richiede a chi contribuisce con codice dal 2023, molte banche ed exchange di criptovalute la rendono obbligatoria, e i datori di lavoro la prescrivono di routine per gli accessi di lavoro. Altrove è facoltativa ma fortemente consigliata. In pratica, considerala obbligatoria per i tuoi account più preziosi: prima di tutto l’email, perché chi controlla la tua casella può reimpostare tutto il resto.

Perché ormai tutti usano la 2FA?

Perché l’era della sola password è crollata. I breach industriali hanno esposto miliardi di credenziali, il credential stuffing automatizzato ha reso il dirottamento degli account quasi gratis, e le piattaforme si sono stancate di pagare le conseguenze. A ciò si sono aggiunti i regolatori: il NIST ha deprecato l’autenticazione via SMS negli standard statunitensi, e la PSD2 dell’Unione europea richiede l’autenticazione forte del cliente. Dopo che pochi giganti hanno normalizzato la 2FA, tutti gli altri servizi hanno seguito.

Qual è la differenza tra TOTP, HOTP e OTP?

OTP significa semplicemente “password monouso”. TOTP (basato sul tempo, RFC 6238) deriva il codice dall’ora corrente, quindi cambia ogni 30 secondi. HOTP (RFC 4226) è basato su un contatore: ogni codice vale una volta sola e il contatore avanza. Quasi ogni servizio che offre un’app di autenticazione — Google, Microsoft, Discord, GitHub — usa il TOTP.

Perché il TOTP è meglio della 2FA via SMS?

I codici SMS viaggiano sulla rete telefonica, dove possono essere intercettati o rubati con gli attacchi SIM swap — e può semplicemente capitare che l’SMS non arrivi. I codici TOTP vengono calcolati sul tuo dispositivo, non vengono mai trasmessi e scadono nel giro di pochi secondi. Autorità come il NIST hanno deprecato gli SMS per l’autenticazione.

Un sito di phishing può rubare i codici TOTP?

Sì — se digiti un codice appena generato su una pagina di phishing entro la sua finestra di validità di 30 secondi, l’attaccante ottiene un accesso valido. Ecco perché i fattori resistenti al phishing (le chiavi di sicurezza hardware e le passkey, che si vincolano crittograficamente al dominio reale) sono l’opzione più forte dove vengono offerte. Il TOTP batte SMS e password, non le chiavi hardware.

Dove devo conservare la mia chiave segreta 2FA?

In un caveau di un password manager cifrato, come copia principale. Così puoi rigenerare i codici su qualsiasi dispositivo fidato — anche in un browser con uno strumento come 2facounter.com — quando il telefono non è disponibile. Salva inoltre i codici di backup/recupero che ogni servizio stampa quando attivi la 2FA: sono il tuo vero airbag.

Ora provalo

Incolla una chiave segreta nel generatore e guarda comparire un codice 2FA live — funziona anche offline, senza account, niente viene mai inviato a un server.

Apri il generatore