潘云峰,韓國奇,張 博,薛 海,王鶴天
(北京京投億雅捷交通科技有限公司, 北京 100101)
自動售檢票(AFC)系統(tǒng)實現(xiàn)城市軌道交通售票、檢票、計費、收費、統(tǒng)計、清分等全過程的自動處理,與客運收入、乘客的資金支付密切相關(guān)。因此保證AFC系統(tǒng)中票款的安全性、交易數(shù)據(jù)的準確性至關(guān)重要。密碼技術(shù)的應(yīng)用是保障系統(tǒng)安全性、可靠性的核心,目前多數(shù)城市軌道交通AFC系統(tǒng)使用的是基于DES加密標準的算法,隨著國產(chǎn)商用密碼技術(shù)的推廣,嘗試在城市軌道交通AFC系統(tǒng)中使用國產(chǎn)商用密碼技術(shù)已是必然趨勢。票卡讀寫器(TPU)作為AFC系統(tǒng)的重要組成單元,是負責(zé)票卡業(yè)務(wù)處理的軟、硬件綜合體,研究開發(fā)支持國密算法的TPU是實現(xiàn)國密算法在AFC系統(tǒng)應(yīng)用的關(guān)鍵。本文從硬件、軟件2個方面對支持國密算法的TPU進行設(shè)計與研究。
2.1.1 票卡業(yè)務(wù)內(nèi)嵌
TPU用于實現(xiàn)對票卡的讀寫, 在AFC系統(tǒng)的自動售票機、半自動售票機、自動檢票機、自助充值機、自助查詢機、自助票務(wù)處理機中大量使用。國密TPU要滿足將票卡處理的業(yè)務(wù)流程部署于TPU內(nèi)部,票卡業(yè)務(wù)的操作流程由TPU獨立完成,終端設(shè)備的工控機不涉及票卡業(yè)務(wù)的具體實施流程,工控機和TPU之間只涉及操作命令、信息反饋等信息交互。這種自身集成票卡業(yè)務(wù)處理功能的TPU在實際應(yīng)用中各項性能指標明顯優(yōu)于不具備票卡業(yè)務(wù)處理能力的TPU。與按照票卡處理軟件部署于上位工控機思路設(shè)計出的TPU相比,集成票卡業(yè)務(wù)處理功能的TPU優(yōu)點主要體現(xiàn)在以下方面:
(1)將安全密鑰、票卡數(shù)據(jù)結(jié)構(gòu)、處理流程、交易數(shù)據(jù)生成、交易驗證碼(TAC)計算、交易審計數(shù)據(jù)生成等處理過程在TPU內(nèi)部完成,避免將敏感的數(shù)據(jù)、參數(shù)保存在工控機上,進一步加強數(shù)據(jù)保護、提高數(shù)據(jù)的安全性;
(2)TPU與上位工控機的交互只限于接收命令、反饋結(jié)果,業(yè)務(wù)處理在讀寫器內(nèi)部完成,減少交互數(shù)據(jù)量、交互次數(shù),提高業(yè)務(wù)處理速度;
(3)當城市軌道交通票卡業(yè)務(wù)出現(xiàn)變更時,只需更新讀寫器程序、參數(shù),無需更改上位工控機設(shè)備程序,減少軟件修改、測試的工作量。
2.1.2 支持國密 SM4 算法
AFC系統(tǒng)中密鑰的應(yīng)用是以交易類密鑰為核心構(gòu)建密鑰應(yīng)用體系。交易類密鑰包括充值密鑰、消費密鑰和TAC密鑰,這些密鑰保障了交易過程和交易數(shù)據(jù)的安全,目前此類密鑰在全國城市軌道交通行業(yè)中均采用國外密碼技術(shù),其中多數(shù)采用對稱密碼算法DES數(shù)據(jù)加密標準。在對稱加密算法中加密和解密使用相同密鑰,而非對稱加密則有一對密鑰,分別為公鑰和私鑰,公鑰對外公開,其原理是發(fā)信方通過公鑰把明文加密成密文進行發(fā)送,收信方收到密文后用私鑰對其進行解密從而得到明文。兩種加密算法中對稱加密算法的運算速度相對更快。綜合考慮城市軌道交通AFC系統(tǒng)乘客快速過閘的需求,國產(chǎn)商用密碼中采用的對稱密碼算法SM4技術(shù)可以滿足國密TPU的功能需求。SM4屬于分組密碼,也稱“塊密碼”,與國外密碼算法DES類似。
2.1.3 兼容支持DES算法
國密票卡讀寫器需兼容支持城市軌道交通現(xiàn)行的DES加密算法,達到同時支持國密、DES加密算法的要求。目前既有線使用的票卡普遍支持DES加密算法,要實現(xiàn)國密TPU的全線推廣必須解決既有票卡可繼續(xù)使用的問題,因此國密TPU必須兼容支持DES加密算法。在保留現(xiàn)有密鑰體系的前提下,逐步增加支持國密技術(shù)的票卡數(shù)量,對依托國外密碼技術(shù)的票卡進行自然淘汰,最終實現(xiàn)國密算法對DES算法的全面替代。
2.2.1 加密算法在充值交易中的應(yīng)用
在票卡充值過程中,票卡首先上送應(yīng)用序列號至TPU,TPU將該卡片的應(yīng)用序列號轉(zhuǎn)發(fā)至后臺。TPU向票卡發(fā)送初始化命令,票卡利用卡內(nèi)充值密鑰進行加密,得到臨時工作密鑰,票卡利用臨時工作密鑰對交易報文1進行計算得到MAC1,并將交易報文1和MAC1上送至TPU與后臺。后臺利用票卡應(yīng)用序號對充值密鑰進行分散,得到充值子密鑰,將充值子密鑰按票卡相同方法加密產(chǎn)生臨時工作密鑰。后臺利用臨時工作密鑰驗證MAC1通過后,利用臨時工作密鑰對交易報文2進行計算得到MAC2,并將交易報文2、MAC2下發(fā)至TPU與票卡。票卡利用臨時工作密鑰驗證MAC2通過后,首先完成錢包余額增加動作,其次利用TAC密鑰對交易結(jié)果進行計算得到TAC,最后將TAC上送至TPU,TPU向終端設(shè)備發(fā)送交易確認信息。
2.2.2 加密算法在消費交易中的使用
在票卡消費過程中,票卡首先上送應(yīng)用序列號至TPU,TPU收到后向票卡發(fā)送初始化命令,票卡利用卡內(nèi)消費密鑰進行加密,得到臨時工作密鑰,TPU中的SAM卡利用票卡應(yīng)用序號對SAM卡的消費密鑰進行分散,得到SAM卡的消費子密鑰,將消費子密鑰按票卡相同方法加密產(chǎn)生臨時工作密鑰。SAM卡利用臨時工作密鑰對交易報文1進行計算得到MAC1,并將交易報文1和MAC1下送至票卡。票卡利用臨時工作密鑰驗證MAC1 通過后,首先完成錢包余額減少動作,其次利用臨時工作密鑰對交易報文2進行計算得到MAC2、利用TAC密鑰對交易結(jié)果進行計算得到TAC,最后將交易報文2、MAC2、交易結(jié)果、TAC上送至TPU。SAM卡利用臨時工作密鑰驗證MAC2通過后,TPU向終端設(shè)備發(fā)送交易確認信息。
2.2.3 加密算法在TAC驗證中的應(yīng)用
帶有TAC的交易結(jié)果上送到城市軌道交通自動售檢票清算管理中心(ACC),系統(tǒng)利用加密機內(nèi)存儲的TAC母密鑰分散出本卡的TAC密鑰并驗證TAC,驗證通過則交易正確有效。
國密TPU由天線和控制板2部分組成,控制板包括微程序處理器、電源模塊、存儲器和接口、讀寫器軟件等。國密TPU的主要功能包括對票卡的讀取和寫入、給票卡卡片系統(tǒng)提供能源、與上位機通信、卡片識別、錯誤信息提示、票卡業(yè)務(wù)處理、交易數(shù)據(jù)生成、接收ACC統(tǒng)一的版本控制及升級管理。
為保證國密TPU在生產(chǎn)環(huán)境中運行穩(wěn)定,國密TPU的主要性能指標需滿足以下標準:
(1)符合ISO/IEC 14443標準的非接觸IC卡規(guī)定;
(2)支持SM4、DES加解密算法;
(3)微處理器工作頻率不宜低于1 GHz;
(4)數(shù)據(jù)總線應(yīng)支持16位、32位;
(5)外部地址總線不應(yīng)少于16位;
(6)正常運行平均時間(MTBF)應(yīng)大于10萬h,維修作業(yè)耗時平均值(MTTR)小于15 min;
(7)國密TPU與非接觸IC卡之間應(yīng)有三重雙向認證;
(8)IC卡工作頻率:13.56 MHz;
(9)票卡在讀寫器上的處理時間小于300 ms。
在硬件設(shè)計中采用飛思卡爾的IMX6Q系列芯片作為核心處理器,該芯片接口豐富,能夠滿足所需模塊的連接需求。TPU主控板包括音頻模塊、視頻模塊、存儲模塊、通信接口模塊、射頻模塊等。系統(tǒng)總體框圖如圖1所示。
國密TPU設(shè)置兩路獨立的射頻模塊和天線,支持彼此獨立的兩路票卡操作,支持無源天線板。讀卡靈敏度高:大天線板最高可達60 mm,小天線板最高可達50 mm,抗干擾能力強,完全滿足城市軌道交通的應(yīng)用要求。
國密TPU軟件采用分層設(shè)計的方式實現(xiàn),根據(jù)軟件的功能可以分為4層,分別為接口協(xié)議層、系統(tǒng)管理及命令調(diào)度層、業(yè)務(wù)層、硬件驅(qū)動層。具體架構(gòu)如圖2所示。
其中接口協(xié)議層的功能是與終端設(shè)備的工控機進行信息交互。上位工控機和TPU之間的通信數(shù)據(jù)包按照傳遞方向分為命令數(shù)據(jù)包和反饋數(shù)據(jù)包。命令數(shù)據(jù)包總是由上位機根據(jù)業(yè)務(wù)需要主動發(fā)送到TPU,目的是控制TPU執(zhí)行特定的業(yè)務(wù)處理。反饋數(shù)據(jù)包總是由TPU發(fā)送到終端設(shè)備,目的是將TPU的處理結(jié)果反饋給終端設(shè)備。
系統(tǒng)管理及命令調(diào)度層根據(jù)收到的上位機指令對各業(yè)務(wù)模塊進行調(diào)度。業(yè)務(wù)層是實現(xiàn)票卡交易業(yè)務(wù)功能的核心,它包含TPU管理模塊、系統(tǒng)維護模塊、IC卡管理模塊、票務(wù)處理模塊,用來實現(xiàn)票卡交易、參數(shù)設(shè)定以及程序版本升級等業(yè)務(wù)。
硬件驅(qū)動層負責(zé)將操作系統(tǒng)的傳輸請求轉(zhuǎn)化為特定物理設(shè)備控制器能夠理解的命令,通過讀寫硬件寄存器實現(xiàn)對硬件設(shè)備的控制。TPU內(nèi)部業(yè)務(wù)流程如圖3所示。
對國密TPU測試主要包括性能測試和兼容性測試2部分,其中性能測試主要包含以下3個方面:
(1)國密TPU發(fā)帶有國密密鑰的SAM卡測試;
(2)國密TPU發(fā)帶有國密密鑰的票卡測試;
(3)將發(fā)行的SAM卡、票卡與國密TPU共同應(yīng)用于終端設(shè)備,進行票卡業(yè)務(wù)測試。
兼容性測試主要測試國密TPU在運用DES加密標準的AFC系統(tǒng)中的性能表現(xiàn),性能測試時使用與國密標準性能測試相同的測試用例。
4.2.1 SM4 標準測試環(huán)境
(1)準備支持國密算法的SAM卡,完成密鑰加載測試、卡片寫入適配工作;
(2)準備支持國密算法的票卡,完成密鑰加載測試、卡片寫入適配工作;
(3)準備國密加密機,完成國密密鑰管理系統(tǒng)適配工作;
(4)準備適配國密TPU的自動檢票機,完成上位工控機與TPU間的通信調(diào)試工作;
(5)確保終端設(shè)備與ACC系統(tǒng)通信網(wǎng)絡(luò)連接正常,ACC交易處理服務(wù)器直連國密加密機;
(6)確保發(fā)卡程序開發(fā)完成。
4.2.2 DES 標準測試環(huán)境
與SM4標準測試環(huán)境相似,將加密機、SAM卡、票卡替代為支持DES加密標準的設(shè)備即可,并安裝與之相匹配的軟件。
測試分為2輪進行,第一輪在SM4標準測試環(huán)境下進行,第二輪在DES標準測試環(huán)境下進行。兩輪測試步驟及測試用例完全相同,本文只簡述國密TPU在SM4標準測試環(huán)境下的測試步驟。具體步驟如下:
(1)將國密TPU連接到國密加密機;
(2)用發(fā)卡程序發(fā)帶有國密密鑰的SAM卡,并記錄卡號和發(fā)行時間;
(3)用發(fā)卡程序發(fā)帶有國密密鑰的票卡(包括員工卡、計次票、紀念票等票種),并記錄卡號和發(fā)行時間;
(4)將國密密鑰SAM卡安裝在自動檢票機的進、出站國密TPU中;
(5)將國密加密機連接到ACC系統(tǒng);
(6)用國密票卡在自動檢票機上進行進出站刷卡測試,觀察進出站刷卡是否成功;
(7)將國密TPU中的進出站刷卡數(shù)據(jù)導(dǎo)出;
(8)在ACC系統(tǒng)中對生成的交易數(shù)據(jù)進行查詢比對。
(1)在SM4、DES標準測試環(huán)境下,所有票卡都可以完成刷卡進出自動售檢票機的操作,說明國密TPU可以兼容DES加密標準。
(2)國密TPU能夠充分適應(yīng)城市軌道交通AFC系統(tǒng)交易速度快的特點,車票的典型交易(含安全認證、過程文件處理、錢包文件處理、交易數(shù)據(jù)產(chǎn)生、TAC 碼生成等)時間小于300 ms。TPU讀卡速度如表1所示。通過數(shù)據(jù)對比可以發(fā)現(xiàn)國密TPU運用國密算法進行票卡單次消費處理用時比運用非國密算法平均快58.253 ms。
表1 國密TPU平均讀卡時間 ms
(3)ACC對上傳數(shù)據(jù)進行TAC驗證,全部核驗成功,無無效交易發(fā)生。
從國密TPU上取出刷票卡生成的交易數(shù)據(jù)。從交易數(shù)據(jù)中找出參與TAC計算的數(shù)據(jù)(交易金額,交易類型,終端機編號,終端交易序號,交易日期,交易時間),把交易字段中需要參與TAC計算的值輸入國密加密機進行TAC計算,國密加密機計算的TAC和交易生成的TAC相同,TAC驗證成功,證明交易真實有效。TAC計算關(guān)鍵數(shù)據(jù)如表2所示。
表2 TAC計算關(guān)鍵數(shù)據(jù)
通過對國密TPU在城市軌道交通AFC系統(tǒng)實際應(yīng)用環(huán)境下進行測試,從保護核心業(yè)務(wù)數(shù)據(jù)的角度出發(fā),驗證了交易、票卡、密鑰3方面的數(shù)據(jù)安全性與業(yè)務(wù)連通性,證明了國產(chǎn)商用密碼技術(shù)可以在城市軌道交通AFC系統(tǒng)的整個交易業(yè)務(wù)鏈條中替代DES算法,從而擺脫對國外技術(shù)和產(chǎn)品的依賴,實現(xiàn)密碼技術(shù)自主可控。國密TPU兼容DES算法的特點促進國產(chǎn)商用密碼技術(shù)在城市軌道交通AFC系統(tǒng)應(yīng)用的平滑演進,節(jié)省建設(shè)成本。今后將結(jié)合城市軌道交通AFC系統(tǒng)建設(shè)、運營經(jīng)驗,對國密TPU各模塊功能進行設(shè)計優(yōu)化,全面提升TPU性能指標,研究主控芯片的國產(chǎn)化解決方案。