Active Directory для Windows Server 2003


Введение в протокол Kerberos


В системе, основанной на протоколе Kerberos, имеется три компонента. Во-первых, клиент, который должен получить доступ к сетевом ресурсам. Во-вторых, сервер, который управляет сетевыми ресурсами и гарантирует, что только должным образом заверенные и уполномоченные пользователи могут получать доступ к ресурсу. Третий компонент — центр распределения ключей (KDC - Key Distribution Center), который служит центральным местом хранения пользовательской информации и главной службой, подтверждающей подлинность пользователей.

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

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

Примечание. Когда пользователь входит в систему, он обычно впечатывает свой пароль. Контроллер домена проверяет точность пароля. Однако поскольку Kerberos работает в предположении, что сеть не защищена, то эта проверка делается без пересылки пароля по сети.

Одной из проблем общего секрета является то, что пользователь и сервер, управляющий сетевым ресурсом, должны иметь какой-либо способ владения общим секретом. Если пользователь пробует получить доступ к ресурсу на определенном сервере, то учетная запись пользователя может быть создана на сервере с паролем, который знает только пользователь. Когда пользователь попытается обратиться к ресурсам на этом сервере, он может представить общий секрет (пароль) и получить доступ к ресурсу. Однако в корпоративной среде могут быть тысячи пользователей и сотни серверов. Управление различными общими секретами всех этих пользователей было бы непрактичным. Протокол Kerberos справляется с этой проблемой, используя центр распределения ключей (KDC - Key Distribution Center). Служба KDC выполняется как служба сервера в сети и управляет общими секретами всех пользователей в сети. KDC имеет одну центральную базу данных для всех учетных записей пользователей сети и хранит общий секрет каждого пользователя (в форме одностороннего кэша пароля пользователя). Когда пользователю требуется получить доступ к сети и сетевым ресурсам, служба KDC подтверждает, что пользователь знает общий секрет, а затем подтверждает подлинность пользователя.




Начало  Назад  Вперед