Linux 6.4 カーネルでは、マシン キーリングがオプションで CA 強制キーのみを格納できるようにする機能が導入されています。

Oracle の Eric Snowberg は、認証局 (CA) がマシンのキーリングを強制できるように、CA 強制キーリングの制限に取り組んできました。 パッチ シリーズで Snowberg が説明しています:

「マシン キーリングが導入される前は、ほとんどのディストリビューションでは、プラットフォーム キーリングに含まれるすべてのキーを、カーネルとモジュールの両方の検証に使用することを単純に許可していました。これは、ツリー外パッチによって行われました。一部のディストリビューションでは、さらに、これらすべてのキーをセカンダリの信頼できるキーリングにロードしました。これにより、システム所有者は IMA 用に独自のキーを追加することもできました。

各ディストリビューションには、カーネル モジュールに署名し、キーを MOK に登録する方法に関する同様のドキュメントが含まれています。プロセスはかなり簡単です. マシンキーリングの導入により、プロセスは基本的に同じままで、ツリー外パッチは必要ありません.

マシンキーリングにより、ディストリビューションはツリー外パッチを排除できました.カーネルモジュールの署名. ただし、エンドユーザーがIMA用に独自のキーを追加できるようにすることは不十分です.現在、マシン キーリングは、CA の施行が現在存在しないため、ima キーリングにキーを追加するための別のトラスト アンカーとして使用できません。これにより、現在の整合性のギャップが拡大します。 IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY Kconfig は、キーがシステムの組み込みまたはセカンダリの信頼できるキーリングの CA 証明書によって有効に署名されている場合、キーを ima キーリングに追加できることを示しています。現在、CA 証明書の内容を強制するコードはありません。

このシリーズでは、CA 強制を行う方法を紹介しますマシンキーリング付き。マシンのキーリングを構成する 3 つの異なる方法を紹介します。追加できるキーのタイプを制御するために、新しい Kconfig オプションが追加されました。デフォルトのオプションでは、すべての MOK キーをマシンのキーリングに入れることができます。 CONFIG_INTEGRITY_CA_MACHINE_KEYRING が選択されている場合、X.509 CA ビットが true である必要があり、キーの使用法に keyCertSign が含まれている必要があります。その他の使用法フィールドも設定できます。
CONFIG_INTEGRITY_CA_MACHINE_KEYRING_MAX も選択されている場合、X.509 CA ビットは true である必要があり、キーの使用法には keyCertSign が含まれている必要があります。このオプションを使用すると、digitalSignature の使用法が設定されない場合があります。キーが CA 制限チェックに合格しない場合、マシンのキーリングではなく、プラットフォームのキーリングに追加されます。
マシンのキーリングを CA の制限付きで構成する機能により、マシンのキーリングが IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY で有効になるのを妨げていたコードが削除されました。”

繰り返しますが、前述のとおり、これは厳密にすべての MOK キーをマシンのキーリングに許可するデフォルトの動作でオプトインします。プル リクエストは、Linux 6.4 カーネル用に本日送信され、この新しい機能が含まれています。

“マシン オーナー キー (MOK) に使用される.machine キーリングは、強制された CA のみを格納する機能を取得しました。残りを.platform キーリングに入れることで、証明書の署名に使用されるキーからコード署名キーを分離します。これにより、.machine キーリングを IMA のトラスト アンカーとして使用できるようになります。これはオプトイン機能であり、追加の制約が、それらを気にしない人を困らせることはないことを意味します。”

Integrity Measurement Architecture (IMA) 処理に関する Linux の機能強化は、依然として大きな関心領域です。企業の利害関係者のために。

Categories: IT Info