|
|
Subscribe / Log in / New account

GnuPG 2.2.0 released

Version 2.2.0 of the GNU Privacy Guard is out; this is the beginning of a new long-term stable series. Changes in this release are mostly minor, but it does now install as gpg rather than gpg2, and it will automatically fetch keys from keyservers by default. "Note: this enables keyserver and Web Key Directory operators to notice when you intend to encrypt to a mail address without having the key locally. This new behaviour will eventually make key discovery much easier and mostly automatic."


From:  Werner Koch <wk-AT-gnupg.org>
To:  gnupg-announce-AT-gnupg.org, info-gnu-AT-gnu.org
Subject:  GnuPG 2.2.0 released
Date:  Mon, 28 Aug 2017 13:51:11 +0200
Message-ID:  <87r2vvkj0w.fsf__16675.3493519083$1503925976$gmane$org@wheatstone.g10code.de>

Hello!

                Arguing that you don't care about the right to privacy
                because you have nothing to hide is no different from
                saying you don't care about free speech because you have
                nothing to say.                       - Edward Snowden

The GnuPG team is pleased to announce the availability of a new release
of GnuPG: version 2.2.0.  See below for a list of new features and bug
fixes.  This release marks the start of a new long term support series
to replace the 2.0.x series which will reach end-of-life on 2017-12-31.


About GnuPG
=============

The GNU Privacy Guard (GnuPG) is a complete and free implementation
of the OpenPGP standard which is commonly abbreviated as PGP.

GnuPG allows to encrypt and sign data and communication, features a
versatile key management system as well as access modules for public key
directories.  GnuPG itself is a command line tool with features for easy
integration with other applications.  A wealth of frontend applications
and libraries making use of GnuPG are available.  As an Universal Crypto
Engine GnuPG provides support for S/MIME and Secure Shell in addition to
OpenPGP.

GnuPG is Free Software (meaning that it respects your freedom).  It can
be freely used, modified and distributed under the terms of the GNU
General Public License.


Noteworthy changes in version 2.2.0
===================================

  This is the new long term stable branch.  This branch will only see
  bug fixes and no new features.

  * gpg: Reverted change done in 2.1.23 so that --no-auto-key-retrieve
    is again the default.

  * Fixed a few minor bugs.

  This release incorporates all changes from the 2.1 series including
  these from the release candidate 2.1.23:

  * gpg: "gpg" is now installed as "gpg" and not anymore as "gpg2".
    If needed, the new configure option --enable-gpg-is-gpg2 can be
    used to revert this.

  * gpg: Option --auto-key-locate "local,wkd" is now used by default.
    Note: this enables keyserver and Web Key Directory operators to
    notice when you intend to encrypt to a mail address without having
    the key locally.  This new behaviour will eventually make key
    discovery much easier and mostly automatic.  Disable this by adding
      auto-key-locate local
    to your gpg.conf.  [This description has been adjusted to include
    the above mentioned change in 2.2.0]

  * agent: Option --no-grab is now the default.  The new option --grab
    allows to revert this.

  * gpg: New import option "show-only".

  * gpg: New option --disable-dirmngr to entirely disable network
    access for gpg.

  * gpg,gpgsm: Tweaked DE-VS compliance behaviour.

  * New configure flag --enable-all-tests to run more extensive tests
    during "make check".

  * gpgsm: The keygrip is now always printed in colon mode as
    documented in the man page.

  * Fixed connection timeout problem under Windows.


A detailed description of the changes in the 2.2 (formerly 2.1) branch
can be found at <https://gnupg.org/faq/whats-new-in-2.1.html>.


Getting the Software
====================

Please follow the instructions found at <https://gnupg.org/download/> or
read on:

GnuPG 2.2.0 may be downloaded from one of the GnuPG mirror sites or
direct from its primary FTP server.  The list of mirrors can be found at
<https://gnupg.org/download/mirrors.html>.  Note that GnuPG is not
available at ftp.gnu.org.

The GnuPG source code compressed using BZIP2 and its OpenPGP signature
are available here:

 https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.0.tar.bz2 (6379k)
 https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.0.tar.bz2.sig

An installer for Windows without any graphical frontend except for a
very minimal Pinentry tool is available here:

 https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.2.0_20170... (3797k)
 https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.2.0_20170...

The source used to build the Windows installer can be found in the same
directory with a ".tar.xz" suffix.  A new release candidate for Gpg4win
featuring this version of GnuPG will be available in a few days.


Checking the Integrity
======================

In order to check that the version of GnuPG which you are going to
install is an original and unmodified one, you can do it in one of
the following ways:

 * If you already have a version of GnuPG installed, you can simply
   verify the supplied signature.  For example to verify the signature
   of the file gnupg-2.2.0.tar.bz2 you would use this command:

     gpg --verify gnupg-2.2.0.tar.bz2.sig gnupg-2.2.0.tar.bz2

   This checks whether the signature file matches the source file.
   You should see a message indicating that the signature is good and
   made by one or more of the release signing keys.  Make sure that
   this is a valid key, either by matching the shown fingerprint
   against a trustworthy list of valid release signing keys or by
   checking that the key has been signed by trustworthy other keys.
   See the end of this mail for information on the signing keys.

 * If you are not able to use an existing version of GnuPG, you have
   to verify the SHA-1 checksum.  On Unix systems the command to do
   this is either "sha1sum" or "shasum".  Assuming you downloaded the
   file gnupg-2.2.0.tar.bz2, you run the command like this:

     sha1sum gnupg-2.2.0.tar.bz2

   and check that the output matches the next line:

36ee693d0b2ec529ecf53dd6d397cc38ba71c0a7  gnupg-2.2.0.tar.bz2
7b0cf3912b86a6bd7655026276984a34a248e625  gnupg-w32-2.2.0_20170828.exe
0997499bdc6edfa43e2ce3d2cda9de00ecbc369d  gnupg-w32-2.2.0_20170828.tar.xz


Internationalization
====================

This version of GnuPG has support for 26 languages with Chinese, Czech,
French, German, Japanese, Norwegian, Russian, and Ukrainian being almost
completely translated. 


Documentation
=============

If you used GnuPG in the past you should read the description of
changes and new features at doc/whats-new-in-2.1.txt or online at

  https://gnupg.org/faq/whats-new-in-2.1.html

The file gnupg.info has the complete user manual of the system.
Separate man pages are included as well but they have not all the
details available as are the manual.  It is also possible to read the
complete manual online in HTML format at

  https://gnupg.org/documentation/manuals/gnupg/

or in Portable Document Format at

  https://gnupg.org/documentation/manuals/gnupg.pdf .

The chapters on gpg-agent, gpg and gpgsm include information on how
to set up the whole thing.  You may also want search the GnuPG mailing
list archives or ask on the gnupg-users mailing lists for advise on
how to solve problems.  Many of the new features are around for
several years and thus enough public knowledge is already available.

You may also want to follow our postings at <https://gnupg.org/blob/>
and <https://twitter.com/gnupg>.


Support
========

Please consult the archive of the gnupg-users mailing list before
reporting a bug: <https://gnupg.org/documentation/mailing-lists.html>.
We suggest to send bug reports for a new release to this list in favor
of filing a bug at <https://bugs.gnupg.org>.  If you need commercial
support check out <https://gnupg.org/service.html>.

If you are a developer and you need a certain feature for your project,
please do not hesitate to bring it to the gnupg-devel mailing list for
discussion.

Maintenance and development of GnuPG is mostly financed by donations.
The GnuPG project employs 4 full-time developers, one part-timer, and
one contractor.  They all work exclusivly on GnuPG and closely related
software like Libgcrypt, GPGME, and GPA.  Please consider to donate via:

                  https://gnupg.org/donate/


Thanks
======

We have to thank all the people who helped with this release, be it
testing, coding, translating, suggesting, auditing, administering the
servers, spreading the word, answering questions on the mailing lists,
and for financing the project.  Special thanks to Neal and Justus for
all their valuable work.


Happy hacking,

   Your GnuPG Team



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 five keys:

  2048R/4F25E3B6 2011-01-12 [expires: 2019-12-31]
  Key fingerprint = D869 2123 C406 5DEA 5E0F  3AB5 249B 39D2 4F25 E3B6
  Werner Koch (dist sig)

  rsa2048/E0856959 2014-10-29 [expires: 2019-12-31]
  Key fingerprint = 46CC 7308 65BB 5C78 EBAB  ADCF 0437 6F3E E085 6959
  David Shaw (GnuPG Release Signing Key) <dshaw 'at' jabberwocky.com>

  rsa2048/33BD3F06 2014-10-29 [expires: 2016-10-28]
  Key fingerprint = 031E C253 6E58 0D8E A286  A9F2 2071 B08A 33BD 3F06
  NIIBE Yutaka (GnuPG Release Key) <gniibe 'at' fsij.org>

  rsa2048/7EFD60D9 2014-10-19 [expires: 2020-12-31]
  Key fingerprint = D238 EA65 D64C 67ED 4C30  73F2 8A86 1B1C 7EFD 60D9
  Werner Koch (Release Signing Key)

  rsa3072/4B092E28 2017-03-17 [expires: 2027-03-15]
  Key fingerprint = 5B80 C575 4298 F0CB 55D8  ED6A BCEF 7E29 4B09 2E28
  Andre Heinecke (Release Signing Key)

You may retrieve these keys from a keyserver using this command

  gpg --keyserver hkp://keys.gnupg.net --recv-keys  \
                  249B39D24F25E3B6 04376F3EE0856959 \
                  2071B08A33BD3F06 8A861B1C7EFD60D9 BCEF7E294B092E28

The keys are also 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.

-- 
Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
-- 
If you have a working or partly working program that you'd like
to offer to the GNU project as a GNU package,
see https://www.gnu.org/help/evaluation.html.


to post comments

GnuPG 2.2.0 released

Posted Sep 2, 2017 12:26 UTC (Sat) by wx (guest, #103979) [Link] (10 responses)

> it will automatically fetch keys from keyservers by default

This sound so inexplicably stupid that I'm having a hard time believing they're actually doing it. Anyone care to clarify?

If they really fetch keys from public key servers based on e-mail address (or even key ID) users might as well send plain text messages.

GnuPG 2.2.0 released

Posted Sep 2, 2017 12:49 UTC (Sat) by karkhaz (subscriber, #99844) [Link]

I believe this is in response to perceived usability problems with GnuPG. The idea is to make it more convenient (trust-on-first-contact) by default, while users can use the traditional (web-of-trust) model if they want extra trust.

Doing it this way brings GnuPG closer to e.g. OpenSSH, where when you first connect to a server, the server sends you its fingerprint. You're supposed to call up the administrator of that machine on the telephone or whatever, to ensure that the fingerprint matches, but hardly anybody does. If you later connect to that machine and it's fingerprint has changed, _then_ OpenSSH complains about a possible MITM attach.

So with automatic key fetching, the guarantee is now that the person you're talking to is the same person you've always been talking to, rather than the same person that you've met IRL. Of course, you can still use the web-of-trust if you like, just like you can phone up the admin of the server that you're connecting to to verify that it's truly the same machine.

GnuPG 2.2.0 released

Posted Sep 3, 2017 10:27 UTC (Sun) by jwilk (subscriber, #63328) [Link] (4 responses)

The LWN summary is a bit misleading.

GnuPG 2.2.0 will fetch the key when you try to encrypt to an e-mail address, but you don't have the key locally.

It won't fetch keys when verifying signatures. (GnuPG 2.1.23 did that by default, which was inexplicably stupid; luckily the change has been reverted.)

See also: https://lists.gnupg.org/pipermail/gnupg-devel/2017-August...

GnuPG 2.2.0 released

Posted Sep 3, 2017 12:24 UTC (Sun) by wx (guest, #103979) [Link] (3 responses)

Fetching keys from public key servers without the user explicitly asking for it and explicitly being prompted to verify full fingerprints based on info obtained face-to-face is always and without exceptions a bad idea.

Anyone can upload arbitrary keys to key servers. Forged keys are pretty commonly found. The problem isn't actually limited to look up by e-mail address. Collisions in short key IDs are extremely easy to take advantage of. Collisions in long key IDs take more computational effort but are also possible.

I would actually argue that outside of the package management use case fetching keys automatically when encrypting e-mail is even worse than when verifying signatures. The latter only compromises authentication while the earlier breaks confidentiality. Users who actually need gpg require confidentiality first and foremost. (Luckily I'm not one of those users.)

On a related note, considering how much fuss Werner Koch has made about parsing command line output being the only way to interact with gpg from other applications it's completely beyond me why he would now even consider talking to remote servers over the network from the same process by default. It was always my impression that it was a best practice to at least use a separate program or gpg with a different $GNUPGHOME or even a separate account/machine for that purpose.

If the authors of an encryption tool even remotely think that this new behavior is a sane option the only sensible thing to do is to stop trusting them. I guess we need a replacement for gpg.

GnuPG 2.2.0 released

Posted Sep 4, 2017 7:38 UTC (Mon) by gouttegd (guest, #106484) [Link]

> it's completely beyond me why he would now even consider talking to remote servers over the network from the same process by default.

With GnuPG 2.1 (and now 2.2), the gpg process never talks directly to remote servers. All network-related tasks (access to keyservers, to Web Key Directories, to keys published in the DNS...) are performed by a separate daemon called dirmngr. And as stated in the announce, if that is still not satisfying enough you can use the --disable-dirmngr to prevent gpg from starting the dirmngr daemon and thus completely forbid all network access.

In the same vein, the gpg process also never manipulates the private keys itself, this is delegated to the gpg-agent process.

It is true that the 1.x branch of GnuPG was monolithic (everything was in the gpg binary). But that's not true anymore.

GnuPG 2.2.0 released

Posted Sep 4, 2017 17:29 UTC (Mon) by jwilk (subscriber, #63328) [Link]

Do you have any particular attack scenario in mind? I'm confused.

One bad thing about --auto-key-locate is that is they facilitate phishing attacks. Say I want to steal Alice's and Bob's secret plans to take over the world. To do that, I could send the following mail to Alice:

From: Bob Beaver <jwilk@jwilk.net>
To: Alice Antelope <alice@example.com>
Subject: Secret plans

Hi Alice!

It's me, Bob. (I promise!)

I accidentally deleted the file with our secret plans.
Could you send me a copy?

Thanks!

-- 
Bob Beaver <bob@example.net>

Without automatic key retrieval, GnuPG would act like a safety net: even if Alice overlooked the fishy From header, it wouldn't be possible for her to send an encrypted mail to the attacker, because she wouldn't have the key.

But --auto-key-retrieve makes this kind of phishing as easy as --auto-key-locate, so you must have had something else in mind.

GnuPG 2.2.0 released

Posted Sep 8, 2017 21:32 UTC (Fri) by nix (subscriber, #2304) [Link]

On a related note, considering how much fuss Werner Koch has made about parsing command line output being the only way to interact with gpg from other applications
Can't you use libassuan as well?

GnuPG 2.2.0 released

Posted Sep 3, 2017 14:06 UTC (Sun) by gouttegd (guest, #106484) [Link] (3 responses)

> it will automatically fetch keys from keyservers by default
> This sound so inexplicably stupid that I'm having a hard time believing they're actually doing it. Anyone care to clarify?

It will not automatically fetch keys from keyservers, it will attempt to fetch them from Web Key Directories (WKD: https://gnupg.org/blog/20161027-hosting-a-web-key-directo...).

It's not as bad as fetching key from a keyserver, because while anyone can upload a key associated with any address to a keyserver, publishing a key in a Web Key Directory requires the cooperation of the domain owner (the key for for alice@example.org can only be published in the WKD of example.org). This is not perfect, but it still raises the bar for an attacker wishing to publish a fake key.

GnuPG 2.2.0 released

Posted Sep 3, 2017 17:14 UTC (Sun) by wx (guest, #103979) [Link] (2 responses)

> It will not automatically fetch keys from keyservers, it will attempt to fetch them from Web Key Directories

Thanks. That makes a little more sense.

> publishing a key in a Web Key Directory requires the cooperation of the domain owner

No. It doesn't. When will people finally understand that neither DNS nor SSL certs are suitable for authentication?

> it still raises the bar for an attacker wishing to publish a fake key.

Ever so slightly, yes. The whole thing comes at a price though: It creates a false sense of security.

GnuPG 2.2.0 released

Posted Sep 4, 2017 11:50 UTC (Mon) by gouttegd (guest, #106484) [Link]

It might be worth noting that with the "modern" branch of GnuPG (the 2.1 branch that is now becoming the 2.2 branch), GnuPG developers want to re-focus the default settings of GnuPG.

The aim is to make GnuPG suitable by default for users merely wanting to avoid mass surveillance ("pervasive monitoring" as the IETF calls it) without too much concern for targeted attacks. Facilitating the distribution and fetching of keys is one aspect of this new focus, as is the newly introduced "trust-on-first-use" trust model intended to replace the web of trust (theoretically great but actually too complicated to use for most people).

That does not mean that GnuPG will not be suitable anymore for people fearing targeted attacks. We are only speaking of the default configuration. Users who think they may be personally targeted will still be able to harden the configuration.

In other words, the idea is: be easy-to-use against mass surveillance for the majority of people and let the (presumably fewer) people more at risk tweak the knobs for higher security, instead of the other way around (be tailored for targeted users and let the more casual users tweak the knobs for more convenience).

Werner Koch expressed this idea (among other things) in a DebConf presentation two years ago (slides: https://gnupg.org/ftp/blurbs/debconf15_gnupg-past-present... ; video recording: http://meetings-archive.debian.net/pub/debian-meetings/20...).

> When will people finally understand that neither DNS nor SSL certs are suitable for authentication?

Well, I think originally it was intended that when fetching a key from the DNS (using, eg, DANE OPENPGPKEY records as per RFC 7929), the fetched key should be considered at least marginally valid (or even fully valid) if the DNS record was authentified by DNSSEC.

This idea has been abandoned (partly due to the slow deployment of DNSSEC) and GnuPG maintains a strict separation between fetching a key and validating a key: the method used to find a key (be it on a keyserver, in a WKD, in th DNS...) has no effect on that key's validity, which it always solely determined by the trust model in action (so if you stick with the classic web of trust model, any automatically fetched key will be regarded as being of unknown validity---you can still use it, but GnuPG will warn you that the key may not belong to its stated owner).

GnuPG 2.2.0 released

Posted Sep 6, 2017 0:59 UTC (Wed) by davidstrauss (guest, #85867) [Link]

> When will people finally understand that neither DNS nor SSL certs are suitable for authentication?

When will people finally understand that authentication is about achieving a level of confidence suitable for what the authentication is being used for (and the means of people using the system)? There is no universal standard for what's suitable for authentication, only mechanisms that offer varying levels of assurance, cost, available implementations, and ease-of-use. If something requires effort to exploit, forge, or fraudulently obtain, then it provides authentication value commensurate with that difficulty. So, while attacks exist against domain control validation, approaches like multiple vantage points [1] make attacks difficult. The difficulty is high enough that domain validation is suitable for plenty of purposes, especially if the likely alternative users adopt is "nothing at all."

> Ever so slightly, yes. The whole thing comes at a price though: It creates a false sense of security.

Significant but less-than-perfect security is not "a false sense of security"; it is merely imperfect security. If you bother to lock the door to your home when you leave -- despite the wide availability of lock picks and the ease of breaking windows -- then you're already acknowledging that even flawed security has value versus nothing. DNS-based validation -- even without multiple vantage points or DNSSec -- is still better than nothing.

Besides, all security is imperfect. Even if GPG's own validation model is perfect, my use of it is vulnerable to other systems being exploited. I can fight those vulnerabilities with impractical measures like air-gapped machines, but then I'm going to use GPG for far fewer things by necessity. Striking the right balance of usability and security is hard, and absolutism doesn't help.

[1] https://community.letsencrypt.org/t/validating-challenges...


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds