📖

UEFIについて調べてみた(SecureBoot編)

2024/05/16に公開

UEFIのセキュアブートについて

イントロダクション

UEFI(Unified Extensible Firmware Interface)のセキュアブートは、システムのブートプロセスにおけるセキュリティを強化するための機能である。セキュアブートは、信頼されたオペレーティングシステムのみが起動できるようにすることで、マルウェアや不正なソフトウェアからシステムを保護する。

セキュアブートの基本概念

セキュアブートは、UEFIファームウェアとオペレーティングシステムの間で信頼された関係を確立するためのセキュリティ機能である。具体的には、デジタル署名を使用して、ブートローダーやオペレーティングシステムカーネルが信頼できるものであることを検証する。

主な機能

  • ブートローダの検証: ブートローダが信頼されたデジタル署名を持っているか確認する。
  • カーネルの検証: OSカーネルが信頼されたデジタル署名を持っているか確認する。
  • 中間ソフトウェアの検証: ドライバやその他のソフトウェアも検証される。

セキュアブートの設定方法

セキュアブートを有効にするには、BIOS/UEFI設定メニューにアクセスする必要がある。以下の手順で設定を行う。

セキュアブートの有効化

  1. BIOS/UEFI設定にアクセス: システムの起動時にDeleteキーまたはF2キーを押して、BIOS/UEFI設定メニューに入る。
  2. セキュアブートオプションを見つける: 「セキュリティ」または「ブート」タブで「セキュアブート」オプションを探す。
  3. セキュアブートを有効にする: セキュアブートオプションを「Enabled」に設定する。
  4. 証明書の管理: 必要に応じて、信頼された証明書を追加または管理する。
  5. 設定の保存と再起動: 設定を保存し、システムを再起動する。

証明書の管理

セキュアブートは、デジタル証明書を使用してソフトウェアの信頼性を確認する。これらの証明書は、通常、ハードウェアメーカーやオペレーティングシステムベンダーによって提供される。

  1. プラットフォームキー(PK): セキュアブートの制御を持つ主要なキー。
  2. キーペアキー(KEK): 証明書の検証に使用されるキー。
  3. 署名データベース(db): 信頼されたブートローダーのリスト。
  4. 取り消しリスト(dbx): 信頼されないブートローダーのリスト。

セキュアブートのメリットとデメリット

メリット

  • マルウェア防止: 信頼されないソフトウェアの起動を防ぐことで、マルウェアからシステムを保護する。
  • セキュリティの向上: セキュアブートは、システム全体のセキュリティを強化する。

デメリット

  • カスタマイズの制約: 自作のOSや署名されていないドライバの使用が制限される場合がある。
  • トラブルシューティングの難しさ: セキュアブートが原因で起動問題が発生することがあり、その場合のトラブルシューティングが難しいことがある。

結論

UEFIのセキュアブートは、現代のシステムセキュリティにおいて重要な役割を果たしている。信頼されたソフトウェアのみが起動するようにすることで、セキュリティを大幅に向上させることができる。しかし、カスタマイズ性に制約があるため、使用環境に応じた設定が求められる。

参考文献

Discussion