[Bug 1748983] Re: Generate per-machine MOK for dkms signing
Mathieu Trudel-Lapierre
mathieu.tl at gmail.com
Wed Feb 13 16:35:30 UTC 2019
Verification-done on xenial:
shim-signed/1.33.1~16.04.4
dkms/2.2.0.3-2ubuntu11.6
I've installed bbswitch on a test UEFI system, rebooted to disable
validation in shim; then upgraded to the new packages and could verify
that shim validation was re-enabled and a MOK was enrolled in the
firmware, as expected.
ubuntu at ubuntu:~$ dpkg -l dkms shim-signed | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-=============================================-============-==============================================================
ii dkms 2.2.0.3-2ubuntu11.6 all Dynamic Kernel Module Support Framework
ii shim-signed 1.33.1~16.04.4+15+1533136590.3beb971-0ubuntu1 amd64 Secure Boot chain-loading bootloader (Microsoft-signed binary)
ubuntu at ubuntu:~$ sudo mokutil --sb-state
[sudo] password for ubuntu:
SecureBoot enabled
ubuntu at ubuntu:~$ sudo modprobe bbswitch
modprobe: ERROR: could not insert 'bbswitch': No such device
ubuntu at ubuntu:~$ dmesg | tail
[ 7.397726] wlp3s0: authenticated
[ 7.398704] wlp3s0: associate with fc:ec:da:3c:dd:85 (try 1/3)
[ 7.402921] wlp3s0: RX AssocResp from fc:ec:da:3c:dd:85 (capab=0x411 status=0 aid=3)
[ 7.422831] wlp3s0: associated
[ 7.422886] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
[ 23.013018] random: nonblocking pool is initialized
[ 100.470084] bbswitch: loading out-of-tree module taints kernel.
[ 100.470804] bbswitch: version 0.8
[ 100.470822] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.VID_
[ 100.470837] bbswitch: No discrete VGA device found
** Tags removed: verification-needed-xenial
** Tags added: verification-done-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to shim-signed in Ubuntu.
https://bugs.launchpad.net/bugs/1748983
Title:
Generate per-machine MOK for dkms signing
Status in dkms package in Ubuntu:
Fix Released
Status in shim-signed package in Ubuntu:
Fix Released
Status in dkms source package in Trusty:
Fix Committed
Status in shim-signed source package in Trusty:
Fix Committed
Status in dkms source package in Xenial:
Fix Committed
Status in shim-signed source package in Xenial:
Fix Committed
Bug description:
[SRU Justification]
Move to using self-signed keys for signing DKMS modules, along with the wizard / guide to make this work properly, to let third-party modules be signed and loaded by enforcing kernels, rather than disabling Secure Boot altogether.
[Test case]
1) Install Ubuntu in UEFI mode.
2) Install bbswitch-dkms (or another -dkms package if useful on your system).
3) Follow the steps in the debconf prompts (enter a password, remember the password for next boot).
4) Reboot; follow the steps in MokManagerL
4a) Pick Enroll MOK: add the new key, enter the password when prompted to do so.
4b) If a dkms package was previously installed on the system (so Secure Boot is currently disabled in shim), pick "Change Secure Boot state". Follow the prompts to enter password characters. The option will only show up if Secure Boot validation was found to be disabled.
5) Pick "Reboot".
6) Log in and verify that the dkms module is loaded, using "lsmod | grep <module>".
7) Run 'modprobe <module>' to validate that the module can be loaded explicilty.
8) Validate that there are no errors from modprobe or errors in dmesg concerning signing keys.
[Regression potential]
If anything currently relies on Secure Boot validation being disabled in order to correctly run with an enforcing kernel, or grub is used in enforcing mode, custom / third-party kernels and modules may fail to load.
---
shim-signed's update-secureboot-policy should allow creating a
machine-owner key, and using this for signing kernel modules built via
DKMS. Key generation and enrolling should be made as easy as possible
for users.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/1748983/+subscriptions
More information about the foundations-bugs
mailing list