مصادقة FIDO باستخدام مفاتيح مرور

مقدمة

يعرّف معيار المصادقة FIDO (رقم تعريف الكيان السريع على الإنترنت) آلية مصادقة سريعة وآمنة للمستخدمين للوصول إلى المواقع الإلكترونية والتطبيقات.

يعمل FIDO Alliance، مع ممثلين من مجموعة من المؤسسات، على تطوير مواصفات فنية مفتوحة وقابلة للتطور تتيح للمستخدمين الوصول إلى المواقع الإلكترونية والتطبيقات من خلال بروتوكول مشترك. وهذا يعني أن أي شركة يمكنها استخدام معايير FIDO لتنفيذ التقنيات، مثل مفاتيح المرور، للمصادقة الآمنة.

مفتاح المرور هو بيانات اعتماد تسجيل الدخول إلى FIDO، ويقتصر على أصل (موقع إلكتروني أو تطبيق) وجهاز فعلي. تتيح مفاتيح المرور للمستخدمين المصادقة بدون الحاجة إلى إدخال اسم مستخدم أو كلمة مرور أو تقديم أي عامل مصادقة إضافي. تهدف هذه التقنية إلى استبدال كلمات المرور كآلية المصادقة الأساسية.

ما أهمية المصادقة الآمنة؟

تم استخدام كلمات المرور للمصادقة في الحوسبة لعقود. ومع ذلك، لا تُعدّ المصادقة المستنِدة إلى كلمة المرور الخيار الأكثر أمانًا للمصادقة، حيث يمكن اختراق قواعد البيانات والتصيّد الاحتيالي لكلمات المرور.

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

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

كيف توفّر FIDO أمانًا أقوى؟

تؤدي المصادقة المستندة إلى نظام FIDO إلى إزالة العديد من المشاكل التي تنشأ من المصادقة المستندة إلى كلمة المرور ومن المصادقة التي تستخدم الخطوات الثانية التقليدية. وعلى وجه الخصوص:

  • تستخدم مصادقة FIDO تشفير المفتاح العام.
  • يساعد FIDO في ضمان عدم مشاركة بيانات الاعتماد مع جهات ضارة أو جهات خارجية لا تملك بيانات الاعتماد.

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

باستخدام FIDO، لا يتحمل المستخدم مسؤولية التأكد من أن موقعًا إلكترونيًا أو تطبيقًا يمثل فعليًا ما يقوله. علاوة على ذلك، المستخدم غير مسؤول عن ضمان عدم استخدام بيانات الاعتماد في الأماكن الخاطئة. تربط FIDO كل بيانات اعتماد بأصل معيّن، ما يعني أنّ الجهاز (وليس الإنسان) مسؤول عن تحديد الموقع الإلكتروني أو التطبيق بشكل صحيح.

على سبيل المثال، لنفترض أن المستخدم يحاول تسجيل الدخول إلى example.com. وإذا طلب المستخدم بيانات الاعتماد التي يمتلكها example.com على phishing-example.com، سترفض أداة المصادقة الطلب، ومن ثمّ تحمي المستخدم. تُصعّب عملية المصادقة على المواقع الإلكترونية أو التطبيقات التي تهدف إلى التصيّد الاحتيالي عملية إثبات الملكية في المصادر الأخرى.

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

تجريبي

ما هي مفاتيح المرور؟

مفتاح المرور هو بيانات اعتماد رقمية تلتزم بمعايير FIDO وW3C Web Authentication (WebAuthn). على غرار كلمة المرور، يمكن للمواقع الإلكترونية والتطبيقات أن تطلب من المستخدم إنشاء مفتاح مرور للوصول إلى حسابه.

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

عند العودة إلى الموقع الإلكتروني أو التطبيق لتسجيل الدخول، قد يتّخذ المستخدم الخطوات التالية:

  1. انتقل إلى التطبيق.
  2. انقر على تسجيل الدخول.
  3. اختَر مفتاح المرور الخاص به.
  4. ألغِ قفل الجهاز لإكمال تسجيل الدخول.

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

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

ما هي آلية عمل مفاتيح المرور؟

يتم إنشاء مفاتيح المرور ومزامنتها من خلال نظام التشغيل. وقد تسمح بعض أنظمة التشغيل بالمزامنة التلقائية لمفاتيح المرور بين أجهزة المستخدمين، مثل جهاز Android والجهاز الذي يعمل بنظام التشغيل Chrome والذي تم تسجيل الدخول إلى حساب Google نفسه عليه.

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

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

عملية المصادقة

تمثيل للشكل الذي تظهر به نافذة المصادقة.

لتنفيذ مفاتيح المرور على موقع إلكتروني أو تطبيق، من المهم أن تتعرف على ما يلي:

  • المصادقون هم أجهزة مادية يمتلكها المستخدم ولديها مفاتيح مرور المستخدم ويمكنها تحديد هوية المستخدم.
  • الجهة القائمة هي موقعك الإلكتروني أو تطبيقك، وتتألف من تطبيق واجهة أمامية وخادم خلفي.
    • يستدعي التطبيق الأمامي واجهات برمجة التطبيقات للتفاعل مع برنامج المصادقة وبدء عملية المصادقة.
    • يسترد خادم الخلفية العناصر المشفرة التي تنتجها أداة المصادقة ويتحقق منها.

على سبيل المثال، لنفترض أن المستخدم يريد شراء زوج من الأحذية من متجر في shoes.example (الطرف الذي يعتمد على هذه الميزة). سبق أن سجّل المستخدم في حساب على shoes.example، باستخدام هاتفه الذي يعمل بنظام التشغيل Android مع جهاز استشعار المقاييس الحيوية. يسجّل المستخدم الدخول إلى shoes.example على جهازه الذي يعمل بنظام التشغيل Android من خلال فتح قفل جهازه. بعد ذلك، يتحقَّق shoes.example من بيانات اعتماد تسجيل الدخول الموقَّعة للمستخدم بشكل مشفَّر مقابل المفتاح العام المعروف لذلك المستخدم لتأكيد دقة هوية المستخدم.

أدوات المصادقة

أجهزة المصادقة هي أجهزة متوافقة مع معيار FIDO يتم استخدامها لتأكيد هوية المستخدم. ويشمل ذلك الأجهزة ذات الأغراض الخاصة (مفاتيح أمان FIDO)، بالإضافة إلى الهواتف الجوّالة وأجهزة الكمبيوتر الأخرى التي تستوفي متطلبات برنامج المصادقة. ينفِّذ المُصادقون عمليات التشفير المُوضَّحة في معيارَي FIDO وWebAuthn.

يشمل الجهاز دورين للتسجيل والمصادقة:

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

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

الأجهزة المتوافقة مع معيار FIDO

في ما يلي أكثر برامج المصادقة شيوعًا:

  • مصادقات الأنظمة الأساسية: يتم دمجهما في الهواتف الذكية وأجهزة الكمبيوتر. تستخدم أدوات مصادقة الأنظمة الأساسية أداة استشعار المقاييس الحيوية (مثل مستشعر بصمات الإصبع أو كاميرا للتعرّف على الوجوه) أو رقم تعريف شخصي أو نقش. وبما أنّ التفاعل مع المصادقة قد اكتمل عبر فتح قفل الجهاز، يثبت ذلك في خطوة واحدة أنّ المستخدم يملك الجهاز ويمكنه تأكيد هويته باستخدام المقاييس الحيوية الفريدة.
  • مفاتيح الأمان: هي أجهزة USB التي تتضمّن زرًا للضغط على المصادقة. عند استخدامها مع كلمة مرور، يمكن أن توفر مفاتيح الأمان عامل ملكية للمصادقة الثنائية. والمثال الأكثر شيوعًا على ذلك هو "مفتاح أمان Titan" أو مفتاح YubiKey.

الواجهة الأمامية

تستخدم التطبيقات واجهات برمجة تطبيقات من جهة العميل، مثل WebAuthn وFIDO2 لنظام التشغيل Android لإنشاء بيانات اعتماد المستخدم وإثباتها باستخدام برنامج المصادقة.

يمرّر التطبيق اختبار تشفير تم إنشاؤه بواسطة الخادم الخلفي إلى برنامج المصادقة. يرسل التطبيق استجابة تطبيق Authenticator إلى الخادم للتحقّق من الصحة، والذي يتّخذ إجراءً بناءً على عملية التحقّق هذه.

خلفية

يخزّن الخادم بيانات اعتماد المفتاح العام ومعلومات الحساب.

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

الأسئلة الشائعة

مَن يدعم مفاتيح المرور؟

وتعمل مفاتيح المرور على معايير FIDO، وهي تعمل على نظامي التشغيل Android وChrome، إلى جانب العديد من الأنظمة الأساسية والمتصفحات الشائعة مثل Microsoft Windows وMicrosoft Edge وMacOS وiOS وSafari.

ارجَع إلى المستندات التي تقدّمها هذه المنصّات لتأكيد حالة مدى التوفّر الحالية.

نهدف في Android إلى توفير دعم مفاتيح المرور لمطوّري البرامج حتى نهاية عام 2022.

ماذا يحدث إذا فقد المستخدم جهازه؟

يتم الاحتفاظ بنسخة احتياطية من مفاتيح المرور التي يتم إنشاؤها على Android وتتم مزامنتها مع أجهزة Android التي تم تسجيل الدخول إلى حساب Google نفسه بها، كما يتم الاحتفاظ بنسخة احتياطية من كلمات المرور في مدير كلمات المرور.

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

هل يمكن للمستخدم استخدام مفتاح مرور على هاتفه لتسجيل الدخول على جهاز أحد الأصدقاء؟

نعم. يمكن للمستخدمين إعداد "&رابط" واحد يتم عرضه بين الهاتف وجهاز شخص آخر لأغراض تسجيل الدخول.

الخطوات اللاحقة

درس تطبيقي حول الترميز:

وبذلك يتاح لك التعرّف على المزيد من المعلومات حول:

تلقّي آخر الأخبار: