kerberos是一个基于对称密钥的认证系统,事实上它有时候比基于非对称密钥的pki工作的更好,特别是在小规模网络架构时,管理上更加集中和方便,甚至效率更高。那篇经典对话相信很多人都能将之读完,但是读完之后同样很多人需要时间来消化,事实上那篇对话并不仅仅是在讲kerberos的原理,它更多的意义在于展示了一种研究问题的方法,从简单到复杂,一点一点的弥补漏洞,最终加上众多的权衡,得到一个既安全又高效并且可行的方案。本文简要概括kerberos的具体过程。
     kerberos有三个最重要的规则,一是从不在网上传输明文,这保证了认证过程的保密性,这是一切的前提,二是在认证和被认证双方共享一个秘密,这保证了认证的根本,即不可冒充和不可伪造性,那么kerberos是怎么做到的呢,三是存在一个公信度很高的受信任机构,这保证了认证本身的保密和不可冒充,在认证体系上,kerberos是集权的,而pki是相对民主的?kerberos的过程大致分为两步,第一步是准入认证,第二步是通信认证,首先看第一步的过程:
1.首先新接入网络的客户端需要从受信任的机构获取一份准入声明,也就是获得受信机构的信任,它只需要简单发送用户名到该机构;
2.受信机构通过用户名查到用户的密码,然后生成一份准入证书(包含客户端的信息)和一个客户端和受信机构共享的一个共享密钥,用客户端的口令加密后发送给客户端;
3.客户端收到加密的准入证书和共享密钥之后会用只有自己和受信机构知道的自己的密钥进行解密,得到共享密钥,至此,客户成为准入的;
注意:每个服务器进入网络也同样需要进行同样的准入认证,过程稍有不同但是大致一致。
下面是第二步:
1.接下来如果客户端需要和某个服务器通信,那么它会将服务器的id连同自己的准入证书用和受信机构共享的密钥加密后连同一个验证器(用共享密钥加密的用户信息)以及用户信息的明文一同传给受信机构;
2.受信机构收到请求后,将验证用户的准入性,通过用户名查询共享密钥,用共享密钥解密验证器后和明文用户信息对比,如果一致则通过认证;
3.受信机构根据请求的服务器id生成一个该服务器和客户端共享的密钥,然后用受信机构和客户端的共享密钥将它和用户信息以及服务器信息以及时间戳信息加密后传回客户端;
注意:用户信息以及服务器信息以及时间戳信息本身中包含客户端和服务器的共享密钥并且是用被请求服务器的密钥加密的,因此客户端不可能得到更多的信息,不可能伪造和服务器通信的凭证。
4.客户端收到包后用和受信机构共享的密钥解开包,取出和服务器共享的密钥,然后用该密钥加密一段客户端的信息--验证器,将这个加密信息和从受信机构解出的剩下部分一并发给服务器;
5.服务器收到后,先用自己的密钥解密第4步中所谓的剩下的那一部分,从中得到那个自己和客户端共享的口令,然后用这个口令解密客户传来的验证器,比对信息,如果正确则通过验证。
     上面就是整个kerberos的认证过程,其中省略了用时间戳限制使用时间的机制(我本人不喜欢这样的机制,感觉很不完美),要点就是服务器的秘密不能让客户端知道,但是客户端只有掌握了服务器的秘密才能让服务器彻底认为它是受信的,试想你仅将秘密告诉你信任的人,反过来一个人如果知道你的秘密那么你很大程度要信任他,使这样吗?kerberos可不敢保证,客户端可能保存那个秘密,进而可能让很多客户端都知道服务器的秘密,于是就出现了上述复杂的kerberos机制。在rsa出现之后,上面的一切只用两步就能搞定,一个是加密一个是签名,并且协商密钥时可以用数字信封,可以用dh,但是要知道非对称密钥体系是需要代价的,在小规模网络,kerberos有着很大的用武之地,但是KDC的单点故障对安全影响很大,所以必须尽一切力量保护kdc,而pki就不用,毕竟密钥信息已经内置进数字证书了。顺便指出的是,ssl握手中的密钥协商过程也可以采用kerberos的方式协商一个密钥,过程如下:客户端已经得到受信机构提供的和某一个服务器通信的凭证,包含经客户端和受信机构共享密钥加密的客户端和服务器共享的口令以及一个同样包含该口令的“证书”,此处的“证书”就是那篇经典对话中的“票”(经服务器的密钥加密),在ssl的ClientKeyExchange消息中,客户端将“证书”和经和服务器共享的口令加密的pre_master_secret一起发给服务器,服务器用自己的密钥解密“证书”,然后取出和客户端共享的口令,解密pre_master_secret。

对kerberos的理解--经典对话读后相关推荐

  1. Kerberos 原理的经典对话故事

    Kerberos 原理的经典对话故事 前言 Kerberos是一个重要的认证协议,它为互不相识的通信双方做安全的认证工作.Kerberos的原义是希腊神话中守卫冥王大门的长有三个头的看门狗. 这是MI ...

  2. 【转载】Kerberos原理--经典对话

    这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerberos的原理而写的一篇对话集.里面有两个虚构的人物:Athena和Euripides, ...

  3. Kerberos原理--经典对话

    " 读完这篇文章,大概会对Kerberos原理更了解一些吧" 这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerbero ...

  4. 天灾 经典 定义31-46译本对照——哥德尔读后之十五

    天灾 经典 定义31-46译本对照--哥德尔读后之十五 从牛年之初,就被哥德尔原著英译本缠上.导论的阅读,覆盖了牛年的春天.正文浏览之际,又碰上广州的荔湾疫情. 春日已过,入夏时分,阅读之余,游兴萌生 ...

  5. 深入java虚拟机需要读吗_《深入理解Java虚拟机》读后总结(一)JVM内存模型

    <深入理解Java虚拟机>读后总结 基于Sun HotSpot JVM 直接上图: 从图中看到,JVM内存分为两个主要区域,一个是所有线程共享的数据区,一个是线程隔离数据区(线程私有) 线 ...

  6. 有关于婚姻经济学的经典对话

    有关于婚姻经济学的经典对话 第一季 问:人为什么要结婚? 答: 1+1>2 .一是指 1 + 1 之后多出一个小孩,达到了婚姻的生育目的.二是指协同效应,原意是两家公司合并之后,如果重组得当,能 ...

  7. 读后有感 - UI设计师必知:线框图、原型和视觉稿

    读后有感 - UI设计师必知:线框图.原型和视觉稿 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作 ...

  8. 经典伴读_GOF设计模式_结构型模式

    经典伴读系列文章,不是读书笔记,自己的理解加上实际项目中运用,旨在5天读懂这本书.如果这篇文章对您有些用处,请点赞告诉我O(∩_∩)O. 如何使用设计模式抽象实例化过程.请参考<经典伴读_GOF ...

  9. 哥德尔不完全性定理 悖论式陈述 PM不可判定命题,和哥德尔可表达性定理——哥德尔读后之十八

    命题6 悖论式陈述 PM不可判定命题,和哥德尔可表达性定理--哥德尔读后之十八 开始命题六,也就是哥德尔第一不完全性定理的阅读了,但似乎离这个著名定理,还有那么一丁点的距离.于是本篇依然是交代命题6证 ...

最新文章

  1. python装饰器原理-深入理解 Python 装饰器
  2. python编写递归函数和非递归函数、输出斐波那契数列_python 入门之斐波那契数列递归表达式算法和非递归算法...
  3. Qt:OpenCV—Q图像处理基本操作(Code)
  4. 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
  5. 计算机windows无响应,Windows电脑便笺没反应不能用了怎么办?
  6. Kotlin学习笔记30 补充 作用域函数
  7. android crash没有日志_App测试之monkey(四)-调试参数及日志
  8. WMI 获得已安装应用程序列表
  9. 两个可用的ntp服务器地址
  10. Excel中插入图表后在设计选项卡无法选择样式解决办法
  11. oracle+linux+oel+6.9,Oracle 11g(11.2.0.4) install on OEL6.7
  12. DDL、DML、DQL、DCL、DTL MySQL常用语法大全
  13. 【魔兽世界】-逍遥魔兽V837-单体可用背包自动整理插件
  14. 安装 SwitchyOmega 最简单的方法
  15. 机器学习之聚类常用方法
  16. win10无法打开组策略,gpedit.msc打不开
  17. BZOJ 4407于神之怒加强版
  18. Centos7安装trojan脚本
  19. MyEclipse 2013优化技巧
  20. PTA 空心字母金字塔+数字金字塔+字母金字塔

热门文章

  1. KBPSF8BA/HCG24K4V插装式限压阀放大器
  2. python打包工具报错_Pyinstaller打包.py生成.exe的方法和报错总结
  3. 软件测试实验 FindBugs
  4. [转]String、StringBuffer与StringBuilder之间区别
  5. 小议人工智能与人类该如何相处?
  6. Android开发之RelativeLayout
  7. try(){}catch(){}
  8. 诗韵悠然(四十七)到武夷山
  9. Implementation Patterns
  10. WIFI天气闹钟+无线夜灯控制(一)