これはバグではなく、機能です。
Anthony Wongが言うように、DKMSパッケージをインストールすると、自分でパッケージをコンパイルしているため、Canonicalはモジュールに署名できません。
ただし、確実にセキュアブートを使用することはできますが、モジュールを信頼するかどうかを判断できないため、セキュアブートが自分からユーザーを保護しようとするユースケースです。
デフォルトでは、UEFIマシンにプラットフォームキー(PK)があります。これは、プロセッサにコードをロードするための最終的に信頼できる認証局です。
GRUB、またはシム、またはその他のブートメカニズムは、ルートCA(PK)によって信頼されているKEKによってデジタル署名できるため、コンピューターは、Ubuntu Live USB / DVDなどのソフトウェアを設定なしでブートできます。
Ubuntu 16.04では、カーネルはCONFIG_MODULE_SIG_FORCE = 1で構築されます。これは、カーネルがモジュールをプラットフォーム内の信頼できるキーで署名することを強制することを意味します。UEFIプラットフォームには、デフォルトでは制御できないPKが含まれているため、ご使用のマシンで認識されるキーでバイナリに署名することはできません。
一部の人々はそれに対してbり、andりますが、あなたが望む新しいキーを登録するのは自分自身である以上に(セキュリティの観点から)本当に良い方法はありません。
ブートシステムがshimを使用している場合、Machine Owner's Keyデータベースと呼ばれるものを使用し、キーをMOKとして登録できます(mokutilで実行できます)。そうでない場合は、キーをUEFIデータベースに署名キーとして登録することもできます。
キーを登録したら、MOKでDKMSビルドパッケージに署名できます(perlスクリプトが必要です/usr/src/kernels/$(uname -r)/scripts/sign-file
)。署名した後、カーネルにロードできます。
確かに、誰かがこれについてより視覚的な指示を行う必要があり、おそらくキーを考慮に入れるためのウィザードまたはより良いDKMS標準を作成する必要がありますが、これは現在のところです。
独自のカーネルモジュールに署名する方法については、この説明を参照できます:https : //askubuntu.com/a/768310/12049