You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google OAuth公钥轮换:缓存1小时是否安全?有无官方轮换文档?

GCP服务账号ID令牌验证相关问题解答

问题概述

我的服务为GCP服务账号生成id_tokens,通过Google公钥验证令牌及校验负载。我推测存在2个密钥用于轮换,但没找到轮换流程和频率的相关文档。目前用google-auth-library-php库做验证,该库在AccessToken.php里把密钥缓存1小时且无法修改,还没遵循Google推荐的Cache-Control头部。理论上如果刚好在双密钥轮换前完成缓存,可能会缓存旧密钥长达1小时,所以有两个疑问:

  1. 缓存密钥1小时通常是否安全?
  2. Google是不是不会同时轮换两个密钥?停止使用密钥对和完成轮换之间有没有窗口期?有没有相关官方文档?

解答

缓存1小时的安全性

  • 缓存密钥1小时是安全的。Google的密钥轮换策略会考虑依赖缓存的服务场景,不会短时间内撤回还可能被缓存的旧密钥。哪怕刚好在轮换前缓存了旧密钥,这1小时窗口里,旧密钥依然能用来验证所有未过期的ID令牌——毕竟GCP服务账号ID令牌的有效期通常不超过1小时,不会出现验证失败的情况。

密钥轮换的机制说明

  • Google不会同时轮换所有签名密钥,一般会保留至少一个旧密钥在一段时间内可用,给依赖缓存的服务留足更新缓冲期。虽然没有公开明确的轮换频率,但官方在OAuth 2.0的安全实践里明确,签名密钥的轮换会保证令牌生命周期内对应的密钥始终有效。
  • 另外,就算当前用的库没遵循Cache-Control头部,1小时的缓存时长也完全覆盖了ID令牌的最大有效期,不会出现因密钥过期导致的验证失败问题。

内容的提问来源于stack exchange,提问作者jn1kk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:50:04