针对支付平台系统现行加密体系存在的不足进行分析,我们有针对性地提出分段式加密体系结构。该加密体系很好地将终端密钥管理体系统—起来,真正实现终端密钥“一机一密”的目标。进而大大降低了系统维护的工作量的同时,极大提升了系统加密体系结构的灵活性和安全性。
一、支付平台系统现行加密体系
现行的加密体系是上世纪九十年代末期于系统设计初期时确定的。由于当时数据加密机多为进口设备,购买成本极高。出于对总体成本的控制,且考虑到各银行均采用相同的DES对称加密算法。因此决定不采用数据加密机设备,而采用直接在终端的安全处理模块SAM卡中,放入各入网银行的加密密钥,终端送往银行的加密数据。在支付平台系统不做任何处理,透明传输至相应的银行进行解密的加密体系。
目前支付平台系统服务器向下联接了超过2000台带有SAM卡的支付终端,每张SAM卡上存有14家商业银行的加密密钥TPK。而这些密钥是事先由每家银行密钥管理人员输入所有的支付终端内的密钥都相同,目前支付平台系统不支持自动更新银行加密密钥,只能通过手工更新。
二、现行加密体系的不足
现行加密体系的具体运作流程是:
在交易过程中.由支付终端判断顾客银行卡的发卡银行,然后选用相应银行的加密密钥TPK,分别对用户的密码信息加密及对交易数据包产生MAC,并发送到支付平台系统服务器。支付平台系统服务器不对支付终端发来交易中的用户密码信息进行任何处理,直接转发到相应的银行,然后等待接收银行的回应消息,并与相关业务单位服务器进行相应的帐务处理,记录交易流水信息.同时反馈给支付终端。
通过以上流程,我们发现存在以下不足之处。
1、支付终端本地需要有一张银行卡卡表,分别记录各家银行的卡号特征信息。因此一旦某家商业银行发行一张新卡,那么就必须更新所有的POS终端卡表信息,这需要对终端程序进行更新,而且同样的事情在支付平台系统主机也重复傲了一次,增加了不必要的工作量。
2、支付终端上的银行加密密钥TPK和MAC加密密钥TMK不能自动更新。因为目前采用的流行加密算法都是算法公开的,密钥则成了数据安全的唯一因素,因此只有通过定期更新等数据密钥才能保证数据的安全性。
3、缴费交易数据流经的所有节点采用的都是同一把TPK/TMK进行保护,按照国际通用做法则是数据密钥必须按照网络分级,分层,分区划分,这样可以缩小欺诈作案的扩散范围,而且一旦出现密钥泄密事故还能明确支付平台系统和银行承担责任的范围。
4、一旦支付平台系统或银行对业务有了新的需求,按照现有的模式很难作相应的扩充。如某银行准备修改其加密算法或改变其加密密钥TPK。无论其余银行是否统一修改,均需对所有终端SAM卡进行改造,成本很高。
5、当前的加密体系仅针对银行的重要数据进行加密设计,而对于支付平台系统本身的一些重要数据,导致支付平台系统存在多种加密机制,增加了开发和安全管理上的困难。
为了让支付平台系统加密体系更完整且易于业务的扩展,需要对现有的加密体系进行改造。在支付平台系统端,引人数据加密机设备,将现有的一段式加密体系,改造成两段式加密体系。并且通过引入的数据加密机,对各类加密密钥进行集中管理,同时,将支付平台系统的各类加密体系进行统一。
三、分段式加密体系概述
(一)分段式加密体系结构图
(二)终端密钥管理
(1)支付终端密钥处理机制
该模式下,终端的密钥管理由支付平台系统集中统一管理,密钥统二分发和控制。
1、支付平台系统主机与终端约定两个密钥组,每个密钥组内的密钥结构及功能相同,但密钥内容不同;实际交易处理时,只使用其中一组密钒同时保留另一组密钥的目的是当正在使用的密钥组失效时,可立即启用该密钥组进行工作。
每个密钥组内的密钥结构为:
同步密钥(TNK1):保护工作密钥(TPK、TAK)的安全传输:
同步密钥(TMK2):保护工作密钥(TEK)的安全传输:
TPK:作为用户银行卡PIN BLOCK的加密密钥;
TAK:作为终端上送报文MAC数据的加密密钥;
TEK:用于终端解密数据的解密密钥;
2、支付终端在每次签到时,由交费易主机指定启用终端的某个密钥组,并自动更新该密钥组中的TPK,TAK和TEK;
3、密钥更新具体操作如下:
由支付平台系统主机加密机产生一组随机工作密钥(TPK,MAK和TEK),由支付终端的TMK加密存放在本地数据库TPK。TAK和TEK由TMK加密下载,支付终端收到下载的工作密钥后,存放在本地加密模块SAM卡中;
4、在工作过程中,用户PIN和数据MAC由下载的工作密钥TPK和TAK处理,需要解密的数据由TEK处理;
5、支付平台系统主机在特别情况下,可以对TMK进行动态更新,保证终端密钥的安全性;
(2)网上交易系统密钥处理机制
1、网上交易系统采用RSA非对称加密算法来对需要加密传输的信息进行加密;
2、由数据加密机生成一对公钥和私钥;
3、网上交易系统在密码输入控件内加入公钥,并使用RSA算法对控件获得的内容进行加密;
4、支付平台系统主机收到网站的密码密文信息后,通过数据密码机中的私钥进行解密,然后在加密机内采用相应的银行ZPK进行加密;
(三)前置系统密钥管理
(1)支付平台系统主机与银行前置间
为了避免银行方进行改动,支付平台主机系统与银行前置系统间的密钥管理模式如下:
支付平台系统主机与银行前置之间约定同步密钥(ZMK),保护工作密钥(ZAKl的安全传输。
1、支付平台主机系统的加密机内加载原各银行提供的ZPK;
2、银行前置与支付平台系统主机签到时,自动下载工作密钥;
3、由支付平台系统主机加密机产生一对随机工作密钥(ZAK),由对应银行的ZMK加密存放在本地数据库;
4、ZAK由ZMK加密下载,银行前置收到下载的工作密钥后,存放在本地加密机上;
5、在工作过程中,用户PIN和数据MAC分别由保存在加密机中的ZPK和下载的工作密钥ZAK进行处理;
6、银行同步密钥(ZMK)在生成时,至少由两个成份合成,确保密钥的安全性;
7、所有的同步密钥由加密机主密钥保护并保存在加密机内;
(2)支付平台系统主机与银联前置间
为了避免银联方进行改动,支付平台主机系统与银联前置系统间的密钥管理模式如下:
1、支付平台主机系统的加密机内加载原银联提供的ZMK,保护工作密钥(ZPKx)的安全传输;
2、支付平台系统主机与银联前置签到时,由银联加密机产生一把随机工作密钥(ZPKx),并通过ZMK加密后,传送给支付平台主机系统;
3、支付平台主机系统加密机使用保存的ZMK解开银联送来的工作密钥(ZPKx)密文,将工作密钥ZPKx保存在加密机内;
4、在工作过程中.用户PIN由下载的工作密钥ZPKx处理;
5、银联同步密钥{ZMK}在生成时.至少由两个成份合成,确保密钥的安全性;
6、所有的同步密钥由加密机主密钥保护并保存在加密机内。
小知识之支付平台
支付平台实际上就是买卖双方交易过程中的“中间件”,也可以说是“技术插件”;是在银行监管下保障交易双方利益的独立机构。做为交易的“中间件”,第三方交易平台的出现彻底杜绝了电子交易中的欺诈行为。