Назад | Перейти на главную страницу

Точный и надежный источник времени

Мне нужен надежный и точный источник времени.

Если не считать установки моих собственных атомных часов (если это не проще, чем кажется), как я мог это сделать?

Дело не в том, что я не доверяю пулам NTP; У меня нет уверенности в том, с кем я разговариваю.

Я бы посоветовал доверять NTP - это ни в коем случае не безопасно, но я не знаю каких-либо основных векторов атак, и он так же безопасен, как ваш выбор одноранговых узлов (которые, в свою очередь, так же безопасны, как ваше разрешение DNS и ваша маршрутизация стол).

Если вам нужно рассмотреть другие альтернативы, вот несколько (точность / безопасность в скобках):

  1. Ваши собственные атомные часы как источник PPS. (Убер-острый. Чертовски почти невозможно)
    (Они доступны на eBay. Это не невозможно настроить - они есть у многих ботаников, и ваш демон NTP может использовать их в качестве источника времени. Вам нужно будет обрабатывать дополнительные секунды.)

  2. Приемник GPS. (Очень точно. Очень сложно обмануть).
    (Сигналы GPS ЖЕСТЯНАЯ БАНКА быть переопределенным / подделанным, но это специальная атака, для выполнения которой потребуются определенные усилия. Полный отказ системы GPS маловероятен, как и полное отключение.)

  3. NTP (Очень точно. Подделка с некоторым усилием)
    (Вероятность того, что кто-то атакует вас через ваш источник времени, довольно мала, и если вы настроите свой демон NTP против нескольких из серверы пула любые выбросы или ложные тикеры будут отброшены.
    Обратите внимание, что это предполагает, что вы доверяете своему DNS по крайней мере настолько, насколько это возможно.)

  4. Стабилизированный кварцевый генератор как источник ПФС. (Не очень точно. Черт, почти невозможно)
    (В зависимости от генератора это может быть не более точным, чем часы вашего компьютера. Ожидайте, что придется периодически корректировать время, и вам придется обрабатывать дополнительные секунды.)

  5. Внутренние часы вашего компьютера. (Точнее, чем песочные часы. Черт, почти невыносимо.)
    (Для любого современного приложения, которое заботится о времени, это практически неприменимо.)

NTP не является безопасным протоколом (ну, есть механизм аутентификации, но он широко не используется, а аутентификация MD5 не очень безопасна) - независимо от того, с каким сервером времени в Интернете вы разговариваете, вы действительно не знаете что ты с ними разговариваешь. Если отбросить надежность бассейнов (они мне не нравятся, потому что их слои повсюду, NIST имеет хорошие источники для Internet NTP), Internet NTP не соответствует вашим требованиям.

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

В одном из предыдущих ответов упоминалась аутентификация MD5, но не упоминалась аутентификация с открытым ключом, доступная в NTP4. Многие национальные лаборатории предоставляют службы времени с поддержкой md5 / autokey.

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

GPS:

Всего за 40 долларов и небольшую пайку вы можете установить локальный источник времени GPS + PPS с оценочной платой Sure Electronics GPS. Иногда вы можете найти CDMA refclock довольно дешево на ebay, если вы не можете получить сигнал GPS в своем центре обработки данных.

Аутентифицированная служба NTP:

NIST, NRC и INRIM (национальные лаборатории США, Канады и Италии) предоставляют услуги времени с аутентификацией MD5. В отличие от NIST и INRIM сервис CRC md5 не является бесплатным. Сервис времени с аутентификацией Autokey доступен в OBSPM и INRIM (французские и итальянские национальные лаборатории), и они предоставляют эту услугу бесплатно. Конечно, есть и другие национальные лаборатории с подтвержденным временем, но для них вам нужно будет погуглить.

Ссылки на подтвержденное время из национальных лабораторий:

NIST:

http://www.nist.gov/pml/div688/grp40/auth-ntp.cfm

NRC:

http://www.nrc-cnrc.gc.ca/eng/services/inms/calibration-services/time-frequency.html#Authenticated

ОБСПМ:

http://syrte.obspm.fr/informatique/ntp_infos.php

https://syrte.obspm.fr/informatique/ntp_keys.php

INRIM:

http://www.inrim.it/ntp/

http://www.inrim.it/ntp/auth_i.shtml

Что ж, купите майнберг с синхронизацией по GPS. Это не слишком дорого. Вы должны в какой-то степени верить этому. http://www.meinberg.de. Или просто купите устройство синхронизации GPS и подключите его к серверу.

В Интернете доступно любое количество безопасных источников времени. Большинство из них работают так:

  1. Вы генерируете случайный вызов.

  2. Вы отправляете вызов источнику времени.

  3. Источник времени добавляет метку времени к вашей задаче, подписывает ее своим общеизвестным закрытым ключом и отправляет вам обратно.

  4. Вы подтверждаете подпись своим открытым ключом.

  5. Теперь вы знаете, при условии, что вы можете доверять этому источнику, что время в метке времени отражает время где-то между тем, когда вы сгенерировали задачу, и тем, когда вы получили ответ.

Verisign запускает такую ​​службу через HTTPS. URL-адрес http://timestamp.verisign.com/scripts/timstamp.dll. Globalsign также запускает один, URL-адрес http://timestamp.globalsign.com/scripts/timstamp.dll. Протокол указан в RFC 3161 а также реализован в OpenSSL.