<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.14 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gallagher-openpgp-grease-00" category="std" consensus="true" submissionType="IETF" updates="9580" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="pgp-grease">GREASE Code Points in OpenPGP</title>

    <author fullname="Andrew Gallagher" role="editor">
      <organization>PGPKeys.EU</organization>
      <address>
        <email>andrewg@andrewg.com</email>
      </address>
    </author>

    <date year="2025" month="February" day="03"/>

    <area>int</area>
    <workgroup>openpgp</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 35?>

<t>This document reserves code points in various OpenPGP registries for use in interoperability testing, by analogy with GREASE in TLS.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://andrewgdotcom.gitlab.io/openpgp-grease"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-gallagher-openpgp-grease/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        OpenPGP Working Group mailing list (<eref target="mailto:openpgp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/openpgp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/openpgp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://gitlab.com/andrewgdotcom/openpgp-grease"/>.</t>
    </note>


  </front>

  <middle>


<?line 39?>

<section anchor="introduction"><name>Introduction</name>

<t>GREASE <xref target="RFC8701"></xref> is an existing specification to ensure forwards compatibility of assigned code points in TLS.
We wish to specify a similar mechanism for OpenPGP.
This will be particularly useful in the OpenPGP Interoperability Test Suite <xref target="INTEROP"></xref>, but is not restricted to controlled environments.
It is expected that implementations will include PGP-GREASE code points in real-world artifacts on an ongoing basis, to encourage forwards-compatible coding across multiple implementations.</t>

</section>
<section anchor="conventions-definitions"><name>Conventions and Definitions</name>

<t>The term "OpenPGP Certificate" is used in this document interchangeably with "OpenPGP Transferable Public Key", as defined in <xref section="10.1" sectionFormat="of" target="RFC9580"/>.</t>

<t>For avoidance of confusion with GREASE in TLS, we will use the term "PGP-GREASE" for the equivalent mechanism in OpenPGP.</t>

<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="code-points"><name>Reservation of PGP-GREASE Code Points</name>

<t>We assign the following one-octet code points to PGP-GREASE:</t>

<texttable title="OpenPGP GREASE Code Points" anchor="grease-code-points">
      <ttcol align='left'>Sequence</ttcol>
      <ttcol align='left'>Code Point (Decimal)</ttcol>
      <ttcol align='left'>Code Point (Hexadecimal)</ttcol>
      <c>1</c>
      <c>123</c>
      <c>0x7b</c>
      <c>2</c>
      <c>44</c>
      <c>0x2c</c>
      <c>3</c>
      <c>55</c>
      <c>0x37</c>
      <c>4</c>
      <c>66</c>
      <c>0x42</c>
      <c>5</c>
      <c>77</c>
      <c>0x4d</c>
      <c>6</c>
      <c>88</c>
      <c>0x58</c>
      <c>7</c>
      <c>99</c>
      <c>0x63</c>
      <c>8</c>
      <c>111</c>
      <c>0x6f</c>
</texttable>

<t>These code points will be reserved for PGP-GREASE in the following registries:</t>

<texttable title="OpenPGP GREASE Registries" anchor="grease-registries">
      <ttcol align='left'>Registry Name</ttcol>
      <ttcol align='left'>Notes</ttcol>
      <c>OpenPGP String-to-Key (S2K) Types</c>
      <c>(1)</c>
      <c>OpenPGP User Attribute Subpacket Types</c>
      <c>&#160;</c>
      <c>OpenPGP Image Attribute Encoding Format</c>
      <c>&#160;</c>
      <c>OpenPGP Signature Subpacket Types</c>
      <c>(2)</c>
      <c>OpenPGP Reason for Revocation (Revocation Octet)</c>
      <c>(1)</c>
      <c>OpenPGP Public Key Algorithms</c>
      <c>&#160;</c>
      <c>OpenPGP Symmetric Key Algorithms</c>
      <c>&#160;</c>
      <c>OpenPGP Hash Algorithms</c>
      <c>&#160;</c>
      <c>OpenPGP Compression Algorithms</c>
      <c>&#160;</c>
      <c>OpenPGP Secret Key Encryption (S2K Usage Octet)</c>
      <c>(3)</c>
      <c>OpenPGP Signature Types</c>
      <c>&#160;</c>
      <c>OpenPGP Image Attribute Versions</c>
      <c>&#160;</c>
      <c>OpenPGP AEAD Algorithms</c>
      <c>&#160;</c>
      <c>OpenPGP Key and Signature Versions</c>
      <c>&#160;</c>
</texttable>

<t><list style="numbers" type="1">
  <t>The use of PGP-GREASE code points in the String-to-Key Types and Reason for Revocation registries is not currently specified, however the code points will be reserved for consistency.</t>
  <t>When PGP-GREASE code points from the Signature Subpacket Types registry are used, the critical bit <bcp14>MUST NOT</bcp14> be set.</t>
  <t>All code points allocated in the Symmetric Key Algorithms registry are automatically also allocated in the S2K Usage Octet registry.</t>
</list></t>

<t>Due to the smaller number of allocatable code points (63) in the OpenPGP Packet Types registry, most PGP-GREASE values cannot be used as Packet Types.
In addition, implementations pre-dating <xref target="RFC9580"></xref> are not required to ignore unknown packet types.
A Marker packet (<xref section="5.8" sectionFormat="of" target="RFC9580"/>) <bcp14>SHOULD</bcp14> therefore be used instead.
Packet Types 44 and 55 <bcp14>MAY</bcp14> be used if it is known that the receiving implementation supports <xref target="RFC9580"></xref>.</t>

<t>Note that <xref target="INTEROP"></xref> currently uses signature version 23 as a de-facto GREASE code point.
This is intentionally not included here, as we prefer code points that are available for reservation across multiple registries.</t>

</section>
<section anchor="usage-of-pgp-grease-code-points"><name>Usage of PGP-GREASE Code Points</name>

<t>An implementation <bcp14>MAY</bcp14> insert dummy packets or subpackets into otherwise valid packet sequences.
It <bcp14>MAY</bcp14> also include dummy code points in preference lists.
The data section of dummy packets and subpackets <bcp14>SHOULD</bcp14> contain only the ten octets "PGP-GREASE", in UTF-8 encoding.
All other fields of dummy packets and subpackets <bcp14>SHOULD</bcp14> correspond to those of a real packet or subpacket.</t>

<t>A generating implementation <bcp14>SHOULD</bcp14> choose code points deterministically, while ensuring that all PGP-GREASE code points are eventually used.</t>

<t>(TODO: how often should we add GREASE?)</t>

<t>A receiving implementation <bcp14>MUST</bcp14> gracefully ignore unknown code points when required to by <xref target="RFC9580"></xref>, including PGP-GREASE code points.
It <bcp14>MUST NOT</bcp14> treat PGP-GREASE code points any differently from other unknown code points; this includes detecting or indicating the presence of PGP-GREASE code points.</t>

<t>PGP-GREASE codepoints <bcp14>MAY</bcp14> be used in either certificates or messages.</t>

<t>Since existing legacy implementations have not consistently followed the requirement to ignore unknown code points, a generating implementation is <bcp14>RECOMMENDED</bcp14> to introduce PGP-GREASE code points gradually, over several release cycles.
This should ensure that legacy receiving implementations are not overwhelmed by errors in a short period of time.</t>

<section anchor="certificates"><name>Certificates</name>

<t>An implementation <bcp14>MAY</bcp14> use PGP-GREASE codepoints in the following certificate contexts:</t>

<t><list style="symbols">
  <t>Dummy algorithm IDs in algorithm-preference signature subpackets (subpacket types 11, 21, 22, and 39).</t>
  <t>Signature subpacket IDs of dummy signature subpackets, in either the hashed or unhashed area.</t>
  <t>User attribute subpacket types, versions and encoding formats of dummy user attribute subpackets.</t>
  <t>Packet versions and algorithm IDs in dummy subkey packets.</t>
  <t>Signature and hash algorithm IDs and signature version numbers in dummy third-party certification signatures.</t>
  <t>Hash algorithm IDs in dummy self-signatures.</t>
  <t>Packet and signature types in dummy packets.</t>
</list></t>

<t>A generating implementation <bcp14>MAY</bcp14> also generate dummy primary keys with PGP-GREASE version numbers or algorithm IDs.</t>

</section>
<section anchor="messages"><name>Messages</name>

<t>An implementation <bcp14>MAY</bcp14> use PGP-GREASE codepoints in the following message contexts:</t>

<t><list style="symbols">
  <t>Signature subpacket IDs of dummy signature subpackets in the hashed or unhashed signature subpacket area.</t>
  <t>Signature and hash algorithm IDs and signature version numbers in dummy document signature packets and their corresponding OPS packets.</t>
  <t>Packet and signature types in dummy packets.</t>
</list></t>

<t>Note that when an OPS packet is present, any PGP-GREASE code points it contains <bcp14>MUST</bcp14> be duplicated in the corresponding signature packet.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Legacy implementations that do not properly ignore unknown code points will experience failures; this is intentional.
None of these failures should have security consequences in themselves, unless other coding errors are present in the legacy implementation.
While this should result in increased security in the long term, exposing such bugs may cause problems in the short term.</t>

<t>Generating implementations are therefore <bcp14>RECOMMENDED</bcp14> to be cautious in deploying PGP-GREASE initially.
In particular, implementations <bcp14>SHOULD NOT</bcp14> generate PGP-GREASE code points in production unless they have been tested first in a controlled environment such as the Interoperability Test Suite <xref target="INTEROP"></xref>.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to allocate the code points listed in <xref target="grease-code-points"/> in each of the registries listed in <xref target="grease-registries"/>, with the note "Reserved (PGP-GREASE)" and a reference pointing to this document.</t>

<t>IANA is also requested to allocate code points 44 and 55 in the "OpenPGP Packet Types" registry, with the note "Reserved (PGP-GREASE)" and a reference pointing to this document.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC9580">
  <front>
    <title>OpenPGP</title>
    <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
    <author fullname="D. Huigens" initials="D." surname="Huigens"/>
    <author fullname="J. Winter" initials="J." surname="Winter"/>
    <author fullname="Y. Niibe" initials="Y." surname="Niibe"/>
    <date month="July" year="2024"/>
    <abstract>
      <t>This document specifies the message formats used in OpenPGP. OpenPGP provides encryption with public key or symmetric cryptographic algorithms, digital signatures, compression, and key management.</t>
      <t>This document is maintained in order to publish all necessary information needed to develop interoperable applications based on the OpenPGP format. It is not a step-by-step cookbook for writing an application. It describes only the format and methods needed to read, check, generate, and write conforming packets crossing any network. It does not deal with storage and implementation questions. It does, however, discuss implementation issues necessary to avoid security flaws.</t>
      <t>This document obsoletes RFCs 4880 ("OpenPGP Message Format"), 5581 ("The Camellia Cipher in OpenPGP"), and 6637 ("Elliptic Curve Cryptography (ECC) in OpenPGP").</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9580"/>
  <seriesInfo name="DOI" value="10.17487/RFC9580"/>
</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 title='Informative References' anchor="sec-informative-references">

<reference anchor="INTEROP" target="https://tests.sequoia-pgp.org/">
  <front>
    <title>OpenPGP Interoperability Test Suite</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


<reference anchor="RFC8701">
  <front>
    <title>Applying Generate Random Extensions And Sustain Extensibility (GREASE) to TLS Extensibility</title>
    <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
    <date month="January" year="2020"/>
    <abstract>
      <t>This document describes GREASE (Generate Random Extensions And Sustain Extensibility), a mechanism to prevent extensibility failures in the TLS ecosystem. It reserves a set of TLS protocol values that may be advertised to ensure peers correctly handle unknown values.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8701"/>
  <seriesInfo name="DOI" value="10.17487/RFC8701"/>
</reference>




    </references>


<?line 180?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author would like to thank Daniel Huigens for inspiring this work.</t>

</section>


  </back>

<!-- ##markdown-source:
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
5tK3VfQdWum7UfBfDve/hBUjAAA=

-->

</rfc>

