Scopri i diversi provider di passkey (first-/third-party e provider di autenticazione), l'AAGUID e come gestire passkey su Android, iOS e Web per migliorare sicurezza e UX.

Vincent
Created: December 17, 2025
Updated: December 18, 2025

See the original blog version in English here.

Looking for a developer-focused passkey reference? Download our Passkeys Cheat Sheet (incl. WebAuthn ceremonies, objects & Conditional UI). Trusted by dev teams at Ally, Stanford CS & more.
Get Cheat SheetQuando si utilizzano le passkey o si lavora alla loro implementazione, un componente diventa piuttosto importante: il passkey provider. Tuttavia, anche se è una parte cruciale dell'ecosistema, molte persone hanno solo un'idea approssimativa di cosa siano i passkey provider o non conoscono la differenza tra passkey provider first-party, passkey provider di terze parti (third-party) e provider di autenticazione passkey.
Questo articolo vuole fare chiarezza su questo punto. Che tu sia uno sviluppatore software, un product manager o semplicemente una persona curiosa sulle ultime novità in fatto di sicurezza web, comprendere il ruolo e le tipologie di passkey provider è essenziale. Demistificando questo argomento, vogliamo fornire a tutti le conoscenze necessarie per capire le passkey con sicurezza.
Un passkey provider gioca un ruolo fondamentale nell'ecosistema dell'autenticazione basata su passkey, agendo come ponte tra i dispositivi degli utenti e l'accesso sicuro e fluido alle relying party (i servizi online). Ma cos'è esattamente un passkey provider, visto che non esiste una definizione ufficiale e online si trovano interpretazioni diverse?
La seguente definizione riflette la nostra interpretazione e non pretende di essere l'unica accurata.
Un passkey provider è essenzialmente qualsiasi entità che abilita la creazione, la gestione e l'uso delle passkey. Attraverso la nostra ricerca, abbiamo identificato due categorie principali sotto cui classificare i provider: passkey provider first- / third-party e provider di autenticazione passkey.
Questa categoria include entità capaci di generare una passkey lato client (sul dispositivo dell'utente). Quando una passkey viene creata attraverso queste piattaforme, viene gestita e archiviata in modo sicuro, spesso nel cloud del produttore del sistema operativo (es. iCloud Keychain, Google Password Manager) o in un password manager di terze parti (es. KeePassXC, 1Password, Dashlane; vedi sotto).
I sistemi operativi che abilitano la creazione e la gestione nativa delle passkey sono considerati passkey provider first-party. Al contrario, i password manager di terze parti che si integrano con la piattaforma tramite API sono chiamati passkey provider di terze parti (third-party).
Un passkey provider, sia first- che third-party, possiede gli stessi Authenticator Attestation Globally Unique Identifiers (AAGUID), che aiutano a migliorare l'esperienza utente (ad esempio, nelle impostazioni dell'account per distinguere più facilmente le passkey). A volte potrebbero avere più AAGUID, che appartengono tutti allo stesso provider.
Passkey provider su un dispositivo iOS 17.4
Passkey provider su un dispositivo Android 14
Credential Manager API di Android
La seconda categoria comprende i provider di autenticazione che gli sviluppatori possono integrare nelle loro applicazioni per gestire tutti gli aspetti delle passkey. Si tratta quindi di provider che lavorano più lato server (rispetto al lato client visto sopra). Questa definizione include soluzioni come Corbado, che offrono soluzioni di autenticazione incentrate sulle passkey per siti web e app. Di conseguenza, questi provider dovrebbero essere descritti più accuratamente come provider di autenticazione passkey, differenziandoli dai passkey provider first- e third-party menzionati sopra.
Nelle prossime sezioni di questo articolo, useremo il termine "passkey provider" per riferirci ai provider first-party e third-party, in accordo con la nostra definizione.
Man mano che gli utenti iniziano ad adottare le passkey per varie relying party, gestirle in modo efficace diventa una sfida significativa. Questo vale anche per gli utenti che utilizzano più passkey per un singolo account, poiché differenziarle per modificarle o eliminarle può essere complesso per una relying party. Nonostante la comodità e la sicurezza offerte dalle passkey, c'è un potenziale problema se un utente perde una delle sue credenziali. Fortunatamente, può ancora accedere al proprio account sulla relying party usando passkey alternative. Per aiutare gli utenti a identificare passkey specifiche, alcune risorse suggeriscono di aggiungere metadati, come le date di creazione e di ultimo utilizzo, nelle impostazioni dell'account. Inoltre, si raccomanda di utilizzare user agent o client hints per nominare e categorizzare automaticamente le passkey alla creazione. Tuttavia, le app native Android o iOS, così come i passkey provider di terze parti, potrebbero non utilizzare gli user agent o non aggiungere informazioni che indichino che una passkey è stata generata da un provider terzo. Questa limitazione evidenzia la necessità di metodi migliori per aiutare gli utenti a gestire le proprie passkey in modo efficiente, indipendentemente dalla piattaforma o dal provider.
Tratto dalla specifica WebAuthn del W3C
Per facilitare questa gestione, gli sviluppatori possono utilizzare l'Authenticator Attestation Globally Unique Identifier (AAGUID). L'AAGUID è un identificatore univoco assegnato al modello dell'authenticator, non alla sua specifica istanza. È incorporato nei dati dell'authenticator della credenziale a chiave pubblica, offrendo alle relying party un modo per identificare il passkey provider. Questa capacità è cruciale per aiutare utenti e servizi a navigare nel panorama delle passkey, assicurando che ogni credenziale possa essere accuratamente associata alla sua fonte di creazione.
Ad esempio, se una passkey viene creata usando Google Password Manager su un dispositivo Android, la relying party può ricevere un AAGUID specifico per Google Password Manager. Facendo riferimento a questo AAGUID, la relying party può quindi contrassegnare la passkey di conseguenza, semplificando la gestione e l'identificazione per l'utente. Inoltre, le relying party possono impedire la creazione di più passkey per lo stesso provider utilizzando l'opzione server WebAuthn excludeCredentials. Questo migliora ulteriormente la UX delle passkey, poiché ogni provider avrà solo una passkey, evitando confusione per l'utente.
{ "attestation": "none", "authenticatorSelection": { "residentKey": "preferred", "userVerification": "preferred" }, "challenge": "6V61d0VM5bNTPxWSsrv7YKz0o4awe0ryoDh1V44RPRn6-mBQwv98BTRws6nMrBhEggGn7-tk1bl3YNSwc0oZpA", "excludeCredentials": [ { "id": "1kBn2dmhv5JhuFxqeco1khCBCUBLlWYqZmFtdDujH5pM", "transports": ["internal"], "type": "public-key" } ], "extensions": { "credProps": true }, "pubKeyCredParams": [ { "alg": -7, "type": "public-key" }, { "alg": -257, "type": "public-key" } ], "rp": { "id": "Passkey Demo", "name": "passkeys.eu" }, "user": { "displayName": "Test Name", "id": "ZG1sdVkyVnxe3SFJsYzNR", "name": "Test Name" } }
Per determinare il passkey provider usando un AAGUID, le relying party possono fare riferimento a una repository di AAGUID gestita dalla community. Questa repository fornisce le mappature necessarie per identificare il provider per nome e, potenzialmente, per icona, aiutando a fornire un'interfaccia utente più intuitiva. Tuttavia, è importante notare che alcuni provider potrebbero usare intenzionalmente un AAGUID generico ("00000000-0000-0000-0000-0000000000000"), che rappresenta un provider sconosciuto o generico.
Recuperare l'AAGUID è semplice con la maggior parte delle librerie WebAuthn. Ad esempio, quando si usa SimpleWebAuthn lato server, gli sviluppatori possono estrarre l'AAGUID dalle informazioni di registrazione per abbinarlo a un provider noto, migliorando la capacità dell'utente di gestire le proprie passkey con maggiore facilità (tratto da "Determine the passkey provider with AAGUID" di Google).
// Import a list of AAGUIDs from a JSON file import aaguids from "./aaguids.json" with { type: "json" }; // ... // Use SimpleWebAuthn handy function to verify the registration request. const { verified, registrationInfo } = await verifyRegistrationResponse({ response: credential, expectedChallenge, expectedOrigin, expectedRPID, requireUserVerification: false, }); // ... const { aaguid } = registrationInfo; const provider_name = aaguids[aaguid]?.name || "Unknown";
Mentre gli AAGUID offrono un potente strumento per la gestione, dovrebbero essere usati con cautela. L'integrità di un AAGUID dipende dal processo di attestation, che convalida l'autenticità del passkey provider. Senza una firma di attestation valida, gli AAGUID potrebbero potenzialmente essere manipolati. È degno di nota che, a marzo 2024, le passkey su alcune piattaforme non supportano l'attestation, evidenziando la necessità di un'attenta considerazione nel loro utilizzo.
Di seguito, trovate una lista non esaustiva di passkey provider first-party e di terze parti per app Android, app iOS e web app che utilizzano versioni comuni di sistemi operativi e browser:
Ecco alcuni esempi di popup di passkey provider di terze parti per creare / salvare una passkey:
Vedi l'analisi completa di 1Password qui.
Vedi l'analisi completa di Dashlane qui.
Vedi l'analisi completa di KeePassXC qui.
Al centro dell'implementazione e della gestione delle passkey c'è il ruolo dei passkey provider, entità che non solo facilitano la creazione e la gestione delle credenziali, ma ne assicurano anche l'integrazione fluida su varie piattaforme e dispositivi.
L'obiettivo di questo articolo era far comprendere cosa sia un passkey provider, inclusa la distinzione tra provider first-party e third-party, nonché il ruolo critico dell'Authenticator Attestation Globally Unique Identifier (AAGUID). L'uso degli AAGUID, come discusso, offre una soluzione promettente, consentendo un'identificazione e una gestione più dirette delle passkey.
Inoltre, abbiamo analizzato quali passkey provider first- e third-party esistono attualmente per Android, iOS e Windows, aiutando gli utenti a trovare un provider di terze parti adatto o a orientarsi sul proprio dispositivo preferito.
Per gli sviluppatori e i product manager, le informazioni sui passkey provider e sulla loro gestione non solo guidano l'implementazione tecnica dell'autenticazione tramite passkey, ma si allineano anche con l'obiettivo più ampio di migliorare l'esperienza utente e la sicurezza.
Related Articles
Table of Contents