基本认证过程
- 请求TGT票据
客户端请求:发送客户端hash加密的时间戳
服务器响应:解密,如果时间戳在一定范围内,认证通过,返回TGT票据和session key。TGT票据使用krbtgt hash加密,TGT票据中包含PAC。PAC又包含 Client SID + Client Group。session key会作为下阶段认证密钥
- 请求TGS票据
客户端请求:拿着TGT票据向KDC发起针对特定服务的TGS请求
服务器响应:使用krbtgt hash解密TGT,返回用服务器hash加密的TGS票据
和(用上一阶段的session key加密的)新的session key。(这一步不管用户有没有访问服务的权限,只要TGT正确,就返回TGS票据)
- AP请求/响应
客户端请求:拿着TGS票据请求特定服务
服务器响应:使用自身hash解密出TGS票据中的PAC,向KDC询问客户端是否有访问权限。KDC解密PAC,获取Client SID和group,再根据该服务的ACL,判断Client是否有访问权限