تحديد موفِّر مفتاح المرور باستخدام AAGUID

يمكن للجهات الموثوق بها تحديد موفِّر مفتاح المرور الذي يتم إنشاء مفتاح المرور من خلاله من خلال فحص AAGUID الخاص ببيانات اعتماد المفتاح العام المرتبطة.

تحديات إدارة مفاتيح المرور

تتمثّل إحدى فوائد استخدام مفاتيح المرور في أنّها تتيح للمستخدمين إنشاء مفاتيح مرور متعددة لحساب واحد. من خلال هذه المرونة بالإضافة إلى قوة مفتاح المرور، سيظل بإمكان المستخدم تسجيل الدخول إلى المجموعة الموثوق بها باستخدام مفاتيح مرور بديلة حتى إذا تم حظر وصول المستخدم إلى الحساب بسبب فقدان أحد مفاتيح المرور الخاصة به.

يواجه المستخدمون الذين يديرون مفاتيح مرور متعدّدة على جهة محظورة تحديد مفتاح المرور الصحيح عندما يحتاجون إلى تعديل مفتاح مرور معيّن أو حذفه من بين عمليات أخرى. وخير مثال على ذلك هو عندما يريد المستخدم إزالة مفتاح مرور غير مستخدَم. يُنصَح باستخدام الجهات المحظورة لإرفاق معلومات عن مفتاح المرور، مثل تاريخ الإنشاء وتاريخ آخر استخدام في قائمة مفاتيح المرور. يساعد ذلك المستخدمين في العثور على مفتاح مرور محدَّد.

يمكن أن تسمح نقاط البيع (RP) أيضًا للمستخدمين بتسمية مفتاح المرور فور إنشائها أو بعد إنشائها، ولكن لا يحدث ذلك لدى العديد من المستخدمين. من الناحية المثالية، تتم تسمية مفاتيح المرور تلقائيًا لتعكس الإشارات المُرسَلة من العميل أو المعلومات المضمَّنة في بيانات اعتماد المفتاح العام.

توفّر المتصفِّحات سلسلة وكيل مستخدم يمكن للجهات الخارجية استخدامها لتسمية مفاتيح المرور، ولكن الأنظمة الأساسية، مثل المتصفحات المتوافقة مع أجهزة Android أو iOS أو أجهزة الكمبيوتر المكتبي التي تتضمّن إمكانيات الإضافات، تتيح إنشاء مفتاح مرور من خلال مدراء كلمات المرور التابعين لجهات خارجية، ولا تمثّل سلسلة وكيل المستخدم بالضرورة هوية موفِّر مفتاح المرور الفعلي.

باستخدام المعرّف الفريد العالمي للمصادقة على أداة Authenticator والمضمّنة في بيانات اعتماد المفتاح العام التي تظهر أثناء تسجيل مفتاح المرور، يمكن للجهات المحظورة تحديد موفِّر مفتاح المرور واستخدامه للعثور على مفتاح المرور الصحيح بسهولة.

تحديد موفِّر مفتاح المرور باستخدام AAGUID

AAGUID هو رقم فريد يحدد طراز برنامج المصادقة (وليس المثيل المحدد من برنامج المصادقة). يمكن العثور على AAGUID كجزء من بيانات برنامج المصادقة الخاصة بالمفتاح العام.

تنسيق عنصر المصادقة الذي يوضّح بيانات برنامج المصادقة المضمّنة (التي تحتوي على بيانات الاعتماد المصادَق عليها) وعبارة المصادقة
يمكن العثور على AAGUID في بيانات برنامج المصادقة.

يمكن للجهات المحظورة استخدام AAGUID لتحديد موفِّر مفتاح المرور. على سبيل المثال، إذا أنشأ مستخدم مفتاح مرور على جهاز Android باستخدام "مدير كلمات المرور في Google"، سيحصل RP على معرّف AAGUID بقيمة "ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4". يمكن للجهة المحظورة إضافة تعليق توضيحي إلى مفتاح المرور في قائمة مفاتيح المرور للإشارة إلى أنّه تم إنشاؤه في "مدير كلمات المرور في 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 بموفِّري مفاتيح المرور.