[openpgp] Re: v4+v6

Paul Schaub <[email protected]>
Newsgroups gmane.ietf.openpgp
Message-ID <[email protected]>
> 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" <[email protected]>:
>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 -- [email protected]
>To unsubscribe send an email to [email protected]

_______________________________________________
openpgp mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.