web-dev-qa-db-ja.com

Windows 8とセキュアブートを搭載したコンピューターを購入した場合でも、Linuxをインストールできますか?

MicrosoftがWindows 8でUEFIセキュアブートを実装する方法について多くのことを聞きました。どうやら、マルウェアを防ぐために、コンピューター上で「許可されていない」ブートローダーが実行されるのを防ぎます。セキュアブートに反対するFree Software Foundationのキャンペーンがあり、多くの人々がオンラインで「無料のオペレーティングシステムを排除する」ことはMicrosoftによる「力の奪取」だと言っています。

Windows 8とセキュアブートがプリインストールされているコンピューターを入手した場合でも、後でLinux(または他のOS)をインストールできますか?または、セキュアブートを備えたコンピューターはWindowsでしか機能しませんか?

48
nhinkle

まず、あなたの質問に対する簡単な答え:

  • ARM TabletWindowsを実行している場合RT(Surface = RTまたはAsus Vivo RT)の場合、セキュアブートを無効にしたり、他のOSをインストールしたりすることはできません。他の多くのARMタブレット、これらのデバイスはonly付属のOSを実行します。

  • ARM 8以外のコンピューターでWindows 8(Surface Proまたはx86-64を搭載した無数のウルトラブック、デスクトップ、タブレットなど)を実行している場合プロセッサ)、次にセキュアブートを完全に無効にできます、または独自のキーをインストールして独自のブートローダーに署名できます。どちらの方法でも、Linuxディストリビューション、FreeBSD、DOSなどのサードパーティOSをインストールできます。


では、このセキュアブート全体が実際にどのように機能するかについて詳しく説明します。特に、Free Software Foundationや同様のグループからの、セキュアブートに関する多くの誤った情報があります。これにより、セキュアブートが実際に行うことに関する情報を見つけるのが難しくなったので、説明するために最善を尽くします。セキュアブートシステムなどの開発に関する個人的な経験はありません。これは私がオンラインで読んで学んだことです。

まず、セキュアブートとはnotマイクロソフトが考案したものです。広く実装した最初のものです。しかし彼らはそれを発明しなかった。これは EFI仕様の一部 です。これは、基本的には、おそらく慣れ親しんでいる古いBIOSの新しい代替品です。 UEFIは基本的に、OSとハードウェアの間で通信するソフトウェアです。 UEFI標準は、「 EFIフォーラム 」と呼ばれるグループによって作成され、Microsoft、Apple、Intel、AMDなどのコンピューティング業界の代表者、および少数のコンピュータメーカーで構成されています。

2番目に重要な点は、コンピュータでセキュアブートを有効にするとnotは、コンピュータが他のオペレーティングシステムを起動できないことを意味します。実際、Microsoft独自のWindowsハードウェア認定要件では、ARM以外のシステムでは、セキュアブートを無効にして、キーを変更できるようにする必要があります(他のOSを許可するため)。それについては後でもっと。

セキュアブートの機能

基本的に、ブートシーケンスを通じてマルウェアがコンピュータを攻撃するのを防ぎます。ブートローダーを介して侵入するマルウェアは、オペレーティングシステムの低レベルの機能に侵入し、ウイルス対策ソフトウェアから見えないようにするため、検出と停止が非常に困難になる可能性があります。セキュアブートが実際に行うことは、ブートローダーが信頼できるソースからのものであり、改ざんされていないことを確認することだけです。ボトルのポップアップキャップのように考えてください。「ふたがポップアップしたり、シールが改ざんされている場合は開けないでください」とあります。

Button pops up when original seal is broken

保護の最上位には、プラットフォームキー(PK)があります。どのシステムにもPKは1つしかなく、製造時にOEMによってインストールされます。このキーは、KEKデータベースを保護するために使用されます。 KEKデータベースは、他のセキュアブートデータベースを変更するために使用されるキー交換キーを保持しています。複数のKEKが存在する可能性があります。次に、3番目のレベル、Authorized Database(db)とForbidden Datbase(dbx)があります。これらには、それぞれ認証局、追加の暗号鍵、許可またはブロックするUEFIデバイスイメージに関する情報が含まれています。ブートローダーを実行できるようにするには、ブートローダーは、データベースではis、dbxではis notのキーで暗号化署名されている必要があります。

Platform Key > KEK > (Allowed hashes / Disallowed hashes)
イメージ Building Windows 8:Protecting the pre-OS environment with UEFI

これが実際のWindows 8認定システムでどのように機能するか

OEMは独自のPKを生成し、Microsoftは、KEKデータベースに事前にロードするためにOEMが必要とするKEKを提供します。次に、MicrosoftはWindows 8ブートローダーに署名し、KEKを使用してこの署名を承認済みデータベースに配置します。 UEFIはコンピューターを起動するときに、PKを検証し、MicrosoftのKEKを検証してから、ブートローダーを検証します。すべて問題なければ、OSを起動できます。

Secure boot in Windows 8: Native UEFI > Verified OS loader only > OS Start / UEFI will only launch a verified OS loader / Malware cannot switch the boot loader
イメージ Building Windows 8:Protecting the pre-OS environment with UEFI

LinuxのようなサードパーティのOSはどこにありますか?

まず、どのLinuxディストリビューションでも、KEKを生成し、OEMにデフォルトでそれをKEKデータベースに含めるように要求できます。そうすれば、Microsoftと同じように、起動プロセスを細かく制御できます。 FedoraのMatthew Garrettが説明 のように、これに関する問題は、a)すべてのPC製造元にFedoraのキーを含めることを困難にすること、およびb)他のLinuxディストリビューションに不公平になることです。それらのキーは含まれず、小規模なディストリビューションにはOEMパートナーシップはそれほど多くありません。

Fedoraが(そして他のディストリビューションも同様に)実行することを選択したのは、Microsoftの署名サービスを使用することです。このシナリオでは、Verisign(Microsoftが使用する認証局)に99ドルを支払う必要があり、開発者はMicrosoftのKEKを使用してブートローダーに署名することができます。 MicrosoftのKEKはすでにほとんどのコンピューターに搭載されているため、独自のKEKを必要とせずに、ブートローダーに署名してセキュアブートを使用できます。最終的には、より多くのコンピューターとの互換性が高まり、独自のキー署名と配布システムをセットアップするよりも全体的なコストが低くなります。これがどのように機能するかについての詳細(GRUB、署名済みカーネルモジュール、およびその他の技術情報を使用)は、前述のブログ投稿にあります。この種のことに興味がある場合は、この記事を読むことをお勧めします。

Microsoftのシステムにサインアップする手間を省きたくない、または$ 99を支払いたくない、またはMで始まる大企業に恨みを抱くとしましょう。セキュアブートを使用する別のオプションがあります。 Windows以外のOSを実行します。 Microsoftのハードウェア認定必須ユーザーがシステムをUEFIの「カスタム」モードにして、セキュアブートデータベースとPKを手動で変更できるようにすること。システムをUEFIセットアップモードにして、ユーザーが自分のPKを指定して、ブートローダーに署名することもできます。

さらに、マイクロソフト独自の認定要件により、OEMは非ARMシステムでセキュアブートを無効にする方法を含めることが必須となっています。 セキュアブートをオフにできます!セキュアブートを無効にできないシステムはARM Windowsを実行しているシステムのみです。カスタムOSをロードできないiPadと同様に機能するRT。ARMデバイスでOSを変更できるようになりたいのですが、マイクロソフトはタブレットに関して業界標準に従っています。

安全な起動は本質的に悪ではありませんか?

したがって、うまくいけば、セキュアブートは悪ではなく、Windowsでの使用に限定されません。 FSFと他の人がそれについて非常に動揺している理由は、サードパーティのオペレーティングシステムを使用するために追加の手順を追加するためです。 Linuxディストリビューションは、Microsoftのキーを使用するためにお金を払うことを好まないかもしれませんが、セキュアブートをLinuxで動作させるための最も簡単で最も費用効果の高い方法です。幸いなことに、セキュアブートをオフにするのは簡単で、さまざまなキーを追加できるので、Microsoftに対処する必要がありません。

ますます高度化するマルウェアの量を考えると、セキュアブートは合理的な考えのようです。それは世界を引き継ぐための邪悪な陰謀を意図したものではなく、いくつかのフリーソフトウェア専門家があなたに信じさせるよりもはるかに怖くないです。

evil UEFI logo

追加の読み:


TL; DR:セキュアブートは、ブート時にマルウェアがシステムに低いレベルで感染するのを防ぎます。だれでも必要なキーを作成して機能させることができますが、コンピューターメーカーにyourキーを全員に配布するように説得するのは難しいので、Microsoftのキーを使用してブートローダーに署名し、彼らは働く。 any ARM以外のコンピュータでセキュアブートを無効にすることもできます。

セキュアブートに対するFSFのキャンペーンに関して最後に考えたのは、懸念事項の一部(つまり、無料のオペレーティングシステムをインストールすることでハードになる)は有効ある程度までです。上記の理由により、この制限により「Windows以外のすべてのユーザーが起動できないようにする」ことは明らかに誤りです。テクノロジーとしてのUEFI /セキュアブートに反対するキャンペーンは近視眼的で誤解されており、とにかく効果があるとは思えません。ユーザーがセキュアブートを無効にしたり、必要に応じてキーを変更したりできるようにするために、製造元が実際にマイクロソフトの要件に準拠していることを確認することがより重要です。

70
nhinkle