朱 巧,黃 俊
(重慶郵電大學 通信與信息工程學院,重慶 400065)
一種加快智能IC卡安全認證速度的方法
朱 巧,黃 俊
(重慶郵電大學 通信與信息工程學院,重慶 400065)
針對智能IC卡安全認證過程中3DES算法加密速度較慢的問題,本文采用AES算法代替3DES算法完成智能IC卡的安全認證,并對密鑰分散機制進行改進,使用混沌系統中的logistic映射進行密鑰分散。實驗結果表明,改進后的安全認證算法在保證安全加密強度的前提下,有效提升了智能IC卡的安全認證速度。
3DES算法;AES算法;logistic映射;智能IC卡;密鑰分散
隨著智能IC卡在各行業的廣泛應用,消費者對智能IC卡交易速度的要求也越來越高。目前,智能IC卡采用的對稱加密算法為3DES算法[1]。3DES算法的加解密速度較慢,算法資源利用率不高;AES算法采用更加簡潔的數學表達形式,在安全性能、算法資源利用率和實現復雜度上均優于3DES算法。在保證加密強度的條件下,為了提高智能IC卡的安全認證速度,本文從以下兩方面對智能IC卡加密算法進行改進:首先,使用AES加密算法代替3DES算法完成安全認證;其次,使用混沌密鑰分散取代3DES密鑰分散。
美國標準技術研究所(NIST)在2001年發布了高級加密標準AES(Advanced Encryption Standard)[2]。AES是一種分組密碼,用以取代3DES的商業應用,其分組長度為128位,密鑰長度為128位、192位或256位。AES采用分組迭代算法,每一輪加密可分為字節代替(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。圖1為AES的總體結構。

圖1 AES總體架構
混沌是非線性動力系統中普遍存在的一種確定性、類隨機性的復雜運動形式和自然現象[3]。它具有的特征包括非線性、遍歷性、初值敏感性、類噪聲性和隨機性,理論分析和實驗表明混沌加密算法能夠達到與傳統加密算法擴散(Diffutsion)和置亂(Confusion)同樣的效果[4]。本文采用混沌系統中的logistic映射產生混沌序列,公式(1)為logistic映射模型。
Xi+1=u*Xi*(1-Xi),i=1,2…
(1)
為了提高智能IC卡的安全加密效率,同時使得安全算法適用于IC卡交易數據的加密,達到較好的安全性,下面討論對對IC卡安全認證算法的改進。
2.1 改進加密方式
相對于3DES算法,AES算法具有以下優勢:首先,AES算法的設計者充分考慮了算法在計算機上的實現,運算速度快,對于內存的需求非常低;其次,AES密鑰長度可變,可根據實際需要選擇密鑰長度;最后,AES加密算法采用寬軌跡策略(Wide Trail Strategy,WTS),可以很好地對抗差分密碼分析和線性密碼分析[5]。使用AES算法代替3DES算法,在安全性、實現復雜度、靈活性上都能得到提升,尤其是能大幅度加快智能IC卡的安全認證速度。在后面的實驗結果分析中均體現了AES在加密性能上的優勢。
2.2 改進密鑰分散機制
為了便于密鑰的安全管理,智能IC卡密鑰管理系統通常采用一個主密鑰對每張卡的卡號進行加密,生成的密文為IC卡的子密鑰,這種由主密鑰生成子密鑰的方法稱為密鑰分散[6]。目前,智能IC卡的密鑰分散算法為3DES算法。為了提高子密鑰生成的速率,同時保證生成子密鑰的安全性,采用混沌算法進行密鑰分散。本文使用式(1)進行密鑰分散生成子密鑰。子密鑰的生成步驟如下。
(1)智能IC卡密鑰管理系統定義初始值X0與參數u作為主密鑰,設主密鑰為MK(X0,u)。為了使混沌系統的動力學方程更加復雜,同時保證X0∈(0,1),一般取u∈(3.6,4)。
(2)獲取IC卡卡號最后面16 B,記為一維數組P[16]。
(3)Xi=Xi+P[i]/256,其中P[i]/256為每張智能IC卡特有的密鑰分散因子。
(4)使用logistic公式進行16輪迭代運算,獲得N[16]={X1,X2,X3,…,X16} 。
(5)假設N[16]在處理器中以浮點型進行存儲,位長為4 B。為了獲取16 B的子密鑰,可從N[16]中抽取4個元素,為了提升算法安全性,避免攻擊者通過運算解出u值,取這四個元素的下標間距為4,記為{X4,X8,X12,X16},其中X4={C1,C2,C3,C4},X8={C5,C6,C7,C8},X12={C9,C10,C11,C12},X16={C13,C14,C15,C16},則IC卡的子密鑰C[16]={C1,C2,C3……C16}。
在本文中,智能IC卡的安全認證采用雙向認證機制,即智能IC卡與支付終端相互進行認證,安全認證步驟如下。
(1)支付終端獲取智能IC卡賬號最后面16 B的ASCII碼值作為AES密鑰分散的輸入明文,設輸入明文記為一維數組X[16]。
(2)支付終端獲取存儲在終端安全區域內的混沌主密鑰MK(X0,u),將X[16]中的16個元素分別代入公式(1),獲得該智能IC卡的AES密鑰(即子密鑰),記為K[16]。
(3)記支付終端寫入智能IC卡的數據明文為M[L],其中L為16的整數倍 ,終端按照圖1所示流程使用密鑰K[16]對M[L]進行AES分組加密生成分組密文G[L]。
(4)支付終端將G[L]通過有線或無限信道發給智能IC卡,智能IC卡在收到G[L]后,使用儲存在IC卡安全區域內的AES密鑰K[16]對密文G[L]進行解密,判斷解密后的明文是否滿足標準報文格式,若符合標準報文格式,則金融IC卡對支付終端的安全認證通過,否則安全認證失敗。
(5)智能IC卡使用K[16]對交易相關數據和卡的特征數據進行AES加密,這些數據使用N[L]表示(L為16的整數倍),生成密文C[L]。
(6)智能IC將密文C[L]返回給支付終端,支付終端將密文C[L]上傳至IC卡安全認證中心。
(7)IC安全認證中心同樣使用步驟(5)的方式對密文C[L]進行安全認證,認證通過后,返回交易成功報文。
本文仿真平臺處理器采用ST公司的STM32f103系列微處理器,微處理器配置為:Cotex-M3內核、主頻72 MHz、64 KB RAM、512 KB Flash, 軟件固件庫版本為V3.5.0。實驗首先對AES-128與3DES加密速度和安全強度進行對比分析,然后對比混沌密鑰分散速度和3DES分散速度。
4.1 3DES與AES-128對比分析
3DES和AES-128(表示AES密鑰的長度為128 bit)參數如下(16進制表示):
3DES參數
輸入明文:0123456789abcdef
密鑰:0123456789abcdeffedcba9876543210
密文:1a4d672dca6cb335
AES-128參數
輸入明文:0123456789abcdef
密鑰:0123456789abcdeffedcba9876543210
密文:1a4d672dca6cb335
4.1.1 3DES與AES-128算法速度對比分析
AES與3DES加密速度如表1所示,通過對比,AES-128的加密速度比3DES要快40倍,解密速度為3DES的24倍。由此可見,銀行卡支付終端使用AES來替代3DES進行安全認證,可以提高交易速度。

表1 AES與3DES加解密速度對比分析
4.1.2 3DES與AES-128雪崩效應對比分析
加密算法安全強度的評價指標之一是該加密算法的雪崩效應[7]。雪崩效應指的是明文或者密文即使發生小的變化即會導致密文發生很大的變化。研究表明,如果1位的差別能夠引起密文大約一半的位置發生變化,這是比較理想的結果[8]。圖2和圖3分別表示3DES和AES-128的雪崩效應。結合折線圖分析,AES-128在加密2輪后大約有一半的位數發生變化,而3DES需要加密3輪后才能達到同樣的效果,因此AES-128展示了很好的雪崩效應,且這種強度比3DES要大一些。

圖2 3DES算法雪崩效應

圖3 AES-128算法雪崩效應
4.2 混沌算法與3DES算法密鑰分散速度對比分析
若需要獲取一個16 B長的IC卡子密鑰,采用3DES算法完成密鑰分散需進行兩次3DES運算,而采用混沌算法只需要16輪logistic公式迭代運算,大幅度提高了密鑰分散速度。密鑰分散的各參數值與分散速度如表2所示。
通過對比3DES密鑰分散和混沌算法密鑰分散耗費的機器周期數可以得出,采用混沌算法進行密鑰分散的速度是3DES密鑰分散速度的27.5倍左右。

表2 3DES與AES密鑰分散參數及速度
為了提高智能IC卡的安全認證速度,本文對智能IC卡安全認證算法進行了改進:首先,使用AES算法代替3DES算法,然后使用混沌算法代替傳統的密鑰分散算法進行密鑰分散。實驗結果表明,這些改進在保證加密安全強度的前提下,有效提升了智能IC卡的安全認證速度。
[1] 韓樊勇,顧劍,杜文才.基于智能IC卡的高速流加密系統研究[J].微電子學與計算機. 2013,32(4):13-15.
[2] 廖曉峰, 陳勇, 肖迪,等. 混沌密碼學原理及應用[M]. 北京:科學出版社, 2009.
[3] 鄭東, 李祥學, 黃征.密碼學—密碼算法與協議[M]. 北京:電子工業出版社,2009.
[4] 陳克非,黃征.信息安全技術導論[M].北京:電子工業出版社,2007.
[5] 羅守山,陳萍,鄒永忠,等.密碼學與信息安全技術[M].北京:北京郵電大學出版社,2009.
[6] 趙富祥,張福泰,王育民.分組加密算法的設計原則及Rijndael[J].信息安全與通信保密[J].2001,23(10):51-52.
[7] 袁曉風,李永彬.混沌編碼與保密通訊[J].計算機應用,2000,6(20):8-10.
[8] 馮登國.密碼學導引[M].北京:科學出版社,2000.
A method for speeding up the security certification of smart IC card
Zhu Qiao ,Huang Jun
(School of Communication and Information,University of Chongqing University of Posts and Telecommunications,Chongqing 400065,China)
Aiming at the problem that the 3DES algorithm’s speed is relatively slow to encrypt and decrypt when it is used in the security certification process of intelligent IC card, this paper used AES algorithm to finish the security certification instead of 3DES algorithm to accelerate the centification. And it improved the key dispersion mechanism by using the logistic mapping of chaos system. The test result showed that it can improve the security certification speed of intelligent IC card by the improved security certification algorithm under the premise of guarantee security strength.
3DES algorithm; AES algorithm; logistic mapping; intelligent IC card; key dispersion
TP368.1
A
10.19358/j.issn.1674- 7720.2017.02.002
朱巧,黃俊.一種加快智能IC卡安全認證速度的方法[J].微型機與應用,2017,36(2):5-7.
2016-08-16)
朱巧(1991-),通信作者,男,碩士研究生,主要研究方向:信息安全。E-mail:zhuqiaoda@126.com。
黃俊(1967-),男,博士,教授,主要研究方向:信號處理、信息安全。