![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
The plan for supporting UEFI Secure Boot in Fedora is still pretty much as originally planned, but it's dependent upon building a binary which has the Fedora key embedded, and then getting that binary signed by Microsoft. Easy enough for us to do, but not necessarily practical for smaller distributions. There's a few possible solutions for them.
I've taken Suse's code for key management and merged it into my own shim tree with a few changes. The significant difference is a second stage bootloader signed with an untrusted key will cause a UI to appear, rather than simply refusing to boot. This will permit the user to then navigate the available filesystems, choose a key and indicate that they want to enrol it. From then on, the bootloader will trust binaries signed with that key.
Distributions are then able to take an existing signed copy of shim and put it on their install media, along with a file containing their key. If a user attempts to boot then the boot will fail because the second stage bootloader isn't signed with a trusted key, but the user can then use the navigator and select the distribution's key file. After providing confirmation and rebooting, the second stage bootloader's signature will now be recognised and the installer will boot.
This has the advantage over the first two options that the UI is consistent, making it easier to document the install process. The primary disadvantage is that the distribution won't be able to rebuild shim and will have to ship a pre-compiled binary. This may well be unacceptable to distributions like Debian, but should still provide a viable approach for other distributions who are either unwilling or unable to deal with Microsoft themselves.
- Require that Secure Boot be disabled
Not ideal. The UI for doing this is going to vary significantly between machines, making it difficult to document. It also means that the security benefits of Secure Boot are lost. - Require that the machine be placed in Setup Mode
Clearing the enrolled Platform Key results in the system transitioning into Setup Mode, and from then on new keys can be enrolled into the key database until a new Platform Key is enrolled. Distributions could ship an unsigned bootloader that then writes the distribution keys into the database - James Bottomley has an example here. This means that the distribution can still benefit from Secure Boot, but otherwise has the same downside that the UI for doing this will vary between machines. - Ship with a signed bootloader that can add keys to its own database
This is more interesting. Suse's bootloader design involves the bootloader having its own key database, distinct from those provided by the UEFI specification. The bootloader will execute any second stage bootloaders signed with a key in that database. Since the bootloader is in charge of its own key enrolment, the bootloader is free to impose its own policy - including enrolling new keys off a filesystem.
I've taken Suse's code for key management and merged it into my own shim tree with a few changes. The significant difference is a second stage bootloader signed with an untrusted key will cause a UI to appear, rather than simply refusing to boot. This will permit the user to then navigate the available filesystems, choose a key and indicate that they want to enrol it. From then on, the bootloader will trust binaries signed with that key.
Distributions are then able to take an existing signed copy of shim and put it on their install media, along with a file containing their key. If a user attempts to boot then the boot will fail because the second stage bootloader isn't signed with a trusted key, but the user can then use the navigator and select the distribution's key file. After providing confirmation and rebooting, the second stage bootloader's signature will now be recognised and the installer will boot.
This has the advantage over the first two options that the UI is consistent, making it easier to document the install process. The primary disadvantage is that the distribution won't be able to rebuild shim and will have to ship a pre-compiled binary. This may well be unacceptable to distributions like Debian, but should still provide a viable approach for other distributions who are either unwilling or unable to deal with Microsoft themselves.
Remove Microsoft/other keys from shim?
Date: 2012-10-07 11:53 pm (UTC)Re: Remove Microsoft/other keys from shim?
Date: 2012-10-08 12:15 am (UTC)Re: Remove Microsoft/other keys from shim?
Date: 2012-10-08 09:13 am (UTC)Re: Remove Microsoft/other keys from shim?
From: (Anonymous) - Date: 2012-10-08 02:09 pm (UTC) - ExpandRe: Remove Microsoft/other keys from shim?
From:Re: Remove Microsoft/other keys from shim?
From: (Anonymous) - Date: 2012-10-09 12:49 am (UTC) - ExpandRe: Remove Microsoft/other keys from shim?
From: (Anonymous) - Date: 2012-12-01 09:52 am (UTC) - ExpandThere is still a fundamental problem here!
Date: 2012-10-08 10:54 am (UTC)If there is no way for a user to disable Secure Boot then they are entirely at the mercy of Microsoft in even being able to start their computers. This is monopolistic practice at its worst and should be fought strongly.
Re: There is still a fundamental problem here!
Date: 2012-10-09 12:50 am (UTC)The answer is very simple: no-one else wants to do it. Microsoft has done nothing to stop anyone else acting as a signing authority. No-one else has expressed any interest in being one. Or at least, not a public one. I guess Apple might implement SB and self-sign their own stuff. Who knows, they're Apple.
Thanks
Date: 2012-10-08 11:57 am (UTC)-Andrew, Fuduntu
UEFI secure boot won't work
Date: 2012-10-08 01:28 pm (UTC)And should the Linux community build an completely open source computer, without restrictions like these?
Re: UEFI secure boot won't work
Date: 2012-10-08 01:43 pm (UTC)Citation needed.
Re: UEFI secure boot won't work
From: (Anonymous) - Date: 2012-10-08 03:01 pm (UTC) - ExpandRe: UEFI secure boot won't work
From:Re: UEFI secure boot won't work
From: (Anonymous) - Date: 2012-10-08 05:04 pm (UTC) - ExpandRe: UEFI secure boot won't work
From:Re: UEFI secure boot won't work
From: (Anonymous) - Date: 2012-10-08 05:41 pm (UTC) - ExpandRe: UEFI secure boot won't work
From:Re: UEFI secure boot won't work
From: (Anonymous) - Date: 2012-10-12 08:31 am (UTC) - Expandno subject
Date: 2012-10-08 03:33 pm (UTC)no subject
Date: 2012-10-08 05:19 pm (UTC)no subject
Date: 2012-10-08 07:57 pm (UTC)(no subject)
From:Why?
Date: 2012-10-08 09:55 pm (UTC)This is great news for Very Small Or Even Ultimately Tiny Distributions. If I can also load Nvidia drivers I will stop bitching about secure boot.
I'll start again if Microsoft won't sign, it will blacklist it immediately, firmware will include some unexpected stuff...
What about revokation?
Date: 2012-10-09 08:00 am (UTC)Re: What about revokation?
Date: 2012-10-09 01:47 pm (UTC)Re: What about revokation?
From: (Anonymous) - Date: 2012-10-11 08:56 am (UTC) - Expandno subject
Date: 2012-10-09 11:49 am (UTC)no subject
Date: 2012-10-09 12:03 pm (UTC)(no subject)
From: (Anonymous) - Date: 2012-10-09 04:11 pm (UTC) - Expand(no subject)
From: (Anonymous) - Date: 2012-10-09 04:55 pm (UTC) - Expand(no subject)
From:Status of SuSE's plan
Date: 2012-10-10 04:55 am (UTC)no subject
Date: 2012-10-10 09:49 am (UTC)no subject
Date: 2012-10-10 11:36 am (UTC)Apple charges $99 to allow developers put their iPhone apps in the app store. Small developers have a problem with this fee.
(no subject)
From: (Anonymous) - Date: 2012-10-10 11:42 am (UTC) - ExpandMS's $99 way already available?
Date: 2012-10-26 11:27 am (UTC)Re: MS's $99 way already available?
From:Re: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-29 01:40 am (UTC) - ExpandRe: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-29 03:24 am (UTC) - ExpandRe: MS's $99 way already available?
From:Re: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-30 05:03 am (UTC) - ExpandRe: MS's $99 way already available?
From:Re: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-30 12:39 pm (UTC) - ExpandRe: MS's $99 way already available?
From:Re: MS's $99 way already available?
From:Re: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-31 02:55 am (UTC) - ExpandRe: MS's $99 way already available?
From:Re: MS's $99 way already available?
From: (Anonymous) - Date: 2012-10-31 05:34 am (UTC) - ExpandRe: MS's $99 way already available?
From:Rebuilding the shim
Date: 2012-10-10 11:20 pm (UTC)Also, would the distributor have to create keys for all versions of their distro? For example (using Ubuntu since they have multiple "distros"), would Canonical have to create a key for "Ubuntu", a key for "Kubuntu", a key for "Edubuntu", a key for "Lubuntu", and a key for "Xubuntu"? Or would the one key cover all binaries--as they are all based on the same foundation?
Have a great day:)
Patrick.
Re: Rebuilding the shim
Date: 2012-10-10 11:27 pm (UTC)You'd need one key per bootloader or kernel signing key. If all the Ubuntu derivatives used the same bootloader and kernel then they can all use the same key.
Re: Rebuilding the shim
From:no subject
Date: 2012-10-13 12:45 am (UTC)Is this actually the case? OVMF does not require clearing the PK before enrolling KEK/DB certificates and keys. See Secure Boot instructions (http://dee.su/liberte-install) for Liberté Linux.
no subject
Date: 2012-10-13 12:56 am (UTC)Acceptability to distributions like Debian
Date: 2012-10-24 07:59 pm (UTC)Which licenze do you use for shim?
Date: 2012-12-03 11:24 pm (UTC)I can find this information on this site.
Thank you for information!
Re: Which licenze do you use for shim?
Date: 2012-12-03 11:29 pm (UTC)