Add blog entry: A new bugtracker for GnuPG.
[gnupg-doc.git] / misc / blog.gnupg.org / 20170116-gnupg-this-past-fall.org
1 # GnuPG this Past Fall
2 #+STARTUP: showall
3 #+AUTHOR: Neal
4 #+DATE: January 6, 2017
5
6 ** GnuPG this Past Fall
7
8 *** Development
9
10 The focus of development the past few months has been on polishing the
11 GnuPG 2.1 code base so that we can release GnuPG 2.2.  This is
12 particularly important to us, because we want the latest features to
13 be available in the next release of Debian stable, which is about to
14 freeze.  All of the main developers have participated in this effort,
15 but I want to particularly point out Daniel Kahn Gillmor’s many
16 patches in this area.  Even prior to this effort, Daniel has regularly
17 submitted patches for relatively minor, boring issues.  But, it is
18 exactly these types of fixes that result in a polished product.
19
20 A relatively major change that went into the most recent release of
21 GnuPG is the replacement of ADNS with William Ahern’s [[http://25thandclement.com/~william/projects/dns.c.html][libdns]].
22 Unfortunately, our patches for Tor support for ADNS have been in limbo
23 for such a long time, that [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-December/032350.html][we decided to change to a different DNS
24 resolver]].
25
26 Daniel Kahn Gillmor also helped implement and debug GnuPG’s new
27 supervisor mode.  This mode allows GnuPG’s daemons to be auto-started
28 and auto-stopped by systemd.  If you are tracking Debian testing or
29 Debian unstable, you can try enabling this by following the
30 instructions in ~/usr/share/doc/gnupg-agent/README.Debian~.  This is
31 based on the [[https://git.gnupg.org/cgi-bin/gitweb.cgi?p%3Dgnupg.git%3Ba%3Dtree%3Bf%3Ddoc/examples/systemd-user%3Bh%3D2d589564e565b0b886d8c8d9071ca52290fb87e3%3Bhb%3Drefs/heads/master][reference implementation for starting GnuPG’s daemons
32 from systemd]] that Daniel also contributed and is included in GnuPG
33 proper.  Linux distributions that use systemd are encouraged to base
34 their systemd unit files on this implementation.
35
36 Justus also made significant improvements to our relatively new
37 Scheme-based testing framework.  He’s also written many new tests,
38 fixed bugs in [[http://tinyscheme.sourceforge.net/][TinyScheme]], the Scheme interpreter that we are using,
39 and radically improved TinyScheme’s debugging facilities.
40 Furthermore, TinyScheme used to spent about 75% of the execution time
41 in the garbage collector alone, now it typically spends less than 40%
42 of the time in the memory allocator.  Unfortunately, although he
43 submitted some patches upstream, they have been mostly ignored.  Thus,
44 if you are using TinyScheme, you might want to consider including our
45 patches.
46
47 We’ve decided to change the [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-December/032298.html][default expiration time for new keys to 2
48 years]].  (Previously, keys did not expire by default.)  Using an
49 expiration provides an emergency break for users who lose access to
50 their secret key material and any revocation certificate.  But note:
51 just because a key has expired does not mean that one has to create a
52 new key; it is entirely possible to extend a key’s expiration, even
53 after the key has expired.
54
55 Another minor, but notable improvement that Justus implemented is to
56 GnuPG’s search algorithm.  Justus changed gpg’s behavior to [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031994.html][take the
57 best match instead of the first match]].
58
59 Niibe has continued to polish the smart card support including
60 improving support for v3 of the [[http://g10code.com/docs/openpgp-card-3.0.pdf][OpenPGPcard]] specification, and initial
61 support for [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-December/032403.html][multiple card readers]].  He has also reviewed and
62 integrated a number of bugs fixes and small improvements contributed
63 by Arnaud Fontaine.
64
65 Andre has made significant progress on GPGOL, our plugin for Outlook.
66 He plans to release a beta in the coming week.  Part of this work
67 included fleshing out [[https://wiki.gnupg.org/EasyGpg2016/AutomatedEncryption][how the automatic encryption system should work]],
68 and thinking about what it can and cannot protect against.  We’ve
69 documented this in the wiki.  Comments (to the mailing list) are
70 welcome!
71
72 As usual, Jussi Kivilinna contributed a number of improvements to
73 libgcrypt.  Alon Bar-Lev, a GnuPG maintainer for Gentoo, submitted a
74 number of patches.  Mike Blumenkrantz contributed a new [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031807.html][EFL-based
75 pinentry]].  And, Tobias Mueller provided a number of improvements to
76 the Python bindings.
77
78 After a [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031810.html][long discussion]], we decided to change the Python GPGME
79 bindings to use the [[https://pypi.python.org/pypi/gpg][~gpg~]] namespace instead of the ~pyme3~ namespace.
80 This should make finding the bindings easier.
81
82 There was also a discussion about [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-December/032366.html][the right way to deal with any
83 missing dependencies (in particular, a sufficiently new GPGME) for the
84 Python bindings]] when they are installed from pip.  Unfortunately, we
85 don’t have sufficient resources to properly package them so any users
86 will need to make sure they have a recent operating system or build
87 GPGME themselves.
88
89 *** Releases
90
91 We’ve released new versions of GPGME including [[https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000397.html][1.7.0]] and [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-November/032182.html][1.8.0]].  1.7.0
92 includes our new [[https://gnupg.org/blog/20160921-python-bindings-for-gpgme.html][Python bindings for GPGME]], and 1.8.0 includes the
93 renaming of the namespace from ~pyme3~ to ~gpg~.
94
95 The GnuPG proper saw two releases: version [[https://lists.gnupg.org/pipermail/gnupg-announce/2016q4/000398.html][2.1.16]] and version [[https://lists.gnupg.org/pipermail/gnupg-announce/2016q4/000398.html][2.1.17]].
96 The latter was released exactly [[https://www.gnupg.org/download/release_notes.html#sec-1-2-70][19 years after Werner released version
97 0.0.0]]!
98
99 We released version 1.7.5 of [[https://lists.gnupg.org/pipermail/gnupg-announce/2016q4/000399.html][Libgcrypt]], which includes an important
100 bug fix for a [[https://bugs.gnupg.org/gnupg/issue2870][secure memory exhaustion regression]] ([[https://lists.gnupg.org/pipermail/gnupg-devel/2016-November/032157.html][see also this
101 post]]), which was introduced in 1.7.4.
102
103 *** Public Appearances
104
105 In October and November, I traveled a fair amount.  Before leaving, I
106 contacted a few local groups about giving my "An Advanced Introduction
107 to GnuPG" presentation.  In the end, I held it in New York City at the
108 [[https://www.meetup.com/nylug-meetings/events/234083247/][NYLUG meetup]] ([[https://www.youtube.com/watch?v%3DfX0pgV8hPq8][recording]]), in Baltimore at [[https://www.acm.jhu.edu/][JHU’s ACM chapter]], and in
109 San Francisco at [[https://www.meetup.com/de-DE/OpenLate/events/234006159/][OpenLate]], at [[https://noisebridge.net/wiki/Advanced_Introduction_to_GnuPG][NoiseBridge]], ([[https://begriffs.com/posts/2016-11-05-advanced-intro-gnupg.html][recording]]) and at the
110 [[https://theintercept.com/][Intercept]].  The interest in GnuPG in New York is impressive: we filled
111 the 150 person room and there was a waiting list.  The audience was
112 also very engaged and asked many questions.  Joe Nelson’s [[https://begriffs.com/posts/2016-11-05-advanced-intro-gnupg.html][recording at
113 NoiseBridge]] is probably the best recording so far (I had a lapel mic
114 and the slides were recorded separately).  If you are interested in
115 seeing the presentation, that is the recording that I currently
116 recommend.
117
118 While traveling, I also interviewed a number of GnuPG users
119 (journalists, lawyers, activists, and companies) for our upcoming
120 donation campaign.  If you or your company/organization are willing to
121 talk about how you use GnuPG on camera, [[http://k.gnupg.net/8F17777118A33DDA9BA48E62AACB3243630052D9][please get in touch with me]].
122
123 At the end of December, I attended the [[https://events.ccc.de/tag/33c3/][CCC’s annual congress]].  I
124 participated in a [[https://fossil.net2o.de/33c3/doc/trunk/wiki/panel.md][panel discussion]] with Volker Birk from [[https://pep.foundation/][pEp]] and
125 Holger Krekel from [[https://github.com/autocrypt/autocrypt][Autocrypt]].  Unfortunately, we only had half an
126 hour, which made the discussion rather superficial.  Other talks more
127 or less related to GnuPG were presented in the [[https://fossil.net2o.de/33c3/doc/trunk/wiki/33c3.md][#wefixthenet session]].
128
129 A few GnuPG team members will be present at this year’s [[https://fosdem.org/2017/][FOSDEM]].  And,
130 I, Daniel, and some of the Autocrypt people attend the [[Internet%20Freedom%20Festival][Internet
131 Freedom Festival]] in March in Valencia, Spain.
132
133 *** Ecosystem
134
135 [[https://www.openkeychain.org/k-9-5.200][K9]] had a major release (5.2) with significantly better OpenPGP
136 support.  Of particular note is support for PGP/MIME.
137 Congratulations!
138
139 The developers of GPGTools have released a [[https://gpgtools.tenderapp.com/discussions/problems/49449-will-not-work-on-macosx-sierra][beta version of GPGTools
140 for macOSX Sierra]].
141
142 [[http://autocrypt.readthedocs.io/en/latest/][Autocrypt]] is a new, loose knit group working on a new key discovery
143 protocol for opportunistic encryption.  Autocrypt is different from
144 WKD in that it transmits keys via email, and, as such, doesn’t require
145 any new third-party infrastructure, but is more susceptible to attacks
146 than WKD.  This approach is complementary to WKD, and similar to what
147 pEp is doing.
148
149 pEp has also begun to [[https://letsencrypt.pep.foundation/dev/repos/internet-drafts/][document their protocols]].  Their intent appears
150 to be to submit them as IETF internet drafts.
151
152 *** Press
153
154 [[https://supporters.eff.org/donate/eff-wired%20][The EFF expects surveillance and censorship to increase]] under
155 President Trump.  And, the same appears to be inevitable in Great
156 Britain with their recently introduced [[http://www.theregister.co.uk/2016/11/30/investigatory_powers_act_backdoors/][Snoopers’ Charter]].  The EFF
157 encourages technology companies to, among other things, improve their
158 support for end-to-end encryption.  We agree, and add that even
159 individuals can help: start using encryption tools, and, if you know
160 how, volunteer at a local [[https://www.cryptoparty.in/][CryptoParty]].
161
162 Filippo Valsorda wrote an article about [[http://arstechnica.com/security/2016/12/op-ed-im-giving-up-on-pgp/][why he is giving up on PGP]],
163 which got picked up by Ars Technica, and endorsed by [[https://twitter.com/matthew_d_green/status/806135647199252480][Matthew Green]] and
164 [[https://www.schneier.com/blog/archives/2016/12/giving_up_on_pg.html][Bruce Schneier]] ([[https://www.schneier.com/blog/archives/2016/12/the_pro-pgp_pos.html][again]]).  [[http://arstechnica.com/information-technology/2016/12/signal-does-not-replace-pgp/][I composed a response]], which Ars Technica
165 also carried.  In short, one of the major reasons that Filippo is
166 giving up on PGP in favor of Signal and WhatsApp is due to the lack of
167 forward secrecy.  It’s true that OpenPGP doesn’t support forward
168 secrecy (although it can be approximated with a bit of work).  But,
169 it’s not clear to us whether that should be the most important
170 consideration.  We know from Snowden, that when properly implemented,
171 "[[https://www.seas.harvard.edu/news/2015/01/reengineering-privacy-post-snowden][encryption ... really is one of the few things that we can rely on]]."
172 In other words, when nation states crack encryption, they aren’t
173 breaking the actual encryption, they are circumventing it.  Thus, if
174 you are like Filippo and are really worried about something like an
175 [[https://www.schneier.com/blog/archives/2009/10/evil_maid_attac.html][evil maid attack]], then you are probably better off storing your
176 encryption keys on a smart card, which is something that GnuPG
177 supports, but Signal does not.  Another major problem with Signal,
178 which Filippo does not address, is its use of telephone numbers as
179 identifiers.  This seriously undermines anonymity, and makes
180 harassment easier, which is a particular problem for women who post on
181 the Internet.  There are been other responses including those from
182 [[https://www.mailpile.is/blog/2016-12-13_Too_Cool_for_PGP.html][Bjarni Rúnar]] (Mailpile), [[http://sites.bu.edu/perryd/2016/12/17/rethinking-pgp-encryption/][Perry Donham]] (BU), and [[https://www.foo.be/2016/12/OpenPGP-really-works][Alexandre Dulaunoy]]
183 ([[https://news.ycombinator.com/item?id%3D13301307][HN comments]]).
184
185 Tobias Müller recently wrote a blog post about his [[https://blogs.gnome.org/muelli/2016/10/first-openpgp-conf-2016-in-cologne-germany/][impressions of the
186 OpenPGP conference]].
187
188 [[https://www.fsf.org/blogs/licensing/the-licensing-and-compliance-lab-interviews-micah-lee-of-gpg-sync][Micah Lee was interviewed about his project about GPG Sync]] by the FSF.
189
190 Heise published an article with [[https://www.heise.de/download/specials/E-Mails-mit-PGP-verschluesseln-3342397][tips for encrypting emails]] (in
191 German).
192
193 LinuxFR published a primer covering [[http://linuxfr.org/users/gouttegd/journaux/de-la-confiance-dans-le-monde-openpgp][key validity and trust models]],
194 including TOFU (in French).  And, NextInpact published an article with
195 [[https://www.nextinpact.com/news/98509-openpgp-et-gnupg-25-ans-chiffrement-pour-tous-ce-quil-faut-savoir-avant-sy-mettre.htm][a brief history of PGP and GnuPG, a number of tips for using GnuPG,
196 and some tradeoffs]] (in French).
197
198 *** Donations
199
200 We recently received [[https://lists.gnupg.org/pipermail/gnupg-devel/2016-November/032211.html][an account statement]] from the Wau Holland
201 foundation on the GnuPG account that they manage for us.