Windows集成(NTLM)身份验证与Windows集成(Kerberos)

时间:2011-07-19 08:42:29

标签: c# asp.net iis-6 kerberos ntlm

Windows集成(NTLM)身份验证和Windows集成(Kerberos)之间有什么区别?

如何在IIS6中实现这些

w.r.t。 MSDN

4 个答案:

答案 0 :(得分:12)

Kerberos和NTLM是用于验证用户密码的不同算法,而不会泄露服务器的密码。有关维基百科的NTLMKerberos的更多信息。

如果启用Windows身份验证,通常首选Kerberos,如果不可用,则会返回NTLM。

  • NTLM仅要求客户端与Web服务器通信才能进行身份验证。 Web服务器处理与域控制器的通信。这是公共可用站点的优势,其中无法从Internet访问DC。不幸的是,NTLM使用的加密技术已经过时,不再被认为是安全的。 NTLM只能用于https。
  • Kerberos要求客户端从域控制器获取票证,这使其更适合Intranet场景。然而,Kerberos更安全并且可以处理委托,其中Web服务器可以使用客户端的身份访问其他资源(例如)文件服务器。

答案 1 :(得分:3)

这是一个很好的链接:

http://msdn.microsoft.com/en-us/library/aa480475.aspx

此外,这将显示kerberos(Negotiate)是否已启用(在您的网络服务器上):

cscript adsutil.vbs get w3svc/nnn/NTAuthenticationProviders

注意:nnnn是MetaBase站点ID

过去kerberos给我带来了一些问题(当用户拥有太多权限时)导致错误请求' 400错误请求'错误

请参阅: http://blogs.technet.com/b/surama/archive/2009/04/06/kerberos-authentication-problem-with-active-directory.aspx

答案 2 :(得分:1)

NTLM(Windows质询/响应)是在包含运行Windows操作系统和独立系统的系统的网络上使用的身份验证协议.NTLM凭据基于在交互式登录过程中获取的数据并由域名组成,用户名和用户密码的单向哈希。

Kerberos是一种计算机网络身份验证协议,它基于票证工作,允许通过非安全网络进行通信的节点以安全的方式相互证明其身份。它基于客户端 - 服务器模型工作,并提供相互身份验证 - 用户和服务器都验证彼此的身份。

请参阅以下链接以获取明确信息。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa378749(v=vs.85).aspx

http://technet.microsoft.com/en-us/library/cc780469(v=ws.10).aspx

http://windowsitpro.com/security/comparing-windows-kerberos-and-ntlm-authentication-protocols

答案 3 :(得分:1)

Kerberos可以被认为是比NTLM更好的选择:
 1.认证速度更快  2.相互认证
 3. Kerberos是一个开放的标准  4.支持身份验证委派

以下链接是我研究此主题的最佳答案:

Comparing Windows Kerberos and NTLM Authentication Protocols