[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