现在很多计算机应用程序使用的认证方法都是最简单的口令形式,类似于windows XP操作系统登录过程中输入用户名/口令的基本认证方式。就是系统事先保存每个用户的二元组信息(用户名,密码)。进入系统时用户先输入用户名和口令,系统根据保存的用户信息与用户输入的信息相比较,从而判断用户身份的合法性。很明显,这种身份认证方法操作十分简单,但同时又最不安全,因为其安全性仅仅基于用户口令的保密性,而用户口令一般较短且容易猜测,不能抵御字典攻击,又由于系统一般将正确的用户口令直接存放在程序、文件或数据库中,一方面需要系统管理员是可信赖的,另一方面,一旦攻击者能够访问口令表,或被黑客窃取到,整个系统的安全性就受到了威胁。而保护在网络中传输的数据采用传统的密码技术(对称密码技术),这在一定程度上解决了文件传输保密性问题,但在进行保密通信前,通信双方必须通过某种安全手段得到密钥,这在某些情况下是非常困难甚至是不可能的。安全套接层协议SSL (Secure Socket Layer) 是用来保障数据安全传输的协议,在Internet 上为通信双方提供可靠连接方式下的防窃听、防篡改、防信息伪造的秘密通信,保障数据的安全传输。目前SSL 已成为业界标准,得到了广泛应用,应用比较灵活。
目前,计算机在金融、商业、政治等部门的应用越来越广,防止非法用户通过身份欺诈访问系统资源,变得日益重视。还有各部门在网络上传输文件时,这些被传输的文件如果涉及到机密信息,很容易遭受各种各样的攻击,保护这些机密信息的安全也成为信息化健康发展所要考虑的重要事情之一。本毕业设计选择两个安全模块的设计与实现主要设计口令部分安全模块实现合法用户验证和口令的安全保存和文件安全传输模块实现文件的安全、秘密、可靠传输到接收端。口令部分安全模块具有合法用户验证模块可以进行用户身份注册,安全生成口令,口令更改,口令长度选择,口令生成个数身选择,身份验证等功能。文件安全传输模块具有基于口令的文件加密解密和文件安全传输等功能。设计中除了综合运用以前所学知识(包括以前所学的一些关于网络、编程、信息安全等知识)的能力,同时也了解当今安全技术及编程的一些新技术;既锻炼了实际动手能力,又引导我进行了一次模拟实际产品的开发,对于以后工作能力的培养具有重要的意义。
本系统的设计重点是实现口令部分安全模块与文件安全传输模块。具体实现口令的生成、口令的保存及文件的安全传输等主要功能,并将口令生成和文件加密的实现方法封装,方便程序调用。本毕业设计首先结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括JAVA开发语言、计算机网络技术、相关协议、信息安全相关的知识等)以及借鉴现有的口令身份认证和基于SSL协议数据安全传输的技术原理,选择所熟悉的开发工具进行本毕业设计的开发;在设计过程中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法,并将两个安全模块实现的关键技术进行封装,提供接口,方便他人调用;同时,在开发设计与实现中,要保存好相关的设计文挡,为后面毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和测试运行,做好调试和测试运行的相关记录,也为后面的毕业论文的写作准备材料。