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

表1 國密TPU平均讀卡時間 ms
(3)ACC對上傳數據進行TAC驗證,全部核驗成功,無無效交易發生。
從國密TPU上取出刷票卡生成的交易數據。從交易數據中找出參與TAC計算的數據(交易金額,交易類型,終端機編號,終端交易序號,交易日期,交易時間),把交易字段中需要參與TAC計算的值輸入國密加密機進行TAC計算,國密加密機計算的TAC和交易生成的TAC相同,TAC驗證成功,證明交易真實有效。TAC計算關鍵數據如表2所示。

表2 TAC計算關鍵數據
通過對國密TPU在城市軌道交通AFC系統實際應用環境下進行測試,從保護核心業務數據的角度出發,驗證了交易、票卡、密鑰3方面的數據安全性與業務連通性,證明了國產商用密碼技術可以在城市軌道交通AFC系統的整個交易業務鏈條中替代DES算法,從而擺脫對國外技術和產品的依賴,實現密碼技術自主可控。國密TPU兼容DES算法的特點促進國產商用密碼技術在城市軌道交通AFC系統應用的平滑演進,節省建設成本。今后將結合城市軌道交通AFC系統建設、運營經驗,對國密TPU各模塊功能進行設計優化,全面提升TPU性能指標,研究主控芯片的國產化解決方案。