《嵌入式系统安全 安全与可信软件开发实战方法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)戴维·克勒德马赫(DavidKleidermacher),(美)迈克·克勒德马赫(MikeKleidermacher)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111520078
  • 页数:276 页
图书介绍:本书提供了一个关于安全法则、安全薄弱环节以及相关可用技术的概述。通过对真实的系统漏洞案例和出于安全需要的开发实例的讲解,给出了抵消安全风险的有效技术及建议。领域涉及数据保护协议、新兴的嵌入式系统、网络、密码系统、系统体系结构、操作系统和存储技术。本书提供给大家使嵌入式系统更可靠、更安全、更有保障的终极建议;本书展示了对安全法则、安全担忧及相关技术的深刻理解;本书介绍了高效开发安全可靠嵌入式软件的成熟技术;当设计安全可靠的嵌入式系统时,系统架构、操作系统、管理程序、网络、存储以及加密,这些都必须被作为研究课题。这是嵌入式系统和安全从业人员必读的一本书,无论是新手还是专家。

第1章 嵌入式系统安全绪论 1

1.1 什么是安全 1

1.2 什么是嵌入式系统 1

1.3 嵌入式安全趋势 3

1.3.1 嵌入式系统的复杂度 4

1.3.2 网络连接 9

1.3.3 关键性基础架构对嵌入式系统的依赖 11

1.3.4 复杂的攻击者 12

1.3.5 处理器整合 13

1.4 安全策略 14

1.4.1 绝对安全 14

1.4.2 保密性、完整性和实用性 15

1.4.3 隔离 15

1.4.4 信息流控制 16

1.4.5 物理安全策略 16

1.4.6 特定应用软件的安全策略 16

1.5 安全威胁 17

1.6 总结 18

参考文献 18

第2章 系统软件的安全考量 19

2.1 操作系统角色 19

2.2 多重独立安全等级 19

2.2.1 信息流 20

2.2.2 数据隔离 20

2.2.3 损害控制 20

2.2.4 周期性处理 20

2.2.5 一直激活 21

2.2.6 防篡改 21

2.2.7 可评估 21

2.3 微内核与单内核 23

2.4 嵌入式操作系统核心安全要求 25

2.4.1 内存保护 25

2.4.2 虚拟内存 25

2.4.3 故障恢复 27

2.4.4 资源保护 27

2.4.5 虚拟设备驱动 30

2.4.6 确定性影响 30

2.4.7 安全调度 33

2.5 访问控制与访问能力 34

2.5.1 案例分析:安全Web浏览器 35

2.5.2 访问控制的粒度与简化 36

2.5.3 白名单与黑名单 38

2.5.4 职责混淆问题 39

2.5.5 能力与访问控制表 39

2.5.6 能力约束与收回 43

2.5.7 使用能力系统的安全设计 44

2.6 系统管理程序与系统虚拟化 46

2.6.1 系统虚拟化介绍 48

2.6.2 系统虚拟化应用 48

2.6.3 环境沙箱 49

2.6.4 虚拟安全设施 49

2.6.5 系统管理程序架构 49

2.6.6 半虚拟化 52

2.6.7 充分利用硬件辅助实现虚拟化 52

2.6.8 系统管理程序的安全性 54

2.7 I/O虚拟化 56

2.7.1 共享I/O的需求 56

2.7.2 仿真技术 56

2.7.3 直通技术 56

2.7.4 共享IOMMU 58

2.7.5 IOMMU与虚拟设备驱动 58

2.7.6 微内核中的安全I/O虚拟化 59

2.8 远程管理 60

2.9 确保TCB的完整性 62

2.9.1 可信硬件和供应链 62

2.9.2 安全引导 62

2.9.3 静态可信根与动态可信根 63

2.9.4 远程认证 64

参考文献 65

第3章 安全嵌入式软件开发 67

3.1 PHASE的介绍 67

3.2 最少实现 68

3.3 组件架构 68

3.3.1 运行时组件化 69

3.3.2 进程与线程 70

3.4 最小化权限 71

3.5 安全开发过程 71

3.5.1 变更管理 72

3.5.2 同行评审 72

3.5.3 开发工具的安全性 74

3.5.4 安全编码 76

3.5.5 软件测试与验证 107

3.5.6 开发过程效率 112

3.6 独立专家验证 113

3.6.1 通用标准 114

3.6.2 案例分析:操作系统保护准则 116

3.7 案例分析:HAWS 119

3.7.1 最少实现 120

3.7.2 组件架构 121

3.7.3 最小化权限 122

3.7.4 安全开发过程 122

3.7.5 独立专家验证 122

3.8 模型驱动设计 122

3.8.1 MDD概述 123

3.8.2 可执行模型 126

3.8.3 建模语言 128

3.8.4 MDD平台类型 132

3.8.5 案例分析:数字病理扫描仪 132

3.8.6 MDD平台选择 138

3.8.7 在安全关键系统中使用MDD 145

参考文献 146

第4章 嵌入式加密 150

4.1 简介 150

4.2 美国联邦政府加密指南 151

4.3 一次性密码本 152

4.4 加密模式 160

4.4.1 输出反馈 160

4.4.2 加密反馈 160

4.4.3 带有CFB保护的OFB 161

4.4.4 通信流安全 162

4.4.5 计数器模式 162

4.5 块加密 163

4.6 认证加密 165

4.6.1 CCM 166

4.6.2 伽罗瓦计数器模式 166

4.7 公钥加密 166

4.7.1 RSA 168

4.7.2 等效密钥强度 169

4.7.3 陷门构建 169

4.8 密钥协商 170

4.9 公钥认证 172

4.10 椭圆曲线加密 174

4.10.1 椭圆曲线数字签名 175

4.10.2 椭圆曲线匿名密钥协商 175

4.11 加密散列 175

4.11.1 安全散列算法 176

4.11.2 MMO 176

4.12 消息认证码 177

4.13 随机数生成 177

4.13.1 真随机数生成 178

4.13.2 伪随机数生成 181

4.14 嵌入式系统的密钥管理 183

4.14.1 密钥管理——通用模型 183

4.14.2 密钥管理案例分析 188

4.15 加密认证 197

4.15.1 FIPS 140-2认证 197

4.15.2 NSA认证 199

参考文献 202

第5章 嵌入式系统数据保护协议 205

5.1 简介 205

5.2 动态数据协议 205

5.2.1 广义模式 205

5.2.2 选择安全的网络层 209

5.2.3 以太网安全协议 210

5.2.4 网络层安全协议与安全套接层协议 213

5.2.5 网络层安全协议 214

5.2.6 安全套接层协议/传输层安全协议 219

5.2.7 嵌入式虚拟专用网络客户端 222

5.2.8 数据包安全传输协议 223

5.2.9 安全外壳协议 224

5.2.10 自定义网络安全协议 225

5.2.11 网络安全协议加密实现 227

5.2.12 安全多媒体协议 227

5.2.13 广播安全 231

5.3 静态数据协议 236

5.3.1 安全存储层的选择 237

5.3.2 对称加密算法的选择 238

5.3.3 存储加密密钥的管理 241

5.3.4 对数据加密解决方案的高端威胁 243

参考文献 245

第6章 新兴应用技术 249

6.1 嵌入式网络交易 249

6.1.1 剖析网络交易 250

6.1.2 不安全状态 250

6.1.3 网络交易的威胁 251

6.1.4 提高网络交易安全的前沿尝试 253

6.1.5 可信赖嵌入式交易体系结构 258

6.2 汽车安全 260

6.3 安卓系统安全 263

6.3.1 安卓系统安全回顾 263

6.3.2 安卓设备Rooting 264

6.3.3 手机数据保护:深度防护的一个实例研究 265

6.3.4 安卓沙箱处理方法 267

6.4 下一代软件定义无线电 271

6.4.1 红黑分离 271

6.4.2 软件定义无线电体系结构 271

6.4.3 进入Linux 272

6.4.4 多域无线电 273

参考文献 274