<?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.3.7) -->


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

<!ENTITY RFC2104 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2104.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC9580 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9580.xml">
]>


<rfc ipr="trust200902" docName="draft-ietf-openpgp-persistent-symmetric-keys-02" category="std" consensus="true" submissionType="IETF" updates="9580" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>Persistent Symmetric Keys in OpenPGP</title>

    <author initials="D." surname="Huigens" fullname="Daniel Huigens" role="editor">
      <organization>Proton AG</organization>
      <address>
        <postal>
          <street>Route de la Galaise 32</street>
          <city>Plan-les-Ouates</city>
          <code>1228</code>
          <country>Switzerland</country>
        </postal>
        <email>d.huigens@protonmail.com</email>
      </address>
    </author>

    <date year="2025" month="November" day="04"/>

    <area>sec</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 64?>

<t>This document defines a new packet and algorithm for the OpenPGP standard (RFC 9580) to support persistent symmetric keys, for message encryption using authenticated encryption with additional data (AEAD) and for message authentication using AEAD authentication tags.
This enables the use of symmetric cryptography for data storage (and other contexts that do not require asymmetric cryptography), for improved performance, smaller keys, and improved resistance to quantum computing.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://twisstle.gitlab.io/openpgp-persistent-symmetric-keys/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-openpgp-persistent-symmetric-keys/"/>.
      </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/twisstle/openpgp-persistent-symmetric-keys"/>.</t>
    </note>


  </front>

  <middle>


<?line 69?>

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

<t>The OpenPGP standard <xref target="RFC9580"></xref> has supported symmetric encryption for data packets using session keys since its inception, as well as symmetric encryption using password-derived keys.
This document extends the use of symmetric cryptography by adding support for persistent symmetric keys which can be stored in a transferable secret key, and used to symmetrically encrypt session keys, for long-term storage and archival of messages.
This document uses authenticated encryption with associated data (AEAD) as defined by <xref target="RFC9580"></xref>.</t>

<t>The OpenPGP standard also supports the use of digital signatures for authentication and integrity but no similar symmetric mechanism exists in the standard.
This document introduces the use of AEAD authentication tags as a symmetric counterpart to digital signatures, for long-term storage and archival of attestations of authenticity and certification.</t>

</section>
<section anchor="conventions-used-in-this-document"><name>Conventions Used in This Document</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"></xref>.
Any implementation that adheres to the format and methods specified in this document is called a compliant application.
Compliant applications are a subset of the broader set of OpenPGP applications described in <xref target="RFC9580"></xref>.
Any <xref target="RFC2119"></xref> keyword within this document applies to compliant applications only.</t>

</section>
<section anchor="motivation"><name>Motivation</name>

<t>When compared to asymmetric cryptography, symmetric cryptography can provide improved performance and equivalent security with smaller keys.
In contexts that do not require asymmetric cryptography, such as secure data storage where the same user encrypts and decrypts data, symmetric cryptography can be used to take advantage of these benefits.</t>

<t>Additionally, asymmetric algorithms included in OpenPGP are vulnerable to attacks that might become possible on quantum computers <xref target="Shor"></xref>.
Symmetric cryptography is also affected by quantum computing but to a lesser extent, which can be countered by using larger keys <xref target="Grover"></xref>.
While the standardization of quantum-secure asymmetric cryptography in OpenPGP is ongoing <xref target="PQCinOpenPGP"></xref>, and will be required to secure communications, there is a large body of existing messages encrypted with classical algorithms.
Once persistent symmetric keys are available, these messages can be protected against future compromises efficiently by symmetrically re-encrypting the session key, and storing the message symmetrically encrypted for long-term storage and archival.</t>

</section>
<section anchor="creating-and-reusing-packets"><name>Creating and Reusing Packets</name>

<t>For storing persistent symmetric keys, we introduce a new packet (see <xref target="key-packet"/>), as handling of persistent symmetric key material requires some care.
For example, when extracting a Transferable Public Key from a Transferable Secret Key, persistent symmetric keys must be ignored.</t>

<t>For storing session keys encrypted with persistent symmetric keys, while a Symmetric-Key Encrypted Session Key packet exists, its semantics don't match our requirements, as it's intended to encrypt the session key with a user-provided password, and doesn't offer a way to store a reference to a persistent key.
Therefore, we reuse the Public-Key Encrypted Session Key packet instead, which does offer the desired semantics.</t>

<t>Similarly, we reuse the Signature packet for "symmetric signatures".</t>

<t>For these use cases, no new packet is required as the handling of these packets requires no special care.</t>

<t>To indicate the type of keys in the new and existing packets, a special persistent symmetric algorithm ID value 0 is registered, which can be used in the place of a public-key algorithm ID.</t>

</section>
<section anchor="key-packet"><name>Persistent Symmetric Key Packet</name>

<t>This document defines a new OpenPGP packet, extending table 3 of <xref target="RFC9580"></xref>.</t>

<texttable title="Persistent Symmetric Key Packet registration" anchor="key-packet-registration">
      <ttcol align='right'>ID</ttcol>
      <ttcol align='left'>Critical</ttcol>
      <ttcol align='left'>Packet Type Description</ttcol>
      <ttcol align='left'>Shorthand</ttcol>
      <c>40</c>
      <c>No</c>
      <c>Persistent Symmetric Key Packet</c>
      <c>PSK</c>
</texttable>

<t>The Persistent Symmetric Key Packet (Type ID 40) has identical fields to the Secret Key Packet (Type ID 5).
However, only version 6 of the packet is defined.
Earlier versions of the Secret Key Packet format MUST NOT be used with the Persistent Symmetric Key Packet.</t>

<t>The Persistent Symmetric Key Packet MUST NOT be used with asymmetric algorithms, i.e. any of the public key algorithms defined in table 18 of <xref target="RFC9580"></xref>.
It may only be used with the persistent symmetric algorithm defined below, with special algorithm ID value 0.</t>

<t>When storing encrypted symmetric key material in a Persistent Symmetric Key Packet, AEAD encryption (S2K usage octet 253, see section 3.7.2.1 of <xref target="RFC9580"></xref>) MUST be used, to ensure that the secret key material is bound to the fingerprint.
Implementations MUST NOT decrypt symmetric key material in a Persistent Symmetric Key Packet that was encrypted using a different method.</t>

</section>
<section anchor="tsk-grammar"><name>Extended Transferable Secret Key Grammar</name>

<t>The Transferable Secret Key grammar defined in section 10.2 of <xref target="RFC9580"></xref> is extended to allow including Persistent Symmetric Key Packets.
Persistent Symmetric Keys may be included together with asymmetric keys in a single sequence of Transferable Secret Keys.
However, Persistent Symmetric Keys do not accept subcomponents, such as subkeys, User IDs, or direct-key signatures.</t>

</section>
<section anchor="key-algo"><name>Persistent Symmetric Key Algorithm</name>

<t>This document defines one new algorithm for use with OpenPGP, updating table 18 of <xref target="RFC9580"></xref>.</t>

<texttable title="Persistent Symmetric Key Algorithm registration" anchor="key-algo-registration">
      <ttcol align='right'>ID</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>Public Key Format</ttcol>
      <ttcol align='left'>Secret Key Format</ttcol>
      <ttcol align='left'>Signature Format</ttcol>
      <ttcol align='left'>PKESK Format</ttcol>
      <c>0</c>
      <c>AEAD</c>
      <c>sym. algo, AEAD algo, fingerprint seed [<xref target="key-fields"/>]</c>
      <c>key material</c>
      <c>IV, authentication tag [<xref target="sig-fields"/>]</c>
      <c>IV, ciphertext [<xref target="pkesk-fields"/>]</c>
</texttable>

<t>This algorithm ID can be used to store symmetric key material in a Persistent Symmetric Key Packet (see <xref target="key-packet"/>).
It can also be used to store a session key encrypted using AEAD in a PKESK packet (see section 5.1 of <xref target="RFC9580"></xref>).
It can also be used to store an AEAD authentication tag in a Signature packet (see section 5.2 of <xref target="RFC9580"></xref>).</t>

<t>Implementations MUST NOT use the symmetric algorithm ID in Public-Key Packets, Public-Subkey Packets, Secret-Key Packets or Secret-Subkey Packets.</t>

<section anchor="key-fields"><name>Algorithm-Specific Fields for Persistent Symmetric Keys</name>

<t>The public key material consists of this series of values:</t>

<t><list style="symbols">
  <t>A one-octet symmetric algorithm identifier (see section 9.3 of <xref target="RFC9580"></xref>).</t>
  <t>A one-octet AEAD algorithm (see section 9.6 of <xref target="RFC9580"></xref>).</t>
  <t>A 32-octet random seed to randomize the key fingerprint.</t>
</list></t>

<t>The secret key material consists of this single value:</t>

<t><list style="symbols">
  <t>Symmetric key material of the appropriate length for the given symmetric algorithm.</t>
</list></t>

</section>
<section anchor="pkesk-fields"><name>Algorithm-Specific Fields for Persistent Symmetric Encryption</name>

<t>The encrypted session key consists of this series of values:</t>

<t><list style="symbols">
  <t>A initialization vector of the size specified by the AEAD mode of the key.</t>
  <t>A symmetric key encryption of the plaintext value described in section 5.1 of <xref target="RFC9580"></xref>, performed using the symmetric-key cipher and AEAD mode of the key, including the authentication tag.</t>
</list></t>

</section>
<section anchor="sig-fields"><name>Algorithm-Specific Fields for Persistent Symmetric Signatures</name>

<t>The signature consists of this series of values:</t>

<t><list style="symbols">
  <t>A initialization vector of the size specified by the AEAD mode of the key.</t>
  <t>An authentication tag of the size specified by the AEAD mode of the key, created by encrypting the empty value using the symmetric-key cipher and AEAD mode of the key, with as additional data the hash digest described in section 5.2.4 of <xref target="RFC9580"></xref>.</t>
</list></t>

<t>Although not required by AEAD algorithms, to maintain consistency with existing signature algorithms, AEAD authentication tags are produced from appropriately hashed data, as per section 5.2.4 of <xref target="RFC9580"></xref>.</t>

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

<t>Security considerations are discussed throughout the document where appropriate.</t>

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

<section anchor="updates-to-packet-types"><name>Updates to Packet Types</name>

<t>IANA is requested to update the "OpenPGP Packet Types" registry with the entry in <xref target="key-packet-registration"/>.</t>

</section>
<section anchor="updates-to-public-key-algorithms"><name>Updates to Public Key Algorithms</name>

<t>IANA is requested to update the "OpenPGP Public Key Algorithms" registry with the entry in <xref target="key-algo-registration"/>.</t>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>An initial version of this draft was written by Dan Ristea (Proton AG), with guidance from Dr Philipp Jovanovic (University College London) and the editor.</t>

<t>Thanks to feedback and suggestions from Andrew Gallagher, Heiko Schäfer, Justus Winter, Falko Strenzke, and Daniel Kahn Gillmor, in no particular order.</t>

</section>


  </middle>

  <back>


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

&RFC2104;
&RFC2119;
&RFC9580;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="Grover" target="https://arxiv.org/abs/quant-ph/9706033">
  <front>
    <title>Quantum mechanics helps in searching for a needle in a haystack</title>
    <author initials="L." surname="Grover">
      <organization></organization>
    </author>
    <date year="1997"/>
  </front>
</reference>
<reference anchor="Shor" target="http://dx.doi.org/10.1137/S0097539795293172">
  <front>
    <title>Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer</title>
    <author initials="P." surname="Shor">
      <organization></organization>
    </author>
    <date year="1997" month="October"/>
  </front>
</reference>
<reference anchor="PQCinOpenPGP" target="https://datatracker.ietf.org/doc/html/draft-wussler-openpgp-pqc-03">
  <front>
    <title>Post-Quantum Cryptography in OpenPGP</title>
    <author initials="S." surname="Kousidis">
      <organization></organization>
    </author>
    <author initials="F." surname="Strenzke">
      <organization></organization>
    </author>
    <author initials="A." surname="Wussler">
      <organization></organization>
    </author>
    <date year="2023" month="October"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
8IW80hB4UfA/mj+ly0YqAAA=

-->

</rfc>

