java毕业设计下载(全套源码+配套论文)——基于Java+sqlserver的通用安全模块设计与实现
基于Javasqlserver的通用安全模块设计与实现毕业论文程序源码大家好今天给大家介绍基于Javasqlserver的通用安全模块设计与实现更多精选毕业设计项目下载见文末哦。文章目录基于Javasqlserver的通用安全模块设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、资源下载5、毕设简介6、精选500套毕业设计软件源码和配套论文下载1、项目简介本文详细介绍了基于口令的身份认证与文件安全传输两个通用安全模块的设计原理和实现过程分析了当前口令保存的安全性提出了运用MD5算法等对口令进行处理并将处理结果保存在数据库中的方法。同时为了进一步增强认证系统的灵活度设计了用户注册时的口令模式选择、自主修改用户口令、自主选择口令字符串长度等策略。在本文设计的认证过程中用户输入认证口令信息作必要的处理之后会与数据库里的用户真实信息进行对比来验证用户的合法性合法用户登录成功后可以访问文件安全传输模块而文件安全传输模块的设计是应用SSL协议建立文件安全传输通道可以保障机密文件内容不被窃听、篡改、伪造。整个系统采用JAVA语言对SSL协议、DES、MD5的支持设计实现的具有设计简练、认证灵活、安全性能可靠、成本低廉等优点能很好地解决各类企事业单位的用户身份鉴别和传输文件的机密性问题。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数14266个字30页包含内容整套源码完整毕业论文3、关键词身份认证消息摘要DESSSL加密解密4、资源下载本项目源码及完整论文如下有需要的朋友可以点击进行下载。如果链接失效可点击最下方卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于Javasqlserver的通用安全模块设计与实现源码文档_java_sqlserver_通用安全模块.zip5、毕设简介提示以下为毕业论文的简略介绍项目源码及完整毕业论文下载地址见文末。1 引言1.1 课题背景众所周知随着计算机的发展与普及计算机担负着存储、管理信息及资源的任务集中存放着大量数据资源而且又为众多用户直接共享而有些资源涉及到机密性因此这些资源被用户操作前一般需要用户验证用户名及其口令获得合法用户的操作权限。如果这些口令被非法用户得到将会造成企业瘫痪给国家带来巨大的损失甚至危及国家安全。因此对访问系统的用户进行身份认证就显得至关重要身份认证已经成为了计算机信息安全领域中非常重要的一个分支。身份认证作为安全应用系统的第一道防线是最重要的安全服务所有其它的安全服务都依赖于该服务它的失败可能导致整个系统的失败而使身份认证得以有效执行的前提就是相应口令的妥善保管。目前普遍采用的口令保存技术就是将口令直接以明文方式保存。这种方法的特点是简单、易用并且也具备一定的安全性但随着计算机应用的复杂化、攻击手段的多样化这种技术的安全缺陷也越来越明显已经不再适用于安全性要求较高的应用系统。不但计算机给人们带来了很多便利计算机网络技术也日益广泛地应用到各个领域。人们通过Internet 进行各种交流在网上传输大量的信息应用层次也在不断地深入应用领域从传统的、小型业务系统逐渐向大型、关键业务系统扩展典型的如党政部门信息系统、金融业务系统、企业商务系统等都涉及到一些敏感数据文件的传输如军事机密、信用卡号等。 这些被传输的数据往往涉及到企业的机密信息在网络上传输容易面临着各种各样的安全威胁如伪造、欺骗、窃听、篡改、抵赖等。如何在传输过程中保障这些敏感数据文件的安全将制约着网络技术在商业、金融、国防等领域的进一步发展这一问题已成为当今计算机网络技术研究的一个热点。如何解决文件传输中的安全必须有一整套的技术来保证信息的保密性、完整性同时也应使信息的发送者能对信息的接收者进行确认并且保证信息发送给可靠的接收者。1.2 国内外研究现状省略1.3 本课题研究的意义目前计算机在金融、商业、政治等部门的应用越来越广防止非法用户通过身份欺诈访问系统资源变得日益重视。还有各部门在网络上传输文件时这些被传输的文件如果涉及到机密信息很容易遭受各种各样的攻击保护这些机密信息的安全也成为信息化健康发展所要考虑的重要事情之一。本毕业设计选择两个安全模块的设计与实现主要设计口令部分安全模块实现合法用户验证和口令的安全保存和文件安全传输模块实现文件的安全、秘密、可靠传输到接收端。口令部分安全模块具有合法用户验证模块可以进行用户身份注册安全生成口令口令更改口令长度选择口令生成个数身选择身份验证等功能。文件安全传输模块具有基于口令的文件加密解密和文件安全传输等功能。设计中除了综合运用以前所学知识包括以前所学的一些关于网络、编程、信息安全等知识的能力同时也了解当今安全技术及编程的一些新技术既锻炼了实际动手能力又引导我进行了一次模拟实际产品的开发对于以后工作能力的培养具有重要的意义。1.4 本课题的研究方法本系统的设计重点是实现口令部分安全模块与文件安全传输模块。具体实现口令的生成、口令的保存及文件的安全传输等主要功能并将口令生成和文件加密的实现方法封装方便程序调用。本毕业设计首先结合本次毕业设计的相关要求写出需求分析其次综合运用以前所学的相关知识包括JAVA开发语言、计算机网络技术、相关协议、信息安全相关的知识等以及借鉴现有的口令身份认证和基于SSL协议数据安全传输的技术原理选择所熟悉的开发工具进行本毕业设计的开发在设计过程中以需求分析为基础写出系统开发计划、实现流程及相关问题的实现方法并将两个安全模块实现的关键技术进行封装提供接口方便他人调用同时在开发设计与实现中要保存好相关的设计文挡为后面毕业论文的写作准备材料最后系统开发完毕后进行调试和测试运行做好调试和测试运行的相关记录也为后面的毕业论文的写作准备材料。2 需求分析2.1 口令安全模块部分功能需求用户登录模块用户安全登录模块为用户提供身份验证的入口。用户可以根据自己使用口令的类型选择相应的登录模式登录用户的登录类型根据口令的处理方法不同分为默认类型和一次性类型。口令处理模块为了使口令保存的安全性更高要求用户口令在数据库中不能以明文的方式保存在口令表中。对口令的保存及处理有两种方法一种是默认处理方法即口令经处理后以另外一种方式存在口令表中另一种是一次性口令的处理方法使口令表中的口每进行一次成功的登录口令表中的口令信息都进行相应的变化根据口令的类型调用相应的处理方法来处理口令的。口令注册模块口令注册模块为用户提供口令注册信息。为了增强口令注册的灵活度方便用户使用自己的口令用户可以根据自己的喜好选择注册口令的模式其中口令注册有两种类型一种为默认型一种为一次性口令。用户在一次性口令中可以选择口令的长度、个数等在一次性口令注册成功后生成的一系列口令可以生成一个口令文件为用户查看口令提供了便利。口令更改模块口令更改模块可以为用户提供口令的更改尤其是对使用一次性口令的用户如果他用完了限定的口令可以不用重新注册而再次获得有效的一次性口令。用户可以根据口令的类型按要求输入相关的信息更改自己的口令。2.2 文件安全传输部分功能需求客户端文件安全传输模块客户端文件安全传输模块可以进行文件的选择及上传。用户身份验证成功后可以选择要上传的文件经相应用户的口令加密后再经SSL协议的安全通信密道传递给服务器使文件在传输过程中进行双重保护。服务器端文件接收模块服务器端文件接收模块可以接收客户端发过来的秘密文件。服务器与客户端建立SSL连接成功后接收客户端发送过来的秘密文件并将之保存在服务器端选定的目录里。服务器秘密文件解密模块服务器秘密文件解密模块可以打开秘密文件读取密文中的解密参数并生成相应的解密密钥将密文解密解密后的明文显示在文本框里同时将明文保存在系统自定义的目录里方便接收端对明文进行处理。3 系统方案设计3.1 功能模块流程图为了方便系统方案的设计与功能的开发在方案设计前根据前面的需求分析将系统的功能划分为口令部分功能模块和文件安全传输部分功能模块这两个模块又各自细分为各个小模块各小模块的功能流程图如下(一) 口令部分功能模块流程图登录模块流程图在登录模块中根据需求分析设计了两种登录系统的口令模式一个是默认口令模式一个是一次性口令模式当用户输入用户名及口令后系统首先判断用户选的是默认口令类型还是一次性口令类型如果是默认口令类型则调用系统的默认口令处理方法将用户输入的口令经处理后系统与数据库建立连接连接不成功系统提示出错信息如果连接成功系统将口令处理后的结果跟数据库中口令表里的相应口令信息比较经核对口令信息一致则该用户可进入文件安全传输模块进行操作否则提示出错信息要求用户重新验证口令。登录模块流程图如图1所示。默认注册模块流程图在默认注册模块中用户输入用户名及口令。系统调用口令处理方法接着连接数据库连接成功则将口令信息与数据库里的记录比较如无重复则将口令及用户名写入数据库并提示注册成功如果写入数据库失败则报失败提示。默认注册模块流程图如图2。一次性口令的注册模块流程图在一次性口令注册模块中用户输入用户名、口令长度、口令个数及口令。系统调用口令处理方法接着连接数据库连接成功则将口令信息与数据库里的记录比较如无重复则将最后生成的一个口令及用户名写入数据库并显示用户要求的口令个数失败则报告失败提示。一次性口令的注册模块流程如图3。默认口令更改流程图一次性口令更改流程(二) 文件安全传输部分功能模块流程图文件传输流程图在文件传输模块中用户首先选择一个要发送给服务器的文件。接着系统发送与服务器建立SSL连接的请求成功后系统调用文件加密方法给文件加密后发送出去发送成功失败都提示相应的消息。文件传输流程图如图6所示。服务器接收文件及处理流程图在服务器接收文件及处理模块中服务器响应客户端发来的SSL连接的请求成功后服务器选一个目录保存密文接收完毕后发送接收成功提示。服务器可以随时解密密文传输流程图如图7。3.2 口令安全模块部分方案设计根据口令部分功能模块流程图口令模块的方案设计主要涉及到两种方式用于口令的认证及处理。两种方式用于口令设计1基于单向函数基于单向函数的方法是计算机存储口令的单向函数值而不是存储口令当用户将口令传给计算机时计算机使用单向函数计算然后把单向函数的运算结果和它以前存储的单向函数值进行比较。由于计算机不再存储口令表所以敌手侵入计算机偷取口令的威胁就减少了。2基于SKEY原理SKEY是进行口令认证方式之一体现了一次性特性它的实现过程如下当用户输入初始口令pass系统计算pass1f(pass)pass2f(pass1)……pass(n1)f(passn)。其中n1为用户要求生成的口令个数系统将passpass1 pass2……passn 这些口令给用户保管而将pass(n1)存在数据库里该用户的名字后面当用户第一次登录时输入用户名和口令passn系统计算f(passn)并把它和数据库里pass(n1)比较如果匹配就证明该用户身份是真的。然后系统将passn 代替pass(n1)。用户将passn作废下次登录时用pass(n-1)以此类推。当用完后重新再获取。以上这两种处理口令的过程中消息摘要的生成是利用MD5算法求得。MD (Message Digest)消息摘要算法是一种单向散列函数是当前最为普遍的哈希算法MD5是第5个版本。对任意长的输入MD5算法都将产生一个128位的输出。MD5算法是按512位进行处理的首先它对输入的数据进行补位使得数据位长度对512求余的结果是448。具体补位操作先补一个1然后补0直至满足上述要求再用一个64位的数字表示数据的原始长度这样数据就被填补成长度为512位的倍数。接着对数据依次按每次处理512位每次进行4轮每轮16步总共64步的数据变换处理每次输出的结果为128位然后把前一次的输出作为下一次数据变换的输入初始值这样最后输出一个128位的杂凑结果。3.3 文件安全传输部分方案设计根据文件安全传输部分功能模块流程图文件安全传输的方案设计主要涉及到在文件传输前用DES加密算法给要传输的文件加密得到一个加密后的密文再将密文通过系统建立SSL协议文件安全传输的安全通道传给密文的接收端。在接收端密文接收成功后接收端可以根据需要将密文解密成明文并自动保存在系统默认目录下。3.3.1 DES加密算法DES是一个分组加密算法它将明文以64位为分组对数据加密。64位一组的明文从算法的一端输入64位的密文从另一端输出。DES是个对称算法加密和解密用的是同一算法(除密钥编排不同以外)。密钥通常表示为64位的数但每个第8位都用作奇偶校验因此密钥真正的长度是56位。整个算法是先经过初始置换IP的处理扰乱数据的原来顺序然后进行16轮迭代运算最后经过初始置换IP的逆置换IP-1得出64位的加密结果。整个算法如图8其中一轮DES如图9所示。3.3.2 SSL协议SSL协议概述SSL协议(Secure Socket Layer安全套接层协议)是基于对称密钥算法和公钥加密算法的加密传输信道的协议位于应用层与传输层之间独立于应用层协议在SSL协议上可加载任何高层应用协议应用程序可使用SSL应用接口为各类客户端/服务器产品提供安全传输服务现已成为保密通信的标准。SSL协议采用RSA, DES等加密技术来实现数据的保密性采用MD5信息摘要算法等来实现数据的完整性使用数字证书进行身份认证。SSL协议体系结构SSL协议是一个中间层协议在OSI模型中SSL介于传输层(如TCP/IP)和应用层之间为应用程序提供了一条安全的网络传输通道提供TCP/IP通信协议数据加密、版本号、会话密钥、数据压缩方法、数据完整性校验算法、客户端与服务器端身份验证等功能。它的主要目标是在两个通信应用之间提供私有性和可靠性。SSL协议的分层模型SSL协议是一个分层的协议共有两层组成。处于SSL协议底层的是SSL记录层协议(SSL Record Protocol它位于可靠的传输层协议(如TCP/IP)之上用于封装高层协议的数据。高层协议主要包括SSL握手协议(SSL HandshakeProtocol)、改变加密约定协议(Change Cipher Spec Protocol)、报警协议(AlertPT’OtOC01)等。其中SSL握手协议允许服务方和客户方相互认证并在应用层协议传送数据之前协商出一个加密算法和会话密钥是SSL协议的核心。SSL主要的工作流程包括网络连接建立与该连接相关的加密方式和压缩方式选择双方的身份识别本次传输密钥的确定加密的数据传输网络连接的关闭。应用数据的传输过程(1)应用程序把应用数据提交给本地的SSL;(2)发送端的SSL根据需要:a)使用指定的压缩算法压缩应用数据;b)使用散列算法对压缩后的数据计算散列值;c)把散列值和压缩数据一起用加密算法加密;(3)密文通过网络传给对方;(4)接收方的SSLa)用相同的加密算法对密文解密得到明文;b)用相同的散列算法对明文中的应用数据散列;c)计算得到的散列值与明文中的散列值比较;(5)如果一致则明文有效接收方的SSL把明文解压后得到应用数据上交给应用层。否则就丢弃数据并向发送方发出警告信息。严重的错误有可能引起再次的协商或连接中断。3.4 数据库的设计在SQL Server 2000数据库系统里利用企业管理器创建一个名为MyDB的数据库并在这个数据库中设计一个表表名为Person这个表用于记录注册用户的用户名、口令信息、一次性口令的有效次数等相关信息用户每次登录系统都要到此表进行身份验证。表的设计如表1所示表Person的说明:ID用户编号类型是整型NAME是用户注册名PASSWORD是主键是口令经过处理后保存的口令处理结果RAND是随机数用于加密传输的文件内容的相关参数之一TIMES是记录一次性口令用户登录的有效次数。4 系统设计与实现4.1 总体结构图根据需求分析及方案设计的结果系统设计与实现的总体结构如图10所示。4.2 与数据库建立连接本系统是使用JDBC-ODBC桥驱动程序连接数据库的JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。首先建立ODBC数据源。ODBC数据源存储了如何与指定的数据建立程序的连接的有关信息。省略4.3 口令认证及存储方式设计本系统口令认证模块的默认口令实现的原理是基于单向函数用MD5算出口令摘要并保存在数据库里以后每次登录都先将口令计算出摘要与数据库里的摘要比较。一次性口令实现原理及身份验证过程是基于SKEY原理每次计算的方法是当用户第一次注册时用MD5计算出口令的消息摘要并从中截取用户要求的口令长度的字符串作为一个口令生成如果用户口要求的口令生成的个数大于1则将这个生成的口令再用MD5计算出口令的消息摘要并从中截取用户要求的口令长度的字符串依此类推计算出用户要求的个数并将最后一个生成的口令存于数据库中当用户用这些口令进行身份验证时就与SKEY的认证过程一样。4.4 数字证书创建在DOS下使用J2SDK提供的keytool工具创建密钥库密钥库名为mykeystore添加一个名为mytest的证书mykeystore密钥库为服务器的密钥库。将mytest证书导出到clienttrust密钥库中。clienttrust密钥库为客户端信任的密钥库。4.5 关键代码说明省略5 测试经过调试后整个系统可以正常运行下面是本系统几个主要功能模块的测试。登录测试在界面中输入用户名和密码再选口令类型此测试的口令为一次性类型所以在类型选择框里选“一次性口令”选好后点“确定”按钮。如果输入的口令经一次性类型处理后得到的结果到数据库里验证成功后则进入图12的文件发送界面。图11 登录界面2. 文件发送测试当用户顺利通过身份验证进入文件发送界面时点击右边的“浏览”按钮即可打开文件对话框选择要发送的文件则选择文件文本框里出现发送的文件路径跟文件名然后再点击下面的“发送”按钮则读入所选的文件内容开始加密并发送文件发送成功后系统提示文件发送成功如图12、图13、图14所示。一次性口令用户注册测试当用户在登录界面的类型框中选择“一次性口令类型”再点击“注册”按钮时则进入“一次性口令”的注册窗口注册用户按要求依次填入相应的注册信息后点击“确定”按钮则开始注册。如果用户注册成功就出现生成相关口令的对话框生成的“一次性口令”在此对话框里显示。点击该对话框的“粘贴”按钮则将生成的“一次性口令”保存在桌面上文件名为key的文本文件里由用户自己保存。方便“一次性口令”用户登入时可以查看。主要过程如图15、图16所示。服务器文件接收测试服务器接收密文的界面运行如下几个主要截图当客户端没有发送密文过来时接收密文界面里密文接收框里的“浏览”按钮是不可用的如图17所示。当客户端有文件发送过来时则密文接收框里的“浏览”按钮呈可用的状态要求接收端选择密文的保存路径在接收端单击密文接收框里的可用“浏览”按钮即可打开文件保存对话框选择密文的保存路径如图18所示保存路径选好后路径文本框里显示密文保存的完整路径然后开始接收并保存密文到指定的路径里当密文接收并保存成功后系统会提示文件保存成功的消息如图19所示。服务器端密文解密测试当点击服务器端密文解密框里的“浏览”按钮时打开文件对话框在打开的文件对话框里选择需要解密的密文。选好后密文解密文本框里显示所选的解密文件的完整路径和密文文件名密文开始解密并将解密后的明文显示在明文文本框里同时还自动将明文保存在系统默认的目录即c盘的SSLfile文件夹里。如图20所示。结 论本论文主要描述了基于JAVA的两个通用安全模块的设计与实现这两个通用安全模块是指口令部分安全模块的设计与文件安全传输部分安全模块的设计。详细的给出了口令保管及认证过程的设计与文件安全传输模块的设计。口令保存及认证这部分主要是防止非法用户通过身份欺诈访问系统资源保证合法用户的利益。本文对口令保管及认证的设计是基于文献[2]提出的理论。在该模块中主要设计并实现了两种口令模式即默认口令模式和一次性口令模式。默认口令模式是基于单向函数。一次性口令模式是基于SKEY原理。文件安全传输模块的设计主要是防止文件在网络上传输时被窃取、篡改等。对这部分的设计主要实现了两个方面的工作一个是在文件传输前利用登录用户的口令对文件进行加密然后与接收端建立SSL协议的安全传输通道由安全通道将文件传输给服务器这样文件在网络上传输是经过二次加密的。增加了文件传输的安全性。当文件传输成功后在接收端可以进行相应的解密。参考文献[1] 徐迎晓.JAVA安全性编程实例[M].北京清华大学出版社2003。[2] 曹天杰张永平苏成.计算机系统安全[M].北京高等教育出版社2003。[3] 陆正武蒋武刘军石正贵.JAVA项目开发实践[M].北京中国铁道出版社2004。[4] 张曜张青郭立山.JAVA程序设计教程[M].北京冶金工业出版社2002。[5] 赖溪松韩亮张真诚.计算机密码学及其应用[M].北京国防工业出版社2001。[6] 汪晓平俞俊李功.精通Java网络编程[M].北京清华大学出版社2005。[7] 张晓东.Java数据库高级教程[M].北京清华大学出版社2004。致 谢省略6、精选500套毕业设计软件源码和配套论文下载500套毕业设计软件源码和配套论文下载提示如果下载链接失效可点击下方卡片扫码自助下载。