第 57 题:请描述 HTTPS 握手过程?

HTTP 通信的缺点

  • 通信使用明文,内容可能被窃听(重要密码泄露)
  • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
  • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)

HTTPS 握手过程

  1. 客户端发起 HTTPS 请求

    用户在浏览器里输入一个 https 网址,与服务器建立 ssl 连接

  2. 服务端响应

    服务器收到客户端请求后,确认加密通信协议版本是否一致,如果版本一致则返回服务器证书,否则关闭加密通信

  3. 客户端解析证书

    客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥

  4. 客户端传输秘钥给服务端

    客户端利用公钥将秘钥加密, 并传输给服务端

  5. 服务端解密

    服务端利用自己的私钥解密出秘钥

  6. 完成加密过程

    之后服务器与客户端使用秘钥加密传输

原理图如下

<img src="https://noxussj.top:3000/57/1.png"></img>

参考资料
我是这样理解 HTTP 和 HTTPS 区别的

文章的内容/灵感都从下方内容中借鉴

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容