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

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

التحديات المتعلّقة بإدارة مفاتيح المرور

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

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

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

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

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

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

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

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

يمكن لموفّري خدمات الربط (RP) استخدام 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 بموفّري مفاتيح المرور.