الخلاصة

  • تستخدم NTS اتصال TLS قصيراً للتحقق والتفاوض واشتقاق مفتاحين اتجاهيين، ثم تغلقه؛ وتعيد طلبات NTP اللاحقة ملفّ cookie معتماً كي يستعيد الخادم حالة الارتباط.
  • انعدام الحالة يعني عدم حفظ سجلّ خاص بكل عميل، لا غياب حالة الخادم كلها. تظل مفاتيح تشفير ملفات cookie وأجيالها وإعدادات الوقت مسؤولية تشغيلية.
  • Dieter Sibold واحد من خمسة مؤلفين لـRFC 8915، وتوثق IETF حالياً أدواره في مجموعة NTP. هذه مساهمة قابلة للإسناد وليست سلطة على التوافق أو التطبيقات أو حقيقة الساعة.

ينتهي اتصال TLS ويُحذف سياقه الفردي. بعد ذلك يصل طلب NTP عبر UDP يحمل جسماً مختوماً لا يستطيع مرسله قراءته. يجد الخادم المفتاح المشترك المناسب، يفتح الجسم، يستعيد مفتاحي الاتجاه، ويتحقق من الطلب. لم يحتج إلى صفّ دائم باسم ذلك العميل.

هذه الحركة هي قلب Network Time Security. لم تجعل القناة الآمنة أبدية، بل جعلت نتيجة إنشائها قابلة للحمل. يحتفظ العميل بإيصال كتبه الخادم وشفّره، ثم يرده عند الحاجة. الملكية المادية للبايتات لا تمنح العميل حق تفسيرها أو تغييرها.

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

حواران يفصل بينهما إغلاق مقصود

يجري NTS Key Establishment على منفذ TCP 4460، ويستخدم معرّف ALPN وهو ntske/1 داخل TLS. يتحقق العميل من شهادة الخدمة، ويتفاوض الطرفان على البروتوكول التالي وخوارزمية AEAD، ويمكن لرد الخادم أن يحدد خادم NTP ومنفذاً مختلفين للمرحلة التالية.

يستخرج TLS مفتاح C2S للاتجاه من العميل إلى الخادم، ومفتاح S2C للاتجاه المعاكس. ويمنح خادم NTS-KE العميل مخزوناً أولياً من ملفات cookie. بعدها ينتهي الطلب والرد وقناة TLS من دون إبقاء حالة خاصة بالعميل على جانب الخادم.

تعود المرحلة المتكررة إلى رزم NTP. يبقى رأس NTP العادي، المؤلف من 48 ثمانية، مرئياً لكنه يدخل في المصادقة. تضيف حقول NTS معرّفاً عشوائياً للطلب وملفّ cookie وحقل المصادقة.

بهذا التقسيم تُحصر كلفة الشهادة والتشفير غير المتناظر في مرحلة قليلة التكرار، بينما تعمل مزامنة الوقت بحماية متناظرة أخف. ويمكن فصل خادم NTS-KE عن خادم NTP بشرط أن تكون إدارة مفاتيح cookie متوافقة بينهما.

لذلك لا يكفي سجل يقول إن TLS نجح. يجب أن يصل السجل إلى هوية النظير، وسياسة صلاحية الشهادة، ونتيجة ALPN، والبروتوكول وAEAD، وجيل المفاتيح، ووجهة NTP، وعدد ملفات cookie، وأول تبادل NTP محمي نجح فعلاً.

إيصال مختوم لدى عميل لا يقرأه

يقترح RFC 8915 صيغة توضح توزيع الحالة. يجمع الخادم معرّف AEAD ومفتاح S2C ومفتاح C2S في نص داخلي، ثم يشفّره بمفتاح ثالث مخصص لملفات cookie. يحمل الناتج معرّف مفتاح التشفير وnonce والنص المشفّر.

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

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

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

المعرّف العشوائي شاهد رحلة واحدة

يحمل الطلب المحمي Unique Identifier عشوائياً واحداً، وملفّ cookie واحداً، وحقل مصادقة يستخدم C2S. ينسخ الخادم المعرّف في الرد ويحميه بمفتاح S2C. يستطيع العميل عندها ربط الرد بالطلب الحالي ورفض رد قديم أعيد تشغيله.

هذا المعرّف ليس اسماً دائماً للجهاز ولا مفتاح فتح الملف. إنه شاهد مؤقت. كذلك لا يجوز اختزال C2S وS2C ومفتاح تشفير cookie في عبارة عامة مثل «مفتاح NTS»، لأن لكل واحد اتجاهاً ودورة حياة وأثر اختراق مختلفاً.

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

ينبغي للقياس أن يميز بين مفتاح cookie غير معروف، وفشل فك الملف، وفشل مصادقة الرزمة، وعدم تطابق معرّف الرد، ورفض عينة وقت صحيحة المصادقة. الاسم الواحد «فشل NTS» لا يحدد سبباً.

المساحة الفارغة تمنع تضخيم الرد

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

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

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

عمر الإيصال يحدده جيل مفتاح الخادم

لا تحتوي الصيغة المقترحة على تاريخ انتهاء عالمي مستقل. يظل الملف قابلاً للاستخدام ما دام الخادم يحتفظ بالمفتاح المشار إليه. توصي RFC بتدوير المفاتيح، ومحو الأقدم للحد من أثر الاختراق، والاحتفاظ بعدد محدود من الأجيال السابقة لتسهيل الانتقال.

إذا لم يوجد المفتاح أو كان قد مُحي، يرسل الخادم NTS NAK. يعود العميل إلى NTS-KE ليحصل على حالة جديدة. قد يحول إعادة تشغيل بلا حفظ، أو خلل توزيع في المجموعة، أو تدوير سريع، فقدان حالة مشتركاً إلى موجة من اتصالات TLS.

لكن الفصل يعزل بعض الأعطال. إذا تعطلت NTS-KE وحدها، يستطيع العملاء الذين يحملون ملفات قابلة للفك متابعة NTP المحمي. أما العملاء الجدد أو من فقدوا الجيل المناسب فلا يستطيعون. صحة مرحلة لا تعني صحة الأخرى.

تعرض وثائق chrony الحالية مثالاً عملياً. يفصل تقرير authdata بين جيل إنشاء المفاتيح وAEAD وطول المفتاح وآخر نجاح والمحاولات وNAK وعدد ملفات cookie وطولها. وتصف الإعدادات الحفظ والتدوير. هذه اختيارات chrony وإصداره، وليست قيماً تفرضها RFC على الجميع.

الخصوصية والاستمرار يطلبان سلوكين متعاكسين

الأفضل استخدام ملفّ جديد كل مرة عندما يتوفر المخزون. ذلك يقلل قيمة الملف كعلامة ثابتة لدى مراقب سلبي. غير أن تعطل NTS-KE مدة طويلة يستنزف الملفات الجديدة.

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

ولا تعد NTS بإخفاء العميل عن خادم الوقت. لا يشمل هدف عدم الربط حركة TLS في مرحلة الإنشاء، ولا يُشفّر رأس NTP العادي. لذا يجب أن يسجل النظام أول استخدام أو الإعادة، وانتقال الشبكة، ومدة تعطل NTS-KE، ووقت استعادة المخزون.

صحة المصدر التشفيري ليست صحة الوقت

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

توصي RFC 8633 بأربعة مصادر مستقلة ومتنوعة على الأقل عندما تكون الدقة مهمة. تبقى خوارزميات NTPv4 مسؤولة عن الترشيح والمقارنة والاستبعاد، ويبقى ضبط ساعة الجهاز قراراً محلياً.

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

توجد دائرة عند بدء التشغيل أيضاً. تحتاج صلاحية شهادة TLS إلى وقت تقريبي، بينما يطلب العميل NTS لأن ساعته غير موثوقة. تقترح RFC حفظ آخر وقت موثوق، وساعة مدعومة، وسياسة صارمة حيث يمكن، ومصادر متعددة، ومراجعة الاتساق بعد أول مزامنة، من دون ادعاء حل كامل.

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

Dieter Sibold داخل معيار جماعي

صدرت RFC 8915 في سبتمبر 2020 بأسماء Daniel Fox Franke وDieter Sibold وKristof Teichel وMarcus Dansarie وRagnar Sundblad. وهي وثيقة Standards Track نتجت من مراجعة عامة وتوافق IETF.

يسجل Datatracker الحالي Sibold رئيساً لمجموعة Network Time Protocols ومراجعاً في Internet Area Directorate، ويربط ملفه بـRFC 8633 وRFC 8915. وتسجله صفحة المجموعة رئيساً إلى جانب Karen O'Donoghue، مع عمل مستمر على NTP وNTS ومقاومة التأخير والجيل التالي.

تعرّف PTB، وهي المعهد الوطني الألماني للمقاييس، الدكتور Dieter Sibold مسؤولاً عن أمن المعلومات. وتسميه مادة رسمية عن مزامنة وقت الحواسيب الآمنة جهة اتصال لأعمال NTS.

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

أربعة سجلات في سلسلة واحدة

يخص الأول NTS-KE: النظير، والشهادة، وسياسة الصلاحية، وTLS وALPN، والبروتوكول وAEAD، والجيل ووجهة NTP. تُحفظ معرّفات آمنة، لا مادة المفاتيح السرية.

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

يخص الثالث رزمة NTP: بصمة آمنة لمعرّف الطلب، والاتجاه، والمصادقة، وربط الرد، والإزاحة والتأخير وسبب الرفض. يخص الرابع الساعة: المصادر المرشحة، والاختيار، والتعديل الفعلي وصحة ما بعده.

من دون هذه السلسلة، يتكلم نجاح واحد باسم النظام كله. قد ينجح TLS ويفشل NTP؛ وقد تنجح المصادقة وتُرفض العينة؛ وقد تكون الساعة صحيحة بينما ستضيع مفاتيح cookie في إعادة التشغيل القادمة. أولوية الشفرة العاملة تعني إثبات الانتقالات الفعلية.

المصادر