目标:学习《计算机网络安全》
网络安全协议概述
安全协议是以密码学为基础的消息交换协议,也称作密码协议,其目的是在网络环境中提供各种安全服务。安全协议是网络安全的一个重要组成部分,通过安全协议可以实现实体认证、数据完整性校验、密钥分配、收发确认以及不可否认性验证等安全功能。网络安全协议建立在密码体制基础上,运用密码算法和协议逻辑来实现加密和认证。
在网络层主要的安全协议是IPsec安全协议族
传输层的安全协议主要是SSL、TLS等
应用层主要的安全协议包括SSH、SHTTP、Kerberos、PGP、SET等
互联网安全协议IPsec
先从IPv4的缺陷讲起,然后讲述IPv6的核心是IPsec协议,并详细讲述IPsec协议的原理与实现技术。
IPv4的缺陷
随着Internet的发展尤其是规模爆炸式的增长,IPv4固有的一些缺陷也逐渐暴露出来,主要集中于以下几个方面。
(1)地址枯竭。IPv4使用32位长的地址,地址空间超过40亿。但由于地址类别的划分不尽合理,目前地址分配效率系数H约为0.22~0.26,即只有不到5%的地址得到利用,已分配的地址尤其是A类地址大量闲置,但可用来分配的地址所剩无几。另外,目前占有互联网地址的主要设备早已由大型机变为PC机,并且在将来,越来越多的其他设备也会连接到互联网上,包括PDA、汽车、手机、各种家用电器等。特别是手机,为了向第四、五代移动通信标准靠拢,几乎所有的手机厂商都在向因特网地址管理机构ICANN申请,要给它们生产的每一部手机都分配一个IP地址。而竞争激烈的家电企业也要给每一台带有联网功能的电视、空调、微波炉等设置一个IP地址。IPv4显然已经无法满足这些要求。
(2)路由瓶颈。Internet规模的增长也导致路由器的路由表迅速膨胀,路由效率特别是骨干网络路由效率急剧下降。IPv4的地址归用户所有,这使得移动IP路由复杂,难以适应当今移动业务发展的需要。在IPv4地址枯竭之前,路由问题已经成为制约Internet效率和发展的瓶颈。
(3)安全和服务质量难以保障。电子商务、电子政务的基础是网络的安全性和可靠性,语音视频等新业务的开展对服务质量(QoS)提出了更高的要求。而IPv4本身缺乏安全和服务质量的保障机制,很多黑客攻击手段(如DDoS)正是利用了IPv4的缺陷。
(4)IPv4地址结构有严重缺陷。如果一个组织分配了A类地址,大部分的地址空间被浪费了;如果一个组织分配了C类地址,地址空间又严重不足,而且D类和E类地址都无法利用。虽然出现了子网和超网这样的弥补措施,但是使得路由策略十分复杂。
(5)IPv4协议的设计没有考虑音频流和视频流的实时传输问题,不能提供资源预约机制;不能保证稳定的传输延迟。
(6)IPv4没有提供加密和认证机制,不能保证机密数据资源的安全传输。
尽管NAT(网络地址转换)、CIDR(无类别域间路由,Classless Inter-DomainRouting)等技术能够在一定程度上缓解IPv4的危机,但都只是权宜之计,同时还会带来费用、服务质量、安全等方面的新问题。因此,新一代网络层协议IPv6就是要从根本上解决IPv4的危机。
IPsec简介
IPsec是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPv4在安全方面主要的不足之处在于:缺乏对通信双方身份真实性的鉴别能力;缺乏对传输数据的完整性和机密性保护的机制;IP层存在业务流被监听和捕获、IP地址欺骗、信息泄露和数据项篡改等攻击。IPv6在安全方面解决了IPv4的不足,它的核心是IPsec。IPsec是IPv6必选的内容,但在IPv4中的使用则是可选的。
IPSec在IP层上对数据包进行安全处理,提供数据源验证,数据完整性、数据机密性等安全服务。各种应用程序完全可以享用IP层提供的安全服务和密钥管理而不必设计和实现自己的安全机制,因此减少了密钥协商的开销,也降低了产生安全漏洞的可能性。
IPsec是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证。特定的通信方之间在IP层通过加密与数据源认证等方式,提供了以下的安全服务。
(1)数据机密性(Confidentiality):IPsec发送方在通过网络传输包前对包进行加密。
(2)数据完整性(Data Integrity):IPsec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
(3)数据来源认证(Data Authentication):IPsec在接收端可以认证发送IPsec报文的发送端是否合法。
(4)防重放(Anti-Replay):IPsec接收方可检测并拒绝接收过时或重复的报文。
IPsec具有以下优点。
(1)支持IKE(Internet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA的服务,简化了IPsec的使用和管理。
(2)所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。
(3)对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活,而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。
IPsec协议族
IPsec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构。IPsec主要由以下协议组成。
(1)网络认证协议AH(Authentication Header),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护。
(2)封装安全载荷ESP(Encapsulating Security Payload),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性。
(3)因特网密钥交换协议IKE,用来交换密钥。
(4)安全关联SA(Security Association),提供算法和数据包,提供AH、ESP操作所需的参数。
IPsec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。IPsec提供的服务如表所示。
IPsec提供的服务
| AH | ESP(只加密) | ESP(加密并鉴别) | |
|---|---|---|---|
| 访问控制服务 | Y | Y | Y |
| 无连接完整性 | Y | — | Y |
| 数据源鉴别 | Y | — | Y |
| 拒绝重放的分组 | Y | Y | Y |
| 保密性 | — | Y | Y |
| 流量保密性 | — | Y | Y |
IPsec的协议实现
IPsec的结构
(1)AH协议:可以同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH常用摘要算法(单向Hash函数)MD5和SHA-1实现该特性。如图所示为AH协议的报文格式。
AH的基本功能是为IP通信提供数据源认证、数据完整性和反重播保证。它不提供任何机密性服务。AH能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP包头后面,对数据提供完整性保护。可选择的认证算法有MD5、SHA-1等。
AH的工作原理是在每一个IP数据报上添加一个鉴别首部,此首部包含一个带密钥的散列。该散列在整个数据报中计算,因此对数据的任何更改将致使散列无效,从而对数据提供了完整性保护。
(2)ESP协议:可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA-1来实现数据完整性。如图所示为ESP协议的报文格式。
ESP协议的报文格式
ESP协议可为IP提供机密性、数据源验证、抗重放以及数据完整性等安全服务。ESP属于IPSec的机密性服务。其中,数据机密性是ESP的基本功能,而数据源身份认证、数据完整性检验以及抗重传保护都是可选的。ESP主要保障IP数据报的机密性,它将需要保护的用户数据进行加密后再重新封装到新的IP数据包中。
ESP的工作原理是在每一个数据包的标准IP包头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾。与AH协议不同的是,ESP将需要保护的用户数据进行加密后再封装到IP包中,以保证数据的机密性。常见的加密算法有DES、3DES、AES等。同时,作为可选项,用户可以选择MD5、SHA-1算法保证报文的完整性和真实性。
在实际进行IP通信时,可以根据实际安全需求同时使用AH和ESP这两种协议或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服务要强于ESP。同时使用AH和ESP时,设备支持的AH和ESP联合使用的方式为:先对报文进行ESP封装,再对报文进行AH封装,封装之后的报文从内到外依次是原始IP报文、ESP头、AH头和外部IP头。
(3)IKE因特网密钥交换协议:它定义了安全参数如何协商,以及共享密钥如何建立。但是它没有定义协商内容。这方面的定义是由“解释域(DOI)”文档来进行的。IKE负责建立和管理SA,并且负责为AH和ESP协议生成相关密钥。IKE的作用如图所示。
IKE的作用
(4)SA安全关联:它规定了通信双方使用哪种IPsec协议保护数据安全、应用的算法标识、加密和密钥取值以及密钥的生存周期等安全属性值。SA是通信双方对交换和保护数据的相关方法和参数的约定。
SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。建立SA的方式有手工配置和IKE自动协商两种。
SA是单向的,在两个对等体之间的双向通信,最少需要两个SA来分别对两个方向的数据流进行安全保护。同时,如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体都会针对每一种协议来构建一个独立的SA。
SA由一个三元组来唯一标识,这个三元组包括SPI(Security ParameterIndex,安全参数索引)、目的IP地址、安全协议号(AH或ESP)。SPI是用于唯一标识SA的一个32bit数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。
使用IKE协商产生SA时,SPI将随机生成。通过IKE协商建立的SA具有生存周期,手工方式建立的SA永不老化。IKE协商建立的SA的生存周期有两种定义方式:
- 基于时间的生存周期,定义了一个SA从建立到失效的时间。
- 基于流量的生存周期,定义了一个SA允许处理的最大流量。
生存周期到达指定的时间或指定的流量,SA就会失效。SA失效前,IKE将为IPsec协商建立新的SA,这样,在旧的SA失效前新的SA就已经准备好。在新的SA开始协商而没有协商好之前,继续使用旧的SA保护通信。在新的SA协商好之后,则立即采用新的SA保护通信。
IPsec的工作模式
IPsec有两种工作模式,即传输模式和隧道模式。传输模式用来直接加密主机之间的网络通信;隧道模式用来在两个子网之间建造“虚拟隧道”实现两个网络之间的安全通信。
(1)隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用于两个安全网关之间的通信。
(2)传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用于两台主机之间的通信,或一台主机和一个安全网关之间的通信。
不同的安全协议在Tunnel和Transport模式下的数据封装形式如图所示,Data为传输层数据。
安全协议数据封装格式
下图所示为AH协议在传输模式下的实现。
传输模式下的AH协议
下图所示为ESP协议在传输模式下的实现。
传输模式下的ESP协议
下图所示为AH协议在隧道模式下的实现。
隧道模式下的AH协议
下图所示为ESP协议在隧道模式下的实现。
隧道模式下的ESP协议
传输模式和隧道模式的区别如下:
(1)传输模式在AH、ESP处理前后IP头部保持不变,主要用于End-to-End(端到端或者PC到PC)的应用场景。
(2)隧道模式则在AH、ESP处理之后再封装了一个外网IP头,主要用于Site-to-Site(站点到站点或者网关到网关)的应用场景。
IPsec的VPN实现
IPSec可应用在路由器、防火墙、主机和通信链路上,实现端到端安全VPN等。IPSec VPN的应用场景分为3种。
(1)Site-to-Site:例如3个机构分布在互联网的3个不同的地方,各使用一个网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。
(2)End-to-End:两个PC之间的通信由两个PC之间的IPSec会话保护,而不是网关。
(3)End-to-Site(端到站点或者PC到网关):两个PC之间的通信由网关和异地PC之间的IPSec进行保护。
安全套接字层协议SSL
在网络层中,IPSec可以提供端到端的网络层安全传输,但是它无法处理位于同一端系统之中的不同的用户安全需求,因此需要在传输层和更高层提供网络安全传输服务,来满足这些要求。基于两个传输进程间的端到端安全服务,保证两个应用之间的保密性和安全性,为应用层提供安全服务。在传输层中使用的安全协议主要有SSL、SSH等。
SSL(Secure Socket Layer)是由Netscape公司设计的一种开放协议,它指定了一种在应用程序协议(如HTTP、Telnet、NNTP、FTP)和TCP/IP之间提供数据安全性分层的机制。它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
1996年由Netscape公司推出SSL 3.0,得到了广泛的应用,并被IETF的传输层安全工作小组(TLS Working Group)所采纳。目前,SSL协议已经成为因特网事实上的传输层安全标准。它广泛用于Web浏览器与服务器之间的身份认证和加密数据传输。IE浏览器里面就可以有嵌入的SSL和TLS协议, 在Internet属性里的 SSL/TLS。
SSL主要提供连接的保密性、可靠性和相互认证三种安全服务。它的层次结构如图
SSL协议的层次结构
SSL协议用来在客户端和服务器真正传输应用层数据之前建立安全机制,包括协商一个协议版本、选择密码算法、对彼此进行认证、使用公开密钥加密技术产生共享密码等。它的协议过程如图
SSL协议的过程
SSL的主要目的是在两个通信应用程序之间提供私密信和可靠性。这个过程通过3个协议来完成。
(1)握手协议。这个协议负责协商被用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法,选择相互认证,并使用公钥技术来生成共享密钥。
(2)记录协议。这个协议用于交换应用层数据。应用程序消息被分割成可管理的数据块,还可以压缩,并应用一个MAC(消息认证代码);然后结果被加密并传输。接收方接收数据并对它解密,校验MAC,解压缩并重新组合它,并把结果提交给应用程序协议。
(3)警告协议。这个协议用于指示在什么时候发生了错误或两个主机之间的会话在什么时候终止。
下面是一个使用Web客户机和服务器的范例。
Web客户机通过连接到一个支持SSL的服务器,启动一次SSL会话。
支持SSL的典型Web服务器在一个与标准HTTP请求(默认为端口80)不同的端口(默认为443)上接受SSL连接请求。当客户机连接到这个端口上时,它将启动一次建立SSL会话的握手。
握手完成后,通信内容被加密,并且执行消息完整性检查,直到SSL会话过期。SSL创建一个会话,在此期间,握手必须只发生过一次。SSL握手步骤如下。
步骤1:SSL客户机连接到SSL服务器,并要求服务器验证它自身的身份。
步骤2:服务器通过发送它的数字证书证明其身份。这个交换还可以包括整个证书链,直到某个根证书权威机构(CA)。通过检查有效日期并确认证书包含有可信任CA的数字签名,来验证证书。
步骤3:服务器发出一个请求,对客户端的证书进行验证。但是,因为缺乏公钥体系结构,大多数服务器不进行客户端认证。
步骤4:协商用于加密的消息加密算法和用于完整性检查的散列函数。通常由客户机提供它支持的所有算法列表,然后由服务器选择最强健的加密算法。
步骤5:客户机和服务器通过下列步骤生成会话密钥:
a.客户机生成一个随机数,并使用服务器的公钥(从服务器的证书中获得)对它加密,发送到服务器上。
b.服务器用更加随机的数据(当客户机的密钥可用时,则使用客户机密钥;否则服务器采用明文方式发送数据)响应。
c.使用散列函数,从随机数据生成密钥。
SSL协议的优点是它提供了连接安全,具有3个基本属性。
(1)连接是私有的。在初始握手定义了一个密钥之后,将使用加密算法。对于数据加密使用了对称加密(如DES和RC4)。
(2)可以使用非对称加密或公钥加密(如RSA和DSS)来验证对等实体的身份。
(3)连接是可靠的。消息传输使用一个密钥的MAC,包括了消息完整性检查。其中使用了散列函数(如SHA和MD5)来进行MAC计算。
对SSL的接受程度仅限于HTTP内。它在其他协议中可以使用,但还没有被广泛应用。
SSL一个很实用的例子就是网上银行的连接。网上银行的连接都是以HTTPS(HypertextTransfer Protocol over Secure Socket Layer)开始的。HTTPS就是在HTTP协议上加上SSL协议,所以HTTPS的安全基础是SSL协议。HTTP的端口是80,而HTTPS的端口是443。
安全外壳协议SSH
SSH(Secure Shell Protocol)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。它提供了对安全远程登录、安全文件传输、安全TCP/IP和X-Window系统通信量进行转发的支持。它可以自动加密、认证并压缩所传输的数据。正在进行的定义SSH协议的工作确保SSH协议可以提供强健的安全性,防止密码分析和协议攻击,可以在没有全球密钥管理或证书基础设施的情况下工作得非常好,并且在可用时可以使用自己已有的证书基础设施(如DNSSEC和X.509)。SSH协议由3个主要组件组成。
(1)传输层协议:它提供服务器认证、保密性和完整性,并具有完美的转发保密性。有时,它还可能提供压缩功能。
(2)用户认证协议:它负责从服务器对客户机的身份认证。
(3)连接协议:它把加密通道多路复用组成几个逻辑通道。
SSH传输层是一种安全的低层传输协议。它提供了强健的加密、加密主机认证和完整性保护。SSH中的认证是基于主机的;这种协议不执行用户认证。可以在SSH的上层为用户认证设计一种高级协议。
这种协议被设计成相当简单而灵活,以允许参数协商并最小化来回传输的次数。密钥交互方法、公钥算法、对称加密算法、消息认证算法以及散列算法等都需要协商。
数据完整性是通过在每个包中包括一个消息认证代码(MAC)来保护的,这个MAC是根据一个共享密钥、包序列号和包的内容计算得到的。SSH在UNIX、Windows和Macintosh系统上都可以实现,因此应用十分广泛。
从客户端来看,SSH提供两种级别的安全验证。
第1种级别(基于口令的安全验证):只要你知道自己的账号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器冒充真正的服务器,也就是受到“中间人”攻击。
第2种级别(基于密钥的安全验证):需要依靠密钥,也就是你必须为自己创建一个公钥和一个私钥,并把公用密钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密钥,然后把它和你发送过来的公用密钥进行比较。如果两个密钥一致,服务器就用公用密钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密钥解密再把它发送给服务器。
用第2种级别,你必须知道自己密钥的口令。与第1种级别相比,第2种级别不需要在网络上传送口令。第2种级别不仅加密所有传送的数据,而且“中间人”攻击也是不可能的(因为他没有你的私人密钥)。但是整个登录的过程需要的时间可能长一些。
安全电子交易SET
SET协议简介
电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全问题。在网上购物环境中,持卡人希望在交易中保密自己的账户信息,使之不被人盗用;商家则希望客户的订单不可抵赖,并且,在交易过程中,交易各方都希望验明其他方的身份,以防止被欺骗。针对这种情况,由美国Visa和MasterCard两大信用卡组织联合国际上多家科技机构,于1997年5月共同制定了应用于Internet上的以银行卡为基础进行在线交易的安全标准,这就是“安全电子交易”(Secure Electronic Transaction,简称SET)。它采用公钥密码体制和X.509数字证书标准,主要应用于保障网上购物信息的安全性。
由于SET提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家等优点。因此,至2012年,它成为了公认的信用卡/借记卡的网上交易的国际安全标准。SET要达到的最主要目标如下。
(1)信息在公共因特网上安全传输,保证网上传输的数据不被黑客窃取。
(2)订单信息和个人账号信息隔离。在将包括持卡人账号信息在内的订单送到商家时,商家只能看到订货信息,而看不到持卡人的账户信息。
(3)持卡人和商家相互认证,以确保交易各方的真实身份。通常,第三方机构负责为在线交易的各方提供信用担保。
SET交易的安全性如下。
(1)信息的机密性:SET系统中,敏感信息(如持卡人的账户和支付信息)是加密传送的,不会被未经许可的一方访问。
(2)数据的完整性:通过数字签名,保证在传送者向接收者传送消息期间,消息的内容不会被修改。
(3)身份的验证:通过使用证书和数字签名,可为交易各方提供认证对方身份的依据,即保证信息的真实性。
(4)交易的不可否认性:通过使用数字签名,可以防止交易中的一方抵赖已发生的交易。
(5)互操作性:通过使用特定的协议和消息格式,SET系统可提供在不同的软硬件平台上操作的同等能力。
SET协议的参与方
SET交易的参与方主要包括以下几方面。
1.持卡人(cardholder)
持卡人是网上消费者或客户。SET支付系统中的网上消费者或客户首先必须是银行卡(信用卡或借记卡)的持卡人。持卡人要参与网上交易,首先要向发卡行提出申请,经发卡行认可后,持卡人从发卡行取得一套SET交易专用的持卡人软件(称为电子钱包软件),再由发卡行委托第三方中立机构——认证机构SETCA发给数字证书,持卡人才具备了上网交易的条件。持卡人上网交易是由嵌入在浏览器中的电子钱包软件来实现的。持卡人的电子钱包具有发送、接受信息,存储自身的公钥签名密钥和交易参与方的公开密钥交换密钥,申请、接收和保存认证等功能。除了这些功能外,电子钱包还必须支持网上购物的其他功能,如增删改银行卡、检查证书状态、显示银行卡信息和交易历史记录等功能。
2.商户(merchant)
商户是SET支付系统中网上商店的经营者,在网上提供商品和服务。商户首先必须在收单银行开设账户,由收单银行负责交易中的清算工作。商户要取得网上交易的资格,首先要由收单银行对其进行审定和信用评估,并与收单银行达成协议,保证可以接收银行卡付款。商户的网上商店必须集成SET交易商家软件,商家软件必须能够处理持卡人的网上购物请求和与支付网关进行通信、存储自身的公钥签名密钥和交易参与方的公开密钥交换密钥、申请和接收认证、与后台数据库进行通信及保留交易记录。与持卡人一样,在开始交易之前,商户也必须向SETCA申请数字证书。
3.支付网关(payment gateway)
支付网关是由收单银行或指定的第三方操作的专用系统,用于处理支付授权和支付。买卖双方进行交易,最后必须通过银行进行支付。SET交易是在公开的网络——因特网上进行的,但是,考虑到安全问题,银行的计算机主机及银行专用网络不能与各种公开网络直接相联,为了能接收从因特网上传来的支付指令,在银行业务系统与因特网之间必须有一个专用系统来解决支付指令的转换问题,接收处理从商户传来的付款指令,并通过专线传送给银行;银行将支付指令的处理结果再通过这个专用系统反馈给商户。这个专用系统就称为支付网关。SET支付系统中的支付网关首先必须由收单银行授权,再由SETCA发放数字证书,方可参与网上支付活动。支付网关具有确认商户身份、解密持卡人的支付指令,验证持卡人的证书与在购物中所使用的账号是否匹配,验证持卡人和商户信息的完整性、签署数字响应等功能。由于商户收到持卡人的购物请求后,要将持卡人账号和付款金额等信息传给收单银行,所以支付网关一般由收单银行来担任。但由于支付网关是一个相对独立的系统,只要保证支付网关到银行之间通信的安全,银行可以委托第三方担任网上交易的支付网关。
4.收单行(acquirer)
收单行是一个金融机构,为商户建立账户并处理支付授权和支付。收单银行虽然不属于SET交易的直接组成部分,却是完成交易的必要的参与方。支付网关接收商户的SET支付请求后,要将支付请求转交给收单银行,进行银行系统内部的联网支付处理工作,这部分工作与因特网无关,属于传统的银行卡受理工作。从这里可以看出,SET交易实际上是银行卡受理的一部分,并未改变传统的银行卡受理过程。
5.发卡行(issuer)
发卡行是一个金融机构,为持卡人建立一个账户并发行支付卡,一个发卡行保证对经过授权的交易进行付款。付款请求最后必须通过银行专用网络经收单银行传送到持卡人的发卡银行,进行授权和付款。同收单银行一样,发卡银行也不属于SET交易的直接组成部分,且同样是完成交易的必要的参与方。持卡人要参加SET交易,发卡银行必须要参加SET交易。SET系统的持卡人软件一般是从发卡银行获得的,持卡人要申请数字证书,也必须先由发卡银行批准,才能从SETCA得到。可以说,持卡人的发卡银行在安全电子交易中起着很重要的作用。而在每一笔SET交易中,发卡银行则同收单银行一样,完成传统银行卡联网受理的那一部分工作。
6.认证机构(认证中心CA)
在基于SET的认证中,按照SET交易中的角色不同,认证机构负责向持卡人颁发持卡人证书、向商户颁发商家证书、向支付网关颁发支付网关证书,利用这些证书可以验证持卡人、商户和支付网关的身份。
使用SET协议购物过程
SET协议涉及的当事人包括持卡人、发卡机构、商家、银行以及支付网关。SET协议提供了消费者、商家和银行之间的认证,确保了交易数据的机密性、真实性、完整性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家,因此它成为了目前公认的信用卡/借记卡的网上交易的国际安全标准。SET协议的购物流程如图
使用SET协议进行购物的流程
使用SET协议的具体购物流程如下:
(1)持卡人使用浏览器在商家的Web页面上查看和浏览在线商品及目录。
(2)持卡人选择要购买的商品。
(3)持卡人填写订单,包括项目列表、价格、总价、运费、搬运费和税费等。订单可通过电子化方式从商家传送过来,或由持卡人的电子购物软件建立。有些在线商店允许持卡人与商家协商物品的价格。
(4)持卡人选择付款方式,此时SET开始介入。
(5)持卡人通过网络发送给商家一个完整的订单及要求付款的指令。在SET中,订单和付款指令由持卡人进行数字签名,同时,利用双重签名技术保证商家看不到持卡人的账号信息。
(6)商家接受订单,通过支付网关向持卡人的金融机构请求支付认可。在银行和发卡机构确认和批准交易后,支付网关给商家返回确认信息。
(7)商家通过网络给顾客发送订单确认信息,为顾客配送货物,完成订购服务。客户端软件可记录交易日志,以备将来查询。
(8)商家为顾客配送货物,完成订购服务。
(9)商家可以立即请求银行将钱从购物者账号转移到商家账号,也可以等到某一时间,请求成批划账处理。一次购物到此结束。