الخلاصة
- تكون إضافة
remoteClientDataJSONمعطلة افتراضياً وتتطلب إذناً لكل أصل، لكن السماح للأصل المحلي لا يثبت أن العميل البعيد تحقق بصورة صحيحة من الأصل البعيد وRP ID. - ينبغي للتشغيل أن يحتفظ بإيصال تحقق يربط الجلسة والسياسة ونتيجة الفحص ببصمة البيانات الدقيقة، من دون مطالبة المتصفح المحلي بتكرار كل منطق التحقق البعيد.
أهم ما يقدمه مشروع العمل العام الأول لـWeb Authentication Level 4، المنشور في 15 سبتمبر 2026، ليس خوارزمية تشفير جديدة بقدر ما هو نقل لقرار أمني من بيئة تنفيذ إلى أخرى.
في مسار WebAuthn المعتاد يعرف المتصفح أصل الصفحة التي تستدعيه. ويجب عادة أن يساوي RP ID النطاق الفعّال لذلك الأصل أو أن يكون لاحقة نطاق قابلة للتسجيل له، مع إجراء منفصل للأصول المرتبطة. ينشئ المتصفح clientDataJSON، وتوقّع أداة المصادقة بصمة تلك البايتات، ثم يتحقق خادم الطرف المعتمد من نوع العملية والتحدي والأصل المتوقع وبصمة RP ID.
يفصل سطح المكتب البعيد هذه العناصر. فالموقع الذي يطلب المصادقة يعمل على المضيف البعيد، بينما توجد أداة المصادقة على جهاز المستخدم المحلي. إذا أعاد المتصفح المحلي بناء بيانات العميل من سياقه، فسيسجل أصل عميل سطح المكتب على الويب، لا أصل الطرف المعتمد داخل الجلسة البعيدة. كما أن اختلاف ترتيب الحقول أو المسافات أو الحقول الاختيارية في JSON يكفي لتغيير البصمة وإفشال التحقق.
تسمح remoteClientDataJSON لعميل سطح مكتب بعيد مخوّل بأن يقدّم السلسلة الكاملة التي أنشأها المضيف البعيد. يحللها المتصفح المحلي، لكنه لا يجوز أن يضيف إلى محتواها أو يحذف منه أو يعدله. وفي خطوة التسلسل يستخدم السلسلة نفسها لكي توقّع أداة المصادقة البايتات التي ينتظرها الجهاز البعيد.
لا يفتح المشروع هذه القدرة من دون قيد. فالخاصية publickey-credentials-remote-client-data-json مصنفة كميزة قوية وميزة تتحكم فيها Permissions Policy. حالة الإذن الافتراضية هي denied، وقائمة السماح الافتراضية المذكورة هي 'none'. يجب أن يكون الضبط خاصاً بكل أصل، ويحظر النص خيار السماح لكل الأصول. ويشير إلى سياسة جهاز أو متصفح مُدارة، أو اختيار صريح لأصل بعينه في الإعدادات، بدلاً من مطالبة عارضة أثناء عملية المصادقة.
تجيب هذه الحماية عن سؤال محلي: هل يجوز لهذا الأصل استدعاء الإضافة؟ لكنها لا تجيب عن سؤال بعيد: هل حدّد العميل البعيد أصل الطرف المعتمد بدقة، وهل طبّق القاعدة الصحيحة عند ربطه بـRP ID؟
توضح خطوات الخوارزمية الحد الفاصل. إذا لم تكن حالة الإذن granted يرفض المتصفح المحلي العملية. كما يجب تقديم RP ID صراحة، ويحلل المتصفح JSON القادم. لكنه بعد ذلك يتجاوز الاختبار المعتاد بين RP ID وقيمة origin داخل البيانات البعيدة. يقول المشروع إن جميع فحوص الأصل المتعلقة بـRP ID مفوضة إلى العميل البعيد. وتضيف اعتبارات الأمان أن وكيل المستخدم الذي يمنح الإذن يجب أن يثق بأن المستدعي قدّم أصل الطرف المعتمد البعيد بدقة وأمانة، وأن العميل البعيد أجرى التحقق بصورة صحيحة.
لا يوسّع ناتج الإضافة المنطقي نطاق الدليل. تعني القيمة true أن الإضافة نُفذت فقط. وهي لا تسمي الجلسة البعيدة، ولا إصدار السياسة، ولا خوارزمية التحقق أو نتيجتها، ولا دليل الأصول المرتبطة. كما أن الحفاظ على البايتات يثبت أن المتصفح المحلي لم يُعد تركيب البيانات، لكنه لا يثبت أن ادعاء الأصل داخلها صادق أو ساري أو مخوّل.
يربط توقيع أداة المصادقة النتيجة ببصمة بيانات العميل وبيانات الأداة. ويبقى على الطرف المعتمد أن يتحقق من النوع والتحدي والأصل، وأن يقارن rpIdHash بـRP ID الذي يتوقعه. هذه ضوابط أساسية، لكنها قد لا تسجل أي عميل بعيد اتخذ قرار التحقق المفوض، وأي إصدار من السياسة كان نافذاً، وأي قناة بعيدة ارتبطت بالطلب المحلي.
هذا ليس ادعاءً بوجود ثغرة أو استغلال أو حادثة. Level 4 في هذه المرحلة أول مشروع عمل عام، وليس توصية W3C ولا دليلاً على تنفيذ أو توافق تشغيلي أو نشر إنتاجي. وينص قسم الحالة على أن النشر لا يعني تأييد W3C أو أعضائها، وأن الوثيقة قد تتغير أو تُستبدل أو تصبح متقادمة. كما تتبع المسألة المفتوحة رقم 2430 في مستودع W3C WebAuthn اعتماداً اصطلاحياً: نية التعطيل الافتراضي واضحة، لكن 'none' لم تكن بعد قيمة معيارية معرفة في مشروع Permissions Policy التابع. ولا تطلب المسألة تغيير السلوك.
لذلك لا يكون العلاج بإلغاء التفويض. قد يملك الجانب البعيد سياقاً لا يتوافر للمتصفح المحلي، مثل وثيقة الأصول المرتبطة أو ارتباطات التطبيقات الخاصة بالمنصة. وإذا طُلب من المتصفح المحلي إعادة كل الفحص، نشأ مدققان يمكن أن يتباعدا بصمت.
الحل الأضيق هو إيصال تحقق من الأصل يعبر بين العملاء. ينبغي أن يربط أصل الاستدعاء المحلي ومنحة الإذن — موضوعها ومصدرها وإصدارها ومدة صلاحيتها — بهوية الجلسة البعيدة وقناتها الموثقة. ويسجل الأصل البعيد وRP ID وخوارزمية التحقق وإصدارها والنتيجة ومراجع أدلة الأصل المرتبط أو ارتباط التطبيق. وتربط بصمة البايتات الدقيقة لـremoteClientDataJSON القرار بما جرى توقيعه، ثم تغلق نتيجة تحقق خادم الطرف المعتمد السلسلة. وتضاف الاستثناءات والإلغاءات والتصحيحات إلى السجل بدلاً من محو القرار الأصلي.
هذا الإيصال اقتراح للضبط التشغيلي، وليس شرطاً ننسبه إلى مواصفة WebAuthn. فائدته أن يفصل بين خمس حقائق: أُذن للقدرة المحلية، أُجري التحقق البعيد، حُفظت البايتات، تفاعل المستخدم مع أداة المصادقة، وقبل الطرف المعتمد النتيجة أو رفضها. لا تكفي إشارة نجاح واحدة لإثباتها كلها.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
