Google在行動裝置作業系統Android最新的Pie版中,加入了Keystore新功能,其一是鍵盤鎖定金鑰(Keyguard-bound keys)以限制金鑰使用,並保護敏感訊息,第二個則是安全金鑰導入(Secure Key Import),讓安全金鑰方便使用,但同時又能保護應用程式和作業系統中的金鑰。

Android Keystore為應用程式開發人員提供了保護使用者資料的加密工具。Keystore將軟體函式庫中可以使用的加密原語(Cryptographic Primitives ),從Android OS移到安全硬體上,讓金鑰僅能在安全硬體中使用,以更嚴謹的方式保護金鑰,以確保應用程式機密不受到各種形式的攻擊。Keystore提供了應用程式制定金鑰的使用時機與方式。

第一項Android Keystore的新功能為鍵盤鎖定金鑰。在裝置螢幕鎖定時,Google為了讓應用程式收到的敏感訊息都維持其安全與隱密,直到使用者想要存取訊息為止,Android Pie透過加入鍵盤鎖綁定加密金鑰來解決這個問題。當螢幕鎖定時,雖然金鑰可用於加密或是驗證操作,但是卻不可用於解密或是簽章,也就是說當裝置螢幕受到PIN、圖形鎖或密碼鎖定時,任何使用這些金鑰的操作都會失效。

Google提到,鍵盤鎖綁定與驗證綁定提供類似的功能,但不同的是,鍵盤鎖綁定將螢幕鎖定的狀態與金鑰的可用性連結在一起,而驗證綁定則是使用了常量超時機制。另外,值得注意的是,因為安全應體無從得知螢幕被鎖定的時間,所以鍵盤鎖定是由作業系統強制執行而非安全硬體。把安全硬體支援的驗證綁定與鍵盤鎖綁定共同使用,將能提供更高等級的安全性。鍵盤鎖綁定為作業系統功能,因此任何只要Android Pie裝置都可以使用該功能。

第二項Android Keystore新功能則是安全金鑰導入,該功能允許應用程式以更安全的方式,將現有金鑰配置到Keystore中。金鑰的來源可能位於企業機房或是雲端伺服器,並使用用戶裝置的公共包裝金鑰加密安全金鑰。

SecureKeyWrapper格式的加密金鑰在傳輸時會進行加密,對應用程式和作業系統隱藏,只能在屬於生成包裝金鑰的特定裝置Keystore硬體中解密。當應用程式想要與Android分享機密金鑰,但是又想避免金鑰在離開裝置後被攔截,安全金鑰導入功能便能發揮良好的作用。

Google Pay使用安全金鑰導入功能在Pixel 3手機上配置金鑰,以防止金鑰被攔截或是在記憶體中被擷取出來。安全金鑰導入屬於安全硬體的功能,因此也只在特定執行Android Pie的裝置上提供。


Advertisement

更多 iThome相關內容