インフラ

セキュアブートとは?UEFIが署名でOSの起動を守る仕組みと有効化・確認・サーバー運用まで実装目線で解説

セキュアブートとは、パソコンやサーバーの電源を入れてOSが立ち上がるまでの間に、起動に関わるプログラムがデジタル署名で正しく検証されたものかを確認し、信頼できるソフトウェアだけを実行させるUEFIのセキュリティ機能です。起動の初期段階に潜り込むマルウェアを、OSが動き出す前の入口ではじくことを狙った仕組みで、Windows 11では必須の要件にもなっています。この記事では、セキュアブートが実際には何を検証しているのかという定義から、公開鍵暗号とハッシュを使った署名検証の仕組みとPK・KEK・db・dbxという鍵の階層、UEFIからブートローダ・OSカーネルへと連なる信頼チェーン、Windowsでの有効化・状態確認・無効化の手順とTPM 2.0との関係、そしてLinuxやサーバー・仮想マシン・クラウドでの扱いと、いつ有効にすべきでいつ無効化が要るのかまでを、サーバーを構築・運用する実装者と発注者の双方が判断に使える形で整理します。

目次

まとめ|セキュアブートの正体と有効化で押さえる要点

セキュアブートは、起動ファームウェアであるUEFIが、ブートローダやOSといった起動プログラムのデジタル署名を実行前に検証し、正規の発行元による改ざんされていないものだけを起動させる仕組みです。検証の土台には、あらかじめ登録された信頼できる鍵と、許可リスト(db)・失効リスト(dbx)があります。起動プログラムに付いた署名がdbの鍵で正しく検証でき、かつdbxに載っていなければ実行を許し、そうでなければ起動を止める、という判定を段階的に連ねて信頼チェーンを作ります。

実務でまず押さえたいのは、セキュアブートはOSより手前の起動段階を守る対策であり、TPMや起動後のウイルス対策とは守る場所が違うこと、Windows 11ではセキュアブートとTPM 2.0がセットで要件になっていること、そして状態はシステム情報(msinfo32)の「セキュア ブートの状態」で確認できることです。有効化はUEFI設定画面から行いますが、署名のないドライバや一部のLinux・デュアルブート構成では起動できなくなる場合があり、そのときだけ無効化やMOKでの鍵登録を検討します。サーバーや仮想マシン・クラウドでも、vTPMやShielded VMといった形で同じ考え方が使われるのが実情です。以下で定義・仕組み・設定・サーバー実装・判断を順に解説します。

セキュアブートとは|UEFIが信頼できる起動プログラムだけを実行させる仕組み

最初にセキュアブートが何を検証しているのかを固めます。ここが曖昧だと、後半の鍵階層やLinuxでの扱い、クラウドでの構成の意味が捉えづらくなりがちです。セキュアブートは独立した製品ではなく、起動ファームウェアであるUEFIに備わった一機能として動きます。

セキュアブートが動くUEFI:BIOSに代わる起動ファームウェア

パソコンやサーバーの電源を入れると、まずマザーボード上のファームウェアが動き、ハードウェアを初期化してからOSを読み込むブートローダへ処理を渡します。この起動ファームウェアの現行世代がUEFIであり、旧来のBIOSに代わる存在です。セキュアブートは、そのUEFIが持つ機能の一つとして、ブートローダを呼び出す前にその署名を検証する役割を担います。UEFIとBIOSの違いや、起動ファームウェアそのものの位置づけはBIOSとは?UEFIとの違いから設定変更・サーバー運用まで実装者向けに解説で整理しており、セキュアブートはこのUEFI世代になって加わった、起動段階の完全性を守る仕組みだと捉えると位置づけがつかめるはずです。BIOS世代にはこの検証の枠組みがなく、起動プログラムは無条件に実行されていました。

セキュアブートが解決する課題:起動前に潜むマルウェアの排除と防御

ウイルス対策ソフトはOSが立ち上がってから動くため、OSより手前の起動段階に潜り込むマルウェアには手が届きにくい弱点があります。ブートローダやカーネルを書き換えて起動時に自分を読み込ませる攻撃(ブートキットやルートキットと呼ばれます)は、OSの防御より先に主導権を握るため発見も駆除も難しくなりがちです。セキュアブートは、この起動段階のプログラムを一つずつ署名で検証し、正規の発行元による改ざんのないものだけを実行させることで、起動が乗っ取られる経路を入口で塞ぎます。追加のソフトを入れずファームウェアの機能で完結し、OSが動き出す前から効くのが採用理由といえます。

セキュアブートとTPM・計測ブートの守る場所と役割分担の違い

セキュアブートはしばしばTPMと混同されますが、守る場所が異なります。セキュアブートは「署名を検証して、正しくないプログラムは起動させない」門番の役割です。一方TPMは、起動した各段階のプログラムのハッシュ値を記録・保管し、起動構成が想定どおりかを後から証明したりディスク暗号化の鍵を守ったりする金庫にあたります。両者は起動時に記録を取る計測ブートという仕組みで連携し、セキュアブートが「不正なものを止める」、TPMが「何が起動したかを覚えて証明する」という補完関係になります。Windows 11がセキュアブートとTPM 2.0の両方を要件にしているのは、この二つを重ねて起動の信頼性を高める狙いによるものです。

セキュアブートの仕組み|署名検証と鍵の階層(PK・KEK・db・dbx)

セキュアブートの検証は、公開鍵暗号による署名検証と、複数の鍵を役割で分けた階層で成り立っています。この骨組みを掴めば、なぜ勝手なプログラムが起動できず、なぜメーカーが後から失効を配れるのかが一本の筋で理解できるはずです。ここでは署名検証の原理、鍵の階層、そして信頼チェーンを確認します。

デジタル署名による検証:公開鍵暗号とハッシュで改ざんを見抜く

セキュアブートの検証は、デジタル署名の技術に支えられています。起動プログラムの発行元は、自分の秘密鍵でプログラムに署名を付けて配布する流れです。UEFI側は、対応する公開鍵で署名を検証し、プログラムが正規の発行元のもので、かつ配布後に書き換えられていないことを確かめます。この署名と検証で使われる秘密鍵と公開鍵の関係は公開鍵暗号方式と共通鍵暗号方式の違いとは?仕組み・アルゴリズム・使い分けを解説で整理しており、セキュアブートはこの公開鍵暗号を起動プログラムの真正性確認に応用した仕組みです。改ざんの検知には、プログラムの内容から一定長の値を計算するハッシュ(ダイジェスト)が使われ、1バイトでも書き換われば値が変わって検証に失敗します。ハッシュがなぜ改ざん検知に使えるのかはハッシュ化とは?暗号化との違いとパスワード保管・改ざん検知の仕組みを解説で扱っています。

鍵の階層:PK・KEK・dbとdbxが担う起動許可と失効の役割

セキュアブートは、単一の鍵ではなく役割の異なる複数の鍵とデータベースで信頼を管理します。頂点にあるのがPK(プラットフォームキー)で、その機器の所有者を表し、下位の鍵を管理する権限の起点になる存在です。PKによって管理されるのがKEK(鍵交換鍵)で、許可・失効のデータベースを更新できる鍵です。そして実際の判定に使われるのが、許可リストのdbと失効リストのdbxになります。

鍵・DB 役割 担い手
PK 所有者・管理の起点 プラットフォーム所有者
KEK db・dbxの更新権限 OS/ファーム提供元
db 許可する署名・ハッシュ 起動可否の判定
dbx 禁止する署名・ハッシュ 失効の反映

起動プログラムの署名がdbの鍵で検証でき、なおかつdbxに載っていなければ実行が許されます。過去に脆弱性が見つかったブートローダなどは、そのハッシュをdbxへ追加することで後から起動を禁止でき、メーカーはこの失効リストの更新を配布して既知の危険な起動プログラムを締め出します。

信頼チェーン:UEFIからブートローダ・OSカーネルへ連なる検証

セキュアブートの検証は一度きりではなく、起動の各段階へ鎖のように連なります。まずUEFIが、最初に呼び出すブートローダの署名をdb・dbxに照らして検証し、正しいときだけ実行を許す仕組みです。次に、そのブートローダが読み込むOSカーネルやドライバの署名を検証し、問題がなければ処理を渡す、という具合に段階ごとに検証を挟みます。こうして「検証済みのプログラムだけが、次の検証済みのプログラムを呼ぶ」連鎖が信頼チェーンです。どこか一段で署名の検証に失敗すれば、その先へは進まず起動が止まります。この積み重ねにより、起動の入口から一貫して改ざんのないプログラムだけが実行される状態を作り出します。

セキュアブートの設定|Windowsでの有効化・確認・無効化とTPM 2.0要件

仕組みを、実際の操作に落とします。ここでは状態の確認方法、UEFI設定画面での有効化とWindows 11の要件、そして無効化が必要になる場面とその注意を、実装の勘所に絞って確認します。

セキュアブートの状態確認:システム情報とBIOSモードの見方

まず自分の環境でセキュアブートが有効かを確かめます。Windowsでは、システム情報(msinfo32)を開き、システムの概要にある「セキュア ブートの状態」を見ると、有効なら「有効」、無効なら「無効」と表示される仕組みです。あわせて「BIOSモード」の項目が「UEFI」になっていることも確認します。ここが「レガシー」や「BIOS」と表示される場合は、そもそもUEFIで起動しておらず、セキュアブートを有効にできない状態です。設定を変える前に、まず現在どのモードで起動し、セキュアブートがどの状態かを把握してから作業に入ると、思わぬ起動不良を避けられます。

UEFI設定画面での有効化とWindows 11・TPM 2.0の要件

セキュアブートの有効化は、起動時にUEFI設定画面(BIOS設定画面と呼ばれることもあります)へ入って行います。メーカーごとに配置は異なりますが、「Security」や「Boot」といった項目の中にSecure Bootの設定があり、これを「Enabled(有効)」へ切り替える形です。前提として起動方式がUEFIモードである必要があり、古いレガシー(CSM)モードが有効だと切り替えられないため、CSMを無効化してから設定します。Windows 11(2021年提供開始)が動作要件としているのが、このセキュアブートとTPM 2.0の両方です。既存のWindows 10機をWindows 11へ更新する際に要件を満たさないと表示される原因の多くが、このセキュアブートかTPMの無効化にあります。有効化の前後で起動方式やディスクのパーティション形式が絡むため、既にOSが入った実機で切り替える場合は、変更前の状態を控え、いつでも戻せるようにしておくのが安全です。

セキュアブートの無効化が必要になる場面と、有効へ戻す際の注意点

セキュアブートは原則として有効が望ましいものの、無効化が要る場面もあります。署名のない自作ドライバや一部の周辺機器ドライバを使う場合、署名に対応していない古いOSやツールを起動する場合、そして署名構成が整っていない一部のLinuxディストリビューションやデュアルブート環境を組む場合です。無効化はUEFI設定画面で有効化と逆にSecure Bootを「Disabled」にするだけですが、無効化すると起動段階の改ざん検知が働かなくなるため、原因を切り分けるための一時的な措置と位置づけ、解決後は再び有効へ戻すのが望ましい運用になります。次の章で触れるとおり、Linuxでも無効化せずに鍵を登録して有効のまま使う道があり、まず無効化する前にその選択肢を検討すると守りを落とさずに済みます。

サーバー・仮想マシン・クラウドでのセキュアブート(shim・MOK・vTPM)

セキュアブートはWindowsの個人PCだけの話ではありません。Linuxサーバー、仮想マシン、クラウドのインスタンスでも同じ考え方が使われ、起動の完全性を守る土台になります。ここではサーバー実装で押さえる要素を確認します。

Linuxのセキュアブート:shimとMOKによる署名検証の仕組み

主要なLinuxディストリビューションは、セキュアブートを有効にしたまま起動できる仕組みを備えています。鍵になるのがshimという小さな起動プログラムで、多くのディストリではファームウェアが広く信頼するサードパーティ用の認証局で署名されており、UEFIのdbで検証を通過する仕組みです。shimはその先で、ディストリ自身の鍵で署名されたブートローダやカーネルを検証して起動をつなぎます。加えて、利用者が独自にビルドしたカーネルモジュールやドライバを使いたい場合は、MOK(マシン所有者鍵)という利用者側の鍵をmokutilで登録し、その鍵で署名したものを信頼させることができます。これにより、セキュアブートを無効化せずに、自前の署名を含めて起動を通す運用が可能です。サーバーでは、無効化ではなくこのMOK登録で有効のまま使う設計が守りを保てます。

仮想マシン・クラウドのセキュアブート:vTPM・Shielded VM・Nitro

仮想マシンでも、仮想的なファームウェアとしてUEFIとセキュアブート、そして仮想TPM(vTPM)が提供され、物理機と同じ信頼チェーンを仮想環境の中で再現できます。こうした仮想マシンを動かす基盤そのものが、Type1・Type2の違いから選定までを扱うハイパーバイザーとは?Type1・Type2の違いから仮想化基盤の選定まで実装者向けに解説の領域です。クラウドでも同様で、Google CloudのShielded VM、AWSのNitroベースでUEFIブートに対応したインスタンス、AzureのTrusted Launch、VMware vSphereのUEFIセキュアブートといった形で、起動時の改ざん検知や計測ブートを設定できます。クラウドではこれらは有効化のオプションとして用意されていることが多く、対応するイメージ(AMIやマシンイメージ)とインスタンス種別を選んだうえで有効にする流れです。サーバー群を堅牢に組むなら、OS内の対策だけでなく、この起動段階の完全性まで含めて構成を設計しておく価値があります。

ドライバ署名・デュアルブートで起動できない失敗パターンと対処

セキュアブートで起動できなくなる典型は、署名の不整合です。よくあるのは、署名のないカーネルモジュールやグラフィックドライバを読み込もうとして起動が止まる、複数OSのデュアルブートで片方のブートローダが信頼されず起動画面に進めない、そしてWindowsの更新やクローン後に起動構成が変わり検証に失敗する、といった場面で起こります。いずれも、無効化すればとりあえず起動しますが、それは守りを外して原因を隠すだけになりがちです。Linuxならshim・MOKで署名を通す、Windowsなら正規の署名済みドライバへ替える、デュアルブートなら各ブートローダの署名状況を確認する、という順で切り分けると、有効のまま解決できる余地が残ります。無効化は最後の手段と考えるのが、起動段階の守りを保つ運用です。

セキュアブートを有効にする判断と、無効化を見送る場面の見極め

セキュアブートは万能ではなく、有効化が向く場面と、あえて無効のまま進める場面があります。ここまでの仕組みを踏まえ、どんなときに何を選ぶかを条件付きで言い切ります。

セキュアブートを有効にすべき場面と無効化を選ぶ場面の条件整理

セキュアブートを有効にすることが第一候補になるのは、次の条件が重なるときです。Windows 11を要件どおりに動かす場合、インターネットに公開したり機密を扱ったりするサーバーで起動段階の改ざんを防ぎたい場合、そして端末や仮想マシンを一定の構成で統制したい組織の場合。逆に、署名に対応しない検証用ツールや古いOSをどうしても動かす必要がある閉じた検証環境、あるいは署名整備が追いつかない一時的な作業環境では、無効化を選ぶ判断もあり得ます。ただしその場合も、無効化は範囲と期間を区切り、本番や公開環境では有効へ戻すのが前提です。サーバーでは、無効化の前にLinuxのMOK登録やクラウドの対応イメージへの切り替えで、有効のまま通せないかを先に検討します。起動時の完全性検証まで含めたセキュアなサーバー・クラウド基盤の設計に迷う場合は、インフラ構築(AWS/GCP/Azure)の受託で、起動段階の堅牢化を含めた構成から相談できます。

セキュアブートだけで足りるものと多層防御で補うべき守りの範囲

セキュアブートは強力ですが、守るのは起動段階に限られます。OSが立ち上がった後のマルウェアや不正アクセス、通信経路やアプリケーションの脆弱性までは守りません。したがって、起動の完全性はセキュアブートとTPM・計測ブートで固めつつ、起動後はウイルス対策・ファイアウォール・アクセス制御・脆弱性対応といった対策と重ねて使うのが前提です。セキュアブートは多層防御の最下層、つまり「そもそも信頼できる状態で立ち上がる」ことを保証する一枚として位置づけると、過不足なく扱えます。有効化をゴールにせず、起動から運用までの守り全体の一部として設計するのが実務の勘所といえるでしょう。

セキュアブートの仕組み・設定・有効化の確認に関するよくある質問

検索されることの多い疑問に、仕組みと運用の両面から簡潔に答えます。

セキュアブートとは何ですか?

パソコンやサーバーの起動時に、ブートローダやOSといった起動プログラムのデジタル署名をUEFIが検証し、正規の発行元による改ざんのないものだけを実行させるセキュリティ機能です。起動段階に潜り込むマルウェア(ブートキットなど)を、OSが動き出す前の入口ではじくことを狙っており、追加のソフトを入れずファームウェアの機能で完結します。Windows 11では有効であることが要件になっています。

セキュアブートが有効か確認するには?

Windowsでは、システム情報(msinfo32)を開き、システムの概要にある「セキュア ブートの状態」を見ます。「有効」なら動作中、「無効」なら停止中です。あわせて「BIOSモード」が「UEFI」になっていることも確認します。ここが「レガシー」だとUEFIで起動しておらず、セキュアブートを有効にできない状態のため、まず起動方式から見直します。

セキュアブートを有効にするとWindows以外は起動できませんか?

そのようなことはありません。主要なLinuxディストリビューションはshimという署名済みの起動プログラムを備え、セキュアブートを有効にしたまま起動できます。独自ビルドのドライバやカーネルを使う場合も、MOK(マシン所有者鍵)を登録すれば自分の署名を信頼させられる仕組みです。署名の整っていない一部の環境やデュアルブート構成でだけ、一時的な無効化やMOK登録での対処が必要になります。

セキュアブートとTPMは何が違いますか?

守る場所が異なります。セキュアブートは署名を検証し、正しくない起動プログラムを実行させない門番の役割です。TPMは、起動した各段階のハッシュ値を記録して起動構成を証明したり、ディスク暗号化の鍵を守ったりする金庫にあたります。両者は計測ブートで連携し、Windows 11はこの二つをセットで要件にすることで起動の信頼性を高めています。

サーバーやクラウドでもセキュアブートは使えますか?

使えます。Linuxサーバーはshim・MOKで有効のまま運用でき、仮想マシンでは仮想的なUEFIとvTPMで同じ信頼チェーンを再現できます。クラウドでも、Google CloudのShielded VM、AWSのUEFIブート対応インスタンス、AzureのTrusted Launchといった形で起動時の改ざん検知を設定できる形です。対応するイメージとインスタンス種別を選んだうえで有効化する流れになります。

関連記事

資料請求

RELATED POSTS 関連記事