Ако си купя компютър с Windows 8 и Secure Boot Мога ли все още да инсталирате Linux?
Новата UEFI Secure Boot система в Windows 8 е предизвикала повече от справедливата част от объркването, особено сред двойните стартиращи устройства. Прочетете, докато изясняваме погрешните схващания за двойното зареждане с Windows 8 и Linux.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Въпроса
Четецът на SuperUser Harsha K е любопитен за новата UEFI система. Той пише:
Чувал съм много за това как Microsoft внедрява UEFI Secure Boot в Windows 8. Очевидно това пречи на „неоторизираните“ буутлоудъри да работят на компютъра, за да предотврати злонамерен софтуер. Има кампания на Фондацията за свободен софтуер срещу защитено зареждане, а много хора казват онлайн, че Microsoft е "захранване с власт", за да "елиминира свободните операционни системи".
Ако получа предварително инсталиран компютър с Windows 8 и Secure Boot, ще мога ли да мога да инсталирам Linux (или друга операционна система) по-късно? Или пък компютърът с Secure Boot работи само с Windows?
И така, каква е сделката? Има ли двойни обувки наистина от късмет?
Отговорът
Сътрудникът на SuperUser Nathan Hinkle предлага фантастичен преглед на това, което UEFI е и не е:
Първо, простият отговор на въпроса ви:
- Ако имате ARM таблетка тогава Windows RT (като Surface RT или Asus Vivo RT), тогава няма да можете да деактивирате Secure Boot или да инсталирате други операционни системи. Подобно на много други ARM таблетки, тези устройства ще само пуснете операционната система, с която идват.
- Ако имате компютър, който не е ARM Windows 8 (като Surface Pro или някоя от безбройните ултрабуци, настолни компютри и таблети с x86-64 процесор), можете напълно да деактивирате Secure Boot, или можете да инсталирате собствени ключове и да подпишете свой собствен буутлоудър. Така или иначе, можете да инсталирате операционна система на трети лица като дистрибуция на Linux или FreeBSD или DOS или каквото ви хареса.
Сега, за подробности за това как работи цялото това нещо със Secure Boot: Има много невярна информация за Secure Boot, особено от фондацията за свободен софтуер и подобни групи. Това прави трудно да се намери информация за това какво прави Secure Boot, така че ще се опитам да обясня. Имайте предвид, че нямам личен опит в разработването на защитени системи за стартиране или нещо подобно; това е точно това, което съм научил от четенето онлайн.
Преди всичко, Secure Boot е не нещо, което Microsoft измисли. Те са първите, които широко я прилагат, но не са го измислили. Това е част от UEFI спецификацията, която по същество е по-новата подмяна на стария BIOS, за който вероятно сте свикнали. UEFI е основно софтуер, който говори между операционната система и хардуера. UEFI стандартите са създадени от група, наречена "UEFI Forum", която се състои от представители на компютърната индустрия, включително Microsoft, Apple, Intel, AMD и шепа производители на компютри.
Втората най-важна точка, включването на Secure Boot на компютъра не означава, че компютърът никога не може да зарежда всяка друга операционна система. Всъщност, собствените изисквания на Microsoft за сертифициране на хардуер на Windows гласят, че за не-ARM системите трябва да можете да деактивирате Secure Boot и да промените ключовете (за да позволите други операционни системи). Повече за това по-късно обаче.
Какво прави Secure Boot?
По същество тя предотвратява атаката на компютъра ви чрез последователността на зареждане. Зловредният софтуер, който влиза в системата за начално зареждане, може да бъде много труден за откриване и спиране, тъй като може да проникне в функциите на операционната система на ниско ниво, като я държи невидим за антивирусен софтуер. Всичко, което Secure Boot наистина прави, е, че проверява дали буутлоудъра е от надежден източник и че не е бил подправен. Помислете за това като изскачащи капачки на бутилки, които казват „не се отваряйте, ако капакът се появи или печатът е бил подправен“.
При най-високо ниво на защита имате ключ на платформата (PK). На всяка система има само една РК и тя се инсталира от OEM по време на производството. Този ключ се използва за защита на базата данни на KEK. Базата данни на KEK съдържа ключови клавиши за обмен, които се използват за модифициране на други бази данни за безопасно зареждане. Може да има няколко КЕК. След това има трето ниво: Оторизираната база данни (db) и Забранената Datbase (dbx). Те съдържат информация за сертифициращите органи, допълнителните криптографски ключове и изображенията на устройствата UEFI за разрешаване или съответно блокиране. За да може да се стартира буутлоудъра, той трябва да бъде криптиран с ключ, който е в db, и не е в dbx.
Изображение от сграда Windows 8: Защита на средата преди операционната система с UEFI
Как става това в реална система Windows 8 Certified
OEM генерира собствена PK, а Microsoft предоставя на KEK, че OEM трябва да зареди предварително в базата данни KEK. След това Microsoft подписва Bootloader на Windows 8 и използва техния KEK, за да постави този подпис в оторизираната база данни. Когато UEFI зарежда компютъра, той проверява PK, проверява KEK от Microsoft и след това проверява буутлоудъра. Ако всичко изглежда добре, операционната система може да стартира.
Изображение от сграда Windows 8: Защита на средата преди операционната система с UEFIКъде идват операционните системи на трети страни, като Linux?
Първо, всеки дистрибутив на Linux може да избере да генерира KEK и да поиска от OEM да го включи в базата данни KEK по подразбиране. Тогава те ще имат колкото се може по-голям контрол над процеса на зареждане, както прави Microsoft. Проблемите с това, както обяснява Матю Гарет от Fedora, са, че: а) ще бъде трудно да се накара всеки производител на компютри да включи ключа на Fedora, и б) би било несправедливо спрямо други дистрибуции на Linux, защото ключът им не би бил включен , тъй като по-малките дистрибуции нямат толкова много партньорства с OEM.
Това, което Fedora е избрала да направи (и други дистрибуции следват) е да използва услугите на Microsoft за подписване. Този сценарий изисква заплащане на 99 долара за Verisign (сертифициращият орган, който Microsoft използва) и дава възможност на разработчиците да подписват своя буутлоудър с помощта на Microsoft KEK. Тъй като KEK на Microsoft вече ще бъде в повечето компютри, това им позволява да подпишат своя буутлоудър, за да използват Secure Boot, без да изискват собствените си KEK. В крайна сметка той е по-съвместим с повече компютри и струва по-малко като цяло, отколкото при създаването на собствена система за подписване и разпространение на ключове. Има някои подробности за това как ще работи (използвайки GRUB, подписани модули на ядрото и друга техническа информация) в гореспоменатия пост в блога, който препоръчвам да прочетете, ако се интересувате от такива неща.
Да предположим, че не искате да се справяте с неудобството да се регистрирате за системата на Microsoft, или не искате да плащате $ 99, или просто да имате недоволство срещу големи корпорации, които започват с М. Има и друга възможност да използвате Secure Boot и стартирате операционна система, различна от Windows. Хардуерната сертификация на Microsoft изисква че производителите позволяват на потребителите да въведат своята система в „потребителски“ режим на UEFI, където могат ръчно да променят базите данни за защитено зареждане и PK. Системата може да бъде поставена в UEFI Setup Mode, където потребителят може дори да посочи собствената си PK и да подпише буутлоудърите.
Освен това собствените изисквания за сертифициране на Microsoft правят задължението на OEM да включат метод за деактивиране на Secure Boot на системи без ARM. Можете да изключите защитеното зареждане! Единствените системи, в които не можете да деактивирате Secure Boot, са ARM системи, работещи с Windows RT, които функционират по-подобно на iPad, където не можете да зареждате персонализирани операционни системи. Въпреки, че ми се иска да е възможно да се промени операционната система на ARM устройствата, справедливо е да се каже, че Microsoft следва индустриалния стандарт по отношение на таблетите тук.
Така че безопасното зареждане не е само по себе си зло?
Така че, както може да се надяваме, Secure Boot не е зло и не е ограничен само за използване с Windows. Причината, поради която FSF и други са толкова разстроени, е, че той добавя допълнителни стъпки за използване на операционна система на трета страна. Дистрибуциите на Linux може да не обичат да плащат, за да използват ключа на Microsoft, но това е най-лесният и най-рентабилен начин да получите Secure Boot, работещ за Linux. За щастие, лесно е да изключите Secure Boot и да добавите различни ключове, като по този начин се избягва необходимостта от работа с Microsoft.
Като се има предвид обемът на все по-напредналите зловредни програми, Secure Boot изглежда като разумна идея. Не е замислено да бъде зъл заговор, за да завладее света, и е много по-малко страшен, отколкото някои свободни софтуерни експерти ще ви накарат да вярвате.
Допълнително четене:
- Изисквания за сертифициране на хардуер на Microsoft
- Изграждане на Windows 8: Защита на средата преди операционната система с UEFI
- Представяне на Microsoft относно внедряването на защитено стартиране и управлението на ключовете
- Прилагане на UEFI Secure Boot във Fedora
- TechNet Secure Boot Overview
- Статия за Уикипедия за UEFI
TL; DR: Защитното зареждане предотвратява заразяването на вашата система на ниско, неоткриваемо ниво по време на зареждане. Всеки може да създаде необходимите ключове, за да работи, но е трудно да убедим производителите на компютри да разпространяват Вашият ключ към всички, така че можете да изберете да платите на Verisign да използвате ключа на Microsoft, за да подпишете своите буутлоудъри и да ги накарате да работят. Можете също да деактивирате защитеното зареждане на който и да е компютър без ARM.
Последна мисъл, свързана с кампанията на FSF срещу Secure boot: Някои от техните притеснения (т.е. тя го прави по-трудно за инсталиране на безплатни операционни системи) са валидни до точка. Да се каже, че ограниченията „ще попречат на никого да зарежда нещо друго освен Windows“, е очевидно погрешно, макар и поради причините, илюстрирани по-горе. Кампанията срещу UEFI / Secure Boot като технология е недалновидна, дезинформирана и е малко вероятно да бъде ефективна. По-важно е да се гарантира, че производителите действително следват изискванията на Microsoft, за да позволят на потребителите да деактивират Secure Boot или да променят ключовете, ако желаят.
Имате ли какво да добавите към обяснението? Звукът е изключен в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.