Архитектура Kerberos и движение билетов
Проследите полный процесс Kerberos: запрос AS, выдачу TGT, получение сервисного билета и взаимную аутентификацию
«Архитектура Kerberos и движение билетов» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
Истоки Kerberos
Kerberos был разработан в MIT в рамках проекта Athena в 1980-х годах для обеспечения безопасной сетевой аутентификации в распределённой вычислительной среде. Названный в честь трёхглавого пса, охраняющего подземный мир, он обеспечивает взаимную аутентификацию клиентов и служб с помощью доверенной третьей стороны — центра распределения ключей.
Компоненты центра распределения ключей
KDC состоит из двух логических компонентов: службы аутентификации (AS) и службы выдачи билетов (TGS). В Microsoft Active Directory обе службы работают на контроллере домена. AS обрабатывает первоначальный вход в систему и выдаёт билеты для получения билетов (TGT). TGS выдаёт билеты служб для доступа к конкретным службам.
Шаг 1: AS-REQ (первоначальная аутентификация)
Клиент начинает аутентификацию, отправляя AS-REQ службе аутентификации. Современный Kerberos требует предварительной аутентификации: клиент шифрует временную метку своим долговременным ключом (производным от пароля), чтобы доказать знание пароля. Это предотвращает автономные атаки по словарю на незащищённые сообщения AS-REQ.
Шаг 2: AS-REP (выдан TGT)
AS проверяет данные предварительной аутентификации и отвечает сообщением AS-REP, содержащим билет для получения билетов (TGT), зашифрованный долговременным ключом учётной записи krbtgt (клиент не может его расшифровать), и ключ сеанса, зашифрованный долговременным ключом клиента. Клиент расшифровывает только предназначенную ему часть, чтобы получить ключ сеанса TGS.
Шаг 3: TGS-REQ (запрос доступа к службе)
Когда клиенту требуется доступ к службе, он отправляет TGS-REQ службе выдачи билетов, включая TGT (как подтверждение личности) и аутентификатор, зашифрованный ключом сеанса TGS. TGS расшифровывает TGT с помощью ключа krbtgt, чтобы проверить личность клиента.
Шаг 4: TGS-REP (выдан билет службы)
TGS отвечает билетом службы, зашифрованным долговременным ключом целевой службы, а также новым ключом сеанса, зашифрованным для клиента. Клиент не может прочитать содержимое билета службы — ему доступна только зашифрованная для него часть. Этот билет службы подтверждает службе личность клиента.
Шаг 5: AP-REQ (доступ к службе)
Клиент отправляет AP-REQ целевой службе, включая билет службы и новый аутентификатор, зашифрованный ключом сеанса службы. Служба расшифровывает билет службы своим долговременным ключом, проверяет аутентификатор и аутентифицирует клиента. Пароль никогда не передаётся службе.
Области Kerberos и межобластное доверие
Область Kerberos — это административный домен, управляемый одним KDC. Межобластная аутентификация устанавливается с помощью межобластных ключей, которыми обмениваются KDC разных областей. Когда клиент в области A получает доступ к службе в области B, KDC области A выдаёт билет-перенаправление, который клиент предъявляет KDC области B.
Срок действия и продление билетов
Для билетов Kerberos настраивается срок действия (обычно 10 часов для TGT), после которого требуется новая аутентификация. TGT также можно настроить с возможностью продления: клиент сможет запросить у KDC новый TGT без повторного ввода учётных данных, пока не будет достигнут максимальный срок продления.
Долговременные ключи и ключи сеансов
Kerberos использует два типа ключей. Долговременные ключи производятся из паролей учётных записей и используются только для шифрования частей сообщений аутентификации. Ключи сеансов заново согласуются для каждого обмена данными аутентификации и используются в самом сеансе связи. Компрометация ключа сеанса не раскрывает долговременный ключ.
Свойства безопасности Kerberos
Kerberos обеспечивает взаимную аутентификацию (проверяются и клиент, и служба), защиту от повторного воспроизведения (с помощью временных меток и аутентификаторов) и прямую секретность отдельных сеансов. В штатном режиме KDC никогда не раскрывает долговременные ключи. Основное допущение о доверии заключается в том, что сам KDC не скомпрометирован.
Проверка типов билетов Kerberos
Каково назначение билета для получения билетов (TGT) в Kerberos?
Итоги урока: поток билетов Kerberos
Kerberos использует KDC с компонентами AS и TGS. Вход в систему создаёт TGT (AS-REQ/AS-REP). Для доступа к службе требуется обменять TGT на билет службы (TGS-REQ/TGS-REP). Билет службы предъявляется целевой службе (AP-REQ). Читать билеты могут только KDC и соответствующие службы. Области обеспечивают междоменную аутентификацию через межобластное доверие.
Часто задаваемые вопросы
Урок «Архитектура Kerberos и движение билетов» бесплатный?
Да — полный текст урока «Архитектура Kerberos и движение билетов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «Архитектура Kerberos и движение билетов»?
Проследите полный процесс Kerberos: запрос AS, выдачу TGT, получение сервисного билета и взаимную аутентификацию Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Архитектура Kerberos и движение билетов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Архитектура Kerberos и движение билетов
- Интеграция Active Directory и Kerberos
- Методы атак на Kerberos: Kerberoasting и золотой билет
- Современная идентификация: SAML, OIDC и гибридные подходы