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

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

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

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

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

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

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

من خلال المعرّف الفريد العام لمصادقة Authenticator (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 بموفِّري مفاتيح المرور.