在使用Active Directory的coporate环境中工作,我无意中听到有人发表评论说Kerberos protcol可以用于加密Windows服务器之间的网络通信。Kerberos能做到这一点吗?
我的理解是Kerberos是一种网络身份验证协议,其功能之一是允许服务器彼此进行身份验证。令牌是加密的,但除非实现SSL连接,否则服务器之间的网络通信不会是加密的。
发布于 2019-01-03 18:15:23
Kerberos被用作身份验证协议,但它基本上是一种密钥协议/交换协议。
当用户从应用服务器的Active获得票证时,将生成会话密钥并将其填充到请求中。应用服务器解密票证,现在拥有会话密钥。服务器可能会决定不信任该密钥,并最终告诉客户端使用新提供的密钥。
一旦客户端和服务器就密钥达成一致,他们就可以私下交流了。
不过,这有多个渔获量。Kerberos规范某种程度上规定了您如何来回发送数据,但它主要由开发人员来解决。Windows有一个实现,但是您不能像使用TLS那样控制参数。这意味着开发人员倾向于只获取密钥,将其派生到其他内容,并将其推入单独的协议中。
也就是说,您可能不希望将Kerberos用于安全通信。为了使代码安全运行,您必须在代码中构建大量的模板,而TLS已经为您处理了其中的大部分问题。
https://security.stackexchange.com/questions/200761
复制相似问题