LibrePGP in Thunderbird, maybe treat it as optional

Kai Engert kaie at kuix.de
Mon Feb 12 09:43:16 CET 2024


As I understand it, LibrePGP wants to be treated completely separately 
from the upcoming OpenPGP/IETF (crypto-refresh) specification.

I haven't seen initiative from the LibrePGP side to respond to my past 
requests for reaching compromises.

Werner's recent email about "PQC public key format specification" (on 
this list) also suggests that LibrePGP will treat PQC using v5 keys 
differently, with even a clash in namespaces of identifiers as a 
potential consequence.

In my opinion it will be too complicated to handle both specifications 
in parallel in Thunderbird with a unified user experience.

I think it will become necessary that email applications, which want to 
support both specifications, will be required to clearly distinguish 
between the OpenPGP and LibrePGP technologies.

While I don't plan to rush, this very unfortunate topic keeps my mind 
busy. I'm continously brainstorming how this could be handled in a 
reasonable way.

I'd like to present you a potential approach that Thunderbird (TB) could 
use in the future.

As you may know, as of today (e.g. as implemented in TB version 115.x), 
TB uses integrated key management, and internal trust management for all 
public keys. It offers a fallback to optionally use the GnuPG software, 
but only for secret keys, and the fallback only works if the user 
configured extra pfererences, and has GnuPG and the GPGME library installed.

TB could potentially handle LibrePGP by treating it as a completely 
optional technology and message format, only available for users who 
install GnuPG and GPGME and use special settings in TB.

The idea is that TB could introduce a LibrePGP mode of operation. For 
each email account, TB could offer the user to set a preference whether 
the email account (or identity) will be used with LibrePGP or with 
OpenPGP/IETF.

As part of this model, TB would stop offering any integrated support for 
key or trust management for LibrePGP public keys. Users would be 
required to use an external application (either gpg or a related UI tool).

When using only the TB application, without having GnuPG/GPGME installed 
or configured, TB would offer integrated support OpenPGP (v6) support, only.

If RNP implements full support for OpenPGP v6 keys and messages, then TB 
could eventually enable support for it. TB would be careful to disable 
any LibrePGP related v5 keys or features when using the integrated mode.

Let me write that idea as a bullet list to make it easier to understand:

TB by default:
- only OpenPGP v4 + v6 support
- integrated key and trust management of v4 + v6 keys, only
- user can configure (in account settings) which key to use
   (same as today)
- when reading an email, TB would look at the configured account,
   and if it is configured as OpenPGP, would route the message through
   the v4+v6 processing code. If the message is actually in the LibrePGP
   format, processing will fail with an error.
- when composing an email, TB would only consider the list of
   public keys from TB's internal keyring, same as today.
- when composing, the UI technology choice would offer OpenPGP and
   S/MIME only.

All users of TB would have the above available.

Only users who manually install and configure GnuPG/GPGME may optionally 
use the following:

TB with GnuPG/GPGME:
- If a user wishes to make use of GnuPG, they will have to
   say so in the settings for a TB account/identity.
- the user will have to specify which external GnuPG secret key
   should be used with this account/identity (same as today)
- when reading an email, the message would be routed through
   external gnupg, only.
   (And processing will fail with an error if it's a v6 message,
   or if the required secret key is not available in the LibrePGP
   keyring.)
- when viewing the status of an email, TB might offer
   reduced information. For example, it might report the signature
   status based on feedback from GnuPG, and report the fingerprint
   of the signer key. But maybe it will not report anything else.
   Because TB would not offer key management for LibrePGP keys,
   there might be no viewer for those keys inside of TB.
- when composing an email, TB might try to query GPGME for the
   availability of keys, and maybe it could show in advance whether
   an email can be encrypted or not.
   However, TB wouldn't offer any assistance for resolving issues
   with missing keys. The user would be required to manually resolve
   such trouble with their external tool for LibrePGP key management.
   GnuPG's trust settings for public keys would be used.
- when composing, the technology offered in the menus would be
   limited to LibrePGP/GnuPGP and S/MIME
   (based on the configuration of the from/sender identity for the
   current email).

General:
- the internal key and trust management of TB would make it clear
   in the UI that it's limited to OpenPGP keys, and exclude
   GnuPG/LibrePGP keys

Summary:
- using OpenPGP/IETF would work in TB in the same way as today
- LibrePGP would be available in TB only after manual efforts
   to configure it, and its usability would be very limited
   and probably inconvenient.

This isn't yet a plan, but just a potential way to handle the separate 
specifications in TB, and still give a users a minimal workaround to use 
LibrePGP, if they have to.

I assume that in the upcoming TB release in 2024, TB will limits its 
*PGP support to RFC 4880, and not yet attempt to support any 
enhancements from the LibrePGP or OpenPGP/crypto-refresh specifications.

Regards
Kai



More information about the LibrePGP-discuss mailing list