Cos'è l'autenticazione a due fattori? Guida semplice
L'autenticazione a due fattori (2FA) è un accesso che chiede due tipi diversi di prova di chi sei — tipicamente qualcosa che sai, come una password, più qualcosa che possiedi, come il telefono o una chiave di sicurezza. Se un malintenzionato ruba o indovina la tua password, non può entrare senza il secondo fattore. È uno dei modi più semplici per proteggere account importanti.
Perché conta quando costruisci con l'AI
Quando chiedi a un builder AI un «login», di solito ottieni email e password. È un buon punto di partenza, ma le password vengono riutilizzate, usate in attacchi di phishing e divulgate. Se la tua app contiene qualcosa di prezioso — dati dei clienti, fatture, controlli da amministratore, impostazioni di pagamento — una sola password rubata potrebbe esporre tutto.
La 2FA influisce anche su decisioni a cui all'inizio potresti non pensare:
- Chi deve usarla. Facoltativa per tutti, obbligatoria per gli amministratori, o obbligatoria per tutti?
- Quali metodi supportare. Codici da un'app, messaggi di testo, passkey, chiavi di sicurezza.
- Cosa succede quando qualcuno resta escluso. Il telefono perso è la richiesta di assistenza più comune per qualsiasi app con la 2FA.
- Dove viene applicata. Il controllo deve avvenire sul server. Una schermata 2FA che nasconde soltanto la pagina nel browser può essere aggirata.
Non devi costruire tu la crittografia — librerie ben collaudate e provider di autenticazione se ne occupano. Ma devi sapere cosa chiedere.
Un'analogia quotidiana
Pensa a una cassetta di sicurezza in banca. Per aprirla ti servono un documento (qualcosa che la banca verifica che sei o conosci) e la chiave fisica (qualcosa che hai). Un ladro che copia la tua firma non ha ancora la chiave. Un ladro che ti sfila la chiave non supera comunque il controllo del documento.
La 2FA funziona allo stesso modo. La password è la firma; il telefono o la chiave di sicurezza sono la chiave fisica. Ciascuno da solo non basta.
I tre tipi di fattori
Gli standard di sicurezza, come le linee guida sull'identità digitale del National Institute of Standards and Technology degli Stati Uniti, raggruppano i fattori in tre tipi:
| Fattore | Esempi |
|---|---|
| Qualcosa che sai | Password, PIN |
| Qualcosa che possiedi | Telefono con app di autenticazione, chiave di sicurezza, dispositivo che contiene una passkey |
| Qualcosa che sei | Impronta digitale, volto — di solito usati per sbloccare un dispositivo che poi esegue il controllo vero |
La parola chiave è diversi. Una password più una domanda di sicurezza sono due cose che sai, quindi non è una vera autenticazione a due fattori. Se un'unica fuga di dati può rivelare entrambi, conta come uno solo.
I metodi 2FA comuni a confronto
| Metodo | Come funziona | Robustezza | Note |
|---|---|---|---|
| Codice SMS | Un codice viene inviato come messaggio al tuo numero | La più debole | Vulnerabile allo SIM swapping e al phishing, ma molto meglio di nessuna 2FA |
| Codice via email | Un codice ti viene inviato via email | Debole | Sicuro quanto l'account email |
| App di autenticazione (TOTP) | Un'app come Google Authenticator genera un nuovo codice di 6 cifre, di solito ogni 30 secondi | Buona | Funziona offline; resta vulnerabile al phishing se un sito falso chiede il codice |
| Approvazione push | Un'app chiede «Sei tu?» e tu tocchi approva | Buona | Attenzione alla «stanchezza da approvazione», quando gli utenti toccano sì solo per smettere di vedere richieste ripetute |
| Passkey o chiave di sicurezza | Una chiave crittografica sul dispositivo dimostra che sei sul sito vero | La più forte | Resistente al phishing perché non risponde a un dominio che imita quello vero |
Le linee guida di NIST considerano i metodi in cui digiti un codice (SMS, email, app di autenticazione) come non resistenti al phishing, e segnano l'invio di codici sulla rete telefonica come «limitato». Le passkey e le chiavi di sicurezza hardware, basate sugli standard WebAuthn/FIDO2, sono quelle che considera resistenti al phishing.
In sintesi: un'app di autenticazione è un'impostazione predefinita solida e semplice per la maggior parte delle app, e le passkey meritano di essere offerte se i tuoi utenti sono a proprio agio con esse.
Un esempio concreto: 2FA per un portale clienti
Immagina di aver costruito un portale in cui uno studio contabile piccolo condivide documenti fiscali con i clienti. Ecco come funziona una configurazione 2FA sensata, passo dopo passo.
Attivazione (registrazione). Priya, una cliente, apre le Impostazioni e clicca «Attiva l'autenticazione a due fattori». L'app genera un segreto e lo mostra come codice QR. Lei lo scansiona con la sua app di autenticazione, che inizia a mostrare codici di sei cifre. Digita nel portale il codice corrente per dimostrare che la configurazione funziona. L'app mostra dieci codici di recupero e le chiede di salvarli in un posto sicuro.
Accessi successivi.
- Priya inserisce email e password. Il server le verifica.
- Invece di farla entrare subito, il server segna la sessione come «password corretta, secondo fattore in attesa» e mostra la schermata del codice.
- Lei digita il codice dalla sua app. Il server lo confronta con il segreto memorizzato, tollerando un piccolo scarto dell'orologio.
- Solo ora il server crea una sessione completa e le permette di vedere i documenti.
Cosa vede un attaccante. Se la password di Priya è trapelata da un altro sito, l'attaccante si blocca al passo 3. Ogni tentativo di codice errato viene conteggiato e, dopo diversi errori, l'account viene bloccato temporaneamente e Priya riceve un'email.
Perdere il telefono. Priya usa uno dei codici di recupero per entrare, disattiva la 2FA e la riattiva con il nuovo telefono, ottenendo nuovi codici di recupero. Il codice usato non potrà mai più essere riutilizzato.
Per lo staff. Gli incaricati dello studio possono vedere i file di ogni cliente, quindi il portale richiede la 2FA per gli account dello staff; non possono accedere alla dashboard finché non l'hanno attivata.
Termini comuni spiegati
| Termine | Cosa significa |
|---|---|
| 2FA / MFA | Autenticazione a due / più fattori: accedere con più di un tipo di prova. |
| Fattore | Un tipo di prova: qualcosa che sai, possiedi o sei. |
| TOTP | Time-based one-time password — i codici rotanti delle app di autenticazione. |
| Segreto condiviso | Il valore nascosto, impostato tramite codice QR, che sia l'app sia il telefono usano per generare codici corrispondenti. |
| Codici di recupero (di backup) | Codici monouso per entrare quando hai perso il secondo fattore. |
| Passkey | Una credenziale di accesso memorizzata sul dispositivo che usa la crittografia a chiave pubblica al posto della password. |
| Chiave di sicurezza | Un piccolo dispositivo fisico (USB o NFC) che svolge la stessa funzione di una passkey. |
| SIM swapping | Ingannare un operatore telefonico per trasferire il numero di qualcuno su una nuova SIM, così i messaggi finiscono all'attaccante. |
| Phishing | Un sito o messaggio falso che induce le persone a consegnare password o codici. |
| Autenticazione step-up | Richiedere di nuovo il secondo fattore prima di un'azione sensibile, come cambiare i dati per i pagamenti. |
Errori comuni e idee sbagliate
- «La 2FA rende un account inviolabile.» Lo rende molto più difficile da violare. I siti di phishing possono comunque catturare i codici digitati in tempo reale, ed è per questo che esistono le passkey.
- Controllare il codice solo nel browser. Se il server concede una sessione completa dopo la password, la schermata del codice è solo decorativa. Il server deve negare l'accesso finché il secondo fattore non è superato.
- Nessun limite ai tentativi di codice. Un codice di sei cifre ha un milione di combinazioni. Senza limitazione della frequenza e blocchi, un attaccante può continuare a provare.
- Dimenticare il recupero. Senza codici di recupero ogni telefono perso diventa un ticket di assistenza, o un cliente escluso.
- Conservare il segreto TOTP in modo superficiale. Il segreto condiviso dovrebbe essere cifrato nel database e non mostrato più dopo la configurazione.
- Permettere di disattivare la 2FA senza ulteriori verifiche. Disattivare la 2FA o cambiare l'email dell'account dovrebbe richiedere la password e un codice attuale.
- Considerare password più domanda di sicurezza come 2FA. Non lo è — entrambe sono cose che sai.
Cosa chiedere al tuo builder AI
- «Aggiungi l'autenticazione a due fattori facoltativa tramite app di autenticazione (TOTP), con codice QR per la configurazione e un codice di conferma prima dell'attivazione.»
- «Mostra dieci codici di recupero monouso quando la 2FA è attiva. Memorizzali con hash, come le password.»
- «Applica la 2FA sul server: nessuna sessione completa finché il secondo fattore non viene superato.»
- «Limita i tentativi di codice e blocca il login per 15 minuti dopo ripetuti errori. Invia un'email all'utente quando succede.»
- «Richiedi la 2FA per gli account amministratore.»
- «Chiedi la password e un codice attuale prima di disattivare la 2FA o cambiare l'email dell'account.»
- «Usa una libreria nota o la 2FA integrata del nostro provider di autenticazione — non scrivere da zero la crittografia.»
- «Spiega quale metodo hai usato e dove sono conservati i segreti.»
Se usi un provider di autenticazione ospitato, verifica se offre già la 2FA o le passkey; attivare una funzione integrata di solito è più sicuro di un codice personalizzato. La versione passo passo è in come aggiungere l'autenticazione a due fattori, e cos'è l'autenticazione spiega le basi del login su cui si appoggia.
L'autenticazione a due fattori in Mythex
Mythex non include un sistema di login integrato per gli utenti della tua app, quindi la 2FA fa parte dell'approccio di autenticazione che scegli — un login tuo con email e password, appoggiato al database del progetto, oppure un provider ospitato che offre la 2FA. Chiedi all'agente di aggiungerla in chat, e le eventuali chiavi del provider vanno nei segreti del progetto, non nella chat. La ricetta della documentazione su come aggiungere il login alla tua app ha un prompt di partenza da adattare, e la sicurezza per le app che crei copre le buone abitudini sulle chiavi. Prima del lancio, passa dalla checklist di sicurezza per le app create con l'AI.
Domande
Cos'è l'autenticazione a due fattori, in parole semplici?
L'autenticazione a due fattori (2FA) significa che per accedere servono due tipi diversi di prova, di solito la password più un codice dal telefono o una chiave di sicurezza. Chi ruba solo la tua password non riesce comunque a entrare.
La 2FA è la stessa cosa dell'MFA?
Quasi. L'autenticazione a più fattori (MFA) indica due o più fattori; l'autenticazione a due fattori è il caso più comune, con esattamente due. Nell'uso quotidiano i termini si usano come sinonimi.
La 2FA via SMS è sicura?
È molto meglio della sola password, ma è l'opzione comune più debole. I messaggi di testo possono essere intercettati o dirottati tramite lo SIM swapping, e una pagina di login falsa può indurre le persone a digitare il codice. Le app di autenticazione sono più sicure, e le passkey o le chiavi di sicurezza lo sono ancora di più.
La mia app ha bisogno dell'autenticazione a due fattori?
Se gli account gestiscono denaro, dati privati o poteri di amministrazione su altri utenti, offrire la 2FA è una buona idea, ed è comune richiederla agli amministratori. Per un'app hobby semplice può essere facoltativa o rimandata.
Cosa succede se un utente perde il telefono?
Per questo esistono i codici di recupero: una breve lista di codici di backup monouso mostrata quando si attiva la 2FA. Senza di essi, il recupero di solito richiede una verifica manuale dell'identità da parte del proprietario dell'app, quindi va pianificato prima del lancio.