SSL 加密

SSL 协议在应用层和 TCP/IP 层之间运行。 这允许它对数据流自身进行加密,然后可以使用任何应用层协议安全地传输数据流。

许多不同的算法可用于加密数据以及用于计算消息认证代码。 某些算法提供了高水平的安全性,但需要大量的计算来进行加密和解密。 其他算法的安全性较低,但提供快速加密和解密。 用于加密的密钥的长度会影响安全性级别; 密钥越长,数据越安全。 SSL 定义密码套件以指定在 SSL 连接期间使用的密码算法。

SSL 加密技术

SSL 使用两种加密技术:
  • 公用密钥密码术标准 (PKCS) ,用于在 SSL 握手期间对证书进行加密和解密。 将成对创建加密密钥,公用密钥及其关联的专用密钥。 使用给定公用密钥加密的数据只能使用关联的专用密钥进行解密; 这意味着只有预期的接收方才能读取数据。 使用给定专用密钥加密的数据只能使用关联的公用密钥进行解密; 这意味着确保认证数据源自专用密钥的所有者。
  • 在握手后的数据传输中使用相互同意的对称加密技术,如 DES (数据加密标准) 或三重 DES。
SSL 所使用的 PKCS 工作简单如下:
  1. 创建证书时,将使用基于两个随机数的算法为证书所有者创建专用密钥和公用密钥。 产生的专用密钥和公用密钥相互关联,以便:
    • 无法从公用密钥中推断专用密钥的值,也无法从专用密钥中推断公用密钥的值

      专用密钥以安全方式存储,除了其所有者外,任何人都不会知道该密钥。 公用密钥可以免费提供给任何用户,不存在损害专用密钥安全性的风险。

    • 使用公用密钥加密的信息只能使用专用密钥进行解密

      任何用户都可以对信息进行加密,并将其安全地发送到专用密钥的持有者。 第三方不能使用公用密钥来读取信息。

    • 使用专用密钥加密的信息只能使用公用密钥进行解密

      只有专用密钥的持有者才能对可使用公用密钥解密的信息进行加密。 第三方不能充当信息的发送方。