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

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