使用本節中描述的功能使您開發的 Android 設備盡可能安全。
應用沙盒
Android 平台利用基於 Linux 用戶的保護來識別和隔離應用程序資源。為此,Android 為每個 Android 應用程序分配一個唯一的用戶 ID (UID),並在其自己的進程中運行它。 Android 使用此 UID 來設置內核級應用沙盒。
應用簽名
應用簽名允許開發人員識別應用的作者並更新他們的應用,而無需創建複雜的界面和權限。在 Android 平台上運行的每個應用程序都必須由開發人員簽名。
驗證
Android 使用用戶身份驗證門控加密密鑰的概念,該概念需要加密密鑰存儲以及服務提供者和用戶身份驗證器。
在帶有指紋傳感器的設備上,用戶可以註冊一個或多個指紋並使用這些指紋解鎖設備和執行其他任務。 Gatekeeper 子系統在可信執行環境 (TEE) 中執行設備模式/密碼身份驗證。
Android 9 及更高版本包括 Protected Confirmation,它為用戶提供了一種正式確認重要交易(例如付款)的方式。
生物識別
Android 9 及更高版本包含一個 BiometricPrompt API,應用程序開發人員可以使用該 API 以與設備和模式無關的方式將生物識別身份驗證集成到他們的應用程序中。只有強大的生物識別技術可以整合BiometricPrompt
。
加密
設備加密後,所有用戶創建的數據在提交到磁盤之前都會自動加密,所有讀取都會在將數據返回到調用進程之前自動解密數據。加密可確保即使未經授權的一方試圖訪問數據,他們也無法讀取數據。
密鑰庫
Android 提供了一個硬件支持的密鑰庫,它提供密鑰生成、非對稱密鑰的導入和導出、原始對稱密鑰的導入、使用適當填充模式的非對稱加密和解密等。
安全增強型 Linux
作為 Android 安全模型的一部分,Android 使用 Security-Enhanced Linux (SELinux) 對所有進程實施強制訪問控制 (MAC),甚至是使用 root/超級用戶權限(Linux 功能)運行的進程。
可信可信執行環境 (TEE)
Trusty 是一種安全的操作系統 (OS),可為 Android 提供可信執行環境 (TEE)。 Trusty 操作系統與 Android 操作系統在同一處理器上運行,但 Trusty 通過硬件和軟件與系統的其餘部分隔離。
驗證啟動
Verified Boot 努力確保所有執行的代碼都來自受信任的來源(通常是設備 OEM),而不是來自攻擊者或損壞的代碼。它建立了一個完整的信任鏈,從硬件保護的信任根到引導加載程序,再到引導分區和其他經過驗證的分區。