`

kerberos认证总结

阅读更多
具体过程总结:
1.Client 发送用户名 username 到 kerberos 以向 AS (Authentication Service)请求 TGT 票据信息。

2.kerberos收到请求后,生成随机字符串 Session Key,再使用AS服务的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 TGT,并用用户密码对Session Key加密后和TGT 一起返回给客户端。

3.客户端收到请求后,使用自身的密码解密A得到 Session Key,然后使用 Session Key 对 客户端地址信息、用户名、时间信息 加密得到认证对象,加上 TGT ,发送给 kerberos的 TGS。

4.TGS 收到请求后,使用 AS的 密码解密 TGT,得到 Session Key 和 时间信息以及用户名,同时,使用 TGT 解密出的 Session Key 解密认证对象,得到客户端信息。 比对这两部分解密得到的内容以验证是否通过。

5.第四步通过验证后,TGS生成一个新的session key,再使用client要访问的服务对应的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 ST,并用用户密码对Session Key加密后和ST一起返回客户端

6.客户端收到信息后,用自己的密码解密后得到Session Key和ST,利用Session Key对用户名和地址信息加密后生成一个认证对象,把认证对象和ST一起发送到具体的服务

7.具体服务收到请求后,用自己的密码解密ST后,得到Session Key,利用Session Key解密认证对象,在和ST中的信息对比验证客户端


其中认证对象设计成只能使用一次,生成TGT时的时间信息里设置TGT对应的有效期大一些,而具体服务的有效期时间短一些
通过第二步和第五步的对比可以看出TGS和其他服务的处理过程是一样的,TGS在kerberos中只是一个特殊的服务而已
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics