Почему Kerberos требует синхронизации часов и на каких этапах проверяется время?

Временные метки, срок действия билетов и защита от повторного использования запросов. Проверки происходят не только при получении TGT.

Короткий ответ

Что ответить на собеседовании

Kerberos использует временные метки и сроки действия билетов. Допустимое расхождение часов задаётся настройкой; в типичной доменной политике Windows это пять минут. Проверки есть при timestamp-предаутентификации, запросе сервисного билета и обращении к службе. Ограничение времени дополняется защитой от повторов, а не заменяет её.

Подробный разбор

Ответ с пояснениями

Синхронизация нужна, чтобы участники одинаково интерпретировали свежесть аутентификаторов и сроки действия билетов. Допуск компенсирует небольшие расхождения часов, но не является универсальной константой протокола. Для стандартной доменной политики Windows Microsoft указывает пять минут.

Проверка не ограничивается выдачей TGT:

  1. При предаутентификации с зашифрованной временной меткой в AS-обмене KDC проверяет её допустимость. Не каждый механизм предаутентификации устроен одинаково.
  2. При TGS-обмене проверяются предъявленные TGT и аутентификатор запроса сервисного билета.
  3. В AP-обмене сама служба проверяет билет и аутентификатор клиента, включая допустимое время. Поэтому важны часы не только клиента и KDC, но и сервера приложения.

Правила проверок и replay cache описаны в RFC 4120. Одной проверки «не старше пяти минут» недостаточно: повторный аутентификатор внутри этого окна тоже должен обнаруживаться.

Срок жизни билета и допустимое расхождение часов — разные параметры. Не нужно увеличивать допуск как универсальное лечение ошибок входа: сначала проверяют источник времени, синхронизацию, состояние служб и события Kerberos. Часовой пояс отображения не равен расхождению системных часов: сравнивается сам момент времени.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку