小型B2C支付系统设计与研究_第1页
小型B2C支付系统设计与研究_第2页
小型B2C支付系统设计与研究_第3页
小型B2C支付系统设计与研究_第4页
小型B2C支付系统设计与研究_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、小型b2c支付系统设计与研究摘 要随着互联网的迅速发展与流行,电子商务是近年来普遍受到人们关注的焦点。网上支付系统是电子商务交易的核心,安全电子支付是安全体系中最为复杂和最为核心的环节,涉及到用户、商家与银行等重要金融部门的交互和接口,因此从实际应用的角度,研究与设计提供一个安全可靠、方便实用的电子商务安全支付系统具有非常重要的意义。b2c是英文business-to-consumer(商家对客户)的缩写,而其中文简称为“商对客”。“商对客”是电子商务的一种模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。b2c网站支付平台的出现符合电子商务的发展需要,也是网上支付业务创新的具体表现

2、形式之一,b2c网站支付平台本身依附于大型的门户网站,且以与其合作的银行的信用作为其信用依托,因此b2c网站支付平台能够较好的突破网上交易中的信用问题,有利于推动电子商务的快速发展。本系统采用了b/s架构,结合mvc模式,综合利用ssl安全协议,对支付系统的安全性进行了研究,提出了网上银行安全支付系统的方案设计模型,包括支付系统的总体设计、工作流程设计和功能设计等,最后着重介绍了支付系统商家与银行间接口的设计与实现。【关键词】电子商务 电子支付 b2c ssl协议abstractalong with the rapid development and popular of internet ,

3、we expect do more jobs through internet. in the latest years,people begin to focous on electronic commerce. online payment system is the core of electronic commerce transaction,its cruel to provide a kind of online payment system which is safe、reliable、convenient and applied.during the security syst

4、em, security electronic payment is the most complicated and key factor,including the mutuality and interfaces of some significant financial departments such as users、bussinessman 、banks and so on.thus,in the view of practical application, researching and designing the security payment of electronic

5、commerce which is expansible、high reliability and commonality becomes have significant meaning. b2c is the abbreviation for business-to-consumer, business-to-consumer is a model of e-commerce. also is commonly called commercial retail sales, directly facing the consumer products and services. b2c we

6、bsite payment platform appear accord with the development of e-commerce, and also the need online payment business innovation concrete forms one. b2c website payment platform itself attached to large web portal, and to work with the bank credit as its credit rely on, therefore b2c sites payment plat

7、form to better the credit question breakthrough online transactions, facilitates the e-commerce development this system use a b/s structure, combined with the mvc pattern, the comprehensive utilization of ssl security agreement, for pay the security of the system was discussed.then the bank on the n

8、et security payment system design model, including payment system of the overall design, workflow design and function design, finally introduces emphatically the payment systems business and bank indirect mouth of design and implementation.【key words】electronic commerce electronic payment business-t

9、o-consumer secure sockets layer目 录第一章绪论6第一节课题研究背景6第二节电子商务的概念和分类6一、电子商务的概念7二、电子商务的分类7第三节电子支付8一、电子支付的安全性要求8二、国内外研究现状8第四节 本文主要内容和组织结构9第二章b2c支付系统及ssl 协议10第一节 b2c支付系统的定义10第二节b2c网站支付系统模式10一、b2c网站运行模式10二、b2c网站支付模式11第三节 b2c支付系统的特点11第四节 ssl协议技术分析12一、ssl协议简介12二、基于ssl的电子支付系统13第五节 本章小结15第三章b2c支付系统的总体设计16第一节 系统的

10、总体结构设计16第二节 系统功能模块设计17一、系统模块划分17二、系统用例设计20第三节 支付系统工作流程设计20一、支付系统交易流程20二、支付系统的工作流程21第四节 系统框架设计23一、系统层次划分23二、系统网络部署23三、硬件部署图设计24四、功能组件设计24第五节 系统数据库选型分析25一、根据数据量确定服务器选型25第四章b2c支付系统的实现28第一节 mvc设计模式28第二节 数据库的实现30一、 数据字典的设计30二、 数据库安全性设计33第三节 系统安全性34第五章系统运行与测试37第一节 系统运行环境37为了保证系统的正常运行,需要为系统提供以下运行环境:37一、客户端

11、要求37二、服务器端要求37第二节 系统运行效果37第三节 系统测试39一、 系统测试的定义39二、 系统测试方案与策略39三、系统测试流程及测试用例39结 论47致 谢48参考文献49附 录50一、源程序:50第一章 绪论第一节 课题研究背景近年来随着信息技术和internet的飞速发展,越来越多的人开始利用网络了解发生在世界各地的新闻或进行学习、娱乐,同时也可以借助网络进行证券交易、购物等商务活动。金融业务的电脑化、支付系统的电子化将大大地促进金融和商务的发展,为金融机构、生产销售商家以及社会个人提供方便灵活的交易形式,代表着金融发展的方向,这就是我们所说的电子商务。电子商务作为网络经济时

12、代的商务模式,日益深刻地改变着我们的生活,改变着传统的商务活动模式,其作用可以与工业革命对经济发展的促进相媲美,并将成为21世纪人类信息社会的核心。在复杂且庞大的电子商务系统工程中,电子支付是最核心、最关键的环节,是交易双方实现各自交易目的的重要一步,也是电子商务得以进行的基础条件。网上商店是目前一种比较常见的b2b或者b2c方式,电子商务的优势在于给交易的双方(或多方)会降低了成本,对于卖方而言它可以提高销售量,降低销售成本,对于买方而言它提供了更多商品选择的空间,节省了购买者路途所花的时间和金钱。用户只需要在家里,打开电脑,连接互联网,然后就可以轻松选购他喜欢的商品.同时网上商店还提供商品

13、的图片,这样就更加方便顾客选购,尤其是对于残疾人,出门不方便,在网上购物是他理想的选择。 电子商务是基于开放网络环境下的商务形式,这带来了一系列的问题。开放程度越高,网络安全及支付安全问题就越凸现出来。因此构建一种能够一定程度上保证数据传输的完整性、有效性和安全性的支付系统显得尤为重要。而本系统恰恰在这种背景下应运而生,很好的解决了网络电子安全支付的问题。第二节 电子商务的概念和分类internet的快速发展,特别是web技术的广泛应用,不仅使它具有通信和交换信息的功能,还开辟了一种商业交易方式,即在网上进行商业交易,实现电子交易处理。一、 电子商务的概念人们通常把基于internet平台进行

14、的商务活动统称为电子商务,英文为e-commerce或ec。1997年,国际商会在法国首都巴黎举行了世界电子商务会议,从商业角度提出了电子商务的概念,即电子商务是指实现整个商业贸易活动的电子化。这里的电子化主要是指应用internet作为商务平台。电子商务从涵盖范围方面可以认为指交易各方以电子交易方式,而不是通过当面交换或直接面谈方式进行的任何形式的商业交易;从技术方面可以说是一种多技术的集合体,包括交换数据、获得数据以及自动捕获数据等。电子商务的流程主要包括商务信息交换、售前售后服务、网络销售、网上支付、商品配送等。在国际电子商务的实践中,人们通常是从狭义和广义两个层面上来理解电子商务的。从

15、狭义上理解,电子商务就是企业通过业务流程的数字化、电子化与网络化实现产品交易的手段.从广义上理解,电子商务泛指基于internet的一切与数字化处理有关的商务活动。二、 电子商务的分类按照商务交易对象的性质,电子商务可分为四类。(1)企业对消费者(也称商家对个人客户或商业机构对消费者,即b2c)的电子务。基本上等同于电子零售商业,即网上商店或称在线零售商店,网上商店为消费者提供各式各样的网上实时服务如商品信息查询、产品支持、实时财经信息指导、售前售后服务、网上订货、网上支付等。(2) 企业对企业(或称商家对商家,即b2b)的电子商务。指商业机构(企业、公司)使用internet或各种商务网络向

16、供应商(企业或公司)谈判、订货、签约、接受发票和付款及索赔处理、商品发送管理和运输追踪等。(3) 企业对政府机构的电子商务(可称为b2g)政府一政府机构的电子商务可以覆盖公司与政府组织间的许多事务。(4) 消费者对政府机构的电子商务,政府可以利用网络进行福利发放,自我估税及个人税收征收等各项活动。第三节 电子支付一、 电子支付的安全性要求人们在进行电子商务活动时涉及到很多的敏感信息,如身份、信用卡号和密码等,这些信息不能泄漏给其他人,否则就有可能出现资金丢失等非常严重的问题。安全性要求防止静态信息的非法存取和动态信息的非法截取。电子支付的安全性主要有以下几方面的要求:1) 完整性(integr

17、ity):完整性指信息在存储或传输时不被修改、破坏和丢失,以保证合法用户能接收和使用真实的信息。这在电子商务中是非常重要的,只有保证信息的完整性,才能正常地进行商务活动,否则会引起极大的混乱。2) 数据保密性(confidentiality):电子商务是建立在一个开放的网络环境internet上的,许多要传递的数据信息都是一些敏感信息,如账户、密码等私有信息。如果这些信息以明文的方式传输,有可能被非授权的第三方窃取,而导致信息泄漏。3) 身份的真实性(verification of identity):在交易信息的传输过程中,要为参与交易的各方提供可靠的标识,使他们能正确地识别对方并能互相证明

18、自己的身份,这可以有效地防止网上交易的欺诈行为。身份认证在电子支付中是非常重要的,只有交易各方能正确地识别对方,人们才能放心地进行交易。4) 不可否认性(non-repudiation of disputed charges):为了保证交易能合法有效地进行,必须防止交易各方日后不能否认发出过或接收过某信息。发送方不能否认曾经发送过某条信息如订单信息,接收方也不能否认接收到了某条信息,这对于电子商务也是很重要的。二、 国内外研究现状随着当前国际上对网络安全技术的不断深入研究和发展,我国的密码学领域也开始活跃起来。但由于国外主流的电子商务安全协议在核心密码算法上都有出口限制,而且协议源代码不公开,

19、根本无法满足我国电子商务实际应用的安全需求。而完全自主定义和开发一套安全标准体系需要较大人力、财力和物力的长期投入。目前,计算机技术及银行信用卡的不断普及,让越来越多的人有用银行信用卡进行在线交易的需求。在西方国家,信用卡网络支付方式是应用最广的,现已投入实际应用的信用卡系统有:cybercash和first virtual holding,电子支票系统有:e-check、netbill、netcheque等。有用于跨行的资金转帐汇兑系统,如联邦储备通信系统fedwire(federal reserve communication system), bankwire:非营利性的私营的电子汇兑系

20、统,swift (society worldwide interbank financialtelecommunication):金融信息通信系统。有资料统计,2001年,美国个人购物的50%左右是在网络上进行的,而这些网络交易销售额的80%又是用信用卡进行网络支付的。在西方其他国家的情况也与美国差不多,特别是在瑞士等银行发达的国家。一些新兴国家,如韩国、新加坡的网络支付方式发展得也不错。在我国,电子商务虽然是个新兴的行业,但其发展速度是相当惊人的,市场前景相当可观。但在电子商务发展的同时,网络交易安全问题却成为了电子商务中网络交易发展的瓶颈。针对这一现状,国内外计算机安全研究领域都已全力投入

21、到研究保护网络交易安全的措施中。但由于目前较为成功的交易协议ssl及set在协议出口的同时被一些国家进行了出口限制,其安全强度大为降低。故国内大量科研机构及企业利用ssl协议较好的源码开放性,实现了网络交易过程的通信安全保障。在认证企业中,北京国富安电子商务安全认证有限公司就是较为典型的公司,该公司利用pki技术体系,采用x.509等国际标准,结合经国密办认可的pki加密设备推出了具有全部自主知识产权的数字证书和密钥管理系统。像国富安一类的公司在国内各大主流商贸城市已经有了较多,它们为我国的政府,经济、贸易业的安全、持续、稳定的发展作出了巨大的贡献。它们对我国信息网络安全及电子商务的发展有着举

22、足轻重的作用。它们的出现,对我国信息网络安全事业起着极大的推进作用,为电子商务的持续发展铺平了道路。第四节 本文主要内容和组织结构本文主要根据ssl协议和set协议的特点、b2c在线支付发展状况以及安全性要求进行了详细的分析,建立了一种基于ssl安全协议的通用b2c安全支付平台集成模型,并构建了一个具有可扩展性、高可靠性以及通用性的b2c电子商务安全支付系统。论文的组织结构如下:第一部分,介绍了选题的意义及背景,简单介绍了电子商务的基本概念,并且对电子支付的安全性要求以及国内外研究现状做了简单描述。第二部分,对ssl协议和set协议及其特点做了详细介绍。 第三部分,介绍了基于ssl 的在线支付

23、系统的总体设计。第四部分,系统实现。第五部分,系统运行与测试。第六部分,提出了系统的不足及改进方案,对本次毕业设计做了总结。第二章 b2c支付系统及ssl 协议第一节 b2c支付系统的定义b2c网站支付平台是买卖双方在交易过程中的资金“中间平台”,是在银行监管下保障交易双方利益的独立机构。在通过b2c网站支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达、进行发货;买方检验物品后,通知付款给卖家,第三方再将款项转至卖家账户。作为网络交易的监督人和主要支付渠道,b2c网站支付平台给我们提供了更丰富的支付手段和可靠的服务保证。相对于其它的资金支付结算方

24、式,b2c网站支付可以比较有效地保障了货物质量、交易诚信、退换要求等环节,在整个交易过程中,都可以对交易双方进行约束和监督。在不需要面对面进行交易的电子商务形式中,b2c网站支付为保证交易成功提供了必要的支持,因此随着电子商务在国内的快速发展,b2c网站支付行业也发展迅猛。2001年我国b2c网站网上支付平台市场支付规模是1.6亿元人民币,2004年增长到23亿元,2007年第二季度已达140亿元,目前活跃在网上支付市场的第三方网上支付平台有支付宝、首信易支付、腾讯财富通、环迅、网银在线、云网、上海快钱、 yeepay,汇付天下等五十余家。第二节 b2c网站支付系统模式一、 b2c网站运行模式

25、b2c网站支付使商家看不到客户的信用卡信息,同时又避免了信用卡信息在网络多次公开传输而导致的信用卡被窃事件。b2c网站支付一般的运行模式为:(1)、消费者在电子商务网站选购商品,最后决定购买,买卖双方在网上达成交易意向。(2)、消费者选择利用b2c网站支付平台作为交易中介,用借记卡或信用卡将货款划到三方账户,并设定发货期限。(3)、b2c网站支付平台通知商家,消费者的货款已到账,要求商家在规定时间内发货。(4)、商家收到消费者已付款的通知后按订单发货,并在网站上做相应记录,消费者可在网站上查看自己所购买商品的状态;如果商家没有发货,则b2c网站支付平台会通知顾客交易失败,并询问是将货款划回其账

26、户还是暂存在支付平台。(5)、消费者收到货物并确认满意后通知b2c网站支付平台。如果消费者对商品不满意,或认为与商家承诺有出入,可通知b2c网站支付平台拒付货款并将货物退回商家。(6)、消费者满意,b2c网站支付平台将货款划入商家账户,交易完成;消费者对货物不满,b2c网站支付平台确认商家收到退货后,将该商品货款划回消费者账户或暂存在第三方账户中等待消费者下一次交易的支付。二、 b2c网站支付模式纵观国内当前经营状况相对较好的b2c网站支付平台企业主要基于以下两种经营模式:1、支付网关模式b2c网站支付平台将多种银行卡支付方式整合到一个界面上,充当了电子商务交易各方与银行的接口,负责交易结算中

27、与银行的对接,消费者通过b2c网站支付平台付款给商家,b2c网站支付为商家提供一个可以兼容多银行支付方式的接口平台。2、中介模式为了增强线上交易双方的信任度,更好的保证资金和货物的流通,充当信用中介的b2c网站支付服务应运而生,实行“代收代付”和“信用担保”。交易双方达成交易意向后,买方须先将支付款存入其在支付平台上的账户内,待买家收货通知支付平台后,由支付平台将买方先前存入的款项从买家的账户中划至卖家在支付平台上的账户。这种模式的实质便是以支付公司作为信用中介,在买家确认收到商品前,代替买卖双方暂时保管货款。第三节 b2c支付系统的特点b2c在线支付系统主要有以下几个特点: b2c网站支付平

28、台采用了与众多银行合作的方式,从而大大地方便了网上交易的进行,对于商家来说,不用安装各个银行的认证软件,从一定程度上节约了成本和简化了操作流程; b2c网站支付平台作为中介方,可以促成商家和银行的合作。对于商家,第三方支付平台可以降低企业运营成本;对于银行,可以直接利用第三方的服务系统提供服务,帮助银行节省网关开发成本; b2c网站支付平台能够提供增值服务,帮助商家网站解决实时交易查询和交易系统分析,提供方便及时的退款和止付服务; b2c网站支付平台可以对交易双方的交易进行详细的记录,从而防止交易双方对交易行为可能的抵赖以及为在后续交易中可能出现的纠纷问题提供相应的证据。总之,第三方支付平台是

29、当前所有可能的突破支付安全和交易信用双重问题中最理想的解决方案。第四节 ssl协议技术分析如何保证使电子商务的各参与方弄够安全、有序、快捷地完成网上支付,需要一个协议来规范各方的行为与各种技术的应用。目前国际上有代表性的是ssl 与set 两种安全交易协议机制。下面主要对基于ssl协议的安全支付模型进行分析。一、 ssl协议简介ssl 安全协议是国际上最早应用于电子商务的一种网络安全协议,至今仍然有许多网上商店在使用。ssl 安全协议主要目的是提供互连网上的安全通信服务,提高应用程序之间的数据的安全系数。该协议向基于tcp/ip 的客户/服务器应用程序提供了客户端和服务器的鉴别、数据完整性及信

30、息机密性等安全措施。ssl 安全协议主要提供三方面的服务: 认证用户和服务器的合法性认证,使得它们能够确信数据将被发送到正确的客户机和服务器上; 加密数据以便隐藏被传送的数据; 维护数据的完整性,确保数据在传输过程中不被改变。ssl协议是一种保护web通讯的工业标准,是基于强公钥加密技术以及rsa 的专用密钥序列密码,能够对信用卡和个人信息、电子商务提供较强的加密保护。ssl在建立连接过程上采用公开密钥,在会话过程中使用专有密钥。在每个ssl 会话(其中客户机和服务器都被证实身份)中,要求服务器完成一次使用服务器专用密钥的操作和一次使用客户机公开密钥的操作。ssl 在客户机和服务器开始交换一个

31、简短信息时提供一个安全的握手信号。在开始交换的信息中,双方确定将使用的安全级别并交换数字证书。每个计算机都要正确识别对方。如果客户机没有证书也没关系,因为客户机是发送敏感信的一方。而客户机正与之交易的服务器应有一个有效的证书,否则客户机就无法确认这个商务网站是否与其声称的身份相符。确认完成后,ssl 对在这两台计算机之间传输的信息进行加密和解密。这将意味着对http 请求和响应都进行加密。所加密的信息包括客户机所请求的url、用户所填的各种表(如信用卡号)和http 访问授权数据(如用户名和口令)等。简而言之,ssl 支持的客户机和服务器间的所有通讯都加密了。在ssl 对所有通讯都加密后,窃听

32、者得到的是无法识别的信息。由于ssl 处在互联网协议集中tcp/ip 层的上面,除http 外,ssl 还可对计算机之间的各种通讯都提供安全保护。例如,ssl 可为fpt 会话提供安全保护,支持敏感的文档。ssl 能保证telnet 会话的安全,此会话中远程计算机用户要登录公司主机并传输口令和用户名。实现ssl 的协议是http 的安全版,名为 https。在url 前用https 协议就意味着要和服务器之间建立一个安全的连接。ssl 有两种安全级别:40 位和128 位。这是指每个加密交易所生成的私有会话密钥的长度。会话密钥是加密算法为在安全会话过程中将明文转成密文所用的密钥。密钥越长,加密

33、对攻击的抵抗就越强。美国政府批准可以出口较短的48 位密钥,但不允许128 位密钥的出口。你可根据互联网explorer 和netscape 浏览器状态条上锁头的开关来判别浏览器是否进入了ssl 会话。如果未进入,则锁头处于打开状态。一旦会话结束,会话密钥将被永远抛弃,以后的会话也不再使用。二、 基于ssl的电子支付系统ssl协议在应用层收发数据前,协商加密算法、密钥并进行认证,为应用层提供了安全的传输通道;在该通道上可透明加载任何高层应用协议,保证了应用层传输的安全性。ssl 协议实现简单并且独立于应用层协议,同时它还被大部分的浏览器所内置,因此便于在电子交易中应用。在电子商务中,采用ssl

34、协议的电子支付系统的应用框架如图2.1。图2.1 ssl的应用框架示意图下面以国际上流行的信用卡网上支付为例,当采用sls 安全协议机制时,可描述其网上支付流程中技术细节如下: 客户机 ie器向银行服务器发送客户端的ssl本号、密码设置、随机生成的数据和需要服务器使用ssl协议与客户机通信等需要的其他信息(浏览器使用htps 协议向服务器申请建立ssl会话). 服务器向客户机发送服务器端的ssl版码设置随机生成的数据和客户机使用ssl协议与服务器通信所需要的其他信息。服务器端也发送它自己的数字证书供客户认证,如果认为客户端需要身份认证要求客户发送证书(可选)。 客户端利用服务器发送信息,如数字

35、证书认证服务器的真实身份并取得公开密钥等。若服务器不能被认证,用户被警告发生了问题,通知不能建立加密的和认证的连接。若服务器能被成功认证,客户机进行下一步。 根据与服务器协商以及服务器证书上的相关信息,利用数字信封技术在客户端为将要进行的会话(如传递支付号码和密码)创建会话预密钥pre-master-secret,用服务器的公钥(从服务器数字证书中得到)加密它,向服务器发送加密的会话密钥匙。 若服务器选择客户认证,服务器就会试图去认证客户,若客户不能被认证,会话终止。若不选择用户认证或客户能被成功认证,服务器使用它的私人密钥解密得到的pre-master-secret,然后执行一系列步骤,生成

36、真正的master-secret。这些步骤客户机也要执行,且从相同的pre-master-secret 开始得到相同的会话密钥master-secret。会话密钥master-secrett是对称密钥,用于加密和解密会话期间交换的支付信息,并验证信息的完整性。 客户机向服务器发送消息,通知从客户机来的消息将会用会话密钥加密,客户机发送一条独立的(加密的)消息表明握手的客户机部分已经完成。 服务器向客户机发送消息,通知从服务器来的消息将会用会话密钥加密,服务器发送一条独立的(加密的)消息表明握手的客户机部分已经完成。 ssl握手完成后,ls会话开始,当安全通道建立成功时,发送支付结算的相关信息,

37、如信用卡号与密码等。客户机与服务器使用会话密钥加密和解密它们彼此发送的数据和验证数据完整性。 通信完成后,一般会话密钥可能将不再使用,被丢弃。从上述步骤看出,服务器的公共密钥与服务器所持有的私人密钥一起,形成ssl的密钥对。银行服务器端利用ssl与客户端软件(如浏览器)的安全tcp/ip连接建立通道。尽管ssl密钥对在建立安全连接中扮演很重要的角色,但密钥并不直接用于对真正传送的数据加密(因为速度慢),而且随机产生的会话密钥对真正传送的数据加密,因而效率更高。由此可见,基于sls的支付流程比较简单,它只需先通过一次握手过程建立连接就可以在客户机与服务器间建立一条安全通信的通道,保证相互间能在以

38、后安全地交换数据。但是,从上面流程中,有一个致命的缺点,那就是不能确保参与方对交易的不可抵赖性,客户可以声称没有进行购买,商家也可能会否认自己生成的订单信息,ssl不能提供交易过程的证据。第五节 本章小结本章首先介绍了b2c网站支付系统的定义以及支付系统的运行模式和支付模式,然后描述了b2c网站支付系统的特点,最后介绍了ssl协议的相关内容,并且详细描述了基于ssl的电子支付系统。第三章 b2c支付系统的总体设计第一节 系统的总体结构设计b2c电子支付系统是网上银行的重要组成部分。整个系统包括4个实体:商家、客户、银行、ca认证中心。系统的总体结构如图3.1所示,其中,商家和客户完成订单的生成

39、和提交,银行负责处理支付信息,ca认证中心用作保证系统的认证。图3.1支付系统总体结构图从图3.1中可以看出,商家、客户、银行和ca认证中心通过internet相互连接。图中虚线表示ca 分别向商家和银行颁发证书。实直线表示系统的交易流程。实弧线表示银行系统为客户和商家提供的查询对账服务以及在支付前客户和商家在银行的注册流程。网上交易的传输安全控制手段采用ssl协议机制。商家端和银行端的wbe服务器安装向第三方以中心申请的服务器证书,商家与银行支付服务器之间采用证书认证方式。客户端的浏览器向商家和银行发送请求时使用https协议建立ssl连接。所有用https发送的请求以及web服务器返回的结

40、果都会自动使用ssl加密传输。由于ssl协议不能有效地保证信息的不可抵赖性,所以在设计支付模型时,需在ssl协议的基础上,采取由银行为客户和商家颁发证书来完成数字签名,加强对身份验证、交易的不可否认等强化措施,以保证交易的安全性。1、客户端 :客户必须是银行的银行卡用户,而且需提前到银行柜台申请开通网上银行支付功能,申请由银行颁发的客户证书来保证安全、实现签名。客户的浏览器要支持128位安全加密。2、商家端 :商家是网上商城的经营者,需在银行开立结算账户。商家除配置以中心颁发的数字证书外,还需向银行书面申请开通b2c在线支付服务,配置商家证书,获得银行分配的唯一id号以及包含签名算法的api组

41、件和与银行间传输的订单格式标准。需将商家证书和签名api 安装到自己的服务器中,用于与银行支付系统之间的信息加密、身份识别、数字签名。商家通过银行发放的商家证书还可以登录银行的商家管理服务器,实时查询订单支付信息,进行对账处理。3、银行端:配置银行服务器证书,用于与客户、商家之间的信息加密、身份识别、数字签名。银行端系统能为商家和客户提供注册服务、支付服务和查询、对账服务。4、ca中心:由专业的第三方机构担当,它对其它各参与方颁发数字证书,可以起到认证各参与方身份的作用。第二节 系统功能模块设计一、系统模块划分根据第一节中的分析我们将系统划分为五个功能模块,分别是:系统公共模块、个人信息管理模

42、块、个人账户管理模块、商家账户管理模块和系统安全管理模块。其层次关系见图3.2。图3.2 功能模块图下面我们将对每个功能模块做详细的划分:1、系统公共模块分析为了得到更加可靠、完备的支付系统数据,同时为用户提供一个友好的使用界面,我们对系统的各种功能需求进行了详细的分析,系统主要包括基本功能模块、数据导入模块、数据排序模块、数据筛选模块、数据统计与对比模块等。图3.3功能模块图在本模块,主要实现一些基本的系统底层功能,如根据数据表名的含义选择数据库中相对应的数据表;获取系统当前时间;实现时间格式标准化;中文乱码修正;md5加密算法的实现;用户操作日志自动记录等,本模块主要是为系统其他模块的实现

43、提供支持。2、个人信息管理模块图3.4功能模块图在本模块,主要实现的是系统注册用户的个人信息管理,其中主要包括查看个人基本信息;修改个人基本信息和登录日志管理等,本模块主要管理注册用户的基本信息。3、个人账户管理模块 图3.5功能模块图在本模块,主要实现的是客户对自己账号信息的查询及修改,同时还可以查询消费记录和查询充值记录,通过本模块使客户可以清晰地了解自己账户的消费信息。4、商家账户管理模块图3.6功能模块图在本模块,主要实现的是商家对自己账号信息的查询及修改,同时还可以查询消费记录和查询充值记录,另外该模块比客户的账户管理多了个退款记录模块。通过本模块使商家可以清晰地了解自己账户的消费信

44、息,便于商家以后跟好的管理。5、系统安全管理模块图3.7功能模块图在本模块,主要实现了系统的自动注销设置,权限设置,防止sql注入以及验证码的设置等功能,通过本模块可以是系统在一个相对安全的环境下进行,实现了系统的可靠性。二、系统用例设计根据上述系统对用户权限的划分以及功能模块的设置,我们可以进一步的得出系统的基本用例分析图如下。图3.8系统用例图其中,管理员从属于普通用户,即普通用户所具有的功能,管理员一并具有。第三节 支付系统工作流程设计一、支付系统交易流程该系统的交易流程按下列步骤进行:1、客户到银行网点进行注册,开通网上银行功能,得到银行的网上支付授权,获得银行颁发的客户证书,下一次网

45、上支付就不需要再注册了。2、客户登录网上商城,选择商品后,与商家服务器建立ssl连接, 自动验证商家服务器的数字证书。3、客户确认资金金额等信息,商家产生一个包括订单号、订单金额、签名数据、商家证书等信息的支付订单。4、客户选择银行网上支付,系统将上述表单通过ssl 传送给银行。客户机浏览器弹出新窗口页面,提示将于银行端网络服务器直接建立ssl安全连接。5、客户端自动验证银行端网络服务器的数字证书,银行网上银行支付系统对请求数据中的“商家证书” 、“签名信息”进行验证。6、验证通过后,客户端出现银行在线支付页面,显示从商家发来的订单号及支付金额信息,客户输入支付银行卡号和支付密码,确认支付。7

46、、银行验证客户的卡号、密码(签名信息)。验证通过后,业务处理系统处理支付请求,进行记账处理,把资金从客户账号划转至商家银行账号上。8、订单支付成功,银行用自己的私钥签名订单信息和支付成功信息,将信息传送给商家。9、商家对接收到的签名信息用银行的证书进行验证。10、商家验证成功后,根据自己的需要进行记账处理、向客户发送取货通知等。二、支付系统的工作流程客户操作时序图如图3.9所示。1、客户首先登录系统,系统验证其合法身份后实现登录。2、客户在商家系统选择商品后,选择银行网上支付;3、商家系统把客户页面连接到银行支付页面,客户在此输入银行卡号和密码:4、银行对支付请求进行处理,将处理结果返回商家;

47、5、商家根据支付结果返回信息给客户。商家操作时序图如图3.10所示。1、商家首先登录系统,系统验证其合法身份后实现登录。2、商家系统把客户页面连接到银行支付页面,客户在此输入银行卡号密码:3、商家登录到银行支付页面,经过权限验证后实现提款操作4、银行对支付请求进行处理,将处理结果返回商家;5、商家根据支付结果返回信息给客户。图3.9普通用户在线充值/消费序列图图3.10商家操作时序图第四节 系统框架设计一、系统层次划分考虑系统后期功能添加,数据库移植以及系统维护等,使用多层次设计模式,降低系统模块之间的耦合度。具体层次设计如图所示图3.11层次设计图如图所示,各个层次负责不同的功能。数据访问层

48、封装所有的数据库访问方式和操作方法。而业务层只调用数据访问层来获得数据,并按一定的业务关系来处理数据并返回。对于表示层中的网页则是调用业务逻辑层的对象的对应功能来实现功能。而层与层之间的数据传递和共享是通过构造实体类来存储信息。所有的层之间各司其职,将功能封装。在保持接口不变的情况下,任何一层的更改都不影响其他层。在系统进一步功能添加时,可以就业务逻辑层进行对功能实现过程进行编码实现,在表示层添加对应功能页面即可完成。不需要修改原先所具有的功能模块。如果需要进行数据库更换或移植时,仅需要对数据访问层中的操作进行适当修改即可完成。方便快捷并且不易出错。二、系统网络部署依据客户对系统功能要求,可以

49、得出系统的网络部署图如下。图3.12网络图三、硬件部署图设计本系统所设计的硬件部署图如下:图3.13硬件部署四、功能组件设计本系统所设计的功组件图如下:图3.14功能组件图第五节 系统数据库选型分析一、根据数据量确定服务器选型当一个新的web业务系统开发完成后,需要根据数据量来选择服务器配置、内外置磁盘大小、以及网络带宽,这是一件很有必要的事情。 一个最真实的评估,是建立一个接近真实业务应用的操作环境,进行各种压力测试,测算出不同的用户数量下,系统的响应时间和吞吐量,并得出当时服务器的各种资源的利用率情况,对硬件资源的完整评估,一般需要考虑下列三个方面: 服务器性能的评估 客户端工作站或前端桌

50、面的评估 通讯网卡和网络带宽的评估如果不能建立准确的压力测试环境,则需要根据工业界的benchmark对服务器进行评估,推算出符合业务规模的服务器配置,同时要考虑在做系统管理时所消耗的资源,如在做备份、恢复、问题诊断、性能分析时、软件维护时都会对资源带来附加的消耗,对重要资源要考虑为将来留下升级和可扩展的余地。我们采用的是基于tpc-c的推算,来评估数据库服务器的cpu等硬件的最低要求。tpc-c基准是事务处理委员会建立的一个专门演示在线事务处理性能(oltp)的性能基准,它的测量方法是为了使客户能够评估不同的在线事务处理系统的性能,这些事务进程于一个可控制的状态下在一个标准的数据库中运行。目

51、前,位于internet上的计算机都可以访问我们开发的系统,据我们估计,按照在线支付系统的发展情况,系统总用户数量可以达到3000人。考虑系统用户数量不断增加,假设其年增长率为5%左右。那么,3年后的客户数量将达到3473人。这些客户当中,至少有10%是游客,另外90%可以看作是注册用户。普通用户、商家的使用频率比较高,普通用户和商家常用的功能是在线充值、在线消费、在线查询等功能,因此我们假定每个用户每天登录5次计算。那么,每天的用户登陆次数就是:347390%515600次假设我们的网站系统的操作复杂度达到5。那么,每天的数据库操作数达到: 156005=781000次整体性能要求:假设每天

52、的网站使用的80%集中在4小时内发生,那么高峰操作时间内每分钟的数据库联机交易次数为:78100080%(460)2603次要为将来陆续加入的应用,我们预留40%的处理能力;另外,考虑到cpu的繁忙时间低于70%时,系统的性能较好,我们把这个比例定在65%。所以系统的tpc-c值应达到:31(1-40%)65%6674内存容量需求分析:首先根据数据库容量算出所需的数据库缓存大小,再估计出操作系统、系统软件等所需内存,合计即是所需的内存容量。网站数据量分析:我们开发的系统的数据库由cif信息,登录日志、数据更新三部分组成。其中:cif信息包括普通用户信息和商家信息,普通用户信息平均大小为0.25

53、k左右,商家信息平均大小为0.5k左右,经过统计分析发现普通用户和商家的比例接近9:1;每一次登录都要记登录日志,日志的平均大小为0.2k左右。 本系统中,登录用户的操作主要会影响以下数据表中的部分字段:1.在线消费信息表;2.在线充值信息表;3.在线提现信息表;4.在线支付信息表;5.在线退款信息表; 经过对这些表中的字段长度进行计算,得到数据库数据量的增量大小平均为2k/次左右。所有的交易日志和交易流水都要保留三个月。假定党员用户会对数据库产生更新的操作站总操作数的70%。我们就可以计算网站对存储系统容量的要求:cif信息容量:4.85mb登录日志容量:16.5mb(登陆日志保存3个月)网

54、站更新增量:256.4mb网站总体数据容量要求:277.25mb数据库系统在缓存容量达到数据库总容量的5%时性能较好,因此,数据库缓存大小约为:15mb。从而计算出系统内存需求为:1. aix操作系统所占的内存 128mb2. 数据库管理系统所占的内存 256mb3. 双机热备等系统软件所占的内存 128mb4. 应用程序所占的内存 100mb5. 数据库缓存 15mb6. 合理的内存利用率 75%总计810mb第四章 b2c支付系统的实现第一节 mvc设计模式一个基于ssl 协议的安全电子商务系统就是使用加密技术使得在网络上传输的电子商务信息得以加密。本系统基于ssl 协议,采用ca 证书鉴

55、别技术,借助现有的internet 网络环境,在公共网络信道上建立专用网络加密信道,实现在不安全的信道上的安全信息传输,保证电子商务信息在internet 上传输时的机密性和完整性。由于系统使用java 语言开发,具有平台无关性的特点,所以系统支持主要的操作系统,如:windows、linux 和各种常见的unix 系统。所用的工具主要是tomcat 服务器、myeclipse、jdk1.6.0 、sql2000 数据库和svn版本控制器等。本系统采用了mvc设计模式,下面我们简要的介绍一下mvc设计模式。mvc是一种目前广泛流行的软件设计模式,早在20世纪70年代,ibm就推出了sanfro

56、nscisico项目计划,其实就是mvc设计模式的研究。随着web应用程序的不断广泛应用,应用于web应用程序快速开发的mvc框架不断出现,成为新的开发热点。mvc的英文全称为model-view-controller,即把一个应用程序的输入层,业务处理层、控制流程按照view、model、controller的方式进行分离,这样一个应用程序就被划分成相对独立而又协同工作的三个层,即视图层、模型层、控制层。在mvc设计模式中,它的模型、视图、控制器分别担负不同的任务。图4.1显示了这三个模块各自的功能以及它们的相互关系。图4.1相互关系图其中,视图时用户看到并与之交互的界面,对于web应用来说,可以概括为html界面,但有可能为xhtml 、xml和 applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,mvc设计模式对于视图的处理仅限于视图上的数据的采集和处理,以及用户

温馨提示

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

评论

0/150

提交评论