Windows 8および10でのセキュアブートのしくみ、およびLinuxにとっての意味
最近のPCは「セキュアブート」と呼ばれる機能を有効にして出荷されています。これは、従来のPC BIOSに代わるUEFIのプラットフォーム機能です。 PCの製造元が "Windows 10"または "Windows 8"のロゴステッカーを自分のPCに貼る場合、マイクロソフトはセキュアブートを有効にしていくつかのガイドラインに従うことを要求します。.
残念なことに、それはまたあなたがいくつかのLinuxディストリビューションをインストールすることを妨げます。.
セキュアブートによってPCのブートプロセスがどのように保護されるか
セキュアブートは単にLinuxの実行をより困難にするように設計されていません。セキュアブートを有効にすることには本当のセキュリティ上の利点があり、Linuxユーザーでさえも利益を得ることができます。.
伝統的なBIOSはどんなソフトウェアでも起動します。 PCを起動すると、設定した起動順序に従ってハードウェアデバイスがチェックされ、それらからの起動が試みられます。一般的なPCは通常、Windowsブートローダーを見つけて起動します。これにより、Windowsオペレーティングシステム全体が起動します。 Linuxを使用している場合、BIOSはほとんどのLinuxディストリビューションが使用しているGRUBブートローダーを見つけて起動します。.
しかし、ルートキットなどのマルウェアがあなたのブートローダを置き換えることは可能です。ルートキットは、何も問題がないことを示すことなく通常のオペレーティングシステムをロードすることができ、システム上では完全に見えなくなり、検出できなくなります。 BIOSはマルウェアと信頼できるブートローダの違いを知らない - それが見つけたものは何でも起動する.
セキュアブートはこれを防ぐように設計されています。 Windows 8および10 PCには、UEFIに保存されているMicrosoftの証明書が付属しています。 UEFIは起動する前にブートローダをチェックし、それがマイクロソフトによって署名されていることを確認します。ルートキットまたは他のマルウェアがブートローダーを置き換えたり、それを改ざんしたりした場合、UEFIはブートを許可しません。これにより、マルウェアがブートプロセスを乗っ取ってオペレーティングシステムから隠すのを防ぎます。.
マイクロソフトがLinuxディストリビューションをセキュアブートで起動する方法
この機能は、理論的にはマルウェアから保護するように設計されています。そのため、マイクロソフトはLinuxディストリビューションの起動を支援する方法を提供しています。そのため、UbuntuやFedoraのような最新のLinuxディストリビューションの中には、セキュアブートが有効になっていても最新のPC上で「動作する」だけのものがあります。 LinuxディストリビューションはMicrosoft Sysdevポータルにアクセスするために99ドルの一時費用を支払うことができ、そこで彼らは彼らのブートローダーに署名させることを申し込むことができます.
Linuxディストリビューションには通常、「シム」の署名があります。シムは、LinuxディストリビューションのメインのGRUBブートローダを単純に起動する小さなブートローダです。 Microsoftが署名したシムは、Linuxディストリビューションによって署名されたブートローダーを起動していることを確認し、その後Linuxディストリビューションは正常に起動します。.
Ubuntu、Fedora、Red Hat Enterprise Linux、およびopenSUSEは現在セキュアブートをサポートしており、現代のハードウェアを調整することなく動作します。他にもあるかもしれませんが、これらは私たちが知っているものです。一部のLinuxディストリビューションは、マイクロソフトによる署名を申請することに哲学的に反対しています。.
セキュアブートを無効化または制御する方法
それでもすべてのSecure Bootが実行されたとしたら、Microsoftが承認していないオペレーティングシステムをPCで実行することはできません。しかし、おそらくあなたのPCのUEFIファームウェアからセキュアブートを制御することができます。これは古いPCのBIOSのようなものです。.
セキュアブートを制御する方法は2つあります。最も簡単な方法は、UEFIファームウェアにアクセスしてそれを完全に無効にすることです。 UEFIファームウェアは、あなたが署名されたブートローダーを実行しているかどうかを確認しません、そして何でも起動します。セキュアブートをサポートしていないLinuxディストリビューションを起動することも、Windows 7をインストールすることもできます。 Windows 8とWindows 10は問題なく動作しますが、セキュアブートでブートプロセスを保護することによるセキュリティ上の利点が失われるだけです。.
セキュアブートをさらにカスタマイズすることもできます。 Secure Bootが提供する署名証明書を制御できます。新しい証明書をインストールすることも既存の証明書を削除することも自由にできます。たとえば、PC上でLinuxを実行していた組織は、Microsoftの証明書を削除して、組織の証明書を代わりにインストールすることを選択できます。これらのPCは、その特定の組織によって承認され署名されたブートローダーのみをブートします。.
個人がこれを行うこともできます - あなたはあなた自身のLinuxブートローダに署名し、あなたのPCがあなたが個人的にコンパイルして署名したブートローダだけをブートできることを保証することができます。これが、セキュアブートが提供する一種の制御と電源です。.
マイクロソフトがPCメーカーに求めるもの
マイクロソフトは、PCにベンダが「Windows 10」または「Windows 8」という素晴らしい認定ステッカーを貼ることを望んでいる場合に、セキュアブートを有効にすることを要求するだけではありません。マイクロソフトは、PCメーカーに特定の方法での実装を要求しています.
Windows 8 PCの場合、製造元はセキュアブートを無効にする方法を提供する必要がありました。マイクロソフトは、PCメーカーにSecure Bootのkillスイッチをユーザーの手に委ねるよう要求しました。.
Windows 10 PCの場合、これはもう必須ではありません。 PCメーカーは、セキュアブートを有効にして、ユーザーに無効にする方法を与えないようにすることを選択できます。ただし、これを行っているPC製造元は実際にはわかりません。.
同様に、PCメーカーは、Windowsが起動できるようにMicrosoftのメインの「Microsoft Windows Production PCA」キーを含める必要がありますが、「Microsoft Corporation UEFI CA」キーを含める必要はありません。この2番目のキーは推奨されているだけです。これは、MicrosoftがLinuxブートローダーに署名するために使用する2番目のオプションの鍵です。 Ubuntuのドキュメントがこれを説明しています.
言い換えれば、すべてのPCがセキュアブートを有効にして署名付きLinuxディストリビューションを起動するとは限りません。繰り返しますが、実際には、これを行ったPCは見たことがありません。おそらく、あなたがLinuxをインストールできない唯一のノートパソコンを作りたいと思うPCメーカーはいないでしょう。.
現時点では、少なくとも、主流のWindows PCでは、必要に応じてSecure Bootを無効にすることができます。また、Secure Bootを無効にしなくても、マイクロソフトによって署名されたLinuxディストリビューションを起動できます。.
セキュアブートはWindows RTでは無効にできませんでしたが、Windows RTは無効です
上記のすべては、標準のIntel x86ハードウェア上の標準のWindows 8および10オペレーティングシステムに当てはまります。 ARMでは違います.
Windows RT上では、MicrosoftのSurface RTとSurface 2に同梱されているARMハードウェア用のWindows 8のバージョンであるSecure Bootを無効にすることはできませんでした。今日、Windows 10 Mobileハードウェア、つまりWindows 10を実行している電話では、セキュアブートを無効にすることはできません。.
これは、マイクロソフトが、ARMベースのWindows RTシステムをPCではなく「デバイス」と見なすことを望んでいたためです。 MicrosoftがMozillaに言ったように、Windows RTは「もうWindowsではありません」。
しかし、Windows RTは今死んでいます。 ARMハードウェア用のWindows 10デスクトップオペレーティングシステムのバージョンはないため、これはもう心配する必要はありません。しかし、マイクロソフトがWindows RT 10ハードウェアを復活させれば、おそらくそれでセキュアブートを無効にすることはできないでしょう。.
イメージクレジット:アンバサダーベース、ジョンブリストー