SSL 是如何工作的

发布于 2021-05-13 21:29:34 字数 1118 浏览 1386 评论 0

对网络传输的数据进行加密和解密的算法通常分为两类:对称加密非对称加密

  • 对称加密 的加密密码和解密密码相同。对称加密的算法有:DES(Data Encryption Standard)、3DES(Triple DES)、RC2(Rivest Cipher 2)、和RC4(Rivest Cipher 4)。
  • 非对称加密 的密钥分为私钥和公钥。公钥可以公开传播,私钥保存在安全的地方。公钥加密,只有对应的私钥能解密。私钥加密,只有对应的公钥能解密(这种特性还可以用来确认发送者身份)。

经常与 SSL 一起使用的公钥加密算法是 RSA(Rivest Shamir Adleman)算法。使用专门用于密钥交换的SSL的另一种公钥算法是DH(Diffie-Hellman)算法。公钥密码学需要大量的计算,使其非常慢。因此,它通常仅用于加密小块数据,例如秘密密钥,而不是大量的加密数据通信。

互联网上启用 https 的网站越来越多。https 除了能够加密传输数据外,另一个重要目的是解决网站的可信问题。这是一种单向信任的需求,不需要认证客户端。https 实际上是 HTTPS 协议下 SSL/TLS。

在商用环境下,可能还需要增加对客户机的认证。这是一种双向认证,又称 Mutual Authentication 或 two-way SSL。

单向 SSL

为了实现对服务器的“可信”检验,需要在客户机上搭建“可信证书库”(或称可信密钥库),而在服务器搭建私钥库。

验证过程:客户机向服务器发送随机数(挑战),要求服务器用公钥加密。客户机收到响应后,用服务器公钥解密。如果解密结果与随机数相同,则说明服务器是公钥证书的主体(Subject)。然后看证书的签名是否来自“可信证书库”,是则说明服务器是可信的。

双向 SSL

为了实现双向 SSL(互信),需要客户机和服务器上同时建立“可信任证书库”,而且客户机和服务器都有自己的私钥库。

服务器上的 可信证书库 与客户机上的私钥库不同于单向 SSL。它们往往是自建CA来实现。 验证过程:除了客户机服务器发 挑战 外,服务器也会向客户机 挑战。为了确保客户机证书的签署者位于服务器的可信证书库中。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

遂心如意

文章 0 评论 0

5513090242

文章 0 评论 0

巷雨优美回忆

文章 0 评论 0

junpengz2000

文章 0 评论 0

13郎

文章 0 评论 0

qq_xU4RDg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文