Web服务实现及安全性分析
- 格式:doc
- 大小:2.11 MB
- 文档页数:42
安全技术13Web 网站的安全问题及防护策略◆秦乐阳1 影响Web 网站安全的因素1.1 系统平台易受攻击如果是利用windows 的操作系统,在微软公司发现漏洞然后发布补丁的过程中,都会存在一个时间差,而在这个时间范围内,网站的数据库安全就有可能受到威胁。
一旦某些黑客在发现这些漏洞后,批量攻击许多网站,那些平时疏于管理,并对操作系统的补丁不注意修补的企业就会成为被攻击的目标。
而且现在很多政府和企业门户网站平台只注重系统的控件是否丰富,界面是否美观,价格是否便宜,而不注意网站的安全问题,这更是为黑客提供了可乘之机。
1.2 加密算法单一现在很多政府机关和企业的网站喜欢使用MD5这种算法对数据库进行加密,利用这种算法加密的网站数据库具有很好的加密性,MD5加密算法是一种使用很普遍的非对称加密算法,许多电子钱包、电子现金的业务也使用这种算法,这种算法使用的是哈希函数,利用相关的散列函数输入数据然后进行一定的计算,出现一个固定长度的值,这个值可以在知道密码的条件下被验证,但是无法利用这个值,反推出密码。
在原则上,这种方法很难被破译。
但是很多企业在设计密码上力求简单,很多时候只是设计一个例如生日密码这种格式相对固定的密码。
而黑客只需要进行暴力攻击,不断穷举就可以实现密码的破译。
1.3 验证系统不可靠政府和企业门户网站的开发为了加强开发的效率,往往会外部给网页设计企业,但是代码一般也会使用之前设计过的,只是显示页面稍作替换,在这种情况下,一旦当初设计的代码,没有全面的进行数据分析和用户输入的判断,就会使系统的安全受到很大的威胁。
比如说:无孔不入的SQL 注入攻击。
而且由于是代管的,网页设计企业的一个员工可能要负责维护很多个网站,造成力不从心,无法认真注意某个网站被攻击的情况,许多政府机关或者企业在设计网站的过程中就发现有这种问题。
2 Web 网站安全问题2.1 SQL 注入攻击SQL 注入攻击的首要条件是服务器端代码自身有漏洞,在服务器和Web 端口相互连接之后,绕开很多防护措施,直接对没有授权的数据进行访问,这就是对数据库后端进行攻击的攻击方式。
新疆大学硕士学位论文Web服务实现及安全性分析硕士研究生:陈**学号:1***********导师:张文东学科:2014级计算机技术所在学院:信息科学与工程学院选题过程随着互联网技术的进步以及商业企业对互联网依赖性的增强,软件越来越需要集成到Internet上来,需要和Internet上的其他软件(而不光是人)进行交互。
Web服务是基于网络的软件开发模式,通过规范性的设计、发布和实现,以及调用,可以由多个Web服务构建一个完整的商业企业应用。
Web服务是互联网应用,特别是网上商业事务处理对软件业提出的需求。
因此,我考虑以Web服务为话题选择论文内容。
在对Web服务存在的问题进行搜索后,我发现其中最突出的问题是安全问题。
从而我基本确定研究方向为Web服务的实现及安全性分析。
为确定论文研究内容,对Web服务有个大框架的概念,以保证研究的全面性,专业性,找到切入点,我对Web服务进行搜索。
考虑到Web服务的实现,必不可少要从技术方面切入,通过对其使用技术的了解,确定其主要技术有XML|、SOAP、WSDL、UDDI 四个方面,即为论文第一部分需详细说明研究的内容。
技术层面的问题解决后,主要分为两大部分内容:Web服务的实现和其安全问题。
参考文献较多,多从书籍和知网上查找相关资料。
目录1绪论 (1)1.1 论文背景 (1)1.2论文工作及其章节安排 (2)2 Web服务相关的概念与技术概要 (3)2.1 Web服务及其操作模型 (3)2.2 可扩展标记语言(XML) (4)2.2.1 XML 基础知识 (5)2.2.2 XML 的应用 (7)2.2.3 XML 数字签名 (8)2.2.4 XML 数字签名模型 (8)2.2.5 XML 数字签名的签署 (10)2.2.6 XML 加密规范及粒度 (11)2.2.7 XML 加密方式 (11)2.2.8 XML 加密 (11)2.3 SOAP (12)2.3.1 SOAP 规范 (12)2.3.2 SOAP 消息 (12)2.3.3 SOAP 编码 (13)2.3.4 SOAP 绑定 (14)2.3.5 SOAP的安全性 (14)2.3.6 WS—Security规范 (15)2.4 WSDL (17)2.5 UDDI (17)2.5.1 UDDI 信息模型 (18)2.5.2 UDDI 交互框架 (18)3基于C#的Web服务实现 (19)3.1需求分析 (19)3.1.1 系统的需求分析 (19)3.1.2 系统的物理架构需求 (19)3.2系统的性能指标 (20)3.3数据库的设计 (20)3.4系统的开发与实现 (21)3.4.1 系统开发平台的建立 (21)3.4.2 系统的实现 (21)4 构建安全的Web服务 (25)4.1 Web服务存在的安全问题 (25)4.2 Web Services Enhancements 简介 (27)4.3 WSE的管道机制 (27)4.4 SOAP消息签名与加密的实现 (28)5总结与展望 (34)参考文献 (35)致谢 .................................................................................................................. 错误!未定义书签。
1绪论在计算机科学和Internet技术飞速发展的基础上,电子商务以前所未有的速度迅速普及,已经渗透到商业的各个领域,成为企业发展的新的增长点。
Internet 环境下异构应用系统问的交互问题一直制约着电子商务的发展。
为了实现跨平台、语言独立、松散藕合的动态商务,一种分布式计算体系结构Web服务应运而生。
它允许Web站点放置可编程的元素以实现基于Web的分布式计算和处理。
Web服务是对象/组件技术在Internet中的延伸,是封装成单个实体并且发布到网络上以供其它程序使用的功能集合。
Web服务技术的发展解决了Web应用和传统桌面应用之间的连接鸿沟,使得企业与企业在现有的各自异构平台的基础上,实现了无缝的集成。
1.1 论文背景随着互联网技术的进步以及商业企业对互联网依赖性的增强,软件越来越需要集成到Internet上来,需要和Internet上的其他软件(而不光是人)进行交互。
Web服务是基于网络的软件开发模式,通过规范性的设计、发布和实现,以及调用,可以由多个Web服务构建一个完整的商业企业应用。
Web服务是互联网应用,特别是网上商业事务处理对软件业提出的需求。
在当今社会,任何一个企业要得以生存、要有更强的竞争力,就必须与更多的商业伙伴合作,更及时地了解商业信息,更快速地进行事务处理。
效率、机遇成为企业成功的重要因素。
可是传统的或已有的互联网商业事务处理模式并不能满足企业对效率和及时抓住机遇的要求。
在现有条件下,企业无法动态地去发现自己潜在的商业伙伴,也不能把自己推销给潜在的合作需求者。
即使有了合作伙伴,由于各自使用的系统和平台的差异,网上事务处理也不顺畅,常常需要人为干预,不但花费了金钱和时间,也丧失了很多良好的机会[1]。
这就给软件业提出了如何实现企业之间快速无缝交易的要求。
新的商业处理模式应该独立于系统、平台和程序语言。
不同的系统应该可以顺畅地进行通信。
这是一个难度极大的要求。
在过去已经有很多尝试着达到这个目标。
但因存在局限性,没有得到推广应用。
要让不同的系统和平台无缝的进行通信,需要定义一系列标准化的规范。
如果没有XML,这一切似乎不能成为可能。
XML的系统独立性和可扩展性是定义标准化规范的基础。
正是有了XML以及XML相关规范,才促使了Web服务的诞生。
Web服务是互联网应用需求和技术发展的双重产物。
使用Web服务,商业企业可以把自己提供的服务以Web服务的形式在Internet 上发布,需要查询潜在合作伙伴的商业企业可以检索UDDI注册中心,发现自己需求的商业企业、服务,并与之进行交互。
这一切都是在软件级发生并自动完成的。
有了Web服务,企业之间不需要中介就能相识,不需要协商就能交易,这无疑会给企业的发展带来更多的机遇,也为企业的运作大幅度提高效率。
随着Web服务在网络中应用的普及化,基于Web的数据交互在Internet上传输时可能会遭受窃取、伪装、恶意欺骗、篡改及各种扰乱破坏等安全威胁,因而如何有效地防御各种安全威胁、保证培养计划数据的安全性就成为一个需要解决的实际问题。
当采取了有效的措施后,Web服务才能安全有效地运行。
1.2论文工作及其章节安排本文研究了此论文的研究背景、研究意义,进而介绍了XML 和Web服务的基础知识,并在此基础上描述了基于XML的Web服务体系,对现在的基于XML的Web服务安全标准规范WS-SECURITY进行了研究。
利用XML数字签名、XML加密,实现了SOAP消息的签名、加密,与此同时,对Web服务也提供了很好的安全性。
最后,以C#.net为平台,实现了一个简单的Web服务,并对产生的SOAP消息进行分析。
本文的章节安排如下:第一章绪论部分主要介绍了本论文的目的、意义、论文中所做的工作以及论文的章节安排。
第二章主要介绍了Web服务的概念,对Web服务的操作模型也做了相关介绍。
对SOAP、XML、WSDL、UDDI也做了相关研究,进一步讲述了其相关技术概要。
第三章基于VS2008平台使用C#实现了中国邮政编码查询的Web服务。
第四章提出了Web服务存在的安全问题,基于前一章实现的Web服务所产生的SOAP消息,在WSE3.0的协助下,对其进行签名和加密,并对其进行分析研究。
第五章对本文所做的工作进行了总结,对它的发展前景进行了展望。
2Web服务相关的概念与技术概要本章主要研究了Web服务的概念、其操作模型。
讲述了XML、SOAP、WSDL、UDDI的基础知识,阐述了XML的签名和加密技术。
2.1 Web服务及其操作模型从表面来看,Web服务就是一个应用程序,它向外界显现出一个能够通过Web进行调用的API。
也就是说,开发人员可以利用编程的方法通过Web调用去实现应用程序某个特定的功能。
从深层次来看,Web服务就是一种新型的Web 应用程序分支,它们是模块化、自描述、自包含的应用,能够在网络中进行描述、发布、查找或通过Web来调用。
Web服务具有下列特征:1.完好的封装性:Web服务是一种部署在Web上的对象,因此它必定具备有对象的良好封装性,那么对于用户来讲,仅能够看到该对象所提供的功能列表。
2.松散耦合性Web服务的消息交互协议采用XML/SOAP,任何Web服务都能够和与其他的Web服务进行交互,Web服务的变更实现对用户是透明的,只要服务调用的接口不发生改变,即使让Web服务的实现平台从.NET转变到J2EE或者是相反的转变流程,用户都会对此一无所知。
3.互操作性Web服务可以通过可扩展的标记语言来实现业务功能,因而提供了真正的互操作功能。
4.平台无关性可以访问Internet平台的任何应用都能访问Web服务;可以和Internet建立连接的任何应用程序都能够对Internet上的任何一个Web服务发送SOAP消息,同时也能够接收Web服务返回的SOAP消息。
Web服务所属的服务器能够运行Linux、Windows或其它系统平台。
Web服务后台功能实现的代码能用C语言、PHP、Java或其它编程语言编写的。
用于调用Web服务的客户端同样也能够是不同平台上的客户端。
Web服务的操作模型主要包括三个主体:服务请求者、服务提供者和服务注册中心,它们对应的三个主要操作为服务查找、服务绑定和服务发布。
目前围绕着Web 服务发布、查找、绑定过程,各大标准化组织和著名厂商不断在制定相关的规范,其中主要包括三个规范:简单对象访问协议(SOAP)、服务描述语言(WSDL)、通用描述、发现和集成(UDDI)[2]。
图2-1 Web服务操作模型Web服务通常包括下面三种操作功能:1.发布(Publish)为了使服务能够被访问,需要发布服务描述让服务请求者能够去查找它。
发布服务描述的位置能够依据应用程序的要求而改变。
2.查找(Find)查找操作的过程中,服务请求者可以直接搜索服务描述或在服务注册中心查询所要的服务。
若是服务请求者,则可能会在两个不同的生命周期中涉及到查找操作:一个是在设计程序检索服务的接口描述,另一个就是在运行时检索服务的绑定与位置描述。
3.绑定(Bind)绑定操作过程中,服务请求者用服务描述中的绑定细节来定位、联系以及调用服务,从而在运行时调用或启动与服务的交互。
2.2 可扩展标记语言(XML)Web服务的基础之一是XML,XML渗透了Web服务的各个层次,可以这么说,没有XML就没有Web服务,XML一种将Web文件的数据内容和数据的表示形式分开的语言,它更关注的是内容而非显示。