Skip to content
Kurisu
Go back

HTTPS 与 TLS:加密、哈希、编码到底差在哪

上一篇渗透入门留的尾巴:HTTPS 为什么抓不到?顺带把最易混的三个概念——加密、哈希、编码——掰清。

0x01 四个基础概念:明文、密文、算法、密钥

例:“数字移位”是算法,“移几位”是密钥;只知算法不知密钥,解密等于猜。安全的重心在密钥保密,不在算法神秘——现代算法全公开,照样安全。

0x02 编码不是加密,哈希也不是加密

三者常被混用,这里做个切割:

可逆性密钥目的
编码(Base64/URL)可逆无方便存储传输、避免特殊字符误判
加密(AES/RSA)可逆有机密性
哈希(MD5/SHA)不可逆无(理想)完整性校验

哈希的两个关键特性:

0x03 对称与非对称:密钥分发死结

对称加密(AES):加解密同一把钥匙,快、省资源;死穴是密钥分发——不信任的网络里传钥匙,路上被截获就形同虚设,“先有鸡还是先有蛋”的死循环。

非对称加密(RSA):公钥加密、私钥解密,公钥随便发就解决了分发;代价是算力开销大,不适合大流量数据。

HTTPS 的答案是混用:非对称只协商对称密钥,对称密钥传数据——性能与安全的折中。

0x04 CA 与 PKI:防中间人的最后一环

非对称加密还有个洞:你怎么知道公钥真是对方的?中间人把自己的公钥发给你,双向转发解密(抓包工具正是这个原理)。

**CA(证书权威机构)**为网站公钥签名背书:浏览器内置受信 CA 列表,收到证书验签名链,对得上才信任——PKI(公钥基础设施)的核心。

0x05 回到抓包:为什么 HTTPS 需要装证书

  1. Burp 做中间人:对浏览器冒充服务器(出示自己的证书),对服务器冒充浏览器;
  2. HTTP 明文直接拦;HTTPS 里浏览器校验证书链——Burp 证书不在受信列表,校验失败,连接中断;
  3. 解决:把 Burp 的 CA 根证书(http://burp 下载)装进浏览器/系统的”受信任的根证书颁发机构”;信任了这个”假 CA”,中间人链路成立,HTTPS 就能抓。

纠正一个错误认知:这也是 SSL Pinning(证书绑定)绕过的基础——App 把校验做死在代码里,不认系统证书库,光装证书没用,得 Hook 掉校验(见 App 渗透篇)。注意:SSL/TLS 算法本身不可破(破了等于破解 RSA),能”绕”的只是实现层的校验逻辑。

0x06 TLS 1.3 与实战补充

相关旧文


Share this post:

Previous Post
SQL 基础
Next Post
SQL 进阶与 sqlmap