1、PKI基础概念:公钥基础设施的定义、核心组件、信任模型
各位同学好,咱们今天正式开讲《设备证书签发全流程实战》的第一章。说实话,PKI(公钥基础设施)这个词,圈内人天天挂在嘴边,但真要问它到底是什么,很多人其实说不太清楚。我见过不少开发同学,证书配了一堆,但CA和RA的区别都搞混了。
嗯,咱们先把地基打牢。这一章不讲花架子,就讲清楚三件事:PKI到底是个啥?它由哪几块组成?信任是怎么传递的?
1.1 公钥基础设施的定义
PKI,全称Public Key Infrastructure。说白了,它是一套完整的体系,用来解决“你怎么证明你是你”以及“你们俩通信怎么加密”这两个核心问题。
我个人的理解是:PKI = 策略 + 硬件 + 软件 + 人的集合。它不是一个单一的产品,而是一个框架。在这个框架下,我们可以安全地分发公钥、验证身份、加密数据。
核心定义:PKI是一套遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务所必需的密钥和证书管理。
你想想看,如果没有PKI,互联网上的银行转账、电商购物、邮件加密,全都得裸奔。我在2018年帮一家金融机构做设备证书改造时,他们之前的方案就是自己写脚本生成自签名证书,结果审计直接挂了——因为没有统一的证书生命周期管理。
1.2 核心组件
PKI体系里,有四个角色是绕不开的。我习惯把它们分成“管理层”和“执行层”来看。
| 组件 | 英文 | 角色定位 | 核心职责 |
|---|---|---|---|
| CA | Certificate Authority | 证书签发中心 | 签发、吊销、更新证书 |
| RA | Registration Authority | 注册审核中心 | 身份审核、注册信息校验 |
| 证书库 | Certificate Repository | 存储与分发 | 存放证书和CRL,供查询下载 |
| 终端实体 | End Entity | 证书使用者 | 设备、用户、服务器等 |
1.2.1 CA——核心中的核心
CA是整个PKI的信任锚点。它负责签发证书,也负责吊销证书。我经常跟团队讲:CA就是数字世界的公安局,它说你是谁,你就是谁。
CA内部通常维护着一对根密钥,这是整个信任链的起点。根密钥一旦泄露,整个体系就完了。所以,根CA的私钥必须离线存储,这是铁律。
避坑指南:我曾经见过一个项目,为了图方便,把根CA的私钥直接放在应用服务器上。结果服务器被入侵,攻击者用根私钥签了一堆假证书,整个企业的PKI体系不得不重建。教训极其惨痛。
1.2.2 RA——审核与注册
RA是CA的前置环节。它不直接签发证书,但负责审核申请者的身份信息。为什么要把RA和CA分开?
原因很简单:职责分离。CA只管签发,RA只管审核。这样即使RA被攻破,攻击者也拿不到签名密钥;反过来,CA的签名密钥泄露,RA的审核记录也能作为追溯依据。
在实际项目中,RA通常是一个Web门户或API接口。设备提交CSR(证书签名请求)到RA,RA验证设备身份后,把请求转发给CA。
1.2.3 证书库
证书库就是一个公开的存储仓库。它存放两类东西:
- 已签发的证书——供其他人下载和验证
- 证书吊销列表(CRL)——记录哪些证书已经失效
证书库通常基于LDAP目录服务或HTTP服务器搭建。我个人习惯用HTTP方式,部署简单,而且支持OCSP(在线证书状态协议)做实时查询。
1.3 信任模型
信任模型解决的是“我凭什么相信你”的问题。常见的模型有三种,我分别讲一下。
1.3.1 层次信任模型
这是最常用的模型,也是企业PKI的标准做法。结构像一棵树:
- 根CA在最顶层
- 中间CA在第二层
- 终端证书在最底层
信任是单向传递的:你信任根CA,就信任它签发的所有中间CA,进而信任中间CA签发的所有终端证书。
经验之谈:我在设计企业PKI时,一定会保留至少一级中间CA。为什么?因为根CA的私钥要离线,每次签发都得人工操作。中间CA可以在线运行,日常签发效率高得多。而且万一中间CA出问题,吊销它就行,不用动根。
1.3.2 网状信任模型
多个CA互相交叉签名,形成一个信任网。这种模型在PGP(Pretty Good Privacy)里很常见,适合去中心化的场景。
但说实话,在企业环境里,网状模型维护成本太高。你想想看,100个CA互相交叉签名,那就是9900条信任关系。谁出问题都很难排查。
1.3.3 桥接信任模型
桥CA是一个中间人,它连接多个独立的PKI体系。比如两个公司合并了,各自的PKI体系怎么互通?搭一个桥CA,让两边都信任它就行。
这个模型我在跨国项目中用过一次。当时两个国家的子公司各自有CA,通过桥CA做交叉认证,省去了重建整个PKI的麻烦。
1.4 知识体系总览
下面这张图,我把本章的核心逻辑画出来了。你可以把它当作整个PKI知识体系的骨架。
1.5 本章小结
这一章我们覆盖了PKI最基础的三块内容:
- 定义——PKI是一套完整的密钥管理框架,解决身份认证和数据加密问题
- 核心组件——CA签发、RA审核、证书库存储,三者缺一不可
- 信任模型——层次模型最常用,网状模型适合去中心化,桥接模型用于跨体系互通