书籍详情

设计安全的体系结构

设计安全的体系结构

作者:(美)Jay Ramachandran著;胡骏,詹文军等译;胡骏译

出版社:机械工业出版社

出版时间:2003-10-01

ISBN:9787111124078

定价:¥48.00

购买这本书可以去
内容简介
  本书是从软件工程的角度探讨系统安全性体系结构的开山之作。书中描述了如何在计算机系统体系结构中实现安全性,并介绍了大多数安全性产品所使用的常用安全性模式。同时深入讨论了安全性原则、软件过程,以及加密、应用、数据库、操作系统相关的安全性技术。本书的读者对象是负责在应用中集成安全性产品来满足企业安全性需求的软件架构师和工程师。对于其他对安全性和软件工程感兴趣的读者,本书也可作为基本的参考书。随着因特网的发展,计算机安全已经迅速成为一个关键的问题。而随着安全性成为所有IT专业人员的责任,公司也必须重新考虑软件的构建方式,以保证它们的关键应用能够得到保护,同时能够维持数据的完整性和私密性。在这本开拓性的著作里,作者从软件工程的角度探讨系统安全性体系结构。书中强调,应把强大的安全性作为开发过程的指导原则,描述如何在系统的体系结构中融入安全性,并展示了大多数安全性产品中的常用实现模式。对于必须考虑安全性需求的软件架构师和工程师而言,本书是一本必备的参考书。全书深入讨论安全性原则、软件过程,以及有关加密、应用、数据库,操作系统的安全性技术。本书的内容将体系结构评估和安全性评估集成到软件开发过程,解释应用体系结构是一组在安全的通道上通信、在一定的约束条件下运行的受保护组件。安全性原则和体系结构基础,包括安全性产品和安全性基础架构组件对应用的影响。中间件、应用、数据库和操作系统安全性。体系结构张力,描述如何平衡安全性及其他体系结构目标,例如高可用性和可靠性。企业安全性管理,内容包括一个案例研究,论述如何建立金融商业案例对安全性费用估价。
作者简介
  JayRamachandran是AT&T公司的认证架构师和安全性专家,其工作领域涉及企业安全性体系结构和开发。在过去8年中,他为许多关键的网络系统开发用于安全性保证、审核和管理的软件和工具,组织协调对AT&T核心网络运营支持系统的体系结构评估工作。他目前的工作是向工作组教授有关系统体系结构和网络安全性方面的知识。Jay具有俄亥俄州立大学的博士学位。
目录
译者序
前言
第一部分   体系结构和安全性
第1章   体系结构评估 2
1.1   软件过程 2
1.2   评估和软件开发周期 3
1.3   软件过程和体系结构模型 3
1.3.1   Kruchten的 4+1 视图模型 4
1.3.2   开放分布式处理参考模型 5
1.3.3   Rational的统一过程 6
1.4   软件过程和安全性 7
1.5   系统体系结构评估 8
1.5.1   体系结构文档 9
1.5.2   介绍部分 9
1.5.3   体系结构文档的部分 11
1.5.4   体系结构评估报告 13
1.6   结论 13
第2章   安全性评估 15
2.1   什么是安全性评估 15
2.2   组织机构观点 15
2.3   五级一致性模型 16
2.4   系统观点 17
2.5   评估前的准备 18
2.5.1   安全性评估会议 18
2.5.2   安全性评估资产负债表模型 19
2.5.3   描述应用安全性过程 20
2.5.4   确定资产 21
2.5.5   确定安全性弱点和威胁 21
2.5.6   确定潜在的风险 21
2.5.7   威胁和对策举例 22
2.6   评估前的工作 23
2.7   为什么评估如此困难 24
2.7.1   根据价值确定费用 24
2.7.2   为什么安全性评估类似背包问题 25
2.7.3   为什么安全性评估和背包问题不同 27
2.7.4   企业安全性和低分摊费用的
安全性控制 28
2.8   结论 28
第3章   安全性体系结构基础 30
3.1   安全性作为一个体系结构目标 30
3.1.1   企业安全性策略和体系结构 32
3.1.2   供应商 32
3.2   安全性和软件体系结构 34
3.2.1   系统安全性体系结构定义 34
3.2.2   安全性和软件过程 35
3.2.3   针对其他目标的安全性设计力量 36
3.3   安全性原则 37
3.4   其他的安全性相关属性 37
3.5   其他抽象或难以提供的属性 38
3.5.1   推断 38
3.5.2   聚合 39
3.5.3   最小权限 39
3.5.4   自提升 39
3.5.5   优美的失效 40
3.5.6   安全 41
3.6   认证 41
3.6.1   用户ID和密码 41
3.6.2   令牌 42
3.6.3   生物特征认证方案 42
3.6.4   认证架构 43
3.7   授权 43
3.8   访问控制模型 43
3.8.1   强制访问控制模型 43
3.8.2   自由访问控制模型 44
3.8.3   基于角色的访问控制 45
3.8.4   访问控制规则 48
3.8.5   了解应用的访问需求 50
3.9   其他核心的安全性属性 51
3.10   分析一般性系统 51
3.11   结论 53
第4章   安全性体系结构模式 54
4.1   模式目标 54
4.2   常用术语 55
4.3   体系结构原则和模式 55
4.4   安全性模式类别 56
4.5   实体 57
4.6   相关环境持有者 58
4.6.1   会话对象和cookie 58
4.6.2   票证/令牌 59
4.6.3   警戒标记 59
4.6.4   角色 60
4.7   服务提供者 60
4.7.1   目录 61
4.7.2   可信第三方 62
4.7.3   验证者 63
4.8   通道要素 64
4.8.1   包容器 64
4.8.2   过滤器 65
4.8.3   拦截器 67
4.8.4   代理 68
4.9   平台 69
4.9.1   传输隧道 70
4.9.2   分配器 70
4.9.3   集中器 71
4.9.4   层次 71
4.9.5   升降器 73
4.9.6   沙盒 73
4.9.7   magic模式组件 75
4.10   结论 76
第二部分   低级体系结构
第5章   代码检查 78
5.1   代码检查的重要性 78
5.2   缓冲溢出攻击 79
5.2.1   切换UNIX中的执行环境 81
5.2.2   构造缓冲区溢出攻击 81
5.2.3   栈帧的组成部分 82
5.2.4   为什么缓冲区溢出攻击如此普遍 83
5.3   针对缓冲区溢出攻击的对策 83
5.3.1   避免 83
5.3.2   通过验证程序来避免 84
5.3.3   警戒标记 84
5.3.4   层次 84
5.3.5   沙盒 85
5.3.6   包容器 86
5.3.7   拦截器 86
5.4   为什么可以采用的模式如此之多 87
5.4.1   栈扩展重定向 88
5.4.2   硬件支持 88
5.5   安全性和Perl 88
5.5.1   语法检查 89
5.5.2   警戒标记 90
5.5.3   沙盒 90
5.6   Java中的字节码检查 91
5.7   良好的编码实践才能得到安全的代码 92
5.8   结论 93
第6章   加密技术 95
6.1   加密技术的历史 95
6.2   加密工具箱 97
6.3   单向函数 98
6.4   加密 98
6.5   对称加密 98
6.6   非对称加密 100
6.7   数字生成 101
6.8   加密散列函数 101
6.9   认证和数字证书 102
6.10   数字签名 103
6.10.1   经过签署的消息 103
6.10.2   数字信封 103
6.11   密钥管理 104
6.12   密码分析 105
6.12.1   差异密码分析 105
6.12.2   线性密码分析 105
6.13   加密技术和系统体系结构 105
6.14   创新和接受 106
6.15   加密解决方案中的缺陷 107
6.15.1   算法缺陷 107
6.15.2   协议曲解 107
6.15.3   实现错误 108
6.15.4   WEP算法 108
6.16   性能 109
6.17   加密协议比较 110
6.18   结论 111
第7章   可信的代码 112
7.1   在系统中加入信任基础设施 112
7.2   Java沙盒 113
7.2.1   在浏览器中运行小应用程序 114
7.2.2   本地基础设施 115
7.2.3   本地安全性策略定义 115
7.2.4   本地和全局基础设施 115
7.2.5   Java中的安全性扩展 116
7.2.6   系统体系结构 116
7.3   微软认证码 116
7.3.1   全局基础设施 117
7.3.2   本地基础设施 117
7.3.3   本地计算机中的结构 117
7.3.4   认证码和安全性 118
7.4   Internet Explorer区域 118
7.4.1   自定义区域中的安全性 118
7.4.2   基于角色的访问控制 118
7.4.3   接受来自下载内容的指令 120
7.5   Netscape对象签名 120
7.6   在企业中实施信任 121
7.7   保护数字知识产权 122
7.8   Ken Thompson的特洛伊木马编译器 126
7.8.1   一些用于编译器和程序的符号标记 127
7.8.2   自我再生的程序 127
7.8.3   查找签名 129
7.8.4   进一步的思考 130
7.9   留给读者的习题 131
7.10   结论 131
第8章   安全通信 133
8.1   OSI和TCP/IP协议栈 133
8.2   安全通信的结构 135
8.3   SSL协议 135
8.3.1   SSL属性 135
8.3.2   SSL记录协议 136
8.3.3   SSL握手协议 137
8.3.4   SSL问题 138
8.4   IPSec标准 139
8.4.1   IPSec体系结构层次 140
8.4.2   IPSec概述 140
8.4.3   策略管理 141
8.4.4   IPSec传输模式和隧道模式 142
8.4.5   IPSec实现 142
8.4.6   AH协议 143
8.4.7   ESP协议 143
8.4.8   IKE协议 143
8.4.9   安全IPSec数据报的一些例子 144
8.5   IPSec主机体系结构 145
8.6   结论 147
第三部分  中级体系结构
第9章   中间件安全性 150
9.1   中间件和安全性 150
9.1.1   服务访问 150
9.1.2   服务配置 151
9.1.3   事件管理 151
9.1.4   分布式数据管理 152
9.1.5   并发和同步 152
9.1.6   安全性问题 152
9.1.7   可重用服务 152
9.2   绝对可靠性假设 153
9.3   CORBA 154
9.4   OMG CORBA安全标准 155
9.4.1   CORBA安全性服务规范 155
9.4.2   规范中的软件包和模块 155
9.5   CORBA安全性的供应商实现 157
9.6   CORBA安全性级别 157
9.7   保护互操作性 158
9.7.1   安全ORB协议 158
9.7.2   通过SSL的安全通信 159
9.7.3   SSL为什么受欢迎 160
9.8   应用程序无意识的安全性 161
9.9   应用程序有意识的安全性 162
9.10   应用蕴涵 163
9.11   结论 164
第10章   Web安全性 166
10.1   Web安全性问题 167
10.2   Web应用程序体系结构 168
10.3   Web应用程序安全性选项 169
10.4   保护Web客户端 171
10.4.1   活动内容 171
10.4.2   脚本语言 171
10.4.3   浏览器插件和辅助应用程序 172
10.4.4   浏览器配置 172
10.5   连接安全性 172
10.6   保护Web服务器主机 173
10.7   保护Web服务器 175
10.7.1   认证选项 175
10.7.2   Web应用程序配置 176
10.7.3   文档访问控制 176
10.7.4   CGI脚本 176
10.7.5   JavaScript 177
10.7.6   Web服务器体系结构扩展 177
10.8   企业级Web服务器体系结构 178
10.9   Java 2企业版标准 178
10.9.1   服务器端Java 179
10.9.2   Java servlet 179
10.9.3   servlet和声明性访问控制 180
10.9.4   EJB 181
10.10   结论 181
第11章   应用和操作系统安全性 182
11.1   操作系统结构 183
11.2   应用的结构 185
11.3   应用和操作系统的安全性问题 186
11.3.1   硬件安全性问题 187
11.3.2   进程安全性问题 187
11.3.3   软件总线安全性问题 188
11.3.4   数据安全性问题 188
11.3.5   网络安全性问题 188
11.3.6   配置安全性问题 189
11.3.7   操作. 管理和维护的安全性问题 189
11.4   保护网络服务的安全 190
11.5   UNIX可插拔认证模块 191
11.6   UNIX访问控制列表 192
11.6.1   Solaris访问控制列表 194
11.6.2   HP-UX访问控制列表 197
11.7   结论 197
第12章   数据库安全性 198
12.1   数据库安全性的变革 198
12.2   体系结构组件及安全性 200
12.3   数据库安全连接 202
12.4   基于角色的访问控制 203
12.4.1   数据字典 204
12.4.2   数据库对象权限 204
12.4.3   有关基于角色访问控制的问题 204
12.5   数据库视图 205
12.6   基于面向对象封装的安全性 206
12.7   SQL过程扩展 207
12.7.1   包容器 207
12.7.2   警戒标记 208
12.8   通过限制性子句实现的安全性 209
12.9   Oracle标签安全性 210
12.10   结论 214
第四部分   高级体系结构
第13章   安全性组件 216
13.1   安全的单点登录 217
13.1.1   脚本解决方案 218
13.1.2   强安全性. 共享的认证 218
13.1.3   网络认证 219
13.1.4   SSSO问题 219
13.2   公钥基础设施 221
13.2.1   证书授权机构 222
13.2.2   注册授权机构 222
13.2.3   仓库 222
13.2.4   证书持有者 223
13.2.5   证书验证者 223
13.2.6   PKI使用和管理 223
13.2.7   PKI的运行问题 223
13.3   防火墙 224
13.3.1   防火墙配置 225
13.3.2   防火墙的局限性 225
13.4   入侵检测系统 226
13.5   LDAP和X.500目录 228
13.5.1   轻量级目录访问协议 229
13.5.2   体系结构问题 229
13.5.3   Kerberos 230
13.5.4   Windows 2000中的Kerberos组件 231
13.6   分布式计算环境 232
13.7   SSH 234
13.8   分布式沙盒 234
13.9   结论 236
第14章   安全性和其他体系结构目标 237
14.1   非功能性目标的指标 237
14.2   围绕安全性的力量图 237
14.2.1   通常的体系结构设计 238
14.2.2   良好的体系结构设计 240
14.3   高可用性 241
14.4   健壮性 243
14.4.1   二进制补丁 244
14.4.2   安全性问题 245
14.5   事件重建 245
14.6   易用性 246
14.7   可维护性. 适应性和变革 248
14.8   可扩展性 249
14.9   互操作性 250
14.10   性能 250
14.11   可移植性 253
14.12   结论 254
第15章   企业安全性体系结构 256
15.1   把安全性作为一个过程 257
15.1.1   应用安全性策略 257
15.1.2   安全性数据 257
15.1.3   记录数据库 258
15.2   作为数据管理问题的企业安全性 258
15.2.1   安全性策略仓库 259
15.2.2   用户仓库 259
15.2.3   安全性配置仓库 260
15.2.4   应用资产仓库 260
15.2.5   威胁仓库 261
15.2.6   安全性弱点仓库 261
15.3   数据管理工具 262
15.3.1   安全性专业技术的自动化 262
15.3.2   安全性数据管理的方向 263
15.4   David Isenberg和“愚蠢的网络” 264
15.5   可扩展标记语言 265
15.6   XML安全性服务的信令层 266
15.7   XML和安全性标准 266
15.7.1   J2EE Servlet安全性规范 267
15.7.2   XML签名 267
15.7.3   XML加密 268
15.7.4   S2ML 268
15.7.5   SAML 269
15.7.6   XML密钥管理服务 269
15.7.7   XML和其他加密原语 270
15.8   安全性模式类目回顾 270
15.9   支持XML的安全性数据 271
15.10   HGP:一个数据管理的案例研究 272
15.11   结论 274
第五部分   安全性商业案例
第16章   建立安全性商业案例 276
16.1   概述 276
16.2   计算机窃取及欺骗所引起的财务损失 277
16.3   Invita结构案例研究 279
16.4   Invita Security公司中的安全性 281
16.5   商业案例的有关情况 282
16.5.1   开发费用 282
16.5.2   运行费用 283
16.6   暂停1:金融公式 284
16.6.1   利率函数 284
16.6.2   净现值 285
16.6.3   内部利润率 285
16.6.4   偿还周期 285
16.6.5   统一支付 285
16.7   收支-平衡分析 285
16.8   暂停2:节约费用模型的假设 286
16.8.1   节省费用模型中的假设 286
16.8.2   稳态损失 287
16.8.3   网络中断引起的灾难性损失 287
16.9   封闭会议议程 288
16.9.1   稳态损失 289
16.9.2   灾难性损失 290
16.9.3   演示 291
16.9.4   给攻击上保险 292
16.9.5   商业案例的结论 292
16.10   对商业案例的评论 293
16.11   保险与计算机安全 294
16.11.1   黑客险 295
16.11.2   保险定价方法 296
16.12   结论 297
第17章   结论 298
缩略语词汇表 302
参考书目 308                  

猜您喜欢

读书导航