Kerberos — сетевой протокол аутентификации, который предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними. 2 Он интегрирован во все популярные операционные системы и часто используется для поддержки единого входа в крупных корпоративных сетях. 1
Упрощённое описание работы протокола Kerberos: 1
- Клиент запрашивает билет аутентификации или билет на выдачу билетов (TGT) с сервера аутентификации KDC. 1 Поскольку первоначальный запрос не содержит конфиденциальной информации, он отправляется в виде простого текста. 1
- KDC ищет клиента в своей базе данных. 1 Если KDC находит клиента, он возвращает зашифрованный TGT и ключ сеанса. 1 В противном случае процесс останавливается, и клиенту отказывается в доступе. 1
- После аутентификации клиент использует TGT для запроса билета на доступ к службам у службы выдачи билетов (TGS). 1 Если TGS может аутентифицировать клиента, она отправляет клиенту учётные данные и билет для доступа к запрошенной службе. 1 Этот билет хранится на устройстве конечного пользователя. 1
- Клиент использует свой билет для запроса доступа к серверу приложений. 1 Как только сервер приложений аутентифицирует запрос, клиент может получить доступ к серверу. 1
Некоторые особенности работы Kerberos:
- Использование временных меток и случайных значений. 5 Это позволяет эффективно противодействовать атакам повторного воспроизведения и обеспечивать актуальность сессий. 5
- Применение алгоритма AES. 5 Современные реализации протокола преимущественно используют этот алгоритм, который сочетает высокий уровень криптографической устойчивости с приемлемой вычислительной эффективностью. 5
- Использование распределённой модели KDC. 5 Несколько серверов совместно выполняют функции одного логического центра, что позволяет реализовать балансировку нагрузки и повысить надёжность системы. 5