一、安全目标与威胁模型
CIA 三元组
Confidentiality 机密性
Integrity 完整性
Availability 可用性
扩展目标:Authenticity(真实性)、Non-repudiation(不可否认)、Accountability(可审计)。
威胁模型
Dolev-Yao 模型:攻击者可窃听、重放、篡改、注入、丢弃报文。
内部人 vs 外部人;被动 vs 主动;MITM、DoS、DDoS、Replay、Downgrade。
二、密码学基础
对称加密(共享密钥)
流密码:ChaCha20、RC4(已弃用)
分组密码:AES-128/192/256(ECB/CBC/CTR/GCM/XTS)
工作模式:GCM = CTR + GHASH,提供 AEAD(加密+认证)
非对称加密(公钥)
RSA(加密/签名)、DH 密钥交换、ECDH(椭圆曲线)、DSA→ECDSA→EdDSA(Ed25519/Ed448)
消息完整性
Hash:SHA-2(256/384/512)、SHA-3、Blake3
MAC:HMAC-SHA256、CMAC、GMAC
数字签名
RSA-PSS、ECDSA、EdDSA;签名流程 = Hash + 私钥加密;验证 = 公钥解密比对
密钥派生与协商
PBKDF2/bcrypt/scrypt/Argon2(口令→密钥)
HKDF(密钥扩展)
Diffie-Hellman、ECDH、X25519/X448;前向保密(Forward Secrecy)
量子威胁与后量子(PQC)算法简览:CRYSTALS-KYBER、Dilithium。
三、公开密钥基础设施(PKI)
组成:CA、RA、证书、CRL、OCSP、证书链、信任锚(Root store)。
X.509 v3 证书字段:版本、序列号、签名算法、颁发者、主体、公钥、SAN、KeyUsage、EKU、AIA、CRL DP、OCSP URL。
验证流程:签名→有效期→吊销状态(OCSP stapling)→主机名校验(SAN/CN)→链式信任。
证书透明(CT):Signed Certificate Timestamp(SCT),防伪造证书。
私钥保护:HSM、TPM、Intel SGX、云 KMS。
四、传输层安全——TLS 1.3 深度拆解
握手对比
1.2:2-RTT 完整握手,大量协商扩展
1.3:1-RTT 默认,0-RTT 恢复(PSK + ECDHE),裁剪算法至 AEAD 套件
密钥调度
ECDHE → 共享密钥 → HKDF-Extract/Expand → 握手流量密钥 → 应用流量密钥
独立密钥:client handshake / server handshake / client app / server app / resumption master
记录协议
仅保留 AEAD:AES-128/256-GCM、ChaCha20-Poly1305
显式随机数(64-bit sequence + 96-bit IV)→ 防重放
扩展
Server Name Indication(SNI)→ Encrypted SNI(ESNI/ECH)
ALPN(h2/http/1.1)
Key Share(客户端提前发 X25519 公钥)
Post-Handshake Auth、Exported Keying Material(EAP-TLS、QUIC)
攻击面与缓解
降级攻击 → 禁止重新协商、静态 RSA 移除、Downgrade Sentinel(randomized version field)
重放 → 0-RTT 数据限制幂等、单次票证
跨协议攻击 → ALPN 严格校验
侧信道 → Lucky13、RC4 biases、BEAST、CRIME、BREACH → 1.3 已修复