Presentation is loading. Please wait.

Presentation is loading. Please wait.

现代密码学理论与实践 第14章 认证协议的应用 Fourth Edition by William Stallings

Similar presentations


Presentation on theme: "现代密码学理论与实践 第14章 认证协议的应用 Fourth Edition by William Stallings"— Presentation transcript:

1 现代密码学理论与实践 第14章 认证协议的应用 Fourth Edition by William Stallings
Slides by 杨寿保 2012年11月 2018/11/28 现代密码学理论与实践-14

2 本章要点 Kerberos是一种设计用于分布式环境下的认证服务 Kerberos利用一个可信的第三方认证服务来完成客户端和服务器端的认证
X.509定义了公钥证书的格式,广泛使用于各个应用 公钥基础设施(PKI)是建立在非对称加密算法之上的,用于创建、管理、存储、分发和撤消数字证书的一整套体系,其中包含硬件、软件、人员、政策以及相应的处理 PKI实现时使用了X.509的认证格式 2018/11/28 现代密码学理论与实践-14

3 14.1 Kerberos Kerboros是作为MIT的Athena计划的认证服务开发的,防止非授权用户获得服务或数据
通过提供一个集中的授权服务器来负责用户对服务器的认证和服务器对用户的认证,而不是对每个服务器提供详细的认证协议 允许用户通过网络访问分布的服务器 不需要信任所有的工作站和服务器 只要信任集中式的认证服务器即可 Kerberos仅依赖于对称加密体制而未使用公钥体制 目前使用的版本主要是4和5 One of the best known and most widely implemented trusted third party key distribution systems. It was developed as part of Project Athena at MIT. 2018/11/28 现代密码学理论与实践-14

4 14.1.1 Kerberos动机 Kerberos为保护用户信息和服务器资源, 要求客户向服务器提供身份认证, 服务器向客户提供身份认证
Security: 网络监听不能通过冒充其他用户获得有用信息 Reliability: 高可靠性,且使用分布式服务结构 Transparency: 用户除了要输入口令,不需要知道认证的发生 Scalability: 能支持大量客户端和服务器,模块化、分布式体系结构 Kerberos实现时采用的是基于Needham-Schroeder的认证协议 2018/11/28 现代密码学理论与实践-14

5 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)] This is the original, basic key exchange protocol. Used by 2 parties who both trusted a common key server, it gives one party the info needed to establish a session key with the other. Note that since the key server chooses the session key, it is capable of reading/forging any messages between A&B, which is why they need to trust it absolutely! Note that all communications is between A&KDC and A&B, B&KDC don't talk directly (though indirectly a message passes from KDC via A to B, encrypted in B's key so that A is unable to read or alter it). Other variations of key distribution protocols can involve direct communications between B&KDC. 2018/11/28 现代密码学理论与实践-14

6 Needham-Schroeder Protocol
2018/11/28 现代密码学理论与实践-14

7 14.1.2 Kerberos 版本4 Kerberos的使用模式:Client/Server 方法:使用中央式的识别服务器
客户机:用户 用户和服务器首先都到Kerberos服务器注册,与Kerberos服务器实现秘密共享,识别过程中Kerberos服务器为通信双方建立一个通信密钥。 方法:使用中央式的识别服务器 (Authentication Server, AS), 为用户和应用服务器提供识别服务。AS与用户共享口令, 与其他服务器共享密钥, 在注册时以特别的安全方式分配给各方。 2018/11/28 现代密码学理论与实践-14

8 一个简单的认证会话 设有用户C, 服务器V, 通过AS提供服务: 缺点:PC不能明文传送,否则不安全;
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 2018/11/28 现代密码学理论与实践-14

9 一个更安全的认证会话交互过程 增加通行票产生服务器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 2018/11/28 现代密码学理论与实践-14

10 TGT→Tickettgs = EKtgs[IDC, ADC, IDtgs, TS1, Lifetime1]
中央识别服务器AS 通行票产生服务器TGS 用户C 服务器V 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时的用户相同。 2018/11/28 现代密码学理论与实践-14

11 认证会话交互过程的信息细节 ①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] 2018/11/28 现代密码学理论与实践-14

12 2018/11/28 现代密码学理论与实践-14

13 Stallings Fig 14. 1. Discuss in relation to Table 14
Stallings Fig Discuss in relation to Table 14.1 which details message exchanges. 2018/11/28 现代密码学理论与实践-14

14 Kerberos 4中所用元素之作用 2018/11/28 现代密码学理论与实践-14

15 2018/11/28 现代密码学理论与实践-14

16 2018/11/28 现代密码学理论与实践-14

17 Kerberos域和多重Kerberos
Kerberos服务器必须有存放用户标识(UID)和用户口令的数据库, 所有用户必须在Kerberos服务器注册 Kerberos服务器必须与每个应用服务器共享一个特定密钥,所有应用服务器必须在Kerberos服务器上注册 隶属于不同行政机构的客户/服务器通常构成了不同域, 在一个Kerberos服务器中注册的客户与服务器属于同一个行政区域。一个域中的客户可能需要访问另一个域中的服务器, 而某些服务器也希望给其他域的客户提供服务, 因此需要提供域间认证机制 每个互操作域的Kerberos服务器应共享一个密钥,双方的Kerberos服务器应相互注册 一个域的Kerberos服务器必须信任其他域的Kerberos服务器对其用户的认证, 其他域的应用服务器也必须信任第一个域中的Kerberos服务器 2018/11/28 现代密码学理论与实践-14

18 2018/11/28 现代密码学理论与实践-14

19 Kerberos的安全问题和Kerberos 5
使用Time Stamp防止重放palyback攻击; 使用口令做密钥,不安全; 集中式管理,使用AS和TGS,容易出危险。 Kerberos 5的改进 增加代理功能,委托授权与有限授权 改进安全机制 在鉴别符AuthenticatorC中增加子密钥,可用于群通信 增加域名,名字的结构分为两部分 PDU描述改为ASN.1,方便变长字段和可选字段的处理 2018/11/28 现代密码学理论与实践-14

20 14.1.3 Kerberos Version 5 Kerberos v5是上个世纪90年代中期开发的
Kerberos v4与Kerberos v5的区别 加密系统依赖性:v4使用DES,v5用加密类型标记密文,可以使用任何加密技术 Internet协议依赖性:v4使用IP地址, 不支持其他地址类型; v5用类型和长度标记网络地址,允许使用任何类型的网络地址 消息字节顺序:v4由发送方说明消息字节顺序; v5按编码规则确定消息字节顺序 票据的生命期:v4生命期8位表示,28x5=1280分钟;v5有精确的起始时间和终止时间,允许任意长度生命期 向前认证:v4发给客户端的证书不能转发给其他用户进行其他相关操作; v5提供这项功能 域间认证:v4中N个域的互操作需要N2个Kerberos-to-Kerberos关系;v5需要的连接少 2018/11/28 现代密码学理论与实践-14

21 Kerberos v5的消息交换 2018/11/28 现代密码学理论与实践-14

22 2018/11/28 现代密码学理论与实践-14

23 14.2 X.509认证服务 X.509是X.500系列中定义目录服务的一部分,目录是指管理用户信息数据库的服务器或一组分布服务器,用户信息包括用户名到网络地址的映射等 X.509定义了X.500用户目录的一个认证服务框架,目录提供公钥证书库服务,还定义了基于公钥证书的一个认证协议 X.509是关于证书结构和认证协议的一种重要标准 X.509首次于1988年发布,1995年第3版,2000年再次修改 X.509是基于公钥密码体制和数字签名的服务,推荐使用RSA,数字签名需要用到散列函数 X.509 is the Internationally accepted standard for how to construct a public key certificate, and is becoming widely used. It has gone through several versions. It is used by S/MIME secure , SSL/TLS secure Internet links (eg for secure web). 2018/11/28 现代密码学理论与实践-14

24 2018/11/28 现代密码学理论与实践-14

25 X.509证书 X.509证书由可信认证机构Certification Authority (CA), 创建并放入目录服务器中,包括 版本号(1, 2, or 3) 序列号(unique within CA) identifying certificate 签名算法标识 发行商名(CA) 有效期(from - to dates) 证书主体名(name of owner) 证书主体的公钥信息(algorithm, parameters, key) 发行商唯一标识(v2+) 证书主体唯一标识(v2+) 扩展(v3) 签名(of hash of all fields in certificate) 标识CA<<A>>=CA{V, SN, AI, CA, TA, A, Ap} 表示由 CA签字的A公钥证书 The X.509 certificate is the heart of the standard. There are 3 versions, with successively more info in the certificate - must be v2 if either unique identifier field exists, must be v3 if any extensions are used. 2018/11/28 现代密码学理论与实践-14

26 X.509 Certificates Stallings Fig 14.3 2018/11/28 现代密码学理论与实践-14

27 获得一个用户证书 任何可以获得CA公钥的用户均可获得证书中用户公钥 只有CA可以修改证书
由于证书不可伪造,因此证书可以放在目录中而不需要特别的保护 如果两个CA能够安全地交换各自的公开密钥,如下的过程可以使A获得B的公开密钥 A从目录获得由X1签名的X2的证书,因而获得X2的公开密钥并通过证书中X1的签名加以证实 A从目录中得到由X2签名的B的证书,因为A已经拥有X2的公开密钥,因此能验证这个签名并安全获得B的公开密钥:X1<<X2>>X2<<B>> B使用相反对链可以获得A的公开密钥 X2<<X1>>X1<<A>> 2018/11/28 现代密码学理论与实践-14

28 证书的层次结构 如果用户有共同的CA,则他们应该知道彼此的公钥,否则CA必须形成层次结构并互相发放证书 每个CA目录入口包含两种证书
向前证书:由其他CA发给X的证书(forward, client) 向后证书:X发给其他CA的证书(backward, parent) 每一个用户信任他的父节点的证书 通过层次化的结构,可以使一个CA下的用户验证任何其他CA下的用户的公钥证书 All very easy is both parties use the same CA. If not, then there has to be some means to form a chain of certifications between the CA's used by the two parties. And that raises issues about whether the CA's are equivalent, whether they used the same policies to generate their certificates, and how much you're going to trust a CA at some remove from your own. These are all open issues. 2018/11/28 现代密码学理论与实践-14

29 CA层次结构的使用 A从目录获得证书以建立通往B的证书路径 B通过如下路径获得A的公开密钥
X<<W>>W<<V>>V<<Y>>Y<<Z>>Z<<B>> B通过如下路径获得A的公开密钥 Z<<Y>>Y<<V>>V<<W>>W<<X>>X<<A>> Stallings Fig 14.4. Track chains of certificates: A acquires B certificate using chain: X<<W>>W<<V>>V<<Y>>Y<<Z>>Z<<B>> B acquires A certificate using chain: Z<<Y>>Y<<V>>V<<W>>W<<X>>X<<A>> 2018/11/28 现代密码学理论与实践-14

30 证书的撤销 每个证书都有一个有效期,到期失效 可能因为如下原因提前撤销证书 每个CA维护一张证书撤销列表
用户的私钥被认为不安全了 用户不再信任该CA CA的证书被认为不安全了 每个CA维护一张证书撤销列表 the Certificate Revocation List (CRL) 用户应该经常去CRL看看某个证书是否还有效 2018/11/28 现代密码学理论与实践-14

31 14.2.2 X.509的认证过程 X.509有三种可选的认证过程 三种方法均使用公钥签名 One-Way Authentication
Two-Way Authentication Three-Way Authentication 三种方法均使用公钥签名 The X.509 standard specifies the authentication protocols that can be used when obtaining and using certificates. 1-way for unidirectional messages (like ), 2-way for interactive sessions when timestamps are used, 3-way for interactive sessions with no need for timestamps (and hence synchronised clocks). 2018/11/28 现代密码学理论与实践-14

32 2018/11/28 现代密码学理论与实践-14

33 One-Way Authentication
使用一条消息( AB)建立认证过程 A的标识和A创建的消息 B所需要的消息 消息的完整性和原创性(不能多次发送) 消息必须包含时间戳,nonce,B的标识符,并由A签名 2018/11/28 现代密码学理论与实践-14

34 Two-Way Authentication
使用两条消息建立认证过程(AB, BA) A的标识和A创建的消息 B所需要的消息 消息的完整性和原创性(不能多次发送) B的标识和B生成的应答消息 A需要的消息 应答的完整性和真实性 应答消息包括从A得到的临时交互号nonce,时间戳和B生成的临时交互号 消息中可以包含签名的其他信息和用A的公钥加过密的会话密钥 2018/11/28 现代密码学理论与实践-14

35 Three-Way Authentication
使用三条消息(AB, BA, AB)建立认证过程而不需要同步时钟 最后从A发往B的消息中包含签了名的临时交互号rb,这样,其中的时间戳就不用检查了 2018/11/28 现代密码学理论与实践-14

36 14.2.3 X.509 Version 3 密钥和策略信息 证书主体和发行商属性 证书路径约束 授权密钥标识符 主体密钥标识符 密钥使用
私钥使用期 证书策略 策略映射 证书主体和发行商属性 主体可选名字 发行商可选名字 主体目录属性 证书路径约束 基本限制、名字限制、策略限制 2018/11/28 现代密码学理论与实践-14

37 14.3 公开密钥的全局管理体制PKI 基于X.509证书的PKI
公钥体制需要一个管理机制,保证公开密钥的可靠性。PKI (Public Key Infrastructure)是公开密钥证书的管理体制。除了登记注册、管理、发布公钥证书之外, PKI还要负责撤销过去签发但现已失效的密钥证书, 即CRL(X.509证书和证书撤销列表) PKI本质上是一种公证服务,通过离线的数字证书来证明某个公开密钥的真实性, 并通过CRL来确认某个公开密钥的有效性 PKI的目标是向Internet用户和应用程序提供公开密钥管理服务,使其可靠地使用非对称密钥加密技术。数字证书是PKI的核心数据结构,引入了公认可信的第三方和数字证书,依赖证书上的第三方数字签名,用户可以离线地确认公钥的真实性。 2018/11/28 现代密码学理论与实践-14

38 Public Key Infrastructure
RFC 2822 (Internet Security Glossary) defines public-key infrastructure (PKI) as the set of hardware, software, people, policies, and procedures needed to create, manage, store, distribute, and revoke digital certificates based on asymmetric cryptography. The IETF Public Key Infrastructure X.509 (PKIX) working group has setup a formal (and generic) model based on X.509 that is suitable for deploying a certificate-based architecture on the Internet. Stallings Figure 14.7 shows the interrelationship among the key elements of the PKIX model, and lists the various management functions needed. 2018/11/28 现代密码学理论与实践-14

39 PKI (Public Key Infrastructure)
X.509证书和证书撤销列表CRL X.509证书是由发布者数字签名的、用于绑定某公开密钥及其持有者身份的数据结构。 证书撤销列表是一种证书有效期控制机制,由发布者数字签名。证书使用者可以依据CRL (Certificate Revocation List)验证某证书是否已被撤销。 PKI的结构模型 PKI是公钥的管理机制,为域结构形态,每个PKI都有一定的覆盖范围,形成一个管理域。这些管理域通过交叉证书相互关联,构成更大的管理域,最终形成全局性公钥管理体系。 2018/11/28 现代密码学理论与实践-14

40 PKI (Public Key Infrastructure)
PAA(Policy Approval Authority) 政策审批机构 制订整个体系结构的安全政策并制订所有下级机构都需要遵循的规章制度,主要是证书政策和证书使用规定。 CA(Certificate Authority) 证书管理中心 负责具体的证书颁发与管理,如同颁发护照的部门,是可信任的第三方。 ORA(Organizational Registry Authority) 单位注册机构,帮助用户在CA处注册并获得证书。 PMA(Policy Management Authority) 政策管理机构,对PKI进行宏观管理。 端实体:数字签名和加密的实体 2018/11/28 现代密码学理论与实践-14

41 PKI (Public Key Infrastructure)
PKI中有两种管理实体:证书管理中心CA和注册中心RA CA:能够发布和撤销证书,维护证书的生存周期 RA:负责处理用户注册请求,在验证请求有效性后代用户向CA提交。 PKI中有两种端实体:持证者(Holder)和验证者(Verifier) 持证者是证书拥有者, 是证书所声明事实的主体;验证者通常是授权方, 确认证书持有者的证书有效后再授予对方相应权力 不同实体之间通过PKI操作完成证书的请求、确认、发布、撤销、更新、获取等过程。PKI的操作主要分成两大类:存取操作和管理操作。 2018/11/28 现代密码学理论与实践-14

42 习题与思考题 2018/11/28 现代密码学理论与实践-14


Download ppt "现代密码学理论与实践 第14章 认证协议的应用 Fourth Edition by William Stallings"

Similar presentations


Ads by Google