Я путаю между NTLM и NTLM (в сети) - PullRequest
1 голос
/ 17 мая 2011

Я провожу небольшое исследование о пароле Windows, и у меня есть небольшой вопрос.

Windows шифрует пароли пользователей и сохраняет их на: C:\WINDOWS\system32\config\SAM шифрует их по алгоритму NTLM (плюс Syskey)

NTLM - это также протоколы сетевой аутентификации, так что я все испортил.

Я хотел бы знать, совпадает ли NTLM шифрование с сетевым протоколом NTLM . Я имею в виду, что в Windows, когда вы вводите имя пользователя и пароль, если система запускает сетевой протокол в той же системе (localhost), как если бы это были слишком разные компьютеры (ip).

Или иначе, если это две разные вещи с одинаковым именем. Было бы замечательно, если бы кто-нибудь мог дать мне небольшое объяснение различия обоих методов.

Надеюсь, вы понимаете мой вопрос, так как я не англичанин!
Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

Отказ от ответственности: я работаю на Microsoft, но не на Windows или какую-либо команду, которая разработала NTLM.Это знание исходит из внешних источников и, следовательно, может быть неточным.

NTLM - это две вещи: односторонний алгоритм хеширования и протокол аутентификации.

Односторонняя хеш-функция - это то, чтоОС Windows использует для хранения паролей (в файле секретов, как вы заметили). Это, конечно, так, что незашифрованные пароли не должны храниться на диске.Когда вы вводите свой пароль на экране входа в систему, он будет хешироваться с помощью алгоритма хеширования NTLM и сравниваться с существующим хешем в файле секретов.Если они совпадают, вы будете аутентифицированы.Если нет, вам будет предложено ввести свой пароль еще раз.

Протокол аутентификации - это протокол запроса / ответа, который аутентифицирует некоторый протокол на проводе, такой как CIFS или HTTP.Алгоритм использует вышеупомянутые алгоритмы хеширования NTLM для построения ответов на запросы сервера на основе пароля, введенного пользователем.Спецификация протокола для протокола аутентификации NTLM доступна от Microsoft по лицензии Open Specification.

Чтобы ответить на ваш вопрос, при входе в Windows он, скорее всего, просто использует хэш NTLM и проверяет его на соответствиефайл на диске, не делая сетевой вызов.Конечно, если ваша машина оказалась контроллером домена (и каким-то образом не смогла выполнить Kerberos), то она может выполнить NTLM-аутентификацию по сети на localhost, но это довольно надуманный пример.Конечно, если вы подключаетесь к сетевому ресурсу на этом локальном компьютере (например, к файлу CIFS или к веб-сайту), вы будете использовать протокол сетевой аутентификации, а не переходить непосредственно к файлу секретов.

0 голосов
/ 17 мая 2011

NTLM не является сетевым протоколом. Это протокол аутентификации. Это совершенно разные вещи.

Здесь довольно хорошее обсуждение NTLM . Обратите особое внимание на тот факт, что NTLM больше не используется (его заменили Kerberos и NTLM2, оба из которых определены и обсуждены в связанной статье).

...