zoukankan      html  css  js  c++  java
  • 全网最容易理解kerberos流程总结

    AS 认证服务器   (有2个固定密钥,分别为固定密钥1,固定密钥2)

    KDC 密钥分发中心

    TGT 票据授权票据

    SGT 服务许可票据

    TGS 票据授权服务器 (有2个固定密钥,分别为固定密钥1,固定密钥2)

    SS  特定服务提供端

    web服务器(有一个固定密钥,为固定密钥2)

     

    1.客户端向AS认证服务器发送  客户端名字(client-name) + TGS(通往的票据授权服务器) AS在数据库里查找是否有这个客户端 如果有 则继续 

    2.AS认证中心生成一个随机密钥 这里简称key1 ,然后生成一个TGT(票据授权票据),里面包含了client-name key1  和 有效期

      然后 用客户端的密码 加密 key1 ,用固定密钥1(Gkey1)加密TGT  发送给客户端

    3.客户端收到发送过来的 加密后的key1  和 加密后的 TGT, 客户端用自己的密码解开没加密的key1,得到key1, 然后用key1 加密自己的客户端名字 +  TGT 发送给TGS(票据授权服务器)

    4.票据授权服务器接收到加密后的客户端名字 和 TGT  ,  用自己也带有的G1解开TGT ,得到了客户端名字 和 key1 和有效期 , 然后用这个key1 解开加密后的客户端名字

     如果TGT里的客户端名字 和 用key1 解开的客户端名字一致 则证明是客户端发过来的请求 这时候生成 SGT(服务许可票据),一个随机密钥 这里简称 key2 ,SGT包含了客户端的名字 和 key2 和

     有效期,  这时候用key1 加密 key2  , 自带的固定密钥2(Gkey2)加密 SGT  ,  将加密后的SGT  +  加密后的key2  发送会给 客户端

    5. 客户端这时候收到了TGS(票据授权服务器)发送回来的 加密后key2  和 加密后的 SGT, 然后用自己的key1 解密 key2 得到key2,用key2 加密自己的客户端名字(client-name) + SGT 发送给 web

    服务器 + 时间戳。

    6.这时候web服务器收到客户端发过来的SGT 和 加密后的客户端名字 和 时间戳,然后用自己的固定密钥2(Gkey2)解密SGT,拿到里面的客户端名字 和 key2 和有效期 ,用key2解密客户端发过来的 client-name 如果和SGT里面的客户端名字一致 则 用key2 加密时间戳 发送会 客户端

    7.客户端用key2 解密时间戳 如果成功 则web服务器合法  ----------

    kerberos体系顺利走完 

  • 相关阅读:
    dispatchTouchEvent
    Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
    PHP在线提交留言直接发到邮箱
    php表单提交并发送邮件给某个邮箱(示例源码)
    使用 video.js 开发 HTML5 视频页面
    php匹配图片、视频文件、音乐文件的正则表达式
    HTML5的Video标签的属性,方法和事件汇总
    HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)
    URL重写
    求助,后台跳转至前台,如何实现,谢谢
  • 原文地址:https://www.cnblogs.com/kyooo/p/13267344.html
Copyright © 2011-2022 走看看