基于 Exchange 2003 的邮件安全解决方案中的邮件安全服务和组件

 

上一次修改主题: 2005-09-09

若要了解组成基于 Exchange 2003 的邮件安全系统的组件如何提供 S/MIME 服务,首先应单独考虑每个服务,这已在了解邮件安全性中讨论。此部分通过讲述哪个组件负责哪个步骤来进一步补充所讨论的内容。其中,了解邮件安全性中所讨论的内容适用于任何 S/MIME 实现,而这里所附加的信息则针对 Exchange 2003,并从一般性讨论更改为针对这一实现的具体讨论。

数字签名和 Exchange 2003 邮件安全系统

了解数字证书中的“如何将数字证书用于数字签名”详细说明了数字签名的工作原理。数字签名的处理过程清楚地反映了了解邮件安全性中的概念性图示。该过程中的每一步都有一个明确的所有者。当此处理过程传递到另一个组件时,新的组件将明确地接收所有权。进行故障排除时,这种线性处理是很重要的,因为要解决问题需要了解这一系列事件以及负责每一个步骤的组件。下图显示了了解数字证书中的“如何将数字证书用于数字签名”中所述的数字证书以及对电子邮件进行数字签名的顺序,此外还显示了本主题所讨论的组件。

08bd418d-b6d7-4879-94b2-5021a3cb7746

  1. 捕获邮件。
  2. 计算邮件的哈希值。
  3. 从发件人的数字证书中检索发件人的私钥。
  4. 使用发件人的私钥加密哈希值。
  5. 将加密的哈希值作为数字签名附加到邮件中。
  6. 发送邮件。

下图显示了了解数字证书中的“如何将数字证书用于数字签名”中所述的用数字证书验证数字签名的顺序,此外还显示了本主题所讨论的组件。

8c87d543-6a6a-464d-9b5d-8dde1ac2d874

  1. 接收邮件。
  2. 从邮件中检索包含加密哈希值的数字签名。
  3. 检索邮件。
  4. 计算邮件的哈希值。
  5. 从发件人的数字证书中检索发件人的公钥。
  6. 用发件人的公钥解密加密的哈希值。
  7. 将解密的哈希值与接收邮件时产生的哈希值进行比较。
  8. 如果值匹配,则传输过程中邮件未被修改。

电子邮件客户端在处理 S/MIME 邮件的过程中扮演了中心角色。该角色与在基于 Exchange 2003 的邮件安全系统的概念性图表中电子邮件客户端所处的中心位置相称。电子邮件客户端同时与 Exchange 2003 和 PKI 交互。除了作为用户与 S/MIME 邮件交互的主要手段外,在邮件安全解决方案的规划和部署中,电子邮件客户端还充当了中心角色。

邮件加密和 Exchange 2003 邮件安全系统

与数字签名一样,在 Exchange 2003 和 PKI 均支持电子邮件客户端的情况下,电子邮件客户端是邮件加密的中心焦点。下表显示了了解数字证书中的“如何将数字证书用于邮件加密”中所述的用数字证书加密邮件的顺序,此外还显示了本主题所讨论的组件。

6a166738-7070-48e1-96ab-6d957ad2a9a1

  1. 捕获邮件。
  2. 从收件人的数字证书中检索公钥。
  3. 生成一次性对称会话密钥。
  4. 用会话密钥对邮件执行加密操作。
  5. 使用收件人的公钥加密会话密钥。
  6. 加密的会话密钥包含在加密的邮件中。
  7. 发送邮件。

下图显示在添加了 Exchange 2003 组件的情况下进行解密的顺序。

507f40da-6487-4d2c-bc7c-fe409a85b847

  1. 接收邮件。
  2. 从邮件中检索加密的邮件和加密的会话密钥。
  3. 从收件人的数字证书中检索收件人的私钥。
  4. 用收件人数字证书中的收件人私钥解密会话密钥。
  5. 用解密的会话密钥解密邮件。
  6. 将未加密的邮件返回给收件人。

与数字签名一样,在 Exchange 2003 和 PKI 提供支持的情况下,电子邮件客户端是该过程的中心焦点。

Exchange 2003 邮件安全系统中的数字签名和邮件加密

可以预见,Exchange 2003 系统的数字签名和邮件加密是这两项服务的组合。为了完整地说明此问题,下图显示了对邮件进行数字签名和加密的组合操作。

6bcb0cc9-35d3-4b3b-8408-6f0f02fddeab

  1. 捕获邮件。
  2. 计算邮件的哈希值。
  3. 从发件人的数字证书中检索发件人的私钥。
  4. 从收件人的数字证书中检索收件人的公钥。
  5. 使用发件人的私钥加密哈希值。
  6. 将加密的哈希值作为数字签名附加到邮件中。
  7. 生成一次性对称会话密钥。
  8. 使用会话密钥对邮件执行加密操作。
  9. 使用收件人的公钥加密会话密钥。
  10. 加密的会话密钥包含在加密的邮件中。
  11. 发送邮件。

下图显示在添加了公钥加密的支持元素的情况下对数字签名进行解密和验证的顺序。

9bcee388-7c02-474d-a3f5-a49ebf77c0db

  1. 接收邮件。
  2. 从邮件中检索加密的邮件和加密的会话密钥。
  3. 从收件人的数字证书中检索收件人的私钥。
  4. 使用收件人数字证书中的收件人私钥解密会话密钥。
  5. 使用解密的会话密钥解密邮件。
  6. 从邮件中检索包含加密哈希值的数字签名。
  7. 检索邮件。
  8. 计算邮件的哈希值。
  9. 从发件人的数字证书中检索发件人的公钥。
  10. 使用发件人的公钥解密加密的哈希值。
  11. 将解密的哈希值与接收邮件时产生的哈希值进行比较。
  12. 如果值匹配,则传输过程中邮件未被改变。
  13. 将未加密的邮件返回给收件人。

请注意,在组合的数字签名和邮件加密操作中,在发送和接收邮件的两个步骤中都涉及到 PKI,而不是只有一个步骤涉及到 PKI。由于 PKI 执行公钥和私钥操作,因此存在两个步骤,而不是一个步骤。由于它们是不同的操作,因此不能将它们组合起来。