kerberos认证学习
kerberos
首先阐释一下TGT和TGS
TGT:kerberos hash(login session key,client info)---golden(黄金票据)
如果是服务hash被获取就会产生白银票据(白银票据不能用于双向认证)
s(服务)--->DC(域控)----->AD(数据库查询)
- 1.AS-REQ c-s(本地kerberos服务会向KDC认证服务发送AS-REQ认证请求)
用户名+主机名+authenticator可以理解成加密因子(用户ntlm-hash(timestamp))
- 2.AS-REP s-c(KDC接收到请求会通过AD进行查询用户密码的hash,用该hash对请求包的authenticator进行解密看看是不是能不能解密成功。)
响应包:TGT+用户NTML-hash加密的login session key(用于下一阶段的交互中数据加密)以及一些其他的信息
- 3.TGS-REG c-s(客户端向KDC申请针对服务的票据)
请求包:INFO+auyhenticator(login session key(timestamp))+TGT(认证凭证)+server time
- 4.TGS-REP s->c(krbgt_NTML Hash解密TGT获得login session key,然后通过该key去解密authenticator)若解密成功会返回响应包
响应包:kdc生成的用login session key加密的用于cs通信的server session key会话密钥和ST(服务票据)
- 5.AP-REQ c-s(客户端收到TGS后,通过login session key解密得到server session key)
请求包:ST+authenticator
- 6.AP-REP s-c(服务端用server-NTML-hash解密ST服务票据,并从中提取server session key。并对加密因子进行解密)若成功就可以访问服务 。

浙公网安备 33010602011771号