Det nya UEFI Secure Boot-systemet i Windows 8 har orsakat mer än sin rättvisa del av förvirring, särskilt bland dubbla startare. Läs vidare när vi rensar missuppfattningarna om dubbel start med Windows 8 och Linux.
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Harsha K är nyfiken på det nya UEFI-systemet. Han skriver:
Jag har hört mycket om hur Microsoft implementerar UEFI Secure Boot i Windows 8. Det uppenbarligen hindrar "obehöriga" bootloaders från att köras på datorn för att förhindra skadlig kod. Det finns en kampanj från Free Software Foundation mot säker start, och många har sagt online att det är ett "power grab" av Microsoft att "eliminera gratis operativsystem".
Om jag får en dator med Windows 8 och Secure Boot förinstallerad, kommer jag fortfarande att kunna installera Linux (eller något annat operativsystem) senare? Eller fungerar en dator med Secure Boot bara med Windows?
Så vad är affären? Är det verkligen lite tur med dubbla bagageutrymmen?
Svaret
SuperUser-bidragsgivare Nathan Hinkle erbjuder en fantastisk översikt över vad UEFI är och inte är:
Först och främst det enkla svaret på din fråga:
- Om du har en ARM-surfplatta kör Windows RT (som Surface RT eller Asus Vivo RT), då du kommer inte att kunna inaktivera Secure Boot eller installera andra operativsystem . Liksom många andra ARM-surfplattor kommer dessa enheter att göra det endast kör operativsystemet som de kommer med.
- Om du har en dator som inte är ARM kör Windows 8 (som Surface Pro eller någon av de otaliga ultrabooks, stationära datorer och surfplattor med en x86-64-processor), sedan du kan inaktivera Secure Boot helt , eller så kan du installera dina egna nycklar och underteckna din egen bootloader. Hur som helst, Du kan installera ett tredjeparts OS som en Linux-distro eller FreeBSD eller DOS eller vad som helst som passar dig.
Nu, vidare till detaljerna om hur hela denna Secure Boot-sak faktiskt fungerar: Det finns mycket felinformation om Secure Boot, särskilt från Free Software Foundation och liknande grupper. Detta har gjort det svårt att hitta information om vad Secure Boot faktiskt gör, så jag ska göra mitt bästa för att förklara. Observera att jag inte har någon personlig erfarenhet av att utveckla säkra startsystem eller något liknande; det här är precis vad jag har lärt mig från att läsa på nätet.
För det första, Säker start är inte något som Microsoft kom på. De är de första som implementerar det i stor utsträckning, men de uppfann det inte. Dess del av UEFI-specifikationen , som i grunden är en nyare ersättning för den gamla BIOS som du förmodligen är van vid. UEFI är i grunden programvaran som talar mellan operativsystemet och hårdvaran. UEFI-standarder skapas av en grupp som kallas ” UEFI Forum ”, Som består av representanter för databranschen inklusive Microsoft, Apple, Intel, AMD och en handfull datortillverkare.
Den näst viktigaste punkten, har Secure Boot aktiverat på en dator inte betyder att datorn aldrig kan starta något annat operativsystem . I själva verket anger Microsofts egna Windows-hårdvarucertifieringskrav att för icke-ARM-system måste du kunna inaktivera Secure Boot och ändra nycklarna (för att tillåta andra operativsystem). Mer om det senare dock.
Vad gör Secure Boot?
I grund och botten förhindrar det skadlig kod från att attackera din dator genom startsekvensen. Skadlig programvara som kommer in via startladdaren kan vara mycket svår att upptäcka och stoppa, eftersom den kan infiltrera lågnivåfunktioner i operativsystemet och hålla den osynlig för antivirusprogram. Allt som Secure Boot verkligen gör är att det verifierar att bootloadern kommer från en betrodd källa och att den inte har manipulerats med. Tänk på det som pop-up-locken på flaskor som säger "öppna inte om locket dyker upp eller förseglingen har manipulerats med".
![]()
På den högsta skyddsnivån har du plattformsnyckeln (PK). Det finns bara en PK på något system och den installeras av OEM under tillverkningen. Den här nyckeln används för att skydda KEK-databasen. KEK-databasen innehåller nyckelutbytesnycklar som används för att modifiera andra säkra startdatabaser. Det kan finnas flera KEK. Det finns då en tredje nivå: den auktoriserade databasen (db) och den förbjudna databasen (dbx). Dessa innehåller information om certifikatutfärdare, ytterligare kryptografiska nycklar och UEFI-enhetsbilder för att tillåta respektive blockera. För att en bootloader ska kunna köras måste den vara kryptografiskt signerad med en nyckel som är i db, och är inte i dbx.
![]()
Bild från Bygga Windows 8: Skydda pre-OS-miljön med UEFI
Hur detta fungerar på ett verkligt Windows 8-certifierat system
OEM genererar sin egen PK, och Microsoft tillhandahåller en KEK som OEM krävs för att förinstallera i KEK-databasen. Microsoft signerar sedan Windows 8 Bootloader och använder sin KEK för att placera denna signatur i den auktoriserade databasen. När UEFI startar upp datorn verifierar den PK, verifierar Microsofts KEK och verifierar sedan startladdaren. Om allt ser bra ut kan operativsystemet starta.
![]()
Bild från Bygga Windows 8: Skydda pre-OS-miljön med UEFIVar kommer tredje parts operativsystem, som Linux, in?
Först kan alla Linux-distro välja att generera en KEK och be OEM-tillverkare att inkludera den i KEK-databasen som standard. De skulle då ha lika mycket kontroll över startprocessen som Microsoft gör. Problemen med detta, som förklaras av Fedoras Matthew Garrett , är det att a) det skulle vara svårt att få varje datortillverkare att inkludera Fedoras nyckel, och b) det skulle vara orättvist mot andra Linux-distros, eftersom deras nyckel inte skulle inkluderas, eftersom mindre distros inte har så många OEM partnerskap.
Vad Fedora har valt att göra (och andra distributioner följer efter) är att använda Microsofts signeringstjänster. Detta scenario kräver att du betalar 99 USD till Verisign (certifikatutfärdaren som Microsoft använder) och ger utvecklare möjlighet att signera sin startladdare med Microsofts KEK. Eftersom Microsofts KEK redan kommer att finnas på de flesta datorer gör det dem möjligt att signera sin bootloader för att använda Secure Boot, utan att behöva en egen KEK. Det blir mer kompatibelt med fler datorer och kostar mindre totalt sett än att hantera sitt eget nyckelsignerings- och distributionssystem. Det finns några mer detaljer om hur detta kommer att fungera (med GRUB, signerade kärnmoduler och annan teknisk information) i det ovannämnda blogginlägget, vilket jag rekommenderar att du läser om du är intresserad av den här typen av saker.
Anta att du inte vill ta itu med besväret med att registrera dig för Microsofts system, eller inte vill betala $ 99, eller bara ha ett nag mot stora företag som börjar med M. Det finns ett annat alternativ att fortfarande använda Secure Boot och kör ett annat operativsystem än Windows. Microsofts hårdvarucertificering kräver att OEM-tillverkare låter användare komma in i sitt system i UEFI “anpassat” läge, där de manuellt kan ändra Secure Boot-databaser och PK. Systemet kan sättas i UEFI-inställningsläge, där användaren till och med kan specificera sin egen PK och själv skriva bootloaders.
Dessutom gör Microsofts egna certifieringskrav det obligatoriskt för OEM-tillverkare att inkludera en metod för att inaktivera Secure Boot på icke-ARM-system. Du kan stänga av Secure Boot! De enda systemen där du inte kan inaktivera Secure Boot är ARM-system som kör Windows RT, som fungerar mer på samma sätt som iPad, där du inte kan ladda anpassade operativsystem. Även om jag önskar att det skulle vara möjligt att ändra OS på ARM-enheter, är det rättvist att säga att Microsoft följer branschstandarden när det gäller surfplattor här.
Så säker start är inte i sig ond?
Så som du förhoppningsvis kan se är Secure Boot inte ont och är inte begränsat till att bara användas med Windows. Anledningen till att FSF och andra är så upprörda över det beror på att det lägger till extra steg för att använda ett tredje parts operativsystem. Linux-distributioner kanske inte gillar att betala för att använda Microsofts nyckel, men det är det enklaste och mest kostnadseffektiva sättet att få Secure Boot att fungera för Linux. Lyckligtvis är det enkelt att stänga av Secure Boot, och det är möjligt att lägga till olika nycklar, vilket undviker behovet av att hantera Microsoft.
Med tanke på mängden alltmer avancerad skadlig kod verkar Secure Boot som en rimlig idé. Det är inte tänkt att vara en ond komplott för att ta över världen, och det är mycket mindre skrämmande än några gratis programvarudekreterare tror du.
![]()
Ytterligare läsning:
- Krav för Microsofts hårdvarucertifiering
- Bygga Windows 8: Skydda pre-OS-miljön med UEFI
- Microsoft-presentation om Secure Boot-distribution och nyckelhantering
- Implementering av UEFI Secure Boot i Fedora
- Översikt över TechNet Secure Boot
- Wikipedia-artikel om UEFI
TL; DR: Säker start förhindrar skadlig kod från att infektera ditt system på en låg, oupptäckbar nivå under start. Vem som helst kan skapa nödvändiga nycklar för att få det att fungera, men det är svårt att övertyga datatillverkare att distribuera din nyckel till alla, så du kan alternativt välja att betala Verisign för att använda Microsofts nyckel för att signera dina bootloaders och få dem att fungera. Du kan också inaktivera Säker start på några icke-ARM-dator.
Senaste tanke, när det gäller FSF: s kampanj mot säker start: Några av deras bekymmer (dvs det gör det hårdare för att installera gratis operativsystem) är giltiga till en punkt . Att säga att begränsningarna kommer att "hindra någon från att starta annat än Windows" är dock bevisligt falskt, av de skäl som illustreras ovan. Kampanj mot UEFI / Secure Boot som en teknik är kortsiktig, felinformerad och sannolikt inte ändå effektiv. Det är viktigare att se till att tillverkarna faktiskt följer Microsofts krav för att låta användare inaktivera Secure Boot eller byta nycklar om de så önskar.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .