Feature Description
Introduce a --require-a2a-signature flag to enforce verification of A2A AgentCard signatures before allowing agent-to-agent communication.
When enabled:
-
The gateway controller verifies incoming AgentCards against a set of trusted public keys stored in Kubernetes Secrets (PEM or JWKS).
-
If a signature is missing or cannot be verified, the peer connection is blocked.
-
Enforcement can be implemented via ingress/egress NetworkPolicies or mesh AuthorizationPolicies.
Goal:
To ensure that only agents with authenticated, signed AgentCards can be discovered or connected to, preventing spoofed or unverified peers.
Proposed Solution
-
New --require-a2a-signature CLI flag available on kagenti controller.
-
Trusted key material loaded via an A2ACardSignatureProvider which may be kubernetes secrets or a service which implements an veryAgentSignature method -- which takes in a CardSignature and returns verified/unverified.
-
Verification performed per A2A spec https://a2a-protocol.org/latest/specification/#556-agentcardsignature-object
-
Unverified peers blocked via network or gateway policy.
-
Audit mode and metrics for verification results.
Want to contribute?
Additional Context
Related to: rossoctl/rossoctl#303
Feature Description
Introduce a --require-a2a-signature flag to enforce verification of A2A AgentCard signatures before allowing agent-to-agent communication.
When enabled:
The gateway controller verifies incoming AgentCards against a set of trusted public keys stored in Kubernetes Secrets (PEM or JWKS).
If a signature is missing or cannot be verified, the peer connection is blocked.
Enforcement can be implemented via ingress/egress NetworkPolicies or mesh AuthorizationPolicies.
Goal:
To ensure that only agents with authenticated, signed AgentCards can be discovered or connected to, preventing spoofed or unverified peers.
Proposed Solution
New --require-a2a-signature CLI flag available on kagenti controller.
Trusted key material loaded via an
A2ACardSignatureProviderwhich may be kubernetes secrets or a service which implements anveryAgentSignaturemethod -- which takes in a CardSignature and returns verified/unverified.Verification performed per A2A spec https://a2a-protocol.org/latest/specification/#556-agentcardsignature-object
Unverified peers blocked via network or gateway policy.
Audit mode and metrics for verification results.
Want to contribute?
Additional Context
Related to: rossoctl/rossoctl#303