3. 公钥基础设施入门

在设备身份工程中,设备要证明“我是谁”,不能只靠口令或序列号,而需要一套可验证、可撤销、可扩展的信任体系。公钥基础设施(PKI,Public Key Infrastructure)正是这套体系的骨架。它把密钥、证书、签发机构、注册审核和信任传递组织成一条可运营的生命周期链,使设备在出厂、入网、轮换、退役各阶段都能获得可验证的身份凭据。

PKI 的核心目标不是“加密”,而是“可信身份绑定”:把公钥与设备身份信息绑定,并由受信任的第三方签名背书,让验证方无需预先认识设备,也能判断该公钥是否可信。

一、核心角色与基本概念

PKI 由若干角色和对象组成。理解它们之间的职责边界,是后续证书生命周期管理的基础。

  • 密钥对:由私钥和公钥组成。私钥必须保密,用于签名或解密;公钥可公开,用于验签或加密。设备身份场景中,私钥通常存放在安全芯片、TPM、TEE 或密钥库中,不可导出。
  • 证书:由 CA 签发的结构化数据,包含主体标识、公钥、有效期、用途扩展、序列号、签发者及签名。证书是公钥的“身份证”。
  • CA(证书颁发机构):负责签发和吊销证书,是信任锚点。CA 用自己的私钥对证书签名,验证方用 CA 公钥验签。
  • RA(注册机构):负责身份审核、请求受理和注册,不直接签发证书。RA 把审核通过的请求转交 CA,实现“审核与签发分离”。
  • CRL/OCSP:证书吊销列表和在线证书状态协议,用于查询证书是否已被吊销。
  • 信任链:从终端实体证书逐级向上验证到根 CA,形成可追溯的信任路径。

二、数字签名与信任链原理

数字签名解决两个问题:完整性校验和身份不可否认。签名过程是:发送方对消息计算摘要,再用自己的私钥对摘要加密,生成签名;接收方用发送方公钥解密签名得到摘要,并对原文重新计算摘要,两者一致则说明消息未被篡改且确实由私钥持有者发出。

信任链则把这种验证关系逐级传递。设备证书由中间 CA 签发,中间 CA 由根 CA 签发,根 CA 自签名并预置在信任库中。验证时从设备证书开始,逐级用上级公钥验签,直到根 CA。只要路径完整、签名有效、有效期和用途合规、未被吊销,就认为设备身份可信。

PKI 信任链与证书签发关系 根 CA(Root CA) 自签名 · 信任锚点 · 离线保护 中间 CA(Intermediate CA) 按设备类型/区域分层签发 RA 注册机构 身份审核 · 请求受理 设备证书(End Entity) 公钥 + 设备标识 + 用途扩展 设备/终端 私钥安全存储 · 签名 签发中间证书 签发设备证书 审核通过后转交 部署证书 验证路径: 设备证书 → 中间 CA 公钥验签 → 根 CA 公钥验签 → 信任库锚点 校验项:签名有效性 · 有效期 · 用途扩展 · 吊销状态(CRL/OCSP)· 名称链一致性

三、证书签发与验证流程

一次典型的设备证书签发流程如下:设备生成密钥对并保护私钥;向 RA 提交证书签名请求(CSR),CSR 中包含公钥和主体信息;RA 审核设备身份(如产线凭证、序列号、注册令牌);审核通过后转交 CA;CA 按模板签发证书并写入序列号、有效期和扩展项;证书下发到设备并部署到信任库。验证方在通信时执行信任链校验。

# 生成设备密钥对与 CSR(示例)
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr \
  -subj "/CN=DEV-0001/O=Factory-A/C=CN"

# CA 签发设备证书
openssl x509 -req -in device.csr -CA intermediate.crt \
  -CAkey intermediate.key -CAcreateserial \
  -days 365 -sha256 -out device.crt

# 验证信任链
openssl verify -CAfile root.crt -untrusted intermediate.crt device.crt

四、典型场景与常见误区

在设备身份场景中,PKI 常用于设备入网认证、固件签名、TLS 双向认证和零信任接入。例如,产线为每台设备签发唯一证书,设备首次联网时用私钥签名挑战值,平台验证证书链和吊销状态后放行。证书到期前通过自动化流程轮换,避免大规模断连。

误区后果正确做法
所有设备共用一张证书单点泄露导致全量仿冒,无法精细吊销一机一证,私钥不可导出
根 CA 直接签发设备证书根密钥暴露风险高,吊销粒度粗根 CA 离线,中间 CA 分层签发
只校验签名不校验吊销已泄露证书仍可接入启用 CRL/OCSP 并缓存策略
证书有效期过长密钥泄露影响窗口大短有效期 + 自动轮换
忽略用途扩展签名证书被用于 TLS 认证严格校验 KeyUsage/ExtendedKeyUsage
信任链验证不是“验一个签名”这么简单。必须同时检查有效期、用途、吊销状态、名称链和路径长度约束。任何一项缺失,都可能让攻击者用合法但越权的证书绕过身份校验。
工程落地建议:把根 CA 离线保存,中间 CA 按设备类型或区域拆分;RA 审核与 CA 签发分离;设备私钥优先放入安全芯片;证书轮换与吊销查询纳入自动化运维,避免人工遗漏。

理解 PKI 的角色分工、数字签名机制和信任链验证逻辑,是后续学习证书生命周期管理、设备身份注册、密钥轮换和吊销策略的前提。只有把“谁签发、谁审核、谁持有私钥、谁验证”这条链路理清,设备身份体系才具备可运营的安全基础。