文档章节

Kerberos 协议简介

散关清渭
 散关清渭
发布于 2014/11/20 00:20
字数 696
阅读 112
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

又一个centos文件顺序导致的问题

背景 新的centos似乎对于文件顺序做了特别的优化 和文件顺序出现的问题确实多了不少 centos7导致的spring循环依赖【实际上和这个问题不一样 不过由此衍生出的问题】 某应用放在新的系统开始报...

Mr_Qi
14分钟前
0
0
阿里云国际版香港CN2测评 月付9美元/30M带宽/1T流量

市面上很多家香港VPS服务商,一直都说阿里云国际版香港CN2线路好,延迟低,速度快,价格便宜流量还多,那么这个香港线路到底怎么样呢?本文从性能、延时、路由、速度方面来全方面测评一下阿里...

flyzy2005
57分钟前
0
0
撤销git commit --amend

it commit -amend之后想撤销 git reset HEAD@{1}

xiaomge
今天
0
0
有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum: public enum TimeUnit 好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并...

polly
今天
10
0
生成pyc

Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改...

Mr_Tea伯奕
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部