On 8/30/18 6:20 PM, Jacob Hoffman-Andrews wrote:
ACME currently has unauthenticated GETs for some resources. This was originally discussed in January 2015[1]. We decided to put all sensitive data in the account resource and consider all GET resources public, with a slant towards transparency.

Adam Roach recently pointed out in his Area Director review that even when the contents of GET URLs aren’t sensitive, their correlation may be. For instance, some CAs might consider the grouping of certificates by account to be sensitive.

Richard Barnes proposes[2] to change all GETs to POSTs (except directory and new-nonce). This will be a breaking change. Clients that were compatible with previous drafts, informally called ACMEv1 and ACMEv2, will not be compatible with a draft that mandates POSTs everywhere. It will be a painful change, since the ecosystem just started switching to ACMEv2, which looked to be near-final.


To be clear -- and I'm just repeating an observation that Richard made -- servers can continue to accept GET for the resources in question (order lists, orders, and certificates) for the foreseeable future, while also accepting POST for them [1]. Doing so would allow clients to switch from using GET to using POST for these resources at a leisurely pace, and then servers could turn off GET functionality (i.e., start returning 405's) once usage drops to an acceptable level.


I think this is the right path forwards. ACME will be a simpler, better protocol long-term if all requests are authenticated. However, if we’re taking this path we should aim to come to consensus and land the final spec quickly to reduce uncertainty for ACME client implementers.


I think this is the right call also, regardless of how breaking a change it might be. What I'd really like to avoid is a perpetual tax on developing ACME extensions in the form of having to perform extensive privacy analysis on every new endpoint, every new field, and every new identifier type that can be retrieved without authentication; and, as far as I can tell, that's the only other option here.

For avoidance of doubt, I'm speaking as an individual in the preceding paragraph. As an AD with a DISCUSS on this document, I want to make it clear that any solution to the privacy issue will satisfy my DISCUSS. But as an individual, I would be sad if the decision taken was one that hamstrings future protocol development.

/a

____
[1] This would presumably be coupled with an implementation-specific analysis of whether GET-able information can be correlated, and making adjustments if so.

_______________________________________________
Acme mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/acme

Reply via email to