Użytkownicy mogą sprawdzić, który dostawca kluczy dostępu utworzył klucz dostępu, sprawdzając identyfikator AAGUID powiązanych danych logowania z kluczem publicznym.
Problemy z zarządzaniem kluczami dostępu
Jedną z zalet korzystania z kluczy dostępu jest możliwość utworzenia wielu kluczy na jednym koncie. Dzięki tej elastyczności i wytrzymałości kluczy dostępu nawet jeśli użytkownik utraci dostęp do konta, ponieważ zgubił jeden z kluczy dostępu, może nadal logować się na konto strony uwierzytelniającej, używając alternatywnych kluczy dostępu.
Dla użytkowników, którzy zarządzają wieloma kluczami dostępu w grupie objętej ograniczeniami, trzeba znaleźć odpowiedni klucz, gdy muszą edytować lub usunąć konkretny klucz. Dobrym przykładem jest sytuacja, gdy użytkownik chce usunąć nieużywany klucz dostępu. Zalecamy, aby RP dołączali informacje o kluczu dostępu, takie jak data utworzenia i ostatniego użycia, na liście kluczy dostępu. Ułatwia to użytkownikom znalezienie konkretnego klucza dostępu.
RP mogą też zezwalać użytkownikom na nadawanie nazw kluczy dostępu zaraz po ich utworzeniu lub później, ale wielu użytkowników tego nie robi. Najlepiej jest nazywać klucze dostępu automatycznie, ponieważ odzwierciedlają sygnały wysyłane od klienta lub informacje zawarte w danych logowania klucza publicznego.
Przeglądarki udostępniają ciągi znaków klienta użytkownika, których podmioty uzależniające klucze dostępu mogą używać do nadawania kluczy dostępu, ale platformy, takie jak przeglądarki na Androidzie, iOS czy przeglądarki na komputerze z funkcjami rozszerzeń, umożliwiają tworzenie klucza dostępu przez zewnętrznych menedżerów haseł, a ciąg znaków klienta użytkownika nie musi określać, kto jest rzeczywistym dostawcą klucza dostępu.
Dzięki globalnemu unikatowemu identyfikatorowi uwierzytelniania uwierzytelniania (AAGUID) zawartemu w kluczu publicznym zwracanym podczas rejestracji klucza dostępu dostawcy RP mogą określić dostawcę klucza dostępu i użyć go, aby użytkownicy mogli łatwo znaleźć odpowiedni klucz dostępu.
Określanie dostawcy klucza za pomocą identyfikatora AAGUID
AAGUID to unikalny numer, który identyfikuje model uwierzytelniania (nie konkretną instancję uwierzytelniania). Identyfikator AAGUID można znaleźć w danych uwierzytelniających danych logowania klucza publicznego.
RP mogą używać AAGUID do identyfikacji dostawcy kluczy dostępu. Jeśli na przykład użytkownik utworzy klucz dostępu na urządzeniu z Androidem za pomocą Menedżera haseł Google, RP otrzyma identyfikator AAGUID "ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4"
. RP może dodać adnotację do klucza dostępu na liście kluczy dostępu, aby wskazać, że został on utworzony w Menedżerze haseł Google.
Aby zmapować identyfikator AAGUID na dostawcę kluczy dostępu, RP może skorzystać z repozytorium AAGUID udostępnionego przez społeczność. Wyszukiwanie AAGUID na liście pozwala znaleźć nazwę dostawcy kluczy dostępu i tekst danych ikony SVG.
Pobieranie identyfikatora AAGUID jest funkcją udostępnianą przez większość bibliotek WebAuthn. Poniższy przykład pokazuje kod rejestracji po stronie serwera, który korzysta z usługi SimpleWebAuthn:
// 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';
Podsumowanie
AAGUID to unikalny ciąg znaków identyfikujący dostawcę klucza, który utworzył klucz dostępu. Reprezentanci mogą używać identyfikatorów AAGUID, aby ułatwić użytkownikom zarządzanie kluczami dostępu. Do mapowania identyfikatorów AAGUID na dostawców kluczy dostępu można używać repozytorium identyfikatorów AAGUID ze źródła.