needhelp
← Back to blog

Кризис сертификатов Secure Boot на Huawei MateBook: выживание после истечения UEFI CA 2026

by needhelp
UEFI
Secure Boot
Linux
Huawei
MateBook
Certificate Expiry

Дата: 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 работает потому что:

  1. Производитель (Lenovo) загрузил капсульное обновление с новыми сертификатами в LVFS
  2. Прошивка этого производителя разрешает запись переменных со стороны ОС (не все разрешают — HP и Fujitsu известны блокировкой записи db)
  3. Модель устройства есть в матрице поддержки вендора

Для пользователей Huawei MateBook ни одно из этих условий не выполняется. Сертификаты живут в NVRAM прошивки, не в /boot/efi. Никакой дистрибутив Linux не может «магически» внедрить сертификаты, которые OEM не авторизовал и которые прошивка отказывается принимать.


3. Setup Mode: спасательный круг

3.1 Обнаружение золотого состояния

На Huawei MateBook M1010 автора запуск диагностики:

Terminal window
$ sudo mokutil --sb-state
SecureBoot disabled
Platform is in Setup Mode
$ ls /sys/firmware/efi/efivars/ | grep -i db
dbDefault-8be4df61-93ca-11d2-aa0d-00e098032b8c
dbx-d719b2cb-3d3a-4596-a3bc-dad00e67656f
dbxDefault-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: Получение сертификатов

Terminal window
mkdir -p ~/secureboot && cd ~/secureboot
# Загрузка Microsoft UEFI CA 2023
wget -O MicUEFICA2023.der \
"https://go.microsoft.com/fwlink/?linkid=2239872"
# Загрузка Windows UEFI CA 2023
wget -O WinUEFICA2023.der \
"https://go.microsoft.com/fwlink/?linkid=2239776"
# Конвертация в PEM
openssl x509 -in MicUEFICA2023.der -inform DER \
-out MicUEFICA2023.pem -outform PEM
openssl x509 -in WinUEFICA2023.der -inform DER \
-out WinUEFICA2023.pem -outform PEM

5.3 Фаза 2: Генерация EFI Signature List

Terminal window
uuidgen --random > guid.txt
GUID=$(cat guid.txt)
cert-to-efi-sig-list -g "$GUID" \
MicUEFICA2023.pem MicUEFICA2023.esl
cert-to-efi-sig-list -g "$GUID" \
WinUEFICA2023.pem WinUEFICA2023.esl

5.4 Фаза 3: Инъекция в NVRAM (Setup Mode)

Поскольку платформа в Setup Mode, пишем неподписанные .esl файлы напрямую. Подпись .auth не нужна.

Terminal window
# Создание переменной db впервые
sudo efi-updatevar -f MicUEFICA2023.esl db
# Добавление второго сертификата
sudo efi-updatevar -a -f WinUEFICA2023.esl db

Проверка:

Terminal window
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 2023

5.5 Фаза 4: Выход из Setup Mode (рекомендуется)

Оставлять систему в Setup Mode опасно — любая ОС или вредоносный загрузчик может изменить db. Сгенерируем персональный Platform Key (PK) для переключения в User Mode, сохраняя Secure Boot отключенным.

Terminal window
# Генерация самоподписанного ключа платформы
openssl req -new -x509 -newkey rsa:2048 \
-subj "/CN=Personal MateBook PK/" \
-keyout PK.key -out PK.pem \
-days 3650 -nodes
# Конвертация в DER
openssl x509 -in PK.pem -out PK.der -outform DER
# Генерация ESL
cert-to-efi-sig-list -g "$GUID" PK.der PK.esl
# Запись PK для выхода из Setup Mode
sudo 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:

Terminal window
sudo efi-updatevar -a -f MicUEFICA2023.esl db
sudo efi-updatevar -a -f WinUEFICA2023.esl db

6.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: Быстрые команды

Terminal window
# Проверка статуса
sudo mokutil --sb-state
sudo mokutil --db | grep -i "2023"
ls /sys/firmware/efi/efivars/ | grep -i db
# Загрузка и конвертация
wget https://go.microsoft.com/fwlink/?linkid=2239872 -O MicUEFICA2023.der
wget https://go.microsoft.com/fwlink/?linkid=2239776 -O WinUEFICA2023.der
openssl x509 -in MicUEFICA2023.der -inform DER -out MicUEFICA2023.pem -outform PEM
openssl x509 -in WinUEFICA2023.der -inform DER -out WinUEFICA2023.pem -outform PEM
# Генерация и запись
uuidgen --random > guid.txt
cert-to-efi-sig-list -g "$(cat guid.txt)" MicUEFICA2023.pem MicUEFICA2023.esl
cert-to-efi-sig-list -g "$(cat guid.txt)" WinUEFICA2023.pem WinUEFICA2023.esl
sudo efi-updatevar -f MicUEFICA2023.esl db
sudo 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

Share this page