当前位置:首页>> >>


基于Java的两个通用安全模块的设计与实现.rar

收藏

资源目录
    文档预览:
    编号:20180913143531437    类型:共享资源    大小:427.47KB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    40
    金币
    关 键 词:
    基于 Java 两个 通用 安全 模块 设计 实现
    资源描述:
    分类号:TP309 U D C:D10621-408-(2007) 6001-0密 级:公 开 编 号:2003032197成 都 信 息 工 程 学 院学 位 论 文基于 Java的两个通用安全模块的设计与实现论文作者姓名: 王 蕾申请学位专业: 网络工程申请学位类别: 工学学士指 导 教 师 姓 名 (职 称 ): 李谊瑞(研究员)论文提交日期: 2007 年 06 月 05 日基于 JAVA的两个通用安全模块的设计与实现摘 要本文详细介绍了基于口令的身份认证与文件安全传输两个通用安全模块的设计原理和实现过程,分析了当前口令保存的安全性,提出了运用 MD5算法等对口令进行处理,并将处理结果保存在数据库中的方法。同时为了进一步增强认证系统的灵活度,设计了用户注册时的口令模式选择、自主修改用户口令、自主选择口令字符串长度等策略。在本文设计的认证过程中,用户输入认证口令信息,作必要的处理之后,会与数据库里的用户真实信息进行对比来验证用户的合法性,合法用户登录成功后可以访问文件安全传输模块;而文件安全传输模块的设计,是应用 SSL协议建立文件安全传输通道,可以保障机密文件内容不被窃听、篡改、伪造。整个系统采用 JAVA语言对 SSL协议、DES、MD5 的支持设计实现的,具有设计简练、认证灵活、安全性能可靠、成本低廉等优点,能很好地解决各类企事业单位的用户身份鉴别和传输文件的机密性问题。关键词: 身份认证;消息摘要;DES;SSL;加密;解密The Design and implementation of Two General Security Models Based on JavaAbstractThe paper initiates the principle and implementation of two general security modules of password-based authentication and secure file transfer. It analyses the security of the current password, then proposes an approach that utilizes MD5 algorithm to encrypt password, finally stores the results in databases. To make the authentication system more flexibility, we introduce some policies: when users register, they can choose password model, they can modify password freely, they can choose the length of password independently etc. In the authentication process designed in this paper, the user inputs password which is processed to compare with the information stored in DB to authenticate user. If logon successful they will be able to access the secure file transfer module. And the design of secure file transfer module is the use of the SSL Protocol to establish security file transfer channels which can protect the confidential contents of the files against eavesdrop, alter and forge. The system is implemented in Java that supports SSL protocol, DES, MD5, which has the following virtues: briefness in design, authentication agility, secure and cheap in cost, and can help all kinds of companies to solve the problems of identity authentication and confidentiality of file transfer.Key words: authentication; Message-digest; DES; SSL; Encryption; Decryption 目 录论文总页数:27 页1 引言 ............................................................................................................................................11.1 课题背景 ........................................................................................................................11.2 国内外研究现状 ............................................................................................................11.3 本课题研究的意义 ........................................................................................................21.4 本课题的研究方法 ........................................................................................................22 需求分析 ....................................................................................................................................32.1 口令安全模块部分功能需求 ........................................................................................32.2 文件安全传输部分功能需求 ........................................................................................32.3 系统实现的环境和开发工具 ........................................................................................43 系统方案设计 ............................................................................................................................43.1 功能模块流程图 ............................................................................................................43.2 口令安全模块部分方案设计 ........................................................................................83.3 文件安全传输部分方案设计 ........................................................................................93.3.1 DES加密算法 .....................................................................................................93.3.2 SSL协议 ...........................................................................................................103.4 数据库的设计 ..............................................................................................................114 系统设计与实现 ......................................................................................................................124.1 总体结构图 ..................................................................................................................124.2 与数据库建立连接 ......................................................................................................124.3 口令认证及存储方式设计 ..........................................................................................134.4 数字证书创建 ..............................................................................................................134.5 关键代码说明 ..............................................................................................................135 测试 ..........................................................................................................................................20结 论 ..........................................................................................................................................24参考文献 ..........................................................................................................................................25致 谢 ..........................................................................................................................................26声 明 ..........................................................................................................................................27第 1 页 共 27 页1 引言1.1 课题背景众所周知,随着计算机的发展与普及,计算机担负着存储、管理信息及资源的任务,集中存放着大量数据资源,而且又为众多用户直接共享,而有些资源涉及到机密性,因此这些资源被用户操作前一般需要用户验证用户名及其口令,获得合法用户的操作权限。如果这些口令被非法用户得到,将会造成企业瘫痪,给国家带来巨大的损失,甚至危及国家安全。因此,对访问系统的用户进行身份认证就显得至关重要,身份认证已经成为了计算机信息安全领域中非常重要的一个分支。身份认证作为安全应用系统的第一道防线,是最重要的安全服务,所有其它的安全服务都依赖于该服务,它的失败可能导致整个系统的失败而使身份认证得以有效执行的前提就是相应口令的妥善保管。目前普遍采用的口令保存技术就是将口令直接以明文方式保存。这种方法的特点是简单、易用并且也具备一定的安全性,但随着计算机应用的复杂化、攻击手段的多样化,这种技术的安全缺陷也越来越明显,已经不再适用于安全性要求较高的应用系统。不但计算机给人们带来了很多便利,计算机网络技术也日益广泛地应用到各个领域。人们通过 Internet 进行各种交流, 在网上传输大量的信息,应用层次也在不断地深入,应用领域从传统的、小型业务系统逐渐向大型、关键业务系统扩展,典型的如党政部门信息系统、金融业务系统、企业商务系统等,都涉及到一些敏感数据文件的传输,如军事机密、信用卡号等。 这些被传输的数据往往涉及到企业的机密信息,在网络上传输容易面临着各种各样的安全威胁,如伪造、欺骗、窃听、篡改、抵赖等。如何在传输过程中保障这些敏感数据文件的安全将制约着网络技术在商业、金融、国防等领域的进一步发展,这一问题已成为当今计算机网络技术研究的一个热点。如何解决文件传输中的安全,必须有一整套的技术来保证信息的保密性、完整性,同时也应使信息的发送者能对信息的接收者进行确认,并且保证信息发送给可靠的接收者。1.2 国内外研究现状现在很多计算机应用程序使用的认证方法都是最简单的口令形式,类似于windows XP操作系统登录过程中输入用户名/口令的基本认证方式。就是系统事先保存每个用户的二元组信息(用户名,密码)。进入系统时用户先输入用户名和口令,系统根据保存的用户信息与用户输入的信息相比较,从而判断用户身份的合法性。很明显,这种身份认证方法操作十分简单,但同时又最不安全,因为其安全性仅仅基于用户口令的保密性,而用户口令一般较短且容易猜测,第 2 页 共 27 页不能抵御字典攻击,又由于系统一般将正确的用户口令直接存放在程序、文件或数据库中,一方面需要系统管理员是可信赖的,另一方面,一旦攻击者能够访问口令表,或被黑客窃取到,整个系统的安全性就受到了威胁。而保护在网络中传输的数据采用传统的密码技术(对称密码技术),这在一定程度上解决了文件传输保密性问题,但在进行保密通信前,通信双方必须通过某种安全手段得到密钥,这在某些情况下是非常困难甚至是不可能的。安全套接层协议 SSL (Secure Socket Layer) 是用来保障数据安全传输的协议,在 Internet 上为通信双方提供可靠连接方式下的防窃听、防篡改、防信息伪造的秘密通信,保障数据的安全传输。目前 SSL 已成为业界标准,得到了广泛应用,应用比较灵活。1.3 本课题研究的意义目前,计算机在金融、商业、政治等部门的应用越来越广,防止非法用户通过身份欺诈访问系统资源,变得日益重视。还有各部门在网络上传输文件时,这些被传输的文件如果涉及到机密信息,很容易遭受各种各样的攻击,保护这些机密信息的安全也成为信息化健康发展所要考虑的重要事情之一。本毕业设计选择两个安全模块的设计与实现主要设计口令部分安全模块实现合法用户验证和口令的安全保存和文件安全传输模块实现文件的安全、秘密、可靠传输到接收端。口令部分安全模块具有合法用户验证模块可以进行用户身份注册,安全生成口令,口令更改,口令长度选择,口令生成个数身选择,身份验证等功能。文件安全传输模块具有基于口令的文件加密解密和文件安全传输等功能。设计中除了综合运用以前所学知识(包括以前所学的一些关于网络、编程、信息安全等知识)的能力,同时也了解当今安全技术及编程的一些新技术;既锻炼了实际动手能力,又引导我进行了一次模拟实际产品的开发,对于以后工作能力的培养具有重要的意义。1.4 本课题的研究方法本系统的设计重点是实现口令部分安全模块与文件安全传输模块。具体实现口令的生成、口令的保存及文件的安全传输等主要功能,并将口令生成和文件加密的实现方法封装,方便程序调用。本毕业设计首先结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括 JAVA开发语言、计算机网络技术、相关协议、信息安全相关的知识等)以及借鉴现有的口令身份认证和基于 SSL协议数据安全传输的技术原理,选择所熟悉的开发工具进行本毕业设计的开发;在设计过程中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法,并将两个安全模块实现的关键技术进行封装,提供接口,方便他人调用;同时,在开发设计与实现中,要保存好相关第 3 页 共 27 页的设计文挡,为后面毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和测试运行,做好调试和测试运行的相关记录,也为后面的毕业论文的写作准备材料。2 需求分析2.1 口令安全模块部分功能需求1. 用户登录模块用户安全登录模块为用户提供身份验证的入口。用户可以根据自己使用口令的类型选择相应的登录模式登录,用户的登录类型根据口令的处理方法不同分为默认类型和一次性类型。2. 口令处理模块为了使口令保存的安全性更高,要求用户口令在数据库中不能以明文的方式保存在口令表中。对口令的保存及处理有两种方法,一种是默认处理方法,即口令经处理后以另外一种方式存在口令表中,另一种是一次性口令的处理方法,使口令表中的口每进行一次成功的登录,口令表中的口令信息都进行相应的变化,根据口令的类型调用相应的处理方法来处理口令的。3. 口令注册模块口令注册模块为用户提供口令注册信息。为了增强口令注册的灵活度,方便用户使用自己的口令,用户可以根据自己的喜好选择注册口令的模式,其中口令注册有两种类型,一种为默认型,一种为一次性口令。用户在一次性口令中可以选择口令的长度、个数等,在一次性口令注册成功后,生成的一系列口令可以生成一个口令文件,为用户查看口令提供了便利。4. 口令更改模块口令更改模块可以为用户提供口令的更改,尤其是对使用一次性口令的用户,如果他用完了限定的口令,可以不用重新注册,而再次获得有效的一次性口令。用户可以根据口令的类型按要求输入相关的信息更改自己的口令。2.2 文件安全传输部分功能需求1. 客户端文件安全传输模块客户端文件安全传输模块可以进行文件的选择及上传。用户身份验证成功后可以选择要上传的文件,经相应用户的口令加密后再经 SSL协议的安全通信密道传递给服务器使文件在传输过程中进行双重保护。2. 服务器端文件接收模块服务器端文件接收模块可以接收客户端发过来的秘密文件。服务器与客户端建立 SSL连接成功后接收客户端发送过来的秘密文件,并将之保存在服务器第 4 页 共 27 页端选定的目录里。3. 服务器秘密文件解密模块服务器秘密文件解密模块可以打开秘密文件读取密文中的解密参数并生成相应的解密密钥将密文解密,解密后的明文显示在文本框里,同时将明文保存在系统自定义的目录里,方便接收端对明文进行处理。2.3 系统实现的环境和开发工具本系统是在 Windows XP环境下,采用 J2SDK1.4开发工具,使用 Java语言开发的,并采用 SQL Server 2000作为数据提供者。Java语言是一种很优秀的语言,是目前软件设计中极为壮健的编程语言,只要提供了 Java解释器,Java 编写的软件在执行码上兼容。Java 作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、具有可移植性、安全性、并且提供了并发的机制,具有很高的性能。其次, Java还提供了丰富的类库涉及加解密、消息摘要等,使程序设计者可以很方便地调用这些方法进行二次开发。另外,在 JDBC诞生之后,Java 在数据库应用领域获得了成功的应用,大大降低了 Java语言操作数据库的复杂程度,可以将重心放在功能实现上。SQL Server 2000是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。 T-SQL 是结构化查询语言 SQL的一种,支持 ANSI SQL-92 标准。它上手容易,由于 SQLServer与 Windows界面风格完全一致,且有许多“向导(Wizard)“帮助,因此易于安装和学习。而且兼容性良好,由于今天 Windows操作系统占领着主导地的位,选择 SQLServer一定会在兼容性方面取得一些优势。可以通过 ODBC数据库访问技术,用于Java技术制作的页面与数据库之间的连接。3 系统方案设计3.1 功能模块流程图为了方便系统方案的设计与功能的开发,在方案设计前,根据前面的需求分析,将系统的功能划分为口令部分功能模块和文件安全传输部分功能模块,这两个模块又各自细分为各个小模块,各小模块的功能流程图如下:(一) 口令部分功能模块流程图1. 登录模块流程图在登录模块中根据需求分析设计了两种登录系统的口令模式,一个是默认口令模式,一个是一次性口令模式,当用户输入用户名及口令后,系统首先判断用户选的是默认口令类型还是一次性口令类型,如果是默认口令类型,则调第 5 页 共 27 页用系统的默认口令处理方法将用户输入的口令经处理后,系统与数据库建立连接,连接不成功系统提示出错信息,如果连接成功,系统将口令处理后的结果跟数据库中口令表里的相应口令信息比较,经核对,口令信息一致则该用户可进入文件安全传输模块进行操作,否则提示出错信息,要求用户重新验证口令。登录模块流程图如图 1所示。2. 默认注册模块流程图在默认注册模块中,用户输入用户名及口令。系统调用口令处理方法,接着连接数据库,连接成功则将口令信息与数据库里的记录比较,如无重复,则将口令及用户名写入数据库,并提示注册成功,如果写入数据库失败,则报失败提示。默认注册模块流程图如图 2。处理口令输入用户名输入口令输确认口令开始 口令一致否否连数据库库写入数据库用户名及口令处理结果出错信息失败成功YN图 2 默认口令注册流程图口令验证验证失败输入用户名输入口令开始默认口令处理 连数据库一次性口令处理默认口令YN成功出错信息失败一次性口令令进入系统本次口令写入数据库Y 验证通过图 1 登录模块流程图N第 6 页 共 27 页3. 一次性口令的注册模块流程图在一次性口令注册模块中,用户输入用户名、口令长度、口令个数及口令。系统调用口令处理方法,接着连接数据库,连接成功则将口令信息与数据库里的记录比较,如无重复,则将最后生成的一个口令及用户名写入数据库,并显示用户要求的口令个数,失败,则报告失败提示。一次性口令的注册模块流程如图 3。4. 默认口令更改流程图口令是否一致开始N输入用户名输入口令输入确认口令输入口令长度输入口令个数写入数据库用户名及口令处理结果之一输出要求的一次性口令与数据库连接处理口令成功失败出错信息图 3 一次性口令注册流程图Y
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于Java的两个通用安全模块的设计与实现.rar
    链接地址:http://www.gold-doc.com/p-116463.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开