文档章节

Kerberos 协议简介

散关清渭
 散关清渭
发布于 2014/11/20 00:20
字数 696
阅读 119
收藏 2

Kerberos协议主要用于计算机网络身份鉴别, 用户只需输入一次身份验证信息就可凭借此验证获得票据访问多个服务。

由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。




Kerberos协议分为两个部分:

1 . Client向KDC发送自己的身份信息,KDC从Ticket Granting Service得到TGT(ticket-granting ticket), 并用协议开始前Client与KDC之间的密钥将TGT加密回复给Client。只有真正的Client才能利用它与KDC之间的密钥将加密后的TGT解密,从而获得TGT。


2. Client利用之前获得的TGT向KDC请求其他Service的Ticket,从而通过其他Service的身份鉴别。




  1. Client将之前获得TGT和要请求的服务信息发送给KDC,KDC中的Ticket Granting Service将为Client和Service之间生成一个Session Key用于Service对Client的身份鉴别。KDC将这个Session Key和用户名,用户地址,服务名,有效期, 时间戳一起包装成一个Ticket发送给Service, 不过Kerberos协议并没有直接将Ticket发送给Service,而是通过Client转发给Service.

  2.  此时KDC将刚才的Ticket转发给Client。由于这个Ticket是要给Service的,不能让Client看到,所以KDC用协议开始前KDC与Service之间的密钥将Ticket加密后再发送给Client。同时为了让Client和Service之间共享那个秘密, KDC用Client与它之间的密钥将Session Key加密随加密的Ticket一起返回给Client。

  3.  为了完成Ticket的传递,Client将刚才收到的Ticket转发到Service. 由于Client不知道KDC与Service之间的密钥,所以它无法算改Ticket中的信息。同时Client将收到的Session Key解密出来,然后将自己的用户名,用户地址打包成Authenticator用Session Key加密也发送给Service。

  4.  Service 收到Ticket后利用它与KDC之间的密钥将Ticket中的信息解密出来,从而获得Session Key和用户名,用户地址,服务名,有效期。然后再用Session Key将Authenticator解密从而获得用户名,用户地址将其与之前Ticket中解密出来的用户名,用户地址做比较从而验证Client的身份。

  5.  如果Service有返回结果,将其返回给Client。


参考文献:

http://idior.cnblogs.com/archive/2006/03/20/354027.html

© 著作权归作者所有

共有 人打赏支持
散关清渭
粉丝 24
博文 238
码字总数 166498
作品 0
东城
程序员
Windows安全认证是如何进行的?[Kerberos篇]

最近一段时间都在折腾安全(Security)方面的东西,比如Windows认证、非对称加密、数字证书、数字签名、TLS/SSL、WS-Security等。如果时间允许,我很乐意写一系列的文章与广大网友分享、交流...

长平狐
2012/09/04
67
0
LogonTracer:用于可视化分析Windows安全事件日志寻找恶意登录的工具

   简介   LogonTracer是一款用于可视化分析Windows安全事件日志寻找恶意登录的工具。它会将登录相关事件中找到的主机名(或IP地址)和帐户名称关联起来,并将其以图形化的方式展现出来。...

FreeBuf
05/30
0
0
Kerberos是什么?

Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. A free implementa......

hengbao5
03/12
0
0
【大数据安全】Kerberos集群安装配置

1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。它也指由麻省理工实现此协议,并发布的一套免费软件。它的设...

mantou叔叔
08/11
0
0
在 WebSphere Application Server Community Edition 中

IBM WebSphere Application Server Community Edition V2.1.1.2 (以下简称为 Community Edition)是一个基于 Apache Geronimo 2.1.4 的免费 Java Platform, Enterprise Edition 5.0 (Java ......

小编辑
2010/01/29
604
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
39
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
33
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
43
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
33
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
43
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部