当前位置:首页 > 工业技术
安全模式 J2EE、Web服务和身份管理最佳实践和策略

安全模式 J2EE、Web服务和身份管理最佳实践和策略PDF格式文档图书下载

工业技术

图书介绍:本书汇集了作者在安全领域的丰富经验,全面阐述Java应用安全的基本知识和结构化安全设计方法。本书介绍如何使用模式驱动和最佳实践构建可靠应用和服务。全书分为两大部分,第一部分介绍用于J2EE应用,Wed服务,身份管理,服务供应和身份识别的安全架构。

查看更多关于安全模式 J2EE、Web服务和身份管理最佳实践和策略的内容

图书介绍

第1章 默认安全 1

第一部分 引言 1

1.1 围绕安全的业务挑战 2

1.2 哪些环节是最薄弱的 3

1.2.1 网络服务 3

1.2.2 主机操作系统 3

1.2.3 应用或服务 4

1.3 应用安全的影响 4

1.4 安全四问 8

1.4.1 要保护哪些应用 8

1.4.2 保护应用时应防范哪些人 8

1.5.2 设计模式 9

1.5.4 可行性检查 9

1.5.3 最佳实践 9

1.5 构建健壮安全的策略 9

1.5.1 安全设计统一过程 9

1.4.4 为什么要保护它们 9

1.4.3 应该在哪里保护这些应用 9

1.5.5 主动评估 10

1.5.6 剖析 10

1.5.7 防御性策略 10

1.5.8 恢复和持续性策略 10

1.6 主动安全措施和被动安全措施 10

1.7 遵守安全法规的重要性 10

1.7.1 萨班斯-奥克斯莱法案 10

1.7.2 格雷姆-里奇-比利雷法 11

1.7.5 欧盟资料数据保护指引 12

1.7.3 HIPPA 12

1.7.4 儿童在线隐私保护法案 12

1.7.6 加利福尼亚州安全攻击通知 13

1.7.7 其他国家的安全法规 13

1.8 身份管理的重要性 13

1.8.1 身份供应服务 13

1.8.2 身份数据同步服务 13

1.8.3 访问管理服务 13

1.9 安全的身份识别 14

1.9.1 身份识别和认证 14

1.9.2 智能卡识别 14

1.8.6 审计和报告服务 14

1.8.5 目录服务 14

1.8.4 联合服务 14

1.9.3 生物特征识别 15

1.9.4 基于RFID的识别 17

1.10 Java技术的重要性 18

1.11 让安全成为“业务助推器” 19

1.11.1 案例1:说明身份和访问管理的必要性 19

1.11.2 案例2:说明主动安全措施的必要性 19

1.11.3 案例3:说明遵守安全法规的必要性 21

1.12 小结 21

参考文献 21

第2章 安全基本知识 25

2.1 安全需求和目标 25

2.1.1 机密性 25

2.1.3 认证 26

2.1.4 授权 26

2.1.2 完整性 26

2.1.5 不可抵赖性 27

2.2 加密技术在安全中的作用 27

2.3 安全套接字层的作用 36

2.4 LDAP在安全中的重要性和作用 39

2.5 加密算法的常见挑战 40

2.5.1 随机数的生成 40

2.5.2 密钥管理 42

2.5.3 证书撤销问题 42

2.5.4 信任模型 42

2.6 威胁建模 44

2.7 身份管理 45

2.7.1 单点登录 46

2.7.2 联合单点登录 47

2.8 小结 48

参考文献 48

第二部分 Java安全架构与技术 51

第3章 Java 2平台安全 51

3.1 Java安全架构 52

3.1.1 Java虚拟机 52

3.1.2 Java语言 52

3.1.3 Java内置的安全模型 53

3.2 Java Applet安全 59

3.3 Java Web Start安全 63

3.4 Java安全管理工具 64

3.4.1 Java密钥库 65

3.4.2 Keytool 65

3.5 J2ME安全架构 69

3.4.4 Jarsigner 69

3.4.3 Policytool 69

3.5.1 J2ME配置 70

3.5.2 J2ME概要 72

3.5.3 MIDlet安全 73

3.6 Java Card安全架构 75

3.6.1 了解智能卡 75

3.6.2 智能卡中的JavaCard技术 76

3.6.3 JavaCard平台的安全模型 76

3.6.4 Java Card Applet 77

3.7 保护Java代码的安全 78

3.7.1 逆向工程:反汇编和反编译 78

3.7.2 代码混淆 79

3.8 小结 79

参考文献 80

第4章 Java可扩展安全架构与API 81

4.1 Java可扩展安全架构 81

4.2 Java加密架构 82

4.2.1 JCA加密服务 83

4.2.2 理解JCP API编程模型 84

4.3 Java加密扩展 87

4.3.1 JCE加密服务提供者 87

4.3.2 理解JCE API编程模型 89

4.3.3 JCE对硬件加速和智能卡的支持 97

4.3.4 将智能卡用作Java密钥库 97

4.4 Java证书路径API 99

4.4.1 Java CertPath类和接口 100

4.4.2 Java CartPath API编程模型 100

4.5.1 JSSE提供者 102

4.5 Java安全套接字扩展 102

4.5.2 JSSE类和接口 103

4.5.3 理解JSSEAPI编程模型 103

4.6 Java认证和授权服务 111

4.6.1 JAAS类和接口 112

4.6.2 理解JAAS API编程模型 112

4.7 Java通用安全服务 122

4.8 简单认证和安全层 123

4.9 小结 125

参考文献 126

第5章 J2EE安全架构 127

5.1 J2EE架构及其逻辑层 127

5.2 J2EE安全定义 128

5.4.1 声明型安全 129

5.4 基于容器的J2EE安全 129

5.3 J2EE安全基础设施 129

5.4.2 编程型安全 130

5.4.3 J2EE认证 130

5.4.4 保护域 131

5.4.5 J2EE授权 132

5.4.6 Java客户端容器授权合同 132

5.4.7 传输层安全 133

5.5 J2EE组件级/层级安全 133

5.5.1 用户、组、角色和域 133

5.5.2 Web层或表示层安全 134

5.6 J2EE客户端安全 143

5.6.1 HTTPS连接 143

5.7 EJB层或业务组件安全 145

5.6.2 保护J2ME客户端的安全 145

5.7.1 EJB声明型授权 146

5.7.2 EJB编程型授权 147

5.7.3 匿名或未保护的EJB资源 147

5.7.4 EJB中的主体角色委派 148

5.8 EIS集成层概述 150

5.8.1 保护J2EE连接器和EIS的安全 150

5.8.2 保护JMS的安全 152

5.8.3 保护JDBC的安全 153

5.9 J2EE架构——网络拓扑 153

5.9.1 具备水平可扩展性的安全设计 154

5.9.2 具备垂直可扩展性的安全设计 155

5.10 J2EE Web服务安全概述 156

参考文献 157

5.11 小结 157

第三部分 Web服务安全与身份管理 158

第6章 Web服务安全标准与技术 158

6.1 Web服务架构及其构件 159

6.1.1 Web服务的操作模型 160

6.1.2 核心Web服务标准 160

6.1.3 Web服务的通信方式 162

6.2 Web服务安全的核心问题 162

6.3 Web服务安全的需求 164

6.3.1 认证 164

6.3.2 授权与权限 164

6.3.8 单点登录和委派 165

6.3.7 可用性和服务持续性 165

6.3.9 身份和策略管理 165

6.3.10 安全互操作性 165

6.3.5 数据机密性 165

6.3.6 不可抵赖性 165

6.3.4 数据完整性 165

6.3.3 审计和跟踪 165

6.4 Web服务安全标准 166

6.5 XML签名 166

6.5.1 XML签名的动机 166

6.5.2 剖析XML签名 166

6.5.3 算法 169

6.5.4 XML签名示例 171

6.5.5 创建XML签名 174

6.5.6 核实和验证XML签名 174

6.6.2 剖析XML加密 175

6.6.1 XML加密的动机 175

6.6 XML加密 175

6.6.3 XML加密算法 178

6.6.4 XML加密应用示例 180

6.7 XML密钥管理系统 183

6.7.1 XKMS的动机 183

6.7.2 XKMS规范概述 184

6.7.3 XML密钥信息服务 184

6.7.4 XML密钥注册服务 186

6.7.5 X-BULK 188

6.8 OASIS Web服务安全 190

6.8.1 WS-Security的动机 190

6.8.5 在WS-Security中使用安全令牌 191

6.8.4 在WS-Security中使用加密 191

6.8.3 在WS-Security中使用数字签名 191

6.8.2 WS-Security的定义 191

6.8.6 WS-Security:剖析SOAP消息安全 192

6.9 WS-I基本安全概要 197

6.10 基于Java的Web服务安全提供者 198

6.10.1 Sun公司的JWSDP 198

6.10.2 Sun Java系统访问管理器 198

6.10.3 VeriSign TSIK和XKMS服务 198

6.10.4  RSA BSAFE Secure-WS 199

6.11 支持XML的安全设备 199

6.12 小结 199

参考文献 200

7.1 身份管理核心问题 201

第7章 身份管理标准与技术 201

7.2 理解网络身份和联合身份 202

7.3 SAML简介 203

7.3.1 SAML的动机 203

7.3.2 SAML在单点登录中的作用 204

7.3.3 SAML1.0 204

7.3.4 SAML1.1 204

7.3.5 SAML2.0 204

7.3.6 SAML概要 205

7.4 SAML架构 206

7.4.1 SAML断言 207

7.4.2 SAML域模型 207

7.4.3 SAML架构 208

7.4.5 策略管理点 209

7.4.6 SAML请求-应答模型 209

7.4.4 策略实施点 209

7.4.7 SAML认证断言 211

7.4.8 SAML属性断言 212

7.4.9 SAML授权决策断言 213

7.4.10 SAML中的XML签名 215

7.5 SAML应用场景 215

7.6 SAML在基于J2EE的应用和Web服务中的作用 217

7.7 LibertyAlliance简介及其目标 217

7.7.1 Liberry Phase 1 218

7.7.2 Liberty Phase 2 219

7.8 Liberty Alliance架构 219

7.8.1 关系 219

7.8.4 元数据和模式 220

7.8.2 Web重定向 220

7.8.3 Web服务 220

7.8.5 安全机制 221

7.9 Liberty应用场景 221

7.9.1 联合管理 222

7.9.2 Liberty单点登录 223

7.9.3 联合单点登录 224

7.9.4 全局注销 224

7.9.5 使用Sun Java系统访问管理器的SAML和Liberty的示例 224

7.10 访问控制和策略管理规范简介 226

7.10.1 IETF策略管理工作组 226

7.10.3 Parlay Group 227

7.10.4 企业隐私授权语言 227

7.10.2 分布式管理任务组 227

7.10.5 Web服务策略:WS-Policy和WSPL 228

7.11 XACML简介 230

7.12 XACML流程与架构 234

7.13 XACML应用场景 236

7.13.1 策略存储 236

7.13.2 集中管理Web服务安全策略 236

7.13.3 与SAML协作 236

7.13.4 ebXML注册器 236

7.13.5 使用Sun公司的XACML工具包的XACML的示例 237

7.13.6 应用场景示例 237

7.13.7 请求示例 237

7.13.8 策略示例 238

7.13.9 结合使用SAML 2.0和XACML 2.0 242

7.14 小结 243

参考文献 244

第四部分 安全设计方法、模式和可行性检查 247

第8章 安全设计点金术:方法、模式和可行性检查 247

8.1 基本原理 248

8.2 安全统一过程 249

8.2.1 安全统一过程工件 253

8.2.2 风险分析 254

8.2.3 权衡分析 255

8.3 安全模式 256

8.4 用于J2EE、Web服务、身份管理和服务供应的安全模式 260

8.4.1 安全模式模板 260

8.4.2 安全模式目录 260

8.4.3 安全模式及其关系 264

8.4.4 模式驱动的安全设计 271

8.4.5 安全设计过程 272

8.4.6 策略设计 275

8.4.7 分类 275

8.4.8 应用安全评估模型 276

8.5 可行性检查 277

8.6 安全测试 284

8.6.1 黑盒测试 284

8.6.2 白盒测试 285

8.7 采用安全框架 285

8.8 重构安全设计 287

8.9 服务的持续性和恢复 287

8.10 小结 288

参考文献 288

9.1 Web层安全模式 291

9.1.1 认证实施器 291

第五部分 设计策略与最佳实践 291

第9章 确保Web层安全:设计策略与最佳实践 291

9.1.2 授权实施器 300

9.1.3 拦截验证器 307

9.1.4 SecureBaseAction 314

9.1.5 安全日志器 318

9.1.6 安全管道 327

9.1.7 安全服务代理 332

9.1.8 拦截Web代理 337

9.2 最佳实践与陷阱 343

9.2.1 基础设施 343

9.2.2 通信 344

参考文献 345

9.2.3 应用 345

10.1 业务层的安全考虑因素 347

10.2 业务层安全模式 347

10.2.1 审计拦截器 347

第10章 确保业务层安全:设计策略与最佳实践 347

10.2.2 容器管理的安全 354

10.2.3 动态服务管理 360

10.2.4 混淆传输对象 370

10.2.5 策略代理 376

10.2.6 安全服务门面 382

10.2.7 安全会话对象 388

10.3.1 基础设施 392

10.3.2 架构 392

10.3 最佳实践与陷阱 392

10.3.3 策略 393

10.3.4 陷阱 393

参考文献 393

第11章 确保Web服务安全:设计策略与最佳实践 394

11.1 Web服务安全协议栈 394

11.1.1 网络层安全 395

11.1.2 传输层安全 395

11.1.3 消息层安全 395

11.2 Web服务安全基础设施 395

11.2.1 网络外围安全 395

11.2.2 XML防火墙 396

11.2.3 Web服务基础设施 396

11.3 Web服务安全模式 397

11.3.1 消息拦截器网关 397

11.2.4 身份提供者 397

11.2.5 目录服务 397

11.3.2 消息检查器 403

11.3.3 安全消息路由器 414

11.4 最佳实践与陷阱 421

11.4.1 最佳实践 421

11.4.2 陷阱 424

参考文献 424

第12章 确保身份安全:设计策略与最佳实践 426

12.1 身份管理安全模式 426

12.1.1 断言构造器模式 426

12.1.2 单点登录代理 439

12.1.3 凭证令牌化器模式 456

12.2.1 最佳实践 463

12.2 最佳实践与陷阱 463

12.2.2 陷阱 464

参考文献 464

第13章 安全服务供应:设计策略与最佳实践 465

13.1 业务挑战 465

13.1.1 服务供应的范围 465

13.1.2 服务供应与身份管理的关系 466

13.1.3 典型的用户账号供应场景 466

13.1.4 当前用户账号供应方法 467

13.2 用户账号供应架构 468

13.2.1 集中模型和分散模型 468

13.2.2 逻辑架构 469

13.2.3 门户集成 471

13.2.5 其他集成能力 472

13.2.4 与身份提供者基础设施集成 472

13.3 SPML简介 473

13.3.1 服务供应操作 473

13.2.6 服务供应产品的评价标准 473

13.3.2 SPML的特点 474

13.3.3 采用SAML实现 475

13.4 服务供应安全模式 477

13.5 最佳实践与陷阱 512

13.5.1 应用设计 512

13.5.2 服务质量 512

13.5.3 服务器规模 513

13.5.4 降低安全风险 513

13.6 小结 513

参考文献 513

14.1 概述 517

第六部分 综合应用 517

第14章 构建端到端安全架构:案例研究 517

14.1.1 理解安全挑战 518

14.1.2 假设 519

14.2 用例场景 519

14.2.1 选择正确的方法 519

14.2.2 确定需求 520

14.2.3 确定安全需求 520

14.2.4 系统约束 521

14.2.5 安全用例 521

14.2.6 用例图 521

14.3 应用架构 523

14.4 安全架构 525

14.4.1 风险分析与降低 527

14.4.2 权衡分析 528

14.4.3 使用安全模式 529

14.4.4 安全架构:详细组件 531

14.5 设计 533

14.5.1 策略设计 533

14.5.2 要素分析 534

14.5.3 安全基础设施 535

14.5.4 层分析 535

14.5.5 信任模型 537

14.5.6 威胁剖析 537

14.5.7 安全设计 538

14.7 测试 546

14.7.1 白盒测试 546

14.6 开发 546

14.7.2 黑盒测试 547

14.8 部署 547

14.8.1 配置 547

14.8.2 监控 547

14.8.3 审计 548

14.9 小结 548

14.10 经验教训 548

14.11 陷阱 548

14.12 结论 549

参考文献 549

第七部分 使用智能卡和生物特征的身份识别 551

第15章 使用智能卡和生物特征的安全身份识别策略 551

15.1 物理和逻辑访问控制 551

15.2 支持技术 552

15.1.2 生物特征技术在访问控制中的作用 552

15.1.1 智能卡在访问控制中的作用 552

15.2.1 Java Card API 553

15.2.2 Global Platform 553

15.2.3 PC/SC框架 553

15.2.4 OpenCard框架 554

15.2.5 OpenSC 554

15.2.6 BioAPI 554

15.2.7 可插入的认证模块 554

15.2.8 图形识别和认证 555

15.2.9 Java认证和授权服务 555

15.3 基于智能卡的身份识别和认证 556

15.3.1 架构和实现模型 556

15.3.2 操作模型 558

15.3.3 将智能卡用于物理访问控制 560

15.4 生物特征身份识别和认证 561

15.4.1 理解生物特征验证过程 561

15.4.2 生物特征验证的准确性 562

15.4.3 架构和实现 563

15.4.4 操作模型 565

15.4.5 生物特征SSO策略 567

15.5 使用智能卡和生物特征的多重认证 569

15.5.1 生物特征卡内匹配策略 569

15.5.2 生物特征离卡匹配策略 569

15.6 最佳实践与陷阱 569

15.6.1 使用智能卡 569

15.6.2 使用生物特征技术 570

15.6.3 陷阱 570

参考文献 571

查看更多关于安全模式 J2EE、Web服务和身份管理最佳实践和策略的内容

相关书籍
作者其它书籍
返回顶部