电脑技术学习

银行卡的前置机路由共享模式

dn001

  目前,有三种模式可以实现银行卡设备的多银行共享,即中心路由、前置机路由和终端路由。中心路由模式需建立一个物理上的网络中心,各共享的银行全部连入中心。联线终端(包括 POS、ATM)可以直接连入中心,此时联线终端先将交易送到中心,再由中心判别发卡行将交易送出;联线终端也可以先连到所属的银行,再将非本行卡由发卡行送到中心进行交换。这两种连接方式还可以并存。这种模式已经应用在金卡工程中。终端路由模式不需要建立中心,在联线终端上完成对发卡行的判定后,由联线终端直接将交易送到发卡行并取得响应。重庆、长春等城市的无中心共享模式其实就是这种模式。
  本文提出了一种共享前置机路由模式,这种模式结构比较灵活,可适应多种联线设备,对参加共享的银行个数没有限制,各共享行之间在技术模式上完全平等,可以比较好地保护各银行原有的投资,造价较低,还可以轻易地升级到有中心的金卡工程系统。下面就介绍这一模式的主要内容。
  需要明确的几个概念
  1.联机
  指两台设备的连接,联机可能是远程的,也可能是本地的。
  2.联线
  指为了实现远程联机,在两台设备之间建立数据通信通道。
   .联线终端设备
  是指可以通过联线向远程的主机系统发送请求信息,并依据主机的响应信息而动作的设备。银行POS和按照银行的要求改装的商户POS都是联线终端设备。
  4.联账
  由交易发生地的人或设备通过可靠的途径,将交易请求送达交易客户的账务系统(包括计算机系统和人工账务的情况),由账务系统根据客户的账务确定做出响应,并将该响应返回交易请求人或设备的过程。
  一般来说,对于磁条卡的交易,联账需要以联线和联机为手段。但是联账不一定联机、联线(如人工请求账务);联机不一定联线、联账(如 IC卡的交易);联线一定是联机的,但不一定联账(如代授权)。
  5.MAC(存取控制)
  它按照一定的算法,由密钥和被控制的信息产生,在密钥安全的情况下,该信息是不可仿造的。
  该信息出现在交换报文中,将用来保证报文的完整性和可靠性。若出现在数据纪录中,则用来保证纪录的数据的完整性和可靠性。
  6.PIN(个人识别码)
  当持卡人在联线设备上输入了PIN后,应该立即按照一定的算法,使用密钥和PIN的明文产生PIN的密文,在传输和存储的过程中,都应该使用PIN的密文。在密钥安全的情况下,依据PIN的密文是无法还原出PIN的明文的。
  7.SAF(存储转发)
  指当交易传递的某一环节不能将需要的信息传递到下一环节时,该环节将需要传递的信息暂时存储起来,并依据某一设定的条件(如一定的时间间隔或与下一环节连通的状态),再次与下一环节进行通信,以期取得通信的成功。
  方案总体结构
  将参加共享的各行现有的每个银行卡业务处理系统看作黑箱,在每一个黑箱前增加1台共享前置机,现有的联线终端设备由与原来的业务治理系统通信改为与该共享前置机通信,共享前置机根据联线终端设备上送的信息确定通信的路由,将信息由收单行的共享前置机送到发卡行的共享前置机,再由共享前置机送到银行卡业务处理主机,在取得了银行卡业务处理主机的响应信息后,将响应信息原路返回,以完成交易。下面从不同的角度对模式方案进行具体说明。
  1.拓扑结构
   
   图1中描述了三个银行共享前的情况,假定各银行的主机均不相同,甲银行为IBM ES/9000,乙银行为IBM AS/400,丙银行为运行UNIX操作系统的计算机。甲、乙、丙3台主机均使用方框圈起来,表示不考虑系统的细节,也不考虑与主机配合工作的原有的前置机、联线设备的接入设备等。换句话说,三个银行都看作运行银行卡业务治理系统的黑箱,这些黑箱系统联接着特约商户的联线设备。为了描述的简便,考虑甲银行只通过拨号电话与联线设备连接,乙银行只通过X.25与联线设备连接。由于下面的讨论以丙银行作为收单行,所以展开了丙银行的联线设备和其接入设备。在图中,假定特约商户的联线设备全部为POS;通信方式包括SDLC协议同步拨号,其接入设备为NAC;ASYNC 协议异步拨号,其接入设备为Modem;T3POS协议专线,其接入设备为NAC;电缆直联,直接联接到主机。在图1中,各行之间分别独立运行,不存在设备共享。
   
  图2示出了采用共享前置机路由模式后网络拓扑结构的变化情况。甲、乙、丙三行分别增加一个共享前置机和一个加密机,各自的联线设备仍然与原来的共享前置机相连,并由各自的银行负责治理。在图1中直接接入主机的联线设备分别改为接入各自的共享前置机,丙行联线设备接入点的改变清楚地说明了这一点。图中的加密机是必需的设备,最好采用硬设备,但也可以在保证黑箱原则的基础上采用软件实现。
  需要进一步说明的是,各行的共享前置机之间的连接还可以通过X.25、DDN或帧中继网络,条件答应时也可以采用快速以太网、VPN、有线电视的数据网等。连接的目的是使每两个共享前置机之间都存在直通的路由。
  2.对共享前置机软件的基本要求
  共享前置机的软件应按照层次化和面向对象的原则设计。所谓的层次化,就是交易的过程从宏观上经过两个层次完成,在每一个层次中又分为两个部分,如图3所示。请求数据流从联线终端设备发出,由联线终端交换部分接收进入收单行子系统,然后由其前置机交换部分将请求数据流转发到发卡行子系统的前置机交换部分,再经发卡行子系统的主机交换部分进入业务处理系统;在业务处理系统做出响应后,按原路返回。在这里,我们重点说明数据传递的路径,略去了对数据的分析、转换、处理、存储的描述。
  
  所谓面向对象的原则,就是在上述的各层及其他相关功能实现时,应充分考虑到私有数据的封装,各对象之间定义清楚的接口,采用消息机制传递数据,但是不要求一定采用面向对象的实现语言和数据库。
  各个共享行的共享前置机应运行统一的软件,通过配置软件的有关参数来确定该共享前置机在一笔具体的交易中充当的角色,它可能是收单行,可能是发卡行,也可能既是收单行又是发卡行。
  3.共享环境中的通信协议
  联线设备的通信协议
  共享前置机在充分利用原有的联线设备之接入设备的基础上,通过配备必需的硬件,应能支持联线设备以同步拨号SDLC、异步拨号ASNYC、采用UDVM的T3POS、采用POSPAD的T3POS、X.25和X28等协议。
  主机的通信协议
  根据主机对通信要求的不同,共享前置机应能支持TCP/IP和SNA/APPC、X.25通信协议与主机通信。
  共享前置机之间的通信协议
  为了保证数据传输的可靠性,在收单行子系统和发卡行子系统之间应该采用长连接,并采用TCP协议。但底层的通信协议不限。在每台共享前置机内部的两部分之间,可以采取消息队列、共享内存等等操作系统提供的通信机制,也可以采用Socket。
  联线设备与共享前置机之间的报文交换协议
  该协议应符合GB/T 15150《产生报文的银行卡交换报文规范金融交易内容》的规定。一个比较好的处理方案是按照各共享银行目前联线设备分别与各自主机进行报文交换的格式,取其并集作为联线设备与共享前置机之间的报文交换协议。制定该协议是本方案的一个核心内容。制定时应充分考虑到可扩充性,努力避免由于某个共享行修改其报文规范而造成本交换报文协议的调整。
  共享前置机之间的报文交换协议
  等同于联线设备与共享前置机之间的报文交换协议。
  共享前置机与主机之间的报文交换协议
  与主机原来的报文交换协议相同,即从主机端看,应该感觉不到联线设备接入的变化,共享前置机对业务主机应该是透明的。
  4.共享前置机的运行环境要求
  共享前置机应在微机服务器的UNIX环境下运行,包括SCO OpenServer、Linux等,并采用关系数据库治理有关的数据。
  交易处理的基本流程
  为了进一步描述共享前置机的工作原理,现假定甲、乙银行是发卡行,丙银行是收单行,下面按照不同种类性质的交易分别进行描述。
  1.治理交易
  治理交易是不直接处理持卡人用卡的交易。目前有的发卡银行要求联线签到和签退,有的要求离线签到和签退,为了解决这一矛盾,需要联线终端设备向共享前置机联线签到和签退。
  签到
  在签到处理的基本流程中,对于通信的每一个环节都要进行报文解析和MAC的检验,假如出现错误,都意味着交易的失败,并应向数据的发送方返回交易失败的信息。为了最大限度地保证应用,当有一个银行签到成功时,就应该返回联线终端签到成功的信息,假如在交易时出现了签到未成功银行的卡,则向联线终端响应该行签到不成功、要求签到的信息。比如,在处理的过程中,丙共享前置机的收单行子系统与联线终端进行通信,并将请求同时送往甲、乙、丙共享前置机的发卡行子系统;甲、乙共享前置机的发卡行子系统在分别与甲、乙发卡行的主机通信后,将响应返回给丙的共享前置机收单行子系统;而丙行要求离线签到,所以其发卡行子系统直接将响应返回给了收单行子系统。
  另一种处理方法是当某行在签到不能成功时,由发起签到的共享前置机保存签到的内容,引入SAF机制,直到签到成功为止。
  签退
  签退是由联线终端向所连接的共享前置机发起,由于签退交易应该在结账类交易完成之后进行,则只要共享前置机收到签退的请求,就应该响应签退成功,然后由收单行的共享前置机向其他行的共享前置机转发联线设备的签退请求。签退可以不是一个单独的交易,而在完成结算之后自动进行。
  其他内部治理交易
  内部治理交易包括对密码的治理交易、网络测试交易等,其中有的交易在主机和共享前置机之间传送,有的仅在共享前置机之间传送,还有的在共享前置机和联线终端之间传送。
  2.联线交易
  这里所描述的联线交易是指持卡人在特约商户消费、购物时可能发生的全部交易,由于通信的失败引发的冲正也作为联线交易处理。为了保证银行资金的安全和账务的完成,在联线交易中不应使用SAF机制。
  以消费处理为例,共享前置机的作用就是信息传递,但是为了保证交易的安全,在传递的每一个环节都要进行MAC和PIN的变换;同时,为了保持治理的一致性,在信息进入主机前,必须进行商户编号、终端编号等治理信息的变换。
  由于在联线终端和共享前置机之间使用了公共的传输协议,所以联线设备的编号在共享的范围内是统一的。该公共的传输协议应使得在返回联线终端的信息中包括发卡银行的信息。
  为了保证交易纪录的完整性,在所有的环节都应该分别以原始的形式和便于检索的形式对交易的内容进行纪录,并使得纪录的内容不能被仿造、修改和删除。为了做到这一点,对于纪录的交易需要引入可以验证连续记录合法性的MAC 机制。
  当对纪录的信息发生怀疑时,利用原来运算时采用的工作密钥、纪录的MAC和纪录本身,可以验证纪录的真实性和完整性。
  3.结算交易
  结算交易指的是由联线终端设备发起结算的过程。由于联线终端仍然与各自的银行相连,所以只能与相连的共享前置机结算。结算的过程可能一步完成,也可能要批上送,即两步完成。为了资金清算的方便,要求联线设备在完成结账后,要按银行分别打印交易的流水,有可能的话还应打印汇总资料,与原始的交易单据一起作为同各发卡银行进行资金清算的依据。结算交易必须采用SAF机制。
  假如在交易量不大的情况下,在共享前置机之间也可以不进行对账而直接传递交易流水。这样将简化软件的处理,降低运行的复杂度,但有可能增加通信的时间。
  4.支持的交易种类
  在只考虑各银行共享商户的前提下,需要共享前置机支持的交易种类包括:签到、签退、操作员改密码、主机重置密钥、共享前置机重置密钥、联线终端重置密钥、联线终端网络测试、共享前置机网络测试、授权、查询、消费、退货、预授权、预授权结账、撤销、自动冲正、联线终端结算、联线终端批上送、共享前置机结算和共享前置机批传送
  需要说明的几个问题
  1.资金清算
  由于商户在结算时是按银行打印流水和汇计数据的,所以,在共享初期可以不涉及到与商户的资金清算,各银行与商户清算的渠道、周期均可按照共享前方式进行。
  在解决了银行间相互代理涉及到的经济利益问题后,某一个银行也可以委托另一个银行收单,然后在两个银行之间进行清算。当其他银行均委托一个银行收单时,就实现了统一清算。
  2.治理制度配套
  在按照本方案开发软件的同时,必须组织力量编制在共享后需要的有关治理制度,包括:对共享前置机的软件版本修订、维护的治理制度;对共享前置机硬件配置的治理制度;对主密钥的交换、治理方法和对加密机的治理制度;对通信线路的使用维护的治理制度;对联线终端设备的治理、维护制度;对特约商户的治理办法;对网络交易纠纷的查询和仲裁方法。
  这些制度应经联席会议讨论决定后,以联合发文或协议的方式确定,涉及到特约商户和硬件提供商、软件开发商的,应经相应单位共同签署。
  3.共享前置机与共享行的非对称情况
  为了说明非对称的共享关系,假定有n个银行,而共享前置机的个数为m。
  n   本方案中提出的共享前置机在物理上可以使用1 台计算机实现。比如,4个共享行采用3个共享前置机,丙、丁银行共用1台共享前置机,在该共享前置机中,必须有与丙、丁银行主机接口的程序,在该共享前置机连接的加密机中,除了共享密钥外,必须放有丙、丁两行的主机密钥和POS密钥。
  n>m的情况
  共享前置机的个数也可以大于银行数。比如,当在一个城市设立一个电话银行,向邮电部门申请专用的特服号码时,就可以为特约商户和持卡人提供更为方便的服务,能够更加有效地改善用卡环境,这时,可以通过1台共享前置机与电话银行的系统相连。