Re: [openpgp] Key Superseded signature type

Aron Wussler <aron@wussler.it> Sat, 03 December 2022 16:00 UTC

Return-Path: <aron@wussler.it>
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 8D677C1522DA for <openpgp@ietfa.amsl.com>; Sat, 3 Dec 2022 08:00:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=wussler.it
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 31rPNev3KNzf for <openpgp@ietfa.amsl.com>; Sat, 3 Dec 2022 08:00:28 -0800 (PST)
Received: from mail-4018.proton.ch (mail-4018.proton.ch [185.70.40.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22A7EC1522A6 for <openpgp@ietf.org>; Sat, 3 Dec 2022 08:00:27 -0800 (PST)
Date: Sat, 03 Dec 2022 16:00:13 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wussler.it; s=protonmail3; t=1670083224; x=1670342424; bh=+QiJhjGNz4hct6eee9By12tQ5+a52PdWe1cdJmG3G8E=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=M4kwFPIPWusMIYqQXW1jbBOh+UQuEiAEnYpgy1Tu+GxqPJJFiIuZ5pKY7v3d4QAh/ +4apE20i8gQWdqZP9I66nSAgZ2nScQlOxUQ3o/u78wOLR985L8+TcacC/lQC00he91 A3izoN7HGOUSAytXBfNrUl2KNhoqFzNWOrTcJZtCBEoQ0g4DajympA3cOF92xc9lBR QgP+qzPzKE3WKOxr/Jq7orpG/QaZ9/MfhEplZL7A/9KCAka2rd3inXLGHLCvyy9kup F+LQFoHaaQAFXiYZQu745UPzf4h0A7hJS5a/s2O1rEj8B+0AOhNLk7Dv6YAYiL6z1F z2cx3G5pdLfbA==
To: "openpgp@ietf.org" <openpgp@ietf.org>
From: Aron Wussler <aron@wussler.it>
Message-ID: <khUP1FyJH596TsLOtPZTlXoqusoK_6mIkZvbSunQBgy-5RMLUdhlF_HVa4X4xi7TSA2qNe32izy4daFC72oFXFo0bVvKV2FF9oMWKL808sM=@wussler.it>
In-Reply-To: <875yes4jcr.wl-neal@walfield.org>
References: <l9nQMx7kDFEUhLWo6aN4ttO1E5Jp-TsKdnTMrbfNn6IgW4mHOXdT2EonIdEJ4neAkRffB9Tmf-eWZTocci2mUqhl3-zqd5xTS2nAlXg6nUM=@wussler.it> <875yes4jcr.wl-neal@walfield.org>
Feedback-ID: 10883271:user:proton
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="pgp-sha512"; boundary="------b9c362cdbc3edba56255eda2426bd642e36e5f29174911c3cb997e46910ef57f"; charset="utf-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/9SIFWBWrgawWONdpJ18l0sOy8pI>
Subject: Re: [openpgp] Key Superseded signature type
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 03 Dec 2022 16:00:33 -0000

Hi Neal,

> As I commented in the MR, I wonder if a new Reason for Revocation
> type, `Key is superseded by`, which takes a fingerprint and a human
> readable string, would be better than a new signature type.

I think this approach does not play well with legacy implementations, as they would consider the key revoked.

My wish would be to distribute a v4 and a v5 certificate, both valid, so that legacy implementation still use the v4, and newer implementations don't.
A revocation certificate would probably prevent the older implementation to work. (Newer ones would be no issue)

> I also wonder if this should only be respected if there's also a
> backsig similar to how a signing-capable subkey needs a backsig to be
> considered valid.

Good point, this could be made a SHOULD in the spec. I'll take care of this on Monday.

Cheers,
Aron


--
Aron Wussler
Sent with ProtonMail, OpenPGP key 0x7E6761563EFE3930



------- Original Message -------
On Saturday, December 3rd, 2022 at 16:06, Neal H. Walfield <neal@walfield.org> wrote:


> On Fri, 02 Dec 2022 22:36:01 +0100,
> Aron Wussler wrote:
> 

> > I've got another small proposal for the crypto-refresh, also coming from the OpenPGP summit.
> > 

> > We've been discussing about the options for the v4 -> v5 transition (I guess v6 now?), and I'm a big fan of having multiple independently generated certificates, and allowing a smooth transition between them.
> > 

> > In OpenPGP we don't have a mechanism to signal a superseded or deprecated key, and I fear that if we all wait for v6 keys to be understood from the majority of software and then atomically switch to v6 revoking our old v4 keys we'll wait for a long time. The alternative is to have two cross-signed certificates, and publishing them both, hoping for people to use the newer one.
> > 

> > With this proposal, my objective is to have a standardized way to tackle this, by introducing a new signature type that signals key deprecation with a pointer to the new key.
> > This would automatically extend to future transitions (e.g. PQC), and allow for an easier key rotation (It would be allowed on hard revocation too).
> > 

> > https://gitlab.com/openpgp-wg/rfc4880bis/-/merge_requests/222
> > 

> > All kind of feedback is welcome, whether this means
> > (1) not introducing this feature at all
> > (2) introducing this feature but later
> > (3) introducing this feature now
> 

> 

> I like the idea.
> 

> As I commented in the MR, I wonder if a new Reason for Revocation
> type, `Key is superseded by`, which takes a fingerprint and a human
> readable string, would be better than a new signature type.
> 

> I also wonder if this should only be respected if there's also a
> backsig similar to how a signing-capable subkey needs a backsig to be
> considered valid. Consider: If Alice considers Bob a trusted
> introducer, and Bob creates a new key, Bob', it would be nice if Alice
> didn't have to explicitly designate Bob' as a trusted introducer. If
> Bob and Bob' certify each other in this way, I would have no problem
> considering them to be the same person (the same entity controls both
> keys). If there's no backsig, I'm not sure that this would be safe.
> 

> Neal