Windows I';我混淆了NTLM和NTLM(在网络上)

Windows I';我混淆了NTLM和NTLM(在网络上),windows,encryption,ntlm,Windows,Encryption,Ntlm,我正在做一个关于Windows密码的小调查,我有一个小问题 Windows加密用户密码并将其存储在:C:\Windows\system32\config\SAM通过NTLM算法(加上Syskey)加密用户密码 NTLM也是一种网络身份验证协议,所以我搞砸了 我想知道NTLM加密是否与NTLM网络协议相同。我的意思是,在Windows中,当您键入用户和密码时,如果系统在同一系统(本地主机)上启动网络协议,就像它们是太不同的计算机(ip)一样 或者,如果它们是同名的两个不同的东西。 如果有人能给我解

我正在做一个关于Windows密码的小调查,我有一个小问题

Windows加密用户密码并将其存储在:
C:\Windows\system32\config\SAM
通过NTLM算法(加上Syskey)加密用户密码

NTLM也是一种网络身份验证协议,所以我搞砸了

我想知道NTLM加密是否与NTLM网络协议相同。我的意思是,在Windows中,当您键入用户和密码时,如果系统在同一系统(本地主机)上启动网络协议,就像它们是太不同的计算机(ip)一样

或者,如果它们是同名的两个不同的东西。 如果有人能给我解释一下这两种方法的不同,那就太好了

希望你能理解我的问题,因为我不是英国人

提前谢谢

NTLM不是网络协议。这是一个认证协议。它们是完全不同的东西


这里有一个很好的讨论。请特别注意,NTLM已不再使用(它已被Kerberos和NTLM2所取代,这两者在链接文章中均有定义和讨论)。

免责声明:我为Microsoft工作,但不在Windows或任何开发NTLM的团队中工作。这些知识来自外部来源,因此可能不准确

NTLM是两件事:单向散列算法和身份验证协议

单向散列函数是Windows操作系统用来存储密码的函数(如您所注意的,存储在机密文件中)。当然,这是为了使明文密码不必存储在磁盘上。当您在登录屏幕上键入密码时,它将使用NTLM哈希算法进行哈希运算,并与机密文件中的现有哈希进行比较。如果它们匹配,您将被验证。否则,系统将提示您再次输入密码

身份验证协议是一种质询/响应协议,用于对某些有线协议(如CIFS或HTTP)进行身份验证。该算法利用前面提到的NTLM哈希算法,根据用户键入的密码构建对服务器挑战的响应。NTLM身份验证协议的协议规范可从Microsoft的开放规范许可证获得


为了回答您的问题,当您登录到Windows时,很可能只是使用NTLM哈希并对照磁盘上的文件进行检查,而不是进行一些网络调用。当然,如果您的计算机碰巧是一个域控制器(并且不知何故,无法执行Kerberos),那么它可能会通过网络对本地主机执行NTLM身份验证,但这是一个非常做作的示例。当然,如果您访问本地计算机上的网络资源(例如,CIFS文件共享或访问网站),那么您将使用网络身份验证协议,而不是直接访问机密文件。

几周前我查看了维基百科的文章。正如您所看到的,它以“在Windows网络中…”开头。我想知道当用户在计算机上键入密码并登录(或不登录)时,网络上的NTLM和NTLM加密之间的区别。文章中也解释了这一点。它讨论了在域不可用或通过IP地址进行身份验证的情况下使用NTLM(现在的NTLM2)。阅读整篇文章;它回答了你迄今为止提出的每一个问题或评论。事实上,您在回答我的问题时所做的评论在第一节(最后一段以“While Kerberos”开头)中有提及。但是维基百科的文章只讨论了NTLM作为一种身份验证协议(通过网络),没有讨论用于SAM文件的NTLM哈希算法。是的,这就是我想要说的。我想在两者之间做一个比较。是的,我的陈述是针对肯·怀特的。Borja,请看下面我的答案。