Kerberos体系是一种网络认证协议,其设计及的目的是通过密钥系统对客户机/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主句地址的信任,不要求网络上所有主句的物理安全,并假定网络上传送的数据包可以任意的被读取,修改和插入数据。在以上情况下,Kerberos体系作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密码)执行认证服务的。协议的安全主要依赖于参加者对时间的松散同步和短周期的叫做Kerberos票据的认证声明。下面是对协议的一个简化描述,它包括以下几个模:
- AS:认证服务器
- KDC:密钥分发中心(认证服务,票据授权)
- TGT:票据授权票据
- SGT:服务许可票据
- TGS:票据授权服务器
- SS:特定服务提供端
Kerberos流程:
1.客户机发送客户端名+TGS名到AS服务器。
2.AS在数据库中检查是否有客户保存。
3.如果用户存在则生成临时密钥K1。
4.将客户机密码生成HASH值做为KC(KeyClient)密钥加密k1,记为KC(K1)。
5.产生TGT信息,TGT信息也包