Beveiligd opstarten

Secure Boot is een functie van de Unified Extensible Firmware Interface (UEFI) die alle low-level firmware- en softwarecomponenten verifieert voordat deze wordt geladen. Tijdens het opstarten controleert UEFI Secure Boot de handtekening van elk stuk opstartsoftware, waaronder UEFI-firmwarestuurprogramma's (ook wel optie-ROMs genoemd), EFI-toepassingen (Extensible Firmware Interface) en de stuurprogramma's en binaire bestanden van het besturingssysteem. Als de handtekeningen geldig of vertrouwd zijn door de oorspronkelijke fabrikant (OEM), start de machine op en geeft de firmware de controle over aan het besturingssysteem.

Onderdelen en proces

Beveiligd opstarten is afhankelijk van deze essentiële onderdelen:

  • Platformsleutel (PK): brengt een vertrouwensrelatie tot stand tussen de platformeigenaar (Microsoft) en de firmware. De openbare helft is PKpub en de privé helft is PKpriv.
  • Sleutelinschrijvingssleuteldatabase (KEK): brengt een vertrouwensrelatie tot stand tussen het besturingssysteem en de platformfirmware. De openbare helft is KEKpub en de privé helft is KEKpriv.
  • Handtekeningdatabase (db): bevat de samenvattingen voor vertrouwde ondertekenaars (openbare sleutels en certificaten) van de firmware- en softwarecodemodules die gemachtigd zijn om te communiceren met platformfirmware.
  • Ingetrokken handtekeningendatabase (dbx) - Bevat ingetrokken digests van codemodules die de OEM identificeert als kwaadaardig, kwetsbaar, gecompromitteerd of onbetrouwbaar. Als een hash zowel in de handtekeningdatabase als in de database met ingetrokken handtekeningen staat, heeft de database met ingetrokken handtekeningen voorrang.

De volgende figuur en het proces leggen uit hoe de OEM deze componenten bijwerkt:

Diagram van de Secure Boot-flow met ondertekende databases en sleuteluitwisselingssleutelvalidatie tijdens systeemopstart.

De OEM slaat de Secure Boot-digests tijdens de productie op in het niet-vluchtige geheugen (NV-RAM) van de machine.

  1. De OEM vult de handtekeningendatabase met de ondertekenaars of image-hashes van UEFI-applicaties, besturingssysteemloaders (zoals de Microsoft Operating System Loader of Boot Manager) en UEFI-stuurprogramma's die als vertrouwd worden beschouwd.
  2. De OEM vult de dbx van de ingetrokken handtekeningen met digests van modules die niet langer worden vertrouwd.
  3. De OEM vult de sleutelregistratiesleutel (KEK) database met ondertekeningssleutels die de handtekeningendatabase en de database met ingetrokken handtekeningen kunnen bijwerken. Een fysiek aanwezige geautoriseerde gebruiker kan de databases bewerken via updates die met de juiste sleutel zijn ondertekend of door gebruik te maken van firmwaremenu's.
  4. Nadat de OEM de databases van db, dbx en KEK heeft toegevoegd en de definitieve firmwarevalidatie en -testen heeft afgerond, blokkeert de OEM de firmware voor bewerking en genereert een platformsleutel (PK). De OEM kan de PK gebruiken om updates aan de KEK te signeren of Secure Boot uit te schakelen.

Tijdens elke fase van het opstartproces berekent het systeem de digests van de firmware, bootloader, besturingssysteem, kerneldrivers en andere bootchain-artefacten en vergelijkt deze met acceptabele waarden. Het systeem laat firmware en software die als onbetrouwbaar worden ontdekt niet toe om te laden. Secure Boot kan de injectie van malware op laag niveau of aanvallen met prebootmalware blokkeren.

Beveiligd opstarten op de Azure-vloot

Tegenwoordig komt elke machine die in de Azure compute-vloot wordt ingezet om klantworkloads te hosten vanaf fabrieksvloeren met Secure Boot ingeschakeld. Gerichte tools en processen zijn aanwezig in elke fase van de hardware-uitbouw en integratiepipeline om te waarborgen dat processen Secure Boot-activatie niet per ongeluk of met kwade bedoelingen terugdraaien.

Als u valideert dat de db- en dbx-digests juist zijn, zorgt u ervoor dat:

  • Bootloader is aanwezig in een van de database-invoeren.
  • De handtekening van de bootloader is geldig.
  • Host start op met vertrouwde software.

Het valideren van de handtekeningen van KEKpub en PKpub bevestigt dat alleen vertrouwde partijen toestemming hebben om de definities van vertrouwde software aan te passen. Tot slot bevestigt het feit dat Secure Boot actief is dat het systeem deze definities handhaaft.

Volgende stappen

Voor meer informatie over hoe Microsoft platformintegriteit en -beveiliging bevordert, zie: