- PVSM.RU - https://www.pvsm.ru -

«Сверить часы»: что известно о новом протоколе синхронизации времени серверов

Рассказываем о причинах появления Roughtime и особенностях его работы.

«Сверить часы»: что известно о новом протоколе синхронизации времени серверов - 1 [1]
/ Unsplash / Djim Loic [2]

Зачем нужен новый протокол

Работа сетей с переменной латентностью основана на протоколах, подобных NTP [3] (Network Time Protocol). Он синхронизирует внутренние часы вычислительных систем. Но с работой NTP связан ряд проблем — последние версии протокола предусматривают возможность аутентификации запросов от сервера, но на практике эту функцию используют редко [4]. Большинство компьютеров безоговорочно доверяет ответу сервера точного времени при настройке системных часов. В результате злоумышленник может провести MITM-атаку и контролировать часы жертвы, нарушив работу криптографических протоколов и получив возможность повлиять на «свежесть» ключей. Также NTP имеет ряд уязвимостей, которые злоумышленники используют для проведения DDoS-атак [5].

Инженеры из Бостонского университета совместно с коллегами из Google и Cloudflare представили иной подход для «сверки часов» — Roughtime [6] — протокол с криптографической защитой на базе UDP. В основу технологии легла система установки временных меток для блокчейна, которую еще в 2011 году описал [7] криптограф Бен Лори (Ben Laurie) — основатель Apache Software Foundation и ведущий разработчик OpenSSL. К слову, сам Бен также участвовал [8] в проектировании Roughtime.

Как он устроен

Ответ сервера по протоколу Roughtime состоит [4] из трех частей. Первая представляет собой метку времени с числом микросекунд, прошедших с «эпохи Unix [9]». Вторая называется радиус — это погрешность передаваемого значения. Третьей компонентой ответа является одноразовый код (nonce) с цифровой подписью. Значение nonce генерирует клиент при запросе временной метки. Такой подход позволяет убедиться, что передаваемая информация актуальна.

«Сверить часы»: что известно о новом протоколе синхронизации времени серверов - 2

О других протоколах из нашего блога на Хабре:

Если по какой-то причине клиент не доверяет полученным данным, он может послать запрос другим серверам. Но в этом случае nonce генерируют путем хеширования ответа, полученного от предыдущего сервера. Так клиент запоминает последовательность, в которой поступают временные метки, и может убедиться в их правильности. При этом он получает возможность выявить скомпрометированные или неправильно настроенные машины — предоставленное ими значение времени будет серьезно отличаться.

Перспективы протокола

В марте прошлого года Инженерный совет интернета (IETF) представил черновик [13] спецификации Roughtime. На этой неделе в сети появилась его обновленная версия [6]. В перспективе Roughtime могут сделать полноценным интернет-стандартом и оформить в RFC. Но старший научный сотрудник и криптограф облачного провайдера Cloudflare Ник Салливан (Nick Sullivan) говорит, что Roughtime нельзя считать [14] прямой заменой NTP. У него нет механизмов компенсации латентности в сети, что может создать проблемы при «сверке часов» между двумя удаленными узлами (погрешность будет очень высокой). Трудностей добавляет криптография — в частности, функция SHA512, на реализацию алгоритмов которой тратятся дополнительные вычислительные ресурсы.

«Сверить часы»: что известно о новом протоколе синхронизации времени серверов - 3
/ PD / Free-Photos [15]

В связи с этим эксперты говорят, что одним из ключевых применений протокола будет проверка срока действия SSL-сертификатов в браузерах, поскольку для этой задачи не нужна высокая точность. Первую реализацию такого решения уже представил один из западных облачных провайдеров.

Также интерес к технологии выражает [16] компания SpiderOak. Она разрабатывает одноименное программное обеспечение для резервного копирования данных. Roughtime планируют использовать для безопасной передачи сообщений в другом продукте компании — мессенджере Semaphor.

О чем мы пишем в корпоративном блоге VAS Experts:

Автор: VAS Experts

Источник [20]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/setevy-e-tehnologii/344447

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/vasexperts/blog/485058/

[2] Djim Loic: https://unsplash.com/photos/ft0-Xu4nTvA

[3] NTP: https://ru.wikipedia.org/wiki/NTP

[4] используют редко: https://roughtime.googlesource.com/roughtime

[5] для проведения DDoS-атак: https://www.imperva.com/learn/application-security/ntp-amplification/

[6] Roughtime: https://tools.ietf.org/html/draft-roughtime-aanchal-04

[7] описал: https://www.links.org/files/distributed-currency.pdf

[8] также участвовал: https://news.ycombinator.com/item?id=12541216

[9] эпохи Unix: https://ru.wikipedia.org/wiki/Unix-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F

[10] Новый протокол увеличит радиус возможного использования Wi-Fi на 60 метров: https://habr.com/ru/company/vasexperts/blog/481486/

[11] Ретроспектива: как истощались адреса IPv4: https://habr.com/ru/company/vasexperts/blog/462435/

[12] Кто внедряет IPv6, и что тормозит его развитие: https://habr.com/ru/company/vasexperts/blog/465535/

[13] представил черновик: https://tools.ietf.org/html/draft-roughtime-aanchal-01

[14] нельзя считать: https://noise.getoto.net/author/nick-sullivan/

[15] Free-Photos: https://www.needpix.com/photo/download/560716/clocks-time-timepiece-old-clocks-vintage-watches-watch-faces-passing-time-free-pictures

[16] выражает: https://news.ycombinator.com/item?id=12542432

[17] P2P-протокол Dat – как работает и кем используется: https://vasexperts.ru/blog/seti/p2p-protokol-dat-kak-rabotaet-i-kem-ispolzuetsya/

[18] 5 причин, почему переход на IPv6 происходит так долго: https://vasexperts.ru/blog/telekom/5-prichin-pochemu-perexod-na-ipv6-proisxodit-tak-dolgo/

[19] IPv6 — технология настоящего или будущего: https://vasexperts.ru/blog/bezopasnost/ipv6-texnologiya-nastoyashhego-ili-budushhego/

[20] Источник: https://habr.com/ru/post/485058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=485058