1 / 50

第 5 章 电子邮件安全

第 5 章 电子邮件安全. 主要内容. Pretty good privacy (PGP ) S/MIME. PGP (良好隐私). Philip R. Zimmerman 是 PGP 的 创造者。 PGP 提供了机密性和身份鉴别服务,可用于电子邮件和文件存储应用中 。 Philip R. Zimmerman 进 行的工作: 1. 选择最好的可用加密算法来创建数据块 2. 将这些算法集成到独立于操作系统和处理器的通用应用程序 3. PGP 数据包和文档(包含源码),可免费获得 4. 与公司( Network Associates )约定,提供 PGP 商业版本.

may
Download Presentation

第 5 章 电子邮件安全

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章 电子邮件安全

  2. 主要内容 • Pretty good privacy(PGP) • S/MIME

  3. PGP(良好隐私) • Philip R. Zimmerman 是 PGP的创造者。 • PGP提供了机密性和身份鉴别服务,可用于电子邮件和文件存储应用中。 Philip R. Zimmerman进行的工作: 1.选择最好的可用加密算法来创建数据块 2.将这些算法集成到独立于操作系统和处理器的通用应用程序 3.PGP数据包和文档(包含源码),可免费获得 4.与公司(Network Associates)约定,提供PGP商业版本

  4. PGP广泛应用的原因 • 可获得不同平台的免费版本 • 基于被认可的算法 • 应用范围广泛 • 不由政府和标准化组织控制和开发

  5. 5.1.1 符号 使用的符号: • Ks=对称加密算法中使用的会话密钥 • KRa=用户A的私钥,用于公钥加密方案 • KUa=用户A的公钥,用于公钥加密方案 • EP=公钥加密 • DP=公钥解密 • EC=对称加密 • DC=对称解密 • H=hash函数 • ||=连接 • Z=使用ZIP算法进行压缩 • R64=转换为radix 64的ASCII格式

  6. 5.1.2 操作描述 • 包含5种服务: • 认证 • 机密性 • 压缩 • E-mail兼容性 • 分段

  7. 1.认证 PGP提供数字签名服务,步骤如下: • 发送者创建消息 • 发送者使用SHA-1算法产生消息160位hash代码 • 发送者私钥加密hash代码(RSA),将结果附在消息上 • 接收者使用RSA算法和发送者公钥解密和恢复hash代码 • 接收者生成新的hash代码,并与解密后的hash代码比较 Sha-1和RSA的结合能提供有效的数字签名方案

  8. 仅进行身份鉴别

  9. 2.机密性 • 机密性用于传送加密消息或在本地存储加密文件 • PGP提供机密性服务,步骤如下: • 1.发送者产生一条消息及适合该消息的随机128位数字作为会话密钥 • 2.使用会话密钥和CAST-128(或IDEA或3DES)算法加密消息 • 3.使用接收者的公钥和RSA算法加密会话密钥,并附在消息上 • 4.接收者使用自己的私钥和RSA算法解密和恢复会话密钥 • 5.使用会话密钥解密消息

  10. 2.机密性(2) 特点: • 使用对称和公钥加密的结合,减少加密时间 • 使用公钥加密解决了会话密钥分配问题。 • 一次性会话密钥加强了常规加密算法的强度

  11. 3.机密性与认证 • 同时提供机密性和身份认证两种服务的方法: • 生成明文消息的签名并附在消息上 • 对处理后的消息进行压缩 • 用常规加密算法,利用会话密钥对压缩消息进行加密 • 利用对方的公钥加密会话密钥

  12. 4.压缩 默认情况下,PGP在应用签名之后但在加密之前压缩消息 • 压缩前生成签名的原因: 1.能保存未压缩的消息和签名,从而实现将来的验证 2.压缩算法的不确定性,难以验证压缩的消息 • 压缩后加密消息能提高密码的安全性

  13. 5.E-mail兼容性 • 电子邮件消息使用ASCII文本构成的块。 • PGP用radix-64进行转换,将8位二进制流转换为可打印的ASCII字符流 3个字节4个ASCII字符(还符加CRC校验) 使用radix-64使消息扩展33%,使用ZIP平均压缩比为2.0,总体压缩1/3

  14. 6.分段与重组 • 通常受限于最大消息长度(50000字节) • 更长的消息将被细分成足够小的段 • PGP 自动将过大的消息细分为几个足够小的段 • 接收者剥去所有email头,并进行块的重组

  15. PGP消息的发送与接收

  16. PGP服务总结 功能 应用的算法 数字签名 DSS/SHA或 RSA/SHA 消息加密 采用Diffie-Hellman或者RS A方案的CAST、IDEA或 者 3DES 压缩 ZIP E - mail 兼容性 Radix - 64 转换 - 分段

  17. 5.1.3 密钥和密钥环 PGP使用4种类型的密钥: • 一次性会话密钥 • 公钥 • 私钥 • 基于口令短语的对称密钥 对密钥的要求: • 能够生成不可预测会话密钥的方法 • 允许 用户拥有多个公钥/私钥对 • PGP必须维护自己的公钥/私钥对文件,以及由相应通信者的公钥组成的文件

  18. 1.会话密钥的生成 会话密钥的特点---与单一的消息相联系 CAST-128产生随机密钥---使会话密钥不可预测 PGP随机数的产生方法: • 根据文本和用户击键的时间产生随机数 • 基于ANSI X9.17算法产生伪随机数 真实随机数的目的: • 用于产生RSA密钥对 • 提供伪随机数发生器的初始值 • 提供伪随机数产生阶段的附加输入 伪随机数的目的: • 用于生成会话密钥 • 用于CFB模式的加密中的初始向量

  19. 2.密钥标识符 每个用户都会有多个公钥/私钥对,接收方需要确定使用的公钥: • 将公钥与消息一同发送 • 将标识符与每个公钥关联在一起 PGP采用的方法: 为每一个公钥分配密钥ID KUa mod 264 传送消息的格式: • 消息构件 • 签名构件 • 会话密钥构件

  20. PGP消息格式

  21. 3.密钥环 任一PGP消息中都包括两个提供机密性和身份验证的密钥ID 在每个节点上采用数据结构对: • 私钥环: 一个用于存储此节点的公钥私钥对 • 公钥环: 一个用于存储此节点知道的其他用户的公钥

  22. 密钥环—私钥环 • 私钥环能用UserID或KeyID进行索引 • 私钥需要加密存储 • 由系统生成RSA的公钥/私钥对 • 用户选择一个口令,产生口令的hash值 • 利用生成的hash值加密私钥,并进行存储

  23. 密钥环—公钥环

  24. 5.1.4 公钥管理 1.公钥管理的方法 公钥加密技术最致命的弱点—公钥篡改 假设: A的公钥环包含B的公钥信息,但该公钥的真正拥有者是C A获得可靠的B的公钥,使用的方法如下: • 通过物理手段获得B的公钥(安全,但有明显局限) • 通过电话验证密钥(可验证密钥的“指纹”) • 从相互信任的个体D那里得到B的公钥 • 从可信的证书权威机构那里得到B的公钥

  25. 2. 信任的使用 • PGP没有包括建立认证权威机构或建立信任的任何规范,但提供了便捷的方式来使用信任、使用密钥来关联信任度、采用可信的信息等 • 公钥环的每个实体是一个公钥证书,相应的是密钥合法性(KeyLegit)字段——表示PGP信任这个用户的该密钥的程度 • 签名信任(SigTrust)字段——PGP用户信任公钥证书签名的程度,密钥合法性源于该项 • 所有者信任(OwnerTrust)字段——每个实体将公钥与一特定拥有者相联系,这个字段指出该公钥签名其他公钥证书的信任程度

  26. 信任关系处理过程 1、当A向公钥环中插入一个新公钥时,PGP必须向信任标志(trust flag)赋值,该标志与该公钥的所有者相关——所有者信任字段。 • 如果其所有者是A,则该值为最高信任(ultimate trust)。 • 否则,PGP询问用户,让用户给出信任级别。 • 用户可选:该公钥的所有者是不认识(unknown)、不信任(untrusted)、 接近信任(marginally trusted) 或完全信任(complete trusted)

  27. 信任关系处理过程(2) 2、当输入一个新的公钥时,可能有一个或多个签名跟随其后。更多的签名可以以后再加入。 • 当一个签名插入到一个条目中时,PGP查找公钥环中确定签名的创建者是否属于认识的公钥所有者。 • 如果是,则这个公钥的SIGTRUST字段的值被赋予OWNERTRUST 的值。 • 否则,赋予unknown user 值。

  28. 信任关系处理过程(3) 3、密钥合法性字段的值基于该条目中签名合法性来计算。 • 如果至少有一个签名信任字段值为最高信任(ultimate),则密钥合法性字段的值设为complete。 • 否则,PGP计算一个信任值的加权和。

  29. 所有者信任域 签名合法性 密钥合法性

  30. 3.废弃公钥 用户因怀疑密钥已被泄露等安全问题,可以废弃现有的公钥 废弃公钥的做法:所有者发出由他签名的密钥废弃证书,然后在尽可能大的范围内迅速传播该证书,以使潜在的通信者更新他们的公钥环 密钥废弃证书与标准签名证书的格式相同,但需要指明证书的目的是撤消公钥,并使用私钥进行签署 获得私钥的攻击者也可以发出这样的证书,但其可能的威胁较小

  31. 5.2 S/MIME • Secure/Multipurpose Internet Mail Extension 安全/多用途Internet邮件扩展 • S/MIME 将会成为商业和机构使用的工业标准. • PGP 主要为个人email提供安全性

  32. RFC822 RFC822:关于邮件消息格式的协议标头行,如: • To: • From: • Subject: 主体: • 消息的正文,必须是ASCII文本 基于Internet的文本邮件消息的标准

  33. 一个典型的消息头部

  34. 多用途Internet邮件扩展 • MIME是对RFC822框架的扩展,可以解决smtp或其他邮件传输协议存在的一些问题和限制。

  35. 简单邮件传输协议 (SMTP, RFC 822) • SMTP/822方案的限制: • 可执行文件和其他二进制目标码 (jpeg image) • 包含各国语言字符的文本数据(non-ASCII) • 超过一定长度的邮件消息 • ASCII 到 EBCDIC 翻译问题 • X.400消息中的非文本制数据 • 没有遵守RFC821定义的smtp标准

  36. MIME标头字段 • MIME-Version:必须为 “1.0” -> RFC 2045, RFC 2046 • Content-Type(内容类型):详细描述主体中的数据 • Content-Transfer-Encoding(内容向编码的转换):表示转换的类型 (radix-64) • Content-ID(内容ID):唯一标识MIME实体 • Content Description:对目标文件体的文本描述,尤其是目标文件不可读时 (如:声音数据)

  37. MIME内容类型

  38. MIME传输编码 • 传输编码的目的:提供在最大范围提供可靠的邮件传输 • MIME传输编码:见P125表5-4 • 7位 • 8位 • 二进制 • Quoted-printable • Base64 • X-token

  39. 5.2.3 S/MIME 的功能 • 封装的数据:包含加密内容和接收者用于加密内容的密钥. • 签名的数据:用签名者的私钥对消息摘要进行加密,形成数字签名。内容与签名被转换成base64编码,一个签名的数据消息只能被具有S/MIME能力的接收者查看 • 透明的签名数据: 只有签名部分用base64编码,结果是,即使接收者没有S/MIME能力,他也能查看消息内容,只是他不能验证该签名 • 签名和封装的数据: 签名和加密的结合,加密数据被签名或者签名数据被加密

  40. S/MIME使用的算法 • 消息摘要: SHA-1和 MD5 • 数字签名: DSS,应当支持RSA • 公钥算法: ELGamal(Diffie-Hellman ),应当支持RSA • 加密消息:3DES和RC2/40

  41. 5.2.4 S/MIME消息 • 确保MIME实体的安全 S/MIME内容类型

  42. S/MIME Message Encryption

  43. envelopedData例子

  44. signedData

  45. S/MIME signed-data

  46. S/MIME Clear Signing 正文部分 签名部分

More Related