土法炼钢 · 系统与基础设施

【Agent 身份与安全】Agent 会话的持续验证与撤销

文章导航

分类入口
architecturesecurity
标签入口
#agent#caep#sse#token-revocation#continuous-verification#session

目录

用户点击「断开 Agent 访问」后,正在运行的 Agent 可能仍持有效 access token、已缓存 tool 结果、甚至内存中的 PII。持续验证要求:信任随时间衰减,撤销信号必须在可接受窗口内生效。本文对照 IAM 会话吊销零信任持续验证,聚焦 Agent 长会话场景。

草案标注:OpenID CAEP(Continuous Access Evaluation Profile)与 Shared Signals Framework (SSF) 截至 2026-06 仍为 OpenID 工作组草案——下文描述规范意图;厂商实现细节以官方文档为准,不编造 IdP 推送 payload


一、Agent 撤销的特殊性

普通 Web 会话 Agent 会话
浏览器 cookie 吊销即可 后台进程无 cookie
用户关 tab 即停 Agent 可跑数小时
少缓存敏感数据 tool 结果常含 PII 进 context
单 RS 多 MCP Server / 多 API

撤销链:IdP revoke user session → Gateway 停止 Token Exchange → 吊销 outstanding delegated tokens → Agent 进程终止或降级 → 清理缓存


二、短 TTL + 轮询 vs 推送

机制 撤销窗口 成本 Agent 适用
短 access token(5–15min) ≤ TTL 基线
Token Introspection 每次调用 实时 高延迟 高敏 API
Refresh rotation refresh 链断裂 Gateway 层
CAEP 推送(RFC 8935) 秒级(理想) 需 Receiver 企业 IdP

推荐组合:delegated token TTL 5–15min + Gateway 监听 CAEP(若 IdP 支持)+ Agent 每 N 分钟向 Gateway heartbeat 验证委托仍有效。

sequenceDiagram
  participant IdP
  participant GW as Agent Gateway
  participant Agent

  IdP->>GW: CAEP session-revoked SET
  GW->>GW: 标记 user delegation revoked
  Agent->>GW: heartbeat
  GW->>Agent: 401 delegation_revoked
  Agent->>Agent: 停止 tool + 清缓存

三、CAEP 事件类型(草案意图)

摘自 OpenID CAEP 草案概念(截至 2026-06 draft 状态):

事件 Agent 动作
session-revoked 停止 Exchange;杀 long-running task
credential-change 同上 + 要求用户 re-link
token-claims-change 缩小 scope;可能终止当前 task
risk-level-change 触发 HITL 或暂停

SET(RFC 8417 Security Event Token)为 JWT 格式事件载体——Delivery 见 RFC 8935(推)/ 8936(拉)。

无法实测 CAEP 推送时:生产仍依赖短 TTL;CAEP 作增量加速。


四、Agent 缓存与 PII

:用户 revoke 后,Agent 内存 / Redis 中仍有邮件正文。

缓解 说明
TTL 缓存 tool 结果 cache ≤ delegated token TTL
revoke 钩子 Gateway 发 pub/sub → Agent flush cache key prefix=user_sub
最小 retention 不把完整 PII 写磁盘
加密 ephemeral 必须落盘则 AES-GCM + 密钥随 session 销毁

零信任数据安全 一致:撤销 = 访问权 + 数据副本清理。


五、与 Refresh Token Rotation 联动

Gateway 持 user refresh token 时,用户全局 logout 应使 refresh family 失效(见 IAM 07)。下一次 Agent 请求 Exchange 时 Gateway refresh 失败 → Agent 立即收到 delegation_unavailable


六、Multi-Server 撤销

用户 revoke 「Git Agent」但保留 「Calendar Agent」——委托记录需 per-agent_id 粒度,非仅 user session 全局 kill(除非用户选「全部断开」)。


七、实现清单


八、边界

九、heartbeat 契约

Agent 定期 heartbeat;401 revoked 则停 tool + 清 cache。


十、Revoke SLO

无 CAEP 时瓶颈 = access token TTL(建议 ≤15min)。


十一、Game day

季度 drill 随机 revoke 测 Agent 停止时间。

上一篇MCP 供应链

下一篇审计与归因


参考资料

  1. OpenID Foundation, Continuous Access Evaluation Profile(草案,2026-06)
  2. OpenID Foundation, Shared Signals Framework(草案,2026-06)
  3. IETF RFC 8417, Security Event Token (SET)
  4. IETF RFC 8935 / RFC 8936, SET Delivery
  5. 会话吊销
  6. 持续验证

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。

2026-06-18 · architecture / security

【Agent 身份与安全】MCP 架构与安全基线

Model Context Protocol 的 Host/Client/Server 三角、stdio 与 Streamable HTTP Transport 安全差异、OAuth 2.1 for MCP 草案边界,以及多 Server secret 隔离与 tool 攻击面。

2026-06-12 · architecture / security

【零信任安全架构】持续验证 vs 一次性认证:信号流、会话风险和策略降级

零信任把认证从'登录时一次'变成了'整个会话期间的持续评估'。但'持续'在工程中既不可能是'每个请求都完整评估',也不应该是'会话期间不重新评估'。本文回答持续验证的工程实现:什么频率叫持续、当风险信号变化时如何降级或撤销现有会话、以及 OpenID CAEP 协议的草案现状。


By .