<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2865 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2865.xml">
<!ENTITY RFC3579 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3579.xml">
<!ENTITY RFC5080 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5080.xml">
<!ENTITY RFC6158 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6158.xml">
<!ENTITY RFC6929 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6929.xml">
<!ENTITY RFC7120 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7120.xml">
<!ENTITY RFC7268 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7268.xml">
<!ENTITY RFC8044 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8044.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9190 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9190.xml">
<!ENTITY RFC9542 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9542.xml">
<!ENTITY RFC9846 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9846.xml">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="std"
     consensus="true"
     docName="draft-rich-radext-wlan-security-profile-00"
     ipr="trust200902"
     submissionType="IETF"
     version="3">
  <front>
    <title abbrev="RADIUS WLAN Security Profile">RADIUS Attribute for IEEE 802.11 WLAN Security Profiles</title>
    <seriesInfo name="Internet-Draft" value="draft-rich-radext-wlan-security-profile-00"/>
    <author fullname="Ken Rich" initials="K." surname="Rich">
      <organization>HPE</organization>
      <address>
        <email>ken.rich@hpe.com</email>
      </address>
    </author>
    <author fullname="Dan Harkins" initials="D." surname="Harkins">
      <organization>HPE</organization>
      <address>
        <email>daniel.harkins@hpe.com</email>
      </address>
    </author>
    <date/>
    <area>Security</area>
    <workgroup>RADIUS EXTensions</workgroup>
    <keyword>RADIUS</keyword>
    <keyword>IEEE 802.11</keyword>
    <keyword>security profile</keyword>
    <abstract>
      <t>RADIUS has attributes that let an IEEE 802.11
      authenticator report the AKM suite and pairwise cipher selected for
      an association. That is useful, but it is not enough anymore. IEEE
      802.11, as amended, also defines security profiles. A security
      profile is the complete set of AKM, pairwise cipher, and related
      security capabilities accepted for an association.</t>
      <t>The problem is that the AKM and the pairwise cipher no longer maps
      to a single security profile. Using these two values, the
      RADIUS server cannot tell which of the security profiles was accepted.</t>
      <t>This document defines the WLAN-Security-Profile RADIUS attribute.
      The attribute reports the IEEE 802.11 security profile accepted by
      the responder for the association. It complements the existing IEEE
      802 network attributes.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines the WLAN-Security-Profile RADIUS attribute.
      It reports the IEEE 802.11 <xref target="IEEE80211"/> security
      profile that the responder selected for an association. It
      complements the IEEE 802 attributes defined by RFC 7268
      <xref target="RFC7268"/> and changes the meaning or processing of
      none of them.</t>
      <t>RFC 7268 gives a RADIUS server WLAN-AKM-Suite and
      WLAN-Pairwise-Cipher, which report the AKM suite and pairwise
      cipher selected for an association. IEEE 802.11, as amended, also
      defines security profiles. A security profile is an atomic set of
      AKM, pairwise cipher, and related security capabilities, and the
      responder selects exactly one.</t>
      <t>Several security profiles can share the same AKM suite and pairwise 
      cipher, so those two values can no longer uniquely identify the security
      suite the responder selected. The security profiles specify additional 
      security capabilities, such as whether IEEE 802.1X authentication used 
      Authentication frames, whether (Re)Association frames were encrypted, 
      or whether PMKSA caching privacy applied. Because of this, a server 
      cannot tell which security profile is in effect and
      cannot apply any policy that depends on it.</t>
      <t>This document depends on the IEEE 802.11 amendment that defines
      security profiles, so publication is expected to follow
      ratification of that amendment. Early allocation under
      <xref target="RFC7120"/> is requested so that implementation and
      interoperability work are not blocked on it.</t>
    </section>

    <section anchor="conventions">
      <name>Conventions and Terminology</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>
      <dl newline="true">
        <dt>AKM suite</dt>
        <dd>An IEEE 802.11 Authentication and Key Management suite
        selector.</dd>
        <dt>authentication exchange</dt>
        <dd>The sequence of Access-Request and Access-Challenge packets
        that carries one IEEE 802.1X authentication for an association.
        RADIUS State binds the packets as described by
        <xref target="RFC5080"/>.</dd>
        <dt>NAS</dt>
        <dd>A RADIUS Network Access Server. In this document, the NAS is
        normally the IEEE 802.11 responder and IEEE 802.1X
        authenticator.</dd>
        <dt>supplicant</dt>
        <dd>The IEEE 802.11 non-AP station requesting access, acting as
        the IEEE 802.1X supplicant.</dd>
        <dt>security profile</dt>
        <dd>An atomic set of AKM, pairwise cipher, and security
        capabilities, defined by IEEE 802.11 and identified by a Security
        Profile Number, or defined by another organization and identified
        by that organization's Organizationally Unique Identifier (OUI)
        or Company Identifier (CID) together with a value it assigns.</dd>
        <dt>Security Profile Selector</dt>
        <dd>The four-octet value defined in
        <xref target="attribute-definition"/> that identifies a security
        profile. It consists of a 3-octet OUI or CID followed by a
        1-octet Profile field.</dd>
        <dt>accepted profile</dt>
        <dd>The security profile that the IEEE 802.11 responder has
        validated and accepted.</dd>
      </dl>
    </section>

    <section anchor="applicability">
      <name>NAS Behavior</name>
      <section anchor="responder-acceptance">
        <name>When to Include the Attribute</name>
        <t>IEEE 802.11 defines how a security profile is advertised,
        discovered, and negotiated with the responder. Acceptance occurs
        before the NAS generates its first Access-Request for the
        association.</t>
        <t>A NAS generating an Access-Request for an IEEE 802.1X exchange
        SHOULD include WLAN-Security-Profile once it has accepted a
        security profile for the association. A NAS MUST omit the attribute 
        if no security profile was accepted.</t>
        <t>This specification does not require a NAS to generate an
        Access-Request solely to report a security profile. If no RADIUS
        exchange occurs, there is nothing to report. Examples include use
        of a cached PMKSA or an association that does not use IEEE
        802.1X.</t>
        <t>A NAS MUST include no more than one WLAN-Security-Profile
        attribute in an Access-Request.</t>
      </section>

      <section anchor="what-to-report">
        <name>What to Report</name>
        <t>The value carried in WLAN-Security-Profile identifies the
        security profile the responder accepted. The NAS MUST NOT report
        a security profile that it rejected. The NAS MUST NOT report a
        security profile that was offered but not accepted. If multiple
        security profiles were advertised, the NAS MUST report only the
        accepted one.</t>
        <t>A NAS MUST NOT report a selector value that identifies any
        security profile other than the accepted one. A NAS MUST NOT
        report the Security Profile Number that indicates only that a
        vendor security profile is in use; it MUST report the selector
        of the accepted vendor security profile instead.</t>
        <t>Receipt of WLAN-Security-Profile by the RADIUS server means the
        NAS is asserting that it accepted the reported profile. It does
        not, by itself, mean the supplicant has completed or successfully
        validated any later IEEE 802.11 exchange.</t>
      </section>

      <section anchor="exchange-consistency">
        <name>Consistency Within an Authentication Exchange</name>
        <t>Once a NAS has included WLAN-Security-Profile in an
        Access-Request, any later Access-Request bound to the same
        authentication exchange that contains WLAN-Security-Profile MUST
        contain the same value. The NAS MUST NOT change the reported
        security profile within an authentication exchange.</t>
        <t>If the IEEE 802.11 exchange restarts with another security
        profile, the NAS MUST treat it as a new authentication exchange.
        State from the previous exchange MUST NOT be reused for the new
        one.</t>
      </section>

      <section anchor="identifier-scope">
        <name>Identifier Scope</name>
        <t>This document reports an IEEE 802.11 value only. Other IEEE
        802 link types, including MACsec <xref target="IEEE8021AE"/>, do
        not define a security profile and are outside the scope of this
        document. Reporting a comparable value for another link type
        would require a separate attribute.</t>
        <t>If IEEE 802.11 later needs an identifier that does not fit the
        selector defined in <xref target="attribute-definition"/>, a new
        RADIUS attribute would be required. This document does not
        reserve part of the selector space for that purpose.</t>
      </section>
    </section>

    <section anchor="attribute-definition">
      <name>WLAN-Security-Profile Attribute</name>
      <t>The attribute design follows the RADIUS design guidance in
      <xref target="RFC6158"/> and the data-type requirements in
      <xref target="RFC8044"/>. Its format matches the IEEE 802 selector
      attributes already defined by <xref target="RFC7268"/>.</t>
      <figure>
        <name>WLAN-Security-Profile Attribute</name>
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Length     |             Value             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Value             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <dl newline="true">
        <dt>Description:</dt>
        <dd>Reports the IEEE 802.11 security profile accepted by the
        responder for the association.</dd>
        <dt>Type:</dt>
        <dd>TBD1.</dd>
        <dt>Length:</dt>
        <dd>6. An attribute with any other Length is invalid as defined
        by <xref target="RFC6929"/>.</dd>
        <dt>Data Type:</dt>
        <dd>integer.</dd>
        <dt>Value:</dt>
        <dd>The Attr-Data field contains a four-octet Security Profile
        Selector in network byte order. The selector consists of a
        3-octet OUI or CID followed by a 1-octet Profile field.</dd>
      </dl>
      <figure>
        <name>Security Profile Selector</name>
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  OUI or CID                   |    Profile    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>IEEE 802.11 defines security profiles under the OUI 00-0F-AC.
      When the selector carries that OUI, the Profile field is a
      Security Profile Number. When the selector carries any other OUI
      or CID, the Profile field is the value assigned by the
      organization that holds that identifier. IEEE 802.11 vendor
      security profiles already take this form, so a NAS copies the
      value unchanged. The IEEE Registration Authority assigns OUIs and
      CIDs from disjoint spaces <xref target="RFC9542"/>, so the two
      forms cannot collide.</t>
      <t>The attribute is registered with data type integer because the
      value is four octets wide; however, the selector is an identifier
      and integer-oriented arithmetic operations are not valid on this
      attribute value. The only meaningful comparison is asking whether
      two selectors are equal.</t>
    </section>

    <section anchor="attribute-table">
      <name>Table of Attributes</name>
      <t>The following table provides a guide to which attributes may be
      found in which kinds of packets, and in what quantity.</t>
      <artwork><![CDATA[
   Access-  Access-  Access-  Access-
   Request  Accept   Reject   Challenge  #     Attribute
   0-1      0        0        0          TBD1  WLAN-Security-Profile
]]></artwork>
      <t>The following table defines the meaning of the above table
      entries.</t>
      <artwork><![CDATA[
   0     This attribute MUST NOT be present in the packet.
   0-1   Zero or one instance of this attribute MAY be present in the
         packet.
]]></artwork>
      <t>WLAN-Security-Profile MUST NOT occur in any other RADIUS packet
      type. This version does not define accounting use of the attribute.</t>
    </section>

    <section anchor="server-processing">
      <name>RADIUS Server Processing</name>
      <t>A RADIUS server MAY use WLAN-Security-Profile as input to local
      policy. The server MUST treat it as lower-layer context asserted by
      the NAS and MUST NOT treat it as evidence that the supplicant was
      authenticated.</t>
      <t>When local policy requires a specific WLAN security profile, 
      the server MUST NOT treat an absent, duplicate, invalid, or 
      unknown WLAN-Security-Profile value as satisfying that policy.</t>
      <t>An unknown Security Profile Selector MUST NOT be treated as
      equivalent to any known security profile, although a server MAY
      apply a distinct policy explicitly configured for unknown or
      future security profiles.</t>
      <t>A Security Profile Number identifies exactly one AKM, so a
      server does not need WLAN-AKM-Suite to determine which AKM the
      reported security profile uses. When both attributes are present
      and the selector carries the OUI 00-0F-AC, a server MAY check
      that the two agree. The NAS derives the two values separately, so
      a disagreement indicates a NAS defect, a stale mapping table, or
      modification of the request along the path. A server MUST NOT
      resolve a disagreement by translating or remapping either value. A
      selector carrying any other OUI or CID is not subject to this
      check, because the organization that holds the identifier defines
      what the value means.</t>
      <t>A server MAY use WLAN-Security-Profile to select EAP-TLS or TLS
      policy. EAP-TLS <xref target="RFC9190"/> and TLS
      <xref target="RFC9846"/> remain responsible for their own
      negotiation and authentication. Receipt of the attribute does not
      prove that any particular TLS group, signature algorithm, cipher
      suite, or other TLS parameter was used.</t>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>WLAN-Security-Profile is an assertion by the NAS about the IEEE
      802.11 link. A server learns what the NAS reports, not something
      the supplicant confirmed, and even a trusted NAS can inadvertently 
      report a wrong value. The generic RADIUS threats described in
      <xref target="RFC2865"/> and <xref target="RFC3579"/> apply as they
      do to any attribute.</t>
      <t>Removing the attribute, such as by a proxy along the path, is a
      silent downgrade. A server cannot tell a stripped attribute from a
      NAS that never sent one.</t>
      <t>The attribute can reveal the WLAN security posture of a
      deployment. Confidential transport reduces that exposure.</t>
    </section>

    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>A RADIUS server should be able to update the IEEE 802.11
      security profile mapping used for policy evaluation independently
      of its RADIUS protocol implementation. IEEE 802.11 assigns
      security profiles on its own schedule, so a server that builds the
      mapping into its code needs a software change every time. A
      security profile that is simply absent from the mapping usually
      means the mapping predates a later IEEE 802.11 assignment, not
      that the NAS is misbehaving.</t>
      <t>Logs should identify the received Security Profile Selector,
      any received WLAN-AKM-Suite, and the local mapping revision or
      configuration used to interpret them. Implementations should
      show named security profiles to policy administrators while
      retaining the selector values in protocol logs.</t>
      <t>WLAN-Security-Profile is incrementally deployable with RADIUS
      implementations and proxy paths that preserve unknown attributes
      under existing RADIUS behavior. A legacy server cannot apply
      profile-specific policy. A proxy that removes the attribute can
      cause a request to fail policy that requires a security profile.
      Operators should test proxy paths before enabling such policy.</t>
    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate one value from the standard space
      of the "RADIUS Attribute Types" registry. This request is
      consistent with the allocation preference in
      <xref target="RFC6929"/> for specifications defining fewer than
      ten attributes.</t>
      <t>IANA is requested to assign the value 191 if it is available.
      That value directly follows WLAN-RF-Band, the last of the IEEE 802
      attributes defined by <xref target="RFC7268"/>, and assigning it
      keeps the IEEE 802.11 attributes in one contiguous block.</t>
      <table>
        <name>Requested RADIUS Attribute Type</name>
        <thead>
          <tr>
            <th>Value</th>
            <th>Description</th>
            <th>Data Type</th>
            <th>Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>TBD1</td>
            <td>WLAN-Security-Profile</td>
            <td>integer</td>
            <td>RFC-to-be</td>
          </tr>
        </tbody>
      </table>
      <t>The requested data type matches the data type registered for the
      IEEE 802 selector attributes defined by
      <xref target="RFC7268"/>.</t>
      <t>This document does not create or modify an IANA registry for
      WLAN security profiles. IEEE 802.11 owns the Security Profile
      Number namespace. Each organization owns the value space under its
      own OUI or CID.</t>
    </section>
  </middle>

  <back>
    <references anchor="references">
      <name>References</name>
      <references anchor="normative-references">
        <name>Normative References</name>
      &RFC2119;
      &RFC2865;
      &RFC3579;
      &RFC5080;
      &RFC6929;
      &RFC7268;
      &RFC8044;
      &RFC8174;
      <reference anchor="IEEE80211">
        <front>
          <title>IEEE Standard for Information Technology - Telecommunications and Information Exchange between Systems Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
          <author>
            <organization>IEEE</organization>
          </author>
          <date month="February" year="2021"/>
        </front>
        <seriesInfo name="IEEE Std" value="802.11-2020"/>
        <refcontent>as amended by the IEEE 802.11 amendment defining security profiles</refcontent>
      </reference>
      </references>

      <references anchor="informative-references">
        <name>Informative References</name>
      &RFC6158;
      &RFC7120;
      &RFC9190;
      &RFC9542;
      &RFC9846;
      <reference anchor="IEEE8021AE">
        <front>
          <title>IEEE Standard for Local and Metropolitan Area Networks - Media Access Control (MAC) Security</title>
          <author>
            <organization>IEEE</organization>
          </author>
          <date month="December" year="2018"/>
        </front>
        <seriesInfo name="IEEE Std" value="802.1AE-2018"/>
      </reference>
      </references>
    </references>

    <section anchor="selector-examples">
      <name>Security Profile Selector Examples</name>
      <t>This appendix is nonnormative. It shows both forms of the
      Security Profile Selector defined in
      <xref target="attribute-definition"/>.</t>
      <t>In the first example the responder accepts a security profile
      defined by IEEE 802.11 and identified by the Security Profile
      Number NN. The NAS prefixes that number with 00-0F-AC.</t>
      <figure>
        <name>Encoded IEEE Security Profile</name>
        <artwork><![CDATA[
   Type    TBD1
   Length  6
   Value   00-0F-AC-NN
]]></artwork>
      </figure>
      <t>NN stands for whichever Security Profile Number the responder
      accepted. This document does not use a specific number, because
      IEEE 802.11 has not reserved one for use in examples.</t>
      <t>In the second example the responder accepts a vendor-defined
      security profile identified by the OUI 04-22-34 and the Profile
      value 42. IEEE 802.11 already identifies the profile by those four
      octets, so the NAS copies them into the Attr-Data field without
      change.</t>
      <figure>
        <name>Encoded Vendor Security Profile</name>
        <artwork><![CDATA[
   Type    TBD1
   Length  6
   Value   04-22-34-42
]]></artwork>
      </figure>
      <t>04-22-34 is an Organizationally Unique Identifier assigned by
      the IEEE Registration Authority. The Profile value 42 under it
      carries no assigned meaning and appears here only to show the
      encoding.</t>
      <t>The server applies whatever policy is configured for the
      selector it receives. In the vendor case the AKM comparison
      described in <xref target="server-processing"/> does not apply,
      because the OUI is not 00-0F-AC and the organization that holds
      the identifier defines what the value means.</t>
    </section>

    <section anchor="open-issues">
      <name>Open Issues</name>
      <ul>
        <li>Confirm through RADEXT review that the joint-processing
        requirements preserve RFC 7268 semantics and still give clear
        behavior when both attributes are present.</li>
        <li>Confirm the exact designation of the normative IEEE 802.11
        reference once the amendment defining security profiles is
        ratified, and update the citation accordingly.</li>
        <li>Confirm with IEEE 802.11 that a Security Profile Selector of
        00-0F-AC followed by a Security Profile Number is an acceptable
        way to render an IEEE-defined security profile outside IEEE
        802.11. The vendor form already matches the OUI and OUI Type
        format used by IEEE 802.11.</li>
        <li>Confirm that a vendor security profile can be identified
        unambiguously on every path that reaches an Access-Request, and
        that the Security Profile Number used to indicate a vendor
        security profile is stable.</li>
        <li>Settle the exact IEEE clause and table citations once the
        amendments stabilize.</li>
        <li>Determine whether operators need the accepted security
        profile in Accounting-Request records for audit or compliance
        evidence.</li>
      </ul>
    </section>

  </back>
</rfc>