Dela via


Säker start

Säker start är en funktion i UEFI (Unified Extensible Firmware Interface) som kräver att alla komponenter för inbyggd programvara på låg nivå och programvarukomponenter verifieras innan de läses in. Under starten kontrollerar UEFI Secure Boot signaturen för varje del av startprogramvaran, inklusive drivrutiner för UEFI-inbyggd programvara (kallas även alternativ-ROM), EFI-program (Extensible Firmware Interface) och operativsystemdrivrutiner och binärfiler. Om signaturerna är giltiga eller betrodda av OEM-tillverkaren (Original Equipment Manufacturer) startar datorn och den inbyggda programvaran ger kontroll över operativsystemet.

Komponenter och processer

Säker start förlitar sig på dessa viktiga komponenter:

  • Plattformsnyckel (PK) – Upprättar förtroende mellan plattformsägaren (Microsoft) och den inbyggda programvaran. Den offentliga hälften är PKpub och den privata hälften är PKpriv.
  • Nyckelregistreringsnyckeldatabas (KEK) – Upprättar förtroende mellan operativsystemet och plattformens inbyggda programvara. Den offentliga hälften är KEKpub och den privata hälften är KEKpriv.
  • Signaturdatabas (db) – Innehåller sammandrag för betrodda undertecknare (offentliga nycklar och certifikat) för den inbyggda programvaran och programvarukodmoduler som har behörighet att interagera med plattformsprogramvara.
  • Databas för återkallade signaturer (dbx) – Innehåller återkallade sammandrag av kodmoduler som identifieras vara skadliga, sårbara, komprometterade eller obetrodda. Om en hash finns i signaturdatabasen och den återkallade signaturdatabasen blir databasen för återkallade signaturer prejudikat.

Följande bild och process förklarar hur dessa komponenter uppdateras:

Diagram som visar secure boot-komponenter.

OEM-tillverkaren lagrar secure boot-sammandrag på datorns icke-volatila RAM-minne (NV-RAM) vid tidpunkten för tillverkningen.

  1. Signaturdatabasen fylls i med undertecknare eller avbildningshashar för UEFI-program, operativsysteminläsare (till exempel Microsoft Operating System Loader eller Boot Manager) och UEFI-drivrutiner som är betrodda.
  2. Dbx för återkallade signaturer fylls i med sammandrag av moduler som inte längre är betrodda.
  3. Databasen för nyckelregistreringsnyckeln (KEK) fylls i med signeringsnycklar som kan användas för att uppdatera signaturdatabasen och den återkallade signaturdatabasen. Databaserna kan redigeras via uppdateringar som är signerade med rätt nyckel eller via uppdateringar av en fysiskt närvarande behörig användare med hjälp av menyer för inbyggd programvara.
  4. När databaserna db, dbx och KEK har lagts till och den slutliga valideringen och testningen av inbyggd programvara har slutförts låser OEM-tillverkaren den inbyggda programvaran från att redigera och genererar en plattformsnyckel (PK). PK kan användas för att signera uppdateringar till KEK eller för att inaktivera säker start.

Under varje steg i startprocessen beräknas sammanfattningarna av den inbyggda programvaran, startladdaren, operativsystemet, kerneldrivrutinerna och andra artefakter i startkedjan och jämförs med acceptabla värden. Inbyggd programvara och programvara som identifieras som ej betrodda får inte läsas in. Därför kan inmatning av skadlig kod på låg nivå eller preboot-attacker mot skadlig kod blockeras.

Säker start i Azure-flottan

Idag kommer varje dator som registreras och distribueras till Azure-beräkningsflottan för att vara värd för kundarbetsbelastningar från fabriksgolv med Säker start aktiverat. Riktade verktyg och processer finns på plats i varje steg i pipelinen för maskinvaruversion och integrering för att säkerställa att säker startaktivering inte återställs av misstag eller av skadlig avsikt.

Om du verifierar att db- och dbx-sammandragen är korrekta säkerställs följande:

  • Bootloader finns i en av databasposterna
  • Bootloader-signaturen är giltig
  • Värdstarter med betrodd programvara

Genom att verifiera signaturerna för KEKpub och PKpub kan vi bekräfta att endast betrodda parter har behörighet att ändra definitionerna av vilken programvara som anses vara betrodd. Slutligen kan vi genom att se till att säker start är aktiv verifiera att dessa definitioner tillämpas.

Nästa steg

Mer information om vad vi gör för att skapa plattformsintegritet och säkerhet finns i: