• 单向 SSL 和双向 SSL 概述


    SSL(安全套接字层)是用于在客户端和服务器之间实现安全通信以确保数据安全性和完整性的标准技术。SSL 随着时间的推移而发展,并且已经引入了几个版本来处理任何潜在的漏洞。1995 年发布的 SSL V2 是 SSL 的第一个公共版本,随后是 1996 年的 SSL V3,随后是 1999 年的 TLS V1.0、2006 年的 TLS V1.1 和 2008 年的 TLS V1.2。 
    为了确保在客户端和服务器之间传输的数据的安全性,SSL 可以采用单向或双向实现。在这篇文章中,我将简要解释One-Way SSL 和 Two-Way SSL(也称为 Mutual SSL)之间的区别
     

    单向 SSL 如何工作?

     
    在 SSL 的一种方式中,只有客户端验证服务器以确保它从预期的服务器接收数据。为了实现单向 SSL,服务器与客户端共享其公共证书。 
    以下是在单向 SSL 的情况下,在客户端和服务器之间建立连接和传输数据所涉及的步骤的高级描述:
     
    1. 客户端通过 HTTPS 协议向服务器请求一些受保护的数据。这将启动 SSL/TLS 握手过程。 
    2. 服务器将其公共证书连同服务器问候消息一起返回给客户端。
    3. 客户端验证/验证收到的证书。客户端通过 CA 签名证书的证书颁发机构 (CA) 验证证书。
    4. SSL/TLS 客户端发送随机字节串,使客户端和服务器都能计算出用于加密后续消息数据的密钥。随机字节串本身是用服务器的公钥加密的。
    5. 在同意此密钥后,客户端和服务器通过使用此密钥加密/解密数据进一步通信以进行实际数据传输。 
    以下是解释 ssl 的一种工作方式的图形描述:

     

    双向(相互)SSL 如何工作?

    与单向 SSL 相反;在双向 SSL 的情况下,客户端和服务器都相互验证,以确保参与通信的双方都是可信的。双方共享他们的公共证书,然后在此基础上执行验证/验证。
     
    下面是在双向 SSL 的情况下,在客户端和服务器之间建立连接和传输数据所涉及的步骤的高级描述:
    1.客户端通过HTTPS协议请求一个受保护的资源,SSL/TSL握手过程开始。
    2 服务器将其公共证书与服务器问候一起返回给客户端。 
    3. 客户端验证/验证收到的证书。客户端通过 CA 签名证书的证书颁发机构 (CA) 验证证书。
    4. 如果服务器证书验证成功,客户端将向服务器提供其公共证书。
    5. 服务器验证/验证收到的证书。服务器通过 CA 签名证书的证书颁发机构 (CA) 验证证书。
    6. 握手过程完成后,客户端和服务器相互通信并传输数据,并在握手过程中使用两者之间共享的密钥加密。 
    下图以图片格式解释了相同的内容:

     

     

    我还上传了一个视频,其中详细解释了单向和双向 ssl 之间的区别、单向和双向 SSL 的工作原理,以及对 SSL 客户端和服务器之间如何发生 SSL 握手的深入解释沟通

    观看下面的视频,也不要忘记订阅TutorialsPedia Youtube 频道

  • 相关阅读:
    MySQL之短时间提高性能的措施
    每天一个数据分析题(四百)- 一元线性回归模型
    【LeetCode回溯算法#08】递增子序列,巩固回溯算法中的去重问题
    Redis内存淘汰策略
    ionic android app打包和发布
    未授权访问:MongoDB未授权访问漏洞
    linux( CentOs)对mysql基本操作和密码修改
    Go语言错误处理最佳实践
    室友面上阿里,把这些笔记扔给了我:Roket/Rabbit/Kafka,狠虐菜鸡
    题解:《算法竞赛进阶指南》, NOIP2009提高组
  • 原文地址:https://blog.csdn.net/allway2/article/details/126568372