淺析IC卡數(shù)據(jù)加密算法
當(dāng)今世界信息技術(shù)的發(fā)展日新月異,信息技術(shù)已廣泛深入到社會各個領(lǐng)域,應(yīng)發(fā)揮著越來越重要的作用。世界各國都在致力于信息化建設(shè),以“金橋”、“金卡”、“金衛(wèi)”、“金關(guān)”、“金稅”工程為代表的系列工程,正是我國發(fā)展信息化建設(shè)的重要舉措。在“金”系列工程中,集成電路卡(Intergrated Circuit Card,簡稱IC卡)應(yīng)用非常廣泛。
在IC卡應(yīng)用系統(tǒng)中,IC卡中信息的安全問題是人們關(guān)注的焦點問題。針對IC卡應(yīng)用系統(tǒng)的特點,其安全性的關(guān)鍵在于卡中信息的安全。對多數(shù)攻擊者而言,復(fù)制IC卡或竊取,更改卡中的信息才是其最終目的。為了更有效地保護(hù)卡中的信息,采用一種有效的、安全可靠的加密算法,實現(xiàn)對卡中信息的加密存儲是相當(dāng)必要的。
基于這一目標(biāo),本文以國際加密標(biāo)準(zhǔn)DES算法為基礎(chǔ),在傳統(tǒng)三重DES加密模式的基礎(chǔ)上,提出了一種改進(jìn)的三重DES加密算法,并將其成功地應(yīng)用到了醫(yī)療保險(下文簡稱醫(yī)保)系統(tǒng)的IC卡結(jié)算業(yè)務(wù)之中。
1 IC卡應(yīng)用系統(tǒng)簡介
IC卡將集成電路芯片鑲嵌在塑料基片中,封裝稱卡片的形狀。它與其他類型的卡(如磁卡、條形碼卡、光電卡等)想必其優(yōu)勢是“存儲容量大”,智能型卡還具有微處理器,資料信息安全可靠,使用持久,能防磁、防靜電等干擾;成本低、使用簡便。因此,IC卡的應(yīng)用領(lǐng)域日趨廣泛,它作為信息的載體在信息社會中起著越來越重要的作用。
1.1 IC卡的基本特征
在IC卡應(yīng)用系統(tǒng)中,使用較廣的是IC卡中的一種——邏輯加密存儲卡。這種卡具有如下性質(zhì):
(1)卡中設(shè)有口令(password)保護(hù);
(2)對卡上電后,必須通過口令校驗,才能夠?qū)ㄟM(jìn)行寫操作;
(3)只有通過口令校驗后,卡中口令才可以進(jìn)行讀取與修改;
(4)對卡中數(shù)據(jù)區(qū)的讀操作無需經(jīng)過口令校驗;
(5)卡中還設(shè)有口令校驗錯誤計數(shù),以免對口令進(jìn)行窮舉分析??诹钚r灈]出錯一次,錯誤計數(shù)減1,如果錯誤計數(shù)減為0,則卡被鎖死。但如果錯誤計數(shù)大于0時,一旦口令核對正確,錯誤計數(shù)將恢復(fù)初始值。
1.2 對IC卡的攻擊手段
對于IC卡的攻擊者,其最主要的目的是攝取卡中的信息,或者對卡進(jìn)行非法復(fù)制,或者篡改卡中的內(nèi)容,或者冒用他人的卡等,以達(dá)到破壞系統(tǒng)的目的。對IC進(jìn)行攻擊的有效途徑通常有以下兩種:
1.2.1 窮舉法
口令的窮舉攻擊是指通過對IC卡口令空間(口令的所有可能值的集合)進(jìn)行遍歷搜索來破獲口令。若攻擊者擁有IC卡應(yīng)用系統(tǒng)的使用許可權(quán)(可以讀寫IC卡),那么他就可以利用窮舉法破獲卡中的口令。
1.2.2 中途攔截
中途攔截是指在IC卡與應(yīng)用系統(tǒng)間的通信過程中截獲信息,利用IC卡在口令校驗后,對卡下電前可以獨處口令的性質(zhì)。攻擊者可以在IC卡上引線并接通讀寫器,趕在卡下電前讀出卡中口令。中途攔截法實施的條件是:攻擊者必須掌握IC卡應(yīng)用系統(tǒng),并掌握好對IC卡上電且口令校驗成功后直接對卡下電之前的時機(jī)。
由上可以看出,如果僅依賴IC卡中存放的口令進(jìn)行保密是不太安全的。因為通過IC卡中的口令長度是非常有限的,容易被窮舉法攻擊;對窮舉法攻擊比較困難時,也容易為中途攔截法攻擊。當(dāng)然有人提出過一些措施以抗擊中途攔截攻擊,但仍然不是非常安全可靠。所以,有必要加強對卡中數(shù)據(jù)的保密,使得即使口令保護(hù)失效時,攻擊者也很難獲取卡中信息。
2 基于DES的三重加密算法
IC卡應(yīng)用系統(tǒng)的特點要求:對卡中數(shù)據(jù)的加密/解密算法的安全性要高,加密/解密速度要快(因為讀寫卡中信息均需要進(jìn)行解密/加密操作)。于是,選用了三重DES加密算法,傳統(tǒng)的三重加密算法各分組明文之間互不影響。該文采用各分組明文間有一定影響的方法,對原算法進(jìn)行了改進(jìn),使得消息明文的影響范圍加大,加密強度得到提高。
2.1 傳統(tǒng)三重DES加密算法
DES是一個分組加密算法,它是1975年由IBM公司提出的,1977年美國國家標(biāo)準(zhǔn)局宣布DES可以用于非國家保密機(jī)構(gòu),這使得它成為目前應(yīng)用最廣泛的加密算法之一。
DES算法的密鑰長度為64位,但是其中有8位僅作為奇偶校驗,所以它實際是一個56位的加密算法。DES算法的優(yōu)勢在于它易于硬軟件實現(xiàn)、算法速度快、算法安全性高。但它的56位密鑰畢竟少了點。由于新的密碼分析方法的出現(xiàn),使它受到了威脅。因此在實際應(yīng)用中,加強它的加密強度是相當(dāng)必要的。
三重DES加密算法是DES算法的強化形式之一,它對每一個64位分組明文用3個密鑰進(jìn)行加密來提高算法的強度。
2.2 改進(jìn)的三重DES加密算法
在傳統(tǒng)三重加密強化算法中,只是對每一個分組明文(8個字節(jié))進(jìn)行了加密強化,整個明文消息的各分組在加密時相互獨立,互不影響,每一個分組密文只受該分組的8字節(jié)明文及三個密鑰的影響。因而,一個字節(jié)的明文發(fā)生變化,只引起對應(yīng)的8字節(jié)密文發(fā)生變化。它的影響力僅在8個字節(jié)范圍內(nèi)。若能夠使得各個消息明文分組之間相互影響,即狂打每個字節(jié)明文的影響力,那么三重加密算法的強度必定會增強。
基于這一考慮,設(shè)計了一個改進(jìn)的三重DES加密算法,算法描述如下所示。
算法的加密過程:

2.3 算法的安全性分析
傳統(tǒng)的DES算法,其安全性是經(jīng)過實踐檢驗的,至今還沒有對它進(jìn)行成功攻擊的案例。三重DES加密算法,由于采用了三個不同的密鑰,及時采用針對性的時間-存儲折衷的中間相遇攻擊方法,其時間復(fù)雜度也是非常高的,并且由于時間和存儲空間的限制,這種攻擊法只有理論意義,可以說三重加密是安全的。
該文提出的改進(jìn)三重DES算法,在三次DES分組加密之間各增加了一次分組換位變化T,這種變換打亂了分組結(jié)構(gòu),使得原有的明文的擴(kuò)散范圍變大,其擴(kuò)散范圍依賴于T的選擇。無論密碼分析者從明文開始,還是從密文開始,增加的換位變化T都將有效地阻止其分析。因此,這種加密算法可以有效地抵抗中間相遇攻擊和窮舉攻擊,其安全性足以讓人們放心。
另外,由于增加了兩次換位變換,所以算法的執(zhí)行速度會比傳統(tǒng)DES加密慢。但是只要T選取得當(dāng),且CPU速度不斷提高,這種影響幾乎可以忽略不計。




