密碼算法在智能卡上的應(yīng)用發(fā)展綜述
摘要:在過去的十年中,智能卡上的計(jì)算能力發(fā)展迅速,基于 公鑰的智能卡廣泛應(yīng)用于各個(gè)領(lǐng)域。2001年Borst總結(jié)了智 能卡上應(yīng)用的各種密碼算法以及關(guān)于這些算法的攻擊。
在過去的十年中,智能卡上的計(jì)算能力發(fā)展迅速,基于 公鑰的智能卡廣泛應(yīng)用于各個(gè)領(lǐng)域。2001年Borst總結(jié)了智 能卡上應(yīng)用的各種密碼算法以及關(guān)于這些算法的攻擊。從那以后,關(guān)于密碼算法的各種攻擊也越來越多,其中比較著名 的有對(duì)于MD5和SHA一1的攻擊以及其他對(duì)哈希函數(shù)的攻 擊。另外不太為人注意的還有,對(duì)于像A5/l(應(yīng)用于GSM 中) 和EO(應(yīng)用于藍(lán)牙中)這樣的流密碼分析技術(shù)也取得了不小 的進(jìn)步。在分組密碼方面,AES的采用一定程度上保證了安 全性。公鑰密碼方面,RSA的安全填充技術(shù)也成為一個(gè)研究 熱點(diǎn)。
1 消息認(rèn)證碼
消息認(rèn)證碼實(shí)際上是對(duì)消息本身產(chǎn)生的一個(gè)冗余的信 息,消息認(rèn)證碼是利用密鑰對(duì)要認(rèn)證的消息產(chǎn)生新的數(shù)據(jù)塊 并對(duì)數(shù)據(jù)塊加密生成的,它對(duì)于要保護(hù)的信息來說是一一對(duì) 應(yīng)的。因此消息認(rèn)證碼可以有效保證消息的完整性,以及實(shí)現(xiàn)發(fā)送方消息的不可抵賴和不可偽造。消息認(rèn)證碼的安全性主要取決于兩點(diǎn):首先,采用的加密算法,即所謂的數(shù)字簽名;其次,是待加密的數(shù)據(jù)塊的生成方法。
消息認(rèn)證碼不支持可逆性,是多對(duì)一的函數(shù),其定義域由任意長(zhǎng)的消息組成,而值域是由遠(yuǎn)小于消息長(zhǎng)度的比特串構(gòu)成。從理論上來說,一定存在不同的消息產(chǎn)生相同的認(rèn)證碼,因此必須找到一種足夠單向和強(qiáng)碰撞自由性的方法才是安全的。
而對(duì)于消息認(rèn)證碼的主要攻擊目標(biāo)也是找到一對(duì)或者多對(duì)碰撞消息。對(duì)于現(xiàn)有的攻擊方法,有些可以攻擊任意類型的哈希方案,有些只針對(duì)特定的哈希方案。自從2004年MD5算法被攻破以后,SHA也面臨被攻破的危險(xiǎn)。因此,尋找一種足夠安全的單向哈希函數(shù)已經(jīng)成為當(dāng)務(wù)之急,消息認(rèn)證碼的實(shí)現(xiàn)也會(huì)隨之改變。
2 分組密碼
分組密碼在密碼領(lǐng)域廣泛使用,除了本身的幾種工作模式之外,它可以用來構(gòu)建MAC,也可以用來構(gòu)建哈希函數(shù)、偽隨機(jī)函數(shù)等等。分組密碼具有速度快、易于標(biāo)準(zhǔn)化和便于軟硬件實(shí)現(xiàn)等特點(diǎn),通常是信息域網(wǎng)絡(luò)安全中實(shí)現(xiàn)數(shù)據(jù)加密、數(shù)字簽名、認(rèn)證及密鑰管理的核心體制,它在計(jì)算機(jī)通信和信息系統(tǒng)安全領(lǐng)域中有著最廣泛的應(yīng)用。
第一個(gè)廣泛使用的分組密碼算法是DES算法。DES自1977年公布后得到了許多組織、部門的使用,各國(guó)的密碼學(xué)工作者也對(duì)它進(jìn)行了深入的分析,它是迄今為止使用最廣泛和最成功的分組密碼。DES的輪函數(shù)采用Feistel網(wǎng)絡(luò),8個(gè)s盒,擴(kuò)充、壓縮置換、塊置換。其算法簡(jiǎn)潔、快速且加解密相似。但一個(gè)明顯的缺陷是s盒為黑盒,因此公眾長(zhǎng)久地抱怨并懷疑它設(shè)有陷門。早期的迭代分組密碼設(shè)計(jì)主要圍繞DES進(jìn)行,后來在此基礎(chǔ)上有很大的發(fā)展,出現(xiàn)了眾多的Feistel型密碼,DES的設(shè)計(jì)至今仍閃爍著人類設(shè)計(jì)思想的精華,其結(jié)構(gòu)和部件仍在被后人效仿。但是它的密鑰長(zhǎng)度太短,僅為56比特,已經(jīng)不能抵抗窮盡密鑰搜索攻擊。
對(duì)DES的成功破譯迫使人們重新設(shè)計(jì)密碼算法。IDEA是X.Lai和J.L.Massey于1990年發(fā)表的,當(dāng)時(shí)稱為PES,1992年改名為IDEA。IDEA是第一個(gè)不使用Feistel網(wǎng)絡(luò)的分組密碼。IDEA的安全性設(shè)計(jì)思想是:采用同一明文空間上的三個(gè)不同的群運(yùn)算,使隱蔽、混淆和擴(kuò)散融為一體。IDEA是分組密碼的杰出代表,開創(chuàng)了新的一類設(shè)計(jì)風(fēng)格。但是IDEA存在大量的弱密鑰,這與其密鑰拓展算法只是線性變換有關(guān),這點(diǎn)也表明需要對(duì)其密鑰拓展算法重新設(shè)計(jì)。此后出現(xiàn)的NEA也是一種IDEA型的密碼。
Rijndael是AES活動(dòng)的最終勝利者,現(xiàn)已替代DES成為美國(guó)新的加密標(biāo)準(zhǔn)。Rijndael輪函數(shù)的設(shè)計(jì)基于寬軌跡策略,這種設(shè)計(jì)策略是針對(duì)差分密碼分析和線性密碼分析制定的,主要包括兩個(gè)設(shè)計(jì)準(zhǔn)則:首先,選擇差分均勻性比較小和非線性度比較高的s盒;其次,適當(dāng)選擇線性變換,使得固定輪數(shù)巾的活動(dòng)S盒的個(gè)數(shù)盡可能多。如果差分特征(或線性逼近)中某一輪的活動(dòng)s盒的個(gè)數(shù)比較少,那么下一輪中的活動(dòng)s盒的個(gè)數(shù)就必須要多一些。寬軌跡策略的最大優(yōu)點(diǎn)是可以估計(jì)算法的最大差分特征概率和最大線性逼近概率,由此可以評(píng)估算法抵抗差分密碼分析和線性密碼分析的能力。繼美國(guó)征集AES的活動(dòng)之后,歐洲在2000年3月啟動(dòng)了NESS1E大計(jì)劃,目的是為了推出一系列的安全的密碼模塊,保持歐洲在密碼研究領(lǐng)域的領(lǐng)先地位并增強(qiáng)密碼在歐洲工業(yè)中的應(yīng)用 作為歐洲新一代的加密標(biāo)準(zhǔn),Camellia算法具有較強(qiáng)的安全性,能夠抵抗差分和線性密碼分析等已知的攻擊。與AES相比,Camellia算法在各種軟硬件平臺(tái)上表現(xiàn)出與之相當(dāng)?shù)募用芩俣?。除了在各種軟件和硬件平臺(tái)上的高效性這一顯著特點(diǎn)外,它的另外一個(gè)特點(diǎn)是針對(duì)小規(guī)模硬件平臺(tái)的設(shè)計(jì)。
評(píng)論