基于RSA数字签名技术的电子商务系统毕业论文

 2020-04-04 10:04

摘 要

随着信息化网络的快速发展,人们越来越依赖于互联网,许多现实生活的组成部分已经从线下转换到了线上,比如网络社交、网络办公、网络购物。在现实生活中,我们可以通过约定、协议、证书等方式维护敏感信息的合法性,从而保障信息的安全。但在互联网中,对于信息安全性要求较高的网络应用(如电子商务系统),这些方式显然不能适用。由此,探索开发一款安全性较高的基于数字签名技术的电子商务系统是很有必要的。

本次毕业设计首先利用Javaweb开发技术,参考软件开发流程规范,按照总体设计、详细设计、系统实现、系统测试的开发流程,实现了一个电子商务系统。其次对MD5、RSA、数字签名等相关原理进行了分析、研究,并利用以上原理设计数字签名流程。然后通过安全性分析发现传统数字签名的不足,并对其做出一些改进,形成安全数字签名。最后以电子商务系统为基础,实现了RSA数字签名技术的应用,从而保障了电子商务系统的安全性。

关键词:电子商务;MD5;RSA;安全数字签名;Javaweb

Abstract

With the rapid development of information-based networks, people are increasingly relying on the Internet. Many components of real life have been converted from offline to online, such as online social interaction, online official business, and online shopping. In real life, we can maintain the legitimacy of sensitive information through conventions, agreements, certificates, etc. , and then ensure the security of information. But on the Internet, for network applications that require high information security, such as e-commerce systems, these methods obviously cannot be applied. Therefore, it is necessary to develop an e-commerce system based on digital signature technology with high security.

This graduation project firstly implements an e-commerce system through Javaweb development technology and the software development process specification: overall design, detailed design, system implementation and system testing. Secondly, it analyzes and studies related principles, such as MD5, RSA and digital signature, and then uses the above principles to design the digital signature process. Thirdly, through the security analysis, the deficiency of traditional digital signature is discovered and some improvements are made to form a secure digital signature. Finally, based on the e-commerce system, the application of RSA digital signature technology has been realized, thus ensuring the security of this system.

Key Words: e-commerce; MD5; RSA; secure digital signature; Javaweb

目 录

摘要 I

Abstract II

第1章 绪论 1

1.1 研究背景 1

1.2 目的及意义 1

1.2.1 研究目的 1

1.2.2 研究意义 1

1.3 国内外研究现状 1

1.4 研究目标及内容 2

1.4.1 预期目标 2

1.4.2 研究内容 2

1.5 论文的组织架构 3

第2章 总体设计 4

2.1 开发环境 4

2.1.1 开发工具Eclipse 4

2.1.2 数据库MySQL 4

2.1.3 Tomcat服务器 4

2.2 系统用例分析 4

2.3 功能模块描述 5

2.3.1 后台管理系统功能 5

2.3.2 前台销售系统功能 6

2.3.3 数字签名模块 8

2.4 系统业务流程图 8

2.4.1 后台功能流程图 8

2.4.2 前台功能流程图 10

2.5 数据库总体设计 11

第3章 详细设计 12

3.1 系统开发技术 12

3.1.1 J2EE 12

3.1.2 JSP 12

3.1.3 Servlet 12

3.2 数据库详细设计 12

3.2.1 概念模型设计 12

3.2.2 逻辑模型设计 13

3.2.3 数据库表结构 15

3.3 系统时序图 18

3.3.1 后台管理系统时序图 18

3.3.2 前台销售系统时序图 20

3.4 数字签名详细设计 23

3.4.1 数字签名相关原理 23

3.4.2 传统数字签名 24

3.4.3 安全数字签名 25

第4章 系统实现 27

4.1 后台功能模块 27

4.1.1 用户管理 27

4.1.2 商品管理 29

4.1.3 订单管理 30

4.1.4 管理员管理 30

4.1.5 系统管理 31

4.2 前台功能模块 31

4.2.1 登录/注册 31

4.2.2 个人资料 32

4.2.3 商品展示 33

4.2.4 购物车 34

4.2.5 商品购买 35

4.3 数字签名的实现与分析 36

4.3.1 安全数字签名实现 36

4.3.2 银行端模拟验证 36

4.3.3 数字签名系统的安全性分析 38

第5章 系统测试 39

5.1 单元测试 39

5.2 集成测试 40

5.3 测试报告 40

5.3.1 后台管理系统测试报告 40

5.3.2 前台销售系统测试报告 42

第6章 结束语 45

参考文献 46

致 谢 47

第1章 绪论

1.1 研究背景

随着经济和互联网的快速发展,网上购物逐渐渗透到人们日常生活中,改变着我们的生活方式。在商业方面,电子商务系统也成为了新的商业模式,是提高贸易往来效率、降低贸易成本的有效途径。在电子商务快速崛起并成为引领商业活动的一种趋势的同时,互联网信息的安全性和保密性存在的潜在风险引发越来越多的关注和公众舆论,人们担心个人信息、交易活动甚至银行卡信息被不法分子随意窃取并利用。在实际工作和生活中,我们一般采用签订协议、批复文件这样的手写签名确认方式,这种方式受到法律保护,在一定程度上保障了信息的安全性。但在互联网中这种方式显然不再适用,所以我们提出了如何实现数字签名的问题。

为了保障电子商务系统信息的安全性,可以利用数据加密和数字签名技术。数字签名是用来线上确认签名的方式,通过数字签名技术可以保证数据的完整性、信息的保密性及不可否认性等等,是解决电子商务系统安全性的有效方法和重要组成部分。

1.2 目的及意义

1.2.1 研究目的

随着网络数据共享性越来越高,电子商务贸易过程中的信息安全问题越来越突出,人们对日常生活中使用的电子商务系统提出了更高的安全性要求。如何将更完善的数字签名技术应用到电子商务系统成为我们亟需要解决的问题,所以开发一款信息安全程度较高、有更健全的可信制度的电子商务系统就显得刻不容缓。

1.2.2 研究意义

现今互联网极大地提高了市场交易的时间和空间,促进了市场经济的活力和快速发展,创造了更多的就业机会,市场需求也大大增加。在国际贸易竞争日渐激烈的情况下,谁可以抓住电子商务快速发展的机遇,谁就可以在贸易竞争中占得有利优势。而且电子文档在高度信息化网络中的完整性、保密性和不可否认性为信息安全保驾护航的同时,也决定了信息化的进一步推广。总之,更好地保障电子商务系统的安全性可以带给很多商业机构无限商机,提高企业的竞争实力。

因此在这样的背景下,对电子商务系统的信息安全方向进行更深入的研究有着重要的的社会意义和经济意义。

1.3 国内外研究现状

1976年,密码学专家Diffie和Hellman在《密码学新方向》一文中首次提出数字签名概念和公开密钥密码体制的思想[1],开创了现代密码学的新领域。第一个数字签名方案是由Rivest,Shamir和Adleman在1978年提出的。经过四十年的发展,数字签名在理论及应用上都有了更完善的技术[2]

1999年6月,美国总统克林顿以数字签字的方式签署了《全球与国家商务中的电子签字法》,直接从联邦政府的层面对州法的未达之处包括洲际和国际贸易作了规范[3]。2004年8月,第十届全国人民代表大会常务委员会第十一次会议通过《中华人民共和国签名法》,并于2005年4月1日开始实施。这些法律的实施规范了数字签名的应用,为数字签名技术的广泛应用提供了法律上的保障[4]

2000年Aarhus大学Ronald Cramer在ACM上发表”Signature Schemes Based on the Strong RSA Assumption”一文,在强RSA假设下,描述并分析了一个新的数字签名方案[5]。2006年Chik How Tan在ACM上发表”A Secure Signature Scheme”一文,研究并设计了一类带有安全证明的签名方案,同样基于强RSA假设,使得签名更加高效[6]。2007年祝洪杰在山东轻工业学院学报上发表《数字签名技术在电子商务系统中的应用》一文,提出了基于公钥加密的数字签名技术,并用Java语言实现了数字签名实验系统[7]。2013年李君茹在软件导刊上发表《RSA数字签名技术在电子商务中的应用》一文,介绍了RSA加密算法及数字签名技术在电子商务上应用[8]。2013年Jérôme Dossogne在ACM期刊上发表”Secure and practical threshold RSA”一文,描述了一种使用阈值机制来输出RSA签名的方案[9]。2015年Zhen Jiu Xiao在Trans Tech期刊上发表”Improved RSA Algorithm and Application in Digital Signature”一文,将RSA算法在结构和操作上有所改进,并应用到数字签名上[10]

1.4 研究目标及内容

1.4.1 预期目标

实现基于web的电子商务系统,关键是利用RSA非对称加密算法和MD5摘要算法实现商品交易中的数字签名认证,旨在为系统提供更安全的信息保障。

1.4.2 研究内容

用户登录电子商务系统,挑选需要购买的商品加入购物车并点击购买,系统将交易数据及签名结果形成密文发送给银行,银行完成对用户的身份认证和转账业务,并将转账结果发送给用户和商家,交易完成。

三方的电子商务系统[11]结构图如图1.1所示。

图1.1 三方的电子商务系统结构图

1.5 论文的组织架构

鉴于毕业设计研究目标与内容,本文是从系统开发与实现的角度对毕业设计进行描述和总结的应用型论文。论文主线是软件开发流程:总体设计→详细设计→系统实现→系统测试,主要内容涉及两大部分:电子商务系统及数字签名实现,着重强调数字签名技术在电子商务中的应用以及改进方案。以下是本文的章节安排:

第1章绪论:对课题研究的背景、目的和意义、国内外研究现状以及课题研究内容、预期目标等进行论述;

第2章总体设计:对系统进行总体设计工作,包括开发环境的设计、用例分析、系统功能结构、系统主要功能的业务流程设计及数据库的总体设计;

第3章详细设计:基于总体设计,将系统设计工作细化,为系统开发奠定基础。其中包括数据库的详细设计、系统时序图描述、数字签名的详细设计;

第4章系统实现:从系统的三个模块描述毕业设计的成果,并对数字签名部分做具体分析。其中包括后台管理模块实现、前台销售模块实现、数字签名的实现与分析;

第5章系统测试:对系统做测试工作,保障系统的有效运行。其中包括单元测试、集成测试、编写测试报告;

第6章结束语:对本文进行全面总结,并对课题发展方向做出展望。

第2章 总体设计

2.1 开发环境

2.1.1 开发工具Eclipse

Eclipse用于通过插件组件构建Java集成开发环境且源代码开放。Eclipse有着包括Java开发工具JDK在内的标准的插件集,在J2EE的开发及整合应用程序服务器中利用Eclipse可以极大地提高系统的工作时间和质量。

2.1.2 数据库MySQL

MySQL是可以用于Web应用中的关系型数据库管理系统软件。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言,且MySQL具有体积小、速度快、源码开放等特点,非常适合小型应用系统开发。

2.1.3 Tomcat服务器

Tomcat是一款免费的Web轻量级应用服务器,支持最新的Servlet和JSP规范。Tomcat服务器具有技术先进、性能稳定、开源等优点。在中小型系统和并发访问用户不是很多的场合下被普遍使用,深受Java爱好者喜爱,经常用于开发和调试JSP程序。

2.2 系统用例分析

系统用例分析可以描述系统参与者与哪些功能有关、系统参与者希望系统提供什么样的服务,以及所有参与者需要为系统提供的服务。系统用例分析是需求分析到最终实现的第一步。

电子商务系统参与者分为两类:用户和管理员。前台销售系统参与者为用户,后台管理系统参与者是管理员,两者在两个不同系统中与多个用例有着关联关系。系统用例图如图2.1所示。

图2.1 系统用例图

2.3 功能模块描述

该电子商务系统定位为“三味书屋”书店系统,主要实现书籍的销售与购买,由后台管理系统和前台销售系统组成。系统功能结构图如图2.2所示。

图2.2 系统功能结构图

2.3.1 后台管理系统功能

1、功能概述

后台管理系统是为了有效管理用户信息、商品信息、管理员信息,提供增删改查等操作,维护后台数据以保障前台销售系统的正常运作。其主要功能包括用户管理、商品管理、订单管理、管理员管理及系统管理。其功能结构图如图2.3所示。

图2.3 后台管理系统功能结构图

2、功能说明

(1)用户管理

为管理员提供管理用户信息功能,包括新增用户、删除用户、查看用户三项子功能。查看用户可以浏览用户详细信息、删除信息。

  1. 商品管理

为管理员提供管理商品信息功能,包括新增商品、删除商品、查看商品三项子功能。查看商品可以浏览商品详细信息、删除信息。

  1. 订单管理

设有查看订单的功能,将数据库中所有订单信息显示在系统中,供管理员浏览。

  1. 管理员管理

管理员管理模块只有超级管理员可以使用,设有添加管理员和查看管理员两项子功能。查看管理员可以浏览管理员详细信息、删除管理员。

  1. 系统管理

设有修改密码的功能,当前管理员可以通过系统管理重置登录密码。

2.3.2 前台销售系统功能

1、功能概述

前台销售系统即商品销售和购买平台,将后台数据库添加的商品信息展示出来供用户浏览、选择,完成买家和卖家的交易活动。其主要功能包括登录/注册、个人资料、商品展示、购物车、商品购买及数字签名。其功能结构图如图2.4所示。

图2.4 前台销售系统功能结构图

2、功能说明

(1)登录/注册

用户注册方式分为两种:手机号注册和邮箱注册,输入手机号或邮箱、密码及验证码即可注册,注册成功后将自动跳转到登录界面。用户登录需要输入账号和密码,登录成功后跳转到系统首页。

  1. 个人资料

系统为用户提供个人资料完善功能,用户可以浏览和修改个人信息,以便交易活动中的重要信息(如手机号、收货地址等)可以及时更新。

  1. 商品展示

商品展示是将商品信息以菜单、列表、搜索等方式展现给用户,供用户浏览、选择。主要包括以下方式:

  1. 在系统首页菜单栏中按书籍类型显示,点击某一类型可以查询到同类别书籍;
  2. 在系统首页“最新商品”列表中按上架时间先后显示;
  3. 在系统首页“最热商品”列表中按销量高低显示;
  4. 在系统首页搜索栏中模糊搜索商品;
  5. 点击商品查看详细信息。
  6. 购物车

用户可以在“商品详情”中选择商品加入购物车,在“我的购物车”中可以查看购物车信息。在个人主页中点击“购物车”也可以进入购物车页面。购物车页面提供了购买和删除商品的功能,用户可以删除购物车中不愿意购买的商品。

  1. 购买商品

用户在对商品进行选择后,可以购买商品。“购买商品”功能体现在系统的两个部分:商品详情页面及购物车页面。在商品详情页面,用户可以对某一个商品进行购买;在购物车页面,用户可以选择购买多个商品。点击购买后,系统会要求输入密码,确认购买即可将商品加入订单列表。订单列表显示的是用户购买的所有商品信息,包括订单编号、价格、数量、订单状态等。

2.3.3 数字签名模块

在前台销售系统中,不涉及安全性的“购买商品”功能流程如下:用户点击购买→数据库获取商品信息→修改数据库→新增订单→交易完成。这种方式不能确保交易数据的完整性、信息传输的保密性及不可否认性。所以在该系统中,着重实现了电子商务系统的数字签名模块,以保障交易过程的安全性。

RSA数字签名技术将应用到“三味书屋”电子商务系统的“购买商品”功能中,用户即发送方,后台模拟银行端即接收方。结合RSA数字签名原理,用户(发送方)点击购买商品后,系统将获取购买商品的交易信息,打包成数据包,在前台系统中生成数字签名并发送到银行端(接收方)。银行端(接收方)由后台和数据库模拟实现,收到数字签名和数据包后,将对签名进行验证。若签名有效,则根据数据包中信息修改数据库并添加订单,交易完成;若签名无效,交易失败,提示错误信息。

2.4 系统业务流程图

系统业务流程图可以提供系统简洁扼要的“缩略图”,帮助快速了解系统某项业务是怎样运转的,其具体处理过程是什么。根据上述系统功能结构图,以下是对系统组织的业务及其执行过程进行详细的业务流程分析,主要是跨职能流程分析。

2.4.1 后台功能流程图

(1)用户管理

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 49元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,微信号:bysjorg 、QQ号:3236353895;