การจัดสรรคีย์ระยะไกลของ Google จะได้รับคำสั่งใน Android 13: สิ่งนี้มีความหมายสำหรับคุณ

การจัดสรรคีย์ระยะไกลของ Google จะได้รับการจัดการใน Android 13 แต่เป็นหัวข้อที่ซับซ้อน นี่คือสิ่งที่จะมีความหมายสำหรับคุณ

การรับรองที่สำคัญของ Android เป็นหัวใจสำคัญของบริการที่เชื่อถือได้มากมายบนสมาร์ทโฟนของเรา รวมถึง SafetyNet, Digital Car Key และ API ข้อมูลประจำตัว. จำเป็นต้องเป็นส่วนหนึ่งของ Android ตั้งแต่ Android 8 Oreo และต้องใช้รูทคีย์ที่ติดตั้งบนอุปกรณ์ที่โรงงาน การจัดเตรียมคีย์เหล่านี้จำเป็นต้องได้รับการเก็บรักษาไว้เป็นความลับสูงสุดจากผู้ผลิต และหากคีย์รั่วไหล นั่นก็หมายความว่าคีย์นั้นจะต้องถูกเพิกถอน ซึ่งจะส่งผลให้ผู้บริโภคไม่สามารถใช้บริการที่เชื่อถือได้เหล่านี้ได้ ซึ่งอาจน่าเสียดายหากมีช่องโหว่ที่สามารถเปิดเผยได้ การจัดเตรียมคีย์ระยะไกล ซึ่งจะได้รับคำสั่งใน แอนดรอยด์ 13มีวัตถุประสงค์เพื่อแก้ไขปัญหาดังกล่าว

ส่วนประกอบที่ประกอบขึ้นเป็นห่วงโซ่แห่งความไว้วางใจในปัจจุบันบน Android

ก่อนที่จะอธิบายวิธีการทำงานของระบบใหม่ สิ่งสำคัญคือต้องให้บริบทเกี่ยวกับวิธีการทำงาน เก่า (และยังคงอยู่ในสถานที่สำหรับอุปกรณ์จำนวนมาก) ระบบทำงานได้ ปัจจุบันนี้โทรศัพท์จำนวนมากใช้การรับรองคีย์ที่สนับสนุนด้วยฮาร์ดแวร์ ซึ่งคุณอาจคุ้นเคยเสมือนเป็นเสมือนหมุดปักหมุดสำหรับการเลี่ยงผ่าน SafetyNet ทุกรูปแบบ มีแนวคิดหลายประการที่สำคัญที่ต้องเข้าใจสำหรับสถานะปัจจุบันของการรับรองหลัก

เป็นการผสมผสานระหว่างแนวคิดเหล่านี้เพื่อให้แน่ใจว่านักพัฒนาสามารถไว้วางใจได้ว่าอุปกรณ์จะไม่ถูกดัดแปลง และสามารถจัดการข้อมูลที่ละเอียดอ่อนใน TEE ได้

สภาพแวดล้อมการดำเนินการที่เชื่อถือได้

Trusted Execution Environment (TEE) เป็นขอบเขตที่ปลอดภัยบน SoC ที่ใช้สำหรับจัดการข้อมูลที่สำคัญ TEE มีผลบังคับใช้กับอุปกรณ์ที่เปิดตัวพร้อมกับ Android 8 Oreo และสูงกว่า ซึ่งหมายความว่าสมาร์ทโฟนรุ่นล่าสุดทุกเครื่องก็มีคุณสมบัติดังกล่าว สิ่งใดก็ตามที่ไม่อยู่ใน TEE จะถือว่า "ไม่น่าเชื่อถือ" และสามารถดูได้เฉพาะเนื้อหาที่เข้ารหัสเท่านั้น ตัวอย่างเช่น เนื้อหาที่ป้องกันด้วย DRM จะถูกเข้ารหัสด้วยคีย์ที่สามารถเข้าถึงได้โดยซอฟต์แวร์ที่ทำงานบน TEE เท่านั้น โปรเซสเซอร์หลักสามารถเห็นเฉพาะกระแสเนื้อหาที่เข้ารหัสเท่านั้น ในขณะที่เนื้อหาสามารถถอดรหัสได้โดย TEE จากนั้นจึงแสดงต่อผู้ใช้

ARM โซนความเชื่อถือ

Trusty เป็นระบบปฏิบัติการที่ปลอดภัยที่ให้ TEE บน Android และบนระบบ ARM ก็ใช้ประโยชน์จาก Trustzone ของ ARM Trusty ดำเนินการบนโปรเซสเซอร์เดียวกันกับระบบปฏิบัติการหลัก และสามารถเข้าถึงพลังงานเต็มรูปแบบของอุปกรณ์ แต่จะแยกออกจากส่วนที่เหลือของโทรศัพท์โดยสิ้นเชิง Trusty ประกอบด้วยสิ่งต่อไปนี้:

  • เคอร์เนลระบบปฏิบัติการขนาดเล็กที่ได้มาจาก เคอร์เนลตัวน้อย
  • ไดรเวอร์เคอร์เนล Linux เพื่อถ่ายโอนข้อมูลระหว่างสภาพแวดล้อมที่ปลอดภัยและ Android
  • ไลบรารีพื้นที่ผู้ใช้ Android เพื่อสื่อสารกับแอปพลิเคชันที่เชื่อถือได้ (นั่นคือ งาน/บริการที่ปลอดภัย) ผ่านไดรเวอร์เคอร์เนล

ข้อได้เปรียบที่ระบบมีเหนือระบบ TEE ที่เป็นกรรมสิทธิ์ก็คือระบบ TEE เหล่านั้นอาจมีค่าใช้จ่ายสูง และยังสร้างความไม่เสถียรในระบบนิเวศของ Android Trusty มอบให้กับพันธมิตร OEM โดย Google โดยไม่มีค่าใช้จ่าย และเป็นโอเพ่นซอร์ส Android รองรับระบบ TEE อื่นๆ แต่ Trusty เป็นระบบที่ Google ผลักดันมากที่สุด

กำปั่น

อุปกรณ์ StrongBox เป็น CPU ที่ปลอดภัยที่แยกจากกันโดยสิ้นเชิง สร้างขึ้นตามวัตถุประสงค์ และได้รับการรับรอง สิ่งเหล่านี้อาจรวมถึงองค์ประกอบความปลอดภัย (eSE) ที่ฝังไว้หรือหน่วยประมวลผลความปลอดภัยบน SoC (SPU) Google กล่าวว่าปัจจุบัน StrongBox "แนะนำอย่างยิ่ง" ที่จะมาพร้อมกับอุปกรณ์ที่เปิดตัวด้วย แอนดรอยด์ 12 (ตามเอกสารคำจำกัดความความเข้ากันได้) เนื่องจากมีแนวโน้มว่าจะกลายเป็นข้อกำหนดในการเปิดตัว Android ในอนาคต โดยพื้นฐานแล้วเป็นการใช้งานที่เก็บคีย์ที่ได้รับการสนับสนุนจากฮาร์ดแวร์ที่เข้มงวดยิ่งขึ้น และสามารถนำไปใช้ควบคู่ไปกับ TrustZone ได้ ตัวอย่างของการใช้งาน StrongBox คือชิป Titan M ในสมาร์ทโฟน Pixel มีโทรศัพท์ไม่กี่เครื่องที่ใช้ StrongBox และส่วนใหญ่ใช้ Trustzone ของ ARM

คีย์มาสเตอร์ ต

Keymaster Trusted Application (TA) เป็นคีย์มาสเตอร์ที่ปลอดภัยที่จัดการและดำเนินการกับที่เก็บคีย์ทั้งหมด ตัวอย่างเช่น สามารถทำงานบน TrustZone ของ ARM

การเปลี่ยนแปลงของการรับรองคีย์ใน Android 12 และ Android 13

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

เข้าสู่การจัดเตรียมคีย์ระยะไกล ตั้งแต่ Android 12 เป็นต้นไป Google จะเปลี่ยนการจัดสรรคีย์ส่วนตัวในโรงงานด้วยการผสมผสานของ การสกัดคีย์สาธารณะในโรงงานและการจัดเตรียมใบรับรองแบบ over-the-air โดยมีอายุการใช้งานสั้น ใบรับรอง แผนนี้จะต้องใช้ใน Android 13 และมีประโยชน์ 2-3 ประการ ประการแรกและสำคัญที่สุดคือ ป้องกันไม่ให้ OEM และ ODM จำเป็นต้องจัดการความลับที่สำคัญในโรงงาน ประการที่สอง ช่วยให้สามารถกู้คืนอุปกรณ์ได้หากคีย์ถูกบุกรุก ซึ่งหมายความว่าผู้บริโภคจะไม่สูญเสียการเข้าถึงบริการที่ได้รับการคุ้มครองตลอดไป ตอนนี้แทนที่จะใช้ใบรับรองที่คำนวณโดยใช้คีย์ที่อยู่ในอุปกรณ์และอาจรั่วไหลผ่าน ช่องโหว่ Google จะขอใบรับรองชั่วคราวทุกครั้งที่มีการรับรองบริการ ใช้แล้ว.

ส่วนวิธีการทำงานก็ง่ายพอสมควร อุปกรณ์แต่ละชิ้นจะสร้างคู่คีย์แบบคงที่ที่ไม่ซ้ำกัน และส่วนสาธารณะของคู่คีย์นี้จะถูกแยกโดย OEM ในโรงงานของตน และส่งไปยังเซิร์ฟเวอร์ของ Google ที่นั่นพวกเขาจะทำหน้าที่เป็นพื้นฐานของความไว้วางใจในการจัดเตรียมในภายหลัง คีย์ส่วนตัวจะไม่ออกจากสภาพแวดล้อมที่ปลอดภัยที่ถูกสร้างขึ้น

เมื่อใช้อุปกรณ์เชื่อมต่ออินเทอร์เน็ตเป็นครั้งแรก อุปกรณ์จะสร้างคำขอลงนามใบรับรองให้ คีย์ที่สร้างขึ้น ลงนามด้วยคีย์ส่วนตัวที่สอดคล้องกับคีย์สาธารณะที่รวบรวมไว้ใน โรงงาน. เซิร์ฟเวอร์แบ็กเอนด์ของ Google จะตรวจสอบความถูกต้องของคำขอ จากนั้นลงนามในคีย์สาธารณะและส่งคืนกลุ่มใบรับรอง จากนั้นที่เก็บคีย์บนอุปกรณ์จะจัดเก็บกลุ่มใบรับรองเหล่านี้ โดยกำหนดให้กับแอปทุกครั้งที่มีการร้องขอการรับรอง นี่อาจเป็นอะไรก็ได้ตั้งแต่ Google Pay ไปจนถึง Pokemon Go

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

ผู้ใช้จะไม่สังเกตเห็นการเปลี่ยนแปลงใด ๆ แม้ว่านักพัฒนาจะต้องระวังสิ่งต่อไปนี้ตาม Google

  • โครงสร้างห่วงโซ่ใบรับรอง
    • เนื่องจากลักษณะของโครงสร้างพื้นฐานการจัดเตรียมออนไลน์ใหม่ของเรา ความยาวของเชนจึงยาวกว่าที่เคยเป็นและอาจมีการเปลี่ยนแปลงได้
  • รากฐานของความไว้วางใจ
    • ในที่สุดรากของความไว้วางใจจะได้รับการอัปเดตจากคีย์ RSA ปัจจุบันเป็นคีย์ ECDSA
  • การเลิกรับรองการรับรอง RSA
    • คีย์ทั้งหมดที่สร้างและรับรองโดย KeyMint จะถูกลงนามด้วยคีย์ ECDSA และห่วงโซ่ใบรับรองที่เกี่ยวข้อง ก่อนหน้านี้ คีย์แบบอสมมาตรได้รับการลงนามโดยอัลกอริธึมที่เกี่ยวข้อง
  • ใบรับรองอายุสั้นและคีย์การรับรอง
    • โดยทั่วไปใบรับรองที่จัดสรรให้กับอุปกรณ์จะมีอายุการใช้งานสูงสุดสองเดือนก่อนที่จะหมดอายุและจะมีการหมุนเวียน

เราติดต่อ Google และถามว่าสิ่งนี้มีความเกี่ยวข้องกับ Widevine DRM หรือไม่ และผู้ใช้ Pixel บางรายรายงานว่าระดับ DRM ของตนถูกลดระดับด้วยโปรแกรมโหลดบูตที่ล็อคไว้อย่างไร นอกจากนี้เรายังถามว่าสามารถแจกจ่ายเป็นการอัปเกรด OTA ให้กับผู้ใช้ผ่านบริการ Google Play ได้หรือไม่ เราจะอัปเดตบทความนี้อย่างแน่นอนหากเราได้ยินกลับ ยังไม่ชัดเจนว่าองค์ประกอบใดของห่วงโซ่ความไว้วางใจในปัจจุบันจะได้รับผลกระทบหรือในลักษณะใด


แหล่งที่มา: Google