Kerberos 协议简介
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意的读取、修改和插入数据。在以上情况下,Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
Kerberos 协议框架
Kerberos 协议中主要有三个角色:
1、访问服务的 Client
2、提供服务的 Server
3、KDC(Key Distribution Center)密钥分发中心
KDC 默认安装在域控中,而 Client 和 Server 为域内的用户或者服务,如 web 应用、数据库服务器和邮件服务器等。Client 是否有权限访问 Server 端的服务由 KDC 发放的票据来决定(KDC服务框架中包含一个KRBTGT账户,它是在创建域时系统自动创建的一个账号,可以暂时理解为他就是一个无法登陆的账号。)。
如果把 Kerberos 中的票据比作一张火车票,那么 Client 端就是乘客,Server 就是火车,而 KDC 就是火车站的认证系统。如果 Client 端的票据是合法的(由你本人身份证购买并且由你本人持有)同时有访问 Server 端服务的权限(车票对应车次正确)那么你才能上车。当然和火车票不同的是 Kerberos 中有两张票据,而火车票只有一张。</