این یک پست وبلاگ مهمان توسط مارتین لانگر ، دکتری است. دانشجوی "همگام سازی زمان ایمن با استفاده از پروتکل های زمانی مبتنی بر بسته" در دانشگاه علمی کاربردی Ostfalia ، آلمان.
گروه ویژه مهندسی اینترنت (IETF) پروتکل امنیت زمان شبکه (NTS) را با عنوان RFC 8915 در اول اکتبر 2020 منتشر کرد این استاندارد جدید مکانیزم های امنیتی را برای پروتکل زمان استفاده از شبکه (VTP4) که بصورت گسترده استفاده می شود ارائه می دهد که تاکنون اکثراً بدون امنیت بوده است. پس از تقریباً هشت سال توسعه ، همکاری جهانی و بسیاری از آزمایش های قابلیت همکاری توسعه دهندگان برجسته نرم افزار NTP ، NTS یک پروتکل امنیتی بالغ است. در این پست ، من مختصراً پیشرفت پیشرفت NTS را به شما ارائه می دهم و لیستی از پیاده سازی های عمومی و سرورهای زمان امن NTS را ارائه می دهم …
Security Time Network in a Nutshell
NTS به طور کلی یک افزونه امنیتی رمزنگاری است برای پروتکل های زمانی صحت و یکپارچگی لازم در پیام های زمان ارسال شده را بدون از دست دادن قابل توجه دقت هماهنگ سازی ارائه می دهد. این امکان را می دهد که اطلاعات مربوط به زمان دستکاری شده را قبل از اینکه صدمه بزند ، تشخیص دهد.
NTS در اصل از دو پروتکل فرعی به هم پیوسته تشکیل می شود. فاز اول از پروتکل NTS Key Establishment (NTS-KE) استفاده می کند که در آن سرویس گیرنده NTP از طریق اتصال TLSv1.3 صحت سرور زمان را تأیید می کند. علاوه بر این ، سرویس گیرنده و سرور همچنین با استفاده از این کانال TLS امن پارامترهای امنیتی (به عنوان مثال الگوریتم های AEAD) را انتقال می دهند و مواد اصلی را تولید می کنند. در مرحله دوم ، پروتکل زمان مشخص دنبال می شود که توسط محتوای NTS تمدید می شود. با NTPv4 این اصطلاحاً "قسمتهای پسوند NTS برای NTP" هستند که مجموع چک پیام زمان و همچنین کوکی ها را انتقال می دهند. این کوکی ها به سرور زمان این امکان را می دهد تا بدون حالت کار کند و پیام های NTP ایمن ایجاد کند. علاوه بر اصالت و یکپارچگی ، NTS مزایای دیگری مانند مقیاس پذیری خوب ، حفاظت از ردیابی و شادابی کلیدی را ارائه می دهد. حملات معروف مانند پخش مجدد ، جعل اسناد ، تقویت DDoS و تنزل رتبه / استریپینگ توسط پروتکل NTS نیز خنثی می شود.
توضیحات دقیق نحوه کار NTS را می توان در اولین پست من یافت.
تغییرات اخیر در مشخصات NTS
در 1-2 سال اخیر ، فقط چند تغییر در مشخصات NTS ایجاد شده است ، که عمدتاً به دلیل نتایج آزمایش تعامل قابلیت های مختلف NTS است. در زمان اولین ارسال من ، NTS در نسخه پیش نویس 20 بود. تا زمان انتشار استاندارد RFC ، ساختار پروتکل تغییر نکرده است ، اما استفاده از TLSv1.2 به عنوان پروتکل فاز یک اکنون ممنوع است.
جدول زیر تغییرات اصلی در مشخصات NTS را که از زمان پیش نویس نسخه 20 اعمال شده است نشان می دهد:
| نسخه | تغییرات عمده در نسخه قبلی |
| draft-21 | – کد خطای جدید در NTS-KE اضافه شده است (خطای 2: "خطای داخلی سرور") |
| draft-22 | – توضیح برخی تعاریف |
| draft-23 | – تعریف شناسه های NTP Extension Field برای محتوای NTS |
| draft-24 | – محتوای NTS Cookie Placeholder به جای تعریف نشده |
| draft-25 | باید صفر باشد – اکنون سرور و کلاینت هنگام بستن کانال TLS باید "close notification" ارسال کنند |
| draft-26 | – حداکثر فاصله مجدد برای مشکلات اتصال (NTS-KE) تا 7 روز تعریف شد – برچسب صادر کننده TLS به "EXPORTER-network-time-Security" – TLSv1.2 دیگر مجاز نیست. TLSv1.3 باید استفاده شود! |
| draft-27 | – حداکثر. فاصله مجدد برای مشکلات اتصال (NTS-KE) به 5 روز تغییر کرده است |
| draft-28 | – توضیح برخی تعاریف |
| RFC 8915 | – NTS Extensions for NTPv4 تغییر نام داد به NTS Extension Fields for NTPv4 – مشخصات سرویس NTS-KE: – نام سرویس: ntske – پروتکل حمل و نقل: TCP – شماره بندر: 4460 |
تاریخچه منشا و توسعه NTS
توسعه پروتکل NTS اندکی پس از انتشار NTPv4 در سال 2010 دنبال شد. از آنجا که NTP یکی از قدیمی ترین پروتکل های اینترنتی است به مدت طولانی امنیت از اولویت برخوردار نبود. اگرچه نسخه قبلی NTPv3 از قبل دارای مکانیسم محافظتی بود که در آن کلاینت و سرور از کلیدهای متقارن ثابت استفاده می کنند ، اما این راه حل مقیاس ضعیفی دارد. این روش برای استفاده امروز از NTP ، جایی که زمان هزاران دستگاه از طریق اینترنت همگام سازی می شود ، عملی نیست. خوشبختانه ، این مشکل با روش Autokey ، که IETF همراه با NTPv4 منتشر کرد و مکانیسم های امنیتی NTP را گسترش داد ، حل شد.
تقریباً در همان زمان ، توسعه کنتورهای برق هوشمند ("کنتورهای هوشمند") در آلمان به عنوان بخشی از Energiewende (انتقال به منابع انرژی تجدید پذیر). اینها باید به تدریج جایگزین کنتورهای برق قدیمی شوند و در ایستگاههای شارژ وسایل نقلیه الکتریکی نیز نصب می شوند. چنین دستگاه هایی برای تعیین قیمت به اطلاعات قابل اعتماد تعرفه و زمان نیاز دارند ، که باید قوانین کالیبراسیون را رعایت کند. برای همگام سازی زمانی این دستگاه ها ، یک اتصال NTPv4 با ایمنی خودکار در نظر گرفته شده است. Physikalisch-Technische Bundesanstalt (PTB) ، که زمان قانونی را در آلمان توزیع می کند ، پروتکل Autokey را با همکاری Technische Universität Braunschweig تجزیه و تحلیل کرد. نتایج نشان داد که اشکالات جدی در مکانیسم های امنیتی وجود دارد که کامپیوتر می تواند ظرف چند ثانیه از بین برود. این آغاز توسعه پروتکل جدیدی در کارگروه NTP IETF بود که سرانجام NTS از آن پدید آمد. در همکاری با PTB ، که در ابتدا نویسنده اصلی پیش نویس NTS بود ، اولین اجرای Proof-of-Concept (PoC) NTS را در محدوده پایان نامه کارشناسی ارشد خود (در دانشگاه علوم کاربردی Ostfalia) توسعه دادم. نتیجه عملکرد را اثبات کرد اما برخی از معایب ساختار پیام NTS را نیز نشان داد. پس از طراحی مجدد کامل پروتکل NTS ، پیاده سازی های بعدی PoC بسیاری از آزمایشات جدید را دنبال کرده و ارائه داد. پس از آزمایش جامع و به دلیل همکاری بسیاری از افراد ، سرانجام پروتکل Security Time Network امسال منتشر شد.
جدول زیر وقایع قابل توجهی را نشان می دهد که از زمان انتشار NTPv4 رخ داده است:
| تاریخ | رویداد | |
| 06/2010 | – NTPv4 به عنوان استاندارد RFC منتشر شده است – Autokey به عنوان تقویت امنیت NTPv4 (RFC اطلاعاتی) |
|
| 09 | ||
| 09 منتشر شد / 2011 | – تجزیه و تحلیل روش AutoKey معایب مهلکی را نشان داد [report: german/english] | |
| 03/2012 | – ارائه نتایج تجزیه و تحلیل در IETF 83 | |
| 07/2012 | – برنامه به روزرسانی خودکار – پیش نویس جدیدی ایجاد شده است: Autokey v2 |
|
| 06/2013 | – شهرت بد Autokey منجر به تغییر نام طرح به Security Time Network شد ( NTS ] – پیش نویس عمومی NTS شامل ارتباطات تک پخش و پخش است و همچنین NTP و PTP |
|
| 10/2014 | – مشخصات پیام های NTS در پیش نویس جدیدی به خارج از کشور سپرده شد: CMS4NTS | |
| 05/2015 | – دانشگاه Ostfalia شروع به کار می کند در NTS – برنامه هایی برای اجرای PoC برای اولین بار |
|
| 2015/2016 | – برای NTPv4 پیش نویس NTS جداگانه ای منتشر شد: NTS4NTP – NTS4NTP ارتباطات پخش شده و منحصر به فرد شبکه را در نظر می گیرد پروتکل |
|
| 2015/11 | – دانشگاه اوستفالیا اجرای پروتکل NTS | |
| 01/2016 | را شروع می کند – دانشگاه اوستفالیا شروع به اجرای یک سرویس NTP با پشتیبانی NTS می کند ( NTP-O ) | |
| 2016/2013 | – نهایی شدن اجرای NTS | |
| 2016/2018 | – تکمیل اجرای NTP-O با پشتیبانی NTS – اولین اندازه گیری ها در آزمون های عملی |
|
| 09 / 2016 | – آخرین به روزرسانی پیش نویس NTS4NTP (نسخه 06) با اولین طرح پروتکل NTS – NTS یک این دوره به عنوان استاندارد RFC تکمیل می شود |
|
| 10/2016 | – طرح پروتکل NTS کاملاً کنار گذاشته شده است – در NTS4NTP-draft-07 تمام ساختارهای پروتکل تجدید نظر و بهینه سازی شده اند – تبادل کلید NTS از طریق NTP با یک راه حل مبتنی بر TLS جایگزین شد – اتصالات پخش شده دیگر پشتیبانی نمی شوند ، زیرا به سایر روشهای امنیتی احتیاج دارند |
|
| 02/2017 | – CMS4NTS پیش نویس -06 کنار گذاشته شد – پیش نویس -15 عمومی NTS نیز رد شد |
|
| 12/2017 | – دانشگاه Ostfalia یک کتابخانه NTS جدید ایجاد می کند و اولین اندازه گیری ها را انجام می دهد – NTS جدید نسخه با عملکرد بسیار بهتر عمل می کند |
|
| 01/2018 | – اولین سرور NTP با امنیت NTS در جهان آنلاین می شود (nts3-e.ostfalia.de) | |
| 03/2018 | – اولین هاکتون NTS در IETF 101 با اجرای PoC دوم – هر دو پیاده سازی NTS براساس nts4ntp-draft-11 [19659014] 07/2020 |
– ششمین و آخرین هکاتون NTS در IETF 108 بر اساس nts4ntp-draft-28 – در حال حاضر ، پنج پیاده سازی NTS یا خدمات NTP با پشتیبانی NTS وجود دارد – چندین بار NTP با امنیت NTS سرورها آنلاین هستند – قابلیت همکاری با موفقیت آزمایش شد |
| 10/2020 | – NTS4NTP به صورت RFC 8915 منتشر شد – عنوان کامل: امنیت زمان شبکه برای پروتکل زمان شبکه |
NTS Implementations
در این مرحله ، من می خواهم پیاده سازی NTS را که در حال حاضر شناخته شده و موجود است ، معرفی کنم. توسعه دهندگان مربوطه در بسیاری از برنامه های IETF Hackathons شرکت کرده اند و بنابراین بر پیشرفت استاندارد NTS قاطعانه تأثیرگذار بوده اند. بهترین نمایندگان شناخته شده NTPsec و Chrony هستند که مدتهاست خدمات NTP را ارائه می دهند. لطفاً توجه داشته باشید که برخی از پیاده سازی های NTS (به عنوان مثال NTP-O) دارای ویژگی PoC هستند و ممکن است لازم باشد به روز شوند. شما می توانید دستورالعمل هایی برای راه اندازی NTPsec همراه با NTS در اینجا بیابید.
NTS-Secured NTS-Secured Public
البته ، NTP امن NTS فقط در صورت منطبق بودن با NTP منطقی است. سرورهایی موجود هستند که از استاندارد امنیتی جدید پشتیبانی می کنند. جدول زیر اولین سرورهای NTP عمومی را که می توانید استفاده کنید نشان می دهد. اکثر سرورهای زمانی از گواهی نامه های امضا شده توسط Let’s Encrypt استفاده می کنند ، بنابراین هنگام تنظیم سرویس گیرنده های NTP چیز دیگری وجود ندارد که در نظر گرفته شود. برای ورودی های باقیمانده ، گواهینامه های لازم را پیوند داده ام.
استاندارد NTS پورت TCP 4460 را برای سرویس NTS KE فراهم می کند. از آنجا که این درگاه فقط برای مدت کوتاهی شناخته شده است ، ممکن است برخی از سرورها هنوز از پورتهای مختلف استفاده کنند.
| ارائه دهنده | آدرس سرور NTS-KE (معمولاً با سرور زمان NTP نیز مطابقت دارد) |
| Cloudflare | time.cloudflare.com:1234 |
| Netnod | nts.ntp.se:4460 (برای کاربران در هر جای دنیا) nts.sth1.ntp.se:4460 (برای کاربران نزدیک به استکهلم ) nts.sth2.ntp.se:4460 (برای کاربران نزدیک به استکهلم) |
| NTPsec | nts1.time.nl:123 ntp1.glypnod.com:4460 ntp2.glypnod .com: 4460 |
| Ostfalia | nts3-e.ostfalia.de:4460 (لایه 2 ، با استفاده از NTP-O) |
| PTB | ptbnts1.ptb.de:4460 (192.53.103.98 ، طبقه 1 ، با استفاده از NTPsec) زنجیره گواهینامه CA: dfn-ca-global-g2 |
سرورهای آزمایشی بیشتر را می توانید پیدا کنید در اینجا .
بعد چه اتفاقی می افتد؟
آینده هنوز کاملاً نامشخص است ، اما موارد اولیه از قبل وجود داشته است بحث در مورد NTPv5. در همین حال ، من تمرکز خود را روی تمدید NTS برای پروتکل زمان دقیق (PTP) می گذارم ، اگرچه هنوز مشخصات مشخصی وجود ندارد. به محض این که موضوعی قابل ذکر باشد ، به شما اطلاع خواهم داد.
با تشکر از شما برای خواندن و تشکر از اعضای گروه کاری NTP و تکمیل موفقیت آمیز مشخصات NTS. ؛)
تصویر ویژه "accessoire، antik" توسط Giallo تحت CC0 مجاز است.

