注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关企业级Java安全性:构建安全的J2EE应用

企业级Java安全性:构建安全的J2EE应用

企业级Java安全性:构建安全的J2EE应用

定 价:¥58.00

作 者: (美)Marco Pistoia,(美)Nataraj Nagaratnam等著;尹亚,明喻卫,严进宝译;尹亚译
出版社: 清华大学出版社
丛编项:
标 签: Java

ISBN: 9787302097440 出版时间: 2005-03-01 包装: 平装
开本: 26cm 页数: 412 字数:  

内容简介

  本书给应用开发人员和程序员提供了参考:如何利用最新的ava安全技术构建安全的企业级基础结构。本书由IBM的Java安全专家编写,它涵盖了现有的Java2平台的各个版本(包括J2EE、J2SE)以及安全体系结构,并提供了实用解决方案和应用模式,以解决Java安全中的关键问题。为了帮助开发人员构建安全的J2EE应用,本书详细地描述了J2EE安全技术,包括Servlet、JSP、EJB的安全——这些技术是J2EE全系结构的核心。另外本书还涵盖了Web服务的安全技术。贯穿本书的例子和示例代码将帮助您掌握底层技术。本书还详细描述了Java与加密技术之间的关系,包括:·Java加密体系结构(JCA)·Java加密扩展(JCE)·Java安全套接字扩展(JSSE)·安全/多用途因特网邮件扩展(S/MIME)·公开密钥加密标准(PKCS)

作者简介

  本书的作者是几名IBM安全问题研究人员和架构设计师,他们的主要研究方向是Java安全体系结构的定义和相关技术。这个项目的领导人是MarcoPistoia。Marco Pistoia是Java和Web服务安全部门的研究人员之一。这个部门是IBM在纽约YorktownHeights的IBMThomasJ.Watson研究中心的网络安全、隐私和密码学研究部门的一部分。Marco撰写过十本书籍,并发表过许多论文和期刊文章,其内容涉及Java和电子商务安全问题的各个领域。他撰著的一本书,Java 2NetworASecurity,SecondEdition在1999年由Prentice出版社出版。他曾经出席过许多全球级别的会议,例如Sun Microsystems的JavaOne会议等。他曾被邀请为研究生讲授Java安全问题方面的课程,并曾出席纽约Brooklyn的CenterbfAdvancedTechnologyinTelecommunications(CATT)。Marco于1995年在意大利的罗马大学获得了数学硕士学位,现在正在纽约州Brooklyn的Polytechnic大学攻读博士学位。他的技术兴趣主要集中在可移动代码的安全问题、组件软件和面向对象语言的静态分析。NatarjNagaratnam是位于北卡罗莱纳州Raleigh的IBMWebSpheresoftwarefamily高级技术成员之一和首席安全架构师。他领导了IBMWebSphere安全体系结构和IBMGrid基础结构的研究。他还是IBM Web Service安全体系结构研究组的核心成员。他曾经与他人合著了Web Service安全规范和OpenGrid ServicesArchitecture(OGSA)文档。他积极地参与研究JavaCommunity Process中与J2EE安全问题相关的主题部分,也承担了Java Specification Request中关于J2EE安全问题的部分领导工作。Nataral在纽约的Syracuse大学获得了计算机工学博士学位。他的学术论文是关于分布式对象环境中的安全委托问题。他广泛地参与了各种关于Java和安全问题的会议,并且在许多的期刊、会议和杂志上发表了大量的文章。Nataraj是WaiteGroupPress在1996年最早的出版的JavaNetworkingand APTSuperBible的领衔作者之一,此书是关于Java网络的最早的书籍之一。Larry 是和服务安全部门的经理和研究人员之一,这个部门是在纽约KovedJ的avaWeb研究中心的网络安全、隐私和密码学研I究BMYorktownHeights IBMThomasJ.Watson 部门的一部分。他曾经是IBM的Java安全架构师,并曾在关于Java安全设计和开发合作的事宜中负责与SunMicrosystems联络沟通。他积极地参与了JAAS及其后的EJB 1.1版本的安全体系结构的设计。Larry在关于用户界面技术、虚拟现实、超文本和移动计算、Java代码的静态分析以及安全方面发表了25篇以上的文章和技术报告。他目前的研究兴趣包括可移动代码的安全性、组件软件和OO语言的静态分析。AnthonyNadalin是IBM在德克萨斯州Austin的Java和WebService的首席安全架构师。作为一名资深技术成员,他负责横贯IBM、Tivoli和Lotus的安全基础结构的设计和开发。他在与SunMicrosystems关于Java安全设计和开发合作,以及与Microsoft关于WebService安全设计和开发的合作中担任首席安全联络员。他在20年IBM的职业生涯中,曾历任以下职位:VM/SP首席安全架构师、AS/400安全架构师和OS/2安全架构师。他曾经独立以及与他人合作撰写了30多篇技术性期刊和会议文章,iUniverse.com在2000年出版了他的Java and InternetJecurity砂一书。他曾在三个主要的学术期刊和一个会议担任技术委员会成员,并且广泛地审阅了由当今本领域的技术先驱们发表的文章。他曾经出席过许多技术性安全问题会议并多次被邀请发言

图书目录

第1章Java技术与安全概述
1.1 为什么企业应用要采用Java技术
1.1.1 Java2平台标准版(Java 2 Platform Standard Edition, J2SE)
1.1.2 Java2平台企业版(Java 2 Platform Enterprise Edition,J2EE)
1.1.3 Java组件
1.1.4 完整的、发展的和可互操作的Java安全技术
1.1.5 异类环境中的可移植性
1.2 企业级Java技术
1.2.1 中间层:Servlets、JSP和EJB
1.2.2 组件软件:向正确方向迈出的第一步
1.2.3 企业内部的安全通信
1.3 作为安全一部分的Java技术
1.4 企业安全集成的概述
1.4.1 身份认证与授权服务
1.4.2 密码服务
1.4.3 防火墙
1.5 上市的时间
1.5.1 对基本技术标准的支持
1.5.2 不同环境中的工程软件
1.5.3 时间是关键
第2章 企业网络安全与Java技术
2.1 网络体系结构
2.1.1 两层体系结构
2.1.2 三层体系结构
2.2 网络安全
2.3 服务器端的Java技术
2.3.1 WAS组件
2.3.2 WAS安全环境
2.4 Java与防火墙
2.4.1 TCP/IP报文
2.4.2 通过防火墙的程序间通信
2.4.3 防火墙对Java程序的影响
2.5 小结
第II部分 Enterprise Java组件安全
第3章 Enterprise Java安全基础
3.1 企业系统
3.2 J2EE应用
3.2.1 EJB模块
3.2.2 Web模块
3.2.3 应用客户端模块
3.3 ORB间的安全互操作
3.4 连接器
3.5 Java消息传送服务(JMS)
3.6 一个简单的电子商务请求流程
3.7 J2EE平台角色
3.7.1 应用组件提供者
3.7.2 应用级装者
3.7.3 部署者
3.7.4 系统管理员
3.7.5 J2EE产品提供者
3.8 J2EE安全角色
3.9 声明性安全策略
3.9.1 登录配置策略
3.9.2 认证策略
3.9.3 委托策略
3.9.4 连接策略
3.10 程序性安全
3.10.1获取身份信息
3.10.2 预应授权
3.10.3 对EIS的应用管理式登录
3.11 WAS环境内部的安全通信
3.12 安全电子商务请求流程
第4章 Servlet和JSP安全
4.1 介绍
4.1.1 Java Servlet
4.1.2 JSP技术
4.2 Servlet的优点
4.3 Servlet生命周期
4.4 Web模块的部署描述符
4.5 认证
4.5.1 登录配置策略
4.5.2 一次登录,资源尽享
4.6 授权
4.6.1 调用链
4.6.2 保护指定的URL
4.6.3 保护URL模式
4.6.4 完全保护
4.6.5 理解优先级规则
4.6.6 数据约速——只能通过SSL传送
4.7 主体委托
4.8 程序性安全
4.8.1 主体信息
4.8.2 授权信息
4.8.3 SSL属性信息:证书和密码组
4.8.4 程序性的登录
4.9 Web组件的运行时约束
4.10 使用方式
4.10.1 使用HTTPS连接到外部HTTP服务器
4.10.2 安全地维持状态
4.10.3 pre-servlet与post-servlet处理
4.11 分割Web应用
第5章 EJB安全
5.1 引言
5.2 EJB角色和安全
5.2.1 EJB提供者
5.2.2 应用组装者
5.2.3 部署者
5.2.4 系统管理员
5.2.5 EJB容器提供者
5.3 认证
5.4 授权
5.5 委托
5.6 安全考虑事项
第6章 Enterprise Java Security部署实例
6.1 规划组件安全系统
6.1.1 客户端访问
6.1.2 表示层
6.1.3 业务逻辑
6.1.4 资源适配器和遗留应用
6.2 部署拓扑结构
6.2.1 入门级
6.2.2 集群环境
6.2.3 加另一个防御等级
6.2.4 使用安全缓存反向代理服务器进行防御
6.3 安全通信信道
6.3.1 HTTP连接
6.3.2 HOP连接
6.3.3 JMS连接
6.3.4 连接到非J2EE系统
6.3.5 关于其他主题
6.4 安全性考虑
第III部分 Java 2安全基础
第7章 J2SE安全基本原理
7.1 访问类、接口、域和方法
7.2 类加载器
7.2.1 类加载机制的安全责任
7.2.2 被加载类的可靠性级别
7.2.3 类加载过程
7.2.4 构建定制的ClassLoader
7.3 类文件验证器
7.3.1 类文件验证器的责任
7.3.2 类文件验证器的四个关口
7.3.3 字节码验证器的详细细节
7.3.4 类文件验证器的一个例子
7.4 安全管理器
7.4.1 安全管理器的职责
7.4.2 安全管理器的操作
7.4.3 攻击类型
7.4.4 恶习意代码
7.4.5 安全管理器扩展
7.5 三个Java安全支柱之间的互相依赖
7.6 小结
第8章 Java 2许可模型
8.1 Java2 访问控制模型总览
8.1.1 特权修改的词法范围
8.1.2 Java2安全工具
8.1.3 JAAS
8.2 Java许可
8.2.1 许可目标和操作
8.2.2 PermissionCollection类和Permission类
8.2.3 Permission类中的implies()方法
8.2.4 PermissionCollection类和Permission类中的implies()方法
8.2.5 Permission隐式地等同于AllPermission
8.3 Java安全策略
8.3.1 联合多个签名者
8.3.2 多个策略文件,一个激活的策略
8.4 CodeSource的概念
8.5 ProtectionDomain
8.5.1 d PermissionDomain类中的implies()方法
8.5.2 系统域和应用域
8.5.3 Class、ProtectionDomain和Permission之间的关系
8.6 基本的Java 2访问控制模型
8.6.1 场景:当前线程的简单检测
8.6.2 SecurityManager和AccessController
8.7 Java 2特权代码
8.7.1 构造特权代码的安全建议
8.7.2 如何编写特权代码
8.7.3 特权代码场景
8.8 protectionDomain继承
8.9 Java 2 访问控制模型中的性能问题
8.9.1 去除复制ProtectionDomain的操作
8.9.2 在系统域之外过滤
8.9.3 在第一个特权栈帧处停止验证
8.10 小结
第9章 Java认证与授权服务(JAAS)
9.1 JAAS概述和JAAS术语
9.2 认证
9.2.1 通过LoginModule实现可插的认证
9.2.2 JAAS的LoginModule模块的示例
9.3 授权概述
9.3.1 基于J2SE保护域的授权概述
9.3.2 向线程添加Subject
9.3.3 安全授权策略文件
9.3.4 基于Subject的授权算法示例
9.3.5 对JAAS的其他观察
9.4 JAAS与J2EE
9.4.1 在不同JVM中执行的Web应用服务器
9.4.2 J2EE环境中的JAAS
9.4.3 跨越鸿沟
9.4.4 企业级安全策略管理
9.5 可插入认证的其他技术支持
第IV部分 企业级Java与密码学
第10章 密码学理论
10.1 密码学的目标
10.2 秘密密钥密码学
10.2.1 算法与技术
10.2.2 秘密密钥安全属性
10.3 公开密钥密码学
10.3.1 算法与技术
10.3.2 公开密钥安全属性
10.3.3 数字签名
10.3.4 数字证书
10.3.5 秘密密钥分发
第11章 Java2平台与加密技术
11.1 JCA和JCE框架
11.1.1 术语和定义
11.1.2 JCA和JCE工作原理
11.1.3 JCA和JCE提供者
11.1.4 引擎类和SPI类
11.2 JCA API
11.2.1 java.security.SecureRandom类
11.2.2 java.security.Key接口
11.2.3 java.security包的publicKey接口和PrivateKey接口
11.2.4 java.security.KeyFactory类
11.2.5 java.security.KeyPair类
11.2.6 java.security.KeyPairGenerator类
11.2.7 java.security.KeyStore类
11.2.8 java.security.MessageDigest类
11.2.9 java.security.Signature类
11.2.10 java.security包中的AlgorithmParameters和AlgorithmParameterGenerator类
11.2.11 java.security.SignedObject类
11.2.12 java.security.spec包
11.2.13 java.security.cert包
11.2.14 java.security.interfaces包
11.3 JCE API
11.3.1 javax.crypto.Cipher类
11.3.2 javax.crypto包的CipherInputStream类和CipherOutputStream类
11.3.3 javax.crypto.SecreKey接口
11.3.4 javax.crypto.spec.SecretKeySpec类
11.3.5 javax.crypto.KeyGenerator类
11.3.6 javax.crypto.seretKeyFactory类
11.3.7 javax.crypto.SealedObject类
11.3.8 javax.crypto.KeyAgreement类
11.3.9 javax.crypto.Mac类
11.4 实践中的JCE
11.4.1 Bob的程序
11.4.2 Alice的程序
11.5 安全考虑
第12章 J2EE中的PKCS与S/MIME
12.1 PKCE概述
12.1.1 PKCS#1:RSA加密标准
12.1.2 PKCS#5:基于密码的加密标准
12.1.3 PKCS#7:加密消息语法标准
12.1.4 PKCS#8:私有密钥信息语法标准
12.1.5 PKCS#9:选择属性类型
12.1.6 PKCS#10:证书申请语法标准
12.1.7 PKCS#12:个人信息交换语法标准
12.2 S/MIME概述
12.3 PKCS和S/MIME的签名和验证事务
12.3.1 有关PKCS#7标准的思考
12.3.2 使用PKCS和S/MIME
12.4 带PKCS和S/MIME的加密事务
12.5 安全考虑
12.6 展望未来
第13章 J2EE环境下的SSL和TLS协议
13.1 SSL和TLS协议
13.1.1 record协议
13.1.2 handshake(握手)协议
13.2 HTTPS
13.3 通过SSL支持构建J2EE产品
13.3.1 使用SSL保护认证期间的用户ID和密码
13.3.2 基于证书认证的SSL
13.3.3 反向代理服务器和WAS的相互认证
13.3.4 SSL中基于Cookie的单点登录
13.3.5 基于证书认证的单点登录
13.3.6 SSL保护通信信道
13.4 在J2EE程序中使用SSL
13.4.1 JSSE
13.4.2 信任管理员
13.4.3 信任库
13.5 示例
13.5.1 无SSL的基本场景
13.5.2 带SSL的场景
13.6 小结
第V部分 高级专题
第14章 Web服务的企业级安全
14.1 XML
14.2 SOAP
14.3 WSKL
14.4 Web服务的安全:动机
14.5 安全技术
14.5.1 XML与加密技术
14.5.2 WS-Security
14.6 Web服务安全模型的原则
14.6.1 Web服务消息安全
14.6.2 WS-Policy
14.6.3 WS-Trust
14.6.4 WS-SecureConversation
14.6.5 WS-Privacy
14.6.6 WS-Federation
14.6.7 WS-Authorization
14.6.8 示例
14.7 应用模式
14.8 使用场景
14.9 Web服务提供者安全
14.9.1 用户认证
14.9.2 强制授权
14.10 安全考虑
14.11 前景
第15章 对容器提供者的安全考虑
15.1 理解环境
15.2 认证
15.2.1 认证机制
15.2.2 使用JAAS LoginModule
15.2.3 用户信息
15.2.4 单点登录
15.3 授权
15.4 安全通信
15.4.1 使用JSSE
15.4.2 客户证书
15.5 安全相关
15.6 访问系统资源
15.7 在连接器边界匹配身份
第16章 后记
第VI部分 附录
附录A 分布式对象体系结构的安全
A.1 RMI
A.2 存根和框架
A.3 RMI注册
A.4 RMI的安全
附录B X.509数字证书
附录C 中英文对照缩略词表
附录D 参考文献

本目录推荐