Secure Boot บน SoC สร้างห่วงโซ่ความเชื่อมั่นเพื่อยืนยันระบบตั้งแต่ ROM จนถึง OS.
ในยุคที่อุปกรณ์สื่อสารและอุปกรณ์อิเล็กทรอนิกส์สามารถเชื่อมโยงถึงกันได้อย่างแพร่หลาย ประเด็นสำคัญคือการสร้างความมั่นใจว่าการบูตระบบจะใช้ซอฟต์แวร์ที่มีความถูกต้อง น่าเชื่อถือ และปลอดภัยเท่านั้น ระบบ Secure Boot บน System-on-Chip (SoC) จึงมีบทบาทสำคัญในการบังคับใช้มาตรการด้านความมั่นคงปลอดภัยในระดับฮาร์ดแวร์ พร้อมทั้งสร้าง “ห่วงโซ่แห่งความไว้วางใจ” (Chain of Trust) ที่เริ่มต้นจากคุณสมบัติพื้นฐานของซิลิคอนซึ่งไม่สามารถเปลี่ยนแปลงได้และขยายต่อไปจนถึงระบบปฏิบัติการ กระบวนการนี้ช่วยตรวจสอบความถูกต้องของโค้ดในแต่ละขั้นตอนผ่านกลไกการเข้ารหัส เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาตและลดความเสี่ยงจากมัลแวร์ที่อาจฝังตัวอยู่ในระบบ บทความนี้จะกล่าวถึงหลักการพื้นฐาน ขั้นตอน และองค์ประกอบฮาร์ดแวร์ที่ทำให้การสร้างห่วงโซ่แห่งความไว้วางใจเป็นไปได้และมีประสิทธิภาพในการป้องกันภัยคุกคาม
กระบวนการบูตเป็นช่วงที่ระบบมีความเปราะบางมากที่สุด เนื่องจากกลไกความปลอดภัยอื่น ๆ ยังไม่ถูกเรียกใช้งาน ผู้ไม่หวังดีสามารถใช้โอกาสนี้โจมตีด้วยการติดตั้ง bootkits หรือ rootkits ที่ทำงานอยู่ใต้ระบบปฏิบัติการโดยไม่ถูกตรวจพบ เพื่อรับมือกับปัญหานี้ Secure Boot จะทำหน้าที่ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ทุกส่วนที่รันระหว่างการเริ่มต้นระบบเป็นซอฟต์แวร์ที่ถูกต้องตามแหล่งที่เชื่อถือได้ (authentic) และไม่ถูกแก้ไขดัดแปลงตั้งแต่ได้รับการลงนาม ทั้งนี้ การสร้างความเชื่อมั่นดังกล่าวไม่ได้พึ่งพาซอฟต์แวร์เพียงอย่างเดียว แต่เกิดขึ้นจาก Chain of Trust ที่ฝังรากอยู่ในฮาร์ดแวร์
ห่วงโซ่แห่งความไว้วางใจคือกระบวนการตรวจสอบแบบลำดับชั้น ซึ่งแต่ละขั้นตอนจะทำหน้าที่ตรวจสอบความถูกต้องของขั้นตอนถัดไปก่อนส่งต่อการควบคุม ความแข็งแกร่งของห่วงโซ่ทั้งหมดขึ้นอยู่กับความแข็งแกร่งของ “จุดเริ่มต้น” หรือ Root of Trust (RoT)
กระบวนการนี้อาศัย การเข้ารหัสแบบกุญแจสาธารณะ (Public-Key Cryptography) โดยหน่วยงานที่เชื่อถือได้จะลงนาม (sign) แฮชที่เข้ารหัสของอิมเมจซอฟต์แวร์ด้วยกุญแจส่วนตัว ขณะที่รหัสบูตจะใช้กุญแจสาธารณะที่สอดคล้องกันเพื่อตรวจสอบลายเซ็น หากแฮชที่คำนวณได้ของอิมเมจตรงกับแฮชที่ถอดรหัสจากลายเซ็น อิมเมจนั้นจึงถือว่าถูกต้องและน่าเชื่อถือ
ห่วงโซ่แห่งความไว้วางใจเริ่มต้นจากฮาร์ดแวร์ ผ่าน Root of Trust for Verification (RTV) ซึ่งเป็นองค์ประกอบที่ไม่สามารถเปลี่ยนแปลงได้ โดยทั่วไปจะถูกฝังไว้ใน Mask ROM ของ SoC ระหว่างกระบวนการผลิต โค้ดในหน่วยความจำแบบอ่านอย่างเดียว (ROM) หรือที่เรียกว่า Boot ROM ถือเป็นรากฐานที่เชื่อถือได้อย่างแท้จริง เนื่องจากไม่สามารถแก้ไขเปลี่ยนแปลงได้ และมีหน้าที่สำคัญ ดังนี้:
OTP Fuses มีบทบาทสำคัญอย่างยิ่งในการจัดเก็บกุญแจสาธารณะหรือแฮชที่ผูกติดกับฮาร์ดแวร์ ซึ่งถือเป็นจุดเริ่มต้นที่สำคัญของความน่าเชื่อถือสำหรับการตรวจสอบขั้นต่อไป
เมื่อโค้ด ROM ทำการตรวจสอบและรัน bootloader ตัวถัดไป ความน่าเชื่อถือและความรับผิดชอบในการตรวจสอบจะถูกส่งต่อไปยังขั้นตอนนี้
ห่วงโซ่แห่งความไว้วางใจจะสิ้นสุดที่ระบบปฏิบัติการ บูตโหลดเดอร์ที่ผ่านการตรวจสอบแล้วจะส่งการควบคุมไปยังเคอร์เนล ระบบปฏิบัติการสมัยใหม่ เช่น Linux สามารถขยายความน่าเชื่อถือนี้ไปสู่สภาพแวดล้อมการทำงาน (runtime environment) โดยกำหนดให้โหลดเฉพาะโมดูลเคอร์เนลที่มีการลงนามดิจิทัลด้วยกุญแจที่เชื่อถือได้ ซึ่งช่วยคงความสมบูรณ์ของห่วงโซ่แม้หลังจากระบบบูตเสร็จสิ้นแล้ว
การบูตอย่างปลอดภัยเกิดขึ้นได้ด้วยองค์ประกอบฮาร์ดแวร์เฉพาะของ SoC ได้แก่:
SoC Secure Boot เป็นรากฐานสำคัญของการรักษาความมั่นคงปลอดภัยในอุปกรณ์สมัยใหม่ โดยอาศัยการสร้าง Chain of Trust ผ่านกลไกการตรวจสอบด้วยการเข้ารหัส ตั้งแต่ระดับฮาร์ดแวร์ที่ไม่สามารถเปลี่ยนแปลงได้ ไปจนถึงซอฟต์แวร์ที่ใช้งานจริง กลไกนี้ช่วยป้องกันการโจมตีตั้งแต่ขั้นตอนแรกของการบูต และยืนยันได้ว่าอุปกรณ์จะทำงานได้เฉพาะกับรหัสที่ได้รับอนุญาตเท่านั้น การให้ความสำคัญกับฮาร์ดแวร์เป็นอันดับแรกจึงมีบทบาทสำคัญในการสร้างรากฐานแห่งความน่าเชื่อถือ และทำให้คุณสมบัติด้านความปลอดภัยอื่น ๆ สามารถดำเนินการได้อย่างมั่นคงและปลอดภัยตามไปด้วย