0x01 前言
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
Kerberos认证流程简述:
AS(Authentication Server)= 认证服务器
KDC(Key Distribution Center)= 密钥分发中心
TGT(Ticket Granting Ticket)=票据授权票据,票据的票据
TGS(Ticket Granting Server)=票据授权服务器
SS(Service Server)= 特定服务提供端
当Client想要访问Server的服务时,先要向AS发送能够证明自己身份的验证,验证通过后AS会给Client发送一个TGT,随后Client再向TGS去验证自己的身份通过后,TGS会给Client发送一个ST,最后是Client和Server做双向验证。整体流程分为三个部分:
1. [Client与AS的交互]
2. [Client与TGS的交互]