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


<!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 RFC4880 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4880.xml">
]>


<rfc ipr="trust200902" docName="draft-huigens-openpgp-persistent-symmetric-keys-01" category="std" consensus="true" submissionType="IETF" updates="4880" 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="2023" month="July" day="10"/>

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

    <abstract>


<t>This document defines new algorithms for the OpenPGP standard (RFC4880) to support persistent symmetric keys, for message encryption using authenticated encryption with additional data (AEAD) and for authentication with hash-based message authentication codes (HMAC).
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-huigens-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>


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

<t>The OpenPGP standard <xref target="RFC4880"></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 private 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 proposed by the OpenPGP crypto refresh <xref target="crypto-refresh"></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 hash-based message authentication codes (HMAC) as a symmetric counterpart to digital signatures, for long-term storage and archival of attestations of authenticity and certification.</t>

<t>Rather than introducing new packets for storing persistent symmetric keys, the existing Secret-Key packets are reused for this purpose.
To indicate the type of keys, two algorithms (AEAD and HMAC) are registered, whose IDs can be used in the place of public-key algorithm IDs.
To accommodate these additions, we propose renaming the Public Key Algorithms registry to Persistent Key Algorithms.</t>

<t>Similarly, we reuse the Signature packet for "symmetric signatures".
For session keys encrypted with persistent symmetric keys, while a "Symmetric-Key Encrypted Session Key packet" exists, its semantics don't match our goals, 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.
Nevertheless, given this usage, the naming of these packets may be confusing, so we propose to rename them to "Password Encrypted Session Key packet" and "Key Encrypted Session Key packet", instead.</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="RFC4880"></xref> and the OpenPGP crypto refresh <xref target="crypto-refresh"></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="key-algos"><name>Persistent Symmetric Key Algorithms</name>

<t>This document defines two new algorithms for use with OpenPGP, extending the table in section 9.1 of <xref target="crypto-refresh"></xref>.</t>

<texttable title="Persistent Symmetric Key Algorithm registrations" anchor="key-algo-registrations">
      <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>64</c>
      <c>AEAD</c>
      <c>sym. algo, seed hash [<xref target="key-aead"/>]</c>
      <c>hash seed, key material</c>
      <c>N/A</c>
      <c>AEAD algo, IV, length, ciphertext [<xref target="pkesk-aead"/>]</c>
      <c>65</c>
      <c>HMAC <xref target="RFC2104"/></c>
      <c>hash algo, seed hash [<xref target="key-hmac"/>]</c>
      <c>hash seed, key material</c>
      <c>authentication tag [<xref target="sig-hmac"/>]</c>
      <c>N/A</c>
</texttable>

<t>These algorithm IDs can be used to store symmetric key material in Secret-Key Packets and Secret-Subkey packets (see section 5.5.3 of <xref target="crypto-refresh"></xref>).
The AEAD algorithm ID can be used to store session keys encrypted using AEAD in PKESK packets (see section 5.1 of <xref target="crypto-refresh"></xref>).
The HMAC algorithm ID can be used to store HMAC-based signatures in Signature packets (see section 5.2 of <xref target="crypto-refresh"></xref>).</t>

<t>As the secret key material is required for all cryptographic operations with symmetric keys, implementations SHOULD NOT use these algorithm IDs in Public-Key Packets or Public-Subkey Packets, and SHOULD NOT export Public-Key Packets from Secret-Key Packets holding symmetric key material.</t>

<section anchor="key-aead"><name>Algorithm-Specific Fields for AEAD keys</name>

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

<t><list style="symbols">
  <t>A one-octet symmetric algorithm identifier (see section 9.3 of <xref target="crypto-refresh"></xref>)</t>
  <t>A 32-octet SHA-256 hash of the seed in the private key material</t>
</list></t>

<t>The private key is this series of values:</t>

<t><list style="symbols">
  <t>A 32-octet seed value to be hashed for the public key material</t>
  <t>Symmetric key material of appropriate length for the chosen symmetric algorithm</t>
</list></t>

</section>
<section anchor="key-hmac"><name>Algorithm-Specific Fields for HMAC keys</name>

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

<t><list style="symbols">
  <t>A one-octet hash algorithm identifier (see section 9.5 of <xref target="crypto-refresh"></xref>)</t>
  <t>A 32-octet SHA-256 hash of the seed in the private key material</t>
</list></t>

<t>The private key is this series of values:</t>

<t><list style="symbols">
  <t>A 32-octet seed value to be hashed for the public key material</t>
  <t>Symmetric key material of the length of the hash output size of the chosen hash algorithm</t>
</list></t>

</section>
<section anchor="pkesk-aead"><name>Algorithm-Specific Fields for AEAD encryption</name>

<t><list style="symbols">
  <t>A one-octet AEAD algorithm (see section 9.6 of <xref target="crypto-refresh"></xref>)</t>
  <t>A starting initialization vector of size specified by AEAD mode</t>
  <t>A one-octet length of the following field</t>
  <t>A symmetric key encryption of the plaintext value described in section 5.1 of <xref target="crypto-refresh"></xref>, performed using the selected symmetric-key cipher operating in the given AEAD mode, including the authentication tag.</t>
</list></t>

</section>
<section anchor="sig-hmac"><name>Algorithm-Specific Fields for HMAC signatures</name>

<t><list style="symbols">
  <t>An authentication tag of appropriate length for the hash algorithm</t>
</list></t>

<t>Although not required by HMAC, to maintain compatibility with existing signature implementations, HMAC tags are produced from appropriately hashed data, as per section 5.2.4 of <xref target="crypto-refresh"></xref>.</t>

</section>
</section>
<section anchor="other-changes"><name>Other Changes</name>

<t>To reflect the usage of symmetric algorithms, we propose to rename Public-Key Encrypted Session Key Packet (Tag 1) to Persistent Key Encrypted Session Key Packet, and rename Symmetric-Key Encrypted Session Key Packet (Tag 3) to String-to-Key Encrypted Session Key Packet.
These names reflect the semantics and intended use of the packets, as opposed to the cryptographic algorithms used.</t>

<t>Additionally, we propose to rename the Public Key Algorithms registry to Persistent Key Algorithms.</t>

</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-public-key-algorithms"><name>Updates to Public Key Algorithms</name>

<t>IANA is requested to rename the "Public Key Algorithms" registry to "Persistent Key Algorithms", and add the entries in <xref target="key-algo-registrations"/> to the registry.</t>

</section>
<section anchor="updates-to-packet-type-descriptions"><name>Updates to Packet Type Descriptions</name>

<t>IANA is requested to modify the "PGP Packet Types/Tags" registry as follows:</t>

<t><list style="symbols">
  <t>For Packet Tag 1 ("Public-Key Encrypted Session Key Packet"), change the Packet Type to "Persistent Key Encrypted Session Key Packet".</t>
  <t>For Packet Tag 3 ("Symmetric-Key Encrypted Session Key Packet"), change the Packet Type to "String-to-Key Password Encrypted Session Key Packet".</t>
</list></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).</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

<reference anchor="crypto-refresh" target="https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-10">
  <front>
    <title>OpenPGP</title>
    <author initials="P." surname="Wouters">
      <organization></organization>
    </author>
    <author initials="D." surname="Huigens">
      <organization></organization>
    </author>
    <author initials="J." surname="Winter">
      <organization></organization>
    </author>
    <author initials="N." surname="Yutaka">
      <organization></organization>
    </author>
    <date year="2023" month="June"/>
  </front>
</reference>
&RFC2104;
&RFC2119;
&RFC4880;


    </references>

    <references title='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-01">
  <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="March"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
cxgHJKP+X3P5QuU2bSAyqdJ8Sfvm9LF3Fby1wwxyZW+ntf3a3AGV+jOT3xKv
EM18CMnF3HgeuNHzOAcSGljRe/Nh/B5C+H/x9pJ/f/f8jw8X756f0+/j30av
Xze/1CvGv11+eH2+/G258+zyzZvnb8/95jejP3seE73Lq/cXl29Hr3s+39t0
TTQBv0wUA7AsaMhICZQIVVLqiTfjU5jWUItG+YK6oUzRds/i3HbJlLBjSRiF
zA9yfDzyZmZgri1UApqtWadTNIiV0HLhZO6lMi1JtwK/1Kx8tumxJ1BUjWpi
lQsAEZPSSPQvIjyqC2dn35p5vgMjff9SaSZ3NN4R4Q6KE3Xd1XS+99BGG2mi
yxYMpTfGUYvDPeNHFCveIEvPDls62v62Joz4PrDFxn6XjaZuGfWSOVAlFfcE
TDftXngQXeR/q9uGblUy496ThKtuK39HyPFkR7lK9FZToPWkpsIH2vZTO+u6
RiiUN1SgbuFlOqQhj4nKMXg5qi6jZsyhAtPSvVVX0UJnVepx0iAJ6t5WWR76
UYqJo+uF4JO5ns4czkHQwEUGtEGrkCjdcQHcKz7RyA0YjTebBPhwlyfBoInz
nePazMG9G9M5cSj5jvpz1+9206Gd8jJ8s5/RnOsjKz75Ww+o8pFLXrvFqy8i
4MJweBzCuCXcbV9pgvXU0Hmf2hcEnz033WnMJBNVA8i38V44NRtVXicHVwI8
JZd4zcXEpAtSqmmw6q59tcAnGVifpoJWYAfRJWF/+yzCzHJLt6+IXj+Apzkh
eJVuAn1k5FRSMRDXlQvK491c07ygrtFcahyR8UTUnVJKFdcTROiYWhXf+6ju
M+ll3UhvHHVCF/nzlpgJZtslfrtHu38EDWLymP2x7e6CmtAN9xfUN7DnQ7D7
YWasrXCcN3xpx5OxOB0cUiQ3jD73Q3+L9I/ebp3rttIjpicaA+LOix/Rxbn4
3tr2vd2lvvCV63to11eeNX1n8+jq1fPxq/CRhv/h93jrv+8rP5F4+oQ0odb9
O8V0wJ4ExSnEkuYn8e9P9/dsBtqMHz8+Yxk/pgV97iVwLGZ1YPu7eLs/qqV5
MRf/6oMU8qmb9UWiCyQQUTfLLG6UvamlQo8T7KTJQdzfh1vaHz/qw7bpNJvL
ZJdOKxMfuJi3o0FvbYfi3BzRSNEeO1Y53bexnURdngU4tSasq3rCytP68bia
3LRmrz3o2wDwZHAyON4EQb6qUkun1rptUW3zmOH5lmVAS4+YLWpszIOgBMdn
txK0LMzdrSsAcs/K1LR2+NGWw6ORDdTEKdF1u12SN18zgNBbxQBRMiDZ0OH4
lmJlyOq2k1Ys21oRBpA1XJAXlyNJHWu6QPdPQ6jDC0+jLbHqK19GbRBxDdLe
BKOZyfw91kbsEac+WhJKPPatbiJeaJWlnhM5+oyLQKyUen4k8FM3S9TWd42o
45pHJwHKrpQdRlEsRiilKjaoN+1qtfQMOrycbjJQ1DuBPd0CbS/z+CiIxJQR
H5089ckcemlO+vqWYHnv1lgeDGi92WFBcxpL5ldhAKFjm3uQjlOWh8Ut6u+g
kO51Cpr7Srp6C6TXyEro8iPf5LMHBI6zrhU4pq2/H7iGUXfF7OT/IGa0KcQq
fPKGVA69LdjrW9241yHseu+hade6o71/1Kp8q7FZYfmVgDz9SUDQK5fcwekc
I4XM6p75VtFXeXxFTsYsZ2A0gnza3KRqVY2uR65Nlpk7/mKTzArndVzasi9s
KjKpeU4L4erMuzuqTb+eDpvK5VGV+U638y1/aCtqjmcH8HJ/k9OY2A+DVC1t
vS14CIdyKrZq2v2jpo9gt+Sb2o2fU8MqoEaZm5lqOmuPtRwtOrtPsJ+TZ/Hj
h3KnJzprpuVmFGmUXK1ufW8EFPMjRuFvy1NfeVqKoq0P2eWnXvoCgS81mmI9
eLKlZ34kLvkG+2wmcwwrEV3e4jXFL3xPECbiTRNvf/MN2s4bQF8pxd57uPzw
8YaL3Z9t8xU6HPWQu9b2acd82tjRkBTDE7t2DUKrSYfZjmOWt7X1tyN8JRu+
V+G8ajoK0GThv84JV17dpqc1EVF3tnbbsO2a8n+8MH9EzYu/vjkD2lBdQusV
Rc2LpPOCUZhqm1SWjZmVBH9TeY80E5+/pGnhkw+7GL0drR2ENP7g/0iLtd1k
TxTxztA7Kuu8G1tu6G3c1+s4orfVE+HmU6b+Og8LuLAhacM0tT4U/qjjWJ8w
WLPEY47+bEycM58WweKNxoD29PUiGPPyqr3d7gO3bWOkDTTvSy59Y1Evp3QS
e7tv4P363mNMepz2HkwtlTc47KeSBuuKHEORh2fnDl26CbvjYr7RCaAbJTe5
uctUOmVehf9HeV13UXBL29RBurKgP88Qd/T1N6ABy4nLzzE2vSM/SLHX/EEZ
tGUOn1Y65XtRZuRzOGAGhi8K8bu5lbm5BSj3PuSaD+I0yzI1pb/MyVOTY1j6
L3p3p7osKQAA

-->

</rfc>

