Hvis jeg køber en computer med Windows 8 og Secure Boot, kan jeg stadig installere Linux?
Det nye UEFI Secure Boot-system i Windows 8 har forårsaget mere end sin retfærdige andel af forvirring, især blandt dual booters. Læs videre, da vi rydder op for misforståelser om dobbelt opstart med Windows 8 og Linux.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling 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 forhindrer tilsyneladende at "uautoriserede" bootloaders kører på computeren for at forhindre malware. Der er en kampagne fra Free Software Foundation mod sikker boot, og mange 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, vil jeg stadig kunne installere Linux (eller noget andet OS) senere? Eller arbejder en computer med Secure Boot kun 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 er 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. Ligesom mange andre ARM-tabletter vil disse enheder kun kør det operativsystem de kommer med.
- Hvis du har en ikke-ARM-computer kører Windows 8 (som Surface Pro eller nogen af de myriade ultrabooks, desktops og tabletter med en x86-64 processor), så du kan deaktivere Secure Boot helt, 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 operativsystem som en Linux distro eller FreeBSD eller DOS eller hvad som helst, der glæder dig.
Nu, videre til detaljerne om, hvordan denne hele Secure Boot-ting rent faktisk virker: Der er meget 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 prøve mit bedste for at forklare. Bemærk, at jeg ikke har nogen personlig erfaring med at udvikle sikre opstartssystemer eller noget lignende; Det er bare hvad jeg har lært af at læse online.
Først og fremmest, Secure Boot er ikke noget, som Microsoft kom op med. De er de første til at gennemføre det i vid udstrækning, men de opfandt det ikke. Det er en del af UEFI-specifikationen, som i grunden er en nyere erstatning for det gamle BIOS, som du sandsynligvis er vant til. UEFI er dybest set den software, der snakker mellem OS og hardware. UEFI-standarder oprettes af en gruppe kaldet "UEFI Forum", som består af repræsentanter for databehandlingsindustrien, herunder Microsoft, Apple, Intel, AMD og en håndfuld computerproducenter.
Andet vigtigste punkt, at have Secure Boot aktiveret på en computer gør ikke betyder at computeren aldrig kan starte noget andet operativsystem. Faktisk hedder Microsofts egne Windows-hardwarecertificeringskrav, at for ikke-ARM-systemer skal du begge kunne deaktivere Secure Boot og ændre tasterne (for at tillade andre operativsystemer). Mere om det senere dog.
Hvad gør Secure Boot?
I det væsentlige forhindrer det malware fra at angribe din computer gennem opstartssekvensen. Malware, der går igennem bootloaderen, kan være meget vanskeligt at opdage og stoppe, fordi det kan infiltrere lavnivefunktioner i operativsystemet, hvilket gør det usynligt for antivirusprogrammer. Alt, hvad Secure Boot virkelig gør, er, at det verificerer, at bootloaderen er fra en pålidelig kilde, og at den ikke er blevet manipuleret. Tænk på det som pop-up caps på flasker, der siger "ikke åbne, hvis låget er poppet op eller tætningen er blevet manipuleret med".
På det øverste niveau af beskyttelse har du platformtasten (PK). Der er kun en PK på ethvert system, og det er installeret af OEM under fremstillingen. Denne nøgle bruges til at beskytte KEK-databasen. KEK-databasen indeholder Key Exchange Keys, som bruges til at ændre de andre sikre opstartsdatabaser. Der kan være flere KEK'er. Der er så et tredje niveau: den autoriserede database (db) og den forbudte datbase (dbx). Disse indeholder oplysninger om certifikatautoriteter, yderligere kryptografiske nøgler og UEFI-enhedsbilleder, der tillader eller blokerer. For at en bootloader skal kunne køre, skal den kryptografisk underskrives med en nøgle som er i db og er ikke i dbx.
Billede fra Building Windows 8: Beskyttelse af før-OS-miljøet med UEFI
Sådan fungerer det på et ægte Windows 8-certificeret system
OEM'en genererer sin egen PK, og Microsoft leverer en KEK, som OEM'en er forpligtet til at forudindlæse i KEK-databasen. Microsoft underskriver derefter Windows 8 Bootloader, og bruger deres KEK til at sætte denne underskrift 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 Building Windows 8: Beskyttelse af før-OS-miljøet med UEFIHvor kommer tredjeparts operativsystemer, som Linux, ind?
For det første kan 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 så meget kontrol over opstartsprocessen som Microsoft gør. Problemet med dette, som forklaret af Fedora's Matthew Garrett, er at a) det ville være svært at få alle pc-producenter til at inkludere Fedora's nøgle, og b) det ville være uretfærdigt for andre Linux distroer, fordi deres nøgle ikke ville medtages , da mindre distroer ikke har så mange OEM-partnerskaber.
Hvad Fedora har valgt at gøre (og andre distroer følger efter) er at bruge Microsofts signeringstjenester. Dette scenario kræver at betale $ 99 til Verisign (den certificeringsmyndighed, 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 for at bruge Secure Boot uden at kræve deres egne KEK. Det ender med at være mere kompatibel med flere computere, og koster mindre generelt end at beskæftige sig med at oprette deres eget centrale signerings- og distributionssystem. Der er nogle flere detaljer om, hvordan dette vil fungere (ved hjælp af GRUB, underskrevne Kernel-moduler og anden teknisk info) i det ovennævnte blogindlæg, som jeg anbefaler at læse, hvis du er interesseret i denne slags ting.
Antag, at du ikke ønsker at klare problemerne med at tilmelde dig Microsofts system eller ikke ønsker at betale $ 99 eller bare have vred 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 hardware certificering kræver at OEM'er giver brugerne adgang til deres system i UEFI "custom" -tilstand, hvor de manuelt kan ændre Secure Boot-databaserne og PK'en. Systemet kan sættes i UEFI Setup Mode, hvor brugeren selv kunne angive deres egen PK og signere bootloaders selv.
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 slukke for Secure Boot! De eneste systemer, hvor du ikke kan deaktivere Secure Boot, er ARM-systemer, der kører Windows RT, som fungerer mere ens på 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 tabletter her.
Så sikker boot er ikke iboende ond?
Så som du forhåbentlig kan se, er Secure Boot ikke ondt, og er ikke begrænset kun 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 tredjeparts operativsystem. Linux distros 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 på for Linux. Heldigvis er det let at slukke Secure Boot, og det er muligt at tilføje forskellige nøgler, hvilket gør det umuligt at håndtere Microsoft.
I betragtning af mængden af mere avanceret malware virker Secure Boot som en rimelig ide. Det er ikke meningen, at det er et ondt plot at overtage verden, og det er meget mindre skræmmende end nogle frie software pundits vil have dig til at tro.
Yderligere læsning:
- Microsoft Hardware Certification Requirements
- Opbygning af Windows 8: Beskyttelse af før-OS-miljøet med UEFI
- Microsoft præsentation om Secure Boot-implementering og nøglehåndtering
- Implementering af UEFI Secure Boot i Fedora
- TechNet Secure Boot Overview
- Wikipedia artikel om UEFI
TL; DR: Sikker opstart forhindrer malware i at inficere dit system på et lavt, uopdageligt niveau under opstarten. Alle kan skabe de nødvendige nøgler for at få det til at fungere, men det er svært at overbevise computerproducenter om at distribuere dine nøglen til alle, så du kan alternativt vælge at betale Verisign for at bruge Microsofts nøgle til at underskrive dine bootloaders og få dem til at fungere. Du kan også deaktivere Secure Boot on nogen ikke-ARM-computer.
Sidste tanke med hensyn til FSF's kampagne mod Secure boot: Nogle af deres bekymringer (det vil sige det gør det hårdere at installere gratis operativsystemer) er gyldige til et punkt. At sige, at begrænsningerne vil "forhindre nogen i at starte noget andet end Windows" er påviseligt falsk dog af de grunde, der er illustreret ovenfor. Kampagne mod UEFI / Secure Boot som en teknologi er kortsynet, misinformeret og usandsynligt at være effektiv alligevel. Det er mere vigtigt at sikre, at producenterne rent faktisk følger Microsofts krav til at lade brugerne deaktivere Secure Boot eller ændre nøglerne, hvis de ønsker det.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.