Komitet IETF (Internet Engineering Task Force), odpowiedzialny za rozwój protokołów i architektury internetu, opracowanie RFC dla protokołu NTS (Network Time Security) i opublikowanie związanej z nim specyfikacji o identyfikatorze . RFC uzyskał status „Proponowanego standardu”, po czym rozpocznie się praca nad nadaniem RFC statusu standardu roboczego (Draft Standard), co oznacza pełną stabilizację protokołu i uwzględnienie wszystkich zgłoszonych uwag.
Standaryzacja NTS jest ważnym krokiem w poprawie bezpieczeństwa usług synchronizacji czasu oraz w ochronie użytkowników przed atakami, które udają serwer NTP, z którym łączy się klient. Manipulacje przestępców związane z ustawianiem nieprawidłowego czasu mogą być wykorzystywane do naruszania bezpieczeństwa innych protokołów uwzględniających czas, takich jak TLS. Na przykład, zmiana czasu może prowadzić do błędnej interpretacji danych dotyczących działania certyfikatów TLS. Do tej pory NTP oraz symetryczne szyfrowanie kanałów komunikacyjnych nie mogły zapewnić, że klient współpracuje z właściwym, a nie podmienionym serwerem NTP, a autoryzacja za pomocą kluczy nie zyskała popularności, ponieważ jest zbyt skomplikowana w konfiguracji.
NTS wykorzystuje elementy infrastruktury otwartych kluczy (PKI) i pozwala na użycie TLS oraz autoryzowanego szyfrowania AEAD (Authenticated Encryption with Associated Data) do ochrony kryptograficznej interakcji klienta i serwera w protokole NTP (Network Time Protocol). NTS obejmuje dwa oddzielne protokoły: NTS-KE (NTS Key Establishment do przetwarzania początkowej autoryzacji i negocjacji kluczy w ramach TLS) oraz NTS-EF (NTS Extension Fields, odpowiedzialny za szyfrowanie i autoryzację sesji synchronizacji czasu). NTS dodaje do pakietów NTP kilka rozszerzonych pól i przechowuje wszystkie informacje o stanie tylko po stronie klienta, wykorzystując mechanizm przesyłania cookie. Do obsługi połączeń w protokole NTS przydzielony jest port sieciowy 4460.
Pierwsze implementacje standardyzowanego NTS zostały zaproponowane w niedawno opublikowanych wersjach i . stanowi niezależną implementację klienta i serwera NTP, która jest stosowana do synchronizacji dokładnego czasu w różnych dystrybucjach Linuxa, w tym w Fedora, Ubuntu, SUSE/openSUSE oraz RHEL/CentOS. pod przewodnictwem Erika Raymonda (Eric S. Raymond) i jest forkiem referencyjnej implementacji protokołu NTPv4 (NTP Classic 4.3.34), skoncentrowanym na przetwarzaniu kodu w celu zwiększenia bezpieczeństwa (zrealizowano oczyszczenie przestarzałego kodu, zastosowano metody zapobiegające atakom oraz zabezpieczone funkcje do pracy z pamięcią i ciągami).
Źródło: opennet.ru
