ssl证书鉴权服务器,SSL和Kerberos身份验证之间的区别?

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

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

有人可以帮忙吗?谢谢!

7个解决方案

32 votes

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

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

KovBal answered 2020-07-22T13:56:06Z

31 votes

SSL使用公共密钥加密:

您(或浏览器)具有公用/专用密钥对

该服务器也具有公共/私有密钥

您生成一个对称的会话密钥

您使用服务器的公共密钥加密,然后将此加密的会话密钥发送到服务器。

服务器使用其私钥解密加密的会话密钥。

您和服务器开始使用对称会话密钥进行通信(基本上是因为对称密钥更快)。

Kerberos不使用公共密钥加密。 它使用受信任的第三方。 这是一个草图:

你们(服务器和客户端)都向可信的第三方证明您的身份(通过秘密)。

当您要使用服务器时,请检查并确认服务器是可信任的。 同时,服务器检查您是否值得信任。 现在,相互保证彼此的身份。 您可以与服务器通信。2

Chris answered 2020-07-22T13:57:06Z

24 votes

简而言之,Kerberos是一种协议,用于通过受信任的第三方为客户端和服务器建立相互身份信任或身份验证,而SSL仅在已建立其公钥的情况下确保对服务器的身份验证 通过其他渠道值得信赖。 两者都提供服务器与客户端之间的安全通信。

给定客户端C,服务器S和C和S都信任的第三方T,从更正式的角度讲(但无需深入研究数学证明):

在Kerberos身份验证之后,将确定:

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容易受到中间人攻击,在这种情况下,第三方可以通过使用两个独立的安全通道向C和S中继通信,从而假装自己是S到C。 Kerberos身份验证,窃听者必须同时伪装为S和C的T。但是,请注意,根据Kerberos的目标,信任集仍未中断,因为根据前提条件“ C和S,最终状态仍然正确” 信任T”。

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

Yang Zhao answered 2020-07-22T13:58:38Z

4 votes

简而言之:

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

“没有标准的API可以访问这些消息。 Windows Vista,Microsoft不为用户提供一种机制 产生KRB_PRIV或KRB_SAFE消息的应用程序。”-从 [http://www.kerberos.org/software/appskerberos.pdf]

相反,SSL和TLS通常不会将Windows的域登录名传输并证明给服务器,而Kerberos会这样做。

Nashev answered 2020-07-22T13:59:13Z

2 votes

一个简单的答案:SSL和Kerberos都使用加密,但是SSL使用在会话期间未更改的密钥,而Kerberos使用多个密钥来加密客户端和客户端之间的通信。

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

Martin08 answered 2020-07-22T13:59:38Z

1 votes

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

与此同时:SSL用于通过公用密钥加密建立服务器服务器身份验证。

SErik answered 2020-07-22T14:00:03Z

1 votes

从[https://www.eldos.com/security/articles/7240.php?page=all,]

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

如果您想确保没有人可以阅读或篡改它,那么正确的选择是使用TLS或其他基于它的协议。 使用TLS来确保HTTP承载的万维网流量安全的TLS使用的一个很好的例子。 为了安全地传输文件,您可以使用FTPS,并考虑到SMTP(尽管它代表“简单”邮件传输协议,而不是“安全”)也可以使用TLS保护。

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

Ahmed MANSOUR answered 2020-07-22T14:00:40Z

本文链接:https://my.lmcjl.com/post/13839.html

展开阅读全文

4 评论

留下您的评论.