In breve, la passkey è un evoluzione molto più sicura e più facile da utilizzare dell'attuale password per accedere ai vari servizi, che molti di voi probabilmente staranno già utilizzando senza nemmeno saperlo. Vediamo un po' più in dettaglio le caratteristiche della passkey e perché è considerata più sicura e anche più facile da utilizzare, caratteristiche queste che di solito non vanno di pari passo.

cosa è passkey?

Che problemi ci sono con l'attuale password?

Da sempre per accedere ad un servizio è stato necessario utilizzare un identificativo (come un nome utente o una email) e un segreto (la password). Questo semplice sistema, che ha funzionato perfettamente per anni, ha però mostrato tutti i suoi limiti e ha evidenziato come uno di questi sia proprio l'utente medio. Infatti ancora oggi molti utenti sono soliti utilizzare la stessa password (magari banale o largamente utilizzata) per molteplici servizi, con il risultato che se qualcuno ne viene a conoscenza, può accedere ad ogni servizio a cui il malcapitato utente si è iscritto. Inoltre la password si presta ad essere rubata (anche dai server) o sottratta in maniera ingannevole (phishing) ma anche ad essere "forzata", tentando molte combinazioni (attacco a forza bruta).

cosa è passkey?

Per ovviare a questi problemi sono state messe in campo contromisure di sicurezza, lato server (purtroppo ancora oggi non da tutti adottate) come l'ormai diffusissimo protocollo HTTPS (che impedisce lo sniffing delle password), il salvataggio criptato e "salato" delle password e l'imposizione di alcune regole per la creazione; lato utente è possibile utilizzare password più complesse e, allo stesso tempo, più facili da ricordare (passphrase) oppure utilizzare gestori di password (come Bitwarden) per creare password uniche e sicure senza necessità di doverle ricordarle e ancora proteggere l'account con l'autenticazione a due fattori (2FA).

» Leggi: Bitwarden: Il guardiano delle tue password – guida all’uso

» Leggi: Avete già attivato l'autenticazione a due fattori su ogni vostro account? Fatelo subito!

Tutte queste misure di sicurezza hanno però aumentato la complessità nella gestione delle password per l'utente, basti pensare all'autenticazione a due fattori (che offre un ottima sicurezza!) che richiede un programma (molto spesso una app da installare su smartphone) che va configurato per la generazione dei codici OTP e hanno solo reso più difficile ma non impossibile i furti di account.

Per tutti questi motivi, colossi come Apple, Google e Microsoft avevano già dichiarato guerra alle password nel 2022 e insieme agli altri membri della FIDO Alliance ne hanno decretato la morte (almeno per alcuni servizi...).

Perché la passkey è più sicura?

Anzitutto dobbiamo dire che la passkey, a differenza della password, non viene scelta dall'utente ma automaticamente creata al momento del primo accesso (vedremo poi un po' più in dettaglio questa parte) ed elimina quindi il fattore umano di semplificarla al fine di ricordarla meglio o riutilizzarla per altri servizi; la passkey è quindi unica per ogni servizio. Una volta creata viene salvata in maniera protetta solo sul dispositivo o browser o password manager dell'utente e non viene conservata sul server del servizio a cui si vuole accedere, eliminando in questo modo anche la possibilità che venga rubata o "persa" dagli amministratori del servizio. Infine, per poter essere utilizzata per l'accesso ad un sito, occorre "sbloccarla" con dati biometrici (impronta, riconoscimento facciale,...) o, se collegata al dispositivo (ad esempio, tramite il TPM), con un PIN; potremo dire quindi che ha un secondo fattore di sicurezza integrato e non può essere utilizzata su un altro dispositivo (che non sia nostro, se sincronizzato). Ultimo, ma non ultimo, non può essere utilizzata su un sito diverso da quello per cui è stata creata e quindi non può essere sottratta tramite phishing.

cosa è passkey?

Come funziona in pratica?

Per l'utente l'utilizzo della passkey è piuttosto semplice e immediato ma, dietro le quinte, in realtà il funzionamento è abbastanza complesso; chiunque volesse (ed è in grado di comprenderlo) può approfondire la conoscenza del meccanismo che è alla base della creazione e della gestione degli accessi tramite passkey a questo link. In questo articolo proverò a spiegarne il funzionamento semplificando il più possibile per cercare di favorire la comprensione.

Prerequisiti per il corretto funzionamento sono un browser che supporti lo standard WebAuthn (ormai tutti i principali browser) che sia in esecuzione su un dispositivo configurato per l'accesso con dati biometrici (ad esempio, un lettore di impronte o riconoscimento facciale) oppure avere una chiavetta di autenticazione come, ad esempio, una YubiKey. Alcuni esempi di dispositivi già pronti all'utilizzo delle passkey sono quasi tutti gli smartphone Android (dalla versione 9 in su), gli iPhone (con almeno iOS 16), i computer con almeno MAC 13 o con Windows 10 o 11 configurati con un account online; in alternativa un browser (sempre compatibile con WebAuthn!) dove è installato un password manager come componente aggiuntivo che supporti le passkey (ATTENZIONE: allo stato attuale molti password manager non richiedono, come richiesto dalla specifica, l'autenticazione dell'utente per lo sblocco della passkey prima di poter essere utilizzata!).

Al momento della creazione di un account (o al prossimo accesso ad account già esistente) grazie anche alla già citata funzione WebAuthn, avviene la validazione del dispositivo e la generazione di due chiavi crittografiche (le classiche pubblica e privata); la chiave privata generata sarà salvata in maniera protetta sul dispositivo mentre la chiave pubblica sarà salvata sul server del servizio a cui si intende accedere. Come noto le due chiavi sono uniche e complementari: l'una serve per validare l'altra ma da una chiave non è possibile risalire all'altra. Di tutto questo, l'utente vedrà solo la richiesta di salvare la passkey per l'accesso al sito che sta visitando seguita dalla richiesta di autenticazione tramite impronta, riconoscimento facciale o PIN.

cosa è passkey?

Al successivo accesso, una volta indicato il nome utente nel solito campo di inserimento dati, sempre grazie a WebAuthn, il server interrogherà il browser o password manager per la presenza di una passkey che, se presente, verrà subito proposta all'utente per l'accesso. Come detto questa deve essere sbloccata tramite dati biometrici o PIN e in seguito sarà validata lato server tramite la chiave pubblica per concedere l'accesso.

Questa è una estrema semplificazione, in realtà il procedimento è leggermente più complesso; è da chiarire che la chiave privata non viene mai trasmessa (non lascia mai il dispositivo dove è salvata) ma viene solo utilizzata per firmare un "gettone" che sarà poi validato lato server, con la chiave pubblica.

In caso di dispositivi che sincronizzano le credenziali di accesso, quando si tenta l'accesso con la passkey generata tramite un altro dispositivo, questa viene riconosciuta ma potrebbe essere richiesto di sbloccarla interagendo con il dispositivo su cui è stata generata (avete presente l'accesso all'account di Google tramite browser sul vostro computer Desktop da autorizzare tramite il vostro smartphone Android?); in altri casi invece potrebbe essere suggerito di creare una nuova passkey per il dispositivo corrente. La differenza tra i due casi dipende dal supporto o meno del servizio per l'autenticazione esterna o locale cioè se la passkey viene generata sul dispositivo da cui si vuole accedere oppure su un dispositivo dedicato come appunto il nostro smartphone.

cosa è passkey? - autenticazione_locale

È possibile eseguire un backup delle passkey?

In questo campo c'è un po' di anarchia. La specifica non lo prevede espressamente; in quanto metodo di autenticazione proprio di un dispositivo non è previsto che si possa fare il backup. Ma dipende dal metodo di salvataggio delle passkey utilizzato. Come detto è possibile sincronizzare le passkey tra diversi dispositivi in modo che, se uno viene meno la passkey sia sempre disponibile tramite l'altro/gli altri. Alcuni browser e password manager consentono l'esportazione delle passkey, in alcuni casi collegato strettamente ad un account (ad esempio, Chrome: è possibile riutilizzare una passkey solo tramite lo stesso account Google).

Questo può rappresentare un problema qualora si volesse cambiare gestore di passkey (un esempio banale, passare da Windows a MacOS piuttosto che dal portachiavi iCloud al Google Password Manager...) in quanto non è (ancora?) previsto un sistema per passare le passkey da un gestore all'altro. Il problema si risolve comunque facilmente creando una nuova passkey per il nuovo dispositivo e magari eliminando quella vecchia.

E in caso di smarrimento della passkey o del dispositivo di autenticazione?

Nessun particolare problema. Esattamente come in caso di smarrimento della password di accesso, sarà il servizio a cui si vuole accedere a prevedere uno dei soliti metodi di recupero delle credenziali di accesso. In molti casi si potrà continuare ad utilizzare la vecchia password magari associata ad un secondo fattore di sicurezza; in altri si potrà utilizzare l'email o il numero di telefono e infine potranno essere previsti codici di recupero (simili a quelli utilizzati in caso di problemi con gli OTP dell'autenticazione a due fattori).

Provare per credere

È possibile provare a generare una passkey su un sito di prova, in modo da verificare se si hanno tutti i requisiti per poter utilizzare questo metodo di autenticazione e vi invito a farlo per poterne apprezzare la semplicità di utilizzo; il più semplice è https://webauthn.io/ mentre su https://webauthn.lubu.ch/_test/client.html è possibile configurare la creazione delle passkey ed è consigliato solo ad utenti più smaliziati.

Una volta che avrete provato, non vi rimane altro che iniziare ad utilizzarla su tutti i siti dove è disponibile: qui potete trovare un elenco ed è anche possibile votare per avere il supporto sul vostro sito preferito!