Hi, This took a while to pull together, but Dennis has just published a fairly comprehensive look at the question of trust negotiation:
https://datatracker.ietf.org/doc/draft-jackson-tls-trust-is-nonnegotiable/ This is a response to the proposal to improve trust negotiation in TLS, in particular draft-beck-tls-trust-anchor-ids-03. There’s been a lot of bits spilled on this topic already, generating far more heat than light. It is an important question to examine though, albeit one that is broader than we typically engage with here. The conclusion in the draft, one that I support, is that trust negotiation in TLS is not worth it. It’s not just that fundamental changes to the system aren’t really justified, it’s that the change will do more harm than good. There seem to be three broad goals being considered for trust negotiation: 1. Make it easier for site operators to find compatible certificates. 2. Make it easier for root programs to implement security improvements. 3. Smooth the transition to post-quantum certificates. Trust negotiation allows sites to split the client population up. Each can then be addressed with different certificates, according to different policies. Divide and conquer. However, it’s unclear how this approach could actually improve security. Meanwhile, it seems to have as much potential to harm compatibility through fragmentation as it does to help it. In the recent interim, the PQ certificate deployment thing was identified as a bit of a distraction. Or maybe PQ was a shiny reason to care about what is really a fairly mundane set of operational problems. The most compelling problem here seems to be that some clients aren’t being updated with new trust anchors. (No really, stop doing that. The Internet is so hostile that updating isn’t a choice; it’s a necessity.) Anyhow, being able to segment that population of clients off seems like it would make it easier for clients and root programs to implement new policies without having to worry about compatibility, while giving site operators the ability to give old and new clients different certificates. Dennis’s analysis lays out how this isn’t a straight win-win situation as proponents claim. Rather, the two constituencies are in competition and enabling negotiation shifts a lot of the responsibility for the operational work of maintaining compatibility. CAs and root program operators do less work; website operators do more. For all that the system is a source of constant pain for some people, that’s because it is an important system. That system strikes a balance between the equities of multiple groups: end users, website operators, CAs, and client developers/root program operators. I list these in this order in the spirit of the priority of constituencies [1] as I believe applies to this domain. That order reflects the size of each group and the technical resources they can deploy, recognizing that larger groups with lower resources are less able to deal with operational complexity. Shifting compatibility work onto site operators is not the right answer when there are so many more of them, with far less ability to deal with these complexities. Big operators might win out, but small ones will not, even if automation might eventually help. This is partly due to the need to coordinate closely with DNS configuration in the proposed design. The design is as fair an approach as any I can conceive of, but we’ve already seen how hard that coordination is with ECH [2]. That’s rough, because any benefits that come from negotiation require lots of deployment. Otherwise, clients that want to distrust a CA can’t be sure that a site that doesn’t support negotiation uses that CA: if the site can’t negotiate, then the client is stuck with the existing distrust process (which is unpleasant, but mostly not for reasons that have technical solutions). Most of the arguments in favor of trust negotiation seem to depend on cross signing not being a thing. Cross signing addresses most, if not all of the compatibility concerns raised in support of trust negotiation. The benefit of cross signs is that it is a burden that only affected CAs incur, modulo the performance cost that comes with longer chains. The draft examines these claims and evaluates existing and new solutions for those. A lot has been said already about risks on the list. I’ll just say this: in effect, the intersection of all root programs is the only root program that matters. Maybe that’s what concerns people, but I consider that a critical feature. Trust negotiation might spur the creation of new root programs, which is a part of that risk (see the draft for a restatement of the arguments about Westphalian-based interventions that you have already heard), but not the whole of it. The big risk for me is that it undermines the common value that comes from that program intersection, including the tension between root programs [3]. When security advances happen, eventually everyone gets to share the benefits. Trust negotiation loosens the ties that force root programs to cooperate. More root programs or less cohesion are both risks that come from this. With the question of adoption of draft-beck-tls-trust-anchor-ids we’re really asking for a verdict on trust negotiation as a mechanism. The design is somewhat immaterial here. Rather, it's a question of whether there are benefits that can be obtained and whether the risks are justified. Personally, I can see a bunch of problems, but I don't see those as technical problems with technical solutions. Dennis' draft uses more words to reach the same conclusion. It seems like there is no shortage of highly emotive discussion on this mailing list of late. So I am hoping that it is fortuitous that this email goes out now. That might give people less of a sense that a response is needed urgently. Personally, I’m taking a month off and will not be checking this thread in that time. (In case you might feel like I'm ignoring you: I am, but it's not personal, I'll be ignoring everyone.) Thanks, Martin [1] https://w3ctag.github.io/design-principles/#priority-of-constituencies — being a TAG member for a year, quoting this document is now habitual. Please excuse me. [2] https://www.cyberciti.biz/media/new/cms/2017/04/Its-not-DNS.-There-is-no-wayits-DNS.-It-was-DNS.jpeg [3] ... _______________________________________________ TLS mailing list -- tls@ietf.org To unsubscribe send an email to tls-le...@ietf.org