Re: [openpgp] Clarify status of subkeys with certification use

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 25 May 2018 20:01 UTC

Return-Path: <dkg@fifthhorseman.net>
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 BB36612E88C for <openpgp@ietfa.amsl.com>; Fri, 25 May 2018 13:01:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] 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 sbfJkb7iqypS for <openpgp@ietfa.amsl.com>; Fri, 25 May 2018 13:01:05 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C072212E866 for <openpgp@ietf.org>; Fri, 25 May 2018 13:01:05 -0700 (PDT)
Received: from fifthhorseman.net (unknown [38.109.115.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 11395F99B; Fri, 25 May 2018 16:01:03 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id AF1C72048D; Fri, 25 May 2018 15:46:45 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Leo Gaspard <ietf=40leo.gaspard.ninja@dmarc.ietf.org>, openpgp@ietf.org
In-Reply-To: <7dcf3192-e004-c95f-7b62-cdbb31f40c0d@leo.gaspard.ninja>
References: <c37c7f94-edef-7f2d-9151-787112abcbfc@sumptuouscapital.com> <8736yg2gz3.wl-neal@walfield.org> <7dcf3192-e004-c95f-7b62-cdbb31f40c0d@leo.gaspard.ninja>
Date: Fri, 25 May 2018 15:46:42 -0400
Message-ID: <87k1rrfrh9.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/UWY9i-uI98Pxc73SbXDIMxj92GE>
Subject: Re: [openpgp] Clarify status of subkeys with certification use
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 25 May 2018 20:01:10 -0000

On Fri 2018-05-25 12:26:54 +0200, Leo Gaspard wrote:
>
> Another use case supporting this opinion: certification subkeys are also
> a way to increase the security of an offline OpenPGP key, as with them
> it becomes possible to put the master key behind a diode while still
> being able to certify keys, and only ever move data out:

you might have made the master key "more secure", but you've done so by
transfering the capabilities of the master key (certification) out to
the less-controlled keys.  what's the win here?  secret keys are not in
themselves important objects -- what's important is the capabilities
that the network assigns to the corresponding public keys.

Also, when some certification in a chain has an expiration date on it,
is the whole chain of certifications bound by the narrowest
("bottleneck") expiration date, or is there some other governing
principle?

And when a leaf certifiation expires earlier than marked because some
middle element in the chain becomes unusable (remember, subkey
expiration dates can change; subkeys can be revoked), how would you
present this change to the user?

And further still: how many levels deep should such a certification
chain go?

I think it's pretty easy to argue "0 levels" (i.e. "no
certification-capable subkeys") for simplicity of implementation and
usability concerns.

I'd suggest that no implementation is willing to argue for "∞ levels"
because at some point the chain of verification becomes too expensive to
cope.

Are you arguing for some particular limited level of depth?  if so, how
do you justify that level?

           --dkg