2. 签名校验概述:数字签名的作用、签名与校验的基本流程,为什么 SLO 证据需要签名校验

2.1 数字签名:SLO 证据的“防伪印章”

在 SLO 体系中,证据(如延迟直方图、错误率快照、日志摘要)需要从观测端传输到审计端。如果证据在传输或存储中被篡改,SLO 的合规结论将毫无意义。数字签名为每一份证据附加一个不可伪造的“印章”,确保:

  • 完整性:证据内容未被篡改。
  • 真实性:证据确实来自声称的签发方(如特定的 Prometheus 实例或 SLO 网关)。
  • 不可否认性:签发方无法事后否认曾签发该证据。
核心概念:数字签名使用非对称密码学——私钥签名,公钥验签。私钥由证据签发方秘密保管,公钥公开发布给校验方。

2.2 签名与校验的基本流程

下图展示了从 SLO 证据生成到签名校验的完整数据流:

SLO 证据签名与校验流程 SLO 证据 哈希摘要 私钥签名 签名值 收到证据+签名 重新计算哈希 公钥解密签名 哈希比对 流程说明 签名端:证据 → 哈希 → 私钥签名 → 输出签名值。校验端:证据+签名 → 重新哈希 → 公钥解密签名 → 比对两个哈希值。

2.3 为什么 SLO 证据需要签名校验?

SLO 证据是服务等级协议合规的“呈堂证供”。没有签名校验,以下攻击场景将直接破坏 SLO 的可信度:

攻击场景 后果 签名校验如何防御
中间人篡改证据 攻击者修改延迟数据,使违规行为被掩盖 哈希比对失败,校验不通过
伪造证据来源 恶意节点冒充合法 SLO 网关提交假证据 公钥验签失败,无法匹配签发方身份
重放旧证据 将历史合规证据重新提交,掩盖当前违规 结合时间戳签名,重放时签名不匹配
抵赖已签发证据 签发方声称从未生成某份证据 私钥唯一性使抵赖无效
关键提醒:SLO 审计通常涉及跨团队、跨组织的信任边界。签名校验是建立“无需信任中介”的密码学信任基础。没有签名,SLO 证据只能依赖传输层安全(TLS),但 TLS 无法防止存储端篡改或签发方抵赖。

2.4 签名算法选型参考

在 SLO 证据校验场景中,常用的签名算法及其特性如下:

算法 签名长度 性能(签名/验签) 推荐场景
Ed25519 64 字节 极快 高吞吐 SLO 网关,证据量大的场景
ECDSA P-256 64 字节 快 兼容现有 PKI 基础设施
RSA-2048 256 字节 较慢(签名) 遗留系统或合规要求
实践建议:本课程后续章节将基于 Ed25519 实现签名与校验,因其签名短、性能高,且能天然抵抗侧信道攻击。

2.5 签名校验在 SLO 证据链中的位置

下图展示签名校验如何嵌入 SLO 证据的完整生命周期:

SLO 证据生命周期中的签名校验 证据采集 签名生成 存储/传输 签名校验 审计 关键位置 签名校验发生在审计之前,是证据可信度的最后一道防线。校验通过后,审计端才能基于证据做出 SLO 合规判定。

从上述流程可以看出,签名校验不是可选项,而是 SLO 证据链中保障信任的强制性环节。后续章节将深入讲解如何用代码实现签名与校验,以及如何管理签名密钥。