01 / THE SIGNAL

我们发现了什么

可信 AI 代理交易,第 1 部分:身份问题。AI 代理背后的身份问题。通常,一个代表用户调用 API 的应用……

  • 来源:DEV Community(发现于 2026-08-24)
  • 证据等级:D · 发现产品或需求信号,暂未获得可核验的商业证据。
  • 商业模式:API / Usage-based
  • 主题:AI Agent
  • 初筛评分:18.8/100 · 收录 1 次
#工作流自动化#待验证#产品发现
02 / SOURCE & EVIDENCE

证据,比故事更重要。

发现产品或需求信号,暂未获得可核验的商业证据。

规则清洗与初筛,未经人工商业核验。原文语境、实际客户和付费情况仍需自行验证。

引用与数字披露

来源类型(原作者自述/第三方测算/媒体转引)需采集端标注,本版尚未落字段。

短句引用
作者
未标注
抓取日期
来源类型
未标注
数字口径
币种
未标注
口径
未标注
披露主体
未标注
披露日期
未标注

中文辅助译文(全文)

AI 代理背后的身份问题

为用户调用 API 的应用通常只回答一个身份问题:用户是谁?

AI 代理引入了更多问题: · 哪个用户授权了这项工作? · 哪个逻辑代理正在执行? · 哪个运行中的工作负载实际发起了调用? · 涉及哪个代理执行实例? · 该调用属于哪个事务和用途? · 哪项服务进行了当前的网络跳转?

将所有答案放入单个 sub 声明会造成一种危险的错觉。逻辑代理名称并不是运行进程的密码学证明。工作负载身份不是用户。事务标识符也不是调用方身份。

本实现将五个值分开: · UserID:经过认证的用户或上游主体 · AgentID:经批准的逻辑代理定义 · AgentInstanceID:该代理的一次执行 · SPIFFEID:经过认证的运行时工作负载 · TransactionID:用于委派操作的不可变标识符 为什么用户访问令牌还不够

将原始用户令牌传递给每个服务存在三个问题。

首先,下游服务无法可靠地区分用户和代表用户行事的代理。其次,范围宽泛的用户令牌可能会到达并不需要它的系统。第三,令牌通常无法说明此特定事务的用途。

更安全的模型是由 Tokenetes 实现的事务令牌架构。外部端点在受控的 Transaction Token Service 边界处交换传入的授权。结果是一段短期的已签名 Txn-Token,其中包含一个调用链的不可变身份和授权上下文。 为什么 agent_id 字段不是证明

HTTP 请求可以声称任何代理名称。如果服务器直接对该值授权,一个工作负载可以通过更改字符串来冒充另一个工作负载。

逻辑 AgentID 必须来自受信任的策略,该策略将经过密码学验证的工作负载身份映射到经批准的代理。调用方可以请求一个操作,但不能选择其身份。 不可变上下文与已认证的跳转

Txn-Token 携带不可变的委派上下文:

每个网络连接独立地通过 SPIFFE mTLS 证明直接调用方:

令牌在每一跳都不会被重写。这避免了让中间服务有能力删除或伪造更早的上下文。相同的事务 ID 可以在代理、网关、MCP 服务器和受保护 API 之间进行关联。 目标流程

在此设计中,PingFederate 承担逻辑 Transaction Token Service 的角色。SPIRE 在交换期间提供 JWT-SVID 作为代理工作负载证据,并提供 X.509-SVID 用于工作负载之间的 mTLS。PingAuthorize 在网关处评估经过验证的 Txn-Token 上下文。

Tokenetes 是调用链模型的参考点:Txn-Token 为外部调用铸造一次,在向下游移动时保持不可变,并且仅在其信任域内被接受。直接的网络调用方仍然单独进行认证。

结果并不是一套新的身份系统。它是一种将现有的用户、工作负载、委派、传输和策略控制结合起来而不混淆其职责的方式。

下一篇:使用 PingFederate 令牌交换作为委派边界

GitHub 仓库:<https://github.com/darkedges/pf-tts>

译文由上游机器翻译生成,可能有误;判断请以英文原文为准。

英文原文(来源本站未改写)

The identity problem behind AI agents

An application that calls an API for a user normally answers one identity question: who is the user?

An AI agent introduces several more: · Which user authorized the work? · Which logical agent is acting? · Which running workload actually made the call? · Which agent execution is involved? · Which transaction and purpose does the call belong to? · Which service made the current network hop?

Putting every answer into a single sub claim creates a dangerous illusion. A logical agent name is not cryptographic proof of the running process. A workload identity is not the user. A transaction identifier is not a caller identity.

This implementation keeps five values separate: · UserID: the authenticated human or upstream principal · AgentID: the approved logical agent definition · AgentInstanceID: one execution of that agent · SPIFFEID: the attested runtime workload · TransactionID: the immutable identifier for the delegated action Why a user access token is not enough

Passing the original user token through every service has three problems.

First, downstream services cannot reliably distinguish the user from the agent acting for the user. Second, a broadly scoped user token may reach systems that never needed it. Third, the token usually says little about the purpose of this specific transaction.

The safer model is the Transaction Tokens architecture implemented by Tokenetes. An external endpoint exchanges the incoming authorization at a controlled Transaction Token Service boundary. The result is a short-lived signed Txn-Token containing immutable identity and authorization context for one call chain. Why an agent_id field is not proof

An HTTP request can claim any agent name. If the server authorizes that value directly, one workload can impersonate another by changing a string.

The logical AgentID must instead come from trusted policy that maps a cryptographically verified workload identity to an approved agent. The caller can request an operation, but it cannot choose its identity. Immutable context and authenticated hops

The Txn-Token carries immutable delegated context:

Each network connection independently proves the immediate caller through SPIFFE mTLS:

The token is not rewritten at every hop. That avoids giving intermediate services the power to remove or forge earlier context. The same transaction ID can be correlated across the agent, gateway, MCP server, and protected API. The target flow

In this design, PingFederate fills the logical Transaction Token Service role. SPIRE supplies a JWT-SVID as agent workload evidence during exchange and X.509-SVIDs for mTLS between workloads. PingAuthorize evaluates the verified Txn-Token context at the gateway.

Tokenetes is the reference point for the call-chain model: a Txn-Token is minted once for the external invocation, remains immutable as it moves downstream, and is accepted only inside its trust domain. The immediate network caller is still authenticated separately.

The result is not a new identity system. It is a way to combine existing user, workload, delegation, transport, and policy controls without confusing their responsibilities.

Next: Using PingFederate token exchange as the delegation boundary

GitHub Repository: <https://github.com/darkedges/pf-tts>

出处https://dev.to/darkedges/trusted-ai-agent-transactions-part-1-the-identity-problem-17aa抓取日期 · 采集源 DEV Community

03 / EVIDENCE GAPS

这条还缺什么证据?

下面每条都由本条已有字段推出(等级、理由、商业模式、来源次数、是否演示), 本站不生成推测性结论;通用验证方法放在方法论页。

  • 可核验的收入或付费证据查官网定价页与付费口径;第三方数据源(如 GetLatka)只作旁证,需标注来源与时点。
  • 只有单一来源找一手站点或其他渠道是否重复出现同一产品;社区热帖数量不等于商业进展。

通用验证清单(谁有这个问题/谁愿意付费/一个人能交付哪一小步)见我们的筛选方法。

04 / SIGNAL HISTORY

发现时间线