Kerberos协议分析.doc_第1页
Kerberos协议分析.doc_第2页
Kerberos协议分析.doc_第3页
Kerberos协议分析.doc_第4页
Kerberos协议分析.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

. Kerberos协议分析1.1 Kerberos协议概述Kerberos协议是20世纪80年代由MIT开发的一种协议。Kerberos协议主要是为TCP/IP网络设计的可信第三方鉴别协议,允许客户以一种安全的方式来访问网络资源。网络上的Kerberos服务器起着可信仲裁者的作用。Kerberos的基础是NS协议。它与NS协议不同之处在于:Kerberos认为所有的时钟已经同步好了。 Kerberos协议有4个参与者,通信主体客户A,应用服务器以及认证服务器AS,票据服务器TGS。认证服务器的作用是对登录的每个主体进行认证;票据服务器的作用在于向网络上的服务器证明客户的真实身份。 Kerberos协议的基本原理如下:在一个分布式的Client/Server体系机构中采用一个或多个Kerberos服务器提供一个鉴别服务。客户端想请求应用服务器Server上的资源时,首先客户端向Kerberos认证服务器请求一张身份证明,然后将身份证明交给Server进行验证,Server在验证通过后,即为客户端分配请求的资源。1.2 Kerberos协议的详细描述工作站端运行着一个票据授权的服务,叫Kinit,专门用做工作站同认证服务器Kerberos间的身份认证的服务。1. 用户开始登录,输入用户名,验证服务器收到用户名,在用户数据库中查找这个用户,结果发现了这个用户。2. 验证服务器生成一个验证服务器跟这个登录用户之间共享的一个会话口令(Session key),这个口令只有验证服务器跟这个登录用户之间使用,用来做相互验证对方使用。同时验证服务器给这个登录用户生成一个票据授权票(ticket-granting ticket),工作站以后就可以凭这个票据授权票来向验证服务器请求其他的票据,而不用再次验证自己的身份了。验证服务器把 Session key ticket-granting ticket 用登录用户的口令加密后发回到工作站。3. 工作站用自己的口令解密验证服务器返回的数据包,如果解密正确则验证成功。解密后能够获得登录用户与验证服务器共享的Session key和一张ticket-granting ticket。到此,登录用户没有在网络上发送口令,通过验证服务器使用用户口令加密验证授权票的方法验证了用户,用户跟验证服务器之间建立了关系,在工作站上也保存来相应的身份证明,以后要是用网络中的其他服务,可以通过这个身份证明向验证服务器申请相应服务器的服务票,来获得相应服务身份验证。4. 如果用户第一次访问IIS服务器,工作站的kinit查看本机上没有访问IIS服务器的验证票,于是kinit会向验证服务器发出请求,请求访问IIS服务的验证票。Kinit先要生成一个验证器,验证器是这样的:用户名:工作站地址用跟验证服务器间的Session key加密。Kinit将验证器、票据授权票、你的名字、你的工作站地址、IIS服务名字发送的验证服务器,验证服务器验证验证授权票真实有效,然后用跟你共享的Session key解开验证器,获取其中的用户名和地址,与发送这个请求的用户和地址比较,如果相符,说明验证通过,这个请求合法。5. 验证服务器先生成这个用户跟IIS服务器之间的Session key会话口令,之后根据用户请求生成IIS服务器的验证票,是这个样子的:会话口令:用户名:用户机器地址:服务名:有效期:时间戳,这个验证票用IIS服务器的密码(验证服务器知道所有授权服务的密码)进行加密形成最终的验证票。最后,验证服务器会话口令加好密的验证票用用户口令加密后发送给用户。6. 工作站收到验证服务器返回的数据包,用自己的口令解密,获得跟IIS服务器的Session key和IIS服务器的验证票。7. 工作站kinit同样要生成一个验证器,验证器是这样的:用户名:工作站地址用跟IIS服务器间的Session key加密。将验证器和IIS验证票一起发送到IIS服务器。8. IIS服务器先用自己的服务器密码解开IIS验证票,如果解密成功,说明此验证票真实有效,然后查看此验证票是否在有效期内,在有效期内,用验证票中带的会话口令去解密验证器,获得其中的用户名和工作站地址,如果跟验证票中的用户名和地址相符则说明发送此验证票的用户就是验证票的所有者,从而验证本次请求有效。1.3 Kerberos的工作过程在Kerberos认证系统中使用了一系列加密的消息提供认证,使得正在运行的客户端能够代表一个特定的用户来向验证者证明身份。Kerberos协议的部分是基于NS的,但针对它所用的环境作了一些修改。主要包括:使用了时间戳来减少需要做基本认证的消息数目;增加了票据授予服务使得不用重新输入主体的口令就能支持后面的认证;用不同的方式实现域间认证。1.3.1 认证请求和响应客户端和每个验证者之间都需要一个独立的票据会话密钥,以用它进行通信。当客户端要和一个特定的验证者建立关系时,使用认证请求和响应,从认证服务器获得一个票据和会话密钥。在请求中,客户端给认证服务器发送它的身份、验证者名称、指定的有效时间、请求时所发的随机数、验证者名称和票据的其他信息,所有内容均用用户在认证服务器上注册的口令作为密钥来加密,再附上包含相同内容的票据,这个票据将作为应用请求的一部分发送给验证者。1.3.2 应用请求和响应应用请求和响应,是Kerberos协议中最基本的消息交换,客户端就是通过这种消息交换向验证者证明它知道嵌在Kerberos票据中得会话密钥。应用请求分两部分:票据和认证码。1.3.3 获得附加票据在基本Kerberos认证协议中,允许一个知道用户口令知识的客户端获得一张票据和会话密钥,来向在认证服务器上注册过的任何验证者证明身份。1.3.4 Kerberos的加密Kerberos加密基本过程: (1)A AS: A客户A请求Kerberos认证服务器AS发给接入KerberosTGS的票据。 (2)AS A:KSKas,TGT=KS,TsKst (3)A TGS:B,TGT,TaKS (4)TGS A:A,KabKS,Ticket=B,KabKbt (5)A B:Ticket,TaKab (6)A B:Ta+1KabKerberos协议认证过程: TGS AS 1 2 3 4 A B 51.4 Kerberos协议的缺陷1.失败于单点:它需要中心服务器的持续响应。当Kerberos服务结束前,没有人可以连接到服务器。这个缺陷可以通过使用复合Kerberos服务器和缺陷认证机制弥补。 2.Kerberos要求参与通信的主机的时钟同步。票据具有一定有效期,因此,如果主机的时钟与Kerberos服务器的时钟不同步,认证会失败。默认

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论