当前位置:首页 > 工业技术
企业级Java安全性 构建安全的J2EE应用
企业级Java安全性 构建安全的J2EE应用

企业级Java安全性 构建安全的J2EE应用PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:(美)Marco Pistoia,(美)Nataraj Nagaratnam等著;尹亚,明喻卫,严进宝译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302097445
  • 页数:413 页
图书介绍:本书内容包括Java安全和网络安全,核心J2EE技术的安全、J2SE安全体系结构和Java2许可模型,秘密密钥密码学和公开密钥密码学中常见的概念和加密技术,J2EE环境中新兴web服务技术的安全本质。
《企业级Java安全性 构建安全的J2EE应用》目录

目录 3

第Ⅰ部分 企业安全与Java 3

第1章 Java技术与安全概述 3

1.1 为什么企业应用要采用Java技术 3

1.1.1 Java 2平台标准版(Java 2 Platform Standard Edition,J2SE) 4

1.1.2 Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE) 4

1.1.3 Java组件 4

1.1.4 完整的、发展的和可互操作的Java安全技术 6

1.1.5 异类环境中的可移植性 7

1.2 企业级Java技术 8

1.2.1 中间层:Servlets、JSP和EJB 9

1.2.2 组件软件:向正确方向迈出的一步 11

1.2.3 企业内部的安全通信 12

1.3 作为安全一部分的Java技术 12

1.4 企业安全集成的概述 13

1.4.1 身份认证与授权服务 13

1.5 上市的时间 14

1.5.1 对基本技术标准的支持 14

1.4.3 防火墙 14

1.4.2 密码服务 14

1.5.2 不同环境中的工程软件 15

1.5.3 时间是关键 16

第2章 企业网络安全与Java技术 17

2.1 网络体系结构 17

2.1.1 两层体系结构 17

2.1.2 三层体系结构 18

2.2 网络安全 21

2.3 服务器端的Java技术 23

2.3.1 WAS组件 24

2.3.2 WAS安全环境 25

2.4 Java与防火墙 26

2.4.1 TCP/IP报文 27

2.4.2 通过防火墙的程序间通信 28

2.4.3 防火墙对Java程序的影响 32

2.5 小结 37

第Ⅱ部分 Enterprise Java组件安全 41

第3章 Enterprise Java安全基础 41

3.1 企业系统 41

3.2 J2EE应用 42

3.2.1 EJB模块 43

3.2.2 Web模块 44

3.2.3 应用客户端模块 44

3.3 ORB间的安全互操作 44

3.4 连接器 45

3.5 Java消息传送服务(JMS) 45

3.6 一个简单的电子商务请求流程 46

3.7 J2EE平台角色 47

3.7.1 应用组件提供者 48

3.7.2 应用组装者 49

3.7.3 部署者 50

3.7.4 系统管理员 51

3.7.5 J2EE产品提供者 52

3.8 J2EE安全角色 53

3.9 声明性安全策略 55

3.9.1 登录配置策略 55

3.9.2 认证策略 59

3.9.3 委托策略 61

3.9.4 连接策略 62

3.10 程序性安全 64

3.10.1 获取身份信息 65

3.10.2 预应授权 66

3.10.3 对EIS的应用管理式登录 67

3.11 WAS环境内部的安全通信 68

3.12 安全电子商务请求流程 70

第4章 Servlet和JSP安全 72

4.1 介绍 72

4.1.1 Java Servlet 73

4.1.2 JSP技术 74

4.2 Servlet的优点 75

4.3 Servlet生命周期 76

4.4 Web模块的部署描述符 79

4.5 认证 80

4.5.1 登录配置策略 80

4.5.2 一次登录,资源尽享 86

4.6 授权 88

4.6.1 调用链 88

4.6.2 保护指定的URL 89

4.6.3 保护URL模式 90

4.6.4 完全保护 91

4.6.5 理解优先级规则 92

4.6.6 数据约束——只能通过SSL传送 93

4.7 主体委托 94

4.8 程序性安全 95

4.8.1 主体信息 95

4.8.2 授权信息 96

4.8.3 SSL属性信息:证书和密码组 99

4.8.4 程序性的登录 101

4.9 Web组件的运行时约束 101

4.10 使用方式 102

4.10.1 使用HTTPS连接到外部HTTP服务器 103

4.10.2 安全地维持状态 104

4.10.3 pre-servlet与post-servlet处理 106

4.11 分割Web应用 109

第5章 EJB安全 111

5.1 引言 111

5.2 EJB角色和安全 112

5.2.1 EJB提供者 113

5.2.2 应用组装者 124

5.2.3 部署者 128

5.2.4 系统管理员 128

5.3 认证 129

5.2.5 EJB容器提供者 129

5.5 委托 130

5.4 授权 130

5.6 安全考虑事项 131

第6章 Enterprise Java Security部署实例 132

6.1 规划组件安全系统 132

6.1.1 客户端访问 133

6.1.2 表示层 133

6.1.3 业务逻辑 134

6.1.4 资源适配器和遗留应用 134

6.2.1 入门级 135

6.2 部署拓扑结构 135

6.2.2 集群环境 136

6.2.3 加另一个防御等级 137

6.2.4 使用安全缓存反向代理服务器进行防御 137

6.3 安全通信信道 139

6.3.1 HTTP连接 139

6.3.2 IOP连接 139

6.3.3 JMS连接 139

6.4 安全性考虑 140

6.3.4 连接到非J2EE系统 140

6.3.5 关于其他主题 140

第Ⅲ部分 Java 2安全基础 143

第7章 J2SE安全基本原理 143

7.1 访问类、接口、域和方法 144

7.2 类加载器 145

7.2.1 类加载机制的安全责任 145

7.2.2 被加载类的可靠性级别 146

7.2.3 类加载过程 150

7.2.4 构建定制的ClassLoader 153

7.3 类文件验证器 156

7.3.1 类文件验证器的责任 158

7.3.2 类文件验证器的四个关口 159

7.3.3 字节码验证器的详细细节 162

7.3.4 类文件验证器的一个例子 164

7.4 安全管理器 166

7.4.1 安全管理器的职责 166

7.4.2 安全管理器的操作 168

7.4.3 攻击类型 169

7.4.4 恶意代码 170

7.4.5 安全管理器扩展 172

7.5 三个Java安全支柱之间的互相依赖 177

7.6 小结 177

第8章 Java 2许可模型 178

8.1 Java 2访问控制模型总览 178

8.1.1 特权修改的词法范围 179

8.1.2 Java 2安全工具 180

8.1.3 JAAS 181

8.2 Java许可 181

8.2.3 Permission类中的implies()方法 182

8.2.2 PermissionCollection类和Permission类 182

8.2.1 许可目标和操作 182

8.2.4 PermissionCollection类和Permission类中的implies()方法 183

8.2.5 Permission隐式地等同于AllPermission 183

8.3 Java安全策略 184

8.3.1 联合多个签名者 185

8.3.2 多个策略文件,一个激活的策略 185

8.4 CodeSource的概念 185

8.5 ProtectionDomaiin 186

8.5.2 系统域和应用域 187

8.5.3 Class、ProtectionDomain和Permission之间的关系 187

8.5.1 在ProtectionDomain类中的implies()方法 187

8.6 基本的Java 2访问控制模型 188

8.6.1 场景:当前线程的简单检测 190

8.6.2 SecurityManager和AccessController 192

8.7 Java 2特权代码 193

8.7.1 构造特权代码的安全建议 194

8.7.2 如何编写特权代码 194

8.7.3 特权代码场景 196

8.8 ProtectionDomain继承 201

8.9.3 在第一个特权栈帧处停止验证 202

8.10 小结 202

8.9 Java 2访问控制模型中的性能问题 202

8.9.2 在系统域之外过滤 202

8.9.1 去除复制ProtectionDomain的操作 202

第9章 Java认证与授权服务(JAS) 203

9.1 JAAS概述和JAAS术语 203

9.2 认证 205

9.2.1 通过LoginModule实现可插的认证 205

9.2.2 JAAS的LoginModule模块的示例 208

9.3 授权概述 224

9.3.1 基于J2SE保护域的授权概述 225

9.3.2 向线程添加Subject 226

9.3.3 安全授权策略文件 230

9.3.4 基于Subject的授权算法示例 233

9.3.5 对JAAS的其他观察 243

9.4 JAAS与J2EE 244

9.4.1 在不同JVM中执行的Web应用服务器 245

9.4.2 J2EE环境中的JAAS Subject 245

9.4.3 跨越鸿沟 245

9.5 可插入认证的其他技术支持 246

9.4.4 企业级安全策略管理 246

第Ⅳ部分 企业级Java与密码学 249

第10章 密码学理论 249

10.1 密码学的目标 249

10.2 秘密密钥密码学 251

10.2.1 算法与技术 251

10.2.2 秘密密钥安全属性 257

10.3 公开密钥密码学 260

10.3.1 算法与技术 260

10.3.2 公开密钥安全属性 265

10.3.3 数字签名 267

10.3.4 数字证书 268

10.3.5 秘密密钥分发 270

第11章 Java 2平台与加密技术 272

11.1 JCA和JCE框架 272

11.1.1 术语和定义 272

11.1.2 JCA和JCE工作原理 273

11.1.3 JCA和JCE提供者 275

11.1.4 引擎类和SPI类 280

11.2.1 java.security.SecureRandom类 282

11.2 JCAAPI 282

11.2.2 java.security.Key接口 283

11.2.3 java.security包的PublicKey接口和PrivateKey接口 283

11.2.4 java.security.KeyFactory类 283

11.2.5 java.security.KeyPair类 283

11.2.6 java.security.KeyPairGenerator类 283

11.2.7 java.security.KeyStore类 284

11.2.8 java.security.MessageDigest类 286

11.2.9 java.security.Signature类 288

11.2.11 java.security.SignedObject类 298

11.2.10 java.security包中的AlgorithmParameters和AlgorithmParameterGenerator类 298

11.2.12 java.security.spec包 299

11.2.13 java.security.cert包 300

11.2.14 java.security.interfaces包 300

11.3 JCE API 300

11.3.1 java.x.crypto.Cipher类 301

11.3.2 javax.crypto包的CipherInputStream类和CipherOutputStream类 302

11.3.3 javax.crypto.SecreKey接口 304

11.3.4 javax.crypto.spec.SecretKeySpec类 304

11.3.7 javax.crypto.SealedObject类 305

11.3.6 javax.crypto.SecretKeyFactory类 305

11.3.5 javax.crypto.KeyGenerator类 305

11.3.8 javax.crypto.KeyAgreement类 306

11.3.9 javax.crypto.Mac类 307

11.4 实践中的JCE 308

11.4.1 Bob的程序 308

11.4.2 Alice的程序 310

11.5 安全考虑 312

第12章 J2EE中的PKCS与S/MIME 313

12.1 PKCS概述 313

12.1.2 PKCS#5:基于密码的加密标准 314

12.1.1 PKCS#1:RSA加密标准 314

12.1.3 PKCS#7:加密消息语法标准 315

12.1.4 PKCS#8:私有密钥信息语法标准 315

12.1.5 PKCS#9:选择属性类型 315

12.1.6 PKCS#10:证书申请语法标准 315

12.1.7 PKCS#12:个人信息交换语法标准 316

12.2 S/MIME概述 317

12.3 PKCS和S/MIME的签名和验证事务 317

12.3.1 有关PKCS#7标准的思考 319

12.3.2 使用PKCS和S/MIME 320

12.4 带PKCS和S/MIME的加密事务 321

12.5 安全考虑 321

12.6 展望未来 322

第13章 J2EE环境下的SSL和TLS协议 323

13.1 SSL和TLS协议 323

13.1.1 record协议 324

13.1.2 handshake(握手)协议 324

13.3 通过SSL支持构建J2EE产品 326

13.3.1 使用SSL保护认证期间的用户ID和密码 326

13.2 HTTPS 326

13.3.2 基于证书认证的SSL 327

13.3.3 反向代理服务器和WAS的相互认证 328

13.3.4 SSL中基于Cookie的单点登录 328

13.3.5 基于证书认证的单点登录 329

13.3.6 SSL保护通信信道 329

13.4 在J2EE程序中使用SSL 329

13.4.1 JSSE 329

13.4.2 信任管理员 330

13.4.3 信任库 330

13.5.1 无SSL的基本场景 331

13.5 示例 331

13.5.2 带SSL的场景 337

13.6 小结 361

第Ⅴ部分 高级专题 365

第14章 Web服务的企业级安全 365

14.1 XML 365

14.2 SOAP 366

14.3 WSDL 367

14.4 Web服务的安全:动机 367

14.5 安全技术 368

14.5.1 XML与加密技术 369

14.5.2 WS-Security 371

14.6 Web服务安全模型的原则 371

14.6.1 Web服务消息安全 374

14.6.2 WS-Policy 375

14.6.3 WS-Trust 376

14.6.4 WS-SecureConversation 376

14.6.5 WS-Privacy 377

14.6.6 WS-Federation 377

14.6.7 WS-Authorization 377

14.6.8 示例 377

14.7 应用模式 378

14.8 使用场景 379

14.9 Web服务提供者安全 380

14.9.1 用户认证 380

14.9.2 强制授权 382

14.10 安全考虑 383

14.11 前景 383

第15章 对容器提供者的安全考虑 385

15.1 理解环境 385

15.2 认证 386

15.2.3 用户信息 387

15.2.1 认证机制 387

15.2.2 使用JAAS LoginModule 387

15.2.4 单点登录 388

15.3 授权 388

15.4 安全通信 390

15.4.1 使用JSSE 390

15.4.2 客户证书 390

15.5 安全相关 391

15.6 访问系统资源 392

15.7 在连接器边界匹配身份 393

第16章 后记 395

第Ⅵ部分 附录 399

附录A 分布式对象体系结构的安全 399

A.1 RMI 399

A.2 存根和框架 400

A.3 RMI注册 401

A.4 RMI的安全 401

附录B X.509数字证书 403

附录C 中英文对照缩略词表 404

附录D 参考文献 413

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