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 Technology ของ 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 ติดตาม แต่ตัวอย่างเช่น เคอร์เนลกำหนดเวลากระบวนการเหล่านี้โดยใช้ตัวจัดกำหนดการแบบวนซ้ำตามลำดับความสำคัญที่ขับเคลื่อนโดยตัวจับเวลาที่ปลอดภัย แอปพลิเคชัน Trusty ทั้งหมดมีลำดับความสำคัญเท่ากัน

รูปที่ 2 . ภาพรวมแอปพลิเคชันที่เชื่อถือได้

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

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

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

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

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

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

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