前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字节面试官:HTTPS保障了哪三个方面的安全?

字节面试官:HTTPS保障了哪三个方面的安全?

作者头像
用户9899350
发布2022-07-29 20:32:20
6890
发布2022-07-29 20:32:20
举报
文章被收录于专栏:前端私教年年

一句话结论:HTTPS保证了防窃听防篡改保障身份可信

本文完整阅读大约需要3分钟。

概述

HTTP 是明文传输的,在一个广播域内,所有的设备都是可以收到传输的数据。

数据安全可能遇到窃听、篡改、发送者身份不可靠三个问题。所以 TLS层( 传输安全协议)提供加密、数字签名、和数字证书来解决这三个问题

具体措施

加密-防窃听

加密算法分为对称加密和非对称加密,TLS 使用的是非对称加密与对称加密结合。

  • 对称加密:对称加密即加密和解密用同一个密钥,其优点是效率高,但没有办法直接在网络上传播(直接传播对称密钥会使密钥也被窃听)。
  • 非对称加密:非对称加密是指用一对密钥之一加密,另一个解密(一个叫公钥,一个叫私钥)。可以用公钥加密,也可以用私钥加密。非对称加密优点是可以在网络通信的场景中使用——所有网络的用户都公开自己的公钥。发送者用接收者的公钥对数据加密,这样只有接收者可以解开这份加密过的数据。但缺点是加解密的效率低。

数字签名-防篡改

加密使得发送方不用担心数据被别人看到,但接收方并不能保证自己收到的数据是可信的。这份数据可能被篡改过。所以引入了数字签名来保证接收方收到数据时可以判断数据有没有被别人修改过。

数字签名类似于校验码,会附加在要传输的原信息的尾部,原信息+数字签名任何一者的修改过都会导致无法通过校验。

数字签名的实现-私钥加密摘要

数字签名是用发送方的私钥加密原文件的摘要得到的。摘要即原文件的一个哈希映射,因为体积小,加密会更快。

接收方接收到原文件和数字签名时,会做两件事。

  • 将原文件计算,得到摘要 m
  • 用 A 的公钥解密数字签名,得到摘要 n

如果 m、n 两份摘要相同,说明原文件没有被篡改过。

注意:数字签名并没有防止窃听,只能保证发送的数据和收到的数据是一样的

数字证书-身份认证

上面的流程中,使用到了 A 的公钥去解密。所以还存在一个问题,即这个公钥可靠吗?即 A 这个用户真的存在吗,或者它真的是 A 本人吗?

所以有了数字证书颁发机构和数字证书,用来做发送方的身份确认。

数字证书颁发机构(CA)是通信中的权威机构,所有用户都信任它。

发送方 A 将会将自己的公钥交给 CA,CA 会用自己私钥对发送方 A 的公钥加密,生成 A 的证书,给 A。

之后的通信过程中,A 会首先把自己的公钥证书(用 CA 私钥加密的 A 的公钥)发送给 B,B 用 CA 的公钥解密收到的证书。解密成功,才认为这个公钥是可信的。

HTTPS(TLS) 握手流程

TLS 的握手过程可以简单分为两个过程:客户端拿到服务端的 CA 证书,验证其有效性得到了服务端的公钥;客户端和服务端分别生成同样的密钥,之后用生成的密钥加密通信。

  1. 客户端向服务器发出加密通信的请求,并携带随机数 i
  2. 服务端回应,发送服务端 CA 证书给客户端,并携带随机数 j
  3. 客户端校验 CA 证书,得到服务端的公钥
  4. 客户端用服务端的公钥加密一个随机数 k,发送
  5. 客户端和服务端分别用 ijk 三个随机数生成相同的密钥(对称密钥)
  6. 服务端发送握手完毕的消息,之后使用对称密钥加密通信
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端私教年年 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 具体措施
    • 加密-防窃听
      • 数字签名的实现-私钥加密摘要
  • 数字证书-身份认证
  • HTTPS(TLS) 握手流程
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档