Кризис сертификатов Secure Boot на Huawei MateBook: выживание после истечения UEFI CA 2026
Дата: 30 мая 2026
Платформа: HUAWEI BoF-XX (MateBook M1010), 12th Gen Intel Core i7-1260P, Ubuntu Resolute Raccoon (Noble), GNOME 50.0
Статус: Platform is in Setup Mode, SecureBoot отключен, переменная db отсутствует
Абстракт
27 июня 2026 года истекает корневой сертификат Microsoft UEFI CA 2011. Для большинства пользователей Windows это просто фоновое обновление. Для пользователей Linux на неподдерживаемом OEM-железе — в частности Huawei MateBook, находящихся вне обоих списков (LVFS и белого списка Microsoft) — это бомба с часовым механизмом. Эта статья — полный технический разбор, опровергающий миф о том, что «Linux не нужны подписи Microsoft», и предлагающий проверенный путь решения для устройств, застрявших в Setup Mode без канала официальной поддержки вендора.
1. Анатомия истечения
1.1 Что на самом деле умирает
Цепочка доверия Secure Boot опирается на три сертификата, выпущенные Microsoft в 2011 году:
| Сертификат | Роль | Истекает |
|---|---|---|
Microsoft Corporation KEK CA 2011 |
Key Exchange Key (KEK) — подписывает обновления db/dbx |
Июнь 2026 |
Microsoft UEFI CA 2011 |
Валидирует сторонние загрузчики, драйверы, Linux shim | Июнь 2026 |
Microsoft Windows Production PCA 2011 |
Подписывает Windows Boot Manager | Октябрь 2026 |
Эти сертификаты не на диске. Они живут в NVRAM-переменных прошивки (db, KEK, PK, dbx). После истечения срока прошивка, строго проверяющая периоды действия X.509, откажется загружать любой загрузчик, подписанный только CA 2011 — включая будущие Linux shim, Option ROMs NVIDIA GPU и обновленный Windows Boot Manager.
1.2 Цепочка доверия (до 2026)
graph TD
A[Platform Key / PK
OEM или Microsoft] -->|подписывает| B[Key Exchange Key / KEK
Microsoft KEK CA 2011]
B -->|подписывает| C[Signature Database / db
Microsoft UEFI CA 2011]
C -->|проверяет| D[shim.efi
Загрузчик Linux]
C -->|проверяет| E[Windows Boot Manager]
C -->|проверяет| F[NVIDIA GOP / Option ROM]
D -->|проверяет| G[GRUB2]
G -->|проверяет| H[Ядро Linux]
style C fill:#ff9999,stroke:#cc0000,stroke-width:3px
style B fill:#ff9999,stroke:#cc0000,stroke-width:3px
Рисунок 1: Сертификаты 2011 (красные) лежат в основе всей сторонней цепочки загрузки. После истечения все нижестоящие компоненты теряют валидацию.
1.3 Цепочка доверия (после 2026, идеал)
graph TD
A[Platform Key / PK] -->|подписывает| B[Key Exchange Key / KEK
Microsoft KEK 2K CA 2023]
B -->|подписывает| C[Signature Database / db
Microsoft UEFI CA 2023]
B -->|подписывает| D[Signature Database / db
Windows UEFI CA 2023]
C -->|проверяет| E[shim.efi
Подписан в 2023]
D -->|проверяет| F[Windows Boot Manager
Подписан в 2023]
C -->|проверяет| G[NVIDIA GOP
Подписан в 2023]
E -->|проверяет| H[GRUB2]
H -->|проверяет| I[Ядро Linux]
style C fill:#99ff99,stroke:#009900,stroke-width:3px
style D fill:#99ff99,stroke:#009900,stroke-width:3px
style B fill:#99ff99,stroke:#009900,stroke-width:3px
Рисунок 2: Сертификаты 2023 (зеленые) должны присутствовать в db до июня 2026 для сохранения прямой совместимости.
2. Ловушка Huawei: брошены экосистемой обновлений
2.1 Проблема белого списка OEM
Huawei ведет строгий ограниченный белый список SKU — только эти модели могут получать сертификаты через Windows Update. Согласно документации Huawei, только 19 конкретных SKU гарантированно получат сертификаты 2023 через Windows Update:
- MateBook X Pro 2024 / 2022
- MateBook 14 2023 (не S)
- MateBook D16 2024
- MateStation S (определенные партии)
- …(еще 15)
Герой этой статьи — MateBook 14 2022 (BoF-XX / M1010) — заметно отсутствует в списке. Это значит, что даже с установленной Windows 11 запланированная задача Secure-Boot-Update скорее всего не сработает, или прошивка отклонит запись переменных.
2.2 Пробел LVFS
graph LR
subgraph Экосистема обновления прошивки
A[Windows Update] -->|проталкивает сертификаты| B[Прошивка OEM
Dell, Lenovo, HP]
C[LVFS / fwupd] -->|проталкивает .cab| D[Linux Vendor Firmware Service]
D -->|поддерживает| E[Dell XPS]
D -->|поддерживает| F[Lenovo ThinkPad]
D -->|поддерживает| G[System76]
D -->|поддерживает| H[Framework]
D -.->|отсутствует| I[HUAWEI MateBook]
end
style I fill:#ff9999,stroke:#cc0000,stroke-width:3px
Рисунок 3: Huawei не публикует обновления прошивки в LVFS. Пользователи Linux не могут получить официальные обновления BIOS или сертификатов через fwupdmgr.
2.3 Заблуждение «Fedora обновила мои сертификаты автоматически»
Распространенный контраргумент в обсуждениях: «Fedora протолкнула обновление прошивки автоматически — Linux вообще не нужны подписи Microsoft.»
Это ошибка выжившего. fwupd в Fedora работает потому что:
- Производитель (Lenovo) загрузил капсульное обновление с новыми сертификатами в LVFS
- Прошивка этого производителя разрешает запись переменных со стороны ОС (не все разрешают — HP и Fujitsu известны блокировкой записи
db) - Модель устройства есть в матрице поддержки вендора
Для пользователей Huawei MateBook ни одно из этих условий не выполняется. Сертификаты живут в NVRAM прошивки, не в /boot/efi. Никакой дистрибутив Linux не может «магически» внедрить сертификаты, которые OEM не авторизовал и которые прошивка отказывается принимать.
3. Setup Mode: спасательный круг
3.1 Обнаружение золотого состояния
На Huawei MateBook M1010 автора запуск диагностики:
$ sudo mokutil --sb-stateSecureBoot disabledPlatform is in Setup Mode
$ ls /sys/firmware/efi/efivars/ | grep -i dbdbDefault-8be4df61-93ca-11d2-aa0d-00e098032b8cdbx-d719b2cb-3d3a-4596-a3bc-dad00e67656fdbxDefault-8be4df61-93ca-11d2-aa0d-00e098032b8cКлючевые находки:
SecureBoot disabled: цепочка загрузки сейчас не верифицируетсяPlatform is in Setup Mode: переменнаяPK(Platform Key) пустаdbпеременная отсутствует: база подписей не существует в NVRAM — только заводскаяdbDefault
3.2 Почему Setup Mode — суперсила
В User Mode (нормальная работа) запись в db требует подписанных .auth файлов. Подпись должна быть верифицируема существующим KEK — а приватный ключ KEK находится исключительно у Microsoft. Отдельные пользователи не могут генерировать валидные подписи.
В Setup Mode (PK пуст) прошивка не требует проверки подписи для записи переменных. Это значит, что неподписанные файлы .esl (EFI Signature List) могут быть записаны напрямую в db, KEK и PK.
stateDiagram-v2
[*] --> SetupMode: Сброс к заводским / PK очищен
[*] --> UserMode: Нормальная загрузка, PK зарегистрирован
SetupMode --> UserMode: Запись PK.auth (самоподписанный)
UserMode --> SetupMode: Удаление PK / сброс ключей
state SetupMode {
[*] --> db_write_unsigned
db_write_unsigned --> [*]: efi-updatevar -f file.esl db
}
state UserMode {
[*] --> db_write_signed
db_write_signed --> [*]: efi-updatevar -f file.auth db
}
style SetupMode fill:#99ff99,stroke:#009900
style UserMode fill:#ffcccc,stroke:#cc0000
Рисунок 4: UEFI Secure Boot — автомат состояний доступа к переменным. Setup Mode (зеленый) — единственное состояние, где обычный пользователь может записывать сертификаты без приватного ключа Microsoft.
4. Моделирование рисков: почему «Linux не нужны подписи» — это неправильно
4.1 Поверхность угроз
С отключенным Secure Boot и истекшими сертификатами 2011:
Просроченный dbx (список отзыва) означает, что известные уязвимые версии загрузчика и shim не могут быть заблокированы прошивкой. Иммунная система системы заморожена навсегда.
4.2 Матрица совместимости
| Сценарий | Только серт. 2011 | Серт. 2023 | SecureBoot выкл |
|---|---|---|---|
| Текущая загрузка Linux | ✅ | ✅ | ✅ |
| Будущее обновление shim (2023-подпись) | ❌ | ✅ | ✅ |
| Новый NVIDIA драйвер (GOP 2023-подпись) | ❌ | ✅ | N/A |
| Windows dual boot (будущая установка) | ❌ | ✅ | ✅ |
Обновление списка отзыва dbx |
❌ | ✅ | N/A |
| Защита от bootkit | Низкая | Высокая | Нет |
5. Решение на чистом Linux: пошагово
5.1 Предварительные требования
- Root-доступ к целевой Linux-системе
- Установленные
efitools,openssl,uuid-runtime - Сетевой доступ для загрузки сертификатов Microsoft 2023
- Резервная копия текущих NVRAM-переменных (если существуют)
5.2 Фаза 1: Получение сертификатов
mkdir -p ~/secureboot && cd ~/secureboot
# Загрузка Microsoft UEFI CA 2023wget -O MicUEFICA2023.der \ "https://go.microsoft.com/fwlink/?linkid=2239872"
# Загрузка Windows UEFI CA 2023wget -O WinUEFICA2023.der \ "https://go.microsoft.com/fwlink/?linkid=2239776"
# Конвертация в PEMopenssl x509 -in MicUEFICA2023.der -inform DER \ -out MicUEFICA2023.pem -outform PEM
openssl x509 -in WinUEFICA2023.der -inform DER \ -out WinUEFICA2023.pem -outform PEM5.3 Фаза 2: Генерация EFI Signature List
uuidgen --random > guid.txtGUID=$(cat guid.txt)
cert-to-efi-sig-list -g "$GUID" \ MicUEFICA2023.pem MicUEFICA2023.esl
cert-to-efi-sig-list -g "$GUID" \ WinUEFICA2023.pem WinUEFICA2023.esl5.4 Фаза 3: Инъекция в NVRAM (Setup Mode)
Поскольку платформа в Setup Mode, пишем неподписанные .esl файлы напрямую. Подпись .auth не нужна.
# Создание переменной db впервыеsudo efi-updatevar -f MicUEFICA2023.esl db
# Добавление второго сертификатаsudo efi-updatevar -a -f WinUEFICA2023.esl dbПроверка:
sudo mokutil --dbОжидаемый вывод:
Certificate: Data: Version: 3 (0x2) Serial Number: 33:00:00:02:5a:76:fb:8f:76:14:44:3b:91:00:00:00:02:5a:76 Signature Algorithm: sha384WithRSAEncryption Issuer: C = US, O = Microsoft Corporation, CN = Microsoft UEFI CA 20235.5 Фаза 4: Выход из Setup Mode (рекомендуется)
Оставлять систему в Setup Mode опасно — любая ОС или вредоносный загрузчик может изменить db. Сгенерируем персональный Platform Key (PK) для переключения в User Mode, сохраняя Secure Boot отключенным.
# Генерация самоподписанного ключа платформыopenssl req -new -x509 -newkey rsa:2048 \ -subj "/CN=Personal MateBook PK/" \ -keyout PK.key -out PK.pem \ -days 3650 -nodes
# Конвертация в DERopenssl x509 -in PK.pem -out PK.der -outform DER
# Генерация ESLcert-to-efi-sig-list -g "$GUID" PK.der PK.esl
# Запись PK для выхода из Setup Modesudo efi-updatevar -f PK.esl PK
# Проверка смены состоянияsudo mokutil --sb-state# Ожидается: "SecureBoot disabled" + "Platform is in User Mode"5.6 Полная блок-схема
flowchart TD
A[Старт: Huawei MateBook
Чистый Linux] --> B{Проверка статуса}
B -->|mokutil --sb-state| C[В Setup Mode?
PK пуст?]
C -->|Да| D[Загрузить сертификаты
Microsoft 2023]
C -->|Нет| E[BIOS → Очистить PK
→ Перезагрузка в Linux]
D --> F[Конвертация DER → PEM → ESL]
F --> G[efi-updatevar -f cert.esl db]
G --> H{Проверка
mokutil --db}
H -->|Сертификат 2023 присутствует| I[Генерация персонального PK]
H -->|Отсутствует| J[Отладка: dmesg
права efivarfs]
I --> K[efi-updatevar -f PK.esl PK]
K --> L[Выход из Setup Mode
Вход в User Mode]
L --> M[Защита на будущее:
сертификаты 2023 в db
SecureBoot все еще выкл]
style C fill:#99ff99,stroke:#009900
style H fill:#ffcc66,stroke:#cc9900
style M fill:#99ff99,stroke:#009900
Рисунок 5: Схема принятия решений для Huawei MateBook в Setup Mode.
6. Граничные случаи и ошибки
6.1 Если efi-updatevar возвращает Permission denied
Некоторые OEM (HP, Fujitsu и потенциально будущие ревизии прошивки Huawei) блокируют запись NVRAM на уровне прошивки даже в Setup Mode. Если вы получаете:
Error: Could not update variable: Permission deniedОбход: Используйте KeyTool.efi (из пакета efitools), запущенный напрямую из EFI shell или меню загрузки. Он предоставляет графический интерфейс для enrollment сертификатов, обходя ограничения на уровне ОС.
6.2 Если переменная db уже существует
Если ls /sys/firmware/efi/efivars/ показывает файл db-8be4df61-93ca-11d2-aa0d-00e098032b8c (стандартный GUID глобальной переменной EFI), используйте флаг append:
sudo efi-updatevar -a -f MicUEFICA2023.esl dbsudo efi-updatevar -a -f WinUEFICA2023.esl db6.3 Риск черного экрана с NVIDIA GPU
Некоторые старые NVIDIA GPU (GTX 600/700/900 и ранние 10-й серии) поставляются с UEFI GOP драйверами, подписанными только Microsoft UEFI CA 2011. Если Secure Boot включен после июня 2026 без регистрации CA 2023, эти GPU могут не инициализировать дисплей, давая черный экран до перехвата ОС.
Смягчение: описанный в статье подход регистрирует сертификаты 2023, оставляя Secure Boot отключенным. Это сохраняет будущую совместимость без запуска валидации Option ROM при загрузке.
7. Заключение
Истечение сертификатов UEFI в 2026 году — это не проблема Windows. Это проблема якоря доверия на уровне прошивки. Для пользователей Huawei MateBook на чистом Linux сочетание отсутствия поддержки в LVFS и исключения из белого списка Microsoft создает настоящий обрыв поддержки.
Но обнаружение того, что устройство застряло в Setup Mode, превращает то, что выглядело как невозможная блокировка платформы, в тривиальную задачу инъекции NVRAM. Сертификаты 2023 можно зарегистрировать нативно с помощью efitools в чистом Linux-окружении — без Windows, приватного ключа Microsoft или fwupd.
«Linux не нужны подписи Microsoft» технически верно для сегодняшней загрузки, но катастрофически неверно для завтрашнего обслуживания. Регистрация сертификатов 2023 сейчас — это страховка для будущих обновлений shim, GPU-прошивки и сценариев dual boot, которые все тихо сломаются, когда останется только якорь доверия 2011 года.
Приложение A: Быстрые команды
# Проверка статусаsudo mokutil --sb-statesudo mokutil --db | grep -i "2023"ls /sys/firmware/efi/efivars/ | grep -i db
# Загрузка и конвертацияwget https://go.microsoft.com/fwlink/?linkid=2239872 -O MicUEFICA2023.derwget https://go.microsoft.com/fwlink/?linkid=2239776 -O WinUEFICA2023.deropenssl x509 -in MicUEFICA2023.der -inform DER -out MicUEFICA2023.pem -outform PEMopenssl x509 -in WinUEFICA2023.der -inform DER -out WinUEFICA2023.pem -outform PEM
# Генерация и записьuuidgen --random > guid.txtcert-to-efi-sig-list -g "$(cat guid.txt)" MicUEFICA2023.pem MicUEFICA2023.eslcert-to-efi-sig-list -g "$(cat guid.txt)" WinUEFICA2023.pem WinUEFICA2023.eslsudo efi-updatevar -f MicUEFICA2023.esl dbsudo efi-updatevar -a -f WinUEFICA2023.esl dbПриложение B: Глоссарий
| Термин | Определение |
|---|---|
| PK | Platform Key — корень доверия для обновлений переменных Secure Boot |
| KEK | Key Exchange Key — подписывает обновления db и dbx |
| db | Signature Database — белый список разрешенных загрузчиков/драйверов |
| dbx | Forbidden Signature Database — черный список отозванных подписей |
| Setup Mode | PK пуст, прошивка не проверяет подписи для записи переменных |
| User Mode | PK зарегистрирован, все обновления переменных должны быть криптографически подписаны |
| shim | Первичный загрузчик Linux, подписанный Microsoft UEFI CA |
| LVFS | Linux Vendor Firmware Service — централизованная дистрибуция прошивок для Linux |
Версия документа: 1.0.0
Протестировано на: HUAWEI BoF-XX (M1010), Ubuntu Resolute Raccoon, kernel 7.0.0-12-generic