<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "http://xml2rfc.tools.ietf.org/authoring/rfc2629.dtd" [
  <!ENTITY rfc5234 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
  <!ENTITY rfc8126 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
]>

<?xml-stylesheet type="text/xsl" href="http://xml2rfc.tools.ietf.org/authoring/rfc2629.xslt" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="yes" ?>
<?rfc toc="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc symrefs="yes" ?>

<!--
  -00a: initial version based on RFC5988
  -00b: adapt 5988bis per mnot's suggestion:  draft-nottingham-rfc5988bis-01
        * 'attestation type' -> 'attestation format'
        * updated to latest extension id format, adjusted list of registered extensions to
          match [WebAuthn] editors' draft.
  -00c: ?
  -00d: Let initial values be in the [WebAuthn] spec, rather than here.
-->

<rfc category="info" ipr="trust200902" docName="draft-hodges-webauthn-registries-06">
  <front>
    <title>Registries for Web Authentication (WebAuthn)</title>

    <author initials="J." surname="Hodges" fullname="Jeff Hodges">
      <organization>Google</organization>
      <address>
        <postal>
          <street>1600 Amphitheater Parkway</street>
          <city>Mountain View</city>
          <region>California</region>
          <code>94043</code>
          <country>US</country>
        </postal>
        <email>jdhodges@google.com</email>
	<uri>https://kingsmountain.com/people/Jeff.Hodges/</uri>
      </address>
    </author>

    <author fullname="Giridhar Mandyam" initials="G.D."
            surname="Mandyam">
      <organization>Qualcomm Technologies Inc.</organization>
      <address>
        <postal>
          <street>5775 Morehouse Drive</street>
          <city>San Diego</city>
          <region>California</region>
          <code>92121</code>
          <country>USA</country>
        </postal>
        <phone>+1 858 651 7200</phone>
        <email>mandyam@qti.qualcomm.com</email>
      </address>
    </author>

    <author fullname="Michael B. Jones" initials="M.B." surname="Jones">
      <organization abbrev="Microsoft">Microsoft</organization>
      <address>
        <email>mbj@microsoft.com</email>
	<uri>https://self-issued.info/</uri>
      </address>
    </author>

    <date month="May" year="2020" />

    <area>Security</area>
    <workgroup>W3C WebAuthn Working Group</workgroup>

    <keyword>webauthn</keyword>
    <keyword>attestation</keyword>
    <keyword>extensions</keyword>
    <keyword>registry</keyword>

    <abstract>
      <t>
        This specification defines IANA registries for W3C Web Authentication
        attestation statement format identifiers and extension identifiers.
      </t>
    </abstract>

    <note title="Note to Readers">

<t><spanx style="emph">RFC EDITOR: please remove this section before publication</spanx></t>

<t>This is a work-in-progress.</t>

<t>The issues list can be found at
<eref target="https://github.com/w3c/webauthn/issues?q=is%3Aopen+is%3Aissue+label%3Aspec%3Awebauthn-registries">
https://github.com/w3c/webauthn/issues?q=is%3Aopen+is%3Aissue+label%3Aspec%3Awebauthn-registries
</eref>.</t>

<t>The most recent _published_ draft revision is at
<eref target="https://tools.ietf.org/html/draft-hodges-webauthn-registries">
https://tools.ietf.org/html/draft-hodges-webauthn-registries</eref>.</t>

<t>The editors&apos; draft is at
<eref target="https://github.com/w3c/webauthn/blob/master/draft-hodges-webauthn-registries.txt">
https://github.com/w3c/webauthn/blob/master/draft-hodges-webauthn-registries.txt
</eref></t>

<t>Changes in the editors&apos; draft, both proposed and incorporated, are listed at
<eref target="https://github.com/w3c/webauthn/pulls?q=is%3Apr+label%3Aspec%3Awebauthn-registries">
https://github.com/w3c/webauthn/pulls?q=is%3Apr+label%3Aspec%3Awebauthn-registries
</eref></t>

    </note>

  </front>

  <middle>
    <section anchor="Introduction" title="Introduction">
      <t>
        This specification establishes IANA registries for W3C Web Authentication <xref
        target="WebAuthn"/> attestation statement format identifiers and extension identifiers.
        The initial values for these registries are in the IANA Considerations
        section of the <xref target="WebAuthn"/> specification.
      </t>
    </section>

    <section title="IANA Considerations" anchor="sctn-iana-cons">
      <t>
        This specification establishes two registries:
        <list style="symbols">
          <t>
            the "WebAuthn Attestation Statement Format Identifier" registry; see
            <xref target="sctn-attstn-format-registry"/>.
          </t>
          <t>
            the "WebAuthn Extension Identifier" registry;
            see <xref target="sctn-extension-ident-registry" />.
          </t>
        </list>
      </t>
      <t>
	[[ Per discussions in an email thread between the authors and IANA ( "[IANA #1154148]" ),
    it is requested that the registries be located at
    &lt;https://www.iana.org/assignments/webauthn&gt;.
	RFC Editor - please delete this request after the registries have been created. ]]
      </t>
      <t>
        For both registries, the expert(s) and IANA will interact as outlined below:
      </t>
      <t>
        IANA will direct any incoming requests regarding either of these registries to
        this document and, if defined, the processes established
        by the expert(s); typically, this will mean referring them to the registry Web page.
      </t>

      <section title="WebAuthn Attestation Statement Format Identifier Registry"
        anchor="sctn-attstn-format-registry">
        <t>
          WebAuthn attestation statement format identifiers are strings whose semantic, syntactic,
          and string-matching criteria are specified in <xref target="WebAuthn"/>
          <eref target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-attstn-fmt-ids">
          "Attestation Statement Format Identifiers"</eref>,
          along with the concepts of attestation and attestation statement formats.
        </t>
        <t>
          Registered attestation statement format identifiers are those that have been added to the
          registry by following the procedure in
          <xref target="sctn-registering-attstn-format-idents"/>.
        </t>
        <t>
          Each attestation statement format identifier added to this registry MUST be unique amongst
          the set of registered attestation statement format identifiers.
        </t>
        <t>
          Registered attestation statement format identifiers MUST be a maximum of 32 octets in length
          and MUST consist only of printable USASCII characters, excluding backslash and doublequote,
          i.e., VCHAR as defined in <xref target="RFC5234"/> but without %x22 and %x5c.
          Attestation statement format identifiers are case sensitive.
          Attestation statement format identifiers may not match other registered identifiers in a
          case-insensitive manner unless the Designated Experts determine that there is a compelling
          reason to allow an exception.
        </t>

        <section title="Registering Attestation Statement Format Identifiers"
          anchor="sctn-registering-attstn-format-idents">
          <t>
            WebAuthn attestation statement format identifiers are registered using the
            Specification Required policy (see Section 4.6 of <xref target="RFC8126"/>).
          </t>
          <t>
            The WebAuthn attestation statement format identifiers registry is located at
            <eref target="https://www.iana.org/assignments/webauthn">https://www.iana.org/assignments/webauthn</eref>.
            Registration requests can be made by following the instructions located there, or by
            sending an e-mail to the webauthn-reg-review@ietf.org mailing list.
          </t>
          <t>
            Registration requests consist of at least the following information:
            <list style="symbols" >
              <t>
                <spanx style="strong">WebAuthn Attestation Statement Format Identifier</spanx>: An identifier meeting the requirements given above in
                <xref target="sctn-attstn-format-registry"/>.
              </t>
              <t>
                <spanx style="strong">Description</spanx>:
                A relatively short description of the attestation format.
              </t>
              <t>
                <spanx style="strong">Reference</spanx>:
                Reference to the specification of the attestation statement format.
              </t>
              <t>Notes: [optional]</t>
            </list>
          </t>
          <t>
            Registrations MUST reference a freely available, stable specification, e.g., as
            described in Section 4.6 of <xref target="RFC8126"/>.
            This specification MUST include security and privacy considerations
            relevant to the attestation statement format.
          </t>
          <t>
            Note that WebAuthn attestation statement format identifiers can be registered by third
            parties (including the expert(s) themselves), if the expert(s) determine that an
            unregistered attestation statement format is widely deployed and not likely to be
            registered in a timely manner otherwise.
            Such registrations still are subject to the requirements defined, including the need to
            reference a specification.
          </t>
        </section>

        <section title="Registration Request Processing"
          anchor="sctn-registering-attstn-format-idents-processing">
          <t>
            As noted in <xref target="sctn-registering-attstn-format-idents"/>,
            WebAuthn attestation statement format identifiers are registered using the
            Specification Required policy.
          </t>
          <t>
            The expert(s) will clearly identify any issues which cause a registration to be refused.
          </t>
          <t>
            When a request is approved, the expert(s) will inform IANA, and the registration will
            be processed.
            The IESG is the arbiter of any objection.
          </t>
        </section>

        <section title="Initial WebAuthn Attestation Statement Format Identifier Registry Values"
          anchor="sctn-attstn-format-registry-values">
          <t>
            The initial values for the WebAuthn Attestation Statement Format Identifier Registry are
            to be populated from the values listed in

            <eref target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-att-fmt-reg">
            "WebAuthn Attestation Statement Format Identifier Registrations"</eref>
            of <xref target="WebAuthn"/>.
          </t>
        </section>

      </section> <!-- Attestation Statement Format Identifier Registry -->


      <section title="WebAuthn Extension Identifier Registry"
        anchor="sctn-extension-ident-registry">
        <t>
          WebAuthn extension identifiers are strings whose semantic, syntactic,
          and string-matching criteria are specified in <xref target="WebAuthn"/>
          <eref target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-extension-id">
          "Extension Identifiers" </eref>.
        </t>
        <t>
          Registered extension identifiers are those that have been added to the
          registry by following the procedure in
          <xref target="sctn-registering-extension-idents"/>.
        </t>
        <t>
          Each extension identifier added to this registry MUST be unique
          amongst the set of registered extension identifiers.
        </t>
        <t>
          Registered extension identifiers MUST be a maximum of 32 octets in length and MUST
          consist only of printable USASCII characters, excluding backslash and doublequote,
          i.e., VCHAR as defined in <xref target="RFC5234"/> but without %x22 and %x5c.
          Extension identifiers are case sensitive.
          Extension identifiers may not match other registered names in a case-insensitive manner
          unless the Designated Experts determine that there is a compelling reason
          to allow an exception.
        </t>

        <section title="Registering Extension Identifiers"
          anchor="sctn-registering-extension-idents">
          <t>
            WebAuthn extension identifiers registry are registered using the
            Specification Required policy (see Section 4.6 of <xref target="RFC8126"/>).
          </t>
          <t>
            The WebAuthn extension identifiers registry is located at
            <eref target="https://www.iana.org/assignments/webauthn">https://www.iana.org/assignments/webauthn</eref>.
            Registration requests can be made by following the instructions located there, or by
            sending an e-mail to the webauthn-reg-review@ietf.org mailing list.
          </t>
          <t>
            Registration requests consist of at least the following information:
            <list style="symbols" >
              <t>
                <spanx style="strong">WebAuthn Extension Identifier</spanx>:
                An identifier meeting the requirements given above in
                <xref target="sctn-extension-ident-registry"/>.
              </t>
              <t><spanx style="strong">Description</spanx>:
                A relatively short description of the extension.
              </t>
              <t>
                <spanx style="strong">Reference</spanx>:
                Reference to the specification of the extension.
              </t>
              <t>Notes: [optional]</t>
            </list>
          </t>
          <t>
            Registrations MUST reference a freely available, stable specification, e.g., as
            described in Section 4.6 of <xref target="RFC8126"/>.
            This specification MUST include security and privacy considerations
            relevant to the extension.
          </t>
          <t>
            Note that WebAuthn extensions can be registered by third parties
            (including the expert(s) themselves), if the expert(s) determine that an unregistered extension is widely deployed and not likely to be
            registered in a timely manner otherwise.
            Such registrations still are subject to the requirements defined, including the need to
            reference a specification.
          </t>
        </section> <!-- Registering Extension Identifiers -->

        <section title="Registration Request Processing"
          anchor="sctn-registering-extension-idents-processing">
          <t>
            As noted in <xref target="sctn-registering-extension-idents"/>,
            WebAuthn extension identifiers are registered using the
            Specification Required policy.
          </t>
          <t>
            The expert(s) will clearly identify any issues which cause a registration to be refused.
          </t>
          <t>
            When a request is approved, the expert(s) will inform IANA, and the registration will
            be processed.
            The IESG is the arbiter of any objection.
          </t>
        </section>

        <section title="Initial WebAuthn Extension Identifier Registry Values"
          anchor="sctn-extension-ident-registry-values">
          <t>
          The initial values for the WebAuthn Extension Identifier Registry are
          to be populated from the values listed in
          <eref target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/#sctn-extensions-reg">
          "WebAuthn Extension Identifier Registrations"</eref>
          of <xref target="WebAuthn"/>.
          </t>

        </section>

      </section> <!--  Extension Identifier Registry -->

    </section> <!-- IANA Cons -->

    <section anchor="Security" title="Security Considerations">
      <t>
        See <xref target="WebAuthn"/> for relevant security considerations.
      </t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>
        Thanks to Mark Nottingham
        for valuable comments and suggestions.
        Thanks to Kathleen Moriarty and Benjamin Kaduk for their Area Director sponsorship
        of this specification.
	Thanks to Sarah Banks, Paul Kyzivat, and Hilarie Orman for their reviews.
      </t>
    </section>

    <section anchor="sctn-history" title="Document History">
      <t>[[ to be removed by the RFC Editor before publication as an RFC ]]</t>

      <t>
        -06
        <list style="symbols">
	  <t>
	    Addressed Gen-Art review comments by Paul Kyzivat by deleting text about designated experts defining additional registry fields.
	  </t>
	  <t>
	    Addressed Ops-Dir review comments by Sarah Banks by deleting text that duplicated requirements already specified in RFC 8126.
	  </t>
	  <t>
	    Addressed Security review comments by Hilarie Orman by deleting unnecessary text about attestation statement formats lacking complete specifications.
	  </t>
          <t>
	    Replaced uses of the URL https://www.w3.org/TR/webauthn/ with https://www.w3.org/TR/2019/REC-webauthn-1-20190304/
            so that the reference remains stable after the level 2 WebAuthn specification is published.
          </t>
        </list>
      </t>

      <t>
        -05
        <list style="symbols">
          <t>
            Updated to address the solicited IANA review comments,
	    per discussions in an email thread between the authors and IANA ( "[IANA #1154148]" ).
          </t>
        </list>
      </t>

      <t>
        -04
        <list style="symbols">
          <t>
            Update per Benjamin Kaduk's further AD review:
            Remove 'final' wrt IESG arbitrating objections; Add explicit
            requirement for extension or attestation specs to include
            security and privacy considerations.
          </t>
          <t>
            Update per IANA review: Move "IANA considerations section up in doc to encompass (former) sections 2 and 3.
          </t>
        </list>
      </t>

      <t>
        -03
        <list style="symbols">
          <t>
            Update per Benjamin Kaduk's AD review. Align with RFC 8288, rather than
            draft-nottingham-rfc5988bis.
          </t>
        </list>
      </t>

      <t>
        -02
        <list style="symbols">
          <t>
            Refresh now that the WebAuthn spec is at Recommendation (REC) maturity level.
          </t>
        </list>
      </t>


      <t>
        -01
        <list style="symbols">
          <t>
            Refresh now that the WebAuthn Committee Recommendation (CR) draft is pending.
          </t>
        </list>
      </t>

      <t>
	    -00
        <list style="symbols">
          <t>
            Initial version, based on draft-nottingham-rfc5988bis.
          </t>
        </list>
      </t>

    </section>

  </middle>


  <back>
    <references title="Normative References">
      &rfc5234;
      &rfc8126;

      <reference anchor="WebAuthn" target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/">
        <front>
          <title>Web Authentication: An API for accessing Public Key Credentials</title>
          <author initials="D." surname="Balfanz" fullname="Dirk Balfanz">
            <organization>Google</organization>
            <address>
              <email>balfanz@google.com</email>
            </address>
          </author>

          <author initials="A." surname="Czeskis" fullname="Alexei Czeskis">
            <organization>Google</organization>
            <address>
              <email>aczeskis@google.com</email>
            </address>
          </author>

          <author initials="J." surname="Hodges" fullname="Jeff Hodges">
            <organization>PayPal</organization>
            <address>
              <email>jdhodges@google.com</email>
            </address>
          </author>

          <author initials="J.C." surname="Jones" fullname="J.C. Jones">
            <organization>Mozilla</organization>
            <address>
              <email>jc@mozilla.com</email>
            </address>
          </author>

          <author initials="M.B." surname="Jones" fullname="Michael B. Jones">
            <organization>Microsoft</organization>
            <address>
              <email>mbj@microsoft.com</email>
	      <uri>http://self-issued.info/</uri>
            </address>
          </author>

          <author initials="A." surname="Kumar" fullname="Akshay Kumar">
            <organization>Microsoft</organization>
            <address>
              <email>akshayku@microsoft.com</email>
            </address>
          </author>

          <author initials="A." surname="Liao" fullname="Angelo Liao">
            <organization>Microsoft</organization>
            <address>
              <email>huliao@microsoft.com</email>
            </address>
          </author>

          <author initials="R." surname="Lindemann" fullname="Rolf Lindemann">
            <organization>Nok Nok Labs</organization>
            <address>
              <email>rolf@noknok.com</email>
            </address>
          </author>

          <author initials="E." surname="Lundberg" fullname="Emil Lundberg">
            <organization>Yubico</organization>
            <address>
              <email>emil@yubico.com</email>
            </address>
          </author>

          <date month="March" day="4" year="2019" />
        </front>
        <seriesInfo name="World Wide Web Consortium (W3C)" value="Recommendation" />
        <format type="HTML" target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/" />
      </reference>

    </references>
  </back>
</rfc>
