Autenticazione senza password: WebAuthn e FIDO2
Esplori lo standard W3C WebAuthn e le passkey FIDO2 come futuro dell’autenticazione.
Autenticazione senza password: WebAuthn e FIDO2 è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Architettura di FIDO2
FIDO2 è il termine ombrello che indica la specifica Web Authentication del W3C (WebAuthn) insieme al Client-to-Authenticator Protocol 2 (CTAP2) della FIDO Alliance. Insieme definiscono un sistema completo di autenticazione senza password basato sulla crittografia a chiave pubblica e associato crittograficamente all'origine della relying party.
Tipi di autenticatori
FIDO2 supporta due categorie di autenticatori. Gli autenticatori di piattaforma sono integrati nel dispositivo: Touch ID e Face ID sui dispositivi Apple, Windows Hello su Windows. Gli autenticatori roaming sono token hardware esterni: YubiKey, Google Titan Key, chiavi Feitian. Tutti usano la crittografia a chiave pubblica e generano dichiarazioni di attestazione.
Registrazione: creazione della credenziale
Durante la registrazione WebAuthn, l'autenticatore genera una nuova coppia di chiavi asimmetriche per la relying party. La chiave pubblica viene inviata al server e memorizzata. La chiave privata non lascia mai l'autenticatore. Una dichiarazione di attestazione dimostra il tipo di autenticatore e che la chiave è stata generata all'interno dell'hardware dell'autenticatore.
Autenticazione: asserzione della credenziale
Durante l'autenticazione WebAuthn, il server invia una challenge al client. L'autenticatore firma la challenge insieme all'ID della relying party e ai dati del client, usando la chiave privata memorizzata. Il server verifica la firma con la chiave pubblica memorizzata. In nessun momento viene trasmesso un segreto condiviso.
Il vincolo all'origine impedisce il phishing
L'ID della relying party in un'asserzione WebAuthn è associato crittograficamente all'origine (dominio) della pagina che effettua la richiesta. Un autenticatore rifiuta di firmare un'asserzione per un'origine diversa da quella con cui è stato registrato. WebAuthn è quindi resistente al phishing per sua costruzione: un sito di phishing contraffatto non può completare l'autenticazione.
Chiavi residenti e vero accesso senza password
Le credenziali individuabili (in precedenza chiamate chiavi residenti) sono memorizzate direttamente nell'autenticatore e indicizzate tramite l'ID della relying party. Questo consente flussi realmente senza password: l'utente presenta il proprio autenticatore, seleziona il proprio account tra le credenziali memorizzate sul dispositivo e si autentica senza inserire un nome utente o una password.
Verifica dell'utente e presenza dell'utente
WebAuthn distingue tra verifica dell'utente (UV) e presenza dell'utente (UP). La presenza dell'utente richiede soltanto che l'utente tocchi o sfiori l'autenticatore. La verifica dell'utente richiede inoltre un PIN o un controllo biometrico, dimostrando che è presente proprio quella persona. Le applicazioni ad alta sicurezza dovrebbero richiedere la UV per l'autenticazione.
Protocollo CTAP2
CTAP2 definisce il protocollo tra il client (browser o sistema operativo) e un autenticatore roaming esterno tramite USB, NFC o BLE. Specifica i comandi per la creazione delle credenziali, la generazione delle asserzioni e la gestione dell'autenticatore. CTAP2.1 aggiunge funzionalità come la gestione delle credenziali e i criteri always-UV.
Passkey: credenziali sincronizzate
Le passkey sono credenziali WebAuthn individuabili che si sincronizzano tra i dispositivi dell'utente tramite il cloud crittografato del fornitore della piattaforma (iCloud Keychain per Apple, Google Password Manager, Windows Hello for Business). Le passkey forniscono un'autenticazione senza password, disponibile su più dispositivi, combinando la sicurezza con la praticità che gli utenti si aspettano dalle password.
Flusso di utilizzo delle passkey
Un tipico flusso di autenticazione con passkey è il seguente: l'utente visita un sito web e fa clic su "Accedi con passkey". Il browser mostra le passkey disponibili per il sito. L'utente si autentica con i dati biometrici (Face ID, Touch ID, Windows Hello). Il browser firma la challenge e invia l'asserzione. L'intero flusso richiede pochi secondi e non è necessario inserire alcuna password.
WebAuthn a confronto con l'autenticazione tradizionale
Password tradizionali: esposte al phishing, riutilizzabili e violabili in caso di compromissione dei database. Codici OTP (TOTP): esposti al phishing in tempo reale. Codici SMS: vulnerabili allo scambio fraudolento della SIM ed esposti al phishing. WebAuthn/passkey: resistenti al phishing grazie al vincolo all'origine, senza segreti lato server da sottrarre, uniche per ogni sito e con chiavi private protette dall'hardware. WebAuthn è oggi il meccanismo di autenticazione più sicuro tra quelli ampiamente adottati.
Verifica di WebAuthn rispetto alle password
Quale proprietà di WebAuthn lo rende fondamentalmente resistente agli attacchi di phishing, a differenza delle password o dei codici TOTP?
Riepilogo della lezione: FIDO2 e WebAuthn
FIDO2 combina WebAuthn (W3C) e CTAP2 (FIDO Alliance) per un'autenticazione senza password resistente al phishing. Gli autenticatori di piattaforma (Touch ID, Face ID) e gli autenticatori roaming (YubiKey) usano la crittografia a chiave pubblica associata all'origine della relying party. Le passkey estendono questo modello con la sincronizzazione tra dispositivi. WebAuthn offre oggi il livello di sicurezza più elevato tra i meccanismi di autenticazione ampiamente disponibili.
Impara Cryptology Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 67
- Lezioni
- 261
Domande Frequenti
La lezione «Autenticazione senza password: WebAuthn e FIDO2» è gratuita?
Sì — il testo completo di «Autenticazione senza password: WebAuthn e FIDO2» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Autenticazione senza password: WebAuthn e FIDO2»?
Esplori lo standard W3C WebAuthn e le passkey FIDO2 come futuro dell’autenticazione. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Autenticazione senza password: WebAuthn e FIDO2»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il problema fondamentale dell’autenticazione tramite password
- SRP: Secure Remote Password Protocol
- Protocolli PAKE e loro proprietà
- Autenticazione senza password: WebAuthn e FIDO2