セキュアブートSecure boot

セキュアブートは、PC 業界のメンバーによって開発されたセキュリティ標準であり、相手先ブランド供給 (OEM) によって信頼されているソフトウェアのみを使用してデバイスを起動できるようにします。Secure boot is a security standard developed by members of the PC industry to help make sure that a device boots using only software that is trusted by the Original Equipment Manufacturer (OEM). PC が起動すると、ファームウェアは、UEFI ファームウェアドライバー (オプション Rom とも呼ばれます)、EFI アプリケーション、およびオペレーティングシステムを含む、各ブートソフトウェアの署名を確認します。When the PC starts, the firmware checks the signature of each piece of boot software, including UEFI firmware drivers (also known as Option ROMs), EFI applications, and the operating system. 署名が有効な場合、PC が起動され、ファームウェアによってオペレーティングシステムに制御が与えられます。If the signatures are valid, the PC boots, and the firmware gives control to the operating system.

OEM は、ファームウェアの製造元の指示に従って、セキュアブートキーを作成し、PC ファームウェアに保存することができます。The OEM can use instructions from the firmware manufacturer to create Secure boot keys and to store them in the PC firmware. UEFI ドライバーを追加する場合は、これらが署名されており、セキュアブートデータベースに含まれていることを確認する必要もあります。When you add UEFI drivers, you'll also need to make sure these are signed and included in the Secure Boot database.

セキュアブートプロセスのしくみについては、「 Windows 10 のブートプロセスをセキュリティで保護する」を参照してください。For information on how the secure boot process works included Trusted Boot and Measured Boot, see Secure the Windows 10 boot process.

セキュアブートの要件Secure boot requirements

セキュアブートをサポートするには、次のものを提供する必要があります。In order to support Secure boot, you must provide the following.

ハードウェア要件Hardware requirement 詳細Details
UEFI バージョン2.3.1 エラッタ C 変数UEFI Version 2.3.1 Errata C variables 変数は、安全に事前にプロビジョニングされたコンピューターを起動するために必要な署名データベース (EFI_IMAGE_SECURITY_DATABASE) と、有効な KEK データベースに設定されている PK を含む、セキュア = 1およびsetupmode = 0に設定する必要があります。Variables must be set to SecureBoot=1 and SetupMode=0 with a signature database (EFI_IMAGE_SECURITY_DATABASE) necessary to boot the machine securely pre-provisioned, and including a PK that is set in a valid KEK database. 詳細については、「セキュアブートロゴテスト」を参照してください。For more information, see Secure Boot Logo Test.
UEFI v 2.3.1 セクション27UEFI v2.3.1 Section 27 プラットフォームは、UEFI v 2.3.1 Section 27 のプロファイルに準拠するインターフェイスを公開する必要があります。The platform must expose an interface that adheres to the profile of UEFI v2.3.1 Section 27.
UEFI 署名データベースUEFI signature database Windows が起動できるようにするには、プラットフォームが UEFI 署名データベース (db) の正しいキーを使用してプロビジョニングされている必要があります。The platform must come provisioned with the correct keys in the UEFI Signature database (db) to allow Windows to boot. また、データベースに対するセキュリティで保護された認証済み更新プログラムもサポートする必要があります。It must also support secure authenticated updates to the databases. セキュリティで保護された変数のストレージは、実行中のオペレーティングシステムから分離する必要があります。そのため、検出せずに変更することはできません。Storage of secure variables must be isolated from the running operating system such that they cannot be modified without detection.
ファームウェアの署名Firmware signing すべてのファームウェアコンポーネントは、SHA-256 を使用して、少なくとも RSA 2048 を使用して署名する必要があります。All firmware components must be signed using at least RSA-2048 with SHA-256.
ブートマネージャーBoot manager 電源がオンになっている場合、システムはファームウェアでコードの実行を開始し、アルゴリズムポリシーに従って公開キー暗号化を使用して、ブートシーケンス内のすべてのイメージの署名を確認する必要があります (Windows ブートマネージャーを含む)。When power is turned on, the system must start executing code in the firmware and use public key cryptography as per algorithm policy to verify the signatures of all images in the boot sequence, up to and including the Windows Boot Manager.
ロールバック保護Rollback protection システムは、古いバージョンへのファームウェアのロールバックから保護する必要があります。The system must protect against rollback of firmware to older versions.
EFI_HASH_PROTOCOLEFI_HASH_PROTOCOL このプラットフォームでは、暗号化ハッシュ操作のオフロードと、プラットフォームエントロピにアクセスするための EFI_RNG_PROTOCOL (Microsoft 定義) の EFI_HASH_PROTOCOL が提供されています。The platform provides the EFI_HASH_PROTOCOL (per UEFI v2.3.1) for offloading cryptographic hash operations and the EFI_RNG_PROTOCOL (Microsoft defined) for accessing platform entropy.

署名データベースとキーSignature Databases and Keys

PC を展開する前に、OEM はセキュアブートデータベースを PC に保存します。Before the PC is deployed, you as the OEM store the Secure Boot databases on the PC. これには、署名データベース (db)、失効署名データベース (dbx)、およびキー登録キーデータベース (KEK) が含まれます。This includes the signature database (db), revoked signatures database (dbx), and Key Enrollment Key database (KEK). これらのデータベースは、製造時にファームウェアの不揮発性 RAM (NV-RAM) に格納されます。These databases are stored on the firmware nonvolatile RAM (NV-RAM) at manufacturing time.

署名データベース (db) と失効署名データベース (dbx) には、UEFI アプリケーションの署名者またはイメージハッシュ、オペレーティングシステムローダー (Microsoft オペレーティングシステムローダー、ブートマネージャーなど)、デバイスに読み込むことができる UEFI ドライバーが一覧表示されます。The signature database (db) and the revoked signatures database (dbx) list the signers or image hashes of UEFI applications, operating system loaders (such as the Microsoft Operating System Loader, or Boot Manager), and UEFI drivers that can be loaded on the device. 失効リストには、信頼できなくなったために読み込むことができない項目が含まれています。The revoked list contains items that are no longer trusted and may not be loaded. イメージハッシュが両方のデータベースに存在する場合、失効した署名データベース (dbx) の処理が行われます。If an image hash is in both databases, the revoked signatures database (dbx) takes precedent.

キー登録キーデータベース (KEK) は、署名データベースおよび失効署名データベースを更新するために使用できる、署名キーの個別のデータベースです。The Key Enrollment Key database (KEK) is a separate database of signing keys that can be used to update the signature database and revoked signatures database. Microsoft では、今後 Microsoft が署名データベースに新しいオペレーティングシステムを追加したり、既知の無効なイメージを失効署名データベースに追加したりできるように、指定されたキーを KEK データベースに含める必要があります。Microsoft requires a specified key to be included in the KEK database so that in the future Microsoft can add new operating systems to the signature database or add known bad images to the revoked signatures database.

これらのデータベースを追加し、最後のファームウェアの検証とテストを行った後、OEM はファームウェアを編集からロックします。ただし、正しいキーを使用して署名されている更新プログラムや、ファームウェアメニューを使用している物理的に存在するユーザーが更新した更新プログラムは除きます。プラットフォームキー (PK) を生成します。After these databases have been added, and after final firmware validation and testing, the OEM locks the firmware from editing, except for updates that are signed with the correct key or updates by a physically present user who is using firmware menus, and then generates a platform key (PK). PK を使用して、KEK に更新プログラムを署名したり、セキュアブートを無効にしたりすることができます。The PK can be used to sign updates to the KEK or to turn off Secure Boot.

これらのデータベースを作成するためのツールとサポートについては、ファームウェアの製造元にお問い合わせください。You should contact your firmware manufacturer for tools and assistance in creating these databases.

ブートシーケンスBoot sequence

  1. PC の電源をオンにすると、署名データベースがプラットフォームキーと照合されます。After the PC is turned on, the signature databases are each checked against the platform key.
  2. ファームウェアが信頼されていない場合、UEFI ファームウェアは OEM 固有の回復を開始して信頼されたファームウェアを復元する必要があります。If the firmware is not trusted, the UEFI firmware must initiate OEM-specific recovery to restore trusted firmware.
  3. Windows ブートマネージャーに問題がある場合は、ファームウェアが Windows ブートマネージャーのバックアップコピーを起動しようとします。If there is a problem with Windows Boot Manager, the firmware will attempt to boot a backup copy of Windows Boot Manager. これも失敗する場合は、ファームウェアが OEM 固有の修復を開始する必要があります。If this also fails, the firmware must initiate OEM-specific remediation.
  4. Windows ブートマネージャーの実行が開始された後、ドライバーまたは NTOS カーネルに問題があると、Windows 回復環境 (Windows RE) が読み込まれ、これらのドライバーまたはカーネルイメージを回復できるようになります。After Windows Boot Manager has started running, if there is a problem with the drivers or NTOS kernel, Windows Recovery Environment (Windows RE) is loaded so that these drivers or the kernel image can be recovered.
  5. Windows はマルウェア対策ソフトウェアを読み込みます。Windows loads antimalware software.
  6. Windows によって他のカーネルドライバーが読み込まれ、ユーザーモードプロセスが初期化されます。Windows loads other kernel drivers and initializes the user mode processes.

関連トピックRelated topics