现在的位置: 首页 > 综合 > 正文

Kerberos协议工作原理

2013年03月04日 ⁄ 综合 ⁄ 共 1173字 ⁄ 字号 评论关闭
1.         三种角色与简介
1)         三种角色
KDC:密钥分配中心(起到分发密钥的作用)
Client:客户端(被服务的对象)
Service:服务端(提供服务的主机)
2)         简介
Kerberos协议主要用于计算机网络的身份鉴别,其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据访问多个服务
Kerberos协议的拓扑图:

 

2.         工作原理
1)         步骤一:获取原始票据
客户端向密钥分配中心发送自己的身份信息,密钥分配中心从授予票据服务(Ticket Granting Service)得到可用的票据(ticket-granting ticket),并用协议开始前客户端与密钥分配中心之间的密钥将票据加密回复给客户端,客户端收到密钥分配中心回复的加密票据后利用与密钥分配中心先前协议的密钥将票据解密,从而获得票据,此步骤主要是允许客户端进行Kerberos的验证,是进行访问服务的先决条件
2)         步骤二:获取服务票据以及访问服务
客户端利用之前获得的票据向密钥分配中心请求其他服务的票据,从而通过其他服务的身份验证
获取其他服务票据以及访问服务总共有如下四步:

 

     客户端将之前获得的票据和要请求的服务信息发送给密钥分配中心,密钥分配中心中的授予票据服务将客户端和服务端之间生成一个会话密钥(Session Key)用于服务器与客户端的身份验证。然后密钥分配中心将这个会话密钥和用户名,用户地址(IP),服务名,有效期,时间戳一起包装成一个票据(这张票据用于服务端对客户端的身份验证)发送给服务端,Kerberos协议并没有直接将票据发送给服务端,而是通过客户端转发给服务端
     密钥分配中心将刚才的票据转发给客户端。由于这个票据是要给服务端的,不能让客户端看到,所以密钥分配中心用协议开始之前密钥分配中心与服务端之间的密钥将票据加密后再发给客户端,同时为了让客户端与服务端之间共享那个会话密钥,密钥分配中心用客户端与它之间的密钥将会话密钥加密返回给客户端
     为了完成票据的传递,客户端将刚才收到的票据转发到服务端,由于客户端不知道密钥分配中心与服务端的密钥,所以它无法修改票据的信息,同时客户端将收到的会话密钥解压出来,然后将自己的用户名,用户地址(IP)打包成验证包用会话密钥加密也发给服务端
     服务端收到票据后利用它与密钥分配中心之间的密钥将票据中的信息解密出来,从而获得会话密钥和用户名,用户地址(IP),服务名,有效期。然后再用会话密钥将验证包解密从而获得用户名,用户地址(IP)将其与之前票据中解密出来的用户名,用户地址(IP)做比较从而验证客户端的身份,如果服务端有返回结果,将其返回给客户端
3.         数据包的流程

 

抱歉!评论已关闭.