图书介绍
企业级Java安全性 构建安全的J2EE应用pdf电子书版本下载
- (美)Marco Pistoia,(美)Nataraj Nagaratnam等著;尹亚,明喻卫,严进宝译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302097445
- 出版时间:2005
- 标注页数:413页
- 文件大小:52MB
- 文件页数:432页
- 主题词:JAVA语言-程序设计-安全技术
PDF下载
下载说明
企业级Java安全性 构建安全的J2EE应用PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录 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