Matthew Garrett ([personal profile] mjg59) wrote2011-09-23 07:57
Entry tags:

UEFI secure booting (part 2)

Microsoft have responded to suggestions that Windows 8 may make it difficult to boot alternative operating systems. What's interesting is that at no point do they contradict anything I've said. As things stand, Windows 8 certified systems will make it either more difficult or impossible to install alternative operating systems. But let's have some more background.

We became aware of this issue in early August. Since then, we at Red Hat have been discussing the problem with other Linux vendors, hardware vendors and BIOS vendors. We've been making sure that we understood the ramifications of the policy in order to avoid saying anything that wasn't backed up by facts. These are the facts:

  • Windows 8 certification requires that hardware ship with UEFI secure boot enabled.
  • Windows 8 certification does not require that the user be able to disable UEFI secure boot, and we've already been informed by hardware vendors that some hardware will not have this option.
  • Windows 8 certification does not require that the system ship with any keys other than Microsoft's.
  • A system that ships with UEFI secure boot enabled and only includes Microsoft's signing keys will only securely boot Microsoft operating systems.

Microsoft have a dominant position in the desktop operating system market. Despite Apple's huge comeback over the past decade, their worldwide share of the desktop market is below 5%. Linux is far below that. Microsoft own well over 90% of the market. Competition in that market is tough, and vendors will take every break they can get. That includes the Windows logo program, in which Microsoft give incentives to vendors to sell hardware that meets their certification requirements. Vendors who choose not to follow the certification requirements will be at a disadvantage in the marketplace. So while it's up to vendors to choose whether or not to follow the certification requirements, Microsoft's dominant position means that they'd be losing sales by doing so.

Why is this a problem? Because there's no central certification authority for UEFI signing keys. Microsoft can require that hardware vendors include their keys. Their competition can't. A system that ships with Microsoft's signing keys and no others will be unable to perform secure boot of any operating system other than Microsoft's. No other vendor has the same position of power over the hardware vendors. Red Hat is unable to ensure that every OEM carries their signing key. Nor is Canonical. Nor is Nvidia, or AMD or any other PC component manufacturer. Microsoft's influence here is greater than even Intel's.

What does this mean for the end user? Microsoft claim that the customer is in control of their PC. That's true, if by "customer" they mean "hardware manufacturer". The end user is not guaranteed the ability to install extra signing keys in order to securely boot the operating system of their choice. The end user is not guaranteed the ability to disable this functionality. The end user is not guaranteed that their system will include the signing keys that would be required for them to swap their graphics card for one from another vendor, or replace their network card and still be able to netboot, or install a newer SATA controller and have it recognise their hard drive in the firmware. The end user is no longer in control of their PC.

If Microsoft were serious about giving the end user control, they'd be mandating that systems ship without any keys installed. The user would then have the ability to make an informed and conscious decision to limit the flexibility of their system and install the keys. The user would be told what they'd be gaining and what they'd be giving up.

The final irony? If the user has no control over the installed keys, the user has no way to indicate that they don't trust Microsoft products. They can prevent their system booting malware. They can prevent their system booting Red Hat, Ubuntu, FreeBSD, OS X or any other operating system. But they can't prevent their system from running Windows 8.

Microsoft's rebuttal is entirely factually accurate. But it's also misleading. The truth is that Microsoft's move removes control from the end user and places it in the hands of Microsoft and the hardware vendors. The truth is that it makes it more difficult to run anything other than Windows. The truth is that UEFI secure boot is a valuable and worthwhile feature that Microsoft are misusing to gain tighter control over the market. And the truth is that Microsoft haven't even attempted to argue otherwise.

FUD

(Anonymous) 2011-09-24 08:25 (UTC)(link)
I cannot believe how paranoid some Linux users are.
RedHat spreads FUD, and everybody is ready to scream bloody murder.

"there's no central certification authority for UEFI signing keys"
How is this Microsoft's fault? Maybe companies like RedHat should have brought this up when spec was finalized.

Many spammers use rootkit infested machines to do their work, yet RedHat is upset that Microsoft is trying to combat this in future machines.
Linux companies should work with OEMs on a plan. Microsoft is working within an industry standard and is not doing anything illegal. Period. End of story.

Re: FUD

(Anonymous) 2011-09-24 16:38 (UTC)(link)
To be honest, I wouldn't want such an organisation to run the one and only CA either, because of course they wouldn't do it for free...

They should have made it mandatory to provide a way to edit the SecureBoot key database somehow (in a secure way, of course, e.g. from inside an UEFI setup application, maybe using a physical switch, etc.).

Re: FUD

(Anonymous) 2011-09-25 05:39 (UTC)(link)
That doesn't stop any other body from trying to rally the OEMs to create their own certificate authority. UEFI doesn't want to be in that business, it doesn't sound like it prevents anybody else from doing that.

Re: FUD

(Anonymous) 2011-09-25 07:06 (UTC)(link)
Well RedHat could start one. But that would require actually doing something instead of bitching about it so I expect nothing will be done.

Re: FUD

(Anonymous) 2011-09-26 12:13 (UTC)(link)
So RedHat and Matthew Garret worked on testing and development of UEFI standard. Microsoft follows standard, and now RedHat says they are "misusing" it. How does following a standard constitute misuse? RedHat and the Linux community have to get their act together and come up with solutions. Microsoft should not have to clean up the mess that you bungled into.

Re: FUD

(Anonymous) 2011-09-24 19:02 (UTC)(link)
Not FUD at all and no paranoia either. Just good old cautious attitudinal behavior due to long recorded history of shenanigans towards Linux. You obviously don't like that, don't you?

Nothing against UEFI, it is a good standard, but only when users have full control of it, not OEMs, and not any other software vendor.


Re: FUD

(Anonymous) 2011-09-24 19:13 (UTC)(link)
Not FUD at all and no paranoia either. Just good old cautious attitudinal behavior due to long recorded history of shenanigans towards Linux. You obviously don't like that, don't you?

Nothing against UEFI, it is a good standard, but only when users have full control of it, not OEMs, and not any other software vendor.


Re: FUD

(Anonymous) 2011-09-24 19:16 (UTC)(link)
Not FUD at all and no paranoia either. Just good old cautious attitudinal behavior due to long recorded history of shenanigans towards Linux. You obviously don't like that, don't you?

Nothing against UEFI, it is a good standard, but only when users have full control of it, not OEMs, and not any other software vendor.

Re: FUD

(Anonymous) 2011-09-28 14:26 (UTC)(link)
Microsoft is going about it in an anti-competitive way. I am neither a Linux user nor a Windows user but an OpenBSD user. If the vendors really do lock down the machine in such a fashion, I am left in the dark. The only option I have is build my own system which I do not necessarily mind. But what happens when a graphics card or other peripheral gets locked down as well? This isn't FUD, it is reality.