ใช้ฟีเจอร์ที่อธิบายไว้ในส่วนนี้เพื่อทำให้อุปกรณ์ Android ที่คุณพัฒนาปลอดภัยที่สุด
แซนด์บ็อกซ์ของแอปพลิเคชัน
แพลตฟอร์ม Android ใช้ประโยชน์จากการป้องกันตามผู้ใช้ของ Linux เพื่อ ระบุและแยกทรัพยากรของแอป โดย Android จะกำหนดรหัสผู้ใช้ที่ไม่ซ้ำกัน (UID) ให้กับแอป Android แต่ละแอปและเรียกใช้ในกระบวนการของตัวเอง Android ใช้ UID นี้เพื่อตั้งค่าแซนด์บ็อกซ์แอปพลิเคชันระดับเคอร์เนล
การลงนามแอป
App Signing ช่วยให้นักพัฒนาแอปสามารถระบุผู้เขียนแอป และอัปเดตแอปได้โดยไม่ต้องสร้างอินเทอร์เฟซและสิทธิ์ที่ซับซ้อน แอปทุกแอปที่ทำงานบนแพลตฟอร์ม Android ต้องได้รับการลงนามโดยนักพัฒนาแอป
การตรวจสอบสิทธิ์
Android มีแนวคิดเกี่ยวกับเครื่องมือตรวจสอบสิทธิ์ของผู้ใช้ที่สามารถปลดล็อก อุปกรณ์และทำงานอื่นๆ ได้ ดังนี้
- ระบบย่อย Gatekeeper จะทำการตรวจสอบสิทธิ์ PIN, รูปแบบ หรือรหัสผ่านของอุปกรณ์ในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE)
- คอมโพเนนต์ Weaver (ไม่บังคับ) จะทำการตรวจสอบสิทธิ์ PIN, รูปแบบ หรือรหัสผ่านของอุปกรณ์ในองค์ประกอบความปลอดภัยแยกต่างหาก หรือใน TEE
- อุปกรณ์ที่มีเซ็นเซอร์ลายนิ้วมือรองรับการใช้ลายนิ้วมือที่ลงทะเบียนไว้
- อุปกรณ์รองรับการตรวจสอบสิทธิ์ด้วยใบหน้า
นอกจากนี้ Android ยังรองรับคีย์การเข้ารหัสที่สนับสนุนด้วยฮาร์ดแวร์ซึ่งจะใช้ได้ก็ต่อเมื่อมีการตรวจสอบสิทธิ์ผู้ใช้ด้วยกลไกใดกลไกหนึ่งต่อไปนี้เท่านั้น
ข้อมูลไบโอเมตริก
Android 9 ขึ้นไปมีBiometricPrompt คลาส ที่นักพัฒนาแอปสามารถใช้เพื่อผสานรวมการตรวจสอบสิทธิ์ด้วยข้อมูลไบโอเมตริกเข้ากับแอปของตน ในลักษณะที่ไม่ขึ้นกับอุปกรณ์และรูปแบบ เฉพาะข้อมูลไบโอเมตริกที่รัดกุมเท่านั้นที่
ผสานรวมกับ BiometricPrompt ได้
การเข้ารหัส
เมื่ออุปกรณ์ได้รับการเข้ารหัสแล้ว ระบบจะเข้ารหัสข้อมูลทั้งหมดที่ผู้ใช้สร้างขึ้นโดยอัตโนมัติ ก่อนที่จะบันทึกลงในดิสก์ และการอ่านทั้งหมดจะถอดรหัสข้อมูลโดยอัตโนมัติก่อน ส่งคืนไปยังกระบวนการเรียก การเข้ารหัสช่วยให้มั่นใจได้ว่าแม้ บุคคลที่ไม่ได้รับอนุญาตจะพยายามเข้าถึงข้อมูล ก็จะอ่านข้อมูลไม่ได้
คีย์สโตร์
Android มีคีย์สโตร์ที่สนับสนุนด้วยฮาร์ดแวร์ซึ่งมีฟังก์ชันการเข้ารหัส ที่เก็บเนื้อหาคีย์ไว้ในสภาพแวดล้อมที่ปลอดภัย Android Keystore รองรับการสร้างและนำเข้าทั้งคีย์แบบสมมาตรและแบบอสมมาตร รวมถึงการเข้ารหัส การถอดรหัส การลงนาม และการตกลงคีย์
Security-Enhanced Linux
Android ใช้ Security-Enhanced Linux (SELinux) เพื่อบังคับใช้การควบคุมการเข้าถึงที่จำเป็น (MAC) กับกระบวนการทั้งหมด แม้แต่กระบวนการที่ทำงานด้วยสิทธิ์ระดับรูทหรือสิทธิ์ของผู้ดูแลระบบ (ความสามารถของ Linux) ซึ่งเป็นส่วนหนึ่งของโมเดลความปลอดภัยของ Android
Trusty TEE
Trusty TEE
Trusty เป็นระบบปฏิบัติการ (OS) ที่ปลอดภัยซึ่ง มี TEE สำหรับ Android ระบบปฏิบัติการ Trusty ทำงานบนโปรเซสเซอร์เดียวกับระบบปฏิบัติการ Android แต่ Trusty จะแยกออกจากส่วนอื่นๆ ของระบบทั้งด้วยฮาร์ดแวร์และซอฟต์แวร์
การเปิดเครื่องที่ได้รับการยืนยัน
การเปิดเครื่องที่ได้รับการยืนยันออกแบบมาเพื่อให้มั่นใจว่าโค้ดทั้งหมด ที่เรียกใช้นั้นมาจากแหล่งที่มาที่เชื่อถือได้ (มักจะเป็น OEM ของอุปกรณ์) ไม่ใช่ จากผู้โจมตีหรือจากความเสียหาย Verified Boot สร้างห่วงโซ่ความน่าเชื่อถือแบบเต็ม โดยเริ่มจากรูทของความน่าเชื่อถือที่ได้รับการปกป้องด้วยฮาร์ดแวร์ไปยัง Bootloader ไปยังพาร์ติชันการบูต และพาร์ติชันอื่นๆ ที่ได้รับการยืนยัน