手机设置管理网站,德阳网站建设ghxhwl,无锡网站seo报价,建设银行贵金属网站一、什么是Kerberos
Kerberos解决的是客户端与服务器通信场景中#xff0c;确保客户端服务器双方的身份可信#xff0c;并提供对称密钥的分发来加密传输。是一个应用层的协议。
二、一个简单的模型 1.看这个基础的模型#xff0c;客户端要和服务器通信#xff0c;他先将自…一、什么是Kerberos
Kerberos解决的是客户端与服务器通信场景中确保客户端服务器双方的身份可信并提供对称密钥的分发来加密传输。是一个应用层的协议。
二、一个简单的模型 1.看这个基础的模型客户端要和服务器通信他先将自己的名称、密码和要访问的服务器的名称发给Authentication Server。AS里面存了可信用户的名称和密码。
2.AS验证没问题后回给客户端一个票据这个票据是用服务器和AS的对称密钥加密的客户端名称客户端ip地址服务器名称。
3.客户端收到后把自己的名称和拿到的票据发给服务器开始通信。
几个问题
1.只认证了客户端保护了服务器不会被非授权的用户访问但没有保护客户端。
2.在第一条中客户端的密钥明文传输。
三、进一步 1.这次不传口令只传客户端id服务器id。
2.基于“能正确解密的人就是合法用户”的思想AS向客户端回一个用客户端密钥加密的ticket如果客户端能正确解密出ticket那就说明客户端是合法的他就能接下来和服务器通信。
3.还是一样把ticket和客户端id发给服务器开始通信。
几个问题
1.每访问一次服务器就需要认证一次客户端密钥被频繁使用样本多了容易吃唯密文攻击。而且这个过程确实是多余的认证一次就行了。这个可以将AS一分为二来解决。
2.票会被无限次使用因为没有过期时间限制。
3.还存在单向认证问题没有保护客户端。
四、再进一步 这次将AS一分为二一个负责认证客户端一个负责分发票据。
1.跟刚才类似不过这次是要向tgs服务器要票所以是IDtgs。
2.AS用客户端的对称密钥加密ticket tgs这个用来向tgs服务器要票。这个ticket使用tgs服务器加密的客户端id客户端iptgs服务器id时间戳1寿命。这样一分为二解决了多次认证重复使用密钥的问题。
3.客户端向tgs服务器要某一服务器的票附上刚拿到的ticket tgs。
4.tgs服务器收到后会用自己和AS的对称密钥解密然后取出里面的信息这里面加了时间戳避免了这个ticket tgs被无限次使用的问题。然后去自己的数据库里查服务器的信息给客户端会服务器的票据。这个票据使用服务器的对称密钥加密加密了客户端id客户端ip服务器id时间戳2寿命想想这些都有什么用客户端id是为了指定只有这个客户端能用ip是给服务器核对用的服务器id不知道有什么用。这里加了时间戳解决了上一个方案的票据无限次使用问题。
5.客户端收到之后把自己的id和这个票据发给服务器开始通信。
几个问题
1.第二张ticketv被别人捡到就直接冒充这个客户端去用了会被重放。
2.还是单向认证问题。
五、Kerberos V4 1.这次还给第一条加上了时间戳这是为了什么
2.AS用客户端的密钥加密客户端和tgs之间的对称密钥tgs id时间戳2寿命ticket tgs
ticket tgs是用tgs的密钥加密的客户端和tgs之间的对称密钥客户端id客户端iptgs id时间戳2寿命
3.客户端收到之后解密解出来ticket tgs并使用他和tgs之间的对称密钥加密客户端id客户端ip时间戳3作为Authenticator这个是为了证明这条消息是认证的客户端发的因为这条消息是明文传所以ticket tgs会被别人拿去重放有了authenticator里面有用session key加密的时间戳就能证明是客户端了因为别人是没有这个session key的附上ticket tgs要访问的服务器id发给tgs。所以这个客户端和tgs之间的session key的作用就是防止ticket tgs被别人拿走重放。哪如果别人直接把ticket tgs和authenticator一块拦截然后重放不就成功了其实是不会的因为就算你拦截然后重放了接下来tgs发给你的包也是用session key加密的你解不开就没有后续了。
4.tgs收到之后先看ticket的时间戳过期没然后从里面解出来他和客户端之间的对称密钥再拿对称密钥解密authenticator成功解密之后拿出时间戳看时间对不对因为这个authenticator也有可能被重放。这样下来就成功验证客户端身份了。
然后他给客户端回信用他和客户端之间的session key加密客户端和服务器之间的session key服务器id时间戳4ticket v
ticket v是用服务器的对称密钥加密的客户端服务器之间的session key客户端id客户端ip服务器id时间戳4寿命
5.客户端收到之后用session key从里面接出来他和服务器的session key还有用于登录服务器的票据。附上自己的Authenticator发给服务器这里需要authenticator的原因同理是因为这里的ticket只能明文传所以会被重放需要认证。
6.服务器收到之后跟刚才一样先把ticket v拆开拿出session key然后对authenticator进行认证确认是真的客户端然后拆出authenticator里的时间戳5加上1然后再用session key加密回给客户端这里是为了证明他是真的服务器因为只有真的服务器能解开ticket v取出客户端和服务器之间的session key然后解开authenticator取出时间戳5并做运算然后在加密还回去。