Windows域环境中Kerberos认证流程

本文详细描述了Windows系统中Kerberos协议的客户端-认证服务器(AS)-TicketGrantingServer(TGS)之间的三次交互过程,涉及NTLM-hash加密和验证机制,确保了通信的安全性。
摘要由CSDN通过智能技术生成

总体来说分外三步:

  1. Client与AS交互,验证身份,获取TGT
  2. Client拿着TGT与TGS交互,获取票据ST
  3. Client拿着ST与与Server交互,请求服务

细化来说分为三个阶段:

  1. Client ==> AS
    1. Client用自己的密码NTLM-hash对 timestamp、client-info、server-info 等数据进行加密,发送给AS;
    2. AS向AD确认存在此Client后,会从AD取出此Client的NTLM-hash解密,同时生成一个随机密钥key1,利用此Client的NTLM-hash加密key1,生成响应的一部分;
    3. AS使用特定账户krbtgt的NTLM-hash对 key1、timestamp、 client-info 进行的加密,生产TGT,成为响应的另一部分;
    4. 将两部分合并返回给Client。
  2. Client ==> TGS
    1. Client收到响应后利用自己的密码NTLM-hash解密得到key1,但Client无法又解密TGT,所以防止了Client修改client-info伪造其他用户。Client利用key1对 timestamp、client-info、server-info 进行加密,将TGT一起发送给TGS;
    2. TGS接收请求,利用账户krbtgt的NTLM-hash解密TGT,得到key1和timestamp、client-info,利用key1解密另一部分由Client加密的 timestamp、client-info 信息,将两部分解密出的数据进行对比,验证是否通过;
    3. 通过后,TGS生成新的密钥key2,利用key1加密key2,再使用Server NTLM-hash加密数据(key2、timestamp、client-info)生成ST,合并后发送给Client。
  3. Client ==> Server
    1. Client收到响应,用key1解密得到key2,利用key2对 timestamp、client-info 进行加密,同时带上接收到的ST发送给Server;
    2. Server收到后利用Server NTLM-hash解密数据,得到key2,再利用key2解密另一部分,得到数据,将两部分解密的数据进行对比,无误后建立通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值