跳到主要内容
约 4 分钟3 张卡

密钥、证书、审计与供应链安全

本文负责凭据生命周期、证书验证、审计与构建产物追溯。

1. 面试核心​

先记住这几条,再读正文
  • 密钥访问。 应用用工作负载身份按最小权限读取 secret manager。
  • 正常轮换。 签名密钥正常轮换先更新验证方,再切换签发方。卡 · 密钥轮换
  • 证书验证。 TLS 服务身份验证需要证书链、有效期和目标名称匹配。
  • 泄漏处置。 泄漏密钥需立即撤销,正常轮换的重叠窗口应随之终止。卡 · 事件响应
  • 产物来源。 SBOM 列举组件,provenance 记录构建来源与产物摘要。卡 · SBOM 与 provenance

2. 密钥管理​

密码、API token 和私钥由 secret manager 集中管理。应用身份只读取指定环境与资源的秘密。开发、测试和生产使用独立凭据。

秘密应避开代码、镜像和构建日志。运行时还要控制诊断端点和内存转储权限。命令行参数会暴露在进程列表中,应改用受控注入。

3. 密钥轮换​

正常轮换需给使用方留出切换时间。支持双凭据的服务可按以下顺序操作:

  1. 创建新版本凭据。
  2. 验证端同时接受新旧版本。
  3. 灰度切换使用方,并观察失败率。
  4. 确认旧版本已停止使用。
  5. 撤销旧版本,保留操作审计。

单密码系统需要双账号或协调切换。直接替换密码会使尚未刷新的实例认证失败。

JWT 验证方通过 kid 选择已信任集合中的公钥。正常退役需覆盖旧 token 的剩余有效期。重叠窗口还应计入允许的时钟偏差。

JWKS 缓存按有效期刷新。未知 kid 可触发受限刷新,失败后拒绝验证。刷新需合并并限速,避免攻击者放大远程请求。

4. 证书链​

TLS 客户端检查信任链、有效期与目标名称。RFC 9525 使用 SAN 中的服务标识匹配目标。跳过身份验证会留下中间人攻击风险。

mTLS 还要求服务端验证客户端证书。证书映射到工作负载主体后,仍需执行资源授权。

5. 证书自动续期​

自动续期依赖控制器、验证服务、权限和时钟。监控既要覆盖续期错误,也要检查实际端口证书。证书已签发但尚未热加载,仍会造成到期故障。

私钥泄漏后应生成新密钥并重新签发证书。撤销旧证书,同时核对客户端的撤销检查能力。长连接与缓存的处理需纳入应急方案。

6. 审计日志​

高风险事件包括登录、权限变更、密钥读取和数据导出。每条记录包含主体、动作、资源、时间与结果。请求 ID 和策略版本用于关联上下文。

审计字段应脱敏,秘密值不进入日志。审计存储与业务管理员权限隔离。追加写、保留策略和完整性检查降低篡改风险。

日志需要可检索,并对高风险行为告警。演练应验证从告警定位到具体操作所需的时间。

7. 依赖安全​

锁文件、固定版本与产物摘要约束构建输入。Maven dependency management 管理版本选择。仓库中的可变产物仍需额外约束。

私有命名空间与仓库来源应明确。CI 使用短期凭据,并隔离不受信构建步骤。扫描结果需进入修复、例外审批和复核流程。

8. SBOM 与 provenance​

SBOM 列出组件与版本,便于定位漏洞影响。provenance 记录源码、构建器和产物摘要。

部署前应将证明中的摘要与实际镜像比对。还需校验签名者、构建器与源码仓库是否获准。验证策略应固定可信身份和构建参数。

合法签名只能证明指定主体签署了该摘要。漏洞扫描、测试和运行权限仍承担各自职责。

9. 事件响应​

凭据泄漏时,优先撤销旧凭据并限制受影响权限。随后签发新凭据,刷新验证端缓存并验证切换。正常轮换的重叠期不适用于已泄漏密钥。

JWT 私钥泄漏后,攻击者可自行签发 token。应按密钥版本拒绝旧签名,并触发必要的重新登录。审计用于确定访问范围与受影响资源。

依赖漏洞则通过 SBOM 定位服务。修复后重新构建,并核对生产镜像摘要。证书过期、密钥泄漏和产物撤回都应演练。

10. 常见问题​

10.1 Base64 与秘密存储​

Base64 是可逆编码。秘密提交后,历史记录和克隆仍会保留副本。删除当前文件之后,也需轮换该秘密。

10.2 TLS、授权与审计​

11 · 面试题卡片​

11.1 如何管理 JWT 签名密钥和 TLS 证书的轮换?​

出现公司:字节跳动

考察重点:重叠窗口、JWKS 与实际端点证书。

相关内容:密钥轮换、证书自动续期。

参考回答

正常轮换先发布新公钥,再切换 JWT 签发密钥。

验证方在过渡期接受新旧版本。旧 token 全部到期后,再移除旧公钥。

TLS 证书需自动续期并在服务端加载。监控应读取实际端点证书,而非仅看签发结果。发生私钥泄漏时,立即撤销旧身份。

11.2 签名私钥泄漏后,还能等待旧 JWT 自然过期吗?​

出现公司:暂无已核验的公开来源(本站自测)

考察重点:正常轮换与紧急撤销的差异。

相关内容:事件响应。

参考回答

应立即拒绝旧密钥签发的 token。

攻击者掌握私钥后能持续伪造新 token。

验证端需移除旧公钥并刷新缓存。签发端改用新密钥,受影响会话重新认证。审计记录用于定位攻击期间的访问。

11.3 镜像有签名和 SBOM,部署前还需验证什么?​

出现公司:暂无已核验的公开来源(本站自测)

考察重点:构建身份、来源与摘要绑定。

相关内容:SBOM 与 provenance。

参考回答

还需验证签名身份、构建来源和镜像摘要。

证明应来自获准的构建器,并指向批准的源码版本。

SBOM 用于定位组件风险。签名和 provenance 用于核对产物来源。部署策略仍需检查漏洞与运行权限。

12. 参考资料​