密钥与证书为什么要一起盘点
只盘证书不盘密钥,会留下一个明显的缺口:泄露事件发生时无法快速判断哪些数据、哪些制品受影响。联合盘点的目标是让每个条目都能回答:这张证书对应的私钥在哪、由谁负责、什么时候轮换、当前是哪个版本。清单还要与 KMS/HSM 的密钥列表交叉核对,确认两边没有对方不知道的条目。常见的缺口是能签名的密钥根本不在证书清单里——代码签名密钥、Token 签名密钥、mTLS 客户端密钥都属于这一类。
基本信息
| 盘点维度 | 证书、私钥、密钥库或 KMS 密钥 ID、位置、责任人、轮换时间 |
|---|---|
| 易漏对象 | 代码签名密钥、Token 签名密钥、mTLS 客户端密钥 |
| 交叉核对 | 与 KMS/HSM 密钥列表、证书签发记录双向对齐 |
| 用途 | 支持泄露场景的快速影响面检索 |
| 更新机制 | 纳入轮换与变更流程,每次操作即更新 |
| 输出物 | 可检索的清单,而不是静态表格 |
典型使用场景
- 泄露响应:已知某把密钥外泄时,立刻查出影响哪些证书与数据。
- 轮换排期:按密钥所在位置与使用方安排批次。
- 合规审计:证明每把在用的密钥都有归属与轮换计划。
- 交接与更替:确认没有无人认领的密钥。
- 年度自查:核对清单与实际环境是否一致。
盘点私钥文件
盘点私钥文件
# 按时间列出常见位置的私钥与密钥库文件
find /etc /opt -type f \( -name '*.key' -o -name '*.p12' \) -printf '%TY-%Tm-%Td %p\n' 2>/dev/null | sort
# 逐个确认密码保护状态与所属证书
# grep -l 'ENCRYPTED' $(find /etc -name '*.key' 2>/dev/null)
# 输出结果与证书清单、KMS 密钥列表逐项对齐,找出只在一侧存在的条目盘点字段与用途
| 字段 | 来源 | 用途 |
|---|---|---|
| 证书与 SAN | 证书扩展 | 确认覆盖范围 |
| 私钥位置 | 文件系统与密钥库 | 知道要去哪里轮换 |
| KMS/HSM 密钥 ID | 平台清单 | 关联托管密钥与使用方 |
| 责任人 | 组织分工 | 告警与审批的落点 |
| 轮换时间 | 变更记录 | 排期与合规证明 |
| 使用方 | 应用配置与网关 | 影响面分析 |
常见缺口是能签名的密钥根本不在证书清单里;盘点范围要显式覆盖签名类密钥,包括代码签名、License 签发与 Token 签名所用的密钥。