当前位置:首页 > 心得体会 > 锂电池安全性研究 Web Services安全性研究
 

锂电池安全性研究 Web Services安全性研究

发布时间:2019-02-14 03:50:58 影响了:

  一、Web Services安全技术简介      Web Services是新一代计算方式,但同CORBA,DCOM,RMI等分布式对象相比,缺少了一些功能性,如安全性、事务处理的能力、可管理能力、垃圾回收能力、对象引用能力等,而这些都是Web Services投入实际使用所必需的功能,以上这些问题都有待进一步解决,其中安全问题就始终成为一个障碍。由于WebServices是在开放的Internet上运行的,这种环境即使有防火墙的保护,也依然会受到黑客、计算机病毒的攻击。如果把Web Services引入到内部网络中,对计算机系统安全将是一个巨大的挑战。而且在商业环境中,每个Web服务的状态都可能涉及到经济利益和商业机密,如网络购物服务中肯定带有电子货币信息,信息查询服务中带有商业机密(如价格、货物种类等)。在Web Services运行过程中,对其状态的非法读取和恶意修改都将对安全性构成威胁。实际上,Web Services系统的安全性隐患体现在多个方面,其中既有网络环境的因素,其表现与传统安全机制具有共性,也有其计算模式的特殊性,这为Web Services系统安全性的实现带来了自身的特点。安全性的制约被公认为是阻碍Web Services模型被广泛使用的一个重要因素。
  
  国际标准化组织在网络安全体系的设计标准中,提出了层次模型的安全体系结构,并定义了五大安全服务功能:身份证AiiE安全服务、授权(访问控制)安全服务、数据机密性安全服务、数据完整性安全服务、不可否认安全服务。相类似地,人们也主要关注Web服务安全的五个基本问题:身份验证、数据机密性、数据完整性、授权、不可否认性。
  在实际应用中,只有具备这五大安全服务才能构成一个完整的安全体系,它们相互依托,缺一不可。其中身份认证服务、数据保密服务、数据完整性服务是保证数据安全传输和对通信实体进行认证的基础。如何保障网络上敏感数据的安全传输,防止数据在传输过程中被窃听、篡改和伪造,以及对通信两端实体进行认证是迫切需要解决的问题。
  
  二、Web Services安全方案
  
  安全的Web服务是Web服务成功的必要保证,Web服务使用XML来进行数据交换,而XML在默认情况下是明文编码的;大部分Web服务使用HTTP作为传输协议,HTTP也使用明文传输数据。造成了在不加密的传输协议上传输不加密的信息,使信息传输的保密性受到威胁的问题。根据对安全要求的不同,可以采用不同的方式来实现安全性,本文采用了以下方式来实现Web Services的安全性:
  
  1、利用用户名/密码来设定访问权限;
  2、对客户端IP地址过滤:使用Servlet过滤器进行访问控制;
  3、使用加密数据传输方式实现Web Services的安全:使用SSL/HTTPS协议来传输。
  使用访问认证机制来进行权限验证(包括利用用户名/密码来设定访问权限和对客户端IP地址进行过滤),对于安全级别要求不高的应用是可行的,它能够使用Web应用访问认证机制来进行权限验证,从而保护对资源的访问。但信息的传递还是以明文方式进行的,不能保证信息不被窃取,而SSL是一个安全传输协议,使用它能保证信息不被第三方窃取。
  
  三、Web Services安全方案实现
  
  为了更好地阐述web Services安全方案的实现过程,我们以查询元素周期表服务作为示例。
  3.1创建元素周期表查询服务
  元素周期表数据库用Mysql建立,在Mysql数据库中建立名为PeriodicTable的数据库,在此数据库中建立元素周期表,表名为Periodic表结构如表1所示。
  编写periodic.jws文件:定义一个periodic类和一个data方法,实现数据库连接和输入查询语句,执行数据库查询及返回查询结果。
  Axis自带的功能生成WSDL:将periodic,jws放在%Tomcat%\webapps\axis下,启动tomcat,访问http://localhost:8080/axis/periodic.jws,页面如图1所示。
  按图1提示点击相应链接,可得到Web services的WSDL,Web服务就创建完成了。
  3.2利用用户名/密码来设定访问权限
  在实现访问Web Services安全性时,首先想到的是使用身份验证来确认访问者的合法性。不管客户端通过什么API来调用Web服务,它总是先构造SOAP消息,然后通过HTTP POST方法把消息发送到Web服务的uRL。不管Axis部署在哪种服务器上。它总是以Servlet方式来运行的,所以最简单实现Web服务安全的方式就是使用Web应用的配置文件(web,xml)来实现访问控制。本文部署的Web Services以Tomcat作为服务器,以下阐述如何使用Web应用模型中基本认证方法来配置Web服务的安全访问。
  Web应用的基本认证是建立在J2EE角色和用户的基础上,首先在Tomcat角色配置文件中增加一个角色department-manager和一个帐号(在此角色中添加名为peixian的用户)。要使tomcat-mers,xml中配置的角色和用户生效,需要配置Tomcat使用UserDatabase-Realm。在web应用的部署描述符中指定Web服务资源的访问控制,url-pattem指定通过角色验证的URL样式,在这里是“/periodic”;role-name是能够访问制定URL的角色,这里是department-manager。只有角色类型是“departrnent-manager”的用户才能访问URL样式为“/pefiodic”的Web服务。
  这样用户权限就设置完成了,在客户端调用查询元素周期表服务时就必须添加用户名/密码来实现用户的身份认证。如果用户名、密码不正确就不能调用服务了。
  3.3对客户端IP地址进行过滤
  使用Servlet过滤器进行访问控制Axis的Web服务端,本质上是以Servlet方式运行,所有可以在Web应用上部署一个Servlet过滤器,通过此过滤器来达到访问控制。Web应用中的过滤器截取从客户端进来的请求,然后进行一系列处理,最后把请求发送到目标Servlet。过滤器可以说是外部进入Web服务器的第一道关口,它能决定请求是否继续向前转发。也能对请求中的信息进行处理。如果过滤器用于对Web服务进行访问控制,那么它能根据客户端信息决定目标的服务是否能调用成功。
  本文的过滤器是根据客户端IP地址进行过滤,如果客户端的IP地址在限制范围中,那么就不能访问目标的Web服务。WebServicesFilter过滤器限制了de-niedlPList中指定的所有客户端。编写过滤器后。需要在 Web应用的部署描述符中指定使用此过滤器。并且把过滤器映射到目标URL上。除了编写Servlet过滤器实现类外,还需要在web,xml中对它进行配置,并且把过滤器映射到要过滤的目标URL上。只要客户端调用Axis Web服务,就会被WebServicesFflter过滤器过滤。如果客户端IP地址在过滤器的deniedlPList中,那么就不能访问目标服务。
  3.4使用SSL作为Web服务的传输协议
  目前大多数Web Services的实现都以HTTP作为传输层,因此常结合HTTP原有的安全机制,目前最广泛使用的安全措施就是使用安全套接字层(sSL)。
  SSL已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输,使用不对称加密技术实现会话双方信息的安全传递,实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份,是创建安全通信的一种有效的方法。Microsoft XML Web Service既支持客户端中的集成SSL,也支持服务器中的集成SSL。以下是实现过程的描述:
  1、下载并安装JSSE
  jssE是Sun为了解决在Internet上的安全通讯而推出的解决方案。他提供了一套框架和Java版本的SSL和TLS协议的实现,包括了许多的功能,如:数据加密、服务器证明、消息完整性,以及可选的客户证明。使用JSSE,开发者能够提供一个基于任何协议之上的客户和服务器的安全数据通道。JSSE是基于安全算法和握手机制之上的合成体,能将安全弱点降到最低点,并减轻了开发者的负担。
  本实验使用的是JSSE1.5.0版本,这里用它来产生Tomcat使用的秘相对。下载后将lib里面的jcert.jar,jnet.jar,jsse,jar解压缩到%JAVA_HOME%\jreUib\ext目录下完成JSSE的安装。
  2、修改Tomcat配置文件中的web.xmlTomcat的conf目录包含不同的配置文件,在主要配置文件server.xml中默认的HTTP连接端口是8080,需要修改为HTTPS的连接端口8443。
  3、证书生成
  SSL协议可以分成两部分:握手和数据传输。握手建立一个包含发送方和接收方公钥密码值的安全上下文,然后数据传输使用源自这个安全上下文的共享密钥。使用keytool可以帮助用户完成以下任务:生成密钥对、导出证书、导入信任证书tomcat.cer到cacerts证书库、查看客户端cacerts证书项。此时,便完成了对tomcat的SSL配置。为了检验配置是否正确,我们启动tomcat的8443端口,访问:https://localhost:8443/,出现窗口如图2所示:
  选择“是”继续,直至出现Tomcat欢迎页面,SSL配置成功。
  4、部署并调用Web服务
  该Web Services部署过程与在HTTP上部署过程相同,只是生成的接口文件内容不同。接口文件是通过WSDL生成,而此时的WSDL已经是加了安全协议的描述文件。
  
  四、总结
  
  本文探讨了Web Services的安全性问题及解决方案,提出了实现提高Web Services安全性的实现方案,包括利用用户名/密码来设定访问权限、对客户端IP地址进行过滤、使用加密数据传输方式来实现WebServices的安全。本文的研究对Web Services的应用具有重要的参考价值和实际意义。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3