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