第5章网上支付5.1银行卡支付5.2电子支付5.3电子现金5.4网上支付系统的比较5.1银行卡支付一、网上银行卡支付问题二、基于SSL的银行卡支付系统三、基于SET的银行卡支付系统四、FirstVirtual五、CyberCash一、网上银行卡支付问题银行卡:由银行发给消费者的一种支付工具。类别有借记卡—先存款,后消费。贷记卡—先消费,后存款。银行卡支付通常涉及三方:消费者(持卡人);商户和银行。支付过程:包括清算和结算。清算为支付指令的传递,结算与支付相关的资金转移。传统的在金融专用网,银行卡在因特网上银行卡支付的流程1、持卡人用卡进行消费,结账时交验银行卡,将卡插入POS机输入数据,通过通信线路传到银行,请求授权支付。2、发卡行核实账户合法性和可用余额后,告诉特约商户同意交易,然后从持卡人账户扣除相应金额,划入特约商户的银行账户;3、商户提供商品或服务,并要求持卡人签字;4、发卡行每月向持卡人提供对账单二、基于SSL的银行卡支付系统1、SSL协议概述:最早由Netscape公司于1994年11月提出,即SSLV2.0Internet-Draft版本。1996年3月,经5次改进,推出SSLV3.0Internet-Draft版本,支持更多加密算法。IETF所采纳,制定为传输层安全(transportlayersecurity,TLS)标准,成为Web上部署最为广泛的信息安全协议之一。安全套接层协议SSL(securesocketlayer)是在因特网基础上提供的一种保证机密性的安全协议。SSL建立在TCP协议之上,它的优势在于与应用层协议独立无关,应用层协议能透明地建立于SSL协议之上。它是目前在电子商务中应用最广泛的安全协议之一。2、SSL协议的功能(1)SSL服务器认证:允许客户机确认服务器身份。判断客户信任的CA,检查证书。(2)确认用户身份:检查客户证书的合法性。(3)保证数据传输的机密性和完整性。安全插口层SSL的功能模型3、SSL体系结构:SSL两层的工作内容握手层工作:传送数据前相互验证身份、协商加密算法、生成密钥等。SSL握手层过程SSL两层的实现的操作客户机认证服务器;允许客户机与服务器选择他们都支持的加密算法或密码;可选择的服务器认证客户;使用公钥技术生成共享密码;建立加密SSL连接4、基于SSL的银行卡支付过程1、持卡人登录商品发布站点,验证商户身份。2、若决定购买,向商户发出购买请求;3、商户返回同意支付等信息;4、持卡人验证支付网关的身份,填写支付信息,将订购信息和支付信息通过SSL传给商户,但支付信息被支付网关的公钥加密过,对商户是不可读5、商户用支付网关的公钥加密支付信息等,传给支付网关要求支付;4、基于SSL的银行卡支付过程6、支付网关解密商户传来的信息,通过传统的银行网络到发卡行验证持卡人的支付信息是否有效,并即时划账;7、支付网关用它的私钥加密结果,把结果返回商户;8、商户用支付网关的公钥解密后返回信息给持卡人,发货交易结束。三、基于SET的银行卡支付系统SET协议采用了对称密钥和非对称密钥体制,把对称密钥的快速、低成本和非对称密钥的有效性结合在一起,以保护在开放网络上传输的个人信息,保证交易信息的隐蔽性。安全电子交易SET是专为在因特网上进行安全支付卡交易的协议。(1)SET是专为与支付有关的报文进行加密的。(2)SET协议涉及到三方,即顾客、商家和商业银行。所有在这三方之间交互的敏感信息都被加密。(3)SET要求这三方都有证书。在SET交易中,商家看不见顾客传送给商业银行的信用卡号码。商业银行看不见…1.安全电子交易SET协议的主要目标:(1)保证电子参与者信息相互隔离。(2)保证信息在Internet上安全传输,防止数据被窃取。(3)解决多方认证。(4)保证网上交易的实时。(5)规范协议和消息格式。2.安全电子交易SET协议的安全服务:(1)确保在支付系统中支付信息和订购信息的安全性。(2)确保数据在传输过程中的完整性。(3)对持卡者身份的合法性进行检查。(4)对支付接收方身份的合法性进行检查。(5)提供最优的安全系统,以保护在电子贸易中的合法用户。(6)确保该标准不依赖于传输安全技术,也不限定任何安全技术的使用。(7)使通过网络和相应的软件所进行的交互作业简便易行。3.安全电子交易三个阶段:(1)购买请求阶段:持卡人与商家确定所用支付方式的细节。(2)支付认定阶段:商家向银行核实持卡人的情况。(3)受款阶段:商家向银行出示所有交易的细节,然后银行以适当方式转移货款。每个阶段都要使用不同的方法对数据加密,并进行数字签名。4.安全电子交易的参与者:(1)持卡人:是网上消费者或客户,持卡人申请一套SET交易的持卡人软件—称为电子钱包,再由CA发证书,才具备网上交易条件。网上交易是由嵌入在浏览器中的电子钱包软件来实现的,电子钱包具有发送、接受信息,存储自身签名公钥和参与方的公开密钥交换密钥,申请、接收和保存认证等功能,还其他功能如增删改银行卡,检查证书状态,显示银行卡信息和交易历史记录等。(2)商户(特约商店):是网上商店的经营者,在开户行有账号,商户申请一套SET交易的商家软件,再由CA发证书,才具备网上交易条件。(3)支付网关:是由收单银行或指定的第三方操作的专用系统,用于处理支付授权和支付。专用系统实现隔离和格式转换;(4)收单银行:为商户建立账户并处理支付授权和支付。不是SET交易的直接组成部分,但支付网关将支付请求通过专用网转给收单银行进行银行内部的联网支付处理。(5)发卡银行:为持卡人建立账户并处理支付授权和支付。保证对经授权的交易进行付款。发卡银行也不是SET交易的直接组成部分,但发卡银行通过专用网与收单银行进行银行内部的联网支付处理。(6)认证中心:CA提供的功能:批准证书请求:生成密钥对:密钥的备份:签名撤消证书:颁发证书:生成证书并签名,以适当方式发给用户。管理证书:记录已颁发证书和撤消的证书。用户管理:新提交的申请与现存标识名比较拒绝重复。吊销证书:在证书有效期内使其无效,发布CRL(CertificateRevocationList)验证申请者身份:必要的身份验证保护证书服务器:证书服务器安全制定政策:公布制定CA的政策5.SET协议采用的加密和认证技术:(1)对称密钥加密:(2)公钥加密技术:(3)Hash算法:(4)数字签名:(5)数字证书:(6)双重签名:3.SET购物流程1.持卡人使用浏览器在商户的WEB主页上查看在线商品目录浏览商品。2.持卡人选择要购买的商品3.持卡人填写相应的订单,订单可从商户服务器以电子形式发放,也可通过电子购物软件在持卡人自己的机器上创建。4.持卡人选择付款方式,当选择SET方式进行付款时,SET开始起作用。5.持卡人发送给商户订单和付款指令。在SET中,订单和付款指令由持卡人签名。同时利用双重签名保证商户看不到账号信息。6.商户收到订单后,向持卡人所在银行发出支付请求。支付信息通过支付网关到收单银行,再到发卡银行。支付请求获得发卡银行授权后,返回给商户。7.商户将订单确认信息通知持卡人,同时发货或完成订购服务。8.持卡人终端软件记录交易日志,以备查询。SET购物流程.SET协议的交易过程:(1)顾客告诉商家想用信用卡购买商家的物品。(2)商家将物品清单和一个唯一标识符发给顾客(3)商家将其证书(含公钥)发给顾客,商家将其银行证书(含公钥)发给顾客。(4)顾客用CA的公钥对两个数字证书解密,顾客有商家公钥和银行公钥。(5)顾客生成两个数据包,给商家的订单信息OI和给银行的支付指令PI;OI用商家公钥加密,PI用银行公钥加密,并加密后的PI和OI发给商家。(6)商家生成对信用卡支付请求的授权请求。(7)商家用银行的公钥将含授权请求的报文加密及PI和商家的证书发送给银行。(8)商家的开户银行收到此报文,将其解密,并检查报文的一致性,及客户的PI数据包的一致性。(9)商家的开户银行向客户的开户银行发请求支付授权的报文。(10)客户的开户银行准许支付,向商家的开户银行发响应。SET协议的购物流程4.SET支付消息SET协议执行流程的过程,一笔完整的购买交易通常包括四对SET支付消息:1.支付发起请求/支付发起应答:支付发起请求/支付发起应答主要完成初始化工作,持卡人选中商品后,发出支付发起请求;2.购买请求/购买应答:购买请求是持卡人向商户发出的两个要素;订单信息(OI)和支付指令3.授权请求/授权应答:授权过程商户验证持卡人的信用;验证订单信息(OI)和支付指令4.支付请求/支付应答:收单行将支付请求发给发卡行,发卡行从持卡人账户扣款,向收单行发送支付应答,收单行验证后,贷记商户账户,经支付网关向商户发支付应答。4.SET支付消息1.支付发起请求/支付发起应答:1.支付发起请求/支付发起应答:支付发起请求/支付发起应答主要完成初始化工作,持卡人选中商品后,发出支付发起请求支付发起请求包括:持卡人所选择的支付品牌、持卡人使用的标识、持卡人软件已存储的证书列表等。商户收到支付发起请求后,生成交易ID以区别其他购买。支付发起应答包括:交易ID、证书和当前日期等,商户公钥和收单行公钥2.购买请求/购买应答:购买请求是持卡人向商户发出的两个要素;订单信息(OI)和支付指令3.授权请求/授权应答:授权过程商户验证持卡人的信用;验证订单信息(OI)和支付指令4.支付请求/支付应答:收单行将支付请求发给发卡行,发卡行从持卡人账户扣款,向收单行发送支付应答,收单行验证后,贷记商户账户,经支付网关向商户发支付应答。双重签名消费者的订单信息(OIorderinformation)→商家;支付命令(PIpaymentinstruction)→银行。持卡人发送采购请求商家核对消费者的发送采购信息SET交易的安全性7.SET协议采用安全措施:(1)通过加密保证信息的机密性。(2)通过数据签名进行身份签别。(3)使用X.509V3数据证书来提供信任。(4)使用Hash算法保证数据的完整性。5.SET交易流程与传统银行卡交易流程的比较消费者与商户:网络进行交易,不见面;防窃取和篡改存在消费者、商户身份真实性购物后签名的真伪,防伪造和抵赖,双重数字签名SET协议交易保留了传统银行卡交易的基本流程,加上基于数字证书的安全加密及数字认证系统。6.SET与SSL的比较1.认证方面:SET安全需求较高,交易成员要有证书,SSL可选择2.对消费者:SET保证了商户的合法性,卡的信息保密3.安全性方面:SET高于SSL,SSL只限于持卡人到商家的信息交流4.应用性:SET有互操作接口,一个系统可由不同的产品构筑。只用于支付5.采用比率:SET成本高,SSL普及率高80%(1)认证方面:SET实现多方认证,SSL只进行单方或双方认证(2)安全性方面:SSL只对交易双方信息交换进行加密保护,而SET对交易的各方都进行了加密保护和认证工作。(3)协议位置:SSL是基于传输层;SET位于应用层。(4)应用方面:SSL主要和Web应用一起工作,主要用于客户机与服务器之间的通讯,应用范围较广;SET只为银行卡支付交易服务。(5)处理速度:SET复杂、庞大处理速度慢;SSL简单处理速度快。SET的缺陷:在银行、商户、消费者安装相应的软件,成本高。私钥和证书的重要SET优点:可以用在系统的一部分或全部。商户和银行使用SET,与顾客仍使用SSL。四、FirstVirtual第一虚拟公司(FirstVirtualHoldings,Inc.)是在互联网上开发以信用卡为基础的支付模式的公司。此模式简称为VPIN,是不用加密的支付系统,不需要专用的软件。主要用于销售低价的信息产品,无商品配送问题,但不能完全防欺诈。VPIN或卡丢失FV交易前准备1.交易前,商户和买方要到FV登记。2.买方要