|
|
: [3 l+ p; [4 p% n) i1 p1、客户端需要访问某个服务器。
% O" p" r4 u- C3 t0 E& c+ V2、客户端发送报文给kerberos,申请TGT。7 X' d3 ]0 c, Q- l& P V
客户端在发送报文给kerberos的时候,会发送两份信息,
$ \: ]9 j* h+ n; Q R" o1 p 第一份信息是明文信息(我是谁,我需要申请一张TGT去访问服务)
+ U I' V* ~5 `- B0 J) ] 第二份信息是加密信息(客户端的基本信息),通过客户端的密码加密的。
- Z+ n6 J' x) M, [* I3、kerberos接收到报文
- e5 X2 X) U; m2 \8 q 根据客户端发送的明文信息,去ldap找到客户端的密码。
! z- ^8 h8 `- P A9 V 通过从ldap拿到的客户端密码去解密客户端发送给他的加密信息。
8 S) F/ b( R$ |4 r 解密完成之后,对比解密出的客户端信息和客户端发送的明文信息是否一致。
- Y; ^* w& k5 K* m5 ?+ A- t4、kerberos生成一个session key。3 E- X7 ~, b. C
将session key复制两分。) z2 K7 }$ W5 W( o. L: _( S: p
一份session key通过客户端的密码加密。
# W% V9 l; _8 S9 Y! C 另一份session key 和 客户端信息通过kerberos 密码加密。(TGT)) ^% r) d3 k4 v% ?6 z
kerberos将这份信息一起发送给客户端。7 v6 L% J9 T9 t: b; I0 Z
5、客户端申请ST
5 j7 Y. v8 O, w9 M8 Y* @ j 向kerberos发送请求(我是谁,我想要访问哪个服务)-->明文信息3 N, }2 m8 t4 W
客户端通过自己的密码解析上一步kerberos发送给自己的通过自己密码加密的报文,拿到session key。
* k7 a8 ]# P3 x/ T1 _+ s+ w9 ^ 使用session key将自己的信息加密。# |0 z" g/ n" Z- Q8 v
将加密信息和TGT一起发送给kerberos。" w6 K$ Z( {& Q. o; c, C
6、kerberos接收到客户端发送给他的报文+ z, `) V6 }$ ?
先通过自己的密码解析TGT,解析完成之后,拿到session key(kerberos服务端和客户端的session key)和客户端信息。
* B8 \$ Q& ^8 A5 E9 v& K 通过拿到的session key(kerberos服务端和客户端的session key)解密上一步客户端发送给他的经过session key(kerberos服务端和客户端的session key)加密的信息,拿到客户端信息。4 l3 H2 e* x: u: D! @; k1 ~; g
将客户端信息和TGT里面包含的客户端信息做比较,看是否符合,如果符合,说明此客户端之前已经通过kerberos认证,可以给客户端生成ST。2 E8 ~* b3 D( a
kerberos 再次生成一个session key(客户端和他所要访问的服务的session key) N$ q W, n- r0 D* R6 m
通过客户端所要访问的服务端的密码将session key(所要访问的服务端和客户端的session key)和客户端信息加密。(ST)
* q; ]) {5 F6 d$ N% d6 ? 通过上一步发送给客户端的session key(kerberos服务端和客户端之间的session key)将客户端和服务端的session key加密。6 W5 r4 o4 k- ?; a9 `1 b0 Q) H7 f
将这两个报文一起发送给客户端。* q. K8 Q) b" d/ V' R5 \+ T. D* z
7、客户端收到两个报文
2 x ?5 ]4 }& o0 J: U 通过本地缓存的session key解密kerberos 给他发送的通过自己session key加密的自己和服务端的session key。! ]* ^& t9 N, X; n) t3 w
再使用和服务端之间的session key将自己的信息加密。
3 k) K4 ?1 Y4 B- [ 将加密好的报文和ST一起发送给自己所要访问的服务。
( }- e" p# `" C/ \8 \% Z/ ]8、被访问服务收到报文( \* h) u9 q: u* v- Z
通过自己的密码解密ST。拿到和客户端之间的session key和客户端信息。* }2 o( ^; K2 p: L
使用session key解密客户端发送给他的经过session key加密的信息,拿到客户端信息0 d$ p6 r; {) {; n$ N& [
将拿到的客户端信息和ST里面包含的客户端信息做比对,看是否一致。如果一致,则客户端认证成功。
% y1 }% V7 s5 C9 }* E" v( G9、客户端可以去访问他所需要访问的服务。 7 H. ?7 N: l1 z. r8 F
) |7 B2 T- l; ]. t H! @$ q6 _$ \- u5 A; R
视频目录:
I, k: k* v' m* D; N
3 U6 I8 s$ \( P8 e- e |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|