(计算机应用技术专业论文)基于j2ee的web服务安全性研究和设计实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的web服务安全性研究和设计实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的web服务安全性研究和设计实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的web服务安全性研究和设计实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的web服务安全性研究和设计实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 学 作 导 基于j 2 e e 的w e b 服务安全性 研究和设计实现 科:计算机应用技术 者:马安光 师:王新房教授 摘要 签名: 签名: 随着w e b 服务由技术概念到实践应用的不断发展,种种迹象表明w e b 服务将 是未来虑_ : j 架构的一个极为重要的模式。当w e b 服务用于试验计划和人规模生产 时,拥有一种松散耦合的、与语言和平台无关的、在组织内跨企业、跨因特网链接 应刚程序的方法的好处止变得愈发明显,尤其是w e b 服务在网格技术、电子商务等 领域中的表现最为突出。然而,w e b 服务的安全性问题阻碍了该技术在这些重要领 域的应刚平发展,尤其以电子商务最为明显。所以,解决w e b 服务安全性问题己成 为当务之急的事情。 在某种意义上可以说,当一种技术只有融合到某种平台f 才能体现出其技术对 企业应h j 的真正实用价值。所以,本论文选择以成熟的企业级开发平台j 2 e e 为基 础,米研究在此平台下如何实现w e b 服务的安全。在本文中研究的w e b 服务对象 绑定于目前应i l 最广泛的h t t p 协议为底层的传输协议。 在本论文中,通过充分利川j 2 e e 平台现有的安全技术和框架并结合新提出的 w e b 服务安全标准,来提供了在j 2 e e 平台下比较全面的安全w e b 服务解决方案。 在安全性方面提供了s o a p 消息传输的机密性服务、客户端身份认证服务和基于角 色的访问控制。在实现这些安全性问题的时候有两个主要的设计目标:第一,尽量 利j 2 e e 现有的成熟的安全技术。第二,设计的安全服务模块有很强的可移植性。 关键词:w e b 服务,j 2 e e 安全,r b a c 鬈 a b s t r c t d e s i g na n di m p l e m e n t a t i o no ft h ew e b s e r v i c e ss e c u r i t yb a s e do nt h ej 2 e e s p e c i a l t y : a u t h o r : s u p e r v is o r c o m p u t e ra p p l m aa n g u a n g i c a t i o nt e c h n o l o g y p r o f w a n gx i n f a n g a b s t r a c t s i g n a t u r e : s i g n a t u r e : i th a sb e e ns h o w nt h a tw e bs e r v i c e sw i l lb eav e r yi m p o r t a n tp a t t e r n o fa p p l i c a t i o nf r a m e w o r kw i t ht h ew e bs e r v i c e s d e v e l o p m e n tw h i c hi s f r o m t h et e e h n o l o g i c a lc o n c e p t i o nt op r a c t i c i n ga p p li c a t i o n t h ea d v a n t a g e so f h a y i n gal o o s e l y c o u p l e d ,l a n g u a g e n e u t r a l ,p l a t f o r m i n d e p e n d e n tw a yo f l i n k i n ga p p l i c a t i o n sw i t h i no r g a n i z a t i o n s ,a c r o s se n t e r p r i s e s ,a n da c r o s s t h ei n t e r n e th a v e b e c o m i n gm o r ea n dm o r eo b v i o u s w h e nw e bs e r v i c e sa r e u s e df o r p i l o tp r o g r a m sa n d w i d e s e a l ep r o d u c t i o n ,e s p e c i a l l yf o rt h e a p p l i c a t i o no fg r i dt e c h n o l o g ya n de l e c t r o n i c b u s i n e s s s e c u r i t yi s ,i n m o s te n v i r o n m e n t s ,t h em o s ti m p o r t a n ta s p e c to fw e bs e r v ic e t h el a c ko ft h e w e bs e r v i c e ss e c u r i t y h o w e v e r ,i s1 i m i t i n gi t su s ei ns o m ef i e l d s ,s ot h e s 0 1 u t i o no ft h ew e bs e r v i c e ss e c u r i t yisat o pp r i o r i t yt a s k i ns o m es e n s e ,t h et e c h n o l o g ys h o w si t sr e a lp r a c t i c a lv a l u ej u s tw h e n i t i si n t e g r a t e di n t ot h ee n t e r p r is e p l a t f o r m t h i sp a p e r ,t h e r e f o r e ,is b a s e do nt h ej 2 e ea n ds t u d yh o wt od e s i g na n di m p l e m e n tt h es e c u r i t yo ft h e w e bs e r v i c e s i nt h i sp a p e r w ef o c u so no n l ys o a ps e c u r i t yb a s e do nt h e h t t pp r o t o c 0 1 i nt h isp a p e r ,w em a k ef u l lu s eo ft h es e c u r i t yt e c h n o l o g ya n df r a m e w o r k 西安理工大学硕士学位论文 o ft h ej 2 e e ,t h e nc o m b i n ew i t ht h en e ws e c u r i t ys t a n d a r do ft h ew e bs e r v i c e s , t op r o v i d et h es m u t i o no ft h ew e bs e r v i c e ss e c u r i t yb a s e do nt h ej 2 e e i n t h ea s p e c to ft h es e c u r i t y ,w eh a v ef u r n i s h e dt h es o a pc o n f i d e n t i a l i ty 、 t h ea u t h e n t i c a t i o no ft h ec l i e n ta n dt h er o l e b a s e da c c e s sc o n t r 0 1 i no u r d e s i g n a t i o na n di m p l e m e n t a t i o n ,w eh a v et w op u r p o s e :t h ef i r s ti sm a k i n g f u l lu s eo ft h es e c u r i t yo ft h ej 2 e e ,t h es e c o n di st h a tt h es e c u r i t ys o l u t i o n d e s i g n e dh a v et h es t r o n gt r a n s p o r t a b i l i t y k e y w o r d s :w e bs e r v i c e s ,j 2 e e ,s e c u r i t y ,r b a c 独创性申明 y8 4 3 9 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学 位论文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知, 除特别加以标注和致谢的地方外,论文中不包含其他人的研究成果。与我 一同工作的同志对本文所论述的工作的任何贡献均已在论文中作了明确 的说明并已致谢。 本论文及相关资料若有不实之处,由本人承担一切相关责任。 论文作者签名:曼堡型晦乡月乡日 保护知识产权申明 本人完全了解蘧安理工大学有关保护知识产权的规定,即:研究生在 校攻谗学位期同所取得的所有研冗成果的知识产权属西安理工大学所有。 本人保证:发表或使用与本论文相关的成果对署名单位仍然为西安理工大 学,无论何时何地,未经学校许可,决不转移或扩散与之相关的任何技术 或成果。学校有权保留本人所提交论文的原件或复印件,允许论文被查阅 或借阅;学校可以公布本论文的全部或部分内容,可以采用影印、缩印或 其他手段复制保存本论文。 ( 加密学位论文解密之前后,以上申明同样适用) 论文作者签名:g 鲤杰立导师签名t 至至幽石月,日 绪论 1 绪论 1 1 引言 在网络技术的发展过程中,经历了从c s 架构到b s 架构。然而, 随着i n t e r n e t 或i n t r a n e t 使用的增长,将原有编程模型不能生成易于 分布的客户端的缺点暴露了出来。在9 0 年代早期,传统企业信息系统提 供商通过从两层的c s 应用模型向灵活的三层和多层应用模型的进行迁 移以响应客户需求。新模型将业务逻辑从系统服务和用户界面分离出来, 将其作为中间层摆在这二者之间。应用开发者可以专注于业务逻辑细节 的编程。这些因素都促成j 2 e e 技术的形成和发展。 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 规范是s u n 公司制定的一个 基于j a v a 技术的分布式组件计算平台的规范,在规范定义的平台上可以 简单、快速的实现多层结构的基本技术的分布式应用系统。j 2 e e 利用j a v a 2 平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问 题的体系结构。提供了对各种最新技术e j b 、s e r v l e t 、j s p 、j d b c 、c o r b a 以及x m l 的全面支持。j 2 e e 提供了一个企业级的计算模型和运行环境, 用于开发和部署多层体系结构的应用。 w e b 服务”“是一个专有名词,它是由i b m 、m i c r o s o f t 和a r i b a 三 家公司共同提出的一种新的网络服务概念。该技术为了实现不同服务之 间的互操作能力,它们遵循了一些共同标准,比如s o a p ,w s d l ,u d d i 等 协议。从表面来看,w e b 服务就是一个应用程序,它向外界提供一个能 够通过w e b 方式进行调用的a p i ,更确切的来说,w e b 服务是建立可互 操作的分布式应用程序的新平台,是封装成单个实体发布到网络上并提 供了a p i 以供其它程序使用的功能集合,是在i n t e r n e t 上进行分布式计 算的基本构造块。w e b 服务由三个主要角色构成,分别是服务提供者、服 务请求者、以及服务发布机构。角色之间的动作以及交互内容包括发布、 西安理工大学硕士学位论文 查找、绑定操作、服务描述文件、服务请求响应消息等。 虽然w e b 服务技术目前很热,而且对未来的网格计算和电子商务的发 展提到至关重要的推动作用。可是国内外对于w e b 服务技术主要处于研 究阶段,很多公司和企业对于此技术的应用方面持观望态度。这主要原 冈是该w e b 服务的安全性问题没有做到有效的解决。安全性问题使得许 多传统行业对w e b 服务望而却步。无论电子商务要做的是企业到企业的 应用程序还是企业到顾客的零售网站,肯定会出现很多不体面的事情, 比如入侵网络、偷窃公司财产,或者数据传输被恶意截获等”1 。所以,我 们要通过多种方式来防止信息被破坏,保证信息的机密性、完整性及准 确性等”1 。 一个系统的安全性可以从三个层次来考虑:第一层即存放数据资源的 服务器组,第二层为传递数据的计算机网络,第三层为需要访问数据的 用户计算机。虽然j 2 e e 能够快速、安全、可靠地构建商业应用以及通用 的分布式、基于因特网的企业系统,但是支持w e b 服务后又产生了新的 安全需求问题。 1 2 课题的研究背景 w e b 服务技术只是一种技术,只有当与稳定、成熟的开发平台结合在 一起时,才给企业级应用和开发带来益处。i b m l 公司于2 0 0 2 年推出了在 j 2 9 9 平台上支持w e b 服务的草案版本( j s r l 0 9 ) ”。 j s r l 0 9 ,即w e bs e r v i c e sf o rj 2 e e 定义了在1 2 e e1 3 或j 2 e e1 4 应用程序服务器中如何支持w e b 服务。具体地说,w e bs e r v i c e sf o rj 2 e e 定义了客户机模型、部署模型和运行时模型,从而使w e b 服务客户机和 实现可咀从一个j 2 e e 供应商实现移植到另一个j 2 e e 供应商实现。w e b s e r v i c e sf o rj 2 e e 基于j a x r p c 进行构建,以提供客户机编程模型。 该客户机模型允许w e b 服务客户机( j a v a 的或非j a v a 的,在j 2 e e 之 该客户机模型允许w e b 服务客户机( j a v a 的或非j a v a 的,在j 2 e e 之 2 绪论 中或在j 2 e e 之外) 访问部署在支持j s r l 0 9 的j 2 e e 应用程序服务器 中的w e b 服务。它还允许j 2 e e 组件通过使用j 2 e e 编程模型调用w e b 服务( j a v a 的或非j a v a 的,在j 2 e e 之中或在j 2 e e 之外) 。w e b s e r v i c e sf o rj 2 e e 部署模型定义了w s d l 文档的处理方法和w s d l 文 档的服务和x m l 信息模型到j 2 e e 组件的映射,包括e j b 容器中的无 状态会话b e a n 和s e r v l e t 容器中的s e r v l e t 和j a x r p c 端点。它还 定义了对j a x r p c 处理程序的部署和运行时支持。w e bs e r v i c e sf o r j 2 e e 还通过定义j 2 e e 应用程序服务器,应如何使w s d l 文档可以通过 u r l 获得对服务发布的支持。为您的w e b 服务支持与j 2 e e 应用程序服 务器一起使用j s r l 0 9 能确保您w e b 服务实现和客户机的可移植性。 目前,j 2 e e1 4 开始支持了w e b 服务。然而,w e b 服务的应用在一 些重要领域( 电子商务) 受到很大的限制。其主要原因是w e b 服务安全 问题的解决还处于刚刚起步的阶段,没有一个比较成熟的安全解决方案。 在国内研究的工作历史不长,据我们目前掌握的资料,尚未发现其它任 何研究机构或团体给出一个全面的解决方案。尤其是基于j 2 e e 开发平台 的分布式企业级解决方案。 因此,基于j 2 e e 的分布式应用安全性研究意义重大,不仅是对传统 的信息、网络安全性研究的发展,也是w e b 服务技术本身发展的需要, 特别是对w e b 服务的重要应用动态电子商务的健康快速发展有着基 本性的深刻影响。 1 3 研究与发展现状 从w e b 服务出现到目前,人们也一直关注此技术一个重要的问题一 安全性问题。w e b 服务的安全性问题涉及的议题相当广泛,比如需要解 决基本的w e b 服务通信安全问题,客户端的身份认证等。这些安全需求 是通过对s o a p 消息及s o a p 消息头进行适当的扩展来实现的。问题是, 西安理工大学硕士学位论文 在如何扩展上,不同的人有不同的实现方式,缺乏一个统一的标准。有 鉴于此,w e b 服务的发起者i b m 和微软联合v e r i s i g n 公司于2 0 0 2 年4 月在 w e b 服务世界的安全性:提议的体系架构和指南白皮书中,发布 了w s s e c u r i t y 规范“二。这个规范实际上也是对s o a p 消息头的扩展。 w s s e c u r i t y 规范为w e b 服务提供了一种保障服务安全性的语言。 w s s e c u r i t y 提供了三种能力来描述了s o a p 消息的扩展:信任状传输、 消息集成和消息机密性。w s s e c u r i t y 规范提供了一个通用的机制来将许 可证与消息关联起来,而不需要指定特殊的格式。x m ls i g n a t u r e ”1 可以 保证消息的完整性以确保消息在传递时不被修改。同样地,消息机密性 可以由x m le n c r y p t i o n 。1 和许可证一起来提供,共同保证s o a p 消息各部 分的机密性。2 0 0 3 年初,o a s i s 小组批准了安全性断言标记语言 ( s e c u r i t ya s s e r t i o nm a r k u pl a n g u a g e ,s a m l ) 规范“。作为一个新 生事物,新的安全性断言标记语言( s a m l ) 规范正在被人们拿来与现有 的单点登录技术、认证服务和目录服务进行比较。s a m l 通过利用w e b 基 础结构,是第一个可能成为多个认证协议的规范( 在这种w e b 基础结构 中,x m l 数据在t c p i p 网络上通过h t t p 协议传送) 。x m l 访问控制标记 语言( x a c m l ) 1 是o a s i s 制定的一个用以整合各方面努力成果的一个标 准。它和s a m l 共同使用,它提供了一种标准化x m l 文件接入控制决定的 工具。x a c m l 是用来决定是否允许一个请求使用一项资源,比如它是否能 使用整个文件i 多个文件,还是某个文件的一部分。 这些规范的提出对于w e b 服务安全性问题的解决提供了一定的方法 和手段。目前有些机构和单位j 下在做这方面的努力,正作着安全性、互 操作性等方面的实验。 1 4 本文的研究内容 4 w e b 服务技术现在开始集成到了j 2 e e 平台,可是目前w e b 服务的安 绪论 全性问题限制了其技术在很多领域中的应用。所以,本论文仔细研究了 j 2 e e 开发平台规范,以及其提供的各种服务和技术,尤其j 2 e e 平台的安 全机制咀及提供的各种安全技术。然后通过结合新提出的w e b 服务安全 规范,设计了基于j 2 e e 平台的安全f f e b 服务框架模型。在这里我们重点 考虑的是模型框架的构造,我们的主要目的是寻找一种更合适的安全体 系结构,以尽可能多的利用现存的安全技术,为上层应用提供更好的服 务。 本文共分8 节内容: 第一节绪论。首先,本节简单介绍了w e b 服务技术以及目前在j 2 e e 平 台下如何支持w e b 服务。其次,提出了目前w e b 服务在实际应用方面所遇 到的安全性问题以及安全性方面的晟新进展。 第二节j 2 e e 平台标准及其安全体系结构。本节先介绍了j 2 e e 平台标准 的框架结构以及提供的组件和服务。然后,介绍了j 2 e e 平台的安全体系结 构,该结构主要包括安全概念、认证模型、授权模型以及j a a s 技术。 第三节w e b 服务技术及其在j 2 e e 中的集成。本节首先介绍了w e b 服务 体系结构咀及其s o a p 规范。然后介绍了基于j 2 e e 的w e b 服务,其中主要 介绍了在j 2 e e 平台下支持该服务的j a x r p c 技术。在最后,我们给出了w e b 服务存在的安全性问题。 第四节基于r b a c 的w e b 服务安全模型。根据我们提出的w e b 服务安全 性方面的问题,在本节设计了一个基于r b a c 的w e b 服务安全模型。此模型 提供了我们提出的机密性服务、认证服务和授权服务。 第五节机密性服务。本节主要设计了机密性服务模型,并通过s s l 方式 和w s s e c u r it y 标准简单实现了该服务。 第六节认证服务及单点登录。本节设计了通过j 2 e e 平台提供的h t t p 基本验证和扩展s o a p 头来进行客户端身份认证的方式。在最后设计了通过 s a m l 标准来实现单点登录的模型。 第七节授权服务。本节通过模仿j 2 e e 现有的基于角色的访问控制来设 6 西安理工大学硕士学位论文 计了一个基于角色的w e b 服务访问控制模型并给出了部分的实现。 第八节结论。对本文所作的工作进行了总结性说明。 j 2 e e 平台标准及其安全体系结构 2j 2 e e 平台标准及其安全体系结构 本节比较全面地介绍j 2 e e 标准及其安全体系结构。首先介绍与j 2 e e 应用开发有关的各种基本概念,包括多层应用体系、容器、各种组件及 其适用场合、j 2 e e 基础服务等。然后介绍j 2 e e 的安全体系结构:安全概 念、安全模型等。 2 1j 2 e e 平台标准【1 】【1 2 】 1 3 l j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 是美国s u n 公司和多个 合作者共同推出的一种用于简化分布式企业级应用开发与部署的技术标 准,该技术标准提供了一套基于组件来设计、开发、装配和部署企业级应 用程序的方法。它提供了一个多层结构的分布式的应用程序模型,该模型 具有重用组件的能力、基于扩展标记语言( x m l ) 的数据交换、统一的安全模 式和灵活的事务控制。正是由于它的这些优点,降低了开发这种中阃层服 务的成本和复杂程度,因而使得服务可以被快速的展开。另外,统一的标 准可以使提供商和买主选择最合适于它们的商业应用和所需技术的产品和 组件。 要理解j 2 e e ,就必须掌握下面几个支撑起j 2 e e 体系的核心概念: j 2 e en - t i e r 应用体系:j 2 e e 平台提供的基本应用架构。 j 2 e e 组件:构造j 2 e e 应用的基本软件单元。 j 2 e e 企业服务:可被j 2 e e 应用组件调用的公共服务功能。 j 2 e e 容器:j 2 e e 组件的运行环境。 2 1 1 分布式的多层应用程序 j 2 e e 平台使用了一个多层的分布式的应用程序模型。应用程序的逻辑根 7 西安理工大学硕士学位论文 据其实现的不同功能被封装到组件中,组成j 2 e e 应用程序的大量应用程序 组件根据在其所属的多层的j 2 e e 的环境中所处的层被安装到不同的机器 中。j 2 e e 规范根据企业信息系统各个组成部分在功能上的区别,将整个应 用系统划分为客户层、中间层( 其中可包括w e b 层、业务层) 和企业信息 系统层三层结构,如图卜1 所示。各个应用层分别配置在不同类型的应用 服务器中。 r 一 圈 fj jl - 匝 几订 w e b 容器ife j b 容器 l 、j 表示层业务层 企业信息层 客户端 a 客户层 应用服务器数据端 国2 1j 2 e e 多层应用体系结构 客户层主要用于与企业信息系统的用户进行交互以及显示根据特定商务 规则进行计算后的结果。基于j 2 e e 规范的客户端可以是基于w e b 的,也可 以是不基于w e b 的独立应用程序。在基于w e b 的j 2 e e 客户端应用中,用 户在客户端启动浏览器后,从w e b 服务器中下载w e b 层中的静态t t m l 页面 或由j s p 或s e r v l e t s 动态生成的h t m l 页面。在不基于w e b 的j 2 e e 客户 端应用中,独立的客户端应用程序可以运行在一些基于网络的系统中,比 如手持设备或汽车电话等。同样,这些独立的应用也可以运行在客户端的 j a v aa p p l e t 中。这种类型的客户端应用程序可以在不经过w e b 层的情况下 j 2 髓平台标准及算安全体系结构 盲接访问部署在e j b 容器( e j bc o n t a s n e r ) 中的e j b 组件。 b 表示层( w e b 层) 表示层主要用于人机交互,客户端通过w e b 浏览器向服务器提出服务请 求。服务器通过h t t p 协议把结果信息传送给客户机,客户机接收传来的内 容后把它显示在w e b 浏览器上。j 2 e e 规范定义的w e b 层由j s p 页面、基于 w e b 的j a v aa p p l e t s 以及用于动态生成h t m l 页面的s e r v l e t s 构成。这些 基本元素在组装过程中通过打包柬创建w e b 组件。运行在w e b 层中的w e b 组件依赖w e b 容器来支持诸如响应客户请求以及查询e j b 组件等功能。 c 业务层 在基于j 2 e e 规范构建的企业信息系统中,将解决或满足特定业务领域商 务规则的代码构建成为业务层中的e n t e r p r i s ej a v a b e a n ( e j 8 ) 组件。e j b 组件可以完成从客户端应用程序中接收数据、按照商务规则对数据进行处 理、将处理结果发送到企业信息系统层迸行存储、从存储系统中检索数据 以及将数据发送回客户端等功能。部署和运行在业务层中的e j b 组件依赖 于e j b 容器束管理诸如事务、生命期、状态转换、多线程及资源存储等。 这样,由业务层和w e b 层构成了多层分布式应用体系中的中间层。 d 企业信息层 在企业应用系统的逻辑层划分中,企业信息系统层通常包括企业资源规 划( e r p ) 系统、大型机事务处理( r a i n f r a m et r a n s a c t i o np r o c e s s i n g ) 系统、关系数据库系统( r d m s ) 及其它在构建j 2 e e 分布式应用系统时已有的 企业信息管理软件。 西安理工走学硕士学位论文 2 1 2j 2 e e 组件 j 2 e e 标准定义了一整套相当完备的应用组件框架。利用这个框架,几乎 可以构建从简单的网络门户到复杂的分布式企业级事务应用等任何应用系 统。j 2 e e 的目标就是要通过对组件的合理利用来进行应用系统的设计和开 发。组件接口保证了各个组件符合标准规范,能在不同的环境中保持一致 性,从而为j 2 e e 服务器产品的互操作奠定基础。应用组件在各个层中连接 松散,以此在互操作的同时能保持自身的灵活性和可重用性。 j 2 e e 应用组件各自运行在相应的运行时环境中,这些运行时环境在 j 2 e e 术语里被称为“容器”。不同服务器厂商推出的容器产品不尽相同,但 一定都符合通用接口标准,且均为j 2 e e 中间件组件提供了许多必不可少的 底层公共设施。典型地,容器提供的基础设旌包括:内存管理、同步分线 程、垃圾收集、可用性、可伸缩性、负载平衡和容错。 j 2 e e 标准共定义了以下四种容器,应用组件可通过配置工具部署到对应 的容器中: a p p l e t 容器:运行a p p l e t 客户端应用程序容器:运行标准客户端j a v a 应用程序 w e b 容器:运行表示逻辑层的s e r v l e t 和j s p e j b 容器:运行业务逻辑层的企业j a v a b e a n a w e b 容器组件 ( 1 ) j a v as e r v l e t s e r v l e t 是在服务器一端,运行于w e b 容器内的表示逻辑组件。正如 a p p l e t 扩展了w e b 浏览器的基本功能一样,s e r v l e t 扩展了w e b 服务器的 功能提供编程能力以及动态生成w e b 页的能力。s e r v l e t 的主要功能是 接收来自客户端w e b 浏览器的h t t p 请求,处理输入参数,再把结果以浏览 器可以显示的h t t p 方式进行回传。 o j 2 e e 平台标准及其安全体系结构 ( 2 ) j a v as e r v e rp a g e ( j s p ) 虽然s e r v l e t 可以产生h t t p 输出,但显示处理结果的更好的办法还是使 用j s p 组件( j a v as e r v e rp a g e , a v a 服务器页面) 。j s p 和s e r v l e t 一样, 也是运行在w e b 容器内的表示逻辑层组件,两者在功能上略有不同。 j s p 结合了h t m l 和j a v a ,也就是说,j s p 既可以包含h t m l 代码也可以 包含j a v a 代码。其中h t m l 代码直接发送给浏览器,而j a v a 代码则在剥离 之后,留有服务器解释执行。因此j s p 对于提高h t m l 标签的智能化非常有 用。 在w e b 容器内,j s p 常常作为s e r v l e t 的补充,用于显示s e r v l e t 的处 理结果。 b e j b 容器组件 e j b 是j 2 e e 中间件中的分布式、可伸缩业务逻辑组件。在企业j a v a 项 目中,e j b 组件用于封装核心业务逻辑和数据模型元素。e j b 组件的运行环 境就是e j b 容器,j 2 e e 在规范中定义了应用e j b 代码和容器环境两者的关 系。 在企业应用开发过程中,开发人员编写e j b 时需要符合一定的接口规范。 接口中定义的方法,部分由开发人员自主实现,部分由e j b 容器供应商( 或 应用服务器丌发商) 提供。通过这种机制,e j b 实现了业务逻辑实施( 开发 者编写的方法) 和基础设施供应( 容器提供的方法) 之间的隔离。 一个e j b 组件可以和另一个e j b 组件进行会话,后者既可能与前者在同 容器中,也可能位于远程服务器的另一个容器中。e j b 组件可以使用所有 的企业服务,以及自定义组件库和服务访问库。 e j b 规范定义了以下四种类别的e j b ,以满足不同应用场合的需要: 无状态会话b e a n 状态会话b e a n 实体b e a n 1 1 西安理工大学硕士学位论文 消息驱动b e a n 综上所述,j 2 e e 各组件e j b 、s e r v l e t 、j s p 等等的结合,最终构 成了基于m v c ,具有高度灵活性和可重用性的企业应用体系。 2 1 3 企业服务 j 2 e e 环境以企业服务的形式提供了支撑企业应用的各种基石,例如邮 件、数据库连接、消息和事务处理等。这些最基本的服务以接口、类库、 驱动程序、适配器等形式提供。就像一个操作系统一样,j 2 e e 提供了在各 种服务之上的个公共的j a v a 接口。各个底层服务的实现细节不尽相同, 可能存在细微的差别,公共的j a v a 接口使得应用的代码完全脱离了细节问 题的纠缠。 w e b 容器和e j b 容器之内的应用组件通过调用j 2 e e 企业服务,来访问 企业系统内可用的资源和服务。 j 2 e e 服务a p i 在厂商私有的服务之上提供了一层标准化的j a v a 接口, 例如数据库连接和目录访问等,从应用的角度来看,有效地隐藏了与实现 有关的细节。因此,应用开发者只需考虑标准的a p i 集,无需依赖于面向 具体资源、厂商的a p i ,从而方便了在多种不同的服务实现之间迁移。这些 服务主要有: a 连通性服务 ( 1 ) j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) j d b c 提供数据库连接和访问服务。与o d b c 类似,j d b c 提供了一个 标准、透明的数据库连接的公共编程接口,各开发商根据j d b c 的标准来 实现其底层的驱动程序。j 2 e e 组件通过统一的接口访问不同种类的关系 型数据库。由于应用代码独立于特定的数据库调用,因此当需要从一个 数据库转到另一个数据库时,代码修改开销可以降到最低。 ( 2 ) j c a ( j a v ac o n n e c t o ra r c h i t e c t u r e ) j 2 e e 平台标准及其安全体系结构 j c a 提供与旧有遗留系统之间的连接。j c a ( j a y a 连接器) 用来连接 j 2 e e 应用程序和e i s 体系结构,如e r p 、大型机事务处理、数据库以及 其它遗留信息系统等,帮助开发者进行不同种类的e i s 之间的无缝集成。 j c a 连接器一方面与j 2 e e 应用服务器建立系统级连接,另一方面与访问 e i s 资源的应用组件建立应用级连接。和其它服务a p i 类似,j c aa p i 在 统一接口的同时,为开发商开发各具特色的资源适配器产品提供空间。 b 通信服务 ( 1 ) j a v a 消息服务5 m s ( j a v am e s s a g i n gs e r v i c e ) j m s 提供层与组件之间的消息传递。消息服务在异构环境下扮演着重 要角色。企业大型机信息系统或其它旧有遗留系统与j 2 e e 中间件组件这 样的全异构系统之阳j 的通信连接,就是靠在两端安装消息服务实现的。通 信时,两端应用程序各自与本端的消息服务进程进行会话,网络内消息服 务进程之间则通过点到点或异步方式依次传递消息。j m sa p i 实现了消息 服务产品调用的标准化,这样,j 2 e e 应用就可以与特定的开发商产品实施 保持相对独立。 ( 2 ) 电子邮件服务( j a f j a v am a i l ) 电子邮件服务提供电子邮件服务。正如名字所示,j a v am a i la p i 为 j 2 e e 组件提供e m a i l 服务。它位于s m t p 和p o p 3 之类特定邮件服务实施 上层,为所有公共服务如电子邮件格式识别、邮件收发和判断是否有附件 等,提供统一访问接口。 ( 3 ) j a v ar m i ( r e m o t em e t h o di n v o c a t i o n 远程方法调用) r m i j r m p 正如其名字所表示的那样,r m i 协议在j v m 之间调用远程对 象上的方法。它使用了序列化方式在客户端和服务器端传递数据。r m i 目前使用j a v a 远程消息交换协议j r m p ( j a v ar e m o t em e s s a g i n gp r o t o c 0 1 ) 进行通信。j r m p 是专为j a v a 的远程对象制定的协议。 ( 4 ) j a v ai d l r m i i i o p j a v ai d l r m i i i o p 出于5 r m p 是专为j a v a 对象制定的,因此,r m i 1 3 西安理工大学硕士学位论文 对于用非j a v a 语言开发的应用系统的支持不足。为了提供j 2 e e 与c o r b a 的通信服务,通过综合了r m i 的灵活性和c o r b a 的强度,开发了r m i i i o p 使j 2 e e 组件和c o r b a 组件之间能双向通信。j a v ai d ,是推荐使用的在j 2 e e 环境中访问c o r b a 对象的方法;反之,r m i - - i i o p 则是在c o r b a 客户程序 中调用j 2 e e 组件的方法。 ( 5 ) j a x ( j a v ax m la p i s ) j a x 提供x m l 语法分析绑定服务。j a v ax m la p i 方便使用者在j 2 e e 环境中调用x m l 文档。j a xa p i 提供的服务包括x m l 语法分析( s a x 和d o m ) , x m l 与j a v 8 对象的绑定,x m l 消息发送和x s l t 转换等。j a v a x m la p i 方便使用者在j 2 e e 环境中调用x m l 文档。j a xa p i 提供的服务包括x m l 语法分析( s a x 和d o m ) ,x m l 与j a v a 对象的绑定,x m l 消息发送和x s l t 转换等。 c 其它服务 j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) :提供分布式命名和 目录服务。在分布式环境中,命名和目录服务使得资源在网络范围内的合 理分布成为可能。每个资源在分布式层次树形结构中都具有唯一的名字。 客户程序通过访问目录服务获得所需资源的句柄。j n d i 为企业命名目录 服务调用制定标准,提出了一些统一的接口,由各开发商对这些接口加以 实现。当前市场上目录服务产品主要有l d a p 、n o v e l l 目录服务和a c t i v e 目录服务等,j n d i 在这些开发商的产品之上定义了一个服务层,这样,使 用者就可以通过统一的界面去访问底层的各种服务。各种服务。 2 2j 2 e e 安全体系结构 本节将介绍j 2 e e 提供的安全服务,主要介绍j 2 e e 中的安全概念和j 2 e e 的安全体系架构。 4 1 2 e e 平台标准及其安全体系结构 2 2 1j 2 e e 中的安全概念n 钉 主体( p r i n c i p a l ) :主体是被在企业安全服务验证了的实体。主体用主 体名作为它的标识,通过与主体相关的验证数据进行验证。通常情况下主 体名就是用户的登录名,验证数据就是登录的密码。j 2 e e 规范中并没有限 定j 2 e e 产品提供商使用怎样的认证方法,因此主体名和验证数据的内容和 格式依不同的认证协议而不同。 安全策略域( s e c u r i t yp o l i c yd o m a i n ) :也称安全域( s e c u r i t yd o m a i n ) 或r e a l m ,它是一个逻辑范围或区域,在这一范围或区域中安全服务的管 理员定义和实施通用的安全策略。它是从安全策略的角度划分的区域。比 如可以将企业应用系统划分为企业员工、供应商、合作伙伴等不同的安全 域,对这些安全区域采用不同的安全策略。 安全技术域( s e c u r i t yt e c h n o l o g yd o m a i n ) :它是从安全技术的角度 划分的区域,在一个安全技术域中使用同样的安全机制来执行安全策略。 一个安全技术域可以包括多个安全策略域。 安全属性( s e c u r i t ya t t r i b u t e s ) :每个主体( p r i n c i p a l ) 都有一系 列与之相关的安全属性。安全属性可用来访问被保护的资源,检查用户的 身份和完成其它一些安全相关的用途。j 2 e e 产品提供商或具体的验证服务 的实现来决定怎样将安全属性与一个主体联系起来。j 2 e e 规范并没有限定 什么样的安全属性将与主体相联系。 凭证( c r e d e n t i a l ) :凭证包含或引用为j 2 e e 系统验证一个主体的验 证信息( 安全属性) 。如果成功的通过了验证,主体将获得一个包括安全属 陛的凭证。如果被允许的话,一个主体也可能获取另一个主体的凭证。在 这种情况下两个主体在同一个安全域中具有相同的安全属性。 安全角色:安全角色是具有相同安全属性的逻辑组。它由应用程序的装 配者或应用程序的部署者进行分配的。 安全角色引用:安全角色引用是应用程序提供者用来引用安全角色的标 西安理工大学硕士学位论文 识。应用程序提供者可以用安全角色引用来为安全角色分配资源访问的权 限。也在安全相关的程序代码中引用安全角色。 用户和组:用户和组是在实际系统环境下的用户和用户的集合。它们 对应着现实当中的人和群体。 映射:通过映射应用程序的系统管理员将实际系统环境中的用户和角色 与安全角色联系起来,从而使实际的用户拥有对企业资源访问的适当授权。 2 2 2j 2 e e 的验证模型n 朝“酣 身份验证是用户或组件调用者向系统证明其身份的过程。用户通过某 种方式向系统提交验证信息( 通常是用户名和密码或者是用户的数字证 书) ,系统用用户提供的验证信息和系统的安全策略来验证用户的身份。 用户的验证根据其客户端类型不同分为两种:w e b 客户端的验证和应 用客户端的验证。 a w e b 客户端的验证 w e b 客户端通常通过h t t p 协议来请求w e b 服务器端的资源,这些w e b 资源通常包括h t m l 网页、j s p ( j a v as e r v e rp a g e ) 文件、j a v as e r v l e t 和其它一些二进制或多媒体文件。在企业环境中,企业的某些资源往往要 求只允许某些人访问,有些资源甚至是机密的或安全敏感的。因此对企业 中各种w e b 资源进行访问控制是十分必要的。为了满足企业中的不同安全 级别和客户化的需求,j 2 e e 提供了三种基于w e b 客户端的验证方式: ( 1 ) h t t p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论