Podcast
Root Causes 309: What Is Key Attestation for Code Signing?


Hosted by
Tim Callan
Chief Compliance Officer
Jason Soroko
Fellow
Original broadcast date
June 8, 2023
On June 1, 2023 new rules for delivery of code signing certificates went into effect, requiring the certificate be delivered by secure HSM. In addition to shipping a token by mail, certificates can be electronically delivered to Subscriber-owned hardware that supports key attestation. In this episode we explain key attestation, supporting hardware, and the pros and cons of this method.
Podcast Transcript
Lightly edited for flow and brevity.
So how can this happen? Well, it can happen a couple of ways, and one obvious way which is that the Certificate Authority, Sectigo, gets the cert, puts it on the token, puts the token in the mail and ships it to you and you get your token and you unwrap it and it’s there on the fob and now you have your Code Signing cert. Certainly that is done a lot, but you can imagine there are some disadvantages with that. It costs money. You gotta buy the token. You gotta ship the token, and it costs time. You gotta sit around and wait for it to come. And so another opportunity is available as well according to the Baseline Requirements or according to the BRs and that is called key attestation.
And I think the whole idea of having a CA ship the token, the hardware security modules because by the time it reaches your hands as the end user, it’s kind of been attested to the CA. Because of the fact that it’s originating from there, that it’s always been in the hardware from the point of the CA’s possession to the token itself. But for those of you who are generating your own private keys in an HSM or something like that, unfortunately, I think we are still living in a world where attestation is not completely uniform in terms of equipment that supports it and certainly even in equipment that does support it there’s different ways of doing it. So, I think it’s more of a ubiquity problem in terms of how to do it, Tim, than it is the actual doing.
This is occurring because we did have a CA/Browser Forum rule. This is a baseline requirement. This is not something that any individual CA is enforcing unilaterally. This is a new industry standard and as I said in the beginning, the real reason for that is because it is believed that this will reduce the risk and exposure of certificates ultimately being stolen and misused by purveyors of malware.
If you are just going to a CA and buying a cert, there’s not much advantage for you to try to go out and shop this key, wonder if you got the right key, get it in your hands, get it shipped to you and then go to the retailer’s website and buy the cert and deal with key attestation. Like for that person, I recommend just having them ship it to you on a token. Because they will do it and they’ll do it correctly, it will be right and it’ll show up in a padded envelope in three days and then you’ll be all set to go. However, for repeat purchasers or mass purchasers – think of an enterprise, think of a professional software development firm. Think of an electronics supply chain manufacturer, somebody with repeat Code Signing needs. Those are the people where I can imagine you say, look, we want to be able to get certs and we want to be able to get them right now. We are gonna have a store of keys in a safe place. Someone is gonna go unlock a cabinet, take one out and get the Code Signing certificate and under those circumstances, that’s where I think this really could make a difference.
We just had a podcast - Don’t Roll Your Own Crypto. It’s almost like, geez, don’t even generate your private keys in a place that you don’t absolutely know that you are getting enough of the good juice of entropy and hardware security and all the other things that comes with a FIPS certified piece of equipment. It’s just one of those things.

