HTTPS 详解

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

HTTP 的加密流程如下:

  1. 发起请求:客户端在通过 TCP 和服务端建立连接之后(默认使用 443 端口),发出一个请求证书的消息给服务端,在该请求消息里包含自己可实现的算法列表和其他需要的消息。
  2. 证书返回:服务端在收到消息后回应客户端并返回证书,在证书中包含服务端的信息、域名、申请证书的公司、公钥、数据加密算法等
  3. 证书验证:客户端在收到证书后,判断证书签发机构是否正确,并使用该签发机构的公钥确认签名是否有效,客户端还会确保在证书中列出的域名为正在连接的域名。如果客户端确认证书有效,则生成对称密钥,并使用公钥将对称密钥加密
  4. 密钥交换:客户端将加密后的对称密钥发送给服务端,服务端在接收到对称密钥后使用私钥解密
  5. 数据传输:客户端和服务端完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密(加解密使用相同密钥的加密)将数据加密后在网络上传输,保证了网络数据传输的安全性
相关推荐
_F_y9 分钟前
应用层协议HTTP
网络·网络协议·http
lkbhua莱克瓦2412 分钟前
TCP通信练习1——多发多收
java·开发语言·网络·网络协议·tcp/ip·tcp练习
无事好时节15 分钟前
TCP 传输控制协议
服务器·网络协议·tcp/ip
是娇娇公主~34 分钟前
HTTPS 常用密钥交换算法解析
网络协议·http·面试·https
不染尘.36 分钟前
TCP可靠传输和流量控制
服务器·网络·网络协议·计算机网络·tcp
网安INF1 小时前
电子邮件安全协议详解
网络·网络协议·安全·网络安全
Hi, how are you1 小时前
GyAn数字资产守护系统
python·安全·http·网络安全·信息与通信
qq_463408421 小时前
React Native跨平台技术在开源鸿蒙中使用内置的`fetch` API或者第三方库如`axHarmony`来处理网络通信HTTP请求
javascript·算法·react native·react.js·http·开源·harmonyos
乾元1 小时前
红队 / 蓝队:用 AI 自动生成攻击场景并评估防御效果——从“安全演练”到“可计算的网络对抗系统”
运维·网络·人工智能·网络协议·安全·web安全·架构
德迅云安全—珍珍13 小时前
什么是udp攻击,为什么udp攻击难防御
网络·网络协议·udp