Passkey (crittografia)
Una passkey, detta anche chiave di sicurezza (security key), è una coppia di chiavi crittografiche generata dall'autenticatore dell'utente e legata a un account. Serve ad autenticare l'identità dell'utente presso un'applicazione o un sistema remoto tramite la crittografia asimmetrica, senza che…
Una passkey, detta anche chiave di sicurezza (security key), è una coppia di chiavi crittografiche generata dall'autenticatore dell'utente e legata a un account. Serve ad autenticare l'identità dell'utente presso un'applicazione o un sistema remoto tramite la crittografia asimmetrica, senza che l'utente debba rivelare su canali pubblici la chiave segreta in suo possesso. L'implementazione delle passkey più diffusa tra il grande pubblico nelle tecnologie web è quella proposta dalla FIDO Alliance e standardizzata dal World Wide Web Consortium con lo standard WebAuthn (Web Authentication), e «passkey» è il termine non tecnico usato de facto per indicare le credenziali WebAuthn.
Funzionamento
La passkey si basa sulla crittografia asimmetrica ed è pensata per l'autenticazione senza password. La credenziale dell'utente è una chiave privata conservata nel suo autenticatore, mentre il sistema dell'applicazione conserva la chiave pubblica; con questa il sistema crea una sfida crittografica che solo la credenziale dell'utente può risolvere, e così ne autentica l'identità. Durante il processo all'utente arrivano solo informazioni pubbliche, e l'utente restituisce la sfida risolta senza trasmettere in chiaro la chiave privata su canali pubblici, che potrebbero essere intercettati. Per questo il metodo è più sicuro dei metodi di autenticazione tradizionali come le password, che possono essere intercettate e usate da attaccanti remoti. Il termine passkey non indica una tecnologia specifica, ma per la sua origine e per la grande diffusione nell'ecosistema FIDO2 è comunemente associato alle credenziali FIDO2.
La credenziale dell'utente (la chiave privata) è conservata in un autenticatore, che può essere un dispositivo fisico (chiamato di solito chiave di sicurezza), un cryptoprocessor sicuro come il Trusted Platform Module, un gestore di password o un portachiavi crittografico (keyring). I client di autenticazione software possono offrire funzioni aggiuntive: l'autenticazione biometrica, per esempio con Touch ID o Windows Hello, per una maggiore sicurezza, oppure la sincronizzazione nel cloud, che rende più comodo l'uso su più dispositivi.
FIDO2 (WebAuthn + CTAP2)
Le passkey FIDO2 sono usate comunemente per autenticare gli utenti nelle tecnologie web, come le app per dispositivi mobili e i siti web. Le applicazioni chiedono una sfida al client del dispositivo (per esempio il browser o il sistema operativo) tramite WebAuthn; il client la inoltra poi, tramite il protocollo CTAP2 (Client to Authenticator Protocol), all'hardware che esegue l'operazione crittografica.
Il termine passkey cominciò a indicare la chiave privata, cioè la credenziale dell'utente, nel giugno 2022, quando Apple annunciò che avrebbe introdotto le passkey come metodo di autenticazione sui dispositivi iOS e macOS, facendo conoscere il termine al grande pubblico. Nell'ottobre 2022 Google annunciò il supporto alle passkey in Android e in Google Chrome; nel settembre 2023 seguì Microsoft con Windows 11.
Alcune implementazioni delle passkey WebAuthn permettono di conservare l'identificativo dell'utente nella passkey stessa: l'utente può così autenticarsi direttamente con l'identità registrata, senza fornire a parte un identificativo come l'indirizzo email o il nome utente. In altre implementazioni la passkey fa parte di un'autenticazione a più fattori e va usata insieme ad altri metodi di autenticazione, come la password o la verifica tramite email.
Resident key
Una resident key è una credenziale privata conservata appositamente in un dispositivo fisico esterno, che può essere scollegato dalla macchina che convalida la credenziale. È usata da OpenSSH. In WebAuthn prende il nome di discoverable credential.
FIDO UAF
Il FIDO Universal Authentication Framework (UAF) e il FIDO U2F (Universal 2nd Factor) sono progetti che hanno preceduto FIDO2 e ne hanno influenzato la progettazione. FIDO UAF conserva la chiave privata direttamente sul dispositivo fisico (di solito uno smartphone), invece di affidarsi a un protocollo esterno per l'autenticatore come CTAP. Poiché la chiave privata è legata al dispositivo fisico, non se ne può fare una copia di sicurezza né la si può trasferire su un altro dispositivo.
Vantaggi
Le passkey sono più comode dei metodi di autenticazione tradizionali e resistono meglio agli attacchi di phishing. Sono protette dai dispositivi su cui sono conservate e spesso usano l'autenticazione biometrica come ulteriore livello di sicurezza, così gli utenti non devono più ricordare le password. Rispetto a termini affini come FIDO e WebAuthn, nel marketing si preferisce in genere «passkey», perché crea meno confusione ed evita di proporre al pubblico un gergo tecnico. Nel 2024, tuttavia, la maggior parte delle piattaforme offriva ancora altri metodi di autenticazione accanto alle passkey, e questo può ridurne i vantaggi.
Accoglienza
Le passkey, implementate tramite WebAuthn, hanno ricevuto giudizi contrastanti dal pubblico:
Troy Hunt: «Le passkey sono uno dei pochi meccanismi di sicurezza che ti semplificano la vita invece di complicarla.» «È un accesso con un solo clic: premendo il pulsante viola entro subito nel mio account.»
Dan Goodin: «La tecnologia delle passkey è elegante, ma di sicuro non è sicurezza usabile.»
Bruce Davie: «[…] l'implementazione sembra non aver superato la prova del “renderlo facile per gli utenti”, che secondo me è il senso stesso delle passkey. Uso la crittografia a chiave pubblica da più di trent'anni […] Se io trovo le passkey complicate da usare, non è un buon segno per gli utenti comuni.»
MCMX