[openpgp] Re: v4+v6

Andrew Gallagher <andrewg@andrewg.com> Sun, 09 February 2025 21:14 UTC

Return-Path: <andrewg@andrewg.com>
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 73EB2C14CF15 for <openpgp@ietfa.amsl.com>; Sun, 9 Feb 2025 13:14:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=andrewg.com
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 kx7kSOB9qmGc for <openpgp@ietfa.amsl.com>; Sun, 9 Feb 2025 13:14:04 -0800 (PST)
Received: from fum.andrewg.com (fum.andrewg.com [135.181.198.78]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 07B70C14F726 for <openpgp@ietf.org>; Sun, 9 Feb 2025 13:14:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=andrewg.com; s=andrewg-com; t=1739135641; bh=VAhw9rFNcgQvSVjI4FNAPqO/UYxF/ovxFqa47ynL3cQ=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=sYMhp13do+4j6WAv4GDWzyqL3hVBKwbjA2cS8mOOScrH1jhhlYGc/X5O5UyE4Q4s9 wRyIpG9t+Y5nR+aRTRxsEg8rCjbOcRJip7UWQjYY4OBlWo4VOFoeA+c5O4iB97OD+D t0u/mI8yC+56p/SGrPVRgNJ4qa9RCqORE3H4+JHVJMzCL+MghJxsePwc6pRJaj2z9b VZ4oQS8sM9O3ov5TAIYroDktAduRS9giBwbPYxD5uPXV5HYe8qwKD3xDCEbJm43ZDB ofqxGGxiz9ZX+jUOZhtaWIxcZn0uYgt1M6dYQfDFyzhY18APD9yohgsa7qRaruLD5Q p7s1nLgbgLY/g==
Received: from smtpclient.apple (unknown [176.61.115.103]) (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) (Client did not present a certificate) by fum.andrewg.com (Postfix) with ESMTPSA id DED265E34C; Sun, 9 Feb 2025 21:14:00 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
From: Andrew Gallagher <andrewg@andrewg.com>
Mime-Version: 1.0 (1.0)
Date: Sun, 09 Feb 2025 21:13:49 +0000
Message-Id: <964855C8-C7AB-404E-84D9-22F8D25DD8CB@andrewg.com>
References: <87h653fd5p.wl-neal@walfield.org>
In-Reply-To: <87h653fd5p.wl-neal@walfield.org>
To: "Neal H. Walfield" <neal@walfield.org>
X-Mailer: iPad Mail (22B91)
Message-ID-Hash: VGTZ42UG57F4OYZEE6CHIESVLHTTC3FC
X-Message-ID-Hash: VGTZ42UG57F4OYZEE6CHIESVLHTTC3FC
X-MailFrom: andrewg@andrewg.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-openpgp.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: OpenPGP IETF <openpgp@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [openpgp] Re: v4+v6
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/fwOWleHzVJTM9ypsYdJLLI296_k>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Owner: <mailto:openpgp-owner@ietf.org>
List-Post: <mailto:openpgp@ietf.org>
List-Subscribe: <mailto:openpgp-join@ietf.org>
List-Unsubscribe: <mailto:openpgp-leave@ietf.org>

Hi, Neal.

Thanks for this idea, I definitely think it's worth considering seriously.

On 9 Feb 2025, at 13:42, Neal H. Walfield <neal@walfield.org> wrote:
> 
> given just a v4
> certificate, we compute the corresponding v6 certificate by taking the
> v4 certificate's primary key, interpreting it as a v6 key, and
> computing the v6's fingerprint.  Then, we can look up the v6
> certificate locally or in a remote directory.  The same is true in
> reverse.

This is a neat trick, although I'm not sure it's a complete mechanism by itself. Without a positive indication by the key owner, a client would need to calculate counterpart fingerprints for every certificate it knows, and then look them all up on the chance that they might exist - and it would have to keep trying, because a key owner could upload a counterpart at any time. So it would still be preferable to have a forward replacement key subpacket on the original cert.

On the bright side, we could allow for key equivalence to be inferred from the primary key material being identical, in the absence of an inverse subpacket. But by the same argument as above, we might not want to speculatively search for fallback certs without a positive indication, so it might only be practical for the "trapdoor" scenario (i.e. without fallback encryption). If all key material was duplicated, the only scenario where fallback would be useful would be when a client doesn't support v6 at all, in which case the mechanism is irrelevant, so this is not a significant limitation IMO.

So, I think that this could be useful in the case where a key owner wants to make a "doppelganger" replacement cert that shares all key material with the original. We would still need to specify chain treatment, because it is possible in principle to have more than two key versions with the same material. I don't think we need to worry too much about decomposing PQ keys, because that would only apply to primary (i.e. signing) PQ keys, which are not urgently required in cases outside of software distribution, and there are usually other mechanisms available for rolling such keys.

Thanks again for the suggestion!
A