Podcast
Root Causes 451: A Year in CABF Ballots
Hosted by
Jason Soroko
Fellow
Original broadcast date
December 26, 2024
It was a crazy year for CA/Browser Forum activity, with nearly three times the normal number of ballots. Guest Martijn Katerbarg goes over the 32 CABF ballots from 2024.
Podcast transcript
Lightly edited for flow and brevity.
TCTim CallanVery excited to have a guest today. Our guest today, this is your first time on the Root Causes podcast is Martijn Katerbarg. Martijn is a Senior Compliance Engineer here at Sectigo. Welcome Martijn.
TCTim CallanSo the reason you're on here today, Martijn, is you actually, in the closing days of 2024, you engaged in what I thought was a very interesting exercise on LinkedIn, which is that you posted individual posts discussing all of the different ballots that had occurred in CA/Browser Forum in the year of 2024, and it was quite a lot, wasn't it?
TCTim CallanYes. We had quite a lot, especially if we compared it to previous years.
TCTim CallanHow many did we have altogether? Like 30?
TCTim CallanSo 32 not counting one that ended the year in flight, and that's compared to, I'd say that's like three times what we normally get. Ten or 12?
TCTim CallanSo that's crazy. Any thoughts on why so many ballots?
TCTim CallanI think we're seeing a very active, very dynamic time in CA/Browser Forum. Some of the reasons for that is that there's just a lot that needs to be done, to be frank.
All right, so tell us about your LinkedIn exercise. What did you do?
All right, so tell us about your LinkedIn exercise. What did you do?
TCTim CallanThat’s six weeks’ worth of posts there. Let's get into it. You're going to walk us through all the ballots that happened this year.
We'll start with the forum itself. And Tim, this is one you've been involved in, actually. The forum itself can do ballots, and they had one this year, which was the establishment of a new working group.
TCTim CallanThat's true. The DVWG, the definitions and glossary working group. Of course, I was established as the vice chair of that.
Also in the second half of this year, pretty much, one is an exception to that, but we've had NS003, which had fixes done for the realignment for Section 1, 2 and 3 of the NetSec requirements. The NSRs as we call them. That's essentially a big restructure with no new requirements, but a restructure for future changes that will be coming essentially.
Subsequently to that, some issues were discovered, so fixes were done through the ballots that are called NS005, and 6 and I think for the keen listeners can already hear, any ballot that starts with NS will be for NetSec. Same for Code signing. Those all start with CSC. Server starts with starts with SC. So they all have their working group prepended to a ballot number.
TCTim CallanFor the keen listeners, that implies that NS003 is the third ever ballot from the Network Security working group. Because it's a fairly new group in the grand scheme of things.
Then the final ballot, obviously we have 05 and 06, 004 has to do with vulnerability management, and that's the real only new hard requirement for CAs, and one where CAs have to make sure they have a proper asset inventory for all of their CA systems and infrastructure, and CAs have to disclose what their vulnerability management practices are, which I personally find quite interesting.
TCTim CallanAll these ballots passed?
TCTim CallanThat's the network security working group. What do we got next?
We'll start with the CSC21. The signing service update, which didn't affect too many CAs. I'll be honest. It's essentially some requirements around signing services which can either be operated by a CA or by an external party. Obviously, one would say that CAs are signing services themselves as well, but we sign certificates, and these requirements were more around private key protection for code signing, signing services.
Then we had two follow up cleanup ballots, essentially. So no new requirements onto that. One was marking an old document as superseded. It's just a cleanup making sure people know that that document is no longer relevant, and a high risk requirement update which removes some language which was essentially no longer of practical use.
TCTim CallanThere's no hard definition of what a cleanup ballot is. But basically the idea is that we're not changing the requirements. What we're doing is we're changing the way that they are communicated, in particular to keep clarity around what's required from a CA, is that correct?
TCTim CallanIt’s a good practice to lump cleanups into cleanup ballots and keep requirement changes segmented out for their own ballots.
The EV code signings, they still reference the EVGs, the EV guidelines, which mainly are used for TLS. Code signing is looking towards moving towards a one type certificate, which would mean we need to remove some of the EV references, while also keeping others and importing the EV guidelines into the document itself is a good first step to making sure all the language is there, and then we can more easily start to dissect it.
TCTim CallanThen you go through, and where there are differences in the two requirements, basically we settle on one.
Unfortunately, CSC24 initially failed. The code signing working group is a bit fragile, as there is only one certificate consumer, and we didn't get a vote in time. So after a short internal discussion, we relaunched that as CSC26 and that one did pass.
TCTim CallanAnd so apart from the number, it was identical. Is that correct?
TCTim CallanThat is very unusual.
TCTim CallanAll right. That's it for code signing. So what do you want to tackle next?
So server cert, 15 ballots in total. The chair, our very good colleague Inigo, has done a lot of work for that, not by writing the ballots, but definitely by managing all of those and getting new documents out. So kudos to him.
So we start with SC65 which was a ballot with a fairly long run time converting the EV guidelines into the RFC3647 format. This might need a little bit of explanation, I guess. RFC3647 essentially defines a format and all of the headings that a CP or CPS should have. So we as a CA, we have our CP. We have our CPS and the baseline requirements, all of them, are also in that format, which makes it very easy to look up requirements because they'll all be in the same, in general, be in the same section.
TCTim CallanThey’ll all have the same number. 3.2.7 is 3.2.7.
TCTim CallanWe’ve discussed this in some previous episodes. We've talked about Border Gateway Protocol and what that is. What a BGP attack is. We've also talked about MPIC in at least one prior episode. I think more than one. We may have discussed it under its earlier name, MPDV and, that was a big one, wasn't it, Martijn?
TCTim CallanAt that point, the quorum count is low, but it will rise in the years to come, until I think, if I recall, at the end, you're gonna have to have six different endpoints. Is that right? At least minimum?
TCTim CallanOr the year of DCV changes, because there was more to DCV than just that. What I was going to say is it's unusual to have to take multiple runs at a ballot. Like the fact that there were three before it passed. That's not very common is it?
And so the next topic, well, the next ballot, I should say, SC68 is a very short ballot. That's one I would call a clarification ballot, and it's the added allows for EU specific country codes. For the country codes in certificates, we usually have to follow the ISO 3166 country codes. But apparently there are some countries within the EU that internally use a different country code that's specified in a specific EU directive, and this ballot essentially added the option to use that directive for countries. I believe the countries currently are Greece, and I believe it's not in Ireland, so I may be stand corrected there.
TCTim CallanSo that's a very specific ballot.
TCTim CallanFurthermore, the act of logging the activity is itself an activity. So do I have to log the act of logging? And do I have to log the act of logging that? And you could make an argument that, in fact, the requirement as written required infinite logging, which, of course, would be absurd, but it was the language we had. We had to rectify that language and clean it up, just so that there was no need to say, well, I know the language says A, but everybody knows I really have to do B. Instead of that, we just fix the language so everybody could do what the language said.
So next up we have a failed ballot. Well, it actually passed. This is an interesting one, clarifying the use of delegated third parties for domain control. This is one of the ballots that came out of what you guys called the Bugzilla blood bath time period. The ballot itself actually passed, but that was hit by an IPR notice. One of the CAs filed an IPR exclusion notice. IPR stands for intellectual property rights, and that process, which is followed after every ballot passes, allows any CA/Browser Forum member to file an exclusion notice against the ballot if they believe they have an IPR right that infringes on it.
TCTim CallanSo, I hold a patent on this. I don't intend to give my patent up. That kind of stuff?
TCTim CallanAnd this also is extremely unusual, right Martijn?
TCTim CallanSo that's a failed ballot.
TCTim CallanThat's a good point. When we pass the ballot, there will be an effective date, but if there's a ballot that's relaxing rules, there's no need for an effective date, because you can relax it. As soon as the ballot is passed, you can relax it or not whenever you want.
TCTim CallanAnd this just requires that CAs cannot allow these keys.
TCTim CallanAlso very unusual to see CAs changing their votes during the voting period. Not something you see very often.
TCTim CallanWe have an episode called Don't Blame the Linter. Go listen to that if you want more on linting. Go on.
TCTim CallanSee our episode on PKI metal.
TCTim CallanPreviously, essentially, as soon as you had issued a certificate, the OCSP response had to be available.
Then SC77 a very small cleanup item, essentially. Updating the Web Trust Audit name and version numbers. So Audit, Web Trust Audits are part of the requirements as well, and we just need to make sure that we keep up with the latest versions of their audit requirements.
SC78 - another realignment ballot, which allowed for the use of the DBA, or assumed name, together with a legal name and an organization name in a certificate. And this is something that interesting enough, was allowed for the EVGs. So for EV TLS, this was allowed. For S/MIME, this was allowed, but not for OV TLS certificates, which is unusual, and this ballot essentially realigned the BRs.
TCTim CallanWhich was a distinction that didn't have any value or purpose and certainly threatened to create a confusing situation where CAs doing their earnest best might nonetheless get it wrong, and is absolutely a good idea just to clean that up.
So cross-signing is something that happens between CAs themselves. I mean, we cross-sign our root with our other root certificates, but it also happens between different CA owners. A different CA might want a particular CA’s ubiquity or being able to be trusted before they have their root included in a different root store. That’s not something allowed by default. You usually need to get permission from several root stores before doing that, but there was actually an option - - well, what we called the profiles ballot, which was done in 2023 missed a little bit in this section, where it didn't actually allow cross-signing root certificates, root CA certificates with multiple policy identifiers. We're getting a bit technical maybe now.
Policy identifiers essentially state what a CA is allowed to issue. Are they allowed to issue an OV certificate only, or a DV or an EV, but for root certificates in general, you would want to be able to issue all three of those. Even in the single purpose root world we're moving into, those still are all TLS. So you would still want to have the same root for all of your TLS issuance. Then coming to the last two ballots for the service or working group, the sunset of who is to identify domain contacts and relying DCV methods.
TCTim CallanSecond change to DCV this year.
Then the final ballot went through voting, but failed, was the clarify CA Assistant DNS validation ballot, SC82. For this, we got some feedback during the voting period, after which several CAs voted yes, but none of the certificate consumers did, and thus it didn't meet the minimum requirements for the ballot to pass.
That's going back to CA/Browser Forum to the server cert working group, and it's being reworked into something that all parties are happy with. That's something we'll see coming back in 2025.
TCTim CallanThat's something we do see a lot. When a ballot fails, usually it doesn't just vanish. Usually what happens is it goes back to that working group, feedback is collected on why the ballot failed, and that group takes another run at it.
TCTim CallanThis is important, which is that each working group has to do its own balloting. So in the event that there's a requirement that we want to change, and we want the same thing to be true for both TLS and S/MIME, but it's going to require a ballot, it’s going to require two ballots, because there has to be one in each working group.
TCTim CallanIt makes development and design and QA much harder. It makes it harder for the consumers and the relying parties to understand what a certificate really means. There are great reasons for them to be as aligned as they can, considering that they are different use cases, but as much alignment as possible is a really smart idea.
So the first ballot, SMC05 is the adoption of CAA for S/MIME. Again, we have CAA for TLS. It is now also a requirement for S/MIME.
Next up, SMC06, a corrections and clarifications ballot. Obviously, the S/MIME BRs went into effect in September of 2023, so obviously, once everything was actually up and running items come forward which were not anticipated before. So clean up and corrections are definitely required there.
SMC07 - aligning logging requirements. That one lined with the previous battle we discussed, SC69. Essentially the same language imported. SMC08 is definitely a requirements change, however, and the deprecation of the legacy profile. And the legacy profile for S/MIME is a bit of an interesting one. It was essentially introduced to allow CAs and subscribers more time after the initial effective date to migrate to the new requirements. And it's a profile that allowed for more - what's the word I'm looking for?
TCTim CallanFlexibility.
TCTim CallanAnd so the legacy profile was kind of a transitional thing. It was a way for people to transition, like you said, and we knew from the beginning. We knew before any S/MIME BRs were ever passed that the legacy profile, the plan was to deprecate it. And so this isn't a surprise. This is by design.
On to the last two. SMC09. Another one that aligns essentially. It’s for the WebTrust Audit schemes and pre-linting requirements. There's linting again. For S/MIME. Several of the linters out there already allow for the linting of S/MIME certificates. So it's very good to have a requirements for that. And the last ballot which passed - SMC10 - is still in its IPR review period, and that is MPIC for S/MIME.
TCTim CallanNow how do the dates on MPIC for S/MIME line up to the dates for TLS?
TCTim CallanYes. You see a lot of alignment between the S/MIME, like you said. The CA for S/MIME, MPIC for S/MIME. Those other changes for S/MIME. You see where that's the strategy, and obviously, good strategy.
TCTim CallanSo you said there's one ballot that's in flight right now. What's that?
TCTim CallanBy the time this airs, it will be 2025 so the listeners may know the answer to that. But right now we're recording this in December, so we'll see how all of that plays out.
Let me ask you, Martijn, so we talked about how much more activity there was this year, and then the explanations you gave struck me as explanations that are going to be persistent. Like if there's always going to be a doubling of ballots across S/MIME and SC working group, when the two of those are both relevant, and if we're going to have a NetSec working group that's going to be more active than it was in the past, these don't feel to me like things that are going away. So I guess my question to you is, is this new volume of ballots, maybe more like 30 than like 10, is that the new normal? Is that what we should expect?
Let me ask you, Martijn, so we talked about how much more activity there was this year, and then the explanations you gave struck me as explanations that are going to be persistent. Like if there's always going to be a doubling of ballots across S/MIME and SC working group, when the two of those are both relevant, and if we're going to have a NetSec working group that's going to be more active than it was in the past, these don't feel to me like things that are going away. So I guess my question to you is, is this new volume of ballots, maybe more like 30 than like 10, is that the new normal? Is that what we should expect?
TCTim CallanThat's going to be the big story of the year. Pass or fail. That will be the big story of the year. And we'll cover it here. So thank you very much, Martijn. I think it was a big project to put that all together and giving the listeners the opportunity to hear just about what goes on that way in CA/Browser Forum I think, is interesting and valuable.