
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ ITニュース. 2026年6月にセキュアブート証明書の有効期限切れ、企業は対策が必要な場合も
2025年07月08日配信
執筆者:山内 和朗
Microsoftは2025年6月末、1年後に有効期限切れを迎え始めるセキュアブート証明書について、期限切れになる前に行うべき対策について説明しました。ほとんどのケースでは、何もする必要はありませんが、一部の企業や組織では2026年6月までに準備しておかないと、証明書の更新を受け取ることができない可能性があります。
Act now: Secure Boot certificates expire in June 2026|Windows IT Pro Blog
Windows Secure Boot certificate expiration and CA updates|サポート(Microsoft)
Windows 8で初めてWindowsに導入されたセキュアブート(Secure Boot)は、オペレーティングシステム(OS)のセキュリティ対する信頼の起点であり、Windowsデバイスの起動シーケンスの早い段階でマルウェアが実行されるのを防ぐのに役立ちます。
2012年以降にリリースされた、現在サポート期間中および「拡張セキュリティ更新プログラム(ESU)の対象になっているWindows 10以降のWindows、およびWindows Server 2012以降のWindows Serverが使用するセキュアブートCA証明書は、2026年6月以降、15年の有効期限切れを迎えはじめます。まず、2026年6月に「Microsoft Corporation KEK CA 2011」(KEKデータベースに格納)および「Microsoft Corporation UEFI CA 2011(またはサードパティUEFI CA)」(サードパーティのOSおよびハードウェアドライバーの署名用)の有効期限が切れ、2026年10月に「Microsoft Windows Production PCA 2011」(Windowsブートローダー署名用)の有効期限が切れます。新しいCA証明書(Microsoft Windows UEFI CA 2023など)に更新されないまま、これらの証明書の有効期限が切れると、次のような影響があります。
なお、2025年にリリースされたCopilot+PCには、新しい証明書が含まれているため、この問題の影響は受けません。
セキュアブートが無効またはサポートされていないデバイスの場合、デバイスは新しいCA証明書を受信しない場合があります。なお、セキュアブート対応のUEFIシステムはWindows 11の最小システム要件であり、セキュアブートは有効にしておくことが推奨されます。セキュアブートの状態は、「システム情報」(msinfo32.exe)の「セキュアブートの状態」で確認することができます。または、Confirm-SecureBootUEFIコマンドレットを管理者権限で実行することで確認できます(画面1)。なお、セキュアブートのオン/オフのためには、ハードウェアのUEFI(BIOS)設定画面にアクセスする必要があります。
画面1 Windows 11ではセキュアブート対応のハードウェアは必須要件。理由がない限り(カーネルのデバッグなど)、有効のままにしておこう
Home、Pro、または Educationエディションを実行するWindows 10またはWindows 11デバイスを使用していて、Microsoft(Windows Update)から自動的に更新プログラムを取得する場合、何もする必要はありません。これらのデバイスは2026年6月までに段階的かつ自動的に新しいCA証明書を自動的に受け取ります。
ただし、場合によっては新しい証明書が原因でシステムが正常に起動しなくなったり、BitLockerの回復が要求されたりする場合があるそうです。そのようなトラブルに遭遇した場合は、以下のドキュメントに従って対処してください。
Windows devices for home users, businesses, and schools with Microsoft-managed updates|サポート(Microsoft)
Microsoftに診断データ(必須または完全《必須およびオプション》)を送信するように構成されたデバイスで、MicrosoftからWindows Updateを受け取っているデバイスについても、何もする必要はありません。2026年6月までに、段階的かつ自動的に新しいCA証明書を受け取ります。
Windows Serverでは必須の診断データが既定で許可されています。手元のセキュアブートが有効な物理サーバーおよびHyper-V仮想マシン(VM)で確認してみたところ、既に新しいセキュアブートCA証明書が利用可能になっていました(画面2)。同じ物理サーバー上のWindows Server 2022以前のVMについては、まだ新しいセキュアブートCA証明書に更新されていませんでしたが、Microsoftによる自動更新を待たなくても、後述する手動による方法で更新することができることを確認しました。VMの場合は考える必要はありませんが、物理サーバーの場合は、証明書を更新する場合は、ハードウェアのファームウェアも最新のものにに更新することが重要です。
画面2 手元のWindows Server 2025を実行する物理サーバー、Hyper-V VMは、2025年6月末時点で、既に新しいCA証明書に更新されていた
Windows Autopatch(Microsoft Intune)、Microsoft Configuration Managerで管理されているWindowsデバイスは、診断データの送信が必須であり、送信するように構成されているはずです。
WindowsおよびWindows Serverは少なくとも「必須」レベルの診断データの送信は既定で許可されていまが、企業や組織では、Enterprise、Educationエディション、およびWindows Serverで診断データの送信をオフにすることが可能です。しかし、MicrosoftによるセキュアブートCA証明書の更新を受け取るには、少なくとも「必須」レベルの診断データを送信するように許可する必要があります。診断データの許可設定は、グループポリシーやローカルポリシー、またはMDMポリシー(Intuneの構成プロファイルポリシー)で設定できます。
組織内の Windows 診断データの構成|Windows(Microsoft Learn)
診断データの送信許可に加えて、さらに次のレジストリキーを設定し、セキュアブート関連の更新プログラムをMicrosoftが管理できるように許可することが推奨されています。
レジストリキー | HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥Secureboot |
値の名前 | MicrosoftUpdateManagedOptIn |
データ型 | REG_DWORD |
値のデータ | 0x5944 |
診断データの送信を意図的に無効化しているのでない、ほとんどのケースでは何もしなくても2026年6月までに新しいCA証明書を受け取ることになるはずです。利用者は少ないと思いますが、スタンドアロンのWindows 10/11 Enterpriseデバイスがある場合は、対策をしないと新しいCA証明書を受け取れない場合もあります。
以下の3つのPowerShellスクリプトは、セキュアブート証明書のチェック、更新準備、手動更新の操作をスクリプト化したものです。
[check-securebootdb.ps1](プレーンテキストで表示)
function checkSecureBoot {
if ((Get-Command Confirm-SecureBootUEFI -ErrorAction SilentlyContinue) -ne $null) {
try {
return Confirm-SecureBootUEFI
}
catch {
return $false
}
}
return $false
}
if (CheckSecureBoot) {
Write-Host "SecureBoot: ON"
} else {
Write-Host "SecureBoot: OFF"
exit 0
}
if ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023') {
Write-Host "SecureBoot DB already been updated. Nothing to do any ore."
exit 0
} else {
$value = (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot").AvailableUpdates
if ($value -eq 0x40) {
Write-Host "SecureBoot DB updated. But reboot required."
exit 0
}
$value = (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot").MicrosoftUpdateManagedOptIn
if ($value -eq 0x5944){
Write-Host "SecureBoot DB ready to update by Microsoft."
exit 0
} else {
Write-Host "SecureBoot DB is not updated."
exit 1
}
}
[allowautoupdate-securebootdb.ps1](プレーンテキストで表示)
function checkSecureBoot {
if ((Get-Command Confirm-SecureBootUEFI -ErrorAction SilentlyContinue) -ne $null) {
try {
return Confirm-SecureBootUEFI
}
catch {
return $false
}
}
return $false
}
if (CheckSecureBoot) {
Write-Host "SecureBoot: ON"
} else {
Write-Host "SecureBoot: OFF"
exit 0
}
if ((Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection").AllowTelemetry -eq "0") {
Write-Host "Current telemetory setting: disabled(0)."
#Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 1
#Write-Host "Set telemetory setting: disabled(0) to required(1)."
}
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "MicrosoftUpdateManagedOptIn" -Value 0x5944
Write-Host "Allow feature automatic DB updates by Microsoft."
exit 0
[updatenow-securebootdb.ps1](プレーンテキストで表示)
function checkSecureBoot {
if ((Get-Command Confirm-SecureBootUEFI -ErrorAction SilentlyContinue) -ne $null) {
try {
return Confirm-SecureBootUEFI
}
catch {
return $false
}
}
return $false
}
if (CheckSecureBoot) {
Write-Host "SecureBoot: ON"
} else {
Write-Host "SecureBoot: OFF"
exit 0
}
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x40
Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
Write-Host "Updaed SecureBoot DB! please reboot twice."
exit 0
「check-securebootdb.ps1」は、セキュアブートの状態を確認し、セキュアブートが有効な場合に、CA証明書の更新対策が不要な場合は終了(EXIT)コード0を、必要な場合は1を返します。対話的に実行する場合は、EXITコードに応じたメッセージを出力します。
「allowautoupdate-securebootdb.ps1」は、Microsoftによる更新を許可する設定を行います(画面3)。コメントアウト行を有効化(行頭の#を削除)すれば、さらに診断データの送信も有効化しますが、グループポリシーやローカルポリシー設定により設定が上書きされる可能性があることに注意してください。診断データの送信の有効化は、無効化に使用した設定(グループポリシー、ローカルポリシー、MDMポリシー、Windows ServerのSconfig)で行うことをお勧めします。
「updatenow-securebootdb.ps1」は、以下のドキュメントの手動更新の方法により、いますぐCA証明書を更新します(画面4)。なお、手動でCA証明書を更新するためには、デバイスが最新のUEFIファームウェアに更新済みであること、およびデバイスに2024年2月以降の品質更新プログラムが適用済みである必要があります。
Updating Microsoft Secure Boot keys|Windows IT Pro Blog(Tech Community)
Windows devices for businesses and organizations with IT-managed updates|サポート(Microsoft)
画面3 「check-securebootdb.ps1」を実行して現在の状態を確認し、セキュアブート証明書の更新が必要であれば、「allowautoupdate-securebootdb.ps1」を実行してMicrosoftによる更新を許可する
4
画面4 「check-securebootdb.ps1」を実行して現在の状態を確認し、「updatenow-securebootdb.ps1」を実行して、手動でCA証明書を更新する
Intuneの管理環境がある場合は、修復機能を用いて「check-securebootdb.ps1」を検出スクリプト、「allowautoupdate-securebootdb.ps1」を修復スクリプトとしてデバイスに展開することで、必要であればMicrosoftによる更新を許可することができます(画面5)。
関連:
vol.103 スクリプトをWindowsデバイスで実行できる「修復」の活用ヒント|はじめてのIntune(14)
ちなみに、私のIntuneの評価環境の場合、既に新しいCA証明書に更新されていたため、修復スクリプトが実行されることはありませんでした(画面6)。参考までに、これらのデバイスはすべて、Windows Server 2025 Hyper-Vホスト上で動作する、Windows 11 Enterprise 24H2のVMです。なお、Hyper-Vホストではセキュアブートは無効にしてあり、CA証明書の更新は受け取っていません。
画面5 Intuneの修復機能を利用して、検出スクリプト「check-securebootdb.ps1」と修復スクリプト「allowautoupdate-securebootdb.ps1」をデバイスに展開する
画面6 2025年6月末時点で、既に新しいCA証明書に更新されており、修復スクリプトが実行されることはなかった