Android安全架构深究

Android安全架构深究

(美) 埃伦科夫 (Elenkov,N.) , 著

出版社:电子工业出版社

年代:2015

定价:99.0

书籍简介:

目前在用的Android设备约有10亿台,而且每一台设备都是一个潜在的安全漏洞。Android设备的安全问题是其用户和开发者的主要关注点之一。在本书中作者探讨了Android组件和子系统,以帮助你对Android设备的安全内核建立深入且全面的理解。主题包括包、用户管理、加密提供者和证书存储的细节,等等。

作者介绍:

Nikolay Elenkov,过去十年一直致力于企业安全的项目,开发过从智能卡、HSM 到Windows 平台、Linux 服务器等各种平台下的安全软件。Android 面世之后,他便很快对Android 产生了浓厚的兴趣,并且在Android 1.5 版本发布之后一直在开发Android 应用。Android 4.0 发布之后,Nikolay 更加关注Android 系统内部实现细节,并且在过去的三年中,他一直在其博客上整理发布他的发现并撰写与Android 安全相关的文章。   本书的译者从事多年系统研究,具有丰富的理论知识和实践经验。译者对待翻译工作极其认真,不但文笔流畅,而且对书中的程序实例都进行过实际测试,并修改了其中的错误。

书籍目录:

引言XXV

第1章Android安全模型1

Android体系结构1

Linux内核层2

原生用户空间层3

Dalvik虚拟机3

Java运行时库4

系统服务4

进程间通信4

Binder5

Android框架库9

应用程序10

Android的安全模型介绍11

应用程序沙箱12

权限14

IPC14

代码签名和平台密钥15

多用户支持15

SELinux16

系统更新16

验证启动模式17

总结18

第2章权限19

权限的本质19

权限申请20

权限管理21

权限的保护级别22

权限的赋予24

权限执行29

内核层的权限执行29

原生守护进程级别的权限执行30

框架层的权限执行32

系统权限36

signature权限37

development权限38

共享用户ID38

自定义权限41

公开和私有组件42

activity和service权限43

广播权限44

contentprovider权限45

静态provider权限46

动态provider权限47

pendingintent48

总结50

第3章包管理机制51

Android应用程序包文件的格式51

代码签名53

Java代码签名53

Android代码签名59

APK的安装过程61

应用程序包和数据的位置62

活动组件63

安装一个本地包66

更新包72

安装加密的APK76

转发锁定79

Android41转发锁定实现80

加密的App和GooglePlay82

包验证83

Android对包验证的支持84

GooglePlay实现85

总结85

第4章用户管理87

多用户支持概述87

用户类型89

主用户(持有者)89

次要用户90

受限用户91

访客用户93

用户管理93

命令行工具94

用户状态和相关广播94

用户元数据95

用户清单文件95

用户元数据文件96

用户系统目录97

每个用户的应用程序管理98

应用程序数据目录98

应用共享100

外存102

外存实现103

多用户外存103

外存权限109

其他多用户特性111

总结111

第5章加密服务112

JCAProvider结构112

加密服务Provider113

JCA引擎类115

获得引擎类实例115

算法名称116

SecureRandom117

MessageDigest118

Signature118

Cipher119

Mac123

Key124

SecretKey和PBEKey124

PublicKey、PrivateKey和KeyPair125

KeySpec125

KeyFactory125

SecretKeyFactory126

KeyPairGenerator127

KeyGenerator127

KeyAgreement128

KeyStore129

CertificateFactory和CertPath131

CertPathValidator和CertPathBuilder132

Android的JCAProvider133

Harmony加密Provider133

Android的BouncyCastleProvider133

AndroidOpenSSLProvider137

OpenSSL139

使用定制的Provider140

SpongyCastle140

总结141

第6章网络安全与PKI142

PKI与SSL概述143

公钥证书143

直接信任和PrivateCA145

公钥基础设施145

证书撤销147

JSSE介绍148

安全套接字148

对等认证149

主机名认证151

AndroidJSSE的实现152

证书管理与认证152

证书黑名单158

重新审视PKI信任模型161

总结165

第7章凭据存储166

VPN和Wi-FiEAP凭据167

认证密钥和证书167

系统凭据库168

凭据存储的具体实现169

密钥库(keystore)服务169

密钥blob的版本和类型171

访问限制171

keymaster模块和密钥库服务的实现172

Nexus4的基于硬件的实现173

框架集成175

公开API175

密钥链(KeyChain)API176

密钥链API的实现180

控制对密钥库的访问181

Android密钥库Provider183

总结184

第8章在线账户管理186

Android账户管理概述186

账户管理在Android中的具体实现187

AccountManagerService与AccountManager188

认证模块189

认证模块缓存189

账户管理服务的操作和权限190

账户数据库193

多用户支持196

增加一个认证器模块197

Google账户支持200

Google登录服务201

Google服务认证和授权203

GooglePlay服务206

总结208

第9章企业安全209

设备管理209

实现方法211

添加设备管理员217

企业账户集成220

VPN支持223

PPTP223

L2TP/IPSec223

IPSecXauth224

基于SSL的VPN224

legacyVPN225

基于应用的VPN230

多用户支持233

Wi-FiEAP236

EAP认证方法237

AndroidWi-Fi架构238

EAP凭据管理239

使用WifiManager添加EAP网络242

总结244

第10章设备安全245

控制系统的启动和安装246

引导加载程序246

恢复系统247

验证启动247

dm-verity简介248

Android实现249

打开验证启动249

磁盘加密251

密码模式252

密钥生成253

磁盘加密密码254

修改磁盘加密密码255

启用磁盘加密256

启动加密设备259

屏幕安全261

锁屏实现261

KeyGuard解锁方法263

暴力破解保护270

安全USB调试270

xxiiAndroid安全架构深究

ADB简介271

对安全ADB的需求273

安全ADB273

安全ADB实现274

ADB认证密钥275

验证宿主密钥指纹276

Android备份277

Android备份简介277

备份文件格式278

备份加密279

控制备份范围281

总结281

第11章NFC和安全元件283

NFC简介283

Android对NFC的支持284

读/写模式284

端对端模式289

卡模拟模式289

安全元件290

移动设备中的SE组件290

访问内嵌SE293

AndroidSE执行环境296

使用UICC作为安全元件299

软件卡模拟303

Android44的HCE架构304

APDU路由304

编写HCE服务309

HCE应用的安全311

总结312

第12章SELinux313

SELinux介绍313

SELinux架构314

强制访问控制315

SELinux模式315

安全上下文316

安全上下文的设定和保存317

安全规则318

策略声明318

类型转换规则321

域转换规则322

访问向量规则323

Android实现324

内核修改325

用户空间修改326

设备规则文件334

策略事件日志334

Android44的SELinux策略335

策略概述335

强制域337

无限制域338

应用域340

总结341

第13章系统更新和root访问342

引导加载程序343

解锁引导加载程序343

快速启动模式344

recovery347

原生恢复系统347

定制恢复系统357

root权限359

工程机上的root访问359

正式版本中的root访问363

通过修改boot和system镜像获取root364

通过刷入一个OTA更新包来获取root364

通过漏洞来获取root371

总结372

内容摘要:

本书自底向上描述了Android 的安全架构,深入探究与安全相关的Android 子系统、设备和数据组件的内部实现。其中包括包和用户管理,权限和设备策略,以及一些特殊机制――密码服务、凭据存储和安全元件的支持等。
  本书面向所有对Android 安全体系架构感兴趣的读者,希望对Android 整体或子系统进行评估的安全研究员,以及致力于定制和扩展Android 的开发人员。读者**具有Linux 系统和安卓开发的相关知识。

编辑推荐:

适读人群 :对于所有具有安全意识Android开发者来说,本书都是不可或缺的。
如今大约有十亿台安卓设备正在被世界各地的人们使用着,而每台设备都可能是潜在的被攻击目标。但不幸的是,现在安卓安全专家之外的很多人对很多安卓安全基础特性的理解程度近乎黑盒。在本书中,安全专家Nikolay Elenkov带领我们一起挖掘安卓安全系统的细节。本书自底向上描述了Android的安全架构,并探索安全相关组件和子系统,比如Binder进程间通信、权限、加密提供者和设备管理等。
  你将从本书中学到:
  1 Android系统如何声明、使用并保护权限。
  2 Android系统如何进行应用包管理并使用代码签名验证。
  3 Android系统如何实现Java密码体系(JCA)和Java安全套接字扩展(JSSE)框架。
  4 Android的凭据存储系统和API,用于应用安全地保存密钥。
  5 在线账户管理框架和Google账户与安卓系统的集成。
  6 验证启动、磁盘加密、锁屏和其他设备安全特性的实现。
  7 Android的引导加载程序和恢复系统如何完成完整系统更新,以及如何获取root权限。
  《Android安全架构深究》拥有着极高的知识深度和极多的知识细节,必将是心系安全的安卓开发者的必备书籍。

书籍规格:

书籍详细信息
书名Android安全架构深究站内查询相似图书
9787121279447
如需购买下载《Android安全架构深究》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)99.0语种简体中文
尺寸24 × 19装帧平装
页数印数

书籍信息归属:

Android安全架构深究是电子工业出版社于2016.3出版的中图分类号为 TN929.53 的主题关于 移动终端-应用程序-程序设计 的书籍。