Files
VeraCrypt/doc/html/ru/EFISecureBoot.html
T
Mounir IDRASSI d773ce95e6 docs: add EFI Secure Boot page covering the 2023 CA transition
Document the two Microsoft-signed loader sets and their firmware db requirements, the EfiBootLoader diagnostics registry key, and the BIOS third-party certificates option needed on machines that ship with a 2023-only Secure Boot configuration.

Explain why the Windows Secure Boot certificate rollout does not trigger automatically on system-encrypted machines, how to trigger it via the documented AvailableUpdates registry value, the precautions to take, and the recovery procedures when Secure Boot blocks the boot chain.

Link the page from the System Encryption documentation and the CHM table of contents.
2026-07-07 17:49:34 +09:00

195 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>VeraCrypt - Бесплатное надёжное шифрование дисков с открытым исходным кодом</title>
<meta name="description" content="VeraCrypt это бесплатное программное обеспечение для шифрования дисков с открытым исходным кодом для Windows, Mac OS X (macOS) и Linux. В случае, если злоумышленник вынуждает вас раскрыть пароль, VeraCrypt обеспечивает правдоподобное отрицание наличия шифрования. В отличие от пофайлового шифрования, VeraCrypt шифрует данные в реальном времени (на лету), автоматически, прозрачно, требует очень мало памяти и не использует временные незашифрованные файлы."/>
<meta name="keywords" content="encryption, security, шифрование, безопасность"/>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>
<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
</div>
<div id="menu">
<ul>
<li><a href="Home.html">Начало</a></li>
<li><a href="Code.html">Исходный код</a></li>
<li><a href="Downloads.html">Загрузить</a></li>
<li><a class="active" href="Documentation.html">Документация</a></li>
<li><a href="Donation.html">Поддержать разработку</a></li>
<li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Форум</a></li>
</ul>
</div>
<div>
<p>
<a href="Documentation.html">Документация</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
<a href="System%20Encryption.html">Шифрование системы</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
<a href="EFISecureBoot.html">EFI Secure Boot</a>
</p></div>
<div class="wikidoc">
<h1>EFI Secure Boot</h1>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Шифрование системы VeraCrypt совместимо с EFI Secure Boot: EFI-загрузчики VeraCrypt подписаны Microsoft в рамках программы Microsoft для подписи сторонних UEFI-компонентов, поэтому прошивка может проверять их по стандартным сертификатам Microsoft без добавления пользовательского ключа. На этой странице описано, как VeraCrypt выбирает подписанные загрузчики, как это связано с переходом Microsoft Secure Boot от центров сертификации 2011 года (CA) к центрам сертификации 2023 года, а также как диагностировать и устранять сбои загрузки, связанные с Secure Boot.
</div>
<h2>Наборы подписанных загрузчиков</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Начиная с версии 1.26.29 VeraCrypt поставляет два полных набора EFI-загрузчиков, подписанных Microsoft:
</div>
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Набор 2011 года:</strong> подписан с помощью <em>Microsoft Corporation UEFI CA 2011</em>. Этот центр сертификации используется прошивками для сторонних загрузчиков с момента появления Secure Boot.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Набор 2023 года:</strong> подписан с помощью обновлённых сторонних центров сертификации Microsoft. Основной загрузчик (<code>DcsBoot.efi</code>) подписан с помощью <em>Microsoft UEFI CA 2023</em>, а остальные компоненты (<code>DcsInt.dcs</code>, <code>LegacySpeaker.dcs</code>) подписаны с помощью <em>Microsoft Option ROM UEFI CA 2023</em>. Поэтому для набора 2023 года требуется, чтобы в базе данных подписей Secure Boot прошивки (db) присутствовали <strong>оба</strong> сертификата: <em>Microsoft UEFI CA 2023</em> и <em>Microsoft Option ROM UEFI CA 2023</em>.
</li>
</ul>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
При установке, обновлении, восстановлении/переустановке и запуске шифрования системы VeraCrypt считывает базу данных подписей прошивки (db) и выбирает набор загрузчиков, чьим подписывающим центрам сертификации доверяет прошивка. Если присутствует пара центров сертификации 2023 года, предпочтение отдаётся набору 2023 года; в противном случае используется набор 2011 года, если прошивка доверяет <em>Microsoft Corporation UEFI CA 2011</em>. Если Secure Boot включён и прошивка не доверяет ни одному набору, VeraCrypt отказывается устанавливать свой загрузчик и выводит ошибку, вместо того чтобы установить загрузчик, который прошивка отклонит при следующей перезагрузке.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Изменение конфигурации Secure Boot в прошивке (например, включение дополнительных сертификатов в настройках BIOS) само по себе не перезаписывает файлы, уже установленные в системном разделе EFI. После изменения базы данных Secure Boot в прошивке запустите установщик VeraCrypt в режиме <em>Восстановить/переустановить</em> или позвольте службе VeraCrypt System Favorites автоматически обновить загрузчик (она повторно оценивает выбор при запуске Windows, входе в сеанс или разблокировке, выходе из сна и завершении работы).
</div>
<h2>Диагностика</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
VeraCrypt записывает сведения о том, какой набор загрузчиков был установлен и почему, в следующий ключ реестра:
</div>
<pre>
HKEY_LOCAL_MACHINE\SOFTWARE\VeraCrypt\Diagnostics\EfiBootLoader
EfiBootLoaderResourceSet REG_DWORD 2011 (0x7db) или 2023 (0x7e7)
EfiBootLoaderSelectionReason REG_SZ понятная человеку причина выбора
EfiBootLoaderFirmwareDbLastError REG_DWORD последняя ошибка чтения/разбора db прошивки (0 = нет)
EfiBootLoaderSelectionTimeUtc REG_SZ время последнего выбора
</pre>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Следующие команды, выполненные из окна PowerShell с повышенными правами, показывают, какие сертификаты Microsoft присутствуют в db прошивки (обратите внимание: на некоторых прошивках имена могут не отображаться при таком простом текстовом поиске, даже если сертификаты присутствуют):
</div>
<pre>
reg query HKLM\SOFTWARE\VeraCrypt\Diagnostics\EfiBootLoader /s
$t = [Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).Bytes)
'Microsoft Corporation UEFI CA 2011',
'Microsoft Windows Production PCA 2011',
'Windows UEFI CA 2023',
'Microsoft UEFI CA 2023',
'Microsoft Option ROM UEFI CA 2023' |
ForEach-Object { "$_ : $($t -match [regex]::Escape($_))" }
</pre>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Кроме того, служба VeraCrypt System Favorites записывает предупреждение в журнал приложений Windows (источник <em>VeraCryptSystemFavorites</em>), когда обнаруживает, что активная db Secure Boot больше не доверяет одному из компонентов установленной цепочки загрузки.
</div>
<h2>Переход на сертификаты Microsoft 2023 года</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Сертификаты Microsoft Secure Boot 2011 года истекают в 2026 году: <em>Microsoft Corporation KEK CA 2011</em> и <em>Microsoft Corporation UEFI CA 2011</em> истекли в июне 2026 года, а <em>Microsoft Windows Production PCA 2011</em> истекает в октябре 2026 года. Microsoft заменяет их центрами сертификации 2023 года и распространяет новые сертификаты, а также Windows Boot Manager, подписанный <em>Windows UEFI CA 2023</em>, через Windows Update.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Два важных момента для пользователей VeraCrypt:
</div>
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Истечение срока действия сертификатов не мешает загрузке уже установленных загрузчиков.</strong> UEFI-прошивка не проверяет сроки действия сертификатов во время проверки Secure Boot, поэтому загрузчики, подписанные с помощью CA 2011 года, продолжают загружаться после дат истечения срока действия практически на всех реализациях прошивки. Истечение срока действия означает, что <em>новые</em> двоичные файлы больше нельзя подписывать с помощью CA 2011 года, а системы, которые так и не получат сертификаты 2023 года, перестанут получать обновления безопасности цепочки загрузки.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Будущий отзыв CA 2011 года не позволит загружать подписанные ими загрузчики.</strong> Microsoft объявила, что на более позднем этапе перехода (пока не запланированном) CA 2011 года могут быть отозваны через базу данных запрещённых подписей Secure Boot (dbx) на системах, завершивших переход. Поэтому рекомендуется заранее перейти на набор загрузчиков 2023 года.
</li>
</ul>
<h2>Новые компьютеры, доверяющие только CA 2023 года</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Некоторые новые компьютеры поставляются с завода с конфигурацией Secure Boot, содержащей только <em>Windows UEFI CA 2023</em> и вообще не содержащей сторонних центров сертификации Microsoft. На таких системах сначала нужно включить в настройках прошивки два сторонних центра сертификации, необходимых для набора загрузчиков VeraCrypt 2023 года (<em>Microsoft UEFI CA 2023</em> и <em>Microsoft Option ROM UEFI CA 2023</em>). Обычно этот параметр называется <em>&quot;Allow Microsoft 3rd Party UEFI CA&quot;</em>, <em>&quot;Third-Party CA&quot;</em> или <em>&quot;Third-Party Certificates&quot;</em>. После его включения запустите установщик VeraCrypt в режиме <em>Восстановить/переустановить</em> (или начните шифрование системы), чтобы VeraCrypt выбрал набор загрузчиков 2023 года.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Если прошивка не предоставляет возможности доверять стороннему центру сертификации Microsoft, шифрование системы VeraCrypt нельзя использовать на этом компьютере при включённом Secure Boot.
</div>
<h2>Обновление существующей системы до сертификатов 2023 года</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Windows распространяет сертификаты 2023 года поэтапно, на основе телеметрии. Устройства обновляются автоматически только после того, как Microsoft получает достаточную уверенность в конкретном сочетании оборудования и прошивки. Поскольку компьютер с системным шифрованием VeraCrypt загружается через нестандартную цепочку загрузки (загрузчик VeraCrypt занимает место Windows Boot Manager), такие компьютеры обычно не классифицируются для автоматического обновления, и развёртывание не запускается само. Приложение "Безопасность Windows" может сообщать, что <em>&quot;not yet enough data to classify your device&quot;</em>. По той же причине участия в управляемом Microsoft развёртывании (значение реестра <code>MicrosoftUpdateManagedOptIn</code>) на таких компьютерах может оказаться недостаточно.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Microsoft документирует значение реестра для явного запуска обновления (см. Microsoft KB5068202, <em>&quot;Registry key updates for Secure Boot&quot;</em>). Из командной строки с повышенными правами:
</div>
<pre>
reg add HKLM\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x5944 /f
rem при необходимости запустите задачу обслуживания сразу (иначе она выполняется каждые 12 часов):
schtasks /Run /TN "\Microsoft\Windows\PI\Secure-Boot-Update"
</pre>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Ход выполнения можно отслеживать в <code>HKLM\SYSTEM\CurrentControlSet\Control\Secureboot\Servicing</code> (значения <code>UEFICA2023Status</code> и <code>UEFICA2023Error</code>) и по событиям обслуживания Secure Boot в журнале событий Windows. Обновление db добавляет <em>Windows UEFI CA 2023</em>, а на системах, которые уже доверяют <em>Microsoft Corporation UEFI CA 2011</em> (что верно для каждой системы VeraCrypt с Secure Boot), также добавляет <em>Microsoft UEFI CA 2023</em> и <em>Microsoft Option ROM UEFI CA 2023</em>.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Перед запуском обновления на машине с системным шифрованием VeraCrypt примите следующие меры предосторожности:
</div>
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Сначала обновите BIOS/UEFI-прошивку до последней версии, доступной у производителя компьютера.</strong> Сбои записи новых сертификатов в базу Secure Boot прошивки обычно вызваны ошибками прошивки, и Microsoft рекомендует проверить наличие обновлённой прошивки у производителя устройства перед применением обновлений сертификатов.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Сначала создайте или обновите Диск восстановления VeraCrypt</strong> и убедитесь, что он загружается.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Не отключайте службу <em>VeraCrypt System Favorites</em> или её функцию обновления загрузчика. Когда задача обслуживания Windows устанавливает Windows Boot Manager, подписанный сертификатом 2023 года, в стандартное расположение, именно эта служба сохраняет цепочку загрузки VeraCrypt: она сохраняет новый загрузчик как <code>bootmgfw_ms.vc</code> (копию, на которую VeraCrypt передаёт управление после предзагрузочной аутентификации) и восстанавливает загрузчик VeraCrypt.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>Пользователям скрытой операционной системы не следует запускать обновление из скрытой ОС.</strong> Автоматическое сохранение цепочки загрузки отключено, когда работает скрытая ОС.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Избегайте принудительного отключения питания между моментом, когда Windows заменяет загрузчик, и следующей обычной перезагрузкой или выключением. На большинстве систем загрузочная запись VeraCrypt сохраняет возможность загрузки компьютера в этот промежуток, но прошивка, игнорирующая порядок загрузки, может загрузить обычный Windows Boot Manager, который не сможет запустить зашифрованную Windows (восстанавливается с помощью Диска восстановления).
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Ожидайте, что Windows будет продолжать сообщать о не полностью завершённом обслуживании сертификатов Secure Boot даже после того, как всё работает. Windows проверяет, является ли файл в стандартном расположении загрузчика Microsoft Boot Manager, подписанным сертификатом 2023 года; в системе VeraCrypt это расположение по замыслу занимает загрузчик VeraCrypt. Это состояние носит косметический характер и не влияет на безопасность или работу системы.
</li>
</ul>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
После применения обновления db VeraCrypt автоматически переключится на набор загрузчиков 2023 года при следующем обновлении загрузчика (<em>Восстановить/переустановить</em>, обновление версии или одна из автоматических точек обновления службы System Favorites). Результат можно проверить в описанном выше ключе реестра диагностики и заново создать Диск восстановления, когда появится соответствующее приглашение.
</div>
<h2>Восстановление после сбоя загрузки Secure Boot</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
Если конфигурация Secure Boot в прошивке больше не доверяет одному из компонентов цепочки загрузки, возможны два разных сбоя:
</div>
<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>До запроса пароля</strong> (сообщение вроде <em>&quot;Secure Boot Violation&quot;</em> или немедленный возврат в прошивку): прошивка не доверяет CA, которым подписан установленный загрузчик VeraCrypt.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<strong>После успешного ввода пароля</strong> (явное сообщение об ошибке Secure Boot от загрузчика VeraCrypt или, на старых версиях загрузчика, возврат к запросу пароля): прошивка не доверяет CA, которым подписана копия Windows Boot Manager (<code>bootmgfw_ms.vc</code>), на которую VeraCrypt передаёт управление.
</li>
</ul>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
В обоих случаях процедура восстановления такова:
</div>
<ol style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Временно отключите Secure Boot в настройках прошивки и запустите Windows обычным образом (предзагрузочная аутентификация VeraCrypt работает и с отключённым Secure Boot) или загрузите Диск восстановления VeraCrypt и используйте <em>&quot;Restore VeraCrypt loader binaries to system disk&quot;</em>.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
В Windows настройте сертификаты Secure Boot в прошивке/Windows по необходимости (включите сторонние центры сертификации в настройках прошивки или примените обновления сертификатов Windows Secure Boot, как описано выше), затем запустите установщик VeraCrypt в режиме <em>Восстановить/переустановить</em>.
</li>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Снова включите Secure Boot.
</li>
</ol>
<h2>Устаревшая процедура с пользовательскими ключами (не рекомендуется)</h2>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
В более старых версиях VeraCrypt была задокументирована процедура с пользовательскими ключами (скрипт VeraCrypt-DCS <em>SecureBoot</em>, <code>sb_set_siglists.ps1</code>), которая заменяла базы Secure Boot прошивки пользовательским ключом платформы и сертификатами Microsoft эпохи 2011 года. Эта процедура <strong>устарела и не должна использоваться</strong> на системах с цепочкой сертификатов 2023 года: она удаляет доверие к Windows Boot Manager, подписанному сертификатом 2023 года, и нарушает загрузку Windows после предзагрузочной аутентификации VeraCrypt. Системы, где она применялась, должны восстановить заводские ключи Secure Boot производителя, а затем следовать обычной процедуре, описанной на этой странице.
</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
&nbsp;</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<a href="VeraCrypt%20Rescue%20Disk.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold">Следующий раздел &gt;&gt;</a></div>
</div><div class="ClearBoth"></div></body></html>