[openpgp] Re: Call for adoption: draft-gallagher-openpgp-h kp-10 (Ends 2026-05-14)
Andrew Gallagher <[email protected]> Mon, 4 May 2026 00:14:33 +0100
| Newsgroups | gmane.ietf.openpgp |
|---|---|
| Message-ID | <[email protected]> |
Hi, Michael. On 03/05/2026 21:21, Michael Richardson wrote: > > I have reviewed openpgp-hkp-10. > I have no objection to adopting it, probably overdue. Thank you. > IETF tradition is that protocols that we can not change, because the vendor > controls them, and/or because they are effectively already deployed, should > be written up as Informational v1.0 RFCs, with a second, Standards Track v2.0 > that describes extensions/revisions that *are* mutable by the IETF. Are you suggesting that this document be split? If we hadn't already started work on HKPv2, I would seriously consider it. But since HKPv2 is already wire stable (and in the process of implementation), this seems like overkill to me. I'll defer to the chairs on matters of procedure. > Section 4.x mentions URI schemes hkp and khps, but they were never > registered. I see IANA Considerations to do that. I don't understand > changing the Contact *to* D. Shaw. (I see the subtle change in name) > I think it should be the OpenPGP WG, not a person now. In the service names registry, WGs are not used as contacts. Established practice is to register under the name of one of the RFC authors, or an organisation. On rare occasions a service is registered under "IETF Chair", but this is clearly an exceptional practice. https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml > Section 4.1 speaks about /pks/v2, and that will elicit a question about /pks/v1. > A changelog entry says it was /v1, so maybe this is anticipating the change > of control. The original plan was for "Legacy HKP" to be treated as "version 0" and for the new API to be "version 1" - but at IETF 122 it was generally agreed that this was even more confusing, and that we should go directly from "Legacy" to "v2" instead. > We probably need to justify why we don't use /.well-known, > which is because hkp:// is a bespoke server. The /pks prefix has been in established use for keyservers since before /.well-known was specified (in RFC5785). It makes sense to continue to use it so that reverse proxies and application firewalls do not require modification to support HKPv2. It is permitted for alternative URL schemes to use arbitrary fixed paths. It's also worth noting that the Well Known URIs RFC recommends against granting user write access to files under /.well-known for security reasons. https://datatracker.ietf.org/doc/html/rfc8615#section-4.1 > khps probably needs to say that it does DNS-ID matching (RFC9525). > Some might be annoyed to need PKIX stuff when doing OpenPGP :-) Hm, I wasn't aware of RFC9525. At first glance, it feels somewhat trivial, in that it's what most clients would be expected to do by default. But I'll have a better read of it later to see if it's useful. Thanks. > The /v1 probably needds to be described, at least to the extent that client > authors might need help moving to /v2 There was never a "/v1" - but the legacy API is described later in the document. > Please consider documenting the JSON API replies (section 7) with CDDL. > I think that each type/object reply here probably needs a clear, program > compatible name. (V2_INDEX) CDDL is mainly a CBOR thing - would it not be more appropriate to use JSON-LD? We already reference JSON-LD (via Structured Mail) in this draft. Alternatively, there was a proposal at the last openpgp email summit to draw up a common JSON representation of arbitrary OpenPGP structures (you could call it `application/pgp+json`) which might be more appropriate as a reference in the long term. I don't want to hold up the HKP specification waiting for it though, because it will not be ready any time soon. > Maybe RFC3339 is replaced with RFC9557? RFC9557 doesn't apply, because all the references to RFC3339 in the HKP draft hardcode UTC. > The Security Considerations should probably mention the Third Party Signature > spam attack mentioned in section 8. Agreed. > If key servers always return "sequence of one or more Transfereable Public > Keys, (section 9), is "public keyring" the correct qualified term? It's historically been the most common term that avoids ambiguity. Any terminology in PGP that uses the three letters K-E-Y is unfortunately a minefield... :-) > I found the Revocation discussion unclear. > Maybe we need a model for client<->server key lifecycle interaction? Is this the bit about detached revocations? What do you feel is unclear? > I was confused by the lack of port number in section 12.2 for openpgpkey. > I think that's because _openpgpkey is just a SRV RR thing. Correct. It's `_openpgpkey._https.<domain>`, so port 443 for HTTPS follows automatically. > Can Section 10.3 also include case where the server is hkps:// on port > 11372? Is it still https:?? Are SRV used here? > BTW, I find hkps scheme with port 443 confusing here, but then I went back to > section 4, which explained that hkp runs over 11371, and hkps uses port 443. > So, is 11372 ever used? Should it be tried? > Will it confuse HTTP Proxies? By the time HTTPS was becoming widespread, the use of arbitrary ports for public web services had already become difficult due to network perimeters blocking outgoing connections to unknown remote port numbers. Keyserver operators had begun to serve plaintext HKP on port 80 in addition to the official port 11371, so when HKPS was introduced it was easier to serve it on port 443. This does mean however that HKPS doesn't have a reserved port number of its own, which is an unusual corner case. There's an issue open for this in the tracker: https://gitlab.com/andrewgdotcom/draft-gallagher-openpgp-hkp/-/work_items/14 > Somewhere there was a long debate about key servers that flood filled keys, > and how this was incompatible with GDPR and Right to be Forgotten, because > revocation information was needed to be able to remove keys. > > This document says nothing about that, as far as I can see. > I think that flood filling between key servers is not specified by this > document, and I'm fine with that, but I think it should be mentioned as not > just out of scope, but in fact undesireable. It's definitely out of scope for this document. Different keystores will have different policies about what to serve and how to treat changes. For example, some keystores may not allow external submission of any kind. The hockeypuck keyservers (which I work on) are making continuous improvements to compat spam and vandalism, and I wouldn't want to be prescriptive in this document. Thanks, A _______________________________________________ openpgp mailing list -- [email protected] To unsubscribe send an email to [email protected]