Skip to content

NTLM

什么是NTLM协议

NTLM 是 Microsoft 创建的身份验证协议的集合。NTLM 最初是一种专有协议,后来可用于不使用 Windows 的系统。NT LAN Manager 允许不同的计算机和服务器进行相互验证。大多数网络试图拒绝未经授权的用户访问,这需要实施身份验证机制。

该协议要求通过提供用户名和相应的密码来对客户端进行身份验证。这允许在用户的设备和服务器之间建立交换。在识别出用户的登录凭据后,服务器可以检查访问权限并允许用户进入。

NTLM身份验证如何工作? NTLM 使用 challenge-response 协议检查网络用户的凭证。认证过程经过以下几个步骤 1、客户端向主机发送用户名。 2、主机响应一个随机数(即challenge)。 3、客户端从这个数字和用户的密码生成一个哈希密码值,然后将它作为响应发送回来。 4、主机知道用户的密码并生成一个散列密码值,然后它可以与客户端的响应进行比较。 5、如果两个值都匹配,则确认客户端的真实性,并授予网络访问权限。如果值之间不匹配,则客户端将被拒绝访问。

在客户端和主机之间的交换过程中,信息以 NTLM 标志的形式部分中继。这些是长度为 4 个字节的代码。协商标志有时彼此之间仅相差一个字节,提供有关登录过程状态的信息。

NTLM的应用 多台 Windows机器相互连接或连接到服务器 Windows使用NTLM作为单点登录进程(SSO),用户只需登录一次即可访问域内各种程序。 已过时,改用Kerberos。新的身份验证协议更安全,旧的服务仍在使用NTLM。

NTLM优缺点 通过 NTLM 进行的身份验证不需要用户通过网络发送未受保护的密码。 从客户端到服务器的密码传递仅以散列值的形式完成,这提供了高级别的安全性。但是,散列值的缺点是等同于密码。如果传输被截获,系统承诺的安全性可能会受到损害。密码通过MD4加密。这个过程现在被认为是不安全的,因为这些散列值可以用相对较少的努力来解密。 另一个缺点是 NTLM不包括多因素身份验证(MFA)。建议实施多种安全机制,尤其是在共享敏感数据时。NTLM 中的质询-响应协议仅允许一种身份验证方法:使用用户名和密码的方法。