الخلاصة

  • النص الحالي هو draft-ietf-tls-extended-key-update-13؛ أصبحت النسخة 11 قديمة، وما زال المستند Internet-Draft وليس RFC معتمداً أو دليلاً على انتشار التنفيذ.
  • تستطيع رسائل request وresponse وfinish إدخال سر مشترك جديد، لكن أياً منها لا يشهد عن بُعد بمحو الأسرار القديمة أو اكتمال التحويل في الاتجاهين.
  • يتطلب حكم التعافي ربط التفاوض وتسلسل الرسائل وتوليد المادة المؤقتة والاشتقاق وإتلاف الحالة القديمة وأول سجل جديد في كل اتجاه واختبار تطبيق ذهاباً وإياباً.

حالة المستند جزء من صحة الادعاء

يعرض IETF Datatracker النسخة 11 كنسخة سابقة. نُشرت النسخة 13 في 4 يوليو 2026 وتنتهي في 5 يناير 2027. تستهدف Proposed Standard، لكن حالتها لدى IESG ما زالت «I-D Exists»، ولا يوجد Area Director مسؤول أو موعد telechat.

غيّرت النسخة 13 اسم النوع الفرعي 2 إلى key_update_finish، ووضحت أن رسائل EKU الثلاث محمية بالمفاتيح القديمة، ووسعت حدود المهاجم النشط. لذلك يجب أن يذكر ادعاء الدعم النسخة والسلوك المرصود. وصفها بأنها «معيار اعتمده IETF» غير صحيح.

الدعم والسياسة والتفاوض ليست إيصالاً واحداً

يقترح العميل Extended_Key_Update عبر TLS flags في ClientHello. ولا يؤكده الخادم في EncryptedExtensions إلا إذا كان يدعمه وفعّله. إذا لم يظهر التأكيد، فعلى التطبيق الذي يتطلب أمناً بعد الاختراق إجراء handshake كامل جديد.

بعد التفاوض على EKU، يصبح KeyUpdate التقليدي ممنوعاً ويؤدي إلى unexpected_message. ويجب أن تستخدم request وresponse مجموعة تبادل المفاتيح التي اختارها handshake الأصلي؛ المجموعة المختلفة تؤدي إلى illegal_parameter. وجود الشيفرة، وتفعيل السياسة، واتفاق هذه الجلسة ثلاث حقائق منفصلة.

التحويل يحدث لكل اتجاه على حدة

يرسل الطرف البادئ key_update_request مع key share مؤقت جديد. يعيد الطرف المستجيب key_update_response ثم يحول مفتاح الإرسال أولاً. يشتق البادئ الحالة الجديدة، ويحول الاستقبال، ويرسل key_update_finish فارغاً ومحميّاً بالمفتاح القديم، ثم يحول الإرسال. لا يحول المستجيب الاستقبال إلا بعد توثيق ذلك finish القديم.

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

يمزج الاشتقاق السر المشترك الجديد مع قيمة مرتبطة بـ main secret السابق وtranscript hash يشمل handshake وتبادلات EKU. ومنه تُشتق أسرار حركة العميل والخادم وexporter secret وresumption main secret. بخلاف KeyUpdate العادي، لا تعود الحالة الجديدة قابلة للحساب من السلسلة المخترقة وحدها.

ما لا تستطيع الشبكة إثباته

قد يُظهر التتبع shares جديدة وسجلات متوافقة. لكنه لا يثبت سلامة مولد العشوائية، أو عدم إعادة استخدام المادة المؤقتة، أو محو النسخ من heap أو HSM أو kernel أو crash dump. تقول المسودة إن على التنفيذ حذف الأسرار السابقة بأسرع ما يمكن، لكن الطرف البعيد لا يستطيع التصديق على ذلك.

الإيصال المفيد يربط، من دون تسجيل المفاتيح: النسخة والمجموعة المتفاوض عليهما، ومعرف جيل غير سري للمادة المؤقتة، ومعرفات الرسائل الثلاث، وجيل الأسرار اللاحقة، ونتيجة المحو في كل طبقة تخزين، وأول سجل مقبول بالمفتاح الجديد في كل اتجاه.

كما يجب أن يفقد المهاجم الوصول إلى الطرفين. يقرأ المهاجم المقيم الحالة الجديدة مباشرة؛ ويستطيع مهاجم نشط يملك traffic keys الحالية تبديل رسائل EKU والحفاظ على موقع MitM ما لم تُنفذ مصادقة القسم 11 الإضافية وتنجح. وتعافي اتصال واحد لا يصلح مفتاح هوية طويل الأجل تعرض للاختراق.

يضيف DTLS epochs وإعادة الإرسال والاحتفاظ المؤقت بالحالة القديمة وACK. ولا يكمل البادئ تحويل الإرسال قبل استلام الإقرار في epoch الجديد. لا تصبح لوحة TLS دليلاً لـ DTLS بمجرد تغيير الاسم.

المصادر