课程设计(论文)-基于SSL电子商务网站安全登录系统设计与实现.doc_第1页
课程设计(论文)-基于SSL电子商务网站安全登录系统设计与实现.doc_第2页
课程设计(论文)-基于SSL电子商务网站安全登录系统设计与实现.doc_第3页
课程设计(论文)-基于SSL电子商务网站安全登录系统设计与实现.doc_第4页
课程设计(论文)-基于SSL电子商务网站安全登录系统设计与实现.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

树达学院课 程 设 计 论 文题 目 基于SSL电子商务网站 安全登录系统设计与实现 姓 名 学 号 院 (系) 树达学院(理工系) 专业、年级 08通信工程 指导教师 起止时间 2010.09.15 至 2010.09.30 二一一年九月湖南师范大学课程设计任务书课程设计题目基于SSL电子商务网站安全登陆系统设计与实现作 者 姓 名蒋少军所属院、专业、年级 树达 院 通信工程 专业 2008 年级指导教师邓月明(讲师)设计任务:任务:理解SSL的原理,基于JAVA虚拟机,完成数字证书的生成与提交方法,前后台登录方式的设计;SSL登录的处理。(1) 基于JAVA虚拟机完成数字证书的生成与提交方法(2) 基于JAVA虚拟机完成前后台登录方式的设计(3) 理解SSL的原理(4) SSL登录的处理总体要求: 在切实理解SSL概念的基础上,通过分析电子商务网站安全登陆系统,掌握java虚拟机的操作,完成数字证书的生成与提交方法、完成前后台登录方式的设计。着重理解SSL的原理,最后要进行总结,包括设计心得、展望等。设计原始资料:(1) 精通PKI网络安全认证技术与编程实现(2) 学术期刊:包括期刊论文和学位论文(3) 自己上网查找相关资料完成本设计应具备的环境(软件、硬件):(1)软件环境 Windows操作系统、JAVA虚拟机(2)硬件环境 无各阶段任务安排:第一周选择子任务,查阅资料,进行子系统整体设计。第二周进行嵌入式实验开发系统配置、驱动程序的开发及移植,并进行调测。第三周完成系统设计,撰写课程设计报告。主要参考资料:(1)精通PKI网络安全认证技术与编程实现(2)SSL协议体系结构简述(3)网络安全与保密(4)计算机网络(5)Java开发实战经典六、指导老师联系方式:EMAIL:Tel:目录摘要5一、SSL的原理6二、数字证书的生成与提交方法7三、前后台登录方式的设计9四、SSL登录的处理12设计心得15参考文献16源代码17摘要随着计算机、网络、信息技术的发展和日益融合,互联网Internet己进入我国国民经济和社会生活的各个领域和各个环节,无论是政府机关、工矿企业还是家庭、个人,都可以通过Internet获取资讯,共享信息。Internet的快速发展,也引起电子商务的蓬勃发展。电子商务是在Internet与传统信息技术相结合的背景下应运而生的一种动态商务活动,电子支付系统是电子商务体系的重要组成部分,主要用来解决电子商务中的各交易实体(用户、商家、企业、银行等)间资金流和信息流在Internet上的即时传递及其安全性问题。随着电子商务的快速发展,电子支付系统一直是国内电子商务体系中的薄弱环节,越来越成为制约电子商务发展的一个关键因素。因此,本文着重研究构建一个安全的电子支付系统,以解决电子商务中实时在线的安全支付问题。SSL的原理1、SSL协议基本介绍安全套接层(Secure Sockets Layer,SSL)是网景公司(Netscape)在推出Web浏览器首版的同时,提出的协议。SSL采用公开密钥技术,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。可在服务器和客户机两端同时实现支持,目前已成为互联网上保密通讯的工业标准,现行Web浏览器亦普遍将Http和SSL相结合,从而实现安全通信。此协议和其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。2、SSL协议提供的服务主要有:1)认证用户和服务器,确保数据发送到正确的客户机和服务器; 2)加密数据以防止数据中途被窃取; 3)维护数据的完整性,确保数据在传输过程中不被改变。3、SSL协议工作流程:服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。 用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。 4、SSL协议优势SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议 (例如:Http、FTP、Telnet等等 ) 能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。 数字证书的生成与提交方法1、创建证书Java 中的 keytool.exe (位于 JDKBin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,它们的意思是:CN(Common Name - 名字与姓氏)OU(Organization Unit - 组织单位名称)O(Organization - 组织名称)L(Locality - 城市或区域名称)ST(State - 州或省份名称)C(Country - 国家名称)可以采用交互式让工具提示输入以上信息,也可以采用参数,如:-dname “CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx”来自动创建。如下所示一句采用交互式创建一个证书,指定证书库为 BocsoftKeyLib,创建别名为 TestCertification 的一条证书,它指定用 RSA 算法生成,且指定密钥长度为 1024,证书有效期为 1 年:C:JDK1.4BinKeyStorekeytool -genkey -alias TestCertification -keyalg RSA -keysize 1024 -keystore BocsoftKeyLib -validity 3652.证书的操作1)证书的显示使用如下命令: keytool list keystore BocsoftKeyLib 将显示 BocsoftKeyLib 证书库的的所有证书列表:将证书导出到证书文件,使用命令:keytool -export -alias TestCertification -file TC.cer -keystore BocsoftKeyLib 将把证书库 BocsoftKeyLib 中的别名。 TestCertification 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如:keytool -export -alias TestCertification -file TC.cer -keystore BocsoftKeyLib -storepass 123456 rfc这个命令在命令行中指定了证书库的访问密码,同时指定以可查看编码的方式输出。2)通过证书文件查看证书的信息通过命令: keytool printcert file TC.cer 可以查看证书文件的信息。 也可以在 Windows 资源管理器中双击产生的证书文件直接查看。3)证书条目的删除keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias TestCertification -keystore BocsoftKeyLib,这条命令将 BocsoftKeyLib 库中的 TestCertification 这一条证书删除了。4)证书条目口令的修改使用 -keypasswd 参数,如:keytool keypasswd alias TestCertification keystore BocsoftKeyLib,可以以交互的方式修改 BocsoftKeyLib 证书库中的条目为 TestCertification 的证书。Keytool keypasswd alias TestCertification keypass 654321 new 123456 storepass 888888 keystore BocsoftKeyLib 这一行命令以非交互式的方式修改库中别名为 TestCertification 的证书的密码为新密码 654321,行中的 123456 是指该条证书的原密码, 888888 是指证书库的密码。前后台登录方式的设计1、登录处理页面(login.apsx.cs)登录处理页面的功能是获取SSL登录的证书,读取证书标识查询用户数据库验证用户身份或权限。如果验证为合法用户则设置Session后跳转到用户页面,否则跳转到出错页面。login.apsx.cs的源码如下:2、用户页面(main.apsx.cs)用户页面即合法用户登录后页面,此页面在Page_Load函数添加代码检查Session。如果Session失效则跳转到出错页面。main.apsx.cs的源码如下:3、出错显示页面(err.apsx.cs)此页面为出错显示页面,次页面接收errmsg参数,设置出错提示的信息。err.apsx.cs的源码如下:4、测试功能假如我们把上述页面部署在IIS上,运行的效果如下。(1)以https方式访问login.aspx页面,弹出证书选择框,选择登录使用的证书,如下图所示。(2)登录处理页面即login.aspx.cs代码获取证书信息,确定用户权限。如果是合法用户则跳转到main.apsx页面,否则跳转到err.aspx页面,如下图所示。SSL登录的处理1、SSL登录处理页面(login.jsp)login.jsp主要功能是获得客户端证书,解析证书获得证书标识,然后查询用户库验证用户的身份和权限。如果用户身份合法则设置Session并跳转到main.jsp页面,否则跳转到err.js页面。login.jsp的源码如下2、用户主页面(main.jsp) 用户主页面即为合法用户登录后的页面。该页面主要是检查一下Session,如果Session有效则正常显示,否则跳转到出错页面。 main.jsp的源码如下:3、出错处理页面(err.jsp)出错处理页面主要功能是接收出错信息并提示。err.jsp的源码如下:4、测试代码把上述代码部署在Tomcat服务器上,运行效果如下。(1)以https的方式浏览login.jsp进行登录。选择SSL登录的数字证书,如下图所示:(2)如果登录成功,则跳转到main.jsp页面,如下图所示:设计心得本次我的课程设计是基于SSL电子商务网站安全登陆系统设计和实现,经过本次课程设计的练习,让我对SSL协议有了进一步的认识,知道了SSL协议的定义、工作流程及其原理。通过跟老师的交流,以及老师对我提出的要求,我用java程序生成了一个数字证书。通过老师推荐的资料精通PKI网络安全认证技术与编程实现,我在上面学习了到了前后台登录方式的设计以及SSL登录的处理,这让我对SSL的了解有了更深的认识,使我更加扎实的掌握了有关SSL方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论