2. 公钥基础设施(PKI)核心组件
在设备身份体系中,PKI 不是“装一个证书”这么简单,而是一套把身份声明、密钥持有、证书签发、状态查询、吊销传播串起来的信任生产与消费系统。设备侧真正关心的问题通常只有三个:我手里的证书是谁签的、对方怎么确认它还有效、私钥是否始终没有离开受控边界。要回答这三个问题,就必须理解 PKI 的五个核心组件在设备场景中各自承担什么角色。
CA:信任的根与签发者
CA(Certificate Authority,证书认证机构)是信任链的锚点。它用自己的私钥对设备证书的签名,使任何持有对应根证书或中间证书的一方都能验证该设备证书的完整性。设备场景中,CA 通常分层部署:根 CA 离线保存,只在签发中间 CA 时短暂上线;中间 CA 按设备类型、产线或区域划分,在线承担日常签发。这样做的直接收益是:即使某条产线的中间 CA 私钥泄露,也只需吊销该中间 CA,而不必让整个根信任体系失效。
设备证书的签发对象不是“人”,而是设备身份。常见做法是把设备唯一标识写入证书的 Subject 或 SAN 扩展,例如 CN=DEV-8A3F-2210、SAN=urn:dev:8a3f2210。CA 在签发时还会写入关键扩展:basicConstraints=CA:FALSE 表明该证书不能继续签发下级证书;keyUsage=digitalSignature,keyEncipherment 限定密钥用途;extendedKeyUsage=clientAuth 或 serverAuth 表明设备在 TLS 中扮演的角色。这些扩展不是装饰,而是设备端校验时判断“这张证书能不能干这件事”的依据。
RA:注册审核与身份绑定
RA(Registration Authority,注册审核机构)负责在证书签发前确认“申请者确实是它声称的那个设备”。在产线场景中,RA 通常与 MES 或设备注册系统集成:设备首次上电时生成密钥对,把公钥和硬件标识(如芯片 UID、序列号)提交给 RA;RA 查询产线数据库,确认该序列号已登记且未被重复注册,再向 CA 发起签发请求。RA 不持有 CA 私钥,因此它被攻破不会直接导致伪造证书,但会带来“错误设备被登记”的风险,所以 RA 侧必须做防重放和唯一性校验。
证书库:证书的发布与检索
证书库是已签发证书的集中存放与检索点。设备场景中,证书库不一定是一个独立数据库,也可以是企业现有的设备管理平台或目录服务。它的核心作用是让验证方能够按设备标识、序列号或证书指纹找到对应证书,并获取中间证书以补全信任链。一个常见问题是设备只携带叶子证书,验证方缺少中间证书导致链验证失败;因此证书库或设备固件中应同时提供中间证书,或通过 Authority Information Access 扩展指向可下载的中间证书地址。
CRL 与 OCSP:吊销状态的两种传播方式
证书在有效期内也可能因为设备退役、私钥泄露或产线误注册而需要提前失效,这就是吊销。CRL(Certificate Revocation List)是 CA 定期签发的吊销列表,验证方下载后检查目标证书序列号是否在列表中。它的优点是实现简单、可离线校验;缺点是列表会随时间膨胀,且存在更新延迟。OCSP(Online Certificate Status Protocol)则把查询变成实时请求:验证方把证书序列号发给 OCSP 响应器,响应器返回 good、revoked 或 unknown。OCSP 的响应本身由 CA 或授权响应器签名,并带有 thisUpdate、nextUpdate 时间窗口,验证方必须检查响应是否在有效期内。
设备场景中,两种方式往往组合使用:对网络受限或需要快速启动的设备,可预置 CRL 或使用短有效期证书降低吊销压力;对在线设备,优先使用 OCSP 并配合 OCSP Stapling,由服务端把响应“钉”在 TLS 握手中,减少设备侧额外请求。需要特别注意的是,吊销检查失败时不能默认放行。如果设备无法获取 CRL 或 OCSP 响应,应根据安全策略选择拒绝连接或降级到受限模式,而不是静默接受。
密钥管理:设备侧最不能妥协的边界
PKI 的其余组件都可以在服务器侧加固,唯独设备私钥必须留在设备内部。设备场景的密钥管理有三个硬性要求:私钥在安全存储内生成,例如 TPM、SE 或 TrustZone 的密钥槽;私钥不可导出,签名操作在安全边界内完成,外部只能拿到签名结果;密钥与设备身份绑定,更换安全芯片即意味着更换身份,需要重新走 RA 注册和 CA 签发。CA 侧同样如此:根 CA 私钥离线保存,中间 CA 私钥放入 HSM,签名操作通过受控接口调用,而不是把私钥文件放在普通服务器磁盘上。
一个容易被忽略的细节是密钥生命周期与证书生命周期的对齐。设备证书有效期通常设为 1~3 年,而设备服役期可能长达 10 年,因此必须支持证书轮换:在旧证书到期前,设备用现有身份向 RA 申请新证书,新私钥在安全存储内生成,旧私钥按策略销毁或保留用于解密历史数据。如果设备不支持轮换,一旦证书过期就只能返厂或现场重新注册,运维成本会急剧上升。
组件协同:一次设备接入的完整判断
把五个组件串起来看,一次设备接入服务端的判断过程大致如下:设备在安全存储内生成密钥对,向 RA 提交公钥和硬件标识;RA 校验唯一性后请求中间 CA 签发;中间 CA 签发叶子证书并写入证书库;设备拿到证书链后发起 TLS 握手;服务端验证证书链到根 CA,再通过 CRL 或 OCSP 确认证书未被吊销;全部通过后才建立业务连接。这条链路上任何一环缺失,都会导致“证书看起来没问题,但就是连不上”的典型故障。理解每个组件的位置和职责,才能在排障时快速定位是签发、分发、验证还是吊销状态查询出了问题。