欢迎来到学术参考网

基于J2EE的银行贷款系统安全性分析

发布时间:2015-12-14 14:30

摘 要: 随着软件系统的不断增多,安全的重要性越来越受到人们的重视和关注.这一点对于商业银行更为重要和紧迫。在日常的运行中,银行要保证正在运行的软件系统不受到内部或外部侵害,因此,必须有一套安全系统来保证这一点的实现。在该文章中,阐述了使用J2EE这个基于标准的、开放的开发和部署平台,为贷款系统提供一个有效、安全、规范的系统管理。

关键词:J2EE环境;安全性;银行贷款系统
1.引言
  近年来,随着软件的运用越来越广泛,软件的安全问题也已经引起了使用者的高度关注。因为软件安全问题而造成的损失也越来越大,同时,由于实际运用中涉及数据量的大量增长,软件系统变得越来越大,其中的安全隐患也越来越多,令人防不胜防。与此同时,又有一些计算机软件爱好者以攻破系统安全防护,寻找软件系统漏洞为乐。更有甚者,特别是不怀好意的黑客,为了商业目的,专门破坏计算机软件系统和网络系统。所有这些,都迫使人们探索更为安全的软件,防止意外的发生。这一点对于处于敏感和核心地位的商业银行显得尤为重要。
2.银行贷款系统的安全性分析
  银行贷款系统的安全问题概括为两类:一类是企业信息系统管理的各种数据(资源)的安全,主要指相关业务数据的保密性、安全性等方面的保护问题;另一类是系统自身的可用性问题,主要指系统能否提供全天候的不间断支持。这两类安全问题是支撑企业经营运作的企业信息系统和构建企业信息系统的平台必须解决的。企业业务数据被泄露或者被破坏将严重影响企业的正常运作和竞争,而企业信息系统的非计划性停机将更为严重的影响企业正常运作。
  贷款管理系统面临的安全风险具体表现在以下几个方面:
①非法用户进入该系统。比如贷款申请者试图进入该系统。
②对该系统中的敏感信息进行窃取或非授权修改。还有,外部人员进入系统盗取用户资料,信贷员修改超出其权限的信息等。
③ 非法修改系统的实现程序与操作侵害系统,以谋私利,比如审批员修改程序等。
  针对上述情况,网络平台改造与网络安全机制尤为重要。新一代综合业务系统,完成全行数据大集中、建立全行统一的业务处理和信息传输平台,是全行集约化电子化银行体系的重要组成部分。
3.基于J2EE体系结构的安全性实施
  J2EE支持B/S三层结构:表示层、业务逻辑层和数据服务层。表示层包含浏览器;数据服务层有数据库提供服务;业务逻辑层负责处理企业所需的各种业务逻辑,是整个软件体系的重点。应用系统的三层软件结构,形成了其三层安全防护的需求;访问数据的用户计算机、传递数据的通信信道、存放数据资源的服务器组。
  J2EE环境提供的安全服务与J2ME、J2SE环境内的安全机制比较,它要解决的是在更高层次上为组件提供有关的安全保护机制。接下来将剖析J2EE环境内五种安全机制的实现以及它向组件提供的访问接口。
  J2EE环境提供了不同的身份验证机制,根据用户访问J2EE环境的方式不同,有Web方式和Application方式两种。
(1)Web方式
  对以Web方式访问J2EE环境内Web组件的用户,Web Container提供了三种常用的身份验证机制:
第一,HTTP基本验证(HTTP Basic Authentication)机制。HTTP基本验证机制是HTTP协议的内容。当Web服务器要求Web客户验证身份时,Web服务器把验证域传给客户,然后客户提示输入用户名和密码,把它传给Web服务器,Web服务器在指定的验证域内验证用户身份。HTTP基本验证机制是不安全的,因为用户名和密码是以BASE64编码方式传输,而且,对用户来说,Web服务器未经验证。但是人们可以使用其他的方法来克服这个
缺点,比如,可以在传输层使用HTTPS协议或在网络层使用IPSec或VPN协议。
第二,HTTPS验证机制。HTTPS(HTTP over SSL)验证机制要求客户向Web服务器提供PKC(Public KeyCertificate)来验证身份,同时客户也可以要求Web服务器提供PKC来验证服务器的身份。
第三,基于表单(Form)的验证机制。基于表单的验证机制通过用户指定用于登录的HTML页面或Servlet/JSP。在提供这三种身份验证机制的同时,J2EE环境解决了出于HTTP的无状态特性带来的Web一次登录问题。
(2)Appl ication方式
  对以Application方式访问J2EE环境内的EJB组件的用户,J2EE环境规范目前没有身份验证要求,各个J2EE环境可以有自己的实现。也可以使用JAAS(JavaAuthenticate and Authority Service)接口来验证身份。
  下面举个例子,在web环境下进行JAAS验证,通用的Web技术来实现这个输入用户信息的过程,然后通过RdbmsLoginModule类验证它。
  首先写一个Servlet类代替之前的应用程序登录入口类。此类可以命名为LoginServlet。 下面是该类的代码,包括了JAAS认证和授权功能:
public class LoginServlet extends HttpServlet {
   protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
      String userName = ameter(""username"");
      String password = ameter(""password"");
      n(""userName = "" + userName);
      n(""password = "" + password);
      LoginContext ctx = null;
      try {
        ctx = new LoginContext(""SimpleLogin"", new PassiveCallbackHandler(userName,password));
        ();
      } catch (LoginException e) {
        tackTrace();      }
      Subject subj = ject();
      n(""Login assigned these principals: "");
      Iterator it = ncipals().iterator();
      while (t()) {
        Principal pl = (Principal) ();
        n(""t"" + e());
      }
      ivileged(subj, new MyAction(), null);
      try {
        ();
      } catch (LoginException e) {
        tackTrace();       }
  因为Web端所有响应客户端的工作都是由s ervlet以及jsp完成得,所以Passive CallbackHandler代替了ConsoleCallbackHandler 直接传入构造函数的参数包含了用户名和密码,取消了和客户端交互的动作。因此它可以在Callback对象中设定正确的值。
6.结束语
  金融行业的安全性是全世界面临的共同问题,如何保护系统中数据的安全,确保数据能被正确地使用,不被篡改、不被破坏是大家比较关注的。系统的安全来源于系统的稳定运行、先进可靠的安全机制和科学的管理办法。本文讨论了J2EE环境下银行贷款系统的安全保护问题,只给出最为简单的阐释。安全机制的内容远比文中所涉及到的要复杂,还需进一步学习。
参考文献:
梁立新;《项目实践精解:基于Struts\Spring\Hibernate的Java应用开发》;2006.08

上一篇:让现场新闻的采访再顺利些

下一篇:UTP布线系统中的衰减和干扰问题