لماذا مفاتيح المرور آمنة ── دليل مرسوم لـ«مصادقة لا ترسل سرّاً»

· آخر تحديث: · · مفاتيح المرور, WebAuthn, FIDO2, أمن, مصادقة, مكافحة التصيّد, نظم المعلومات

خبر أنّ «كلمات المرور تسرّبت من خدمة كبرى أخرى» لم يعد يفاجئ أحداً. نفّذوا تدريبات تصيّد كلّ سنة، وعدد من يقع فيها لا يصل إلى الصفر قطّ. «لا تعيدوا استخدام كلمات المرور، اجعلوها طويلة، والتغيير الدوريّ… لم تعد بحاجة إليه» — حتّى النصيحة تقلّبت.

مفاتيح المرور (passkeys)، التي انتشرت بسرعة خلال السنوات القليلة الماضية، طريقة مصادقة تدفع بها Apple وGoogle وMicrosoft معاً جواباً على هذا الوضع.1 كثيراً ما تُقدَّم بأنّها «مريحة — يمكنكم تسجيل الدخول ببصمة الإصبع أو الوجه» — لكن ذلك ليس جوهر الأمر. القيمة الحقيقيّة لمفتاح المرور أنّه ينقل أساس الأمن من «يقظة الإنسان» إلى «بنية البروتوكول».

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

يعمل هذا المقال بالرسوم على سبب أمان مفاتيح المرور، بادئاً ممّا انكسر في كلمات المرور. ثمّ يجيب مباشرة على الأسئلة الواضحة — «هل مفاتيح المرور المتزامنة آمنة حقّاً؟» و«هل لها نقاط ضعف؟» — ويختم بترتيب الأساسيّات العمليّة لنشر مفاتيح المرور في تطبيقات الويب وبيئات Windows.

1. الخلاصة أوّلاً

أسباب أمان مفاتيح المرور تُختصَر في ثلاث نقاط.

  1. لا سرّ يوجد على الخادم. كلّ ما يخزّنه الخادم هو المفتاح العامّ، وهي معلومات آمنة إن تسرّبت. حتّى إن استُخرجت قاعدة البيانات بأكملها، لا «مادّة لانتحال الشخصيّة» يحملها المهاجم إلى بيته.2
  2. السرّ لا يسير على الشبكة قطّ. كلّ ما يُرسل عند تسجيل الدخول توقيع على قيمة عشوائيّة لمرّة واحدة (التحدّي). لأنّ المفتاح الخاصّ لا يغادر مصادِق الجهاز قطّ، التنصّت أو الترحيل في أيّ موضع على المسار لا يُنتج سرّاً.2
  3. لا يمكن إنتاج توقيع على موقع مزيّف. مفتاح المرور مربوط بنطاق الموقع، ويفرض المتصفّح مطابقة النطاق. حتّى إن خُدع مستخدم بموقع مزيّف، لا يظهر مفتاح المرور للموقع الحقيقيّ مرشَّحاً أصلاً، وحتّى لو رُحِّل توقيع بطريقة ما، يرفضه التحقّق.3

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

علاقة المصطلحات ── مفاتيح المرور وWebAuthn وFIDO2 وCTAP

هذا المجال مليء بالمصطلحات، ومقالات مختلفة تستخدمها بنطاقات مختلفة، فلنثبّت العلاقات أوّلاً. مفتاح المرور ليس بروتوكولاً جديداً — إنّه «اسم» أُلصق بتركيبة معايير قائمة.21

المصطلح الاسم الكامل ما يشير إليه
WebAuthn Web Authentication API (توصية W3C) المعيار بين المتصفّح وموقع الويب. واجهة البرمجة التي تستخدم navigator.credentials لطلب إنشاء زوج مفاتيح والتوقيع
CTAP Client to Authenticator Protocol (تحالف FIDO) المعيار بين المتصفّح ومصادِق خارجيّ. الجزء الذي يكلّم مفاتيح الأمن والهواتف عبر USB أو NFC أو Bluetooth
FIDO2 المصطلح الجامع لإطار الجمع بين الاثنين أعلاه. FIDO2 = WebAuthn + CTAP
مفتاح المرور (passkey) الاسم المعطى لمجموعة فرعيّة من بيانات اعتماد FIDO2 تتيح تسجيل الدخول وحدها بدل كلمة المرور (بيانات اعتماد قابلة للاكتشاف)

جدول 1: مفتاح المرور اسم يُعطى فوق أساس FIDO2 — ليس اسم معيار بذاته

بعبارة أخرى، «دعم مفاتيح المرور» يترجم، بلغة التنفيذ، إلى «تنفيذ WebAuthn». CTAP طبقة يتولاها المتصفّح ونظام التشغيل نيابة عنكم حين يُستخدم مصادِق خارجيّ، لذا من يبنون تطبيقات ويب لا يلمسونه مباشرة.

خريطة المعرفة لهذه المقالة

مفتاح المرور اعتماد مبنيّ على التشفير بالمفتاح العام فوق معياري WebAuthn وCTAP (معاً FIDO2): لا يخرج المفتاح الخاصّ من أداة المصادقة، ولا يُودَع لدى الخادم إلا المفتاح العام الذي لا يُساء استخدامه إن تسرب. يُنشَأ مفتاح المرور مربوطاً بنطاق الموقع (RP ID)، لذا لا ينعقد التوقيع أصلاً على موقع مزيّف فيُمنَع التصيّد بنيويّاً. مفتاح المرور المتزامن ينال مقاومة الفقد مقابل الاعتماد على حساب سحابيّ، أمّا المقيَّد بالجهاز فيحبس المفتاح في العتاد. بعد إدخال مفاتيح المرور يصير محور العمل تضييق وسائل الاحتياط المتزامنة وتعزيز مسار استرداد الحساب.

خريطة معرفة لماذا مفاتيح المرور آمنةمخطّط يبيّن قيام مفتاح المرور على WebAuthn وFIDO2 وCTAP والتشفير بالمفتاح العام، وأنّ الربط بالنطاق عبر RP ID يمنع التصيّد بنيويّاً، والفرق بين النوع المتزامن والنوع المقيَّد بالجهاز ونقطة العطل الواحدة لكلّ منهما، وموقعه بوصفه MFA مقاوماً للتصيّد، وعلاقات المخاطر المتبقية (المسار الاحتياطيّ واسترداد الحساب وسرقة الجلسة)يستخدميستخدميستخدميستخدميستخدميستخدميستخدميستخدميستخدميستخدميستخدميشترطيستخدميشترطيمنعيمنعيمنعيخفّفقد يسبّبقد يسبّبقد يسبّبقد يسبّبقد يسبّبغير موصى به لـموصى به لـيستخدميُكوَّن بـيُحفظ فيلا يتوافق معموصى به لـقد يسبّبموصى به لـقد يسبّبموصى به لـقد يسبّبموصى به لـقد يسبّبغير موصى به لـمفتاح المرور (passkey)WebAuthnFIDO2التشفير بالمفتاح العامCTAPأداة المصادقةTPMWindows Helloمفتاح أمانمفتاح مرور مقيَّد بالجهازمتطلّب السياق الآمن (HTTPS)تحدٍّ (عدد عشوائيّ لمرّة واحدة)RP ID (معرّف Relying Party)تصيّد (phishing)تصيّد من نوع AiTM (وسيط)تسريب قاعدة بيانات الاعتماداتمصادقة بكلمة المرورإعادة استخدام كلمة المرور (هجوم بالقائمة)الاستيلاء على الحسابسرقة cookie الجلسةكلمة مرور لمرّة واحدة (TOTP)MFA مقاوم للتصيّدMicrosoft Entra IDمفتاح مرور متزامنخزينة بيانات اعتماد المنصّةNIST AAL3 (مستوى ضمان أداة المصادقة 3)تعزيز حماية حساب المنصّةإساءة استخدام مسار استرداد الحسابتعزيز التحقّق من الهويّة في مسار الاستردادوسيلة مصادقة احتياطيّة متزامنةتضييق وسائل الاحتياط وفق خطّة

في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 38، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle

2. ما الذي انكسر في مصادقة كلمة المرور

الطريق المختصر لفهم سبب أمان مفاتيح المرور التفكير في نقاط ضعف كلمة المرور من حيث «المكان». مع مصادقة كلمة المرور، السرّ نفسه يسافر المسار بأكمله في كلّ مرّة تصادقون.

الخادمالمتصفّحالمستخدمالخادمالمتصفّحالمستخدميحمل السرّ (كلمة المرور) في رأسه【الضعف ①】قابل للتخمين ويُعاد استخدامه【الضعف ②】يمكن إدخالها في موقع مزيّفبالطريقة نفسها (لا تُميَّز بالشكل)【الضعف ③】السرّ يسير على المساريحميه TLS لكنّه يعود نصّاً صريحاً عند الطرف【الضعف ④】أسرار كلّ المستخدمين (تجزئاتها) تتجمّعوالتسرّب يصير هدفاً للقوّة الغاشمة دون اتّصاليُدخل كلمة المروريرسل كلمة المرور نفسهايطابقه مع التجزئة المخزَّنة

الشكل 1: في مصادقة كلمة المرور، يوجد السرّ نفسه عبر المسار بأكمله

من وجهة نظر مهاجم، هذه بنية ذات أهداف كثيرة سهلة.

  • الضعف ① (المستخدم): كلمة المرور لا تزيد قوّة عمّا يمكن تذكّره، وتُعاد استخدامها عبر مواقع متعدّدة. تسرّب في موضع واحد ينتشر إلى كلّ الحسابات (هجمات قائمة كلمات المرور).
  • الضعف ② (لحظة الإدخال): أعدّوا موقعاً مزيّفاً لا يُميَّز عن الحقيقيّ، فيسلّم المستخدم السرّ طوعاً (تصيّد).
  • الضعف ③ (المسار): يجعل TLS التنصّت على المسار نفسه صعباً، لكن ذلك بلا معنى متى أُدرجت «نقطة ترحيل بمظهر شرعيّ» (AiTM، يُناقَش لاحقاً).
  • الضعف ④ (الخادم): حتّى مخزَّنة كتجزئات، متى تسرّبت قاعدة البيانات يمكن كسرها بالقوّة الغاشمة دون اتّصال. أضعف كلمات المرور تسقط أوّلاً.

الجواب التقليديّ، المصادقة متعدّدة العوامل، يقول «فلنُضِف رمزاً لمرّة واحدة — SMS أو TOTP» — لكن هذا لا يغيّر بنية إرسال سرّ مشترك. TOTP يجعل الخادم وتطبيق المصادقة يشتركان في البذرة نفسها (سرّ)، والرمز السداسيّ المولَّد يمكن، في النهاية، أن يكتبه المستخدم في موقع مزيّف. في الواقع، تصيّد AiTM (Adversary-in-the-Middle)، حيث يرحّل موقع مزيّف في الوقت الحقيقيّ إلى الخادم الحقيقيّ، يهزم هذا بتمرير زوج كلمة المرور زائد الرمز لمرّة واحدة مباشرة. لهذا تحديداً تسرد CISA (وكالة الأمن السيبرانيّ والبنية التحتيّة الأمريكيّة) طريقتين فقط بوصفهما «MFA مقاوم للتصيّد» — FIDO/WebAuthn والمصادقة القائمة على PKI مثل البطاقات الذكيّة (PIV/CAC) — وتضع FIDO بينها المعيار الذهبيّ.4

بعبارة أخرى، المشكلة ليست «قوّة» كلمة المرور — بل بنية الاشتراك في سرّ وإرساله في كلّ مصادقة ذاتها.

3. هويّة مفتاح المرور ── إثبات الحيازة دون إرسال السرّ

مفتاح المرور بيانات اعتماد قائمة على التشفير بالمفتاح العامّ، مبنيّة على معيارين: WebAuthn من W3C وCTAP من تحالف FIDO (معاً FIDO2).21 قد يبدو صعباً، لكن البنية بسيطة.

الخادمجهاز المستخدممطابقة محلّيّةزوج رياضيّ(جانب صنع التوقيع)المفتاح العامّآمن إن تسرّبمعلومات «للتحقّق فقط»المصادِق (خزنة)Windows Hello / Face ID /قفل شاشة Android / مفتاح أمنالمفتاح الخاصّلا يخرج من هنا قطّبصمة الإصبع والوجه وPIN= لفتح باب الخزنة فقطوهذا أيضاً لا يخرج

الشكل 2: كيان مفتاح المرور زوج مفاتيح لكلّ موقع. الجانب السرّيّ لا يغادر الجهاز، والخادم لا يحمل إلا المفتاح العامّ للتحقّق

  • المفتاح الخاصّ هو مفتاح جانب صنع التوقيع، ويُحفَظ في المصادِق داخل الجهاز (Windows Hello، وFace ID/Touch ID على iPhone، وقفل شاشة Android، أو مفتاح أمن مثل YubiKey)، ولا يخرج.
  • المفتاح العامّ هو مفتاح جانب التحقّق من التوقيع فقط، وهذا ما تودعونه لدى الخادم. حساب المفتاح الخاصّ عكسياً من المفتاح العامّ مستحيل حسابيّاً، لذا هي معلومات لا يضير تسرّبها.
  • البيانات الحيويّة مثل البصمة والوجه تُستخدم فقط لفتح باب الخزنة محلّيّاً، وهذه أيضاً لا تغادر الجهاز. لا تُرسل بيانات حيويّة إلى الخادم قطّ.1

التسجيل: تسليم المفتاح العامّ «فقط»

تدفّق تسجيل مفتاح مرور في موقع.

المصادِقالمتصفّحالخادم (example.com)المصادِقالمتصفّحالخادم (example.com)ما تلقّاه الخادم«معلومات آمنة إن تسرّبت» فقططلب تسجيل (تحدٍّ عشوائيّ + معلومات الموقع)اصنع مفتاحاً لهذا الموقع (example.com)تحقّق من الهويّة ببصمة أو وجه أو PIN (محلّيّ)توليد زوج مفاتيح جديدالمفتاح الخاصّ يُحفَظ داخليّاًالمفتاح العامّ + credential ID (بطاقة اسم المفتاح)إرسال المفتاح العامّ + credential IDالحفظ كمفتاح عامّ لهذا الحساب

الشكل 3: عند التسجيل، ما يسير على الشبكة ويُحفَظ على الخادم هو المفتاح العامّ فقط

المهمّ أنّ زوج المفاتيح يُنشأ في هذه اللحظة مربوطاً بنطاق الموقع (RP ID). مفتاح مرور صُنع لـ example.com لا يُستخدم إلا في موقع example.com (RP ID على مستوى النطاق، لذا يمكن استخدامه من صفحات نطاقات فرعيّة تحت النطاق نفسه مثل login.example.com، لكن ليس من نطاق غير ذي صلة). هذا الربط أساس مقاومة التصيّد التي تُناقَش لاحقاً.3

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

المصادقة: إعادة توقيع لتلك اللحظة فقط

تدفّق تسجيل الدخول. قارنوه بمصادقة كلمة المرور (الشكل 1).

المصادِقالمتصفّحالخادم (example.com)المصادِقالمتصفّحالخادم (example.com)ما يسير على المسار توقيع لمرّة واحدة فقطسرقته لا تفيد في تحدّي المرّة التاليةطلب تسجيل دخول (تحدٍّ عشوائيّ لتلك اللحظة)طلب توقيع لـ example.comتحقّق من الهويّة ببصمة أو وجه أو PIN (محلّيّ)صنع توقيع بالمفتاح الخاصّيضمّن التحدّي + الأصل + تجزئة RP IDالتوقيع (ليس المفتاح الخاصّ نفسه)إرسال التوقيعالتحقّق من التوقيع بالمفتاح العامّ المخزَّنوتأكيد التحدّي والأصل وRP ID أيضاً

الشكل 4: عند المصادقة أيضاً لا ينتقل السرّ. ما يسير «وثيقة إثبات لتلك اللحظة فقط»

يُخرج الخادم قيمة عشوائيّة جديدة (تحدّياً) في كلّ مرّة، ويوقّع المصادِق على «ذلك التحدّي + الأصل الذي يراه المتصفّح الآن + تجزئة RP ID». يتحقّق الخادم من التوقيع بالمفتاح العامّ المخزَّن، ويؤكّد أنّ التحدّي هو ما أصدره، وأنّ الأصل وRP ID يخصّان موقعه.5

كنتيجة لهذا التصميم، اثنان من الأسباب الثلاثة في المقدّمة قائمان أصلاً.

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

الثالث المتبقّي، «لا ينعقد التوقيع على موقع مزيّف»، أكبر ميزة لمفاتيح المرور. نفرد له قسماً.

4. لماذا لا ينعقد التصيّد «بنيويّاً»

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

مع مفاتيح المرور، يجري هذه المطابقة المتصفّح آليّاً لا الإنسان. بحسب مواصفة WebAuthn، لا يستطيع المتصفّح استدعاء المصادِق إلا حين يتطابق «نطاق الأصل المعروض الآن» مع «RP ID لمفتاح المرور».3 نرسم ما يحدث عند الوصول إلى موقع مزيّف.

الخادم الحقيقيّ (example.com)موقع مزيّف (examp1e.com)وكيل AiTM يرحّل إلى الحقيقيّالمتصفّحالمستخدمالخادم الحقيقيّ (example.com)موقع مزيّف (examp1e.com)وكيل AiTM يرحّل إلى الحقيقيّالمتصفّحالمستخدمحتّى لو صُنع توقيع بطريقة ما،يُضمَّن examp1e.com في التوقيعفيسقط حتماً في تحقّق الخادم الحقيقيّالوصول إلى شاشة تسجيل دخول متطابقة الشكل(في الخفاء) بدء معالجة تسجيل الدخول الحقيقيّةالتحدّيترحيل التحدّي وطلب توقيعالأصل الحاليّ هو examp1e.comلا يمكن عرض مفتاح مرور example.com مرشَّحاًلا يُصنَع توقيع (لا سبيل لخداع المستخدم)

الشكل 5: يخترق تصيّد AiTM كلمة المرور زائد الرمز لمرّة واحدة، لكن مع مفاتيح المرور لا ينعقد عند مرحلة التوقيع

لاحظوا أنّ الدفاع مزدوج.

  1. لا يظهر مرشَّحاً: لا يسرد المتصفّح إلا مفاتيح المرور ذات RP ID المطابق للأصل. على نطاق مزيّف لا يظهر مفتاح مرور الموقع الحقيقيّ خياراً، فلا يستطيع المستخدم حتّى «استخدامه سهواً».
  2. لا يمرّ التوقيع: يشمل موضوع التوقيع الأصل الذي أكّده المتصفّح وتجزئة RP ID. يطابق الخادم الحقيقيّ هذا عند التحقّق، لذا يُرفض حتماً توقيع صُنع على أصل آخر.5

كانت مكافحة تصيّد كلمات المرور تعتمد على جهد الإنسان «ينظر المستخدم جيّداً إلى عنوان URL». مع مفاتيح المرور لا يحتاج المستخدم إلى اكتشاف الموقع المزيّف أصلاً. هذا المعنى الدقيق لعبارة «مقاوم للتصيّد (phishing-resistant)»، وسبب المعاملة الخاصّة التي تمنحها CISA وNIST (المعهد الوطنيّ الأمريكيّ للمعايير والتقنية) لطريقة FIDO/WebAuthn.46

نرتّب ما سبق حسب أسلوب الهجوم.

الهجوم كلمة المرور كلمة المرور+TOTP مفتاح المرور
التخمين والقوّة الغاشمة ✗ ضعيف △ الرمز يمنع لكن كلمة المرور الأصليّة تبقى ضعيفة ○ لا هدف للتخمين
إعادة الاستخدام (هجوم بالقائمة) ✗ تسرّب موضع واحد ينتشر للكلّ △ ينهار من مواقع لا تدعم الرمز ○ مفتاح مستقلّ لكلّ موقع
تسرّب قاعدة بيانات الخادم ✗ تجزئة تُكسَر دون اتّصال ✗ بذرة TOTP (سرّ مشترك) تتسرّب أيضاً ○ المفتاح العامّ فقط
تصيّد كلاسيكيّ (إدخال في موقع مزيّف) ✗ يمكن الإدخال ✗ يمكن إدخال الرمز أيضاً ○ لا يظهر مرشَّحاً ولا يمرّ التوقيع
AiTM (ترحيل في الوقت الحقيقيّ) ✗ يُمرَّر كما هو ✗ يُمرَّر مع الرمز ○ مطابقة الأصل تمنع انعقاد التوقيع
إعادة التشغيل (إعادة استخدام الاتّصال) ✗ كلمة المرور نفسها صالحة مراراً △ رمز اختُطف قبل أن يستخدمه صاحبه صالح (رفض إعادة قبول رمز مستخدم يحدث بتنفيذ صحيح) ○ التحدّي لمرّة واحدة في كلّ مرّة

جدول 2: مقارنة المقاومة حسب أسلوب الهجوم. كلّ «○» لمفتاح المرور تأتي من البنية لا من التشغيل أو الانتباه

5. هل «مفاتيح المرور المتزامنة» آمنة؟

بعد قراءة الشرح حتّى هنا، ينبع سؤال طبيعيّ. «قلتم إنّ المفتاح الخاصّ لا يغادر الجهاز، فلماذا يعمل مفتاح مرور صُنع على iPhone على iPad أيضاً» — سؤال جيّد، والجواب «لمفاتيح المرور نوعان».

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

الجانب مفتاح مرور متزامن مفتاح مرور مربوط بالجهاز
أمثلة نموذجيّة سلسلة مفاتيح iCloud، ومدير كلمات مرور Google، ومديرو كلمات مرور مثل 1Password مفاتيح الأمن (YubiKey ونحوها)، وWindows Hello، ومفاتيح المرور داخل Microsoft Authenticator
مكان حفظ المفتاح الخاصّ خزنة بيانات اعتماد المنصّة. يُنسَخ بشكل مشفَّر من طرف إلى طرف بين أجهزة الحساب نفسه داخل عتاد المصادِق. لا يخرج خارج TPM أو العنصر الآمن
عند الفقدان أو تغيير الجهاز الاستعادة إلى جهاز جديد بتسجيل الدخول إلى Apple ID/حساب Google نفسه مفتاح مرور ذلك المصادِق يُفقد. تسجيل مصادقات احتياطيّة متعدّدة مفترض
نقطة الفشل الواحدة الحساب السحابيّ للمنصّة الجهاز المادّيّ نفسه
ملاءمة الإدارة المؤسّسيّة المفتاح يدخل حساباً سحابيّاً شخصيّاً، فيصعب على المنظّمة معرفة موضعه أو إبطاله دفعة. يناسب BYOD والمنشآت الصغيرة يستطيع المدير التوزيع والإبطال، وموضع المفتاح واضح. يناسب البيئات الصارمة التنظيم
توافق AAL لدى NIST يفي بـ AAL2 إن استُوفيت المتطلّبات. لا يُستخدم لـ AAL3 لأنّ المفتاح الخاصّ قابل للتصدير6 مصادِق محميّ بالعتاد لا يُستخرَج منه المفتاح قد يفي أيضاً بمتطلّبات AAL36

جدول 3: جدول سريع للمتزامن والمربوط بالجهاز. الاختيار يُحسَم بأيّهما تأخذون: القوّة أمام الفقدان أم القدرة على إدارة موضع المفتاح

مفتاح مرور مربوط بالجهازمفتاح أمن (YubiKey ونحوه) /Windows Hello /Microsoft Authenticator (Entra ID)المفتاح الخاصّ لا يخرج مادّيّاًمن ذلك العتاد (يحميه TPM ونحوه)المزيّة: موضع المفتاح واضح في مكان واحدانتبهوا: تسجيل متعدّد إلزاميّ للفقدانمفتاح مرور متزامن (افتراضيّ المستهلك)سلسلة مفاتيح iCloud /مدير كلمات مرور Google /مديرو كلمات مرور مثل 1Passwordمزامنة مشفَّرة من طرف إلى طرفبين أجهزة الحساب نفسهالمشغّل أيضاً لا يقرأ المحتوىالمزيّة: قويّ أمام تغيير الجهاز والفقدانانتبهوا: يلزم دفاع الحساب السحابيّ نفسه

الشكل 6: المتزامن والمربوط بالجهاز. كلاهما يشتركان في «عدم إرسال المفتاح الخاصّ إلى الخادم»، ومركز أسلوب الحماية يختلف

مفتاح المرور المتزامن هو ما تزامن فيه سلسلة مفاتيح iCloud أو مدير كلمات مرور Google المفتاح الخاصّ بين أجهزة الحساب نفسه. المهمّ هنا أنّ المزامنة مشفَّرة من طرف إلى طرف. تصرّح Apple وGoogle كلتاهما بأنّ مفاتيح المرور تُشفَّر على الجهاز ثمّ تُزامَن، وأنّ المشغّل نفسه لا يستطيع قراءة المحتوى.78 أي أنّ مبدأ «المفتاح الخاصّ لا يغادر الجهاز» يُرخَّى بدقّة إلى «المفتاح الخاصّ لا يغادر الجهاز كنصّ صريح»، وفي المقابل تُكتسَب مقاومة لتغيير الجهاز والفقدان.

كيف يغيّر هذا الترخيص نموذج التهديد ينبغي التصريح به بوضوح. الموضع الذي يلزم الدفاع عنه يتجمّع من «خادم كلّ موقع» إلى «حساب سحابيّ واحد». تبقى القوّة أمام تسرّب قواعد بيانات المواقع والتصيّد كما هي، لكن الاستيلاء على Apple ID/حساب Google نفسه يصير نقطة فشل واحدة. لذلك، الحساب الذي تودعون فيه مفاتيح المرور يحتاج أقوى حماية (قفل شاشة قويّ، وترتيب وسائل الاسترداد، ومفتاح أمن مادّيّ إن أمكن) كشرط أساسيّ. أصدر NIST أيضاً في أبريل 2024 ملحقاً لـ NIST SP 800-63B (Supplement 1: Incorporating Syncable Authenticators Into NIST SP 800-63B)، ووضع رسميّاً أنّ مفتاح المرور المتزامن هذا (syncable authenticator) يستطيع، إن استوفى المتطلّبات، الوفاء بـ AAL2 (Authenticator Assurance Level 2، مستوى ضمان المصادِق 2) وفق المعيار الحكوميّ. غير أنّه، ما دام المفتاح الخاصّ قابلاً للتصدير، لا تُستخدم النوع المتزامن لـ AAL3 الذي يتطلّب بيئة معزولة بالعتاد.6

مفتاح المرور المربوط بالجهاز نوع لا يخرج فيه المفتاح الخاصّ من العتاد. مفاتيح الأمن مثل YubiKey نموذجيّة، وفي الاستخدام المؤسّسيّ مفاتيح مرور Microsoft Entra ID (التي تُنشأ داخل Microsoft Authenticator) مربوطة بالجهاز أيضاً.9 Windows Hello في Windows أيضاً، إن وُجد TPM، يحمي المفتاح الخاصّ تحت TPM. آليّة «خزنة العتاد التي لا تُخرج المفتاح» نفسها هي الأساس الذي شُرح تفصيلاً في مقال TPM.

كذلك، ربّما استغربتم أن يُطلب منكم قراءة رمز QR حين «تسجّلون الدخول بمتصفّح الحاسوب بمفتاح مرور الهاتف». ذلك ليس انتقال شاشة فحسب، بل طريقة هجينة (مصادقة عبر الأجهزة من FIDO) تؤكّد القرب المادّيّ بين الهاتف والحاسوب عبر Bluetooth. تُسقِط تأكيد القرب هجوماً يحاول فيه مهاجم بعيد جعل شخص آخر يوافق على تسجيل دخول إلى حاسوبه عبر رمز QR.1

6. ليست رصاصة فضّيّة ── الضعف لا «يختفي» بل «ينتقل»

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

المهاجمالمصادقة نفسهاتوقيع التحدّي【صلب】تدفّق استرداد الحسابالإبلاغ بـ«فقدت مفتاح المرور»وإعادة الإعداد عبر SMS أو البريد،وتسجيل مفتاح مرور المهاجماحتياط متزامن الوجودإن بقي تسجيل دخول بكلمة مرور أو SMSفالحلقة الأضعف هناكالحساب السحابيّإن كان متزامناً فـ Apple ID /حساب Google نقطة فشل واحدةالجلسةسرقة ملفّ تعريف الارتباط بعد تسجيل الدخولتجعل طريقة المصادقة غير ذات صلة

الشكل 7: حين يتصلّب الباب (المصادقة)، ينتقل الهجوم إلى تدفّق الاسترداد ووسائل الاحتياط والحساب السحابيّ والجلسة

مخاطر متبقّية أربعة ينبغي ضبطها عمليّاً.

  1. الاحتياط المتزامن الوجود يصير الحلقة الأضعف. إن جعلتم مفاتيح المرور «أيضاً» قابلة للاستخدام فحسب، وبقيت كلمات المرور أو تسجيل الدخول بـ SMS، يستخدم المهاجم تلك فحسب. مقاومة التصيّد تُحدَّد، على مستوى الحساب كلّه، بمستوى أضعف وسيلة تسجيل دخول. جوهر النشر ليس إضافة مفاتيح المرور بل التقليص والإلغاء المخطَّط للاحتياط.
  2. تدفّق الاسترداد يصير سطح هجوم جديداً. حيلة ادّعاء «فقدت الجهاز» ودفع إعادة الإعداد عبر مكتب الدعم أو البريد، لتسجيل مفتاح مرور المهاجم نفسه. في الواقع، الهندسة الاجتماعيّة لخداع مكتب المساعدة وتجاوز مصادقة قويّة صارت وسيلة معتادة لانتهاكات واسعة. بقدر ما تصلّبون المصادقة، يُسأل كيف تُصمَّم التحقّق من الهويّة في تدفّق الاسترداد.
  3. في النوع المتزامن يصير الحساب السحابيّ نقطة فشل واحدة. كما في القسم السابق. يلزم دفاع الحساب الذي تودعون فيه مفاتيح المرور، ووضع سياسة «أيّ منصّة يُسمح بالمزامنة إليها» عند الاستخدام المنظّماتيّ.
  4. سرقة الجلسة لا تُمنَع. ما تحميه مفاتيح المرور لحظة تسجيل الدخول فقط؛ إن سُرق ملفّ تعريف ارتباط الجلسة بعد تسجيل الدخول ببرمجيّة خبيثة أو XSS فطريقة المصادقة غير ذات صلة. يبقى عمل طبقة أخرى: مدّة صلاحية الرمز والربط وإدارة سلامة الجهاز.

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

7. النشر العمليّ ── واجهة WebAuthn وبيئة Windows

أخيراً، نضبط النقاط من منظور من ينشر.

إضافة تسجيل دخول بمفتاح مرور إلى خدمة ويب خاصّتكم

جانب المتصفّح دالّتان فقط من واجهة WebAuthn. التسجيل يستدعي navigator.credentials.create()، والمصادقة navigator.credentials.get().

// التسجيل (جانب المتصفّح)
const credential = await navigator.credentials.create({
  publicKey: {
    challenge: challengeFromServer,   // قيمة عشوائيّة لمرّة واحدة يولّدها الخادم
    rp: { id: "example.com", name: "Example" },
    user: { id: userIdBytes, name: "taro@example.com", displayName: "Taro" },
    pubKeyCredParams: [{ type: "public-key", alg: -7 }],  // ES256
    authenticatorSelection: {
      residentKey: "required",        // يجعلها بيانات اعتماد قابلة للاكتشاف (أي مفتاح مرور)
      userVerification: "required",   // يجعل التحقّق من الهويّة بالحيويّات أو PIN إلزاميّاً
    },
  },
});
// يُستخرج المفتاح العامّ من credential.response، وcredential ID
// من credential.id / credential.rawId في المستوى الأعلى. كما في
// المصادقة، تحقّقوا من التحدّي والأصل وRP ID في جانب الخادم
// قبل تخزين استجابة التسجيل.

معاني المعاملات الرئيسة كالتالي.

المعامل الدور انتبهوا عند التنفيذ
challenge قيمة عشوائيّة لمرّة واحدة يولّدها الخادم في كلّ مرّة استخدموا عشوائيّة تعمّيّة غير قابلة للتخمين. تحقّقوا في جانب الخادم أنّها «ما أصدرتموه ولم يُستخدم» ثمّ استهلكوها
rp.id النطاق الذي تُربَط به بيانات الاعتماد (RP ID) إن حُذف يصير النطاق الفعّال لأصل المستدعي. لا يمكن التعيين إلا في نطاق النطاقات القابلة للتسجيل، مثل تعيين example.com من login.example.com
user.id معرّف المستخدم الداخليّ للخادم (user handle) قيمة مبهمة بحدّ أقصى 64 بايتاً. لا تضعوا معلومات تحدّد الشخص كما هي، مثل عنوان بريد أو اسم مستخدم2
user.name / user.displayName سلسلة تُعرض في واجهة المصادِق أو المتصفّح ليختار المستخدم الحساب للعرض فقط. لا ينبغي للخادم الوثوق بهذه القيمة لتحديد الحساب
pubKeyCredParams سرد خوارزميّات المفتاح العامّ المقبولة بترتيب الأولويّة إضافة -257 (RS256) إلى -7 (ES256) توسّع نطاق المصادقات المقبولة
authenticatorSelection الخصائص المطلوبة من المصادِق residentKey: "required" يجعلها مفتاح مرور (بيانات اعتماد قابلة للاكتشاف)، وuserVerification: "required" يجعل التحقّق من الهويّة بالحيويّات أو PIN إلزاميّاً

جدول 4: المعاملات الرئيسة لـ navigator.credentials.create()

ملاحظة بيئة التحقّق: لا تُكشَف واجهة WebAuthn إلا في سياق آمن، لذا تفشل استدعاءات navigator.credentials على صفحة تُسلَّم بـ http:// صِرف. الاستثناء http://localhost127.0.0.1)، فهذه تُعامَل أصولاً موثوقة، فيمكن على آلة التطوير التجريب دون تحويل إلى HTTPS. غير أنّ RP ID يجب أن يكون النطاق الفعّال للأصل (أو نطاقاً أباً له)، لذا مفتاح مرور صُنع على localhost لا يُستخدم على نطاق الإنتاج. حتّى بلا مصادِق في اليد، تفعيل مصادِق افتراضيّ في علامة تبويب «WebAuthn» في أدوات مطوّر Chrome يتيح تشغيل التسجيل فالمصادقة بالكامل.

// المصادقة (جانب المتصفّح)
const assertion = await navigator.credentials.get({
  publicKey: {
    challenge: challengeFromServer,
    rpId: "example.com",
    userVerification: "required",
  },
  // يعرض مفتاح المرور كاقتراح ملء تلقائيّ في حقل تسجيل الدخول.
  // تحقّقوا مسبقاً من الدعم بـ
  // PublicKeyCredential.isConditionalMediationAvailable()، وفي المتصفّحات
  // غير المدعومة عودوا إلى استدعاء عاديّ بلا mediation
  mediation: "conditional",
  // (يتطلّب autocomplete="username webauthn" على عنصر <input> المستهدف)
});
// تحقّقوا من التوقيع في assertion.response في جانب الخادم

الجوهر التحقّق في جانب الخادم. كحدّ أدنى، نفّذوا التالي حتماً.5

  • مطابقة التحدّي: أهو تحدٍّ أصدرتموه ولم يُستخدم؟ هل جعلتموه لمرّة واحدة (مكافحة إعادة التشغيل)؟ علاوة على ذلك، احفظوه مربوطاً بجلسة المتصفّح عند الإصدار (محاولة تسجيل الدخول)، ولا تسمحوا بالاستهلاك إلا لاستجابة من الجلسة نفسها. إن تراخى هذا، يتّسع مجال أن يُرسل مهاجم توقيعاً على تحدٍّ موجَّه إليه عبر متصفّح الضحيّة، فيُسجَّل دخول الضحيّة إلى حساب المهاجم (CSRF لتسجيل الدخول).
  • مطابقة الأصل: هل origin في clientDataJSON هو الأصل الشرعيّ لموقعكم (جوهر مكافحة التصيّد).
  • مطابقة تجزئة RP ID: هل rpIdHash في authenticatorData يطابق SHA-256 لـ RP ID لموقعكم.
  • تأكيد نوع المراسم والأعلام: هل type في clientDataJSON هو webauthn.get للمصادقة وwebauthn.create للتسجيل. هل علم UP (حضور المستخدم) في authenticatorData مرفوع. إن طلبتم تحقّق المستخدم (UV)، هل علم UV مرفوع أيضاً.
  • التحقّق من التوقيع: هل يتحقّق التوقيع صحيحاً بالمفتاح العامّ المحفوظ عند التسجيل.
  • الربط بالحساب: هل تسحبون credential ID المقدَّم (وuserHandle) من قاعدة بياناتكم، وتُصدرون الجلسة لمالك بيانات الاعتماد تلك. الوثوق باسم مستخدم أُدخل على حدة دون شرط يصير ثغرة تسجّل الدخول كشخص آخر بتوقيع صحيح.
  • حفظ عدّاد التوقيع ومقارنته: احفظوا signCount في authenticatorData لكلّ بيانات اعتماد، وأكّدوا أنّ القيمة التالية أكبر من السابقة. إن كانت أقلّ من السابقة أو مساوية فعاملوها علامة استنساخ للمصادِق. غير أنّ مفاتيح المرور المتزامنة كثيراً ما تُعيد 0 دائماً، لذا اسمحوا باستثناء 0 مقابل 0 فقط.

كتابة هذا التحقّق يدوياً مصدر حوادث، فاستخدموا مكتبة ذات سجلّ (.NET: fido2-net-lib، وNode.js: SimpleWebAuthn ونحوهما). تفاصيل المواصفة (تحليل CBOR، واتّفاق الخوارزميّة، وإدارة التحدّي) اتركوها للمكتبة، وركّزوا أنتم على حفظ التحدّي وإبطاله، وواجهة إدارة عدّة مفاتيح مرور، وتصميم تدفّق الاسترداد — هذا التوزيع الصحيح للجهد.

بيئة Windows والأنظمة الداخليّة

من موقف قرّاء هذا الموقع «من يتولّون أنظمة أعمال Windows»، تكفي النقاط الثلاث التالية.

  • عميل Windows مدعوم أصلاً. يدعم Windows 11 إنشاء مفاتيح المرور واستخدامها وإدارتها (الإعدادات > الحسابات > مفاتيح المرور) باتّخاذ Windows Hello مصادِقاً، ويُحمى المفتاح الخاصّ بالعتاد إن وُجد TPM.10 WebAuthn عبر المتصفّح (Edge/Chrome) يعمل أيضاً على Windows 10.
  • في بيئة Entra ID فعّلوا «مفتاح المرور = طريقة مصادقة FIDO2». يدعم Microsoft Entra ID مفاتيح الأمن ومفاتيح المرور داخل تطبيق Microsoft Authenticator (مربوطة بالجهاز)، وإن طلبتم «MFA مقاوم للتصيّد» بقوّة المصادقة في الوصول المشروط يمكن قصر الوصول إلى المورد المستهدف على مفاتيح المرور ونحوها.9 الانتقال من عالم NTLM وسياسات أجل كلمة المرور لا يجري قفزة واحدة، لذا الممارسة القياسيّة إلزام MFA المقاوم للتصيّد أوّلاً على حسابات المديرين، بالتوازي مع جرد بنية المصادقة الذي عالجه مقال NTLM وKerberos.
  • في تطبيقات الويب الداخليّة الفائدة نفسها. غير أنّ HTTPS مفترض. لا تعمل واجهة WebAuthn إلا في سياق آمن، لذا حتّى في تطبيقات الإنترانت (باستثناء localhost عند التطوير) يأتي أوّلاً التحويل إلى HTTPS وترتيب اسم نطاق داخليّ يصلح RP ID. متى تمّ ذلك يعمل RP ID تجاه النطاق الداخليّ أيضاً. بمعنى القطيعة مع كلمة المرور الملصقة بورقة، ليس نادراً أن يظهر الأثر في الداخل أسرع ممّا في الخدمات الخارجيّة.

8. الخلاصة

  • ضعف كلمة المرور ليس القوّة بل بنية «الاشتراك في سرّ وإرساله في كلّ مصادقة». يوجد السرّ لدى المستخدم وحقل الإدخال والمسار والخادم جميعاً، فتكثر أهداف الهجوم. إضافة رمز لمرّة واحدة تُهزَم أيضاً بترحيل تصيّد AiTM.
  • مفتاح المرور زوج مفاتيح تشفير بالمفتاح العامّ لكلّ موقع، يسلّم الخادم المفتاح العامّ الآمن إن تسرّب فقط، ويرسل عند تسجيل الدخول توقيعاً على تحدٍّ لمرّة واحدة فقط. لا سرّ على الخادم، ولا سرّ يسير على المسار.
  • يُخبَز في التوقيع الأصل وRP ID اللذان أكّدهما المتصفّح، لذا لا يظهر مفتاح المرور الحقيقيّ مرشَّحاً على موقع مزيّف، وحتّى الترحيل يسقط في التحقّق. أنّ المستخدم لا يحتاج إلى اكتشاف الموقع المزيّف هو جوهر «مقاومة التصيّد»، وقد انتقل أساس الدفاع من يقظة الإنسان إلى بنية البروتوكول.
  • مفاتيح المرور المتزامنة تُزامَن بـ تشفير من طرف إلى طرف وهي قويّة أمام تغيير الجهاز والفقدان. في المقابل يتجمّع الموضع الذي يلزم الدفاع عنه في الحساب السحابيّ، فيصير دفاع Apple ID/حساب Google نفسه شرطاً أساسيّاً. تستطيع المؤسّسات أيضاً اختيار المربوط بالجهاز (مفاتيح الأمن، ومفاتيح مرور Authenticator في Entra ID).
  • مفاتيح المرور لا تُفني الهجوم بل تدفعه إلى مواضع أضعف. كلمات المرور المتزامنة الوجود، وتدفّق استرداد الحساب، وسرقة الجلسة تبقى سطوح هجوم، وجوهر النشر التقليص المخطَّط للاحتياط وتحصين تدفّق الاسترداد.
  • التنفيذ دالّتا create / get في واجهة WebAuthn زائد التحقّق في الخادم. لا تبنوا التحقّق بأنفسكم واتركوه لمكتبة ذات سجلّ، وخصّصوا الجهد لإدارة التحدّي وواجهة عدّة مفاتيح مرور وتصميم الاسترداد.

مقالات ذات صلة

مجالات الاستشارة ذات الصلة

تتعامل شركة كومورا سوفت ذ.م.م. مع Custom Software Development يشمل دعم تنفيذ تسجيل الدخول بمفتاح المرور / WebAuthn في أنظمة الويب الداخليّة، وتصميم نشر MFA المقاوم للتصيّد في بيئة Entra ID، ودمج المصادقة في تطبيقات أعمال Windows مثل WinForms/WPF.

روابط مرجعيّة

  1. تحالف FIDO, Passkeys وHow FIDO Works. حول كون مفاتيح المرور بيانات اعتماد FIDO تحلّ محلّ كلمة المرور؛ وعدم إرسال البيانات الحيويّة من الجهاز واستخدامها للمطابقة المحلّيّة فقط؛ وإعلان Apple وGoogle وMicrosoft المشترك في مايو 2022 توسيع الالتزام بدعم بلا كلمة مرور وفق معايير FIDO؛ واستخدام الاستخدام عبر الأجهزة طريقة هجينة تجمع رمز QR وتأكيد القرب بـ Bluetooth.  2 3 4 5

  2. W3C, Web Authentication: An API for accessing Public Key Credentials Level 2 (توصية W3C). حول كون WebAuthn واجهة برمجة لإنشاء بيانات اعتماد قائمة على التشفير بالمفتاح العامّ واستخدامها؛ واحتفاظ المصادِق بالمفتاح الخاصّ لبيانات الاعتماد، مع تسجيل المفتاح العامّ وcredential ID فقط على الخادم (الطرف المعتمد)؛ وجريان المصادقة عبر توقيع (تأكيد) على تحدٍّ يرسله الخادم؛ وأهداف التصميم لنطاق بيانات الاعتماد وحمايتها. يشير النصّ أيضاً إلى كشف الواجهة في سياق آمن فقط، وصيرورة RP ID النطاق الفعّال لأصل المستدعي عند الحذف، وكون مقبض المستخدم (user.id) قيمة مبهمة بحدّ أقصى 64 بايتاً لا ينبغي أن تشمل معلومات تحدّد الشخص مثل اسم مستخدم أو عنوان بريد (§14.6.1 User Handle Contents).  2 3 4 5

  3. W3C, Web Authentication Level 2 — §5.1.3 Create / RP ID validation, §13.4.9 Regarding phishing. حول نطاق بيانات الاعتماد ذات المفتاح العامّ بـ RP ID (معرّف الطرف المعتمد = النطاق)؛ وتحقّق المتصفّح (العميل) من تطابق النطاق القابل للتسجيل لأصل المستدعي مع RP ID، ورفض إنشاء بيانات الاعتماد أو استخدامها إن لم تتطابق؛ وبذا تعذّر وصول أصل مزيّف إلى بيانات اعتماد موقع آخر، ممّا يمنح WebAuthn مقاومة لهجمات التصيّد بما فيها تنويعات الرجل في الوسط.  2 3

  4. CISA, Implementing Phishing-Resistant MFA (ورقة حقائق أكتوبر 2022). حول ضعف MFA التي تستخدم SMS أو الصوت أو إشعارات الدفع أو OTP أمام التصيّد وهجمات AiTM (الترحيل) وهجمات إرهاق MFA؛ وسرد مصادقة FIDO/WebAuthn والمصادقة القائمة على PKI (البطاقات الذكيّة ونحوها) كطرائق مقاومة للتصيّد، مع وضع مصادقة FIDO/WebAuthn المعيار الذهبيّ؛ وتوصية المنظّمات بالانتقال أوّلاً بالحسابات عالية المخاطر إلى MFA المقاوم للتصيّد.  2

  5. W3C, Web Authentication Level 2 — §7.2 Verifying an Authentication Assertion. حول إجراء التحقّق في جانب الخادم المحدِّد لفحوصات type وchallenge (مطابقة ما أُصدر) وorigin في clientDataJSON؛ والتحقّق من تطابق rpIdHash في authenticatorData مع تجزئة SHA-256 لـ RP ID المتوقَّع؛ وتأكيد علمي User Present / User Verified؛ والتحقّق من التوقيع بالمفتاح العامّ المخزَّن.  2 3

  6. NIST, Incorporating Syncable Authenticators Into NIST SP 800-63B (ملحق أبريل 2024، مدمج في المراجعة 4 من SP 800-63B). حول قدرة المفتاح الخاصّ لمصادِق قابل للمزامنة (مفتاح مرور متزامن) على الوفاء بـ AAL2 حين يُحفَظ ويُنسَخ عبر نسيج مزامنة بطريقة تستوفي المتطلّبات؛ وتطلّب مصادقات AAL3 التعمّيّة بيئة معزولة محميّة بالعتاد، لذا لا تُستخدم المصادقات القابلة للمزامنة التي يمكن تصدير مفتاحها الخاصّ لـ AAL3؛ وتصنيف الطرائق التي تجري تحقّق الأصل، مثل WebAuthn، بأنّها ذات مقاومة لانتحال المتحقّق (مقاومة للتصيّد). ملفّ PDF الأصليّ NIST SP 800-63B Supplement 1 2 3 4

  7. دعم Apple, حول أمان مفاتيح المرور. حول مزامنة مفاتيح المرور عبر سلسلة مفاتيح iCloud؛ وتشفير سلسلة مفاتيح iCloud من طرف إلى طرف بحيث لا تستطيع Apple نفسها القراءة؛ وحماية المزامنة بمفتاح على جهاز المستخدم، مع توفير استرداد عبر ضمان محدود المعدّل. 

  8. Google, Security of Passkeys in the Google Password Manager. حول تشفير المفتاح الخاصّ لمفتاح المرور على الجهاز قبل المزامنة؛ ومعنى التشفير من طرف إلى طرف أنّ Google نفسها لا تصل إلى محتوى المفتاح الخاصّ؛ وتطلّب الاستعادة حماية قائمة على قفل شاشة الجهاز ونحوه. 

  9. Microsoft Learn, Enable passkey (FIDO2) authentication in Microsoft Entra ID. حول دعم Entra ID مصادقة بلا كلمة مرور مقاومة للتصيّد عبر مفاتيح أمن FIDO2 ومفاتيح مرور Microsoft Authenticator (مربوطة بالجهاز)؛ وإمكان التفعيل عبر سياسة طرائق المصادقة وطلبها عبر قوّة مصادقة الوصول المشروط (MFA مقاوم للتصيّد).  2

  10. Microsoft Learn, Passkey support on Windows. حول دعم Windows 11 إنشاء مفاتيح المرور واستخدامها عبر Windows Hello؛ وإدارة مفاتيح المرور المحفوظة من الإعدادات > الحسابات > مفاتيح المرور؛ وحماية بيانات اعتماد Windows Hello بالعتاد في البيئات التي يتاح فيها TPM؛ وإمكان استخدام مفاتيح المرور على جهاز جوّال عبر رمز QR. 

أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.

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

أسئلة شائعة حول موضوع هذه المقالة.

ما الفرق الجوهريّ بين مفاتيح المرور وكلمات المرور؟
كلمة المرور آليّة يشترك فيها المستخدم والخادم في السرّ نفسه ويرسلان ذلك السرّ في كلّ تسجيل دخول. لأنّ السرّ يوجد في كلّ مكان — في رأس المستخدم، وفي حقل الإدخال، وعلى الخطّ، وفي قاعدة بيانات الخادم — يصير كلّ موضع منها هدفاً للهجوم. مفتاح المرور يستخدم زوج مفاتيح من التشفير بالمفتاح العامّ، ولا يُرسل المفتاح الخاصّ إلى الخادم قطّ. مع مفتاح مرور مربوط بالجهاز، لا يغادر المفتاح الخاصّ المصادِق أصلاً؛ وحتّى مع مفتاح مرور متزامن لا يغادر الجهاز إلا بشكل مشفَّر من طرف إلى طرف. كلّ ما يخزّنه الخادم هو المفتاح العامّ — معلومات آمنة إن تسرّبت — وكلّ ما يُرسل عند تسجيل الدخول توقيع على تحدٍّ لمرّة واحدة. بعبارة أخرى، السرّ المشترك الذي كان ضعف كلمة المرور الجوهريّ لا يوجد أصلاً. فوق ذلك، لأنّ زوج المفاتيح يُنشأ لكلّ موقع على حدة، لا ينطبق مفهوم إعادة الاستخدام أصلاً.
هل تُرسل البيانات الحيويّة (بصمة الإصبع، الوجه) إلى الخادم؟
لا. بيانات البصمة أو الوجه تُستخدم فقط للمطابقة المحلّيّة داخل الجهاز — لفتح باب الخزنة التي تحمل المفتاح الخاصّ — وبتصميم FIDO لا تُنقَل البيانات الحيويّة خارج الجهاز قطّ. كلّ ما يتلقّاه الخادم توقيع مع رفع العلم بأنّ التحقّق من الهويّة (تحقّق المستخدم) جرى؛ لا يحتوي شيئاً من البصمة نفسها، ولا حتّى أيّ متّجه سمات حيويّة مشتقّ منها. حيث يتعذّر استخدام الحيويّات، يمكن أن يحلّ PIN محلّها، ومثل PIN في Windows Hello يُطابَق هذا PIN أيضاً محلّيّاً على الجهاز فقط — الفرق الحاسم عن كلمة المرور أنّه لا يسير على الشبكة قطّ.
لماذا تقاوم مفاتيح المرور التصيّد؟
لأنّه، بالتصميم، لا يحتاج المستخدم إلى اكتشاف موقع مزيّف أصلاً. يُنشأ مفتاح المرور مربوطاً بنطاق الموقع (معرّف الطرف المعتمد، RP ID)، ولا يعرض المتصفّح إلا مفاتيح المرور المطابقة لنطاق الموقع المعروض حالياً. حتّى إن زرتم نطاقاً مزيّفاً يبدو مطابقاً للحقيقيّ، لا يظهر مفتاح المرور للموقع الحقيقيّ كخيار، فلا سبيل لخداع المستخدم. فوق ذلك، يُخبَز في التوقيع الأصل الذي أكّده المتصفّح وتجزئة RP ID، لذا حتّى لو أُعيد ترحيل التوقيع، يرفضه التحقّق على الخادم الحقيقيّ. الاستحالة البنيويّة للحادث الذي يبتلي كلمات المرور ورموز SMS — إدخال بيانات اعتماد حقيقيّة في موقع مزيّف — هي الفرق الجوهريّ عن التدابير التي تعتمد على التدريب واليقظة.
إن فقدت هاتفي، هل أُقفَل خارج حساباتي؟
إن كان مفتاح مرور متزامناً — مخزَّناً في سلسلة مفاتيح iCloud أو مدير كلمات مرور Google — يمكن استعادته إلى جهاز جديد مسجَّل الدخول إلى Apple ID أو حساب Google نفسه. غير أنّ استعادة الخزنة المشفَّرة من طرف إلى طرف تتطلّب لا كلمة مرور الحساب فحسب بل تحقّقاً إضافيّاً من الهويّة، مثل إدخال قفل شاشة الجهاز السابق (رمز المرور)، لذا إن فقدتم أيضاً وسائل الاسترداد تلك قد تتعذّر الاستعادة. يهمّ ألّا تودعوا كلّ شيء في هاتف واحد. مفاتيح المرور المربوطة بالجهاز (مفاتيح الأمن، Windows Hello ونحوها) تشارك مصير الجهاز، لذا الممارسة القياسيّة للحسابات المهمّة تسجيل أكثر من مفتاح مرور. معظم الخدمات تتيح تسجيل عدّة مفاتيح مرور على حساب واحد. لاحظوا أنّ كيفيّة إبطال مفتاح مرور مفقود تختلف حسب النوع. لمفتاح مرور متزامن، لأنّ النسخ على كلّ جهاز هي بيانات الاعتماد الواحدة نفسها، احذفوا أوّلاً الجهاز المفقود أو نفّذوا مسحاً عن بُعد من جانب حساب المنصّة لتعطيل النسخة على ذلك الجهاز (حذف مفتاح المرور في إعدادات حساب الخدمة نفسها يبطل النسخ على كلّ الأجهزة دفعة واحدة). لمفتاح مرور مربوط بالجهاز، حذف مفتاح مرور ذلك المصادِق من جانب الخدمة يبطل المفتاح المفقود فقط. للاستخدام المنظّماتيّ، يهمّ تصميم «ازدواجيّة حتّى يستطيع المستخدمون التعافي بأنفسهم» و«إجراء ليبطله المديرون عند الفقدان» معاً.
هل لمفتاح المرور نقاط ضعف أيضاً؟
نعم. وإن كان الأدقّ القول إنّ موضع الضعف ينتقل. لأنّ المصادقة نفسها تُصلَّب بالتشفير بالمفتاح العامّ، يصوّب المهاجمون إلى المناطق المحيطة الأضعف بدلاً من ذلك. تحديداً: إن بقيت طرائق قديمة مثل كلمات المرور أو SMS متزامنة الوجود، تبقى الحلقة الأضعف؛ وهناك حيلة إساءة استخدام تدفّق استرداد الحساب لتسجيل مفتاح مرور المهاجم نفسه؛ ولمفاتيح المرور المتزامنة، يصبح الاستيلاء على الحساب السحابيّ نفسه نقطة فشل واحدة جديدة. كذلك هجوم يسرق ملفّ تعريف ارتباط الجلسة بعد تسجيل الدخول لا توقفه مفاتيح المرور، لذا لا تختفي التهديدات غير ذات الصلة أيضاً. يحتاج النشر إلى تغطية لا «إضافة مفاتيح المرور» فحسب بل أيضاً تحصين تدفّق الاسترداد وتقليص مخطَّط لوسائل الاحتياط.

الملف الشخصي للمؤلف

صفحة الملف الشخصي لمؤلف المقالة.

غو كومورا

مؤسّس شركة كومورا سوفت ذ.م.م.

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

العودة إلى المدونة