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