<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC5280 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC4648 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC5912 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5912.xml">
<!ENTITY RFC6960 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6960.xml">
<!ENTITY RFC7633 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7633.xml">
<!ENTITY RFC6749 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml">
<!ENTITY RFC7942 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
<!ENTITY RFC9846 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9846.xml">
<!ENTITY RFC3820 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3820.xml">
<!ENTITY RFC5755 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5755.xml">
]>


<rfc ipr="trust200902" docName="draft-wei-aic-identity-cert-01" category="exp" submissionType="independent">
  <front>
    <title abbrev="AIC Certificate">AI Agent Identity Certificate (AIC) Extension for X.509 v3</title>

    <author initials="J." surname="Wei" fullname="Jijie Wei">
      <organization>Individual</organization>
      <address>
        <email>pki@varwof.com</email>
        <uri>https://varwof.com</uri>
      </address>
    </author>

    <date year="2026" month="August" day="30"/>

    
    <workgroup>Network Working Group</workgroup>
    <keyword>AI Agent</keyword> <keyword>X.509</keyword> <keyword>Certificate</keyword> <keyword>Identity</keyword> <keyword>PKI</keyword> <keyword>Accountability</keyword> <keyword>Delegation</keyword>

    <abstract>


<?line 112?>

<t>This document defines the AI Agent Identity Certificate (AIC) Extension
for X.509 v3 certificates. The AIC extension enables binding of an AI
Agent's cryptographic identity to a natural person (principal),
providing cryptographic evidence that can support attribution of
AI-autonomous actions to a principal. This
specification intentionally separates cryptographic delegation from
authorization semantics: AIC defines the cryptographic binding between
agent and principal, while all capability and policy semantics are
defined externally by vendors, industries, or regulators. The extension
is identified by the IANA Private Enterprise Number 66257
assigned to the document author's organization.</t>

<t>The AIC extension carries agent identity fields (agentId,
delegationMode), a principal identifier (principalUid) linking the
agent to the authorizing principal, a container-based
capability declaration, authorization boundary constraints, and
delegation authorization evidence with replay protection. A companion
PrincipalAuthorization extension anchors Principal-side grant
declarations and delegation policies. An authorizationConstraints
container provides offline-verifiable execution boundaries (IP range,
window). An extensibility framework allows vendor-specific and
user-specific metadata.</t>

<t>This document specifies the ASN.1 module, OID registration, field
semantics, delegation model, and extensibility framework. Security
considerations for deployment in regulated enterprise environments
are discussed.</t>



    </abstract>



  </front>

  <middle>


<?line 142?>

<section anchor="introduction"><name>Introduction</name>

<section anchor="problem-statement"><name>Problem Statement</name>

<t>Existing X.509 public key certificates, as profiled in <xref target="RFC5280"></xref>,
primarily authenticate identity through a cryptographically signed
binding between a distinguished name and a public key. Authorization
is intentionally left outside the certificate: relying parties
perform access control via external IAM policies, OAuth scopes, RBAC
databases, or policy engines evaluated after TLS connection
establishment.</t>

<t>Autonomous AI agents introduce a new requirement that existing
certificate profiles do not address. When an agent acts on behalf
of a principal, the relying party needs answers to additional
questions:</t>

<t><list style="symbols">
  <t>Who delegated this authority?</t>
  <t>What operations are authorized?</t>
  <t>Under what constraints may the agent operate?</t>
  <t>How long is the authorization valid?</t>
  <t>Who remains accountable for the actions performed?</t>
</list></t>

<t>These questions cannot be answered by identity alone. They require a
standardized mechanism to express delegation relationships, capability
constraints, authorization boundaries, and accountability chains
within the certificate itself.</t>

<t>This document defines an X.509 certificate extension that addresses
this gap. The AI Agent Identity Certificate (AIC) extension encodes
agent identity, principal binding, capability declarations, delegation
modality, authorization boundary constraints, and cryptographic
delegation authorization within a single certificate. A companion
PrincipalAuthorization extension anchors principal-side grant
declarations, authorization constraints, and delegation policies.</t>

<t>AIC is designed to complement existing identity infrastructure:</t>

<t><list style="symbols">
  <t><strong>SPIFFE/WIMSE</strong> identifies workloads via SAN URIs. AIC adds
capability containers, principal binding, and session control on
top of workload identity.</t>
  <t><strong>OAuth 2.0 and JWT-based authorization</strong> (<xref target="RFC6749"></xref>) provides
online token exchange. AIC enables offline authorization decisions
during the TLS handshake, without external identity provider
lookups.</t>
  <t><strong>Standard X.509 extensions</strong> (Certificate Policies, Extended Key
Usage) express intended use but not delegation relationships or
fine-grained capability constraints.</t>
</list></t>

<t>AIC is intended for deployments where:</t>

<t><list style="symbols">
  <t>AIC is intended to support deployments that reuse existing PKI
infrastructure (enterprise CAs, HSMs, smart cards);</t>
  <t>Emerging regulatory frameworks require cryptographic traceability
of autonomous actions to accountable principals;</t>
  <t>Offline or air-gapped environments require self-contained
certificate authorization without external database lookups;</t>
  <t>Short-lived workload identities need to be augmented with legal
accountability metadata.</t>
</list></t>

<t>This document specifies the data model, certificate profile, and
validation requirements for AIC. Deployment-specific policy,
implementation details, and performance characteristics are outside
the scope of this specification.</t>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document is organized into three categories:</t>

<t><strong>Normative (Core):</strong> The following sections are normative: Delegation
Model, Certificate Profile (Data Model), AIC Extension Definition,
Validation Procedure, and PrincipalAuthorization Extension, including
their ASN.1 definitions. Implementations MUST conform to these
sections to claim AIC compliance.</t>

<t><strong>Informative (Profile):</strong> The Deployment Models section describes
recommended deployment patterns and gateway behavior. These are not
required for AIC compliance but represent best practices.</t>

<t><strong>Informative (Reference):</strong> The Implementation Status section
describes a reference implementation. These are provided as
implementation guidance and interoperability examples.</t>

<t>The core normative content intentionally separates cryptographic
delegation from authorization semantics: AIC defines the cryptographic
binding between agent and principal, while capability and policy
semantics are defined externally.</t>

<figure><sourcecode type="text"><![CDATA[
                     AIC Architecture

   +----------------+      +------------------+
   |   Principal    |      |      Agent       |
   | (User/Org)     |      | (AI Agent)       |
   | PrincipalAuth  |      | AIC Certificate  |
   | Certificate    |      | Identity +       |
   |                |      | Capabilities +   |
   +-------+--------+      | Delegation Mode  |
           |               +--------+---------+
           | Authorization           |
           | signature               |
           +-------+-----------------+
                   |
                   v
         +---------------------+
         |    Gateway (PEP)    |
         |  1. Verify Chain    |
         |  2. Parse AIC       |
         |  3. Verify DA       |
         |  4. Check PA constr |
         |  5. Check AIC constr|
         |  6. Check Caps      |
         |  7. Apply Policy    |
         |  8. Decision        |
         +---------+-----------+
                   |
         +---------v-----------+
         |     Target          |
         |   Resource / API    |
         +---------------------+
]]></sourcecode></figure>

</section>
<section anchor="design-principles"><name>Design Principles</name>

<t>This specification is guided by seven orthogonal concerns, each
addressed by a distinct layer:</t>

<texttable>
      <ttcol align='left'>Concern</ttcol>
      <ttcol align='left'>Layer</ttcol>
      <ttcol align='left'>Question</ttcol>
      <c>Identity</c>
      <c>AgentIdentity</c>
      <c>"Who are you?"</c>
      <c>Authorization</c>
      <c>PrincipalAuthorization</c>
      <c>"Who authorizes you?"</c>
      <c>Capability</c>
      <c>Capability (Container)</c>
      <c>"What are you allowed to do?"</c>
      <c>Delegation</c>
      <c>DelegationPolicy</c>
      <c>"How are you allowed to act?"</c>
      <c>Constraints</c>
      <c>authorizationConstraints</c>
      <c>"Under what boundaries?"</c>
      <c>Enforcement</c>
      <c>Gateway</c>
      <c>"Is this request allowed now?"</c>
      <c>Trust</c>
      <c>X.509 (PKI)</c>
      <c>"Is this certificate trustworthy?"</c>
      <c>Transport</c>
      <c>TLS</c>
      <c>"Is this channel secure?"</c>
</texttable>

<t>AIC does not redefine trust, transport, or cryptography. It
complements X.509 by introducing three orthogonal concepts: Agent
Identity, Principal Authorization, and Capability Container. Trust
remains in PKI, transport remains in TLS, and enforcement remains in
the Gateway.</t>

<t>AIC defines the representation and cryptographic binding of
authorization-related information (agent identity, principal binding,
capability container, constraint container, and delegation evidence).
It does not define a universal authorization language: whether an
operation is permitted is decided by the capability scheme and the
deployment policy, not by the AIC extension itself.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>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 <xref target="RFC2119" /> <xref target="RFC8174" /> when, and
only when, they appear in all
capitals, as shown here.</t>

<t>The following terms are used throughout this document:</t>

<dl>
  <dt>AIC:</dt>
  <dd>
    <t>AI Agent Identity Certificate Extension -- the X.509 v3 extension
defined in this document.</t>
  </dd>
  <dt>Agent:</dt>
  <dd>
    <t>For the purpose of this document, an AI Agent is a software or
hardware entity capable of performing actions on behalf of a
principal with varying degrees of autonomy.</t>
  </dd>
  <dt>Principal:</dt>
  <dd>
    <t>The natural person or organizational entity that authorizes an
Agent to act on its behalf. Whether a Principal is legally
responsible for actions performed by an Agent is determined by
applicable law and deployment policy and is outside the scope of
this specification.</t>
  </dd>
  <dt>Delegation Mode:</dt>
  <dd>
    <t>The protocol-defined relationship between an Agent and its
Principal for attribution and authorization purposes. The
interpretation of these modes under applicable law is outside the
scope of this specification.
In authorized mode, the Agent acts under its own identity with
principal consent. In representative mode, the Agent acts on behalf
of the Principal within the delegated permission scope.</t>
  </dd>
  <dt>Capability:</dt>
  <dd>
    <t>A container for protocol-level operations that an Agent is
authorized to perform, defined by a scheme identifier and a
capability identifier within that scheme.</t>
  </dd>
  <dt>Capability Scheme:</dt>
  <dd>
    <t>A system identified by a scheme identifier (schemeId) that defines
the semantics of capabilities. Gateways route capability evaluation
to scheme-specific plugins by schemeId.</t>
  </dd>
  <dt>Credential Bundle:</dt>
  <dd>
    <t>The certificates presented by an Agent during the TLS handshake,
including the agent certificate chain and the principal's
certificate.</t>
  </dd>
  <dt>DelegationAuthorization:</dt>
  <dd>
    <t>Cryptographic evidence, carried within the AIC extension, that the
principal has authorized the Agent. Contains a digital signature
over a DelegationAuthTBS structure.</t>
  </dd>
  <dt>DelegationAuthTBS:</dt>
  <dd>
    <t>The To-Be-Signed structure whose DER encoding is signed by the
principal's private key to produce the DelegationAuthorization.</t>
  </dd>
  <dt>PrincipalAuthorization:</dt>
  <dd>
    <t>A companion X.509 extension (OID 1.3.6.1.4.1.66257.1.2) carried in
the Principal's certificate, declaring grants, authorization
constraints, and delegation policies.</t>
  </dd>
  <dt>authorizationConstraints:</dt>
  <dd>
    <t>An OPTIONAL container within AIC and PrincipalAuthorization that
defines authorization boundary conditions (IP ranges, concurrency
limits, time windows). Constraints are evaluated offline during
TLS handshake.</t>
  </dd>
  <dt>OID:</dt>
  <dd>
    <t>Object Identifier -- a globally unique sequence of integers used
to identify objects in the X.509 standard.</t>
  </dd>
  <dt>PEN:</dt>
  <dd>
    <t>Private Enterprise Number -- a globally unique identifier assigned
by IANA to organizations for private use in OID space.</t>
  </dd>
  <dt>SPKI:</dt>
  <dd>
    <t>Subject Public Key Info -- the ASN.1 structure defined in <xref target="RFC5280"></xref>
Section 4.1.2.7 containing the public key algorithm and subject
public key.</t>
  </dd>
</dl>

</section>
<section anchor="related-work"><name>Related Work</name>

<t>Several proposals address agent identity and authorization, either in
X.509 certificate extensions or in application-layer protocols.</t>

<t><xref target="AGTP"></xref> (draft-hood-agtp-agent-cert) defines an X.509 certificate
extension that binds an agent identifier and a principal identifier
and includes an authority-scope commitment over a set of scope
tokens. The scope tokens are carried as a flat list of strings.</t>

<t><xref target="APKI"></xref> (draft-sharif-apki-agent-pki) defines five separate X.509
extensions for agent capabilities, delegation, trust scoring,
provenance, and behavioral attestation. Each extension is encoded
independently.</t>

<t><xref target="AgentIdentity"></xref> (draft-sharif-x509-agent-identity-profile) defines a
single X.509 extension combining a trust level, a list of capability
names, a maximum delegation depth, and a kill-switch URI.</t>

<t><xref target="RFC3820"></xref> defines proxy certificates for grid computing. A proxy
certificate extends the certificate chain so that the proxy acts on
behalf of the issuer; it does not carry agent-specific identity or
authorization data.</t>

<t><xref target="RFC5755"></xref> defines attribute certificates as a separate authorization
mechanism bound to an identity certificate. Attribute certificates
carry attribute/value pairs and are issued by an attribute authority.</t>

<t><xref target="CapabilityBound"></xref> (arXiv:2603.14332) embeds a hash of a skills
manifest in an X.509 extension. Any change to the manifest requires
issuing a new certificate.</t>

<t><xref target="DAAP"></xref> (draft-mishra-oauth-agent-grants) extends OAuth 2.0 with agent
grants, using DID-based identifiers and JSON Web Tokens carried at the
application layer. It supports multi-level delegation and cascading
revocation, and depends on DID resolution.</t>

<t><xref target="OpenA2A"></xref> (draft-singla-agent-identity-protocol) defines agent
identifiers derived from public keys and a capability manifest carried
in DID documents, and depends on DID resolution.</t>

<t>WIMSE and SPIFFE define workload identities using SAN URIs
(<xref target="SPIFFE"></xref>); they identify workloads and do not carry authorization
information.</t>

<t>This specification follows the X.509 extension approach used by
AGTP, APKI, AgentIdentity, and CapabilityBound. It differs in three
respects: (1) the authorization data is signed by the principal and
the resulting signature is covered by the certificate authority's
signature; (2) capabilities use a structured container with a scheme
identifier and a capability identifier, so that evaluation can be
routed to scheme-specific plugins; and (3) an authorization constraint
container carries offline-verifiable boundary conditions. The design
goal is to make the authorization decision fully verifiable offline
from the certificate and its credential bundle.</t>

</section>
</section>
<section anchor="delegation-model"><name>Delegation Model</name>

<section anchor="delegation-modes"><name>Delegation Modes</name>

<t>Two delegation modes are defined:</t>

<t><strong>Authorized mode (default):</strong> The Agent acts under its own identity.
The agent certificate's agentId is recorded as the actor in audit logs,
while the principalUid identifies the authorizing principal. The CA
evaluates the agent's declared capabilities against the principal's
PrincipalAuthorization.grants at issuance time, and the resulting
capability set is locked into the certificate. Gateway runtime does
not perform a further P_grants superset check for authorized mode.
Authorized mode therefore provides snapshot authorization semantics:
principal grant changes after issuance do not affect the capability
set of an already issued certificate.</t>

<t><strong>Representative mode:</strong> The Agent acts on behalf of the Principal
within the delegated permission scope. The principalUid is recorded
as the actor in audit logs, with the agentId recorded as the executor.
Representative mode is the exception to the minimal credential
bundle model: it requires the principal's certificate and its
PrincipalAuthorization extension to be present in the credential
bundle presented during the TLS handshake. Deployments that cannot
provide the complete bundle MUST use authorized mode.
The agent's declared capabilities MUST be a subset of the principal's
grants at both issuance time (CA verification) and runtime (gateway
verification), as the principal's permissions may change during the
agent certificate's lifetime.</t>

<section anchor="security-envelope-model"><name>Security Envelope Model</name>

<t>This specification uses a security-envelope heuristic: reducing
either the delegated permission scope or the credential lifetime
reduces the potential exposure of a compromised credential.</t>

<t>Authorized mode selects <strong>narrow scope x longer validity</strong> -- the
principal selects capabilities at issuance, the capability set is
locked into the certificate, and the certificate lifetime is up to
24 hours with automatic renewal.</t>

<t>Representative mode selects <strong>broad scope x shorter validity</strong> -- the
agent may exercise the full extent of the principal's permissions
(P_grants), but the certificate is short-lived and subject to runtime
per-operation P_grants intersection verification.</t>

</section>
</section>
<section anchor="permission-intersection"><name>Permission Intersection</name>

<t>The effective permission for any agent operation is governed by the
intersection of three sets:</t>

<t>The authorization model is the intersection of the principal's grants
and the agent's capabilities:</t>

<figure><artwork><![CDATA[
P_effective = P_grants (AND) C_agent
]]></artwork></figure>

<t>where P_grants is the principal's declared capability grants (in
PrincipalAuthorization.grants) and C_agent is the agent's declared
capability set (in AIC.capabilities). An operation is authorized only
if it belongs to both sets.</t>

<t>In authorized mode, C_agent alone serves as the effective capability
set (P_grants intersection was already verified by the CA at issuance
time and locked into the certificate). In representative mode, the
intersection is computed at runtime for each operation.</t>

<t>Gateway-local runtime policy (T_policy) -- rate limits, timeouts,
routing, and other deployment-side controls -- is an additional
enforcement layer applied by the relying party. It is NOT part of the
authorization model defined by this specification and MUST NOT be
confused with the P (AND) C authorization intersection.</t>

</section>
<section anchor="multi-level-delegation"><name>Multi-Level Delegation</name>

<t>Single-level delegation (Principal -&gt; Agent, chainDepth = 0) is the
default and recommended deployment mode. A delegation chain of depth 1
(Principal -&gt; Agent -&gt; sub-Agent, chainDepth = 1) MAY be supported
when a deployment requires it, in which case the delegating agent
signs a DelegationAuthorization for the sub-agent:</t>

<t><list style="symbols">
  <t><strong>chainDepth = 0 (default)</strong>: direct delegation from the principal
to the agent (Principal -&gt; Agent).</t>
  <t><strong>chainDepth = 1 (optional)</strong>: one additional level (Principal -&gt;
Agent -&gt;
sub-Agent), in which the delegating agent signs a
DelegationAuthorization for the sub-agent.</t>
</list></t>

<t>Each level of the chain produces an independent
DelegationAuthorization signed by the delegator's private key, and
capabilities are recursively intersected along the chain. Chain depth
is carried in a DelegationDepthControl extension with chainDepth and
maxDepth fields. In any chain, chainDepth MUST NOT exceed maxDepth.</t>

<t>Chains deeper than 1 are not recommended. As a best practice,
deployments SHOULD NOT permit chainDepth &gt; 1: each additional level
increases attribution ambiguity (the legal status of intermediate
agents and the audit actor semantics), expands the attack surface, and
grows the credential bundle. The accountability model of this
specification is anchored to the natural person at the top of the
chain and is best preserved by limiting delegation to the depths
described above.</t>

</section>
</section>
<section anchor="certificate-profile-data-model"><name>Certificate Profile (Data Model)</name>

<t>A certificate carrying the AIC extension encodes the following abstract
data model:</t>

<texttable>
      <ttcol align='left'>Component</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Cardinality</ttcol>
      <c>Agent Identity</c>
      <c>Identifier of the agent</c>
      <c>Mandatory</c>
      <c>Principal Binding</c>
      <c>Link to the accountable principal</c>
      <c>Mandatory</c>
      <c>Delegation Mode</c>
      <c>Authorized or representative</c>
      <c>Mandatory</c>
      <c>Capability Set</c>
      <c>Declared operational capabilities</c>
      <c>Optional</c>
      <c>Authorization Constraints</c>
      <c>Offline-verifiable boundary conditions</c>
      <c>Optional</c>
      <c>Delegation Authorization</c>
      <c>Cryptographic evidence of principal consent</c>
      <c>Mandatory</c>
      <c>Extensions</c>
      <c>Vendor-specific or future extensions</c>
      <c>Optional</c>
</texttable>

<t>This data model is encoded as a set of X.509v3 certificate extensions,
defined in the following section.</t>

</section>
<section anchor="aic-extension-definition"><name>AIC Extension Definition</name>

<section anchor="oid-tree"><name>OID Tree</name>

<figure><artwork><![CDATA[
1.3.6.1.4.1.66257 (IANA PEN -- Varwof PKI)
+-- 1 Identity & Authorization Core
|   +-- 1 AIC (Agent Identity Certificate Extension)
|   |   +-- 1 AgentIdentity (agentId, principalUid, delegationMode)
|   |   +-- 2 DelegationAuthorization (reason, requestedLifetime,
|   |   |     timestamp, nonce, signatureAlgorithm, signatureValue)
|   |   +-- 4 DelegationDepthControl (chainDepth, maxDepth)
|   |   |   +-- 1 chainDepth
|   |   |   +-- 2 maxDepth
|   +-- 2 PrincipalAuthorization (grants, authorizationConstraints,
|   |     delegationPolicy)
|   |   +-- 4 DelegationPolicy
+-- 3 National/Industry Certification
|   +-- 1 MarketAccessId
]]></artwork></figure>

</section>
<section anchor="capability-glob-matching-syntax"><name>Capability Glob Matching Syntax</name>

<t>Capability matching uses the following matching rules:</t>

<texttable>
      <ttcol align='left'>Pattern</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Example</ttcol>
      <c><spanx style="verb">scheme:method:path</spanx></c>
      <c>Exact match</c>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
      <c><spanx style="verb">scheme:method:path/*</spanx></c>
      <c>Single-segment wildcard (no "/")</c>
      <c><spanx style="verb">http:GET:/api/v1/*</spanx></c>
      <c><spanx style="verb">scheme:method:path/**</spanx></c>
      <c>Multi-segment wildcard (crosses "/")</c>
      <c><spanx style="verb">http:GET:/api/v1/**</spanx></c>
      <c><spanx style="verb">scheme:*:path</spanx></c>
      <c>Method wildcard</c>
      <c><spanx style="verb">http:*:/api/v1/*</spanx></c>
      <c><spanx style="verb">scheme:*</spanx></c>
      <c>Scheme-wide wildcard</c>
      <c><spanx style="verb">http:*</spanx></c>
</texttable>

<t>Matching priority (highest to lowest):
1. Exact match
2. Single-segment wildcard
3. Multi-segment wildcard
4. Method wildcard
5. Scheme-wide wildcard</t>

<t>When multiple rules match, the highest priority rule applies.
If no rule matches, the capability MUST be treated as Deny.</t>

<t>Unqualified wildcards (bare <spanx style="verb">*</spanx> without a preceding namespace and colon
separator) are NOT permitted. All wildcards MUST be scoped within a
schemeId namespace.</t>

</section>
<section anchor="asn1-module"><name>ASN.1 Module</name>

<t>This section defines the ASN.1 module for the AIC extension, using
the conventions specified in <xref target="RFC5912"></xref>.</t>

<t>Encoding tag conventions:</t>

<t><list style="symbols">
  <t>Mandatory fields use universal tags (INTEGER, UTF8String, OCTET
STRING, SEQUENCE); no context-specific tags are applied.</t>
  <t>All OPTIONAL fields use context-specific explicit tags
(<spanx style="verb">[n] EXPLICIT</spanx>), numbered from 0 in field order within each
structure. Tag numbers are unique within a structure and MAY be
reused across structures.</t>
  <t>Standard external types (AlgorithmIdentifier) follow RFC 5280
encoding conventions.</t>
  <t>DEFAULT fields MAY be omitted from DER encodings when equal to the
default value; implementations MUST accept both forms.</t>
</list></t>

<t>The AIC and PrincipalAuthorization extensions MUST be non-critical so
that systems unaware of these extensions can safely ignore them.</t>

<figure><artwork><![CDATA[
VARWOF-AIC DEFINITIONS
    { iso(1) identified-organization(3) dod(6) internet(1)
      private(4) enterprise(1) varwof(66257) modules(2)
      id-mod-varwof-aic(1) }
DEFINITIONS ::= BEGIN

-- All SEQUENCEs SHALL use DER encoding (ordered, no indefinite-length).
-- See RFC 5912 Sec. 3 for DER encoding rules.
-- Implementations MUST reject BER indefinite-length encodings.

IMPORTS
    EXTENSION
        FROM PKIX-CommonTypes-2009
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) id-mod(0)
          id-mod-pkixCommonTypes-02(57) },
    AlgorithmIdentifier
        FROM PKIXAlgs-2009
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) id-mod(0)
          id-mod-pkix1-algorithms2008-02(56) } ;

-- OID Assignments

id-varwof        OBJECT IDENTIFIER ::= { 1 3 6 1 4 1 66257 }
id-aic           OBJECT IDENTIFIER ::= { id-varwof 1 1 }

-- AIC Extension

aicExt EXTENSION ::= {
    SYNTAX         AIC
    IDENTIFIED BY  id-aic
    CRITICAL       FALSE
}

AIC ::= SEQUENCE {
    version                  INTEGER DEFAULT 1,
    agentId                  UTF8String (SIZE(1..256)),
    principalUid             PrincipalUid,
    capabilities             SEQUENCE SIZE(1..MAX) OF Capability,
    delegationMode           DelegationMode DEFAULT authorized,
    authorizationConstraints [0] EXPLICIT SEQUENCE
        SIZE(0..32) OF Capability OPTIONAL,
    delegationAuthorization  DelegationAuthorization,
    extensions               [1] EXPLICIT AICExtensions OPTIONAL
}

DelegationMode ::= INTEGER {
    authorized     (0),
    representative (1)
} (0..1)

PrincipalUid ::= SEQUENCE {
    version     INTEGER (0..255) DEFAULT 1,
    realm       UTF8String (SIZE(1..128)),
    identifier  UTF8String (SIZE(1..256)),
    keyHash     OCTET STRING (SIZE(1..64)),
    hashAlgo    [0] EXPLICIT AlgorithmIdentifier OPTIONAL
}
-- hashAlgo omitted defaults to SHA-256 (OID 2.16.840.1.101.3.4.2.1);
-- keyHash = hashAlgo(SPKI). Only hash algorithms with output length
-- not exceeding 64 bytes are supported (SHA-2/SHA-3 family, SM3,
-- BLAKE2/BLAKE3). keyHash length is determined by the algorithm.

Capability ::= SEQUENCE {
    schemeId        UTF8String (SIZE(1..128)),
    capabilityId    UTF8String (SIZE(1..256)),
    parameters      [0] EXPLICIT OCTET STRING (SIZE(0..4096)) OPTIONAL
}

-- Reason for delegation authorization (mandatory in
-- DelegationAuthorization / DelegationAuthTBS; not present in
-- PrincipalAuthorization)

Reason ::= SEQUENCE {
    reasonCode  UTF8String (SIZE(1..64)),
        -- controlled vocabulary, e.g., SCHEDULED_MAINTENANCE
    description UTF8String (SIZE(1..512))
        -- human-readable description
}

DelegationAuthorization ::= SEQUENCE {
    reason              Reason,
    requestedLifetime   INTEGER (1..86400),  -- SHOULD 3600-86400
    timestamp           GeneralizedTime,     -- MUST be UTC (Z form)
    nonce               OCTET STRING (SIZE(32)),
    signatureAlgorithm  AlgorithmIdentifier,
    signatureValue      OCTET STRING
}

-- DelegationAuthTBS (To-Be-Signed structure)
-- The principal's private key signs the DER encoding of this structure.

DelegationAuthTBS ::= SEQUENCE {
    version                  INTEGER DEFAULT 1,
    agentId                  UTF8String (SIZE(1..256)),
    principalUid             PrincipalUid,
    reason                   Reason,
    capabilities             SEQUENCE SIZE(1..MAX) OF Capability,
    delegationMode           DelegationMode,
    authorizationConstraints [0] EXPLICIT SEQUENCE
        SIZE(0..32) OF Capability OPTIONAL,
    requestedLifetime        INTEGER (1..86400),  -- SHOULD 3600-86400
    timestamp                GeneralizedTime,     -- MUST be UTC (Z)
    nonce                    OCTET STRING (SIZE(32))
}

-- PrincipalAuthorization Extension (OID: 1.3.6.1.4.1.66257.1.2)
-- Carried in the Principal's certificate.

paExt EXTENSION ::= {
    SYNTAX         PrincipalAuthorization
    IDENTIFIED BY  id-principal-auth
    CRITICAL       FALSE
}
id-principal-auth OBJECT IDENTIFIER ::= { id-varwof 1 2 }

PrincipalAuthorization ::= SEQUENCE {
    version                  INTEGER DEFAULT 1,
    grants                   SEQUENCE SIZE(1..MAX) OF Capability,
    authorizationConstraints [0] EXPLICIT SEQUENCE
        SIZE(0..32) OF Capability OPTIONAL,
    delegationPolicy         [1] EXPLICIT DelegationPolicy OPTIONAL,
    extensions               [2] EXPLICIT AICExtensions OPTIONAL
}

DelegationPolicy ::= SEQUENCE {
    version             INTEGER DEFAULT 1,
    maxAgents           INTEGER DEFAULT 1,
    allowedMode         DelegationModeEnum DEFAULT authorizedOnly,
    maxSessionHours     [0] EXPLICIT INTEGER OPTIONAL
}

DelegationModeEnum ::= INTEGER {
    authorizedOnly        (0),
    representativeAllowed (1)
} (0..1)

-- Extensibility Framework

AICExtensions ::= SEQUENCE SIZE (1..MAX) OF ExtField

ExtField ::= SEQUENCE {
    extnID      OBJECT IDENTIFIER,
    critical    BOOLEAN DEFAULT FALSE,
    extnValue   OCTET STRING
}

-- DelegationDepthControl carries the delegation chain depth.
-- Placed in AIC extensions slot, OID 1.3.6.1.4.1.66257.1.1.4.
-- maxDepth MUST NOT exceed 1; chainDepth MUST NOT exceed maxDepth.
-- A sub-agent (chainDepth = 1) MUST NOT delegate further.

id-ddc OBJECT IDENTIFIER ::= { id-aic 4 }
DelegationDepthControl ::= SEQUENCE {
    chainDepth  INTEGER (0..255),  -- OID .1.1.4.1
    maxDepth    INTEGER (0..255)   -- OID .1.1.4.2
}

END
]]></artwork></figure>

</section>
<section anchor="example-aic-extension-encoding"><name>Example AIC Extension Encoding</name>

<t>The following example illustrates the AIC extension for an agent with
agentId "agent-1", a principal identified as "zhangsan" in the
"corp.com" realm, and a single HTTP capability:</t>

<figure><artwork><![CDATA[
AIC ::= {
    agentId         "agent-1",
    principalUid    {
        realm       "corp.com",
        identifier  "zhangsan",
        keyHash     <32-byte hash of the principal's SPKI>
    },
    capabilities    {
        { schemeId "http", capabilityId "GET:/api/v1/users" }
    },
    delegationAuthorization {
        reason      {
            reasonCode  "SCHEDULED_MAINTENANCE",
            description "temporary maintenance window"
        },
        requestedLifetime 3600,
        timestamp   "2026-08-18T00:00:00Z",
        nonce       <32-byte CSPRNG value>,
        signatureAlgorithm ecdsa-with-SHA256,
        signatureValue <DER-encoded signature over DelegationAuthTBS>
    }
}
]]></artwork></figure>

<t>In the DER encoding of this example, the DEFAULT fields (version,
delegationMode) are omitted as permitted by the ASN.1 module, and the
OPTIONAL fields (authorizationConstraints, extensions) are absent.
Each field is encoded in the order given in the ASN.1 module using DER
rules <xref target="RFC5912">RFC5280</xref>. The signatureValue is produced by the
principal's private key over the DER encoding of the corresponding
DelegationAuthTBS structure and varies per authorization.</t>

</section>
<section anchor="field-definitions"><name>Field Definitions</name>

<section anchor="agentid"><name>agentId</name>

<t>The <spanx style="verb">agentId</spanx> field contains a globally unique identifier for the AI
Agent instance. The identifier SHOULD be stable across certificate
renewals for the same agent instance. Implementations MAY use UUIDs,
URN-based identifiers, or DNS-anchored names.</t>

</section>
<section anchor="delegationmode"><name>delegationMode</name>

<t>The <spanx style="verb">delegationMode</spanx> field defines the protocol-defined relationship
between the Agent and its Principal for attribution and authorization
purposes:</t>

<dl>
  <dt>authorized (0):</dt>
  <dd>
    <t>The Agent acts under its own cryptographic identity with explicit
principal authorization. The audit trail records the agentId as the
actor. This is the default mode.</t>
  </dd>
  <dt>representative (1):</dt>
  <dd>
    <t>The Agent fully represents the Principal. Actions are attributed to
the Principal (principalUid) in the audit trail. This mode MUST
only be permitted when the Principal's certificate explicitly allows
representative delegation (allowedMode=representativeAllowed in
PrincipalAuthorization.delegationPolicy).</t>
  </dd>
</dl>

</section>
<section anchor="principaluid"><name>principalUid</name>

<t>The <spanx style="verb">principalUid</spanx> field identifies the natural person or
organizational entity that authorizes the Agent's actions. It is
encoded as an ASN.1 SEQUENCE:</t>

<figure><artwork><![CDATA[
PrincipalUid ::= SEQUENCE {
    version     INTEGER (0..255) DEFAULT 1,
    realm       UTF8String (SIZE(1..128)),
    identifier  UTF8String (SIZE(1..256)),
    keyHash     OCTET STRING (SIZE(1..64)),
    hashAlgo    [0] EXPLICIT AlgorithmIdentifier OPTIONAL
}
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t><spanx style="verb">realm</spanx> is a globally unique namespace (e.g., an organization domain),
limited to 128 characters;</t>
  <t><spanx style="verb">identifier</spanx> is a unique identifier within the realm, limited to 256
characters;</t>
  <t><spanx style="verb">keyHash</spanx> is the hash of the SubjectPublicKeyInfo (SPKI) of the
principal's certificate computed with <spanx style="verb">hashAlgo</spanx>: <spanx style="verb">keyHash =
hashAlgo(SPKI)</spanx>. The length is determined by the hash algorithm and
MUST NOT exceed 64 bytes (SHA-256 = 32 bytes, SHA-384 = 48 bytes,
SHA-512/SHA3-512 = 64 bytes, SM3 = 32 bytes). Using the SPKI hash
rather than a certificate fingerprint allows principal certificate
renewal without invalidating existing agent authorizations, provided
the same key pair is used.</t>
  <t><spanx style="verb">hashAlgo</spanx> identifies the hash algorithm used for <spanx style="verb">keyHash</spanx>; when
omitted, SHA-256 (OID 2.16.840.1.101.3.4.2.1) is assumed. Only hash
algorithms with output length not exceeding 64 bytes are supported.</t>
</list></t>

<t>The human-readable form <spanx style="verb">{realm}:{identifier}:{keyFingerprint}</spanx>
(where keyFingerprint is the base64url encoding of keyHash per
<xref target="RFC4648"></xref> Section 5, without padding) is RECOMMENDED for display
and logging purposes only. Machine-level comparison MUST use ASN.1
structural comparison, not string parsing.</t>

<t>keyHash MAY be used as a management index (e.g., for cascading
revocation, audit, or certificate lookup by principal). Such lookups
are for management association only; authorization binding and
revocation decisions remain based on keyHash and certificate chain
validation.</t>

</section>
<section anchor="capabilities"><name>capabilities</name>

<t>The <spanx style="verb">capabilities</spanx> field is a pure container -- this specification
defines only the encoding of capabilities, not their semantics.
Capability semantics are entirely defined by the capability scheme
identified by <spanx style="verb">schemeId</spanx>. AIC implementations MUST NOT assign semantics
to unknown schemes. Each capability entry is identified by a <spanx style="verb">schemeId</spanx>
that indicates the governing scheme, a <spanx style="verb">capabilityId</spanx> within that
scheme, and OPTIONAL parameters.</t>

<t>The <spanx style="verb">capabilityId</spanx> field supports wildcard characters for glob-based
matching: <spanx style="verb">*</spanx> matches a single path segment (no colon), <spanx style="verb">**</spanx> matches
across path segments (any depth).</t>

<t>Gateways route capability evaluation by looking up registered plugins
by <spanx style="verb">schemeId</spanx>. When the capability required by the current request
references an unknown scheme or an unknown capability, the request
MUST be treated as Deny (fail-closed). Capabilities carried in the
certificate that are not relevant to the current request do not affect
the decision.</t>

</section>
<section anchor="authorizationconstraints"><name>authorizationConstraints</name>

<t>The <spanx style="verb">authorizationConstraints</spanx> field (OPTIONAL) defines
authorization boundary conditions for the Agent. Each constraint
reuses the Capability container. The <spanx style="verb">schemeId</spanx> MUST be one of
<spanx style="verb">"varwof/constraint-v1"</spanx>; any other <spanx style="verb">schemeId</spanx> MUST be rejected.
<spanx style="verb">capabilityId</spanx> distinguishes the constraint type. The following
constraint types are defined as examples; additional constraint types
are registered through the capability scheme registry (Section IANA
Considerations) and do not require a change to the ASN.1 module:</t>

<texttable>
      <ttcol align='left'>capabilityId</ttcol>
      <ttcol align='left'>parameters Format</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">allowed-cidr</spanx></c>
      <c><spanx style="verb">["10.0.0.0/8", "192.168.0.0/16"]</spanx></c>
      <c>Allowed IP ranges</c>
      <c><spanx style="verb">max-concurrent</spanx></c>
      <c><spanx style="verb">{"max": 5}</spanx></c>
      <c>Maximum concurrent Agent instances</c>
      <c><spanx style="verb">time-window</spanx></c>
      <c><spanx style="verb">{"start": "22:00", "end": "06:00"}</spanx></c>
      <c>Allowed execution time window (UTC)</c>
</texttable>

<t>Constraint semantics MUST define the reference clock, time scale,
timezone interpretation, boundary conditions, and behavior under clock
uncertainty (e.g., for time-window).</t>

<t>Constraints are evaluated with AND logic: all constraints MUST be
satisfied for the connection to be accepted. The maximum number of
constraints is 32, with a single constraint's parameters field limited
to 512 bytes. Unknown constraint types are logged as audit warnings
and ignored by default (forward-compatible); strict rejection behavior
may be configured by the deployment.</t>

<t>Design principle: authorizationConstraints carry boundary conditions
determined by the authorizing party, varying per-principal, and changing
infrequently. Runtime policies (timeouts, retries, rate limits, routing)
are NOT carried in authorizationConstraints and remain in gateway-local
policy configuration.</t>

<t>The boundary between authorizationConstraints and gateway runtime
policy is fixed:</t>

<t><list style="symbols">
  <t>authorizationConstraints carry authorization boundary conditions
set by the authorizing party (IP ranges, concurrency limits, time
windows) that are verifiable offline.</t>
  <t>Gateway runtime policy (timeouts, retries, rate limits, routing,
logging levels) is deployment-specific and MUST NOT be carried in
authorizationConstraints.</t>
</list></t>

<t>Constraint types registered with the same capabilityId and parameters
MUST be interpreted consistently by gateways that implement them.
Gateways that do not implement a constraint type treat it as unknown
and follow the unknown-constraint handling described above.</t>

<t>The constraints within AIC.authorizationConstraints are independent of
constraints within PrincipalAuthorization.authorizationConstraints --
PA constraints limit the authorization behavior, AIC constraints limit
the execution behavior. Both are checked independently during
validation.</t>

</section>
<section anchor="delegationauthorization"><name>delegationAuthorization</name>

<t>The <spanx style="verb">delegationAuthorization</spanx> field provides cryptographic evidence
that the principal has authorized this Agent. It contains:</t>

<figure><artwork><![CDATA[
DelegationAuthorization ::= SEQUENCE {
    reason              Reason,
    requestedLifetime   INTEGER (1..86400),
    timestamp           GeneralizedTime,
    nonce               OCTET STRING (SIZE(32)),
    signatureAlgorithm  AlgorithmIdentifier,
    signatureValue      OCTET STRING
}
]]></artwork></figure>

<t>The signature algorithm and signature value are kept as two flat
fields -- <spanx style="verb">signatureAlgorithm</spanx> preceding <spanx style="verb">signatureValue</spanx> -- following
the X.509 certificate convention (RFC 5280 Section 4.1), where
<spanx style="verb">signatureAlgorithm</spanx> precedes <spanx style="verb">signatureValue</spanx> in the Certificate
structure, enabling parsers to determine the algorithm before reading
the signature bytes. They MUST NOT be merged into a nested SEQUENCE.</t>

<t><list style="symbols">
  <t><spanx style="verb">reason</spanx> (mandatory): The reason for this delegation, carried
both here and in DelegationAuthTBS (where it is covered by the
principal's signature). <spanx style="verb">reasonCode</spanx> is a controlled vocabulary value
in SCREAMING_SNAKE style (e.g., <spanx style="verb">SCHEDULED_MAINTENANCE</spanx>,
<spanx style="verb">AUTO_RENEWAL</spanx>); <spanx style="verb">description</spanx> is a human-readable explanation. Both
fields MUST be present and non-empty. <spanx style="verb">reason</spanx> does not appear in
PrincipalAuthorization.</t>
  <t><spanx style="verb">requestedLifetime</spanx>: The principal-requested certificate lifetime in
seconds. The wire value MUST be in the range 1-86400 (SHOULD
3600-86400). The CA determines the actual NotAfter as
min(requestedLifetime, local policy maximum).</t>
  <t><spanx style="verb">timestamp</spanx>: The time at which the authorization was granted. MUST be
UTC encoded as GeneralizedTime in Z form.</t>
  <t><spanx style="verb">nonce</spanx>: 32-byte CSPRNG-generated random value for replay protection.
The CA verifies nonce uniqueness at issuance time and persists it
to prevent reuse.</t>
  <t><spanx style="verb">signatureAlgorithm</spanx>: The algorithm identifier for the principal's
signature (e.g., ecdsa-with-SHA256).</t>
  <t><spanx style="verb">signatureValue</spanx>: The DER-encoded signature value produced by the
principal's private key over the DER encoding of DelegationAuthTBS.</t>
</list></t>

<t>The principal's private key signs the DER encoding of the following
DelegationAuthTBS structure:</t>

<figure><artwork><![CDATA[
DelegationAuthTBS ::= SEQUENCE {
    version                  INTEGER DEFAULT 1,
    agentId                  UTF8String (SIZE(1..256)),
    principalUid             PrincipalUid,
    reason                   Reason,
    capabilities             SEQUENCE SIZE(1..MAX) OF Capability,
    delegationMode           DelegationMode,
    authorizationConstraints [0] EXPLICIT SEQUENCE
        SIZE(0..32) OF Capability OPTIONAL,
    requestedLifetime        INTEGER (1..86400),
    timestamp                GeneralizedTime,
    nonce                    OCTET STRING (SIZE(32))
}
]]></artwork></figure>

<t>All ten fields MUST be present in the DER encoding of
DelegationAuthTBS. The <spanx style="verb">authorizationConstraints</spanx> field uses
context-specific tag [0] EXPLICIT encoding; its OPTIONAL nature does
not break backward compatibility with certificates that do not carry
constraints.</t>

</section>
<section anchor="extensions-and-extensibility"><name>Extensions and Extensibility</name>

<t>The <spanx style="verb">extensions</spanx> field in AIC provides an extensibility mechanism for
vendor-specific and user-specific metadata, analogous to X.509 v3
extensions but scoped to the AIC context. Each extension entry is
identified by a globally unique OID.</t>

<t><list style="symbols">
  <t>Vendor-specific extensions SHOULD use OIDs under the vendor's own
IANA Private Enterprise Number.</t>
  <t>Unknown extensions with <spanx style="verb">critical = TRUE</spanx> MUST cause certificate
rejection.</t>
  <t>Unknown extensions with <spanx style="verb">critical = FALSE</spanx> (default) MAY be silently
ignored.</t>
</list></t>

</section>
<section anchor="certificate-size-constraints"><name>Certificate Size Constraints</name>

<t>Certificates MUST observe the following size limits:</t>

<t><list style="symbols">
  <t>Full-protocol safety limit: 12 KB recommended, 16 KB hard limit.
This is the DER-encoded certificate size compatible with TCP/HTTP/
DTLS/QUIC gateways. 16 KB corresponds to the QUIC
<spanx style="verb">CRYPTO_BUFFER_EXCEEDED</spanx> limit of the QUIC stacks used by the
reference implementation; exceeding it fails the handshake.</t>
  <t>Handshake certificate (AIC lightweight): 8 KB recommended, 16 KB
hard limit. Used for mTLS/DTLS/QUIC handshake. In dual-certificate
deployments it contains agentId + principalUid + delegationMode
  <list style="symbols">
      <t>DelegationAuthorization, plus at least one capability entry (the
AIC capability set MUST NOT be empty; see Section 4.5.4). The
dual-certificate deployment model is an optional deployment profile
and does not define a new TLS certificate type.</t>
    </list></t>
  <t>Full authorization certificate: 64 KB recommended, 128 KB hard
limit. Carries all capabilities, authorizationConstraints, and
extensions; transmitted at the application layer after the handshake.
Certificates exceeding 128 KB MUST be rejected.
Unlike QUIC, TCP/TLS transports do not impose the 16 KB handshake
limit: certificate messages are segmented by the TLS record layer,
so larger certificates can be carried in practice up to the hard
limit.</t>
</list></t>

<t>The number of entries in the <spanx style="verb">extensions</spanx> field SHOULD NOT exceed 32.
The ASN.1 module bounds the <spanx style="verb">capabilities</spanx> sequence with SIZE(1..MAX)
and does not fix a numeric limit on the wire format. Certificates
whose capability entries exceed 256 MUST be rejected to prevent DoS
attacks; typical deployments carry far fewer entries, and deployments
SHOULD keep the capability set as small as practical.</t>

</section>
<section anchor="capability-parameters-intersection"><name>Capability Parameters Intersection</name>

<t>When matching capabilities across P_grants and C_agent, parameter
intersection follows these rules:</t>

<t><list style="symbols">
  <t>If C_agent.parameters exceed the boundary defined in
P_grants.parameters, the capability entry is invalid (filtered
or rejected).</t>
  <t>Otherwise, C_agent.parameters are used in full (agent-specified
values within principal-defined boundaries).</t>
</list></t>

<t>Examples:</t>

<texttable>
      <ttcol align='left'>P_grants</ttcol>
      <ttcol align='left'>C_agent</ttcol>
      <ttcol align='left'>Result</ttcol>
      <c><spanx style="verb">max_rows=1000</spanx></c>
      <c><spanx style="verb">max_rows=100</spanx></c>
      <c>Accept, use <spanx style="verb">max_rows=100</spanx></c>
      <c><spanx style="verb">max_rows=1000</spanx></c>
      <c><spanx style="verb">max_rows=5000</spanx></c>
      <c>Reject (exceeds boundary)</c>
</texttable>

</section>
</section>
</section>
<section anchor="validation-procedure"><name>Validation Procedure</name>

<t>This section defines the validation procedure that a gateway or
relying party MUST perform when processing an AIC-bearing certificate.</t>

<section anchor="validation-pipeline"><name>Validation Pipeline</name>

<t>The gateway performs the following validation steps in order after
TLS handshake completion:</t>

<t><list style="numbers" type="1">
  <t><strong>Certificate Chain</strong> (<xref target="RFC5280"></xref>): Verify the certificate chain
up to a trusted root, including signature validation, validity
periods, and basic constraints.</t>
  <t><strong>Revocation Status</strong>: Verify that neither the end-entity
certificate nor any intermediate certificate in the chain has been
revoked. Implementations MAY use CRLs (<xref target="RFC5280"></xref>), OCSP
(<xref target="RFC6960"></xref>), or OCSP Must-Staple (<xref target="RFC7633"></xref>). In offline
deployments, a locally cached CRL or a short validity window MAY
serve as an alternative revocation mechanism.</t>
  <t><strong>AIC Extension Parsing</strong>: Parse the AIC SEQUENCE. If the
extension is marked critical and cannot be parsed, the certificate
MUST be rejected.</t>
  <t><strong>DelegationAuthorization Verification</strong>: Verify the principal's
signature in <spanx style="verb">delegationAuthorization.signatureValue</spanx>:
  <list style="symbols">
      <t>Reconstruct the DER encoding of DelegationAuthTBS (including
reason and authorizationConstraints if present). The TBS is
DER-encoded in the field order defined in the ASN.1 module;
DEFAULT fields MAY be omitted and are interpreted with their
default values.</t>
      <t>Use the principal's public key (identified by
principalUid.keyHash) to verify <spanx style="verb">signatureValue</spanx>.</t>
      <t>Cross-verify that hashAlgo(principal_cert.SPKI) equals
principalUid.keyHash (hashAlgo omitted means SHA-256).</t>
      <t>Verify that the certificate validity period
(notAfter - notBefore) does not exceed
delegationAuthorization.requestedLifetime, and that
requestedLifetime is at most 86400 seconds (1 day).</t>
      <t>Verify that <spanx style="verb">signatureAlgorithm</spanx> is one of the permitted
algorithms: ECDSA with SHA-256 (MUST), ECDSA with SHA-384 or
SHA-512 (MAY), RSA with SHA-256 (MUST), RSA with SHA-384 or
SHA-512 (MAY), RSA-PSS with SHA-256, SHA-384, or SHA-512 (MAY),
or Ed25519 (MAY).
Any other algorithm MUST be rejected.</t>
    </list></t>
  <t><strong>PA.authorizationConstraints Check</strong>: If the
PrincipalAuthorization extension in the principal's certificate
contains authorizationConstraints, evaluate them. PA constraints
limit the authorization behavior and are independent of
AIC.authorizationConstraints.</t>
  <t><strong>AIC.authorizationConstraints Check</strong>: If
AIC.authorizationConstraints is present, evaluate each constraint
it recognizes with AND logic. All constraints MUST be satisfied.
Unknown constraint types are logged as audit warnings and ignored
(forward-compatible). This step is executed before capability
evaluation for fast rejection of unauthorized connections.</t>
  <t><strong>Delegation Mode Check</strong>: If <spanx style="verb">delegationMode</spanx> is representative:
  <list style="symbols">
      <t>Load the principal's certificate and its PrincipalAuthorization
extension.</t>
      <t>Verify allowedMode permits representative delegation.</t>
      <t>Verify that C_agent is a subset of P_grants (P (AND) C (AND) T).</t>
    </list></t>
  <t><strong>Delegation Depth Check</strong>: If a DelegationDepthControl extension
is present, verify that chainDepth does not exceed maxDepth. As a
best practice, deployments SHOULD NOT accept chains with
chainDepth &gt; 1 (or maxDepth &gt; 1); such chains are outside the
recommended deployment envelope of this specification.</t>
  <t><strong>Capability Evaluation</strong>: For the capability required by the
current request, route evaluation to the plugin registered for its
<spanx style="verb">schemeId</spanx>. If no plugin is registered or the capability is
unknown, the request MUST be denied. Other capabilities carried in
the certificate but not relevant to the current request do not
affect the decision.</t>
  <t><strong>Decision</strong>: If all validation steps pass, the relying party
   SHOULD allow the connection. If any step fails, the relying party
   MUST reject the request. Deployments SHOULD record the rejection
   with sufficient diagnostic information for audit purposes.</t>
</list></t>

</section>
<section anchor="offline-validation"><name>Offline Validation</name>

<t>In offline or air-gapped deployments without access to CRL or OCSP
responders, the relying party MUST accept the risk that a revoked
certificate may be accepted until the next cache refresh. Mitigations
include:</t>

<t><list style="symbols">
  <t>Short certificate validity windows (RECOMMENDED &lt;= 1 hour);</t>
  <t>Locally cached CRL shards with freshness checks;</t>
  <t>authorizationConstraints evaluated entirely offline during TLS
handshake.</t>
</list></t>

<t>The principal's certificate is obtained from the Credential Bundle
presented by the Agent during TLS handshake (TLS 1.3 allows multiple
CertificateEntry messages). If the principal's certificate is not
present in the chain and no local cache is available, the gateway MUST
reject the connection (Fail-Close).
The transport mechanism for the credential bundle is a deployment
detail and is not defined as a new TLS message type by this
specification.</t>

</section>
</section>
<section anchor="principalauthorization-extension"><name>PrincipalAuthorization Extension</name>

<t>The PrincipalAuthorization extension (OID <spanx style="verb">1.3.6.1.4.1.66257.1.2</spanx>) is a
companion X.509 extension carried in the Principal's certificate. It
declares the Principal's authority boundaries, including grant
declarations, authorization constraints, and delegation policies.</t>

<section anchor="asn1-definition"><name>ASN.1 Definition</name>

<figure><artwork><![CDATA[
PrincipalAuthorization ::= SEQUENCE {
    version                  INTEGER DEFAULT 1,
    grants                   SEQUENCE SIZE(1..MAX) OF Capability,
    authorizationConstraints [0] EXPLICIT SEQUENCE
        SIZE(0..32) OF Capability OPTIONAL,
    delegationPolicy         [1] EXPLICIT DelegationPolicy OPTIONAL,
    extensions               [2] EXPLICIT AICExtensions OPTIONAL
}

DelegationPolicy ::= SEQUENCE {
    version             INTEGER DEFAULT 1,
    maxAgents           INTEGER DEFAULT 1,
    allowedMode         DelegationModeEnum DEFAULT authorizedOnly,
    maxSessionHours     [0] EXPLICIT INTEGER OPTIONAL
}

DelegationModeEnum ::= INTEGER {
    authorizedOnly        (0),
    representativeAllowed (1)
} (0..1)
]]></artwork></figure>

<t>The <spanx style="verb">grants</spanx> field defines the set of capabilities the principal may
grant to agents -- serving as the upper bound (P_grants) in the
permission intersection model.</t>

<t>The <spanx style="verb">authorizationConstraints</spanx> field carries principal-level
authorization boundary constraints, reusing the Capability container
with <spanx style="verb">schemeId="varwof/constraint-v1"</spanx>. PA constraints and AIC
constraints are
evaluated independently -- they operate at different semantic layers
and are not in a subset relationship.</t>

<t>The <spanx style="verb">delegationPolicy</spanx> field defines the Principal's delegation
boundary: how many concurrent agents are permitted (maxAgents),
which delegation modes are allowed (allowedMode), and optionally
the maximum session hours (maxSessionHours).</t>

<t>maxAgents (in DelegationPolicy) and the max-concurrent constraint (in
authorizationConstraints) have distinct semantics: maxAgents limits
how many Agent instances the Principal may delegate to concurrently,
whereas max-concurrent limits how many concurrent connections a single
Agent may establish. They are enforced at different layers (policy
boundary vs execution boundary) and are not interchangeable.</t>

</section>
<section anchor="principal-key-rotation"><name>Principal Key Rotation</name>

<t>When the principal's private key is compromised and a new key pair is
generated, the SPKI hash in <spanx style="verb">principalUid.keyHash</spanx> changes, causing all
existing representative-mode agent certificates to fail authorization
checks. This is an intentional design: when the key pair changes, all
associated agent certificates are automatically invalidated through a
key management operation rather than a revocation broadcast. When the
principal renews their certificate using the same key pair, the SPKI
remains unchanged and existing agent authorizations continue without
requiring re-issuance.</t>

</section>
</section>
<section anchor="deployment-models"><name>Deployment Models</name>

<section anchor="enterpriseregulated-model"><name>Enterprise/Regulated Model</name>

<t><list style="symbols">
  <t>The <spanx style="verb">principalUid</spanx> field MUST be populated with a verifiable natural
person identifier.</t>
  <t>The <spanx style="verb">delegationAuthorization</spanx> field MUST be present and
cryptographically validated.</t>
  <t>Representative mode MUST only be used with explicit
PrincipalAuthorization delegation grants.</t>
  <t>Certificate validity SHOULD be short-lived (hours to days).</t>
  <t>authorizationConstraints SHOULD carry IP range, concurrency, and
time window boundaries.</t>
  <t>All AIC-bearing connections SHOULD be logged.</t>
</list></t>

</section>
<section anchor="consumerindividual-model"><name>Consumer/Individual Model</name>

<t><list style="symbols">
  <t>The <spanx style="verb">principalUid</spanx> MAY be omitted or contain a pseudonymous
identifier.</t>
  <t>The <spanx style="verb">delegationAuthorization</spanx> field MAY be omitted for low-risk
operations.</t>
  <t>Representative mode SHOULD NOT be used.</t>
  <t>Deployments in this model prioritize consumer privacy protections
over granular identity binding.</t>
</list></t>

</section>
</section>
<section anchor="extensibility-framework"><name>Extensibility Framework</name>

<t>The <spanx style="verb">extensions</spanx> field in AIC provides an extensibility mechanism for
vendor-specific and user-specific metadata, analogous to X.509 v3
extensions but scoped to the AIC context.</t>

<t>Each extension in the <spanx style="verb">extensions</spanx> sequence is identified by a globally
unique OID. The following guidelines apply:</t>

<t><list style="symbols">
  <t>Vendor-specific extensions SHOULD use OIDs under the vendor's own
IANA Private Enterprise Number.</t>
  <t>Unknown extensions with <spanx style="verb">critical = TRUE</spanx> MUST cause certificate
rejection.</t>
  <t>Unknown extensions with <spanx style="verb">critical = FALSE</spanx> (default) MAY be silently
ignored.</t>
</list></t>

<t>This document specifies the container structure only. Semantics are
defined by the OID assignee.</t>

</section>
<section anchor="privacy-considerations-gdpr-right-to-erasure"><name>Privacy Considerations (GDPR / Right to Erasure)</name>

<t>AIC certificates are static X.509 data objects. Once issued, the
<spanx style="verb">principalUid</spanx> field cannot be modified or deleted from distributed
certificates. Deployments MUST ensure that:</t>

<t><list style="numbers" type="1">
  <t>The <spanx style="verb">identifier</spanx> field within <spanx style="verb">principalUid</spanx> does not contain raw
personally identifiable information (PII) such as full names,
national ID numbers, or email addresses. Internal UUIDs or
pseudonymous identifiers MUST be used instead.</t>
  <t>The mapping table between pseudonymous identifiers and natural
persons is stored in a compliant database that supports deletion
under GDPR Article 17 or equivalent regulations.</t>
  <t>Certificate revocation (CRL/OCSP) is the only mechanism available
to signal that a principal no longer authorizes a given agent;
revocation does not erase the certificate itself.</t>
  <t>AIC certificates SHOULD be treated as stateless credentials by
relying parties: they are parsed and verified during the TLS
handshake, after which the raw certificate MAY be discarded and
need not be persistently stored.</t>
  <t>Audit logs SHOULD be minimized: they need not record the full
principalUid structure or extension content. A session-bound
fingerprint, the operation summary, the decision, and the
pseudonymous identifier are sufficient for accountability.</t>
  <t>Log retention MUST be configurable by the deployment according to
applicable jurisdictional requirements. A layered model is
recommended: long-term archival for high-accountability regimes,
limited cleanup periods for standard deployments, and an ephemeral
no-mapping mode for consumer scenarios.</t>
  <t>Cryptographic evidence and log mappings are independent: the
DelegationAuthorization signature can be verified on its own
without relying on audit log mappings, so deleting a pseudonym
mapping table does not invalidate the cryptographic
evidence of authorization.</t>
</list></t>

<t>Since certificates are immutable once issued, data-subject rights
(access, rectification, erasure) are realized through certificate
revocation and re-issuance: revoke the certificate carrying the old
identifier, issue a new certificate with a fresh pseudonymous
identifier, and delete the associated mapping entries.</t>

<t>This specification provides privacy-preserving mechanisms only.
Legal compliance (lawful basis, cross-border transfer, breach
notification, and other obligations) is the responsibility of the
deployment acting as data controller or processor.</t>

<t>All data carried in the AIC extension is visible during the TLS
handshake. Implementations MUST NOT place sensitive data in any
certificate extension.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The AIC extension is not an authentication requirement by itself:
the X.509 certificate chain already authenticates the agent, and the
AIC extension carries authorization-related information that the
relying party may evaluate. Deployments that require AIC-based
authorization MUST configure the relying party to require and process
the AIC extension.</t>

<t>AIC does not constrain the authority of a CA to issue
PrincipalAuthorization extensions. The trustworthiness of a
PrincipalAuthorization depends on the CA issuance policy and the
trust anchor configuration.</t>

<section anchor="threat-model"><name>Threat Model</name>

<t>This specification considers the following adversary models:</t>

<t><strong>Network Attacker (E):</strong> A network-level adversary capable of
intercepting, modifying, and replaying TLS connections. This adversary
does not have access to any private keys.</t>

<t><strong>Malicious Agent (M):</strong> An authenticated agent in possession of a
valid AIC certificate that attempts to escalate privileges, impersonate
other agents, or exceed its authorized capabilities.</t>

<t><strong>Compromised Principal (P):</strong> A principal whose private key has been
leaked. The attacker can sign arbitrary DelegationAuthorization
payloads using the compromised key.</t>

<t><strong>Compromised CA (C):</strong> An adversary with access to a CA signing key.
This adversary can issue arbitrary certificates and is the most
powerful in the model.</t>

</section>
<section anchor="threat-mitigations"><name>Threat Mitigations</name>

<texttable>
      <ttcol align='left'>Threat</ttcol>
      <ttcol align='left'>Mitigation</ttcol>
      <ttcol align='left'>Mechanism</ttcol>
      <c>Agent impersonation</c>
      <c>Cryptographic identity binding</c>
      <c>X.509 CA-issued certificate, BasicConstraints CA:FALSE</c>
      <c>Principal denial of authorization</c>
      <c>Digital signature on authorization</c>
      <c>DelegationAuthorization.signatureValue over DelegationAuthTBS</c>
      <c>Capability escalation</c>
      <c>Permission subset check</c>
      <c>P_grants (AND) C_agent (AND) T_policy intersection</c>
      <c>Cross-CA role spoofing</c>
      <c>Trust anchor hash verification</c>
      <c>Trust anchor fingerprint comparison in offline plugin parameters</c>
      <c>Unknown extension bypass</c>
      <c>Critical flag enforcement</c>
      <c>Reject on unknown critical extension</c>
      <c>Signature replay</c>
      <c>Nonce binding in TBS</c>
      <c>32-byte nonce in DelegationAuthTBS, CA uniqueness check</c>
      <c>Authorization forgery</c>
      <c>Dual-signature nesting</c>
      <c>CA signature over TBSCertificate + principal signature in AIC extension</c>
</texttable>

</section>
<section anchor="offline-validation-risks"><name>Offline Validation Risks</name>

<t>In offline deployments, the risk of accepting a revoked certificate
exists until the next cache refresh. Mitigations include short
certificate validity windows and strict authorizationConstraints
that limit the blast radius (IP range, concurrency caps).</t>

</section>
<section anchor="authorization-constraint-integrity"><name>Authorization Constraint Integrity</name>

<t>The authorizationConstraints field is carried inside the AIC
extension, which is covered by the CA signature over the
TBSCertificate; a modification of any constraint therefore fails
certificate signature validation. The effectiveness of constraint
enforcement also depends on the gateway evaluating the constraints it
recognizes and on constraint plugins implementing the declared
semantics. Constraints are boundary conditions that limit the blast
radius of a compromised or malicious agent; they are not a substitute
for gateway-local policy controls such as rate limiting or resource
quotas.</t>

</section>
<section anchor="principal-key-hash-binding"><name>Principal Key Hash Binding</name>

<t>The principalUid.keyHash field binds the delegation authorization to
the principal's public key through the hash algorithm identified by
hashAlgo. The hash output is limited to 64 bytes by the ASN.1 SIZE
constraint, and a collision in a cryptographically secure hash
function is assumed to be computationally infeasible under the
security assumptions of the selected hash algorithm. In addition,
keyHash is used to locate and bind the
principal's certificate within the credential bundle; signature
verification uses the principal's public key after certificate chain
validation, so a hash collision alone would not enable an attacker to
produce a valid principal signature. keyHash itself does not
establish trust: trust derives from certificate chain validation and
the principal's signature. keyHash is a locator and binding mechanism
only.</t>

</section>
<section anchor="nonce-replay-protection"><name>Nonce Replay Protection</name>

<t>The 32-byte nonce in DelegationAuthTBS is signed as part of the DER
encoding, making it a cryptographic input to the principal's signature
-- not a plaintext parameter. The CA verifies nonce uniqueness at
issuance time and persists used nonces. The gateway MAY optionally
maintain a local NonceCache for additional replay detection, but this
is not required: the primary defense is the CA-level uniqueness check.
Replay protection is therefore enforced at the CA issuance layer
(nonce uniqueness at issuance time), not at the gateway runtime; the
gateway's optional cache is a secondary defense only.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="private-enterprise-number-assignment"><name>Private Enterprise Number Assignment</name>

<t>This document uses the IANA Private Enterprise Number 66257, assigned
to Varwof PKI (contact: Jijie Wei, pki@varwof.com). The OID prefix is:</t>

<figure><artwork><![CDATA[
1.3.6.1.4.1.66257
]]></artwork></figure>

</section>
<section anchor="oid-registration"><name>OID Registration</name>

<t>The following OIDs are defined in this document:</t>

<dl>
  <dt>1.3.6.1.4.1.66257.1.1:</dt>
  <dd>
    <t>AIC Extension (Section AIC Extension Definition)</t>
  </dd>
  <dt>1.3.6.1.4.1.66257.1.2:</dt>
  <dd>
    <t>PrincipalAuthorization Extension (Section PrincipalAuthorization)</t>
  </dd>
  <dt>1.3.6.1.4.1.66257.1.1.4:</dt>
  <dd>
    <t>DelegationDepthControl (Section Multi-Level Delegation)</t>
  </dd>
</dl>

<t>Additional OIDs under branch 3 (National/Industry Certification) are
reserved for future allocation. The full OID tree is defined in
Section OID Tree.</t>

</section>
<section anchor="capability-scheme-registry"><name>Capability Scheme Registry</name>

<t>This version of the specification does not request an IANA registry.
Capability scheme identifiers and constraint types are registered
through an external or community registry of scheme identifiers,
which follows the vendor/product naming convention. An IANA registry
may be requested in a future revision if the scheme namespace is
transitioned to IANA administration.</t>

<t>The initial entry in the external registry:</t>

<texttable>
      <ttcol align='left'>Scheme Identifier</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>varwof/constraint-v1</c>
      <c>Authorization boundary constraint (allowed-cidr, max-concurrent, time-window)</c>
      <c>This document</c>
</texttable>

<t>The <spanx style="verb">http</spanx> and <spanx style="verb">database</spanx> scheme identifiers are reserved as examples
of externally defined capability schemes; their semantics are defined
by the capability schemes themselves and not by this document.</t>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>Per <xref target="RFC7942"></xref>, this specification is supported by a reference
implementation.  The implementation is written in Go (standard
library only, no CGO) and covers certificate issuance with
authorizationConstraints, AIC extension parsing,
DelegationAuthorization signature verification, permission
intersection (P (AND) C (AND) T) decisions, capability plugin
routing, revocation, and fully offline constraint validation.  The
companion AIC-JWT profile <xref target="AIC-JWT"></xref> is implemented in Go and in
TypeScript/WebCrypto for browser-compatible runtimes, with a
publicly accessible browser demo at https://varwof.org/aicjwt/.</t>

<t>The implementation is publicly available at:</t>

<t><list style="symbols">
  <t>https://github.com/varwof/types -- shared types, including the AIC
extension structures and the AIC-JWT core (Apache-2.0),
release v0.3.1;</t>
  <t>https://github.com/varwof/core -- PKI engine and certificate
issuance (AGPL-3.0), release v0.2.0;</t>
  <t>https://github.com/varwof/engine -- in-memory PKI data engine
(AGPL-3.0), release v0.2.0;</t>
  <t>https://github.com/varwof/gateway-core and
https://github.com/varwof/gateway -- zero-trust gateways
(Apache-2.0), gateway-core release v0.2.0 and gateway release v0.1.0;</t>
  <t>https://github.com/varwof/aic-jwt -- AIC-JWT implementation
(Go wrapper and TypeScript/WebCrypto pipeline, Apache-2.0);</t>
  <t>https://github.com/varwof/client -- command-line client
(Apache-2.0), release v0.1.0.</t>
</list></t>

<t>Language ports of the AIC extension structures and validation
logic are also published: C/OpenSSL (https://github.com/varwof/openaic),
Java (https://github.com/varwof/aic-lib-java), and .NET
(https://github.com/varwof/aic-lib-dotnet), all Apache-2.0.</t>

<t>Test status (2026-08-27): all modules build (11/11) and all unit
test suites pass (go test ./...), including the certificate
authority and HTTP serving packages; the AIC-JWT TypeScript suite
passes (node --test).  The implementation status of the AIC-JWT
profile, including its test suites, is documented in <xref target="AIC-JWT"></xref>.</t>

<t>Interoperability: an independent implementation of the AIC mapping
boundary -- the EMILIA crossing profile, which consumes native AIC
verifier results and binds them to one exact action and one
relying-party admission domain -- reproduces 13/13 positive and
hostile conformance cases against the same pinned sources.
Publication of the joint conformance kit is in progress.</t>

<t>Performance characteristics (informative; measured 2026-08-27 on an
18-core x86 server, engine mode with MySQL; methodology and raw
results at
https://github.com/varwof/core/docs/bench/en/benchmark-report-2026-08-27.md):</t>

<t><list style="symbols">
  <t>Enterprise steady state: 833 AIC certificates/s (500,000 agents,
one certificate per agent per 10 minutes) at p50 = 2.4 ms and
p99 = 5.0 ms, 0.00% error rate, approximately 7x headroom below
the measured ceiling;</t>
  <t>Single-machine ceiling: approximately 6,100 AIC certificates/s
(8,040/s with turbo boost), dominated by ECDSA signing and
DelegationAuthorization verification;</t>
  <t>Worst-case burst: 500,000 simultaneous issuance requests drain in
approximately 82 s with no dropped requests when the in-memory
engine budget is sized accordingly;</t>
  <t>Low-end hardware: a Raspberry Pi 5 (4-core, 2.4 GHz) sustains the
833/s steady state at p99 = 330 ms with approximately 2.5x
headroom.</t>
</list></t>

</section>
<section anchor="interoperability"><name>Interoperability</name>

<section anchor="relationship-to-standard-x509-extensions"><name>Relationship to Standard X.509 Extensions</name>

<section anchor="key-usage-and-extended-key-usage"><name>Key Usage and Extended Key Usage</name>

<t>AIC-enabled certificates SHOULD include the digitalSignature key usage
(<xref target="RFC5280"></xref> Section 4.2.1.3). Extended Key Usage MUST include
id-kp-clientAuth when the certificate is used for TLS client
authentication.</t>

</section>
<section anchor="basic-constraints"><name>Basic Constraints</name>

<t>AIC Agent certificates MUST have BasicConstraints CA:FALSE. CA
issuance MUST reject any request where the requester holds an AIC
certificate, preventing Agent-to-Agent chaining in single-level
deployment mode. In a delegation chain of depth 1, the sub-agent's
DelegationAuthorization is anchored to the delegating agent's AIC
certificate; as a best practice, the CA SHOULD NOT issue a certificate
with DelegationDepthControl.maxDepth greater than 1.</t>

</section>
</section>
<section anchor="interoperability-test-matrix"><name>Interoperability Test Matrix</name>

<texttable>
      <ttcol align='left'>Scenario</ttcol>
      <ttcol align='left'>AIC Gateway Behavior</ttcol>
      <ttcol align='left'>Legacy Client Behavior</ttcol>
      <ttcol align='left'>Compatibility</ttcol>
      <c>Client without AIC extension</c>
      <c>Reject if RequireAIC=true; pass-through if false</c>
      <c>Normal mTLS</c>
      <c>Config-dependent</c>
      <c>Client with AIC</c>
      <c>Full admission pipeline</c>
      <c>AIC extension ignored</c>
      <c>Yes</c>
      <c>Multiple capabilities (&lt;=64)</c>
      <c>Full parse and evaluate</c>
      <c>Ignored</c>
      <c>Yes</c>
      <c>Multiple capabilities (&gt;256)</c>
      <c>Reject (DoS protection)</c>
      <c>Ignored</c>
      <c>Limited</c>
      <c>Unknown capability scheme</c>
      <c>Deny</c>
      <c>Ignored</c>
      <c>Limited</c>
      <c>OCSP MUST-Staple missing</c>
      <c>Reject</c>
      <c>Normal OCSP</c>
      <c>No</c>
      <c>Offline + no CRL cache</c>
      <c>Fail-Close (reject)</c>
      <c>Fail-Open (allow)</c>
      <c>No</c>
</texttable>

</section>
<section anchor="tls-integration"><name>TLS Integration</name>

<section anchor="handshake-requirements"><name>Handshake Requirements</name>

<t>The AIC extension does not introduce a new TLS handshake protocol.
Instead, it leverages the existing X.509 certificate chain presented
during TLS 1.3 handshakes. When a TLS server requires AIC-authenticated
connections, it SHOULD include the AIC OID in the CertificateRequest
message.</t>

</section>
<section anchor="tls-alert-codes"><name>TLS Alert Codes</name>

<t>The following is a recommended mapping from AIC conditions to the
official TLS alert codes defined in the IANA TLS Alert Registry
(<xref target="RFC9846"></xref>); implementations MAY choose appropriate alerts in
accordance with the TLS specification.</t>

<texttable>
      <ttcol align='left'>Condition</ttcol>
      <ttcol align='left'>TLS Alert</ttcol>
      <ttcol align='left'>Code</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>AIC required but missing</c>
      <c>unsupported_extension</c>
      <c>116</c>
      <c>Client MUST include AIC</c>
      <c>AIC malformed</c>
      <c>bad_certificate</c>
      <c>42</c>
      <c>Parsing failure</c>
      <c>Capability not authorized</c>
      <c>certificate_unknown</c>
      <c>46</c>
      <c>Permission denied</c>
      <c>Impersonation without DA</c>
      <c>access_denied</c>
      <c>49</c>
      <c>Missing authorization</c>
      <c>Certificate expired/revoked</c>
      <c>certificate_expired</c>
      <c>45</c>
      <c>Lifecycle check failed</c>
</texttable>

</section>
</section>
</section>
<section anchor="limitations"><name>Limitations</name>

<t>This specification has the following limitations:</t>

<t><list style="numbers" type="1">
  <t><strong>Delegation depth limited to 1</strong>: Single-level delegation
(Principal -&gt; Agent) is the default; a chain of depth 1
(Principal -&gt; Agent -&gt; sub-Agent) MAY be supported when needed.
Chains deeper than 1 are not recommended (best practice), because
deeper chains complicate attribution and accountability, which this
specification anchors to the natural person at the top of the
chain.</t>
  <t><strong>No distributed state</strong>: Multi-gateway deployments require
out-of-band state synchronization (nonce cache, concurrency
tracking).</t>
  <t><strong>Static capability evaluation</strong>: The pure container design defers
all semantic validation to gateway plugins. Dynamic, context-aware
policy evaluation is not in scope.</t>
  <t><strong>UDP/DTLS transport</strong>: AIC for TCP/TLS and QUIC is fully specified.
Non-TLS UDP/DTLS transport is reserved for a future revision.</t>
  <t><strong>Post-quantum readiness</strong>: Algorithm OIDs for hybrid and PQC suites
are reserved but signature exchange is not yet specified.</t>
  <t><strong>Deployment scale</strong>: Enterprise-scale validation with &gt;1M agents
is not yet published.</t>
</list></t>

</section>
<section anchor="intellectual-property"><name>Intellectual Property</name>

<t>This document is subject to BCP 79 (RFC 8179). The author has filed
patent applications related to the technologies described in this
document, including Chinese patent applications CN2026112384541 and
CN2026112384607 (filed with the China National Intellectual Property
Administration). The author has filed IPR disclosure 7553 with the
IETF in accordance with BCP 79 requirements. Any applicable IPR
disclosures are available through the IETF IPR disclosure system.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks the IETF community for ongoing discussions on agent
identity and accountability frameworks.</t>

</section>
<section anchor="change-log"><name>Change Log</name>

<t>draft-wei-aic-identity-cert-01 (2026-08-30):</t>

<t><list style="symbols">
  <t>Added public reference-implementation repository URLs with pinned
release snapshots, test status, independent-implementation
interoperability results, and measured performance characteristics
(informative) to the Implementation Status section.</t>
  <t>Added informative reference to the AIC-JWT companion profile
<xref target="AIC-JWT"></xref>.</t>
  <t>Listed additional language ports (C/OpenSSL, Java, .NET).</t>
  <t>Aligned patent application numbers with IPR disclosure 7553
(CN2026112384541, CN2026112384607).</t>
</list></t>

<t>draft-wei-aic-identity-cert-00 (2026-08-18):
* Initial individual draft.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC5280;
&RFC2119;
&RFC8174;
&RFC4648;
&RFC5912;
&RFC6960;
&RFC7633;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC6749;
&RFC7942;
&RFC9846;
&RFC3820;
&RFC5755;
<reference anchor="SPIFFE" target="https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE.md">
  <front>
    <title>SPIFFE Standard</title>
    <author initials="" surname="SPIFFE Community" fullname="SPIFFE Community">
      <organization></organization>
    </author>
    <date year="2022" month="May"/>
  </front>
</reference>
<reference anchor="AGTP" target="https://datatracker.ietf.org/doc/draft-hood-agtp-agent-cert/">
  <front>
    <title>AGTP Agent Certificate Extension</title>
    <author initials="C." surname="Hood" fullname="C. Hood">
      <organization>Nomotic, Inc.</organization>
    </author>
    <date year="2026" month="June" day="28"/>
  </front>
</reference>
<reference anchor="APKI" target="https://datatracker.ietf.org/doc/draft-sharif-apki-agent-pki/">
  <front>
    <title>Agent Public Key Infrastructure (APKI): Certificate-Based Identity and Trust for Autonomous AI Agents</title>
    <author initials="R." surname="Sharif" fullname="R. Sharif">
      <organization>CyberSecAI Ltd</organization>
    </author>
    <date year="2026" month="April" day="10"/>
  </front>
</reference>
<reference anchor="AgentIdentity" target="https://datatracker.ietf.org/doc/draft-sharif-x509-agent-identity-profile/">
  <front>
    <title>X.509 Certificate Profile for Autonomous AI Agent Identity</title>
    <author initials="R." surname="Sharif" fullname="R. Sharif">
      <organization>CyberSecAI Ltd</organization>
    </author>
    <date year="2026" month="July" day="31"/>
  </front>
</reference>
<reference anchor="DAAP" target="https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/">
  <front>
    <title>Delegated Agent Authorization Protocol (DAAP)</title>
    <author initials="S." surname="Kumar" fullname="S. Kumar">
      <organization>Grantex</organization>
    </author>
    <date year="2026" month="March" day="02"/>
  </front>
</reference>
<reference anchor="OpenA2A" target="https://datatracker.ietf.org/doc/draft-singla-agent-identity-protocol/">
  <front>
    <title>Agent Identity Protocol (AIP): Decentralized Identity and Delegation for AI Agents</title>
    <author initials="P." surname="Singla" fullname="P. Singla">
      <organization>Independent</organization>
    </author>
    <date year="2026" month="April" day="18"/>
  </front>
</reference>
<reference anchor="CapabilityBound" target="https://arxiv.org/abs/2603.14332">
  <front>
    <title>Governing Dynamic Capabilities: Cryptographic Binding and Reproducibility Verification for AI Agent Tool Use</title>
    <author initials="Z." surname="Zhou" fullname="Ziling Zhou">
      <organization></organization>
    </author>
    <date year="2026" month="March" day="19"/>
  </front>
</reference>
<reference anchor="AIC-JWT" target="https://datatracker.ietf.org/doc/draft-wei-aic-jwt/">
  <front>
    <title>AI Agent Identity Certificate (AIC) JSON Web Token Profile</title>
    <author initials="J." surname="Wei" fullname="Jijie Wei">
      <organization></organization>
    </author>
    <date year="2026" month="August" day="24"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+19e1cjR5Lv//Up8rTPvZYYSSCg6W71eHbVQLexaZoB2h6P
18cUUiHKLak0VSVojfF+9huvzIysKgHjvWfO7p5hd9wgVeUzMjIev4jodrtR
mZbTZGCGR2Y4SealORrDf9NyZfaTvEyv01FcJqY1PNpvm8PPZTIv0mxurrPc
/KX3fOuVud2J4qurPLnFJvb1S9E4G83jGbQ9zuPrsnuXpN04HXVT6aA7gme7
W/0IH55k+Wpgks+LqFhezdICeylXC3g5nY+TRTLHl6KizJN4Fn6WLvKBKfNl
UW5vbb3a2o4+Jau7LB8PImO6blr0B42YftPDxL/tpOmP02+P+N3RKFvOy/gq
ndqvDpJpMolLGFwEfXya5NlyMTAnSYl/me/hP+l8Yt7hx1EUL8ubLKdxwP8M
jLoYmG965vskpb95cb5Jf0kT91mWT+J5+nfqYmCO5uP0Nh0v4yl9mczidDow
i0/pv9/G+V123RtlM/pmmacDc1OWi2Kwuam+i+ZZPoPGbhMcxtnb/efbL7fk
1+1+/5X8+rL/Yld+3d3bfWmffdXfll/3Xu3Z117s7ewMoiidX1ea3nuxa9t7
8WrXvvnq5e6e/Lrzcts28vzF8+f46/np0du3hwOagxAif2TOy3g+jvMxfeVX
En+68q+sqLywn81myzlvFP/w+jZ+PYaNH5jtre3t7tZz7j3OJ0npF3GSljfL
K1zEzWKRXl8n9p+raXa1CRsx3yxkiMUm99Gb4WiH7y5OgwnhB3K29JFyh+nx
Ge73zNdZNq5MrPopkA6QYjbLynTUAdIZ9cKp7nW39rrbLxtnCw/FZR6PPiV5
L03K6x40tgnnd5OP7g30040n5QL+A/Ogk7uJc4WjEsz1Gc/zdHk1TUfm22QF
47jOYzi3y1G5zJGRwCvtgV6J7pu4SMae78Cimgs8z8Rlhssym8OkloU7y8Wz
x5fsrGfOb+I8va4sWv1zWrb91VWSnycj6OK4HNfWbbfb3/o961ZQV90YTqys
HPxGC4d/2BkHK8hcVRPKaZ5dp9Nk3Wpo3vVPXZQX3Z3+f2FRPsM8ZVHcjbDg
qeIKHQyH4TES1guUwtMe0kyFVeIildkom5oWvth+AtfomW+Xszivcovqx7QS
7/J4Xiafa0uw04X75ncsAVxwN3nczXCEsgYT7KLAmX+Am224PWw6V+6M+OkO
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
bMCJZcxH6vPdUAu96P8BnaomhFQSAQA=

-->

</rfc>

