Microsoft が Windows 8 に UEFI セキュア ブートを実装しているという話をよく耳にします。どうやら、マルウェアを防ぐために、コンピューター上で「無許可の」ブートローダーが実行されないようにするようです。Free Software Foundation によるセキュア ブート反対運動があり、多くの人がオンラインで、これは Microsoft による「無料のオペレーティング システムを排除する」ための「権力掌握」だと言っています。
Windows 8 とセキュア ブートがプリインストールされたコンピューターを入手した場合、後から Linux (または他の OS) をインストールできますか? それとも、セキュア ブートを備えたコンピューターは Windows でしか動作しないのでしょうか?
答え1
まず、あなたの質問に対する簡単な答えは次のとおりです。
ARMタブレットをお持ちの場合Windows RTを実行している場合(Surface RTやAsus Vivo RTなど)、セキュアブートを無効にしたり、他のOSをインストールしたりすることはできません。他の多くのARMタブレットと同様に、これらのデバイスはのみ付属の OS を実行します。
ARM以外のコンピューターをお持ちの場合Windows 8を実行している場合(Surface Proやx86-64プロセッサを搭載した数多くのウルトラブック、デスクトップ、タブレットなど)、セキュアブートを完全に無効にすることができますまたは、独自のキーをインストールして独自のブートローダーに署名することもできます。どちらの方法でも、LinuxディストリビューションのようなサードパーティのOSをインストールできるまたは FreeBSD や DOS など、お好みに応じてお選びください。
さて、このセキュア ブートの実際の仕組みについて詳しく説明しましょう。セキュア ブートについては、特にフリー ソフトウェア財団や同様のグループから、多くの誤った情報が流布されています。このため、セキュア ブートが実際に何をするのかについての情報を見つけるのが難しくなっています。そこで、できるだけ詳しく説明したいと思います。なお、私はセキュア ブート システムの開発などについて個人的に経験はありません。これは、オンラインで読んだ情報から学んだことにすぎません。
初めに、セキュアブートとはないMicrosoft が考え出したもの。彼らはそれを広く導入した最初の企業ですが、発明したわけではありません。UEFI仕様の一部は、おそらく皆さんが慣れ親しんでいる古いBIOSの代わりとなるものです。UEFIは基本的に、OSとハードウェアの間で通信するソフトウェアです。UEFI規格は、「UEFI フォーラム「」は、Microsoft、Apple、Intel、AMD、および少数のコンピュータ製造業者を含むコンピューティング業界の代表者で構成されています。
2番目に重要な点は、コンピュータでセキュアブートを有効にするとないつまり、コンピュータは他のオペレーティングシステムを起動できないということです。実際、Microsoft 独自の Windows ハードウェア認定要件では、ARM 以外のシステムでは、セキュア ブートを無効にしてキーを変更できる必要があると規定されています (他の OS を許可するため)。これについては後で詳しく説明します。
セキュアブートは何をしますか?
本質的には、ブート シーケンスを通じてマルウェアがコンピューターを攻撃するのを防ぎます。ブートローダーを通じて侵入するマルウェアは、オペレーティング システムの低レベル機能に侵入してウイルス対策ソフトウェアに見えないようにすることができるため、検出して阻止するのが非常に困難です。セキュア ブートが実際に行うことは、ブートローダーが信頼できるソースからのものであり、改ざんされていないことを確認することだけです。「蓋が飛び出している場合やシールが改ざんされている場合は開けないでください」と書かれたボトルのポップアップ キャップのようなものだと考えてください。
保護の最上位レベルには、プラットフォーム キー (PK) があります。どのシステムにも PK は 1 つしかなく、製造時に OEM によってインストールされます。このキーは、KEK データベースを保護するために使用されます。KEK データベースには、他のセキュア ブート データベースを変更するために使用されるキー交換キーが保持されます。KEK は複数存在する場合があります。次に、3 番目のレベルである承認済みデータベース (db) と禁止データベース (dbx) があります。これらには、それぞれ、認証局、追加の暗号化キー、および許可またはブロックする UEFI デバイス イメージに関する情報が含まれています。ブートローダの実行を許可するには、次のキーで暗号化署名されている必要があります。はデータベースで、そしてではありませんdbx 内。
画像元Windows 8 の構築: UEFI による OS 前の環境の保護
実際のWindows 8認定システムでこれがどのように機能するか
OEM は独自の PK を生成し、Microsoft は OEM が KEK データベースに事前にロードする必要がある KEK を提供します。次に、Microsoft は Windows 8 ブートローダーに署名し、KEK を使用してこの署名を承認済みデータベースに格納します。UEFI がコンピューターを起動すると、PK が検証され、Microsoft の KEK が検証されてから、ブートローダーが検証されます。すべてが正常であれば、OS を起動できます。
画像元Windows 8 の構築: UEFI による OS 前の環境の保護
Linux のようなサードパーティ OS はどこで登場するのでしょうか?
まず、LinuxディストリビューションはKEKを生成することを選択でき、OEMにそれをKEKデータベースにデフォルトで含めるように依頼できます。そうすれば、Microsoftとまったく同じようにブートプロセスを制御できるようになります。これの問題は、FedoraのMatthew Garrettによる説明問題は、a) すべての PC メーカーに Fedora のキーを組み込むようにさせるのが難しいこと、b) 他の Linux ディストリビューションのキーが組み込まれず、小規模なディストリビューションにはそれほど多くの OEM パートナーシップがないため、他の Linux ディストリビューションに対して不公平になることです。
Fedora が選択したのは (他のディストリビューションも追随しています)、Microsoft の署名サービスを使用することです。このシナリオでは、Verisign (Microsoft が使用する証明機関) に 99 ドルを支払う必要があり、開発者は Microsoft の KEK を使用してブートローダに署名できるようになります。Microsoft の KEK はほとんどのコンピュータにすでに搭載されているため、開発者は独自の KEK を必要とせずに、セキュア ブートを使用するようにブートローダに署名できます。これにより、より多くのコンピュータとの互換性が高まり、独自のキー署名および配布システムを設定するよりも全体的なコストが削減されます。この仕組み (GRUB の使用、署名済みカーネル モジュール、およびその他の技術情報) の詳細については、前述のブログ記事を参照してください。この種のことに興味がある場合は、一読することをお勧めします。
Microsoft のシステムにサインアップする手間をかけたくない、99 ドルを支払いたくない、または単に M で始まる大企業に恨みを持っているとします。それでもセキュア ブートを使用して Windows 以外の OS を実行する別のオプションがあります。Microsoftのハードウェア認定 必要OEM は、ユーザーがシステムを UEFI「カスタム」モードにして、セキュア ブート データベースと PK を手動で変更できるようにしています。システムは UEFI セットアップ モードにすることができ、ユーザーは独自の PK を指定して、ブートローダに自分で署名することもできます。
さらに、Microsoft 独自の認定要件により、OEM は ARM 以外のシステムでセキュア ブートを無効にする方法を組み込むことが必須となっています。セキュアブートをオフにすることができます。セキュア ブートを無効にできない唯一のシステムは、Windows RT を実行する ARM システムです。これは iPad と似た機能を持ち、カスタム OS をロードできません。ARM デバイスで OS を変更できればよいのですが、Microsoft はタブレットに関して業界標準に従っていると言っても過言ではありません。
では、セキュア ブートは本質的に悪ではないのでしょうか?
ご覧のとおり、セキュア ブートは悪ではなく、Windows での使用に限定されているわけでもありません。FSF やその他の団体がこれに憤慨しているのは、サードパーティのオペレーティング システムの使用に余分な手順が追加されるからです。Linux ディストリビューションは、Microsoft のキーを使用するために料金を支払うことを好まないかもしれませんが、これは Linux でセキュア ブートを機能させる最も簡単で費用対効果の高い方法です。幸い、セキュア ブートをオフにするのは簡単で、別のキーを追加できるため、Microsoft とやり取りする必要がありません。
ますます高度化するマルウェアの量を考えると、セキュア ブートは合理的なアイデアのように思えます。これは世界を征服するための邪悪な陰謀を意図したものではなく、一部のフリー ソフトウェアの専門家が信じ込ませようとしているほど恐ろしいものではありません。
追加の参考資料:
- Microsoft ハードウェア認定要件
- Windows 8 の構築: UEFI による OS 前の環境の保護
- セキュアブートの展開とキー管理に関する Microsoft のプレゼンテーション
- Fedora での UEFI セキュア ブートの実装
- TechNet セキュア ブートの概要
- UEFIに関するWikipediaの記事
要約:セキュアブートは、起動中にマルウェアがシステムに感染するのを、検出できないレベルで防ぎます。誰でも必要なキーを作成して動作させることができますが、コンピュータメーカーに配布を説得するのは難しいです。あなたのキーは誰にでも公開されるため、代わりに Verisign に料金を支払って、Microsoft のキーを使用してブートローダーに署名し、動作させることもできます。セキュアブートを無効にすることもできますどれでもARM 以外のコンピューター。
最後に、FSFのセキュアブート反対運動についてですが、彼らの懸念(つまり、もっと強く無料のオペレーティングシステムをインストールするにはある程度ただし、制限によって「Windows 以外の起動ができなくなる」というのは、上記の理由から明らかに誤りです。UEFI/セキュア ブートをテクノロジとして禁止することは、近視眼的で、誤った情報に基づくものであり、いずれにせよ効果的である可能性は低いです。メーカーが実際に Microsoft の要件に従い、ユーザーが希望する場合はセキュア ブートを無効にしたり、キーを変更したりできるようにすることの方が重要です。