代理证明验证
- 代理证明 JWT 必须(MUST)通过代理在其
agent_idURI 上发布的公钥进行验证 - JWT 必须(MUST)包含过期时间(
exp)和受众(aud) - 实现者必须(MUST)拒绝已过期或受众不匹配的证明
令牌绑定
- ATH 访问令牌必须(MUST)绑定到特定的
(agent_id, user_id, provider_id, scopes)元组 - 一个代理获取的令牌禁止(MUST NOT)被另一个代理使用
- 为一个用户获取的令牌禁止(MUST NOT)被另一个用户使用
OAuth 安全性
- 所有 OAuth 授权请求必须(MUST)使用 PKCE(RFC 7636)及 S256 挑战方法
- ATH 令牌交换请求(
POST /ath/token)使用application/json内容类型(如 JSON Schema 和 OpenAPI 所定义)。当 ATH 实现者代表代理与上游 OAuth 授权服务器交换授权码时,该上游请求必须(MUST)使用application/x-www-form-urlencoded,遵循 RFC 6749 §4.1.3 - 服务提供方的 OAuth 客户端密钥必须(MUST)安全存储,且绝不暴露给代理或用户
- 从 OAuth 流程获取的服务提供方令牌(access_token、refresh_token)必须(MUST)存储在服务端,且绝不发送给代理
传输安全
- 所有 ATH 通信必须(MUST)使用 HTTPS(TLS 1.2+)
- 实现者建议(SHOULD)验证上游服务的 TLS 证书
- 在高安全性环境中,mTLS 是可选的(OPTIONAL)(v2 考虑事项)
审计日志
实现者建议(SHOULD)记录所有授权决策:速率限制与滥用防护
- 实现者建议(SHOULD)执行每代理的速率限制
- 具有异常请求模式的代理建议(SHOULD)被标记并可能被暂停
- 代理注册表建议(SHOULD)支持对已泄露代理的吊销