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