1. Kerberos: 

Kerberos是一种基于票证的身份验证系统,用于在登录系统时对用户信息进行身份验证。Kerberos 基于对称密钥加密,依赖于可靠的第三方,并在身份验证阶段使用私钥加密。开发了不同版本的 Kerberos,以增强身份验证的安全性。Kerberos 通常在 Microsoft 产品(如 Windows 2000、Windows XP 和更高版本的 Windows 版本)中实现。

Kerberos 的优点:

  • 更强的安全性:Kerberos 使用对称密钥加密,这被认为比 NTLM 的基于哈希的身份验证更强大。
  • 单点登录 (SSO):Kerberos 启用 SSO,这意味着用户只需输入一次凭据即可访问多个资源。
  • 跨平台支持:Kerberos 是一种开放标准,可以在各种平台上使用,包括 Unix 和 Linux。

Kerberos 的缺点:

  • 复杂性:与 NTLM 相比,Kerberos 需要更多的配置和设置,这可能会使其更难部署和维护。
  • 需要时间同步:Kerberos 依赖于服务器之间的精确时间同步,这在大型分布式环境中可能是一个挑战。
  • 兼容性问题:某些较旧的应用程序和系统可能与 Kerberos 不兼容,这可能会限制其在某些环境中的使用。

2. NTLM : 

NTLM(新技术LAN Manager)是专有的Microsoft身份验证协议。NTLM 还基于对称密钥加密技术,需要资源服务器为用户提供身份验证、完整性和机密性。NTLM 不支持身份验证委派和双因素身份验证。NTLM 通常在早期的 Windows 版本(如 Windows 95、Windows 98、Windows ME、NT 4.0)中实现。

NTLM的优点:

  • 简单性:与 Kerberos 相比,NTLM 更易于配置和设置。
  • 广泛支持:许多应用程序和系统(包括旧版本的 Windows)都支持 NTLM。
  • 不依赖于时间同步:NTLM 不需要服务器之间的时间同步,这可以使其在某些环境中更容易实现。

NTLM的缺点:

  • 较弱的安全性:NTLM 使用基于哈希的身份验证,这被认为比 Kerberos 的对称密钥加密更弱。
  • 有限的 SSO 支持:NTLM 不支持 SSO,这意味着用户可能需要多次输入其凭据才能访问不同的资源。
  • 容易受到某些attack:NTLM 容易受到某些attack,例如传递哈希和传递票证attack,这些attack可能会危及安全性。

相似之处:

  • 这两种协议都为尝试访问网络资源的用户提供身份验证。
  • 这两种协议都依赖于使用哈希来存储和比较凭据。
  • 两种协议都支持相互身份验证,其中客户端和服务器相互身份验证。
  • 这两种协议都支持会话密钥,用于在身份验证后保护数据传输。
  • 这两种协议都包含在 Windows 操作系统中,并在 Windows 环境中广泛使用。

Kerberos 和 NTLM 之间的区别:

S.No

Kerberos(Kerberos)

NTLM的

1.

Kerberos 是一款开源软件,提供免费服务。

NTLM 是专有的 Microsoft 身份验证协议。

2.

Kerberos 支持在多层应用程序中委派身份验证。

NTLM 不支持身份验证委派。

3.

Kerberos 支持智能卡登录等双因素身份验证。

NTLM 不提供智能卡登录。

4.

Kerberos具有相互认证的功能。

NTLM 没有相互身份验证的功能。

5.

Kerberos 提供高安全性。

虽然与 Kerberos 相比,NTLM 的安全性较低。

6.

Kerberos 在 Microsoft Windows 2000、Windows XP 和更高版本的 Windows 中受支持。

早期的 Windows 版本(如 Windows 95、Windows 98、Windows ME、NT 4.0)也支持 NTLM。

7.

Kerberos 与各种平台和应用程序兼容

NTLM 主要设计用于 Microsoft Windows 系统和应用程序

 

8.

Kerberos 可以比 NTLM 更快,因为它使用轻量级票证和高效缓存

NTLM 可能比 Kerberos 慢,因为它使用了更复杂的身份验证机制

 

Kerberos 是一种身份验证协议,它使用票证对网络资源的用户进行身份验证。它通过使用对称和非对称加密来提供高安全性。Kerberos 支持单点登录,这允许用户访问多个资源,而无需重新输入其凭据。它是一种跨平台协议,可用于各种操作系统。

NTLM 是一种质询-响应身份验证协议,主要用于 Windows 系统。它仅使用对称加密提供中等安全性。NTLM 不支持单一登录,这意味着用户每次访问资源时都需要输入其凭据。NTLM 容易受到各种attack,包括重放attack和暴力attack。

Kerberos 比 NTLM 更快,因为它使用更少的网络资源,并且需要更少的身份验证请求。但是,NTLM 更易于实现,并且不需要集中式密钥分发中心。

在attack漏洞方面,Kerberos 被认为比 NTLM 更安全。Kerberos 使用哈希密码,这使得gongji者更难获取用户凭据。相比之下,NTLM 密码可以以纯文本形式存储,使其更容易受到attack。

结论:

Kerberos 和 NTLM 都是 Windows 环境中使用的重要身份验证协议。但是,Kerberos 更安全、可扩展且与现代系统兼容,而 NTLM 更易于配置和管理,并且适用于旧系统。两种协议之间的选择最终取决于组织的具体需求及其可用的资源。

来源:Difference between Kerberos and NTLM