HTTPS 详解

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

HTTP 的加密流程如下:

  1. 发起请求:客户端在通过 TCP 和服务端建立连接之后(默认使用 443 端口),发出一个请求证书的消息给服务端,在该请求消息里包含自己可实现的算法列表和其他需要的消息。
  2. 证书返回:服务端在收到消息后回应客户端并返回证书,在证书中包含服务端的信息、域名、申请证书的公司、公钥、数据加密算法等
  3. 证书验证:客户端在收到证书后,判断证书签发机构是否正确,并使用该签发机构的公钥确认签名是否有效,客户端还会确保在证书中列出的域名为正在连接的域名。如果客户端确认证书有效,则生成对称密钥,并使用公钥将对称密钥加密
  4. 密钥交换:客户端将加密后的对称密钥发送给服务端,服务端在接收到对称密钥后使用私钥解密
  5. 数据传输:客户端和服务端完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密(加解密使用相同密钥的加密)将数据加密后在网络上传输,保证了网络数据传输的安全性
相关推荐
周杰伦fans2 小时前
.NET Core WebAPI 中 HTTP 请求方法详解:从新手到精通
网络协议·http·.netcore
toooooop82 小时前
Nginx 反向代理 HTTPS CDN 配置检查清单(避坑版)
运维·nginx·https·cdn
尽兴-6 小时前
[特殊字符] 微前端部署实战:Nginx 配置 HTTPS 与 CORS 跨域解决方案(示例版)
前端·nginx·https·跨域·cors·chrom
@大嘴巴子7 小时前
零基础学习计算机网络编程----理解http协议
学习·计算机网络·http
利刃大大7 小时前
【高并发服务器:HTTP应用】十五、HttpRequest请求模块 && HttpResponse响应模块设计
服务器·c++·http·项目
labview_自动化9 小时前
RPC和Restful
网络协议·rpc·restful
爱吃汽的小橘10 小时前
MIPI DSI和MIPI Tx IP 的建立
网络·网络协议·tcp/ip
自由生长202410 小时前
Nginx的代理原理和使用配置
网络协议·nginx
蜗牛^^O^10 小时前
OSI七层模型与TCP/IP 四层模型
网络·网络协议·tcp/ip
z10_1413 小时前
海外住宅ip怎么区分干净程度以及怎么选择海外住宅ip
服务器·网络·网络协议·tcp/ip