数据安全在企业级快速开发平台的研究与应用.docx

上传人:b****4 文档编号:3919664 上传时间:2022-11-26 格式:DOCX 页数:32 大小:113.38KB
下载 相关 举报
数据安全在企业级快速开发平台的研究与应用.docx_第1页
第1页 / 共32页
数据安全在企业级快速开发平台的研究与应用.docx_第2页
第2页 / 共32页
数据安全在企业级快速开发平台的研究与应用.docx_第3页
第3页 / 共32页
数据安全在企业级快速开发平台的研究与应用.docx_第4页
第4页 / 共32页
数据安全在企业级快速开发平台的研究与应用.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

数据安全在企业级快速开发平台的研究与应用.docx

《数据安全在企业级快速开发平台的研究与应用.docx》由会员分享,可在线阅读,更多相关《数据安全在企业级快速开发平台的研究与应用.docx(32页珍藏版)》请在冰豆网上搜索。

数据安全在企业级快速开发平台的研究与应用.docx

数据安全在企业级快速开发平台的研究与应用

XX学院

毕业论文

论文题目数据安全在企业级快速

开发平台的研究与应用

系别计算机与电子信息工程系

专业计算机科学与技术

班级05计本4班

学号0500601408

学生姓名---

指导教师(签名)

完成时间2009年5月

摘要

数据的安全性在计算机网络的各种应用中引起了广泛研究,它主要是信息在传输,存储等过程中的防止被非法的截取或者撰改。

本论文以数据安全性为核心展开,描述了数据安全在关键功能模块的使用,重点于用户口令加密、验证码、用户权限管理以及安全套接字。

企业快速开发平台具有高效性,二次性的特点。

通过开发平台,可以快速的开发出企业所需的系统。

数据安全在快速开发平台中的设置,更是影响到了后续系统中各种数据的安全。

本文根据实际设计的需要,采用了MD5算法对口令进行加密,用户权限的管理实现使得系统中的一些功能或者信息只能被合法授权的用户才能使用或读取。

系统在底层的数据传输采用SSL加密协议,确保数据在传输中不被截取。

对web服务器中的数据安全,用户访问安全作了详细说明。

系统开发方面结合java网络编程的安全性以及MVC结构的稳定性。

本论文首先介绍了数据信息的各种安全威胁,然后结合数据安全性与平台的功能实现,依次对口令安全,用户权限的管理,SSL的设计和实现做了介绍,并在最后简介了web服务器的安全配置。

系统采用java、jsp等语言通过JBuilder完成软件的设计和实现。

关键词:

MD5验证码用户权限MVCSSL

 

Datasecurityintheenterpriseandrapiddevelopmentplatformforreseachandapplication

Abstract

Datasecurityatawiderangeofapplicationsofcomputernetworkshascausedextensiveresearch.Itmainlyappliedtoinformationtransmission,storage,etc.topreventtheinterceptionofillegalorwrittento.Thisthesistodatasecurityasthecoretostart,describesthedatasecurityintheuseofkeyfunctionalmodules,withafocusontheuserpasswordencryption,verificationcode,userrightsmanagementandsecuresocket.

Enterpriseexpressdevelopmentplatformwithhighefficientandsecondarysexualfeatures.Thedevelopmentplatformcanrapidlydevelopenterprisesystems.DatasecurityattheExpressdevelopmentplatformsettingsaffectsmorefollow-upsystemofdatasecurity.Inthispaper,accordingtotheactualdesignofdemands,itusestheMD5algorithmtoencryptpasswords.Userrightsmanagementsystemimplementationmakessomeofthefeaturesorinformationcanonlybelegitimateauthorizeduserstouseorread.SystematthebottomofthedatatransmissionusesSSLencryptionprotocoltoensurethatthedatatransmissionwillnotbeinterception.Onthewebserverinthedatasecurity,useraccesssecuritymakesadetailspecification.SystemdevelopmentcombinesjavanetworkprogrammingsecurityandthestructureofthestabilityofMVC.

    Firstofall,thisthesisintroducesthedatainformationofallkindsofsecuritythreats,andthencombineswithdatasecurityfeaturesandplatformimplementation,turnonpasswordsecurity,userrightsmanagement,SSLdesignandimplementationtodotheintroductionandabriefintroductioninthefinalwebserversecurityconfiguration.Systemusesjava,jsp,etc.LanguageandJBuildertoachievesoftwaredesignandimplementation.

Keyword:

MD5VerificationCodeuserrightsMVCSSL

 

目录

第一章引言1

1.1课题来源1

1.2开发工具的选择2

1.3本文所做的工作3

第二章口令安全设计与实现5

2.1口令安全的重要性5

2.2口令加密6

2.3MD5算法在系统中的实现9

2.4验证码的重要性12

2.5验证码的设计与实现14

第三章用户权限的管理17

3.1用户权限的重要性17

3.2用户权限的设计17

3.3用户权限的实现19

第四章MVC在平台中的应用22

4.1MVC的简介22

4.2MVC的设计思想22

4.3MVC的实现24

第五章SSL安全套接字29

5.1SSL的简介29

5.2SSL在系统中的运用33

第六章Web服务器的安全配置34

6.1RESIN的介绍34

6.2RESIN的安装配置34

第七章总结37

参考文献38

致谢39

第一章引言

1.1课题来源

随着计算机科学技术的迅速发展与计算机在社会生活各个领域的广泛应用,计算机安全问题不仅成为计算机科学中一个重要的研究课题,也已经成为一个人们日益关心的社会问题。

如在病毒和黑客横行的互联网上,人们越来越担心网上电子邮件传输,电子商务,电子支付过程中,重要数据是否被拦截,被篡改,敏感信息是否被泄漏,被假冒等,这就出现了计算机的安全问题。

计算机安全所涉及的方面非常广泛,包括计算机道德教育,计算机安全条例与相关法规的研究和制定,对于来自自然环境的安全防护,对计算机硬件资源的安全管理,对人员合法身份的验证和确认,对计算机内所存放的数据(包括数据库、数据文件)的安全保护,各种安全产品的设计制造和使用等。

计算机能处理的数据来源包括数字,文本、语音、音乐、静止图像、视频图像、图形,动画等多种形式。

这些数据经过数字化转化为1和0的二进制数据流而存储在计算机中。

数据安全问题是计算机安全的一个核心问题,从技术的角度上看,数据安全的技术特征主要有以下几个方面:

1.数据的完整性,指数据的存储或传输过程中保持不被偶然或蓄意地修改,删除、伪造、乱序,重置等的破坏和不丢失的特性;2.数据的保密性,是指防止数据泄漏给非授权个人或实体,只供合法用户使用的特性;3.数据的可用性,指数据在需要时应可以被已授权的用户合法使用的特性。

在数据传输中,应采用数据传输加密技术,目的是对传输中的数据流加密,以防止通信线路上的窃听、泄漏、篡改和破坏。

如果以加密实现的通信层次来区分,加密可以在通信的三个不同层次来实现,即链路加密(位于OSI网络层以下的加密),节点加密,端到端加密(传输前对文件加密,位于OSI网络层以上的加密)。

一般常用的是链路加密和端到端加密这两种方式。

链路加密侧重与在通信链路上而不考虑信源和信宿,是对保密信息通过各链路采用不同的加密密钥提供安全保护。

链路加密是面向节点的,对于网络高层主体是透明的,它对高层的协议信息(地址、检错、帧头帧尾)都加密,因此数据在传输中是密文的,但在中央节点必须解密得到路由信息。

端到端加密则指信息由发送端自动加密,并进入TCP/IP数据包回封,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息一旦到达目的地,将自动重组、解密,成为可读数据。

端到端加密是面向网络高层主体的,它不对下层协议进行信息加密,协议信息以明文形式传输,用户数据在中央节点不需解密。

随着信息技术的发展,计算机系统的概念变得越来越模糊,外延也越来越大。

单个的个人计算机可以称之为一个计算机系统,一个局域网也可以称之为一个计算机系统,甚至因特网这样的系统中,包含着许许多多的服务器,网络通信设备等硬件设施,也可以称之为一个计算机系统。

从系统的角度来看,一个系统的安全强度取决于其中的每一个部件的安全强度,任何一个部件的安全上的漏洞都会成为整个系统的安全脆弱点。

可见,一个系统的安全强度不是由系统中最安全的部件的安全强度决定的,而恰恰相反,取决于系统中最不安全的部件的安全程度。

一个计算机系统,尤其是最常见的计算机应用系统中,大多数是基于计算机网络的。

随着网络的发展,各种软件或系统已逐渐从C/S模式拓展到了B/S模式,如何高效快速的开发出所需的web系统,已经成为各个公司和工程师们所关注的事情。

按照一般的开发工序,不管系统的大小,都必须从最基本都要经过各种模块以及功能的搭建,而能否在开发的前期首先制作一个通用的平台,把各种常用的功能和模块在后台构建好,在开发其他的系统时,只需调用即可。

企业级快速开发平台即把底层的各种功能代码编写成函数的形式,只需在开发之时调用各类已经定义好的函数即可实现指定的功能,从而减轻了开发的强度和开发的周期。

从一定意义上达到了二次开发的效果。

在计算机网络系统中,类似的情况是服务器上的数据只允许一部分应该看到的用户才能看到,而且数据在从一个机器到另一个机器的传输过程中必须保证它们不会被非法用户看见,更不允许它们被非法篡改。

可见,数据安全保密问题不仅存在于计算机网络通信中,而且也存在于系统中的非网络通信部分,尤其是那些存有大量数据的计算机操作系统和应用软件系统中,所以开发应用系统时,必须首先考虑到系统的数据安全的设计与实现。

[1]

1.2开发工具的选择

在本系统中有关数据安全方面的设计与实现中主要运用了Java语言和SQL,开发工具为JBuilder以及SQLServer2000。

Java是由JamesGosling、PatrickNaughton和ChrisWarth等人于1991年在SunMicrosystem公司设计出来的,开发第一个版本花了18个月。

刚开始,该语言被命名为Oak,在1995年更名为Java。

Java的大部分特性是从C语言和C++语言中继承的。

Java的特点主要包括面向对象(object-oriented)、简单(simple)、安全(secure)、体系结构中立和可移植(architecture-neutralandportable)、多线程(multithreaded)、解释执行和高性能(interpretedandhighperformance)和分布式(distributed)等7个方面。

Borland公司的JBuilder是Java集成开发环境中的王者,是目前最为流行的Java开发工具,绝大多数企业级的Java应用都是用JBuilder开发的。

JBuilder的特点如下:

(1)JBuilder支持最新的Java技术,包括JSP/Servlets、JavaBean、EJB、Structs和Hibernate。

(2)利用JBuilder,用户可以自动地生成基于后端数据库表的EJBJava类,同时还可以大大简化EJB的部署。

JBuilder全面支持CORBA,相应的向导程序有助于用户全面地管理IDL(InterfaceDefinitionLanguage)和按制远程对象。

(3)JBuilder支持各种应用服务器,JBuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0可以快速开发基于J2EE构架的电子商务应用。

(4)JBuilder能用Servlet和JSP开发调试动态Web应用。

(5)由于JBuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。

(6)JBuilder拥有专业化的图形调试界面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。

JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业级的J2EE开发。

SQLServer特点:

  

(1).真正的客户机/服务器体系结构。

  

(2).图形化用户界面,使系统管理和数据库管理更加直观、简单。

  (3).丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

  (4).SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。

SQLServer也可以很好地与MicrosoftBackOffice产品集成。

  (5).具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。

  (6).对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

(7).SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

1.3本文所做的工作

引言部分介绍了本课题的来源和所要应用到的开发语言和开发工具。

第二章介绍了口令加密算法的实现。

第三章介绍了用户权限的管理。

第四章介绍MVC在平台中的应用。

第五章介绍SSL安全套接字。

第六章介绍Web服务器的安全配置。

第七章总结部分介绍了设计编程体会,并指出了设计中的不足和改进的方向。

第二章口令安全设计与实现

2.1口令安全的重要性

现在的时代已经是信息时代了,传统的办公工作模式已经无法足人们对信息的需求,于是人们普遍使用计算机来提高自已的工作效率,但是在需要许多人一起协同工作的现代环境中,我们更需要提高我们整体的工作效率。

利用网络通讯基础及先进的网络应用平台,建设一个安全,可靠、开放、高效的信息采集网络和办公自动化系统,为管理部门提供现代化的日常办公条件及丰富综合信息服务已成为迫切的需求。

利用网络可以实现信息数据采集高效迅速和办公事务处理自动化,以提高办公效率和管理水平,支持决策的制定,实现企业各部门日常业务工作的规范化,电子化、标准化,增强各个下级部门上报数据的快速连接与及时反应性,实现信息的在线汇总与在线查询,最终实现”无纸”办公。

互联网的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代的来临。

时下随着网络的普及和信息时代的全面提速。

B/S模式的应用正在以全新的面孔越来越清晰地展示给人们,B/S模式最大特点是:

用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。

客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。

在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。

而各个企业可以在此结构的基础上建立自己的Intranet。

B/S应用中,首先遇到的最大问题就是安全性能否得到保障,一般来说,一个B/S系统的信息安全主要有两个方面(本文不讨论与网络无关的安全方面):

数据传输的安全性与用户身份的确认。

用户身份的确认在B/S系统中是非常重要的,因为B/S系统正是根据用户的身份来提供个性化的服务以及不同的权限,所以,如何对用户身份进行安全的确认,防止假冒和非法攻击是维护数据安全性非常重要的环节。

首要问题就是用户的身份验证问题。

而身份验证的问题则主要是口令的验证问题,口令是用户合法与否的重要凭证,系统的安全性和可靠性很多时候是依靠口令的安全性。

如果没有一个好的口令安全机制,再坚固的网络系统也是弱不禁风的。

一般的网络攻击分为:

1、获取口令,这又有三种方法:

一是通过网络监听非法得到用户口令,这类方法有一定的局限性。

二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制。

三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。

2、放置特洛伊木马程序 ,3、WWW的欺骗技术 ,4、电子邮件攻击,5、通过一个节点来攻击其他节点,6、网络监听 等等 。

网络攻击最简单,最基本的一种形式就是对口令的攻击,对目标主机上的管理员帐号或别的帐号的口令进行攻击并得到相应的口令,所以对口令的验证则显得尤为重要了。

口令验证的目的就是防止非法用户对计算机和网络上的资源进行访问或篡改,让合法用户畅通无阻地享受应有的权利。

口令的作用是在一定的字符集中选择一些字符,设置一定长度的字符串的组合来使非法用户猜测到字符串的概率降到最低程度。

不过现在有些个人或企业的系统的用户口令都是以明文的形式传送和存储在数据库中的,这样很容易使得不法分子或非法用户在口令的传输过程中从网络中窍听到口令的信息,或侵入到系统数据库中,从中得到所有用户的口令,进而进行篡改。

所以要提高口令的安全性就是要保证口令在传输过程和存储在数据库时的安全。

2.2口令加密

对于一些计算机资源,只有经过授权的合法用户才能访问,而如何正确鉴别用户的真实身份是问题的关键。

用户认证,也称为用户鉴别,就是用户向服务系统以一种安全的方式提交自已的身份证明,由服务系统确认用户的身份是否真实。

通常的网站是通过表单提交的方式进行用户登录的,下面是典型的网站在实现登录认证时的具体HTML代码:

表单是由一个或多个文本输入框,可点击的按钮和多选框组成的,所有这些都放在

标签中。

用户首先填写的内容提交给服务器,由服务器上相应程序负责提交的内容,通常浏览器将表单中的数据传递给服务器的方法有POST方法和GET方法。

如果采用POST方法,浏览器将会按以下步骤来传递数据:

首先浏览器建立和表单中Action属性中指定的表单处服务器。

如果采用GET方法,浏览器会将数据直接附在表单的ActionURL之后,同时二者中间用问号来分隔。

上述二种方法都是将用户填写到表单上的数据以以明码的形式直接在网络上进行传递,当然也包括了用户口令。

只要攻击者在用户登录时进行一次简单的网络窍听就可以马上获得用户的口令,这样攻击者一旦获得口令,就可能会导到被攻击者别处的账号口令被攻击者获得。

传统的认证方式是用户登录过程中输入用户名/口令的基本认证方式,这种方式具有不安全性,极易被重播攻击和字典攻击。

如果强迫用户输入一些强度较高的口令,虽然能在一定程度上解决问题,但是同样会给用户在使用上带来很大的不方便,口令不易记忆。

而基于证书的数字签名认证技术需要客户端的硬件支持,或者CA证书需要下载到客户端的浏览器上安装,方可运行。

用户的浏览器要接收由受信赖的第三方签发的正确CA就必须配置受信赖的第三方的公开钥匙。

如果浏览器没有配置受信赖的第三方公开密钥,则就无法验证安全网关的身份,当用户在一些不确定的场所使用时就会有诸多的限制。

例如在使用过后,为安全起见必须要删除客户端程序或者客户端证书。

传统的X.509体系认证方式主要是以硬件或软件做为用户秘密信息的载体。

这就使得认证的信息要在特定的机器或者硬件上驻留一定的时间,即认证信息是和特定的机器而不能和用户本人进行绑定,这就造成了客户端软硬件的维护负担,并限制了用户的可移动访问控制。

尤其在网站式信息大量发布的今天,考虑到连接速度和方便用户使用等原因。

那应该采取什么样的措施来保证用户口令的安全呢?

一般在系统工程中采用得最普遍的口令安全保护就是数据库校验技术,当用户在客户端填写用户名和密码后,首先将信息送至服务器,服务器将得到的信息作为被验证内容添加进执行模块,模块中有负责数据库服务器交互的代码,该代码负责将用户所填写的用户名在数据库中对应的密码取出和用户填写的密码对比,此过程全部由服务器操纵,密码相符的则允许登录。

对于安全性要求稍高的工程,此类数据库校验技术显然是不能胜任的,因为数据库中用户密码以明码方式存放是非常不安全的,对于任何入侵了数据库内部的人,想要取得密码都轻而易举,即使是对数据库管理者,用户的密码等信息也应该是受到保护的,解决此问题可以采用在数据库校验技术中运用存储过程加密明码的方法来实现。

在数据库的用户表中存放的不是用户输入的明码,而是经过存储过程中的加密算法计算出的暗码,这样真正的密码就只有用户可以知道了,即使被截获,可以得到的也只是不可用来登录的密码暗码。

当用户输入用户名和密码提交后,服务器将把接收到的信息传给数据库中对应的存储过程,由该存储过程计算出用户输入密码对应的加密后的暗码,再用该暗码和用户信息表中存储的密码暗码相比较,以此来完全的数据库校验过程,流程图如图2—1。

对用户口令进行加密,但应选用什么样的加密算法对口令进行加密呢?

目前比较流行的加密算法有DES算法,Diffie-Hellman密钥交换算法和MD5算法。

而在本系统的口令安全加密算法运用的就是MD5算法。

MD5的全称是Message-DigestAlgorithm5(信息-摘要算法),在90年代初由MITLaboratoryforComputerScience和RSADataSecurityInc的RonaldL.Rivest开发出来,经MD2、MD3和MD4发展而来。

它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。

不管是MD2、MD4还是MD5,它们都需要获得一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1