移動(dòng)支付密鑰體系研究
引言
移動(dòng)支付(mobile payment,m-pay)[1]是允許用戶(hù)使用手機對所消費的商品或服務(wù)進(jìn)行賬務(wù)支付的一種服務(wù)方式。它以RFID U(S)IM 卡為介質(zhì),集成了公交刷卡、門(mén)禁、考勤、繳納公用事業(yè)費等各種各樣的服務(wù),深受大眾的歡迎和電信運營(yíng)商的重視。目前,國內的運營(yíng)商,包括中國電信、中國移動(dòng)和中國聯(lián)通都在大力推廣移動(dòng)支付業(yè)務(wù),特別是基于RFID 智能卡的現場(chǎng)支付業(yè)務(wù)。RFID 智能卡作為移動(dòng)支付核心部件,其密鑰管理系統是移動(dòng)支付應用系統安全的核心,密鑰系統的管理和控制是支付應用系統的關(guān)鍵,密鑰管理系統的安全性將直接影響整個(gè)支付應用系統的安全性[2]。
目前,密鑰管理系統一般為單層密鑰管理系統[3]和三層密鑰管理系統[4~6]兩種。單層密鑰管理系統,直接使用根密鑰來(lái)生成智能卡的密鑰, 密鑰的生成需要系統的根密鑰,根密鑰的安全性難以保證,并且難以擴展智能卡應用系統的密鑰。三層密鑰管理系統主要通過(guò)根密鑰、二級密鑰和會(huì )話(huà)密鑰三層密鑰機制和“一卡一密”來(lái)保障密鑰安全。系統較為簡(jiǎn)單,只適用于校園一卡通或其他特定的小區域, 無(wú)法適用于電信運營(yíng)商大力推廣的移動(dòng)支付業(yè)務(wù),因為密鑰的索引過(guò)少, 難以降低密鑰泄漏所帶來(lái)的風(fēng)險;密鑰管理系統只有一個(gè)級別,無(wú)法實(shí)現“各區域發(fā)卡,跨區域通用”;沒(méi)有引入與第三方合作類(lèi)業(yè)務(wù)的密鑰,且只支持PSAM 卡一次發(fā)卡,缺乏可擴展性和靈活性。參考文獻[7]提出的密鑰管理系統比三層密鑰管理系統有所改進(jìn),增加了密鑰的索引和引入了兩級密鑰管理系統,但仍然沒(méi)有引入與第三方合作類(lèi)業(yè)務(wù)的密鑰,且只支持PSAM 卡一次發(fā)卡,缺乏可擴展性和靈活性。因此,本文在對稱(chēng)密鑰技術(shù)的基礎上提出了多層密鑰體系和密鑰管理系統,增強密鑰管理系統的可擴展性和靈活性,以滿(mǎn)足移動(dòng)支付的多應用安全需求。
2 移動(dòng)支付多層密鑰體系
移動(dòng)支付業(yè)務(wù)包括運營(yíng)商自營(yíng)業(yè)務(wù)和合作類(lèi)業(yè)務(wù),從地域上劃分為全國性業(yè)務(wù)和省內業(yè)務(wù), 也就意味著(zhù)一張RFID智能卡將加載多種支付應用, 既要保障應用的安全性,還要支持應用擴展的靈活性。因此,多層密鑰體系要達到以下目標:
· 技術(shù)安全性, 包括保證密鑰管理系統運行的安全,保障密鑰生成、存儲、傳輸等環(huán)節的安全性,以防止密鑰泄露;
· 可管理性,密鑰涉及多個(gè)層次和多個(gè)應用,需保證密鑰的分散、恢復等環(huán)節的安全性,以降低密鑰泄露所帶來(lái)的風(fēng)險;
· 方便擴展性,保證密鑰安全的同時(shí),保證不同應用間的獨立性以及加載合作類(lèi)應用密鑰的靈活性。
2.1 多層密鑰結構
體系中的密鑰主要分為4類(lèi), 分別是卡片管理密鑰、應用管理密鑰、應用功能密鑰和通信保護密鑰。
。1)卡片管理密鑰:包括用戶(hù)卡和PSAM 卡的卡片主控密鑰和卡片維護密鑰,確?ㄆ瑧玫陌踩虞d以及卡片根目錄下文件的安全保護。
。2)應用管理密鑰:包括應用主控密鑰和應用維護密鑰,確?ㄆ瑧妹荑的安全加載以及應用下文件的安全保護。
。3)應用功能密鑰:包括消費密鑰、圈存密鑰等,是應用于具體應用的密鑰。
。4)通信保護密鑰:用于保證系統間、終端和平臺間的通信安全。
體系中的密鑰分3 個(gè)級別:全國級密鑰、省級密鑰和卡內密鑰。密鑰從全國級密鑰開(kāi)始,逐級分散得到省級密鑰和卡內密鑰。全國根密鑰是卡片管理密鑰、通信保護密鑰、全國性自營(yíng)業(yè)務(wù)的應用管理密鑰、全國性自營(yíng)業(yè)務(wù)的應用功能密鑰和省應用根密鑰的根密鑰。省應用根密鑰是各省省內自營(yíng)業(yè)務(wù)的根密鑰(本省應用根密鑰)的根密鑰。全國性合作類(lèi)業(yè)務(wù)的應用管理密鑰和應用功能密鑰來(lái)自全國第三方應用母卡,而省內合作類(lèi)業(yè)務(wù)的則來(lái)自省第三方應用母卡。
分散全國根密鑰可生成各種全國性自營(yíng)業(yè)務(wù)的密鑰(全國應用管理密鑰和全國應用功能密鑰);分散本省應用根密鑰可以得到各種省內自營(yíng)業(yè)務(wù)的密鑰(本省應用管理密鑰和本省應用功能密鑰);通過(guò)全國第三方應用母卡,可接入各種全國性合作類(lèi)業(yè)務(wù)的密鑰(全國第三方應用管理密鑰和全國第三方應用功能密鑰); 通過(guò)省第三方應用母卡,可接入各種省內合作類(lèi)業(yè)務(wù)的密鑰(本省第三方應用管理密鑰和本省第三方應用功能密鑰)。采用此方式,各種業(yè)務(wù)的密鑰各不相同, 保證了智能卡內各種應用的安全。此外,通過(guò)此方式還可靈活地生成更多全國性自營(yíng)業(yè)務(wù)和省內自營(yíng)業(yè)務(wù)的密鑰,接入更多合作類(lèi)業(yè)務(wù)的密鑰。多層密鑰結構如圖1所示。
圖1 多層密鑰機構
2.2 多層密鑰管理系統
多層密鑰管理系統管理多層密鑰結構中的各種密鑰,分為全國密鑰管理中心和省密鑰管理中心兩個(gè)級別,主要由全國密鑰管理系統、全國發(fā)卡系統、省密鑰管理系統、省發(fā)卡系統和第三方系統5 個(gè)子系統組成,系統結構如圖2 所示。
圖2 系統結構
為保證系統以及各子系統免受外部攻擊, 系統需要封閉式運行, 即系統與其他系統間以及各子系統間無(wú)物理連接,它們間的密鑰通過(guò)密鑰母卡進(jìn)行傳遞。各子系統間的關(guān)系如下:
· 全國密鑰管理系統向全國發(fā)卡系統提供PSAM卡發(fā)卡母卡;
· 全國密鑰管理系統通過(guò)密鑰母卡向省密鑰管理系統傳遞密鑰;
· 省密鑰管理系統向省發(fā)卡系統提供用戶(hù)卡發(fā)卡母卡和PSAM 卡二次發(fā)卡母卡;
· 全國密鑰管理中心接入的第三方應用密鑰,通過(guò)全國密鑰管理系統接收后傳遞給各省密鑰管理中心;
· 省密鑰管理中心接入的第三方應用密鑰,通過(guò)省密鑰管理系統進(jìn)行接收。
2.2.1 全國密鑰管理中心功能
多層密鑰管理系統的功能主要由全國密鑰管理中心和省密鑰管理中心來(lái)完成。其中全國密鑰管理中心作為系統的第一級別,主要負責以下幾方面。
· 根據密鑰種子A、B 生成全國根密鑰, 使用全國應用標識分散全國根密鑰得到全國卡片管理密鑰、全國應用管理密鑰、全國應用功能密鑰、全國通信保護密鑰和省應用根密鑰。
· 通過(guò)第三方提供的第三方應用母卡接收合作類(lèi)應用的密鑰。
· 加載全國通信保護密鑰到加密機,銷(xiāo)毀加密機中的全國通信保護密鑰。
· 使用全國通信保護密鑰制作省通信母卡,使用省應用根密鑰制作省應用母卡, 使用全國卡片管理密鑰、全國應用管理密鑰和全國應用功能密鑰制作PSAM 卡發(fā)卡母卡和省用戶(hù)卡發(fā)卡母卡,使用第三方應用母卡制作省第三方應用母卡,使用全國卡片管理密鑰制作PSAM卡洗卡母卡和省PSAM 卡發(fā)卡母卡。
· 把省通信母卡、省應用母卡、省用戶(hù)卡發(fā)卡母卡、省第三方應用母卡、PSAM 卡洗卡母卡和省PSAM卡發(fā)卡母卡傳遞給各省密鑰管理中心。
· PSAM 卡的一次發(fā)卡。全國發(fā)卡系統使用PSAM卡發(fā)卡母卡,把PSAM 卡的廠(chǎng)商密鑰替代為母卡中的PSAM卡卡片主控密鑰。然后,在卡片主控密鑰控制下導入卡片維護密鑰,創(chuàng )建卡文件結構和導入全國應用管理密鑰和全國應用功能密鑰。
· 把一次發(fā)卡后的PSAM 卡傳遞給各省密鑰管理中心。
2.2.2 省密鑰管理中心功能
省密鑰管理中心是多層密鑰管理系統的第二級別,主要負責以下幾方面。
· 接收全國密鑰管理中心傳遞省通信母卡、省應用母卡、省用戶(hù)卡發(fā)卡母卡、省第三方應用母卡、PSAM卡洗卡母卡和省PSAM卡發(fā)卡母卡。
· 通過(guò)第三方提供的第三方應用母卡接收合作類(lèi)應用的密鑰。
· 加載省通信保護密鑰到加密機,銷(xiāo)毀加密機中的省通信保護密鑰。
· 使用本省應用標識分散省應用母卡中的本省應用根密鑰從而生成本省應用功能密鑰和本省應用管理密鑰。
· PSAM 卡二次發(fā)卡母卡和用戶(hù)卡發(fā)卡母卡的制作。使用省通信保護密鑰、本省應用功能密鑰、本省應用管理密鑰和省PSAM 卡發(fā)卡母卡制作PSAM 卡二次發(fā)卡母卡;利用省用戶(hù)卡發(fā)卡母卡、省第三方應用母卡、本省第三方應用母卡、本省應用功能密鑰和本省應用管理密鑰制作用戶(hù)卡發(fā)卡母卡。
· 用戶(hù)卡的發(fā)卡。省發(fā)卡系統首先使用用戶(hù)卡發(fā)卡母卡,將用戶(hù)卡的廠(chǎng)商密鑰替換母卡中的用戶(hù)卡卡片主控密鑰;然后,在卡片主控密鑰控制下導入卡片維護密鑰,創(chuàng )建用戶(hù)卡根目錄下的文件和應用目錄,并導入應用的主控密鑰。接著(zhù),在應用主控密鑰控制下導入應用維護密鑰和應用功能密鑰,在應用維護密鑰控制下創(chuàng )建應用目錄下的文件。最后,將個(gè)人化信息寫(xiě)入用戶(hù)卡內。用戶(hù)卡發(fā)卡母卡中的密鑰經(jīng)用戶(hù)卡序列號分散后倒入用戶(hù)卡。
· PSAM 卡的二次發(fā)卡。省發(fā)卡系統使用PSAM卡二次發(fā)卡母卡和PSAM 卡洗卡母卡,往PSAM 卡寫(xiě)入終端機編號,創(chuàng )建本省應用文件,并導入發(fā)卡母卡中的密鑰。發(fā)卡母卡中的應用管理密鑰需使用PSAM 卡序列號分散后寫(xiě)入。
3 密鑰管理流程
RFID 智能卡上集成多種支付應用,能否準確地生成用戶(hù)卡和PSAM 卡中的密鑰, 對支付系統的安全至關(guān)重要。因此,多層密鑰管理系統的一個(gè)重要方面是管理系統中各類(lèi)密鑰的生成,包括用戶(hù)卡的卡片管理密鑰和運營(yíng)商自營(yíng)業(yè)務(wù)的密鑰生成,PSAM 卡的卡片管理密鑰、通信保護密鑰和運營(yíng)商自營(yíng)業(yè)務(wù)的密鑰生成和合作類(lèi)業(yè)務(wù)的密鑰加載。
3.1 用戶(hù)卡密鑰生成流程
首先,全國密鑰管理中心使用省編碼分散全國卡片管理密鑰、全國應用管理密鑰、全國應用功能密鑰得到省卡片管理密鑰、省應用管理密鑰和省應用功能密鑰,把省卡片管理密鑰、省應用管理密鑰和省應用功能密鑰寫(xiě)入空白密鑰母卡得到省用戶(hù)卡發(fā)卡母卡;將分散省應用根密鑰得到的各省的本省應用根密鑰寫(xiě)入空白密鑰母卡得到省應用母卡。然后,省密鑰管理中心使用本省應用標識分散省應用母卡中的本省應用根密鑰,得到本省應用管理密鑰和本省應用功能密鑰。將本省應用管理密鑰和本省應用功能密鑰一起加載到省用戶(hù)卡發(fā)卡母卡,從而得到用戶(hù)卡發(fā)卡母卡。最后,省發(fā)卡系統對用戶(hù)卡進(jìn)行發(fā)卡。用戶(hù)卡密鑰的生成流程具體如圖3所示。
圖3 用戶(hù)卡密鑰生成流程
3.2 PSAM 卡密鑰生成流程
首先,全國密鑰管理中心把全國應用管理密鑰,全國卡片管理密鑰和全國應用功能密鑰寫(xiě)入空白密鑰母卡得到PSAM 卡發(fā)卡母卡;將分散全國通信保護密鑰得到的省通信保護密鑰寫(xiě)入空白密鑰母卡得到省通信母卡;將卡片管理密鑰寫(xiě)入空白密鑰母卡得到PSAM 卡洗卡母卡;使用省編碼分散卡片管理密鑰后寫(xiě)入空白密鑰母卡得到省PSAM 卡發(fā)卡母卡。全國發(fā)卡系統利用PSAM 卡發(fā)卡母卡對PSAM 卡進(jìn)行一次發(fā)卡。
然后,省密鑰管理中心把本省應用管理密鑰、本省應用功能密鑰和省通信保護密鑰寫(xiě)入到省PSAM 卡發(fā)卡母卡,從而生成PSAM 卡二次發(fā)卡母卡。最后,省發(fā)卡系統利用PSAM 卡洗卡母卡和PSAM 卡二次發(fā)卡母卡對一次發(fā)卡后的PSAM 卡進(jìn)行二次發(fā)卡。PSAM 卡的密鑰生成流程具體如圖4 所示。
圖4 PSAM卡密鑰生成流程
3.3 合作類(lèi)業(yè)務(wù)密鑰加載
與第三方合作時(shí),第三方應用的密鑰可采用“委托運營(yíng)商完成”和“運營(yíng)商授權、第三方自行加載”兩種方式加載。采用第一種方式時(shí),運營(yíng)商在用戶(hù)卡內創(chuàng )建相應的應用并按照第三方的要求導入相應的密鑰, 密鑰的加載過(guò)程如圖5所示。如果第三方應用密鑰通過(guò)全國第三方應用母卡傳遞給全國密鑰管理中心, 則全國密鑰管理中心分散母卡中的密鑰,并傳遞給各省密鑰管理中心。此時(shí),各省發(fā)的用戶(hù)卡均具有該第三方應用。如果通過(guò)省第三方應用母卡傳遞給省密鑰管理中,則只有該省發(fā)的用戶(hù)卡才具有該第三方應用。在第二種方式中,省密鑰管理中心在用戶(hù)卡內創(chuàng )建相應的應用目錄,并制作供第三方使用的第三方應用洗卡母卡。第三方利用該母卡,在用戶(hù)卡中增加第三方應用。
圖5 “委托運營(yíng)方完成”方式中第三方應用密鑰的加載流程
4 密鑰安全技術(shù)
移動(dòng)支付多層密鑰管理系統采用一定的密鑰安全技術(shù)保證其安全性,主要有:利用3DES 算法生成根密鑰,方便恢復根密鑰;采用多索引多版本[8]和密鑰分散機制,降低密鑰泄漏的風(fēng)險;使用硬件加密機和密鑰母卡分別存儲和傳遞密鑰,且限制密鑰的使用次數和用途,最大限度地保證密鑰的安全。
4.1 密鑰生成技術(shù)
全國根密鑰通過(guò)加密相關(guān)人員提供的密鑰種子A、B得到,密鑰種子A、B 以安全的方式由各方保管,以供密鑰恢復時(shí)使用。生成過(guò)程為:相關(guān)人員提供密鑰種子A、B(8 byte 的字符串),將其轉化為字節類(lèi)型a 和b 后,合并a和b 得到16 byte 的密鑰種子C。使用C 3DES 加密C 與16 byte F 的異或值得到密鑰。
4.2 密鑰分散技術(shù)
系統采用的密鑰分散方法如下:假設KEYf 表示母密鑰,KEYs 表示子密鑰,K 表示分散因子, 那么使用分散因子K 從母密鑰得到子密鑰,可表示為:KEYs=3DES(KEYf,K+XOR(K,F))其中,XOR 表示異或運算, + 表示連接,3DES 表示3DES 加密計算,F 表示8 byte 全F,K 為8 byte,KEYf 和KEYs 為16 byte。密鑰經(jīng)全國密鑰管理中心分散后傳遞給各省,保證即使某省的密鑰泄漏, 也不會(huì )影響到其他省的密鑰安全;同樣地,密鑰分散后導入用戶(hù)卡,保證某張用戶(hù)卡的密鑰泄漏不會(huì )影響其它用戶(hù)卡的密鑰安全。
4.3 密鑰存儲傳輸技術(shù)
系統采用硬件加密機存儲和備份密鑰;使用密鑰母卡傳輸密鑰,且密鑰傳輸過(guò)程中,不得出現密鑰明文,同時(shí)密鑰母卡必須和密鑰認證卡配合使用。密鑰導入密鑰母卡時(shí),可以設置密鑰的最多使用次數,也可以設置密鑰的用途,比如密鑰只能用于分散或只能用于導出。系統根據密鑰最多使用次數和密鑰用途來(lái)限制密鑰的使用。
4.4 密鑰索引與版本
系統中的密鑰采用版本和索引來(lái)標識,每類(lèi)密鑰均有多組不同的版本和索引。PSAM 卡中存放一個(gè)索引對應的多個(gè)版本的密鑰, 用戶(hù)卡中存放一個(gè)版本對應的多個(gè)索引的密鑰。此機制保證用戶(hù)卡密鑰泄漏時(shí),不用回收已發(fā)出去的用戶(hù)卡,只需要把PSAM 卡中的密鑰更改為另一個(gè)索引對應的多個(gè)版本的密鑰即可,從而降低密鑰泄漏所帶來(lái)的風(fēng)險。
5 結束語(yǔ)
本文針對移動(dòng)支付中集成多應用的安全需求,提出了多層密鑰體系和密鑰管理系統,并對密鑰管理流程和采用的安全機制進(jìn)行了介紹。首先,系統封閉式運行,并采用加密機和密鑰母卡分別存儲、傳輸密鑰,而且密鑰母卡需要密鑰認證卡的配合才能使用,保證了系統運行和密鑰的安全。再次,系統采用密鑰的多索引多版本安全機制和密鑰分散,降低了密鑰泄漏所帶來(lái)的風(fēng)險,也保證了不同應用間的獨立性。最后,全國密鑰管理中心和省密鑰管理中心均可接入第三方的應用密鑰,保證了電信運營(yíng)商與第三方合作的靈活性。該密鑰管理系統實(shí)現了技術(shù)安全性、可管理性和方便擴展性,能支持豐富的移動(dòng)支付智能卡應用。(中國電信股份有限公司廣東研究院 黃澤龍 張文安 謝云)
移動(dòng)支付密鑰體系研究