ใช้ฟีเจอร์ที่อธิบายในส่วนนี้เพื่อให้อุปกรณ์ 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, พาร์ติชันสำหรับบูต และพาร์ติชันอื่นๆ ที่ได้รับการยืนยัน