Аспекты безопасности
Надежный сервис сетевой синхронизации времени нуждается в определенных условиях для предотвращения случайных или злонамеренных атак на серверы и клиентские ПК внутри сети. Надежность требует от клиентов возможности определить подлинность полученных от серверов синхронизации сведений, а также удостовериться, что данные действительно получены от верного сервера и не были сгенерированы или подделаны злоумышленником.
Чем грозит подделка показаний времени на бытовом уровне? Представим себе, что намеренно "сбиты" часы на почтовом сервере крупной организации: вместо 2005 года значится, например, 2020-й. В итоге вся корреспонденция имеет огромные шансы никогда не дойти до адресата, поскольку либо клиентская почтовая программа, либо другие почтовые серверы сразу заподозрят неладное и удалят такие письма без предупреждений и сожалений. Необходимо обеспечить возможность проверки подлинности данных любым клиентом для любого сервера синхронизации с использованием только публичной информации. Это целиком относится к таким повсеместным сетевым сервисам, как службы каталогов, управление ключами шифрования и синхронизация времени.
Протокол NTP предусматривает возможность криптографической аутентификации индивидуальных серверов с помощью симметричного шифрования, при котором клиенты проверяют подлинность серверов синхронизации времени, используя разделяемые секретные ключи. Механизм распространения ключей не относится к собственно протоколу NTP, и это может быть достаточно неудобное и "хрупкое" мероприятие, если имеется большое число потенциальных клиентов. Современное шифрование на основе публичных ключей представляет собой средство для надежного связывания идентификационных атрибутов сервера и сопряженных с ними публичных значений с использованием доступных служб каталогов. Однако такой подход автоматически подразумевает высокие накладные расходы на вычисления, особенно в случае большого количества критичных к временным значениям клиентов, что типично для NTP-серверов. К тому же здесь существуют уникальные проблемы, которые заключаются во взаимодействии механизмов аутентификации и синхронизации, так как в данной ситуации один механизм не может успешно работать без другого.
Последняя, четвертая ревизия протокола NTP (NTPv4) обладает переработанной моделью безопасности и схемой подтверждения подлинности с поддержкой шифрования как на основе разделяемых, так и публичных ключей. При работе над вариантом с публичными ключами особое внимание было уделено максимальному снижению риска вторжения, уменьшению требуемой вычислительной мощности и исключению возможных точек взлома протокола.