加密程序是指使用對稱式加密金鑰,對 Android 裝置上的所有使用者資料進行編碼。裝置加密後,所有使用者建立的資料都會在提交至磁碟前自動加密,所有讀取作業也會在將資料傳回呼叫程序前自動解密。加密機制可確保即使未經授權的第三方嘗試存取資料,也無法讀取資料。
Android 提供兩種裝置加密方法:檔案型加密和全磁碟加密。
檔案型加密
Android 7.0 以上版本支援檔案型加密。檔案加密功能可讓不同檔案使用不同金鑰加密,且這些金鑰可獨立解鎖。支援檔案型加密的裝置也支援直接啟動,加密裝置可直接啟動至鎖定畫面,方便快速存取重要裝置功能,例如無障礙服務和鬧鐘。
透過檔案型加密和可讓應用程式感知加密的 API,應用程式可在有限的環境中運作。這類要求會在使用者提供憑證前發生,同時保護私密的使用者資訊。
中繼資料加密
Android 9 導入了中繼資料加密支援功能,前提是硬體支援這項功能。透過中繼資料加密功能,開機時的單一金鑰會加密 FBE 未加密的內容,例如目錄版面配置、檔案大小、權限,以及建立/修改時間。這項金鑰受到 KeyMint (先前稱為 Keymaster) 保護,而 KeyMint 則受到驗證開機程序保護。
全磁碟加密
Android 5.0 至 Android 9 支援全磁碟加密。全磁碟加密會使用單一金鑰 (以使用者裝置密碼保護),保護裝置的整個使用者資料分割區。開機後,使用者必須提供憑證,才能存取磁碟的任何部分。
這對安全性來說是好事,但這也表示使用者重新啟動裝置後,手機的大部分核心功能都無法立即使用。由於使用者資料受到單一使用者憑證保護,因此鬧鐘等功能無法運作、無法使用無障礙服務,且手機無法接聽電話。