Presentation is loading. Please wait.

Presentation is loading. Please wait.

现代密码学理论与实践 第15章 电子邮件的安全 Fourth Edition by William Stallings

Similar presentations


Presentation on theme: "现代密码学理论与实践 第15章 电子邮件的安全 Fourth Edition by William Stallings"— Presentation transcript:

1 现代密码学理论与实践 第15章 电子邮件的安全 Fourth Edition by William Stallings
Slides by 杨寿保 2012年11月 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

2 本章要点 PGP是保障电子邮件安全的免费开源软件包,提供使用数字签名的认证、对称密码的保密、ZIP的压缩、基数64编码的兼容性,以及分段和组装长电子邮件的功能。 PGP融合了开发公钥信任模型和公钥证书管理的工具 S/MIME是保障电子邮件安全的标准Internet协议,提供了与PGP类似的功能。 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

3 安全电子邮件系统PGP (Pretty Good Privacy)
Phil Zimmermann(齐默尔曼) PGP为电子邮件和文件存储应用提供了认证和保密性服务 选择理想的密码算法 把算法很好地集成到通用应用中,独立于操作系统和微处理器 自由发放,包括文档、源代码等 与商业公司(Network Associates)合作,提供一个全面兼容的、低价位的商业版本PGP PGP历史 1991年推出1.0版,1994年推出2.6版,现在9.6版等 算法的专利之争,困扰了3年多 与美国出口管理限制之争,长达5年时间的调查 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

4 About Phil Zimmermann He was born in Camden, New Jersey. His father was a concrete mixer truck driver. Zimmermann received a B.S. degree in computer science from Florida Atlantic University in Boca Raton in 1978, and currently lives in the San Francisco Bay Area. In 1991, he wrote the popular Pretty Good Privacy (PGP) program, and made it available (together with its source code) through public FTP for download, the first widely available program implementing public-key cryptography. Shortly thereafter, it became available overseas via the Internet, though Zimmermann has said he had no part in its distribution outside the US. After a report from RSA Data Security, Inc., who were in a licensing dispute with regard to use of the RSA algorithm in PGP, the Customs Service started a criminal investigation of Zimmermann, for allegedly violating the Arms Export Control Act. The US Government had long regarded cryptographic software as a munition, and thus subject to arms trafficking export controls. At that time, the boundary between permitted ("low-strength") cryptography and impermissible ("high-strength") cryptography placed PGP well on the too-strong-to-export side (this boundary has since been relaxed). The investigation lasted three years, but was finally dropped without filing charges. In early 1996, Zimmermann founded PGP Inc. and released an updated version of PGP and some additional related products. That company was acquired by Network Associates (NAI) in December 1997, and Zimmermann stayed on for three years as a Senior Fellow. NAI decided to drop the product line and in 2002, PGP was acquired from NAI by a new company called PGP Corporation. Zimmermann now serves as a special advisor and consultant to that firm. Zimmermann is also a fellow at the Stanford Law School's Center for Internet and Society. He was a principal designer of the cryptographic key agreement protocol (the "association model") for the Wireless USB standard. 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

5 15.1 PGP(Pretty Good Privacy)
Philip R. Zimmerman的主要工作 选择了最好的加密算法作为基础构件 集成加密算法,形成通用的应用程序 制作软件包和文档,包括源码,免费提供 提供完全兼容的低价格的商用版本 PGP快速发展和流行的原因 免费获得,运行于不同平台的多个版本 建立在普遍认为非常安全的算法的基础上,算法的安全性已经得到了充分的论证,如公钥加密包括RSA、DSS、Diffie-Hellman,单钥加密包括CAST-128、IDEA、3DES、AES,以及SHA-1散列算法 应用范围广泛,适用性强 不受任何组织和政府控制 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

6 PGP功能列表 为了适应邮件的大小限制,PGP支持分段和重组 数据分段 邮件应用完全透明,加密后的消息用Radix 64转换
邮件兼容性 消息用ZIP算法压缩 ZIP 压缩 消息用一次性会话密钥加密,会话密钥用接收方的公钥加密 CAST或IDEA或3DES、AES 及RSA或D-F 消息加密 用SHA-1创建散列码,用发送者的私钥和DSS或RSA加密消息摘要 DSS/SHA或RSA/SHA 数字签名 说 明 采用算法 服 务 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

7 15.1.1 PGP所使用的符号 Ks:常规加密中的会话密钥 KRa:公开密钥系统中用户A的私有密钥 KUa:公开密钥系统中用户A的公开密钥
EP:公开密钥加密 DP:公开密钥解密 EC:常规加密 DC:常规解密 H: 散列函数 ||: 串接操作(并置) Z: 使用ZIP算法进行压缩 R64:基数为64的ASCII格式转换 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

8 PGP操作描述 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

9 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

10 PGP操作描述 数字签名与认证 签名也可以使用DSS/SHA-1来生成 PGP也支持分离的数字签名 发送者创建报文
使用发送者的私有密钥,用RSA算法对散列码加密(签名),并置在报文前面 接收者使用发送者的公开密钥,用RSA解密和恢复散列码 接收者计算报文的散列码,与解密得到的进行比较,如果两者匹配,则报文通过鉴别 签名也可以使用DSS/SHA-1来生成 PGP也支持分离的数字签名 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

11 功能:身份认证 发送方 接收方 产生消息M 用SHA-1对M生成一个160位的散列码H 用发送者的私钥对H加密,并与M连接
对消息M生成一个新的散列码,与H比较。如果一致,则消息M被认证。 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

12 身份认证说明 说明 签名与消息可以分离 1. RSA的强度保证了发送方的身份 2. SHA-1的强度保证了签名的有效性
3. DSS/SHA-1可选替代方案。 签名与消息可以分离 对消息进行单独的日志记录 可执行程序的签名记录,检查病毒 文档多方签名,可以避免嵌套签名 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

13 PGP操作描述 保密性 保密性与认证 发送者生成报文和128位会话密钥随机数 采用CAST-128(或IDEA或3DES)对报文加密
采用RSA,使用接收者的公开密钥加密会话密钥,并置到报文前面 接收者采用RSA,解密和恢复会话密钥 接收者使用会话密钥解密报文 可以使用Diffie-Hellman算法生成会话密钥 保密性与认证 同时实现保密和认证 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

14 保密性 发送方 接收方 生成消息M并为该消息生成一个随机数作为会话密钥 用会话密钥加密M 用接收者的公钥加密会话密钥并与消息M结合
用自己的私钥解密恢复会话密钥 用会话密钥解密恢复消息M 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

15 保密性说明 对称加密算法和公钥加密算法的结合可以缩短加密时间 用公钥算法解决了会话密钥的单向分发问题
不需要专门的会话密钥交换协议 由于邮件系统的存储-转发的特性,用握手方式交换密钥不太可能 每个消息都有自己的一次性密钥,进一步增强了保密强度。所以,每个密钥只加密很小部分的明文内容 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

16 保密与认证的结合 两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密消息,再用接收者的公钥加密会话密钥。 2018/11/29
现代密码学理论与实践-15:电子邮件的安全

17 PGP操作描述 压缩 压缩有利于在电子邮件传输和存储时节省空间 压缩在签名之后进行
对没有压缩过的报文进行签名,验证时只需要存储没有压缩过的报文和签名 便于采用不同的压缩算法 加密压缩过的报文可以加强加密的强度,因为冗余减少,密码分析更加困难 PGP采用ZIP算法进行压缩 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

18 PGP操作描述 电子邮件的兼容性 PGP提供把原始8位二进制流转换成可打印ASCII字符的服务
采用Radix-64转换,每三个字节的二进制数据为一组映射成四个ASCII字符,附加CRC校验 使用Radix-64,报文长度增加了33% 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

19 PGP操作描述 分段与重组 电子邮件工具通常限制消息的最大长度,一般在50,000字节 任何大于该长度的消息必须分成若干小段,单独发送
接收方剥去所有电子邮件头,按步骤重新组装 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

20 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

21 Format of PGP Message 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

22 15.1.3 加密密钥和密钥环 PGP使用四种类型的密钥 PGP对密钥的需求 一次性会话传统密钥 公钥 私钥 基于口令短语的传统密钥
公钥和私钥 需要某种手段来标识具体的密钥 一个用户拥有多个公钥/私钥对 密钥更新管理 私钥如何保存 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

23 密钥标识符和钥匙环 一个用户有多个公钥/私钥对时,接收者如何知道发送者用哪个公钥来加密会话密钥?
将公钥与消息一起传送。 将一个标识符与一个公钥关联,对一个用户来说唯一,即用户ID和密钥ID标识一个密钥 定义KeyID 包括64个有效位(PGP采用公钥的低64位作为KeyID) 对于PGP数字签名,KeyID也很必需。用哪个公钥来验证签名? 钥匙环 KeyID对于PGP非常关键。 PGP消息中包括两个keyID,分别提供保密与认证功能。 需要一种系统化的方法存储和组织这些密钥以保证有效使用这些密钥 PGP密钥管理方案 用户机器(节点)上有一对数据结构: 私钥环:存储本节点拥有的公钥/私钥对 公钥环:存储本节点所知道的其他用户的公钥 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

24 PGP私钥环 信息 UserID 私钥如何保存 时间戳、KeyID、公钥、私钥、UserID
通常是用户的邮件地址。也可以是一个名字,可以重名 私钥如何保存 用户选择一个口令短语用于加密私钥 当系统用RSA生成一个新的公钥/私钥对时,要求用户输入口令短语。对该短语使用SHA-1生成一个160位的散列码后,销毁该短语 系统用其中128位作为密钥用CAST-128加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中 当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取出加密后的私钥,生成散列码,解密私钥 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

25 PGP 公钥环 信息 UserID 公钥环可以用UserID或KeyID索引。
时间戳、KeyID、公钥、对所有者信任度、用户ID、密钥合法度、签名、对签名者信任度 UserID 公钥的拥有者。多个UserID可以对应一个公钥。 公钥环可以用UserID或KeyID索引。 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

26 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

27 PGP 发送方处理消息的过程 签名 加密 从私钥环中得到私钥,利用userid作为索引 PGP提示输入口令短语,恢复私钥 构造签名部分
构造消息的会话密钥部分 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

28 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

29 PGP接收方处理消息的过程 解密消息 验证消息 PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥
2018/11/29 现代密码学理论与实践-15:电子邮件的安全

30 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

31 邮件数据处理 顺序:签名 —— 压缩 —— 加密 压缩对邮件传输或存储都有节省空间的好处 签名后压缩的原因 压缩之后再做加密的原因
不需要为检验签名而保留压缩版本的消息 为了检验而再做压缩不能保证一致性,压缩算法的不同实现版本可能会产生不同的结果 压缩之后再做加密的原因 压缩后的消息其冗余小,增加密码分析的难度 若先加密,则压缩难以见效 兼容性 PGP处理后的消息,部分或者全部是加密后的消息流,为任意的8位字节。某些邮件系统只允许ASC字符,所以PGP提供了转换到ASC格式的功能。采用了Radix-64转换方案 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

32 15.1.4 PGP 公钥管理 由于PGP重在正式或非正式环境下的广泛应用,所以它没有建立严格的公钥管理模式。 有关的问题
一旦用户私钥泄漏,存在两种危险: 别人可以伪造用户的签名 其他人发送给用户的保密信件可被别人读取 防止公钥环上包含错误的公钥 保证公钥环上公钥的正确性 物理上得到B的公钥,可靠,但有一定局限性 通过电话验证公钥 从双方都信任的个体D处获得B的公钥 从一个信任的CA中心得到B的公钥 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

33 PGP公钥信任模型 尽管PGP没有包含任何建立认证权威机构或建立信任体系的规范,但它提供了一个利用信任关系的方法,将信任关系与公钥联系起来。每个公钥有三个相关的属性: Key legitimacy field:合法性或者有效性,表明PGP对“此用户公钥是合法的”的信任程度;信任级别越高,这个userID与该公钥的绑定越强。这个字段是由PGP计算的。 每一个公钥项都有一个或者多个签名,这是公钥环主人收集到的能够认证该公钥项的签名。每一个签名与一个signature trust field关联,表明这个PGP用户对“签名人对公钥签名”的信任程度。Key legitimacy field 是由多个signeture trust field 导出的 Owner trust field:表明该公钥被用于签名其它公钥证书时的信任程度,这个信任程度是由用户给出的。 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

34 信任标志字节的内容 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

35 PGP信任模型示例 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

36 PGP公钥的注销 公钥注销功能的必要性:密钥暴露或定时更新 通常的注销途径是由私钥主人签发一个密钥注销证书
私钥主人应尽可能越广越快散布这个证书,以使得潜在的有关人员更新他们的公钥环 注意:对手也可以发出这个证书,然而,这将导致他自己也被否决。因此,这样比起恶意使用偷来的私钥来看,似乎会减少漏洞。 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

37 PGP证书管理软件 PGP证书管理软件 —— 服务器软件 集中管理PGP公钥证书 提供LDAP、HTTP服务
本地Keyring可以实时地连接到服务器,适合于企业使用 更新老的证书 查找新的证书 查询CRL 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

38 PGP用法(1) 密钥管理 生成新的密钥对 导出、导入 指定信任关系 保存和备份 改变私钥的访问口令 2018/11/29
现代密码学理论与实践-15:电子邮件的安全

39 PGP用法(2) 撰写邮件时,发送之前指定加密和签名 通过属性配置,可以指定默认状态 2018/11/29
现代密码学理论与实践-15:电子邮件的安全

40 PGP用法(3) 其他辅助功能 有关网络的功能 文件加解密、签名认证 当前窗口内容加解密、签名认证 剪贴板内容加解密、签名认证 个人防火墙
VPN 网络传输 文件加解密、签名认证 当前窗口内容加解密、签名认证 剪贴板内容加解密、签名认证 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

41 15.2 S/MIME (Secure/Multipurpose Internet Mail Extensions)
S/MIME增强了MIME的安全性 最初的Internet邮件协议是SMTP,即RFC822,只提供文本消息传送 后来的MIME提供对各种形式消息的传送支持 MIME通过将消息二进制码转换成文本传送 S/MIME增强了MIME的安全 S/MIME 支持各种现代邮件代理,如MS Outlook, Netscape etc 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

42 15.2.1 简单邮件传递协议 (SMTP, RFC 822) SMTP的局限性 不能传送可执行文件或其他二进制数据对象
不能传送包括国际语言字符的文本数据,只限于7位ASCII 消息不能超过一定大小 不能把ASCII转换成EBCDIC(扩充的二进制编码的十进制交换码) 一些SMTP的实现与在RFC822中定义的标准不完全一致 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

43 15.2.2 MIME 定义了5个新的报头域 定义了若干内容格式,支持多媒体邮件
MIME-Version: 必须是1.0,符合RFC 2045, RFC 2046 Content-Type: 数据类型,使接收方选择正确的数据处理机制 Content-Transfer-Encoding: 内容转换编码 (radix-64) Content-ID: 内容标识 Content Description: 内容描述,在正文对象不可读时提供的文本描述(e.g., mpeg) 定义了若干内容格式,支持多媒体邮件 定义了编码转换方式,任何内容格式均可转化为邮件系统认可的格式 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

44 MIME内容类型 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

45 MIME转换编码 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

46 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

47 MIME规范格式 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

48 15.2.3 S/MIME的功能 与PGP类似, S/MIME提供了签名和加密消息的功能
Enveloped data:包含邮件加密之后的内容,以及针对一个或多个接收者的加密密钥 Signed data:对签名内容作消息摘要,然后用签名者的私钥对摘要加密,以此形成一个数字签名;内容与签名被转换成base64编码,一个签名的数据消息只能被具有S/MIME能力的接收者查看 Clear-signed data:只有签名部分用Base64编码,结果是,即使接收者没有S/MIME能力,他也能查看消息内容,只是他不能验证该签名 Signed and enveloped data:签名和加密的结合,加密数据被签名或者签名数据被加密 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

49 S/MIME使用的密码算法 Message Digesting: SHA-1 and MDS Digital Signatures: DSS
Secret-Key Encryption: Triple-DES, RC2/40 (exportable) Public-Private Key Encryption: RSA with key sizes of 512 and 1024 bits, and Diffie-Hellman (for session keys). 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

50 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

51 S/MIME消息 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

52 15.2.5 S/MIME证书处理过程 S/MIME使用X.509 v3的证书
采用混合了严格X.509 CA层次结构和PGP可信Web的方式进行管理 每个客户拥有一张来自可信CA颁发的证书列表和自己的公钥/私钥对,以及公钥证书 公钥证书必须经过可信CA的签名 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

53 Certificate Authorities, CA
VeriSign是基于互联网的使用最广泛的认证服务 VeriSign颁发一些类型的VeriSign数字证书Digital IDs VeriSign提供公钥证书的三种安全级别 Class Identity Checks Usage name/ check web browsing/ enroll/addr check , subs, s/w validate ID documents e-banking/service access 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

54 VeriSign公钥证书类型 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

55 15.2.6 增强安全性服务 签收 安全标签 安全邮寄列表 对签名数据对象要求进行签收 在签名数据对象的认证属性中可以包含安全标签
当用户向多个接收方发送消息时,需要进行一些与每个接收方相关的处理,包括使用各接收方的公钥 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

56 S/MIME邮件用法(1) 公钥管理 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

57 S/MIME邮件用法(2) 私钥管理 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

58 S/MIME邮件用法(3) 把帐号与私钥关联起来 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

59 S/MIME邮件用法(4) 撰写邮件 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

60 2018/11/29 现代密码学理论与实践-15:电子邮件的安全

61 习题与思考题 2018/11/29 现代密码学理论与实践-15:电子邮件的安全


Download ppt "现代密码学理论与实践 第15章 电子邮件的安全 Fourth Edition by William Stallings"

Similar presentations


Ads by Google