WebAuthn e Passkey 101
Ottieni una comprensione approfondita di WebAuthn, incluso il suo concetto, il flusso di lavoro, le ragioni della sua popolarità e le sfide associate.
WebAuthn è tra gli autenticatori più sicuri negli standard NIST AAL. Introdotto nel 2013, ora è la scelta preferita delle aziende per l'autenticazione. Tuttavia, la sua adozione non è ancora diffusa, portando a molte domande su WebAuthn e Passkeys. Esaminiamo cosa dovresti sapere.
Concetto: Qual è la relazione tra WebAuthn, Passkey e FIDO?
FIDO Alliance | FIDO Alliance è un'organizzazione per fornire standard di autenticazione senza password open-source e sicuri, inclusi UAF, U2F e FIDO2. |
FIDO2 | FIDO2 è un insieme di standard per l'autenticazione online sicura sviluppati da FIDO Alliance. FIDO2 comprende due componenti principali: WebAuthn per accessi senza password e CTAP per comunicazioni sicure tra dispositivi. |
Passkey | Una passkey è una credenziale resistente al phishing basata su FIDO per sostituire le password.
|
WebAuthn | WebAuthn, un'API JavaScript sviluppata dal W3C e dalla FIDO Alliance, potenzia la autenticazione delle applicazioni web con gli standard FIDO2. Passkey è uno dei metodi di autenticazione supportati da WebAuthn. |
Flusso: Come funziona WebAuthn?
4 entità principali di WebAuthn
Fondamentalmente, dovresti conoscere le 4 entità principali coinvolte nel flusso di WebAuthn.
-
Utente: La persona che si registra o si autentica all'applicazione web utilizzando WebAuthn.
-
User Agent: Il browser web che gestisce le chiamate API di WebAuthn e gestisce il processo di autenticazione tra tutte le diverse parti affidabili e gli autenticatori.
-
Parte Affidabile: Il tuo servizio o applicazione web che l'utente sta cercando di accedere. L'utente interagisce con la Parte Affidabile attraverso l'User Agent.
-
Autenticatore: Il componente hardware di cui l'utente è in possesso per verificare l'identità dell'utente. Può assumere varie forme in base alla capacità della piattaforma o del browser, come chiavi di sicurezza (come Yubikeys), telefoni o tablet (collegati tramite Bluetooth, NFC, o USB), biometrie o PIN basati su dispositivi, ecc.
Flussi di lavoro di WebAuthn
La crittografia a chiave pubblica asimmetrica è il processo fondamentale.
- Generazione della coppia di chiavi: L'User Agent genera una coppia di chiavi pubblica-privata. La chiave pubblica è condivisa con la Parte Affidabile, mentre la chiave privata rimane conservata in modo sicuro nell'Autenticatore dell'utente.
- Sfida di Autenticazione: Quando l'utente tenta di accedere, la Parte Affidabile invia una sfida di autenticazione all'User Agent.
- Verifica dell'utente: L'User Agent invia la sfida all'Autenticatore, che interagisce con l'utente per la verifica (ad esempio, tramite biometria o la pressione di un pulsante).
- Firma crittografica: L'Autenticatore utilizza la sua chiave privata per firmare la sfida, creando una firma crittografica.
- Verifica e Accesso: L'User Agent verifica la firma utilizzando la chiave pubblica e informa la Parte Affidabile di un'autenticazione avvenuta con successo. Viene concesso l'accesso.
Per approfondire, dividiamo in fase di registrazione e autenticazione.
Il flusso di registrazione WebAuthn:
Il flusso di autenticazione WebAuthn:
Vantaggi: Perché WebAuthn sta diventando una tendenza?
Molteplici autenticatori
Hai l'opzione di scegliere tra molteplici autenticatori per maggiore flessibilità. Questi autenticatori sono disponibili in due tipi, sia per l'uso locale che per quello cloud, e puoi abilitarne uno o entrambi per il tuo servizio.
Autenticatore della piattaforma (Autenticatore interno)
L'autenticatore della piattaforma è legato a un sistema operativo specifico e unico del dispositivo, come un computer, un laptop, un telefono o un tablet, con cui l'utente effettua l'accesso. Funziona esclusivamente sul dispositivo per l'autorizzazione utilizzando metodi come la biometria o il codice di accesso del dispositivo. È un modo veloce per autenticarsi, specialmente con la biometria, e può sostituire la necessità di un inserimento manuale della password. Tuttavia, se l'utente perde il dispositivo, può diventare un ostacolo all'accesso. Ad esempio:
- MacOS e iOS: iCloud Keychain verificato tramite Touch ID, Face ID o codice di accesso del dispositivo.
- Windows: Windows Hello verificato tramite riconoscimento facciale, impronta digitale o PIN amichevole.
- Android: Google Password Manager supporta anche il riconoscimento facciale o l'impronta digitale per autoricaricare le password per autorizzare i dispositivi.
Autenticatore in roaming (Autenticatore esterno, Autenticatore multi-piattaforma)
L'autenticatore in roaming è un dispositivo portatile separato o un'applicazione software, come una chiave di sicurezza hardware o uno smartphone. Dovrebbe collegare il dispositivo utilizzando USB o mantenere NFC o Bluetooth attivo. L'autenticatore in roaming non è limitato a un singolo dispositivo o browser, fornendo maggiore flessibilità. Ad esempio:
- Chiavi di sicurezza: chiamate anche token hardware, come Yubikey.
- Smartphone: come usare un account Google basato su cloud su Android, o un account iCloud su iPhone. Importante, l'autenticazione tra dispositivi richiede anche di connettere il Bluetooth, NFC o USB per garantire che l'autenticatore dell'utente sia nelle vicinanze. Gli autenticatori mobili spesso richiedono la scansione del codice QR per collegarli con dispositivi desktop. I telefoni Android, in particolare, possono utilizzare il collegamento persistente per collegarsi senza intoppi con il browser Chrome per l'autorizzazione con un clic senza necessità di scansione del codice QR.
Sicurezza ad alto livello di garanzia
La sicurezza ad alto livello di garanzia è essenziale per proteggere le risorse aziendali. Questo è ottenuto attraverso le seguenti misure:
- Protezione delle chiavi di privacy: Le chiavi di privacy non sono mai condivise con siti web di terze parti (Parte Affidabile), il che aiuta a difendersi da violazioni delle password e tentativi di phishing.
- Requisito di prossimità del dispositivo: I dispositivi richiedono "Autenticazione della piattaforma per un singolo dispositivo" o "Autenticatore in roaming limitato da USB, Bluetooth o NFC" per essere in prossimità dell'utente, prevenendo attacchi remoti.
- Collegamento al dominio: WebAuthn è strettamente vincolato al dominio specifico del sito web dove l'utente si è registrato, fornendo protezione contro attacchi di phishing da siti web non autorizzati.
Esperienza utente senza attriti per MFA e 1FA
WebAuthn migliora la sicurezza elevando al contempo l'esperienza di verifica senza password dell'utente:
- Efficienza dell'autenticazione nativa e biometrica: WebAuthn adotta metodi di autenticazione specifici adattati a diverse piattaforme e dispositivi, allineandosi alle abitudini dell'utente. L'autenticazione biometrica elimina la necessità di input manuale, accelerando significativamente il processo di verifica.
- MFA diretto saltando 1FA: WebAuthn è comunemente usato per l'MFA (Autenticazione multifattoriale). Grazie alla sua robusta sicurezza, se la parte affidabile ha precedentemente registrato l'uso di WebAuthn nel browser, gli utenti possono saltare il passaggio 1FA (Autenticazione a fattore unico) e accedere direttamente tramite la verifica con passkey.
- Passkey che sostituisce la password: Le passkey possono anche servire come alternativa alle password tradizionali per la 1FA. Gli utenti possono fornire la loro passkey prima o dopo aver inserito il loro account, con la verifica della password necessaria solo quando l'autenticazione con passkey non è disponibile.
Sfida: Perché WebAuthn non è ampiamente adottato dagli utenti?
Limitazioni del browser o della piattaforma
Alcuni browser o piattaforme non supportano affatto WebAuthn o mancano di supporto per autenticatori in roaming. Sebbene le statistiche attuali di Caniuse mostrino un supporto decente, con la copertura del 97,37% dei desktop e del 96,3% delle piattaforme mobili, variazioni esistono ancora tra le diverse versioni dei browser e sistemi operativi. Ad esempio, Linux desktop non supporta autenticatori di piattaforma, Android supporta completamente WebAuthn solo su Chrome, e Internet Explorer su MacOS non supporta WebAuthn. Ciò richiede agli amministratori di chiedere ai membri di applicare scelte specifiche di browser o sistema operativo, o configurare altri metodi MFA alternativi.
Rischio di perdita del dispositivo
Particolarmente per gli utenti che si affidano agli autenticatori di piattaforma "Questo dispositivo", perdere il dispositivo può comportare una perdita di accesso ai propri account. Il recupero dell'account può essere un processo difficoltoso. Per mitigare questo rischio, è consigliabile per gli utenti legare contemporaneamente altri metodi di autenticazione di backup durante la configurazione di WebAuthn.
Supporto limitato dei siti web e delle app
Molti servizi e applicazioni non supportano ancora le passkey. Gli utenti spesso non hanno familiarità con i vari metodi di autenticazione e potrebbero non comprendere appieno le distinzioni e le limitazioni tra Autenticatori di piattaforma e Autenticatori in roaming. Tuttavia, i principali sistemi, browser e servizi SaaS stanno aumentando l'adozione di WebAuthn, diventando una tendenza in crescita che sia le aziende che gli utenti stanno iniziando ad abbracciare.
Conclusione
Logto si sta preparando per lanciare l'MFA (Autenticazione multifattoriale) a novembre. La fase iniziale supporterà tre metodi di verifica: App Authenticator TOTP, WebAuthn (Passkey) e Codici di riserva, offrendo una soluzione completa per l'accesso e la registrazione. Continueremo a sviluppare funzionalità avanzate relative a WebAuthn. Non vediamo l'ora della tua esperienza e ti invitiamo a rimanere aggiornato su Product Hunt per il prossimo rilascio dell'MFA.