Kerberos是一项认证服务,主要解决在公开分布式环境中,工作站上的用户希望访问分布在网络上的服务器,希望服务器能限制授权用户的访问,并对服务请求进行认证。
在任何情况下,一个未授权的用户能够访问未被授权访问的服务器或打断正在进行中的操作。Kerberos不是建立一个精密的认证协议,而是提供一个集中的认证服务器,其功能是实现应用服务器与用户间的相互认证。
Kerberos安全机制如下:
AS(Authentication Server):认证服务器,为用户发放TGT的服务器。
TGS(Ticket Granting Server):票证服务器,负责发放访问应用服务器时需要的票证。认证服务器和票据授予服务器组成密钥分发中心KDC(Key Distribution Center)。
V:用户请求访问的应用服务器。
TGT(Ticket Granting Ticket):用户向TGS证明自己身份的初始票据,即KTGS(A,KS)。
认证过程如下:
- 用户向KDC申请初始票据。
- KDC向用户发放TGT会话票据。
- 用户向TGS请求会话票据。
- TGS验证用户身份后发放给用户会话票据KAV。
- 用户向应用服务器请求登录。
- 应用服务器向用户验证时间戳。