Estimated reading time: 8 minut
Tabela zawartości
- Secure Boot
- Wygaśnięcie certyfikatu Microsoft Secure Boot
- Ustawienia rejestru dotyczące certyfikatów UEFI
- Identyfikacja stacji wymagających odnowienia certyfikatów
- Proces aktualizacji certyfikatów na zainstalowanym systemie
- Sprawdzanie wykonania aktualizacji certyfikatów
- Proces aktualizacji certyfikatów na preinstalowanym systemie
Secure Boot
Secure Boot to funkcja bezpieczeństwa, zaprojektowana w celu zapobiegania ładowaniu złośliwego oprogramowania podczas uruchamiania komputera. Podczas procesu uruchamiania ładowane jest tylko zaufane oprogramowanie, dlatego odgrywa ona istotną rolę w ochronie przed różnymi rodzajami złośliwego oprogramowania i w utrzymaniu integralności systemu.
Wygaśnięcie certyfikatu Microsoft Secure Boot
Bezpieczny rozruch jest oparty na procesie infrastruktury kluczy publicznych (PKI) do uwierzytelniania modułów, zanim będą mogły być wykonywane.
Klucz platformy UEFI (PK) jest źródłem zaufania w funkcji Secure Boot. Pojedynczy klucz publiczny, należący do producenta urządzenia, jest przechowywany w oprogramowaniu układowym. Certyfikat PK podpisuje Key Exchange Key (KEK) i nadaje uprawnienia do modyfikowania innych baz danych Secure Boot. Są to dwie bazy danych:
- Autoryzowana baza danych sygnatur DB – Secure Boot Allowed Signature Database
- Zabroniona baza danych sygnatur DBX – Secure Boot Forbidden Signature Database
Zawierają one certyfikaty i podpisy dla oprogramowania odpowiednio autoryzowanego i nieautoryzowanego. W czerwcu tego roku wygasną certyfikaty Microsoft UEFI. Nie dotyczy to wszystkich modeli komputerów. Niestety certyfikaty te nie będą się automatyczne odnawiać. Trzeba zrobić to ręcznie.
Dotyczy to:
- Microsoft Corporation KEK CA 2011 (zapisany w KEK)
- Microsoft UEFI CA 2011 (zapisany w bazie DB)
- Microsoft Windows Production PCA 2011 (zapisany w bazie DB)
Bez ich odnowienia Secure Boot może przestać chronić komputery.
Ustawienia rejestru dotyczące certyfikatów UEFI
Microsoft przygotował aktualizację KB5068202 systemu Windows, która wprowadza nowe ustawienia w rejestrach pomagających w aktualizacji certyfikatów UEFI.

Wpisy te znajdziemy w HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing

Wartości UEFICA2023Status oznaczają:
- NoStarted – proces odnowienia nie został uruchomiony
- InProgress – proces odnowienia jest w trakcie
- Updated – proces odnowienia się zakończył
Wartości WindowsUEFICA2023Capable oznaczają:
- 0x0 – Windows UEFI CA 2023 certyfikat nie został zainstalowany w DB
- 0x1 – Windows UEFI CA 2023 certyfikat jest zainstalowany w DB
- 0x2 – Windows UEFI CA 2023 certyfikat jest zainstalowany w DB i system używa menedżera rozruchu podpisanego w 2023 roku
Wpis UEFICA2023Error oznacza, że podczas odnowienia certyfikatu system napotkał problem lub proces odnowienia uruchomiono na komputerze, na którym wpis UEFICA2023Status miał wartość ox2.
Identyfikacja stacji wymagających odnowienia certyfikatów
Microsoft nie przygotował polecenia w Powershellu, które pokazywałoby dokładne informacje o certyfikatach UEFI. Richard M. Hicks zamieścił skrypt Power Shell Galery , dzięki któremu mogę zobaczyć dokładniejsze informacje o certyfikatach UEFI.
Polecenie
Get-UEFICertificate -Type DB
Pokaże mi wszystkie certyfikaty dotyczące bazy DB.

Mnie interesuje certyfikat Microsoft Windows Producation PCA 2011. Wygaśnie on 19.10.2026 r.
Polecenie
Get-UEFICertificate -Type KEK
Pokaże mi wszystkie certyfikaty dotyczące KEK.

Mnie interesuje certyfikat Microsoft Corporation KEK CA 2011, który wygaśnie 24.06.2026 r.
Po sprawdzeniu dodatkowo wiem, że na tym komputerze brakuje jeszcze certyfikatu w bazie DB – Windows UEFI CA 2023.
Proces aktualizacji certyfikatów na zainstalowanym systemie
Gdy system operacyjnym jest już zainstalowany i na bieżąco obsługiwanym aktualizowany to proces odnowienia certyfikatu jest prosty.
Poleceniem
Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing\ -Name UEFICA2023Status | Select-Object UEFICA2023Status
sprawdzam jaki jest status aktualizacji certyfikatów UEFI.

To samo można ręcznie sprawdzić w rejestrze.

Sprawdziłem, że aktualizacja jest wymagana. Teraz muszę ją uruchomić.
Polecenie
Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot’ -Name ‘AvailableUpdates’ -Value 0x5944
wpisuje do rejestru informacje o potrzebie wykonania aktualizacji certyfikatów. Następnie uruchamiam wbudowany w system harmonogramu zadań – \Microsoft\Windows\PI\Secure-Boot-Update.

Po uruchomieniu zadania Secure-Boot-Update w Podglądzie zdarzeń zobaczę wpis dotyczący konieczności ponownego uruchomienia komputera.

W rejestrze pojawi się również wpis o rozpoczęciu procesu aktualizacji certyfikatów UEFI.

Po restarcie status nie musi się od razu zmienić. Po paru minutach sprawdzam status ponownie. Tym razem wartość InProgress zmieniła się na Updated.

Pozostaje mi tylko sprawdzić, czy certyfikaty faktycznie się odnowiły, a także czy certyfikat Windows UEFI CA 2023 został wygenerowany dla tego komputera.
Sprawdzanie wykonania aktualizacji certyfikatów

Ponownie korzystam z poleceń Powershell ,tak jak przed aktualizacją
Get-UEFICertificate -Type KEK

Pojawił się nowy certyfikat Microsoft Corporation KEK 2K CA 2023 ważny do o2.03.2038 r.
Get-UEFICertificate -Type DB

Pojawił się nowy certyfikat Windows UEFI CA 2023 ważny do 13.06.2035 r. Proces aktualizacji zakończył się sukcesem.
Proces aktualizacji certyfikatów na preinstalowanym systemie
Proces odnowienia certyfikatu na komputerze w trybie OOBE jest nieco inny. Taki system nie jest zarządzany i nie ma na nim zainstalowanej aktualizacji, która konfiguruje dodatkowe wpisy w rejestrach dotyczące certyfikatów UEFI.
W taki wypadku trzeba wykorzystać skrypt, który sprawdzi czy są certyfikaty do odnowienia, następnie wpisze w rejestrach informacje o potrzebie ich odnowienia, na koniec wykona ponowne uruchomienie komputera.


