
- •Тема: " Идентификация и аутентификация в операционных системах Windows"
- •1.Этапы идентификации и аутентификации пользователя, реализуемые ос Windows
- •1. Идентификация
- •2. Аутентификация
- •3 Авторизация
- •4.Отчетность
- •Локальная и доменная регистрация
- •2. Протоколы аутентификации Windows Задачи протоколов аутентификации Windows
- •Протоколы аутентификации Windows
- •Протоколы lan Manager и nt
- •Протокол ntlm
- •Протоколы ntlMv1 и ntlMv2
Протоколы ntlMv1 и ntlMv2
В последствии выяснилось, что и NTLM уязвим, и специалисты Microsoft подготовили протокол NTLMv2, который до сих пор считается достаточно надежным.
В хеше пароля NTLMv2 используется аутентификация сообщений HMAC-MD5, а последовательности запрос-ответ присваивается метка времени, чтобы предотвратить атаки, в ходе которых взломщик записывает учетные данные и впоследствии их использует.
В целом NTLMv2 более устойчив к атакам с применением «грубой силы», нежели NTLM, так как в протоколе применяется 128-разрядный ключ шифрования.
Первая версия протокола используется до сих пор и сейчас известна под названием NTLMv1. Аутентификация выполняется следующим образом:
1.Клиент отправляет серверу запрос на аутентификацию.
2.В ответ на запрос сервер отвечает случайным 8-байтным числом – server challenge.
3.Клиент формирует 16-байтный NT хеш пароля, дополняет его нулями до 21-ого байта и полученную последовательность разбивает на 3 части по 7 байтов. Каждая из этих частей используется как ключ для независимого шифрования ответа сервера алгоритмом DES. Три полученных шифрованных последовательности соединяются в одно 24-байтное значение, которое отправляется серверу.
4.Сервер выполняет аналогичное преобразование своего ответа, используя свою версию NT хеша. Если полученное значение совпадает с ответом клиента, то аутентификация считается успешной.
Протокол NTLMv2 начиная с Windows Vista, является основным и включен в конфигурации по умолчанию. Это означает, что данные операционные системы по умолчанию не посылают запросов и откликов по протоколу NTLMv1. Данная версия протокола сложнее и надёжнее. Её можно описать следующим образом:
1.Клиент отправляет серверу запрос на аутентификацию.
2.В ответ на запрос сервер отвечает случайным 8-байтным числом – server challenge.
3.Клиент формирует NT хеш пароля, дополняет его именами пользователя и домена и вычисляет для этих идентификационных данных HMAC-MD5 хеш. Затем он генерирует 8-байтное случайное число (client challenge). Эта информация будет использоваться для формирования двух частей ответа.
4.Первая часть ответа включает хеш идентификационных данных, полученных на шаге 3, и два числа - server challenge и client challenge. Эти данные сообща хешируются алгоритмом HMAC-MD5, после чего клиент приписывает к ним client challenge в открытом виде (это необходимо, чтобы сервер мог выполнить проверку).
5.Вторая часть ответа включает хеш идентификационных данных, server challenge и client challenge 2. Как и в случае первой части данные хешируются алгоритмом HMAC-MD5, после чего в конец дописывается client challenge 2 в открытом виде. В свою очередь client challenge 2 содержит следующие данные: фиксированный заголовок, текущее время, client challenge и имя домена.
6. Обе части отправляются серверу.
7. Сервер формирует аналогичные хеши, используя свою версию NT хеша пароля пользователя, имена пользователя и домена и переданные в открытом виде числа - client challenge и client challenge 2. Если полученное значение совпадает с ответом клиента, то аутентификация считается успешной.