HTTPS 详解

HTTPS 是以安全为目标的 HTTP 通道,它在 HTTP 中加入 SSL 层以提高数据传输的安全性。HTTP 被用于在 Web 浏览器和网站服务器之间传递信息,但以明文形式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务端之间的传输报文,就可以直接读懂其中的信息,因此 HTTP 不适合传输一些敏感信息,比如身份证号码、密码等。为了数据传输的安全性,HTTPS 在 HTTP 的基础上加入了 SSL 协议,SSL 依靠证书来验证客户的身份,并对客户端和服务端之间的通信进行数据加密,以保障数据传输的安全性,其端口一般是 443

HTTP 的加密流程如下:

  1. 发起请求:客户端在通过 TCP 和服务端建立连接之后(默认使用 443 端口),发出一个请求证书的消息给服务端,在该请求消息里包含自己可实现的算法列表和其他需要的消息。
  2. 证书返回:服务端在收到消息后回应客户端并返回证书,在证书中包含服务端的信息、域名、申请证书的公司、公钥、数据加密算法等
  3. 证书验证:客户端在收到证书后,判断证书签发机构是否正确,并使用该签发机构的公钥确认签名是否有效,客户端还会确保在证书中列出的域名为正在连接的域名。如果客户端确认证书有效,则生成对称密钥,并使用公钥将对称密钥加密
  4. 密钥交换:客户端将加密后的对称密钥发送给服务端,服务端在接收到对称密钥后使用私钥解密
  5. 数据传输:客户端和服务端完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密(加解密使用相同密钥的加密)将数据加密后在网络上传输,保证了网络数据传输的安全性
相关推荐
小时前端1 天前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
不可能的是2 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
Jony_4 天前
高可用移动网络连接
网络协议
chilix4 天前
Linux 跨网段路由转发配置
网络协议
gihigo19986 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
古译汉书6 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
白太岁6 天前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
EasyGBS6 天前
国标安全升级:GB28181平台EasyGBS支持GB35114协议的应用场景与核心优势
网络协议·安全·gb28181·gb35114
凯酱6 天前
Windows防火墙入站规则IP白名单
windows·网络协议·tcp/ip