TEE ที่ไว้ใจได้

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

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

รูปที่ 1 . แผนภาพภาพรวมที่เชื่อถือได้

ทรัสตี้ประกอบด้วย:

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

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

ทำไมต้องไว้ใจ?

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

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

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

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

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

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