A Critique on the OpenPGP Updates
                
                The IETF OpenPGP Working Group (WG) at some point
                decided to give up on its charter to produce an
                updated specification and instead started to re-invent
                that standard.  Whether this is in line with IETF
                rules is questionable.
                
                
                  Considering that new features and discussions for larger
                updates of the specification delayed a new RFC for
                many years and were the reason for closing the WG in
                2017 and re-opening in 2020, we proposed to go back to
                the last commonly agreed upon draft or to conclude the
                WG on the grounds that no rough consensus could be
                found.
                
               
              
                
                  01 Symmetric Mode
                  
                  It seems that this new scheme was introduced for the
                  benefit of allowing GCM as yet another encryption
                  mode. GCM is a counter mode and, as can be seen by
                  the large changes required, is hard to get right.
                  Meanwhile we have GCM in CMS (the core of S/MIME)
                  because Microsoft decided to go this way. However,
                  OpenPGP has made its decisions based on technical
                  soundness and not based on larger vendor, government,
                  or committee decision.
                  
                  
                  The WG once decided to go with OCB and EAX.  EAX was
                  only added to avoid possible patent problems.
                  However, in the 4.5 years since the introduction of
                  EAX, the OCB patent expired. Thus, there is no more
                  reason to reject OCB, and it should be declared as a
                  RECOMMENDED mode with the intention to make it a
                  MUST mode in some future OpenPGP.  It can also be
                  expected that FIPS-140 will eventually allow OCB.
                  
                  
                  Our suggestion was: Drop all the new AEAD ideas and
                  use what has been deployed and agreed upon in the
                  OpenPGP WG a long time ago. Further, turn OCB into MUST
                  WG a long time ago.  Further, turn OCB into
                  MUST and EAX into MAY (only for backward
                  compatibility with deployed implementations).
                  
                 
                
                  02 Padding Packet
                  
                  A padding packet is introduced with the idea to
                  mitigate traffic analysis.  However, it is suggested
                  to use random data for the content of this packet
                  and thus this packet opens a huge covert channel.
                  This is especially concerning for institutional
                  users efforts regarding Data Leak Prevention (DLP).
                  Suggestions to use padding based on a verifiable
                  seed, were rejected despite that this is the
                  standard method to do padding.
                  
                  
                  This padding idea has come up in discussion every
                  once in a while over the last 25 years and has
                  always been rejected because it does not belong into
                  the encryption layer but into the application
                  (plaintext) layer.
                  
                 
                
                  03 Changes to the ECDH Encryption
                  
                  ECDH is the standard way to do encryption with
                  elliptic curves.  For OpenPGP ECDH has been
                  specified in RFC-6637 from 2012 and been implemented
                  by PGP and GnuPG even a year earlier.  Instead of
                  keeping this solid specification some details have
                  been changed without a sound reason.
                  
                 
                
                  04 Proliferation for Algorithms
                  
                  The new draft not only allow the use of GCM as a
                  third encryption mode but adds a couple of other
                  required algorithms:
                  
                  
                  
                    -  HKDF
-  Argon2
-  Optional modes (EAX, OCB, GCM, and a way to define even more)
                  Werner Koch joined the AES conference in 2000 on
                  Phil Zimmermann's wish to talk about algorithm
                  proliferation.  They agreed on pushing the
                  forthcoming AES along with their MDC extension, get
                  Twofish and so out of the focus, and in general
                  resist to add new algorithms.  That is for the
                  simple reason that neither PGP nor GnuPG wanted to
                  maintain all new algorithms until eternity.
                  
                  
                  Later, they had to do a political compromise to
                  allow Camellia for the use in Japan and Brainpool
                  curves for European use.  We should really stick to
                  this and not support algorithms which are just a
                  substitute for existing crypto building blocks.
                  Since added complexity makes a review harder and the
                  larger codebase has to be maintained indefinitely
                  for backwards compatibility.
                  
                 
                
                  05 Removal of Useful Real-world Features
                  
                  For example, in 2016 an m flag was
                  introduced to indicate that the plaintext shall be
                  interpreted as MIME data.  This has been removed
                  along with deprecating the
                  traditional t flag to distinguish
                  between binary and text data.  Having the ability to
                  easily detect MIME data is for example required to
                  process attachments from web mail clients or in
                  air-gaped environments.
                  
                  
                  The designated revoker feature has also been
                  deprecated with the rationale that a better method
                  is to achieve this with an "escrowed" revocation,
                  pre-created by the user. In fact, GnuPG creates such
                  a revocation certificate since version 2.1 (released
                  in 2014), to mitigate the common problem of a
                  forgotten password.  But this is not a replacement
                  for corporate needs: the designated revoker is an
                  important feature to manage a large scale
                  deployments of OpenPGP keys and acts as a CRL
                  (certificate revocation list) replacement.
                  
                 
                
                  06 Removal of Security Fixes
                  
                  Due to an implementation bug in PGP 5, the metadata
                  of a signed file was not covered by the signatures.
                  RFC-4880 didn't fix that for backward
                  compatibility.  However, users were often surprised
                  when they learned that the shown filename and file
                  data could be changed while keeping the signature
                  intact.  With the introduction of the new v5
                  signature packet format, the opportunity to fix that
                  was taken.
                  
                  
                  However, the crypto-refresh group then introduced v6
                  signatures and removed the fix (see
                  this commit)
                  with the flimsy explanation that the way to populate
                  that the field is not clear in a theoretical
                  encrypt-then-sign scenario and that signatures could
                  not be detached and reattached (which is obvioulsy
                  wrong).  A later proposed fix for v4 signature
                  packets (Meta Hash subpacket,
                  see discussion)
                  was not considered.
                  
                 
                
                  07 Salted Signature Issue
                  
                  Salted signature were introduced with the idea
                  that they might mitigate a chosen prefix attack in
                  the same way as they will do for a certain SHA-1
                  based Web-of-Trust attack.  No research for that
                  statement has been cited just an assumption and a
                  concern related to fault attacks on EdDSA which is
                  about the development of Wireguard-like protocol.
                  However, such fault attacks can be more securely
                  detected by checking the signature after
                  verification in the same way as the mitigation to
                  Lenstra's attack on RSA's CRT.
                  
                  
                  Anyway, the major concern here is that this adds
                  another 32 octet covert channel to each message (and
                  also blow the signature up by 64 octets) In this
                  case it is not an optional feature as with the
                  padding packet.  This is a clear violation of best
                  current practices in sensitive areas where signed
                  mails are mandatory and encryption is not enforced
                  (or monitored by a gateway).
                  
                 
                
                  08 Regression from Deployed Formats and Standard Behavior
                  
                  In general the crypto-refresh draft tends to ignore
                  the requirements of long term storage needs and
                  considers online communication and software
                  deployment pattern as the major OpenPGP usage.  Data
                  and software life-cycle management has not been
                  adequately taken in consideration and thus the draft
                  regresses heavily from 30 years of PGP history.