SSL和Kerberos身份验证之间的区别?

时间:2008-09-21 16:44:32

标签: ssl kerberos traffic netmon

我试图了解SSL和Kerberos身份验证之间的实际区别是什么,以及为什么有时我同时拥有SSL流量和Kerberos。 或者Kerberos是否以任何方式使用SSL?

有人可以帮忙吗? 谢谢!

7 个答案:

答案 0 :(得分:31)

虽然KerberosSSL都是协议,但Kerberos是一种身份验证协议,但SSL是一种加密协议。 Kerberos使用UDP,SSL使用(大部分时间)TCP。通过检查服务器以及嵌入在RSA内容中的客户端ECDSAX.509 certificates密钥,通常完成SSL身份验证。您已通过证书和相应密钥进行身份验证。使用Kerberos,您可以通过密码或其他方式进行身份验证。例如,Windows uses Kerberos在域中使用时。

相关说明:最新版本的SSL称为传输层安全性的TLS。

答案 1 :(得分:31)

SSL使用公钥加密:

  1. 您(或您的浏览器)拥有公钥/私钥对
  2. 服务器也有公钥/私钥
  3. 您生成对称会话密钥
  4. 使用服务器的公钥进行加密,并将此加密的会话密钥发送到服务器。
  5. 服务器使用其私钥解密加密的会话密钥。
  6. 您和服务器开始使用对称会话密钥进行通信(主要是因为对称密钥更快)。
  7. Kerberos不使用公钥加密。它使用受信任的第三方。这是一个草图:

    1. 您(服务器和客户)都向受信任的第三方证明您的身份(通过秘密)。
    2. 如果要使用服务器,请检查服务器是否值得信任。同时,服务器检查您是否值得信赖。现在,相互保证彼此的身份。您可以与服务器通信。 2

答案 2 :(得分:24)

简而言之,Kerberos是一种通过受信任的第三方为客户端和服务器建立相互身份信任或身份验证的协议,而SSL仅确保服务器的身份验证,并且只有在其公钥具有已经通过另一个渠道建立了可靠的信誉。两者都提供服务器和客户端之间的安全通信。

更正式(但没有进入数学证明),给定客户端 C ,服务器 S 和第三方 T C S 信任:

在Kerbeos身份验证之后,确定:

  • C 认为 S 是其打算联系的人
  • S 认为 C 是其声称的
  • C 认为它与 S的安全连接
  • C 认为 S 认为它与 C的安全连接
  • S 认为它与 C 的安全连接
  • S 认为 C 认为它与 S的安全连接
另一方面,SSL只确定:

  • C 认为 S 是其打算联系的人
  • C 认为它与 S的安全连接
  • S 认为它与 C的安全连接

显然,Kerberos建立了更强大,更完整的信任关系。

此外,要通过SSL建立 S 的身份, C 需要有关 S 的先验知识,或者需要外部方式来确认此信任。对于大多数人的日常使用,这将以根证书的形式,以及将来用于交叉引用的 S 证书的缓存。

如果没有这些先验知识,SSL很容易受到中间人攻击,第三方可以通过以下方式假装 S C 使用2个独立的安全通道中继它们之间的通信 C S 。要破坏Kerberos身份验证,窃听者必须将 T 伪装成 S C 。但请注意,根据Kerberos的目标,信任集仍然是不间断的,因为根据前提条件“ C S 信任,最终状态仍然是正确的Ť”。

最后,正如评论中指出的那样,Kerberos可以并且已经扩展为使用类似SSL的机制来建立 C T之间的初始安全连接

答案 3 :(得分:4)

简而言之:

Kerberos通常不会加密传输数据,但SSL和TLS会加密。

  

“没有用于访问这些消息的标准API   Windows Vista,Microsoft没有为用户提供机制   用于生成KRB_PRIV或KRB_SAFE消息的应用程序。“ - 来自   http://www.kerberos.org/software/appskerberos.pdf

相反,SSL和TLS通常不会将您的Windows域登录名转移并证明服务器,但Kerberos会这样做。

答案 4 :(得分:1)

简短回答:SSL和Kerberos都使用加密,但SSL使用的密钥在会话期间保持不变,而Kerberos使用多个密钥加密客户端和客户端之间的通信。

在SSL中,加密由通信的两端直接处理,而在Kerberos中,加密密钥由客户端和服务器之间的第三方(某种中间人)提供。

答案 5 :(得分:1)

来自http://web.mit.edu/kerberos/: Kerberos由麻省理工学院创建,作为解决这些网络安全问题的解决方案。 Kerberos协议使用强加密技术,以便客户端可以通过不安全的网络连接向服务器(反之亦然)证明其身份。在客户端和服务器使用Kerberos证明其身份后,他们还可以加密所有通信,以确保他们开展业务时的隐私和数据完整性。

同时: SSL用于通过公钥加密建立服务器< - >服务器认证。

答案 6 :(得分:0)

来自https://www.eldos.com/security/articles/7240.php?page=all

Kerberos和TLS不是要比较的东西。他们有不同的目标和不同的方法。在我们文章的开头,我们提到了常见问题,如“哪个更好”和“选择什么”。前者根本不是一个问题:如果你以正确的方式使用它,没有什么比这更好了,一切都很好。后一个问题值得认真考虑:选择什么取决于你拥有什么和你想要什么。

如果您想在没有人可以阅读或篡改通信的情况下保护您的通信,也许正确的选择是使用TLS或基于它的一些其他协议。保护HTTP承载的万维网流量的TLS使用的一个很好的例子是使用HTTPS。对于安全文件传输,您可以使用FTPS,并考虑到SMTP(虽然它代表“简单”邮件传输协议,而不是“安全”)也可能受到TLS保护。

另一方面,如果您需要管理用户对服务的访问权限,则可能需要使用Kerberos。例如,想象一下,您有多个服务器,如Web服务器,FTP,SMTP和SQL服务器,以及可选的其他东西,一台主机上的所有内容。某些客户端可以使用SMTP和HTTP,但不允许使用FTP,其他客户端可能使用FTP但无权访问您的数据库。这正是Kerberos即将使用的情况,您只需在Authentication Server中描述用户权限和管理策略。