[openpgp] Re: v4+v6
Paul Schaub <vanitasvitae@riseup.net> Sun, 09 February 2025 16:54 UTC
Return-Path: <vanitasvitae@riseup.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 131F6C1D4A66 for <openpgp@ietfa.amsl.com>; Sun, 9 Feb 2025 08:54:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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_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 (1024-bit key) header.d=riseup.net
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 vaR5dY_AY0G6 for <openpgp@ietfa.amsl.com>; Sun, 9 Feb 2025 08:53:59 -0800 (PST)
Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129]) (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 D791BC14E515 for <openpgp@ietf.org>; Sun, 9 Feb 2025 08:53:59 -0800 (PST)
Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (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 mx1.riseup.net (Postfix) with ESMTPS id 4YrYh66hgCzDqdQ for <openpgp@ietf.org>; Sun, 9 Feb 2025 16:53:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1739120039; bh=b03tgphyFMJgjh3c8KzTclOHXtSC1h1O1+OojfQ3EwA=; h=Date:From:To:Subject:In-Reply-To:References:From; b=JZffzQI2sbLeFKqFl/91NwiEj7vLseqo40hGKokWzlb0IdN/BOPxnGF1xYIq0aoU6 Dgs87JfGieM67QzwhkWsOh9liMXoqhaFsk4KHzQEITOUhlfDpIQH9piG018a2kkjsi s3WBlbBwFbj9IM8PghPejtheCYe7OUgZeRq0fH+0=
X-Riseup-User-ID: 5D0BCA39CCAB908835E305EB6ADFEB0056B10EE646482CACEAC9280147CE98C3
Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4YrYgv1KZFzFtMw for <openpgp@ietf.org>; Sun, 9 Feb 2025 16:53:46 +0000 (UTC)
Date: Sun, 09 Feb 2025 17:53:43 +0100
From: Paul Schaub <vanitasvitae@riseup.net>
To: openpgp@ietf.org
In-Reply-To: <87h653fd5p.wl-neal@walfield.org>
References: <87h653fd5p.wl-neal@walfield.org>
Message-ID: <73661632-0660-4F96-93CB-02CD11A9F363@riseup.net>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----35JMRHIKJERVC75X0W7F5GYEJTTF9K"
Content-Transfer-Encoding: 7bit
Autocrypt: addr=vanitasvitae@riseup.net; keydata= mQINBFfz1ucBEADXSvUjnOWSzgW5hXki1xUpGv7vacT8XqqGbO9Z32P3eFxa4E9JvveJmx+voxRW pleZ/L6XCYYmCKnagjF0fMxFD1Zxicp5tzbruC1cm/Els0IJVjFVRLke3SegTHxHncA8+BYn2k/V nTKwDXzP0ZLyc7mUbDl8CCtWGGUkXpaa7WyZIA/qmvUqh7671Vr4vJlq0kFbUibsFblZjk9uydHv vqaVpmBzbr/gWDyirHXwPl5lCnWpORjT7tc8hjyt+dxpmnGdqlDIcqUjdCWoN6NxffLtKz/XpJ+d BvA8rXT/QaPSaVCGo0DbgybvRF1HvX30udx4FF9fFsVAbYP1mvZx4fHy+Z1rJJhODZv1YpH7YY1b mG02vfFkwpW4AyAdsONA+n/XdMCsA006/pljNd3GxjcqB5D6BhpdUvcgUslkuELsVYWbEyhxKzzJ vZNjQ/iHsaThooy9SFHc71PgYdyEL/WzoGr421GwpCL6BuE0rlumgaTmjoU/9ydLO6zpbV4RYDgt saGQxOxVc0y1Lj8CWTi/XYIVRnmqrjGmubRV7q8pTxrgoyk2zwQ+twyxp/8ZRHzl5ISiDLKSDlcM K1oa7NqyL+MCwiswpaObk56HxgF2ZwEbJZYCwetxyTK7HX4/WV0V6TaPzS7dHAsb6t1Aq8IS1JdG jWKRPkjkhR95nQARAQABtCVQYXVsIFNjaGF1YiA8dmFuaXRhc3ZpdGFlQHJpc2V1cC5uZXQ+iQS+ BBMBCgKoAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAFiEEf5EW/qkKWYOTbHz6oCfbLz4eEYoF AmAMGzk1FIAAAAAAEgAacHJvb2ZAbWV0YWNvZGUuYml6ZG5zOmphYmJlcmhlYWQudGs/dHlwZT1U WFQ+FIAAAAAAEgAjcHJvb2ZAbWV0YWNvZGUuYml6aHR0cHM6Ly9mb3NzdG9kb24ub3JnL0B2YW5p dGFzdml0YWWQFIAAAAAAEgB1cHJvb2ZAbWV0YWNvZGUuYml6eG1wcDp2YW5pdGFzdml0YWVAamFi YmVyaGVhZC50az9vbWVtby1zaWQtMjA5MzY4MTU0NT02Mjg5YWEzYmQ4YTUwMWEzNjMyMmEwZjg5 NGY4ZDFkOTcxOGRlZDAzNjE2MDM5ZjFjZjQ4YjJhNDFlZTM1OTIwjxSAAAAAABIAdHByb29mQG1l dGFjb2RlLmJpenhtcHA6dmFuaXRhc3ZpdGFlQGphYmJlcmhlYWQudGs/b21lbW8tc2lkLTE5OTE0 MTgyMD1mNGE4ZmY4NDAwNDM5M2E4N2Y3MDEzYzYwMDY1YmRjODliMTE2OWViY2ZiODA2MGM0Zjk2 NjliNDNiYTBjODE0kBSAAAAAABIAdXByb29mQG1ldGFjb2RlLmJpenhtcHA6dmFuaXRhc3ZpdGFl QGphYmJlcmhlYWQudGs/b21lbW8tc2lkLTE0Mjk2NzcxMjU9ZThhN2IxMjM2Yjg1MGI0NjdhNTA5 MmMwYmRmZWE4NmE1M2UzNjg0MjgzYTFkNWZlMjZlZjU4NzJkZDBhZWY0MUgUgAAAAAASAC1wcm9v ZkBtZXRhY29kZS5iaXpodHRwczovL2NvZGViZXJnLm9yZy92YW5pdGFzdml0YWUvZ2l0ZWFfcHJv b2YACgkQoCfbLz4eEYrCxQ//Wjn7sEx+1rWCxVIQG9qqYJkMrSMvsyjeDZJrKLD5o5XIVQhjL/9g t3hBkYiOftarTXmmMD+xLAAS1netQTvgAJuLb1gypKqB8wG+4Po7e7ZO9XTLkjqjMZSTA/ZyJw2V fGdw40oGl8NEZrVUMiDiCEYzv8CXgBoEwiE0BA4lLUWKh9dnuonuMornsFjx7W5R+DQoKE+//G7b XCuErLwO6wHPs9K3xLwoG2Kyy3wyr57DystEVtnQX+XlWC9251VJpHWaZJOhG+YqCLZEeMizuGUQ TBGv51YY71JpbSjE1tXKAyU/+ksSfVH1T3i0DEMteCZoNgvY01fDKRrm4EouzLV0depe6Qo9LynL Y9mG7YUkwtTT6aX6zaRNsDYHN7uyVE66IY8mD1bOi8JBhUNqbx5p8YMwLpDf3cdcf6DGrb0tGDYu 6V/g0m2iw7glVs7LN55F3kWVmRSInu9uJWojMY3yN6Xwyv800oJyhyTCavLW7ckCvCA1KpH5S/4J 4fjjpuaV9nomvApZBFy4pVF+tca5PjpiagVJomOOVMBNRXFxS5A2QWVDpuJuZ3MSYVoqlVJBR/yB ecSMuHvwruR3HzVz1yYhTgau6Ura7MZBQu3dSArK3Kth/kQ7CqdusMOEBhEXByVthGO89RlKVNag Kji7vaA67F1FYODJr0hzRie5Ag0EV/PW5wEQALNTc5Gh0TR1rtmIkJPJU3LXIhY8jJVR/1ctvMmU n6R1q7ezAs4ZGitT2LFpZyYnzpQp788g1tuqLi6mz0edZc0RbPVCA9Xc4OEQrjzLNE8JSH3FAmwU XN5atwJ/eNbBMA9PoILhqINaCLptq3oAH7Z20qEI/9fjqGWc9M6ng5B6K0HAg03NxH2LC47MIhYq IqDj1oD4xug0mt/cX9O2Ha1tAzsKSfzPjAlaD8URKm1wv6AmFEPOYeFeumvGDGK5pHh86tZLl+x1 7qCSrV/Ft7xwoj6P7FP8Be+G9KA4rJH3l8DGmaEYVT5GBgRCIQDup/balrbks8VpjFh/0w8PIdhj OoQmuu2D1bok587TXa/BUfQ91haXIs6WzSRY+hwXK3zuiMA+TSvIeX4qhXiEACH6NTy/PDgvIw1Y 7HBdGKCXgoiPLERYz/9cvzG2GiiEeHwPj26IHlv5JRniPG6ePXRkGvvHJ64A3J8zUtU14dWXGqG/ R/gwx3Ugjd+4R7X66BQwQq+ikUOeVswU3Ufs5om2Q45BmOE9LmkIxUABrITzRnK+t6wklsmZyJ8d R+FlsJ7FKrk7e0/qrdEwDn3fvbIYD6s/3SypJBfO5gbUuNt3RnQ6egWSebeJaZfCxokrpPaf3JKA eDBE/tYi42lPhRAixciIPeb+hpNTmBcXg55xABEBAAGJAn4EGAEIAHIFgl/4kEMJEKAn2y8+HhGK RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ2FgE3f7bnBndxQ4h2+ACXWf TabWwHHHGpI9ZqZhZTBJAhsMFiEEf5EW/qkKWYOTbHz6oCfbLz4eEYoAADAdD/0Szb4rHGgdyItG SzLOsEDrGJCfztXOH5vGo5s/meZYBIYFW3hYZrKiRyIJP54uFHHRwLCiAcH3FcWT80fpx9YOQiHf xNpmVwnAoufOmfI8p/G9+Fcf62HSVZKsgS9zrUvhDjAUTrwOVbDVqyFZtAaxqsxI5tJilLkZXaWc ozUcw9m3iEyZDgpNR/1arfmwl5sW9mpG/tOmwdDaihvpI0b5Qp0sAb2fkcol1aznnqI+Dg4BsrWt FvkbZ6GvgF6a+SROrgXN2fr4Gaw53agYA/0mVF4zQv/2NzOqsX44vOHvB15hc7mXHJks8B/jqejJ YeF4j4asZi+fwCaBPEMQlJwm+JhDXJ3xnZp5Zlhq2wKTZHZm94Vw16WQic0WIHT7VBLlief5pZtP e/f2xfG9BzdHghtOlaqDYvp0jW3rYe3/+ILHqutA6XCWn+JRlbPQII1xTRlksmZh7hcDPlKXx2Yk V36a24pQe2QYX4cfXdDGe5bshQGtSHQo2926Xb2TD0ksfMaFuKG3LhMVWsicyc9RwnlsK98GLs1e EpFm0pt2FjgXyvRGhnNkaIE7vPXrJsgsFtrrJXEq52Eug6dJQnAtQl7CpWSlldhmYG2QFCPsO0+9 VE+A8Pz+Kjr7iiH6rw9kidGX6CqFdaGuWDR6qbCVJpnPlF5n02YHz9eMcwVMlQ==
Message-ID-Hash: KO5PBQLGTJ7H6MIRMJ3LJHGDTRMNP6RB
X-Message-ID-Hash: KO5PBQLGTJ7H6MIRMJ3LJHGDTRMNP6RB
X-MailFrom: vanitasvitae@riseup.net
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
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/NWyLqd5mRun7YZUaaeGmRVkuEWc>
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>
> By using the same key material and the same meta-data, it is possible to transform a v4 key packet into a v6 key packet and vica-versa [...] I'm not sure about the vice-versa part. My instinct would tell me there might be dragons when "downgrading" a v6 certificate into a v4 one, even though I cannot come up with a concrete idea for an attack. So treat this as just an articulation of my gut feelings :D All in all its a nice idea, although its not universally applicable to all certs (e.g. legacy/weak keys). Also, some popular key types (legacy x25519, legacy ed25519) MUST NOT be used with v6, so I guess you'd transform them to the new key type, which is no longer a bijection, as the v4 cert might also use the new non-legacy algorithms. Still, its an interesting idea I'd say is worth further exploring. Paul Am 9. Februar 2025 14:41:54 MEZ schrieb "Neal H. Walfield" <neal@walfield.org>: >Hi everyone, > >I've been thinking recently about how to facilitate the transition >from v4 to v6 certificates. This is not a new problem. We've >discussed it on this list primarily in the context of Andrew's Key >Replacement document: > > https://www.ietf.org/id/draft-ietf-openpgp-replacementkey-03.html > >but also at the last OpenPGP email summit: > > https://www.openpgp.org/community/email-summit/2024/minutes/#session-5-v4-to-v6-migration---kai > >I have a different proposal, which is less ambitious than the key >replacement scheme in its scope. Instead of linking certificates, we >use a one-to-one and onto function that maps a v4 certificate to a v6 >certificate and vice versa. > >The basic idea is as follows: when creating a certificate, instead of >creating a v4 or a v6 certificate, we create both using the same key >material, and the same meta-data (specifically the key creation time). > >By using the same key material and the same meta-data, it is possible >to transform a v4 key packet into a v6 key packet and vica-versa, and >compute the corresponding fingerprint. That is, 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 construct has a few nice properties. > >First, for a given v4 or v6 key, there is only one possible >corresponding v6 or v4 key, and it is straightforward to find it. The >key replacement document has a number of safeguards to protect against >complicated certificate networks. I haven't worked through them >completely, but I'm worried about the associated implementation >complexity. > >Second, key equivalence is ipso facto trivial. Given a v4 key and its >corresponding v6 key, whoever has the secret key material for the v4 >key has the secret key material for the v6. That is, the entity that >has access to the secret key material must be the same. Therefore, >they can be treated as equivalent. > >Consequently, if I can authenticate a user ID for a v4 certificate, >then I think it is reasonable to consider it authenticated for the >corresponding v6 certificate as well (modulo the crypographic policy). >In other words, the set of authenticated user IDs for the entity is >the union of those user IDs that can be authenticated for the v4 >certificate and those user IDs that can be authenticated for the v6 >certificate. > >Further, checking one fingerprint is enough to authenticate both >certificates. Thus when certifying a user ID for a v4 certificate, I >would simultaneously certify it for the v6 certificate. > >Third, for people who use an OpenPGP card or something similar, they >still only need a single card. Using this scheme, they won't need one >for their v4 certificate, and a different one for their v6 >certificate. > >Finally, the certificates can evolve separately. If the ecosystem has >sufficiently evolved, it is possible to retire the v4 certificate >without retiring the v6 certificate. The v4 and v6 certificates can >have different subkeys, and self-signed user IDs, but I think tools >should try to keep the certificates in sync. For instance, when the >user adds a new self-signed user ID to one certificate, it should also >be added to the other. > > >This scheme works, because it it possible to use the same key material >for both v4 and v6 keys. It works less well for PQC, but I think it >still partially works, because some PQC algorithms use a composite >scheme. > >Given a certificate with an ML-DSA-65+Ed25519 primary key, (I think) >it is possible to extract just the Ed25519 public key, and compute the >corresponding v4 or v6 key. So we can go from a PQC certificate to v4 >or v6 certificate. > >Given a v4 or v6 key, we can't figure out the fingerprint of the >corresponding PQC key, because we don't have the PQC public key. But >if the PQC certificate is available, we can look it up by its Ed25519 >public key. This has a potential aliasing problem: multiple keys >could have the same Ed25519 public key. But that can only be done by >the entity that controls the Ed25519 secret key material and not a >third-party: a third-party can create a new, valid PQC key, but since >they do not have access to the Ed25519 key, they can't create a valid >binding signature. > > >My main concern is whether the above scheme is safe: we're using the >same key material is two different contexts. I hope somone who >understands the cryptography better than I do can comment. > >Thoughts? > >:) Neal > >_______________________________________________ >openpgp mailing list -- openpgp@ietf.org >To unsubscribe send an email to openpgp-leave@ietf.org
- [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