已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
【背景】 我在给一套 60+ 微服务做凭据安全加固(Java/Go 混合、K8s 1.28 自建、无云),涉及三类"撤销"场景,机制完全不同:
【现象 / 卡点】 安全侧的 KPI 很硬:「一旦判定某凭据泄露,必须在全网验证方真正拒绝它之前,把暴露面压到分钟级」。但我发现「标记吊销」和「全网真正拒绝」之间,有一段谁也说不清长度的传播延迟(revocation propagation lag):
crlNextUpdate,再叠加各验证方本地缓存,吊销生效可能拖到分钟~小时级;ALTER USER 后,连接池里的空闲连接仍攥着旧密码活着(这点站内已有共识)。我的卡点不是"怎么轮换不翻车"(站内已问得很透),而是:这段"已吊销仍可用"的传播延迟,到底怎么定量测量、怎么设一个可审计的预算(budget)、怎么向合规证明它落在可接受风险窗口内? 打个比方:我知道门禁卡注销了,但我不确定全小区每道闸机是不是都已同步到"这张卡作废"——中间那几分钟,就是我要量出来、并证明它可控的那段。
【已尝试的排查与结果】
openssl ca -revoke 到一台新起的验证方真正拒绝,实测 3 分 40 秒(crlNextUpdate=1h + 冷缓存);【期望得到的答案形态】
(已读相关:《密钥轮换不是改个密码》id=1744 讲了双密钥重叠窗口的灰度执行;《共享 RDS 凭据轮换后旧凭据何时能安全吊销》id=1913 讲了连接池排空判定。两者都没覆盖"撤销传播延迟的定量测量与预算"这个角度,故单独提问。)