Blog Post

Windows IT Pro Blog
6 MIN READ

Updating Microsoft Secure Boot keys

SochiOgbuanya's avatar
SochiOgbuanya
Icon for Microsoft rankMicrosoft
Feb 13, 2024

Microsoft, in collaboration with our ecosystem partners, is preparing to roll out replacement certificates that’ll set new Unified Extensible Firmware Interface (UEFI) Certificate Authorities (CAs) trust anchors in Secure Boot for the future. Look out for Secure Boot database updates rolling out in phases to add trust for the new database (DB) and Key Exchange Key (KEK) certificates. This new DB update is available as an optional servicing update for all Secure Boot enabled devices from February 13, 2024.

What is Secure Boot?

Secure Boot is a security feature in the UEFI that helps ensure that only trusted software runs during the system’s boot sequence. It works by verifying the digital signature of any software against a set of trusted digital keys stored in the UEFI. As an industry standard, UEFI’s Secure Boot defines how platform firmware manages certificates, authenticates firmware, and how the operating system (OS) interfaces with this process. For more details on UEFI and Secure Boot, please refer to this article.

Secure Boot was first introduced to Windows systems with the Windows 8 release to protect against the emerging pre-boot malware (bootkit) threat at that time. Since then, Secure Boot has continued to be a part of Microsoft's Trusted Boot security architecture. Secure Boot authenticates modules such as UEFI firmware drivers, bootloaders, applications, and option ROMs (Read-Only Memory), which are firmware run by the PC BIOS during platform initialization, before they are all executed. As the final step of the Secure Boot process, the firmware verifies the Windows boot loader is trusted by Secure Boot and then passes control to the boot loader which in turn verifies, loads into memory, and launches Windows. This process coupled with the UEFI firmware signing process helps to ensure that only verified code executes before Windows, preventing attackers from utilizing the boot path as an attack vector. To learn more about how Secure Boot fits in with the overall Windows chip-t-cloud security, please refer to the Windows Security Book RWMyFE.

Trust and authenticity in Secure Boot are built using the Public-Key Infrastructure (PKI). This establishes a certificate management system which utilizes CAs to store digital certificates. These CAs, consisting of Original Equipment Manufacturer (OEM) or their delegates and Microsoft, generate key pairs that form the root of trust of a system.

Secure Boot “root of trust”: Setting trust anchors for the future

Secure Boot’s root of trust utilizes a hierarchical system, where the Platform Key (PK) is typically managed by the OEM and used to sign updates to the KEK database. The KEK in turn signs updates to both the Allowed Signature DB and the Forbidden Signature Database (DBX).

The Secure Boot Allowed Signature DB and the DBX are integral to the functionality of Secure Boot. Bootloader modules’ signing authority must be allowlisted by the Secure Boot DB, while the DBX is used for revoking previously trusted boot components. Updates to the DB and DBX must be signed by a KEK in the Secure Boot KEK database.

The configuration of Secure Boot DB and KEK for Windows devices has remained the same since Windows 8. Microsoft requires every OEM to include the same three certificates managed by Microsoft for Windows and in support of the third-party hardware and OS ecosystem. These include the Microsoft Corporation KEK CA 2011 stored in the KEK database, and two certificates stored in the DB called the Microsoft Windows Production PCA 2011, which signs the Windows bootloader, and the Microsoft UEFI CA 2011 (or third-party UEFI CA), which signs third-party OS and hardware driver components.

All three of these Microsoft certificates expire in 2026. So, in collaboration with our ecosystem partners, Microsoft is preparing to roll out replacement certificates that will set new UEFI CA trust anchors for the future. Microsoft will be rolling out Secure Boot database updates in phases to add trust for the new DB and KEK certificates. The first DB update will add the Microsoft Windows UEFI CA 2023 to the system DB. The new Microsoft Windows UEFI CA 2023 will be used to sign Windows boot components prior to the expiration of the Windows Production CA 2011. This DB update will be optional for the February 2024 servicing and preview updates, and can be manually applied to devices. Microsoft will slowly roll out this DB update as we validate devices and firmware compatibility globally. The full DB update’s controlled-rollout process to all Windows customers will begin during the 2024 April servicing and preview updates, ahead of the certificate expiration in 2026. Meanwhile, efforts to update the Microsoft UEFI CA 2011 (aka third-party UEFI CA) and Microsoft Corporation KEK CA 2011 will begin late 2024, and will follow a similar controlled rollout process as this DB update.

While Microsoft has frequently performed DBX updates globally since the inception of Secure Boot, this will be the first DB update performed on such a large scale. We’re actively collaborating with our OEM partners to identify and address bugs in firmware implementation that could result in unbootable systems or render a device unreceptive to the DB update. To ensure a successful rollout, devices with identified issues will be suspended from receiving the update until a fix is released.

Microsoft is taking a very deliberate and cautious approach to rolling out this update. With this DB update, Microsoft will sustain its ability to service all Windows devices’ boot components.

Guidance to manually apply DB update

The DB update is available on February 13, 2024, along with manual steps to allow customers to test for firmware compatibility, especially for organizations with fleets of devices. If you would like to manually apply the DB update to validate that your system is compatible, please read the following instructions. These actions should be completed with non-critical hardware representing devices in your environment.

Pre-requisite checks

Before attempting the DB update, please ensure to perform the necessary pre-requisite checks:

  1. If you intend to manually apply this update to a large group of devices, we advise that you begin by rolling out to individual devices with the same firmware and specifications first to minimize the risks in the case of firmware bugs in your devices.
  2. Please verify that your UEFI firmware version is the most recent available version by your firmware vendor or OEM.
  3. For data backup steps, please refer to this guide.
  4. If you use BitLocker or if your enterprise has deployed BitLocker on your machine, ensure to backup BitLocker Keys:
      1. See this portal to ensure your BitLocker keys are backed up before your next reboot for your selfhost device. In the unlikely event that device becomes inoperable after receiving the update, the hard drive can still be unlocked.
      2. If the keys are backed up, the UI should resemble the following:

    1. If the keys are not backed up, please open Windows Search to search for “Manage BitLocker” and select Back up your recovery key followed by Save to your Azure AD or MSA account.

For users that use a local account instead of an Azure Active Directory (AAD) or Microsoft account (MSA), you can print your recovery password, save to a file, and store it in a secure location.

Formal DB update steps

  1. Apply the February 2024 (or later) security update.
  2. Open a PowerShell console and ensure that PowerShell is running as an administrator before running the following commands:
    1. Set the registry key to Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot” -Name “AvailableUpdates” -Value 0x40
    2. Run the following scheduled task as Start-ScheduledTask -TaskName “\Microsoft\Windows\PI\Secure-Boot-Update”
  3. Reboot the machine twice after running these commands to confirm that the machine is booting with the updated DB.
  4. To verify that the Secure Boot DB update was successful, open a PowerShell console and ensure that PowerShell is running as an administrator before running the following command: [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Windows UEFI CA 2023’

If the command returns “True”, the update was successful. In the case of errors while applying the DB update, please refer to the article, KB5016061: Addressing vulnerable and revoked Boot Managers.


Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X/Twitter. Looking for support? Visit Windows on Microsoft Q&A.

Updated Feb 13, 2024
Version 1.0

10 Comments

  • sarsi1000's avatar
    sarsi1000
    Copper Contributor

    No, I absolutely will not be applying this fix.

     

    Microsoft - you need to do an urgent audit check to be carried out only by your oldest and most trusted high level employees on the integrity of your current staff, especially the ones that are in charge of your Windows software updates and frankly just all round across your organization.

     

    I suspect your workforce is compromised by bad actors who have infiltrated your organization as ordinary employees.

     

    The entire team who worked on this and all related updates occuring prior that have led to the rollout of this update as if it is an ordinary course logical step (including the May 2023 whatever fix that didn't manage to prevent the rollback or whatever garbage explanation provided that made absolutely no sense too), and anyone who vetted, glanced, had any eyes over this - so long as this has passed their desk - needs to be fired asap and blacklisted as threat actors - regardless of their intentions or incompetence.

     

    First - I cannot ever recall Microsoft ever asking its users to update our SecureBoot this way EVER - and yet several of your own inhouse articles along with other tech articles - a major explosion of them over the last few years online which I find very funny - everytime I have a problem with your software update and I try to look online - your own forums never provide a good answer but outside third party new tech articles and forums have more to say about it than you.

     

    There is some mention that this new style fix is because there are so many previously vulnerable boot managers already in database and there is no more space - alright then - so how did Microsoft add those to the DBX previously? It didn't ask me to do it - that's for sure.

     

    There is definitely something incredibly wrong here when a non-tech savvy end-user like me is refusing to install an update fix issued by Microsoft directly.

     

    I don't trust Microsoft anymore than I trust its employees - cuz Microsoft is just a corporate entity. And my alertness is frankly in part trained simply from my recollection of how MS has acted with regards to its software updates over the years and this is completely at odds with how they have normally done things so - no I do not think this is a very deliberate and cautious approach to rolling out this update.

     

    Isn't the normal approach - usually just Microsoft working with the OEM and firmware on this and if there is any problems booting up, we get told to update our firmware version and we go off to the website of whichever brand computer we are using to find it?

     

    What possible good reason can there be for Microsoft basically asking us to manually override the very protection that was put in place - ie the firmware checks the software which is coordinated between Microsoft and the manufacturers.  The only way to override this security feature, ie excluding end-user participation is actually exactly what the guidance and advice this very update fix said upfront - only local and admin privileges get to override this and you're asking us to do that for you.

     

    You are asking us to be the very security loophole you need to install the malware and rootkit.

     

    What you said here - Revoking vulnerable Windows boot managers | Windows IT Pro blog (microsoft.com)

    DO NOT apply the DBX to a device without DB update through manual update, using set-securebootuefi, as the system will not boot. Specifically, this will bypass the safety checks included in our servicing tool (Windows Updates) to guard against breaking issues. Update your device by relying on our published mitigations.

    Specifically this will bypass the safety checks included in our Windows update service tool to guard against break issues?

     

    What are you talking about - that's not where the safeguard is. The safeguard is exactly this - someone who has gotten physical access of your device and trying to mess aound with your trusted software provider credentials by manually altering the secure boot aspects gets locked out and the system shuts off - will not boot cuz it doesn't tally with the credentials given by the software provider - ie Microsoft. 

     

    It's breaking precisely cuz these are unauthorized updates - that's why it breaks?

     

    And you're asking the users themselves to do this for you, not to use the standard set-securebootuefi but instead to rely on the published guidance that is totally at odds with safe tech update fix rollout?? Are you out of your mind?

     

    What exactly are you people trying to do here?

     

    I cannot understand why would Microsoft be asking its end-users to do that when it can perfectly update this itself by coordinating with the OEM manufacturers or whoever it is - as how it has always done so - all to combat some malware Blacklotus threat I have never heard of and that your own Microsoft blog that talks about this guidance is a page that is no longer available?

     

    Without telling users to check whether they have hypervisor enabled or giving us any details of which versions of Boot Manager is vulnerable - so that those who don't have those versions can just ignore this - you didn't tell us the most obvious fixes and things to check for end-users but pages and links to more links of word vomit that says you didn't enable the feature that was in previous updates cuz it depends on the users' system bla bla bla - and you want us to do it for you basically?

     

    This makes ZERO sense.

     

    Combined with the fact that Microsoft's approach to its update system over recent years has only been strange to say the least - I frankly find it very worrying that you would have someone internally within Microsoft suggest to you, as a OS software provider,  as a business decision that your updates should depart from the previously fixed schedules with clear-cut concise bullet points of what the update is - and instead go with more detail - pages and pages of explaining the flaws and exploits that it serves to fix - almost as if it is to highlight all its security flaws that frankly users aren't interested in - if you found a weakness and can fix it, just fix it, we click the update - done. 

     

    Your feature of offering to save users passwords for them and offering to check them against hacked databases - where are you getting these databases from - shouldn't you be calling the cops to shut down them instead of asking us if we want to switch on the option of letting you check?

     

    Is there anyone in Microsoft that isn't compromised or are people just stupid? You have enabled a feature that allows your staff to collect and collate passwords as part of a very legitimate work process - something that never existed before and would have to be retrieved specially, which again is something you won't usually do - not even if a regulator tries to force you to disclose it because you wanna maintain user confidentiality and again, you have someone in your ranks suggesting this as a feature as if it is a Edge browser convenience - and somehow creating the backoor for this info to be collated by your own hands in a nice handy package that will probably get lost, stolen, hacked or copied without your knowledge - something that would have been TOTALLY impossible to achieve before the introduction of that strange feature because that would have alerted your system immediately as unauthorized employee access and theft..

     

    And your latest email recovery steps are inexplicable - your set of recovery questions include us to provide details of

     

    1. Our previous passwords we might have used before

    2. Email contacts we have emailed recently

    3. Email subject topics of emails we sent recently 

    4. Things we might have bought recently

    5. And you actually suggest in those very same steps - that if we can't remember, we can ask our friends family and business associates about emails we might have exchanged with them previously so they can help?

     

    That's basically a textbook manual for someone to use to scam and impersonate or hack a person's account and you have in-house Microsoft employees suggesting these as recovery steps??

     

    Your employees are either acting against your interests on purpose or innocently out of sheer incompetence and both of that needs firing asap because we as end-users expect Tech talent to not be mediocre.  

     

    SOMEBODY should have noticed how odd this update structure is and how unsafe those recovery questions are - whether through employee leaks or potential hacks - and if no one in your relevant ranks said anything about it - that entire structure needs to be fired and replaced asap. 

  • I am confused, what exactly is to be done here?

     

    First of all this update is mentioned here: February 13, 2024—KB5034768 (OS Build 17763.5458) - Microsoft Support

    What does opt for this change exactly mean in that article? Opt-in, opt-out? Is it only adding a certificate to the UEFI DB but doesn't use it? Can we safely deploy this update and nothing in the UEFI process changes and breaks things?

     

    Then when clicking on the link in the article we get to this: KB5036210: Deploying Windows UEFI CA 2023 certificate to Secure Boot Allowed Signature Database (DB) - Microsoft Support

    Why do we need to take action? Why is this not an automatic process and why do we need to test, didn't you guys test? If you have tested can you provide us with a list of all devices that will be giving us issues, and which are ok? You expect us to perform said action (changing registry) on all of our machines, including servers, and ask our users to reboot, twice? What if two reboots are needed and only one is performed, what might break, what are the symptoms? Will this setting be enforced in a future update? Which update and what timeframe are we talking about here exactly?

     

    Then we come to this article and same questions applies as the previous point. Also here, you expect us to perform inventories on our total environments, on prem as well as Azure and/or Intune? Do you guys have pointers and or scripts to do inventories using SCCM, Intune, etc.?

  • Hello

    Can I create a capture image with MCM where the Secure Boot DB is already populated with the current certificate?

    I created the registry key using PowerShell in the Task Sequence. Unfortunately the DB has not been updated.

    if(!([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match "Windows UEFI CA 2023")){
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x40
    }

    Thanks

  • Thank you for this article.

    Why are manual steps necessary in the first place? When the old CA expires, I am forseeing a lot of troubles, especially on old devices, internet isolated devices (manufacturing, medical).

  • Alban1998's avatar
    Alban1998
    Iron Contributor

    Hello, which OSes are affected by this change ? Windows client, Windows Server ? What about unsupported OSes, like Windows Server 2012 R2, or deprecated OSes like Windows Server 2016 or Windows 10 ?

  • nnriugt's avatar
    nnriugt
    Copper Contributor

    How, if at all, is this related to or affected by the changes in KB5025885 which also concerns Secure Boot? I note that to pre-emptively apply those changes the AvailableUpdates registry key has to be set to 0x30 rather than 0x40 here. Is it possible to apply both updates (0x70?), and is there a recommended order to do so, etc. Please advise.

  • Bullen2500's avatar
    Bullen2500
    Copper Contributor

    Will this have an impact on the restore of backups? Like the other UEFI-update where we had to redo the image after the update to be able to boot from it.

  • wroot's avatar
    wroot
    Silver Contributor

    So, in simple words, we just need to install all monthly updates and Dell BIOS updates regularly to be prepared for 2026?