IIS集成的Windows身份验证模块实现了两个主要的身份验证协议:NTLM和Kerberos身份验证协议。它调用三个不同的安全服务提供程序(SSP):Kerberos,NTLM和协商。这些SSP和身份验证协议通常在Windows网络上可用并使用。 NTLM实现NTLM身份验证,而Kerberos实现Kerberos v5身份验证。协商是不同的,因为它不支持任何身份验证协议。由于集成Windows身份验证包括几种身份验证协议,因此它需要一个协商阶段,然后才能在Web浏览器和服务器之间进行实际的身份验证。在此协商阶段,协商SSP确定在Web浏览器和服务器之间使用哪种身份验证协议。

两种协议都非常安全,并且它们能够对客户端进行身份验证,而无需通过网络以任何形式传输密码,但是它们受到限制。 NTLM身份验证不适用于HTTP代理,因为它需要Web浏览器和服务器之间的点对点连接才能正常运行。 Kerberos身份验证仅在IE 5.0浏览器和IIS 5.0 Web服务器或更高版本上可用。它仅在运行Windows 2000或更高版本的计算机上工作,并且需要在防火墙上打开一些其他端口。 NTLM不如Kerberos安全,因此始终建议尽可能使用Kerberos。让我们看一下两者有什么区别。

NTLM和Kerberos的区别

什么是NTLM?

NT LAN Manager是非Active Directory域成员的Windows计算机使用的基于质询响应的身份验证协议。客户端基于客户端与服务器之间的三向握手,通过质询/响应机制启动身份验证。客户端通过向服务器发送一条指定其加密功能并包含用户帐户名的消息来开始通信。服务器生成一个称为随机数的64位随机值,并通过返回包含有关其自身功能信息的随机数来响应客户端的请求。这种响应称为挑战。然后,客户端使用质询字符串及其密码来计算响应,并将其传输到服务器。然后,服务器验证从客户端收到的响应,并将其与NTLM响应进行比较。如果两个值相同,则认证成功。

什么是Kerberos?

Kerberos是属于Active Directory域成员的Windows计算机使用的基于票证的身份验证协议。 Kerberos身份验证是内部IIS安装的最佳方法。 Kerberos v5身份验证是由MIT设计并在RFC 1510中定义的。Windows 2000及更高版本在部署Active Directory时实现Kerberos。最好的部分是,它将每个用户要记住的使用整个网络的密码数量减少到一个Kerberos密码。此外,它还结合了加密和消息完整性功能,以确保绝不会通过网络明文发送敏感的身份验证数据。 Kerberos系统通过一组集中式密钥分发中心或KDC进行操作。每个KDC都包含用户和启用Kerberos的服务的用户名和密码的数据库。

NTLM和Kerberos的区别

  • NTLM和Kerberos协议
    NTLM是非Active Directory域成员的Windows计算机使用的基于质询响应的身份验证协议。客户端基于客户端与服务器之间的三向握手,通过质询/响应机制启动身份验证。另一方面,Kerberos是基于票证的身份验证协议,仅在运行Windows 2000或更高版本且在Active Directory域中运行的计算机上有效。两种认证协议均基于对称密钥加密。

支持
两种身份验证协议之间的主要区别之一是Kerberos支持模拟和委派,而NTLM仅支持模拟。委派与假冒基本上是相同的概念,后者仅代表客户的身份执行操作。但是,模拟仅在一台计算机的范围内起作用,而委派在整个网络中也起作用。这意味着,如果原始访问的服务器具有此权限,则可以将原始客户端身份的身份验证票证传递到网络中的另一台服务器上。

安全
虽然两种身份验证协议都是安全的,但NTLM不如Kerberos安全,因为它需要Web浏览器和服务器之间的点对点连接才能正常运行。 Kerberos更安全,因为它从不通过网络传输明文密码。它使用票证的独特之处在于,它可以证明用户在给定服务器上的身份,而无需通过网络发送密码或将密码缓存在本地用户的硬盘上。 Kerberos身份验证是内部IIS安装(仅由域客户端使用的网站)的最佳方法。

认证方式
Kerberos相对于NTLM的主要优点之一是Kerberos提供了相互身份验证,并针对客户端-服务器模型,这意味着客户端和服务器的真实性均得到验证。但是,服务和客户端都必须在Windows 2000或更高版本上运行,否则身份验证将失败。与仅涉及IIS7服务器和客户端的NTLM不同,Kerberos身份验证也涉及Active Directory域控制器。

总结

虽然这两种协议都能够在不通过任何形式通过网络传输密码的情况下认证客户端的功能,但是NTLM通过基于客户端与服务器之间的三路握手的质询/响应机制来认证客户端。另一方面,Kerberos是一种基于票证的身份验证协议,它比NTLM更安全,并且支持相互身份验证,这意味着客户端和服务器的身份均经过验证。此外,Kerberos支持模拟和委派,而NTLM仅支持模拟。 NTLM不如Kerberos安全,因此始终建议尽可能使用Kerberos。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:NTLM和Kerberos
本文链接:https://www.vsdiffer.com/vs/ntlm-vs-kerberos.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。