04 PKI 与数字证书(Public Key Infrastructure)
Domain 3 · 用”可信第三方+证书”解决”公钥到底是不是他的”难题
一句话秒懂
PKI 是一套”信任链”:证书机构(CA)给某人的公钥”公证”成数字证书(X.509)。你信 CA,就信它发的所有证书。证书会过期、会被吊销——验证时要查 CRL/OCSP。
生活类比
数字证书像”身份证”:上面有你的名字+你的公钥,由公安机关(CA)盖章。别人看到盖了章的证,就信这公钥真是你的。身份证会过期、丢失要挂失(吊销),查真伪要去公安系统(CRL/OCSP)。
核心概念(大白话 + 原书定义)
1. 数字证书(X.509)
- 本质:经 CA 数字签名的”公钥副本”,证明公钥归属。
- 标准:ITU X.509。证书含:版本、序列号、签名算法、 issuer(CA名)、有效期、subject(持有者CN/DN)、subject 公钥等。
- 可发给:计算机、用户、邮箱、开发者(代码签名)。
- 通配符证书(如
*.example.org)覆盖一级子域,不含二级(www.cissp.example.org不行)。
2. 证书机构(CA)与注册机构(RA)
- CA:PKI 的”胶水”,提供公证。证书可信度 = 你对其 CA 的信任度。浏览器预置信任主流 CA(IdenTrust、DigiCert、GlobalSign、Let’s Encrypt 等)。
- RA:协助 CA 验证用户身份,不直接发证书。
- 根 CA 保护:CA 用离线根 CA(断网、关机)保护根证书,用它签发”中级/在线 CA”日常发证书——即证书链(certificate chaining)。验证时从中间 CA 向上追溯到可信根。
- 组织也可自建内部 CA(自签名),仅内部信任、省费用。
3. 证书生命周期
- 注册(Enrollment):证明身份 → 提交 CSR(证书签名请求,含公钥) → CA 签发 X.509 证书。验证级别:DV(域名验证)、EV(扩展验证,更高保证)。
- 验证(Verification):收证后须确认:① CA 签名真实;② 你信任该 CA;③ 未在 CRL;④ 证书含你信任的数据(如只有邮箱无姓名,CA 只担保邮箱)。
-
吊销(Revocation):私钥泄露/误发/信息变更/雇佣关系结束 → 吊销。三种查验法: | 机制 | 特点 | |—|—| | CRL(证书吊销列表) | 列已吊销序列号+时间;需定期下载,有延迟 | | OCSP(在线证书状态协议) | 实时查询,回 good/revoked/unknown;但给 CA 服务器压力大 | | OCSP Stapling | 服务器自己取 OCSP 响应并”钉”在证书上发给客户端,减轻 CA 负担 |
- 证书钉扎(Certificate Pinning):浏览器把某站公钥长期绑定,证书异常变更即告警。
4. 失败案例
2017 年 Symantec 因违规发证书,被 Chrome 取消信任、最终把业务卖给 DigiCert——说明 CA 验证失误可摧毁整个业务。
真实案例
- Let’s Encrypt:免费发证书推动全网 HTTPS 普及,体现 CA 不必是收费商业机构。
- Symantec 信任崩塌:程序小疏漏 → 浏览器不信任 → 业务出售,凸显 PKI 信任链的脆弱性。
考试怎么考
- 题型 A:问”验证证书是否吊销的实时协议” → OCSP;问”有延迟的列表方式” → CRL。
- 题型 B:证书标准 → X.509;减轻 OCSP 服务器负担的机制 → OCSP Stapling。
- 必记混淆项:① RA 不发证只验证身份;② 根 CA 离线保护;③ CRL 有延迟、OCSP 实时但重;④ 证书不含私钥(只有公钥)。
记忆口诀
“证书即公钥公证(X.509);CA 公证、RA 核验;根离线、链上行;查吊销:CRL 慢、OCSP 快、Stapling 减负。”
自测
- 相比 CRL,OCSP 的主要优势与主要缺点分别是什么?(答:优势=实时查询无延迟;缺点=给 CA 的 OCSP 服务器带来巨大查询压力)
- 注册机构(RA)在 PKI 中的职责是什么?(答:协助 CA 验证申请者身份,但本身不直接签发数字证书)