<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-macaddress-on-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title>Media Access Control (MAC) Addresses in X.509 Certificates</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-macaddress-on-07"/>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <author initials="C." surname="Bonnell" fullname="Corey Bonnell">
      <organization abbrev="DigiCert">DigiCert, Inc.</organization>
      <address>
        <email>corey.bonnell@digicert.com</email>
      </address>
    </author>
    <author initials="J." surname="Mandel" fullname="Joe Mandel">
      <organization abbrev="AKAYLA">AKAYLA, Inc.</organization>
      <address>
        <email>joe@akayla.com</email>
      </address>
    </author>
    <author initials="T." surname="Okubo" fullname="Tomofumi Okubo">
      <organization abbrev="Penguin Securities">Penguin Securities Pte. Ltd.</organization>
      <address>
        <email>tomofumi.okubo+ietf@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="StJohns" fullname="Michael StJohns">
      <organization>NthPermutation Security LLC</organization>
      <address>
        <email>msj@nthpermutation.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="10"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>MACsec</keyword>
    <keyword>802.1AE</keyword>
    <keyword>X.509</keyword>
    <keyword>SubjectAltName</keyword>
    <abstract>
      <?line 81?>

<t>This document defines a new GeneralName.otherName for inclusion in the X.509 Subject Alternative Name (SAN) and Issuer Alternative Name (IAN) extensions to carry an IEEE Media Access Control (MAC) address. The new name form makes it possible to bind a layer‑2 interface identifier to a public key certificate. Additionally, this document defines how constraints on this name form can be encoded and processed in the X.509 Name Constraints extension (NCE).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://CBonnell.github.io/draft-housley-lamps-macaddress-on/draft-ietf-lamps-macaddress-on.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-macaddress-on/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/CBonnell/draft-housley-lamps-macaddress-on"/>.</t>
    </note>
  </front>
  <middle>
    <?line 85?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Deployments that use X.509 certificates to identify a device by a Media Access Control (MAC) address need a standard way to encode it in the Subject Alternative Name (SAN) extension defined in <xref target="RFC5280"/>. This document defines a new otherName form "MACAddress". The name form carries either a 48‑bit IEEE 802 MAC address (EUI‑48) or a 64‑bit extended identifier (EUI‑64) in an OCTET STRING <xref target="X680"/>. Additionally, the name form also can convey constraints on EUI-48 or EUI-64 values when included in the Name Constraints extension (NCE) defined in <xref section="4.2.1.10" sectionFormat="of" target="RFC5280"/>. The new name form enables certificate‑based authentication at layer 2 and facilitates secure provisioning in Internet‑of‑Things (IoT) and automotive networks, in particular.</t>
      <t>Note that while this construct may be used to carry EUI-48 or EUI-64 addresses in an Issuer Alternative Name (IAN) extension, there are probably few, if any, reasons to do so.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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="macaddress-othername">
      <name>MACAddress otherName</name>
      <t>In this document "otherName", "OtherName" and "GeneralName.otherName" all refer to a GeneralName.otherName field included in a SAN or IAN.  The new name form is identified by the OBJECT IDENTIFIER (OID) id‑on‑MACAddress (<tt>1.3.6.1.5.5.7.8.12</tt>) and declared below using the OTHER-NAME class declaration syntax. The name form has variants to convey an EUI-48 as an OCTET STRING consisting of 6 octets, or an EUI-64 as an OCTET STRING consisting of 8 octets. Constraints on EUI-48 and EUI-64 values are conveyed as OCTET STRINGs whose lengths are twice the octet length of the identifiers. The first set of N octets (where N is the length of the address octets) define the bit pattern of the constraint that the address must match, and the second set of N octets defines the bit mask that defines the set of significant bits in the bit pattern.</t>
      <t>The following sub-sections describe how to encode EUI-48 and EUI-64 values and their corresponding constraints.</t>
      <section anchor="encoding-a-macaddress-as-an-alternative-name">
        <name>Encoding a MACAddress as an alternative name</name>
        <t>When the name form is included in a SAN or IAN extension as an OtherName, the syntax consists of exactly six or eight octets. Values are encoded with the most significant octet encoded first ("big-endian" or "left-to-right" encoding). No text representation is permitted in the certificate, as human‑readable forms such as "00‑24‑98‑7B‑19‑02" or "0024.987B.1902" are used only in management interfaces. When a device possesses a 48‑bit MAC identifier, the Certification Authority (CA) <bcp14>MUST</bcp14> encode it using a 6‑octet OCTET STRING as the MACAddress value. When the device’s factory identifier is a 64‑bit EUI‑64 or when no canonical 48‑bit form exists, the CA <bcp14>MUST</bcp14> encode it using an 8‑octet OCTET STRING as the MACAddress value.</t>
        <t>Example: 00-24-98-7B-19-02 encodes as OCTET STRING '0024987B1902'H.</t>
      </section>
      <section anchor="encoding-a-macaddress-constraint">
        <name>Encoding a MACAddress constraint</name>
        <t>When the name form is included in the NCE, the syntax consists of an OCTET STRING that is twice as long as the OCTET STRING representation of the address type being constrained. Within the OCTET STRING, two elements are encoded:</t>
        <ol spacing="normal" type="1"><li>
            <t>The first set of N octets (where N is 6 for an EUI-48 constraint or 8 for an EUI-64 constraint) contains the "value bit pattern". This bit pattern encodes the bits that the masked address must contain to be considered a match.</t>
          </li>
          <li>
            <t>The second set of N octets encodes the "mask bit pattern" of the constraint. Each bit that is asserted in the mask bit pattern indicates that the bit in the same position in the address is constrained by the first set of N octets.</t>
          </li>
        </ol>
        <t>For example, a constraint that specifies that the acceptable names must all be within an Organizationally Unique Identifier (OUI) of '00-00-5e' for an EUI-48 address, would have a value part of '00005E000000'H, a mask part of 'FFFFFFFF000000'H and would be encoded as OCTET STRING '00005E000000FFFFFF000000'H.</t>
        <t>The bit patterns encoded in both the value bit pattern and mask bit pattern are encoded with the most significant bit encoded first ("big-endian" or "left-to-right" encoding).</t>
        <t>If a bit is not asserted in the mask bit pattern, then the CA <bcp14>MUST NOT</bcp14> assert the corresponding bit in the value bit pattern. This rule ensures that a canonical encoding is used for a given mask bit pattern and value bit pattern.</t>
        <t>Per <xref section="4.2.1.10" sectionFormat="of" target="RFC5280"/>, NCE are valid in and "<bcp14>MUST</bcp14> be used only in CA certificates".</t>
      </section>
      <section anchor="generation-and-validation-rules">
        <name>Generation and Validation Rules</name>
        <t>The CA <bcp14>MUST</bcp14> ensure that MACAddress otherName values included in certificates that it issues are owned by (or is expected to be owned by) the subject device for the certificate's lifetime. The same MAC address <bcp14>MUST NOT</bcp14> be included in certificates issued to different devices, unless different devices share the same layer‑2 interface.</t>
        <t>A relying party that matches a presented MAC address to a certificate <bcp14>SHALL</bcp14> perform a byte-for-byte comparison of the OCTET STRING contents.</t>
        <t>Wildcards are not supported.</t>
        <t>Self-signed certificates that carry a MACAddress otherName <bcp14>MUST</bcp14> include the address of one of the device's physical ports.</t>
      </section>
      <section anchor="name-constraints-extension-path-processing">
        <name>Name Constraints Extension Path Processing</name>
        <t>The MACAddress otherName follows the general rules for otherName constraints in <xref target="RFC5280"/>, Section 4.2.1.10. An NCE <bcp14>MAY</bcp14> impose permittedSubtrees and excludedSubtrees on OtherNames of type id‑on‑MACAddress.</t>
        <t>In the pseudo-code below, 'mask' is shorthand for the bit string formed from the mask portion of a constraint (e.g., the second set of N octets in the constraint, where N is 6 for an EUI-48 constraint or 8 for an EUI-64 constraint). Similarly, 'value' refers to the bit string formed from the first set of N octets in the constraint.</t>
        <t>The declaration 'constraint' used below indicates an OtherName.MACAddress constraint value/mask pair - with fields 'mask', 'value' and 'length'.  '.length' as a field returns the byte length of the complete encoded constraint - either 12 or 16 depending on the type of constraint.  The declaration 'name' used below represents an OtherName.MACAddress name with fields 'value' and 'length'. Length is either 6 or 8 representing the encoded name's length.</t>
        <section anchor="matching-rule">
          <name>Matching Rule</name>
          <t>To determine if a name matches a given constraint, the certificate-consuming application performs the following algorithm:</t>
          <ol spacing="normal" type="1"><li>
              <t>If the name is 6 octets (representing an EUI-48 value) and the constraint is 16 octets (representing an EUI-64 constraint), then the name does not match the constraint.</t>
            </li>
            <li>
              <t>If the name is 8 octets (representing an EUI-64 value) and the constraint is 12 octets (representing an EUI-48 constraint), then the name does not match the constraint.</t>
            </li>
            <li>
              <t>Extract the value bit pattern from the upper (big-endian) N octets of the constraint, where N is "6" for EUI-48 identifiers and "8" for EUI-64 identifiers.</t>
            </li>
            <li>
              <t>Extract the mask bit pattern from the lower (big-endian) N octets of the constraint, where N is "6" for EUI-48 identifiers and "8" for EUI-64 identifiers.</t>
            </li>
            <li>
              <t>Perform an exclusive OR (XOR) operation with the value bit string extracted in step 3 and the octets of the name value.</t>
            </li>
            <li>
              <t>Perform a bitwise AND operation with the bit string calculated in step 5 and the mask bit pattern.</t>
            </li>
            <li>
              <t>If the result of step 6 is a bit string consisting of entirely zeros, then the name matches the constraint. Conversely, if the result of the operation is a bit string with at least one bit asserted, then the name does not match the constraint.</t>
            </li>
          </ol>
          <t>The algorithm can be alternatively expressed as:</t>
          <sourcecode type="pseudo"><![CDATA[
// Returns true if 'name n' matches 'constraint c'
boolean nameMatchesConstraint (name n, constraint c) {
   return ((2 * n.length) == c.length &&
           ((c.value ^ n.value) &
            c.mask) == 0) ;
}
]]></sourcecode>
          <t>For example, a constraint of '000000000000 030000000000'H will be matched by any universal/unicast EUI-48 address such as 00-00-5e-00-50-34.  A constraint of '00005E000000 FFFFFF000000'H will be matched by any universal/unicast address with an OUI of 00-00-5E - i.e., it will also match 00-00-5e-00-50-34.  Note that '00-00-5E' is an OUI controlled by IANA (<xref section="1.3" sectionFormat="of" target="RFC9542"/>).</t>
          <t>Implementations are not required to implement this algorithm, but <bcp14>MUST</bcp14> calculate an identical result to this algorithm for a given set of inputs.</t>
        </section>
        <section anchor="othernamemacaddress-path-validation-processing">
          <name>OtherName.MACAddress Path Validation Processing</name>
          <t>This section describes the Path Validation Processing specific to OtherName.MACAddress constraints.  N.B., It is possible to build hierarchies of NCEs for OtherName.MACAddress's that prohibit all names, even if that was not intended. For example, say that the level 1 NCE contained only a "permitted_subtrees" of only (OtherName.MACAddress) global/unicast EUI-48, and the level 2 NCE contained only a "permitted_subtrees" of "any address" (i.e. the initial constraint set).  This would result in an empty permitted_subtrees set as an "any address" constraint is not contained within a "global/unicast" constraint. The worked example is left to the reader.</t>
          <t>The following is a utility function used to determine whether or not the set of matching addresses for one MACAddress constraint is a subset of the matching addresses for another constraint.</t>
          <t>Examples - given the following (using the IANA assigned DOI) - 'child' is a constraint wholly contained within 'parent':</t>
          <sourcecode type="psuedo"><![CDATA[
constraint parent = '000000000000 000000000000'H
constraint child =  '00005E000000 FCFFFF000000'H
]]></sourcecode>
          <t>'child' is a subset of parent because:
1) They are the same length (both EUI-48 constraints) and
2) The child.mask ANDed with the parent.mask equals the parent mask and
3) The bits in the child.value under the parent.mask are set to the same values as the bits in the parent.value under the parent mask.</t>
          <t>Note that the child mask allows for any combination of the local/universal and unicast/multicast address bits within the OUI of 00-00-0e.</t>
          <t>If 'constraint child2 = '00005E005000 FFFFFFFFFFF00'H and 'child' are compared, 'child2' would be a subset of 'child'.  'child2' uses the same OUI as 'child', but further restricts the matching addresses to universal/unicast by turning on the '0300000000'H mask bits and also restricts the range of valid addresses from 00-00-5E-00-50-00 to 00-00-5E-00-50-FF - i.e., to the 'example' range for the 00-00-5E OUI.</t>
          <sourcecode type="pseudo"><![CDATA[
// Both 'child' and 'parent' are OtherName.MACAddress
// constraints.
// Returns true if all addresses that match child, also match
// parent, false otherwise
// Used to calculate INTERSECTION sets for
// OtherName.MACAddress constraints.
boolean childIsSubsetOfParent (constraint c, constraint p)
  return (
     // if the lengths are the same
     c.length == p.length &&
     // and if there are no bits set in the parent's mask that
     //    are not also set in the child's mask
     // e.g. we can add mask bits to the current set, we can not remove them
     (c.mask & p.mask) == p.mask &&
     // and if the child's value has at least all the bits set that
     //   were set (and live) in the parent's value
     // e.g. we can't change the values of the live bits from the superior constraint
     (c.value & p.mask) == (p.value & p.mask)
    );
}
]]></sourcecode>
          <section anchor="initialization">
            <name>Initialization</name>
            <t>Per sections 6.1.1 (h) and (i) of <xref target="RFC5280"/>, we need to specify NCE OtherName.MACAddress set values for both the initial-permitted-subtrees and for initial-excluded-subtrees.  For initial-permitted-subtree, the first constraint is "accept all EUI-48 MACAddresses", and the second constraint is "accept all EUI-64 MACAddresses":</t>
            <sourcecode type="pseudo"><![CDATA[
initial-permitted-subtrees{} += { 000000000000000000000000H,
                                  00000000000000000000000000000000H }
initial-excluded-subtrees{} += { };
]]></sourcecode>
          </section>
          <section anchor="intersection-operation">
            <name>Intersection Operation</name>
            <t>See Section 6.1.4 (g) (1) of <xref target="RFC5280"/>.  As we walk down the tree from the root, the set of permitted_subtrees can only stay the same or shrink. At each level, we clear the set of permitted_subtrees and for each NCE OtherName.MACAddress.permitted_subtree constraint in the certificate we look to see if there is a permitted_subtree constraint at the previous level that equals or encloses this new constraint.  If so, we add this new constraint to the current level's set of permitted_subtrees.  We repeat this going down the tree for the remaining CA certificates.</t>
            <t>The intersection of the set of OtherName.MACAddress current permitted_subtrees with each certificate in the path is as follows:</t>
            <sourcecode type="pseudo"><![CDATA[
// This logic can be used for both MACAddress and iPAddress OtherName types
// Initialize -
permitted_subtrees{} (0) = initial-permitted-subtrees;

// Foreach certificate i = (1..n) in the path {
set constraint prevSubtrees{}  =
   { the set of OtherName.MACAddress.permitted_subtrees
     from the permitted_subtree{} (i-1) variable};
constraint tempPermittedSubtrees {} = {};
constraint tempRequestedSubtrees {} =
   { the set of OtherName.MACAddress.permitted_subtrees from
     the Name Constraints extension in the current certificate };

// rst => one of the requested subtrees (from the cert)
// pst -> one of the current permitted subtrees
foreach ( constraint rst in tempRequestedSubtrees) {
    foreach ( constraint pst in prevSubtrees) {
          if (childIsSubsetOfParent (rst,
                                   pst) {
                tempPermittedSubtrees += requestedSubtree;
                break;
          }
     }
 }

permitted_subtrees{} (i) = tempPermittedSubtree;
// } end for each CA cert on path

]]></sourcecode>
          </section>
          <section anchor="union-operation">
            <name>Union Operation</name>
            <t>See Section 6.1.4 (g) (2) of <xref target="RFC5280"/>.  Unlike permitted_subtrees which is the intersection of the NCEs  at each level, excluded_subtrees are the union of all constraints.  Starting with an excluded_trees empty set, with each level add to that set any constraints from the CA certificates that are not already in the set, or that are not covered by a constraint already in the set.</t>
            <t>The union of the set of OtherName.MACAddress current excluded_subtrees with each certificate in the path is as follows:</t>
            <sourcecode type="pseudo"><![CDATA[
// Initialize
excluded_subtrees{} (0) = initial-excluded-subtrees;

// Foreach certificate i = (1..n) in the path {
// Since we are doing a union operation we start with
// what was excluded at the previous level and try and
// add to it.
tempExcludedSubtrees {} =
  { the set of OtherName.MACAddress.excluded_subtrees from
    excluded_subtrees (i-1) };
tempRequestedSubtrees {} =
  { the set of OtherName.MACAddress.excluded_subtrees from
    the current certificate };

// note that the ordering of the loop here differs
// from the 'intersection' operation.
foreach (constraint rExcl in tempRequestedSubtrees) {
  boolean matches = false;
  foreach (constraint est in tempExcludedSubtrees) {
      // If I find a constraint in the current excluded
      // constraints that 'covers' the requested subtree,
      // I do not need to add the requested subtree
      // to the set of excluded subtrees.
      if (childIsSubsetOfParent (rExcl, est)) {
        matches = true;
        break;
      }
   }
   if (!matches) {
      tempExcludedSubtrees += rExcl;
   }
}
// } end foreach certificate in the path
excluded_subtrees{} (i) = tempExcludedSubtrees;
]]></sourcecode>
          </section>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The binding of a MAC address to a certificate is only as strong as the CA's validation process. CAs <bcp14>MUST</bcp14> verify that the subscriber legitimately controls or owns the asserted MAC address. The validation process <bcp14>MUST</bcp14> account for the possibility that MAC addresses can be spoofed.</t>
      <t>Some systems dynamically assign or share MAC addresses. Such practices can undermine the uniqueness and accountability that this name form aims to provide.</t>
      <t>Unlike IP addresses, MAC addresses are not typically routed across layer 3 boundaries. Relying parties <bcp14>SHOULD NOT</bcp14> assume uniqueness beyond their local network unless the relying party has information that addresses are stable across network boundaries.</t>
      <t>The Security Considerations section of <xref target="RFC5280"/> applies to this specification as well.</t>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>A MAC address can uniquely identify a physical device and by extension, its user. Certificates that embed unchanging MAC addresses facilitate long-term device tracking. Deployments that use the MACAddress name <bcp14>SHOULD</bcp14> consider rotating addresses, using short-lived certificates, or employing MAC Address randomization where feasible.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA has made the following assignment in the "SMI Security for PKIX Module Identifier" (1.3.6.1.5.5.7.0) registry:</t>
      <artwork><![CDATA[
    +=========+====================================+===============+
    | Decimal | Description                        | References    |
    +=========+====================================+===============+
    | 126     | id-mod-mac-address-other-name-2025 | This document |
    +---------+------------------------------------+---------------+
]]></artwork>
      <t>IANA has made the following assignment in the "SMI Security for PKIX Other Name Forms" (1.3.6.1.5.5.7.8) registry:</t>
      <artwork><![CDATA[
    +=========+=================================+===============+
    | Decimal | Description                     | References    |
    +=========+=================================+===============+
    | 12      | id-on-MACAddress                | This document |
    +---------+---------------------------------+---------------+
]]></artwork>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <t>This section contains the ASN.1 Module for the MAC Address; it follows the conventions established by <xref target="RFC5912"/>.</t>
      <sourcecode type="asn1"><![CDATA[
MACAddressOtherName-2025
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-mac-address-other-name-2025(126) }

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS
  OTHER-NAME FROM PKIX1Implicit-2009
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-pkix1-implicit-02(59) }

 id-pkix FROM PKIX1Explicit-2009
   { iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) id-mod(0)
     id-mod-pkix1-explicit-02(51) } ;

-- id-pkix 8 is the otherName arc
id-on  OBJECT IDENTIFIER ::= { id-pkix 8 }

-- OID for this name form
id-on-MACAddress OBJECT IDENTIFIER ::= { id-on 12 }

-- Contents of the otherName field
MACAddressOtherNames OTHER-NAME ::= { on-MACAddress, ... }

on-MACAddress OTHER-NAME ::= {
    MACAddress IDENTIFIED BY id-on-MACAddress }

MACAddress ::= OCTET STRING (SIZE (6 | 8 | 12 | 16))

END
]]></sourcecode>
    </section>
    <section anchor="mac-address-othername-examples">
      <name>MAC Address otherName Examples</name>
      <section anchor="eui-48-identifier">
        <name>EUI-48 identifier</name>
        <t>The following is a human-readable summary of the Subject Alternative
Name extension from a certificate containing a single MACAddress
otherName with value 00-24-98-7B-19-02:</t>
        <sourcecode type="asn1"><![CDATA[
  SEQUENCE {
    otherName [0] {
      OBJECT IDENTIFIER id-on-MACAddress
      [0] OCTET STRING '0024987B1902'H
    }
  }
]]></sourcecode>
      </section>
      <section anchor="eui-64-identifier">
        <name>EUI-64 identifier</name>
        <t>An EUI-64 example (AC-DE-48-00-11-22-33-44):</t>
        <sourcecode type="asn1"><![CDATA[
  [0] OCTET STRING 'ACDE480011223344'H
]]></sourcecode>
      </section>
      <section anchor="eui-48-constraint-for-universal-unicast-addresses">
        <name>EUI-48 constraint for universal, unicast addresses</name>
        <t>The first octet of a MAC address contains two flag bits. IEEE bit numbering has bit '0' as the least significant bit of the octet because that is the bit transmitted first.</t>
        <ul spacing="normal">
          <li>
            <t>Individual(I)/Group(G) bit (bit 0 or mask 0x01) – 0 = unicast, 1 = multicast.  Multicast prefixes are never OUIs.</t>
          </li>
          <li>
            <t>Universal(U)/Local(L) bit (bit 1 or mask 0x02) – 0 = universal (IEEE‑assigned), 1 = local.</t>
          </li>
        </ul>
        <t>These flags let the implementations exclude multicast and local addresses but still cannot prove that a 24-bit value is an IEEE-registered OUI. 36-bit Company IDs (CIDs) share the same first 24 bits and enterprises <bcp14>MAY</bcp14> deploy pseudo-OUIs. CAs <bcp14>MUST</bcp14> include only addresses the subscriber legitimately controls (registered OUI or CID).  Before issuing a certificate that contains a MACAddress or a name constraint based on such a permitted set of addresses, the CA <bcp14>MUST</bcp14> verify that control: for example, by consulting the IEEE registry <xref target="IEEERA"/> or reviewing manufacturer documentation.</t>
        <t>The following constraint definition constrains EUI-48 values to only
those are universal and unicast; locally assigned or multicast values will not match the
constraint.</t>
        <sourcecode type="asn1"><![CDATA[
  [0] OCTET STRING '000000000000 030000000000'H

]]></sourcecode>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information Technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IEEERA" target="https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf">
          <front>
            <title>Guidelines for Use of Extended Unique Identifier (EUI), Organizationally Unique Identifier (OUI), and Company ID (CID)</title>
            <author>
              <organization>IEEE Standards Association</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC9542">
          <front>
            <title>IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="Y. Li" initials="Y." surname="Li"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>Some IETF protocols make use of Ethernet frame formats and IEEE 802 parameters. This document discusses several aspects of such parameters and their use in IETF protocols, specifies IANA considerations for assignment of points under the IANA Organizationally Unique Identifier (OUI), and provides some values for use in documentation. This document obsoletes RFC 7042.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="141"/>
          <seriesInfo name="RFC" value="9542"/>
          <seriesInfo name="DOI" value="10.17487/RFC9542"/>
        </reference>
      </references>
    </references>
    <?line 443?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We thank the participants on the LAMPS Working Group mailing list for their insightful feedback and comments. In particular, the authors extend sincere appreciation to Bob Beck, David von Oheimb, Deb Cooley, Francois Rousseau, Jacqueline McCall, John Mattsson, Mahesh Jethanandani, Mohamed Boucadair, Murray Kucherawy, Sean Turner, and Tim Hollebeek for their reviews and suggestions, which greatly improved the quality of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
lm9cAAA=

-->

</rfc>
