2015-02-06 123 views

回答

4

密鑰庫的加密/解密由keystore服務處理,該服務又與稱爲「keymaster」的硬件抽象層模塊鏈接。 AOSP提供軟件(「軟件密鑰管理器」)實施,但設備供應商可以提供對基於硬件的受保護存儲(如果可用)的支持。在ARM體系結構上,這與ARM「TrustZone」鏈接。

上層圖層完全不知道實現:密鑰管理器HAL導出方法來生成或刪除密鑰對,簽名數據等,但實際上並不提供任何私鑰的暴露。

教程明智,沒有什麼。但書本上,有兩本很棒的書。首先是Nikolay Elenkov的「Android安全內部」。他還撰寫了一篇名爲「Android探索」的博客,該博客深入介紹了(在幾篇文章中)密鑰庫。第二個是Jonathan Levin的「Android Internals」,它討論了keystore守護進程。

+0

我相信ARM TrustZone是關於將可信世界的處理器/存儲器從正常的世界中分離出來的。例如在可信執行環境中運行可信應用程序。我認爲,「受保護的存儲」將是另一回事。 – r0ng 2016-06-20 11:53:43

+0

不,密鑰庫的密鑰實際上鍊接到用戶的密碼或PIN,並且TrustZone用於在設備生存期內驗證它們。此外,在受保護的存儲器(讀取:dm-crypt)的情況下,硬件密鑰可以駐留在芯片上並且只能在信任區模式(SMC或EL3,64位)下訪問,因此它只是在同一故事中的不同情節。 – Technologeeks 2016-07-02 13:25:27

相關問題