新四季網

一種銀行卡交易前置設備的密鑰同步方法及系統的製作方法

2023-06-23 18:03:11 3

專利名稱:一種銀行卡交易前置設備的密鑰同步方法及系統的製作方法
技術領域:
本發明關於計算機網絡通信中的密鑰同步技術領域,具體地講是一種銀行卡交易前置設備的密鑰同步方法及系統。
背景技術:
在現有技術中,銀行等商業機構之間的銀行卡交易,一般會通過銀聯繫統進行通訊。銀行一般在銀行主機與銀聯伺服器之間部署有前置系統,作為銀行主機與銀聯伺服器的轉接系統,實現報文轉換、加解密等功能。一個大型銀行與銀聯的交易量,可能達到每秒鐘幾百甚至上千筆,因此,前置系統承擔著巨大的交易壓力,往往通過採用多點接入的部署策略來實現多路並發、負載均衡和在線互備,從而大幅提升應用系統的高可用性以及聯機數據處理的吞吐能力。這時,系統中對同步的實時性和安全性要求較高的數據同步策略就成為一大問題。一般情況下,為了保證聯機數據處理過程的安全性和數據整體的不可抵賴性,銀聯繫統和銀行系統中的聯機數據都採用特定的加密算法(如3DES算法)進行加密處理。同時,加密所使用的密鑰會不定期進行動態更新。這樣,就需要在密鑰更新後對採用多點部署的前置系統內部各節點存儲的密鑰數據進行同步,在聯機數據並發量很低的情況下,系統內部節點間的同步可以採用基於資料庫的同步技術,例如STRINGS或DBLINK等,但對於聯機數據平均並發量非常高且聯機數據送達的頻率沒有特定規律的系統中,這種基於資料庫的同步技術存在同步不及時或同步失敗等安全隱患和漏洞,如果同步發生在聯機數據的高峰期,一旦沒有及時同步或同步失敗,則會引發大量數據處理失敗或聯機數據大量堆積等嚴重問題。

發明內容
本發明實施例提供了一種銀行卡交易前置設備的密鑰同步方法及系統。以解決銀行卡交易前置設備的密鑰同步問題。本發明的目的之一是,提供一種銀行卡交易前置設備的密鑰同步更新方法,該方法包括接收密鑰源伺服器發來的包含新密鑰的密鑰重置交易請求信息;對密鑰重置交易請求信息進行完整性校驗和格式轉換處理;將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機中;接收銀行主機發來的包含新密鑰版本號的密鑰重置應答交易信息;判斷密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令;將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備;根據密鑰同步更新指令,向銀行主機發送包含新密鑰版本號的密鑰下載交易請求信息;接收銀行主機發來的包含新密鑰的密鑰下載應答交易信息;用密鑰下載應答交易信息中的新密鑰更新當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰;接收其他銀行卡交易前置設備反饋的密鑰同步更新成功信息,向密鑰源伺服器反饋密鑰重置交易成功應答信息;啟用新密鑰對聯機交易數據進行加密或解密處理。
本發明的目的之一是,提供一種銀行卡交易前置設備的密鑰同步更新系統,該系統包括密鑰源伺服器、銀行主機和多個銀行卡交易前置設備;密鑰源伺服器通過網際網路分別與多個銀行卡交易前置設備相連接,銀行主機通過區域網分別與多個銀行卡交易前置設備相連接;一個銀行卡交易前置設備包括密鑰重置請求接收裝置,用於接收密鑰源伺服器發來的包含新密鑰的密鑰重置交易請求信息;密鑰重置請求處理裝置,用於對密鑰重置交易請求信息進行完整性校驗和格式轉換處理;密鑰重置請求發送裝置,用於將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機中;密鑰重置應答接收裝置,用於接收銀行主機發來的包含新密鑰版本號的密鑰重置應答交易信息;同步更新指令生成裝置,用於判斷密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令;同步更新指令發送裝置,將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備;密鑰下載請求發送裝置,用於根據密鑰同步更新指令,向銀行主機發送包含新密鑰版本號的密鑰下載交易請求信息;密鑰下載應答接收裝置,用於接收銀行主機發來的包含新密鑰的密鑰下載應答交易信息;密鑰本地更新裝置,用密鑰下載應答交易信息中的新密鑰更新所述的當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰;同步更新應答接收裝置,用於接收其他銀行卡交易前置設備反饋的密鑰同步更新成功信息;密鑰重置應答發送裝置,用於向密鑰源伺服器反饋密鑰重置交易成功應答信息;加/解密處理裝置,啟用新密鑰對聯機交易數據進行加密或解密處理。本發明的有益效果在於對集中式部署的開放平臺應用提供了安全可靠的應用層密鑰存儲與同步解決方案,為該類應用系統實施多點接入解決了核心問題、掃除了關鍵障礙。其具有如下優點(一)在密鑰重置過程中,一般聯機交易仍可正常進行,不受影響,保證了系統的穩定運行;(二)對於應用多點接入部署策略的前置系統,可以有效保證在密鑰重置過程中,密鑰重置的可靠性。(三)通過採用主機集中存儲密鑰和針對前置系統密鑰下載多種觸發機制,保證了密鑰更新的完整性,切實保證前置系統的每一節點及時獲取新密鑰,保證系統的正常運行和交易的成功率。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例銀行卡交易前置設備的密鑰同步更新方法流程圖;圖2為本發明實施例銀行卡交易前置設備的密鑰同步更新系統的連接關係示意圖;圖3、4為本發明實施例銀行卡交易前置設備的密鑰同步更新系統的結構框圖;圖5為本發明實施例密鑰存儲裝置示意圖;圖6為本發明實施例的密鑰使用區和密鑰存儲區的密鑰之間切換的工作流程圖;圖7為本發明實施例密鑰重置交易工作流程圖;圖8為本發明實施例密鑰下載工作流程圖;圖9為本發明實施例前置機從主機下載新密鑰後的密鑰處理工作流程圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。如圖1所示,本實施例的銀行卡交易前置設備的密鑰同步更新方法包括接收密鑰源伺服器發來的包含新密鑰的密鑰重置交易請求信息(步驟S101);對密鑰重置交易請求信息進行完整性校驗和格式轉換處理(步驟;將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機中(步驟S10;3);接收銀行主機發來的包含新密鑰版本號的密鑰重置應答交易信息(步驟S104);判斷密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令,並將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備(步驟S105);根據密鑰同步更新指令,向銀行主機發送包含新密鑰版本號的密鑰下載交易請求信息(步驟S106);接收銀行主機發來的包含新密鑰的密鑰下載應答交易信息(步驟S107);用密鑰下載應答交易信息中的新密鑰更新當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰(步驟S108);接收其他銀行卡交易前置設備反饋的密鑰同步更新成功信息,並向密鑰源伺服器反饋密鑰重置交易成功應答信息(步驟 S109);啟用新密鑰對聯機交易數據進行加密或解密處理(步驟S110)。如圖4所示,將當前版密鑰和前一版密鑰存儲於本地的密鑰存儲區;其中,用密鑰下載應答交易信息中的新密鑰更新密鑰存儲區中的當前版密鑰,並用更新前的當前版密鑰更新所述密鑰存儲區中的前一版密鑰。將密鑰存儲區中存儲的當前版密鑰存儲於本地的密鑰使用區;其中,啟用密鑰使用區中存儲的當前版密鑰對聯機交易數據進行加密或解密處理。判斷所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否失敗,如果失敗,則使用所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據進行加密或解密,再判斷所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否成功,如果成功,則用所述密鑰存儲區中存儲的當前版密鑰更新所述密鑰使用區中存儲的當前版密鑰。接收密鑰源伺服器發來的同步時間窗口指令,並在同步時間窗口內採用當前版密鑰或新密鑰對聯機交易數據進行加密或解密處理。如圖2所示,本實施例的銀行卡交易前置設備的密鑰同步更新系統包括密鑰源伺服器100、銀行主機300和多個銀行卡交易前置設備QOOa,200b,200c)。密鑰源伺服器 100通過網際網路分別與多個銀行卡交易前置設備QOOa,200b,200c)相連接,銀行主機300 通過區域網分別與多個銀行卡交易前置設備O00a,200b,200c)相連接。如圖3所示,一個銀行卡交易前置設備200a包括密鑰重置請求接收裝置201,用於接收密鑰源伺服器100發來的包含新密鑰的密鑰重置交易請求信息;密鑰重置請求處理裝置202,用於對密鑰重置交易請求信息進行完整性校驗和格式轉換處理;密鑰重置請求發送裝置203,用於將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機300中;密鑰重置應答接收裝置204,用於接收銀行主機300發來的包含新密鑰版本號的密鑰重置應答交易信息;同步更新指令生成裝置205,用於判斷密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令;同步更新指令發送裝置211,用於將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備O00b,200c); 密鑰下載請求發送裝置206,用於根據密鑰同步更新指令,向銀行主機300發送包含新密鑰版本號的密鑰下載交易請求信息;密鑰下載應答接收裝置207,用於接收銀行主機207發來的包含新密鑰的密鑰下載應答交易信息;密鑰本地更新裝置208,用密鑰下載應答交易信息中的新密鑰更新當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰;同步更新應答接收裝置209,用於接收其他銀行卡交易前置設備O00b,200c)反饋的密鑰同步更新成功信息,密鑰重置應答發送裝置212,用於向密鑰源伺服器100反饋密鑰重置交易成功應答信息;加/解密處理裝置210,啟用新密鑰對聯機交易數據進行加密或解密處理。如圖4所示,銀行卡交易前置設備QOOa,200b,200c)還包括密鑰存儲裝置213, 密鑰存儲裝置213進一步包括(見圖5)密鑰存儲區,用於存儲當前版密鑰和前一版密鑰; 密鑰本地更新裝置進一步包括存儲區密鑰更新單元,用密鑰下載應答交易信息中的新密鑰更新所述密鑰存儲區中的當前版密鑰,並用更新前的當前版密鑰更新密鑰存儲區中的前一版密鑰。密鑰存儲裝置還包括密鑰使用區,用於存儲密鑰存儲區中存儲的當前版密鑰。加/解密處理裝置啟用密鑰使用區中存儲的當前版密鑰對聯機交易數據進行加密或解密處理。密鑰本地更新裝置進一步包括使用區密鑰更新單元,用於判斷所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否失敗,如果是,則使用所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據進行加密或解密,如果否,則用所述密鑰存儲區中存儲的當前版密鑰更新所述密鑰使用區中存儲的當前版密鑰。銀行卡交易前置設備還包括同步時間指令接收裝置214,用於接收密鑰源伺服器發來的同步時間窗口指令; 同步更新指令接收裝置215,用於接收其他銀行卡交易前置設備發來的密鑰同步更新指令; 其中,加/解密處理裝置在同步時間窗口內採用當前版密鑰或新密鑰對聯機交易數據進行加密處理。在銀行卡交易中,一個聯機事務的處理過程一般要經過多個處理節點,如圖2中的銀行卡交易前置設備O00a,200b,200c)。聯機數據在各個節點間傳輸的過程中,為了保證數據的安全性、完整性以及不可抵賴性,需要對聯機數據中的關鍵信息進行加密處理,還需要針對聯機數據內容根據特定的算法計算出一個校驗序列碼,用於在數據傳輸所經過的各個節點中驗證數據內容是否被外界惡意篡改過。在進行上述加解密處理以及對校驗序列碼進行校驗時均需要使用到密鑰數據,因此,對於每一個聯機事務的處理過程,密鑰是必不可少的關鍵信息域,需要保證其值域的正確性。實施例對於一個實施了多點部署策略的應用系統而言,密鑰信息的存儲(物理的或邏輯的)在一套系統中存在多個拷貝,而聯機事務的處理通過負載均衡技術被分配到各個節點 (銀行卡交易前置設備200a,200b,200c)中進行,且聯機事務的發生頻率、時間間隔均無規律可循,這就需要系統中各個存儲節點上的密鑰信息必須時刻嚴格保持可用狀態,因此,對其更新同步的過程提出了很高的要求。在銀行系統(如圖2中的銀行主機300)與銀聯繫統(如圖2中的密鑰源伺服器 100)的通訊中,一個聯機事務會在三部分中進行傳輸,包括銀聯伺服器、銀行的前置系統(如圖2中的銀行卡交易前置設備200a,200b,200c)和銀行主機。銀聯和前置系統之間一般通過hternet網或專線連接,前置系統和銀行主機一般通過銀行內部區域網連接。系統中交易是雙向的,即銀聯伺服器既可以是交易發送方也可以是交易的接收方,銀行主機也同理,中間的前置系統作為交易的轉接方。在圖2中可以看到,銀行卡交易前置設備O00a, 200b, 200c)在系統部署方面可以支持靈活的部署策略,既可以同城部署也可以異地部署 (這樣的系統架構及部署模式就是多點接入的部署策略),因此,密鑰的同步更新策略需要能夠應對各種不同部署模式下的安全要求。在銀聯伺服器(密鑰源伺服器100)發起的一個密鑰重置交易的處理流程中,因為銀聯機構的特殊性,銀聯負責新密鑰的生成,並向銀行端發起密鑰重置交易請求,在新密鑰重置交易成功後使用新密鑰進行加解密處理;銀行卡交易前置設備QOOa,200b,200c)是密鑰重置的轉接方和密鑰的使用方, 主要負責新密鑰的傳遞並使用新密鑰對一般聯機交易進行加解密處理。前置系統採用多點接入部署策略,因此,無法將其中某一個節點作為密鑰存儲的主數據源,只能是作為使用密鑰的輔數據源。銀行卡交易前置設備中部署的每個節點中的系統邏輯相同,每臺銀行卡交易前置設備之間兩兩可以通訊。每一臺銀行卡交易前置設備上都部署有密鑰重置更新裝置。密鑰重置更新裝置實現密鑰在本銀行卡交易前置設備上的版本比較,更新及存儲。銀行主機300因其具備較高的安全性和穩定性,且與銀行卡交易前置設備O00a, 200b, 200c)連接,因此銀行主機300是密鑰的存儲方(作為主數據源),主要負責對新密鑰進行可靠的物理存儲;以及響應各銀行卡交易前置設備中對於新密鑰的下載請求。銀行主機300對所存儲的密鑰的版本進行管理,在聯機交易報文中同時發送密鑰版本號信息。銀聯伺服器(密鑰源伺服器100)發起一筆密鑰重置交易請求到銀行卡交易前置設備O00a,200b,200c)並等待銀行卡交易前置設備的應答,銀行卡交易前置設備收到請求交易後轉發給銀行主機進行新密鑰的存儲動作,存儲成功後向銀行卡交易前置設備應答,銀行卡交易前置設備接收到應答後向銀聯伺服器(密鑰源伺服器100)應答,銀聯(密鑰源伺服器100)接收到成功應答後完成密鑰的重置交易。如上所述,當一個密鑰重置交易請求由銀聯伺服器(密鑰源伺服器100)通過聯機事務提交到銀行卡交易前置設備O00a,200b,200c)後,密鑰的更新過程隨即開始,自此刻開始,需要保證整個密鑰更新過程對一般聯機交易的正確處理沒有影響。銀聯伺服器在發起重置密鑰後將同時啟動時間窗口機制在時間窗口內,銀聯伺服器可以同時支持新、舊密鑰。換言之,在時間窗口內,來自銀行主機端的一般聯機交易(請求或應答),前置設備無論是用新密鑰加密還是舊密鑰加密,在銀聯伺服器中均可以被正確解密;而銀聯伺服器自收到密鑰重置交易成功應答後的下一筆交易開始啟用新密鑰加密,在此之前仍使用舊密鑰加密。在密鑰重置交易過程中僅僅完成了新密鑰在銀行主機中的更新存儲動作,尚未完成本地各前置設備的新密鑰的同步更新下載和同步動作。前置設備採用的是多點部署模式,系統內具有多個物理節點,因此,前置設備要啟動如下機制進行新密鑰的更新並保證更新過程對一般聯機交易數據的加解密處理不產生影響。銀行主機對密鑰進行版本管理,前置設備判斷銀行主機向前置設備送達的一般聯機交易數據中的密鑰版本信息是否比本地密鑰版本信息新,如果是,則啟動新密鑰下載的動作向銀行主機索取新的密鑰數據,然後更新前置設備本地存儲。在各前置設備全部完成新密鑰同步更新後向銀聯伺服器應答成功(銀聯對此交易不設置超時)。由於密鑰的重置過程與一般聯機交易的處理過程是交叉在一起進行的,為了規避密鑰重置交易可能發生的各種異常對正常交易產生影響,各前置設備通過進行密鑰分類管理(系統內部動態存儲採用分區管理)的策略提升系統的容錯能力,保證正常交易的正確處理。因為各前置設備採用的是多點部署的策略,其中每一臺前置設備與銀聯伺服器均存在通訊鏈路,因此,銀聯伺服器下發的重置密鑰交易數據將隨機發送到任意一臺前置設備上,假設重置密鑰交易數據發送到銀行卡交易前置設備200a上,為便於描述,將收到銀聯發來的密鑰重置交易請求的這臺銀行卡交易前置設備200a稱為宿主伺服器。宿主伺服器將重置密鑰交易送至銀行主機300 ;銀行主機300進行新密鑰的更新存儲後,仍通過宿主伺服器進行應答。為了在時間窗口內完成其他銀行卡交易前置設備(200b,200c)對新密鑰的下載、同步動作,宿主伺服器在啟動新密鑰下載、同步的同時,還要通知非宿主伺服器 (如其他銀行卡交易前置設備200b,200c)同樣執行下載、同步操作。待所有銀行卡交易前置設備完成後,宿主伺服器(銀行卡交易前置設備200a)答覆銀聯密鑰重置成功。因此,在重置密鑰交易未完成的期間內,一般聯機交易仍可正常進行。如圖3所示,一個銀行卡交易前置設備QOOa,200b,200c)包括密鑰重置請求接收裝置201,用於接收密鑰源伺服器100發來的包含新密鑰的密鑰重置交易請求信息;密鑰重置請求處理裝置202,用於對密鑰重置交易請求信息進行完整性校驗和格式轉換處理; 密鑰重置請求發送裝置203,用於將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機300中;密鑰重置應答接收裝置204,用於接收銀行主機300發來的包含新密鑰版本號的密鑰重置應答交易信息;同步更新指令生成裝置205,用於判斷密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令;同步更新指令發送裝置211,用於將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備 (200b, 200c);密鑰下載請求發送裝置206,用於根據密鑰同步更新指令,向銀行主機300發送包含新密鑰版本號的密鑰下載交易請求信息;密鑰下載應答接收裝置207,用於接收銀行主機300發來的包含新密鑰的密鑰下載應答交易信息;密鑰本地更新裝置208,用密鑰下載應答交易信息中的新密鑰更新當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰; 同步更新應答接收裝置209,用於接收其他銀行卡交易前置設備O00b,200c)反饋的密鑰同步更新成功信息,密鑰重置應答發送裝置212,用於向密鑰源伺服器100反饋密鑰重置交易成功應答信息;加/解密處理裝置210,啟用新密鑰對聯機交易數據進行加密或解密處理。本發明實施例中密鑰的主數據源存儲在銀行主機中,各銀行卡交易前置設備中存儲的密鑰數據為輔數據源,主要用於交易過程中的加解密處理。因為採用了多點部署的策略,所以在密鑰重置交易過程中僅更新主數據源的密鑰數據,不會同時對輔數據源中的密鑰數據進行同步更新。通過同步更新指令生成裝置205,能夠讓各銀行卡交易前置設備及時獲知銀行主機中的密鑰數據更新情況,進而進一步觸發密鑰下載工作流程。如圖4所示,銀行卡交易前置設備中的密鑰存儲裝置是一種密鑰本地動態存儲裝置213,該密鑰存儲裝置213採用分區設計,密鑰的存儲區和使用區邏輯分離。使用區中存儲最近一次加解密成功時採用的密鑰數據,即當前密鑰及版本號,以保證密鑰同步更新的過程中一般交易能夠被成功處理。存儲區分為兩部分,一部分用於存儲密鑰重置後最新的密鑰數據,即新版密鑰和版本號;另一部分存儲密鑰重置前的密鑰數據,即舊版密鑰及版本號,以便能夠支持前置系統中密鑰部分同步成功部分同步失敗而引發的回退功能。一般情況下,交易的加解密都從使用區中獲取密鑰進行處理。通過分區設計,可以有效的降低密鑰重置交易過程中對一般連接交易處理的影響從而保障一般聯機交易處理的成功率。密鑰本地更新裝置213進一步包括使用區密鑰更新單元,用於判斷所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否失敗,如果是,則使用所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據進行加密或解密,如果否,則用所述密鑰存儲區中存儲的當前版密鑰更新所述密鑰使用區中存儲的當前版密鑰。銀行卡交易前置設備還包括同步時間指令接收裝置214,用於接收密鑰源伺服器發來的同步時間窗口指令;同步更新指令接收裝置215,用於接收其他銀行卡交易前置設備發來的密鑰同步更新指令;其中,加/解密處理裝置在同步時間窗口內採用當前版密鑰或新密鑰對聯機交易數據進行加密處理。密鑰本地動態存儲裝置通過內存數據結構實現,這樣有利於提升數據存取的效率。在一個密鑰重置交易中,銀聯伺服器發起密鑰重置交易。前置設備採用的是多點部署的策略,其中每一臺前置設備與銀聯伺服器均存在通訊鏈路,因此,銀聯伺服器下發的重置密鑰交易數據將隨機發送到前置系統的某一前置設備上,即宿主伺服器(為便於理解,以下將收到銀聯伺服器發來的密鑰重置交易請求的這臺前置設備稱為宿主伺服器)。宿主伺服器對重置密鑰交易數據進行必要的完整性校驗處理(如MD5校驗)和簡單的格式轉換處理後將數據包送至銀行主機中;銀行主機接收並處理後,將應答包原路返回給宿主伺服器,當應答狀態為成功時,宿主伺服器將解析出應答包中的密鑰版本號,與密鑰本地動態存儲裝置中的當前密鑰版本號進行比對,如果發現兩者不一致,則說明密鑰的版本發生了變化,立即啟動密鑰下載工作流程,同步啟動如下兩組操作一、前置設備向銀行主機發起一筆密鑰下載請求交易,通知銀行主機將最新版本的密鑰數據通過下發到本前置設備。當收到銀行主機下發的新版本密鑰數據後,該前置設備啟動密鑰同步工作流程, 即開始對本地動態存儲裝置中的密鑰數據進行同步更新操作,處理步驟如下將密鑰存儲裝置中原「新版密鑰」覆蓋到「舊版密鑰」區;將從銀行主機下載的新版密鑰數據覆蓋到本地「新版密鑰數據」區;存儲區的更新操作完成後,使用區內的「當前密鑰」仍舊是原有數據,原因是使用區的密鑰數據更新是以「上一次正確加解密處理」為前提的。一筆一般交易的加解密處理過程中,系統在本地動態密鑰存儲裝置中選取密鑰數據時優先從使用區讀取,如果使用區的密鑰無法正確進行加解密處理,再從存儲區中讀取,先讀取「新版」密鑰再讀取「舊版」密鑰,如果「新版」密鑰進行加解密成功,說明密鑰發生了同步更新操作,如果「舊版」密鑰進行加解密成功,說明密鑰發生了同步回退操作,當使用存儲區中的密鑰數據對一般交易的加解密處理成功後,系統將處理成功的密鑰數據再同步更新到使用區。綜上,使用區的密鑰數據更新操作是以「上一次加解密處理成功」為前提的。上面的設計和管理策略的主要優點在於可以有效的解決一般聯機交易在時間窗口前後的交易失敗隱患。如圖6所示,為上述加解密處理過程中的操作的處理步驟。二、通過宿主伺服器向其他非宿主伺服器發送密鑰下載通知指令。當非宿主伺服器收到指令後,觸發本機的密鑰本地同步更新,啟動與宿主伺服器相同的密鑰下載操作,下載和同步更新完成後,非宿主伺服器向宿主伺服器發送密鑰同步完成信號(宿主伺服器發給自己,負責發出信號和收集信號的進程不同)。最後,宿主伺服器收到所有非宿主伺服器發來的密鑰同步完成信號後,再向銀聯伺服器發送密鑰重置交易的成功應答。為了能夠最大限度的保證多臺銀行卡交易前置設備新密鑰下載同步更新的安全性和可靠性,根據本發明的設計,還存在如下的前置設備密鑰下載觸發方式因為銀行主機發送的一般聯機交易數據中也包含最新的密鑰版本號(一般在交易數據的特定域中填寫),通過一般聯機交易下送給某一前置設備時,該前置設備將交易數據中的當前密鑰版本號數據解析出來,與本地存儲的當前密鑰版本號進行比對,如果發現兩者不一致,則說明密鑰的版本發生了變化,就需要進行同步更新處理,系統將根據識別判定結果觸發密鑰下載處理機制。即密鑰下載工作流程不僅存在於密鑰重置交易過程中,也存在於一般聯機交易的過程中。因為一般交易數據的處理是前置設備的常態,且一般交易數據的處理過程流經了銀行主機和前置設備,因此,在一般交易數據中增加密鑰版本號對系統的正常性能不會產生過多的額外開銷。這樣,可以最大限度的保證前置系統多臺應用伺服器新密鑰下載、同步工作的安全性和可靠性。如圖7所示,是密鑰重置交易的工作流程。該工作流程描述了從銀聯伺服器生成新密鑰並下發到前置系統,再到銀行主機和前置設備完成更新並向銀聯應答的過程。步驟501 銀聯伺服器生成新的密鑰並向前置設備發送密鑰重置交易請求,請求的數據包中包含了新的密鑰數據;步驟502 前置設備中的某節點前置設備通過網絡鏈路接收銀聯伺服器發來的密鑰重置交易請求,並對密鑰重置交易數據進行必要的完整性校驗處理和簡單的格式轉換, 但並不對數據包中的密鑰數據進行解析處理;因前置設備採用的是多點部署的策略,其中每一臺前置設備與銀聯伺服器均存在通訊鏈路,因此,銀聯伺服器下發的密鑰重置交易請求是隨機發送到任意一臺前置設備上, 即所述宿主伺服器;步驟503 前置設備中宿主伺服器將轉換後的數據包再通過內部區域網發送到銀行主機中,數據包中的密鑰數據與銀聯伺服器發來時的數據相同;步驟504 銀行主機接收前置設備發來的密鑰重置交易請求數據包並對數據包的內容進行必要的檢查,確保數據沒有被篡改。步驟505 銀行主機對數據包進行解析處理,取得新密鑰並存儲;如解析和存儲密鑰等操作出現異常,則進入步驟506 ;如解析和存儲密鑰等操作正常,則進入步驟509。步驟506 銀行主機通過原路向前置設備的宿主伺服器發送失敗應答,應答包中的密鑰的版本號仍使用原密鑰版本號。步驟507 前置設備使用當前密鑰(原密鑰)對失敗應答加密並發送給銀聯服務
步驟508 銀聯伺服器收到失敗應答,保持原密鑰不變,等待重發密鑰重置請求。步驟509 銀行主機通過原路向前置設備的宿主伺服器發送成功應答,應答包中的密鑰的版本號使用新密鑰版本號。步驟510 宿主伺服器接收銀行主機發來的重置密鑰應答交易。通過對密鑰版本號進行識別與判定,若應答包中的密鑰版本號新於當前的密鑰版本號,則啟動密鑰下載工作流程和密鑰同步工作流程。同時向其他非宿主伺服器發送密鑰下載通知指令。通知指令可以是短連接、簡單通訊協議的方式。步驟511 非宿主伺服器收到該指令後,啟動密鑰下載和密鑰同步工作流程,完成後,非宿主伺服器向宿主伺服器發送密鑰下載、同步完成信號。步驟512 全部前置設備完成新密鑰下載後,即宿主伺服器收齊所有前置設備(包括自身)的完成通知後,將成功應答交易轉發至銀聯伺服器。步驟513 銀聯伺服器通過網絡鏈路接收到密鑰重置交易成功應答,並對交易數據包進行解析,同時啟用新密鑰。發送的下一筆一般聯機交易即開始使用新密鑰進行加密處理。如圖8所示,是密鑰下載工作流程。該工作流程主要用於前置設備在識別了密鑰版本號更新後進行新密鑰的下載動作,即保證前置設備密鑰與銀行主機存儲的密鑰的一致。步驟601 銀行主機發起交易。銀行主機發起的所有交易的數據包中均帶有當前主機中存儲的最新密鑰版本號信息,該信息隨著交易的發起而被下送到前置設備中。步驟602:前置系統中某一臺前置設備接收交易數據。前置系統中部署了多臺前置設備,對於一般聯機交易數據而言,在負載均衡的機制下,前置系統中的每一臺前置設備均會接收到一般聯機交易的數據包,接收後除進行常規的交易數據處理外,還讀取數據包中所攜帶的密鑰版本號信息;而對於密鑰重置交易的應答包,銀行主機具備原路返回機制, 即將應答包回送到密鑰重置交易請求上送的那臺前置設備,即宿主伺服器上;步驟603 接收到交易數據包的前置設備在解析數據包後對交易類型進行判斷和識別,以區分該筆交易是一般聯機交易還是密鑰重置交易應答;若是一般聯機交易的數據包(該情況可能會在任何一臺應用伺服器上發生),則進入步驟604 ;若是重置密鑰交易的應答數據包(該情況只會發生在宿主伺服器上),則進入步驟606。步驟604 前置設備將從數據包取出的密鑰版本號與密鑰本地動態存儲模塊中當前密鑰版本號進行比對;步驟605 如果前置設備發現交易數據中的密鑰版本號與本地的不同,則啟動密鑰本地同步更新,向銀行主機發起密鑰下載請求。由於前置設備接收到的銀行主機交易頻率不規律,所以在前置設備發起密鑰下載請求到主機應答的時間段內,該前置設備有可能多次判斷版本號不一致,導致多次向銀行主機下載密鑰。為了對系統的正常性能不產生過多的額外開銷,前置設備需要保證密鑰下載請求應答後或請求超時後才可以向銀行主機再次發送請求;步驟606 宿主伺服器對應答狀態進行判別,如果是成功交易則進入步驟607,如果是失敗交易,則直接向銀聯伺服器應答失敗;步驟607 對於成功的應答交易,宿主伺服器將從數據包取出的密鑰版本號與本地使用的密鑰版本號進行比對;步驟608 如果宿主伺服器發現交易數據中的密鑰版本號與本地的不同,則啟動密鑰本地同步更新,向主機發起密鑰下載請求,與此同時,向前置設備中的非宿主伺服器發出廣播通知,通知非宿主伺服器啟動密鑰下載動作;步驟609 銀行主機接收前置系統應用伺服器發送的密鑰下載請求交易,解析並檢查數據包;步驟610 銀行主機成功解析並檢查密鑰下載請求交易後,讀取本地密鑰數據,並組建成功應答,原路發向前置設備。如果解析、檢查等相關操作出現異常,則拒絕前置系統請求;步驟611 前置設備接收主機的密鑰下載應答交易,如果應答成功,則啟用密鑰同步工作流程以同步本地密鑰,如果應答失敗,則重試。可見,通過本發明實施例系統,在密鑰重置交易流程的基礎上,考慮到宿主伺服器向非宿主伺服器的廣播通知指令採用的是非安全的通訊協議,為保證前置系統中的每臺前置設備一定能夠觸發密鑰下載動作,及時有效的啟動新密鑰的下載和同步動作。密鑰下載存在第二種觸發機制銀行主機向前置設備中發送的一般交易數據中也會攜帶當前最新的密鑰版本號信息,銀行主機與前置系統各前置設備之間是採用的負載均衡機制,這樣就可以保證前置系統中的每臺前置設備均可以檢測到主機當前的密鑰版本號情況以便在主數據源的密鑰發生變化的情況下觸發密鑰下載動作。通過兩種並存的觸發機制,有效的保證了聯機交易頻率無特定規律的情況下前置系統中的各應用伺服器均可以及時觸發新密鑰的下載動作。如圖9所示,是密鑰同步工作流程。該工作流程主要用於將新密鑰在密鑰本地動態存儲模塊中進行同步更新處理。步驟701 前置系統某前置設備接收銀行主機的密鑰下載應答交易,如果應答成功,則從交易中解析出新密鑰數據和密鑰版本號;步驟702 前置設備將密鑰本地動態存儲裝置存儲區中的原有「新版密鑰」及新版本號覆蓋到「舊版密鑰」及舊版本號,以備後續密鑰同步回退使用;步驟703 將密鑰下載應答交易中解析出新密鑰數據和版本號覆蓋到存儲區中的 「新版密鑰」及新版本號;步驟704 通知宿主伺服器本前置設備密鑰已經和銀行主機的密鑰同步完成;步驟705 前置系統某前置設備接收來自銀聯的交易,加解密時使用密鑰本地動態存儲裝置使用區的「當前密鑰」數據;步驟706 前置系統某前置設備中密鑰本地動態存儲裝置的存儲區和使用區的密鑰發生變化時,需要同步更新到本應用伺服器的物理設備(文件、資料庫等)中,以備應用伺服器啟動時初始化內存中密鑰數據。本發明實施例是針對集中式部署的開放平臺應用提供了安全可靠的應用層密鑰存儲與同步解決方案,為該類應用系統實施多點接入解決了核心問題、掃除了關鍵障礙。該發明具有如下優點
在密鑰重置過程中,一般聯機交易仍可正常進行,不受影響,保證了系統的穩定運行;對於應用多點接入部署策略的前置系統,可以有效保證在密鑰重置過程中,密鑰
重置的可靠性。通過採用銀行主機集中存儲密鑰和針對前置系統密鑰下載多種觸發機制,保證了密鑰更新的完整性,切實保證前置系統的每一節點及時獲取新密鑰,保證系統的正常運行和交易的成功率。本發明中應用了具體實施例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員, 依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種銀行卡交易前置設備的密鑰同步方法,其特徵是,所述的方法包括 接收密鑰源伺服器發來的包含新密鑰的密鑰重置交易請求信息;對所述的密鑰重置交易請求信息進行完整性校驗和格式轉換處理; 將格式轉換處理後的密鑰重置交易請求信息發送到銀行主機中; 接收所述銀行主機發來的包含新密鑰版本號的密鑰重置應答交易信息; 判斷所述密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令,並將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備;根據所述的密鑰同步更新指令,向所述的銀行主機發送包含新密鑰版本號的密鑰下載交易請求信息;接收所述的銀行主機發來的包含新密鑰的密鑰下載應答交易信息; 用所述密鑰下載應答交易信息中的新密鑰更新所述的當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰;接收所述其他銀行卡交易前置設備反饋的密鑰同步更新成功信息,並向所述的密鑰源伺服器反饋密鑰重置交易成功應答信息;啟用所述的新密鑰對聯機交易數據進行加密或解密處理。
2.根據權利要求1所述的方法,其特徵是,將所述的當前版密鑰和前一版密鑰存儲於本地的密鑰存儲區;其中,所述的用所述密鑰下載應答交易信息中的新密鑰更新所述的當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰是指用所述密鑰下載應答交易信息中的新密鑰更新所述密鑰存儲區中的當前版密鑰,並用更新前的當前版密鑰更新所述密鑰存儲區中的前一版密鑰。
3.根據權利要求2所述的方法,其特徵是,將所述的密鑰存儲區中存儲的當前版密鑰存儲於本地的密鑰使用區;其中,所述的啟用所述的新密鑰對聯機交易數據進行加密或解密處理是指啟用所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據進行加密或解密處理。
4.根據權利要求3所述的方法,其特徵是,判斷所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否失敗,如果失敗,則使用所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據進行加密或解密;判斷所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否成功,如果成功,則用所述密鑰存儲區中存儲的當前版密鑰更新所述密鑰使用區中存儲的當前版密鑰。
5.根據權利要求1所述的方法,其特徵是,接收所述的密鑰源伺服器發來的同步時間窗口指令,並在所述的同步時間窗口內採用所述的當前版密鑰或新密鑰對聯機交易數據進行加密或解密處理。
6.一種銀行卡交易前置設備的密鑰同步系統,所述的系統包括密鑰源伺服器和銀行主機,其特徵是,所述的系統還包括多個銀行卡交易前置設備;所述的密鑰源伺服器通過網際網路分別與所述的多個銀行卡交易前置設備相連接,所述的銀行主機通過區域網分別與所述的多個銀行卡交易前置設備相連接;一個所述的銀行卡交易前置設備包括密鑰重置請求接收裝置,用於接收所述密鑰源伺服器發來的包含新密鑰的密鑰重置交易請求信息;密鑰重置請求處理裝置,用於對所述的密鑰重置交易請求信息進行完整性校驗和格式轉換處理;密鑰重置請求發送裝置,用於將格式轉換處理後的密鑰重置交易請求信息發送到所述的銀行主機中;密鑰重置應答接收裝置,用於接收所述銀行主機發來的包含新密鑰版本號的密鑰重置應答交易信息;同步更新指令生成裝置,用於判斷所述密鑰重置應答交易信息中的新密鑰版本號是否新於當前版密鑰的版本號,如果是則生成密鑰同步更新指令;同步更新指令發送裝置,用於將生成的密鑰同步更新指令發送給其他銀行卡交易前置設備;密鑰下載請求發送裝置,用於根據所述的密鑰同步更新指令,向所述的銀行主機發送包含新密鑰版本號的密鑰下載交易請求信息;密鑰下載應答接收裝置,用於接收所述的銀行主機發來的包含新密鑰的密鑰下載應答交易信息;密鑰本地更新裝置,用所述密鑰下載應答交易信息中的新密鑰更新所述的當前版密鑰,並用更新前的當前版密鑰更新前一版密鑰;同步更新應答接收裝置,用於接收所述其他銀行卡交易前置設備反饋的密鑰同步更新成功信息;密鑰重置應答發送裝置,用於向密鑰源伺服器反饋密鑰重置交易成功應答信息;加/解密處理裝置,啟用所述的新密鑰對聯機交易數據進行加密或解密處理。
7.根據權利要求6所述的系統,其特徵是,所述的銀行卡交易前置設備還包括密鑰存儲裝置,所述的密鑰存儲裝置進一步包括密鑰存儲區,用於存儲所述的當前版密鑰和前一版密鑰;所述的密鑰本地更新裝置進一步包括存儲區密鑰更新單元,用於用所述密鑰下載應答交易信息中的新密鑰更新所述密鑰存儲區中的當前版密鑰,並用更新前的當前版密鑰更新所述密鑰存儲區中的前一版密鑰。
8.根據權利要求7所述的系統,其特徵是,所述的密鑰存儲裝置還包括密鑰使用區, 用於存儲所述的密鑰存儲區中存儲的當前版密鑰;所述的加/解密處理裝置啟用所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據進行加密或解密處理。
9.根據權利要求8所述的系統,其特徵是,所述的密鑰本地更新裝置進一步包括使用區密鑰更新單元,用於判斷所述的密鑰使用區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否失敗,如果失敗,則使用所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據進行加密或解密,並判斷所述密鑰存儲區中存儲的當前版密鑰對聯機交易數據的加密或解密處理是否成功,如果成功,則用所述密鑰存儲區中存儲的當前版密鑰更新所述密鑰使用區中存儲的當前版密鑰。
10.根據權利要求6所述的系統,其特徵是,所述的銀行卡交易前置設備還包括 同步時間指令接收裝置,用於接收所述的密鑰源伺服器發來的同步時間窗口指令; 同步更新指令接收裝置,用於接收其他銀行卡交易前置設備發來的密鑰同步更新指令;其中,所述的加/解密處理裝置在所述的同步時間窗口內採用所述的當前版密鑰或新密鑰對聯機交易數據進行加密處理。
全文摘要
本發明為一種銀行卡交易前置設備的密鑰同步方法及系統,該系統包括密鑰源伺服器、銀行主機和多個銀行卡交易前置設備;密鑰源伺服器分別與多個銀行卡交易前置設備相連接,銀行主機分別與多個銀行卡交易前置設備相連接;一個銀行卡交易前置設備包括密鑰重置請求接收裝置,密鑰重置請求處理裝置,密鑰重置請求發送裝置,密鑰重置應答接收裝置,同步更新指令生成裝置,同步更新指令發送裝置,密鑰下載請求發送裝置,密鑰下載應答接收裝置,密鑰本地更新裝置,同步更新應答接收裝置以及加/解密處理裝置。以解決銀行卡交易前置設備的密鑰同步更新前、更新中以及更新後各節點前置設備均能對聯機數據進行正確的加解密處理的問題。
文檔編號H04L29/06GK102413126SQ20111034513
公開日2012年4月11日 申請日期2011年11月4日 優先權日2011年11月4日
發明者嵇津湘, 廖志江, 楊天穎, 梁波, 秦旭果, 鄒幫山, 霍衛強 申請人:中國工商銀行股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀