传统密码学在零信任中的角色

零信任的核心原则是「永不信任,始终验证」。但验证靠什么?说白了,靠密码学。没有密码学,零信任就是空中楼阁。今天咱们就聊聊传统密码学在零信任接入场景里的几个关键角色——TLS 1.3、JWT、SSH 和 IPsec VPN。

我这些年做安全架构,见过太多团队把零信任理解成「加个 VPN 就完事了」。嗯,这其实是个大坑。零信任的密码学基础,远比想象中复杂。咱们一个一个来看。

TLS 1.3 握手与证书验证

TLS 是零信任网络通信的基石。你想想看,每次微服务调用、每次 API 请求,底层跑的都是 TLS。TLS 1.3 相比 1.2,握手时间从 2-RTT 降到了 1-RTT,甚至 0-RTT。但性能提升不是重点,重点是——它怎么保证通信安全?

核心流程分三步:

  1. 密钥协商:客户端和服务端通过 ECDHE 交换临时密钥,生成会话密钥。
  2. 证书验证:服务端发送 X.509 证书,客户端验证证书链和签名。
  3. 握手完成:双方用协商好的对称密钥加密通信。

这里有个关键点——证书验证。我在项目中遇到过,有些团队为了省事,直接跳过了证书链验证,或者把 CA 证书随便存。结果呢?中间人攻击一打一个准。

避坑指南:我曾经接手过一个零信任网关项目,发现它的 TLS 握手只验证了叶子证书,没验证中间 CA。攻击者只要伪造一个叶子证书就能绕过。修复方案很简单——启用完整的证书链验证,并固定根 CA 指纹。

TLS 1.3 的证书验证依赖的是 RSA 或 ECDSA 签名。这些签名算法,嗯,都是传统密码学。后量子时代,这些算法会被 Shor 算法秒破。所以零信任的 TLS 层,必须考虑混合证书或 PQC 签名。

JWT 与 OAuth 2.0 中的签名机制

零信任架构里,身份和权限验证靠什么?JWT(JSON Web Token)是主流方案。OAuth 2.0 的 Access Token 通常就是 JWT 格式。

JWT 的结构很简单:Header.Payload.Signature。签名算法常见的有 HS256(对称)、RS256(RSA)、ES256(ECDSA)。

算法 类型 密钥管理 后量子风险
HS256 对称 共享密钥,分发困难 密钥长度需加倍
RS256 非对称(RSA) 公私钥对,易于分发 Shor 算法可破解
ES256 非对称(ECDSA) 公私钥对,性能好 Shor 算法可破解

我个人习惯,在零信任场景里优先用 RS256 或 ES256。为什么?因为对称算法 HS256 需要共享密钥,在微服务架构里密钥分发是个噩梦。你想想看,几十个服务都要知道同一个密钥,任何一个泄露就全完了。

但 RS256 和 ES256 也有问题——它们都是传统非对称算法。后量子时代,这些签名会被量子计算机轻松伪造。我建议现在就开始关注 PQC 签名算法,比如 CRYSTALS-Dilithium 或 FALCON。

实战建议:在 JWT 的 Header 里预留一个 "pqc_alg" 字段,未来可以平滑切换到混合签名模式。我在一个金融项目中就是这么做的,后来迁移 PQC 时省了不少事。

SSH 密钥认证原理

零信任环境里,运维人员访问服务器,SSH 是标配。SSH 的密钥认证,本质上是非对称签名验证。

流程是这样的:

  1. 客户端生成密钥对(公钥 + 私钥),公钥放到服务器 ~/.ssh/authorized_keys 里。
  2. 连接时,服务器用公钥加密一个随机数,发给客户端。
  3. 客户端用私钥解密,返回结果。
  4. 服务器验证结果,确认身份。

嗯,这里有个细节——SSH 支持多种密钥算法:RSA、ECDSA、Ed25519。我个人强烈推荐 Ed25519。为什么?因为它性能好、密钥短、安全性高。RSA 4096 位才能达到的安全级别,Ed25519 只要 256 位。

但 Ed25519 也是传统椭圆曲线算法。后量子时代,它一样会被破解。我最近在测试 PQC 版本的 SSH 补丁,比如 OpenSSH 的 NTRU Prime 混合模式。效果还不错,但还没进主流。

注意:我曾经见过一个团队,把所有服务器的 SSH 密钥都用了 RSA 1024 位。这其实很危险。RSA 1024 在传统计算机上已经可以被暴力破解了。建议至少 RSA 3072 或直接上 Ed25519。

IPsec VPN 中的加密与认证

IPsec VPN 是零信任网络接入的经典方案。它分两个阶段:

  • IKE 阶段:协商加密算法、交换密钥、认证身份。
  • ESP 阶段:加密和认证实际数据包。

IKE 阶段用的算法包括:

  • DH 密钥交换:传统 DH 或 ECDH,用于生成共享密钥。
  • 数字签名:RSA 或 ECDSA,用于认证对端身份。
  • 对称加密:AES-GCM,用于保护 IKE 消息。

ESP 阶段用的算法:

  • 加密:AES-GCM 或 ChaCha20-Poly1305。
  • 认证:HMAC-SHA256 或 Poly1305。

这里有个关键问题——DH 密钥交换。传统 DH 和 ECDH 在后量子时代都不安全。Shor 算法可以破解离散对数问题。所以 IPsec VPN 的 IKE 阶段,必须引入 PQC 密钥封装机制(KEM),比如 Kyber。

实战经验:我在一个跨国企业的零信任项目中,把 IPsec VPN 的 IKE 升级到了混合模式——传统 ECDH + Kyber KEM。这样即使量子计算机出现,攻击者也无法破解历史会话。这个方案叫「混合密钥协商」,是目前最务实的过渡方案。

下面这张图展示了传统 IPsec VPN 的加密与认证流程:

IPsec VPN 加密与认证流程 客户端 VPN 网关 IKE 阶段:密钥协商 + 身份认证 ESP 阶段:数据加密 + 完整性校验 传统加密算法 AES-GCM / ChaCha20-Poly1305 DH / ECDH 密钥交换 传统认证算法 RSA / ECDSA 数字签名 HMAC-SHA256 完整性校验 后量子风险:Shor 算法可破解 DH/ECDH/RSA/ECDSA 建议:混合密钥协商(ECDH + Kyber KEM)

小结:传统密码学在零信任中的位置

总结一下,传统密码学在零信任接入场景里,扮演了四个关键角色:

  • TLS 1.3:通信加密 + 证书验证,依赖 RSA/ECDSA 签名。
  • JWT / OAuth 2.0:身份令牌签名,依赖 RS256/ES256。
  • SSH:服务器认证,依赖 RSA/ECDSA/Ed25519。
  • IPsec VPN:密钥协商 + 数据加密,依赖 DH/ECDH + AES-GCM。

这些算法在传统计算环境下是安全的。但后量子时代,它们都会被打破。零信任架构的改造,必须从这些底层密码学组件开始。我个人建议,现在就开始做三件事:

  1. 盘点:梳理所有零信任组件使用的密码学算法。
  2. 混合:在关键路径上引入 PQC 混合方案(如 ECDH + Kyber)。
  3. 迁移:逐步替换为 NIST 标准化的 PQC 算法。