AWS 用 X.509 PKI 给 AI agent 发数字身份:三层认证架构详解
AWS ML Blog · rss · 2026-10-21
问题:agent 没有身份体系
AI agent 访问数据库、API 和敏感业务时,需要密码学身份来证明「是哪个 agent 发的请求」、防止 agent 间伪造、并确认 agent 只代表被授权的用户。传统共享 API key 或 OAuth token 透传无法满足零信任要求;MCP 本身传输无关、没有内置认证标准,存在冒充、重放、越权调用的风险。
方案:EJBCA PKI + AWS,四机制三层
AWS 与 Keyfactor 联合发布参考架构(Keyfactor EJBCA 企业级 CA,1500+ 企业客户),用四个互补机制:
- 签名请求信封:每次 agent 调用附带密码学持有证明(PoP + nonce + 时间戳),防重放;
- 用户签名委托断言:不共享凭证即可授权 agent 代表用户;
- RFC 8693 受众限定 token:单 token 泄露影响面受限;
- OCSP 实时吊销:凭证变更即时对所有 agent 生效。
三层认证对应三个信任边界:用户认证(OAuth + X.509 证书 + 委托铸造)、agent 对 agent(签名信封)、MCP 认证(限定 token + 信封 + 委托 + OCSP)。
关键实现细节
用户登录后先做 RFC 8693 token exchange 换取降权 token(仅限 MCP server 受众)才交给 agent;本地生成 RSA 2048+ 密钥对,经 CSR 向 EJBCA 申请证书,私钥不出应用边界、不给 agent、不落盘,存入 Secrets Manager。技术栈:Bedrock + Strands Agents SDK、RDS MySQL、SES、Keycloak 26.2+(需 RFC 8693 标准 token exchange,旧版不兼容)、EJBCA Enterprise。完整源码在 GitHub 仓库,模式适用于任何 MCP 兼容工具服务器。
「编程与Agent」频道最新
- PHP/node.js/GitLab 大规模安全事件后,Cognition 开源 Devin 修复插件 — Scobleizer · 2026-10-23
- 用 Grok 机器人+租 GPU,个人微调模型变得触手可及 — Rasmic · 2026-10-23
- 一句 prompt 挖出 PHP 预认证 RCE:Agent 辅助漏洞挖掘实录 — chrisrohlf · 2026-10-23
- AutoRouter 公测:按任务难度自动在 Claude/GPT 等模型间分单省 token — floguo · 2026-10-23
- Speak 详解 GPT-Live 实时语言家教:如何用低延迟决策实现即时纠错 — pbbakkum · 2026-10-23
- Google Live API 新增决策触发器,比 function call 更快 — pbbakkum · 2026-10-23