写点什么

HTTPS 协议

作者:武师叔
  • 2022 年 8 月 20 日
    辽宁
  • 本文字数:590 字

    阅读完需:约 2 分钟

HTTPS 协议

HTTPS 协议

由于 HTTP 协议使用明文在互联网传送数据,易被不法分子监听和截获。我们又引入了 HTTPS 协议取而代之,默认端口 443。

HTTPS 协议在应用层下方增加了 SSL 层,使用 TLS 协议来加密和解密数据包,这样在互联网上传送的数据将经过加密。

加密方式

  1. 建立连接后的数据交互采用对称加密:加密密钥和解密密钥相同。

  2. 建立连接时协商密钥采用非对称加密:加密密钥和解密密钥不同,两个密钥互相能解密对方的加密内容。

    服务器会公开一个非对称加密密钥(公钥),并保留一个非对称加密码密钥(私钥)。

证书认证

服务器公钥由数字认证机构 CA 统一认证。CA 会用自己的私钥加密服务器公钥和相应信息,生成数字证书。在客户端向 CA 查询时将证书发送给客户端核对。

CA 根证书(包含公钥)存储在用户的浏览器中,访问网址时会自动比对服务器公钥。

  1. 客户端向服务器发送信息:请求连接,说明自己支持的加密算法,并给出随机数 A。

  2. 服务器向客户端发送信息:同意连接请求,确认合适的加密算法,并给出数字证书和随机数 B。

  3. 客户端向 CA 核对数字证书,确认有效后得到服务器公钥。

建立连接

  1. 客户端向服务器发送公钥加密信息:给出随机数 C。

  2. 服务器通过私钥解密信息,对信息 Hash 得到数字签名;然后向客户端发送私钥加密信息:返回数字签名。

  3. 客户端通过公钥解密信息,核对数字签名,确认服务器收到随机数 C。

之后双方就可以按照约定的对称加密方法,使用三个随机数生成的密钥进行数据交互。

发布于: 刚刚阅读数: 3
用户头像

武师叔

关注

每天丰富自己,去过自己想要的生活! 2022.04.28 加入

一个喜欢最新技术,研发的人工智能专业的大二学生,用自己的代码做一些有意义的事情! 目前大二结束有去大厂研发岗实习的计划,每天丰富自己的技术,去过自己想要的实习生活。

评论

发布
暂无评论
HTTPS 协议_8月月更_武师叔_InfoQ写作社区