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

يمكن للأطراف المعتمَدة (RP) تحديد موفِّر مفتاح المرور الذي تم إنشاء مفتاح المرور من خلاله من خلال فحص AAGUID لمستند اعتماد المفتاح العام المرتبط.

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

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

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

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

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

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

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

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

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

يمكن للجهات المحظورة استخدام AAGUID لتحديد موفِّر مفتاح المرور. على سبيل المثال، إذا أنشأ مستخدم مفتاح مرور على جهاز Android باستخدام "مدير كلمات المرور في Google"، سيتلقّى مقدّم الخدمة رقم تعريف 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 بموفّري مفاتيح المرور.