Linux

Использование точного, незащищенного источника времени

Мне нужен не подделываемый и точный источник времени. Если не устанавливать собственные атомные часы (если только это не проще, чем кажется), как я могу этого добиться? Дело не в том, что я не доверяю пулам NTP; у меня нет никакой уверенности в том, что они предоставляют достоверную информацию.

Ответ 1

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

GPS:

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

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

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

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

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

Ответ 2

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

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

  1. Ваши собственные атомные часы в качестве источника PPS. (Абсолютная точность. Почти невозможно подделать). (Их можно приобрести на eBay и достаточно просто настроить есть множество пользователей, у которых они есть, и ваш демон NTP может использовать их в качестве источника времени).

  2. GPS-приемник. (Очень точный. Очень трудно подделать). (Сигналы GPS могут быть отменены/подделаны, но это специализированная атака, которая потребует определенных усилий. Полный отказ системы GPS маловероятен, как и полное отключение).

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

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

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

Ответ 3

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

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

Ответ 4

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

  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.

Схожие статьи

Linux

Какой сетевой протокол обмена файлами имеет лучшую производительность и надежность?

Linux

Что мешает кому-то установить некоторую запись для моего домена?

Linux

Почему на Linux нет вирусов, соответствует ли это действительности

Linux

Есть ли альтернатива /dev/urandom?

×