|
|
) U( \, l% f" N7 e
1、客户端需要访问某个服务器。
- R _* f8 ^1 a* {: ]& T+ b- `9 P2、客户端发送报文给kerberos,申请TGT。1 I7 e/ g, g8 ]1 a, C
客户端在发送报文给kerberos的时候,会发送两份信息,% R4 C1 i1 I! i% K' T' ?
第一份信息是明文信息(我是谁,我需要申请一张TGT去访问服务)" c& L2 r v8 |( L
第二份信息是加密信息(客户端的基本信息),通过客户端的密码加密的。
4 F- I" T0 T$ A" X3、kerberos接收到报文( K4 _; @' h& O) k) l! d
根据客户端发送的明文信息,去ldap找到客户端的密码。
4 S" O2 r9 }( j 通过从ldap拿到的客户端密码去解密客户端发送给他的加密信息。* X; M4 h2 r8 c2 o9 E( W7 S
解密完成之后,对比解密出的客户端信息和客户端发送的明文信息是否一致。
P5 x& B! n) k4 H$ A4、kerberos生成一个session key。4 U( n) J, m/ S8 j6 z5 s3 k- A/ c
将session key复制两分。
! q% F3 Q1 c8 Y! ] C4 ` 一份session key通过客户端的密码加密。
/ S" F) H, Q1 ^( T 另一份session key 和 客户端信息通过kerberos 密码加密。(TGT)
* K* n3 S) l# k" E kerberos将这份信息一起发送给客户端。
/ g; K/ n$ R* p" O5、客户端申请ST
@# p% D8 \9 P. Z; O 向kerberos发送请求(我是谁,我想要访问哪个服务)-->明文信息+ q- T. [$ U/ ^+ }. i; o
客户端通过自己的密码解析上一步kerberos发送给自己的通过自己密码加密的报文,拿到session key。5 k9 S% n% v0 p! L! }$ A
使用session key将自己的信息加密。
; N1 Z; b2 z& e, c X7 _ 将加密信息和TGT一起发送给kerberos。2 ]& _; P% W) i
6、kerberos接收到客户端发送给他的报文% |' Y* m' {* n1 {. M
先通过自己的密码解析TGT,解析完成之后,拿到session key(kerberos服务端和客户端的session key)和客户端信息。% ?( C4 o! ]7 D7 {5 F9 P2 q
通过拿到的session key(kerberos服务端和客户端的session key)解密上一步客户端发送给他的经过session key(kerberos服务端和客户端的session key)加密的信息,拿到客户端信息。
: ?8 Q* y4 m( S, g+ L/ T 将客户端信息和TGT里面包含的客户端信息做比较,看是否符合,如果符合,说明此客户端之前已经通过kerberos认证,可以给客户端生成ST。: F+ \+ p2 G* M% D% N: f
kerberos 再次生成一个session key(客户端和他所要访问的服务的session key)
6 A5 q. [( z+ w0 H, ? 通过客户端所要访问的服务端的密码将session key(所要访问的服务端和客户端的session key)和客户端信息加密。(ST), f* g" r5 h; o* O4 C
通过上一步发送给客户端的session key(kerberos服务端和客户端之间的session key)将客户端和服务端的session key加密。
: U& W! _) o( U 将这两个报文一起发送给客户端。
2 }; _# O# W5 j1 V. A$ [$ c% T7、客户端收到两个报文7 Y- l$ ^/ ]0 |. ~7 E; M
通过本地缓存的session key解密kerberos 给他发送的通过自己session key加密的自己和服务端的session key。
; R) G# ]% A& D3 V 再使用和服务端之间的session key将自己的信息加密。
% u; x" [: g# e4 m8 _ 将加密好的报文和ST一起发送给自己所要访问的服务。
$ |1 a4 K! e( n Y" D: Q8、被访问服务收到报文$ z! S- o) V' M* [8 Q* N
通过自己的密码解密ST。拿到和客户端之间的session key和客户端信息。2 w! ^% }. ?/ {4 d. u, I/ ^' {3 c
使用session key解密客户端发送给他的经过session key加密的信息,拿到客户端信息: U7 K) q( ~% W' X* N( J9 }
将拿到的客户端信息和ST里面包含的客户端信息做比对,看是否一致。如果一致,则客户端认证成功。
+ V; X! R; f: I& s1 d! M5 t9、客户端可以去访问他所需要访问的服务。
+ L" g% N/ d$ c* y- N
' F3 F$ C' x& r+ Q& L
6 X9 j& X8 o( Z: i$ |8 @视频目录:9 l6 S5 ~$ W8 ?. E1 P; H5 ?6 B
( B- u. L ?0 ^7 N* N3 x |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|