NTLM 身份验证

NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容。Windows 2000内置三种基本安全协议之一。 安全

  在网络环境中,NTLM 用做身份验证协议以处理两台计算机(其中至少有一台计算机运行 Windows NT 4.0 或更早版本)之间的事务。具备此配置的网络称为“混合模式”,这是 Windows Server 2003 家族中的默认设置。 服务器

  例如,如下配置将使用 NTLM 做为身份验证机制: 网络

  Windows 2000 或 Windows XP Professional 客户端向 Windows NT 4.0 的域控制器验证身份。
  Windows NT 4.0 Workstation 客户端向 Windows 2000 或 Windows Server 2003 域控制器验证身份。 ide

  Windows NT 4.0 Workstation 客户端向 Windows NT 4.0 域控制器验证身份。 加密

  Windows NT 4.0 域中的用户向 Windows 2000 或运行 Windows Server 2003 家族的域验证身份。事务

   运行向任何域控制器验证身份的 Windows 9五、Windows 98 或 Windows Millennium Edition 的客户端。 

  另外,NTLM 是为没有加入到域中的计算机(如独立服务器和工做组)提供的身份验证协议。工作流

 

NTLM工做流程是这样的:

一、客户端首先在本地加密当前用户的密码成为密码散列
二、客户端向服务器发送本身的账号,这个账号是没有通过加密的,明文直接传输
三、服务器产生一个16位的随机数字发送给客户端,做为一个 challenge(挑战)
四、客户端再用加密后的密码散列来加密这个 challenge ,而后把这个返回给服务器。做为 response(响应)
五、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
六、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,而后使用这个密码散列来加密 challenge。
七、域控制器比较两次加密的 challenge ,若是同样,那么认证成功。it