logo
администрирование в информационных системах

3.5. Работа протокола Kerberos

        1. Проверка подлинности. В основе протокола Kerberos лежит идея “общих секретов”. Суть его состоит в следующем. Если информация известна двум людям, то любой из них сможет подтвердить личность другого, проверив, известна ли ему определенная информация. На аналогичном принципе построена и система Kerberos. При использовании протокола Kerberos секретные сведения известны только Kerberos и участнику безопасности (человеку или устройству). Проверка идентификации пользователя выполняется с использованием симметричного ключа, известного обеим сторонам. Проверка подлинности Kerberos начинается с того момента, когда пользователь предпринимает попытку войти в домен. Выполняются следующие действия:

а) находится учетная запись пользователя, и загружается ключ, используемый для расшифровки сообщения, проверки подлинности;

б) затем просматривается текст сообщения и прежде всего проверяется поле времени, значение в котором должно совпадать со временем рабочей станции, с которой поступил запрос. Если разница составляет больше пяти минут, Kerberos прекращает обработку сообщения. Если разница оказалась в норме, Kerberos продолжает работу;

в) Kerberos определяет, совпадает ли временная метка сообщения с временными метками предыдущего запроса данного пользователя. Если временная метка новее и не такая, как метки, полученные в предыдущих запросах, пользователю разрешается войти в домен. В Kerberos проверка подлинности взаимна. Kerberos отправляет назад сообщение, подтверждающее, что сообщение пользователя расшифровано правильно. Назад отправляются только самые важные сведения, среди которых временная метка получения сведений от пользователя. Если эта метка совпадает с информацией пользователя, то он может быть уверен, что Kerberos, а не кто-то другой, расшифровал его сообщение.

        1. Распределение ключей. Проверка подлинности на основе Kerberos хорошо работает по отношению к домену, но как получить доступ к ресурсам, когда клиент вышел из домена и обратился к определенным сетевым ресурсам? Протокол Kerberos поддерживает распределение ключей. Принцип распределения ключей и проверки взаимной подлинности рассмотрим с помощью структуры, представленной на рис. 8.

Центр распределения ключей KDC создает сеансовый ключ в тот момент, когда клиент обращается к нему для получения доступа к определенному ресурсу (А). Сервер KDC отправляет клиенту сеансовый ключ, встроенный в сеансовый билет (В). Этот ключ является сеансовым ключом сервера для клиента. Когда клиент устанавливает соединение с центром KDC, он извлекает из билета копию сеансового ключа. Затем, когда клиент устанавливает соединение с сервером (С), он отправляет серверу сообщение, содержащее билет, за-шифрованный с помощью секретного

Рис. 8 ключа сервера, а также временную

метку, зашифрованную с помощью сеансового ключа. Билет и временная метка идентифицируют клиента так же, как имя пользователя и пароль при проверке его подлинности при входе в систему. Если все проверки успешно пройдены, сервер предоставляет доступ клиенту (D), так как ему известно, что достоверный источник – центр KDC – подтвердил действительность клиента. Как только клиент закончит взаимодействие с сервером, сервер может избавиться от сеансового ключа, который использует для установки соединения с ним клиент. Клиент сохраняет сеансовый ключ, предоставляя его серверу при каждой необходимости получения доступа. Так как допускаются повторы использования сеансовых ключей, для обеспечения безопасности время, в течение которого может использоваться один сеансовый ключ, ограничивается. Обычно время жизни сеансового билета равно восьми часам, то есть среднее время одного сеанса (рабочего дня). Когда пользователь завершит сеанс работы, кэш билетов освобождается и все сеансовые билеты также освобождаются.