ทรัสตี้ TEE

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

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

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

Trusty ประกอบด้วย:

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

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

ทำไมต้องเป็น Trusty?

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

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

แอพพลิเคชั่นและบริการ

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

รูปที่ 2 . ภาพรวมแอปพลิเคชัน Trusty

แอปพลิเคชัน Trusty ของบุคคลที่สาม

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

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

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

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

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

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