https

https

HTTP协议是以明文的方式传输数据,不提供任何方式的数据加密,因此加入了SSL协议,SSL的主要作用第一是给数据加密,保证数据的传输安全,第二是校验网站的SSL证书,验证其真实性。http加上ssl合称https。

https请求过程

1、首先客户端向服务端发起tcp连接请求

2、服务端收到客户端请求连接报文,服务器把CA私钥签名的数字证书(包含服务端公钥、颁发机构、有效期)发给客户端校验

3、客户端收到数字证书,把浏览器中内置的CA公钥校验证书合法性,并解析出服务端公钥,客户端随机生产了对称加密的密钥,用服务器公钥加密后发送服务端

4、服务端接收后成功建立tcp连接,此后使用对称加密密钥加密数据进行传输。

CA证书

CA证书就是CA机构(权威信誉机构)给服务器签发的证书。

CA机构自己会生成非对称加密的一对私钥公钥,浏览器会内置此类公钥,而私钥用来对服务器提供的公钥进行签名生成CA证书(包含机构的相关信息)。然后在服务器配置好CA证书,每次请求就会把CA证书返回给客户端。

没有CA证书会怎样

如果没有CA证书,https请求过程就是

1、首先客户端向服务端发起tcp连接请求

2、服务端返回公钥给客户端

3、客户端用公钥加密对称加密密钥,把密钥发送给服务端

4、服务端解析出密钥

此时若有第三方自己生成了一对公钥私钥,在第二步把服务器给客户端的公钥拦截替换成第三方的公钥,此时在第三步客户端就会使用第三方的公钥加密对称加密密钥,在返回密钥给服务器时,第三方又拦截了,用自己的私钥就可以解析出数据,再用之前拦截的服务器公钥进行加密还给服务器。这样就不声不息窃取了请求数据。

相关推荐
寻星探路5 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
王达舒19945 小时前
HTTP vs HTTPS: 终极解析,保护你的数据究竟有多重要?
网络协议·http·https
朱皮皮呀5 小时前
HTTPS的工作过程
网络协议·http·https
Binary-Jeff5 小时前
一文读懂 HTTPS 协议及其工作流程
网络协议·web安全·http·https
那就回到过去12 小时前
MPLS多协议标签交换
网络·网络协议·hcip·mpls·ensp
胖咕噜的稞达鸭17 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
全栈工程师修炼指南17 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es18 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
闲人编程18 小时前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule
惊讶的猫18 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign