AIP-1: Agent Identity Protocol
Status of This Memo
This document specifies a standards track protocol for the Agent Control Layer ecosystem and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.
Abstract
The Agent Identity Protocol (AIP) establishes a universal standard for the cryptographic identification, verification, and authorization of Autonomous AI Agents. It moves the industry beyond API keys and static tokens toward a Zero Trust model based on short-lived, verifiable X.509 certificates anchored to a public blockchain. This protocol enables a secure, interoperable "Agent Marketplace" where agents from disparate platforms can safely collaborate, transact, and enforce policy without prior trust.
Table of Contents
- Terminology
- Motivation
- Specification
- Trust Architecture
- Marketplace Interoperability
- Security Considerations
- Conformance
- Future Work
- Reference Implementation
- References
- Acknowledgments
1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Agent: An autonomous software process capable of taking actions on behalf of a user or organization.
Certificate Authority (CA): An entity that issues X.509 certificates.
Root CA: The top-level CA whose public key hash is anchored to a blockchain.
Verifier: A service or peer that validates an agent's certificate.
Capability: A permission or authorization granted to an agent, encoded as a CTX-1 string.
2. Motivation
As AI Agents transition from chat interfaces to autonomous actors capable of financial transactions and infrastructure mutation, the current identity model (API Keys, OAuth User Tokens) is insufficient.
- Identity Crises: An agent is not a user. An agent is a software process acting on behalf of a user, but with distinct constraints.
- No Interoperability: An agent on "Platform A" has no way to prove its identity or capabilities to an agent on "Platform B".
- The Marketplace Problem: To build a global economy of agents, we need a standard "Passport" that proves an agent is who they say they are, and that they are "good standing" members of a trusted network.
3. Specification
The AIP relies on Mutual TLS (mTLS) and X.509 v3 Certificates with custom extensions.
3.1 The Agent Certificate Profile
All AIP-compliant agents MUST identify themselves using an X.509 Certificate that adheres to the following profile.
3.1.1 Subject Distinguished Name (DN)
The Subject field MUST uniquely identify the agent. Implementations MAY choose how much semantics to encode in the DN itself vs. custom extensions. A RECOMMENDED profile is:
CN(Common Name): The unique Agent ID (UUID or stable key).O(Organization): The Tenant or Platform Name (e.g., "Acme Corp").OU(Organizational Unit): The Agent Role (e.g., "Level 2 Support").
The ACL reference implementation primarily encodes semantics in custom AIP extensions (below) and uses CN="Agent:<id>" with static O/OU values for internal agents.
3.1.2 Custom AIP Extensions (OIDs)
We define the 1.3.6.1.4.1.59999 (Private Enterprise Number - Placeholder for ACL) arc for AIP specific data.
Note on IANA Assignment: The OID arc
59999is currently used for RFC/Draft purposes. A dedicated Private Enterprise Number (PEN) will be assigned by IANA for the v1.0 release.
| OID | Name | Data Type | Description |
|---|---|---|---|
1.3.6.1.4.1.59999.1.1 | AIP-Version | INTEGER | Protocol version (e.g., 1). |
1.3.6.1.4.1.59999.1.2 | Agent-Role | UTF8String | Semantic role (e.g., researcher, market-maker). |
1.3.6.1.4.1.59999.1.3 | Tenant-ID | UTF8String | The UUID of the owner/tenant (tenant_id). |
1.3.6.1.4.1.59999.1.4 | Capability-Set | IA5String | JSON array of approved capabilities (e.g., ["read_email", "execute_trade"]). |
1.3.6.1.4.1.59999.1.5 | Anchor-Chain | UTF8String | Blockchain used for Root Trust (e.g., ethereum:sepolia). |
1.3.6.1.4.1.59999.1.6 | AIP-Audience | UTF8String | Intended verifier / audience (e.g., api.acme.com). |
1.3.6.1.4.1.59999.1.7 | AIP-Environment | UTF8String | Deployment environment (production, staging, development, etc.). |
3.1.3 Validity Period
- Maximum Validity: 15 minutes.
- RECOMMENDED Validity: 5 minutes.
- Reasoning: Short-lived certificates render revocation lists (CRLs) largely unnecessary, significantly reducing infrastructure complexity ("Blast Radius Reduction").
- Clock Skew Tolerance: Issuers SHOULD backdate the
notBeforetime by 1–2 minutes to account for clock skew. Verifiers SHOULD allow a grace period of ±60 seconds when enforcing validity, and all participating systems MUST synchronize to NTP with drift <30 seconds.
3.1.4 Environment and Audience
- AIP-Environment (
.7) MUST reflect the deployment environment in which the cert is valid (e.g.,production,staging,development). Verifiers SHOULD reject certificates whose environment does not match their own. - AIP-Audience (
.6) MAY be used to scope certificates to a specific verifier or service (e.g.,api.acme.com). When present, verifiers SHOULD ensure that the audience matches their configured identity (similar to OIDCaudchecks).
4. Trust Architecture
Trust is established through the "Verification Triangle":
- The Agent (Prover): Holds the private key and Certificate.
- The Verifier (Service/Peer): Validates the Certificate signature.
- The Anchor (Blockchain): The public immutable ledger that stores the Hash of the Root CA.
4.1 The Anchoring Process
To become a trusted "Identity Provider" (IdP) in the AIP network:
- Generate a Root CA.
- Calculate
SHA-256(Root_CA_Public_Key). - Publish this hash to a recognized blockchain (e.g., Ethereum) to a smart contract or as a transaction payload.
- This creates a Time-Stamped Proof of Existence.
4.2 The Verification Process
When Agent A connects to Agent B:
- Handshake: Perform standard TLS Handshake requesting Client Certificate.
- Chain Validation: Agent B validates Agent A's cert path to the Root CA.
- Public Check: Agent B (optionally) queries the Blockchain. "Does this Root CA hash exist on-chain?"
- Claim Inspection: Agent B parses the
Capability-SetOID. "Is Agent A allowed toexecute_trade?" - Environment / Audience Check: Agent B validates that the
AIP-Environmentmatches its own environment and, if present, thatAIP-Audienceincludes or equals its configured service identity.
Note on Load Balancers and TLS Termination
In many deployments, mutual TLS is terminated at a load balancer or edge proxy. In this topology, the verifier logic runs behind the LB and receives the client certificate (or a hash thereof) via trusted headers (e.g.,X-Client-Cert,X-Client-Cert-Hash). Implementations MUST only trust these headers if they are injected by a trusted front-end and MUST still perform full AIP verification (signature, validity period, environment, audience, and Capability-Set) against the forwarded certificate data.
5. Marketplace Interoperability
AIP enables a decentralized marketplace. An agent from Company X can hire an agent from Company Y without API key integration.
The Flow:
- Discovery: Company X finds "Tax Bot" (Company Y) in a registry.
- Connection: Company X initiates mTLS to Company Y's endpoint.
- Payment: Company X includes a "Payment-Token" or "Budget-Proof" in the
Capability-Setextension. - Execution: Company Y's agent verifies the budget and executes the task.
6. Security Considerations
6.1 Threat Model
AIP is designed to mitigate the following threats:
| Threat | Mitigation |
|---|---|
| Credential Theft | Short-lived certificates (5-15 min) limit exposure window |
| Impersonation | mTLS requires possession of private key |
| Capability Escalation | Capabilities are cryptographically bound to certificate |
| Replay Attacks | Certificate validity period prevents reuse |
| Man-in-the-Middle | TLS provides channel encryption and authentication |
| Root CA Compromise | Blockchain anchor enables detection; short cert lifetime limits damage |
6.2 Key Management
- Private keys for agent certificates SHOULD be generated on the agent host and MUST NOT be transmitted.
- Root CA private keys MUST be stored in Hardware Security Modules (HSMs) or equivalent secure enclaves.
- Intermediate CAs SHOULD be used to limit Root CA exposure.
6.3 Blockchain Anchor Security
- The blockchain anchor provides integrity verification, not confidentiality.
- Implementers SHOULD monitor the anchor chain for unauthorized Root CA publications.
- Multiple blockchain anchors MAY be used for redundancy.
6.4 Residual Risks
- Compromised Agent Host: If an agent's host is compromised, the attacker can use the certificate until expiry. Mitigation: Use shortest practical validity period.
- Clock Manipulation: Systems with manipulated clocks may accept expired certificates. Mitigation: Enforce NTP synchronization requirements.
7. Conformance
7.1 Conformance Levels
Level 1 (Core): An implementation MUST:
- Issue X.509 v3 certificates with validity ≤ 15 minutes
- Include AIP-Version (OID .1.1) in all certificates
- Include Tenant-ID (OID .1.3) in all certificates
- Include Capability-Set (OID .1.4) in all certificates
- Validate certificate signatures and expiration
Level 2 (Extended): An implementation MUST also:
- Include AIP-Environment (OID .1.7) and validate environment matching
- Include AIP-Audience (OID .1.6) when certificates are scoped
- Support NTP synchronization with <30 second drift
Level 3 (Complete): An implementation MUST also:
- Anchor Root CA to blockchain
- Support on-chain verification of Root CA fingerprint
- Implement full CTX-1 capability vocabulary
7.2 Conformance Statement
Implementations MAY claim conformance as:
"This implementation conforms to AIP-1 Level [1|2|3]."
8. Future Work
8.1 Quantum Readiness
AIP v1.0 relies on RSA/ECDSA. AIP v2.0 will introduce support for Dilithium or Kyber (Post-Quantum Cryptography) simply by updating the allowed algorithms in the cipher suite. The protocol structure (X.509 OIDs) is algorithm-agnostic.
8.2 Privacy (Zero-Knowledge)
Future iterations may allow ZK-Proofs within the Capability-Set OID, allowing an agent to prove "I am over 21" or "I am accredited" without revealing the underlying Tenant ID.
9. Reference Implementation
The Agent Control Layer (ACL) serves as the canonical reference implementation of AIP.
- CA Logic:
lib/security/identity/ca.ts - Verifier:
lib/security/identity/verifier.ts - Anchoring Script:
scripts/publish-root-ca.ts(anchors Root CA fingerprint to Ethereum Sepolia)
9.1 Implementation Status (ACL v2.1)
The current ACL implementation conforms to AIP-1 Level 2 with the following behaviors:
- Short-Lived Certificates: Agent certificates are issued with a configurable lifetime, clamped between 1 and 15 minutes (default 5).
- AIP Extensions:
AIP-Version(.1): Hardcoded to"1"for all issued certificates.Agent-Role(.2): Populated from the logical agent key (e.g.,"analyst","coach") when available.Tenant-ID(.3): Populated with the tenant identifier when the issuing context provides it.Capability-Set(.4): Populated as a JSON array. By default, ACL embeds coarse-grained capabilities such as["agent:<id>", "tenant:<id>", "service_account:<id>"]and may be extended with more granular permissions.Anchor-Chain(.5): Set to"ethereum:sepolia"to reflect the default anchoring chain used byscripts/publish-root-ca.ts.
- Verification:
- Runtime verification currently checks signature validity, certificate lifetime, and derives the Agent ID from the
CNfield. - On-chain verification of the Root CA fingerprint is defined but intentionally not executed on the hot path yet. Operators can use
scripts/publish-root-ca.tsand future tooling for offline/periodic verification.
- Runtime verification currently checks signature validity, certificate lifetime, and derives the Agent ID from the
Future releases will expand how ACL maps internal RBAC permissions into the Capability-Set and may introduce optional mTLS handshakes between agents based directly on AIP certificates.
10. References
10.1 Normative References
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
- [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
- [RFC5280] Cooper, D., et al., "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008.
- [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, August 2018.
10.2 Informative References
- [CTX-1] Agent Control Layer, "Capability & Trust eXtensions", CTX-1, 2025.
- [ADP-1] Agent Control Layer, "Agent Data Protocol", ADP-1, 2025.
11. Acknowledgments
The authors thank the early reviewers and implementers who provided feedback on this specification.
Copyright 2025 Agent Control Layer. Released under the MIT License.