สถานะอุปกรณ์จะระบุว่าสามารถแฟลชซอฟต์แวร์ในอุปกรณ์ได้อย่างอิสระเพียงใด และ
ว่ามีการบังคับใช้การยืนยันหรือไม่ สถานะของอุปกรณ์คือLOCKED
และ
UNLOCKED
อุปกรณ์ LOCKED
เครื่องป้องกันไม่ให้คุณกะพริบ
กับอุปกรณ์ ในขณะที่ UNLOCKED
อุปกรณ์
การแก้ไข
เมื่อเปิดอุปกรณ์ Bootloader จะตรวจสอบก่อนว่าอุปกรณ์
LOCKED
หรือ UNLOCKED
หากอุปกรณ์คือ
UNLOCKED
แล้ว Bootloader จะแสดงคำเตือนแก่ผู้ใช้แล้วจึงดำเนินการต่อ
ในการเปิดเครื่องแม้ว่าระบบปฏิบัติการที่โหลดจะไม่ได้ลงชื่อโดย Root of Trust
หากอุปกรณ์คือ LOCKED
Bootloader จะดำเนินการตามขั้นตอนใน
กำลังยืนยันการเปิดเครื่องเพื่อยืนยัน
ซอฟต์แวร์ของอุปกรณ์ อุปกรณ์ LOCKED
เครื่องจะเริ่มต้นระบบเฉพาะเมื่อ
ระบบปฏิบัติการที่โหลดได้รับการลงนามอย่างถูกต้องโดยระดับรูทของความน่าเชื่อถือ ดูรายละเอียดเพิ่มเติมได้ที่
ขั้นตอนการเปิดเครื่อง
การเปลี่ยนสถานะอุปกรณ์
หากต้องการเปลี่ยนสถานะของอุปกรณ์ ให้ใช้
คำสั่ง fastboot flashing [unlock | lock]
เพื่อปกป้องผู้ใช้
ข้อมูล การเปลี่ยนสถานะทั้งหมดจะล้างพาร์ติชันข้อมูลและถามหาผู้ใช้
การยืนยันก่อนที่ข้อมูลจะถูกลบ
คาดว่าจะเปลี่ยน UNLOCKED
เป็น LOCKED
ได้เมื่อ
ผู้ใช้ซื้ออุปกรณ์การพัฒนามือสอง เนื่องจากการล็อกอุปกรณ์
ผู้ใช้ควรมั่นใจได้ว่าอุปกรณ์อยู่ในสถานะที่อุปกรณ์สร้างขึ้น
แต่ไม่มีคำเตือน LOCKED
ไปยัง
คาดว่าการเปลี่ยน UNLOCKED
จะเกิดขึ้นเมื่อนักพัฒนาซอฟต์แวร์ต้องการปิดใช้
ในอุปกรณ์เพื่อการพัฒนา
รูทของความน่าเชื่อถือ
รูทของความน่าเชื่อถือคือคีย์การเข้ารหัสที่ใช้ในการลงนามสำเนาของ Android จัดเก็บอยู่ในอุปกรณ์ ส่วนส่วนตัวของระดับรูทของความน่าเชื่อถือจะทราบเฉพาะ ผู้ผลิตอุปกรณ์และใช้เพื่อรับรอง Android ทุกเวอร์ชัน ส่วนสาธารณะของรูทความน่าเชื่อถือจะฝังอยู่ในอุปกรณ์และ ถูกจัดเก็บไว้ในสถานที่ใดสถานที่หนึ่ง เพื่อไม่ให้เข้าไปแทรกแซงได้ (โดยปกติเป็นแบบอ่านอย่างเดียว พื้นที่เก็บข้อมูล)
เมื่อโหลด Android แล้ว Bootloader จะใช้รูทของความน่าเชื่อถือเพื่อยืนยัน ความน่าเชื่อถือ ดูรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการนี้ได้ที่ การยืนยันการเปิดเครื่อง อุปกรณ์อาจมี Boot Loader หลายรายการและคีย์การเข้ารหัสหลายรายการอาจทำงานอยู่
รูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้
อุปกรณ์สามารถเลือกที่จะอนุญาตให้ผู้ใช้กำหนดค่ารูทของความน่าเชื่อถือ (สำหรับ เช่น คีย์สาธารณะ) อุปกรณ์สามารถใช้รูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้นี้สำหรับ การเปิดเครื่องที่ได้รับการยืนยันแทนรูทของความน่าเชื่อถือในตัว ซึ่งช่วยให้ผู้ใช้ ติดตั้งและใช้ Android เวอร์ชันที่กำหนดเองได้โดยไม่กระทบต่อความปลอดภัย การปรับปรุงการเปิดเครื่องที่ได้รับการยืนยัน
หากมีการใช้รูทความน่าเชื่อถือที่ผู้ใช้กำหนดได้ ก็ควรดำเนินการในลักษณะที่ ซึ่ง:
- ต้องมีการยืนยันทางกายภาพเพื่อตั้งค่า/ล้างรูทที่ผู้ใช้ตั้งค่าได้ของ ความน่าเชื่อถือ
- ผู้ใช้ปลายทางเท่านั้นที่สามารถตั้งค่ารูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้ จึงทำไม่ได้ ตั้งค่าที่โรงงานหรือจุดกึ่งกลางใดๆ ก่อนที่ผู้ใช้ปลายทางจะได้รับ อุปกรณ์
- รูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้จะเก็บไว้ในพื้นที่เก็บข้อมูลที่มีการงัดแงะ หลักฐานการงัดแงะหมายความว่าสามารถตรวจหาได้ว่า Android แทรกแซงข้อมูล เช่น มีการเขียนทับหรือเปลี่ยนแปลงข้อมูล
- หากมีการตั้งค่ารูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้ อุปกรณ์ควรอนุญาตให้ใช้เวอร์ชัน ของ Android ที่ลงชื่อด้วยรูทความน่าเชื่อถือในตัวหรือที่ผู้ใช้ตั้งค่าได้ ความน่าเชื่อถือในการเปิดเครื่อง
- ทุกครั้งที่อุปกรณ์เปิดเครื่องโดยใช้รูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้
อุปกรณ์กำลังโหลด Android เวอร์ชันที่กำหนดเอง สำหรับ
เช่น หน้าจอคำเตือน
LOCKED
อุปกรณ์ที่มีชุดคีย์ที่กำหนดเอง
วิธีหนึ่งในการติดตั้งใช้งานรูทของความน่าเชื่อถือที่ผู้ใช้ตั้งค่าได้คือการมี
พาร์ติชันที่จะกะพริบหรือล้างได้ก็ต่อเมื่ออุปกรณ์อยู่ใน
รัฐUNLOCKED
อุปกรณ์ Google Pixel 2 ใช้แนวทางนี้และ
พาร์ติชันเสมือนมีชื่อว่า avb_custom_key
รูปแบบของ
ในพาร์ติชันนี้คือเอาต์พุตของ
คำสั่ง avbtool extract_public_key
ต่อไปนี้เป็นตัวอย่างวิธีการตั้งค่า
ระดับรูทของความน่าเชื่อถือที่ผู้ใช้กำหนดได้ ได้แก่
avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin
คุณสามารถล้างรูทของความน่าเชื่อถือที่ผู้ใช้กำหนดได้โดยการออกรายการต่อไปนี้
fastboot erase avb_custom_key