หากฉันซื้อคอมพิวเตอร์ที่มี Windows 8 และ Secure Boot ฉันจะยังสามารถติดตั้ง Linux ได้หรือไม่


48

ฉันได้ยินมามากมายเกี่ยวกับวิธีที่ Microsoft ใช้ UEFI Secure Boot ใน Windows 8 เห็นได้ชัดว่ามันป้องกัน bootloaders "ไม่ได้รับอนุญาต" จากการทำงานบนคอมพิวเตอร์เพื่อป้องกันมัลแวร์ มีการรณรงค์โดยมูลนิธิซอฟต์แวร์เสรีเพื่อต่อต้านการบูทอย่างปลอดภัยและผู้คนมากมายพูดออนไลน์ว่านี่เป็น "การแย่งชิงอำนาจ" โดย Microsoft เพื่อ "กำจัดระบบปฏิบัติการฟรี"

หากฉันได้รับคอมพิวเตอร์ที่มี Windows 8 และ Secure Boot ติดตั้งไว้ล่วงหน้าฉันจะยังสามารถติดตั้ง Linux (หรือระบบปฏิบัติการอื่น) ในภายหลังได้หรือไม่ คอมพิวเตอร์ที่มี Secure Boot สามารถใช้งานกับ Windows ได้หรือไม่

คำตอบ:


70

ก่อนอื่นคำตอบง่ายๆสำหรับคำถามของคุณ:

  • หากคุณมีแท็บเล็ต ARM ที่ใช้ Windows RT (เช่น Surface RT หรือ Asus Vivo RT) คุณจะไม่สามารถปิดใช้งาน Secure Boot หรือติดตั้ง OS อื่น ๆได้ เช่นเดียวกับหลายแท็บเล็ต ARM อื่น ๆ อุปกรณ์เหล่านี้จะเพียงเรียกใช้ระบบปฏิบัติการที่พวกเขามาพร้อมกับ

  • หากคุณมีคอมพิวเตอร์ที่ไม่ใช่ ARM ที่ใช้ Windows 8 (เช่น Surface Pro หรือ Ultrabooks, เดสก์ท็อปและแท็บเล็ตใด ๆ มากมายที่มีโปรเซสเซอร์ x86-64) คุณสามารถปิดใช้งาน Secure Boot ได้อย่างสมบูรณ์หรือติดตั้งคีย์ของคุณเอง และลงชื่อ bootloader ของคุณเอง ไม่ว่าจะด้วยวิธีใดคุณสามารถติดตั้งระบบปฏิบัติการของ บริษัท อื่นเช่น Linux distroหรือ FreeBSD หรือ DOS หรืออะไรก็ตามที่คุณพอใจ


ตอนนี้ไปที่รายละเอียดเกี่ยวกับวิธีการที่ Secure Boot ใช้งานได้จริง: มีข้อมูลที่ผิดมากมายเกี่ยวกับ Secure Boot โดยเฉพาะจาก Free Software Foundation และกลุ่มที่คล้ายกัน สิ่งนี้ทำให้ยากต่อการค้นหาข้อมูลเกี่ยวกับสิ่งที่ Secure Boot ทำจริงดังนั้นฉันจะพยายามอธิบายให้ดีที่สุด โปรดทราบว่าฉันไม่มีประสบการณ์ส่วนตัวในการพัฒนาระบบบูตที่ปลอดภัยหรืออะไรทำนองนั้น นี่เป็นสิ่งที่ฉันได้เรียนรู้จากการอ่านออนไลน์

ก่อนอื่นSecure Boot ไม่ใช่สิ่งที่ Microsoft คิดขึ้นมา พวกเขาเป็นคนแรกที่นำไปใช้อย่างกว้างขวาง แต่พวกเขาไม่ได้ประดิษฐ์มันขึ้นมา เป็นส่วนหนึ่งของข้อกำหนดของ UEFIซึ่งโดยทั่วไปแล้วจะเป็นการทดแทนรุ่นใหม่สำหรับ BIOS เก่าที่คุณอาจคุ้นเคย UEFI นั้นเป็นซอฟต์แวร์ที่พูดถึงระหว่าง OS และฮาร์ดแวร์ มาตรฐาน UEFI สร้างขึ้นโดยกลุ่มที่เรียกว่า " UEFI Forum " ซึ่งประกอบด้วยตัวแทนจากอุตสาหกรรมคอมพิวเตอร์ ได้แก่ Microsoft, Apple, Intel, AMD และผู้ผลิตคอมพิวเตอร์จำนวนหนึ่ง

จุดที่สำคัญที่สุดอันดับสองการเปิดใช้งาน Secure Boot บนคอมพิวเตอร์ไม่ได้หมายความว่าคอมพิวเตอร์จะไม่สามารถบูตระบบปฏิบัติการอื่นได้ ในความเป็นจริงข้อกำหนดด้านการรับรองฮาร์ดแวร์ Windows ของ Microsoft ระบุไว้ว่าสำหรับระบบที่ไม่ใช่ ARM คุณจะต้องสามารถปิดใช้งาน Secure Boot และเปลี่ยนคีย์ (เพื่ออนุญาตระบบปฏิบัติการอื่น) เพิ่มเติมว่าภายหลัง

 

Secure Boot ทำอะไร

โดยพื้นฐานแล้วมันจะป้องกันมัลแวร์จากการโจมตีคอมพิวเตอร์ของคุณผ่านลำดับการบู๊ต มัลแวร์ที่เข้าสู่ bootloader นั้นสามารถตรวจจับและหยุดได้ยากมากเพราะมันสามารถแทรกซึมการทำงานระดับต่ำของระบบปฏิบัติการทำให้มองไม่เห็นซอฟต์แวร์ป้องกันไวรัส สิ่งที่ Secure Boot ทำจริงๆนั้นเป็นการตรวจสอบว่า bootloader นั้นมาจากแหล่งที่เชื่อถือได้และไม่ได้ถูกดัดแปลง คิดเหมือนฝาขวดป๊อปอัปบนขวดที่พูดว่า "ไม่เปิดถ้าฝาโผล่ขึ้นมาหรือมีการปิดผนึก"

ปุ่มจะปรากฏขึ้นเมื่อซีลเดิมขาด

ที่ระดับการป้องกันสูงสุดคุณมีคีย์แพลตฟอร์ม (PK) มีระบบ PK เพียงระบบเดียวเท่านั้นและติดตั้งโดย OEM ในระหว่างการผลิต คีย์นี้ใช้เพื่อป้องกันฐานข้อมูล KEK ฐานข้อมูล KEK มีคีย์การแลกเปลี่ยนคีย์ซึ่งใช้เพื่อแก้ไขฐานข้อมูลการบูตที่ปลอดภัยอื่น ๆ สามารถมีได้หลาย KEKs มีระดับที่สาม: ฐานข้อมูลที่ได้รับอนุญาต (db) และฐานข้อมูลที่ต้องห้าม (dbx) เหล่านี้มีข้อมูลเกี่ยวกับผู้ออกใบรับรองคีย์เข้ารหัสลับเพิ่มเติมและรูปภาพอุปกรณ์ UEFI เพื่ออนุญาตหรือบล็อกตามลำดับ เพื่อให้ bootloader ได้รับอนุญาตให้ทำงานจะต้องมีการเซ็นชื่อแบบเข้ารหัสลับด้วยคีย์ที่อยู่ใน db และไม่ได้อยู่ใน dbx

รหัสแพลตฟอร์ม> KEK> (อนุญาตแฮช / อนุญาตแฮชที่ไม่อนุญาต)
ภาพจากการสร้าง Windows 8: การปกป้องสภาพแวดล้อม pre-OS ด้วย UEFI

วิธีนี้ใช้ได้กับระบบ Windows 8 ที่ผ่านการรับรองจริง

OEM สร้าง PK ของตัวเองและ Microsoft ให้ KEK ว่า OEM จำเป็นต้องมีการโหลดล่วงหน้าลงในฐานข้อมูล KEK Microsoft ลงนาม Bootloader ของ Windows 8 และใช้ KEK เพื่อวางลายเซ็นนี้ในฐานข้อมูลที่ได้รับอนุญาต เมื่อ UEFI บู๊ตเครื่องคอมพิวเตอร์จะทำการตรวจสอบ PK ตรวจสอบ KEK ของ Microsoft แล้วตรวจสอบ bootloader หากทุกอย่างดูดีแล้วระบบปฏิบัติการก็สามารถบู๊ตได้

Secure boot ใน Windows 8: Native UEFI> ตัวโหลด OS ที่ตรวจสอบแล้วเท่านั้น> OS Start / UEFI เท่านั้นที่จะเรียกใช้ตัวโหลด OS ที่ตรวจสอบแล้ว / มัลแวร์ไม่สามารถเปลี่ยน boot loader ได้
ภาพจากการสร้าง Windows 8: การปกป้องสภาพแวดล้อม pre-OS ด้วย UEFI

 

ระบบปฏิบัติการของ บริษัท อื่นเช่น Linux เข้ามาที่ไหน

อันดับแรก Linux distro ใด ๆ สามารถเลือกที่จะสร้าง KEK และขอให้ OEM รวมไว้ในฐานข้อมูล KEK โดยค่าเริ่มต้น จากนั้นพวกเขาก็จะสามารถควบคุมกระบวนการบู๊ตได้เช่นเดียวกับ Microsoft ปัญหาเกี่ยวกับเรื่องนี้ตามที่ Matthew Garrett อธิบายไว้ของ Fedoraคือ a) มันยากที่จะทำให้ผู้ผลิตพีซีทุกรายรวมคีย์ของ Fedora และ b) มันจะไม่เป็นธรรมต่อ Linux distros อื่นเนื่องจากจะไม่มีการรวมคีย์ของพวกเขา และ distros ที่มีขนาดเล็กกว่านั้นไม่มีพันธมิตร OEM มากมาย

สิ่งที่ Fedora ได้เลือกที่จะทำ (และสิ่งอื่นที่ตามมาคือชุดสูท) คือการใช้บริการลงนามของ Microsoft สถานการณ์นี้ต้องจ่าย $ 99 ให้กับ Verisign (ผู้ให้บริการออกใบรับรองที่ Microsoft ใช้) และมอบสิทธิ์ให้นักพัฒนาในการลงนาม bootloader โดยใช้ KEK ของ Microsoft เนื่องจาก KEK ของ Microsoft จะอยู่ในคอมพิวเตอร์ส่วนใหญ่แล้วจึงอนุญาตให้ลงชื่อใน bootloader เพื่อใช้ Secure Boot โดยไม่ต้องใช้ KEK ของตัวเอง มันจบลงด้วยการเข้ากันได้กับคอมพิวเตอร์มากขึ้นและค่าใช้จ่ายโดยรวมน้อยกว่าการจัดการกับการตั้งค่าระบบการเซ็นชื่อและการแจกจ่ายคีย์ของตนเอง มีรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงาน (ใช้ GRUB, โมดูลเคอร์เนลที่ลงนาม, และข้อมูลทางเทคนิคอื่น ๆ ) ในโพสต์บล็อกดังกล่าวข้างต้นซึ่งผมขอแนะนำให้อ่านหากคุณสนใจสิ่งเหล่านี้

สมมติว่าคุณไม่ต้องการจัดการกับความยุ่งยากในการลงทะเบียนสำหรับระบบของ Microsoft หรือไม่ต้องการจ่าย $ 99 หรือเพียงแค่มีความขุ่นเคืองกับองค์กรขนาดใหญ่ที่เริ่มต้นด้วย M. มีตัวเลือกอื่นที่ยังคงใช้ Secure Boot และเรียกใช้ระบบปฏิบัติการอื่นที่ไม่ใช่ Windows การรับรองฮาร์ดแวร์ของ Microsoft กำหนดให้ OEM ให้ผู้ใช้เข้าสู่ระบบของพวกเขาในโหมด "กำหนดเอง" UEFI ซึ่งพวกเขาสามารถแก้ไขฐานข้อมูล Secure Boot และ PK ด้วยตนเองได้ ระบบสามารถใส่ในโหมดการตั้งค่า UEFI ซึ่งผู้ใช้สามารถระบุ PK ของตนเองและลงนาม bootloaders ด้วยตนเอง

นอกจากนี้ข้อกำหนดการรับรองของ Microsoft เองทำให้ผู้ผลิต OEM จำเป็นต้องรวมวิธีปิดใช้งาน Secure Boot ในระบบที่ไม่ใช่ ARM คุณสามารถปิด Secure Boot ได้! ระบบเดียวที่คุณไม่สามารถปิดการใช้งาน Secure Boot คือระบบ ARM ที่ใช้ Windows RT ซึ่งทำงานคล้ายกับ iPad มากกว่าซึ่งคุณไม่สามารถโหลด OS แบบกำหนดเองได้ แม้ว่าฉันหวังว่ามันจะเป็นไปได้ที่จะเปลี่ยนระบบปฏิบัติการบนอุปกรณ์ ARM แต่ก็มีความเป็นธรรมที่จะกล่าวว่า Microsoft กำลังปฏิบัติตามมาตรฐานอุตสาหกรรมเกี่ยวกับแท็บเล็ตที่นี่

 

ดังนั้นการบูตที่ปลอดภัยไม่ใช่สิ่งชั่วร้าย

ดังนั้นอย่างที่คุณสามารถเห็นได้ว่า Secure Boot ไม่ใช่ความชั่วร้ายและไม่ได้ถูก จำกัด ให้ใช้กับ Windows เท่านั้น เหตุผลที่ FSF และคนอื่น ๆ รู้สึกไม่ดีเกี่ยวกับมันเพราะมันเพิ่มขั้นตอนพิเศษในการใช้ระบบปฏิบัติการของบุคคลที่สาม Linux distros อาจไม่ชอบการจ่ายเงินเพื่อใช้คีย์ของ Microsoft แต่เป็นวิธีที่ง่ายและประหยัดที่สุดในการทำให้ Secure Boot ทำงานได้กับ Linux โชคดีที่มันเป็นเรื่องง่ายที่จะปิด Secure Boot และสามารถเพิ่มคีย์ที่แตกต่างกันได้ดังนั้นจึงไม่จำเป็นต้องจัดการกับ Microsoft

เมื่อพิจารณาจากจำนวนมัลแวร์ขั้นสูงที่เพิ่มขึ้น Secure Boot ดูเหมือนเป็นแนวคิดที่สมเหตุสมผล มันไม่ได้หมายความว่าจะเป็นแผนการชั่วร้ายที่จะยึดครองโลกและเป็นสิ่งที่น่ากลัวน้อยกว่าคุณจะเชื่อว่าผู้มีฝีมือด้านซอฟต์แวร์ฟรีบางคน

โลโก้ UEFI ที่ชั่วร้าย

อ่านเพิ่มเติม:


TL; DR: การบู๊ตอย่างปลอดภัยป้องกันมัลแวร์ไม่ให้ติดไวรัสระบบของคุณในระดับต่ำและตรวจจับไม่ได้ระหว่างการบู๊ต ทุกคนสามารถสร้างคีย์ที่จำเป็นเพื่อให้ทำงานได้ แต่เป็นการยากที่จะโน้มน้าวให้ผู้ผลิตคอมพิวเตอร์แจกจ่ายกุญแจของคุณให้กับทุกคนดังนั้นคุณสามารถเลือกชำระ Verisign เพื่อใช้คีย์ของ Microsoft ในการลงนาม bootloaders และทำให้มันทำงานได้ นอกจากนี้คุณยังสามารถปิดการใช้งาน Boot การรักษาความปลอดภัยบนใด ๆคอมพิวเตอร์ที่ไม่ใช่ ARM

ความคิดล่าสุดเกี่ยวกับการรณรงค์ของ FSF ในการป้องกันการบูทอย่างปลอดภัย: ข้อกังวลบางประการของพวกเขา (เช่นทำให้การติดตั้งระบบปฏิบัติการฟรีทำได้ยากขึ้น ) ใช้ได้กับประเด็นนั้น ๆ การกล่าวว่าข้อ จำกัด จะ "ป้องกันไม่ให้ใครก็ตามที่บูตเครื่อง แต่ Windows" เป็นสิ่งที่พิสูจน์ได้ว่าเป็นเท็จ แต่ด้วยเหตุผลที่แสดงไว้ด้านบน การรณรงค์ต่อต้าน UEFI / Secure Boot ในฐานะที่เป็นเทคโนโลยีที่มีสายตาสั้นผิด ๆ และไม่น่าจะมีประสิทธิภาพต่อไป สิ่งสำคัญคือต้องแน่ใจว่าผู้ผลิตปฏิบัติตามข้อกำหนดของ Microsoft เพื่อให้ผู้ใช้ปิดการใช้งาน Secure Boot หรือเปลี่ยนคีย์หากต้องการ


4
>> "ก่อนอื่น Secure Boot ไม่ใช่สิ่งที่ Microsoft มาพร้อมกับ ... เป็นส่วนหนึ่งของข้อกำหนด UEFI ซึ่งโดยทั่วไปแล้วจะเป็นการแทนที่รุ่นใหม่สำหรับ BIOS เก่าที่คุณอาจคุ้นเคย ... UEFI มาตรฐานถูกสร้างขึ้นโดยกลุ่มที่เรียกว่า "UEFI Forum" ซึ่งประกอบไปด้วยตัวแทนอุตสาหกรรมคอมพิวเตอร์รวมถึง Microsoft, Apple ... "สิ่งที่คุณหมายถึงคือ Secure Boot ไม่ใช่สิ่งที่ Microsoft มาด้วยตัวเอง
mcalex

@malex ฉันคิดว่านั่นเป็นการประเมินที่ยุติธรรม
nhinkle

2
นี่คือที่เยี่ยมยอดคำอธิบายที่ทำได้ดี ฉันคิดว่าฉันรู้จัก Secure Boot แต่ฉันได้เรียนรู้มากมายจากคำตอบนี้ ฉันภูมิใจที่ได้ร่วมโหวตมัน
Harsha K

4
+1 < สไตล์ Ivo > บางทีคุณควรเขียนโพสต์บล็อกเกี่ยวกับ @nhinkle นี้ -) </ สไตล์ Ivo >
Tamara Wijsman

2
ไม่ใช่Microsoftที่เป็นห่วงฉันอยู่ที่นี่ แต่เป็นผู้ผลิต แน่นอนว่าอุปกรณ์ ARM อาจยังคงถูกมองว่าเป็นของเล่นอยู่ในขณะนี้แต่แพลตฟอร์ม ARM ต่างๆนั้นมีระยะทางที่เลวร้ายในช่วงไม่กี่ปีที่ผ่านมาและฉันสามารถจินตนาการได้อย่างง่ายดายในหนึ่งวันเมื่อคนใช้มันมากกว่าแค่ดูวิดีโอ YouTube ... การให้ความสามารถในการอัปเดตหรือแทนที่ระบบปฏิบัติการในตอนนี้ดูเหมือนจะเป็นเรื่องสั้น ที่กล่าวว่าขอขอบคุณที่เขียนสิ่งนี้ขึ้นมา - มันช่วยชี้แจงได้อย่างชัดเจนว่าอะไรคืออะไรและไม่มีปัญหาอะไรเกี่ยวกับ Secure Boot
Shog9
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.