FIDO2 è un insieme di standard aperti sviluppati dalla FIDO Alliance che permette l’autenticazione forte senza password, immune al phishing per costruzione. Si compone di due specifiche: WebAuthn (W3C Web Authentication API, standardizzata nel 2019) definisce l’interfaccia JavaScript che i browser espongono alle applicazioni web; CTAP2 (Client to Authenticator Protocol 2) definisce il protocollo tra il browser/OS e l’autenticatore fisico (chiave hardware, smartphone, sensore biometrico integrato).
Meccanismo crittografico
Il meccanismo si basa su crittografia asimmetrica:
Registrazione: il dispositivo dell’utente genera una coppia di chiavi specifica per ogni coppia utente-sito. La chiave pubblica viene inviata al server e associata all’account. La chiave privata non lascia mai il dispositivo — non è trasmessa, non è archiviata nel cloud del provider.
Autenticazione: il server invia una challenge crittografica casuale. Il dispositivo firma la challenge con la chiave privata specifica per quel sito, includendo nell’operazione anche l’origin (dominio del sito) verificato dal browser. Il server verifica la firma con la chiave pubblica registrata.
Immunità al phishing
L’immunità al phishing è strutturale, non dipende dalla vigilanza dell’utente. Il dispositivo include il dominio del sito nella firma: un sito phishing (banco-di-italia-sicuro.com) riceve una risposta firmata per il proprio dominio, non per il dominio legittimo (bancaditalia.it). Il server del sito reale non può verificare questa risposta — l’autenticazione fallisce per costruzione, indipendentemente da quanto convincente sia il sito phishing.
Questo contrasta con tutti gli altri secondi fattori basati su OTP o push notification, che un proxy phishing real-time (Evilginx) può intercettare e riusare immediatamente.
Tipi di autenticatori
Authenticator di piattaforma: integrati nel dispositivo — Touch ID su Mac, Face ID/impronta su iPhone e Android, Windows Hello. La chiave privata è protetta dall’enclave sicura del dispositivo (Secure Enclave su Apple, TPM su Windows). Comodissimi, ma la credenziale è legata al dispositivo.
Authenticator roaming: chiavi hardware fisiche (YubiKey, Google Titan Key, Feitian) connesse via USB, NFC o Bluetooth. Portabili tra dispositivi; la chiave privata è generata e conservata nel chip dell’autenticatore, non estraibile. Sono la soluzione per account ad altissima sicurezza e per il personale che usa dispositivi multipli.
Passkey
Le passkey (standard FIDO Alliance 2022) estendono FIDO2 aggiungendo la sincronizzazione sicura delle credenziali tra dispositivi tramite cloud del vendor (iCloud Keychain per Apple, Google Password Manager, Windows Hello for Business). La chiave privata viene sincronizzata in forma cifrata: risolve il problema della perdita del dispositivo mantenendo la sicurezza crittografica. Chrome, Safari e Firefox supportano nativamente le passkey; i principali siti (Google, Apple, Microsoft, GitHub, PayPal) le offrono come alternativa o sostituto della password.