Dies ist kein Fehler, es ist eine Funktion.
Wie Anthony Wong sagt, wenn Sie ein DKMS-Paket installieren, kompilieren Sie das Paket selbst, daher kann Canonical das Modul nicht für Sie signieren.
Sie können jedoch auf jeden Fall Secure Boot verwenden. Dies ist jedoch genau der Anwendungsfall, in dem Secure Boot versucht, Sie vor sich selbst zu schützen, da es nicht wissen kann, ob Sie einem Modul vertrauen oder nicht.
Standardmäßig befindet sich auf Ihrem UEFI-Computer ein Platform Key (PK), die letztendlich vertrauenswürdige Zertifizierungsstelle zum Laden von Code in Ihren Prozessor.
GRUB, Shim oder andere Boot-Mechanismen können von einem KEK digital signiert werden, der von der Root-CA (PK) als vertrauenswürdig eingestuft wird. Auf diese Weise kann Ihr Computer ohne Konfiguration Software wie Ubuntu Live USB / DVDs booten.
Unter Ubuntu 16.04 wird der Kernel mit CONFIG_MODULE_SIG_FORCE = 1 erstellt. Dies bedeutet, dass der Kernel die Signatur von Modulen durch einen vertrauenswürdigen Schlüssel auf der Plattform erzwingt . Beachten Sie, dass die UEFI-Plattform standardmäßig eine PK enthält, über die Sie keine Kontrolle haben, und Sie daher keine Binärdateien mit einem von Ihrem eigenen Computer erkannten Schlüssel signieren können.
Einige Leute schimpfen und schimpfen dagegen, aber es gibt wirklich keinen besseren Weg (vom Standpunkt der Sicherheit aus) als Sie selbst, der den gewünschten neuen Schlüssel einschreibt.
Wenn Ihr Boot-System Shim verwendet, können Sie eine sogenannte Datenbank für Maschinenschlüssel verwenden und Ihren Schlüssel als MOK registrieren (Sie können dies mit mokutil tun). Andernfalls können Sie Ihren Schlüssel auch als Signaturschlüssel in der UEFI-Datenbank registrieren .
Nachdem Sie Ihren Schlüssel registriert haben, können Sie Ihr von DKMS erstelltes Paket mit Ihrem MOK signieren (es sollte ein Perl-Skript unter vorhanden sein /usr/src/kernels/$(uname -r)/scripts/sign-file
), und nachdem es signiert wurde, können Sie es in den Kernel laden .
Zugegeben, jemand sollte mehr visuelle Anweisungen dazu geben und wahrscheinlich sogar einen Assistenten oder einen besseren DKMS-Standard erstellen, um die Berücksichtigung von Schlüsseln zu ermöglichen, aber das ist, was wir ab sofort haben.
In dieser Erklärung erfahren Sie, wie Sie Ihre eigenen Kernel-Module signieren: https://askubuntu.com/a/768310/12049