应用层协议 -- HTTPS 协议

目录

[一、了解 HTTPS 协议](#一、了解 HTTPS 协议)

[1、升级版的 HTTP 协议](#1、升级版的 HTTP 协议)

2、理解"加密"

二、对称加密

1、理解对称加密

2、对称加密存在的问题

三、非对称加密

1、理解非对称加密

2、中间人攻击

[3、CA 证书和数字签名](#3、CA 证书和数字签名)

四、总结


一、了解 HTTPS 协议

1、升级版的 HTTP 协议

  • HTTPS 也是⼀个应用层协议,是在 HTTP 协议的基础上引入了一个加密层 SSL/TSL。加密是 HTTPS 协议的一个重要的保护措施。

2、理解"加密"

  • "加密"是指将传输的明文经过一些手段转化为密文。
  • "解密"是指将密文再次通过一些手段转化为明文。
  • 在加密和解密的过程中,通常需要一个或多个中间数据进行辅助,这样的数据称为"密钥"。
  • 加密的方式有很多,但整体可以分为"对称加密"和"非对称加密"两大类。

二、对称加密

1、理解对称加密

  • 对称加密是指通过一个密钥,既可以将明文变为密文,也可以将密文变为明文,即对称加密使用的算法是可逆的。
  • 假设数据被截获,由于黑客不知道密钥是什么,因此无法进行解密,数据安全。

对称加密

2、对称加密存在的问题

  • 对于服务器端,需要与许多客户端进行数据交互,如果所有交互都使用同一个密钥,则密钥会非常容易被破解(比如伪装成客户端的黑客)。
  • 这种情况下,一旦密钥被破解,则使用该密钥加密的所有数据,都将暴露。
  • 但如果给每个客户端都提供一个不同的密钥,则服务器需要维护的密钥数据量会变得非常庞大,维护成本也会变大。
  • 为了避免以上情况,我们将采取非对称加密的方法。

三、非对称加密

1、理解非对称加密

  • 非对称加密是指,密钥为一组,分成公钥和私钥。公钥公开,私钥由服务器端持有,不对外公开。
  • 公钥加密的数据只有私钥能解密,私钥加密的数据只有公钥能解密。
  • 在客户端每次与服务器建立连接时,服务器端将持有的公钥发送给客户端。
  • 后续交互中,客户端就可以使用公钥加密数据,并将加密后的数据安全的传输到服务端,而不用担心数据暴露(因为只有私钥能解密)。
  • 但是还有一个问题,非对称加密最大的缺点在于运算速度非常慢。
  • 因此,非对称加密常用在客户端和服务器"协商密钥"的阶段,后续的数据传输,仍使用对称加密。

非对称加密

2、中间人攻击

  • 以上的非对称加密混合对称加密的方法,看似天衣无缝,但实际上仍存在一个问题,即"中间人攻击"。
  • 通过中间人攻击,黑客可以获取到对称密钥。

中间人攻击

3、CA 证书和数字签名

  • CA 证书是指,服务端在使用HTTPS前,需要向 CA 机构申领一份独一无二的数字证书,数字证书里含有证书申请者的信息、公钥信息等。
  • 在申请证书时,CA 机构会将数字证书中的各个字段,通过一系列算法,计算得到校验和。
  • 再使用 CA 机构自己的私钥,加密这个校验和,最终得到的就是数字签名,数字签名包含在 CA 机构发布的证书中。
  • CA 机构的公钥,会被内置到各个客户端中。
  • 在客户端和服务器进行交互时,服务器会将证书发送给客户端。
  • 客户端得到证书后,根据证书的各个字段,使用和CA机构一样的算法,计算得出校验和。
  • 再使用内置的公钥,解密证书中的数字签名,得到又一个校验和。
  • 将两个校验和进行比较,如果相同,则证书没有被篡改,反之则发现证书已经被篡改,发现发生了中间人攻击,并以此采取后续措施。

四、总结

  • 以上过程中,使用了三组密钥,分别是:
    用于加密普通数据的对称密钥;
    由服务端提供的,一组用于加密对称密钥的非对称密钥;
    由CA机构提供的,一组用于加密服务端信息(包括公钥)的非对称公钥。
  • 通过以上步骤,HTTPS协议通过三组密钥,有效的保护了网络数据传输的安全。

相关推荐
寂寞恋上夜12 小时前
异步任务怎么设计:轮询/WebSocket/回调(附PRD写法)
网络·人工智能·websocket·网络协议·markdown转xmind·deepseek思维导图
Tao____12 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
Yan-英杰14 小时前
BoostKit OmniAdaptor 源码深度解析
网络·人工智能·网络协议·tcp/ip·http
LaoZhangGong12318 小时前
学习TCP/IP的第2步:ICMP数据包
网络·网络协议·学习·tcp/ip·以太网
liulilittle18 小时前
DeepWiki: OPENPPP2 工程价值
网络·c++·网络协议·ai·信息与通信·通信
智慧的牛18 小时前
局域网内实现HTTPS
网络协议·https
✧˖‹gσσ∂ иιghт›✧19 小时前
esp32 s3 修改本地ip和服务器IP
服务器·网络协议·tcp/ip
qq_4112624219 小时前
优化wifi的性能,LWIP_TCP_WND是不是指的是DYNAMIC_RX_BUFFER动态接受缓冲区的缓冲区大小
网络·网络协议·tcp/ip
计算机小手20 小时前
内网穿透系列十六:使用 wg-easy 快速搭建基于 wireguard 的虚拟局域网,支持Docker部署
经验分享·网络协议·docker·开源软件
青果网络_xz20 小时前
海外HTTP代理适合哪些业务?与Socks/隧道的区别
网络·网络协议·http