kerberos协议学习
该协议涉及的攻击手段如下
理解协议过程所画的草稿图
鉴于我画的图丑晕了,于是在笔记中还是使用别人的图吧
未引入TGS前的认证流程
客户端向KDC发起对sessionkey的请求,KDC使用数据库中存储的该客户端的密码对sessionkey进行加密,同时向客户端请求的服务器发送同样的sessionkey,但使用服务器端的密码进行加密,然后客户端再使用sessionkey向服务器进行认证
在这个流程中我们可以发现一些问题
1.A向KDC申请sessionkey,KDC同时向A和B发送sessionkey,如果由于网络等原因导致B在A向它请求认证时还没有收到sessionkey就会导致认证失败,所以可以尝试在返回给A使用client password加密的sessionkey的时候将本该发给B的信息一同发送给A,再由A向B请求验证的时候一同发送给B
2.A提出SessionKey的申请时,KDC凭什么就生成了SessionKey给了A,也就是说,KDC缺乏对A的认证