Una hardware security key (chiave di sicurezza hardware) è un dispositivo fisico — tipicamente in formato USB, NFC o Bluetooth — che implementa protocolli di autenticazione a chiave pubblica (FIDO2/WebAuthn) per verificare l’identità dell’utente in modo crittograficamente robusto e resistente al phishing. A differenza dell’autenticazione a due fattori tramite SMS o app TOTP (Google Authenticator), una hardware security key non può essere compromessa da attacchi di phishing perché la risposta crittografica è legata all’origine del sito web — una key non risponde mai a un sito falso anche se l’utente non si accorge della differenza.
Come funziona
La security key contiene una o più coppie di chiavi asimmetriche generate internamente, la cui chiave privata non lascia mai il dispositivo. Durante la registrazione su un sito:
- Il sito invia una challenge casuale e il proprio origin (es.
https://accounts.google.com) - La key genera una nuova coppia di chiavi specifica per quell’origin (o usa una chiave derivata dall’origin tramite HMAC)
- La chiave pubblica viene registrata sul server insieme all’origin
- La chiave privata rimane nella key
Durante l’autenticazione:
- Il server invia una challenge casuale
- La key firma la challenge insieme all’origin con la chiave privata
- Il server verifica la firma con la chiave pubblica registrata
Il punto critico è il passo 2: la key include l’origin nella firma. Se l’utente è stato ingannato a navigare su https://accounts.goog1e.com (phishing), l’origin è diverso, la key usa una chiave privata diversa (o non ne ha una registrata), e l’autenticazione fallisce — automaticamente, senza che l’utente debba accorgersi del sito falso.
Standard FIDO2 e WebAuthn
Le hardware security key moderni implementano lo standard FIDO2, composto da:
- WebAuthn (W3C): API browser per l’autenticazione passwordless o come secondo fattore
- CTAP2 (Client-to-Authenticator Protocol 2): protocollo di comunicazione tra browser/OS e la key fisica
Lo standard supporta sia l’uso come secondo fattore (dopo username/password) sia come fattore unico (passwordless) — l’utente tocca la key e il sito lo autentica senza password.
Produttori e modelli principali
YubiKey (Yubico): il produttore più diffuso. Modelli da base (YubiKey 5 NFC) a enterprise (YubiKey 5Ci con connettore Lightning per iOS). Supportano FIDO2, TOTP, OpenPGP, PIV smart card, OTP proprietario Yubico.
Google Titan: prodotta da Google con chip di sicurezza certificato. Disponibile in versione USB-A, USB-C e NFC. Originariamente sviluppata per uso interno Google come risposta alle campagne di phishing contro i dipendenti — dopo il deployment obbligatorio delle key, le compromissioni di account da phishing sono scese a zero.
SoloKeys: open source hardware e firmware. Verificabile indipendentemente.
Resistenza agli attacchi
Phishing: immune per design — l’origin binding crittografico impedisce la risposta a siti diversi da quello registrato.
Man-in-the-Middle: il MitM può catturare le credenziali TOTP o SMS e riusarle in tempo reale. La key firma una challenge fresca per ogni autenticazione — la firma catturata è inutilizzabile su richieste diverse.
Malware: un malware sul computer non può estrarre la chiave privata dalla security key (rimane nel chip). Può però intercettare la sessione dopo l’autenticazione. La protezione post-autenticazione richiede misure aggiuntive (session binding, Passkeys con device binding).
Smarrimento: la perdita della key blocca l’accesso. Le organizzazioni devono prevedere procedure di recovery (chiave di backup, codici di recupero) e provisioning di chiavi di riserva per gli utenti.
Passkeys
Le Passkeys (Apple/Google/Microsoft, standard FIDO2) sono l’evoluzione consumer delle hardware security key: le coppie di chiavi sono generate e memorizzate nel Secure Enclave del dispositivo (iPhone, Android, laptop con TPM) invece che in una chiave fisica esterna, e sincronizzate cifrate nel cloud dell’account (iCloud Keychain, Google Password Manager). Offrono la stessa resistenza al phishing delle hardware security key con maggiore comodità — nessun dispositivo fisico aggiuntivo da portare — al costo di dipendere dalla sicurezza dell’account cloud di sincronizzazione.