国开《网络实用技术基础》第五章 5.3 网络支付安全
5.3 网络支付安全
一、网络支付安全概述
网络支付是指单位或个人直接或授权他人使用通用终端,通过公共网络以网络应用协议规定的格式发出支付指令,实现货币支付与资金转移的行为。网络支付安全问题已成为电子商务支付体系的最大威胁,如何遏制机密窃取、权限滥用、网上欺诈和钓鱼等不法行为,是网络支付安全技术领域中亟待解决的关键问题。
如图5-10所示,在2013年危害网络支付安全的事件中,假冒网站/诈骗网站的比例达57.1%,个人信息泄露的比例达39.3%,资金被盗/被骗和账号或密码被盗的比例达32.1%。
图5-10 2013年网络支付发生的安全问题
从安全和信任关系来看,在传统交易过程中,销售者与消费者是面对面的,因此较容易保证交易过程的安全性,进而建立起互信关系。而在电子商务过程中,销售者与消费者通过Internet联系。Internet既不安全,也不可信,在网络支付过程中销售者和消费者都面临着不同的安全威胁,因此,交易双方难以建立安全和信任关系。
销售者所面临的安全威胁主要包括:
1.入侵者假冒成合法用户,改变商品送达地等用户数据、解除用户订单或生成虚假订单。
2.恶意竞争者以他人的名义来订购商品,从而了解有关商品的递送状况及货物的库存情况。
3.欺诈者通过伪造与销售者服务器域名类似的另一个服务器来假冒销售者。
4.消费者提交订单后不付款或生成虚假订单等。
消费者所面临的安全威胁主要包括:
1.在客户付款后,销售内部人员不将订单和资金转发给执行部门,使客户无法收到商品。
2.客户的个人私密信息可能被攻击者通过窃听或冒充销售商等手段非法获取。
3.攻击者可能向销售商的服务器发送大量的虚假订单来耗尽它的资源,使合法用户不能正常获取服务。
二、网络支付安全措施
1.安全认证技术
安全认证技术是网络安全的基础,认证是指验证所传输的消息和数据是否属实、是否有效的过程,即验证消息及数据的完整性。认证技术一般可分为身份认证和消息认证两种技术。
1)身份认证技术
身份认证用于鉴别用户身份,是验证用户所声称身份与其真实身份是否一致的过程。在计算机网络系统中,常通过三种途径来对用户身份进行验证:
● 根据用户所掌握的信息来验证身份,如用户名和口令等。
● 通过用户所拥有的工具来验证身份,如USBKey等。
● 根据用户的某些生理特征来验证身份,如指纹和视网膜等。
表5-8比较了上述几种身份认证技术的特点。
表5-8 身份认证技术对比
认证方式 | 特点 | 应用 | 产品 |
---|---|---|---|
用户名/口令 | 简单易行,极不安全 | 保护非关键性的系统,不能保护敏感信息 | 各种应用软件 |
动态口令 | 一次一密,较高安全性 | 使用烦琐,有可能造成新的安全漏洞 | 动态令牌等 |
动态口令 | 一次一密,较高安全性 | 使用烦琐,有可能造成新的安全漏洞 | 动态令牌等 |
USB Key认证 | 一次一密,安全可靠,成本低廉 | 易于部署,方便使用,便于扩展 | 数字证书等 |
生物特征认证 | 安全性高,成本高昂 | 技术不成熟,准确性和稳定性有待提高 | 指纹认证系统等 |
2)消息认证
消息认证是确保消息来源的真实性和消息内容的完整性的方法,通过对消息或者与消息有关的信息进行加密或签名变换来防止传输和存储的消息被篡改或伪造。
目前,消息认证技术主要包括:数字指纹、数字签名、数字信封和数字时间戳等。
数字指纹
数字指纹(Digital Fingerprinting)也称为信息摘要,是RonRivest发明的一种单向加密算法。如图5-11所示,数字指纹技术利用哈希(Hash)函数对原信息进行数学变换,得到一个固定长度(128位)的散列值。不同信息产生的散列值并不相同,相同信息产生的散列值必定相同,因此信息摘要类似人的“指纹”,可通过数字指纹鉴别原信息的真伪,验证信息的完整性。
图5-11数字指纹的使用过程
数字签名
数字签名是利用非对称密码体系的特点,在数字指纹的基础上发展的一种技术。如图5-12所示,数字签名技术使用发送方的私钥加密数字指纹,并与原文一起发送给接收方。利用数字签名,一方面可通过数字指纹验证原信息是否被修改,另一方面可利用私钥私有的特点,用私钥加密来表明身份。因此,数字签名解决了信息传输过程中的冒充、伪造、篡改和发送者抵赖的问题。
图5-12数字签名过程
数字信封
数字信封的功能类似于普通信封,在法律的约束下,普通信封可保证只有收信人才能阅读信件的内容;数字信封则采用对称密码体制和公钥密码体制相结合的密码技术,保证只有规定的接收人才能阅读信息的内容。信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称为数字信封。在传递信息时,信息接收方若要解密信息,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息,这样就保证了数据传输的真实性和完整性。
数字时间戳
数字时间戳服务(DTS,Digital Time Stamp Server)利用数字指纹、数字签名等技术,为客户提供电子文件日期和时间信息的安全保护。如果在签名时加上时间标记,即是有数字时间戳的数字签名。
数字时间戳是一个经DTS加密后形成的凭证文档,它包含加时间戳的文件的摘要、DTS收到摘要的日期和时间、DTS的数字签名3个部分。如图5-13所示,用户首先使用Hash编码加密生成需要加时间戳的文件的摘要,然后将该摘要发送到DTS,DTS在加入了收到该摘要的日期和时间信息后,对该文件进行数字签名,并返回给用户。
图5-13数字时间戳产生过程
2.PKI体系
公钥基础设施(PKI,Public Key Infrastructure)技术使用证书管理公钥,通过第三方的可信任机构——认证中心(CA,Certificate Authority),把用户的公钥、名称、E-mail和身份证号等标识信息捆绑在一起,用于在Internet 上验证用户的身份。可将PKI 技术与数字证书结合,通过加密保证信息传输的保密性和完整性,并通过签名保证身份的真实性和抗抵赖性。
如图5-14所示,一个典型的 PKI 实体主要由3个部件组成:[认证机构];[注册机构];[证书发布库]。
PKI作为安全基础设施,能够提供数据完整性服务、数据保密性服务、不可否认服务、公证服务和认证服务等多种服务。
如图5-15所示,在用户A与用户B的认证过程中,首先,用户B要验证用户A的证书的真伪,当用户A在网上将证书发送给用户B时,用户B使用用CA的公钥,对证书上由CA发布的数字签名进行验证,若签名通过验证,则证明用户A持有的证书是真实的;然后,用户B还要验证用户A身份的真伪,用户A可将自己的口令用私钥进行数字签名,然后发送给用户B,用户B从用户A的证书中或从证书库中获取用户A的公钥,并用该公钥验证用户A的数字签名。如果该签名通过验证,用户A在网上的身份就得以确认。
图5-14 PKI组成示意图
图5-15 PKI的认证服务示意图
三、网络支付安全协议
如何通过电子支付安全地完成整个交易过程,是人们在网上交易时必须面对的问题。目前,电子支付安全问题的解决方案还尚处于探索阶段,IPSec协议、SSL安全协议和SET安全协议是国际上应用比较广泛的网络支付安全协议。
1.IPSec协议
IP安全(IPSec,IP Security)协议是IETF制定的一组IP安全协议集,其目的是将安全机制引入IP协议,通过使用相应的密码学技术,使IP协议支持加密和认证服务,向用户提供所期望的安全服务。
IP层安全由认证、机密性和密钥管理3种机制提供保障。认证机制保证收到的报文确实是由报头所标明的源IP地址发送的,并且在传输过程中没有被篡改。机密性机制为通信双方提供加密和解密功能,以防止数据在传输过程中被第三方窃听和解密。密钥管理机制关注如何保障密钥的安全交换。
1)IPSec的体系结构
2)IPSec的运行模式
隧道模式
隧道模式为整个IP数据包提供保护。如图5-19所示,隧道模式首先为原始的IP数据包增加一个IPSec头,然后增加一个新的IP头,从而将要保护的整个IP数据封装在另一个IP数据包的载荷中。所有受保护的数据包通过隧道从IP网的一端传输到另一端,沿途的路由器只检查数据包最外面的IP报头,不检查内部IP报头。由于增加了一个新的IP报头,因此,新IP数据包的目的地址可能与原来的不一致。
图5-19隧道模式的数据格式
当数据传输的安全保护需要由一个设备来提供,而该设备又不是数据包的始发点,或者数据包需要保密传输到与实际目的地址不同的地址时,需要采用隧道模式。典型的隧道模式应用如图5-20所示,在该模式中,由安装IPSec处理模块的安全网关实现IPSec处理。此时,两个安全网关的子网被认为是内部可信的,称为相应网关的保护子网。保护子网内部以明文形式通信,但当数据包经过安全网关1与安全网关2间的公网时,将受到IPSec机制的安全保护。
图5-20隧道模式的实现
2.SSL协议
SSL(Secure Sockets Layer)协议,旨在保障Internet上Web应用间数据传输的安全性,是国际上最早应用于电子商务的一种安全协议。
SSL协议是Web应用安全协议,它是一种在HTTP和Telnet等应用程序协议和传输层TCP协议之间提供数据安全性分层的机制。SSL协议为TCP连接提供数据加密、服务器认证、消息完整性和可选的客户机认证等服务,主要用于提高应用程序之间数据传输的安全性,并通过对数据进行加密,确保数据的完整性。
1)SSL协议的分层结构
2)SSL协议的分层结构
3)HTTPS
3.SET协议
安全电子交易(SET,Secure Electronic Transaction)协议是由美国Visa和Master Card两大信用卡公司在IBM和Netscape等多家计算机公司的支持下,于1996年联合推出的信用卡网上结算协议,是在Internet上进行在线交易时,为保证信用卡支付的安全而设计的一个开放规范。SET协议是一种面向电子商务的应用层电子支付协议,也是一种基于消息流的协议。SET提供消费者、商户和收单银行的认证,确保网上交易数据的安全、完整可靠和交易的不可抵赖性,具有保护消费者信用卡信息不暴露给商户等优点,已成为目前公认的保障信用卡网上支付安全的国际标准。
1)SET交易的参与者
SET改变了支付系统中各个参与者之间交互的方式。在面对面的零售交易或邮购交易中,电子支付始于商家或付款银行;而在SET交易中,电子支付始于持卡人。如图5-24所示,SET交易的参与方包括持卡人、商家、发卡银行、收单银行、支付网关和数字证书认证中心CA。
图5-24 SET交易的参与者
(1)持卡人,在SET协议中将购物者称为持卡人。
(2)商家,商家要参与SET交易,首先,必须要开设网上商店,在网上提供商品或服务;其次,商家的网上商店必须集成SET交易商户软件,顾客在网上购物时,由网上商店提供服务,购物结束进行支付时,由SET交易商户软件提供服务;然后,商家必须到接收网上支付业务的收单银行申请并设立账户;最后,同持卡人一样,商家必须在Internet上申请一张数字证书。
(3)发卡银行,是负责为持卡人建立账户并发放支付卡的金融机构。
(4)收单银行,是商家建立账户并处理支付卡认证和支付的金融机构。
(5)支付网关,用于连接银行专用网络和Internet。SET交易中买卖双方必须通过银行支付进行交易,SET交易在Internet上进行,而银行的计算机及专用网络出于安全考虑不能直接与Internet连接。
(6)数字证书认证中心CA,负责提供SET交易数字证书的发放、更新、废除和建立证书黑名单等各种证书管理服务。为保证SET交易的安全性,SET协议规定参与交易的各方都必须持有数字证书。在交易过程中,每次交换信息都必须向对方出示自己的数字证书,并验证对方的数字证书。因此,参与SET交易的各方在交易开始前必须到CA处申请数字证书,且在证书到期时,必须去CA处更换新的证书。此外,CA还应随时了解哪些证书已经被废除,并将其写入证书黑名单,作为交易时验证对方证书的依据。
2)SET交易流程
如图5-25所示, SET协议的工作流程可分为下面7个步骤:
图5-25 SET协议工作原理
(1)消费者通过互联网选择所要购买的物品,并在计算机上输入订货单。订货单包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。
(2)在线商店通过与电子商务服务器联系做出应答,告诉消费者所填订货单的货物单价、应付款数和交货方式等信息是否准确,是否有变化。
(3)消费者选择付款方式,确认订单,签发付款指令,此时SET开始介入交易。
(4)在SET中,消费者必须对订单和付款指令进行数字签名。SET利用双重签名技术保证商家无法看到消费者的信用卡账号信息。
(5)在线商店接受订单后,向消费者的发卡银行请求支付许可。之后,在线商店将发卡银行返回的信息通过支付网关发送给收单银行,并由电子货币发行公司进行确认。交易批准后,返回确认信息给在线商店。
(6)在线商店发送订单确认信息给消费者,消费者端软件记录交易日志,以备查询。
(7)在线商店发送货物,并通知收单银行进行转账,或通知发卡银行请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如银行在每天下班前结算当天账单。
在上述步骤中,前两步与SET无关,SET从第3步开始介入,一直到第7步。在处理过程中,SET明确规定了通信协议、请求信息的格式和数据类型等。在每一步操作中,消费者、在线商店和支付网关都通过SET来进行身份验证,以确保通信的对方不是冒名顶替。因此,也可以简单地认为,SET规范充分发挥了认证中心的作用,保证了电子商务参与者所提供的信息的真实性和保密性。