Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-2 Ідентифікація об'єктів та користувачів / лк / Лекция4 - идент и аут в windows.doc
Скачиваний:
129
Добавлен:
02.02.2021
Размер:
105.98 Кб
Скачать

11

Лекция №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 будет включен в маркер доступа.

Маркер доступа (МД) – идентификатор контекста защиты процесса или потока. Он наследуется всеми процессами, запущенными от имени пользователя.

Для защиты от НСД используются два элемента МД:

  1. SID пользователя и SIDы групп, в которые входит пользователь;

  2. Список привилегий (прав), сопоставленных с маркером.

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 активизирует оболочку. Схема взаимодействия между компонентами, участвующими в процессе регистрации, показана на слайде.