14.1.2 Kerberos版本4 全 15 ·Kerberos的使用模式:Client/Server 服务器:包括提供识别服务的Kerberos.服务器和 提供应用的各类服务器 ● 客户机:用户 ● 用户和服务器首先都到Kerberos服务器注册,与 Kerberos服务器实现秘密共享,识别过程中 Kerberos.服务器为通信双方建立一个通信密钥。 方法:使用中央式的识别服务器 (Authentication Server,.AS),为用户和应用服务器提 供识别服务。AS与用户共享口令,与其他服务器共 享密钥,在注册时以特别的安全方式分配给各方。 2022/10/9 现代密码学理论与实践-14 7/42
2022/10/9 现代密码学理论与实践-14 7/42 ⚫ Kerberos的使用模式:Client/Server ⚫ 服务器:包括提供识别服务的Kerberos服务器和 提供应用的各类服务器 ⚫ 客户机:用户 ⚫ 用户和服务器首先都到Kerberos服务器注册,与 Kerberos服务器实现秘密共享,识别过程中 Kerberos服务器为通信双方建立一个通信密钥。 ⚫ 方法:使用中央式的识别服务器 (Authentication Server, AS), 为用户和应用服务器提 供识别服务。AS与用户共享口令, 与其他服务器共 享密钥, 在注册时以特别的安全方式分配给各方。 14.1.2 Kerberos 版本4
一个简单的认证会话 冷在专 1950 设有用户C,服务器V,通过AS提供服务: ● C→AS:IDc,Pc,IDy AS ● AS-C:Ticket ● C→V:lDc,Ticket 其中,Ticket::EkW[Dc,ADc,IDI De,Pc,IDv Dc:用户C名 Ticket IDv:服务器V名 ADc:用户C的网络地址 C V KV:服务器V与AS共享的密钥 IDc,Ticket Pc:用户C的口令 缺点:Pc不能明文传送,否则不安全; Ticket只能用一次,否则易遭重播攻击; 为换得不同的通行票,用户口令要反复使用,很不安全。 2022/10/9 现代密码学理论与实践-14 8/42
2022/10/9 现代密码学理论与实践-14 8/42 设有用户C, 服务器V, 通过AS提供服务: ⚫ C→AS:IDC, PC, IDV ⚫ AS→C:Ticket ⚫ C→V:IDC, Ticket 其中,Ticket: EKV[IDC, ADC, IDV] IDC:用户C名 IDV:服务器V名 ADC:用户C的网络地址 KV:服务器V与AS共享的密钥 PC:用户C的口令 缺点:PC不能明文传送,否则不安全; Ticket只能用一次,否则易遭重播攻击; 为换得不同的通行票, 用户口令要反复使用, 很不安全。 IDc, Pc, IDv Ticket IDc, Ticket AS C V 一个简单的认证会话
一个更安全的认证会话交互过程 15 增加通行票产生服务器TGS(Ticket-Granting Server), AS中存储与用户和TGS共享的密钥,专门负责识别用户 身份,然后将TGT(Ticket--Granting Ticket))用与TGS共享 的密钥加密交给用户。用户据此获得TGS的服务,TGS 产生SGT(Service-Granting Ticket),用户据此获得其他 服务器的服务。 (1)C-→AS:IDc,IDtgs (2)AS-C:EKc[Tickettgs] 对不同的服务器,重复下面的步骤: (3) C-TGS:IDc,IDv,Ticketigs (4)TGS→C:Tickety 对相同的服务器,不同的通信回合,重复: (5)C→V:IDc,Ticket 2022/10/9 现代密码学理论与实践-14 9/42
2022/10/9 现代密码学理论与实践-14 9/42 ⚫ 增加通行票产生服务器TGS(Ticket-Granting Server). AS中存储与用户和TGS共享的密钥,专门负责识别用户 身份,然后将TGT(Ticket-Granting Ticket)用与TGS共享 的密钥加密交给用户。用户据此获得TGS的服务,TGS 产生SGT(Service-Granting Ticket),用户据此获得其他 服务器的服务。 (1) C→AS:IDC, IDtgs (2) AS→C:EKC[Tickettgs] 对不同的服务器,重复下面的步骤: (3) C→TGS:IDC, IDV , Tickettgs (4) TGS→C:TicketV 对相同的服务器,不同的通信回合,重复: (5) C→V:IDC, Ticket 一个更安全的认证会话交互过程
中央识别服务器AS 通行票产生服务器TGS 海牵茶家水 1050 ③ ① ② ④ 用户C ⑤ 服务器V ⑥ TGT-Tickettgs =Ektgs[IDc,ADc,IDtgs,TS,Lifetime1] SGT-Ticketgs EKv[IDc,ADc,TS2,Lifetime2] TS:time stamp;Adc:user's network address 攻击者可以截获TGT和SGT,在有效的时间内实施重播攻击。解 决办法是在提交TGT或SGT的同时必须向服务器证明其身份仍同 前面取得TGT和SGT时的用户相同。 2022/10/9 现代密码学理论与实践-14 10/42
2022/10/9 现代密码学理论与实践-14 10/42 TGT→Tickettgs = EKtgs[IDC, ADC, IDtgs, TS1 , Lifetime1] SGT→Tickettgs = EKv[IDC, ADC, TS2 , Lifetime2] TS:time stamp;Adc:user’s network address ⚫ 攻击者可以截获TGT和SGT,在有效的时间内实施重播攻击。解 决办法是在提交TGT或SGT的同时必须向服务器证明其身份仍同 前面取得TGT和SGT时的用户相同。 ① ② ③ ④ ⑤ ⑥ 中央识别服务器AS 通行票产生服务器TGS 用户C 服务器V
认证会话交互过程的信息细节 宴等长专 15 ①IDc,IDgs,TS1 2Ekc[Kc.gs,IDtgs,TS2,Lifetime1,Ticketgs] Tickettgs=EKtgs[Kc,tgs,IDc,ADc,IDtgs,TS2,Lifetime2] ③lDv,Tickettgs,Authenticatorc(用户身份证明文件) Authenticatorc Ekc.tgs[IDc,ADc,TS3] Ekc.tgs[KCv,IDV,TS4,Ticketv] Tickety Ek[Kc.v,IDc,ADc,IDv,TS4,Lifetime4] 5Tickety,Authenticatorc Authenticatorc Ekc.v[IDc,ADc,TSs] ⑤Ekc,lTS5+1] 2022/10/9 现代密码学理论与实践-14 11142
2022/10/9 现代密码学理论与实践-14 11/42 ①IDC, IDtgs, TS1 ②EKC[KC,tgs, IDtgs, TS2 , Lifetime1, Tickettgs] Tickettgs = EKtgs[KC, tgs,IDC, ADC, IDtgs, TS2 , Lifetime2] ③IDV, Tickettgs, AuthenticatorC (用户身份证明文件) AuthenticatorC = Ekc,tgs[IDC, ADC, TS3 ] ④Ekc,tgs[KC,V,IDV, TS4 , TicketV] TicketV = Ekv[KC,V,IDC, ADC, IDV, TS4 , Lifetime4] ⑤TicketV, AuthenticatorC AuthenticatorC = Ekc,v[IDC, ADC, TS5 ] ⑥Ekc,v[TS5+1] 认证会话交互过程的信息细节