https基本概念

一、 HTTPS 的核心作用
HTTP 传输的数据是明文,存在三大风险:
窃听风险:第三方可拦截并读取传输内容(如账号密码、支付信息)。
篡改风险:第三方可修改传输的数据(如篡改订单金额)。
冒充风险:第三方可伪装成服务器与客户端通信(如钓鱼网站)。
HTTPS 通过加密 + 身份认证 + 完整性校验,解决以上所有问题,确保数据传输的机密性、真实性、完整性。
二、 HTTPS 的底层原理:HTTP + SSL/TLS
HTTPS 并非全新协议,而是 HTTP 协议运行在 SSL/TLS 协议之上,结构如下:
plaintext
应用层:HTTP
安全层:SSL/TLS
传输层:TCP
网络层:IP
SSL(Secure Sockets Layer):早期安全协议,目前已淘汰(存在漏洞)。
TLS(Transport Layer Security):SSL 的升级版,目前主流版本是 TLS 1.2/1.3(TLS 1.3 性能更优,握手更快)。
三、 HTTPS 的核心机制

  1. 加密方式:对称加密 + 非对称加密 结合
    HTTPS 不会单独使用某一种加密方式,而是结合两者的优势:
    加密类型 原理 优点 缺点 HTTPS 中的作用
    对称加密 通信双方共用同一把密钥,加密和解密用同一个密码 运算速度快,适合大量数据传输 密钥传输过程中容易被窃取 用于传输阶段的实际数据加密(如网页内容、接口数据)
    非对称加密 一对密钥:公钥(公开)和私钥(保密)
    公钥加密的数据,只有私钥能解密;私钥加密的数据,只有公钥能解密 密钥传输安全,无需担心泄露 运算速度慢,不适合大量数据 用于握手阶段的密钥协商(传输对称加密的密钥)
  2. 身份认证:数字证书 + CA 机构
    为了防止 “中间人冒充服务器”,HTTPS 引入 数字证书 和 CA(Certificate Authority,证书颁发机构):
    数字证书:包含服务器公钥、网站域名、CA 签名、证书有效期等信息。
    CA 机构:受信任的第三方权威机构(如 Symantec、Let’s Encrypt),负责审核服务器身份,并为其颁发证书。
    客户端访问 HTTPS 网站时,会验证服务器证书的有效性:
    验证证书是否由受信任的 CA 颁发。
    验证证书是否在有效期内。
    验证证书中的域名是否与当前访问的域名一致。
    验证 CA 签名是否有效(防止证书被篡改)。
    只有证书验证通过,才会继续通信;否则浏览器会弹出 “安全警告”。
  3. 完整性校验:MAC 消息认证码
    传输的数据会附带一个 MAC 校验值,客户端接收数据后,会重新计算校验值并对比:
    若一致,说明数据未被篡改。
    若不一致,说明数据被篡改,直接断开连接。
    四、 HTTPS 的通信流程(TLS 握手 + 数据传输)
    以 TLS 1.2 为例,完整流程分为 握手阶段 和 数据传输阶段:
    握手阶段(核心是协商对称密钥)
    客户端 → 服务器:发送客户端支持的 TLS 版本、加密套件列表。
    服务器 → 客户端:选择 TLS 版本和加密套件,返回数字证书(含公钥)。
    客户端:验证证书有效性 → 生成一个随机的对称密钥 → 用服务器公钥加密该密钥 → 发送给服务器。
    服务器:用私钥解密,得到对称密钥。
    数据传输阶段
    客户端和服务器使用协商好的对称密钥加密 / 解密传输数据。
    每段数据都附带 MAC 校验值,确保完整性。
    连接关闭
    通信结束后,双方协商关闭连接,对称密钥失效。
    TLS 1.3 优化:将握手步骤从 4 步简化为 2 步,减少网络往返次数,提升握手速度。

posted on 2025-12-22 10:47  拾壹凪  阅读(9)  评论(0)    收藏  举报

导航