По сути дела, клиент инициирует взаимодействие, отправляя сообщение на сервер, говоря тем самым, что он желает "поговорить" с сервером. Сервер генерирует случайное 64-битное число, называемое nonce-значением. Сервер отвечает на запрос клиента, отправляя ему это число. Этот ответ называется вызовом (challenge). Теперь операционная система клиента запрашивает у пользователя имя и пароль. Немедленно после того, как он введет эту информацию, система хеширует пароль. Этот хеш пароля, называемый мастер-ключом (master key), затем используется для шифрования nonce-значения. Вместе с именем пользователя клиент передает зашифрованное nonce-значение в своем ответе серверу (завершая цикл работы механизма "запрос-ответ").

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

Как видите, пароль никогда не передается по проводам. Не передается даже его хешированная версия. Это делает NTLM по-настоящему безопасным. Но существует еще более защищенный протокол с дополнительными возможностями. О нем — в следующем разделе.

Аутентификация Kerberos: краткое введение

В настоящее время Kerberos 5 — самый безопасный доступный протокол аутентификации. Это хорошо известный открытый стандарт, разработанный IETF (Internet Engineering Task Force — инженерная группа по развитию Internet) и реализующий протокол аутентификации на базе мандатов. В операционных системах Windows Kerberos стал доступен, начиная с Windows 2000. При активизации интегрированной Windows-аутентификации Windows использует Kerberos в следующих случаях:

В любом другом случае Windows выбирает NTLM в качестве протокола аутентификации. Хотя полное описание Kerberos требует отдельной книги, в этой главе вы получите представление о его базовых концепциях. Эти концепции помогут вам понять необходимые задачи конфигурирования, а также когда работает каждое средство. Например, одно из основных различий между NTLM и Kerberos состоит в том, что Kerberos поддерживает и заимствование прав, и делегирование, в то время как NTLM — только заимствование прав.

предыдущая    следующая страница    вначало главы    оглавление

903

Hosted by uCoz