Koch: A New Future for GnuPG
For many years our work was mainly financed by donations and smaller projects. Now we have reached a point where we can benefit from a continuous revenue stream to maintain and extend the software without asking for donations or grants. This is quite a new experience to us and I am actually a bit proud to lead one of the few self-sustaining free software projects who had not to sacrifice the goals of the movement.
He concludes with a request for individuals who have been donating to GnuPG to redirect their generosity toward another deserving project. This is good news; GnuPG ran on a shoestring for far too long.
From: | Werner Koch via Gnupg-devel <gnupg-devel-AT-gnupg.org> | |
To: | gnupg-announce-AT-gnupg.org | |
Subject: | [Announce] A New Future for GnuPG | |
Date: | Mon, 03 Jan 2022 08:19:26 +0100 | |
Message-ID: | <871r1p1e2p.fsf__49588.9554427535$1641194935$gmane$org@wheatstone.g10code.de> | |
Cc: | Werner Koch <wk-AT-gnupg.org> |
Hello and a Happy Gnu Year! It has been quite some time since my last status report on GnuPG. I have been quite busy working on the project but unfortunately rarely active on the usual channels. So, here is a new report telling what we did over the last two or three years. Please read at least the last section. A web version of this article is available at https://gnupg.org/blog/20220102-a-new-future-for-gnupg.html Some background =============== In the beginning GnuPG was a fun project I did in my spare time. After a few years this turned out to be a full time job and it was possible to acquire paid projects to maintain and further develop GnuPG. When the BSI (Germany's Federal Office for Information Security) migrated back from Linux to Windows, a need to migrate their end-to-end encryption solution, based on GnuPG and KMail, was needed. A call for bids for an Open Source solution was issued and our company, g10 Code, along with our friends at Intevation and KDAB received the contract. The outcome was Gpg4win, the meanwhile standard distribution of GnuPG for Windows. It turned out that the software used in Germany to protect restricted data at the VS-NfD level, called Chiasmus, showed its age. For example, the block length of 64 bits (like IDEA or 3DES) is not anymore secure for data of more than 150 MiB. Also the secret encryption algorithm has not anymore the confidence people used to have in it and due to lacking hardware support it is quite slow. A new call to bid for a replacement of that software was issued and we also with Intevation were granted the contract. Our solution was to update GnuPG and its frontends Kleopatra and GpgOL. After some thorough evaluation of our software (working title /Gpg4VS-NfD/) and the usual bureaucratic we received a first approval in January 2019. Meet GnuPG.com ============== I have been working with Andre Heinecke of Intevation GmbH since about 2010 on Gpg4win and some other projects. With the foreseeable approval of /Gpg4VS-NfD/ Andre then left Intevation and took over 40% of the g10 Code shares from my brother (I am holding the other 60%). We started to make a real product out of /Gpg4VS-NfD/. Thus we rented a new office to work desk by desk on this and hired staff for sales and marketing. We introduced the brand /GnuPG.com/ to have a better recognition of our product than by our legal name /g10 Code GmbH/. The software itself was re-branded as /GnuPG VS-Desktop®/ and distributed as an MSI packet for Windows and as an AppImage for Linux. Except for customer specific configuration files /GnuPG VS-Desktop/ is and will always be Open Source under the GNU General Public License. We also keep maintaining /Gpg4win/ as the community version. This is based on the the same source code as /GnuPG VS-Desktop/ but comes with more features due to the use of the latest development branch. The benefits for the customer to pay for /GnuPG VS-Desktop/ are: a commercial support contract, the guarantee of a long term maintained and approved version, customization options, community tested new features, and the per-approval required vendor for security updates. Also technically published for longer, it became only last year widely known, that the legacy Chiasmus software may not anymore be used for restricted communication from this year on. For the administration and also for the industry two option exist to migrate away from Chiasmus: the proprietary GreenBone software from /cryptovision GmbH/ and our Open Source software /GnuPG VS-Desktop/. The rush towards GnuPG VS-Desktop ================================= Since summer 2021 the phones of our sales team didn't stop ringing and we could bring in the fruits of our work. We were not aware how many different governmental agencies exist and how many of them have a need to protect data at the VS-NfD (restricted) level. And with those agencies also comes a huge private and corporate sector who also have to handle such communication. Although we support S/MIME, the majority of our customers decided in favor of the OpenPGP protocol, due to its higher flexibility and independence of a centralized public key infrastructure. A minor drawback is that for a quick start and easy migration from Chiasmus, many sites will use symmetric-only encryption (i.e. based on "gpg -c"). However, the now deployed software provides the foundation to move on to a comfortable public-key solution. In particular, our now smooth integration into Active Directory makes working with OpenPGP under Windows really nice. We were also able to partner with Rohde & Schwarz Cybersecurity GmbH for a smooth integration of GnuPG VS-Desktop with their smartcard administration system. We estimate that a quarter million workplaces will be equipped with GnuPG VS-Desktop and provide the users state of the art file and mail encryption. Our longer term plan is to equip all public agency workplaces with end-to-end encryption software - not only those with an immediate need for an approved VS-NfD solution. This should also fit well into the announced goal of the new German government to foster the development of Open Source. Kudos to all supporters ======================= For many years our work was mainly financed by donations and smaller projects. Now we have reached a point where we can benefit from a continuous revenue stream to maintain and extend the software without asking for donations or grants. This is quite a new experience to us and I am actually a bit proud to lead one of the few self-sustaining free software projects who had not to sacrifice the goals of the movement. Those of you with SEPA donations, please cancel them and redirect your funds to other projects which are more in need of financial support. The Paypal and Stripe based recurring donations have already been canceled by us. All you supporters greatly helped us to keep GnuPG alive and to finally setup a sustainable development model. *Thank you!* Salam-Shalom, Werner p.s. This is an announcement only mailing list. Please send replies only to the gnupg-users at gnupg.org mailing list. p.p.s List of Release Signing Keys: To guarantee that a downloaded GnuPG version has not been tampered by malicious entities we provide signature files for all tarballs and binary versions. The keys are also signed by the long term keys of their respective owners. Current releases are signed by one or more of these four keys: rsa3072 2017-03-17 [expires: 2027-03-15] 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 Andre Heinecke (Release Signing Key) ed25519 2020-08-24 [expires: 2030-06-30] 6DAA 6E64 A76D 2840 571B 4902 5288 97B8 2640 3ADA Werner Koch (dist signing 2020) ed25519 2021-05-19 [expires: 2027-04-04] AC8E 115B F73E 2D8D 47FA 9908 E98E 9B2D 19C6 C8BD Niibe Yutaka (GnuPG Release Key) brainpoolP256r1 2021-10-15 [expires: 2029-12-31] 02F3 8DFF 731F F97C B039 A1DA 549E 695E 905B A208 GnuPG.com (Release Signing Key 2021) The keys are available at https://gnupg.org/signature_key.html and in any recently released GnuPG tarball in the file g10/distsigkey.gpg . Note that this mail has been signed by a different key. -- g10 Code GmbH -=- GnuPG.com -=- AmtsGer. Wuppertal HRB 14459 Bergstr. 3a Geschäftsführung Werner Koch D-40699 Erkrath https://gnupg.com USt-Id DE215605608 _______________________________________________ Gnupg-announce mailing list Gnupg-announce@gnupg.org http://lists.gnupg.org/mailman/listinfo/gnupg-announce _______________________________________________ Gnupg-devel mailing list Gnupg-devel@gnupg.org http://lists.gnupg.org/mailman/listinfo/gnupg-devel
Posted Jan 3, 2022 18:12 UTC (Mon)
by cyperpunks (subscriber, #39406)
[Link] (12 responses)
There must be some other reason people donate money to GnuPG?
Posted Jan 3, 2022 18:43 UTC (Mon)
by vadim (subscriber, #35271)
[Link] (10 responses)
The sensible modern way would be to have a GPG library, and the gpg command be an UI to that. This way the code could be reused for other purposes, and parts that are not necessary could just be avoided.
Instead of that, GPGME is a wrapper around the binary. Which means it still reads the user's configuration, uses ~/.gnupg, and so on. It makes it incredibly inconvenient if you'd like to create an application that's not completely connected to the user's normal identity. And calling gpg to decrypt messages incurs a significant performance impact, because of the initialization cost.
I remember long ago back when KDE had integrated GPG support I enthusiastically tried to use with some friends, but found it sucked. Any GPG message froze the UI for a couple seconds while GPG started up and decrypted every message one at a time. Rather than facilitating encryption it made it awfully inconvenient.
Until fairly recently doing anything with the GPG ecosystem was extremely annoying, because either you use /usr/bin/gpg, which sucks for many use cases, or you reimplement it, which is a lot of delicate work. Fortunately people are finally starting to write OpenPGP libraries, but of course that bypasses GPG entirely and doesn't benefit it.
Posted Jan 3, 2022 20:20 UTC (Mon)
by ballombe (subscriber, #9523)
[Link] (4 responses)
Posted Jan 3, 2022 20:41 UTC (Mon)
by NYKevin (subscriber, #129325)
[Link]
Posted Jan 4, 2022 17:30 UTC (Tue)
by vadim (subscriber, #35271)
[Link] (2 responses)
I also don't see why a library couldn't do that. These days gpg runs as a normal user, because locking a small amount of memory is allowed by the kernel without any extra privileges. So a hypothetical libgpg could just do that.
Posted Jan 4, 2022 17:44 UTC (Tue)
by ballombe (subscriber, #9523)
[Link]
Posted Jan 4, 2022 18:07 UTC (Tue)
by ibukanov (subscriber, #3942)
[Link]
Posted Jan 4, 2022 17:25 UTC (Tue)
by ballombe (subscriber, #9523)
[Link] (2 responses)
Also gpgme cannot encrypt.
GPGHOME=`mktemp -d`
Posted Jan 4, 2022 17:28 UTC (Tue)
by vadim (subscriber, #35271)
[Link]
Posted Jan 5, 2022 9:38 UTC (Wed)
by ber (subscriber, #2142)
[Link]
GPGME can encrypt:
Posted Jan 5, 2022 9:32 UTC (Wed)
by ber (subscriber, #2142)
[Link] (1 responses)
The (very old) KMail integration blocked on some processes, which was also solved more than a decade ago (so long ago that I do not remember when) and was more an UI issue with network data always having the chance of being late and not being in control of the local application.
Using GPGME/gpg with a different identity works fine by setting a different GNUPGHOME environment variable in my experience.
The good part about GnuPG's technical structure from my point of view is that processes also separate concerns (like network access in dirmngr and private key operations in gpg-agent) and it makes it simpler to understand and reason about.
Posted Jan 5, 2022 9:53 UTC (Wed)
by ber (subscriber, #2142)
[Link]
Posted Jan 4, 2022 11:16 UTC (Tue)
by zdzichu (subscriber, #17118)
[Link]
(I personally depend on google search and corporate step-by-step instruction if I need to do anything with GPG. Keybase at some point was trying to make crypto operation more intuitive, yet the development died after Zoom acquisition).
Posted Jan 3, 2022 20:31 UTC (Mon)
by karkhaz (subscriber, #99844)
[Link] (3 responses)
I assumed that a centralized PKI is exactly what enterprise/government customers would want to use, for ease of revocation/rotation/etc. It's quite surprising that these customers do see the benefit of OpenPGP, I wonder how the government makes it work (I don't suppose the civil servants are having keysigning parties...). This is very welcome news, anyway, congratulations!
Posted Jan 3, 2022 20:44 UTC (Mon)
by NYKevin (subscriber, #129325)
[Link]
OTOH, building a decentralized system on top of a centralized system is substantially harder.
Posted Jan 4, 2022 8:25 UTC (Tue)
by taladar (subscriber, #68407)
[Link]
Posted Jan 4, 2022 8:53 UTC (Tue)
by nilsmeyer (guest, #122604)
[Link]
Depends on the government agency, BSI uses it obviously, also some state data protection offices in Germany. There was an ill-fated attempt to build something for e-Mail (DE-Mail) that was a home grown solution, for healthcare there is something based on an x.509 PKI which is also not widely used, similarly there is something used by lawyers and courts (supposedly) also based on x.509 I believe. Fax and Mail still reign supreme in a lot of places.
The federally owned Bundesdruckerei (which also prints Euro notes for example) also offers S/MIME certificates, though barely anyone uses S/MIME.
It's not a comprehensive strategy - this is quite typical for Germany, what is unusual here is that the people in charge relied on an open standard instead of cooking up their own proprietary solution. I think it's quite an achievement actually to not only have a good technical solution in place but also to be able to convince a government agency to use it.
Posted Jan 6, 2022 10:29 UTC (Thu)
by nilsmeyer (guest, #122604)
[Link] (3 responses)
Posted Jan 6, 2022 10:40 UTC (Thu)
by mjg59 (subscriber, #23239)
[Link]
Posted Jan 7, 2022 5:54 UTC (Fri)
by dvdeug (guest, #10998)
[Link] (1 responses)
Trust is hard, but I don't see anything in this pattern that stands out as concerning; the biggest concern is that legitimate sources of money are the way to hide illegitimate sources of money, like from the NSA. (On the other hand, poverty makes someone easier to bribe.) I think it more likely the Germans are the ones getting backdoored here, instead of the one's backdooring, if there is a backdoor.
Posted Jan 9, 2022 2:34 UTC (Sun)
by JoeBuck (subscriber, #2330)
[Link]
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
I solved this issue in Debian popularity-contest by creating a HOMEDIR before calling gpg and removing it afterward:
$GPG --batch --no-options --no-default-keyring --trust-model=always \
--homedir "$GPGHOME" --keyring $KEYRING --quiet \
--armor -o "$POPCONGPG" -r $POPCONKEY --encrypt "$POPCON"
rm -rf "$GPGHOME"
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
(sorry for the potentially confusing typo)
I was going to comment that /usr/bin/gpg2 is supposed to have better UI. But I see that Fedora provides gpg as a symlink to gpg2 since F30 (about 3 years now). Maybe it's time to check if years-old experiences with gpg are still valid?
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
> favor of the OpenPGP protocol, due to its higher flexibility and
> independence of a centralized public key infrastructure.
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG
Koch: A New Future for GnuPG