Re: [openpgp] [openpgp-email] Keyserverless Use of OpenPGP in Email

Simon Josefsson <simon@josefsson.org> Tue, 12 April 2016 13:49 UTC

Return-Path: <simon@josefsson.org>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E587A12E11B for <openpgp@ietfa.amsl.com>; Tue, 12 Apr 2016 06:49:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gtR1kZxarQqo for <openpgp@ietfa.amsl.com>; Tue, 12 Apr 2016 06:49:37 -0700 (PDT)
Received: from duva.sjd.se (duva.sjd.se [IPv6:2001:9b0:1:1702::100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 031BE12E17E for <openpgp@ietf.org>; Tue, 12 Apr 2016 06:49:36 -0700 (PDT)
Received: from latte.josefsson.org ([IPv6:2001:9b0:104:42::a86]) (authenticated bits=0) by duva.sjd.se (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id u3CDnN1x006638 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 12 Apr 2016 15:49:24 +0200
Date: Tue, 12 Apr 2016 15:49:18 +0200
From: Simon Josefsson <simon@josefsson.org>
To: Vincent Breitmoser <look@my.amazin.horse>
Message-ID: <20160412154918.1ca8da7c@latte.josefsson.org>
In-Reply-To: <20160412121549.GB16775@littlepip.fritz.box>
References: <20160412121549.GB16775@littlepip.fritz.box>
X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; boundary="Sig_/DiSbgQw1soXV_CXJbQvK3DR"; protocol="application/pgp-signature"
X-Virus-Scanned: clamav-milter 0.99 at duva.sjd.se
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/openpgp/vA3r5lO1XSEK92YBmIjVI9ktLag>
Cc: IETF OpenPGP <openpgp@ietf.org>, openpgp-email <openpgp-email@enigmail.net>
Subject: Re: [openpgp] [openpgp-email] Keyserverless Use of OpenPGP in Email
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Apr 2016 13:49:41 -0000

> I'd like to discuss a thought that has come up in my work on k9 mail:
> Using OpenPGP in E-Mail without relying on keyservers. 

Important use-case.

> If we don't have bandwidth constraints, we can solve this by sticking
> the public key block right next to every signature we make, which
> effectively eliminates the need for keyservers (with the possible
> exception of the distribution of revocation certs).  However, it also
> adds ~10kb of size to every signature.  This is a rather extreme
> approach, and although 10kb are not a lot these days, they add up.

Not necessarily -- I don't think you have to add all signatures to the
key for this use-case to work, do you?  If you just include a stripped
public key, verification of the signature will work.  It should be max
1-2kb I would guess.

> To counteract this, we can significantly reduce the number of attached
> public keys if we are just a little bit clever about the decision of
> when to add it.  Roughly, it makes sense to attach the public key to
> the first message of a conversation with each recipient.

It sounds good in theory, but I don't think that will work.  Let's
compare how I use e-mail clients.  I use k9, claws, evolution, webmail,
and probably several other clients that I forgot.  I don't read all
emails in all clients, of course.  I only read the emails that I need
in the client I happen to have available.  So if you only include the
public key in the first message of a conversation, the majority of my
clients would never see that email because of my usage pattern.  None
of any newly installed MUA would ever see the email, which over time
tends to approach 100% of my MUAs since I re-install most of them from
time to time.

Now it may be that my usage pattern is a corner case, but I believe it
is typical for many users today.

> Another question is, where to place the key. In email, we have two
> options: in a separate mime part, or directly next to the pgp
> signature data.

You could put it in the email header too.  It would be bizare for
larger keys, but at least possible in theory.

Also, the OpenPGP mail/news url field header was intended to provide an
indirect way to support this:

http://josefsson.org/openpgp-header/

You still have some of the keyserver privacy concerns, and require
a network connection, but I'd just like to mention it as another option
to consider.

> I favor the second option, for two reasons:

I agree it could work.  Write an I-D describing the approach and try to
get MUA client support for it.

/Simon