ฟีเจอร์ด้านความปลอดภัยของ Android

ใช้ฟีเจอร์ที่อธิบายในส่วนนี้เพื่อให้อุปกรณ์ Android ที่คุณพัฒนามีความปลอดภัยมากที่สุด

แซนด์บ็อกซ์แอปพลิเคชัน

แพลตฟอร์ม Android ใช้ประโยชน์จากการปกป้องตามผู้ใช้ของ Linux เพื่อระบุและแยกทรัพยากรของแอป โดย Android จะกำหนดรหัสผู้ใช้ที่ไม่ซ้ำกัน (UID) ให้กับแอป Android แต่ละแอปและเรียกใช้แอปนั้นในกระบวนการของตนเอง Android ใช้ UID นี้เพื่อตั้งค่าแซนด์บ็อกซ์ระดับแอปพลิเคชันของเคอร์เนล

การลงนามแอป

การรับรองแอปช่วยให้นักพัฒนาแอประบุผู้เขียนแอปและอัปเดตแอปได้โดยไม่ต้องสร้างอินเทอร์เฟซและสิทธิ์ที่ซับซ้อน แอปทุกแอปที่ทำงานบนแพลตฟอร์ม Android จะต้องได้รับการรับรองจากนักพัฒนาแอป

การตรวจสอบสิทธิ์

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

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

นอกจากนี้ Android ยังรองรับคีย์การเข้ารหัสที่สนับสนุนด้วยฮาร์ดแวร์ ซึ่งจะใช้ได้ก็ต่อเมื่อเกิดการตรวจสอบสิทธิ์ผู้ใช้ด้วยกลไกใดกลไกหนึ่งเหล่านี้เท่านั้น

ข้อมูลไบโอเมตริก

Android 9 ขึ้นไปมีBiometricPrompt คลาส ที่นักพัฒนาแอปสามารถใช้เพื่อผสานรวมการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกไว้ในแอปของตนในลักษณะที่ไม่เจาะจงอุปกรณ์และรูปแบบ เฉพาะข้อมูลไบโอเมตริกที่มีประสิทธิภาพเท่านั้นที่จะผสานรวมกับ BiometricPrompt ได้

การเข้ารหัส

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

คีย์สโตร์

Android มีคีย์สโตร์ที่สนับสนุนฮาร์ดแวร์ซึ่งให้ฟังก์ชันการเข้ารหัส โดยที่ข้อมูลคีย์จะอยู่ในสภาพแวดล้อมที่ปลอดภัย Android Keystoreรองรับการสร้างและนําเข้าทั้งคีย์แบบสมมาตรและคีย์แบบไม่สมมาตร รวมถึงการเข้ารหัส การถอดรหัส การรับรอง และการตกลงเกี่ยวกับคีย์พื้นฐาน

Security-Enhanced Linux

Android ใช้ Security-Enhanced Linux (SELinux) เพื่อบังคับใช้การควบคุมการเข้าถึงที่จําเป็น (MAC) ในกระบวนการทั้งหมด ซึ่งรวมถึงกระบวนการที่ทํางานด้วยสิทธิ์รูทหรือผู้ใช้ขั้นสูง (ความสามารถของ Linux) อีกด้วย ซึ่งเป็นส่วนหนึ่งของรูปแบบการรักษาความปลอดภัยของ Android

Trusty TEE

Trusty เป็นระบบปฏิบัติการ (OS) ที่ปลอดภัยซึ่งมี TEE สำหรับ Android ระบบปฏิบัติการ Trusty ทำงานบนโปรเซสเซอร์เดียวกับระบบปฏิบัติการ Android แต่ระบบปฏิบัติการ Trusty แยกออกจากระบบส่วนอื่นๆ ทั้งฮาร์ดแวร์และซอฟต์แวร์

การเปิดเครื่องที่ได้รับการยืนยัน

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