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.

Re: Microsoft is a Monopoly if This happens

(Anonymous) 2011-09-23 03:18 pm (UTC)(link)
Quote: "Most system vendors I know wouldn't lock you into....well anything. "

No, but they will lock you out. A little digression, Acer make a model of laptop with an AMD C50 processor. This processor supports hardware virtualisation but there is a mechanism provided by AMD to disable it by writing 64 cookie to a register (MSRC001_0118[SvmLockKey]). AMD write in their documentation the register should be "programmed with value supplied by user. This value should be stored in NVRAM."

Acer choose to lock down the hardware virtualisation and if you ask them for the value of the cookie to unlock it, you will be told that hardware virtualisation has been disabled for marketing reasons.

Back to the topic. If the UEFI secure booting is adopted, you will no doubt be told that if you want to use a non Microsoft operating system then you will have to purchase a machine from the (limited) range of machines intended for "Technical users" that come without keys and that "our prices start from ...".

Re: It would not help

[identity profile] http://users.livejournal.com/deviant_/ 2011-09-23 03:21 pm (UTC)(link)
> This would not help, since the GRUB EFI image is generated on the computer where you install it, in order to include the modules required for GRUB to find its files.
That's an implementation detail; there's no reason it has to be true (and right now on Fedora with grub 1 it isn't.)

Re: How are they misusing?

(Anonymous) 2011-09-23 03:35 pm (UTC)(link)
This is hypocritical. MS always claim there aren't in control when it comes to Windows tax as well. In reality they are in the dominant market position, as Matthew pointed out above, and MS "convince" OEMs with discounts and those who aren't getting convinced will remain at market disadvantage. You can call not in control, or whatever. I call it in control.

Re: What does this mean?

(Anonymous) 2011-09-23 03:37 pm (UTC)(link)
Why, it's not the first gross anitrust violation by MS which goes unpunished. They try it, may be they get away with it, may be not. But they still try.

(Anonymous) 2011-09-23 03:41 pm (UTC)(link)
> 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.

Very much to the point. Trust depends on mutuality. It's put very well in this short video:
http://www.youtube.com/watch?v=UnXU7z2_6Jg (http://www.youtube.com/watch?v=UnXU7z2_6Jg)

umm yes you do

(Anonymous) 2011-09-23 03:42 pm (UTC)(link)
Don't buy them

Re: umm yes you do

(Anonymous) 2011-09-23 03:45 pm (UTC)(link)
Not buying it is pretty similar to Windows tax problem. When the vast majority of OEMs is following MS, it's not that simple.

Re: User in control ?

[identity profile] http://users.livejournal.com/deviant_/ 2011-09-23 03:50 pm (UTC)(link)
This case actually isn't terribly bad - you'll have to use a signed rescue CD or whatnot, but it's just a matter of replacing the binaries on disk with the correct ones and your system will boot again. Your data is not in jeopardy.

Re: How many...

(Anonymous) 2011-09-23 04:05 pm (UTC)(link)
How many start off using an OEM and decide to switch to Linux at a later point.. like say my mother? At the worst this stops Linux growth as people cannot use their existing windows machines to move to an alternative.

Matthew is correct in saying that in a free market if they want to make money they will need to cater to the desktop that caters to 90% of the market and that is currently windows.

It's a clever scheme, but it will bite them and hardware manufacturers if they end up having to change those keys for any reasons. If OEMs don't allow for changing of keys and Microsoft asks to change them they are looking at some very angry customers.

sri

Palladiation Arrives . . .

(Anonymous) 2011-09-23 04:06 pm (UTC)(link)
Palladiation has been coming for some time.

This is the seminal information page on the issue, from back in 2003:
> https://www.cl.cam.ac.uk/~rja14/tcpa-faq.html

Bruce Schneier on it, circa 2002:
> https://www.schneier.com/crypto-gram-0208.html#1

New Yorkers for Fair Use got on this bandwagon early on; you may find this page of note, though many of the internal links are 404:
> http://www.nyfairuse.org/action/palladium/palladium.boycott.xhtml

Mjg59 got the key issue down: We have to insist on this hardware allowing end users to have root by installing their own keys. Then people who really support freedom can provide the infrastructure to enable truly secure operation of real computers that you actually own.

That alludes to two more important points: If you purchase a so-called computer that's been palladiated, you don't really own it, because 1) you do not have root, and 2) there also may likely be some sort of contract you need to click through to use the device. Somebody else is putting their key on your motherboard, imposing their policy on the device, not the "owner."

The other thing that needs to be stressed for broader consumer recognition of the stakes is: These palladiated devices are not computers. A computer processes information. A palladiated device does not let you process some information you receive, but rather imposes an outsider's policy. It makes a prior restraint out of both private and public policy (i.e., contractual arrangements whether of specious validity or not, or bogus notions of copyright).

(Note that the iPad is palladiated this same way -- we just expect that from the Apple way of doing things, so only a few folks noted the fact at the time of its release -- but some did.)

This is an early article from Open For Business, coming out in August 2002 with a good recognition of the ramifications of the technology (scroll down to "The Palladium Paradox):
> http://www.ofb.biz/safari/article/152.html

These links still work. The second one is an AMI engineer addressing Slashdot questions on their TPM tech:
> http://news.slashdot.org/story/03/01/09/166251/ami-introduces-trusted-computing-bios
> http://hardware.slashdot.org/story/03/01/17/1430214/ami-guy-talks-about-tcpa-palladium-and-other-bios-issues
> http://slashdot.org/story/03/01/14/1719220/transmeta-to-incorporate-drm-in-tm5800-processor

antitrust anything, part N?

(Anonymous) 2011-09-23 04:22 pm (UTC)(link)
Seems like they don't mind another round of EU antitrust fines, even if they're highly "democrated" in the US...

Treacherous Computing

(Anonymous) 2011-09-23 04:24 pm (UTC)(link)
Of course, RMS has this down:

> https://www.gnu.org/philosophy/can-you-trust.html

In fact, if you search "treacherous computing" you'll get lots of good resources. Here's one from CNet:
> http://news.cnet.com/2009-1001-964628.html

This is a typical clueful commentary:
> http://news.ycombinator.com/item?id=997580

But remember:
1) These are not computers
2) These are not your own. You do not get root. somebody else does.
3) You need to demand and insist on hardware that lets you have root by installing your own keys.

Anybody who doesn't give you 3) is not selling real computers and is simply accommodating outsider policies on a device you do not own, in the privacy of your own home.

Re: How are they misusing?

(Anonymous) 2011-09-23 04:35 pm (UTC)(link)
Linux has been able to boot on EFI systems since ~2000 -- long before Microsoft joined the party. It's not that "working with UEFI" is the problem; it's that the OEM's may not ALLOW any other operating system to boot due to pressure from Microsoft.
gerald_duck: (Default)

[personal profile] gerald_duck 2011-09-23 05:16 pm (UTC)(link)
OK. First, a dumb question: what does secure boot buy you that can't achieve by locking the BIOS down to booting from the internal hard drive anyway? Why would I want secure boot? What am I missing here?

Secondly, I wholeheartedly agree with the comments that the EU isn't going to like the anti-compatitive nature of this if it happens in Europe.

Thirdly, I'm wondering what happens if someone buys a computer then goes down the path of not agreeing with the Windows licence conditions when it powers up. Historically, one's been able to install Linux at that point (then go hunting a refund for the cost of the OEM Windows licence, in an ideal world) but with secure boot, one might end up with a brick. The refund requests could get interesting.

Fourthly, I'm guessing there are ways to circumvent secure boot. It would be ironic if Microsoft's actions both gave circumventers an excuse under the DMCA in the USA and an incentive, à la Playstation and XBox.
lsorense: (Default)

[personal profile] lsorense 2011-09-23 05:43 pm (UTC)(link)
Locking down the boot drive is to try to prevent someone with physical access to the machine from booting from another drive.

This is about preventing malware from replacing the bootloader with malware that loads before the OS and antivirus software.

Of course the method by which it does it is not that it prevents malware from replacing the bootloader, but rather prevents the machine from booting when malware has replaced the bootloader. In other words malware that messes with the bootloader will make a secure boot enabled machine unbootable until it is cleaned with some other system. So it makes sure you know something messed with the bootloader by making your system unbootable.

Weak arguments

(Anonymous) 2011-09-23 06:05 pm (UTC)(link)
If the end user doesn't want Windows 8 running on his PC, then he shouldn't worry about key management and UEFI and such, he should just not buy a Windows 8 logo PC.

OEMs design computers and install operating systems according to customer demand. Not every PC is capable of running MacOS. Not every PC is capable of running Linux. If you want a Linux PC, buy a Linux PC. If you want a Mac, buy a Mac. Somehow it's expected that if you buy a Windows PC, that it must be capable of running every other operating system out there.

This is the age of appliance computing, brought to you by Apple. The age of tinkering has passed. There is nothing in Microsofts logo program that prevents OEMs from giving end users the options to disable Secure Boot, and nothing preventing them from engaging the Linux community to get some keys established.

I fail to see how this is Microsoft's problem to ensure that their business partners build products that support a competing product.

Re: Weak arguments

[identity profile] benanov.livejournal.com 2011-09-23 06:22 pm (UTC)(link)
"Not every PC is capable of running Linux."

And those that aren't are thrown to the recyclers after I pick them up second-hand. Decreases their value considerably.

"If you want a Linux PC, buy a Linux PC."

Do tell where I can find one of these?

(Anonymous) 2011-09-23 06:32 pm (UTC)(link)
This is the standard Microsoft response. Saying that "freedom" is the freedom to be lead up the garden path, and that they're really not doing anything to cause trouble for other vendors - its the customer's demand that is causing this.

Whereas the truth is that Microsoft does everything they possibly can to stack the market in favour of it becoming a Microsoft-only space, from their massive discounts for OEMs who only sell Windows to the Windows logo programme here. They know full well that hardware manufacturers will do the bare minimum to get their hardware working just about well enough to pass muster with Microsoft, be that "it'll boot Windows" or "it'll get the Windows8 logo". And they are making that path of least resistance a path that locks up the platform.

Re: How many...

(Anonymous) 2011-09-23 06:46 pm (UTC)(link)
This is why we need coreboot, or other open source firmwares. If the firmware doesn't let you install keys, no problem just patch in the key you want and re-compile and re-flash.

courts take a *l*o*n*g* time

(Anonymous) 2011-09-23 07:07 pm (UTC)(link)
Several people believe that the legal systems in USA and Europe will solve this problem by hauling Microsoft to court. There are problems with this:
1) Microsoft can point at the OEMs and say it was their fault for not providing the end-user with a way to add keys.
2) Even if the courts do direct this back at Microsoft - it could easily take five years before anything happens. At that point Microsoft gets slapped with a billion dollar fine and told not to do that again - but by that point the new nefarious Windows9 scheme is already underway.

Re: Weak arguments

(Anonymous) 2011-09-23 07:11 pm (UTC)(link)
Mac OSX involves an anti-feature to keep it form running on hardware that it supports perfectly. Saying windows 8 OEM version will only run on top of a secure boot is similar.

However this is a question of an anti-feature, If there is no technical reason why a motherboard can't run Linux, then there are few legitimate reasons why it shouldn't'. It takes very little dev time to offer a switch to disable the feature and makes the product much more useful to a significant amount of people. (Not just Linux but windows XP or 7 in enterprise environments)

People should be able to manage thier keys, even if it just a menu to do allow or disallow the keys you want and to add arbitrary keys or keyservers. If the OEM doesn't allow this then I'm looking for a different OEM, and I'll tell everyone I know that the particular OEM in question is to be avoided and detested.

Source based distro's?

(Anonymous) 2011-09-23 07:32 pm (UTC)(link)
Matthew, what does secure boot mean for source-based distributions like Gentoo? I understand that, if this scheme does not turn out to be gruesome, Red Hat, Canonical, etc. could get their keys to OEMs. What about the case where every user's kernel and bootloader is different? It seems the only option here is to allow users insert their own keys, which might be a real pain if one has to recompile these components very often.

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.

Page 2 of 8