blog: Move a blog to drafts, publish gpgme/python blog
[gnupg-doc.git] / misc / blog.gnupg.org / 20150911-gnupg-this-summer.org
1 # GnuPG News for Summer 2015
2 #+STARTUP: showall
3 #+AUTHOR: Neal
4 #+DATE: September 11th, 2015
5 #+Keywords: Presentation, RMLL, DebConf, GNOME, NeuG, Enigmail, TOFU
6
7 ** GnuPG News for Summer 2015
8
9 It's been a few months since the last posting.  Our most visible
10 activity has been several presentations, but hacking has continued.
11
12 In July, Neal attended [[https://2015.rmll.info/?lang%3Den][RMLL]] in Beauvais, France and [[https://2015.rmll.info/introduction-avancee-sur-gnupg?lang%3Den][presented "An
13 Advanced Introduction to GnuPG"]].  This presentation is for anyone who
14 knows how to encrypt, decrypt and sign data, but wants to learn how
15 messages are constructed, better understand GnuPG's architecture, and
16 hear some tips and tricks for making the most of GnuPG.  The
17 presentation went quite well: the room was nearly full and there were
18 a number of questions at the end as well as after the talk.
19
20 In August, Werner, Niibe and Daniel Kahn Gillmor (dkg) attended
21 [[http://debconf15.debconf.org/][Debconf]] in Heidelberg.  Werner held a keynote: "GnuPG: Past, Present
22 and Future."  The presentation was [[https://summit.debconf.org/debconf15/meeting/330/gnupg-past-present-future/][recorded]] and the [[https://gnupg.org/ftp/blurbs/debconf15_gnupg-past-present-future.pdf][slides]] are also
23 available.  Werner started with the history of GnuPG.  He related some
24 anecdotes about his motivation to start the project, some of the legal
25 challenges (working around patents), and the founding and running of
26 g10 Code, the free software company behind GnuPG.  He then talked
27 about current activities both within GnuPG (some new features and the
28 recent fund raising campaign) as well as some activities related to
29 GnuPG (in particular, the rechartering of the OpenPGP working group).
30 Finally, he discussed his vision for the future.  In particular, he
31 wants GnuPG to be easier to use for the masses.  This means, for
32 instance, using TOFU as a trust model instead of the web of trust,
33 which requires [[http://wiki.gnupg.org/WebOfTrust][too much curating]] for nearly all users---including most
34 technical users---to be effective.  Nevertheless, the goal isn't to
35 somehow neuter GnuPG: it will remain possible to harden GnuPG for
36 users who are trying to prevent targeted attacks with just a few
37 configuration options.  The primary focus, however, is making
38 GnuPG easier to use and more secure for casual use by default.
39
40 Also at DebConf, dkg presented "[[https://summit.debconf.org/debconf15/meeting/195/gnupg-in-debian-report/][GnuPG in Debian Report]]" on behalf of
41 the GnuPG packaging team ([[https://dkg.fifthhorseman.net/gnupg-in-debian-debconf15.pdf][slides]]).  He reported the status of GnuPG in
42 Debian and what the team has planned.  He began by relating the
43 current status of GnuPG in Debian.  First, everything has been moved
44 over to git.  The packaging team has also adopted not only GnuPG, but
45 several related packages.  The team has been uploading version 2.1 to
46 experimental and, shortly before the talk, made the first upload to
47 unstable.  A lot of work has been done on minimizing GnuPG's
48 dependencies.  This is particularly helpful for server installs that
49 don't need any of the graphical components.  Unfortunately, this work
50 didn't make it into Jessie, but the workaround is easy (install
51 ~pinentry-curses~ before installing ~gnupg2~).  The plan is to support
52 GnuPG 2.1 by default.  As such, it will be installed as ~/usr/bin/gpg~
53 (not ~/usr/bin/gpg2~).  Note: GnuPG 1.4, with its support for old,
54 broken crypto will remain available for those few who still need it,
55 but it will no longer be the default in the next version of Debian.
56 Making GnuPG 2.1 the default also means that support for ECC
57 cryptography will become much more widely spread in the near future.
58 Daniel also called for support for encrypted swap by default and
59 encouraged people to file bugs.  He then turned to some divergences
60 from upstream.  He wants GnuPG to be stronger by default and he wants
61 to do some Linux-specific hardening.  Some possible future work are:
62 integrating ~autopkgtest~, for testing the built package in specific
63 environments; and, improving desktop integration and the UI/UX.  dkg
64 also mentioned that he is excited about the proposed official support
65 for TOFU in GnuPG: he has a set of scripts for implementing TOFU and
66 would like better support.  dkg also ran a GnuPG Packaging BoF, which
67 was [[https://summit.debconf.org/debconf15/meeting/196/gnupg-packaging-bof/][recorded]] as well.
68
69 Niibe is running a campaign called "more entropy, please."  His goal
70 is firstly to raise awareness of the importance of entropy and also
71 about making computations constant time to avoid side-channel attacks.
72 He presented this campaign at DebConf.  His presentation was [[https://summit.debconf.org/debconf15/meeting/265/more-entropy-please/][recorded]]
73 and he wrote a followup [[http://www.gniibe.org/memo/development/gnuk/rng/please-more-and-more-mep.html][article]].
74
75 This campaign is related to Niibe's works on a true random number
76 generator (TRNG) and smartcard called [[http://www.gniibe.org/memo/development/gnuk/rng/neug.html][NeuG]].  This device runs only
77 free software and the schematics are also freely available.  The
78 device is available for purchase from the [[http://shop.fsf.org/product/usb/][FSF's shop]].  Happily, it is
79 so popular that it sold out (but more are on the way!).
80
81 At the end of August, Werner attended the "[[https://datenschutzzentrum.de/sommerakademie/2015/][Sommerakademie 2015: Ohne
82 Vertrauenswürdigkeit keine Informationsgesellschaft]]," which was
83 organized by the Unabhängiges Landeszentrum für Datenschutz
84 Schleswig-Holstein.  He held a keynote in which he introduced
85 public-key encryption and GnuPG to privacy activists.  In addition to
86 the [[https://gnupg.org/ftp/blurbs/kiel-2015_sicher-verschl-mit-gnupg.pdf][slides]], he also wrote a short [[https://gnupg.org/ftp/blurbs/kiel-2015_sicher-verschl-mit-gnupg_handout.pdf][handout]].  Note: both are in German.
87 Werner held the same talk at the [[http://www.linux-praktiker.de/html/deutsch/rueckblende/2015_08_26_werner-koch-im-chaosdorf-vortrag-sicher-verschluesseln-mit-gnupg.htm][Düsseldorf Fellowship meeting]].
88
89 At the beginning of November, Werner will hold a keynote at [[https://fscons.org/2015/][FSCONS]] in
90 Göteborg, Sweden.
91
92 Due to renewed interest in the OpenPGP protocol, the IETF OpenPGP
93 working group was [[https://tools.ietf.org/wg/openpgp/charters][rechartered]] in June to work on updating the OpenPGP
94 specification.  The group is co-chaired by dkg.  Both he and Werner
95 attended the IETF-93 OpenPGP session (Werner attended [[https://www.ietf.org/jabber/logs/openpgp/2015-07-24.html][remotely]]) to
96 discuss its [[https://tools.ietf.org/wg/openpgp/agenda?item%3Dagenda-93-openpgp.html][agenda]].  The [[https://tools.ietf.org/wg/openpgp/minutes?item%3Dminutes-93-openpgp.html][minutes]] are also available.
97
98 Neal recently spearheaded an effort to better integrate GnuPG and
99 Gnome Keyring.  For a long time, Gnome Keyring proxied access to
100 gpg-agent.  Unfortunately, the proxy was incomplete and this proved to
101 be a serious problem with GnuPG 2.1.  Since Gnome Keyring only wanted
102 to provide a passphrase cache, we decided to modify gpg-agent to
103 support this directly.  This work has been completed in GnuPG and the
104 proxy has since been removed from Gnome Keyring.  Stef Walter recently
105 [[https://mail.gnome.org/archives/desktop-devel-list/2015-August/msg00002.html][announced]] this to Gnome's distributor list so we should see a proper
106 fix to this long-standing issue coming to end users soon.
107
108 Neal posted [[https://lists.gnupg.org/pipermail/gnupg-devel/2015-July/030150.html][a design document about integrating TOFU]] (trust on first
109 use), a new trust model, into GnuPG.  As noted above, TOFU requires
110 little support from users.  The Web of Trust, on the other hand,
111 requires not only signing keys, but for every user to assign trust to
112 people they potentially don't know.  This is a huge burden and few
113 people actually do this in practice.  As such, they are getting less
114 protection than with TOFU, which is able to detect when a user's key
115 changes.  Note: our intention is to support both TOFU and the Web of
116 Trust at the same time.
117
118 We have modified Pinentry to use normal widgets instead of the custom
119 widgets that use locked memory.  Rough consensus for this decision was
120 reached on [[https://lists.gnupg.org/pipermail/gnupg-devel/2015-July/030112.html][the gnupg-devel mailing list]].  The motivation is that the
121 secure widget code is large and buggy and it relies on lots of code to
122 carefully handle the password (namely, anything that deals with
123 keyboard input, such as, the X server, the graphical toolkit and the C
124 library).  This supporting code is not designed to be secure and thus
125 probably isn't.  Further, in practice, locked memory isn't really
126 locked anymore.  It can still be written to disk if the machine is
127 hibernated.  Finally, the secure widgets are less feature rich and
128 don't integrate as well into the desktop environments.  This is
129 particularly important as regards accessibility.  Neal modified the
130 gtk-based pinentry and Andre modified the Qt-based pinentry to use the
131 standard widgets.  This allowed us to immediately close a number of
132 bug reports.
133
134 Niibe has been working on integrating support for Curve25519 for
135 encryption.  This is available in the latest version of libgcrypt and
136 scdaemon.
137
138 Kai has been working on various enhancements for Enigmail.  In
139 particular, Enigmail now displays the algorithms used for signing
140 messages under "Enigmail Security Info".  He added functionality for
141 importing and exporting Enigmail preferences.  Enigmail now asks
142 before importing public keys from attachments.  And, a patch is
143 pending that allows Enigmail to use keybase.io as keyserver.
144
145 There have been a number of new releases.  These include: [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000379.html][GnuPG 2.1.8]],
146 [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000376.html][GnuPG 2.0.29]], [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000378.html][GPA 0.9.9]], [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000375.html][libgcrypt 1.6.4]], [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000374.html][libassuan 2.3.0]],
147 [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000373.html][libgpg-error 1.20]], [[https://lists.gnupg.org/pipermail/gnupg-announce/2015q3/000372.html][GPGME 1.6.0]], and Pinentry 0.9.6.  Andre Heinecke
148 also released [[http://lists.wald.intevation.org/pipermail/gpg4win-announce/2015-September/000065.html][gpg4win 2.2.6]].
149
150 On GnuPG-devel, [[https://lists.gnupg.org/pipermail/gnupg-devel/2015-June/030036.html][Bjarni reraised the memory-hole discussion]].  This was
151 originally discussed at the OpenPGP summit back in April.  The idea is
152 to be able to sign and encrypt sensitive mail headers, such as the
153 subject.  Both Mailpile and Enigmail already have partial support for
154 the proposed standard.
155
156 Jan Suhr asked about [[https://lists.gnupg.org/pipermail/gnupg-devel/2015-August/030242.html][GnuPG using exclusive mode when accessing OpenPGP
157 cards]].  Niibe and Werner argued that only a single application should
158 use the smartcard at a time.  There are two main arguments:
159 performance and security.  From a performance perspective, GnuPG (or
160 rather, scadaemon) can cache the status of the card.  Having to
161 refresh information (and rerun the initialization procedure) can introduce a
162 several second delay.  From a security perspective, we want to make
163 sure that another application does not get access to the card without
164 having to enter the PIN.
165
166 On gnupg-users, Simon Josefsson asked about [[https://lists.gnupg.org/pipermail/gnupg-users/2015-June/053770.html][how to setup a shared
167 email with hardware-backed keys]].  He detailed his setup and dkg
168 thought it was sound and also mentioned an alternative approach.
169
170 A.T. Leibson started an interesting thread on [[https://lists.gnupg.org/pipermail/gnupg-users/2015-June/053790.html][teaching GnuPG to new
171 users]].  A number of people replied with suggestions and anecdotes.  If
172 you are an encryption advocate, it is probably worth a look.
173
174 Tankred Hase linked to the [[https://lists.gnupg.org/pipermail/gnupg-users/2015-July/053854.html][Secure Private Key Synchronization
175 protocol]], a secure way to synchronize a user's private key between
176 devices.  This was originally discussed at the OpenPGP summit.  He's
177 interested in additional feedback.
178
179 Nico posted a design document for a [[https://lists.gnupg.org/pipermail/gnupg-users/2015-July/053971.html][key server that validates OpenPGP
180 keys by sending a mail to the key's holder]].  A main issue that was
181 raised was how to decide which key server should be authoritative:
182 users are not going to want to validate that they control the key to
183 hundreds of key servers.  Werner noted that this effectively
184 reimplements X.509 and its trusted CAs.
185
186 Nico asked for feedback on how to organize [[https://lists.gnupg.org/pipermail/gnupg-users/2015-August/054096.html][the next OpenPGP summit]].
187 He wants to have a meeting that is open to the public, but with some
188 limitations to ensure that work gets done and that the limited space
189 is available to those most engaged in OpenPGP.
190
191 Robert J. Hansen has begun [[https://lists.gnupg.org/pipermail/gnupg-users/2015-August/054172.html][overhauling the FAQ]].  He is planning on
192 removing references to GnuPG 1.4 as much as possible.  He also
193 sought feedback about some proposed clarifications.
194
195 ** About this news posting
196
197 We try to write a news posting each month.  However, other work may
198 have a higher priority (e.g. security fixes) and thus there is no
199 promise for a fixed publication date.  If you have an interesting
200 topic for a news posting, please send it to us.  A regular summary of
201 the mailing list discussions would make a nice column on this news.