Zabezpečené spouštění

Secure Boot je funkce Unified Extensible Firmware Interface (UEFI), která ověřuje všechny nízkoúrovňové firmware a softwarové komponenty před načtením. Během spouštění kontroluje zabezpečené spouštění rozhraní UEFI podpis každého spouštěcího softwaru, včetně ovladačů firmwaru UEFI (označovaných také jako možnosti ROM), aplikací EFI (Extensible Firmware Interface) a ovladačů operačního systému a binárních souborů. Pokud jsou podpisy platné nebo důvěryhodné výrobcem původního zařízení (OEM), stroj se spustí a firmware předává řízení operačnímu systému.

Komponenty a proces

Zabezpečené spouštění závisí na těchto důležitých komponentách:

  • Klíč platformy (PK) – Vytvoří vztah důvěryhodnosti mezi vlastníkem platformy (Microsoft) a firmwarem. Veřejná polovina je PKpub a soukromá polovina je PKpriv.
  • Databáze registračních klíčů (KEK) – Navazuje důvěru mezi operačním systémem a firmwarem platformy. Veřejná polovina je KEKpub a soukromá polovina je KEKpriv.
  • Databáze podpisů (db) – uchovává otisky důvěryhodných podepisovatelů (veřejné klíče a certifikáty) firmwarových a softwarových modulů kódu, které jsou oprávněny k interakci s firmwarem platformy.
  • Databáze odvolaných podpisů (dbx) – Uchovává zrušené souhrny kódových modulů, které OEM identifikuje jako škodlivé, zranitelné, kompromitované nebo nedůvěryhodné. Pokud je hash v databázi podpisů a databázi zrušených podpisů, databáze odvolaných podpisů má přednost.

Následující obrázek a postup vysvětlují, jak OEM aktualizuje tyto komponenty:

Diagram toku Secure Boot zobrazující podepsané databáze a validaci klíčů výměny klíčů při spuštění systému.

Výrobce OEM ukládá během výroby otisky funkce Secure Boot do energeticky nezávislé paměti RAM (NV-RAM) počítače.

  1. OEM naplní databázi podpisů db podpisy podepisujících subjektů nebo haši bitových kopií důvěryhodných aplikací UEFI, zavaděčů operačního systému (například Microsoft Operating System Loader nebo Boot Manager) a ovladačů UEFI.
  2. OEM naplní odebrané podpisy dbx digesty modulů, kterým už se nevěří.
  3. OEM naplní databázi klíčů KEK (Key Enrollment Key) podpisovými klíči, které mohou aktualizovat databázi signatur a databázi zneplatněných signatur. Fyzicky přítomný autorizovaný uživatel může databáze upravovat prostřednictvím aktualizací podepsaných správným klíčem nebo pomocí menu firmwaru.
  4. Po přidání databází dbx, dbx a KEK a dokončení finální validace a testování firmwaru OEM zablokuje úpravu firmwaru a vygeneruje platformový klíč (PK). OEM může PK použít k podepisování aktualizací ke KEK nebo k vypnutí Secure Boot.

Během každé fáze bootovacího procesu systém vypočítává souhrny firmwaru, bootloaderu, operačního systému, ovladačů jádra a dalších artefaktů boot chain a porovnává je s přijatelnými hodnotami. Systém neumožňuje načítání firmwaru a softwaru, který byl zjištěn jako nedůvěryhodný. Secure Boot dokáže blokovat nízkoúrovňové injekční nebo prebootovací útoky malwaru.

Zabezpečené spouštění ve flotile Azure

Dnes každý stroj nasazený ve výpočetní infrastruktuře Azure a určený pro zákaznické úlohy sjíždí z výrobních linek se zapnutým Secure Boot. Cílené nástroje a procesy jsou k dispozici v každé fázi vývoje hardwaru a integračního procesu, aby se zajistilo, že procesy omylem nebo zlým úmyslem nevrátí Secure Boot zpět.

Ověření správnosti db a dbx digests zajišťuje:

  • Bootloader je přítomen v jednom z záznamů databáze.
  • Podpis bootloaderu je platný.
  • Host bootuje s důvěryhodným softwarem.

Ověření podpisů KEKpub a PKpub potvrzuje, že pouze důvěryhodné strany mají oprávnění upravovat definice důvěryhodného softwaru. Nakonec ověření, že je Secure Boot aktivní, ověřuje, že systém tyto definice vynucuje.

Další kroky

Chcete-li se dozvědět více o tom, jak Microsoft podporuje integritu a bezpečnost platformy, viz: