Android 安全性功能

使用本節所述功能,盡可能確保您開發的 Android 裝置安全無虞。

應用程式沙箱

Android 平台會運用 Linux 以使用者為基礎的保護機制,識別及隔離應用程式資源。為此,Android 會為每個 Android 應用程式指派專屬的使用者 ID (UID),並在各自的程序中執行。Android 會使用這個 UID 設定核心層級的應用程式沙箱。

應用程式簽署

應用程式簽署可讓開發人員識別應用程式的作者,並更新應用程式,不必建立複雜的介面和權限。在 Android 平台上執行的每個應用程式都必須由開發人員簽署。

驗證

Android 具有使用者驗證器的概念,可解鎖裝置及執行其他工作:

  • Gatekeeper 子系統會在受信任的執行環境 (TEE) 中,執行裝置圖案或密碼驗證。
  • 選用的 Weaver 元件會在獨立的安全元素中執行模式或密碼驗證。
  • 如果裝置有指紋感應器,即可使用已註冊的指紋。
  • 裝置可以支援臉孔驗證。

Android 也支援硬體支援的加密編譯金鑰,只有在使用者透過其中一種機制完成驗證後,才能使用這類金鑰。

生物辨識

Android 9 以上版本包含 BiometricPrompt 類別,應用程式開發人員可使用這個類別,以不限裝置和模式的方式,將生物特徵辨識驗證功能整合至應用程式。只有高等級生物辨識技術才能與 BiometricPrompt 整合。

加密

裝置加密後,所有使用者建立的資料都會在提交至磁碟前自動加密,且所有讀取作業都會在將資料傳回呼叫程序前自動解密。加密可確保未經授權人士即使嘗試存取資料,也無法讀取。

KeyStore

Android 提供硬體支援的 KeyStore,可在安全環境中提供加密編譯功能,Android Keystore 支援產生及匯入對稱和非對稱金鑰,並結合加密、解密、簽署和金鑰協議基本類型。

安全增強式 Linux

Android 安全性模型會使用安全增強式 Linux (SELinux),對所有程序 (包括以根層級或超級使用者權限執行的程序 (Linux 功能)) 實施強制存取控制 (MAC)。

Trusty TEE

Trusty TEE

Trusty 是一種安全作業系統 (OS),可為 Android 提供 TEE。Trusty OS 與 Android OS 使用相同的處理器,但 Trusty 會透過硬體和軟體與系統的其餘部分隔離。

驗證開機程序

驗證開機程序可確保所有執行的程式碼都來自可信任的來源 (通常是裝置原始設備製造商),而非來自攻擊者或已損毀。驗證開機程序會建立完整的信任鏈結,從受硬體保護的信任根目錄開始,到系統啟動載入程式、啟動分區和其他已驗證的分區。