セキュアブート(Secure Boot)は、UEFI仕様の一部として実装されたセキュリティ機能で、デジタル署名されたブートローダーとOSカーネルのみの起動を許可し、マルウェアやルートキットからシステムを保護します。
署名検証プロセス
- UEFI起動: ファームウェアが初期化
- 署名確認: ブートローダーの署名を検証
- 信頼チェーン: OSカーネル、ドライバーを順次検証
- 起動許可: すべて正当な場合のみ起動
キーデータベース
- PK(Platform Key): 最上位の鍵
- KEK(Key Exchange Key): 署名鍵の管理
- db(Signature Database): 許可された署名
- dbx(Revoked Signatures): 無効化された署名
BIOS/UEFI設定
Security → Secure Boot
- Secure Boot: Enabled/Disabled
- Secure Boot Mode: Standard/Custom
- Key Management: 署名鍵の管理
Windows環境
# セキュアブート状態確認
Confirm-SecureBootUEFI
# システム情報で確認
msinfo32
# 「セキュアブートの状態」を確認
Linux対応
- Ubuntu/Fedora: Shimローダーで対応
- MOK(Machine Owner Key): 独自ドライバー署名
- 手動無効化: 一部ディストリで必要
セキュリティ強化
- ブートキット防止: 起動時マルウェアをブロック
- 改ざん検知: システムファイルの不正変更防止
- ドライバー保護: 未署名ドライバーの実行防止
- 物理攻撃対策: USBブートなどの制限
システム要件準拠
- Windows 11: 必須要件
- 企業環境: コンプライアンス要求
- 仮想化: Hyper-Vの追加保護
互換性問題
- 古いOS: Windows 7以前は非対応
- カスタムOS: 独自Linuxディストリ
- 特殊ドライバー: 未署名の周辺機器
開発・デバッグ
- テストモード: 開発時は無効化必要
- カーネルデバッグ: 制限あり
- オーバークロック: 一部ツールが動作不可
起動エラー時
- CSM無効化: レガシーBIOS互換を無効
- GPTパーティション: MBRからの変換
- ブートオプション: UEFI優先に設定
デュアルブート
# Linuxでの対処
sudo mokutil --disable-validation
# 再起動後、MOKマネージャーで設定
独自鍵の登録
- 鍵ペア生成: OpenSSLで作成
- 署名作成: efitools使用
- UEFI登録: カスタムモードで追加
企業環境
- 自社署名: 社内開発ドライバー対応
- 一元管理: グループポリシーで制御
- 監査ログ: 起動履歴の記録
- 定期更新: dbxデータベースの更新
- バックアップ: 鍵データのエクスポート
- テスト環境: 変更前の動作確認
- 文書化: カスタム設定の記録
- Plutonプロセッサ: Microsoftの次世代セキュリティ
- 測定ブート: より詳細な整合性チェック
- クラウド連携: リモート証明書管理