Trusty TEE

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

Trusty เข้ากันได้กับโปรเซสเซอร์ ARM และ Intel ในระบบ ARM Trusty จะใช้ TrustZone ของ ARM เพื่อจำลองโปรเซสเซอร์หลักและสร้าง TEE ที่ปลอดภัย นอกจากนี้ ยังมีการรองรับที่คล้ายกัน ในแพลตฟอร์ม Intel x86 ที่ใช้เทคโนโลยีการจำลองเสมือนของ Intel

แผนภาพภาพรวมของ Trusty

รูปที่ 1 แผนภาพภาพรวมของ Trusty

Trusty ประกอบด้วย

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

หมายเหตุ: Trusty และ Trusty API อาจมีการเปลี่ยนแปลง ดูข้อมูลเกี่ยวกับ Trusty API ได้ที่เอกสารอ้างอิง Trusty API

ข้อดีของ Trusty

โดยปกติแล้ว ระบบปฏิบัติการ TEE อื่นๆ จะจัดหาให้ในรูปแบบไบนารี บล็อบโดยผู้ให้บริการบุคคลที่สามหรือพัฒนาขึ้นภายใน การพัฒนาระบบ TEE ภายในหรือการอนุญาตให้ใช้ TEE จากบุคคลที่สาม อาจมีค่าใช้จ่ายสูงสำหรับผู้จำหน่ายระบบวงจรรวมบนชิป (SoC) และ OEM ต้นทุนที่เป็นตัวเงินรวมกับระบบของบุคคลที่สามที่ไม่น่าเชื่อถือทำให้เกิด ระบบนิเวศที่ไม่เสถียรสำหรับ Android Trusty มีไว้สำหรับพาร์ทเนอร์ ในฐานะทางเลือกโอเพนซอร์สที่เชื่อถือได้และไม่มีค่าใช้จ่ายสำหรับ TEE Trusty มีความโปร่งใสในระดับที่ระบบแบบปิดไม่สามารถทำได้

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

แอปและบริการ

แอป Trusty คือชุดไฟล์ไบนารี (ไฟล์ปฏิบัติการและไฟล์ทรัพยากร) ไฟล์ Manifest ไบนารี และลายเซ็นเข้ารหัส ในขณะรันไทม์ แอป Trusty จะทำงานเป็นกระบวนการที่แยกกันใน โหมดที่ไม่มีสิทธิ์ภายใต้เคอร์เนล Trusty แต่ละกระบวนการจะทำงานในแซนด์บ็อกซ์หน่วยความจำเสมือนของตัวเอง โดยใช้ความสามารถของหน่วยจัดการหน่วยความจำของโปรเซสเซอร์ TEE การสร้างฮาร์ดแวร์ จะเปลี่ยนกระบวนการที่ Trusty ทำตามอย่างแน่นอน แต่ตัวอย่างเช่น เคอร์เนลจะกำหนดเวลา กระบวนการเหล่านี้โดยใช้ตัวกำหนดเวลาแบบ Round Robin ที่อิงตามลำดับความสำคัญซึ่งขับเคลื่อนด้วยการนับเวลาที่ปลอดภัย แอปที่เชื่อถือได้ทั้งหมดมีลำดับความสำคัญเดียวกัน

ภาพรวมของแอป Trusty

รูปที่ 2 ภาพรวมของแอป Trusty

แอป Trusty ของบุคคลที่สาม

แอป Trusty ทั้งหมดได้รับการพัฒนาโดยบุคคลเดียวและแพ็กเกจที่มีรูปภาพเคอร์เนล Trusty Bootloader จะลงนามและยืนยันรูปภาพทั้งหมดในระหว่างการบูต Trusty ไม่รองรับการพัฒนาแอปของบุคคลที่สาม แม้ว่า Trusty จะช่วยให้พัฒนาแอปใหม่ๆ ได้ แต่คุณควรทำด้วยความระมัดระวังอย่างยิ่ง เนื่องจากแอปใหม่แต่ละแอปจะเพิ่มพื้นที่ของฐานการประมวลผลที่เชื่อถือได้ (TCB) ของระบบ แอปที่เชื่อถือได้จะเข้าถึงข้อมูลลับของอุปกรณ์และทำการคำนวณหรือแปลงข้อมูลโดยใช้ข้อมูลลับเหล่านั้นได้ ความสามารถในการพัฒนาแอปใหม่ๆ ที่ทำงานใน TEE จะเปิดโอกาสมากมาย สำหรับการสร้างสรรค์นวัตกรรม อย่างไรก็ตาม เนื่องจากคำจำกัดความของ TEE เอง แอปเหล่านี้จึงไม่สามารถ เผยแพร่ได้หากไม่มีรูปแบบความน่าเชื่อถือบางอย่าง ซึ่งอยู่ในรูปแบบของลายเซ็นดิจิทัลโดยนิติบุคคลที่ผู้ใช้ผลิตภัณฑ์ที่แอปทำงานอยู่เชื่อถือ

การใช้งานและตัวอย่าง

TEE กำลังกลายเป็นมาตรฐานในอุปกรณ์เคลื่อนที่ ผู้ใช้พึ่งพาอุปกรณ์เคลื่อนที่มากขึ้นในชีวิตประจำวัน และความต้องการด้านความปลอดภัยก็เพิ่มขึ้นตามไปด้วย อุปกรณ์เคลื่อนที่ที่มี TEE จะปลอดภัยกว่าอุปกรณ์ที่ไม่มี TEE

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

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

TEE ยังมีประโยชน์อื่นๆ เช่น การชำระเงินผ่านมือถือ การธนาคารที่ปลอดภัย การตรวจสอบสิทธิ์แบบหลายปัจจัย การป้องกันการรีเซ็ตอุปกรณ์ พื้นที่เก็บข้อมูลถาวรที่ป้องกันการเล่นซ้ำ การประมวลผล PIN และ ลายนิ้วมือที่ปลอดภัย และแม้แต่การตรวจหามัลแวร์