الخلاصة

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

كلمة «متحكم» أكبر من وظيفتها

يمكن أن يبدأ الطرفان وهما يرسلان ICE-CONTROLLING. تختار كل جهة كاملة مسبقاً قيمة موزعة بالتساوي بين الصفر و2^64 ناقص واحد. تُقارن القيمتان، فيبقى أحدهما متحكماً ويتحول الآخر إلى الدور المقابل، ويمكن لاستجابة 487 Role Conflict أن تصلح التعارض.

لا تسأل المقارنة من بدأ المكالمة، أو من أرسل العرض، أو من يدفع، أو من يملك الجهاز. ولا يُختار رقم جديد لمجرد تبدل الدور. فالرقم ليس هوية دائمة، بل وسيلة تمنع آلتين من اتخاذ القرار الإجرائي نفسه.

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

الترشيح حلقة لا تختصر ما قبلها

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

بعد ذلك يطبق الطرف المتحكم سياسته المحلية. وفي الترشيح المنتظم يرسل اختباراً يحمل USE-CANDIDATE. أبقت RFC 8445 هذا الأسلوب وحذفت الترشيح الهجومي الموجود في RFC 5245.

أولوية المرشح ونجاح الاختبار والدخول في القائمة الصالحة والترشيح والاختيار النهائي إيصالات مستقلة. الأفضلية ليست قابلية وصول، والصلاحية ليست اختياراً، والاختيار ليس ضماناً دائماً. حالة واحدة باسم «متصل» تمحو الأسباب التي يحتاجها التحقيق لاحقاً.

الثقة مستعارة من قناة الإشارة

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

إذا عُبث بالإشارة، يمكن لآلة أن تنفذ ICE تنفيذاً سليماً فوق مدخلات كاذبة. تناقش RFC 8445 نتائج كاذبة البطلان وكاذبة الصلاحية ومرشحين انعكاسيين زائفين. ولذلك تعني «صالحة» حكماً محدوداً بمعاملة ومفتاح وحالة، لا صك ملكية للعنوان ولا إثباتاً عاماً للهوية.

يجب أن يحفظ السجل مصدر بيانات الاعتماد إلى جانب نتيجة السلامة. من دونه لا نعرف إلا أن الرسالة تطابق مفتاحاً ما، لا لماذا كان ذلك المفتاح يمثل الطرف المتوقع.

للموافقة ساعة أخرى

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

قد يبقى الزوج المختار مسجلاً بينما تنتهي صلاحية آخر دليل على الموافقة. ولا يخبر ICE وحده متى انتهت الموافقة. لذلك ينبغي فصل الزوج المختار، والخماسية المشمولة، ووقت آخر تجديد، والتفويض البشري أو المؤسسي الذي جرى تحصيله في نظام آخر.

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

الوصول إلى العنوان لا يمنح ملكيته

تعالج RFC 8828 خصوصية مرشحي المضيف لأن كشفهم قد يفضح طوبولوجيا الشبكة. معرفة العنوان أو الوصول إليه لا يعطي حق نشره. وتبين RFC 5128 أن المسار المباشر قد يفشل فيلزم المرحّل؛ فالزوج المرشح ليس بالضرورة مباشراً أو رخيصاً أو مستقراً أو مستقلاً.

بدلاً من ضوء أخضر واحد، يلزم سلم أدلة: ادعاء الدور، وحل التعارض، وتبادل مرشحين موثق، وسلامة STUN، وزوج ناجح، وترشيح، واختيار من الطرفين، وموافقة حالية، ومرور بيانات محمية، وقبول التطبيق، ونتيجة مرصودة.

ينطبق هنا انضباط طبقات الواقع لدى Lu Heng: لا يستعير إيصال أدنى سلطة إيصال أعلى. أصبحت RFC 5245 تاريخية؛ حلت RFC 8445 محل الإجراءات المشتركة، وفصلت RFC 8839 جزء SDP. يجب أن يحدد التدقيق الجيل الفعلي، لكن الحد لا يتغير: توزع القرعة مهمة، ولا تنشئ سيادة.

المصادر