Kerberos流程
2015-12-31 23:32:52 0 举报
Kerberos是一种网络认证协议,它使用密钥系统来实现客户端和服务器之间的身份验证。Kerberos流程包括以下几个步骤: 1. 客户端向认证服务器(AS)发送初始票据请求,请求包含客户端ID和时间戳。 2. AS验证客户端ID,并向客户端发送一个包含临时票据TGT的响应。 3. 客户端向应用服务器(TGS)发送服务票据请求,请求包含TGT和客户端ID。 4. TGS验证TGT,并向客户端发送一个包含服务票据ST的响应。 5. 客户端向应用服务器发送服务请求,请求包含ST和客户端ID。 6. 应用服务器验证ST,并允许客户端访问其资源。
作者其他创作
大纲/内容
authentication server
10~14步就完成了Client Service Request
14 client收到messageH后,使用Server session key解密,比对获得的timestamp和本地保存的构成messageG的timestamp,如果相同client就可以信任server端,并发起service request
9 TGS发回两条message给clientmessageE:client to server ticket (clientID+clientIP+period+Server session key),该ticket使用service的secret key加密messageF:Server session key,使用TGS session key加密message
1 用户输入username和password,或者使用公钥代替密码。2 使用password生成对称加密的密钥secret key,保存在本地
11 client发送两条消息给SSmessageE:即是9中的messageEmessageG:Authenticator(clientID+timestamp),使用Server session key加密message
7 当请求服务时,client发送两条message给TGSmessageC:TGT(messageB)和请求的服务IdmessageD:Authenticator(clientID+timestamp),使用TGS session key加密message
1~6步就完成了Client Authentication
12 当SS收到messageE和G后,使用自身的service secret key解密E,即ticket,获得Server session key;再使用Server session key解密messageG得到Authenticator
5 AS发回两条message给client messageA:TGS session key,使用4中的secret key加密messagemessageB:TGT(clientID+clientIP+ticket validity period+TGS session key),使用TGS的secret key加密message
client
13 SS发回一条message给clientmessageH:Authenticator中的timestamp,并使用Server session key加密message
4 AS根据username查库从KDC中取出password,并hash该password生成密钥(secret key)
6 收到messageA后client通过保存的secret key解密获得TGS session key(如果输入密码不对得到的secret key自然就无法解密messageA)
KDC
3 明文方式将username发送到位于KDC的AS服务
service server
10 client收到消息E和F,通过TGS session key解密messageF得到Server session key
8 当TGS收到messageC和D,从C中取出B,通过自身的TGS secret key解密TGT得到TGS session key;再使用TGS session key解密messageD得到Authenticator
ticket granting service
7~9步就完成了Client Service Authorization
0 条评论
下一页