تعرَّف على كيفية دمج مفاتيح المرور في خدمتك.
بنية نظام مفتاح المرور
يتألف نظام مفتاح المرور من بعض المكوّنات:
- طرف موثوق به: في سياق مفتاح المرور، يتولّى الطرف الموثوق به (الطرف الثالث) إصدار مفتاح المرور والمصادقة عليه. يجب أن يشغّل الجهة المحظورة برنامجًا، أي موقع إلكتروني أو تطبيق ينشئ مفاتيح المرور أو يصادق باستخدام مفاتيح المرور، وخادمًا لتسجيل بيانات الاعتماد التي يتم إنشاؤها بواسطة مفاتيح المرور على العميل وتخزينها والتحقق منها. يجب ربط تطبيق مفتاح المرور المتوافق مع الأجهزة الجوّالة بنطاق خادم الجهة المحظورة باستخدام آلية الربط التي يوفّرها نظام التشغيل، مثل روابط مواد العرض الرقمية.
- Authenticator: هو جهاز حوسبة مثل الهاتف الجوّال أو الجهاز اللوحي أو الكمبيوتر المحمول أو الكمبيوتر المكتبي الذي يمكنه إنشاء مفاتيح المرور والتحقّق منها باستخدام ميزة قفل الشاشة التي يوفّرها نظام التشغيل.
- مدير كلمات المرور: برنامج مثبَّت على أجهزة المستخدم النهائي لخدمة مفاتيح المرور وتخزينها ومزامنتها، مثل مدير كلمات المرور في Google
مسار التسجيل
يمكنك استخدام WebAuthn API على موقع إلكتروني أو مكتبة "مدير بيانات الاعتماد" على أحد تطبيقات Android لإنشاء مفتاح مرور جديد وتسجيله.
لإنشاء مفتاح مرور جديد، هناك بعض المكوّنات الرئيسية التي يجب تقديمها:
- رقم تعريف الجهة المحظورة: يمكنك تقديم رقم تعريف الطرف الموثوق به في شكل نطاق ويب.
- معلومات المستخدم: رقم تعريف المستخدم واسم المستخدم والاسم المعروض.
- بيانات الاعتماد المطلوب استبعادها: معلومات حول مفاتيح المرور التي تم تخزينها في السابق لمنع تكرار التسجيل.
- أنواع مفتاح المرور: لتحديد ما إذا كان سيتم استخدام الجهاز نفسه ("أداة المصادقة على النظام الأساسي") كأداة مصادقة أو مفتاح أمان قابل للفصل ("أداة مصادقة من عدّة منصات / برنامج تجوال"). بالإضافة إلى ذلك، يمكن للمُتصِلين تحديد ما إذا كانوا يريدون جعل بيانات الاعتماد قابلة للاكتشاف حتى يتمكّن المستخدم من اختيار حساب لتسجيل الدخول من خلاله.
عندما يطلب الجهة المحظورة إنشاء مفتاح مرور ويتحقّق المستخدم من ذلك باستخدام فتح قفل الشاشة، يتم إنشاء مفتاح مرور جديد ويتم عرض بيانات اعتماد مفتاح عام. يمكنك إرسال ذلك إلى الخادم وتخزين رقم تعريف بيانات الاعتماد والمفتاح العام للمصادقة المستقبلية.
تعرَّف على كيفية إنشاء مفتاح مرور وتسجيله بالتفصيل:
- على الويب: إنشاء مفتاح مرور لتسجيل الدخول بدون كلمة مرور
- على Android: إجراء مصادقة سلسة لتطبيقاتك باستخدام مفاتيح المرور باستخدام واجهة برمجة تطبيقات مدير بيانات الاعتماد
مسار المصادقة
استخدِم WebAuthn API على موقع إلكتروني أو مكتبة "مدير بيانات الاعتماد" على أحد تطبيقات Android للمصادقة باستخدام مفتاح مرور مسجَّل.
للمصادقة باستخدام مفتاح مرور، هناك مكوّنان رئيسيان يجب توفيرهما:
- رقم تعريف الجهة المحظورة: يمكنك تقديم رقم تعريف الطرف الموثوق به في شكل نطاق ويب.
- التحدي: تحدٍّ من إنشاء الخادم يمنع هجمات إعادة تشغيل.
عندما يطلب الجهة المحظورة الحصول على مفتاح مصادقة باستخدام مفتاح مرور ويتحقّق المستخدم من ذلك من خلال فتح قفل الشاشة، يتم عرض بيانات اعتماد المفتاح العام. أرسل ذلك إلى الخادم وتحقق من التوقيع باستخدام المفتاح العام المخزن.
تعرَّف على كيفية المصادقة باستخدام مفتاح مرور بالتفصيل:
- على الويب: يمكنك تسجيل الدخول باستخدام مفتاح مرور من خلال ميزة الملء التلقائي للنماذج.
- على Android: إجراء مصادقة سلسة لتطبيقاتك باستخدام مفاتيح المرور باستخدام واجهة برمجة تطبيقات مدير بيانات الاعتماد
عمليات الدمج من جهة الخادم
عند إنشاء مفتاح مرور، يجب على الخادم تقديم معلَمات أساسية، مثل تحدٍّ ومعلومات المستخدم ومعرّفات بيانات الاعتماد التي يجب استبعادها وغير ذلك. بعد ذلك، يتحقق من بيانات اعتماد المفتاح العام الذي تم إنشاؤه والذي تم إرساله من العميل ويخزن المفتاح العام في قاعدة البيانات. للمصادقة باستخدام مفتاح مرور، على الخادم أن يتحقّق بعناية من صحة بيانات الاعتماد والتحقّق من التوقيع للسماح للمستخدم بتسجيل الدخول.
ومع ذلك، لا يستغرق إنشاء خادم مفتاح مرور بنفسك وقتًا كافيًا وقد يتسبب في حدوث أخطاء قد تؤدي إلى حادثة أمنية خطيرة. ونقترح استخدام إحدى المكتبات المفتوحة المصدر المتاحة أو حل يمكن أن يساعدك في تسريع دمج مفاتيح المرور.
للعثور على قائمة مكتبات البرامج المفتوحة المصدر، يمكنك مراجعة passkeys.dev's قسم "Libraries" (مكتبات) أو قائمة بمصادر جماعية لمكتبات WebAuthn. للعثور على حل، يمتلك مؤسسة FIDO Alliance قائمة من خوادم FIDO2 المعتمدة.
آليات المصادقة الحالية (القديمة)
عند إتاحة استخدام مفاتيح المرور في خدمتك الحالية، لن يتم الانتقال من آلية المصادقة القديمة، مثل كلمات المرور إلى مفاتيح المرور، خلال يوم واحد. نعلم أنك تميل إلى التخلص من طريقة المصادقة الأضعف في أقرب وقت ممكن، ولكن قد يتسبب ذلك في إرباك المستخدم أو ترك بعض المستخدمين خلفهم. ننصحك بإبقاء طريقة المصادقة الحالية في الوقت الحالي.
وهناك بضعة أسباب:
- هناك مستخدمون في بيئة غير متوافقة مع مفتاح المرور: يتم توسيع نطاق توفّر مفتاح المرور على نطاق واسع في أنظمة تشغيل ومتصفّحات متعددة، ولكن المستخدمون الذين يستخدمون إصدارات قديمة لا يمكنهم استخدام مفاتيح المرور حتى الآن.
- المنظومة المتكاملة لمفاتيح المرور لم تنتهِ بعد: لا تزال المنظومة المتكاملة لمفتاح المرور في طور التطوّر. يمكن أن تتحسن تفاصيل تجربة المستخدم والتوافق الفني بين البيئات المختلفة.
- قد لا يكون المستخدمون مستعدين لاستخدام مفتاح المرور حتى الآن: هناك بعض الأشخاص الذين يترددون في البحث عن أشياء جديدة. ومع نضج النظام الشامل لمفاتيح المرور، سيتعرفون على آلية عمل مفاتيح المرور وسبب أهميتها بالنسبة لهم.
مراجعة آلية المصادقة الحالية
في حين أنّ مفاتيح المرور تجعل المصادقة أكثر بساطة وأمانًا، فإنّ الحفاظ على الآليات القديمة يشبه ترك فراغ. نوصي بإعادة النظر في آليات المصادقة الحالية وتحسينها.
كلمات المرور
يمثل إنشاء كلمات مرور قوية وإدارتها لكل موقع ويب مهام صعبة للمستخدمين. يوصى بشدة باستخدام مدير كلمات مرور مدمج في النظام أو مدير مستقل. من خلال إجراء تعديل بسيط على نموذج تسجيل الدخول، يمكن أن تحدث مواقع الويب والتطبيقات فارقًا كبيرًا في أمانها وفي تجربة تسجيل الدخول. اطّلِع على كيفية إجراء هذه التغييرات:
- أفضل الممارسات في نموذج تسجيل الدخول (على الويب)
- أفضل الممارسات في نماذج الاشتراك (على الويب)
- تسجيل دخول المستخدم باستخدام مدير بيانات الاعتماد (Android)
المصادقة الثنائية
على الرغم من أنّ استخدام مدير كلمات المرور يساعد المستخدمين في التعامل مع كلمات المرور، إلا أنّ بعض المستخدمين لا يستخدمونها. يُعد طلب بيانات اعتماد إضافية تُسمى كلمة المرور لمرة واحدة (OTP) من الممارسات الشائعة لحماية هؤلاء المستخدمين. يتم توفير كلمات المرور لمرة واحدة (OTP) عادةً من خلال رسالة إلكترونية أو رسالة قصيرة أو تطبيق مصادقة مثل Google Authenticator. نظرًا لأن كلمات المرور لمرة واحدة (OTP) عادةً ما تكون نصًا قصيرًا يتم إنشاؤه ديناميكيًا فقط لفترة زمنية محدودة، فإن ذلك يقلل من احتمالية الاستيلاء على الحساب. وهذه الطرق ليست قوية مثل مفتاح المرور، ولكنها أفضل بكثير من ترك المستخدمين بكلمة مرور فقط.
إذا اخترت الرسائل القصيرة SMS كطريقة لتسليم كلمة المرور لمرة واحدة، تحقق من أفضل الممارسات التالية لتبسيط تجربة المستخدم لإدخال كلمة المرور لمرة واحدة (OTP).
- أفضل ممارسات نموذج كلمة المرور لمرة واحدة عبر الرسائل القصيرة SMS (الويب)
- التحقق التلقائي من خلال الرسائل القصيرة SMS باستخدام واجهة برمجة التطبيقات لبرنامج استعادة الرسائل القصيرة SMS (نظام التشغيل Android)
اتحاد هويات
اتحاد الهوية هو خيار آخر يتيح للمستخدمين تسجيل الدخول بأمان وسهولة. من خلال ميزة "توحيد الهوية"، يمكن للمواقع الإلكترونية والتطبيقات السماح للمستخدمين بتسجيل الدخول باستخدام هوية المستخدم من خلال موفِّر هوية تابع لجهة خارجية. على سبيل المثال، يساعد خيار تسجيل الدخول باستخدام حساب Google في توفير إحالات ناجحة رائعة للمطوّرين، ويرى المستخدمون أنّ المصادقة المستندة إلى كلمة المرور أسهل وأكثر تفضيلاً. يُكمل اتحاد الهوية مفاتيح المرور. يُعد هذا الإجراء رائعًا للاشتراك حيث يمكن للموقع الإلكتروني أو التطبيق الحصول على معلومات الملف الشخصي الأساسية للمستخدم في خطوة واحدة، بينما تُعد مفاتيح المرور وسيلة رائعة لتبسيط عملية إعادة المصادقة.
ضع في اعتبارك أنه بعد أن يوقف Chrome ملفّات تعريف الارتباط التابعة لجهات خارجية في عام 2024، قد تتأثر بعض أنظمة تحديد الهوية بناءً على طريقة إنشائها. وللحد من تأثيرها، يتم تطوير واجهة برمجة تطبيقات جديدة للمتصفّح تُسمى Fedeated Credential Management API (FedCM) باختصار. إذا كنت تدير موفِّر هوية، فراجع التفاصيل وتعرف ما إذا كنت بحاجة إلى استخدام FedCM.
- واجهة برمجة التطبيقات لإدارة بيانات الاعتماد المتحدة (Web, FedCM)
- نظرة عامة على ميزة "تسجيل الدخول باستخدام حساب Google للويب" (الويب وميزة "تسجيل الدخول باستخدام حساب Google")
- نظرة عامة على تسجيل الدخول بنقرة واحدة على Android (نظام التشغيل Android وتسجيل الدخول بنقرة واحدة)
"الروابط السحرية"
تسجيل الدخول باستخدام الرابط السحري هو طريقة مصادقة تقدِّم فيها الخدمة رابط تسجيل دخول عبر رسالة إلكترونية حتى يتمكّن المستخدم من النقر عليه لمصادقة نفسه. يساعد هذا الإجراء المستخدمين في تسجيل الدخول بدون تذكر كلمة مرور، إلا أنّ التبديل بين المتصفح/التطبيق وبرنامج البريد الإلكتروني سيكون صعبًا. وأيضًا، نظرًا لأن آلية المصادقة تعتمد على البريد الإلكتروني، فإن الأمان الضعيف لمزود خدمة البريد الإلكتروني يمكن أن يعرِّض حسابات المستخدمين للخطر.
مراجع التعلّم
الويب
لدمج مفاتيح المرور في موقعك الإلكتروني، استخدِم Web Authenticator API (WebAuthn). لمعرفة المزيد، تحقق من الموارد التالية:
- إنشاء مفتاح مرور لتسجيل الدخول بدون كلمة مرور: مقالة تناقش كيفية السماح للمستخدمين بإنشاء مفاتيح مرور لموقع إلكتروني.
- تسجيل الدخول باستخدام مفتاح مرور من خلال ميزة "الملء التلقائي" للنماذج: مقالة تتناول كيفية تصميم ميزة "تسجيل الدخول بدون كلمة مرور" باستخدام مفاتيح المرور مع إتاحة إمكانية الوصول إلى المستخدمين الحاليين لكلمات المرور
- تنفيذ مفاتيح المرور باستخدام ميزة الملء التلقائي للنماذج في تطبيق ويب: درس تطبيقي حول الترميز يتيح لك تعلُّم كيفية تنفيذ مفاتيح المرور باستخدام ميزة الملء التلقائي للنماذج في تطبيق ويب لإنشاء عملية تسجيل دخول أبسط وأكثر أمانًا.
- تعرَّف على كيفية تنفيذ مفاتيح المرور باستخدام ميزة الملء التلقائي للنماذج في تطبيق ويب: فيديو في ورشة عمل يتجاوز الدرس التطبيقي حول الترميز. تنفيذ مفاتيح المرور باستخدام الملء التلقائي للنماذج في تطبيق ويب لتنفيذ مفاتيح المرور باستخدام ميزة الملء التلقائي للنماذج في تطبيق ويب لإنشاء عملية تسجيل دخول أبسط وأكثر أمانًا.
- إنشاء أول تطبيق WebAuthn: درس تطبيقي حول الترميز يتيح لك تعلّم كيفية إنشاء وظيفة إعادة مصادقة بسيطة باستخدام مفتاح مرور على موقعك الإلكتروني.
Android
لدمج مفاتيح المرور في تطبيق Android، استخدِم مكتبة "مدير بيانات الاعتماد". لمعرفة المزيد، تحقق من الموارد التالية:
- تسجيل دخول المستخدم باستخدام "مدير بيانات الاعتماد": مقالة تناقش كيفية دمج "مدير بيانات الاعتماد" على Android. "مدير بيانات الاعتماد" هو واجهة برمجة تطبيقات في Jetpack تتيح طرقًا متعددة لتسجيل الدخول، مثل اسم المستخدم وكلمة المرور ومفاتيح المرور وحلول تسجيل الدخول الموحّد (مثل تسجيل الدخول باستخدام حساب Google) في واجهة برمجة تطبيقات واحدة.
- توفير مصادقة سلسة لتطبيقاتك من خلال مفاتيح المرور باستخدام واجهة برمجة تطبيقات مدير بيانات الاعتماد: تتناول هذه المقالة كيفية دمج مفاتيح المرور من خلال "مدير بيانات الاعتماد" على نظام التشغيل Android.
- تعرَّف على طريقة تبسيط عمليات المصادقة باستخدام واجهة برمجة تطبيقات إدارة بيانات الاعتماد في تطبيق Android: تعرَّف على طريقة تنفيذ واجهة برمجة تطبيقات "إدارة بيانات الاعتماد" لتوفير مصادقة سلسة وآمنة في تطبيقك باستخدام مفاتيح المرور أو كلمة المرور.
- نموذج تطبيق مدير بيانات الاعتماد: نموذج لرمز برمجي يشغّل مفاتيح المرور التي تتيح استخدام "مدير بيانات الاعتماد".
- دمج مدير بيانات الاعتماد مع حل موفّر بيانات الاعتماد | مطوّرو برامج Android
تجربة المُستخدِم
تعرَّف على اقتراحات بشأن تجربة المستخدم الخاصة بمفاتيح المرور: