葉國莊,陳 靖
(1.中國鐵路總公司,北京 100844;2.中鐵程科技有限責(zé)任公司,北京 100081)
鐵路電子支付行業(yè)密鑰技術(shù)研究
葉國莊1,陳 靖2
(1.中國鐵路總公司,北京 100844;2.中鐵程科技有限責(zé)任公司,北京 100081)
鐵路電子支付行業(yè)密鑰建設(shè)包括密鑰系統(tǒng)建設(shè)和安全管理制度建設(shè),主要討論密鑰系統(tǒng)建設(shè)方案和相關(guān)模塊構(gòu)建方法,通過對國內(nèi)外電子支付應(yīng)用現(xiàn)狀及其配套密鑰管理系統(tǒng)研究,提出鐵路電子支付行業(yè)密鑰建設(shè)的密鑰算法、安全機制,以及系統(tǒng)結(jié)構(gòu)、系統(tǒng)功能、性能要求和系統(tǒng)構(gòu)建方案。該方案已在鐵路行業(yè)得到推廣應(yīng)用,達到了保護鐵路電子支付信息安全的目的。
安全;鐵路行業(yè)密鑰;密鑰管理系統(tǒng)
中國鐵路為踐行“人民鐵路為人民”的宗旨,正在積極推行滿足旅客快速售檢票出行需求的實踐活動。售檢票中的電子化貨幣和電子化票據(jù)因在流通環(huán)節(jié)中無紙質(zhì)實體、少人員參與,能夠大幅縮短售檢票時間并能夠很好的滿足鐵路客票易用、便捷的需求,是未來售檢票的發(fā)展方向。貨幣和票據(jù)電子化的核心問題是信息安全,鐵路電子化貨幣和電子化票據(jù)的信息安全都需要通過密鑰來實現(xiàn),因此建立起相應(yīng)的密鑰管理機制,直接關(guān)系到整個系統(tǒng)的安全控制。而密鑰的生成、發(fā)行、更新、管理等關(guān)鍵技術(shù),又在密鑰管理機制中占有非常重要的地位。
1.1 國內(nèi)外密鑰管理系統(tǒng)應(yīng)用現(xiàn)狀
1.1.1 國內(nèi)密鑰管理系統(tǒng)應(yīng)用現(xiàn)狀
原建設(shè)部《關(guān)于建設(shè)事業(yè)IC卡應(yīng)用管理工作的通知》(建辦[1999]65號)文件明確規(guī)定:“為確保各地IC卡應(yīng)用系統(tǒng),特別是發(fā)卡、充值、清算、資金劃撥等環(huán)節(jié)高度的安全性,建設(shè)事業(yè)IC卡應(yīng)用采取必要的安全管理機制,一律采用部IC辦統(tǒng)一提供的密鑰管理系統(tǒng)和機具、表具安全模塊”。原建設(shè)部為了對全國范圍內(nèi)各城市建設(shè)事業(yè)一卡通工程和IC卡表具改造工程提供可靠的安全標(biāo)準(zhǔn),于2004年3月開發(fā)了建設(shè)部第二代IC卡密鑰管理系統(tǒng),為城市交通一卡通和3表應(yīng)用提供密鑰管理的統(tǒng)一標(biāo)準(zhǔn)和IC卡結(jié)構(gòu)的規(guī)范,以便今后建設(shè)部能夠?qū)Ω鞒鞘型ㄊ褂肐C卡進行規(guī)范和管理,提高系統(tǒng)的安全性能。
在建設(shè)部提供的第二代IC卡密鑰管理系統(tǒng)使用的同時,也有一些大的行業(yè)、部門、應(yīng)用單bit單獨開發(fā)了自己專用的密鑰管理系統(tǒng),如中石油加油卡系統(tǒng)、城市一卡通系統(tǒng)等。
在全國銀行IC卡聯(lián)合試點中,各級銀行利用密鑰管理系統(tǒng)來實現(xiàn)密鑰的安全管理。密鑰管理系統(tǒng)運用中國人民銀行總行、人民銀行地區(qū)分行(商業(yè)銀行總行)、成員銀行三級管理體制,安全共享公共主密鑰,實現(xiàn)卡片互通、機具共享。
1.1.2 國外密鑰管理系統(tǒng)應(yīng)用現(xiàn)狀
日本以JR east(東日本旅客鐵路)為先導(dǎo),開始在列車月票上采用RFID技術(shù)。目前,正在推廣使用Suica作為列車月票,它是通過包裝在卡片內(nèi)的RFID標(biāo)簽與設(shè)置在車站進出口的自助檢票機內(nèi)的RFID讀寫器互通信息和儲存數(shù)據(jù)來實現(xiàn)計費。
德國采用手機和 RFID技術(shù)來支付各類交通費用,如公交車、地鐵和火車。德國國家鐵路公司 Deutsche Bahn (DB)和德國手機服務(wù)提供商Vodafone提供了Touch&Travel解決方案,該方案結(jié)合 RFID技術(shù)和手機的系統(tǒng),可用于取代全國公共交通網(wǎng)目前采用的紙票。
在挪威, NSB 客運公司使用Philips Mifare DESFire智能卡,用于Oslo Sprorveier 地鐵、有軌電車和公共汽車網(wǎng)絡(luò)和Greager Oslo 地區(qū)的其他公共汽車運輸。系統(tǒng)使用1 000 臺手持袖珍PC,并為列車員提供閃光讀數(shù)器。
這些國家在建設(shè)交通IC卡應(yīng)用系統(tǒng)的同時也無一例外單獨開發(fā)了與之配套的密鑰管理系統(tǒng)。
1.2 加密算法
1.2.1 3DES加密算法
3DES算法是國際標(biāo)準(zhǔn)公開加密算法,使用16 byte長度密鑰,屬于對稱加密算法,加密密鑰和解密密鑰相同。
3DES加密是指使用雙長度(16 byte)密鑰K=(KL||KR)將8 byte明文數(shù)據(jù)塊加密成密文數(shù)據(jù)塊,如下所示:
Y=DES(KL)[DES-1(KR)[DES(KL)[X]]]
解密的方式如下:
X=DES-1(KL)[DES(KR)[DES-1(KL)[Y]]]
1.2.2 3DES數(shù)據(jù)加密計算
(1)用LD表示明文數(shù)據(jù)的長度,在明文數(shù)據(jù)前加上LD產(chǎn)生新的數(shù)據(jù)塊。
(2)將第一步中生成的數(shù)據(jù)塊分解成8 byte數(shù)據(jù)塊,標(biāo)號為D1、D2、D3和D4等。最后一個數(shù)據(jù)塊長度有可能不足8 bit。
(3)如果最后(或唯一)的數(shù)據(jù)塊長度等于8 byte,轉(zhuǎn)入(4);如果不足8 byte,在右邊添加16進制數(shù)字‘80’。如果長度已達8 byte,轉(zhuǎn)入(4);否則,在其右邊添加1 byte16進制數(shù)字‘0’直到長度達到8 byte。
(4)對每一個數(shù)據(jù)塊加密。
3DES數(shù)據(jù)加密計算流程示意圖如圖1所示。
圖1 3DES數(shù)據(jù)加密計算流程示意圖
1.2.3 3DES數(shù)據(jù)解密計算
(1)將命令數(shù)據(jù)域中的數(shù)據(jù)塊分解成8 byte長的數(shù)據(jù)塊,標(biāo)號為D1、D2、D3和D4等等。對每個數(shù)據(jù)塊進行解密。
(2)計算結(jié)束后,所有解密后的數(shù)據(jù)塊依照順序(解密后的D1、解密后的D2等)鏈接在一起。數(shù)據(jù)塊由LD、明文數(shù)據(jù)、填充字符(如果在加密過程中增加的話)組成。
(3)因為LD表示明文數(shù)據(jù)的長度,因此,它被用來恢復(fù)明文數(shù)據(jù)。
3DES數(shù)據(jù)解密計算流程示意圖如圖2所示。
圖2 3DES數(shù)據(jù)解密計算流程示意圖
1.2.4 3DES產(chǎn)生MAC計算
(1)取8 byte的16進制數(shù)字‘0’作為初始變量。
(2)將該數(shù)據(jù)塊分成8 byte為單bit的數(shù)據(jù)塊,標(biāo)號為D1、D2、D3和D4等。最后的數(shù)據(jù)塊有可能是1~8 byte。
(3)如果最后的數(shù)據(jù)塊長度是8 byte的話,則在其后加上16進制數(shù)字‘80 00 00 00 00 00 00 00’,轉(zhuǎn)到第5步。 如果最后的數(shù)據(jù)塊長度不足8 byte,則在其后加上16進制數(shù)字‘80’,如果達到8 byte長度,則轉(zhuǎn)入第5步;否則在其后加入16進制數(shù)字‘0’直到長度達到8 byte。
(4)對這些數(shù)據(jù)塊使用MAC過程密鑰進行加密,過程密鑰按照1.2.4描述的方式產(chǎn)生。
(5)最終得到是從計算結(jié)果左側(cè)取得的4 byte長度的MAC。
3DES產(chǎn)生MAC計算流程示意圖如圖3所示。
圖3 3DES產(chǎn)生MAC計算流程示意圖
1.2.5 3DES 密鑰分散計算
(1)獲取特定數(shù)據(jù),特定數(shù)據(jù)如果少于8 byte,則在其右邊用16進制數(shù)字‘0’填滿,如果特定數(shù)據(jù)多于8 byte截取最右8 byte,將該8 byte數(shù)據(jù)作為分散因子,用待分散密鑰A和B來進行所選擇的算法處理。(以后統(tǒng)稱為“KeyA”和“KeyB”)
(2)用KeyA和KeyB與分散因子作3DES運算運算產(chǎn)生子密鑰A。用KeyA和KeyB與分散因子的非作3DES運算得到子密鑰B。
3DES密鑰分散計算流程示意圖如圖4所示。
圖4 3DES密鑰分散計算流程示意圖
鐵路電子支付行業(yè)密鑰系統(tǒng)包括密鑰管理系統(tǒng)、PSAM(銷售點終端安全存款模塊,Purchase Secure Access Module)卡發(fā)卡系統(tǒng)和行業(yè)密鑰傳遞程序3個部分。密鑰管理系統(tǒng)生成各級密鑰,行業(yè)密鑰傳遞程序負(fù)責(zé)將密鑰管理系統(tǒng)生成的行業(yè)密鑰卡導(dǎo)入到其它系統(tǒng)(例如:發(fā)卡系統(tǒng)),PSAM卡發(fā)卡系統(tǒng)實現(xiàn)將PSAM卡母卡中的密鑰導(dǎo)入到PSAM卡發(fā)卡系統(tǒng)和發(fā)行PSAM卡功能,這3個系統(tǒng)相互配合實現(xiàn)行業(yè)相關(guān)信息的保護工作。鐵路電子支付行業(yè)密鑰系統(tǒng)總體結(jié)構(gòu)圖如圖5所示。
其中,密鑰管理系統(tǒng)包含主控密鑰生成模塊、洗卡模塊、業(yè)務(wù)代碼生成模塊、領(lǐng)導(dǎo)卡生成模塊、總控密鑰生成模塊、根密鑰生成模塊、主密鑰生成模塊、PSAM卡母卡生成模塊、行業(yè)密鑰生成模塊。
2.1 系統(tǒng)功能
鐵路電子支付行業(yè)密鑰管理系統(tǒng)的主要功能包括:生成主控傳輸密鑰母卡和主控傳輸密鑰認(rèn)證卡;對系統(tǒng)所用的各類管理卡(SAM卡、母卡、領(lǐng)導(dǎo)卡、業(yè)務(wù)代碼卡)進行洗卡;通過主控傳輸密鑰卡對廠商提供的用戶卡白卡進行洗卡。通過PSAM母卡及PSAM母卡密鑰傳輸卡生成鐵路局PSAM卡。
(1)運管中心主控傳輸母卡、主控傳輸卡發(fā)行
運管中心主控傳輸卡,是對運管中心密鑰系統(tǒng)中的空白卡進行合法性認(rèn)證,是對廠家提供的空白卡進行洗卡時進行主控密鑰的替換,使其具有合法性。
(2)發(fā)行、管理空白卡
對各類空白卡進行洗卡。使用運管中心主控傳輸母卡及制造密鑰傳輸卡,將空白卡主控密鑰替換為運管中心級主控傳輸密鑰。
(3)發(fā)行、管理領(lǐng)導(dǎo)卡
發(fā)出4張領(lǐng)導(dǎo)卡。領(lǐng)導(dǎo)設(shè)定卡的PIN碼,每卡中二進制文件保存領(lǐng)導(dǎo)輸入的4 byte種子碼,寫入與讀取受PIN保護。
圖5 鐵路電子支付行業(yè)密鑰管理系統(tǒng)總體結(jié)構(gòu)圖
(4)發(fā)行、管理運管中心發(fā)卡的根密鑰卡
將4張領(lǐng)導(dǎo)卡按照一定規(guī)律組合進行處理,寫入運管中心主控密鑰卡,根據(jù)主控密鑰卡和業(yè)務(wù)代碼卡下發(fā)運管中心根密鑰卡及根密鑰傳輸卡。
(5)發(fā)行、管理運管中心主密鑰卡
根據(jù)部級根密鑰卡及根密鑰傳輸卡下發(fā)部級主密鑰卡及主密鑰傳輸卡。
(6)發(fā)行、管理PSAM母卡
根據(jù)根密鑰卡及根密鑰傳輸卡下發(fā)PSAM母卡及PSAM母卡密鑰傳輸卡。
(7)對指定卡生產(chǎn)商提供的空白卡統(tǒng)一管理
根據(jù)主控密鑰傳輸卡對卡生產(chǎn)商提供的空白卡進行洗卡。
(8)發(fā)行、管理PSAM卡
根據(jù)PSAM母卡及PSAM母卡傳輸卡下發(fā)PSAM卡,或通過專用程序?qū)⒚荑€導(dǎo)入硬件加密機,使用硬件加密機方式發(fā)PSAM卡。
2.2 系統(tǒng)性能要求
鐵路行業(yè)密鑰管理系統(tǒng),應(yīng)保證鐵路行業(yè)密鑰體系的安全保密性,具有在受到非法攻擊時防止密鑰泄露的能力,密鑰管理系統(tǒng)的加密算法和密鑰的生成、分發(fā)、保存、更新應(yīng)符合國際主流技術(shù)標(biāo)準(zhǔn),并完全滿足國家相關(guān)技術(shù)標(biāo)準(zhǔn)及金融規(guī)范的要求,并能夠滿足鐵路應(yīng)用的特殊需求,密鑰必須保證能對行業(yè)信息合法的校驗,密鑰管理系統(tǒng)應(yīng)保證所有行業(yè)信息具有防偽造、防篡改、防重發(fā)、防抵賴、可重復(fù)認(rèn)證的能力。
3.1 內(nèi)部認(rèn)證
系統(tǒng)內(nèi)部認(rèn)證方式如下:終端讀取用戶卡上的卡序列號,送PSAM模塊。PSAM模塊用內(nèi)部認(rèn)證主密鑰對卡序列號進行加密,生成內(nèi)部認(rèn)證工作密鑰。終端送加密指令及隨機數(shù)給用戶卡,用戶卡用內(nèi)部認(rèn)證密鑰加密,并將加密結(jié)果D1送回終端。終端送加密指令及隨機數(shù)給PSAM模塊,PSAM模塊將加密結(jié)果D2送回終端。終端比較D1和D2,D1和D2的值一致表示內(nèi)部認(rèn)證成功,否則內(nèi)部認(rèn)證失敗。
3.2 外部認(rèn)證
系統(tǒng)外部認(rèn)證方式如下:終端取用戶卡的卡序列號,送SAM模塊。PSAM模塊用認(rèn)證主密鑰對卡片序列號加密,生成認(rèn)證工作密鑰。終端從用戶卡中取隨機數(shù)。終端將隨機數(shù)送PSAM模塊,PSAM模塊用認(rèn)證工作密鑰對隨機數(shù)加密,并將加密結(jié)果送回終端。終端送加密結(jié)果給用戶卡,同時向卡發(fā)外部認(rèn)證指令??ㄓ梅祷卮a告訴終端認(rèn)證是否成功,若認(rèn)證成功則將用戶卡的安全狀態(tài)置為外部認(rèn)證密鑰的后續(xù)狀態(tài)。
3.3 安全控制
密鑰管理系統(tǒng)通過以下方式保證密鑰安全生產(chǎn)、傳遞、保存和使用。
(1)密鑰明文只在卡內(nèi)存在,在導(dǎo)入/導(dǎo)出過程中全部采用密文。
(2)系統(tǒng)的操作必須有相應(yīng)權(quán)限并記錄操作人員和操作過程供審計使用。
(3)密鑰的傳輸全部采用密鑰卡與認(rèn)證卡兩個途徑,只有同時拿到密鑰卡及其認(rèn)證卡,才能進行密鑰的導(dǎo)入和導(dǎo)出。
(4)保障行業(yè)文件控制讀取的信息,終端只有在獲得授權(quán)的PSAM并通過規(guī)定的步驟,才能對鐵路行業(yè)文件進行操作。
鐵路電子支付行業(yè)密鑰系統(tǒng)已經(jīng)建成并應(yīng)用于鐵路行業(yè)電子支付過程的保護。通過PSAM卡控制行業(yè)密鑰文件的讀寫。系統(tǒng)運行情況良好,達到了保護行業(yè)密鑰的目的,能夠滿足行業(yè)信息保護需求。
通過鐵路行業(yè)密鑰系統(tǒng)的研發(fā),在智能卡片選型、行業(yè)應(yīng)用的特點、COS系統(tǒng)的特殊要求、終端機具的技術(shù)性能的特殊要求等方面,形成具有權(quán)威性的鐵路行業(yè)密鑰管理、發(fā)行和使用規(guī)范,對于智能卡在我國鐵路領(lǐng)域的大規(guī)模應(yīng)用具有重要意義。下一步將重點研究國密算法支持工作,同時考慮將行業(yè)密鑰擴展到更多的應(yīng)用領(lǐng)域和增加非對稱密鑰算法的支持。
[1]中國人民銀行. JR/T 0025-2010,中國金融集成電路(IC)卡規(guī)范V2.0[S].北京:中國標(biāo)準(zhǔn)出版社,2010.
[2]中華人民共和國住房和城鄉(xiāng)建設(shè)部. CJ/T 333-2010,城市公用事業(yè)互聯(lián)互通卡密鑰及安全技術(shù)要求[S].北京:中國標(biāo)準(zhǔn)出版社,2010.
[3] 中華人民共和國國家質(zhì)量監(jiān)督檢檢疫總局,中國國家標(biāo)準(zhǔn)化管理委員會. GB/T 16790.7-2006,金融交易卡 使用集成電路卡的金融交易系統(tǒng)的安全體系 第7部分[S].北京:中國標(biāo)準(zhǔn)出版社,2007.
責(zé)任編輯 徐侃春
Key technology for railway electronic payment industry
YE Guozhuang1, CHEN Jing2
( 1.China Railway, Beijing 100844, China; 2.China Railway Engineering Co. Ltd., Beijing 100081, China )
The construction of Key System for railway electronic payment industry include the construction of Key Management System and construction of Security Management System. This article focused on the construction scheme of Key Management System and the construction method of its modules. According to the study of the electronic payment systems and their Key Management System applied at home and abroad, it was proposed the algorithm of generating keys, security mechanism, system structure, system functions, performance requirements, as well as the specif i c constructing scheme of Key Management Systems for railway electronic payment. The proposal was popularized and applied in China Railway, achieved the security goal of protecting the information safety for railway electronic payment.
security; key for railway industry; Key Management System
U293.22∶TP39
A
1005-8451(2014)12-0018-05
2014-06-04
葉國莊,高級工程師;陳 靖 ,工程師。