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

[Kerberos] Kerberos 认证过程整理的更多相关文章

  1. Kerberos认证过程学习理解

    概念: Kerberos服务器:AS认证服务器,TGS服务授权服务器 Client 客户端,代表使用应用的用户 AppServer 服务端,应用提供各种服务的服务器 Client在Kerberos注册 ...

  2. Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...

  3. DBeaver链接kerberos安全认证的Phoenix集群

    DBeaver链接kerberos安全认证的Phoenix集群 最近公司的CDH集群,启动了kerberos安全认证,所有的用户验证全部需要依赖kerberos来进行.之前的裸奔集群,总算有了一些安全 ...

  4. Kylin开启Kerberos安全认证

    Kylin开启Kerberos安全认证, 由于Kylin是依赖Hbase启动的, Kylin启动脚本kylin.sh中就是调用的Hbase的启动脚本, 所以当Hbase开启了Keberos之后就等于K ...

  5. 【知识点】业务连接服务(BCS)认证概念整理

    业务连接服务(BCS)认证概念整理 I. BDC认证模型 BDC服务支持两种认证模型:信任的子系统,模拟和代理. 在信任的子系统模型中,中间层(通常是Web服务器)通过一个固定的身份来向后端服务器取得 ...

  6. windows认证过程

    NTLM简介: NTLM使用在Windows NT和Windows 2000 Server(or later)工作组环境中(Kerberos用在域模式下).在AD域环境中,如果需要认证Windows ...

  7. Spring Security 解析(二) —— 认证过程

    Spring Security 解析(二) -- 认证过程   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security .S ...

  8. .net core 1.0 Web MVC 自定义认证过程

    通过官方的介绍可知,若要本地开始部署搭建一个基于.net core 1.0的Web应用,需要下载dotnet SDK,或在Visual Studio IDE之上安装相关插件以布置开发环境.为了使开发环 ...

  9. Oauth1.0认证过程

    现今,已经有了Oauth2.0,写篇博客了解Oauth1.0的过程以及与2.0的区别. 在Oauth官网  关于1.0的介绍: 一.简介 OAuth authentication is the pro ...

随机推荐

  1. webhdfs 使用shell下载文件

    echo "test web hdfs how to use" >> foo.txt hdfs dfs -put foo.txt / HDFS启用webhdfs之后,可 ...

  2. 《InsideUE4》UObject(一)开篇

    UE生UObject,UObject生万物 引言 在上个GamePlay专题,谈到UE创建游戏世界的时候(GamePlay架构(一)Actor和Component),简单的介绍了一下UObject的功 ...

  3. Java8并发教程:Threads和Executors

    来之:ImportNew 欢迎阅读我的Java8并发教程的第一部分.这份指南将会以简单易懂的代码示例来教给你如何在Java8中进行并发编程.这是一系列教程中的第一部分.在接下来的15分钟,你将会学会如 ...

  4. ASM, AAM

    名称 下载网址 am_tools http://www.isbe.man.ac.uk/~bim/software/am_tools_doc/index.html VOSM http://sourcef ...

  5. jQuery动画效果animate和scrollTop结合使用实例

    CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 "margin:30px").字符串值无法创建动画(比如 "background-color ...

  6. LeetCode-9-Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是否是回文数. 思路:求出数字abcd ...

  7. Jquery easy ui datagrid動態加載列問題

    1.如下图效果是当选择不同的日期范围时datagrid则会加载出对应的列数

  8. JavaScript自运行函数(function(){})()的理解

    今天打开JQuery源文件(jquery-1.8.3), 看到JQuery的初始化过程是这样的 (function( window, undefined ) { // .... })( window ...

  9. Git从入门到学会

    Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库,英文名reposi ...

  10. nginx 反向代理

    nginx 反向代理 vim nginx.conf http { ..... upstream "tomcatweb" { server 172.30.13.199:8080; s ...