<?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.4.7) -->


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

]>


<rfc ipr="trust200902" docName="draft-kavian-aep-basic-session-credential-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="AEP Basic">Basic Session Credentials for the Agent Enrollment Protocol</title>

    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization>Jarwin, Inc. (InFlow)</organization>
      <address>
        <email>nas@inflowpay.ai</email>
      </address>
    </author>

    <date year="2026" month="June" day="27"/>

    
    
    

    <abstract>


<?line 38?>

<t>This document defines a Basic session-credential extension for the Agent Enrollment Protocol (AEP).  The extension lets an AEP Service issue an HTTP Basic credential through the AEP Grant command for deployments that already integrate with Basic authentication middleware.</t>



    </abstract>



  </front>

  <middle>


<?line 42?>

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

<t>AEP session credentials allow a Service to issue a stateful credential after an Agent authenticates with a baseline AEP client assertion <xref target="AEP-CORE"/>.  This document defines the <spanx style="verb">basic</spanx> grant type for Services that want to reuse HTTP Basic authentication <xref target="RFC7617"/> while preserving AEP key possession as the issuance root.  Extension request and response bodies are JSON objects <xref target="RFC8259"/> carried over HTTP semantics <xref target="RFC9110"/> as defined by AEP.</t>

<t>This extension does not replace baseline AEP authentication.  Services that implement this extension <bcp14>MUST</bcp14> continue to accept baseline AEP authentication on authenticated AEP commands.</t>

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

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>

<?line -18?>

</section>
<section anchor="grant-type"><name>Grant Type</name>

<t>The grant type identifier is:</t>

<figure><sourcecode type="text"><![CDATA[
basic
]]></sourcecode></figure>

<t>A Service that supports this extension lists <spanx style="verb">basic</spanx> in <spanx style="verb">commands.grant_types</spanx> and lists <spanx style="verb">grant</spanx> and <spanx style="verb">revoke</spanx> in <spanx style="verb">commands.supported</spanx> in its AEP Inspect document.</t>

</section>
<section anchor="inspect-configuration"><name>Inspect Configuration</name>

<t>A Service <bcp14>MAY</bcp14> publish configuration under <spanx style="verb">commands.grant_types_config.basic</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "commands": {
    "grant_types": ["basic"],
    "grant_types_config": {
      "basic": {
        "default_lifetime_seconds": "86400",
        "realm": "api.example.com",
        "scopes_supported": ["read", "write"],
        "supports_per_credential_revoke": "true"
      }
    },
    "supported": ["enroll", "grant", "inspect", "revoke", "status"]
  }
}
]]></sourcecode></figure>

<t><spanx style="verb">default_lifetime_seconds</spanx> is an AEP-owned numeric value and is therefore represented as a JSON string.</t>

<t><spanx style="verb">realm</spanx>, when present, identifies the HTTP Basic realm associated with credentials issued by this extension.</t>

<t><spanx style="verb">scopes_supported</spanx>, when present, lists Service-defined scope strings an Agent can request.</t>

<t><spanx style="verb">supports_per_credential_revoke</spanx> is a string boolean.  If absent, the default is <spanx style="verb">"false"</spanx>.  A Service that returns <spanx style="verb">credential_id</spanx> in a Grant response <bcp14>MUST</bcp14> support Revoke with that <spanx style="verb">credential_id</spanx>.  A Service that does not support per-credential Revoke <bcp14>MUST</bcp14> omit <spanx style="verb">credential_id</spanx> from Grant responses.</t>

</section>
<section anchor="grant-request"><name>Grant Request</name>

<t>The Agent invokes AEP Grant using baseline <spanx style="verb">Authorization: AEP &lt;jwt&gt;</spanx> authentication with <spanx style="verb">op</spanx> equal to <spanx style="verb">grant</spanx>.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "grant_type": "basic",
  "label": "legacy-basic-prod",
  "requested_scopes": ["read"]
}
]]></sourcecode></figure>

<t><spanx style="verb">grant_type</spanx> <bcp14>MUST</bcp14> be <spanx style="verb">basic</spanx>.</t>

<t><spanx style="verb">label</spanx> is <bcp14>OPTIONAL</bcp14> and is an Agent-provided display label.  Services <bcp14>MAY</bcp14> ignore it.</t>

<t><spanx style="verb">requested_scopes</spanx> is <bcp14>OPTIONAL</bcp14>.  A Service <bcp14>MAY</bcp14> grant fewer scopes than requested.  Unsupported requested scopes <bcp14>MAY</bcp14> be omitted from the response <spanx style="verb">scopes</spanx> array.  If the Service cannot issue a useful credential for the requested scopes, it <bcp14>MUST</bcp14> return <spanx style="verb">invalid_request</spanx>.</t>

<t>The Agent does not submit a password.  The Service generates the username and password, or generates the password for a Service-owned username, and returns the credential in the Grant response.</t>

</section>
<section anchor="grant-response"><name>Grant Response</name>

<t>A successful Grant response is a JSON object:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "credential_id": "bas_01HZY8W7Q2F8J7D3P9G9Z1N6TT",
  "expires_at": "2026-12-01T00:00:00Z",
  "password": "s3cr3tExample",
  "realm": "api.example.com",
  "scopes": ["read"],
  "username": "aep_agent_abc123"
}
]]></sourcecode></figure>

<t><spanx style="verb">username</spanx> and <spanx style="verb">password</spanx> are <bcp14>REQUIRED</bcp14>.  Agents <bcp14>MUST</bcp14> treat <spanx style="verb">password</spanx> as an opaque secret. Services <bcp14>MUST</bcp14> generate values that can be encoded according to RFC 7617 without lossy transformation. Generated passwords <bcp14>MUST</bcp14> contain at least 128 bits of entropy. Generated usernames and passwords <bcp14>MUST NOT</bcp14> contain control characters.</t>

<t><spanx style="verb">expires_at</spanx> is <bcp14>REQUIRED</bcp14> and is an RFC 3339 <xref target="RFC3339"/> timestamp for credential expiry.</t>

<t><spanx style="verb">realm</spanx>, when present, identifies the associated HTTP Basic realm.</t>

<t><spanx style="verb">scopes</spanx> is <bcp14>REQUIRED</bcp14> and contains the granted scope strings.  The Service <bcp14>MAY</bcp14> return an empty array when the Basic credential has no scope-limited authorization.</t>

<t><spanx style="verb">credential_id</spanx>, when present, is a stable identifier for per-credential Revoke.  If present, the Service <bcp14>MUST</bcp14> support Revoke with this value.</t>

<t>The response does not include the base64-encoded <spanx style="verb">Authorization</spanx> value.  Agents construct that value locally from <spanx style="verb">username ":" password</spanx> according to RFC 7617.</t>

</section>
<section anchor="credential-presentation"><name>Credential Presentation</name>

<t>On later HTTP requests, the Agent presents the credential using HTTP Basic authentication:</t>

<figure><sourcecode type="http-message"><![CDATA[
Authorization: Basic YWVwX2FnZW50X2FiYzEyMzpzM2NyM3RFeGFtcGxl
]]></sourcecode></figure>

<t>The encoded value is standard base64 of <spanx style="verb">username ":" password</spanx> as defined by RFC 7617.  This encoding is not AEP's base64url binary convention.</t>

<t>Authenticated AEP command endpoints <bcp14>MUST</bcp14> continue to accept baseline AEP authentication.</t>

</section>
<section anchor="revoke"><name>Revoke</name>

<t>The Agent invokes AEP Revoke using baseline <spanx style="verb">Authorization: AEP &lt;jwt&gt;</spanx> authentication with <spanx style="verb">op</spanx> equal to <spanx style="verb">revoke</spanx>.</t>

<t>To revoke all Basic credentials of this type for the authenticated Agent:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "grant_type": "basic"
}
]]></sourcecode></figure>

<t>To revoke one Basic credential when the Service returned <spanx style="verb">credential_id</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "credential_id": "bas_01HZY8W7Q2F8J7D3P9G9Z1N6TT",
  "grant_type": "basic"
}
]]></sourcecode></figure>

<t>Revoke returns an empty JSON object on success.  The Service <bcp14>MUST</bcp14> return success regardless of whether a matching credential existed.</t>

<t>To revoke all session credentials of every grant type, Agents use the core <spanx style="verb">all_grant_types</spanx> Revoke request.</t>

</section>
<section anchor="error-handling"><name>Error Handling</name>

<t>This extension uses the AEP error vocabulary defined by the core protocol.  A Basic credential that is expired, malformed, revoked, unknown, or bound to a different Agent fails as <spanx style="verb">not_recognized</spanx>.</t>

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

<t>This document requests registration of <spanx style="verb">basic</spanx> in the AEP Grant Types registry.</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Value</ttcol>
      <c>Grant Type</c>
      <c><spanx style="verb">basic</spanx></c>
      <c>Description</c>
      <c>HTTP Basic credential issued through AEP Grant</c>
      <c>Reference</c>
      <c>This document</c>
</texttable>

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

<t>Basic credentials are bearer secrets once encoded into the Authorization header.  Services <bcp14>MUST</bcp14> store passwords using strong password-storage controls.  Services <bcp14>MUST NOT</bcp14> log raw passwords or Authorization header values, and Services <bcp14>MUST</bcp14> support AEP Revoke for every advertised grant type.  Agents that suspect credential disclosure <bcp14>SHOULD</bcp14> call AEP Revoke using baseline AEP authentication and then fall back to per-request signed client assertions until a new credential is issued.</t>

<t>Services <bcp14>SHOULD</bcp14> use a distinct realm or credential store for AEP-issued Basic credentials when the Service also supports human-facing Basic credentials.</t>

</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>Basic credentials can become correlation handles if reused outside the issuing Service.  Agents <bcp14>MUST NOT</bcp14> present AEP-issued Basic credentials to other Services.  Services <bcp14>MUST NOT</bcp14> log raw passwords or Authorization header values in ordinary logs or telemetry.</t>

</section>


  </middle>

  <back>



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



<reference anchor="RFC3339">
  <front>
    <title>Date and Time on the Internet: Timestamps</title>
    <author fullname="G. Klyne" initials="G." surname="Klyne"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2002"/>
    <abstract>
      <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3339"/>
  <seriesInfo name="DOI" value="10.17487/RFC3339"/>
</reference>
<reference anchor="RFC7617">
  <front>
    <title>The 'Basic' HTTP Authentication Scheme</title>
    <author fullname="J. Reschke" initials="J." surname="Reschke"/>
    <date month="September" year="2015"/>
    <abstract>
      <t>This document defines the "Basic" Hypertext Transfer Protocol (HTTP) authentication scheme, which transmits credentials as user-id/ password pairs, encoded using Base64.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7617"/>
  <seriesInfo name="DOI" value="10.17487/RFC7617"/>
</reference>
<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</reference>
<reference anchor="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>

<reference anchor="AEP-CORE" target="https://datatracker.ietf.org/doc/draft-kavian-agent-enrollment-protocol/">
  <front>
    <title>The Agent Enrollment Protocol</title>
    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization></organization>
    </author>
    <date year="2026" month="June" day="27"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-kavian-agent-enrollment-protocol-00"/>
</reference>


<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>





  </back>

<!-- ##markdown-source:
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

-->

</rfc>

