最近在工作中调试vmware  identity manager 产品的SSO功能,有机会深入了解了一下Kerberos的工作原理,随笔记录一下,以作将来回顾之用。

什么是Kerberos,参看wiki- https://en.wikipedia.org/wiki/Kerberos_(protocol)。简单说Kerberos是一种网络认证协议,它是通过使用秘钥加密的方式来提供客户端,服务器程序之间的安全认证。例如,微软Windows2000以后的系统认证过程就是基于Kerberos的。

为什么叫Kerberos,Kerberos传说是希腊神话中的守护地狱的一条有三个头的大狗,貌似在哈利波特第一部<哈利波特与魔法石>也有一只三头狗。三个头代表了Kerberos协议中的三方,Client,Server和KDC.

图片出处:  http://mccltd.net/blog/?p=1053

网上对Kerberos的协议介绍有好多,http://blog.csdn.net/wulantian/article/details/42418231这篇博客是讲的比较透彻深入的,然而读下来恐怕还是比较烧脑,时间一长恐怕也就忘记了。本文中对Kerberos的介绍会通过一个简单的例子来进行,来帮助粗线条地理解Kerberos的认证方式,会和具体的协议细节有所差异。

我们假设一个场景,战争年代,有两个地下工作者张三,李四在被派到某处从事秘密工作,现在张三因为工作需要,找到了开酒馆掩护身份的酒馆老板李四,张三现在要做的事情,就是向李四证明我就是张三,不是钓鱼执法的,这是一个典型的认证的过程。

那怎么做呢?张三,李四的派出机构早就给他们设计好了认证过程,在这里的派出机构就是Kerberos协议中的KDC,比如微软的AD域服务器。在两人出发之前,发给了每个人一把钥匙(对应用户密码或者密码hash数值),派出机构也保留了一把备用钥匙(AD域服务器上保存着每个域用户的密码或者密码hash数值)。张三,李四就分别对应client和server了。

1.      张三要向派出机构报告一下:我要和李四接头,给我一个接头暗号呗。

2.      派出机构收到张三要和李四接头的请求以后,就发了两个小盒子给张三,并且上了锁,只能用两人自己的钥匙才能打开。
第一个盒子里面有一张纸条写着接头暗号:宝塔镇河妖。张三的钥匙可以打开这个盒子
第二个盒子里面有两张纸条,一张纸条也写着接头暗号:宝塔镇河妖。第二张纸条写着:来人是张三。zh只有李四的钥匙才能打开这个盒子。张三是打不开这个盒子的,确保张三不会篡改里面的内容。

3.      张三收到两个小盒子以后,就用自己的钥匙打开了第一个小盒子,看到接头暗号:宝塔镇河妖。

4.      然后张三就带着第二个盒子去找开酒馆的李四了,见到李四,张三把第二个盒子交给李四,并且说出了接头暗号:宝塔镇河妖,并且宣称自己是张三。

5.      李四用自己的钥匙打开了张三带给他的盒子,看到了接头暗号是宝塔镇河妖。然后又看到另外一张纸条上写着来人是张三。嗯,都对得上。他就是张三,那现在先把酒摆上喝点,咱们谈谈下一步的工作安排吧。

这个例子用来讲述Kerberos的基本的工作原理,当然Kerberos协议要比这个例子复杂的多。所以您可千万别较真,要是我钥匙丢了怎么办,有人把小盒子掉一个包之类的,该怎么办?这些就是Kerberos协议要进一步解决的问题了,就需要您自己去看Kerberos协议的细节了。

关于作者:Sam Zhao,EUC解决方案部门经理。在软件开发,测试,项目管理方面有13年IT从业经历,发表过五个专利以及合著书一部

最近在工作中调试vmware  identity manager 产品的SSO功能,有机会深入了解了一下Kerberos的工作原理,随笔记录一下,以作将来回顾之用。

什么是Kerberos,参看wiki- https://en.wikipedia.org/wiki/Kerberos_(protocol)。简单说Kerberos是一种网络认证协议,它是通过使用秘钥加密的方式来提供客户端,服务器程序之间的安全认证。例如,微软Windows2000以后的系统认证过程就是基于Kerberos的。

为什么叫Kerberos,Kerberos传说是希腊神话中的守护地狱的一条有三个头的大狗,貌似在哈利波特第一部<哈利波特与魔法石>也有一只三头狗。三个头代表了Kerberos协议中的三方,Client,Server和KDC.

图片出处:  http://mccltd.net/blog/?p=1053

网上对Kerberos的协议介绍有好多,http://blog.csdn.net/wulantian/article/details/42418231这篇博客是讲的比较透彻深入的,然而读下来恐怕还是比较烧脑,时间一长恐怕也就忘记了。本文中对Kerberos的介绍会通过一个简单的例子来进行,来帮助粗线条地理解Kerberos的认证方式,会和具体的协议细节有所差异。

我们假设一个场景,战争年代,有两个地下工作者张三,李四在被派到某处从事秘密工作,现在张三因为工作需要,找到了开酒馆掩护身份的酒馆老板李四,张三现在要做的事情,就是向李四证明我就是张三,不是钓鱼执法的,这是一个典型的认证的过程。

那怎么做呢?张三,李四的派出机构早就给他们设计好了认证过程,在这里的派出机构就是Kerberos协议中的KDC,比如微软的AD域服务器。在两人出发之前,发给了每个人一把钥匙(对应用户密码或者密码hash数值),派出机构也保留了一把备用钥匙(AD域服务器上保存着每个域用户的密码或者密码hash数值)。张三,李四就分别对应client和server了。

1.      张三要向派出机构报告一下:我要和李四接头,给我一个接头暗号呗。

2.      派出机构收到张三要和李四接头的请求以后,就发了两个小盒子给张三,并且上了锁,只能用两人自己的钥匙才能打开。
第一个盒子里面有一张纸条写着接头暗号:宝塔镇河妖。张三的钥匙可以打开这个盒子
第二个盒子里面有两张纸条,一张纸条也写着接头暗号:宝塔镇河妖。第二张纸条写着:来人是张三。zh只有李四的钥匙才能打开这个盒子。张三是打不开这个盒子的,确保张三不会篡改里面的内容。

3.      张三收到两个小盒子以后,就用自己的钥匙打开了第一个小盒子,看到接头暗号:宝塔镇河妖。

4.      然后张三就带着第二个盒子去找开酒馆的李四了,见到李四,张三把第二个盒子交给李四,并且说出了接头暗号:宝塔镇河妖,并且宣称自己是张三。

5.      李四用自己的钥匙打开了张三带给他的盒子,看到了接头暗号是宝塔镇河妖。然后又看到另外一张纸条上写着来人是张三。嗯,都对得上。他就是张三,那现在先把酒摆上喝点,咱们谈谈下一步的工作安排吧。

这个例子用来讲述Kerberos的基本的工作原理,当然Kerberos协议要比这个例子复杂的多。所以您可千万别较真,要是我钥匙丢了怎么办,有人把小盒子掉一个包之类的,该怎么办?这些就是Kerberos协议要进一步解决的问题了,就需要您自己去看Kerberos协议的细节了。

关于作者:Sam Zhao,EUC解决方案部门经理。在软件开发,测试,项目管理方面有13年IT从业经历,发表过五个专利以及合著书一部

本文转自 桌面虚拟化 51CTO博客,原文链接:http://blog.51cto.com/vmwareeuc/1870674

Kerberos 学习笔记相关推荐

  1. 大数据技术-Kerberos学习笔记

    目录 Kerberos概述 Kerberos部署 Kerberos基本使用 Kerberos数据库操作 Kerberos认证操作 Kerberos生成Keytab Hadoop Kerberos配置 ...

  2. 学习笔记(十五)——镜像的知识点与注意事项

    学习笔记(十五)--镜像的知识点与注意事项 一.基础知识 1.SQL Server镜像只有两种模式:高安全模式和高性能模式.两种模式的主要区别在于在事务提交后的操作. 在高性能模式下,主体服务器不需要 ...

  3. ZooKeeper官方文档学习笔记03-程序员指南03

    我的每一篇这种正经文章,都是我努力克制玩心的成果,我可太难了,和自己做斗争. ZooKeeper官方文档学习笔记04-程序员指南03 绑定 Java绑定 客户端配置参数 C绑定 陷阱: 常见问题及故障 ...

  4. sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署、故障转移群集与日志传送

    sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署.故障转移群集与日志传送 数据库的选型和部署 sqlserver的安装和升级 选择高可用性和灾难恢复技术 故障转移群集 日志传 ...

  5. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  6. 【Flink】学习笔记-20200302更新

    flink-notes flink的一些学习笔记,将在github上持续更新 https://github.com/pierre94/flink-notes 一.技术博客索引 Flink中文官方文档 ...

  7. 2021-08-31《内网安全攻防》学习笔记,第二章-域内信息收集(转自PowerLiu)

    <内网安全攻防>学习笔记,第二章-域内信息收集 2020-07-212020-07-21 15:08:47阅读 1.1K0 2.1 内网信息搜集概述 当渗透测试人员进入内网后,面对的是一片 ...

  8. Ranger学习笔记

    Ranger学习笔记 1 简介 Apache Ranger 是 Hadoop 平台上操作.监控.管理数据安全的集中式安全管理框架.Ranger 的愿景是在 Apache Hadoop 生态系统中提供全 ...

  9. 《密码编码学与网络安全》William Stalling著---学习笔记(二)【知识点速过】【数字签名+密钥管理分发+用户认证】

    提示:博文有点长,请保持耐心哦~ 前一篇文章: <密码编码学与网络安全>William Stalling著-学习笔记(一)[知识点速过][传统密码+经典对称加密算法+经典公钥密码算法+密码 ...

最新文章

  1. 备份集过期时间_TiDB备份恢复方式你知多少?
  2. Linux下实现文件双向同步
  3. I Cannot Breathe:如果没有这些软件的话(Mac篇)
  4. Vue 脚手架||Vue 脚手架的基本用法
  5. 【Nginx】判断URL中是否存在某个参数Parameter
  6. 【SSM面向CRUD编程专栏 1】Spring简介 xml配置文件 依赖注入 数据注入
  7. 本质矩阵 基础矩阵 单应矩阵 (1)
  8. IntelliJ IDEA For Mac 快捷键,够骚,速度收藏!
  9. Windows版navicat11破解
  10. SIP电话为什么突然断线
  11. 【股票】股票交易的手续费介绍以及计算
  12. MVP实现Recy多条目展示
  13. 三重积分平均值_质心计算
  14. AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程
  15. wifi认证源码html,openwrt 实现本地wifidog简单认证,认证端纯html
  16. 数组中重复的元素(剑指Offe.03)
  17. Chevereto图片托管php源码_Chevereto图片托管 3.10.13|图片动画|PHP源码
  18. mysql 修改表字段
  19. 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
  20. 5V转换3.3V电平的几种简单方法

热门文章

  1. mupdf 生成dll
  2. 万得信息技术Java开发面经
  3. python爬虫原理和运营商SDK数据建模抓取的区别
  4. qt linux phonon,如何使用 Qt Phonon(在网上找的,希望有人能用的着)
  5. NWT内斗纪录:管理的两个荒唐错误
  6. 实用新型专利,实用新型专利申请流程
  7. 稻草人项目--项目的数据处理流程-- ( day03 )
  8. python3获取oracle REST API for Oracle Eloqua Marketing Cloud Service 数据
  9. Chinacam 5轴与Alphacam5轴区别
  10. ING银行推出区块链隐私零知识技术