技術ノート ウィンドウズ Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

最近の PC は、「セキュア ブート」と呼ばれる機能が有効になった状態で出荷されます。これは UEFI のプラットフォーム機能であり、 従来の PC BIOS に代わるものです 。 PC メーカーが PC に「Windows 10」のロゴ ステッカーを貼りたい場合、Microsoft はセキュア ブートを有効にし、いくつかのガイドラインに従うことを要求します。

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

残念ながら、一部の Linux ディストリビューションをインストールすることもできなくなり、非常に面倒になる可能性があります。

セキュア ブートが PC の起動プロセスを保護する仕組み

セキュア ブートは、Linux の実行を困難にするためだけに設計されているわけではありません。セキュア ブートを有効にすることには実際のセキュリティ上の利点があり、Linux ユーザーでもその恩恵を受けることができます。

従来の BIOS はあらゆるソフトウェアを起動します。 PC を起動すると、構成した起動順序に従ってハードウェア デバイスがチェックされ、そこから起動しようとします。一般的な PC は通常、Windows ブート ローダーを検索して起動し、その後、完全な Windows オペレーティング システムを起動します。 Linux を使用している場合、BIOS は、ほとんどの Linux ディストリビューションで使用されている GRUB ブート ローダーを検索して起動します。

ただし、ルートキットなどのマルウェアがブート ローダーを置き換える可能性があります。ルートキットは、何も問題が発生したことを示すことなく、通常のオペレーティング システムをロードする可能性があり、システム上では完全に目に見えず、検出されないままになります。 BIOS はマルウェアと信頼できるブート ローダーの違いを認識せず、見つかったものをすべて起動するだけです。

セキュア ブートはこれを阻止するように設計されています 。 Windows 8 および 10 PC には、Microsoft の証明書が UEFI に保存されて出荷されます。 UEFI はブート ローダーを起動する前にチェックし、Microsoft によって署名されていることを確認します。ルートキットまたは別のマルウェアがブート ローダーを置き換えたり改ざんしたりすると、UEFI はブート ローダーの起動を許可しません。これにより、マルウェアがブート プロセスをハイジャックし、オペレーティング システムからマルウェア自体を隠すことを防ぎます。

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

Microsoft が Linux ディストリビューションをセキュア ブートで起動できるようにする方法

この機能は理論上、マルウェアから保護することだけを目的として設計されています。そこで Microsoft は、とにかく Linux ディストリビューションの起動を支援する方法を提供しています。 Ubuntu や Fedora などの一部の最新の Linux ディストリビューションは、セキュア ブートが有効になっている場合でも、最新の PC で「正常に動作」するのはこのためです。 Linux ディストリビューションは、99 ドルの一時料金を支払って Microsoft Sysdev ポータルにアクセスし、ブート ローダーの署名を申請できます。

Linux ディストリビューションには通常、署名された「shim」が付いています。 shim は、Linux ディストリビューションのメイン GRUB ブート ローダーを起動するだけの小さなブート ローダーです。 Microsoft 署名付き shim は、Linux ディストリビューションによって署名されたブート ローダーを起動していることを確認し、Linux ディストリビューションが正常に起動します。

Ubuntu、Fedora、Red Hat Enterprise Linux、openSUSE は現在セキュア ブートをサポートしており、最新のハードウェアでは調整なしで動作します。他にもあるかもしれませんが、私たちが知っているのはこれらです。一部の Linux ディストリビューションは、Microsoft による署名の申請に哲学的に反対しています。

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

セキュア ブートを無効または制御する方法

セキュア ブートがそれだけであった場合、Microsoft が承認していないオペレーティング システムを PC 上で実行することはできなくなります。ただし、古い PC の BIOS に似た PC の UEFI ファームウェアからセキュア ブートを制御できる可能性があります。

セキュア ブートを制御するには 2 つの方法があります。最も簡単な方法は、UEFI ファームウェアに移動して完全に無効にすることです。 UEFI ファームウェアは、署名付きブート ローダーが実行されていることを確認することはなく、何でもブートします。任意の Linux ディストリビューションをブートしたり、セキュア ブートをサポートしていない Windows 7 をインストールしたりすることもできます。 Windows 10 は問題なく動作しますが、セキュア ブートによるブート プロセスの保護によるセキュリティ上の利点が失われるだけです。

セキュア ブートをさらにカスタマイズすることもできます。セキュア ブートが提供する署名証明書を制御できます。新しい証明書をインストールすることも、既存の証明書を削除することも自由に行えます。たとえば、PC 上で Linux を実行している組織は、Microsoft の証明書を削除し、代わりに組織独自の証明書をインストールすることを選択できます。これらの PC は、その特定の組織によって承認および署名されたブート ローダーのみを起動します。

これは個人でも行うことができます。独自の Linux ブート ローダーに署名して、個人的にコンパイルおよび署名したブート ローダーのみを PC が起動できるようにすることもできます。これが、セキュア ブートが提供する制御とパワーです。

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

Microsoft が PC メーカーに求めるもの

Microsoft は、PC ベンダーに「Windows 10」認定ステッカーを PC に貼り付けたい場合にセキュア ブートを有効にすることを要求するだけではありません。 Microsoft は、PC メーカーに特定の方法でこれを実装することを要求しています。

Windows 8 PC の場合、メーカーはセキュア ブートをオフにする方法を提供する必要がありました。 Microsoft は PC メーカーに、セキュア ブート キル スイッチをユーザーの手に提供するよう要求しました。

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 では必要に応じてセキュア ブートを無効にできるはずです。また、セキュア ブートを無効にしなくても、Microsoft によって署名された Linux ディストリビューションを起動する必要があります。

Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味

Windows RT でセキュア ブートを無効にできませんでしたが、Windows RT は停止しました

上記はすべて、標準の Intel x86 ハードウェア上の標準の Windows 10 オペレーティング システムに当てはまります。 ARMの場合は異なります。

Windows RT ARM ハードウェア 用 Windows 8 のバージョン (Microsoft の Surface RT および Surface 2 などのデバイスに搭載されている) — では、セキュア ブートを無効にできませんでした。現在でも、 Windows 10 Mobile ハードウェア、つまり Windows 10 を実行する携帯電話では、セキュア ブートを無効にすることができません。

これは、Microsoft が ARM ベースの Windows RT システムを PC ではなく「デバイス」として考えてほしかったためです。 Microsoft が Mozilla に語った ように、Windows RT は「もはや Windows ではない」のです。

しかし、Windows RT はすでに終了しています。 Windows 10 デスクトップ オペレーティング システムには ARM ハードウェア用のバージョンがないため、これについてはもう心配する必要はありません。ただし、Microsoft が Windows RT 10 ハードウェアを復活させたとしても、そのハードウェアでセキュア ブートを無効にすることはできないでしょう。

画像クレジット: アンバサダーベース ジョン・ブリストウ

「Windows 10 でのセキュア ブートの仕組みと Linux におけるセキュア ブートの意味」に関するベスト動画選定!

Windows 11に●アップグレードする前に●TPM●セキュアブート●有効にする方法
【Windows 10】UEFI・セキュアブートに対応させる(MBRからGPTへ変換)Windows11へアップグレードするための要件を満たす