קביעת הספק של מפתחות הגישה באמצעות AAGUID

גורמים נאמנים (RP) יכולים לקבוע איזה ספק של מפתח גישה נוצר על ידי בדיקת ה-AAGUID של פרטי הכניסה למפתח הציבורי המשויך.

האתגרים בניהול של מפתחות גישה

אחד היתרונות של השימוש במפתחות גישה הוא שהם יכולים לאפשר למשתמשים ליצור כמה מפתחות גישה לחשבון אחד. בזכות הגמישות הזו בשילוב עם האמינות של מפתח הגישה, גם אם המשתמש יאבד את הגישה לחשבון בגלל איבוד אחד ממפתחות הגישה, הוא עדיין יוכל להיכנס לגורם הנסמך באמצעות מפתחות גישה חלופיים.

משתמשים שמנהלים כמה מפתחות גישה בגורם מוגבל היא לזהות את מפתח הגישה הנכון כשהם צריכים לערוך או למחוק מפתח גישה ספציפי ועוד. דוגמה טובה: כשמשתמש רוצה להסיר מפתח גישה שלא נמצא בשימוש. אנחנו ממליצים ל'גורמים מוגבלים' לצרף מידע על מפתח הגישה, כמו תאריך היצירה ותאריך השימוש האחרון ברשימת מפתחות הגישה. כך משתמשים יוכלו למצוא מפתח גישה ספציפי.

הגורמים המוגבלים יכולים גם לאפשר למשתמשים לתת שם למפתח גישה ברגע שיוצרים אותם או מאוחר יותר, אבל הרבה משתמשים לא עושים זאת. במצב אידיאלי, השמות של מפתחות הגישה משקפים באופן אוטומטי את האותות שנשלחים מהלקוח או את המידע שכלול בפרטי הכניסה למפתח הציבורי.

דפדפנים מספקים מחרוזת של סוכן משתמש שהצדדים יכולים להשתמש בו כדי לתת שמות למפתחות גישה, אבל פלטפורמות כמו Android, iOS או דפדפנים למחשב עם יכולות תוספים מאפשרות ליצור מפתח גישה על ידי מנהלי סיסמאות של צד שלישי, והמחרוזת של סוכן המשתמש לא בהכרח מייצגת את הספק בפועל של מפתחות הגישה.

באמצעות המאמת של מאמת החשבונות, מזהה ייחודי גלובלי (AAGUID), כלול בפרטי הכניסה של המפתח הציבורי שמוחזרים ברישום של מפתח הגישה, גורמים מוגבלים יכולים לזהות את הספק של מפתח הגישה ולהשתמש בו כדי לאפשר למשתמשים למצוא בקלות את מפתח הגישה הנכון.

קובעים את הספק של מפתח הגישה באמצעות AAGUID

AAGUID הוא מספר ייחודי שמזהה את המודל של מאמת החשבונות (לא את המופע הספציפי של מאמת החשבונות). ניתן למצוא AAGUID כחלק מנתוני המאמת של פרטי הכניסה של המפתח הציבורי.

פריסת אובייקט אימות שממחישה את נתוני מאמת החשבונות (שמכילים נתוני פרטי כניסה מאומתים) ואת הצהרת האימות.
ניתן למצוא AAGUID בנתונים של מאמת החשבונות.

גורמים מוגבלים יכולים להשתמש ב-AAGUID כדי לזהות את ספק מפתח הגישה. לדוגמה, אם משתמש יוצר מפתח גישה במכשיר Android באמצעות מנהל הסיסמאות של Google, הגורם המוגבל יקבל AAGUID של "ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4". הגורם המוגבל (RP) יכול להוסיף הערות למפתח הגישה ברשימת מפתחות הגישה כדי לציין שהוא נוצר במנהל הסיסמאות של Google.

בהגדרות של מפתחות הגישה בדף הגדרות האבטחה מוצג מידע מפורט על כל מפתח גישה.
דוגמה לממשק משתמש לניהול מפתחות גישה.

כדי למפות AAGUID לספק של מפתח גישה, הגורמים המוגבלים יכולים להשתמש במאגר של מפתחות AAGUID שמבוססים על מקורות הקהילה. אם תחפשו את ה-AAGUID ברשימה, ניתן יהיה למצוא את שם הספק של מפתח הגישה ואת טקסט נתוני ה-svg של הסמל שלו.

אחזור AAGUID הוא תכונה שרוב ספריות WebAuthn מספקות. בדוגמה הבאה מוצג קוד רישום בצד השרת באמצעות 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';

סיכום

AAGUID היא מחרוזת ייחודית שמזהה את ספק מפתח הגישה שיצר את מפתח הגישה. גורמים מוגבלים יכולים להשתמש ב-AAGUID כדי שלמשתמשים יהיה קל יותר לנהל את מפתחות הגישה שלהם. אפשר להשתמש במאגר של מפתחות AAGUID על ידי הקהילה כדי למפות מפתחות AAGUID לספקים של מפתחות גישה.