分类号: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 Java
Abstract
The 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 引言............................................................................................................................................1
1.1 课题背景........................................................................................................................1
1.2 国内外研究现状............................................................................................................1
1.3 本课题研究的意义........................................................................................................2
1.4 本课题的研究方法........................................................................................................2
2 需求分析....................................................................................................................................3
2.1 口令安全模块部分功能需求........................................................................................3
2.2 文件安全传输部分功能需求........................................................................................3
2.3 系统实现的环境和开发工具........................................................................................4
3 系统方案设计............................................................................................................................4
3.1 功能模块流程图............................................................................................................4
3.2 口令安全模块部分方案设计........................................................................................8
3.3 文件安全传输部分方案设计........................................................................................9
3.3.1 DES 加密算法.....................................................................................................9
3.3.2 SSL 协议...........................................................................................................10
3.4 数据库的设计..............................................................................................................11
4 系统设计与实现......................................................................................................................12
4.1 总体结构图..................................................................................................................12
4.2 与数据库建立连接......................................................................................................12
4.3 口令认证及存储方式设计..........................................................................................13
4.4 数字证书创建..............................................................................................................13
4.5 关键代码说明..............................................................................................................13
5 测试..........................................................................................................................................20
结 论..........................................................................................................................................24
参考文献..........................................................................................................................................25
致 谢..........................................................................................................................................26
声 明..........................................................................................................................................27
第 1 页 共 27 页
1 引言
1.1 课题背景
众所周知,随着计算机的发展与普及,计算机担负着存储、管理信息及资源
的任务,集中存放着大量数据资源,而且又为众多用户直接共享,而有些资源涉
及到机密性,因此这些资源被用户操作前一般需要用户验证用户名及其口令,获
得合法用户的操作权限。如果这些口令被非法用户得到,将会造成企业瘫痪,给
国家带来巨大的损失,甚至危及国家安全。因此,对访问系统的用户进行身份认
证就显得至关重要,身份认证已经成为了计算机信息安全领域中非常重要的一个
分支。身份认证作为安全应用系统的第一道防线,是最重要的安全服务,所有其
它的安全服务都依赖于该服务,它的失败可能导致整个系统的失败而使身份认证
得以有效执行的前提就是相应口令的妥善保管。目前普遍采用的口令保存技术就
是将口令直接以明文方式保存。这种方法的特点是简单、易用并且也具备一定的
安全性,但随着计算机应用的复杂化、攻击手段的多样化,这种技术的安全缺陷
也越来越明显,已经不再适用于安全性要求较高的应用系统。
不但计算机给人们带来了很多便利,计算机网络技术也日益广泛地应用到各
个领域。人们通过 Internet 进行各种交流,在网上传输大量的信息,应用层次
也在不断地深入,应用领域从传统的、小型业务系统逐渐向大型、关键业务系统
扩展,典型的如党政部门信息系统、金融业务系统、企业商务系统等,都涉及到
一些敏感数据文件的传输,如军事机密、信用卡号等。 这些被传输的数据往往
涉及到企业的机密信息,在网络上传输容易面临着各种各样的安全威胁,如伪造、
欺骗、窃听、篡改、抵赖等。如何在传输过程中保障这些敏感数据文件的安全将
制约着网络技术在商业、金融、国防等领域的进一步发展,这一问题已成为当今
计算机网络技术研究的一个热点。如何解决文件传输中的安全,必须有一整套的
技术来保证信息的保密性、完整性,同时也应使信息的发送者能对信息的接收者
进行确认,并且保证信息发送给可靠的接收者。
1.2 国内外研究现状
现在很多计算机应用程序使用的认证方法都是最简单的口令形式,类似于
windows XP 操作系统登录过程中输入用户名/口令的基本认证方式。就是系统事
先保存每个用户的二元组信息(用户名,密码)。进入系统时用户先输入用户名和
口令,系统根据保存的用户信息与用户输入的信息相比较,从而判断用户身份的
合法性。很明显,这种身份认证方法操作十分简单,但同时又最不安全,因为其
安全性仅仅基于用户口令的保密性,而用户口令一般较短且容易猜测,不能抵御
字典攻击,又由于系统一般将正确的用户口令直接存放在程序、文件或数据库中,