Skip to content

概念卡片:HTTPS 与加密机制

一句话机制:HTTPS = HTTP + SSL/TLS。它用混合加密保机密性(非对称加密交换「会话密钥」,之后全程对称加密传数据)、摘要算法 + 数字签名保完整性、数字证书验身份,把明文 HTTP 补成安全协议。

HTTP 的三大风险 → HTTPS 的三大解法

HTTP 风险HTTPS 解法手段
窃听(明文)机密性混合加密
篡改完整性摘要算法(哈希指纹)
冒充身份认证数字证书(服务器公钥放证书)

对称 vs 非对称加密

对称加密非对称加密
密钥一个(加密解密同钥)一对(公钥 + 私钥)
速度慢(耗性能)
典型算法DES、3DES、AES、BlowfishRSA、DSA、ECC
用途加密大数据(会话密钥)密钥交换、数字签名

混合加密:通信建立前用非对称加密交换「会话密钥」,之后全程用对称加密传明文数据——兼顾安全与速度。

数字签名与数字证书

  • 数字签名 = 对内容哈希值做「私钥加密」。公钥解密成功 → 证明消息来自持有私钥方(验身份)。
  • 数字证书 = 持有者「公钥 + 身份信息」由 CA(证书权威机构)用自己的私钥签名打包。客户端用内置的 CA 公钥验证书 → 拿到可信服务器公钥。
  • 证书信任链:证书一般由中间证书签发,逐级验证直到根证书;根证书隔离越严格越好。

TLS 四次握手(以 RSA 密钥交换为例)

方向内容
ClientHelloC → S支持的 TLS 版本 + Client Random + 密码套件列表
ServerHelloS → C确认版本 + Server Random + 密码套件 + 数字证书
客户端回应C → S取服务器公钥加密的 pre-master key + 加密通信改变通知 + 握手结束通知
服务器回应S → C加密通信改变通知 + 握手结束通知

双方用三个随机数(Client Random + Server Random + pre-master key)各自生成「会话密钥」,之后进入对称加密通信。 基于 RSA 的握手存在「前向安全」问题(私钥泄漏 → 历史密文全破解),现在多用 ECDHE 算法。

TLS 记录协议(保证应用数据完整性)

消息被分割成片段 → 压缩 → 加 MAC(消息认证码,哈希生成,防篡改 + 防重放) → 对称加密 → 加报头。握手协议负责协商密钥,记录协议负责保护数据。

不变量(必须成立的约束)

  • 对称加密速度快但密钥交换不安全,非对称加密安全但慢 → 必须混合。
  • 数字签名用「私钥加密、公钥解密」(验身份),不是「公钥加密、私钥解密」(保传输安全)。
  • 中间人攻击的前提是客户端接受了伪造证书(用户点继续 / 系统被导入伪造根证书),HTTPS 协议本身无漏洞。

常见误解

  • 以为「HTTPS 用非对称加密传所有数据」→ 非对称只用于握手交换会话密钥,数据全程对称加密。
  • 以为「HTTPS 绝对安全」→ 抓包工具/中间人靠的是客户端信任了伪造根证书,本质是利用客户端漏洞。
  • 以为「公钥加密私钥解密」是签名 → 那是保传输安全;签名是「私钥加密、公钥解密」。

关联

最近更新