So if you have an operating system and you want to get the benefit of this pre-OS malware protection, you want to land on systems that are Secure Boot-enabled, and you want to make sure the keys used to sign code you want to run are on the platform.
There are two ways of doing that. Any operating system vendor can ask system manufacturers to pre-install its keys. You can also sign [your Option ROM] with a set of keys that will typically be present in most or all systems.
The UEFI Forum looked at the possibility of setting up a certificate authority and a portal that would allow us to hand out keys, but it turned out it would be a difficult and expensive proposition.
We've been looking around for existing certificate authority players to help us with that problem. To date, there is only one that has signed up. Microsoft agreed to put up one of these portals for all comers to sign images with a set of keys that are well-known, published and provided to system manufacturers. So most platforms going out the door at least have keys for Windows and for the Microsoft-run UEFI certificate authority.
It'd be nice to get at least one more certificate authority, so we'll have multiple sources. I've talked with a number of others.
The third option to get keys on a platform is to roll your own, so to speak. If you are a vertically integrated shop, and you are building your own platform, firmware and operating system, and you wanted to use our infrastructure, you could roll your own key, put that into your own firmware, and sign your own boot loader with it.
A developer for an open-source operating system can do the same thing. Get a platform that has the ability to install keys -- many of them do -- then become the platform owner by installing your own platform key and self-signing your own images. For ordinary users, the self-signing is probably a little too technically involved. But those skilled at the art of open-source operating systems might have no problem doing this.
IDGNS: Why can't the malware creators generate their own keys?
Doran: It takes a private key to generate the signature [public key]. We only put the public key in the firmware, so we don't arm the bad guys with the means to generate their own signatures. You have to go to the signature authority to get an image signed successfully.
Of course, most companies trade on their reputation, so if for some reason a bad actor inside one of those companies generates a signature and puts a product out the door that gets into the ecosystem, that would be very bad for the company. But it would be identified pretty quickly.