Я путаю NTLM и NTLM (в сети)

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

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

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

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

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

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


person Borja    schedule 17.05.2011    source источник


Ответы (2)


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

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

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

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

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

person Edward Thomson    schedule 18.05.2011

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

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

person Ken White    schedule 17.05.2011
comment
Я проверил статью в Википедии несколько недель назад. Как видите, оно начинается с «В сети Windows». Я хочу знать разницу между NTLM в сети и шифрованием NTLM, когда пользователь вводит свой пароль на своем компьютере и входит в систему (или нет). - person Borja; 17.05.2011
comment
Это также объясняется в статье. В нем говорится об использовании NTLM (теперь NTLM2) в обстоятельствах, когда домен недоступен или когда аутентификация выполняется через IP-адрес. Прочитайте всю статью; это отвечает на каждый вопрос или комментарий, который вы сделали до сих пор. На самом деле, комментарий, который вы сделали в ответ на мой ответ, рассматривается в первом разделе (последний абзац, начинающийся с «Пока Kerberos»). - person Ken White; 18.05.2011
comment
Но в статье в Википедии NTLM обсуждается только как протокол аутентификации (по сети), в ней не обсуждается алгоритм хэширования NTLM, используемый для файла SAM. - person Edward Thomson; 18.05.2011
comment
Да, это то, что я пытаюсь сказать, Эдвард. Я хочу сравнить оба. - person Borja; 18.05.2011
comment
Да, мое заявление было указано для Кена Уайта. Борха, пожалуйста, смотрите мой ответ ниже. - person Edward Thomson; 18.05.2011