Det nye UEFI Secure Boot-system i Windows 8 har forårsaget mere end sin rimelige andel af forvirring, især blandt dual booters. Læs videre, når vi rydder misforståelserne om dobbelt opstart med Windows 8 og Linux.
Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underinddeling af Stack Exchange, en community-driven gruppe af Q&A websteder.
Spørgsmålet
SuperUser-læser Harsha K er nysgerrig efter det nye UEFI-system. Han skriver:
Jeg har hørt meget om, hvordan Microsoft implementerer UEFI Secure Boot i Windows 8. Det tilsyneladende forhindrer "uautoriserede" bootloadere i at køre på computeren for at forhindre malware. Der er en kampagne fra Free Software Foundation mod sikker opstart, og mange mennesker har sagt online, at det er en "power grab" af Microsoft at "eliminere gratis operativsystemer".
Hvis jeg får en computer, der har Windows 8 og Secure Boot forudinstalleret, kan jeg stadig være i stand til at installere Linux (eller et andet operativsystem) senere? Eller fungerer en computer med Secure Boot kun nogensinde med Windows?
Så hvad er aftalen? Er dual booters virkelig ude af lykke?
Svaret
SuperUser-bidragyder Nathan Hinkle tilbyder et fantastisk overblik over hvad UEFI er og ikke er:
Først og fremmest det enkle svar på dit spørgsmål:
- Hvis du har en ARM-tablet kører Windows RT (som Surface RT eller Asus Vivo RT), så du kan ikke deaktivere Secure Boot eller installere andre operativsystemer . Som mange andre ARM-tabletter vil disse enheder kun kør det operativsystem, de følger med.
- Hvis du har en ikke-ARM-computer kører Windows 8 (som Surface Pro eller en hvilken som helst af de utallige ultrabooks, desktops og tablets med en x86-64 processor), så du kan deaktivere Secure Boot fuldstændigt , eller du kan installere dine egne nøgler og underskrive din egen bootloader. På den ene eller anden måde, du kan installere et tredjeparts OS som en Linux distro eller FreeBSD eller DOS eller hvad der helst behager dig.
Nu videre til detaljerne i, hvordan hele denne Secure Boot-ting faktisk fungerer: Der er en masse misinformation om Secure Boot, især fra Free Software Foundation og lignende grupper. Dette har gjort det svært at finde information om, hvad Secure Boot faktisk gør, så jeg vil gøre mit bedste for at forklare. Bemærk, at jeg ikke har nogen personlig erfaring med at udvikle sikre opstartssystemer eller noget lignende; det er netop det, jeg har lært af at læse online.
Først og fremmest, Secure Boot er ikke noget, som Microsoft kom på. De er de første til at implementere det bredt, men de opfandt det ikke. Det er det en del af UEFI-specifikationen , som dybest set er en nyere erstatning for den gamle BIOS, som du sandsynligvis er vant til. UEFI er dybest set den software, der taler mellem operativsystemet og hardwaren. UEFI-standarder er oprettet af en gruppe kaldet “ UEFI Forum “, Som består af repræsentanter inden for databehandlingsindustrien, herunder Microsoft, Apple, Intel, AMD og en håndfuld computerproducenter.
Det næstvigtigste punkt, at have Secure Boot aktiveret på en computer gør det ikke betyder, at computeren aldrig kan starte noget andet operativsystem . Faktisk siger Microsofts egne Windows-hardware-certificeringskrav, at for ikke-ARM-systemer skal du være i stand til både at deaktivere Secure Boot og ændre nøglerne (for at tillade andre operativsystemer). Mere om det senere.
Hvad gør Secure Boot?
I det væsentlige forhindrer det malware i at angribe din computer gennem opstartssekvensen. Malware, der kommer ind gennem bootloaderen, kan være meget vanskelig at opdage og stoppe, fordi den kan infiltrere operativsystemets lave niveaufunktioner og holde den usynlig for antivirussoftware. Alt, hvad Secure Boot virkelig gør, er at det verificerer, at bootloaderen er fra en betroet kilde, og at den ikke er blevet manipuleret med. Tænk på det som pop op-hætter på flasker, der siger "åbn ikke, hvis låget er poppet op, eller forseglingen er blevet manipuleret med".
![]()
På det øverste beskyttelsesniveau har du platformnøglen (PK). Der er kun en PK på ethvert system, og den installeres af OEM'en under fremstillingen. Denne nøgle bruges til at beskytte KEK-databasen. KEK-databasen indeholder nøgleudvekslingsnøgler, som bruges til at ændre de andre sikre boot-databaser. Der kan være flere KEK'er. Der er så et tredje niveau: den autoriserede database (db) og den forbudte database (dbx). Disse indeholder oplysninger om certifikatmyndigheder, yderligere kryptografiske nøgler og UEFI-enhedsbilleder til henholdsvis tilladelse eller blokering. For at en bootloader skal kunne køre, skal den være kryptografisk underskrevet med en nøgle der er i db, og er ikke i dbx.
![]()
Billede fra Opbygning af Windows 8: Beskyttelse af pre-OS-miljøet med UEFI
Sådan fungerer det på et virkeligt Windows 8-certificeret system
OEM genererer sin egen PK, og Microsoft leverer en KEK, som OEM'en skal forudindlæse i KEK-databasen. Microsoft underskriver derefter Windows 8 Bootloader og bruger deres KEK til at placere denne signatur i den autoriserede database. Når UEFI starter computeren, verificerer den PK, verificerer Microsofts KEK og verificerer derefter bootloaderen. Hvis alt ser godt ud, kan operativsystemet starte.
![]()
Billede fra Opbygning af Windows 8: Beskyttelse af pre-OS-miljøet med UEFIHvor kommer tredjeparts-operativsystemer, som Linux, ind?
For det første kunne enhver Linux-distro vælge at generere en KEK og bede OEM'er om at inkludere den i KEK-databasen som standard. De ville så have lige så meget kontrol over opstartsprocessen som Microsoft gør. Problemer med dette, som forklaret af Fedoras Matthew Garrett , er, at a) det ville være vanskeligt at få hver pc-producent til at medtage Fedoras nøgle, og b) det ville være uretfærdigt over for andre Linux-distroer, fordi deres nøgle ikke ville være inkluderet, da mindre distroer ikke har så mange OEM partnerskaber.
Hvad Fedora har valgt at gøre (og andre distributioner følger efter) er at bruge Microsofts signeringstjenester. Dette scenario kræver betaling af $ 99 til Verisign (certifikatmyndigheden, som Microsoft bruger) og giver udviklere mulighed for at underskrive deres bootloader ved hjælp af Microsofts KEK. Da Microsofts KEK allerede findes på de fleste computere, giver dette dem mulighed for at underskrive deres bootloader til at bruge Secure Boot uden at kræve deres egen KEK. Det ender med at være mere kompatibelt med flere computere og koster mindre generelt end at beskæftige sig med at oprette deres eget nøglesignerings- og distributionssystem. Der er nogle flere detaljer om, hvordan dette fungerer (ved hjælp af GRUB, underskrevne kernemoduler og anden teknisk info) i ovennævnte blogindlæg, som jeg anbefaler at læse, hvis du er interesseret i denne slags ting.
Antag, at du ikke vil tackle besværet med at tilmelde dig Microsofts system, eller ikke vil betale $ 99, eller bare have et nag mod store virksomheder, der starter med en M. Der er en anden mulighed for stadig at bruge Secure Boot og kør et andet operativsystem end Windows. Microsofts hardwarecertificering kræver at OEM'er lader brugerne gå ind i deres system i UEFI “brugerdefineret” tilstand, hvor de manuelt kan ændre Secure Boot-databaser og PK. Systemet kan sættes i UEFI Setup Mode, hvor brugeren endda kunne specificere deres egen PK og selv underskrive bootloaders.
Desuden gør Microsofts egne certificeringskrav det obligatorisk for OEM'er at inkludere en metode til at deaktivere Secure Boot på ikke-ARM-systemer. Du kan slå Secure Boot fra! De eneste systemer, hvor du ikke kan deaktivere Secure Boot, er ARM-systemer, der kører Windows RT, som fungerer mere på samme måde som iPad, hvor du ikke kan indlæse brugerdefinerede operativsystemer. Selvom jeg ønsker, at det ville være muligt at ændre OS på ARM-enheder, er det rimeligt at sige, at Microsoft følger industristandarden med hensyn til tablets her.
Så sikker boot er ikke i sig selv ondt?
Så som du forhåbentlig kan se, er Secure Boot ikke ondt og er ikke kun begrænset til brug sammen med Windows. Årsagen til, at FSF og andre er så ked af det, er fordi det tilføjer ekstra trin til at bruge et tredjepartsoperativsystem. Linux-distroer kan ikke lide at betale for at bruge Microsofts nøgle, men det er den nemmeste og mest omkostningseffektive måde at få Secure Boot til at arbejde for Linux. Heldigvis er det let at slå Secure Boot fra og muligt at tilføje forskellige nøgler, hvilket undgår behovet for at håndtere Microsoft.
I betragtning af mængden af stadig mere avanceret malware virker Secure Boot som en rimelig idé. Det er ikke meningen at være et ondt plot for at overtage verden, og det er meget mindre skræmmende, end nogle gratis softwarepundits vil have dig til at tro.
![]()
Yderligere læsning:
- Microsoft hardwarecertificeringskrav
- Opbygning af Windows 8: Beskyttelse af pre-OS-miljøet med UEFI
- Microsoft-præsentation om implementering af Secure Boot og nøglehåndtering
- Implementering af UEFI Secure Boot i Fedora
- TechNet Secure Boot Oversigt
- Wikipedia-artikel om UEFI
TL; DR: Sikker opstart forhindrer malware i at inficere dit system på et lavt, uopdageligt niveau under opstart. Alle kan oprette de nødvendige nøgler for at få det til at fungere, men det er svært at overbevise computerproducenter om at distribuere dit nøgle til alle, så du kan alternativt vælge at betale Verisign for at bruge Microsofts nøgle til at underskrive dine bootloadere og få dem til at fungere. Du kan også deaktivere Sikker start på nogen ikke-ARM-computer.
Sidste tanke med hensyn til FSF's kampagne mod Secure boot: Nogle af deres bekymringer (dvs. det gør det hårdere at installere gratis operativsystemer) er gyldige til et punkt . At sige, at begrænsningerne “forhindrer nogen i at starte andet end Windows”, er dog påviseligt falsk af grundene illustreret ovenfor. Kampagne mod UEFI / Secure Boot som en teknologi er kortsynet, fejlinformeret og sandsynligvis ikke effektiv. Det er vigtigere at sikre, at producenter rent faktisk følger Microsofts krav om at lade brugerne deaktivere Secure Boot eller ændre nøglerne, hvis de ønsker det.
Har du noget at tilføje til forklaringen? Lyder i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her .