计算机系统信息安全:公开密钥基础设施

本章讲述公钥基础设施。教授用常见信息安全受到威胁的例子说明公钥基础设施建设的必要性,阐述了公钥基础设施的主要组件。详细介绍了公钥证书的使用和认证、PKI体系结构——PKIX、密钥安全、X.509证书格式和实际应用:信任模型及其实现方式。
展开查看详情

1.第4章 公开密钥基础设施 南京大学计算机系黄皓教授 2011年10月24日

2. 参考文献  Warwick Ford, Michael S. Baum著, 劳帼龄译,安全电 子商务—为数字签名和加密构造基础设施,人民邮电出 版社,2002年5月。  ISO/IEC 9594-8 Information technology – Open Systems interconnection – The Directory: Public-key and attribute certificate frameworks, Fourth edition 2001-08-01  ITU-T X.509, Information technology – Open Systems interconnection – The Directory: Public-key and attribute certificate frameworks, 06/97 2011年12月5日星期一 南京大学计算机系讲义 2

3. 内容 1. 为什么需要公钥基础设施 2. 证书的基本概念 3. X.509 证书格式 1. 信任模型 2011年12月5日星期一 南京大学计算机系讲义 3

4. 1. 为什么需要公开密钥基础设施  中间人攻击  抵赖  信任 2011年12月5日星期一 南京大学计算机系讲义 4

5.1.1 中间人攻击 KUa A B KUB A B E(KUB,M) A B E(KUa,N) A B 用公开密钥的方式交换密钥 2011年12月5日星期一 南京大学计算机系讲义 5

6. 1.1 中间人攻击 KUa KUMa KUA, KRA A M B KUMa, KRMa KUMb KUB A M B KUB, KRB KUMb, KRMb E(KUMb,M) E(KUB,M) A M B E(KUa,N) E(KUMa,N) A M B 对用公开密钥的方式交换密钥的中间人 攻击 2011年12月5日星期一 南京大学计算机系讲义 6

7. 1.1 中间人攻击 X=gx mod n XM=gxm mod n A M B x xm y sb= (g xm) y mod n YM=gym mod n Y=gy mod n A M B ym sa= (gym)x mod n sa= (gx)ym mod n sb= (gy) xm mod n E(sa,M) E(sb,M) A M B E(sa,N) E(sb,N) A M B 对DH交换密钥的中间人 攻击 2011年12月5日星期一 南京大学计算机系讲义 7

8. 1.1 中间人攻击 X=gx mod n A B Y=gy mod n A B kA=(gy)x mod n kA=(gx)y mod n signA(X) A B signB(Y) A B 对DH交换密钥的中间人 攻击的防范 2011年12月5日星期一 南京大学计算机系讲义 8

9. 1.1 中间人攻击 X=gx mod n XM=gxm mod n A M B x XM y sb= (XM)y mod n YM=gym mod n Y=gy mod n A M B YM sa= (YM)ym mod n signA(X) A B SignA (XM) ≠SignA (X) signB(Y) A B SignA (YM) ≠SignA (Y) 验证公开数时就可以发现是否被篡改了 2011年12月5日星期一 南京大学计算机系讲义 9

10. 1.2 抵赖  A当面将自己的公钥交给B;  A用自己的私钥签署一份合同交给B;  B用A的公钥验证合同签名的有效性;  B按照合同活动;  A拒绝履行合同中的承诺  声称他没有签署过合同;  那把公钥不是自己的  B用A的公钥验证合同的  那把私钥合同之前就丢了, 签名; 是别人冒充他签的。  B ??????? 2011年12月5日星期一 南京大学计算机系讲义 10

11. 1.3 信任  情景  B 在一个网站上下载了A的公钥;  A用自己的私钥签署一份合同:采购B机器,并把合同在网上发送给B;  B用A的公钥验证合同签名的有效性;  B交付机器;  B向A索要货款,但B收不到回音,也不知道A住在什么地方;  B思考:  网站和A在合伙欺骗自己吗?  A的私钥是在签署合同之前丢失的吗?  网站会在A丢失私钥之后就立即负责任地告诉我吗?如果网站没有及时 通知我,网站会负责吗?  如果找到了A,法院能根据签名合同判决吗?  网站的工作人员能准确判断申请者的身份而不被欺骗吗?  如果网站也是被欺骗的,谁对找不到A而对B造成损失负责? 2011年12月5日星期一 南京大学计算机系讲义 11

12. 1.4 PKI提供的服务  好密钥的安全生成  初始身份的确认  证书的颁发、更新与终止  证书有效性的检查  证书和相关信息的分发  密钥的安全存档和恢复  签名和时间戳的产生  信任关系的建立和管理  ………………………… 2011年12月5日星期一 南京大学计算机系讲义 12

13. 1.5 公钥基础设施的组件  认证机构  注册机构  证书服务器  证书库  证书验证  密钥服务服务器  时间服务器  签名服务器 2011年12月5日星期一 南京大学计算机系讲义 13

14.2. 证书的基本概念

15.2.1 证书的概念

16. 公钥证书  公钥证书  证书是一个由使用证书的用户群所公认和信任的权威机构签署 的包括证书主体的公钥在内的信息集合。  在该类证书中,一个公钥值与一个特定的实体(人、角色、设 备或其他)权威地联系在一起;  公钥证书是由称为证书权威机构(认证机构)的人或实体在确 认了相应的私钥持有者的身份或其他属性;  权威机构承诺公钥的主体是证书中公钥配对的私钥的唯一持者。  公开密钥技术和数字签名是电子商务安全的基础  公钥证书则是将这些技术广泛地应用于大型的、全球性的电子 商务社区的关键。 2011年12月5日星期一 南京大学计算机系讲义 16

17. 公钥证书的结构 认证机构私钥 主体身份信息 认证机构的 主体公钥值 数字签名 认证机构名称 认证机构的 数字签名 2011年12月5日星期一 南京大学计算机系讲义 17

18. 公钥证书的意义  公钥证书的使用功能  消息发送  当某一消息发送方希望使用基于公开密钥技术的加密方法来发送 加密信息时,该消息的发送方必须拥有每一个接收方的公钥拷贝。  如果用的不是接受方的公钥(可能攻击者替换了) ,则会造成信息 泄漏。  验证数字签名  任一方想要验证另一方的数字签名时,验证方也需要拥有签名方 的一个公钥拷贝。  如果用的不是真正的声称的签名者的公钥,则会发生欺骗事件。  如果不能证实数字签名发生时刻,私钥在证书的主体手中,则公 钥的主体可以不承认做了签名,可能是事实,也可能是抵赖。 2011年12月5日星期一 南京大学计算机系讲义 18

19. 1. 消息的发送者必须知道 证书机构提供 验证证书主体的服务  公钥没有被第三方替换  私钥没有泄漏 2. 数字签名的验证者必须确认证书的主体(对方,即协 议的参加方)不能否认签名的发生时刻,私钥在他手 中。  密钥对是对方申请的  私钥仍然在对方手中(没有泄漏) 证书机构提供 证书撤销、档案等服务 证书机构提供的是特种服务,资质需要严格管理 2011年12月5日星期一 南京大学计算机系讲义 19

20. 公钥证书系统的三类实体  认证机构  为公-私密钥对的持有者发放证书。  提供各种服务。  证书主体  持有相应私钥的个人、设备或其他实体。  当证书的主体是个人或法人实体时,一般将这类持 有证书的主体称为证书机构用户。  证书用户  利用证书验证签名;  利用证书发送机密消息。 2011年12月5日星期一 南京大学计算机系讲义 20

21. 证书的使用  证书用户(公钥用户)  获取证书中的公钥,按照指定的用途使用该公钥的用户;  证书用户信任证书权威机构  证书用户相信证书权威机构的承诺,根据合同操作,如果遭遇损失可以得到赔 偿。  证书用户要验证证书的真伪  证书用户用证书权威机构的公钥验证验证获得的证书是否是他信任的证书机构 发放的;  证书用户验证证书是否过期了;  证书用户必需安全地获得证书权威机构的签名公钥(或公钥证书)。 2011年12月5日星期一 南京大学计算机系讲义 21

22.  公钥证书可以公开的的文件服务器、目录服务系统以及未提供安全 性保护的通信协议来分发。  使用证书好处主要在于,公钥用户只要知道认证机构的公钥,就可 以获得其他很多机构用户的公钥。因而可以获得很好的规模效应, 也就是说,只要能运用公钥技术,就可以推广公钥证书的运用。  要注意的是,只有当公钥用户相信认证机构的目的仅仅是发放证书 时,证书才是有用。 2011年12月5日星期一 南京大学计算机系讲义 22

23. 证书的验证  证书的主体  证书是否在有效期内  证书的签名是否正确  证书当前是否可用(是否被撤销)  证书的用途是否正确 2011年12月5日星期一 南京大学计算机系讲义 23

24. 证书的认证 — 认证路径 颁发者  根证书:颁发者给自己签发的证书 江苏省认证中心  证书用户信任根证书的颁发者 主体的公钥  证书用户有根证书 颁发者 主体 江苏省认证中心 江苏省认证中心 江苏省认证中心 主体的公钥 签名 颁发者 主体 江苏省税务局 江苏省税务局 江苏省认证中心 主体的公钥 签名 私钥 公钥 主体 XX 公司 江苏省税务局 签名 私钥 公钥 2011年12月5日星期一 南京大学计算机系讲义 24

25. 证书 — 法律关系  服务对象  专门为某个杜团的内部人员或其附属人员提供服务,如一个组 织的内部认证机构可能只管理该组织中雇员的证书;  认证机构为包括非附属人员在内的广大社区提供服务;  法律关系  纸上签名与一个特定的人具有内在的联系,因为它们留有签名 者的唯一笔迹;  一个用于数字签名的密钥对不与任何人具有内在的联系;  这种联系必须由认证机构确定了持有特定密钥对的人的身份后 建立;  利用私钥创建的每一个数字签名的可靠性部分地依赖于将该私 钥与签名者相联系的认证机构的可靠性;  原则  只有证书主体才能控制相应的私钥;  证书主体必须经过适当的验证 2011年12月5日星期一 南京大学计算机系讲义 25

26. 2.2 PKI体系结构 — PKIX  Public Key Infrastructure X.509 (PKIX)由IETF组成,用 来规定证书概要文件集合和操作模型,其适合在Internet 上部署X.509公开密钥。 2011年12月5日星期一 南京大学计算机系讲义 26

27. 2.2 PKIX 模型 管理事务 操作事务 最终实体 管理事务 PKI 用户 证书 PKI 管理实体 / 证书公布 注册机构 CRL 库 管理事务 证书/CRL公布 认证机构 管理事务 认证机构 2011年12月5日星期一 南京大学计算机系讲义 27

28. 2.2 PKIX的功能  注册  初始化  认证  密钥对恢复  密钥产生  密钥更新  交叉证书  撤销  证书与撤销通知分发与发布 2011年12月5日星期一 南京大学计算机系讲义 28

29. CA的网络模型 LRA最终用户 RA最终用户 数据库 管理模块 数据库 LRA 前台服 证书管 签名服 硬件密 RA 务模块 理模块 务模块 码模块 CA管理 模块 LRA管理员 RA管理员 CA管理员 2011年12月5日星期一 南京大学计算机系讲义 29