支付平臺系統(tǒng)上分段式加密體系的應用

針對支付平臺系統(tǒng)現(xiàn)行加密體系存在的不足進行分析,我們有針對性地提出分段式加密體系結(jié)構(gòu)。該加密體系很好地將終端密鑰管理體系統(tǒng)—起來,真正實現(xiàn)終端密鑰“一機一密”的目標。進而大大降低了系統(tǒng)維護的工作量的同時,極大提升了系統(tǒng)加密體系結(jié)構(gòu)的靈活性和安全性。

一、支付平臺系統(tǒng)現(xiàn)行加密體系

現(xiàn)行的加密體系是上世紀九十年代末期于系統(tǒng)設(shè)計初期時確定的。由于當時數(shù)據(jù)加密機多為進口設(shè)備,購買成本極高。出于對總體成本的控制,且考慮到各銀行均采用相同的DES對稱加密算法。因此決定不采用數(shù)據(jù)加密機設(shè)備,而采用直接在終端的安全處理模塊SAM卡中,放入各入網(wǎng)銀行的加密密鑰,終端送往銀行的加密數(shù)據(jù)。在支付平臺系統(tǒng)不做任何處理,透明傳輸至相應的銀行進行解密的加密體系。

目前支付平臺系統(tǒng)服務器向下聯(lián)接了超過2000臺帶有SAM卡的支付終端,每張SAM卡上存有14家商業(yè)銀行的加密密鑰TPK。而這些密鑰是事先由每家銀行密鑰管理人員輸入所有的支付終端內(nèi)的密鑰都相同,目前支付平臺系統(tǒng)不支持自動更新銀行加密密鑰,只能通過手工更新。

二、現(xiàn)行加密體系的不足

現(xiàn)行加密體系的具體運作流程是:

在交易過程中.由支付終端判斷顧客銀行卡的發(fā)卡銀行,然后選用相應銀行的加密密鑰TPK,分別對用戶的密碼信息加密及對交易數(shù)據(jù)包產(chǎn)生MAC,并發(fā)送到支付平臺系統(tǒng)服務器。支付平臺系統(tǒng)服務器不對支付終端發(fā)來交易中的用戶密碼信息進行任何處理,直接轉(zhuǎn)發(fā)到相應的銀行,然后等待接收銀行的回應消息,并與相關(guān)業(yè)務單位服務器進行相應的帳務處理,記錄交易流水信息.同時反饋給支付終端。

通過以上流程,我們發(fā)現(xiàn)存在以下不足之處。

1、支付終端本地需要有一張銀行卡卡表,分別記錄各家銀行的卡號特征信息。因此一旦某家商業(yè)銀行發(fā)行一張新卡,那么就必須更新所有的POS終端卡表信息,這需要對終端程序進行更新,而且同樣的事情在支付平臺系統(tǒng)主機也重復傲了一次,增加了不必要的工作量。

2、支付終端上的銀行加密密鑰TPK和MAC加密密鑰TMK不能自動更新。因為目前采用的流行加密算法都是算法公開的,密鑰則成了數(shù)據(jù)安全的唯一因素,因此只有通過定期更新等數(shù)據(jù)密鑰才能保證數(shù)據(jù)的安全性。

3、繳費交易數(shù)據(jù)流經(jīng)的所有節(jié)點采用的都是同一把TPK/TMK進行保護,按照國際通用做法則是數(shù)據(jù)密鑰必須按照網(wǎng)絡(luò)分級,分層,分區(qū)劃分,這樣可以縮小欺詐作案的擴散范圍,而且一旦出現(xiàn)密鑰泄密事故還能明確支付平臺系統(tǒng)和銀行承擔責任的范圍。

4、一旦支付平臺系統(tǒng)或銀行對業(yè)務有了新的需求,按照現(xiàn)有的模式很難作相應的擴充。如某銀行準備修改其加密算法或改變其加密密鑰TPK。無論其余銀行是否統(tǒng)一修改,均需對所有終端SAM卡進行改造,成本很高。

5、當前的加密體系僅針對銀行的重要數(shù)據(jù)進行加密設(shè)計,而對于支付平臺系統(tǒng)本身的一些重要數(shù)據(jù),導致支付平臺系統(tǒng)存在多種加密機制,增加了開發(fā)和安全管理上的困難。

為了讓支付平臺系統(tǒng)加密體系更完整且易于業(yè)務的擴展,需要對現(xiàn)有的加密體系進行改造。在支付平臺系統(tǒng)端,引人數(shù)據(jù)加密機設(shè)備,將現(xiàn)有的一段式加密體系,改造成兩段式加密體系。并且通過引入的數(shù)據(jù)加密機,對各類加密密鑰進行集中管理,同時,將支付平臺系統(tǒng)的各類加密體系進行統(tǒng)一。

三、分段式加密體系概述

(一)分段式加密體系結(jié)構(gòu)圖

(二)終端密鑰管理

(1)支付終端密鑰處理機制

該模式下,終端的密鑰管理由支付平臺系統(tǒng)集中統(tǒng)一管理,密鑰統(tǒng)二分發(fā)和控制。

1、支付平臺系統(tǒng)主機與終端約定兩個密鑰組,每個密鑰組內(nèi)的密鑰結(jié)構(gòu)及功能相同,但密鑰內(nèi)容不同;實際交易處理時,只使用其中一組密釩同時保留另一組密鑰的目的是當正在使用的密鑰組失效時,可立即啟用該密鑰組進行工作。

每個密鑰組內(nèi)的密鑰結(jié)構(gòu)為:

同步密鑰(TNK1):保護工作密鑰(TPK、TAK)的安全傳輸:

同步密鑰(TMK2):保護工作密鑰(TEK)的安全傳輸:

TPK:作為用戶銀行卡PIN BLOCK的加密密鑰;

TAK:作為終端上送報文MAC數(shù)據(jù)的加密密鑰;

TEK:用于終端解密數(shù)據(jù)的解密密鑰;

2、支付終端在每次簽到時,由交費易主機指定啟用終端的某個密鑰組,并自動更新該密鑰組中的TPK,TAK和TEK;

3、密鑰更新具體操作如下:

由支付平臺系統(tǒng)主機加密機產(chǎn)生一組隨機工作密鑰(TPK,MAK和TEK),由支付終端的TMK加密存放在本地數(shù)據(jù)庫TPK。TAK和TEK由TMK加密下載,支付終端收到下載的工作密鑰后,存放在本地加密模塊SAM卡中;

4、在工作過程中,用戶PIN和數(shù)據(jù)MAC由下載的工作密鑰TPK和TAK處理,需要解密的數(shù)據(jù)由TEK處理;

5、支付平臺系統(tǒng)主機在特別情況下,可以對TMK進行動態(tài)更新,保證終端密鑰的安全性;

(2)網(wǎng)上交易系統(tǒng)密鑰處理機制

1、網(wǎng)上交易系統(tǒng)采用RSA非對稱加密算法來對需要加密傳輸?shù)男畔⑦M行加密;

2、由數(shù)據(jù)加密機生成一對公鑰和私鑰;

3、網(wǎng)上交易系統(tǒng)在密碼輸入控件內(nèi)加入公鑰,并使用RSA算法對控件獲得的內(nèi)容進行加密;

4、支付平臺系統(tǒng)主機收到網(wǎng)站的密碼密文信息后,通過數(shù)據(jù)密碼機中的私鑰進行解密,然后在加密機內(nèi)采用相應的銀行ZPK進行加密;

(三)前置系統(tǒng)密鑰管理

(1)支付平臺系統(tǒng)主機與銀行前置間

為了避免銀行方進行改動,支付平臺主機系統(tǒng)與銀行前置系統(tǒng)間的密鑰管理模式如下:

支付平臺系統(tǒng)主機與銀行前置之間約定同步密鑰(ZMK),保護工作密鑰(ZAKl的安全傳輸。

1、支付平臺主機系統(tǒng)的加密機內(nèi)加載原各銀行提供的ZPK;

2、銀行前置與支付平臺系統(tǒng)主機簽到時,自動下載工作密鑰;

3、由支付平臺系統(tǒng)主機加密機產(chǎn)生一對隨機工作密鑰(ZAK),由對應銀行的ZMK加密存放在本地數(shù)據(jù)庫;

4、ZAK由ZMK加密下載,銀行前置收到下載的工作密鑰后,存放在本地加密機上;

5、在工作過程中,用戶PIN和數(shù)據(jù)MAC分別由保存在加密機中的ZPK和下載的工作密鑰ZAK進行處理;

6、銀行同步密鑰(ZMK)在生成時,至少由兩個成份合成,確保密鑰的安全性;

7、所有的同步密鑰由加密機主密鑰保護并保存在加密機內(nèi);

(2)支付平臺系統(tǒng)主機與銀聯(lián)前置間

為了避免銀聯(lián)方進行改動,支付平臺主機系統(tǒng)與銀聯(lián)前置系統(tǒng)間的密鑰管理模式如下:

1、支付平臺主機系統(tǒng)的加密機內(nèi)加載原銀聯(lián)提供的ZMK,保護工作密鑰(ZPKx)的安全傳輸;

2、支付平臺系統(tǒng)主機與銀聯(lián)前置簽到時,由銀聯(lián)加密機產(chǎn)生一把隨機工作密鑰(ZPKx),并通過ZMK加密后,傳送給支付平臺主機系統(tǒng);

3、支付平臺主機系統(tǒng)加密機使用保存的ZMK解開銀聯(lián)送來的工作密鑰(ZPKx)密文,將工作密鑰ZPKx保存在加密機內(nèi);

4、在工作過程中.用戶PIN由下載的工作密鑰ZPKx處理;

5、銀聯(lián)同步密鑰{ZMK}在生成時.至少由兩個成份合成,確保密鑰的安全性;

6、所有的同步密鑰由加密機主密鑰保護并保存在加密機內(nèi)。

小知識之支付平臺

支付平臺實際上就是買賣雙方交易過程中的“中間件”,也可以說是“技術(shù)插件”;是在銀行監(jiān)管下保障交易雙方利益的獨立機構(gòu)。做為交易的“中間件”,第三方交易平臺的出現(xiàn)徹底杜絕了電子交易中的欺詐行為。