
- •Тема: " Идентификация и аутентификация в операционных системах Windows"
- •1.Этапы идентификации и аутентификации пользователя, реализуемые ос Windows
- •1. Идентификация
- •2. Аутентификация
- •3 Авторизация
- •4.Отчетность
- •Локальная и доменная регистрация
- •2. Протоколы аутентификации Windows Задачи протоколов аутентификации Windows
- •Протоколы аутентификации Windows
- •Протоколы lan Manager и nt
- •Протокол ntlm
- •Протоколы ntlMv1 и ntlMv2
Протоколы lan Manager и nt
Компания IBM разработала протокол LAN Manager, применив его в ранних версиях Windows и сетях Windows. Как все протоколы аутентификации Microsoft, LAN Manager генерирует хеш паролей (LM hash), который хранится и используется отправителем и получателем в процессе аутентификации.
LM-хеши используются для совместимости с другим программным обеспечением корпорации Microsoft (Windows for Workgroups, Windows и Lan Manager) и хранятся в базе данных SAM в стандарте Lan Manager.
LAN Manager формирует LM-хеши следующим образом.
1.Все буквенные символы исходной строки пользовательского пароля приводятся к верхнему регистру.
2.Если пароль содержит меньше 14 символов, то он дополняется нулями.
3.Из каждой 7-байтовой половины преобразованного таким образом пароля пользователя отдельно формируется ключ для шифрования фиксированной 8-байтовой последовательности по DES-алгоритму.
4.Полученные в результате две 8-байтовые половины хешированного пароля Lan Manager еще раз шифруются по DES-алгоритму (при этом в качестве ключа используется RID пользователя) и помещаются в базу данных SAM.
Если раньше LAN Manager был вполне приемлем, то сейчас он считается очень ненадежным. С помощью специальных инструментов пароли, зашифрованные методом хеширования LAN Manager, можно всего за несколько секунд преобразовать в исходный текст.
LM-хешам свойственны принципиальные недостатки, а также имеется ряд уязвимых мест:
для составления пароля можно использовать только 128 символов ASCII;
длина пароля не должна превышать 14 символов;
если пароль содержит менее 14 символов, то отсутствующие символы заменяются нулями, что позволяет точно определить длину пароля;
перед хешированием LAN Manager преобразует все буквенные символы пароля в верхний регистр.
Почему LAN Manager до сих пор не вышел из употребления? В целях обратной совместимости он активен по умолчанию во всех компьютерах Windows, в том числе Windows Server 2003. В новейших базах данных аутентификации Windows слабый LM-хеш хранится наряду с более надежными, просто на случай, если придется выполнить транзакцию LAN Manager.
Если на предприятии не используются другие приложения, требующие аутентификации LAN Manager, то можно (и нужно) LAN Manager отключить.
NT-хеш формируется следующим образом.
1.Строка символов пользовательского пароля хешируется с помощью функции MD4. В итоге из символьного пароля, введенного пользователем, получается 16-байтовая последовательность — хешированный пароль Windows.
2.Данная последовательность затем шифруется по DES-алгоритму 5, и результат шифрования сохраняется в базе данных SAM. При этом в качестве ключа шифрования используется так называемый относительный идентификатор пользователя (Relative Identifier, RID), который представляет собой автоматически увеличивающийся порядковый номер учетной записи данного пользователя в базе данных SAM.
Протокол ntlm
С появлением Windows NT компания Microsoft спроектировала и развернула более надежный протокол аутентификации NTLM.
Протокол NTLM является закрытым протоколом компании Microsoft, вся имеющаяся о нём информация была получена методом reverse engineering (обратный анализ). Он применяется практически всегда, когда не возможно использование протокола Kerberos, например, вне домена Active Directory. Впервые данный протокол появился в Windows NT 3.5.
В NTLM используется более эффективный алгоритм аутентификации, который создает более надежный хеш паролей (NTLM hash). Пароль NTLM может содержать до 128 символов. В отличие от LAN Manager, ограниченного использованием только 128 символов ASCII, NTLM совместим с полным набором символов Unicode, что повышает сложность паролей.
Протокол NTLM функционирует следующим образом:
Пользователь указывает имя пользователя, пароль и имя домена при входе на компьютер-клиент.
Клиент создает хеш данного пароля и удаляет оригинал.
Клиент отправляет серверу имя пользователя в открытом виде.
Сервер отправляет клиенту 16-битный фрагмент случайных данных.
Клиент шифрует этот фрагмент, шифрует хеш пароля пользователя и передает их на сервер.
Сервер передает имя пользователя, случайный фрагмент данных и ответ клиента на контроллер домена.
Контроллер домена шифрует отрезок случайных данных вместе со своим собственным хешем пароля пользователя, после чего сравнивает их с элементами, присланными сервером.
Если значения совпадают, контроллер домена уведомляет сервер об успешном завершении аутентификации.
Если значения или имя пользователя не совпадают, контроллер домена уведомляет об этом сервер, который передает клиенту соответствующее сообщение. После этого браузер клиента запрашивает у пользователя аутентификационные данные.