603639331软件工程毕业设计(论文)电子商务网站网上银行交易接口的实现

上传人:1777****777 文档编号:37953201 上传时间:2021-11-05 格式:DOC 页数:62 大小:1.87MB
返回 下载 相关 举报
603639331软件工程毕业设计(论文)电子商务网站网上银行交易接口的实现_第1页
第1页 / 共62页
603639331软件工程毕业设计(论文)电子商务网站网上银行交易接口的实现_第2页
第2页 / 共62页
603639331软件工程毕业设计(论文)电子商务网站网上银行交易接口的实现_第3页
第3页 / 共62页
点击查看更多>>
资源描述
毕业设计(论文)说明书毕业设计(论文)说明书学学 院院 软件学院软件学院 专专 业业 软件工程软件工程 年年 级级 姓姓 名名 指导教师指导教师 2011 年年 5 月月 19 日日毕业设计(论文)任务书毕业设计(论文)任务书题目:电子商务网站网上银行交易接口的实现学生姓名学生姓名 学院名称学院名称 软件学院软件学院 专专 业业 软件工程软件工程 学学 号号 指导教师指导教师 职职 称称 讲师讲师 一、原始依据1.研究内容在 LAMP 环境下模拟实现一个异步的支付接口处理程序。通过异步支付流程的设计支持网站的大访问量。通过 PHP 模拟实现网上支付业务基本流程。使用 MYSQL 进行数据的存储。使用 CURL 进行数据的后台发送。使用 PHP 相关扩展实现密钥的生成和报文的验签。探论 PKI 系统和电子商务的安全技术。2.主要指标与技术参数(1) 动态网页技术由于系统的操作界面都是 Web 页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,所以采用动态网页技术。目前动态网页技术有很多,有PHP、JSP、ASP、ASP.NET 等。本设计采用 PHP 技术。(2) 数据库技术由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、MYSQL、Sybase、Oracle、Informix、SQL Server 等。本系统采用 MYSQL 数据库。主要原因:MYSQL 是开源的优秀的数据库,它在处理数据方面的性能非常出色,并且有着灵活的模块设计和参数配置,支持事务操纵,学习使用起来比较容易。(3) 数字签名技术本系统设计对报文传输安全要求比较高的环境,利用现阶段比较成熟的数字签名技术保证身份的认证和数据的完整。3.要求认真阅读各种参考文献和资料,在系统的开发过程中及时查阅各种中英文资料,认真学习和系统相关的知识,并且在开发过程的各个阶段要认真做好详细工作记录,及时编写模块相关的文档。二、参考文献1管有庆,王晓军,董小燕,李养群. 电子商务安全技术北京:北京邮电大学出版社,2009.2李建华. 公钥基础设施(PKI)理论及应用. 北京:机械工业出版社,2010.3(美)施奈德.电子商务北京:机械工业出版社,2005. 4(挪)Dagfinn Reiersol,(英)Marcus,(美)Chris Shiflett. PHP in Action. 北京:人民邮电出版社,2010 5(美)Rasmus Lerdorf, Kevin Tatroe. PHP 程序设计. 北京:中国电力出版社,2003.6(美)Leon Atkinson. MySQL 核心编程. 北京:清华大学出版社,2003.7(美)Martin Fowler. 重构改善既有代码的设计. 北京:中国电力出版社,2003. 8(美)Baron Schwartz. 高性能 MySQL. 北京:电子工业出版社,2010.9(美)Eric S. Raymond. UNIX 编程艺术. 北京:电子工业出版社,2006.10(美)Ben Laurie, Peter Laurie. Apache 权威指南. 北京:中国电力出版社,2000.11郭欣. 构建高性能 Web 站点. 北京:电子工业出版社,2009.12(美)Cal Henderson. 构建可扩展的 Web 站点. 北京:电子工业出版社,2008.13(美) Matt zandstra. 深入 php :面向对象、模式与实践. 北京:人民邮电出版社,2010.14鸟哥. 鸟哥的 Linux 私房菜. 北京:人民邮电出版社,2010.15(英) Neil matthew, Richard stones. linux 程序设计. 北京:人民邮电出版社,2010.16(美)Ken Coar, Rich Bowen . Apache Cookbook. 北京:电子工业出版社,,2009.指导教师(签字)年 月 日审题小组组长(签字)年 月 日天津大学本科生毕业设计(论文)开题报告课题名称电子商务网站网上银行交易接口的实现学院名称软件学院专业名称软件工程学生姓名指导教师一、课题的来源及意义随着网上购物(淘宝,京东,团购,网上交费等)在我国的逐渐流行,越来越多的人开始接触电子商务。电子商务是建立在英特网上的一种商业应用,因特网使得电子商务能够以比较低廉的成本从事比较大经济规模的商业活动,它是一种全新的社会经济形态,与传统商务相比,它具有更快的传播速度和更大的影响力。电子商务的好处可以惠及整个社会,通过因特网可以安全、迅速、低成本地实现电子商务交易,比起支票或者现金支付,网上支付在因特网上更容易审计和监督,可以有效地防止欺诈和盗窃。由于这些优势,电子商务受到了全球的关注。电子支付是电子商务的核心之一,它指的是电子交易的参与者(客户、商家、银行)使用安全电子支付手段通过计算机网络进行现金支付或资金转帐。根据艾瑞咨询发布的 2009 年中国网上支付市场规模达到 5766 亿元,2010 年全年交易更是达到创纪录的 11342 亿元。目前电子支付方式主要有:网络银行在线支付、第三方转帐支付、电话银行、手机银行等。采用第三方转帐支付是目前主流的电子支付方式,如:支付宝,财富通等。此类第三方转帐支付的模式基本上为:用户和商家在同一个平台上,用户通过平台在各个银行的接口,将购买货物的钱转帐到商家在平台的账户上,平台程序在接收到银行的通知后,将信息发送给商家,商家在收到平台发送的确认信息后,按照用户的地址发货,用户确认货物后发送信息给平台,平台将用户的付款转入商家的账户。通过网上银行直接转账是另外一种较为流行的方式。用户可以通过自己所拥有的储蓄卡、信用卡,申请开通网上支付,从而可以直接使用网络银行。基本的流程为:用户通过商家提供的接口,将购买费用直接转入商家对应的银行的账户,商家确认收到付款后通知用户购买成功。在电子商务网站中主要使用通过第三方支付或与银行直连的方式进行支付行为。二、国内外发展状况国内常见的在线支付接口有:支付宝支付接口集成、财富通支付接口集成、快钱支付接口集成、网银在线支付接口集成、ChinaPay 在线支付接口集成等。国外比较流行的支付接口有:PayPal, MoneyBooks, Western Union, MoneyGram, IKOBO 等。各大电子商务网站:淘宝,京东,亚马逊,Groupon 等电子商务网站通过与这些支付接口的对接实现方便的网上支付,业务取得了很大的成功。三、本课题的研究目标和研究内容研究目标:模拟一个大型电子商务网站的支付接口。研究内容: 异步模式与电子商务安全技术。 异步模式是大型网站架构中的一种很重要的设计方法。对于日访问量在千万级别以上的网站,一般的同步模式往往无法应对,最终的结果是服务器压力过大,而导致整个网站无法访问。通过对关键流程的异步设计,可以加快用户请求相应的时间,从而提高单位时间内服务器处理请求的数目,使得网站支持更大的并发访问量。电子商务需要解决通讯对象的身份认证,报文的完整性以及不可抵赖性等安全问题,数字签名是目前电子商务中技术最成熟,应用最广泛的一种电子签名方法,它是确认电子商务中传输的电子订单,合同真实可靠性的一种手段,数字签名技术大多采用公钥密码技术实现。四、研究方法和研究手段本课题的开发环境为 LINUX + APACHE + MYSQL + PHP,开发工具为VIM, 参照 SSL 协议和 PKI 准则。本课题模拟一个大型电子商务网站支付接口的实现,将采用以下方法进行:1.配置 LINUX 开发环境,包括 VIM,虚拟主机等。2.通过 PHP 函数操纵 LINUX 上安装的 OPENSSL 扩展,实现一对自签名的公钥和私钥。3.安装 PHP CURL 扩展使用 CURL 进行后台通知的发送。4.使用 PHP 结合 MYSQL 数据库设计一个异步支付过程。5.使用 LINUX 的设置后台任务运行异步处理脚本。6.使用 PHP 函数操纵第一步生成的密钥对实现报文的签名与验签。五、进度安排12 周: 收集资料(书籍和案例);34 周: 学习相关知识;56 周: 学习开发工具的使用;78 周: 进行需求分析和设计;910 周: 进行编码及实现;11 周: 软件系统的测试;12 周: 进行论文的写作;13 周: 整理材料,装订论文。六、参考文献1管有庆,王晓军,董小燕,李养群. 电子商务安全技术北京:北京邮电大学出版社,2009.2李建华 公钥基础设施(PKI)理论及应用. 北京:机械工业出版社,2010.3(美)施奈德.电子商务北京:机械工业出版社,2005. 4(挪)Dagfinn Reiersol,(英)Marcus,(美)Chris Shiflett. PHP in Action. 北京:人民邮电出版社,2010 5(美)Rasmus Lerdorf, Kevin Tatroe. PHP 程序设计. 北京:中国电力出版社,2003.6(美)Leon Atkinson. MySQL 核心编程. 北京:清华大学出版社,2003.7(美)Martin Fowler. 重构改善既有代码的设计. 北京:中国电力出版社,2003. 8(美)Baron Schwartz. 高性能 MySQL. 北京:电子工业出版社,2010.9(美)Eric S. Raymond. UNIX 编程艺术. 北京:电子工业出版社,2006.10(美)Ben Laurie, Peter Laurie. Apache 权威指南. 北京:中国电力出版社,2000.11郭欣. 构建高性能 Web 站点. 北京:电子工业出版社,2009.12(美)Cal Henderson. 构建可扩展的 Web 站点. 北京:电子工业出版社,2008.13(美) Matt zandstra. 深入 php :面向对象、模式与实践. 北京:人民邮电出版社,2010.14鸟哥. 鸟哥的 Linux 私房菜. 北京:人民邮电出版社,2010.15(英) Neil matthew, Richard stones. linux 程序设计. 北京:人民邮电出版社,2010.16(美)Ken Coar, Rich Bowen . Apache Cookbook. 北京:电子工业出版社,,2009.选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘 要本论文着眼于当今快速发展的网络购物,主要对网上电子商务的支付过程进行了一个模拟,探讨了如何用异步的设计策略进行高并发的处理,同时探讨了网上电子商务交易保证安全性方面的技术。论文阐述了电子支付接口的基本组成元素。通过一个简单的安全交易模型,对网上支付接口涉及到的两个主要方面:商家平台和第三方交易平台进行了设计和模拟实现。最后通过与 PHP 框架的整合,实现了数据的日志打印和数据库的事务操作。经过系统测试,程序成功进行了网上电子交易支付接口间数据传输的模拟。本论文在程序开发过程中主要涉及的技术有:生成数字摘要的 MD5 算法,数字签名的签名和验证签名,PHP 的 CURL 扩展的使用,APACHE 服务器虚拟主机的配置,LINUX 守护进程的设置,MYSQL 数据库的事务机制。通过合理地组织利用这些技术,实现了基于事务的,有处理高并发能力的网上电子交易支付接口的模拟。关键词:数字签名;异步;事务机制;ABSTRACTThis paper focus on the online shopping which is rapid developed in the current world. We mainly simulate a process of online e-commerce payment . At the same time, we explore the design method for a asynchronous design in order to deal with the high concurrency processing as well as the technology for ensuring security during the online e-commerce transactions.The paper described the basic components of electronic payment interface. With a simple model of the Secure transactions , we refer to two main areas of online payment interface: business platform and third-party trading platform designed and Simulation. Finally, by integrated with the PHP framework, we achieve the data log print and database transaction handling. After system testing, the program successful simulates data transmission between the electronic trading of online payment interface . In this paper, the program development process is mainly related to the following technologies: Digital abstract generated MD5 algorithm Signatures and digital signatures for verifying the signature, the use of PHPs CURL extension, APACHE server virtual host configuration, LINUX daemon task settings, MYSQL database transaction mechanism. By organizing these technologies rationally, we realize transaction-based model of electronic transactions in dealing with the online payment interface with high concurrency capabilities .Key words: digital signature; asynchronous; transaction mechanism;1目 录 第一章 绪论.11.1 选题背景.11.2 当前技术状况.11.2.1 加密技术.21.2.2 简单的安全消息系统.21.2.3 交易协议.41.3 内容安排.9第二章 相关技术介绍.102.1开发环境.102.1.1硬件设备.102.1.2软件环境.102.2 相关技术.102.2.1 数字签名.112.2.2 数字证书.122.2.3 事务机制.142.2.4 守护进程.152.3 本章总结.15第三章 模型分析.163.1 性能分析.163.2 安全性分析.16第四章 设计.174.1 总体设计.174.2 数据库设计.194.3 商户平台设计.214.4 支付平台设计.234.5 后台脚本程序设计.24第五章 实现.255.1 系统配置.255.2 商户平台.255.3 支付平台.265.4 守护进程.275.5 系统测试.28第六章 总结.306.1 论文总结.306.2 前景展望.30参考文献.31附录.321开发环境的搭建.322数字证书常见格式与协议介绍.322 天津大学 2007 届本科生毕业设计(论文)1第一章 绪论1.1 选题背景随着计算机网络与因特网技术的发展与普及,电子商务已经逐步进入人们的日常生活,网上银行和网上商城的出现,悄悄地改变人们的购物方式、消费方式和生活观念,更方便了人们的日常生活。调查显示,截至 2010 年 6 月,我国网民规模达到 4.2 亿,较 2009 年底增加 3600 万人。互联网普及率攀升至 31.8%,较 2009 年底提高 2.9 个百分点。互联网在我国继续呈现飞速发展的趋势。网上购物的优点:第一,可以在家逛商店,订货不受时间的限制:现在的时尚男女,由于白天工作的繁忙,没有更多的时间去逛商店,所以网上购物成了首选。可以在网上尽情的挑选,也不受时间的限制。第二,获得较大量的商品信息,可以买到当地没有的商品:在网上,可以慢慢的挑选,也可以买到当地没有的商品。第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫:你可以通过网上银行方便又安全,可以避免去商场购物带大把现金,又不安全。第四,从订货、买货到货物上门无需亲临现场,既省时又省力:在家里就可以购物,快递送货上门。第五,由于网上商品省去租店面、召雇员、储存、保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。不管是化妆品、服装,还是其他生活用品的价格都比一般商场或实体店卖的低得多。2010 年 3 月 4 日,美团网的正式上线,使得团购这一网购模式迅速蔓延,短短几个月的时间,就有了成百上千家团购网站出现。团购的出现使得网购的概念在百姓中更加普及。目前影响网购发展的最大障碍之一是消费者担心他们的信用卡等信心泄密。由于电子商务中的交易双方互不见面,将会产生许多传统商务模式中不会出现的安全问题,如假冒、否认、欺诈、泄密、黑客攻击等。尤其在支付环节,要求用户输入自己的银行卡密码等保密信息,这些信息,一旦被他人截获,将对使用者的财产安全造成很大隐患。所以对网上购物支付环节的安全性必须有一种完善的保护机制。1.2 当前技术状况在近年来发表的多个安全电子交易协议或标准中,均采纳了一些常用的安天津大学 2007 届本科生毕业设计(论文)2全电子交易的方法和手段。1.2.1 加密技术采用密码技术对信息加密,是最常用的安全交易手段。在电子商务中获得广泛应用的加密技术有以下两种:1. 公共密钥和私用密钥(public key and private key)这一加密方法亦称为 RSA 编码法,是由 Rivest、Shamir 和 Adlernan 三人所研究发明的。它利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户,而一旦信息加密后,只有用该用户一个人知道的私用密钥才能解密。具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在 Internet 上传输信息的保密和安全。 2. 数字摘要(digital digest) 这一加密方法亦称安全 Hash 编码法(SHA:Secure Hash Algorithm)或MD5(MD Standards for Message Digest),由 Ron Rivest 所设计。该编码法采用单向 Hash 函数将需加密的明文“摘要”成一串 128bit 的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。这样这摘要便可成为验证明文是否是“真身”的“指纹”了。上述两种方法可结合起来使用,数字签名就是上述两法结合使用的实例。1.2.2 简单的安全消息系统(1)消息发送过程天津大学 2007 届本科生毕业设计(论文)3图 1-1 消息发送示意图1.A 计算出消息摘要。2.A 对消息摘要进行签名并将产生的数字签名及其证书一起附在消息上。3.A 产生一个随机回话密钥,使用它来加密经过签名的消息。4.A 用 B 的公钥对会话进行加密并将处理过的会话密钥附到消息上,将消息发送给 b。(2)(2)消息接收过程图 1-2 消息接收示意图1.B 使用其私钥对会话进行解密。2.B 使用会话密钥对消息,即证书和数字签名进行解密。3.B 自己计算出消息的摘要值。4.B 对 a 的证书进行验证并取出 a 的公钥。天津大学 2007 届本科生毕业设计(论文)45.B 使用 a 的公钥来验证 a 的数字签名。1.2.3 交易协议电子商户的运行需要一套完整的安全协议。目前比较成熟的协议有SET(secure electronic transaction), SSL(secure sockets layer)和 3-D 等。(1) SET 协议SET 安全电子交易协议是一种基于消息流的协议,用以保证在开放网络环境下电子商务的电子支付交易的安全性。SET 协议中使用了公开密钥 RSA、对称密钥 DES、数字签名、数字信封、双重签名、数字证书等安全技术。SET 要实现的目标是:实现因特网环境安全电子交易;保证信息在互联网上的安全传输;保证网上传输的数据不被黑客或内部人员窃取;实现订单信息和个人帐号信息的分离(如将包括持卡人帐号信息的订单发送到商家时,商家只能看到订货信息而看不到持卡人的账号信息。同样,这一信息传到银行时,银行只能看到账号信息而看不到订货信息) ;持卡人和商家的身份认证,以确定通讯双方身份的真实性。SET 是一个基于可信的第三方认证中心 CA(certificate authority)的安全电子交易协议。在 SET 系统中,完成一笔安全电子商务交易,通常包含 6 个主要的参与方,分别是持卡人、网络商家、发卡银行、收单银行、支付网关及认证中心,各参与方之间有着严谨的信赖关系,各参与方的主要功能与作用如下。持卡人:持卡人通过 WEB 浏览器或客户端软件直接与网络商家互动购物。第一次上网购物前,须向认证中心 CA 注册登记,取得数字证书后,才可以使用经过 SET 协议认证的电子钱包以及其他电子凭证进行交易。网络商家:提供网络商店给消费者;首先须与信用卡收单银行签订协议,向认证中心申请到数字证书,其次必须使用经过 SET 协议认证过的商家服务器软件,负责消费者在网上付款的核查。发卡银行:为持卡人建立一个银行账户,并发放支付卡;负责持卡人的身份认证,同时从事发放数字证书的各项审查工作;持卡人数字证书的签发既可以由发卡银行发放,也可以由专业的认证中心 CA 签发。发卡银行不属于安全电子商户交易的直接组成部分,但却是授权与清算操作的主要参与方。收单银行:为商家建立一个银行账户,并且处理支付卡的授权和付款事宜。同样,收单银行也不属于安全电子交易的直接组成部分。支付网关:是由收单银行或收单银行指定的第三方运行的一套设备,用来天津大学 2007 届本科生毕业设计(论文)5处理商家的付款信息以及持卡人发出的付款指令,将网络商家传来的 SET 报文转化为原信用卡信息,处理支付卡的授权和支付。认证中心 CA: 为每个交易参与方生成一个数字证书做为交易方身份的验证工具。加密技术和数字证书是 SET 的核心技术,主要有对称加密、非对称加密、报文摘要、数字签名、数字信封、双重签名、数字证书。这些技术为电子交易过程提供参与者的身份认证、交易信息的完整性、交易信息的机密性、和交易过程的不可否认性。虽然通过加密技术能保证信息的隐蔽性,防止泄密,但被加密后的数据信息仍有可能被篡改或被人部分删除,使得信息的接收者得到一个错误的信息。报文摘要技术通过同时发一个消息的简单摘要给接收者,供接收者与消息本身对比,如果相符则消息正确,未被篡改。报文摘要是一个唯一对应一个消息或文本的数值,通过单向哈希函数作用消息而产生一个固定长度的数值。数字信封主要目的是保证数据的机密性。SET 协议把对称密钥体制和公开密钥体制完美的结合在一起,充分利用了 DES 效率高速度快和 RSA 安全性高且密钥管理简便的优点。在 SET 中,当要将数据机密传送时,发送者首先使用随机产生的 DES 对称密钥来加密要发送的信息。然后将此 DES 对称密钥用接收者的公钥加密,形成消息的数字信封,将其和采用对称密钥加密的消息一起发送给接收者。在安全电子交易过程中,持卡人、商家和银行三者之间,持卡人的订单信息和付款信息和付款只是是互相对应的,商家只有在确认了持卡人的订单信息对应的付款指示是真实有效的情况下,才可能按订单信息发货;同样,银行只有在确认持卡人的付款指示对应的订单信息是真实有效的情况下,才可能按商家要求进行支付授权。因此,订单信息和付款指示必须一起发送给商家和银行。但为了预防商家在验证持卡人付款指示时盗用持卡人的信用卡账号,以及银行在验证持卡人订单信息时,跟踪持卡人的交易活动,在 SET 中采用了双重签名技术。一个双重签名是通过计算两个消息的报文摘要产生的,并将两个摘要连接在一起再用持卡人的私钥对报文摘要加密。这样,通过双重签名,接收者只能看到他应该看到的消息,对于不应该看到的消息则以报文摘要的形式出现。SET 协议流程:1. 初始请求持卡人在自己的个人计算机上通过浏览器在网络商家的网站上浏览所展示的商品,根据商品的功能、外观和优惠等属性,选择想购买的商品。填写相应天津大学 2007 届本科生毕业设计(论文)6的订单。选择 SET 作为其付款协议,进行付款。激活支付软件,向商家发送初始请求。2. 初始应答商家接收到用户的支付初始请求后,产生初始应答消息。用单向哈希函数对初始应答生成报文摘要。用商家的私钥对初始应答进行数字签名。将商家证书、支付网关证书、初始应答、初始应答报文摘要的数字签名发送给持卡人。3. 购物请求持卡人接收初始应答,验证商家和支付网关的证书。用商家的公钥解开初始应答报文摘要的数字签名,得到初始应答报文摘要。用单向哈希函数对初始应答产生相应的报文摘要,对比,如相同则表示数据在途中未被篡改,否则丢弃。检查商家传送过来的购买项目和价钱正确无误,向商家提出购物请求。4网络商家发出支付授权请求商家接收持卡人的购物请求,验证持卡人的数字签名。用商家的私钥解密订单信息,并进行双重签名比较。产生支付授权请求,将支付授权请求用哈希算法生成报文摘要,并签名,用随机的对称密钥对支付授权请求机密形成密文,再用支付网关的公钥形成支付网关数字信封。最后将商家证书、支付请求密文、商家数字签名、支付网关数字信封及持卡人通过商家转发的双重签名、订单摘要、加密后的付款指示、支付网关数字信封、持卡人证书发往支付网关。5. 支付网关发出支付授权请求支付网关收到商家发出的支付授权请求后,验证商家证书,验证商家签名。用私钥打开支付网关数字信封,获取对称密钥,解开支付授权请求报文。用哈希算法作用于支付请求,形成报文摘要,与商家发来的支付请求相比较。支付网关验证持卡人的证书。验证来自商家的交易标识和来自持卡人的付款指示的交易标识是否匹配。通过银行专业网,向持卡人所属的发卡银行发送支付授权请求。6. 发卡银行的支付授权应答发卡银行在收到支付网关的支付授权请求后,检查持卡人的信用卡是否有效。向支付网关发送支付授权应答。7. 支付网关向商家发送支付授权应答天津大学 2007 届本科生毕业设计(论文)7支付网关产生支付授权应答信息,它包括发卡银行的相应信息和支付网关的签名证书等,并将其生成数字信封,作为支付授权应答信息发给商家。8. 向持卡人发送购物应答商家验证支付网关证书,解密支付授权应答,验证支付网关的数字签名,用私钥打开数字信封,得到对称密钥,用此密钥解开支付授权应答,产生支付授权应答报文摘要。用网关公钥解开其数字签名,得到原始支付授权应答报文摘要,并与新产生的摘要比较。商家产生购物应答,对购物应答生成报文摘要,并签名。将商家证书,购物应答,数字签名一起发往持卡人。9. 持卡人接收并处理购物应答持卡人收到购物应答后,验证商家信息。验证通过后,对购物应答产生报文摘要,样商家公钥解开数字签名,得到原始报文摘要,与新产生的报文摘要比较。SET 软件记录交易日志。持卡人等待商家发货。(2) SSL 协议SSL 本身是定位于传输层与应用层间的一个安全通讯加密协议。TCP/IP 协议只连接两台计算机,传送数据流,而 SSL 则为网络收发双方提供一个安全和可靠的传输服务。SSL 协议包含两个层次:处于较为底层的 SSL 记录层协议与较为高层的 SSL握手协议、修改加密约定协议、报警协议。SSL 在网络购物中的应用:1. 持卡人在网络商家的网站上浏览展示的产品,并选择想购买的物品,然后点击购买,并选择以信用卡为付款机制。持卡人使用 SSL 进行网络购物时,购物流程如下。2网络商家系统根据持卡人购物车中的物品,将物品的数量、单价、总价等信息传回给持卡人,并出现几个输入框要求输入持卡人卡号、卡的有效期等。持卡人检查商家传送过来的购买项目、单价、总价,并确认无误,输入卡号及卡的有效期信息。3. 商家通过专网向收单银行的支付网关发送支付授权请求。收单银行收到支付授权请求后,通过银行网络,向持卡人所属银行发送支付授权请求。天津大学 2007 届本科生毕业设计(论文)84. 发卡银行对所要求的持卡人的支付授权应答经由银行网络传回给收单银行。收单银行将支付授权应答通过支付网关传送回给商家。5. 商家确认支付授权请求完成后,向持卡人发送交易完成的应答信息。(3) 3-D 安全协议3-D 安全协议建立在 3 个领域之间的关系上,这 3 个领域分别为收单行域、发卡行域、互操作域。收单行域:该域主要包括商家及收单银行之间的关系。它主要负责:定义过程以确保参与网络交易商家的活动符合其与收单银行之间的协定;为已认证的交易提供事务处理。包含的实体有:商家、商家服务器插件、认证程序和收单银行。发卡行域:该域范围主要包括持卡人及信用卡发卡银行之间的关系。它的主要职责有:持卡人在注册时认证其身份;在线支付时认证用户身份。它包含的实体有:持卡者、浏览器、附加持卡者部件、发卡银行和接入控制服务器。互操作域:支持收单域及发卡域之间的关系。该域采用共有的协议及共享的服务简化收单行域及发卡行域的事务交易。包含的实体有:目录服务器、商业证书颁发机构、策略证书颁发机构、认证历史服务器和授权系统。3-D 支付协议流程:首先卡用户注册,用户在使用在线支付服务之前,必须到发卡银行申请信用卡并登记,当信息确认后,持卡人可以使用在线支付服务。认证过程当用户注册完成后,可以与任何集成了 VISA 认证过的商家服务器插件的商家进行在线交易。主要流程如下:1. 购买者浏览商家网站,添加商品到购物车,购买。商家获得所有必要的数据包括 PAN 及用户设备信息。2. MPI 发送 PAN 给目录服务器。3. 目录服务器查询 ACS 以确定认证是否对 PAN 及设备类型可用。4. ACS 响应目录服务器的请求。5. 目录服务器转发 ACS 响应给 MPI。6. MPI 通过购物者设备发送支付者认证给 ACS。7. ACS 接收支付者认证请求。8. ACS 使用适用于 PAN 或者密码等方式的过程认证购物者,然后生成支付者认天津大学 2007 届本科生毕业设计(论文)9证响应消息并对其签名。9. ACS 通过购物者设备返回支付者认证响应给 MPI。同时 ACS 发送所选择的数据给认证历史服务器。10. MPI 接收支付者认证响应。11. MPI 认证支付者认证响应的签名。12. 商家继续与其收单行进行认证交换,收单银行与发卡银行通过认证系统处理 认证然后返回结果给商家。MPI 通知商家认证结果并提供用于后期交易所需的数据。SSL/TLS、SET 和 3-D 安全协议是当前应用最为广泛的电子商务安全协议。三者相比,SSL 协议相对简单,效率高,容易部署,但是它不支持多方认证,不支持不可否认性等电子商务安全性需求;SET 协议虽然能够完全满足电子商务的安全性需求,当协议复杂,实现难度大,交易速度慢,难以部署;3-D 安全协议保证满足安全性要求的基础上,对两者进行了适当的折中,从而缩短了交易时间,降低了实现难度,使得电子商务在线交易的实施更加简捷。1.3 内容安排本文主要研究讨论了电子商务网上购物接口的实现,主要安排如下:第一章:主要介绍了选题背景和当前的技术状况。第二章:主要是开发环境和开发所用到的技术的,主要包括数字签名的介绍。第三章:主要对在线交易平台进行设计分析及描述。第四章:主要讲解系统设计和实现,主要包括商户平台的设计和第三方交易平台 的设计。第五章:主要是系统实现,主要介绍了系统配置文件,系统测试方法等。第六章:主要包括论文总结和前景展望。天津大学 2007 届本科生毕业设计(论文)10第二章 相关技术介绍2.1开发环境系统要求支持高并发访问,需要具有良好的性能,开发需要合适的硬件和软件环境,下表说明的是要求的开发环境。2.1.1硬件设备硬件设备详细信息见表 2-1。表 2-1开发硬件参数参数服务器开发机器CPUIntel(R) Core(TM)2 Duo CPU T5550 1.83GHz内存1.00GB 内存硬盘160GB2.1.2软件环境软件环境详细信息见表 2-2。表 2-2软件开发环境软件服务器开发机器操作系统UBUNTU 10.04 数据库软件MYSQL 5.02Web ServerApache2程序开发工具VIM浏览器Lynx2.2 相关技术数字签名,加密技术,数字证书, 事务机制天津大学 2007 届本科生毕业设计(论文)112.2.1 数字签名在传统的商务活动中,为了保证交易过程的真实可靠, 通常有一份书面合同或者文件,交易双方达成协议后,负责人分别在协议上签名, 然后双方保存带有签名的合同,以后遇到什么问题时,双方能够根据合同的条款行事,该合同具有法律效应,引起纠纷时可通过法院裁决。电子商务的交易环境是虚拟的网络世界,网络中存在更多不安全的因素,为了保证交易安全可靠,通常通信双方在交易前,也需要签订电子合同或者文件,这些电子合同或文件是以网络报文的方式传递的,因此传统的手工签名或盖章方式是不可行的,我们必须寻求一种新的技术方案解决问题,这就是采取电子签名的方式。电子签名起到和手工签名同等的作用,目的是保证交易的安全性、真实性与不可抵赖性,电子签名要以电子技术的手段来保证。实现电子签名的技术手段有很多种,数字签名是目前电子商务中技术最成熟,应用最广泛的一种电子签名方法。数字签名是指附加在数据单元上的一些数据,或是对数据单元所做的密码转换,这种数据或转换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人伪造。数字签名的功能主要体现在以下 3点:1接收方能够确认报文的来源真实,即能验证报文的确是由声称的发送发所发送的。2发送方对自己发送的报文不能否认。3验证报文在传输过程中是否保持完整性。数字签名系统包括签名算法、验证算法、签名方、验证方、签名关键值。数字签名技术大多采用公钥密码技术实现。公钥密码体制实现数字签名的原理:公钥密码体制中存在两个密钥:公钥和私钥。其中私钥是只为某个特定实体所拥有的,他人不可知,机遇公钥密码体制的数字签名技术利用的就是私钥的唯一性。发送信息的签名方首先利用私钥对报文或者报文摘要进行加密,加密后得到的密文作为签名,连同相应的报文一起发送给接收方。接收方利用发送方的公钥对签名进行解密,并将得到的结果与发送的报文或者摘要做比较,以确认发送方信息的真实可靠。由于发送方的私钥不为其他人所知,因此第三方无法伪造签名,私钥的唯一行保证了签名的唯一性,公钥是公开的,因此接收方只要知道发送方的公钥,就可以验证签名。为了保证公钥,私钥的可靠性,需要第三方仲裁机构参与,该机构具有公正合法性,以便发生问题或者争执时,提供相应的证据,做出裁决。常用的数字签名算法一类是基于对称密钥的,如 MD5。另一类是基于公钥密码算法的,有 RSA、DSS 等。MD5 是一种摘要生成算法,本来不能用于签名的,是通过在待签名数据后加上一串私密内容(指令发送、接收双事先规定好的,这里我们称其为签名私钥) ,就可以用于签名了。例如:假设签名密钥是 3456%78&9,那么商户系统调用某接口的预签名数据就:Email=&service=trade_create3456%78&9 使用这种算法签名只天津大学 2007 届本科生毕业设计(论文)12能取到防数据篡改的功能,不能起到签名防抵赖的功能,因为双方都知道签名密钥。RSA 是当前使用最普遍的数字签名方法。RSA 算法中,公钥与私钥两者都可以用与加密和解密,且加密算法与解密算法互为逆变换。假设 RSA 公钥是(e,n), 私钥是(d,n),所要发送的报文是 M, 哈希算法是 SHA-1,根据公钥体制实现的数字签名的原理,签名计算过程为:1.计算报文摘要的值 h = SHA-1(M)。2.用私钥(d,n)加密报文摘要值 h, 得到签名信息 M-sig = hd mod n。3.发送附加签名的报文 M|M-sig。验证签名的过程:1.用公钥(e,n)解密签名信息得到报文摘要的值 h,即:h = (M-sig)e mod n = (hd)e mod n = hd*e mod n。2.计算报文摘要值 h = SHA-1(M)。3.比较 h 与 h是否相等, 验证签名。RSA 算法用作加密与签名时的不同点:加密时,发送方使用对方的公钥通过加密算法计算得到密文,而签名时,使用自己的私钥通过加密算法得到签名。数字签名标准(DSS)是由美国国家标准技术研究所和国家安全局共同开发的,它是一种基于公钥密码体制的数字签名方法,适用于签名方计算能力较低且计算时间较短,而签名的验证方计算能力强的场合。DSS 签名算法是基于离散对数数学难题实现的。与公钥密码算法 RSA 不同,DSS 是专门用作数字签名的,RSA 算法不仅用于签名,还可以用于信息的加解密。2.2.2 数字证书要想让交易在公平公正的环境下进行,必须要有第三方仲裁机构参与,改机构可以为用户颁发身份标志 ,即数字证书,数字证书是公钥用户身份和公钥的载体。数字证书由权威公正的第三方机构-认证中心 CA 签发, 以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递的信息的机密性、完整性,以及交易实体身份的真实性、签名信息的不可否认性。目前最常用的数字证书是 X.509 证书。X.509 证书是指该证书的定义和格式遵循 ITU-T 定义的 X.509 标准,X.509是一种行业标准。目前 X.509 证书已用于很多安全应用程序,如 IP 安全协议IPsec、安全套接字层 SSL、安全电子交易 SET 等。X.509 标准定义了证书的信息以及信息的格式,主要包含以下内容:1版本号:定义证书的版本号。2序列号:由 CA 分配给每个证书的唯一编号。3签名算法标识符:指定 CA 签发证书时使用的签名算法。4颁发者:颁发证书的 CA 名称。天津大学 2007 届本科生毕业设计(论文)135有效期限:由证书的有效起始时间和结束时间6主体名:使用该证书的用户名。7主体的公钥信息。8颁发者唯一标识符。9主体唯一标识符10扩展项:用来携带主体的特定信息11CA 签名值:颁发证书的 CA 的数字签名。证书的管理通过 PKI(public key infrastructure)体制完成。PKI(公钥基础设施): PKI 是通过使用公开密钥技术和数字证书来确保系统信息安全并负责验证数字证书持有者身份的一种体系。一般来说,PKI 系统必须具有权威认证中心 CA、注册机构 RA、 数字证书库、密钥备份及恢复系统、证撤销系统等基本构成部分。图4-1CA 整体结构图认证机构(CA):即数字证书的申请及签发机关,CA 必须具备权威性的特征。数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI 提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。证书作废系统:证书作废处理系统是 PKI 的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI 必须提供作废证书的一系列机制。天津大学 2007 届本科生毕业设计(论文)14应用接口(API):PKI 的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的 PKI 必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与 PKI 交互,确保安全网络环境的完整性和易用性。PKI 最主要的作用就是颁发证书、撤销证书、创建和发布 CRL、存储和检索证书及 CRL 以及密钥生存周期的管理。2.2.3 事务机制网上购物的一次交易,其付款过程至少包括以下几步数据库操作:1. 更新客户所购商品的库存信息2. 保存客户付款信息-可能包括与银行系统的交互3. 生成订单并且保存到数据库中4. 更新用户相关信息,例如购物数量等正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态-库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的 ACID(原子性、一致性、隔离性和持久性)属性:1原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。2. 一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的天津大学 2007 届本科生毕业设计(论文)15完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。3. 隔离性由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。4. . 持久性事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。2.2.4 守护进程守护进程,也就是通常说的 Daemon 进程,是 LINUX 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。LINUX 系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程 crond、打印进程 lqd 等。由于在 LINUX 中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。2.3 本章总结开发系统主要在 LINUX 系统下进行,基本的开发环境是:LINUX+APACHE+MYSQL+PHP, 在搭建好开发环境后,还要为 PHP 安装 OPENSSL 和CURL 扩展,由于要在同一台机器上模拟商户平台和第三方交易平台,需要在APACHE 配置文件中进行虚拟主机的配置。系统开发要求对 LINUX 有较为熟练的掌握,并且对计算机网络中的 HTTP 协议,公钥加密,PHP 编程语言等要有深入天津大学 2007 届本科生毕业设计(论文)16的理解。第三章 模型分析3.1 性能分析在一个大型电子商务网站中,针对用户访问量大,并发度高的情况,一般的同步处理请求往往不能胜任,这时往往根据业务需求,将可以不用实时同步处理的部分与实时处理的部分分离开来,把不用实时处理的部分做异步批处理,加快单个请求的处理时间以适应高并发的情形。商户平台的异步处理策略:在接收第三方支付平台的通知时,只是往returnlog 表中插入通知数据。用一个异步脚本不断检查 returnlog 表,去更新与之相关的订单的状态,顾客最终在页面上看到的结果是由当时读到的订单支付的状态决定的。这样做异步处理后,能在单位时间内大大增加商户平台接收第三方支付平台通知的数量。支付平台的异步处理策略:支付平台接收到商户平台发送的订单数据后,只是往 orderlog 表中插入数据。用一个异步脚本不断检查 orderlog 表中新增加的订单数据,将新订单与银行系统进行通讯,获得返回结果,修改 orderlog中订单的状态。异步处理后,加快了订单处理的速度。3.2 安全性分析算法使用主要考虑是否具有防篡改、防抵赖、加密、签名是否有效几个方面,下面的表格就以上几个方面,对 MD5、DSA、RSA 算法进行了比较。图3-1几种算法功能对比图天津大学 2007 届本科生毕业设计(论文)17第四章 设计4.1 总体设计图4-1系统总计设计图第三方支付平台对外接口分两种,一种是接收外部请求的接口,统称为外部接入接口。一种是主动通知外部系统的接口,统称为外部通知接口。外部接入接口的主要目的是让外部合作伙伴主动使用第三分支付平台的服务,如创建交易等。外部通知接口的主要目的是为外部合作伙伴提供数据同步服务,如交易状态同步,以及异步处理结果返回服务。对应的两种交互模式:(1)(1)请求/响应模式:是最常用的一种交互模式。在这种交互模式下,商户系统向第三方支付平台发送请求数据,并同步等待第三方支付平台处理完毕之后返回的响应数据。请求/响应模式根据页面流程,可以分为系统调用和页面跳转,系统调用只需要调用相关接口文件就可以完成相关的业务操作,而页面跳转则需要进入第三方支付平台页面,完成相关操作。如果买家在跳转到第三方支付平台页面完成相关操作之后,需要第三方支付平台将处理结果立即返回给商户网站的下一步操作页面,让用户继续完成整个操作流程,必须传递参数 return_url,即进入商户系统的下一个操作页面。天津大学 2007 届本科生毕业设计(论文)18图4-2请求/响应模式示意图图4-3请求/响应模式时序图(2)(2)主动通知交互模式:买家从商户网站跳转到第三方支付平台,在该平台完成最后操作
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!