|
| 1 | +--- |
| 2 | +### |
| 3 | +# Description of Agent Gateway Protocol |
| 4 | +### |
| 5 | +title: "Agent Gateway Protocol" |
| 6 | +abbrev: "agent-gw" |
| 7 | +category: info |
| 8 | + |
| 9 | +docname: draft-muscariello-agp-latest |
| 10 | +submissiontype: independent |
| 11 | +number: |
| 12 | +date: |
| 13 | +consensus: false |
| 14 | +v: 3 |
| 15 | +area: Applications |
| 16 | +workgroup: Independent Submission |
| 17 | +keyword: |
| 18 | + - AI |
| 19 | + - Agentic AI |
| 20 | + - Communications |
| 21 | + - Realtime |
| 22 | +venue: |
| 23 | + group: WG |
| 24 | + type: Working Group |
| 25 | + mail: discussion@agntcy.org |
| 26 | + github: agntcy/agp |
| 27 | + latest: https://verbose-adventure-1pnqvyr.pages.github.io/ |
| 28 | + |
| 29 | +author: |
| 30 | + - |
| 31 | + fullname: Luca Muscariello |
| 32 | + organization: Cisco |
| 33 | + email: lumuscar@cisco.com |
| 34 | + |
| 35 | + |
| 36 | +informative: |
| 37 | + |
| 38 | + |
| 39 | +--- abstract |
| 40 | + |
| 41 | + |
| 42 | +This document specifies the Agent Gateway Protocol (AGP), a protocol designed to |
| 43 | +support real-time interactive AI applications at scale. AGP extends gRPC with |
| 44 | +publish-subscribe capabilities to enable efficient many-to-many communication |
| 45 | +patterns between AI agents. The protocol provides mechanisms for connection |
| 46 | +management, stream multiplexing, and flow control while maintaining |
| 47 | +compatibility with existing gRPC deployments. |
| 48 | + |
| 49 | +--- middle |
| 50 | + |
| 51 | +# Introduction |
| 52 | + |
| 53 | + |
| 54 | +As AI systems become more sophisticated and interconnected, there is a growing need |
| 55 | +for protocols that can support real-time interactive applications at scale. The Agent |
| 56 | +Gateway Protocol (AGP) addresses this need by: |
| 57 | + |
| 58 | +* Extending gRPC with publish-subscribe patterns |
| 59 | +* Supporting bidirectional streaming between agents |
| 60 | +* Enabling efficient many-to-many communication |
| 61 | +* Maintaining backward compatibility with gRPC |
| 62 | + |
| 63 | +## Protocol Overview |
| 64 | + |
| 65 | +AGP builds on gRPC's core features while adding: |
| 66 | + |
| 67 | +* Native support for pub/sub messaging patterns |
| 68 | +* Enhanced stream multiplexing capabilities |
| 69 | +* Real-time event notification system |
| 70 | +* Dynamic topic creation and management |
| 71 | + |
| 72 | +# Architecture |
| 73 | + |
| 74 | +## Protocol Layers |
| 75 | + |
| 76 | + +-------------------+ |
| 77 | + | Application | |
| 78 | + +-------------------+ |
| 79 | + | AGP Services | |
| 80 | + +-------------------+ |
| 81 | + | Pub/Sub | |
| 82 | + +-------------------+ |
| 83 | + | gRPC | |
| 84 | + +-------------------+ |
| 85 | + | HTTP/2 | |
| 86 | + +-------------------+ |
| 87 | + |
| 88 | +## Core Components |
| 89 | + |
| 90 | +* Gateway Nodes: Handle routing and message distribution |
| 91 | +* Topics: Named channels for pub/sub communication |
| 92 | +* Streams: Bidirectional communication channels |
| 93 | +* Services: Application-specific RPC definitions |
| 94 | + |
| 95 | + |
| 96 | +# Conventions and Definitions |
| 97 | + |
| 98 | +{::boilerplate bcp14-tagged} |
| 99 | + |
| 100 | + |
| 101 | +# Security Considerations |
| 102 | + |
| 103 | + |
| 104 | +The Agent Directory Protocol relies on several security mechanisms to ensure the |
| 105 | +integrity, authenticity, and privacy of directory records: |
| 106 | + |
| 107 | +## Record Signatures |
| 108 | + |
| 109 | +All agent directory records MUST be digitally signed by the producing agent. The |
| 110 | +signature covers: |
| 111 | + |
| 112 | +* The complete set of OASF attributes |
| 113 | +* The agent's capabilities description |
| 114 | +* Any additional metadata including timestamps |
| 115 | +* Version information |
| 116 | + |
| 117 | +Signatures enable consumers to verify the authenticity and integrity of records |
| 118 | +independent of their location in the DHT. |
| 119 | + |
| 120 | +## Location Independence |
| 121 | + |
| 122 | +Agent directory records are location-independent - their trust is derived from |
| 123 | +cryptographic signatures rather than network location. This means: |
| 124 | + |
| 125 | +* Records can be cached and replicated across the DHT |
| 126 | +* Consumers can verify records regardless of the serving node |
| 127 | +* Man-in-the-middle attacks are prevented through signature verification |
| 128 | +* Trust is bound to cryptographic identities rather than network addresses |
| 129 | + |
| 130 | +## Key Management |
| 131 | + |
| 132 | +Agents MUST generate and maintain cryptographic key pairs following these requirements: |
| 133 | + |
| 134 | +* Use of asymmetric cryptography (e.g., Ed25519) for signing |
| 135 | +* Private keys MUST be properly secured by agents using hardware security modules where available |
| 136 | +* Public keys are distributed as part of agent records |
| 137 | +* Key rotation procedures MUST be supported and documented |
| 138 | +* Revocation mechanisms MUST be provided |
| 139 | + |
| 140 | +## DHT Security |
| 141 | + |
| 142 | +The DHT implementation MUST provide: |
| 143 | + |
| 144 | +* Node authentication to prevent Sybil attacks |
| 145 | +* Secure routing to prevent record tampering |
| 146 | +* Replication policies to ensure availability |
| 147 | +* Access controls for record updates |
| 148 | +* Protection against eclipse attacks |
| 149 | +* Rate limiting of requests |
| 150 | +* Peer reputation tracking |
| 151 | + |
| 152 | +## Transport Security |
| 153 | + |
| 154 | +All protocol interactions MUST use secure transport with: |
| 155 | + |
| 156 | +* Mutual TLS authentication between nodes |
| 157 | +* Perfect forward secrecy |
| 158 | +* Strong cipher suites as defined in TLS 1.3 |
| 159 | +* Certificate-based authentication |
| 160 | +* Revocation checking |
| 161 | + |
| 162 | +Implementations MUST NOT support: |
| 163 | + |
| 164 | +* Plaintext communications |
| 165 | +* Weak cipher suites |
| 166 | +* Older TLS versions |
| 167 | + |
| 168 | +## Privacy Considerations |
| 169 | + |
| 170 | +The protocol implements privacy protection through: |
| 171 | + |
| 172 | +* Minimal attribute disclosure |
| 173 | +* Encrypted record contents |
| 174 | +* Anonymous routing capabilities |
| 175 | +* Pseudonymous agent identities |
| 176 | +* Access control mechanisms |
| 177 | + |
| 178 | +## Operational Security |
| 179 | + |
| 180 | +Implementers MUST consider: |
| 181 | + |
| 182 | +* Regular key rotation schedules |
| 183 | +* Secure bootstrapping procedures |
| 184 | +* Node authentication policies |
| 185 | +* Resource exhaustion protections |
| 186 | +* Monitoring and alerting systems |
| 187 | +* Incident response procedures |
| 188 | + |
| 189 | + |
| 190 | +# IANA Considerations |
| 191 | + |
| 192 | +This document has no IANA actions. |
| 193 | + |
| 194 | + |
| 195 | +--- back |
| 196 | + |
| 197 | +# Acknowledgments |
| 198 | +{:numbered="false"} |
| 199 | + |
| 200 | +TODO acknowledge. |
0 commit comments