英文原标题:Securing AI agent identity with X.509 PKI on AWS

本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗

  • 文章指出,AI agent 访问数据库、API 等敏感资源时,需要基于 X.509 PKI 建立加密身份,以证明请求来源、防止 agent 间伪造,并确认 agent 仅代表授权用户行事。
  • 传统共享 API key 或传递 OAuth token 的方式无法满足零信任要求;MCP 协议本身没有内置认证标准,存在组件冒充、重放凭证、未授权调用工具等风险。
  • 方案结合 Keyfactor EJBCA 与 AWS 服务,采用四类机制:签名请求信封提供持有证明、用户签名委托断言实现免共享凭证授权、RFC 8693 受众限定令牌限制泄露影响、实时 OCSP 吊销检查即时传播凭证变更。
  • 架构分为三层认证:用户到系统层使用 OAuth、X.509 证书和委托铸造;agent 到 agent 层使用签名信封(含 PoP、nonce、时间戳);agent 到工具服务器层使用限定令牌、信封和委托链。
  • 参考实现使用 Amazon Bedrock 通过 Strands Agents SDK 进行 LLM 推理,以数据库为受保护资源,但相同认证模式适用于任何 MCP 兼容工具服务器,完整源码在 GitHub 仓库。

关键数据

  • Keyfactor 称其机器身份管理平台被全球超过 1,500 家企业客户使用。
  • Keycloak 需 26.2 或更高版本以支持 RFC 8693 标准令牌交换。
  • 用户登录后通过 RFC 8693 令牌交换获得受众限定为 MCP 服务器的降权令牌。
  • 应用本地生成 RSA 2048+ 密钥对,通过 EJBCA 的 pkcs10enroll REST API 提交 CSR 获取证书。
  • AWS 服务包括 Amazon Bedrock、Amazon RDS for MySQL、Amazon SES、AWS Secrets Manager 和 Amazon EC2。

引语

  • MCP has no built-in authentication standard.

为什么值得看:文章针对 MCP 缺乏内置认证的缺口,给出了一套可落地的多 agent 零信任身份架构,结合 EJBCA 与 AWS 服务展示了从用户登录到工具调用的完整信任链。

站内导航