Share via


Secure Boot

Secure Boot is een functie van de Unified Extensible Firmware Interface (UEFI) waarvoor alle firmware- en softwareonderdelen op laag niveau moeten worden geverifieerd voordat ze worden 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 Oem (Original Equipment Manufacturer), wordt de machine opgestart en geeft de firmware controle over 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.
  • Database voor ingetrokken handtekeningen (dbx): bevat ingetrokken samenvattingen van codemodules die zijn geïdentificeerd als schadelijk, kwetsbaar, aangetast of niet-vertrouwd. Als een hash zich in de database van de handtekening bevindt en de ingetrokken database voor handtekeningen, heeft de database met ingetrokken handtekeningen broncellen.

In de volgende afbeelding en het volgende proces wordt uitgelegd hoe deze onderdelen worden bijgewerkt:

Diagram met secure boot-onderdelen.

De OEM slaat de Secure Boot-digests op van de niet-compatibele RAM (NV-RAM) van de machine op het moment van productie.

  1. De handtekeningdatabase wordt gevuld met de ondertekenaars of afbeeldings-hashes van UEFI-toepassingen, besturingssysteemlaadders (zoals het Microsoft-besturingssysteemlaadprogramma of Boot Manager) en UEFI-stuurprogramma's die worden vertrouwd.
  2. De ingetrokken handtekeningen dbx wordt gevuld met samenvattingen van modules die niet meer worden vertrouwd.
  3. De KEK-database (Key Enrollment Key) is gevuld met ondertekeningssleutels die kunnen worden gebruikt voor het bijwerken van de handtekeningdatabase en de ingetrokken handtekeningdatabase. De databases kunnen worden bewerkt via updates die zijn ondertekend met de juiste sleutel of via updates door een fysiek aanwezige geautoriseerde gebruiker met behulp van firmwaremenu's.
  4. Nadat de db-, dbx- en KEK-databases zijn toegevoegd en de uiteindelijke firmwarevalidatie en -tests zijn voltooid, vergrendelt de OEM de firmware van bewerking en genereert een platformsleutel (PK). De PK kan worden gebruikt om updates aan te melden bij de KEK of om Beveiligd opstarten uit te schakelen.

Tijdens elke fase in het opstartproces worden de samenvattingen van de firmware, bootloader, besturingssysteem, kernelstuurprogramma's en andere artefacten voor opstartketens berekend en vergeleken met acceptabele waarden. Firmware en software die niet vertrouwd zijn, mogen niet worden geladen. Daarom kunnen malware-injecties op laag niveau of preboot-malwareaanvallen worden geblokkeerd.

Beveiligd opstarten op de Azure-vloot

Tegenwoordig is elke machine die wordt onboarded en geïmplementeerd in de Azure-rekenvloot voor het hosten van klantworkloads afkomstig van fabrieksvloeren waarvoor Secure Boot is ingeschakeld. Gerichte hulpprogramma's en processen zijn in elke fase van de hardware-buildout- en integratiepijplijn aanwezig om ervoor te zorgen dat beveiligd opstarten niet per ongeluk of door kwaadwillende bedoelingen wordt teruggedraaid.

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

  • Bootloader is aanwezig in een van de db-vermeldingen
  • De handtekening van bootloader is geldig
  • Hostbootsen met vertrouwde software

Door de handtekeningen van KEKpub en PKpub te valideren, kunnen we bevestigen dat alleen vertrouwde partijen gemachtigd zijn om de definities te wijzigen van welke software wordt beschouwd als vertrouwd. Ten slotte kunnen we valideren dat deze definities worden afgedwongen door ervoor te zorgen dat beveiligd opstarten actief is.

Volgende stappen

Zie voor meer informatie over wat we doen om platformintegriteit en -beveiliging te stimuleren: