目錄 引言 .................. XXV第 1章 Android安全模型 ............................................. 1 Android體系結構 ........................................................ 1 Linux內核層 ........................................................ 2 原生用戶空間層 .................................................. 3 Dalvik虛擬機 ....................................................... 3 Java運行時庫 ...................................................... 4 系統(tǒng)服務 .... 4 進程間通信 4 Binder ......... 5 Android框架庫 .................................................... 9 應用程序 .. 10 Android的安全模型介紹 .......................................... 11應用程序沙箱 .................................................... 12 權限 .......... 14 IPC ............ 14 代碼簽名和平臺密鑰 ........................................ 15 多用戶支持 ........................................................ 15 SELinux .... 16 系統(tǒng)更新 .. 16 驗證啟動模式 .................................................... 17 總結 .................. 18 第2章 權限 ...... 19 權限的本質 ...... 19 權限申請 .......... 20權限管理 .......... 21權限的保護級別 ........................................................ 22 權限的賦予 ...... 24 權限執(zhí)行 .......... 29內核層的權限執(zhí)行 ............................................ 29 原生守護進程級別的權限執(zhí)行 ......................... 30 框架層的權限執(zhí)行 ............................................ 32 系統(tǒng)權限 .......... 36 signature權限 ..................................................... 37 development權限 ............................................... 38 共享用戶 ID ..... 38自定義權限 ...... 41 公開和私有組件 ........................................................ 42 activity和 service權限 .............................................. 43 廣播權限 .......... 44 content provider權限 ................................................. 45 靜態(tài) provider權限 ............................................. 46 動態(tài) provider權限 ............................................. 47 pending intent ... 48 總結 .................. 50 第3章 包管理機制 ..................................................... 51 Android應用程序包文件的格式 .............................. 51 代碼簽名 .......... 53 Java代碼簽名 .................................................... 53 Android代碼簽名 .............................................. 59 APK的安裝過程 ....................................................... 61 應用程序包和數據的位置 ................................. 62 活動組件 .. 63 安裝一個本地包 ................................................ 66 更新包 ...... 72 安裝加密的 APK ............................................... 76 轉發(fā)鎖定 .. 79 Android 4.1轉發(fā)鎖定實現 ................................ 80 加密的 App和 Google Play ............................... 82 包驗證 .............. 83 Android對包驗證的支持 .................................. 84 Google Play實現 ................................................ 85 總結 .................. 85 第 4章 用戶管理 ......................................................... 87 多用戶支持概述 ........................................................ 87 用戶類型 .......... 89主用戶(持有者) ............................................ 89 次要用戶 .. 90 受限用戶 .. 91 訪客用戶 .. 93 用戶管理 .......... 93命令行工具 ........................................................ 94 用戶狀態(tài)和相關廣播 ........................................ 94 用戶元數據 ...... 95 用戶清單文件 .................................................... 95 用戶元數據文件 ................................................ 96 用戶系統(tǒng)目錄 .................................................... 97 每個用戶的應用程序管理 ........................................ 98 應用程序數據目錄 ............................................ 98 應用共享 100 外存 ................ 102 外存實現 103 多用戶外存 ...................................................... 103 外存權限 109 其他多用戶特性 ...................................................... 111 總結 ................ 111 第 5章 加密服務 ....................................................... 112 JCA Provider結構 .................................................... 112 加密服務 Provider............................................ 113 JCA引擎類 .... 115 獲得引擎類實例 .............................................. 115 算法名稱 116 SecureRandom .................................................. 117 MessageDigest .................................................. 118 Signature . 118 Cipher ..... 119 Mac ......... 123 Key .......... 124 SecretKey和 PBEKey ...................................... 124 PublicKey、PrivateKey和 KeyPair ................. 125 KeySpec .. 125 KeyFactory ....................................................... 125 SecretKeyFactory .............................................. 126 KeyPairGenerator ............................................. 127 KeyGenerator .................................................... 127 KeyAgreement .................................................. 128 KeyStore . 129 CertificateFactory和 CertPath.......................... 131 CertPathValidator和 CertPathBuilder .............. 132 Android的 JCA Provider ......................................... 133 Harmony加密 Provider .................................... 133 Android的 Bouncy Castle Provider ................. 133 AndroidOpenSSL Provider............................... 137 OpenSSL . 139 使用定制的 Provider ................................................ 140 Spongy Castle ................................................... 140總結 ................ 141 第 6章 網絡安全與 PKI ............................................ 142 PKI與 SSL概述 ..................................................... 143 公鑰證書 143 直接信任和 Private CA .................................... 145 公鑰基礎設施 .................................................. 145 證書撤銷 147 JSSE介紹 ...... 148安全套接字 ...................................................... 148 對等認證 149 主機名認證 ...................................................... 151 Android JSSE的實現 ............................................... 152 證書管理與認證 .............................................. 152 證書黑名單 ...................................................... 158 重新審視 PKI信任模型 .................................. 161 總結 ................ 165 第 7章 憑據存儲 ....................................................... 166 VPN和 Wi-Fi EAP憑據.......................................... 167 認證密鑰和證書 .............................................. 167 系統(tǒng)憑據庫 ...................................................... 168 憑據存儲的具體實現 .............................................. 169 密鑰庫(keystore)服務 ................................. 169 密鑰 blob的版本和類型 ................................. 171 訪問限制 171 keymaster模塊和密鑰庫服務的實現 ............. 172 Nexus 4的基于硬件的實現 ............................ 173 框架集成 175 公開 API ......... 175 密鑰鏈(KeyChain)API ................................ 176 密鑰鏈 API的實現 .......................................... 180 控制對密鑰庫的訪問 ...................................... 181 Android密鑰庫 Provider ................................. 183 總結 ................ 184 第 8章 在線賬戶管理................................................ 186 Android賬戶管理概述 .............................