(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于web服务的船舶核算系统安全架构的设计与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 随着信息技术的快速发展,w e b 服务技术的应用越来越广泛,但其安全性一 直是制约其发展的瓶颈,因此w e b 服务安全性是一个值得深入研究和探讨的课 题。 本文首先综述了w e bs e r v i c e 相关技术,分析了w e b 服务消息传输的安全缺 陷,阐述了w s s e c u r i t y 规范、w s p o l i c y 以及w s e 3 0 安全机制。然后本文阐 述了本人设计实现的船舶核算系统,在系统实现的基础上,结合w e b 服务安全 机制,针对系统中的安全缺陷,设计并实现了一种基于策略的可扩展系统安全架 构。在架构的设计中,选用x 5 0 9 v 3 证书格式,采用w s e 3 0 作为系统w e b 服 务安全的基础,设计了系统安全架构以及架构中采用的证书管理机制、数据同步 机制以及用户校验机制。在架构的实现中,结合船舶核算系统,将安全通信主体 分为w e b 服务端和服务应用端,介绍了证书的分配以及用户校验机制和数据同 步机制在系统中的实现,然后对系统安全性进行了分析验证。 目前船舶核算系统已投入运行,取得了很好的效果,并且本文设计实现的安 全机制很好的保障了系统的安全性。随着公司信息化程度越来越高,安全架构中 安全策略的应用以及扩展会越来越广泛和深入。 关键词:w e b 服务w s p o l i c y w s e 3 0x 5 0 9 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to ft h ei n f o r m a t i o nt e c h n o l o g y , w e bs e r v i c e si su s e d m o r ea n dm o r ew i d e l y , b u ti t ss e c u r i t yi sa l w a y st h em a i nr e a s o nw h i c hr e s t r i c t si t s d e v e l o p m e n t ,s ot h es e c u r i t yo fw e b s e r v i c e si sas u b j e c tw h i c hn e e d su st or e s e a r c h a n ds t u d y a tf i r s t ,t h i sp a p e rs u m m a r i z e st h et e c h n o l o g yo fw e bs e r v i c e ,d e s c r i b e st h e b u g so fs e c u r i t yi nt h et r a n s m i s s i o no fm e s s a g eo fw e bs e r v i c e ,a n a l y s e sw s - s e c u r i t y c r i t e r i o n , w s p o l i c ya n ds e c u r i t ym e c h a n i s mo fw s e 3 0 t h e n , f o rt h eb u g so f s e c u r i t yo fs h i pa c c o u n ts y s t e m ,t h i sp a p e rd e s c r i b e st h ed e s i g na n di m p l e m e n to f s h i pa c c o u n ts y s t e m ,i n t e g r a t e ss e c u r i t ym e c h a n i s mo fw e b s e r v i c ea n dt h es y s t e m , d e s i g n sa n di m p l e m e n t sak i n do fe x t e n s i b l es y s t e m ss e c u r i t ya r c h i t e c t u r eb a s e do n p o l i c y i nt h ed e s i g no ft h ea r c h i t e c t u r e ,t h i sp a p e rc h o o s e s x 5 0 9 v 3a st h ef o r m a to f c e r t i f i c a t e ,a d o p t s w s e 3 0a st h eb a s eo fs y s t e m sw e bs e r v i c es e c u r i t y , d e s i g n st h e s y s t e m ss e c u r i t y f r a m ea n dd e s i g n sc e r t i f i c a t em a n a g e m e n tm e c h a n i s m , d a t a s y n c h r o n i z a t i o nm e c h a n i s ma n du s e rc h e c k o u tm e c h a n i s mw h i c ha r ec o n t a i n e di n s e c u r i t yf r a m e i nt h ei m p l e m e n to ft h ea r c h i t e c t u r e ,s e c u r i t yc o m m u n i c a t i o np r i n c i p a l p a r t so fs h i pa c c o u n ts y s t e ma r ed i v i d e da sw e b s e r v i c ee n da n ds e r v i c ea p p l i c a t i o n e n d ,i n t r o d u c e s t h ei m p l e m e n t a t i o n o ft h ed i s t r i b u t i o no fc e r t i f i c a t i o n , d a t a s y n c h r o n i z a t i o nm e c h a n i s ma n d u s e rc h e c k o u tm e c h a n i s m , t h e na n a l y s e sa n d v a l i d a t e st h es y s t e m ss e c u r i t y a tp r e s e n t ,s h i pa c c o u n ts y s t e mh a sb e e nu s e db yt h ec o m p a n y , m a k e sag o o d e f f e c t ,a n dt h es e c u r i t ym e c h a n i s me n s u r e st h es e c u r i t y o fs y s t e m w i t ht h e d e v e l o p m e n to ft h ec o m p a n yi n f o r m a t i o n ,t h es e c u r i t yp o l i c yo fs y s t e mw i l l b e a p p l i e da n de x t e n d e dm o r ea n d m o r ew i d e l ya n dd e e p l y k e yw o r d s :w e bs e r v i c e ,w s p o l i c y , w s e 3 0 ,x 5 0 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:峦咒复近笔签字日期:砌? 年g 月7 日 学位论文版权使用授权书 本学位论文作者完全了解苤盗盘堂有关保留、使用学位论文的规定。 特授权苤鲞盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:委砬簪髫 签字嗍:1 年莎月 日 丧日 乍 2 青 缸, 诤一彳 名 期 奎 刚 第一章绪论 1 1 课题背景 1 1 1 企业的环境和需求 第一章绪论 随着社会的进步和信息技术的发展,企业的信息化已经是全球的大趋势,中 交天津航道局有限公司( 简称:天航局) 是以港口航道疏浚、吹填造地施工为主 营业务的大型施工企业,下设5 个全资子公司,现拥有类型齐全的现代化挖泥船 及辅助船8 4 艘【引。 近些年企业发展迅速,船舶上高新技术的运用越来越多,原有的船舶核算的 手工管理方式已经不能适应企业的发展,无法高效的完成核算业务数据的交互和 整合,无法方便快捷的实施对船舶的管理。因此实现顺应时代发展的新型船舶核 算信息系统的开发成为企业发展的重中之重。 1 1 2 网络软件安全性背景 随着i n t e m e t 和网络技术的迅速发展,原有的分布式计算技术如d c o m 、 c o i 洒i i o p 已不能很好地适用于网络环境。如何建立一个适合w e b 环境的分 布计算模型已成为现在的一个研究热点。w 3 c 倡导的w e bs e r v i c e s 便是这样一 个新型的分布计算模型,可以说它就是为网络这样高度分散化,高度自治的分布环 境量身定做的,w 3 c 制定了一系列规范用于支持这个模型s o a p 、w s d l 和u d d i 已经成为i n t e m e t 上w e bs e r v i c e s 的事实标准。 w e bs e r v i c e s 具有松散耦合、与平台无关、跨企业、跨因特网集成等特性, 越来越受到人们的重视。但最初的w e bs e r v i c e s 没有提供相应的安全机制,安全 问题越来越成为制约其实际应用的主要障碍。在w e bs e r v i c e s 成为主流技术的过 程中,w e bs e r v i c e s 的安全性问题成为软件开发人员必须要重点考虑的问题。 1 2 课题的意义 目前随着经济的发展,海运事业也同步发展起来,伴随着其同步发展的港口 第一章绪论 疏浚业也蓬勃发展起来。但是由于从事此行业的公司大都是老牌国有企业,在信 息化方面普遍存在着先天不足的缺陷,系统开发度差,整合能力弱。 相比之下,船舶核算系统具有以下明显的优势: 1 ) 在需求确立上总结每个分公司运作特点,汇总各公司的需求结合 i s 0 9 0 0 1 贯标要求,重新合理化工作流。 2 ) 对系统之间的信息交互采用w e bs e r v i c e s 实现、大大减低了相互之间的 耦合度,提高了扩展性。 3 ) 整合系统周围的现有系统,实现了系统间的数据互通,确保了生产、人 事财务等各方面数据的一致性。 作为本文的重点,本文深入讨论了w e bs e r v i c e s 的安全性问题,为管理信息 系统建立了一整套w e bs e r v i c e s 安全问题解决机制。其安全机制是基于n e t f r a m e w o r k 框架下的w s e 3 0 的。此机制不但考虑了企业分布特点和网络结构特 点,也考虑了实施的便利性和高效性。因此,安全机制在系统中的顺利实施,也 对企业集团级的信息安全做了一定的探索。 1 3 论文结构 本文共分6 章,组织结构如下: 第一章绪论简介了论文的背景,包括企业信息化现状、行业软件的特点,介 绍了网络软件安全性方面的背景,此外还指出了本课题的意义。 第二章是对相关理论与技术介绍和分析,分别介绍了n e tf r a m e w o r k 基本原 理、s o a 的架构原理、w e bs e r v i c e s 的相关技术和协议( 包括x m l 、s o a p 、 w s d l 、u d d i 等) ,重点描述和分析了w e bs e r v i c e s 的安全机制和相关技术协议, 如w s s e c u r i t y 、x 5 0 9 、w s p o l i c y 等,并详细描述了w s e 安全机制以及w s e 3 0 特点和使用。 第三章首先介绍了船舶管理系统的分析设计与实现,首先介绍了项目目标、 与其他系统的交互关系以及系统业务数据流;然后介绍了系统总体设计方案;最 后阐述了系统的实现,包括公共模块的设计与实现以及主要系统模块的实现。 第四章介绍了一种可扩展的系统安全方案,并把其应用在船舶核算系统中。 本章首先介绍了系统w e b 服务的设计与实现,这为下一步讲述系统的安全架构 奠定了基础,然后介绍了系统的安全架构以及安全架构中采用的证书管理机制、 数据同步机制以及用户校验机制。 第五章介绍了系统安全方案的实现,包括服务端的实现过程以及服务应用端 的实现过程。接着对安全方案的实现结果进行分析,验证了安全方案的安全性。 第六章对本课题做了总结和展望。 第二章相关技术的介绍和分析 第二章相关技术的介绍和分析 2 1 n e tf r a m e w o r k n e tf r a m e w o r k2 0 是m i c r o s o f t 托管代码编程模型和用于构建w i n d c i w s 平台下的应用程序的运行时。v i s u a ls t u d i o 是开发这些应用程序的专业开发环 境。总之,v i s u a ls t u d i o 和n e tf r a m e w o r k2 0 专门用于提高开发人员效率, 它们通过提供完全托管的应用程序环境,增加了应用程序的可靠性和安全性,使 开发人员可为w i n d o w s 和w e b 构建高性能的多层架构的应用程序,并使 用n e tc o m p a c tf r a m e w o r k 为移动设备构建智能的设备软件。 n e tf r a m e w o r k 提供的w e b 服务让超过3 5 0 万名的n e t 开发人员,随 心选用n e t 支持的2 0 多种编程语言,进行开发、调试、部署和应用w e b 服 务。这就使得n e t 应用程序无需考虑编程语言或平台之间的差异,直接使用 和提供可与几乎所有应用程序交互的w 曲服判1 1 。 n e tf r a m e w o r k 包括两个主要组件:公共语言运行库和n e tf r a m e w o r k 类库。公共语言运行库是n e tf r a m e w o r k 的基础,可以将运行库看作为一个在 执行时管理代码的代理,它提供内存管理、线程管理和远程处理等一些服务,并 强制实施严格的类型安全以及可提高安全性的其他形式的代码准确性。事实上, 代码管理是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运 行库为目标的代码称为非托管代码。n e tf r a m e w o r k 的另一个主要组件是类库, 它是一个综合性的面向对象的可重用类型的集合,可以使用其开发多种应用程 序,这些应用程序包括传统的命令行和图形用户界面( g u i ) 应用程序,也包括 基于a s p n e t 所提供的最新的应用程序( 如w e b 窗体和x m lw e b s e r v i c e s ) 。 n e tf r a m e w o r k 可由非托管组件承载,这些组件将公共语言运行库加载到 它们自己的进程中并启动托管代码的执行,从而创建一个可同时利用托管和非托 管功能的软件环境。n e tf r a m e w o r k 不但提供一些运行库宿主,而且还支持第 三方运行库宿主的开发。比如,a s e n e t 承载运行库已为托管代码提供可伸缩 的服务器端的环境。a s e n e t 直接使用运行库来启用a s e n e t 应用程序和 x m lw e bs e r v i c e s 。 n e tf r a m e w o r k 是m i c r o s o f t 为方便快捷的开发应用程序而创建的一个富有 革命性的新平台。这句话最有趣的地方是它的含糊不清,这有以下原因:首先, 这句话没有说“在w i n d o w s 操作系统上开发应用程序”。尽管n e tf r a m e w o r k 的 第二章相关技术的介绍和分析 m i c r o s o f t 版本要运行在w i n d o w s 操作系统上,但以后也许会推出运行在其他操 作系统上的版本,例如m o n o ,它是n e tf r a m e w o r k 的开发源代码版本,该版本 可以运行在几个操作系统上,包括各种l i n u x 版本和m a co s 。另外,还可以在 个人数字助手类设备和一些智能电话上使用m i c r o s o f t n e tc o m p a c t f r a m e w o r k ( 它基本上是完整n e tf r a m e w o r k 的一个子集) ,因此使用n e t f r a m e w o r k 的一个主要原因是它可以作为集成各种操作系统的方式。另外,上面 给出的n e tf r a m e w o r k 定义也没有限制应用程序的类型。这是因为它本来就对 此没有进行限制,n e tf r a m e w o r k 可用于创建w i n d o w s 应用程序、w e b 应用程 序、w e b 服务和其他各种类型的应用程序。 n e tf r a m e w o r k 的设计方式也保证它可以用于各种语言,包括c 撑、c + + 、 v i s u a lb a s i c 、j a v a s c r i p t 以及c o b o l 。为此,还推出了这些语言的n e t 版本, 目前还在不断的推出更多的n e t 版本的语言。所有这些语言都可以访问n e t f r a m e w o r k ,它们还可以彼此交互。比如c 开发人员可以使用v i s u a lb a s i c 程序 员编写的代码,反之亦然。所有这些意想不到的多样性,也是n e tf r a m e w o r k 具有诱人前景的部分原因。 2 2s o a s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 是面向服务的体系结构,它实质是 一个组件模型,它将应用程序的不同功能单元通过服务之间的定义良好的接口和 契约联系起来。接口定义是采用的中立的方式,它应该能独立于实现服务的硬件 平台、操作系统和编程语言,这使得构建在各种系统中的服务可以以一种统一和 通用的方式进行交互【2 1 。 s o a 具有以下特性【9 】: 1 ) 以业务为中心 s o a 更多关注在于用户业务,通过业务人员参与s o a 系统的规划、设计和 管理,能保证i t 系统是在对业务的深刻理解基础上构建的,实现了i t 系统与用 户业务的密切结合。在具体实施中,通过把完成实际业务流程中的一项任务所需 的i t 资源组织为服务进行封装,达到以业务为核心,通过业务选择技术,避免 了技术制约业务的问题。 2 ) 灵活的适应变化 i t 系统围绕用户业务构建,用户业务在表现层通过表现为一系列松散耦合 的服务来实现,这些服务可以根据用户需求随需组合,使得i t 系统对于业务的 适应能力有较大提高。 3 ) 重用i t 资源,提高开发效率 第二章相关技术的介绍和分析 s o a 强调对服务的重用,对原有i t 资源的重用度提升是s o a 带来的关键 优势之一。大量的具有高重用的服务资源,为快速构建新的业务功能和业务系统 奠定了基础,使i t 系统的开发和软件的生产效率得到了较大提升。同时,重用 过程也有利于保护用户前期的信息化投资和i t 资产积累,节省i t 系统开发成本, 实现用户信息化的可持续性建设和发展。 4 ) 更加强调标准 s o a 的实现强调基于一个统一的标准。s o a 系统建立在大量的开放标准和 协议之上,以实现系统及信息的互通和互操作。因此,s o a 系统从规划到实施, 标准都是至关重要的。 传统的w e b 技术有效的解决了人与系统的交互和沟通问题,极大的促进了 b 2 c 模式的发展。w e b 服务技术则是要有效的解决各信息系统之间的交互和沟 通问题,从而促进b 2 b e a i c b 2 c 的发展。s o a 则是采用面向服务的商业建模 技术和w e b 服务技术,实现系统之间的松耦合以及整合和协同。w e b 服务和 s o a 的本质在于使得信息系统个体在能够沟通的基础上形成协同工作。 w e b 服务是二套技术规范,而s o a 是设计原则。特别是w e b 服务中的 w s d l ,是一个与s o a 配套的接口定义标准:这是w e b 服务和s o a 的根本联 系。从本质上说,s o a 是一种架构模式,而w e b 服务则是利用一组标准实现的 服务,w e b 服务是实现s o a 的方式之一。用w e b 服务来实现s o a 的优势是可 以实现一个中立的平台来获得服务,而且更多的软件商支持越来越多的w e b 服 务的规范,带来的结果是用w e b 服务来实现s o a 的做法会取得更好的通用性。 2 3w e b 服务概述 2 3 1w e b 服务的定义 w e b 服务是松散耦合的、可复用的软件模块,从语义上看,它封装了离散功 能,在i n t e m e t 上发布后能够通过标准的i n t e r n e t 协议进行访问嗍。 2 3 2w r e b 服务的特点 w e b 服务完全基于x m l 技术。w e b 服务提供者和请求者都使用x m l 传递 消息和数据流,并且使用s o a p 消息调用访问服务,使用w s d l 进行界面的描 述,还通过u d d i 进行公共注册发布。从外部使用者的角度来看,w e b 服务是一 种部署在w e b 上的对象或者组件,它具有良好的封装性、松耦合性、使用协议 第二章相关技术的介绍和分析 的规范性、高度可集成性的特点。正是上述的特点,使得应用w e b 服务主要有 以下的优点【1 2 】: 良好的封装性 松散耦合 使用标准的协议规范 高度可集成能力 当然,w e b 服务也不是全能的,在局域网的应用程序中应用w e b 服务,就 不会带来任何的好处。 2 3 3w 曲服务的核心技术 w e b 服务技术主要包括以下三个方面的内容:s o a p ( s i m p l eo b j e c ta c c e s s p r o t o c o l 简单对象访问协议) 、w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g ew e b 服务统一描述语言) 、u d d i ( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g r a t i o n 统 一描述、发现和集成) 。 s o a p 是在分布式环境中交换信息的简单协议,对s o a p 简单的理解如下: s o a p = r p c ( r e m o t ep r o c e d u r ec a l l 远程过程调用) + h 丁r p ( s e c u r eh y p e r t e x t t r a n s f e rp r o t o c o l 安全超文本传输协议) + x m l ( e x t e n s i b l em a r k u pl a n g u a g e 可扩展标记语言) ,s o a p 利用h t t p 作为底层通讯协议,r p c 作为保证一致性 的调用途径,把x m l 的使用代码化为请求和响应参数编码模式,允许服务提供 者和客户经过防火墙在i n t e m e t 进行通讯交互,提供了更高层次的抽象,并且与 平台和环境无关。具体来说,一个s o a p 方法可以看作遵循s o a p 编码规则的 h 1 v r p 请求和响应。一个s o a p 终端则可以看作为一个基于h t r p 的u r l ,它用 于识别方法调用的目标。s o a p 不需要把具体的对象被绑定到一个给定的终端, 而是由具体应用程序来决定怎样把对象终端标识符映射到服务器端的对象m 6 】。 w s d l 是w e b 服务描述语言,它提供了一个解决方案。w s d l 语言被设计 用来描述w e b 服务和w e b 服务中的方法。这种语言的代码是以x m l 的格式进 行编写的,所以所有的系统都能识别并解释其中的信息。在一个w s d l 文档中, 所有参数和w e b 服务的方法名称都有说明,同时还包括了w e b 服务本身的位置, 它可以生成用于具体的w 曲服务所需的有效s o a p 消息,而且所产生的s o a p 消息也被发给了该w e b 服务。v i s u a ls t u d i o n e t 能自动为w e b 服务编写w s d l , 十分方便,所以开发者无须把精力花在编制w s d l 上。 u d d i 协议用于存储业务信息和发布服务的注册表。使用u d d i 协议,潜在 的客户端能够通过任何已注册的业务信息搜索并找到所需的w e b 服务。u d d i 注册表本身提供了一些w e b 服务,允许任何客户机都可以使用标准的s o a p 消 第二章相关技术的介绍和分析 息来搜索注册表。另外,u d d i 本身也是一个基于儿和s o a p 的w e bs e r v i c e s 。 通过使用一组预定义的s o a p 接口,可以实现与其它的u d d i 进行交互。总之, u d d i 规范利用x m l 、h t t p 、s o a p 等协议,使自己成为了一个统一的服务描 述格式和服务发现协议。 2 4w e b 服务的安全机制 本文重点要讨论的是w e bs e r v i c e s 的安全性问题。 随着w e bs e r v i c e s 的广泛应用,对它的安全性和可互操作性要求也越来越 高。基于传输层的s s l ( s e c u r es o c k e tl a y e r 安全套接层) 虽然可用来保护点 对点级的w e bs e r v i c e s 的安全,但当w e bs e r v i c e s 有应用层的中介体参与时,它 们就无法提供所需的安全需求。 如果w e b 服务的请求或响应消息中传递的是敏感的应用程序数据,如信用 卡号、雇员详细信息等,则必须解决在中间节点上存在的网络窃听或信息泄漏。 可以使用两种方法来解决这个问题:传输级方法和消息级方法。传输级方法只能 解决点到点的通信安全,并且其对所有通信的数据加密,而不能根据需要灵活地 选择加密,因此性能不高。目前对这个问题的较好的解决方法是在消息层上引入 安全机制。这是通过对s o a p 消息头扩展实现的。m i c r o s o f t 和i b m 等w e bs e r v i c e s 技术的创立者们共同建立了w e bs e r v i c e s 的安全规范,重要的有w s s e c u r i t y 、 w s p o l i c y 等协议,而m i c r o s o f t 在它构造的n e tf r a m e w o r k 框架中引入了w e b s e r v i c e se n h a n c e m e n t ( w s e ) ,集成了上述部分安全协议和其他安全技术。 在天航局内部,由于诸多历史发展原因,各系统之间的架构以及采用的数据 库等都不尽相同,要建立全面的网络层或传输层的安全机制需要付出的很大的代 价,而且这些安全机制也存在本质性缺陷;而基于消息层的安全机制,并不受现 有的网络架构的影响,可以非常容易的以较小的代价实现,而并且便于今后的扩 展。因此我们决定利用w s e 来实现采用基于消息层的w e bs e r v i c e s 安全机制。 下面几小节,将介绍网络层和传输层的安全机制的缺陷以及基于消息层的 w e bs e r v i c e s 安全机制的相关技术。 2 4 1 现有安全机制缺陷 目前大多数w e bs e r v i c e s 都是以h t t p 作为传输层的协议,自然使用h t t p 原有的安全机制如s s l t l s ( t r a n s p o r tl a y e rs e c u r i t y 传输层安全) 来实现w e b s e r v i c e s 的安全【2 7 1 。 传输级安全只是w e bs e r v i c e 安全的一个方面,仅有传输级的安全不能为 第二章相关技术的介绍和分析 w e bs e r v i c e 提供:端到端的保护、不可抵赖性、灵活的认证机制以及消息级安 全上下文环境的支持等安全特性。为了能真正保护w e bs e r v i c e 的消息及其元素 的安全,必须保护在端点之间传输的s o a p 消息的安全【8 】。 s s l 虽然能确保身份认证、数据保密性以及完整性,但无法保证不可否认性, 也只能保证点到点情况下的传输级安全,不能保证端到端的传输安全,在w e b 服务中提供数据加密时,必须对所有数据进行加密,不具有灵活性,因此只靠传 输级安全还不能保证w e b 服务的安全。 针对上述状况,我们选择了基于消息级的安全通信,而w s e 3 0 ( 具体概 念参照本节的第五小节) 集成了这一基于消息级的安全通信所需的协议以及各种 技术,因此在本文中设计实现的安全机制选用了w s e 3 0 作为其基础。 2 4 2 身份验证机制 下面介绍三种常用的身份验证机制,分别是用户令牌验证方法、x 5 0 9 证书 验证方法以及k e r b e r o s 验证方法。 1 ) 用户令牌验证方法( u s e r n a m et o k e n ) 1 2 7 】 用户令牌是用于传递调用方凭据的最常见方法之一。w s s e c u r i t y 定义了 u s e m a m et o k e n 元素。密码可以采用纯文本或简要格式传递,也可以采用密文传 递。当在s o a p 消息中传递u s e r n a m et o k e n 时,x m l 可以以纯文本格式发送密 码。如需要更安全的方式发送密码,可以发送它的简要散列或对其进行加密。 密码简要散列是随机内容、创建时间与密码的组合。随机内容的长度是1 6 字节,以b a s e 6 4 编码值的形式传递。散列算法可以采用s h a l 散列,散列后会 使密码变得不易识别,从而增加安全性。其工作原理是客户端使用所有这些信息 加上密码来创建密码散列。接收方通过获取客户端的密码并再次创建散列来验证 此数据。如果结果一致,则表明密码正确,用户身份合法。 2 ) x 5 0 9 证书验证方法【1 7 j x 5 0 9 证书身份验证是基于不对称加密算法的,因此运算速度相对比较慢, 但安全性较高。x 5 0 9 证书能确切的说明用户的身份,它使用p k i 将证书映射到 应用程序中的现有用户。使用证书来验证自己很容易受到重放攻击的破坏,因此, 最好强制消息的发送方同时使用他们的私钥来签名消息。这样,当消息接收方解 密消息后,能根据发送方证书中的公钥验证签名的有效性,说明消息确实来自该 用户。当在消息中发送x 5 0 9 证书时,将在一个名为b i n a r y s e c u r i t ,r t o k e n 的 w s s e c u r i t y 令牌中传递此证书的公共版本,证书本身以b a s e 6 4 编码后发送。 3 ) k e r b e r o s 验证方法 k e r b e r o s 是一种网络认证协议,其设计目标是通过密钥管理为c s 应用程 第二章相关技术的介绍和分析 序提供强大的认证服务。该认证过程不依赖于主机操作系统的认证,无需基于主 机地址的信任,不必须要网络上所有主机的物理安全,并假定网络上传送的数据 包可以被任意地读取、修改和插入其它数据。在上述情况下, k e r b e r o s 以一种 可信任的第三方身份来认证服务,认证服务是通过传统的密码技术来实现的。 认证的具体过程如下:客户机向认证服务器发送请求,要求得到某服务器的 证书,然后认证服务器发回的响应包含这些用客户端密钥加密的证书。证书包括 服务器“t i c k e t ”和一个临时加密密钥( 又称为会话密钥“s e s s i o nk e y ”) 。客户机将 t i c k e t ( 包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝) 传送到服 务器上。会话密钥( 由客户机和服务器共享) 可以用来认证客户机或认证服务器, 也可用来为通信双方后续的通讯提供加密服务,或通过交换独立的子会话密钥为 通信双方提供进一步的通信加密服务。上述认证交换过程需要只读方式访问 k e r b e r o s 数据库。但有时数据库中的记录必须进行修改,如添加新的规则或改 变规则的密钥时,修改过程是通过客户机和第三方k e r b e r o s 服务器( k e r b e r o s 管理器k a d m ) 间的协议完成。另外,也有一种协议用于维护多份k e r b e r o s 数 据库的拷贝,这是执行过程中的细节问题,并且会不断的改变以适应各种不同数 据库技术。 通过上述三种身份验证机制的比较分析,可知k e r b e r o s 主要用于局域网, 是需要在一个w i n d o w s 域基础上建立的,结合我们系统的跨域跨网络的分布式 特点,我们选用了前两种身份认证机制的结合。 2 4 3w s s e c u r i t y 规范 w s s e c u r i t y 规范己经成为保护w e b 服务安全以及提供w e b 服务可互操作的 事实标准。它提供了将安全令牌( 用户名密码令牌、x 5 0 9 证书或k e r b e r o s 票据 等) 和s o a p 消息如何关联起来的机制,定义了如何利用x m l 加解密和x m l 签 名以及安全令牌来对s o a p 消息进行加解密和签名【l o 】。 w s s e c u r i t y 是用于保护s o a p 消息的,实际上是对s o a p 协议进行了扩展, 它解释了如何把安全信息包含在s o a p 消息的报头中。规范本身并没有提出新的 加解密算法或安全模型,而是在利用现有的安全标准和规范的基础上提供了一个 可扩展的框架,开发人员可以根据实际情况自由的将各种相关协议和加解密技 术、安全模型结合起来,以实现w e b 服务通信环境下的消息的完整性、保密性 和消息的认证。 w s s e c u r i t y 主要包括三个方面的内容:安全令牌传输、消息完整性和消息 机密性。 1 ) 安全令牌传输【6 1 第二章相关技术的介绍和分析 在s o a p 消息头中,w s s e c u r i t y 定义了安全元素( s e c u r i t ye l e m e m ) 来传递各 种安全令牌。消息的接收者通过发送者的安全令牌来验证用户的身份。安全元素 包含三种子类型的元素,它们分别是u s e r m a m e t o k e n ,b i n a r y s e c u r i t y t o k e n 和 s e c u r i t y t o k e n r e f e r e n c e 。 u s e r m a m e t o k e n 元素定义了在s o a p 消息中封装用户名和口令的方式。 使用用户名和密码来验证用户的身份是最常见的方法。 b i n a r y s e c u r i t y t o k e n 元素用来传递经过编码的二进制安全令牌。二进制 安全令牌( x 5 0 9 数字证书或k e r b e r o s 票据) 必须经过编码才能包含在 s o a p 消息的报头中。 s e c u r i t y t o k e n r e f e r e n c e 元素提供了一种引用安全性令牌的可扩展机制。 它是通过指定一个外部u r i ,由接收者根据这个u r i 去获取相应的安全 令牌。 2 ) 消息的完整性 w s s e c u r i t y 规范利用w 3 c 的x m l 签名标准对s o a p 消息进行签名,保证 s o a p 消息在经过中间节点时不被篡改。w s s e c u r i t y 并没有改造现有标准,而 是有机的组合它们,并就如何在s o a p 消息中使用此规范提出了具体细节。 w s s e c u r i t y 允许对s o a p 消息中的一部分进行数字签名,允许对一个消息的不 同部分创建多个签名,这样就使数据在经过的不同中间体时,可以独立地对同一 个x m l 文档的不同部分进行添加、删除或修改,并只对自己的处理结果签名, 而且所有的签名之间不会相互影响,这就使这些不同的中间体能够更好地分工协 作,权责明晰,从而扩大了签名的作用范围。w s 。s e c u r i t y 提供了对多种签名算 法和签名格式的支持。 3 ) 消息的机密性 w s s e c u r i t y 规范使用w 3 c 的x m l 加密规范对s o a p 消息进行加密,保证 s o a p 消息在传递过程中即使被监听或窃取,监听者或窃取者也无法提取出有效 信息。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 s s e c u r i t y 过犯是一个灵活的、极具扩展性的安全规范。上述三个 方面的内容既可以单独使用,也可以组合使用,以实现不同强度的安全性。 2 4 4w s p o l i c y w s p o l i c y 提供了一种灵活且可扩展的语法,用于表达基于w e b 服务的系统 中实体的功能、要求和一般特性的属性。w s p o l i c y 定义了一个策略框架和一个 第二章相关技术的介绍和分析 模型,用于将这些属性表达为策略【l5 1 。 w s p o l i c y 将策略定义为一组策略替换选项,其中每个策略替换选项是一组 策略断言。断言是策略的基本单元,从策略处理的基础架构来看,可以将其看作 一条指令。例如,断言可以声明消息是被加密或签名的。这种断言的实际定义将 包含在w s s e c u r i t y 策略域规范中。因此,每个断言的意义是特定于某个领域的, 可以通过它们自己单独的规范来识别断言。 w s p o l i c y 并不指定如何发现策略,或者如何将策略附加到w e b 服务。其他 规范可以自由定义用于将策略与各种实体以及资源相关联的特定于各种技术的 机制。w s p o l i c ya t t a c h m e n t 就定义了这样的机制,特别是将策略与任意x m l 元素、w s d l 实体和u d d i 元素相关联的机制。后续规范将提供有关在其他常用 w e b 服务技术内部使用的w s p o l i c y 的配置文件。 w s p o l i c y 的目标是提供使基于w e b 服务应用程序能够指定所需策略信息的 机制。具体说来,该规范定义了以下内容:一个称为策略表达式的x m l 信息集 合和一组核心架构,信息集合包含特定于域的w e b 服务的策略信息,核心结构 用于表明如何在w e bs e r v i c e s 环境中应用选择特定于域的策略断言集合。 2 4 5w s e 3 o w s e ( w 曲s e r v i c e se n h a n c e m e n t s ) 是v i s u a ls t u d i o2 0 0 5 和m i c r o s o f t n e t f r a m e w o r k2 0 的附件,它提供了高级w e b 服务功能,有助于和不断发展的w e b 服务协议规范同步。签名和加密是实现w e b 服务安全中的常用技术。w e b 服务 安全开发工具包w s e3 0 的推出,为w e b 服务安全问题提供了新的解决方案【6 】。 通过w s e 3 0 设置工具,可以方便地以一种交钥匙声明创建安全策略。如果 安装了带有v i s u a ld e v e l o p e r 的w s e3 0 ,当右键单击s o l u t i o ne x p l o r e r ( 解决方 案资源管理器) 中的某个项目时,菜单的底部将出现w s es e t t i n g s3 0 选项。选 择该选项可为w e bs e r v i c e s 项目启用w s e 3 0 。 w s e 3 0 的策略框架提供了解决常见问题的六个策略断言用于保护w e b 服务 的安全,这些断言使用w s s e c u r i t y 和w s s e c u r ec o n v e r s a t i o n 机制提供消息完 整性、保密性以及身份验证,这六个策略断言分别为: 1 ) a n o n y m o u s o v e r c e r t i f i c a t e a s s e r t i o n 基于匿名证书策略断言 2 ) c e r t i f i c a t e m u t u

温馨提示

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

评论

0/150

提交评论