范琦 張路彬



摘 要:本文通過分析對稱加密算法和非對稱加密算法技術,研究在密鑰分散、安全認證、數據加密方面IC卡訪問安全方案,探討終端設備通信和認證中心密鑰下載的安全方法。
關鍵詞:IC卡;道路運輸證;安全機制
中圖分類號:U495;U492.8 文獻標識碼:A 文章編號:1003-5168(2018)23-0106-03
Design of Middleware Security Mechanism for IC Card
Road Transport Certificate
FAN Qi1 ZHANG Lubin2
(1.Henan Traffic Communication Center,Zhengzhou Henan 450000;
2. China Academy of Transportation Science,Beijing 100000)
Abstract: By analyzing symmetric encryption algorithm and asymmetric encryption algorithm technology, this paper studied the security scheme of IC card access in key dispersion, security authentication and data encryption, and discussed the security method of terminal equipment communication and key download of authentication center.
Keywords: IC card;road transport certificate;safety mechanism
IC卡訪問采用TSAM卡方式的加密機制,在讀寫過程中需要傳輸密鑰相關內容,中間件在讀寫過程中需要保護傳輸的密鑰值,防止密鑰泄漏。數據傳輸過程中的安全威脅,包括USB監聽、網絡監聽、串口監聽等,需要防止非法入侵,防范潛在的威脅。
1 常見安全算法技術分析
1.1 對稱加密算法技術分析
對稱加密也叫作私鑰加密,其是指在加密數據和解密數據時采用相同的密鑰。該技術通常要求數據發送方和接收方在建立通信之前,首先確定一個雙方都知道的密鑰值,然后雙方通過相同的加解密算法對要傳輸的數據進行加密和解密運算。對稱加密算法的優點是算法是公開的,計算量小,加密速度快;缺點是如果泄漏密鑰,任何截獲密文的人都可以對密文進行解密。
1.2 非對稱加密算法技術分析
非對稱加密算法與對稱加密算法相對。非對稱加密算法需要兩個密鑰,即公鑰和私鑰。每組密鑰必須成對出現,公鑰一般是以明文的方式發布給對方,私鑰由產生方自己進行保存。如果使用公鑰進行加密,必須使用配對私鑰進行解密;如果使用私鑰進行加密,必須使用公鑰進行解密,這樣才能獲得正確的原文。非對稱加密算法一般用于數字簽名、密鑰交換等[1]。非對稱加密算法的安全性依賴于現有的難以解決的數學問題,算法強度較大,計算速度相比對稱加密算法較慢,常見的密鑰算法包括背包算法、RSA算法、ECC算法等。
1.3 各類算法的比較
目前公布的常見的對稱加密算法和非對稱加密算法在相同的保密級別下,密鑰長度對比關系見表1。
在對稱加密算法領域,盡管DES在安全上相對脆弱,但由于DES加密速度快,硬件芯片的大量生產和TDES的應用,使DES算法成為目前實際應用中最為廣泛的加密算法。當前IC卡道路運輸證件也采用TDES加密算法。隨著AES算法的推廣和國密算法的推廣,IC卡道路運輸證件安全系統將可能逐步被國密算法取代。
在非對稱加密算法領域,目前RSA算法是最常見的算法,但ECC比RSA在相同的安全級別下采用的密鑰長度更短,加解密運算的速度更快,對于網絡傳輸的硬件資源使用得更少,ECC將逐步取代RSA。
2 IC卡道路運輸證件的訪問安全機制設計
根據《IC卡道路運輸證件》(JT/T 825—2012)[2]的要求,目前IC卡道路運輸證件采用基于TDES技術的對稱密鑰技術。
2.1 密鑰體系設計
IC卡道路運輸證件密鑰體系采用部省兩級管理的模式,總體框架如圖1所示。
2.2 密鑰推導方法
按照IC卡道路運輸證件密鑰體系設計,在IC卡和終端內TSAM卡內都預先安裝了相同的對稱密鑰,解決了密鑰傳輸和發布的問題。但是,在實際的應用中,IC卡的數量較為龐大,為了使IC卡更加安全,采用“一卡一密”的方式。為了使每個終端都能夠支持讀寫每張IC卡,在TSAM卡中內置所有IC卡的密鑰是不現實的問題。所以,在TSAM卡中只能存儲密鑰體系中的根密鑰,在IC卡讀寫認證時,TSAM卡能產生臨時的對應IC卡的密鑰,實現對IC卡認證和數據加密功能。密鑰推導模型見圖2。
2.3 安全分析
IC卡道路運輸證件采用密鑰分散的算法,保證了一卡一密鑰,且使得IC卡道路運輸證在使用過程中,如果一張卡被人破解后,不會影響整個密鑰系統。此外,在數據傳輸過程中,通過使用隨機數、計算MAC等方式,減小了在空中傳輸過程中被第三方監聽后采用重放機制偽造數據的可能性。
3 數據通信安全機制設計
中間件與外部設備硬件通信包括兩大類:第一類是與認證中心后臺服務器及密鑰中心進行通信,傳輸的內容包括讀寫卡數據記錄和密鑰參數,傳輸的介質為網絡傳輸;第二類是中間件與讀寫器等終端設備通信,通信的內容包括讀寫卡過程數據、認證數據和密鑰ID等信息。
3.1 終端通信安全設計
采用對稱加密算法首先要將密鑰存儲到讀寫器中。為了防止第三方通過暴力通信的方式惡意破解讀寫器中的密鑰值,對每個讀寫器內存儲不同的密鑰值。讀寫器芯片都有唯一的序列號,可以使用序列號作為分散因子。同時,考慮將對稱密鑰的根密鑰放到讀寫器中,為了混淆,在每個讀寫器中也同時放入了不同的根密鑰,具體實現方式如下。
①事先選擇100組密鑰作為根密鑰,這100個密鑰都通過密文方式內置在中間件中,并將這100個密鑰按照序號從0編到99。
②在為讀寫器下載根密鑰時,從中間隨機選取5個密鑰作為根密鑰,依據是[C5100=75 287 520],這樣可以生成約7 000萬個不同組合的根密鑰,能滿足現階段每個讀寫器中根密鑰都不相同的結果。
③采用根密鑰對讀寫器序列號進行分散,得到5個分散后的密鑰,將這5個密鑰及根密鑰對應的序號存放到讀寫器中。
在讀寫卡時,生成臨時密鑰的序列如圖3所示。具體步驟如下。
①中間件向讀寫器發送握手指令,讀寫器內部生成一個隨機數,根據隨機數計算獲得5個密鑰ID的值,讀寫器將這個密鑰ID號和讀寫器序列號發送給中間件。
②中間件根據密鑰ID號確定根密鑰,然后用根密鑰對讀寫器序列號進行分散操作,得到與讀寫器對應的子密鑰,后續的通信都通過該密鑰對傳輸的數據進行加解密計算。
3.2 認證中心密鑰下載安全設計
根據常見安全算法技術分析,筆者在中間件與認證中心通信時采用ECC算法,考慮到非對稱加密算法的計算時間較長等特點,在密鑰傳輸中僅通過發送認證和密鑰傳輸兩條報文即可實現密鑰的傳輸功能,具體流程見圖4所示。
①中間件的私鑰和公鑰分別為PRc和PUc,服務器端的私鑰和公鑰分別為PRs和PUs。
②中間件生成16字節的隨機數N1,用中間件的私鑰PRc加密生成M2。
③將M2和N1作為數據,使用服務器端公鑰Pus進行加密生成密文M3,并發給服務器端。
④服務器端收到數據后,先用服務器端的私鑰對M3進行解密,將解密后數據的右半部分賦值給S2,將解密后數據的左半部分用中間件的公鑰PUc解密,得到S1。
⑤服務器端判斷S1是否等于S2,如果兩個數據相同,說明該隨機數是由真正的中間件發來,認證成功,服務器可以為中間件提供服務;如果兩個數字不相同,說明可能是第三方偽造的數據或者數據在鏈路中傳輸出現錯誤,服務器不予響應。
⑥認證成功后,服務器端生成隨機數N2,并使用中間件的公鑰PUc進行加密后生成,將M4傳輸給中間件端。
⑦中間件收到M4后,使用中間件的私鑰PRc解密得到M5,至此,認證過程完成。
⑧中間件通過讀寫器獲得IC卡ID號后,將ID號和M5作為數據使用服務器端的公鑰Pus加密生成密文M6,將M6發送到服務器端。
⑨服務器端收到報文M6后,使用私鑰進行解密,界面后的數據右半部分賦值為S4,左半部分賦值為S3。
⑩判斷S4是否等于隨機數N2,如果相同,則S3就為IC卡的卡號ID,如果不相等,則服務器端斷開中間件連接。
?服務器端訪問密鑰管理系統,將ID發給密鑰管理系統,密鑰管理系統通過密鑰分散算法,生成對應的密鑰K,發送給服務器。
?服務器端將密鑰K,先使用服務器私鑰PRs加密,然后再使用中間件的公鑰PUc加密后得到密鑰密文,將K2發送給中間件。
?中間件將收到的密文K2先使用中間件私鑰PRc解密,再使用服務器的公鑰PUs解密得到K3,即IC卡的對應密鑰,至此,IC卡子密鑰下載完成。
該流程的優點如下。①每次數據傳輸都采用隨機數的方式,避免被第三方監聽后重復發送數據攻擊。②服務器端認證后給客戶端返回隨機數的目的,避免中間件認證成功后被第三方截獲通道,偽造數據獲取真實的密鑰;同時,服務端對于下發的隨機數增加計時功能,如果超時后中間件還沒有發送請求傳輸密鑰的指令,則服務器端主動斷開中間件連接,中間件如果需要傳輸密鑰,還必須再次認證才可以得到授權,這樣能有效避免中間件一直占用服務器資源。③中間件每次認證后只能傳輸一次密鑰,傳輸結束后,認證失效。
4 結論
本文詳細介紹了幾種常見的對稱加密算法和非對稱加密算法的實現原理,分析其優缺點,提出中間件在IC卡道路運輸證件讀寫、數據傳輸方面采用的安全技術手段。伴隨新技術的發展,IC卡安全性也會面臨新的挑戰,在應用領域應緊密結合國密技術的發展,對現階段的IC卡密鑰的升級換代工作進行進一步的深入研究。
參考文獻:
[1]楊曉珂.IC卡道路運輸證密鑰管理系統研究與實現[D].西安:長安大學,2009.
[2]中華人民共和國交通運輸部.IC卡道路運輸證件:JT/T 825—2012 [S].北京:人民交通出版社,2012.