1、电子商务系统分析与设计,第8章 电子商务支付系统设计,第八章 电子商务支付系统设计,8.1 电子支付8.2 电子支付协议8.3 电子支付与认证8.4 电子支付系统8.5 电子商务支付系统设计,电子支付,电子支付是电子商务活动中不可或缺的手段。电子支付过程是一个涉及买卖双方、银行的复杂过程,企业很难仅依靠自身的力量解决交易过程中支付问题。电子商务支付系统与电子货币、支付手段等存在密切的关系。,本章要点,电子支付的形式电子支付的协议电子支付的过程和规范电子支付系统的结构与设计问题,8.1 电子支付,电子支付的定义1989年美国法律学会的统一商业法中定义:电子支付是支付命令发送方把存放于商业银行的资
2、金,通过一条线路划入收益方开户银行,以支付给收益方的一系列转移过程。考虑到其实现方式和支付手段,给出如下定义:电子支付是将传统的支付业务,利用有线、无线通信技术,延伸到个人、家庭、企业,或利用信息技术,用电子信息流支付指令代替现金支付行为,使用户可以实现远程支付或即时支付。,电子支付的定义考虑到电子支付的基础和实现手段,电子支付是以金融电子化网络为基础,以商用电子化机具和各类交易卡为媒介,以计算机技术和通信技术为手段,以电子数据(二进制数据)形式存储在银行的计算机系统中,并通过计算机网络系统以电子信息传递形式实现流通和支付。考虑到电子支付的实现目的,电子支付是指单位、个人通过电子终端,直接或间
3、接向银行业金融机构发出支付指令,实现货币支付与资金转移。,电子支付的定义较全面的定义是,电子支付是指单位、个人通过电子终端,直接或间接向银行业金融机构或其他具有资金转移能力的企业发出支付指令,实现货币支付与资金转移。,电子支付的特点,采用先进的技术通过数据流转来完成信息传输的。其各种支付方式都是采用数字化的方式进行款项支付的传统的支付方式则是通过现金的流转、票据的转让及银行的汇兑等物理实体的流转来完成款项支付的基于一个开放的系统平台(即Internet)之中传统支付是在较封闭的系统中运作使用最先进的通信手段具有方便、快捷、高效、经济的优势,电子支付的发展,电子支付方式的出现要早于互联网,电子支
4、付的5种形式分别代表着电子支付的不同发展阶段:,银行之间,银行与机构,自动柜员机,销售终端,网上支付,银行之间业务办理结算,银行与其它机构之间的结算:代发工资、代交费等,用户在自动柜员机上存取款,通过互联网随时随地进行直接转帐结算,在银行销售点终端提供自动扣款业务,电子支付的发展阶段,第一阶段是银行利用计算机处理银行之间的业务,办理结算 第二阶段是银行计算机与其他机构计算机之间资金的结算,如代发工资等业务第三阶段是利用网络终端向客户提供各项银行服务,如为客户在自动柜员机(ATM)上提供的取存款服务等第四阶段是利用银行销售点终端(POS)向客户提供自动的扣款服务 第五阶段是最新发展阶段,电子支付
5、可随时随地通过互联网络进行直接转账结算,形成电子商务环境。这是正在发展的形式,又称这一阶段的电子支付叫网上支付。,网上购物流程,电子支付的安全要求,信息保密性:与传统支付方式相比,网上支付中的商务信息具有更严格的保密要求。交易者身份的确定性:通过网络相连,不能谋面,很难直接确定对方的真实身份,商家会担心客户端是不是骗子,客户会担心网上的商店是不是玩弄欺诈的黑店。这就需要网络系统提供能够方便而安全地确认对方身份的保障措施。不可否认性:无论在网上还是在传统市场中,商情都是瞬息万变的。交易一旦达成则不可否认,否则必然导致市场的紊乱与交易一方利益的受损。不可修改性:如果支付细节是可以被修改的,那结果一
6、定比可以否认还要坏,故支付细节应是不可被修改的。,8.1.2 电子支付的分类,按照采用的通信手段在线支付电话支付、Internet支付、移动支付离线支付接触式、非接触式按照支付模式按照支付金额的大小,8.1.2 电子支付的分类,按照采用的通信手段按照支付模式充值卡支付银行与邮政汇款支付网上银行第三方支付电话支付:适合小额支付按照支付金额的大小,8.1.2 电子支付的分类,按照采用的通信手段按照支付模式按照支付金额的大小基于网络的小额电子支付基于信用卡的小额电子支付大额电子汇兑系统,8.1.3 电子支付的主要形式,1.电子现金电子现金是一种以数据形式流通的货币它把现金数值转换成为一系列的加密序列
7、数,通过这些序列数来表示现实中各种金额的币值,用户在开展电子现金业务的银行开设帐户并在帐户内存钱后,就可以在接受电子现金的商家使用。电子现金使用时与纸质现金完全类似,多用于小额支付,是一种储值型的支付工具。,电子现金的支付过程,(1)购买电子现金(2)存储电子现金(3)用电子现金购买商品或服务(4)资金清算(5)确认订单,2. 电子支票,电子支票是一种借鉴纸质支票转移支付的优点,用数字化手段将支票改变为带有数字签名的报文或利用数字电文代替支票全部信息,利用数字传递将钱款从一个帐户转移到另一个帐户的电子付款过程。使用要求:客户在银行有帐户,帐户上有资金银行提供电子支票服务,客户注册后得到电子支票
8、,电子支票的支付流程,3.微支付,微支付(Micropayment)的特征是能够处理任意小量的钱,适合于Internet上“不可触摸(Non-tangible)商品”的销售。特点:交易额小、安全性低、效率高、应用范围特殊适用于收费的信息产品,如网上新闻、网上证券、信息查询、资料检索和小额软件下载等,典型的微支付模型,4.基于支付协议的卡基支付,最常见的电子支付方式主要采用两种支付协议SSL协议SET协议,8.2 电子支付协议,8.2.1 电子支付协议的概念电子支付协议是指约束电子商务交易双方支付过程及行为的标准、规范的集合。是参与支付的各个实体(例如买卖方、网络银行等)的行为准则。三方支付协议
9、(如SET)两方支付协议(如SSL和电子现金),8.2.2 SSL协议,1. SSL协议概述SSL -Secure Socket Layer安全套接字层协议最先由Netscape Communication公司设计开发,现在广泛用于Internet上的身份认证以及Web服务器和用户端浏览器之间的数据安全通信。SSL使用了证书、数字签名、以及加密技术(基于RSA)等多种技术。采用SSL协议,可确保信息在传输过程中不被修改,实现数据的保密与完整性。,1. SSL协议概述,制定SSL协议的宗旨是为通信双方提供安全可靠的通信协议服务,协议包括两个层次:SSL记录协议:用来对其上层协议进行封装。握手协议
10、(通讯协议):允许客户端与服务器彼此认证对方,并且在应用协议发出或收到第一个数据之前协商加密算法和加密密钥。保证应用协议的独立性,使低级协议对高级协议透明。见下页图,SSL Protocol Stack,SSL位于TCP/IP协议和应用协议之间,IP,SSL ChangeCipher SpecProtocol,SSL AlertProtocol,Application Protocol,TCP,SSL Record Protocol,SSL HandshakeProtocol,HTTP,LDAP,IMAP,应用层会话层传输层,SSL体系结构,SSL 记录协议( Record Protocol)
11、所有从更高层协议来的数据都是通过记录层到达传输层。记录层发送的数据块称为有固定长度的记录。一个记录包括内容的类型、协议的版本号、长度和经过压缩和加密的数据。每个信息都具有以下功能:分段数据,对信息分割或结合到一个记录中在数据发送前进行压缩对记录的数据部分加密,通讯协议:有四个通讯协议Handshake protocol:定义在两个实体间建立一个SSL会话的一系列事件SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。第一阶段是通信的初始化阶段,首先SSL要求服务器向浏览器出示证书 ;浏览器中的SSL软件发给服务器一个随机产生的传输密钥 第二阶段的主要任务是对客
12、户进行认证Change Cipher Specification protocol:是握手协议的子集。它的主要功能是表明中在加密部分中有变化的其他部分Alert protocol:处理错误。一个警告信息包括两个部分,实际错误的描述和错误的安全级别。Application protocol:负责从应用层将信息传送到记录层,SSL握手协议(Handshake Protocol),SSL握手协议(Handshake Protocol),(1)接通阶段(2)密钥交换阶段(3)会话密钥生成阶段(4)服务器证实阶段(5)客户机认证阶段(6)结束阶段,SSL协议的服务,认证用户和服务器,使得他们能够确信数据
13、将被发送到正确的客户和服务器上加密数据,以保证数据在传送过程中的安全,即使数据被窃,盗窃者没有解密密钥也得不到可读的资料维护数据的完整性,确保数据在传送过程中不被改变。,SSL的应用,要实现浏览器(或其他客户端应用)和Web服务器(或其他服务器)之间的安全SSL信息传输,必须在Web服务器端安装支持SSL的Web服务器证书,在浏览器端安装支持SSL的客户端证书(可选),然后把URL中的“http:/”更换为“https:/”。,SSL的缺陷,对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性。不能使交易一方
14、确信此时公司所接收的信用卡支付是得到授权的。,8.2.3 SET协议,1.SET协议基本概念SET-Secure Electronic Transaction,安全电子交易协议是由Visa和MasterCard两大信用卡组织联合开发的电子商务安全协议。它是一种基于消息流的协议,用来保证公共网络上银行卡支付交易的安全性,因而成为Internet上进行在线交易的电子付款系统规范。,1.SET协议基本概念,SET协议的目标信息在Internet上的安全传输,保证网上传输的数据不被黑客窃听; 订单信息和个人账号信息的隔离,在将包括消费者账号信息的订单送到商家时,商家只能看到订货信息,而看不到消费者的账
15、户信息; 消费者和商家的相互认证,以确定通信双方的身份,一般由第三方机构负责为在线通信双方提供信用担保;,Using SET in E-commerce Transactions,2. SET协议加密和解密流程,加密流程P219 图8-4解密流程P220 图8-5,支付协议中采用的加密技术,1数字信封:SET依靠密码系统保证消息的可靠传输,在SET中,使用DES算法产生的对称密钥来加密数据,然后,将此对称密钥用接收者的公钥加密,称为消息的“数字信封”,将其和数据一起送给接收者,接收者先用他的私钥解密数字信封,得到对称密钥,然后使用对称密钥解开数据。 2数字签名:由于公开密钥和私有密钥之间存在的
16、数学关系,使用其中一个密钥加密的数据只能用另一个密钥解开,SET中使用RSA算法来实现。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁。这就保证了发送者对所发信息不能抵赖。,支付协议中采用的加密技术,3.消息摘要:在SET协议中,原文通过SHA-1算法生成消息的文摘。4.双重签名:为了保证消费者的账号等重要信息对商家隐蔽,SET中采用了双重签名技术,它是SET推出的数字签名的新应用。首先生成两条消息的摘要,将两个摘要连接起来,生成一个新的摘要(称为双重签名),然后用签发者的私有密钥加密,为了让接收者验证双重签名,还必须将另外一条消息的摘要一块传过
17、去。这样,任何一个消息的接收者都可以通过以下方法验证消息的真实性:生成消息摘要,将它和另外一个消息摘要连接起来,生成新的摘要,如果它与解密后的双重签名相等,就可以确定消息是真实的。,加密、签名和消息摘要的过程,3. SET协议中的角色,持卡人:在电子商务环境中,消费者和团体购买者通过计算机与商家交流,持卡人通过由发卡机构颁发的付款卡(例如信用卡、借记卡)进行结算。发卡机构:是一个金融机构,为每一个建立了帐户的顾客颁发支付卡,发卡机构根据不同品牌卡的规定和政策,保证对每一笔认证交易的付款。商家:提供商品或服务,使用SET,就可以保证持卡人个人信息的安全。接受卡支付的商家必须和银行有关系。银行:在
18、线交易的商家在银行开立帐号,并且处理支付卡的认证和支付。,3. SET协议中的角色,支付网关:是由银行操作的,将Internet上的传输数据转换为金融机构内部数据的设备,或由指派的第三方处理商家支付信息和顾客的支付指令。品牌:根据市场需要,金融机构建立不同的支付卡品牌,每种支付卡品牌有不同的政策(包括消费方式等)。第三方:发卡行和收单行有时指定第三方来处理支付卡交易,在SET协议中没有区分金融机构和交易处理者,认为是一家。,4. SET协议购物流程,持卡人使用浏览器,在商家的Web主页上查看在线商品目录,浏览商品信息。持卡人选择要购买的商品持卡人填写订单。订单是通过电子化方式从商家传过来,或由
19、持卡人的电子购物钱包建立。持卡人选择付款方式,此时SET开始介入。持卡人向商家发送一个完整的订单及要求付款的指令。在SET协议中,订单和付款指令由持卡人进行数字签名,同时利用双重签名技术保证商家无从得知持卡人的帐号信息;商家接受订单后,向持卡人的金融机构请求支付认可。通过支付网关到银行,再得到发卡机构确认,批准交易,然后返回确认信息给商家。商家向用户发送订单确认信息,客户端软件记录交易日志,以备将来查询。商家发送货物,或完成订购服务。交易成功,商家向持卡人的金融机构请求支付。,SET协议的工作流程,持卡人,特约商户,收单银行,1.确认商店的合法性,2.提交商店的证书,3.数字签名、订单和数字证
20、书,6.订单确认、交易完成,4.请求交易授权,5.交易授权回复,7.付款请求,8.请求回复,SET协议的工作流程,8.2.4 SET与SSL的比较,安全套接层(SSL)协议是由网景(Netscape)公司提出的一种安全通信协议,它能对信用卡和个人信息提供较强的保护。SET协议比SSL协议复杂,在理论上安全性也更高,因为前者不仅加密两个端点间的单人会话,还可以加密和认定三方的多个信息,而这是SSL协议所未能解决的问题。SET标准的安全程度很高,它结合了数据加密标准(DES)、RSA算法和安全超文本传输协议(S-HTTP),为每一项交易都提供了多层加密。SET也有自己的缺陷,例如目前大多数基于SE
21、T的交易都要通过信用卡进行处理。此外SET过于复杂,所以对商户、用户和银行的要求都比较高,推行起来遇到的阻力也比较大。,SET的缺陷,SET的复杂性和认证机制决定了完全采用SET实施的应用系统寥寥无几,其困难不在于技术实施,而在于建立一个为商家、银行、发卡机构和消费者普便认可的证书权威认证机构CA及其认证体系,这是一个敏感的商业问题,牵涉多方利益,很难协调。SET的另一个弱点,是作为一种卡支付协议,对别的安全协议,如SSL、IP sec/VPN、S/MIME等不兼容,所以,SET协议不但不支持除了卡支付以外的其它支付方式,更不能支持电子商务中另一种增长较快、交易额较大的网上交易方式B2B的电子
22、商务。,8.3 电子支付与认证,8.3.1 认证机构的概念认证机构是PKI的核心组成部分,简称为CA。是数字证书的签发机构。,8.3.2 认证机构的主要功能,1.证书的申请2.证书的审批3.证书的颁发4.证书的归档及撤销5.证书的更新6.密钥的备份与恢复7.证书废止列表(CRL)的管理,8.4 电子支付系统,8.4.1 电子支付系统的建设1.建设原则系统的安全性系统的简洁性系统的经济性系统的多样性,2.支付子系统的主要功能,进行支付系统设计时,主要分两方面的内容:1.针对客户的支付系统设计支付方式的选择账户管理,2.电子商务网站系统的支付管理功能支付平台管理功能客户帐户的管理汇款的管理各种代金
23、券的管理其他支付手段的管理,8.4.2 电子支付平台的选择,目前主要的电子支付平台首信易支付易宝支付云网银联电子支付支付宝贝宝安付通,8.5 电子商务支付系统设计,案例:商场支付系统的uml设计与分析该项目一个用于商品零售的支付系统,支持多种付款方式以及实时结算清算的高性能现代化支付系统。使用对象:所有的具有独立结算和网络化的商品销售网点和超市目标:提高结算的自动化水平,为业务过程提供更快捷的、更好的和更经济的服务为顾客快速结帐进行快速准确的销售统计分析仓储控制自动化,系统基本功能,处理支付的功能,支付系统的用例和参与者,用例现金支付、信用卡支付、支票支付外部参与者明显的有:出纳、顾客隐蔽的有?,信用卡授权服务机构支票授权服务机构应收系统,基本用例图,类图,buyItems的状态图分析,信用卡支付交易的操作序列图,一个支付过程中的消息传递的协作图,活动图,程序组织和构建图,以下是程序的主要组件之间的关系图,程序的界面主要由menu.dll第三方控件实现,数据库访问通过ODBC连接oralce数据库系统,系统部署和实施图,系统结构以客户端-服务器端-数据库 三层模式分布,通过商场之间的网络专线以及其他金融机构之间的网络专线通信。,