本章要点 15 ·Kerberos是一种设计用于分布式环境下的认证服务 Kerberos利用一个可信的第三方认证服务来完成客户 端和服务器端的认证 X.509定义了公钥证书的格式,广泛使用于各个应用 公钥基础设施(PKⅫ)是建立在非对称加密算法之上的, 用于创建、管理、存储、分发和撤消数字证书的一整 套体系,其中包含硬件、软件、人员、政策以及相应 的处理 ●PK1实现时使用了X.509的认证格式 2022/10/9 现代密码学理论与实践-14 2/42
2022/10/9 现代密码学理论与实践-14 2/42 本章要点 ⚫ Kerberos是一种设计用于分布式环境下的认证服务 ⚫ Kerberos利用一个可信的第三方认证服务来完成客户 端和服务器端的认证 ⚫ X.509定义了公钥证书的格式,广泛使用于各个应用 ⚫ 公钥基础设施(PKI)是建立在非对称加密算法之上的, 用于创建、管理、存储、分发和撤消数字证书的一整 套体系,其中包含硬件、软件、人员、政策以及相应 的处理 ⚫ PKI实现时使用了X.509的认证格式
★作不学 14.1 Kerberos 105 Kerboros是作为MlT的Athena计划的认证服务开发 的,防止非授权用户获得服务或数据 。通过提供一个集中的授权服务器来负责用户对服务 器的认证和服务器对用户的认证,而不是对每个服 务器提供详细的认证协议 ● 允许用户通过网络访问分布的服务器 不需要信任所有的工作站和服务器 只要信任集中式的认证服务器即可 ·Kerberos仅依赖于对称加密体制而未使用公钥体制 。目前使用的版本主要是4和5 2022/10/9 现代密码学理论与实践-14 3/42
2022/10/9 现代密码学理论与实践-14 3/42 14.1 Kerberos ⚫ Kerboros是作为MIT的Athena计划的认证服务开发 的,防止非授权用户获得服务或数据 ⚫ 通过提供一个集中的授权服务器来负责用户对服务 器的认证和服务器对用户的认证,而不是对每个服 务器提供详细的认证协议 ⚫ 允许用户通过网络访问分布的服务器 ⚫ 不需要信任所有的工作站和服务器 ⚫ 只要信任集中式的认证服务器即可 ⚫ Kerberos仅依赖于对称加密体制而未使用公钥体制 ⚫ 目前使用的版本主要是4和5
14.1.1 Kerberos动机 Kerberos为保护用户信息和服务器资源,要求客户向 服务器提供身份认证,服务器向客户提供身份认证 ● Kerberos体系结构为分布的客户/服务器结构,并拥 有一个或多个Kerberos服务器提供认证服务 ●Kerberos需求 Security:网络监听不能通过冒充其他用户获得有用信息 ● Reliability:高可靠性,且使用分布式服务结构 Transparency:用户除了要输入口令,不需要知道认证的发生 Scalability:能支持大量客户端和服务器,模块化、分布式体系 结构 Kerberos实现时采用的是基于Needham-Schroeder 的认证协议 2022/10/9 现代密码学理论与实践-14 4/42
2022/10/9 现代密码学理论与实践-14 4/42 14.1.1 Kerberos动机 ⚫ Kerberos为保护用户信息和服务器资源, 要求客户向 服务器提供身份认证, 服务器向客户提供身份认证 ⚫ Kerberos体系结构为分布的客户/服务器结构, 并拥 有一个或多个Kerberos服务器提供认证服务 ⚫ Kerberos需求 ⚫ Security: 网络监听不能通过冒充其他用户获得有用信息 ⚫ Reliability: 高可靠性,且使用分布式服务结构 ⚫ Transparency: 用户除了要输入口令,不需要知道认证的发生 ⚫ Scalability: 能支持大量客户端和服务器,模块化、分布式体系 结构 ⚫ Kerberos实现时采用的是基于Needham-Schroeder 的认证协议
》◆至衣卡 Needham-Schroeder Protocol 。最早期的第三方密钥分发协议之一 KDC负责为用户A和B之间的通信产生会话密钥 。协议如下: 1.A→KDC:DA IDB‖N1 2.KDC→A:Eka[Ks‖IDBN1I‖EKo[KSIDA]] 3.A→B:EKo[KSIDA] 4.B→A:EKs[N2] 5.A→B:EKs[fN2)] 2022/10/9 现代密码学理论与实践-14 5/42
2022/10/9 现代密码学理论与实践-14 5/42 Needham-Schroeder Protocol ⚫ 最早期的第三方密钥分发协议之一 ⚫ KDC负责为用户A和B之间的通信产生会话密钥 ⚫ 协议如下: 1. A→KDC: IDA || IDB || N1 2. KDC→A: EKa[Ks || IDB || N1 || EKb[Ks||IDA ] ] 3. A→B: EKb[Ks||IDA ] 4. B→A: EKs[N2 ] 5. A→B: EKs[f(N2 )]
Needham-Schroeder Protocol 海经衣大 105 Key Distribution Center (KDC) (1)Request NI Key distribution (2)Eka I Ks lI Request II NIll EKb(Ks.IDA)] steps -(3)EKb IKs DAl- Initiator Responder A B -(4)EKsN2] Authentication -(5)EKs[fN2)] steps Figure 5.9 Key Distribution Scenario 甲 2022/10/9 现代密码学理论与实践-14 6/42
2022/10/9 现代密码学理论与实践-14 6/42 Needham-Schroeder Protocol
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] 认证会话交互过程的信息细节