为什么JAAS的Krb5LoginModule需要访问域控制器?

时间:2017-08-05 22:44:58

标签: java authentication alfresco kerberos jaas

根据我对Kerberos的理解,该协议旨在消除被访问的Kerberized服务和KDC进行任何形式通信的需要。这一假设在第4章第一段中得到证实here

  

此时,重要的是要强调应用程序服务器   从不直接与密钥分发中心通信:   服务票据,即使是由TGS打包,也只能到达服务   通过希望访问它们的客户。

现在我正在使用Java Kerberos服务,特别是Alfresco,它是使用JAAS及其'Krb5LoginModule实现的。但是,深入研究该LoginModule的源代码,它看起来像客户端而不是服务。它可以配置为使用票证缓存,它可以访问TGS,并且在被要求进行身份验证时首先执行的操作之一是发送AS_REQ请求,这是客户端在Kerberos中执行的第一步身份验证(如第四章所示)。它似乎没有做的是使用服务密钥source解密客户端的身份验证器。

看起来JAAS Kerberos服务只需获取客户端提供的凭据/密钥并将其发送到KDC以获取TGT即可处理身份验证。如果可以,那么凭证一定是好的。但是这样,JAAS需要访问KDC本身。 JAAS的Kerberos 5实现是否明显无法真正遵循协议? Oracle确实宣传JAAS及其“Kerberos支持”用于服务以验证其用户。

0 个答案:

没有答案