Kerberos原理解析

原创 2016年08月30日 16:42:12

Kerberos介绍

Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”。

系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。

支持SSO(Single Sign On),用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务。

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

认证原理解析

准备阶段

先看下图:

这里出现的角色有三个分别是:

  • KDC (Key Distribution Center)
  • Client
  • Service

其中KDC有两个服务:

  • AS (Authentication Server): 认证服务,用于签发“Ticket-Granting Tickets” (TGT)
  • TGS(Ticket Granting Server): 许可证服务,用于签发service tickets(各种服务的tickets)

密钥两个:

  • KDC与Client之间的共享密钥(密钥A,其实就是用户密码)
  • KDC与Service之间的共享密钥(密钥B)

认证过程

第一步:

用户发送自己的用户信息给KDC,KDC访问AS服务,获得TGT,并用密钥A加密TGT以及一个Session Key给用户。用户得到加密数据后,使用密钥A解密得到TGT和Session Key(这里简称为SK)。

其中,TGT用于第二步请求各种服务的tickets;SK主要用于Service对Client的身份鉴别,在步骤二中会体现。

第二步:

如图:

认证第二步
1. Client将之前获得TGT和要请求的服务信息(服务名等)发送给KDC,认证用户合法后,KDC中的TGS将SK(第一步中产生)和用户名,用户地址(IP),服务名,有效期, 时间戳一起包装成一个Ticket,并用密钥B加密,发送给Client;
2. 此时Client没有密钥B所以他无法查看Ticket中的内容,于是Client将Ticket直接转发给Service。
3. 同时Client将自己的用户名,用户地址(IP)打包成Authenticator,用之前获得的SK加密也发送给Service。
4. Service 收到Ticket后利用它与KDC之间的密钥B将Ticket中的信息解密出来,从而获得SK和用户名,用户地址(IP),服务名,有效期。然后再用SK将Authenticator解密从而获得用户名,用户地址(IP)将其与之前Ticket中解密出来的用户名,用户地址(IP)做比较,从而验证Client的身份。
5. 如果Service有返回结果,将其返回给Client。

参考

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

相关文章推荐

Kerberos原理

  • 2017年11月15日 17:48
  • 388KB
  • 下载

kerberos认证原理---讲的非常细致,易懂

前几天在给人解释Windows是如何通过Kerberos进行Authentication的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去。后来想想原因有以下两点:对于一个没有完全不了解Ker...

Kerberos原理--经典对话

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

Kerberos的原理 - MIT

Kerberos的原理 - MIT Kerberos是一个重要的认证协议,它为互不相识的通信双方做安全的认证工作。Kerberos这个名字的原义是希腊神话中守卫冥王大门的长有三头的看门狗。下面这篇Ke...
  • after_
  • after_
  • 2011年04月30日 14:59
  • 559

Kerberos原理和使用

Kerberos原理Kerberos 服务是单点登录系统,这意味着您对于每个会话只需向服务进行一次自我验证,即可自动保护该会话过程中所有后续事务的安全。服务对您进行验证后,即无需在每次使用基于 Ker...
  • kkdelta
  • kkdelta
  • 2015年06月25日 10:36
  • 4115

kerberos认证原理---讲的非常细致,易懂

前几天在给人解释Windows是如何通过Kerberos进行Authentication的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去。后来想想原因有以下两点:对于一个没有完全不了解Ker...
  • ping523
  • ping523
  • 2017年04月25日 10:43
  • 848

kerberos认证原理

前几天在给人解释如何通过Kerberos进行Authentication的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去。后来想想原因有以下两点:对于一个没有完全不了解Kerberos的人来...

Kerberos协议工作原理

1.         三种角色与简介 1)         三种角色 KDC:密钥分配中心(起到分发密钥的作用) Client:客户端(被服务的对象) Service:服务端(...

Kerberos的原理

转自:http://www.chinaunix.net/jh/4/376748.html这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerb...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Kerberos原理解析
举报原因:
原因补充:

(最多只允许输入30个字)