葉國莊,陳 靖
(1.中國鐵路總公司,北京 100844;2.中鐵程科技有限責任公司,北京 100081)
鐵路電子支付行業密鑰技術研究
葉國莊1,陳 靖2
(1.中國鐵路總公司,北京 100844;2.中鐵程科技有限責任公司,北京 100081)
鐵路電子支付行業密鑰建設包括密鑰系統建設和安全管理制度建設,主要討論密鑰系統建設方案和相關模塊構建方法,通過對國內外電子支付應用現狀及其配套密鑰管理系統研究,提出鐵路電子支付行業密鑰建設的密鑰算法、安全機制,以及系統結構、系統功能、性能要求和系統構建方案。該方案已在鐵路行業得到推廣應用,達到了保護鐵路電子支付信息安全的目的。
安全;鐵路行業密鑰;密鑰管理系統
中國鐵路為踐行“人民鐵路為人民”的宗旨,正在積極推行滿足旅客快速售檢票出行需求的實踐活動。售檢票中的電子化貨幣和電子化票據因在流通環節中無紙質實體、少人員參與,能夠大幅縮短售檢票時間并能夠很好的滿足鐵路客票易用、便捷的需求,是未來售檢票的發展方向。貨幣和票據電子化的核心問題是信息安全,鐵路電子化貨幣和電子化票據的信息安全都需要通過密鑰來實現,因此建立起相應的密鑰管理機制,直接關系到整個系統的安全控制。而密鑰的生成、發行、更新、管理等關鍵技術,又在密鑰管理機制中占有非常重要的地位。
1.1 國內外密鑰管理系統應用現狀
1.1.1 國內密鑰管理系統應用現狀
原建設部《關于建設事業IC卡應用管理工作的通知》(建辦[1999]65號)文件明確規定:“為確保各地IC卡應用系統,特別是發卡、充值、清算、資金劃撥等環節高度的安全性,建設事業IC卡應用采取必要的安全管理機制,一律采用部IC辦統一提供的密鑰管理系統和機具、表具安全模塊”。原建設部為了對全國范圍內各城市建設事業一卡通工程和IC卡表具改造工程提供可靠的安全標準,于2004年3月開發了建設部第二代IC卡密鑰管理系統,為城市交通一卡通和3表應用提供密鑰管理的統一標準和IC卡結構的規范,以便今后建設部能夠對各城市通卡使用IC卡進行規范和管理,提高系統的安全性能。
在建設部提供的第二代IC卡密鑰管理系統使用的同時,也有一些大的行業、部門、應用單bit單獨開發了自己專用的密鑰管理系統,如中石油加油卡系統、城市一卡通系統等。
在全國銀行IC卡聯合試點中,各級銀行利用密鑰管理系統來實現密鑰的安全管理。密鑰管理系統運用中國人民銀行總行、人民銀行地區分行(商業銀行總行)、成員銀行三級管理體制,安全共享公共主密鑰,實現卡片互通、機具共享。
1.1.2 國外密鑰管理系統應用現狀
日本以JR east(東日本旅客鐵路)為先導,開始在列車月票上采用RFID技術。目前,正在推廣使用Suica作為列車月票,它是通過包裝在卡片內的RFID標簽與設置在車站進出口的自助檢票機內的RFID讀寫器互通信息和儲存數據來實現計費。
德國采用手機和 RFID技術來支付各類交通費用,如公交車、地鐵和火車。德國國家鐵路公司 Deutsche Bahn (DB)和德國手機服務提供商Vodafone提供了Touch&Travel解決方案,該方案結合 RFID技術和手機的系統,可用于取代全國公共交通網目前采用的紙票。
在挪威, NSB 客運公司使用Philips Mifare DESFire智能卡,用于Oslo Sprorveier 地鐵、有軌電車和公共汽車網絡和Greager Oslo 地區的其他公共汽車運輸。系統使用1 000 臺手持袖珍PC,并為列車員提供閃光讀數器。
這些國家在建設交通IC卡應用系統的同時也無一例外單獨開發了與之配套的密鑰管理系統。
1.2 加密算法
1.2.1 3DES加密算法
3DES算法是國際標準公開加密算法,使用16 byte長度密鑰,屬于對稱加密算法,加密密鑰和解密密鑰相同。
3DES加密是指使用雙長度(16 byte)密鑰K=(KL||KR)將8 byte明文數據塊加密成密文數據塊,如下所示:
Y=DES(KL)[DES-1(KR)[DES(KL)[X]]]
解密的方式如下:
X=DES-1(KL)[DES(KR)[DES-1(KL)[Y]]]
1.2.2 3DES數據加密計算
(1)用LD表示明文數據的長度,在明文數據前加上LD產生新的數據塊。
(2)將第一步中生成的數據塊分解成8 byte數據塊,標號為D1、D2、D3和D4等。最后一個數據塊長度有可能不足8 bit。
(3)如果最后(或唯一)的數據塊長度等于8 byte,轉入(4);如果不足8 byte,在右邊添加16進制數字‘80’。如果長度已達8 byte,轉入(4);否則,在其右邊添加1 byte16進制數字‘0’直到長度達到8 byte。
(4)對每一個數據塊加密。
3DES數據加密計算流程示意圖如圖1所示。

圖1 3DES數據加密計算流程示意圖
1.2.3 3DES數據解密計算
(1)將命令數據域中的數據塊分解成8 byte長的數據塊,標號為D1、D2、D3和D4等等。對每個數據塊進行解密。
(2)計算結束后,所有解密后的數據塊依照順序(解密后的D1、解密后的D2等)鏈接在一起。數據塊由LD、明文數據、填充字符(如果在加密過程中增加的話)組成。
(3)因為LD表示明文數據的長度,因此,它被用來恢復明文數據。
3DES數據解密計算流程示意圖如圖2所示。

圖2 3DES數據解密計算流程示意圖
1.2.4 3DES產生MAC計算
(1)取8 byte的16進制數字‘0’作為初始變量。
(2)將該數據塊分成8 byte為單bit的數據塊,標號為D1、D2、D3和D4等。最后的數據塊有可能是1~8 byte。
(3)如果最后的數據塊長度是8 byte的話,則在其后加上16進制數字‘80 00 00 00 00 00 00 00’,轉到第5步。 如果最后的數據塊長度不足8 byte,則在其后加上16進制數字‘80’,如果達到8 byte長度,則轉入第5步;否則在其后加入16進制數字‘0’直到長度達到8 byte。
(4)對這些數據塊使用MAC過程密鑰進行加密,過程密鑰按照1.2.4描述的方式產生。
(5)最終得到是從計算結果左側取得的4 byte長度的MAC。
3DES產生MAC計算流程示意圖如圖3所示。

圖3 3DES產生MAC計算流程示意圖
1.2.5 3DES 密鑰分散計算
(1)獲取特定數據,特定數據如果少于8 byte,則在其右邊用16進制數字‘0’填滿,如果特定數據多于8 byte截取最右8 byte,將該8 byte數據作為分散因子,用待分散密鑰A和B來進行所選擇的算法處理。(以后統稱為“KeyA”和“KeyB”)
(2)用KeyA和KeyB與分散因子作3DES運算運算產生子密鑰A。用KeyA和KeyB與分散因子的非作3DES運算得到子密鑰B。
3DES密鑰分散計算流程示意圖如圖4所示。

圖4 3DES密鑰分散計算流程示意圖
鐵路電子支付行業密鑰系統包括密鑰管理系統、PSAM(銷售點終端安全存款模塊,Purchase Secure Access Module)卡發卡系統和行業密鑰傳遞程序3個部分。密鑰管理系統生成各級密鑰,行業密鑰傳遞程序負責將密鑰管理系統生成的行業密鑰卡導入到其它系統(例如:發卡系統),PSAM卡發卡系統實現將PSAM卡母卡中的密鑰導入到PSAM卡發卡系統和發行PSAM卡功能,這3個系統相互配合實現行業相關信息的保護工作。鐵路電子支付行業密鑰系統總體結構圖如圖5所示。
其中,密鑰管理系統包含主控密鑰生成模塊、洗卡模塊、業務代碼生成模塊、領導卡生成模塊、總控密鑰生成模塊、根密鑰生成模塊、主密鑰生成模塊、PSAM卡母卡生成模塊、行業密鑰生成模塊。
2.1 系統功能
鐵路電子支付行業密鑰管理系統的主要功能包括:生成主控傳輸密鑰母卡和主控傳輸密鑰認證卡;對系統所用的各類管理卡(SAM卡、母卡、領導卡、業務代碼卡)進行洗卡;通過主控傳輸密鑰卡對廠商提供的用戶卡白卡進行洗卡。通過PSAM母卡及PSAM母卡密鑰傳輸卡生成鐵路局PSAM卡。
(1)運管中心主控傳輸母卡、主控傳輸卡發行
運管中心主控傳輸卡,是對運管中心密鑰系統中的空白卡進行合法性認證,是對廠家提供的空白卡進行洗卡時進行主控密鑰的替換,使其具有合法性。
(2)發行、管理空白卡
對各類空白卡進行洗卡。使用運管中心主控傳輸母卡及制造密鑰傳輸卡,將空白卡主控密鑰替換為運管中心級主控傳輸密鑰。
(3)發行、管理領導卡
發出4張領導卡。領導設定卡的PIN碼,每卡中二進制文件保存領導輸入的4 byte種子碼,寫入與讀取受PIN保護。

圖5 鐵路電子支付行業密鑰管理系統總體結構圖
(4)發行、管理運管中心發卡的根密鑰卡
將4張領導卡按照一定規律組合進行處理,寫入運管中心主控密鑰卡,根據主控密鑰卡和業務代碼卡下發運管中心根密鑰卡及根密鑰傳輸卡。
(5)發行、管理運管中心主密鑰卡
根據部級根密鑰卡及根密鑰傳輸卡下發部級主密鑰卡及主密鑰傳輸卡。
(6)發行、管理PSAM母卡
根據根密鑰卡及根密鑰傳輸卡下發PSAM母卡及PSAM母卡密鑰傳輸卡。
(7)對指定卡生產商提供的空白卡統一管理
根據主控密鑰傳輸卡對卡生產商提供的空白卡進行洗卡。
(8)發行、管理PSAM卡
根據PSAM母卡及PSAM母卡傳輸卡下發PSAM卡,或通過專用程序將密鑰導入硬件加密機,使用硬件加密機方式發PSAM卡。
2.2 系統性能要求
鐵路行業密鑰管理系統,應保證鐵路行業密鑰體系的安全保密性,具有在受到非法攻擊時防止密鑰泄露的能力,密鑰管理系統的加密算法和密鑰的生成、分發、保存、更新應符合國際主流技術標準,并完全滿足國家相關技術標準及金融規范的要求,并能夠滿足鐵路應用的特殊需求,密鑰必須保證能對行業信息合法的校驗,密鑰管理系統應保證所有行業信息具有防偽造、防篡改、防重發、防抵賴、可重復認證的能力。
3.1 內部認證
系統內部認證方式如下:終端讀取用戶卡上的卡序列號,送PSAM模塊。PSAM模塊用內部認證主密鑰對卡序列號進行加密,生成內部認證工作密鑰。終端送加密指令及隨機數給用戶卡,用戶卡用內部認證密鑰加密,并將加密結果D1送回終端。終端送加密指令及隨機數給PSAM模塊,PSAM模塊將加密結果D2送回終端。終端比較D1和D2,D1和D2的值一致表示內部認證成功,否則內部認證失敗。
3.2 外部認證
系統外部認證方式如下:終端取用戶卡的卡序列號,送SAM模塊。PSAM模塊用認證主密鑰對卡片序列號加密,生成認證工作密鑰。終端從用戶卡中取隨機數。終端將隨機數送PSAM模塊,PSAM模塊用認證工作密鑰對隨機數加密,并將加密結果送回終端。終端送加密結果給用戶卡,同時向卡發外部認證指令。卡用返回代碼告訴終端認證是否成功,若認證成功則將用戶卡的安全狀態置為外部認證密鑰的后續狀態。
3.3 安全控制
密鑰管理系統通過以下方式保證密鑰安全生產、傳遞、保存和使用。
(1)密鑰明文只在卡內存在,在導入/導出過程中全部采用密文。
(2)系統的操作必須有相應權限并記錄操作人員和操作過程供審計使用。
(3)密鑰的傳輸全部采用密鑰卡與認證卡兩個途徑,只有同時拿到密鑰卡及其認證卡,才能進行密鑰的導入和導出。
(4)保障行業文件控制讀取的信息,終端只有在獲得授權的PSAM并通過規定的步驟,才能對鐵路行業文件進行操作。
鐵路電子支付行業密鑰系統已經建成并應用于鐵路行業電子支付過程的保護。通過PSAM卡控制行業密鑰文件的讀寫。系統運行情況良好,達到了保護行業密鑰的目的,能夠滿足行業信息保護需求。
通過鐵路行業密鑰系統的研發,在智能卡片選型、行業應用的特點、COS系統的特殊要求、終端機具的技術性能的特殊要求等方面,形成具有權威性的鐵路行業密鑰管理、發行和使用規范,對于智能卡在我國鐵路領域的大規模應用具有重要意義。下一步將重點研究國密算法支持工作,同時考慮將行業密鑰擴展到更多的應用領域和增加非對稱密鑰算法的支持。
[1]中國人民銀行. JR/T 0025-2010,中國金融集成電路(IC)卡規范V2.0[S].北京:中國標準出版社,2010.
[2]中華人民共和國住房和城鄉建設部. CJ/T 333-2010,城市公用事業互聯互通卡密鑰及安全技術要求[S].北京:中國標準出版社,2010.
[3] 中華人民共和國國家質量監督檢檢疫總局,中國國家標準化管理委員會. GB/T 16790.7-2006,金融交易卡 使用集成電路卡的金融交易系統的安全體系 第7部分[S].北京:中國標準出版社,2007.
責任編輯 徐侃春
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
葉國莊,高級工程師;陳 靖 ,工程師。