网站安全测试工具/合肥网站seo整站优化
今天来研究Kerberos协议的认证过程。
: )
Kerberos协议认证过程
1、当Client想要访问Server上的某个服务时,认证流程分为3个部分:
- Client 与 AS 的交互
- Client 与 TGS 的交互
- Client 与 Server 的交互
2、认证流程:
(1)Client 与 AS 的交互:
KRB_AS_REQ
Client->AS:
第一步Client先向KDC的AS发送,内容为通过Client密码Hash加密的时间戳、ClientID、网络地址、加密类型等内容。
KRB_AS_REP
AS->Client:
发送Client密码加密的sessionkey-as和票据TGT(KRBTGT Hash加密的sessionkey-as 和 TimeStamp)
在KDC中存储了域中所有用户的密码Hash,当AS接收到Client的请求之后会根据KDC中存储的密码来解密,解密成功并且验证消息。验证成功后,返回给Client由Client密码Hash加密的sessionkey-as和TGT(由KRBTGT Hash加密的 sessionkey-as 和 TimeStamp等信息)
(2)Client与TGS交互:
KBR_TGS_REQ
Client->TGS发送:sessionkey-as加密TimeStamp 和 票据 TGT(KRBTGT Hash加密的sessionkey-as和TimeStamp)
Client接收到了加密后的Sessionkey-as 和 TGT 之后,用自身密码解密得到Sessionkey-as,TGT是由KDC密码加密,Client无法解密。这时,Client再用Sessionkey-as加密TimeStamp 和 TGT一起发送给KDC中的TGS(Ticket Granting Server)票据授权服务器换取能够访问Server的票据。
KRB_TGS_REP
TGS->Client发送:sessionkey-as加密sessionkey-tgs 和 票据ST(Servera密码 Hash加密sessionkey-tgs)
TGS收到Client发送过来的TGT和sessionkey-as加密的TimeStamp之后,首先会检查自身是否存在Client所请求的服务。如果服务存在,则用KRBTGT密码解密TGT。一般情况下,TGS会检查TGT中的时间戳查看TGT是否过期,且原始地址是否和TGT中保存的地址相同。验证成功之后,将用sessionkey-as加密的sessionkey-tgs和server密码Hash加密的sessionkey-tgs发送给Client。
(3)Client与Server交互
KRB_AP_REQ
Client->Serve发送:sessionkey-tgs加密TimeStamp 和票据ST(Server 密码hash加密sessionkey-tgs)
Client收到sessionkey-as加密的sessionkey-tgs和server密码Hash加密的sessionkey-tgs之后用sessionkey-as解密得到sessionkey-tgs,然后把sessionkey-tgs加密的TimeStamp和ST一起发送给Server。
KRB_AP_REP
Server->Client
server通过自己的密码解密ST,得到sessionkey-tgs,再用sessionkey-tgs解密得到TimeStamp,验证正确返回验证成功。
以上就是Kerberos认证的大概流程。
参考:https://blog.csdn.net/darker0019527/article/details/85300496
3、为什么要使用TimeStamp:
Client向Server发送的数据包被某个恶意网络监听者截获,该监听者随后将数据包作为自己的Credential冒充该Client对Server进行访问,在这种情况下,依然可以很顺利地获得Server的成功认证。为了解决这个问题,Client在Authenticator中会加入一个当前时间的TimeStamp。在Server对Authenticator中的Client Info和Session Ticket中的Client Info进行比较之前,会先提取Authenticator中的Timestamp,并同当前的时间进行比较,如果他们之间的偏差超过一个可以接受的时间范围(一般是5分钟),Server会直接拒绝该Client的请求。
4、双向认证:(Mutual Authentication)
Kerberos的一个重要优势在于它能够提供双向认证:不但Server可以对Client进行认证,Client也能对Server进行认证。
参考文章:
https://www.freebuf.com/articles/system/196434.html
https://www.jianshu.com/p/7de58a36ba4d