码迷,mamicode.com
首页 > 其他好文 > 详细

Kerberos 学习笔记

时间:2016-11-08 20:40:22      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:kerberos


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

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

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

技术分享

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

 

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

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

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

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

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

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

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

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

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

 

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

本文出自 “VMware终端用户计算” 博客,转载请与作者联系!

Kerberos 学习笔记

标签:kerberos

原文地址:http://vmwareeuc.blog.51cto.com/8606576/1870674

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!