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

UEFI secure booting (part 2)

Updated: Three things happened to defuse this situation:
  1. Microsoft mandated that it be possible to disable Secure Boot on any Windows certified systems
  2. Microsoft mandated that it be possible for the user to replace the original Secure Boot keys on any Windows certified systems
  3. Microsoft were willing to sign alternative OS bootloaders with their signing keys

As a result, the worst case scenario did not come to pass and it's still possible for users to install Linux on their systems.

Original content follows:

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.

Planned obsolecence at its best

[identity profile] https://www.google.com/accounts/o8/id?id=AItOawnICbHaV3lMV4mOH5Vwq2G6wJ-9Y8kg-ao 2011-09-23 02:15 pm (UTC)(link)
Hm...
If Microsoft changes its UEFI keys on a future version of Windows, hardware that only stores the former version of Microsoft's keys on the bootloader will be stuck forever on an old version of the operating system.

Re: Planned obsolecence at its best

[identity profile] benanov.livejournal.com 2011-09-23 02:27 pm (UTC)(link)
That makes Apple's "let's change chip architectures every 10 years and only support one more point release" look positively saintly.

Re: Planned obsolecence at its best

(Anonymous) 2011-09-25 09:04 am (UTC)(link)
Jeez I wish people actually knew something about Apple.

For one thing, PPC sucked at the time when Apple switched to Intel. 68k was no good for the purpose when Apple switched to the PPC. PPC would need a lot more cooling to reach the speeds for some things that x86 could do without all the heat. It's not about comparing MHz speeds necessarily, just things like CPU features. Apple switched to new CPUs and kept support for older CPUs each time for a long time.

Apple dropped all support for OS 9 applications when they switched to Intel. OS X was 4 years old. There couldn't possibly be any one seriously needing OS 9 support who wanted to get a new Mac at that time.

Apple dropped PPC support in Lion finally (Don't you think 7 years is enough time to transition?). This might suck for some (particularly old games) but it allows Apple to focus on making better, new things instead of trying to support as much backward-compatibility as possible (like the Microsoft model which sucks and the major reason why their security sucks).

Does Linux support running old stuff? NO. We progress, we don't live in the past. Apple does the same thing. Microsoft tries to ensure that things stay the way they are and only look like improvements (Windows Vista, with artificial layers of 'upgradability'; they did this with NT4 too with Server vs Workstation).

Backward compatibility is the reason I hate so-called 'enterprise computing'. It makes no sense to live in the past for so long (running IE6 when its 10+years old).

Re: Planned obsolecence at its best

[identity profile] benanov.livejournal.com 2011-09-25 03:30 pm (UTC)(link)
That was sort of my point - Apple kept a lot of support around for quite some time. Eventually they had to stop supporting the old hardware. They had good technical reasons to switch.

The point is that this line is *harder* than Apple's. You want an old system? Get an old computer - even if your machine was produced yesterday. Apple always made machines that could run both systems, and systems that could run on both machines.

If there's no "disable secure boot" option, there is no backward compatibility - you have no option to hold back a little bit until an application you need runs on the new operating system. You are stuck, and that really tends to annoy customers who have an established workflow.

Consumers prefer to upgrade on their terms, even if those terms are amazingly backward from a manufacturer's POV.

Re: Planned obsolecence at its best

[identity profile] https://www.google.com/accounts/o8/id?id=AItOawlzxP5L74FjzdGpHF_Nyibf9vjTdKE3FVs 2012-08-10 06:52 am (UTC)(link)
PPC is more energy efficient and runs faster than x86 due to the core design of the architecture. x86 was just a cheaper option for Apple because x86 processors are more available (since more people make them), which means they can save money.

Re: Planned obsolecence at its best

(Anonymous) 2015-07-06 11:30 pm (UTC)(link)
"Does Linux support running old stuff? NO."
I just threw vanilla Debian on my neighbor's 7+ year old PC and it runs a desktop pretty well.

Re: Planned obsolecence at its best

(Anonymous) 2011-09-23 07:54 pm (UTC)(link)
Which is why it's probably going to happen that the private part of the key is ripped/leaked at some time in the future.