《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種加快智能IC卡安全認(rèn)證速度的方法
一種加快智能IC卡安全認(rèn)證速度的方法
2017年微型機與應(yīng)用第2期
朱巧,黃俊
重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065
摘要: 針對智能IC卡安全認(rèn)證過程中3DES算法加密速度較慢的問題,本文采用AES算法代替3DES算法完成智能IC卡的安全認(rèn)證,并對密鑰分散機制進行改進,使用混沌系統(tǒng)中的logistic映射進行密鑰分散。實驗結(jié)果表明,改進后的安全認(rèn)證算法在保證安全加密強度的前提下,有效提升了智能IC卡的安全認(rèn)證速度。
Abstract:
Key words :

  朱巧,黃俊

  (重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

       摘要:針對智能IC卡安全認(rèn)證過程中3DES算法加密速度較慢的問題,本文采用AES算法代替3DES算法完成智能IC卡的安全認(rèn)證,并對密鑰分散機制進行改進,使用混沌系統(tǒng)中的logistic映射進行密鑰分散。實驗結(jié)果表明,改進后的安全認(rèn)證算法在保證安全加密強度的前提下,有效提升了智能IC卡的安全認(rèn)證速度。

  關(guān)鍵詞:3DES算法;AES算法;logistic映射;智能IC卡;密鑰分散

  中圖分類號:TP368.1文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.02.002

  引用格式:朱巧,黃俊.一種加快智能IC卡安全認(rèn)證速度的方法[J].微型機與應(yīng)用,2017,36(2):5-7.

  0引言

  隨著智能IC卡在各行業(yè)的廣泛應(yīng)用,消費者對智能IC卡交易速度的要求也越來越高。目前,智能IC卡采用的對稱加密算法為3DES算法[1]。3DES算法的加解密速度較慢,算法資源利用率不高;AES算法采用更加簡潔的數(shù)學(xué)表達形式,在安全性能、算法資源利用率和實現(xiàn)復(fù)雜度上均優(yōu)于3DES算法。在保證加密強度的條件下,為了提高智能IC卡的安全認(rèn)證速度,本文從以下兩方面對智能IC卡加密算法進行改進:首先,使用AES加密算法代替3DES算法完成安全認(rèn)證;其次,使用混沌密鑰分散取代3DES密鑰分散。

1AES算法及混沌序列簡介

  美國標(biāo)準(zhǔn)技術(shù)研究所(NIST)在2001年發(fā)布了高級加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard)[2]。AES是一種分組密碼,用以取代3DES的商業(yè)應(yīng)用,其分組長度為128位,密鑰長度為128位、192位或256位。AES采用分組迭代算法,每一輪加密可分為字節(jié)代替(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。圖1為AES的總體結(jié)構(gòu)。

  混沌是非線性動力系統(tǒng)中普遍存在的一種確定性、類隨機性的復(fù)雜運動形式和自然現(xiàn)象[3]。它具有的特征包括非線性、遍歷性、初值敏感性、類噪聲性和隨機性,理論分析和實驗表明混沌加密算法能夠達到與傳統(tǒng)加密算法擴散(Diffutsion)和置亂(Confusion)同樣的效果[4]。本文采用混沌系統(tǒng)中的logistic映射產(chǎn)生混沌序列,公式(1)為logistic映射模型。

  Xi+1=u*Xi*(1-Xi),i=1,2…(1)

2安全認(rèn)證速度提升方案

  為了提高智能IC卡的安全加密效率,同時使得安全算法適用于IC卡交易數(shù)據(jù)的加密,達到較好的安全性,下面討論對對IC卡安全認(rèn)證算法的改進。

  2.1改進加密方式

  相對于3DES算法,AES算法具有以下優(yōu)勢:首先,AES算法的設(shè)計者充分考慮了算法在計算機上的實現(xiàn),運算速度快,對于內(nèi)存的需求非常低;其次,AES密鑰長度可變,可根據(jù)實際需要選擇密鑰長度;最后,AES加密算法采用寬軌跡策略(Wide Trail Strategy,WTS),可以很好地對抗差分密碼分析和線性密碼分析[5]。使用AES算法代替3DES算法,在安全性、實現(xiàn)復(fù)雜度、靈活性上都能得到提升,尤其是能大幅度加快智能IC卡的安全認(rèn)證速度。在后面的實驗結(jié)果分析中均體現(xiàn)了AES在加密性能上的優(yōu)勢。

  2.2改進密鑰分散機制

  為了便于密鑰的安全管理,智能IC卡密鑰管理系統(tǒng)通常采用一個主密鑰對每張卡的卡號進行加密,生成的密文為IC卡的子密鑰,這種由主密鑰生成子密鑰的方法稱為密鑰分散[6]。目前,智能IC卡的密鑰分散算法為3DES算法。為了提高子密鑰生成的速率,同時保證生成子密鑰的安全性,采用混沌算法進行密鑰分散。本文使用式(1)進行密鑰分散生成子密鑰。子密鑰的生成步驟如下。

  (1)智能IC卡密鑰管理系統(tǒng)定義初始值X0與參數(shù)u作為主密鑰,設(shè)主密鑰為MK(X0,u)。為了使混沌系統(tǒng)的動力學(xué)方程更加復(fù)雜,同時保證X0∈(0,1),一般取u∈(3.6,4)。

 ?。?)獲取IC卡卡號最后面16 B,記為一維數(shù)組P[16]。

 ?。?)Xi=Xi+P[i]/256,其中P[i]/256為每張智能IC卡特有的密鑰分散因子。

 ?。?)使用logistic公式進行16輪迭代運算,獲得N[16]={X1,X2,X3,…,X16} 。

 ?。?)假設(shè)N[16]在處理器中以浮點型進行存儲,位長為4 B。為了獲取16 B的子密鑰,可從N[16]中抽取4個元素,為了提升算法安全性,避免攻擊者通過運算解出u值,取這四個元素的下標(biāo)間距為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}。

3改進算法在智能IC卡安全認(rèn)證中的應(yīng)用

  在本文中,智能IC卡的安全認(rèn)證采用雙向認(rèn)證機制,即智能IC卡與支付終端相互進行認(rèn)證,安全認(rèn)證步驟如下。

  (1)支付終端獲取智能IC卡賬號最后面16 B的ASCII碼值作為AES密鑰分散的輸入明文,設(shè)輸入明文記為一維數(shù)組X [16]。

 ?。?)支付終端獲取存儲在終端安全區(qū)域內(nèi)的混沌主密鑰MK(X0,u),將X[16]中的16個元素分別代入公式(1),獲得該智能IC卡的AES密鑰(即子密鑰),記為K[16]。

 ?。?)記支付終端寫入智能IC卡的數(shù)據(jù)明文為M[L],其中L為16的整數(shù)倍 ,終端按照圖1所示流程使用密鑰K[16]對M[L]進行AES分組加密生成分組密文G[L]。

001.jpg

 ?。?)支付終端將G[L]通過有線或無限信道發(fā)給智能IC卡,智能IC卡在收到G[L]后,使用儲存在IC卡安全區(qū)域內(nèi)的AES密鑰K[16]對密文G[L]進行解密,判斷解密后的明文是否滿足標(biāo)準(zhǔn)報文格式,若符合標(biāo)準(zhǔn)報文格式,則金融IC卡對支付終端的安全認(rèn)證通過,否則安全認(rèn)證失敗。

 ?。?)智能IC卡使用K[16]對交易相關(guān)數(shù)據(jù)和卡的特征數(shù)據(jù)進行AES加密,這些數(shù)據(jù)使用N[L]表示(L為16的整數(shù)倍),生成密文C[L]。

  (6)智能IC將密文C[L]返回給支付終端,支付終端將密文C[L]上傳至IC卡安全認(rèn)證中心。

 ?。?)IC安全認(rèn)證中心同樣使用步驟(5)的方式對密文C[L]進行安全認(rèn)證,認(rèn)證通過后,返回交易成功報文。

4實驗結(jié)果分析

  本文仿真平臺處理器采用ST公司的STM32f103系列微處理器,微處理器配置為:CotexM3內(nèi)核、主頻72 MHz、64 KB RAM、512 KB Flash, 軟件固件庫版本為V3.5.0。實驗首先對AES128與3DES加密速度和安全強度進行對比分析,然后對比混沌密鑰分散速度和3DES分散速度。

  4.13DES與AES-128對比分析

  3DES和AES-128(表示AES密鑰的長度為128 bit)參數(shù)如下(16進制表示):

  3DES參數(shù)

  輸入明文:0123456789abcdef

  密鑰:0123456789abcdeffedcba9876543210

  密文:1a4d672dca6cb335

  AES128參數(shù)

  輸入明文:0123456789abcdef

  密鑰:0123456789abcdeffedcba9876543210

  密文:1a4d672dca6cb335

  4.1.13DES與AES-128算法速度對比分析

003.jpg

  AES與3DES加密速度如表1所示,通過對比,AES-128的加密速度比3DES要快40倍,解密速度為3DES的24倍。由此可見,銀行卡支付終端使用AES來替代3DES進行安全認(rèn)證,可以提高交易速度。

  4.1.23DES與AES-128雪崩效應(yīng)對比分析

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

  

002.jpg

  4.2混沌算法與3DES算法密鑰分散速度對比分析

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

004.jpg


5結(jié)論

  為了提高智能IC卡的安全認(rèn)證速度,本文對智能IC卡安全認(rèn)證算法進行了改進:首先,使用AES算法代替3DES算法,然后使用混沌算法代替?zhèn)鹘y(tǒng)的密鑰分散算法進行密鑰分散。實驗結(jié)果表明,這些改進在保證加密安全強度的前提下,有效提升了智能IC卡的安全認(rèn)證速度。

  參考文獻

  [1] 韓樊勇,顧劍,杜文才.基于智能IC卡的高速流加密系統(tǒng)研究[J].微電子學(xué)與計算機. 2013,32(4):13-15.

 ?。?] 廖曉峰, 陳勇, 肖迪,等. 混沌密碼學(xué)原理及應(yīng)用[M]. 北京:科學(xué)出版社, 2009.

 ?。?] 鄭東, 李祥學(xué), 黃征.密碼學(xué)—密碼算法與協(xié)議[M]. 北京:電子工業(yè)出版社,2009.

 ?。?] 陳克非,黃征.信息安全技術(shù)導(dǎo)論[M].北京:電子工業(yè)出版社,2007.

  [5] 羅守山,陳萍,鄒永忠,等.密碼學(xué)與信息安全技術(shù)[M].北京:北京郵電大學(xué)出版社,2009.

 ?。?] 趙富祥,張福泰,王育民.分組加密算法的設(shè)計原則及Rijndael[J].信息安全與通信保密[J].2001,23(10):51-52.

  [7] 袁曉風(fēng),李永彬.混沌編碼與保密通訊[J].計算機應(yīng)用,2000,6(20):810.

 ?。?] 馮登國.密碼學(xué)導(dǎo)引[M].北京:科學(xué)出版社,2000.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。