计算机网络 | 04.[HTTP篇] HTTP与HTTPS

1. 前置知识——对称加密和非对称加密

1.1. 对称加密

对称加密是指在对数据进行加密时,双方都使用 同一个 密钥,这个密钥被称为「会话秘钥」。

  • [优点] 运算速度快;
  • [缺点] 双方都需要对密钥保密,无法做到安全的密钥交换。

1.2. 非对称加密

非对称加密是指在对数据进行加密时,双方使用 不同的 密钥,

生成密钥对的一方将持有「私钥」(通常是服务端,需要保密),另一方则持有「公钥」。

被「私钥」加密的数据必须使用「公钥」解密,反之亦然。

  • [优点] 能做到安全的密钥交换;
  • [缺点] 运算速度慢。

2. HTTP的缺陷

  • [无状态] 好处是减轻服务器负担,坏处是完成关联操作时很麻烦,因为无法记忆状态;
  • [明文传输] 好处是方便调试,坏处是信息裸奔;
  • [不安全] 数据明文传输,有窃听风险;传输内容可能被替换,有篡改风险;无法验证对方身份,有冒充风险。

3. HTTP与HTTPS有哪些区别?

  1. HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。
  2. HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
  3. HTTP 的端口号是 80,HTTPS 的端口号是 443。
  4. HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

简单地说,HTTPS 就是在 HTTP 的基础上加入了 SSL/TLS协议,通过混合加密、数字签名和数字证书来规避窃听风险、篡改风险和冒充风险。

image-20220802005812510

4. HTTPS是如何规避HTTP的三种风险的?

4.1. 窃听风险——混合加密

  • 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。

HTTPS传输数据过程中,即用到了非对称加密,也用到了对称加密;

  • [非对称加密] 客户端在生成「会话秘钥」后,用服务端的「公钥」(解密证书得到)对其加密,并安全地发送给服务端;
  • [对称加密] 服务端在收到「会话秘钥」后,双方传输数据时都使用「会话秘钥」对数据进行加密。

对称加密与非对称加密

4.2. 篡改风险——数字签名

  • [公钥加密,私钥解密] 保证传输内容不泄露,因为只有私钥才能解密出公钥加密的内容;
  • [私钥加密,公钥解密] 保证身份不被冒充,因为公钥只能解密由对应私钥加密的内容,而私钥是不可泄露的;若数据和私钥都是伪造的,那客户端的公钥无法解密该数据。

为了保证 发送的数据 不被篡改,在发送数据的同时,也将数据对应的 数字签名 一并发送过去。

利用哈希算法计算出数据的 哈希值 ,随后使用 私钥 / 公钥 加密便得到 数字签名

image-20220802021221057

4.3. 冒充风险——数字证书

尽管有了混合加密和数字签名,但依旧无法确保传输是安全的;

在进行数字签名时,有可能出现 数据、哈希值和公钥被同时替换 的可能。

据此,引入第三方机构:CA(数字证书认证机构),服务器的公钥 注册到CA中,而CA使用 自己的私钥服务器的公钥 进行加密,以得到 数字证书。由于 私钥 仅由CA持有,因此无法被任何人伪造。

数字证书01.drawio

5. HTTPS是如何建立连接和传输数据的?

大致流程可见下图,但其实还有一些细节是不够准确的,如 会话密钥并非是直接传给服务端的,这些会在下一个知识点讲到。

5.1.准备阶段

HTTPS传输数据流程-准备阶段

5.2.建立连接&传输阶段

HTTPS传输数据流程-传输阶段

参考文章

小林coding - HTTP与HTTPS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值