Вход в систему с помощью Kerberos
Включение Kerberos в Windows в качестве аутентификаци- онного пакета влияет на многие аспекты процессов входа в си-
стему. Однако некоторые части этих процессов, инициируемые до отправления пакета, остаются неизменными.
Локальный интерактивный вход в систему
При локальном интерактивном входе в систему пользова- тель подключается по учетной записи с локального компьютера, а не по учетной записи домена (рис. 8.12).
Рис. 8.12. Локальный интерактивный вход в систему
При использовании локальной учетной записи в Windows происходит следующее:
Получив запрос на вход в систему, модуль идентифика- ции Graphical Identification and Authentication DLL (GINA) пере- дает его службе Local Service Authority (LSA). Kerberos в запросе указывается как аутентификационный пакет, так как в Windows он является таковым по умолчанию.
LSA обрабатывает запрос и посылает его Kerberos.
В ответ на этот запрос Kerberos возвращает сообщение об ошибке, поскольку он предназначен для аутентификации не локальных, а доменных учетных записей.
LSA получает это сообщение об ошибке и возвращает его GINA.
GINA повторно посылает запрос LSA с указанием
«MSV1_0» в качестве аутентификационного пакета. Затем про- цесс входа в систему происходит так же, как в Windows NT 4.0.
Интерактивный вход в домен
Обмены при входе в Windows 2000-2003 пользователя с доменной учетной записью похожи на стандартные обмены в Kerberos (рис. 13).
Рис. 8.13. Интерактивный вход в домен
Вход в домен осуществляется следующим образом:
Получив запрос на вход в систему, служба Local Service Authority (LSA) передает его Kerberos. Клиент посылает исход- ный AS-запрос службе Kerberos, сообщая ей имя пользователя и имя домена. Это служит запросом на аутентификацию и TGT. Запрос осуществляется с применением основного имени krbtgt@<имя_домена>, где <имя_домена> — это имя домена, которому принадлежит учетная запись пользователя. Первый контроллер домена автоматически создает учетную запись krbtgt@<имя_домена>.
Служба Kerberos генерирует AS-ответ, содержащий TGT (зашифрованный секретным ключом Kerberos) и сеансовый ключ для обменов TGS (зашифрованный секретным ключом клиента), и отсылает его клиенту. Данные авторизации в составе TGT включают SID для учетной записи пользователя и SID для
всех групп, к которым он принадлежит. Эти SID возвращаются на LSA для включения в круг доступа пользователя. Kerberos копирует их из TGT в соответствующие билеты, получаемые от этой службы.
Затем клиент генерирует и посылает запрос TGS, со- держащий основное имя клиента и сферу, TGT для идентифика- ции клиента и имя локальной рабочей станции в качестве серве- ра. Это делается для запроса доступа пользователя на локальный компьютер.
Служба Kerberos генерирует и посылает ответ TGS. Он содержит билет на рабочую станцию и другую информацию, в частности сеансовый ключ (зашифрованный сеансовым ключом с TGT). В данные авторизации включаются SID для учетной за- писи пользователя и всех глобальных групп, скопированные службой Kerberos с оригинального TGT.
Пакет аутентификации Kerberos возвращает список SID
на LSA.
Для аутентификации службы Windows используют интер- фейс SSPI режима ядра.
Вместо соединения с Kerberos напрямую обе службы по- лучают доступ к нему через аутентификационный пакет согла- сования, встроенный в LSA (Negotiate package).
При загрузке системы службы Server и Workstation иници-
ализируют их интерфейс с пакетом согласования в LSA с помо- щью SSPI. При этом служба сервера получает идентификацион- ные описатели для билетов по умолчанию.
Сетевое соединение устанавливается в два этапа: согласо- вание протокола и настройка сеанса. Прежде чем пользователь установит сеанс связи с сервером, компьютер клиента и сервер должны определить протокол безопасности исходя из установ- ленного на них уровня безопасности. После того как клиент аутентифицирован и получил билет, он может установить сеанс связи с сервером.
Поддержка открытого ключа в Kerberos
Windows расширяет функциональность Kerberos и разре- шает Kerberos взаимодействовать со службой Active Directory.
Windows содержит расширения для протокола аутентификации Kerberos V5, чтобы поддерживать аутентификацию, основанную на открытом ключе. Открытый ключ позволяет клиентам запра- шивать исходный TGT, применяя закрытый ключ. Kerberos про- веряет этот запрос с помощью открытого ключа пользователя, извлекаемого из сертификата пользователя Х.509, находящегося в хранилище Active Directory. Для получения билета сертификат пользователя Х.509 должен быть сохранен в соответствующем объекте User. Найдя такой сертификат, Kerberos выдает билет для клиента, и осуществляется стандартная процедура Kerberos.
Смарт-карты, например, используют расширения открыто- го ключа, предоставляемые Kerberos.
Do'stlaringiz bilan baham: |