
- •Тема: " Идентификация и аутентификация в операционных системах Windows"
- •1.Этапы идентификации и аутентификации пользователя, реализуемые ос Windows
- •1. Идентификация
- •2. Аутентификация
- •3 Авторизация
- •4.Отчетность
- •Локальная и доменная регистрация
- •2. Протоколы аутентификации Windows Задачи протоколов аутентификации Windows
- •Протоколы аутентификации Windows
- •Протоколы lan Manager и nt
- •Протокол ntlm
- •Протоколы ntlMv1 и ntlMv2
Лекция №4
Тема: " Идентификация и аутентификация в операционных системах Windows"
Вопросы:
1. Этапы идентификации и аутентификации пользователя, реализуемые ОС Windows.
2. Протоколы аутентификации Windows.
1.Этапы идентификации и аутентификации пользователя, реализуемые ос Windows
Аутентификация представляет собой один из компонентов любой компьютерной системы управления доступом. Как показано на рисунке 1, системы управления доступом обеспечивают идентификацию, аутентификацию, авторизацию и отчетность.
Рисунок 1. Механизмы управления доступом и аутентификация в Windows
1. Идентификация
Это первый этап входа в КС. Как известно, на этом этапе вводится имя пользователя КС (логин).
При этом ОС (а именно, процесс Winlogon, отвечающий за вход в КС и выход из неё) создает уникальный идентификатор пользователя (SID), представляющий собой набор данных, который уникально идентифицирует объект безопасности (пользователя, группу, компьютер, учетную запись службы).
Пример.
S-1-5-21-1463437245-1224812800-863842198-1128
1 - №версии;
5 – код агента ОС (назначающей SID);
Четыре кода субагентов-попечителей;
1128 – RID или средство создания уникальных SID.
SID назначается компьютеру при установке ОС. Далее Winlogon назначает SID локальным учетным записям на данном компьюторе.
SID(ЛУЗ) = SID (К) + RID пользователя.
RID = 500 – администратор;
RID = 501 – гость;
RID = 1000, 1001….. – пользователи.
Процесс Winlogon создает уникальный локальный SID для пользователя. Если вход пользователя прошел успешно, этот SID будет включен в маркер доступа.
Маркер доступа (МД) – идентификатор контекста защиты процесса или потока. Он наследуется всеми процессами, запущенными от имени пользователя.
Для защиты от НСД используются два элемента МД:
SID пользователя и SIDы групп, в которые входит пользователь;
Список привилегий (прав), сопоставленных с маркером.
2. Аутентификация
После того как субъект безопасности вводит с клавиатуры необходимую для идентификации информацию (например, имя пользователя), он должен ввести с клавиатуры или представить частную информацию для аутентификации (например, пароль или PIN-код).
В Windows субъект безопасности вводит эту информацию на экране регистрации с помощью программ Microsoft Graphical Identification and Authentication DLL (msgina.dll) и Winlogon.exe. Протокол аутентификации и механизм системы шифруют представленную информацию на персональном компьютере и передают запрос аутентификации.
Службой аутентификации Windows может быть база данных SAM или Active Directory.
База данных SAM обслуживает локальные процедуры регистрации и регистрацию на контроллерах домена Windows NT 4.0. Эта база обязательно имеется на каждом компьютере с операционной системой Windows. В ней хранится вся информация, используемая для аутентификации пользователей Windows при интерактивном входе в систему и при удаленном доступе к ней по компьютерной сети.
База данных SAM представляет собой один из кустов (hive) системного реестра (registry) Windows. Этот куст принадлежит ветви (subtree) HKEY_LOCAL_MACHINE и называется SAM. Физически база данных SAM располагается в каталоге \wmnt_root\System32\ConfIg (winnt_root — условное обозначение каталога с системными файлами Windows) в отдельном файле, который тоже называется SAM.
Информация в базе данных SAM хранится в основном в двоичном виде. Доступ к ней обычно осуществляется через диспетчер учетных записей. Изменять записи, находящиеся в базе данных SAM, при помощи программ, позволяющих напрямую редактировать реестр Windows (REGEDT или REGEDT32), не рекомендуется. По умолчанию этого и нельзя делать, т. к. доступ к базе данных SAM запрещен для всех без исключения категорий пользователей операционной системы Windows.
Именно в учетных записях базы данных SAM находится информация о пользовательских именах и паролях, которая необходима для идентификации и аутентификации пользователей при их интерактивном входе в систему. Как и в любой другой современной многопользовательской операционной системе, эта информация хранится в зашифрованном виде. В базе данных SAM каждый пароль пользователя представлен в виде двух 16-байтовых последовательностей (хешей), полученных разными методами
Active Directory аутентифицирует запросы в Windows 2000/XP/Vista или доменах более поздних версий этой операционной системы. Протокол аутентификации используется для транспортировки запросов аутентификации и последующих транзакций между экраном регистрации и службой аутентификации. Чуть ниже каждый протокол аутентификации будет рассмотрен отдельно.
Рис.2. Компоненты, участвующие в процессе аутентификации.
При интерактивном входе в систему (в отличие от входа через сеть) происходит взаимодействие с процессами Winlogon, Lsass, одним или несколькими пакетами аутентификации, а также SAM или Active Directory. Пакеты аутентификации (authentication packages) — это DLL-модули, выполняющие проверки, связанные с аутентификацией.
Windows использует два стандартных пакета аутентификации при интерактивном входе: Kerberos и MSV1_0.
Пакетом аутентификации Windows для интерактивного входа в домен является Kerberos.
Пакет MSV1_0 используется для интерактивного входа на локальные компьютеры.
Таким образом, пакетом аутентификации по умолчанию в автономной системе Windows является пакет — MSV1_0 (\Windows\System32\Msvl_0.dll).
Пакет аутентификации MSV1_0 принимает имя пользователя и хешированную версию пароля и посылает базе SAM запрос на получение информации из учетной записи, включая пароль, группы, в которые входит пользователь, и список ограничений по данной учетной записи. Сначала MSV1_0 проверяет ограничения, например разрешенное время или типы доступа. Если ограничения из базы данных SAM запрещают регистрацию пользователя в это время суток, MSV1_0 возвращает LSA статус отказа.
Далее MSV1_0 сравнивает хешированный пароль и имя пользователя с теми, которые хранятся в SAM.
Winlogon — процесс, отвечающий за взаимодействие с пользователем.
Он координирует вход, запускает первый процесс при входе в систему данного пользователя, обрабатывает выход из системы и управляет множеством других операций, имеющих отношение к защите, — вводом паролей при регистрации, сменой паролей, блокированием и разблокированием рабочих станций и т. д. Процесс Winlogon должен обеспечить невидимость операций, связанных с защитой, для других активных процессов. Так, Winlogon гарантирует, что в ходе этих операций недоверяемый процесс не сможет перехватить управление рабочим столом и таким образом получить доступ к паролю.
Winlogon получает имя и пароль пользователя через Graphical Identification and Authentication (GINA) DLL Стандартная GINA — \Windows\System32\ Msgina.dll. Msgina выводит диалоговое окно для входа в систему.
Позволяя заменять Msgina другими GINA-библиотеками, Windows дает возможность менять механизмы идентификации пользователей. Например, сторонний разработчик может создать GINA для поддержки устройства распознавания отпечатков пальцев и т.д.
Winlogon — единственный процесс, который перехватывает запросы на регистрацию с клавиатуры. Получив имя и пароль пользователя от GINA, Winlogon вызывает LSASS для аутентификации этого пользователя. Если аутентификация прошла успешно, процесс Winlogon активизирует оболочку. Схема взаимодействия между компонентами, участвующими в процессе регистрации, показана на слайде.