[openpgp] Re: v4+v6
"Neal H. Walfield" <neal@walfield.org> Mon, 10 February 2025 10:21 UTC
Return-Path: <neal@walfield.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 6E6C4C180B40; Mon, 10 Feb 2025 02:21:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.208
X-Spam-Level:
X-Spam-Status: No, score=-4.208 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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] autolearn=ham autolearn_force=no
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 4LKIeLS5r1VJ; Mon, 10 Feb 2025 02:21:33 -0800 (PST)
Received: from mail.dasr.de (mail.dasr.de [202.61.250.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E3B0C180B78; Mon, 10 Feb 2025 02:21:29 -0800 (PST)
Received: from p5de920fd.dip0.t-ipconnect.de ([93.233.32.253] helo=forster.huenfield.org) by mail.dasr.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <neal@walfield.org>) id 1thQut-00CeOk-2q; Mon, 10 Feb 2025 11:21:27 +0100
Received: from alice.huenfield.org ([192.168.20.191] helo=alice.walfield.org) by forster.huenfield.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <neal@walfield.org>) id 1thQut-00CIlm-0C; Mon, 10 Feb 2025 11:21:27 +0100
Date: Mon, 10 Feb 2025 11:21:27 +0100
Message-ID: <87bjvaf6c8.wl-neal@walfield.org>
From: "Neal H. Walfield" <neal@walfield.org>
To: Andrew Gallagher <andrewg=40andrewg.com@dmarc.ietf.org>
In-Reply-To: <964855C8-C7AB-404E-84D9-22F8D25DD8CB@andrewg.com>
References: <87h653fd5p.wl-neal@walfield.org> <964855C8-C7AB-404E-84D9-22F8D25DD8CB@andrewg.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-SA-Exim-Connect-IP: 192.168.20.191
X-SA-Exim-Mail-From: neal@walfield.org
X-SA-Exim-Version: 4.2.1 (built Wed, 06 Jul 2022 17:57:39 +0000)
X-SA-Exim-Scanned: Yes (on forster.huenfield.org)
Message-ID-Hash: EFVM5XGKMS2AQWFONDLMXOKY4AV6RLDA
X-Message-ID-Hash: EFVM5XGKMS2AQWFONDLMXOKY4AV6RLDA
X-MailFrom: neal@walfield.org
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/CXuNu1nLj_vUrpiZXcT76je2YZU>
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 Andrew, Thanks for taking the time to comment on my note. On Sun, 09 Feb 2025 22:13:49 +0100, Andrew Gallagher wrote: > 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. I don't think this is a new problem. There are many reasons to check for updates to a certificate before using it: it might have been revoked, the owner may have added a new subkey, etc. This is another type of update, and can be checked for using the usual mechanisms. I think the same reasoning also applies to the forward replacement key subpacket: the owner may have added one, but a user will only know if they check for an update. > 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. Sorry, I don't understand the issue you're raising. Can you elaborate what you mean by the trapdoor scenario? In case you are suggesting that an implementation should transform a v4 encryption-capable subkey into a v6 encryption-capable subkey if it can't find the v6 certificate, I don't think that that is a good idea. I think we should only use v6 if the user actually signals they are willing to accept v6 messages. And, I think we should use the existance of the v6 certificate as the signal. In that case, this issue, as I understand it, disappears: if we have the v6 certificate, we just use the v6 certificate directly. > 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. Although I think "doppelgangers" would be the most common construct, the only requirement in my proposal is that the primary keys have the same public key material and meta data. Consider doing something like: $ sq encrypt --cert-email neal@walfield.org ... Imagine that sq finds my v4 certificate. If we prefer v6, the next step would be to check for a v6 certificate. If that exists, then we use can use that, even if it has a different encryption subkey. > 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. In my proposal, I was careful to ensure that there is only a single possible mapping by requiring that the meta-data be the same. This prevents chains and the associated complexity, as there can only be at most one equivalent certificate per version. :) Neal
- [openpgp] v4+v6 Neal H. Walfield
- [openpgp] Re: v4+v6 Paul Schaub
- [openpgp] Re: v4+v6 Andrew Gallagher
- [openpgp] Re: v4+v6 Neal H. Walfield
- [openpgp] Re: v4+v6 Daniel Huigens
- [openpgp] Re: v4+v6 Neal H. Walfield
- [openpgp] Re: v4+v6 Neal H. Walfield
- [openpgp] Re: v4+v6 andrewg
- [openpgp] Re: v4+v6 Johannes Roth
- [openpgp] Re: v4+v6 Daniel Huigens