第7章安全交易协议与支付技术1.了解安全交易协议是一种通过验证买卖双方身份、确保网上交易安全的方法;2.理解SSL协议与SET协议的设计思想,了解其主要应用情况及安全性能,了解二者的异同点;3.了解常用网上支付手段及其安全性;4.理解电子现金、电子钱包、电子支票、网上银行卡等不同电子支付工具的概念、特点,了解其应用方法和安全性能;5.掌握通过第三方支付平台实现网上结算的方法。学习目标与要求尹华是北京航空航天大学大四的学生,喜欢上网,并经常在网上购物。他与朋友聊起自己不久前在网上购物的一次奇特遭遇,至今仍心有余悸:“我当时上网就想买点便宜的东西,看见一个购物网站,上面卖的东西挺便宜,就选了几样,然后象往常一样点击网站提供的写有‘在线支付’字样的按钮。”尹华自谓是在网上闯荡多年的“老江湖”了,网上购物经验丰富,但这一次的网络交易却出乎他的意料。“点击‘在线支付’后弹出一个页面,咋一看是工行的,所以我就点了‘支付’按钮,输入我的卡号、密码,再点‘支付’按钮”。“尹华曾多次使用过工行的网上银行。往常点击‘支付’按钮以后,要么出现‘支付成功’,要么出现‘支付不成功’字样,但是这一次屏幕上却出现了‘该网页不存在’六个字。凭着在网络上多次购物的经验,尹华怀疑自己可能登录了一个虚假的银行网站。由于此时已经把银行账户和密码输入到这个假的银行网站上了,为了以防万一,尹华拿起自己的银行卡,飞奔到离宿舍最近的一个自动取款机取出了卡上的600元,但剩下的70元零头无法取出。回来后尹华仔细观察那网页,发现它与工行的页面虽然非常相似,但是网址不一样,工行是‘icbc’,而它的是‘lcbc’,只差一个字母,而尹华初登录时根本没有留意这一点。”之后等尹华再重新登录工商银行网站,检查自己卡里的余额时,发现刚才没有取出来的70多元钱已经不翼而飞。电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全性,特别是支付的安全性。本章将主要介绍电子商务系统常用的安全协议以及电子商务交易中常见的支付手段,并分析其安全性能。7.1安全交易协议概述7.1.1安全交易服务安全交易是电子商务发展的核心问题,支付系统安全则是安全交易的关键。因此,如何在开放的公用网上构筑安全的交易模式,一直是人们关注的话题和研究的热点。一个安全的电子交易模式,一般应提供以下五方面的安全服务:(1)数据保密:防止因信息被截获或非法读取而泄密。(2)对象认证:通信双方对各自通信对象的合法性、真实性进行确认,以防第三者假冒。(3)保持数据完整:阻止非法实体对交换数据的修改、插入、删除,防止数据丢失。(4)防抵赖:证实已发生过的操作,防止交易双方对发生的行为抵赖。(5)访问控制:防止非授权用户非法使用系统资源。7.1.2常用的安全交易协议(1)安全超文本传输(S-HTTP)协议。(2)安全套接层(SecureSocketsLayer,SSL)协议。(3)3-Dsecure协议(4)安全电子邮件协议(PEM、S/MIME)7.2基于SSL协议的支付技术7.2.1SSL协议的概念安全套接层协议(SSL协议)是网景(Netscape)公司设计开发的基于Web应用的安全协议,它是在网络传输层上提供的一种基于RSA和保密密钥的、用于浏览器和Web服务器之间的安全连接技术,可实现服务器认证、客户认证,并保证SSL链路上的数据的完整性和保密性。7.2.2SSL协议的工作原理SSL协议使用通讯双方的客户证书以及CA证书,让客户和服务器以一种避免被偷听的方式通讯,在通讯双方间建立起一条安全的、可信任的通讯通道。SSL协议包括SSL记录协议和SSL握手协议两个子协议。7.2.3SSL协议的工作流程SSL协议的工作流程可划分为服务器认证和用户认证两个主要阶段。SSL协议在服务器认证阶段主要完成如下操作:(1)客户端向服务器发送一个开始信息“Hello”,以便开始一个新的会话连接;(2)服务器根据客户发送的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将提供生成主密钥所需的信息;(3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;(4)服务器解密该主密钥,并返回给客户一个用主密钥加密的信息,以此让客户认证服务器。7.2.4SSL协议的应用SSL协议主要提供三方面的服务:一是认证用户和服务器,使得它们能够确信数据将被发送到正确的客户机和服务器上;二是加密数据,以隐藏被传送的数据;三是维护数据的完整性,确保数据在传输过程中不被改变。SSL协议提供了两台机器间的安全连接。支付系统、在线银行和其他金融系统常常构建在SSL协议之上,以传输信用卡卡号。SSL协议被广泛应用的原因在于它被大部分Web浏览器和Web服务器所内置,比较容易被应用。SSL协议的应用主要有下述两种形式。7.2.4.1SecurePay实时信用卡交易服务系统SecurePay实时信用卡交易服务系统面向电子商务业务提供商,帮助商家解决银行支付、订单处理等技术上的问题。7.2.4.2IPS在线支付系统IPS(InternetPaymentSystem)是由环球实业科技股份有限公司投入大量资金和科研实力开发出的网上支付系统。7.2.4.2.1IPS在线支付流程上海环迅是环球实业科技股份有限公司的子公司。环迅IPS目前已成为借记卡受理能力最强的在线支付安全平台,中国大陆、香港、澳门、新加坡等地的借记卡都可以通过环迅IPS进行安全支付。i付通(IPS)网上购物人民币支付流程如图7—13所示。图7—3i付通(IPS)网上购物人民币卡支付流程图7—4i付通(IPS)国际卡支付流程7.2.4.2.2IPS在线支付系统的安全IPS网上交易的传输安全控制手段采用Internet上广泛使用的SSL协议。IPS安全平台服务器一端安装的是全球著名认证中心Version的SSL证书(128位),客户端的浏览器发送CGI请求时使用S-HTTP协议。7.2.5SSL协议的安全性能分析SSL协议是基于WEB应用的安全协议,它指定了一种在应用程序协议和TCP/lP协议间提供数据安全性分层的机制。(1)SSL协议的加密机制:SSL采用RsA、DES,3DES等、密码体制以及MD系列HASH函数、Diffie-Hellman密钥交换算法。(2)SSL协议提供的安全服务:SSL为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。(3)SSL协议的应用领域:主要用于WEB通信安全、电子商务,还被用在对SMTP,POP3,Telnet等应用服务的安全保障上。(4)SSL协议的优点:SSL设置简单成本低,银行和商家无须大规模系统改造;凡构建于TCP/IP协议簇上的C/S模式需进行安全通信时都可使用,持卡人想进行电于商务交易,无须在自己的电脑上安装专门软件,只要浏览器支持即可;SSL在应用层协议通信前就已完成加密算法,通信密钥的协商及服务器认证工作,此后应用层协议所传送的所有数据都会被加密,从而保证通信的安全性。(5)SSL协议的缺点:SSL除了传输过程外不能提供任何安全保证;不能提供交易的不可否认性;客户认证是可选的,所以无法保证购买者就是该信用卡合法拥有者;SSL不是专为信用卡交易而设计,在多方参与的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。7.3基于SET协议的支付技术随着因特网、计算机技术、信息技术的迅速发展,电子商务已深入到社会生活的各个方面。多用于信用卡业务的SET协议,目前已经成为实现安全网上购物所必需的一部分。7.3.1SET协议概述7.3.1.1SET协议的基本概念SET协议主要是为了解决用户、商家和银行之间通过信用卡支付的交易安全问题而设计的,它可保证支付信息的机密性、支付过程的完整性、商户及持卡人的合法身份以及网上支付的可操作性。SET协议的核心技术主要有公开密匙加密、数字签名、数字信封、电子安全证书等。7.3.1.2SET协议的设计指导思想SET协议主要应用于保障网上购物信息的安全性,设计时必须力求实现以下功能:(1)保证信息的机密性。(2)验证交易各方。(3)保证支付的完整性和一致性。(4)保证互操作性。(5)订单信息和个人账号信息的隔离。事实上,SET协议通过四种安全措施来保护网上支付信息的安全性:(1)持卡人能够确认收款商家是否有权以采用SET协议的安全方式接收支付卡。(2)采用SET协议的商家能够确认交易中正在使用的支付卡。(3)SET协议采用先进的公用密码系统以及数字签名、数字证书等技术。(4)SET保证支付信息只能被指定的接收方阅读,且只能被采用SET协议的商家与金融机构破译,同时商家只能看到订货信息而看不到持卡人的账号。7.3.2基于SET协议的支付系统的组成及其工作流程在一些发达国家,信用卡支付已成为购物支付的主要手段。然而,怎样保证信用卡信息能够安全地在开放的公用网络上传送呢?这是网上支付安全技术需要解决的关键问题。SET协议妥善地解决了信用卡在电子商务中的信息保密、资料完整以及身份认证等问题,目前已被公认为网上支付的安全标准之一。世界上已有不少公司推出符合SET协议的应用软件,供用户选用。我国实现网上支付的电子商场也大多采用了SET协议。根据SET协议设计的网上安全支付应用软件,必须经过SET协议验证才能批准使用。凡经验证符合标准的软件,均标以特定的SET图标供用户鉴别。SET协议利用发放给客户、商家、银行以及信用卡公司的数字证书,进行一系列的认证与安全检验,提高了信用卡信息在交易过程中的防伪性与安全性。7.3.2.1基于SET协议的支付系统的组成一个符合SET标准的网上安全支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包、商家服务器软件、支付网关和认证机构(签发证书)软件四个子系统。(1)电子钱包。(2)商家服务器软件。(3)支付网关。(4)认证机构软件。7.3.2.2基于SET协议的支付系统的工作流程SET协议规定了交易各方进行安全交易的具体流程。在电脑上运行基于SET协议支付系统后,网上购物的流程与实际购物的流程就变得十分类似。其具体的流程为:(1)消费者利用自己的电脑通过Internet选定所要购买的物品,并形成订货单,订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。(2)消费者通过电子商务服务器与有关在线商店联系,在线商店作出应答,并确定消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否有变化。(3)消费者选择付款方式,确认订单,签发付款指令。此时SET协议开始介入。(4)在SET协议下,消费者必须对订单和付款指令进行数字签名,同时可利用双重签名技术保证商家看不到自己的账号信息。(5)在线商店接受订单后,向消费者指定银行请求支付认可。信息通过支付网关传输到收单银行,收单银行再将之传输到电子货币发行公司进行确认。确认后,银行批准交易,反馈确认信息给在线商店。(6)在线商店发送订单确认信息给消费者。消费者端软件可记录交易日志,以备将来查询。(7)在线商店发送货物或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结当天的账。从上述步骤看,前两步与SET协议无关,从第(3)步开始一直到第(6)步,SET协议发挥了很大作用。在处理过程中,对通信协议、请求信息的格式、数据类型的定义等SET协议都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA中心来验证通信主体的身份,以确保通信的对方不是冒名顶替,所以,也可以简单地认为SET协议充分发挥了认证中心的作用,维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。7.3.3SET协议的安全性能分析7.3.3.1SET协议的安全性能(1)采用公钥加密和私钥加密相结合