zoukankan      html  css  js  c++  java
  • [Kerberos] Kerberos 认证过程整理

    Kerberos是一种安全认证协议,意在提供

    • more secure authentication
    • simplified management of password
    • convenience of single sign on

    Kerberos的基本结构

    • Kerberos Client: 申请服务的一方
    • Kerberized Service: 提供服务的一方
    • Kerberos KDC: 提供密码管理的认证的一方。Client和service provider都会将自己的私密保存在KDC中。

         

    Kerberos 认证过程

    1. Client向KDC申请TGT

    Client向KDC发送只包含 principal 的数据包

    KDC查询user principal database是否存在该用户,如果存在,则生成一个被KDC密钥加密过的TGT和一个time sensitive的session key. 然后返回给用一个被用户密钥加密过的TGT+session key

          

    2. Client向KDC请求service

    Client生成一个authenticator,并用session key加密,和请求的服务名,TGT,一并发送给KDC。

    KDC对比authenticator和TGT,如果没有问题,则相信client,并返回给client一个用service密钥加密的service ticket和新的session key,返回的数据包用第一次的session key加密。

             

    3. Client向service请求服务

    Client收到KDC返回的数据包,并用新的session key加密authenticator,和service ticket一起发送给service。

    Service收到数据包,用自己的密钥打开service ticket,然后用service ticket里面的session key打开authenticator。如果验证通过,则返回client想要的服务数据。

    Reference

    https://www.youtube.com/watch?v=KD2Q-2ToloE

    http://www.kerberos.org/software/tutorial.html

    https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm?turl=WordDocuments%2Fintroductiontokerberosauthentication.htm

  • 相关阅读:
    Memcached安装
    BarCode条形码生成库
    WebAPI示例
    JDK安装目录分析-两个jre和三个lib
    JDK安装与环境变量配置
    【Selenium专题】高亮显示页面元素
    cannot be resolved to a type (Java)
    Java中获取运行代码的类名、方法名
    【Selenium专题】 FAQ_对象识别_Compound class names are not supported
    Html5新标签解释及用法
  • 原文地址:https://www.cnblogs.com/qingwen/p/5021482.html
Copyright © 2011-2022 走看看