<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-macaddress-on-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>Media Access Control (MAC) Addresses in X.509 Certificates</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-macaddress-on-04"/>
    <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="February" day="02"/>
    <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 70?>

<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 74?>

<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. 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 target="RFC5280"/>. The new name form enables certificate‑based authentication at layer 2 and facilitates secure provisioning in Internet‑of‑Things and automotive networks.</t>
      <t>Note that while this construct may be used to carry EUI-48 or EUI-64 addresses in an 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 GeneraName.otherName field included in a SAN or IAN.  The new name form is identified by the object identifier (OID) id‑on‑MACAddress (TBD1) and declared below using the OTHER-NAME class declaration syntax. The name form has variants to convey a EUI-48 as an OCTET STRING comprising of 6 octets, or a EUI-64 as an OCTET STRING comprising 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 natively possesses a 48‑bit MAC identifier, the 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 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 target="RFC5280"/>, NCE are valid in and <bcp14>MUST</bcp14> be placed 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>SHOULD</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>
          <artwork><![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) ;
}
]]></artwork>
          <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 a 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.</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 wasn't intended. For example, say that your level 1 NCE contained only a "permitted_subtrees" of only (OtherName.MACAddress) global/unicast EUI-48, and your level 2 NCE contained only a "permitted_subtress" 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>
          <artwork><![CDATA[
constraint parent = '000000000000 000000000000'H
constraint child =  '00005E000000 FCFFFF000000'H
]]></artwork>
          <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 you had 'constraint child2 = '00005E005000 FFFFFFFFFFF00'H and compared it to 'child', '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>
          <artwork><![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
     //    aren't also set in the child's mask
     // e.g. we can add mask bits to the current set, we can't 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)
    );
}
]]></artwork>
          <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>
            <artwork><![CDATA[
initial-permitted-subtrees{} += { 000000000000000000000000H,
                                  00000000000000000000000000000000H }
initial-excluded-subtrees{} += { };
]]></artwork>
          </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>
            <artwork><![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

]]></artwork>
          </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>
            <artwork><![CDATA[
// Initialize
excluded_subtrees{} (0) = initial-excluded-subtrees;

// Foreach certificate i = (1..n) in the path {
// Since we're 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 (childIsSubsetParent (rExcl, est)) {
        matches = true;
        break;
      }
   }
   if (!matches) {
      tempExcludedSubtrees += rExcl;
   }
}
// } end foreach certificate in the path
excluded_subtrees{} (i) = tempExcludedSubtrees;
]]></artwork>
          </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.</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 in different broadcast domains <bcp14>SHOULD NOT</bcp14> assume uniqueness beyond their local network.</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 is requested to make the following assignments in the "SMI Security for PKIX Module Identifier" (1.3.6.1.5.5.7.0) registry:</t>
      <artwork><![CDATA[
    +=========+====================================+===============+
    | Decimal | Description                        | References    |
    +=========+====================================+===============+
    | TBD0    | id-mod-mac-address-other-name-2025 | This document |
    +---------+------------------------------------+---------------+
]]></artwork>
      <t>IANA is requested to make 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    |
    +=========+=================================+===============+
    | TBD1    | id-on-MACAddress                | This document |
    +---------+---------------------------------+---------------+
]]></artwork>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <t>This Appendix contains the ASN.1 Module for the MAC Address; it follows the conventions established by <xref target="RFC5912"/>.</t>
      <artwork><![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(TBD0) }

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 TBD1 }

-- 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
]]></artwork>
    </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>
        <artwork><![CDATA[
  SEQUENCE {
    otherName [0] {
      OBJECT IDENTIFIER id-on-MACAddress
      [0] OCTET STRING '0024987B1902'H
    }
  }
]]></artwork>
      </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>
        <artwork><![CDATA[
  [0] OCTET STRING 'ACDE480011223344'H
]]></artwork>
      </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 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>
        <artwork><![CDATA[
  [0] OCTET STRING '000000000000 030000000000'H

]]></artwork>
      </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="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>
      </references>
    </references>
    <?line 430?>

<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, John Mattsson, 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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
uUUcGh9ZAAA=

-->

</rfc>
