🎯 课程摘要:本课介绍应用层安全实例,以电子邮件安全协议为重点。相较于网络体系结构其他各层,在应用层实现安全服务相对简单。本课详细介绍 PGP 电子邮件安全软件包的基本工作原理(发送方和接收方的处理过程),以及公钥分发方式。
- 特点:相较于计算机网络体系结构的其他各层,在应用层实现安全服务相对简单。TCP/IP 体系结构的应用层包含大量协议,本课以电子邮件相关安全协议为例进行介绍。
- 概念定义:PGP(Pretty Good Privacy)是已被广泛应用的为电子邮件提供加密、鉴别、电子签名和压缩等技术的电子邮件安全软件包。
- 开发者:Zimmermann 于 1995 年开发。
- 安全服务:
- 使用对称密钥和公钥的组合进行加密,为电子邮件提供保密性;
- 通过报文摘要和数字签名技术,为电子邮件提供完整性和不可否认性。
假设用户 A 给用户 B 发送电子邮件的明文为 X,使用 PGP 确保邮件安全:
| 步骤 | 操作 | 使用的密钥 |
|---|
| ① 生成报文摘要 | 用散列函数(如 MD5)对明文邮件 X 运算,得到报文摘要 H | — |
| ② 数字签名 | 用 A 的私钥对 H 进行数字签名,得出报文鉴别码 MAC | A 的私钥 |
| ③ 拼接 | 将 MAC 拼接在 X 后面,得到扩展邮件(X + MAC) | — |
| ④ 对称加密 | 用 A 生成的一次性密钥对扩展邮件进行加密 | A 的一次性密钥(对称) |
| ⑤ 公钥加密密钥 | 用 B 的公钥对一次性密钥进行加密 | B 的公钥 |
| ⑥ 发送 | 将加密后的一次性密钥和加密后的扩展邮件发送给 B | — |
用户 B 收到 A 发来的加密后的一次性密钥和加密后的扩展邮件:
| 步骤 | 操作 | 使用的密钥 |
|---|
| ① 分离 | 将加密后的一次性密钥与加密后的扩展邮件分开 | — |
| ② 解密密钥 | 用 B 的私钥解密出 A 生成的一次性密钥 | B 的私钥 |
| ③ 解密邮件 | 用一次性密钥对加密后的扩展邮件进行解密,分离出明文邮件 X 和报文鉴别码 MAC | A 的一次性密钥(对称) |
| ④ 签名核实 | 用 A 的公钥对 MAC 进行鉴别,得出报文摘要 H | A 的公钥 |
| ⑤ 重新计算摘要 | 用散列函数对分离出的明文邮件 X 生成另一个报文摘要 H' | — |
| ⑥ 比较 | 将 H' 与 H 进行比较,若相同则鉴别通过且完整性得到肯定 | — |
| 角色 | 持有的密钥 |
|---|
| 发送方(用户 A) | A 的私钥、A 生成的一次性密钥、B 的公钥 |
| 接收方(用户 B) | B 的私钥、A 的公钥 |
- 最安全方式:收发双方面对面直接交换公钥(但大多数情况下不现实)。
- 一般方式:通过认证中心(CA)签发的证书来验证公钥持有者的合法身份。
- PGP 的特点:PGP 没有要求使用 CA,而允许使用一种第三方签署的方式来解决公钥验证问题。
- 常见发布方式:用户通过电子邮件分发公钥,或把公钥发布在个人网页上。具体采用哪种方式取决于用户对安全性的要求。
| 协议 | 全称/用途 | 安全服务 | 特点 |
|---|
| PGP | Pretty Good Privacy,电子邮件安全 | 加密、鉴别、数字签名、压缩 | 对称密钥 + 公钥组合,不强制使用 CA |
| PEM | 邮件增强隐私,安全电子邮件 | 保密性、完整性、鉴别、不可否认性 | 早期标准,使用 CA 层次结构 |
| S/MIME | 安全/多用途互联网邮件扩展 | 加密、数字签名 | 基于 MIME 标准,使用公钥基础设施 |
| HTTPS | 安全 HTTP(HTTP + SSL/TLS) | 服务器鉴别、加密会话 | Web 安全,端口号 443 |
| DNSSEC | 安全 DNS | 数据完整性、来源鉴别 | 为 DNS 响应提供数字签名,防 DNS 欺骗 |
- 应用层实现安全服务相对简单,以电子邮件安全协议 PGP 为典型实例。
- PGP 发送方:散列函数生成摘要→私钥签名得 MAC→拼接明文→一次性对称密钥加密→B 公钥加密一次性密钥→发送。
- PGP 接收方:B 私钥解密出一次性密钥→解密扩展邮件→A 公钥验证 MAC 得摘要 H→重新计算摘要 H'→比较 H 与 H' 完成鉴别和完整性验证。
- PGP 不强制使用 CA,允许第三方签署方式验证公钥。
- 简述 PGP 为电子邮件提供哪些安全服务,分别使用了什么技术?
- 详细描述 PGP 发送方的处理过程。
- 详细描述 PGP 接收方的处理过程,并说明如何验证邮件的完整性和发送方身份。
- 在 PGP 中,发送方和接收方分别需要哪些密钥?
- PGP 在公钥分发方面与使用 CA 的方式有何不同?
- 列举常见应用层安全协议及其提供的安全服务。