课程笔记:HTTPS 原理——证书与 CA
课程名称:计算机网络应用 核心摘要:本讲围绕 HTTPS 安全体系中"数字证书"与"证书颁发机构(CA)"展开,讲解证书的本质(经 CA 数字签名的公钥与拥有者信息文件)、证书的内容结构、证书链(信任链)机制,并推演了 HTTPS 通信中"明文请求证书 → 非对称加密协商对称密钥 → 对称加密传输业务数据"的完整加密流程,最后介绍 DV/OV/EV 三类证书的差异。
一、 核心概念与原理
1.1 数字证书的本质
- 数字证书:由权威的证书颁发机构(CA, Certificate Authority)经过数字签名后,包含公钥信息与拥有者信息的文件。
- 前提条件:证书技术依托于数字签名技术——没有数字签名,就不存在可信任的证书。
- 生活类比:
- 身份证:由公安局(权威机构)颁发,包含姓名、性别、出生年月、公章、防伪标志等。
- 介绍信:自证身份的证明文件,包含个人信息 + 单位公章/签名。
- 数字证书 = 介绍信的网络版本:解决"你如何证明你是你自己"的问题,用于 Web 应用自证身份。
1.2 证书颁发机构(CA)
- CA(Certificate Authority):证书签发机构,是**公钥基础设施(PKI, Public Key Infrastructure)**的核心组成部分。
- 职责:
- 签发证书
- 认证证书
- 管理已颁发的证书
- 权威性:全球顶级 CA 数量不多(多为美国机构),需付费购买服务;普通用户/企业可通过腾讯云、阿里云等代理商代办。
- CA 证书内置机制:CA 机构的根证书(含公钥)被内置在操作系统与浏览器中,避免公钥在网络传输中被劫持。
1.3 数字签名在证书中的作用
| 步骤 | 操作 | 使用密钥 |
|---|---|---|
| 1 | 对证书明文信息做摘要算法(Hash) | 无 |
| 2 | 用 CA 的私钥对摘要进行加密(签名) | CA 私钥 |
| 3 | 客户端用 CA 的公钥解密签名,得到摘要 | CA 公钥(内置) |
| 4 | 重新计算明文摘要,与解密出的摘要比对 | 无 |
| 5 | 一致 → 证书未被篡改;不一致 → 证书非法 | — |
核心目的:防篡改。证书明文易被篡改,经 CA 私钥签名后,任何篡改都会导致摘要比对失败。
二、 技术细节与协议分析
2.1 数字证书包含的信息
| 信息类别 | 具体内容 | 说明 |
|---|---|---|
| 公钥 | 申请者(如 edu.lagou.com)的公钥 | 私钥仅存于服务器,永不暴露 |
| 拥有者信息 | 组织信息 / 个人信息 | 机构→公司信息;个人→个人信息 |
| 签发机构信息 | CA 权威机构信息 | 类比公安局 |
| 有效期 | 起止时间 | 超期浏览器报"证书已过期" |
| 序列号 | 唯一标识 | 类比身份证号 |
| 支持的加密算法 | 签名算法、Hash 算法等 | 如 SHA-256、RSA |
| 数字签名 | CA 对明文摘要的私钥加密结果 | 防篡改核心 |
2.2 证书类型分类
| 证书类型 | 用途 | 说明 |
|---|---|---|
| SSL/TLS 证书 | 加密 HTTPS 协议 | 本讲重点 |
| 代码签名证书 | 签名二进制文件 | Windows 内核驱动、浏览器插件、Java 代码签名 |
| 客户端证书 | 加密邮件等 | 邮件场景 |
| 双因素证书 | 网银 U 盾(USB Key)等 | 双因素认证 |
SSL vs TLS:早期安全传输协议名为 SSL,后演进为 TLS;因 SSL 名称历史悠久,业内仍习惯称"SSL 证书",但实际协议已是 TLS。
2.3 证书验证等级(DV / OV / EV)
| 等级 | 全称 | 验证内容 | 适用场景 | 价格 |
|---|---|---|---|---|
| DV | Domain Validation(域名验证) | 仅验证域名所有权 | 个人站点 | 最低 |
| OV | Organization Validation(组织验证) | 验证企业/组织信息 | 企业型网站(如拉勾教育使用 OV) | 中等 |
| EV | Extended Validation(扩展验证) | 最严格的扩展验证 | 电商、互联网金融等高安全要求站点 | 最高 |
级别:DV < OV < EV 价格:DV < OV < EV(EV 一年可达数万元)
2.4 证书链(信任链 / Certification Chain)
Root CA(根证书颁发机构) ← 自签名证书,内置在 OS/浏览器
│
├── Intermediate CA A(中间证书颁发机构)
│ │
│ └── edu.lagou.com(终端实体证书)
│
└── Intermediate CA B(中间证书颁发机构)
└── 其他网站...
- 根 CA(Root CA):顶级权威机构,因签发量大,会授权给中间 CA 代为签发。
- 中间 CA:由根 CA 签发证书,代表根 CA 行使签发权。
- 终端实体(如
*.lagou.com):由中间 CA 签发证书。 - 信任传递原理:浏览器信任 Root → Root 信任 Intermediate → Intermediate 信任终端证书 ⇒ 浏览器信任终端证书。
- 生活类比:袁静信任张三,张三信任李四 ⇒ 袁静信任李四(担保机制)。
2.5 自签名证书
- 根 CA 的特殊性:根 CA 自己给自己签发证书(Self-signed Certificate),其"颁布者 = 颁发给"为同一主体。
- 普通用户自签名:用户也可自签证书,但因 OS/浏览器未内置其公钥,会被判定为非法,触发"证书无效/不安全"警告。
- 结论:只有被内置到 OS/浏览器的权威 CA 签发的证书才受信任。
三、 实践应用与配置命令
3.1 HTTPS 升级流程(证书申请与部署)
1. 服务器运营方 → 向 CA(或代理机构如阿里云/腾讯云)提交资料
提交内容:公钥信息 + 组织信息 + 域名信息
(若无公钥,可委托 CA 生成公私钥对,私钥返还给申请者)
2. CA 审核通过 → 签发证书(用 CA 私钥对明文+摘要做数字签名)
3. 下载证书 → 安装到服务器(如 edu.lagou.com 的 Server)
4. 配置完成 → 站点升级为 HTTPS
3.2 HTTPS 通信加密流程(四步推演)
┌──────────┐ ┌──────────────────┐
│ 客户端 │ │ 服务器(lagou) │
│ (浏览器) │ │ 持有: 私钥+证书 │
└────┬─────┘ └────────┬─────────┘
│ │
│ ① 请求证书(明文) │
│ ─────────────────────────────────────────→ │
│ │
│ ② 返回证书(明文,含公钥+拥有者信息+CA签名) │
│ ←───────────────────────────────────────── │
│ │
│ 客户端校验证书: │
│ 用内置 CA 公钥解密签名 → 比对摘要 → 防篡改 │
│ │
│ ③ 生成随机数,用服务器公钥加密(非对称加密) │
│ ─────────────────────────────────────────→ │
│ │
│ 服务器用私钥解密 → 得到随机数 │
│ │
│ ④ 双方拥有相同随机数 → 作为对称加密密钥 │
│ ←─────── 后续所有业务数据:对称加密 ───────→ │
| 步骤 | 加密方式 | 说明 |
|---|---|---|
| ① 请求证书 | 明文 | 安全:证书有数字签名,伪造/篡改可被 CA 公钥检出 |
| ② 返回证书 | 明文 | 同上,含 CA 私钥签名 |
| ③ 协商对称密钥 | 非对称加密 | 客户端用服务器公钥加密随机数;服务器私钥解密 |
| ④ 业务通信 | 对称加密 | 随机数作为对称密钥,效率高 |
设计要点:非对称加密仅用于"协商对称密钥"这一危险过程;大量业务数据采用对称加密(效率高)。HTTPS 综合运用了对称加密 + 非对称加密 + 数字签名 + 证书技术。
3.3 查看证书的常用方式
# 查看操作系统内置证书(Windows 证书管理器)
certmgr.msc
- 浏览器查看内置 CA 证书:Chrome → 设置 → 安全检查 → 安全 → 管理证书
- "受信任的根证书颁发机构":根 CA 自签证书
- "中间证书颁发机构":中间 CA 证书
- 查看网站证书:浏览器地址栏点击 🔒 → 证书 → 常规 / 详细信息 / 证书路径
- 常规:颁发给、颁发者、有效期
- 详细信息:版本、序列号、签名算法、Hash 算法、公钥信息(注意是网站公钥,非 CA 公钥)
- 证书路径:完整信任链(Root → Intermediate → 终端证书)
警告:切勿安装盗版/破解版操作系统——可能内置恶意 CA 证书,导致 HTTPS 形同虚设。
四、 重点与难点提示
考点速记
- 证书 = CA 数字签名的(公钥 + 拥有者信息)文件,核心依赖数字签名技术。
- CA 是 PKI 的核心,职责为签发、认证、管理证书。
- 防篡改原理:CA 私钥签名 → 客户端用内置 CA 公钥解密比对摘要。
- CA 公钥来源:内置在操作系统和浏览器中,非网络传输(防劫持)。
- 证书链:Root CA(自签名)→ Intermediate CA → 终端实体,逐级信任传递。
- HTTPS 四步流程:明文请求证书 → 明文返回证书 → 非对称加密协商密钥 → 对称加密传输数据。
- SSL 实为 TLS:协议已升级,名称沿用。
- DV / OV / EV:验证强度递增,价格递增。
易错点
- ❌ 证书中包含的是申请者的公钥,不是 CA 的公钥(CA 公钥内置在浏览器/OS)。
- ❌ 私钥永不放入证书,仅存于服务器本地。
- ❌ 根 CA 的证书是自签名的(颁发者 = 持有者),并非由更高级机构签发。
- ❌ 第①②步虽是明文传输,但因有数字签名保护,依然安全。
- ❌ 用户可自签证书,但因未被内置信任,浏览器会报非法警告。
面试题
- 简述数字证书的作用及其与数字签名的关系。
- HTTPS 握手过程中,对称加密与非对称加密各用在哪个阶段?为什么这样设计?
- 什么是证书链?浏览器如何验证一个网站的证书是合法的?
- DV、OV、EV 三类证书的区别是什么?
- 为什么 CA 的公钥不会被中间人劫持替换?
五、 课后疑问/遗留问题
- 下一讲预告:完整 HTTPS 通信流程的细节推演(本讲为概览,下一讲深入)。
- 思考题:如果操作系统内置的某个根 CA 被吊销(如某 CA 出现安全事故,如 DigiNotar 事件),整个信任链会如何受影响?浏览器厂商如何应对?
- 思考题:证书过期后如何续约?续约期间服务是否中断?
- 延伸:HTTP/2、HTTP/3 是否强制要求 HTTPS?与证书体系的关系?