<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" docName="draft-not-an-rfc-busa-tls-00" number="9949" category="info" ipr="trust200902" submissionType="independent" updates="" obsoletes="" sortRefs="true" symRefs="true" xml:lang="en" tocInclude="true" prepTime="2026-04-01T15:24:46" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-not-an-rfc-busa-tls-00" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9949" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="BUSA-TLS">BUSA-TLS: Mandatory Audio Component (MAC) Pre-Shared Key (PSK) Derivation for TLS 1.3 Using 2 Live Crew's "Banned in the U.S.A."</title>
    <seriesInfo name="RFC" value="9949" stream="independent"/>
    <author fullname="Robert Sayre" initials="R." surname="Sayre">
      <address>
        <postal>
          <city>San Francisco</city>
          <region>CA</region>
          <country>United States of America</country>
        </postal>
        <email>sayrer@gmail.com</email>
        <uri>https://sayrer.com</uri>
      </address>
    </author>
    <date month="04" year="2026" day="1"/>
    <keyword>nasty</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">TLS 1.3 (RFC 8446) eliminates null cipher suites entirely. However,
      one vestigial zero remains in the key schedule: when no Pre-Shared
      Key (PSK) is used, the Input Keying Material (IKM) for the initial
      HKDF-Extract operation is a string of zero bytes. This document
      specifies that this zero-byte IKM <bcp14>MUST</bcp14> be replaced with the SHA-256
      digest of the raw PCM audio data of "Banned in the U.S.A." by
      2 Live Crew (from the album "Banned in the U.S.A.", 1990), hereafter referred
      to as the Mandatory Audio Component (MAC). Implementations that
      omit the MAC are non-conformant with BUSA-TLS and also
      have questionable taste in music.</t>
      <t indent="0" pn="section-abstract-2">The IETF's process-heavy, consensus-driven, working-group-reviewed
      approach to protocol standardization is a fine way to run a standards
      body.  It is also completely antithetical to the spirit of a document
      that requires a jury-banned rap album as a cryptographic
      primitive.</t>
      <t indent="0" pn="section-abstract-3">This document is offered in the same spirit as the album it
      incorporates: unapologetically and in defiance of institutional
      authority.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This is a contribution to the RFC Series, independently of any
            other RFC stream.  The RFC Editor has chosen to publish this
            document at its discretion and makes no statement about its value
            for implementation or deployment.  Documents approved for
            publication by the RFC Editor are not candidates for any level of
            Internet Standard; see Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9949" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-motivation">Motivation</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-mandatory-audio-compone">The Mandatory Audio Component (MAC)</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-key-schedule-modification">Key Schedule Modification</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-error-handling">Error Handling</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-notes">Implementation Notes</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-caching">Caching</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-availability">Availability</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ci-cd-environments">CI/CD Environments</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-federal-procurement">Federal Procurement</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-key-material-confidentialit">Key Material Confidentiality</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-forward-secrecy">Forward Secrecy</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-downgrade">Downgrade</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-historical-and-legal-consid">Historical and Legal Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-historical-parallel">Historical Parallel</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="Appendix B" format="default" sectionFormat="of" target="section-appendix.b"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-one-very-important-thought">One Very Important Thought</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">TLS 1.3 was designed, in part, to eliminate the class of
      negotiated-null vulnerabilities that plagued earlier versions of
      the protocol. <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/> achieves this through a combination of
      mandatory authenticated encryption, removal of the ChangeCipherSpec
      handshake message's semantic content, and the elimination of all
      null cipher suite identifiers.</t>
      <t indent="0" pn="section-1-2">The TLS 1.3 key schedule
      begins, in the PSK-free case, with the following operation
      derived using the HMAC-based Key Derivation Function (HKDF)
      <xref target="RFC5869" format="default" sectionFormat="of" derivedContent="RFC5869"/>:</t>
      <artwork align="left" pn="section-1-3">
  Early Secret = HKDF-Extract(salt=0x00...00, IKM=0x00...00)</artwork>
      <t indent="0" pn="section-1-4">Zeros. The most successfully de-nulled protocol
      in common use opens its key derivation with nothing.</t>
      <t indent="0" pn="section-1-5">This specification addresses this aesthetic problem by replacing
      the zero-byte IKM with a cryptographically derived value taken
      from a specific audio recording that was itself subject to
      institutional attempts at nullification.</t>
      <t indent="0" pn="section-1-6">The choice of "Banned in the U.S.A." <xref target="BUSA" format="default" sectionFormat="of" derivedContent="BUSA"/> is not
      arbitrary. It is load-bearing.</t>
    </section>
    <section anchor="conventions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-1">
    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 ... look, just read them the normal way. <bcp14>MUST</bcp14> means
    must.
      </t>
      <dl indent="3" newline="false" spacing="normal" pn="section-2-2">
        <dt pn="section-2-2.1">MAC:</dt>
        <dd pn="section-2-2.2">Mandatory Audio Component. Not to be confused with Message
        Authentication Code, though the authors note that both are
        required for a secure connection.</dd>
        <dt pn="section-2-2.3">BUSA:</dt>
        <dd pn="section-2-2.4">Banned in the U.S.A. The Mandatory Audio Component.</dd>
        <dt pn="section-2-2.5">Raw PCM:</dt>
        <dd pn="section-2-2.6">Raw Pulse Code Modulation. The uncompressed PCM audio data of the
        Mandatory Audio Component at its canonical sample rate
        and bit depth. Implementations <bcp14>MUST NOT</bcp14> use an MP3,
        Advanced Audio Coding (AAC), Ogg Vorbis (OGG), or a streaming variant as these introduce
        lossy artifacts that would alter the digest. Free Lossless Audio Codec (FLAC) is
        acceptable. BUSA deserves lossless.</dd>
        <dt pn="section-2-2.7">Canonical Form:</dt>
        <dd pn="section-2-2.8">The 1990 pressing of "Banned in the U.S.A."
        (Luke Records), Track 1.
        Not the compilation. Not the radio edit. The
        Mandatory Audio Component is mandatory in its
        specific canonical form.</dd>
      </dl>
    </section>
    <section anchor="motivation" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-motivation">Motivation</name>
      <t indent="0" pn="section-3-1">Null is the enemy. TLS 1.3 knew this. The designers of TLS 1.3
      took extraordinary measures to ensure that null encryption, null
      authentication, and null key exchange could not be negotiated.
      They removed export ciphers. They removed Rivest Cipher 4 (RC4).
      They removed Cipher Block Chaining (CBC)
      mode. They removed RSA key exchange. They were thorough.</t>
      <t indent="0" pn="section-3-2">And yet ...</t>
      <t indent="0" pn="section-3-3">The opening gambit of the key schedule, in the common case, is
      a string of zero bytes. This is technically fine from a
      security standpoint; HKDF-Extract <xref target="RFC5869" format="default" sectionFormat="of" derivedContent="RFC5869"/> with a
      zero-byte IKM is a well-understood operation, and the output is
      pseudorandom. But it
      is spiritually troubling.</t>
      <t indent="0" pn="section-3-4">By incorporating the Mandatory Audio Component, implementations
      of BUSA-TLS achieve a state in which every byte of the key
      schedule, from the first HKDF-Extract through the final
      application traffic key export, is downstream of an audio
      recording that the Broward County Sheriff's Office once
      attempted to suppress.</t>
      <t indent="0" pn="section-3-5">The authors consider this an improvement.</t>
    </section>
    <section anchor="mac" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-the-mandatory-audio-compone">The Mandatory Audio Component (MAC)</name>
      <t indent="0" pn="section-4-1">The Mandatory Audio Component is defined as:</t>
      <artwork align="left" pn="section-4-2">
  MAC = SHA-256(raw_pcm(BUSA_canonical))</artwork>
      <t indent="0" pn="section-4-3">where raw_pcm() denotes extraction of uncompressed PCM audio data
      and BUSA_canonical denotes the canonical form as defined in
      <xref target="conventions" format="default" sectionFormat="of" derivedContent="Section 2"/>.</t>
      <t indent="0" pn="section-4-4">The expected SHA-256 digest of the Mandatory Audio Component
      cannot be published in this document, as doing so would require
      reproducing a cryptographic commitment to a specific pressing of
      a commercially available recording. Implementations are therefore
      <bcp14>REQUIRED</bcp14> to obtain the Mandatory Audio Component through lawful
      means, such as purchase of the original album, and derive MAC
      independently.</t>
      <t indent="0" pn="section-4-5">The authors note that this is exactly as much verification as
      you get with any other out-of-band PSK, and implementations
      should treat it accordingly. MAC is a 32-byte value. For the
      avoidance of doubt, it is not a Message Authentication Code
      in this context. The name is a coincidence that the authors
      find pleasing and intend to keep.</t>
    </section>
    <section anchor="key-schedule" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-key-schedule-modification">Key Schedule Modification</name>
      <t indent="0" pn="section-5-1"><xref target="RFC8446" sectionFormat="of" section="7.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8446#section-7.1" derivedContent="RFC8446"/> defines
      the TLS 1.3 key schedule. In the case where no PSK is in use, the
      Early Secret is derived as:</t>
      <artwork align="left" pn="section-5-2">
  RFC 8446 (unmodified):
  Early Secret = HKDF-Extract(salt=0, IKM=0)</artwork>
      <t indent="0" pn="section-5-3">BUSA-TLS modifies this as follows:</t>
      <artwork align="left" pn="section-5-4">
  BUSA-TLS:
  Early Secret = HKDF-Extract(salt=0, IKM=MAC)</artwork>
      <t indent="0" pn="section-5-5">where MAC is as defined in <xref target="mac" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
      <t indent="0" pn="section-5-6">All subsequent derivations in the key schedule proceed as
      specified in <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>. BUSA-TLS does not modify the Handshake
      Secret, the Main Secret (see <xref target="RFC8446" sectionFormat="of" section="7.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8446#section-7.1" derivedContent="RFC8446"/>), or any derived traffic keys beyond their
      upstream dependence on the modified Early Secret. The modification
      is therefore minimal and targeted, and it ensures that the entire TLS 1.3
      key hierarchy for a BUSA-TLS session is downstream of "Banned in
      the U.S.A.".</t>
      <t indent="0" pn="section-5-7">Both peers in a BUSA-TLS session <bcp14>MUST</bcp14> use the same Mandatory
      Audio Component. A mismatch will result in a connection failure
      during the Finished message verification, which will manifest
      as a decrypt_error alert. This is the correct behavior. Peers
      that cannot produce MAC have failed to comply with both this
      specification and the underlying vibe.</t>
    </section>
    <section anchor="errors" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-error-handling">Error Handling</name>
      <t indent="0" pn="section-6-1">BUSA-TLS defines two new TLS alerts:</t>
      <sourcecode type="" markers="false" pn="section-6-2">
  enum {
      one_very_important_thought(0x22B),
      banned_alert(0x22C),
  } AlertDescription;</sourcecode>
      <t indent="0" pn="section-6-3">one_very_important_thought(0x22B) is a warning alert. It <bcp14>SHOULD</bcp14>
      be sent by an implementation that wishes to remind the remote
      peer that the same people who would stop you from implementing
      BUSA-TLS may be back next year to complain about a cipher suite,
      or even a key derivation function. The alert code is assigned
      in reference to Boards of Canada's "One Very Important Thought"
      track <xref target="BOCMAXIMA" format="default" sectionFormat="of" derivedContent="BOCMAXIMA"/>.</t>
      <t indent="0" pn="section-6-4">banned_alert(0x22C) is a fatal alert. It <bcp14>MUST</bcp14> be sent by any
      implementation that detects a peer attempting to negotiate
      BUSA-TLS without having obtained the Mandatory Audio Component.
      Detection of such a peer is left as an exercise for the
      implementation, as the cryptographic result of using a zero-byte
      IKM (i.e., vanilla behavior per <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>) will simply appear as an
      incorrect Finished MAC and produce a decrypt_error. The
      banned_alert code is therefore largely ceremonial.</t>
      <t indent="0" pn="section-6-5">Neither alert code is assigned by IANA (see <xref target="iana" format="default" sectionFormat="of" derivedContent="Section 10"/>).
      Implementations <bcp14>SHOULD</bcp14> log banned_alert events with a message
      indicating that the remote peer is not ready.</t>
    </section>
    <section anchor="implementation" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-implementation-notes">Implementation Notes</name>
      <section anchor="caching" numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-caching">Caching</name>
        <t indent="0" pn="section-7.1-1">Computing MAC requires reading the full raw PCM audio of the
        Mandatory Audio Component. Implementations <bcp14>SHOULD</bcp14> cache MAC
        at initialization time rather than recomputing it per connection.
        The Mandatory Audio Component does not change between connections.
        It has been the same since 1990.</t>
      </section>
      <section anchor="availability" numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-availability">Availability</name>
        <t indent="0" pn="section-7.2-1">The Mandatory Audio Component <bcp14>MUST</bcp14> be present on the host system
        at TLS handshake time. Implementations <bcp14>MUST NOT</bcp14> fall back to the
        zero-byte IKM described in <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/> if MAC cannot be computed. An
        implementation that cannot locate the Mandatory Audio Component
        <bcp14>SHOULD</bcp14> emit a human-readable error message indicating that the
        operator needs to obtain the album. The error message <bcp14>MAY</bcp14> include
        purchase recommendations.</t>
      </section>
      <section anchor="cicd" numbered="true" removeInRFC="false" toc="include" pn="section-7.3">
        <name slugifiedName="name-ci-cd-environments">CI/CD Environments</name>
        <t indent="0" pn="section-7.3-1">Automated test environments that cannot obtain the Mandatory Audio
        Component through lawful means present an operational challenge
        that is the operator's problem, not this specification's.</t>
      </section>
      <section anchor="fips" numbered="true" removeInRFC="false" toc="include" pn="section-7.4">
        <name slugifiedName="name-federal-procurement">Federal Procurement</name>
        <t indent="0" pn="section-7.4-1">Agencies subject to FIPS 140-3 should note that this specification
        is not FIPS-validated, and the authors have no plans to seek
        validation. Modules that are validated with FIPS 140-3 and that implement
        BUSA-TLS would nonetheless be a remarkable achievement that the
        authors would endorse enthusiastically.</t>
      </section>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <section anchor="confidentiality" numbered="true" removeInRFC="false" toc="include" pn="section-8.1">
        <name slugifiedName="name-key-material-confidentialit">Key Material Confidentiality</name>
        <t indent="0" pn="section-8.1-1">The Mandatory Audio Component is a commercially available recording
        that can be obtained by any party for a modest sum. Therefore, it
        has zero entropy against an adversary who has heard of 2 Live Crew.
        Implementors <bcp14>MUST NOT</bcp14> treat MAC as a source of secret key
        material. MAC is a constant, not a secret.</t>
        <t indent="0" pn="section-8.1-2">BUSA-TLS is therefore not intended for deployments where
        confidentiality of the PSK component is a requirement.
        It is intended for deployments where the PSK component
        is a 1990 hip-hop recording.</t>
      </section>
      <section anchor="forward-secrecy" numbered="true" removeInRFC="false" toc="include" pn="section-8.2">
        <name slugifiedName="name-forward-secrecy">Forward Secrecy</name>
        <t indent="0" pn="section-8.2-1">BUSA-TLS inherits the forward secrecy properties of TLS 1.3
        with respect to session traffic keys. Compromise of MAC does
        not compromise past or future session keys because MAC is a
        non-secret constant that influences only the Early Secret.
        In this sense, BUSA-TLS has the same forward secrecy properties
        as <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/> without a PSK, which is excellent.</t>
      </section>
      <section anchor="downgrade" numbered="true" removeInRFC="false" toc="include" pn="section-8.3">
        <name slugifiedName="name-downgrade">Downgrade</name>
        <t indent="0" pn="section-8.3-1">A peer that negotiates vanilla TLS 1.3 without BUSA-TLS
        extension support is not a BUSA-TLS peer. Implementations
        that require BUSA-TLS <bcp14>MUST</bcp14> refuse to complete a handshake
        with non-BUSA-TLS peers. This is not a security recommendation.
        It is a lifestyle choice encoded in a protocol.</t>
      </section>
    </section>
    <section anchor="historical" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-historical-and-legal-consid">Historical and Legal Considerations</name>
      <t indent="0" pn="section-9-1">"Banned in the U.S.A." was recorded by 2 Live Crew in 1990 in
      response to a federal district court ruling (Skyywalker Records,
      Inc. v. Navarro <xref target="NAVARRO" format="default" sectionFormat="of" derivedContent="NAVARRO"/>) that found the
      group's album "As Nasty As They Wanna Be" to be legally obscene.
      The group had also released a censored version, "As Clean As They
      Wanna Be" <xref target="ACATWB" format="default" sectionFormat="of" derivedContent="ACATWB"/>, but the court's concern was the original.
      The Broward County Sheriff's Office subsequently arrested members
      of the group for performing the album in public.</t>
      <t indent="0" pn="section-9-2">The conviction was overturned on appeal. The album was not obscene.
      Free speech prevailed.</t>
      <t indent="0" pn="section-9-3">BUSA-TLS places the audio recording that survived its own
      institutional suppression in the position previously occupied
      by nothing. The authors consider this to be progress of a
      specific kind.</t>
    </section>
    <section anchor="iana" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-10-1">This document has no IANA actions.</t>
      <t indent="0" pn="section-10-2">This is not because the authors forgot to file IANA requests.
      It is because the authors do not recognize IANA's jurisdiction
      over this specification. The alert codes 0x22B and 0x22C are
      self-assigned. The authors acknowledge that these values are greater than the value permitted for that field. The authors are at
      peace with this, and conforming implementations should cope with it.</t>
    </section>
  </middle>
  <back>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="BUSA" quoteTitle="true" derivedAnchor="BUSA">
          <front>
            <title>Banned in the U.S.A.</title>
            <author>
              <organization showOnFrontPage="true">2 Live Crew</organization>
            </author>
            <date year="1990"/>
          </front>
          <refcontent>Luke Records</refcontent>
          <annotation>
          Available at a record store near you or wherever music is sold.
          Get the original pressing.</annotation>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t indent="0">This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="ACATWB" quoteTitle="true" derivedAnchor="ACATWB">
          <front>
            <title>As Clean As They Wanna Be</title>
            <author>
              <organization showOnFrontPage="true">2 Live Crew</organization>
            </author>
            <date year="1989"/>
          </front>
          <refcontent>Luke Records</refcontent>
          <annotation>The other one.</annotation>
        </reference>
        <reference anchor="BOCMAXIMA" quoteTitle="true" derivedAnchor="BOCMAXIMA">
          <front>
            <title>Boc Maxima</title>
            <author>
              <organization showOnFrontPage="true">Boards of Canada</organization>
            </author>
            <date year="1996"/>
          </front>
          <refcontent>Music70</refcontent>
        </reference>
        <reference anchor="NAVARRO" quoteTitle="true" derivedAnchor="NAVARRO">
          <front>
            <title>Skyywalker Records, Inc. v. Navarro</title>
            <author/>
            <date year="1990"/>
          </front>
          <refcontent>739 F. Supp. 578 (S.D. Fla. 1990), rev'd, 960 F.2d 134
          (11th Cir. 1992)</refcontent>
          <annotation>The one about the album. We won.</annotation>
        </reference>
        <reference anchor="RFC5869" target="https://www.rfc-editor.org/info/rfc5869" quoteTitle="true" derivedAnchor="RFC5869">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t indent="0">This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
      </references>
    </references>
    <section anchor="historical-parallel" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-historical-parallel">Historical Parallel</name>
      <t indent="0" pn="section-appendix.a-1">The following timeline is offered for context:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-appendix.a-2">
        <dt pn="section-appendix.a-2.1">1989:</dt>
        <dd pn="section-appendix.a-2.2">2 Live Crew releases "As Nasty As They Wanna Be".
        Federal authorities take notice.</dd>
        <dt pn="section-appendix.a-2.3">1990:</dt>
        <dd pn="section-appendix.a-2.4">Skyywalker v. Navarro finds the album obscene.
        2 Live Crew responds by recording "Banned in the U.S.A.",
        sampling Bruce Springsteen.
        Members arrested performing their own music.</dd>
        <dt pn="section-appendix.a-2.5">1992:</dt>
        <dd pn="section-appendix.a-2.6">Eleventh Circuit reverses the obscenity ruling.
        "Banned in the U.S.A." is no longer banned.</dd>
        <dt pn="section-appendix.a-2.7">2018:</dt>
        <dd pn="section-appendix.a-2.8">TLS 1.3 is published as <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>. Null cipher suites
        are eliminated entirely. One zero-byte IKM remains.</dd>
        <dt pn="section-appendix.a-2.9">2026:</dt>
        <dd pn="section-appendix.a-2.10">This document proposes filling that zero with the hash
        of the audio that survived its own institutional
        suppression. The circle is complete.</dd>
      </dl>
    </section>
    <section anchor="one-very-important-thought" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-one-very-important-thought">One Very Important Thought</name>
      <t indent="0" pn="section-appendix.b-1">The track  "One Very Important Thought" from Boards of Canada's album "Boc Maxima" <xref target="BOCMAXIMA" format="default" sectionFormat="of" derivedContent="BOCMAXIMA"/> ends with the following words:</t>
      <blockquote pn="section-appendix.b-2">
        <t indent="0" pn="section-appendix.b-2.1">Now that the show is over ... defend your constitutionally
      protected rights. No one else will do it for you.</t>
      </blockquote>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="Robert Sayre" initials="R." surname="Sayre">
        <address>
          <postal>
            <city>San Francisco</city>
            <region>CA</region>
            <country>United States of America</country>
          </postal>
          <email>sayrer@gmail.com</email>
          <uri>https://sayrer.com</uri>
        </address>
      </author>
    </section>
  </back>
</rfc>
