关于加密

在未保护的网络(如 Internet)上传输的敏感信息可能会被截取。由于这个原因,如果为用户提供的访问站点是处理敏感的金融或个人信息的网站,则必须使用加密技术来保护这些数据。

本主题包括下列信息:

加密如何进行

加密是用数学函数打乱信息编码的处理过程,除特定的接收者之外,任何人想要得到原始信息都极其困难。该过程的核心是一个数学值(称为“密钥”),函数使用密钥将信息打乱(采用独特而复杂的方法)以达到加密的目的。

Web 服务器也使用基本相同的加密处理保护与用户通信链接的安全。建立安全链接后,Web 服务器和用户的 Web 浏览器使用专门的“会话”密钥来加密和解密信息。例如,当验证过的用户尝试从要求安全通道的网站下载文件时,Web 服务器使用会话密钥加密该文件及关联的 HTTP 头。Web 浏览器在接收到加密的文件以后,使用同一会话密钥的副本来恢复该文件。

这种加密方法虽然安全,但具有一个内在的缺点:在创建安全链接的过程中,会话密钥副本可能会通过不安全的网络进行传送。这意味着如果计算机破坏者想要破坏该链接,只需截取并窃得该会话的密钥。因此为保证不出现这种情况,Web 服务器还需执行附加的加密方法。

公钥加密

Web 服务器安全套接字层 (SSL) 安全功能使用一种称为“公钥”的加密技术来保护会话密钥,以免在传输过程中被截取。公钥加密使用两个附加密钥(即“私钥”和“公钥”),其工作原理如下:

  1. 用户的 Web 浏览器与 Web 服务器建立安全 (https://) 通信链接。
  2. 用户的 Web 浏览器和服务器进行协商,确定用于保证通信安全的加密程度。
  3. Web 服务器将其公钥发送给浏览器。
  4. Web 浏览器使用服务器公钥对生成会话密钥过程中所使用的信息进行加密,并将其发送到服务器。
  5. 服务器则使用私钥解密该消息,然后生成会话密钥,将其用公钥加密,再发送给浏览器。
  6. Web 服务器和浏览器此后便使用会话密钥加密和解密传输的数据。
加密和解密图表

请注意私钥在保证通信链接安全方面担当起了一个重要的角色。应紧密防范以保护私钥避免丢失或被窃取。如果您怀疑私钥可能已被解密,请通知证书颁发机构,使用 Web 服务器证书向导创建新的证书请求,然后获取新的服务器证书。详细信息,请参阅使用证书向导

会话密钥加密强度

会话密钥的“强度”与组成会话密钥文件的二进制“位”的位数成正比。这意味着位数较多的会话密钥具有更强的安全性,要强制解密也更加困难。

当用户尝试与您的服务器建立安全通信通道时,用户浏览器必须协商好加密技术可能采用的最强级别,或称会话密钥强度,这可以保护通过该通道进行的通信安全。这意味着 Web 服务器和用户浏览器必须对会话密钥具有一致的加密和解密功能。例如,当 Web 服务器配置成需要最小 40 位(默认)加密长度的会话密钥时,希望保证连接安全的用户也必须具有能处理 40 位会话密钥信息的 Web 浏览器。

服务器网关加密

服务器网关加密 (SGC) 使用 128 位加密为金融机构提供了全球金融交易解决方案。SGC 是安全套接字层 (SSL) 的扩展,它允许拥有 IIS 出口版本的金融机构可使用强加密。

SGC 不要求在客户端浏览器上运行应用程序,并且可由 IIS 4.0 或更高版本的标准出口版本使用。配置了 SGC 的服务器可以方便地进行 128 位和 40 位加密。虽然 SGC 功能已内建到 IIS 4.0 及以后版本中,但是使用 SGC 时还需要特殊的 SGC 证书。联系证书颁发机构以获取可用信息。有关 SGC 的详细信息,请参阅 Server-Gated Cryptography (SGC) 网站中的题为“Secured online banking goes global!”。

可选的加密服务提供程序

通过使用可选的加密提供程序 (CSP),可以选择 Microsoft 或第三方加密提供程序来处理加密和证书管理。每个加密提供程序可以创建公钥和私钥以加密和解密数据。私钥存储在服务器上的文件系统、PCI 卡、智能卡或者注册表中,这是因为它用于 Microsoft 安装的两个默认提供程序:Microsoft DH SChannel 加密提供程序和 Microsoft RSA SChannel 加密提供程序。每个提供程序的 Microsoft 加密 API (CryptoAPI) 包含相同的方法和属性。因此,您可以在提供程序之间切换,而无需重新编写代码。有关 CSP 和管理第三方加密提供程序的详细信息,请在 MSDN Online 上使用“selectable”、“cryptographic”、“provider”等关键字进行搜索。

相关主题


© 1997-2003 Microsoft Corporation。保留所有权利