Протокол аутентификации Kerberos
В Windows 2000 в качестве основного метода аутентификации пользователей используется стандартный для Интернета протокол Kerberos версии 5 (RFC 1510). Протокол Kerberos обеспечивает взаимную проверку подлинности клиента и сервера перед установлением подключения между ними. Такой подход является оптимальным для сетей с незащищенными соединениями, например, устанавливаемыми через Интернет.
Аутентификация по протоколу Kerberos основывается на использовании билетов. При регистрации в домене Windows 2000 клиент получает билет, удостоверяющий подлинность клиента перед сетевым ресурсом и ресурса перед клиентом. В этой процедуре используется метод аутентификации, известный как проверка подлинности с использованием общего секрета. Принцип, лежащий в основе этого метода, прост: если секрет известен только двоим, каждый может удостоверить подлинность другого, проверив знание секрета.
При использовании протокола Kerberos как клиенты, так и серверы регистрируются на сервере аутентификации Kerberos. Клиенты отсылают зашифрованную информацию, образованную от паролей пользователей, на сервер Kerberos, который по этим данным проверяет подлинность пользователей. Подобным же образом сервер посылает информацию приложению Kerberos, установленному на клиенте, подтверждая последнему свою подлинность. Этот процесс взаимной аутентификации, более подробно описанный ниже, предупреждает возможность действий злоумышленников от имени как сервера, так и клиента.
Данный метод является усовершенствованием использовавшегося в Windows NT 4.0 процесса аутентификации (известного как NTLM), требовавшего аутентификации клиента при обращении к каждому сетевому ресурсу. NTLM был заменен Kerberos в качестве основного протокола защиты ресурсов в доменах под управлением Windows 2000 Server. (При этом протокол NTLM до сих пор поддерживается, что обеспечивает обратную совместимость). Полная поддержка протокола Kerberos обеспечивает единый вход с быстрым доступом к ресурсам под управлением Windows 2000 Server, а также другим операционным средам, поддерживающим этот протокол.
Аутентификация по протоколу Kerberos
Коротко говоря, процесс аутентификации по протоколу Kerberos состоит в проверке учетных данных и их передаче между клиентами и серверами. Он проходит следующим образом: при входе пользователя в домен Windows 2000 операционная система обнаруживает сервер Active Directory и службу аутентификации Kerberos, которой затем передает учетные данные пользователя. Клиент аутентифицируется либо с помощью пароля, из которого образуется ключ, проверяемый сервером, либо (в случае со входом по смарт-карте) по информации, зашифрованной закрытым ключом, открытая часть которого хранится в Active Directory. После проверки информации пользователя служба Kerberos, называемая центром распространения ключей (Key Distribution Center, KDC), выдает пользователю билет на получение билета (ticket-granting ticket, TGT), служащий для идентификации пользователя при его следующих обращениях за получением билетов Kerberos для доступа к сетевым ресурсам. Использование билетов TGT уменьшает количество проверок информации пользователя центром распространения ключей. Хотя это и сложный процесс, для пользователя он выглядит просто как ввод пароля при входе в систему.
На Рисунке 2 показано взаимодействие между клиентом, центром распространения ключей и сервером приложений при использовании протокола проверки подлинности Kerberos.
Рисунок 2 – Аутентификация по протоколу Kerberos
Протокол Kerberos и служба каталогов Active Directory
Каждый контроллер домена Windows 2000 использует каталог Active Directory и содержит центр распространения ключей. Благодаря этому вся информация об учетных записях пользователей хранится в одном каталоге. В средних и крупных организациях обычно используется несколько контроллеров доменов с целью повышения доступности сетевых служб и емкости корпоративных сетей. Однако это не влияет на возможность применения аутентификации по протоколу Kerberos, поскольку каждому экземпляру Active Directory соответствует экземпляр службы аутентификации Kerberos.