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。并对加密因子进行解密)若成功就可以访问服务 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类