Keberos认证过程
Kerberos(/ˈkərbərəs/)是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。适用于客户服务模式。解决”某某声称自己是某某“的认证问题。它的模块包括:
- AS(Authentication Server)= 认证服务器
- KDC(Key Distribution Center)= **分发中心(含所有信任客户端的密码)
- TGT(Ticket Granting Ticket)= 票据授权票据,票据的票据
- TGS(Ticket Granting Server)= 票据授权服务器
- SS(Service Server)= 特定服务提供端
认证过程如下图示:
- client,宣称自己是 A,打算访问 服务器 B,向 KDC发起一个认证信息 “爱你一万年”,请求访问B的入场券(票据)
- KDC 使用 A 的密码对client发来的认证信息解密,若解密失败,就知道client冒充 A,结束。
- client 收到 KDC 返回的认证信息和自己发的认证信息对比,是否是 “爱你一万年”,判别 KDC是否是假冒
- 双方认证成功,KDC发送给A info信息
- 用A**加密的 session key,client收到后需解密出 sesion key
- 访问B的票据(相同的session key、票据持有者、A所属的 group),使用B的**加密
- client拿着票访问服务器B,并发送用session key加密的认证信息 “芝麻开门”
- 得到票,服务器B使用**解密票据信息,得到session key,并用来解密认证信息,解密成功返回"芝麻开门"
- client得到返回的认证信息对比,判断服务器B是否是假冒者
- 服务器B还进行 group权限校验,判断 client是否具有操作权限,建立双向专属通道
参考文献