汪 亞 魏國珩
(海軍工程大學(xué)信息安全系 湖北 武漢 430033)
適用于RFID的輕量級(jí)密碼算法研究綜述
汪 亞 魏國珩
(海軍工程大學(xué)信息安全系 湖北 武漢 430033)
隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和普及,RFID等資源受限設(shè)備的安全性受到越來越多的重視,關(guān)于此類設(shè)備應(yīng)用的輕量級(jí)密碼算法成為近些年的研究熱點(diǎn)。針對(duì)適用于RFID設(shè)備的輕量級(jí)密碼算法在研究進(jìn)展、設(shè)計(jì)方法和安全性分析方面作了綜述。介紹了輕量級(jí)密碼設(shè)計(jì)中的常用方法和關(guān)鍵問題,對(duì)目前能夠應(yīng)用于RFID設(shè)備的典型輕量級(jí)算法進(jìn)行了歸納總結(jié),闡述了針對(duì)輕量級(jí)密碼常用的安全性分析方法,突出旁路攻擊對(duì)算法的威脅,并對(duì)一些算法的實(shí)現(xiàn)性能進(jìn)行了對(duì)比。最后進(jìn)一步闡明了當(dāng)前及今后輕量級(jí)密碼研究中要解決的問題及可能的研究方向。
RFID 輕量級(jí)密碼算法 安全性分析
隨著物聯(lián)網(wǎng)技術(shù)的推廣及RFID等微型計(jì)算設(shè)備應(yīng)用的普及,計(jì)算和信息交互已經(jīng)可以在更小、計(jì)算能力更有限的設(shè)備中進(jìn)行。在物聯(lián)網(wǎng)領(lǐng)域,無線射頻識(shí)別RFID技術(shù)被廣泛應(yīng)用到各個(gè)行業(yè),它所具有的成本低、效率高的特點(diǎn)使得RFID標(biāo)簽越來越受歡迎。這類設(shè)備的計(jì)算能力、存儲(chǔ)空間和能量來源都非常有限,信息交互也是在無線信道中進(jìn)行,因此,如何提高RFID在信息傳輸進(jìn)程中的安全性,成為日益重要的研究課題。
給信息加密是目前較為有效的保障信息安全性的方法。經(jīng)典的加密算法如AES、DES等加密強(qiáng)度高,算法安全性好,但是強(qiáng)度越高,算法實(shí)現(xiàn)起來就要消耗越多的資源,耗費(fèi)越多的時(shí)間。RFID標(biāo)簽不同于傳統(tǒng)的高性能計(jì)算機(jī)和臺(tái)式機(jī),它的存儲(chǔ)空間較小,計(jì)算能力和電量儲(chǔ)存能力也相對(duì)較弱,資源極端受限,顯然傳統(tǒng)復(fù)雜的加密算法對(duì)這種低功耗低成本的設(shè)備是不適用也是不必要的,因此輕量級(jí)密碼算法便應(yīng)運(yùn)而生,并受到人們?nèi)找鎻V泛的關(guān)注。輕量級(jí)密碼算法是為了適應(yīng)物聯(lián)網(wǎng)環(huán)境下,射頻識(shí)別標(biāo)簽、智能卡等設(shè)備資源相對(duì)受限的限制,而提出的一種功耗低、占用門數(shù)少的密碼算法[1]。與傳統(tǒng)的密碼算法相比,輕量級(jí)算法在計(jì)算時(shí)消耗更少的資源、擁有更高的效率,非常適用于RFID等計(jì)算能力有限的微型設(shè)備使用。近幾年來,隨著物聯(lián)網(wǎng)的安全問題日益嚴(yán)峻,輕量級(jí)密碼算法的研究取得豐碩成果,國際標(biāo)準(zhǔn)化組織也正在制定輕量級(jí)算法的相關(guān)標(biāo)準(zhǔn),包括輕量級(jí)的序列密碼算法、分組密碼算法和雜湊算法等。無論是序列密碼還是分組密碼,都屬于對(duì)稱密碼算法,對(duì)稱密碼和非對(duì)稱密碼最大的不同就是只有一個(gè)密鑰,輕量化實(shí)現(xiàn)起來比較容易。非對(duì)稱密碼加密時(shí)使用公鑰,解密時(shí)使用私鑰,增加了實(shí)現(xiàn)輕量化的難度,所以很少有非對(duì)稱的加密算法能夠?qū)崿F(xiàn)絕對(duì)的輕量化[2]。本文在參考大量文獻(xiàn)的基礎(chǔ)上歸納和總結(jié)了輕量級(jí)密碼算法的研究進(jìn)展,首先闡述輕量級(jí)密碼在設(shè)計(jì)與實(shí)現(xiàn)過程中使用的方法、遵循的原則以及要達(dá)到的目標(biāo);隨后介紹了一些典型的能夠用于RFID的輕量級(jí)密碼;其次總結(jié)了針對(duì)輕量級(jí)密碼算法的常用攻擊方法;接著在這些攻擊方法的基礎(chǔ)上總結(jié)針對(duì)典型輕量級(jí)算法常用的安全性分析方法;最后概括出輕量級(jí)密碼今后發(fā)展必須解決的問題和可能的發(fā)展方向。
很多非輕量級(jí)的密碼算法在設(shè)計(jì)時(shí)只考慮安全性,忽略了實(shí)現(xiàn)起來所消耗的資源,導(dǎo)致這些算法無法在資源受限的設(shè)備中使用。與其它資源受限設(shè)備相比,RFID標(biāo)簽有其自身特點(diǎn),輕量級(jí)密碼算法在標(biāo)簽中的應(yīng)用場(chǎng)合也有所不同,首先從硬件上來看,通常RFID標(biāo)簽有1000到10 000 GE(等效門,也稱等價(jià)門,表示為完成一個(gè)電路功能而與制造技術(shù)相互獨(dú)立的邏輯門數(shù)量),但可用于實(shí)現(xiàn)安全性的組件只有200到2000 GE。在標(biāo)簽使用過程中,讀寫器向外發(fā)送信號(hào),大部分標(biāo)簽都是從信號(hào)產(chǎn)生的磁場(chǎng)中獲取能量進(jìn)行激活,因此標(biāo)簽是低功耗的,同時(shí),標(biāo)簽與讀寫器之間的通信是在無線信道中進(jìn)行的,這種方式很容易被竊聽和干擾,最終導(dǎo)致用戶無法接收到正確信息或非法用戶對(duì)標(biāo)簽進(jìn)行偽造,從而達(dá)到欺騙用戶的目的。因此,針對(duì)以上特點(diǎn)和應(yīng)用場(chǎng)景,RFID標(biāo)簽對(duì)輕量級(jí)密碼算法有其自身的不同需求。近年來,針對(duì)RFID這類設(shè)備的特點(diǎn),相關(guān)人員做了很多工作來實(shí)現(xiàn)算法的輕量化。主要有以下兩種方法。
通過減少加密過程中的輪數(shù)來減少算法實(shí)現(xiàn)起來的能量消耗。這種方法主要針對(duì)分組加密算法,本質(zhì)上,分組密碼是一種帶有密鑰的有限輪置換,它的安全性體現(xiàn)在對(duì)明文的反復(fù)代換上,每一次代換稱為一輪,因此減少加密的輪數(shù)便可實(shí)現(xiàn)算法的輕量化。其次,通過減少密鑰的長度可以降低實(shí)現(xiàn)起來的復(fù)雜度。在對(duì)稱密碼算法中,加密強(qiáng)度的高低往往由密鑰的長度決定,針對(duì)某些算法適當(dāng)減少密鑰長度可實(shí)現(xiàn)算法的輕量化。
目前的輕量級(jí)密碼算法在設(shè)計(jì)時(shí)針對(duì)不同的應(yīng)用平臺(tái),有主要面向硬件實(shí)現(xiàn)的、主要面向軟件實(shí)現(xiàn)的和綜合考慮軟硬件的混合設(shè)計(jì)。面向RFID的輕量級(jí)密碼算法設(shè)計(jì)大部分都是結(jié)合軟硬件二者的優(yōu)點(diǎn)的混合設(shè)計(jì),在設(shè)計(jì)過程中主要有三個(gè)指標(biāo)需要考慮:安全、成本和效率[3],側(cè)重點(diǎn)越不同,算法實(shí)現(xiàn)起來的差異就越明顯,它們?nèi)叩恼壑嘘P(guān)系如圖1所示。
圖1 安全、成本和效率的折中關(guān)系
由圖1中可以看出,安全、成本和效率中任意兩者的平衡都受到一個(gè)因素制約,代換的輪數(shù)會(huì)影響安全和效率之間的平衡,密鑰的長度會(huì)影響安全和成本之間的平衡,算法的結(jié)構(gòu)則會(huì)影響成本和效率之間的平衡。在設(shè)計(jì)輕量級(jí)的密碼算法時(shí),優(yōu)化其中的任意兩個(gè):安全和成本、成本和效率或安全和效率比較容易,因?yàn)橹恍枰紤]一個(gè)因素,但是如果要在三個(gè)目標(biāo)之間找到一個(gè)平衡點(diǎn)則存在一定的難度。因此,在設(shè)計(jì)輕量級(jí)的密碼算法時(shí),要結(jié)合它的應(yīng)用環(huán)境來滿足不同的需求,日常使用的大部分RFID標(biāo)簽都是低成本的、一次性的,例如電子門票這種應(yīng)用到RFID標(biāo)簽的只需要在某一時(shí)間段內(nèi)保證其安全性就可以。
依據(jù)當(dāng)前的應(yīng)用環(huán)境和研究趨勢(shì),輕量級(jí)密碼的研究主要集中在分組密碼、序列密碼和散列函數(shù)這三種算法上,但也有少部分的非對(duì)稱加密算法經(jīng)過驗(yàn)證實(shí)現(xiàn)了輕量化。
2.1 分組密碼
輕量級(jí)分組密碼是研究最早也是很有研究價(jià)值的輕量級(jí)密碼算法,因?yàn)樗哂袃蓚€(gè)典型的安全結(jié)構(gòu):Feistel結(jié)構(gòu)和SP網(wǎng)絡(luò)結(jié)構(gòu),使用Feistel結(jié)構(gòu)的算法在加密和解密過程中的結(jié)構(gòu)相同,SP網(wǎng)絡(luò)結(jié)構(gòu)有兩層,“S”稱作混淆層,“P”稱作擴(kuò)散層,SP結(jié)構(gòu)與Feistel結(jié)構(gòu)相比,最大的優(yōu)點(diǎn)是密碼擴(kuò)散快。輕量級(jí)分組密碼無論在實(shí)現(xiàn)效率還是在運(yùn)行功耗上都比傳統(tǒng)的AES等高強(qiáng)度加密算法具備明顯優(yōu)勢(shì),非常適合RFID等物聯(lián)網(wǎng)微型設(shè)備使用。這些輕量級(jí)分組密碼有的是在傳統(tǒng)的分組密碼如AES等基礎(chǔ)上的簡(jiǎn)化,有的是對(duì)算法實(shí)現(xiàn)組件的改進(jìn),如DESL[4]就是用一個(gè)全新的S盒替換掉DES中原來的8個(gè)S盒,從而大大減少了實(shí)現(xiàn)安全組件的等效門數(shù),此外還有其他新設(shè)計(jì)的輕量級(jí)分組密碼算法,這些算法主要有三種結(jié)構(gòu):Feistel網(wǎng)絡(luò)結(jié)構(gòu)、SP結(jié)構(gòu)和其他結(jié)構(gòu)。有些算法在硬件實(shí)現(xiàn)需求上超過了2000 GE,無法應(yīng)用到RFID標(biāo)簽中,一些典型的符合RFID標(biāo)簽實(shí)現(xiàn)需求的算法包括:SEA[5]、PRESENT[6]、KATAN/KTANTAN[7]、mCrypton[8]、MIBS[9]、LED[10]、LBlock[11]、KLEIN[12]等等。下面從三種結(jié)構(gòu)中各選取一個(gè)有代表性的算法進(jìn)行介紹。
SEA算法采用Feistel網(wǎng)絡(luò)結(jié)構(gòu),明文和密文長度相同,均為128 bit,有三種密鑰長度可供選擇,分別為128 bit、192 bit和256 bit,與之對(duì)應(yīng)的加密輪數(shù)為6、9和12。該算法全部使用基于字節(jié)的運(yùn)算,并且僅有異或和加兩種運(yùn)算,占用的存儲(chǔ)量很低,特別適合在智能卡上運(yùn)用。
PRESENT算法是由Bogdanov等人[6]在CHES 2007國際會(huì)議上提出的輕量級(jí)密碼算法,該算法的設(shè)計(jì)思路借鑒了DES算法,但實(shí)現(xiàn)起來有很大的差別,DES算法采用的是FEISTEL結(jié)構(gòu),而PRESENT的輪函數(shù)采用SP結(jié)構(gòu),明文共經(jīng)過31輪迭代,密鑰長度為80 bit的稱為PRESENT-80,密鑰長度為128 bit的稱為PRESENT-128。與其他輕量級(jí)算法相比,PRESENT算法無論在軟件還是硬件方面實(shí)現(xiàn)效率都很高,是典型的超輕量級(jí)加密算法,它的提出在輕量級(jí)密碼的設(shè)計(jì)史上具有里程碑的意義。
KATAN/KTANTAN算法采用其它結(jié)構(gòu),是Cannière等人[7]在2009年提出的適用于硬件實(shí)現(xiàn)的輕量級(jí)密碼族,該密碼族包括兩組,密鑰長度均為80 bit,第一組KATAN包含三個(gè)分組長度分別為32 bit、48 bit和64 bit的密碼算法,第二組KTANTAN包含另外三個(gè)密碼算法,并且和第一組有相同的分組長度,但有更好的硬件特性。該密碼簇在設(shè)計(jì)思想上借鑒了序列密碼,即使用移位寄存器來構(gòu)造基礎(chǔ)組件。KATAN/KTANTAN實(shí)現(xiàn)起來最多需要1054個(gè)等效門,是專門為RFID標(biāo)簽等資源受限環(huán)境設(shè)計(jì)的輕量級(jí)密碼算法。
2.2 序列密碼
由于不像分組密碼那樣具備典型的安全結(jié)構(gòu),用線性反饋移位寄存器來構(gòu)造安全組件很困難,所以針對(duì)序列密碼的輕量化研究技術(shù)還不是很成熟。隨著eSTREAM計(jì)劃的啟動(dòng),序列密碼軟硬件簡(jiǎn)單、實(shí)現(xiàn)效率高的特點(diǎn)逐步受到重視,一些輕量級(jí)的序列密碼被人們提出。在eSTREAM計(jì)劃最終入選的算法中,實(shí)現(xiàn)所需的安全組件在2000 GE以內(nèi),能夠滿足RFID應(yīng)用場(chǎng)景的算法有以下兩類:
適用于軟件實(shí)現(xiàn)的輕量級(jí)序列密碼有:HC-128[13],它是HC-256算法的簡(jiǎn)化版,由初始化算法和密鑰流算法構(gòu)成,它的密鑰和初始化向量都為128 bit,運(yùn)行速度比HC-256慢,但HC-128的安全性能較高,至今還沒有對(duì)其有效的分析方法。SOSEMANUK[14]由Berbain等人提出,它的設(shè)計(jì)結(jié)合了流密碼SNOW2.0和分組密碼SERPENT的優(yōu)點(diǎn),密鑰長度介于128 bit和256 bit間,SOSEMANUK算法最大的特點(diǎn)就是不僅繼承了其它算法的優(yōu)點(diǎn),還在結(jié)構(gòu)上進(jìn)行了改進(jìn),在一定程度上降低了威脅發(fā)生的概率,達(dá)到了輕量級(jí)密碼對(duì)安全性和實(shí)現(xiàn)效率的要求。Rabbit[15]由Boesgaard等人提出,包含移位、異或、模232加、級(jí)聯(lián)等操作,簡(jiǎn)單有效,既有利于軟件實(shí)現(xiàn),也有利于硬件實(shí)現(xiàn)。Salsa20[16]在軟件組中被認(rèn)為是最適合RFID等受限設(shè)備的輕量化算法,它是由Daniel J.Bernstein提出的基于512 bit輸入,512 bit輸出的hash函數(shù)的密碼算法,密鑰長度為256 bit和128 bit,算法操作簡(jiǎn)單,易于實(shí)現(xiàn)。
適用于硬件實(shí)現(xiàn)的輕量級(jí)序列密碼有:Grain[17],它由Hell等人設(shè)計(jì),算法分為密鑰流產(chǎn)生和初始化兩個(gè)過程,密鑰長度為80 bit,還有改進(jìn)版本的Grain-128,密鑰長度為128 bit,比較適合在RFID等資源受限平臺(tái)下使用。Trivium[18]算法雖然結(jié)構(gòu)簡(jiǎn)單,安全性較高,但硬件實(shí)現(xiàn)需要2600 GE,不適用于常用的RFID標(biāo)簽。
此外,還有專門為RFID標(biāo)簽設(shè)計(jì)的WG-7[19]算法和A2U2[20]算法。WG-7算法的密鑰長度為80 bit,初始向量為81 bit,都是為RFID而專門進(jìn)行的參數(shù)化設(shè)計(jì)。文獻(xiàn)[19]經(jīng)過嚴(yán)格的安全性分析證明WG-7算法能夠有效抵御差分攻擊、代數(shù)攻擊、相關(guān)攻擊等攻擊方法,是能夠滿足RFID標(biāo)簽實(shí)現(xiàn)需求并非常有應(yīng)用前景的一種算法。A2U2是一種專用輕量級(jí)序列密碼,它結(jié)合了序列密碼的設(shè)計(jì)原則和分組密碼的設(shè)計(jì)方法,并且充分考慮資源受限設(shè)備的特點(diǎn),硬件實(shí)現(xiàn)代價(jià)很低,最多僅需300 GE[20],是目前最輕量級(jí)的序列密碼。
2.3 雜湊函數(shù)
雜湊函數(shù)也稱hash函數(shù),它是一種只能用于正向計(jì)算的單向函數(shù),想要通過逆向運(yùn)算計(jì)算輸入?yún)?shù)非常困難,雜湊函數(shù)被廣泛應(yīng)用于RFID認(rèn)證協(xié)議中,自從PRESENT算法被提出后,很多基于PRESENT的輕量級(jí)hash函數(shù)被提出,但是大部分算法實(shí)現(xiàn)所需的組件數(shù)量都超過了2000 GE,例如文獻(xiàn)[21]提到的一系列算法中,C-PRESENT-192算法實(shí)現(xiàn)所需的等效門數(shù)為4600 GE,H-PRESENT-128需要2330 GE,只有DM-PRESENT-80算法實(shí)現(xiàn)需要1600 GE,能夠滿足RFID的應(yīng)用要求。此外,還有一些采用sponge[22]結(jié)構(gòu)設(shè)計(jì)的算法,能夠用于RFID的算法有:QUARK[23]、PHOTON[24]和SPONGENT[25],其中SPONGENT是目前最輕量級(jí)也是最有研究價(jià)值的hash函數(shù)族,它在CHES 2011會(huì)議上被提出,根據(jù)輸出的哈希值長度分為SPONGENT-88/128/160/224/256五種函數(shù),實(shí)現(xiàn)起來所需的安全組件也都在2000 GE以內(nèi),符合RFID標(biāo)簽的應(yīng)用需求。SPONGENT-88實(shí)現(xiàn)起來需要738 GE,適用于RFID等資源受限和安全性要求較低的環(huán)境中。SPONGENT-128和SPONGENT-160的實(shí)現(xiàn)分別占用1060 GE和1329 GE,它們能夠適應(yīng)資源更加受限的環(huán)境。所以SPONGENT算法在所有的輕量級(jí)雜湊函數(shù)中非常有競(jìng)爭(zhēng)力。
2.4 非對(duì)稱密碼
非對(duì)稱密碼在加解密時(shí)使用的密鑰不同,像RSA、ECC等公鑰密碼體制,實(shí)現(xiàn)起來就已經(jīng)相當(dāng)復(fù)雜了。這種固有的復(fù)雜性使得非對(duì)稱密碼在實(shí)現(xiàn)絕對(duì)輕量化時(shí)存在一定的困難,同時(shí),復(fù)雜性也說明在安全性方法有一定的優(yōu)勢(shì),所以對(duì)非對(duì)稱密碼進(jìn)行輕量化的研究也有一定的必要性。雖然有的算法實(shí)現(xiàn)了輕量化,但由于安全組件數(shù)量的限制,能夠滿足RFID設(shè)備硬件實(shí)現(xiàn)需求的很少。在文獻(xiàn)[26]中Saarinen提出了一種基于Rabin的混合公鑰加密體制BlueJay,它適用于微傳感器和RFID認(rèn)證標(biāo)簽等超輕量化平臺(tái)。BlueJay使用了隨機(jī)數(shù)乘法并結(jié)合了中國剩余定理,在保證相同的安全性前提下,BlueJay實(shí)現(xiàn)起來比傳統(tǒng)的非對(duì)稱密碼RSA和ECC效率更高,更輕量化。
輕量級(jí)密碼主要用于低成本和資源受限的設(shè)備中,這些設(shè)備在日常生活中使用非常廣泛,一旦被攻破,會(huì)造成巨大損失。輕量級(jí)密碼算法在設(shè)計(jì)時(shí)既要保證安全性又要注重實(shí)現(xiàn)效率,然而這兩者卻相互制約,當(dāng)提高算法的執(zhí)行效率時(shí),安全性就會(huì)在一定程度上受到影響。所以,對(duì)輕量級(jí)密碼算法的安全性進(jìn)行分析和研究非常有必要。密碼分析就是利用算法設(shè)計(jì)的弱點(diǎn)對(duì)算法進(jìn)行破譯,在對(duì)輕量級(jí)密碼進(jìn)行分析時(shí)主要有兩種方法:一種是根據(jù)算法本身的代數(shù)結(jié)構(gòu)進(jìn)行分析,另一種是繞過對(duì)算法本身結(jié)構(gòu)的分析,利用算法實(shí)現(xiàn)過程中所泄露的信息,如功耗、故障和電磁輻射等對(duì)密碼進(jìn)行破解,也就是旁路攻擊。
目前,已經(jīng)有很多人對(duì)輕量級(jí)密碼算法進(jìn)行了安全性分析,針對(duì)不同的密碼類型有不同的分析方法。針對(duì)分組密碼的分析方法有:線性分析[27]、差分分析[28]和強(qiáng)力攻擊[29]等。其中線性分析和差分分析經(jīng)過多年的發(fā)展,已經(jīng)有很多不同的方法推廣,例如不可能差分分析、高階差分分析、多重線性分析和劃分密碼分析等。針對(duì)序列密碼的分析方法有:代數(shù)攻擊、線性區(qū)分攻擊、相關(guān)攻擊等[30],其中利用代數(shù)攻擊對(duì)序列密碼的安全性進(jìn)行分析效果最好,研究表明序列密碼最常遭受也是代數(shù)攻擊[31]。針對(duì)hash函數(shù)的分析方法有[32]:碰撞攻擊、原像攻擊、第二原像攻擊和差分分析等,其中差分分析是最有效的分析方法也是密碼安全性判別的主要依據(jù)。
在對(duì)典型的輕量級(jí)密碼進(jìn)行安全性分析的過程中,旁路攻擊對(duì)算法的安全造成了很大的威脅,因?yàn)樵O(shè)備在算法執(zhí)行的過程中,都會(huì)不可避免地泄漏功耗、電磁輻射等信息。在文獻(xiàn)[33]中Zhang等人使用選擇明文功耗攻擊對(duì)KATAN32算法進(jìn)行分析,結(jié)果表明只需要統(tǒng)計(jì)160條功耗波形和160個(gè)固定明文就可以成功破解算法,說明該算法不能抵御功耗攻擊。在文獻(xiàn)[34]中Bogdanov等人針對(duì)KTANTAN算法提出一種中間相遇的攻擊方法。在文獻(xiàn)[35]中楊林等人提出一種針對(duì)MIBS算法的約減輪的差分分析方法。在文獻(xiàn)[36]中薛紅等人指出LBlock算法在實(shí)現(xiàn)過程中容易受到代數(shù)旁路攻擊。文獻(xiàn)[37]證明使用一種改進(jìn)的代數(shù)故障攻擊方法可以對(duì)LED和MIBS算法進(jìn)行有效分析。文獻(xiàn)[38]針對(duì)LED算法進(jìn)行了代數(shù)差分故障攻擊,證明僅用一次的故障注入就可以在短時(shí)間內(nèi)破解密碼,恢復(fù)出正確的密鑰。PRESENT是最具代表性的密碼算法,它能在很大程度上抵御線性分析和差分分析,很多學(xué)者都對(duì)其進(jìn)行了安全性分析。在文獻(xiàn)[39]中Collard等人對(duì)PRESENT算法進(jìn)行飽和攻擊,利用已知的235.6對(duì)明密文對(duì)可以對(duì)15輪的PRESENT進(jìn)行破解,但是無法破解31輪的PRESENT。在文獻(xiàn)[40]中葛十景等人經(jīng)過數(shù)小時(shí)的實(shí)驗(yàn),利用代數(shù)分析方法可以破解6輪的PRESENT,但是也無法破解31輪的PRESENT。文獻(xiàn)[41]利用S盒和P盒的相關(guān)性質(zhì),總結(jié)出約減輪PRESENT的5到15輪的差分特征。此外,還有很多針對(duì)PRESENT的分析方法,如文獻(xiàn)[42]提到的側(cè)信道立方攻擊方法,文獻(xiàn)[43]提到的結(jié)合Linear hull的弱密鑰攻擊方法等。現(xiàn)代密碼算法在設(shè)計(jì)時(shí)已經(jīng)能夠充分考慮到各種可能存在的攻擊方法,所以在對(duì)密碼算法進(jìn)行分析時(shí),只單純地使用一種方法很難找到算法的弱點(diǎn),要想得到良好的攻擊效果,必須將各種有效的分析方法結(jié)合起來。
在對(duì)輕量級(jí)密碼進(jìn)行分析時(shí),算法的實(shí)現(xiàn)性能也是一個(gè)不容忽視的重要因素,雖然都是輕量級(jí)算法,各算法在實(shí)現(xiàn)起來的性能表現(xiàn)有很大不同,尤其是針對(duì)軟件和硬件實(shí)現(xiàn)所需消耗的資源參數(shù)不同,有的算法適合在硬件上實(shí)現(xiàn),有的適合在軟件上實(shí)現(xiàn),在硬件實(shí)現(xiàn)上主要體現(xiàn)在占用的面積,即等效門數(shù),在軟件實(shí)現(xiàn)上主要體現(xiàn)在占用RAM和ROM的內(nèi)存量上。近幾年針對(duì)算法在fpga硬件平臺(tái)上的實(shí)現(xiàn)方法和優(yōu)化研究較多,文獻(xiàn)[44]中鄒祎等人針對(duì)LBlock算法的硬件實(shí)現(xiàn)和優(yōu)化進(jìn)行了研究,并提出了一種可以有效減少算法實(shí)現(xiàn)面積的優(yōu)化方法。文獻(xiàn)[45]中徐遠(yuǎn)澤等人通過設(shè)計(jì)硬件結(jié)構(gòu),對(duì)LBlock和PRESENT-128算法在FPGA平臺(tái)上的實(shí)現(xiàn)進(jìn)行了比較研究,得出兩種算法的各自優(yōu)缺點(diǎn)。文獻(xiàn)[46]中劉波濤等人通過在FPGA平臺(tái)上實(shí)現(xiàn)的方式,設(shè)計(jì)了一種LED與PRESENT算法的重構(gòu)實(shí)現(xiàn)方法,該方法在保證加密速度的前提下,使實(shí)現(xiàn)面積縮小了一倍。文獻(xiàn)[47]中李浪等人設(shè)計(jì)了一種針對(duì)Piccolo算法的硬件優(yōu)化方法,既提高了加密效率又降低了實(shí)現(xiàn)面積。表1針對(duì)部分適用于RFID的輕量級(jí)密碼算法所適合的實(shí)現(xiàn)平臺(tái),歸納了算法實(shí)現(xiàn)所消耗的資源參數(shù)。
表1 各算法實(shí)現(xiàn)性能比較
相對(duì)于傳統(tǒng)密碼算法,輕量級(jí)密碼算法的研究開始較晚,在安全性、成本和效率等方面都存在很多需要深入研究的問題:
(1) 大部分的研究集中在對(duì)密碼算法的攻擊上,而對(duì)如何增強(qiáng)輕量級(jí)算法的防御性能的研究卻比較少,研究表明很多算法都存在針對(duì)旁路攻擊的脆弱性,如何提高算法抗旁路攻擊的能力需要算法設(shè)計(jì)者著重考慮。
(2) 與輕量級(jí)分組密碼相比,序列密碼缺少相應(yīng)的安全結(jié)構(gòu),用線性反饋移位寄存器構(gòu)建安全組件目前還存在很多困難,如何充分利用序列密碼加解密效率高、結(jié)構(gòu)簡(jiǎn)單的特點(diǎn)設(shè)計(jì)出成本更低、更適用的輕量級(jí)密碼仍是當(dāng)前的研究熱點(diǎn)。
(3) 針對(duì)非對(duì)稱密碼算法固有的復(fù)雜性,實(shí)現(xiàn)其絕對(duì)的輕量化還存在一定的困難。
(4) 目前已設(shè)計(jì)出大量的輕量級(jí)密碼算法,由于實(shí)現(xiàn)平臺(tái)的標(biāo)準(zhǔn)不同,參數(shù)不一,很難確立通用評(píng)價(jià)指標(biāo),例如針對(duì)RFID標(biāo)簽此類設(shè)備的特點(diǎn)及應(yīng)用場(chǎng)合,缺少一套完整的密碼算法評(píng)價(jià)體系。
隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,輕量級(jí)密碼算法的研究和應(yīng)用已成為RFID等資源受限設(shè)備的必然選擇,很多算法在設(shè)計(jì)時(shí)的側(cè)重點(diǎn)不同,實(shí)現(xiàn)起來在安全、成本和效率各方面的表現(xiàn)也存在很大的差異,能夠真正應(yīng)用到資源受限設(shè)備的算法還很少。同時(shí),不同的設(shè)備對(duì)算法的需求不同,以RFID標(biāo)簽為例,大部分都應(yīng)用在像電子門票這種成本很低的環(huán)境中,對(duì)安全性的要求不是很高,更注重的是減少算法實(shí)現(xiàn)起來資源的消耗。
因此,設(shè)計(jì)針對(duì)不同應(yīng)用平臺(tái)的輕量級(jí)算法,完善指標(biāo)評(píng)價(jià)體系將會(huì)成為研究的熱點(diǎn)。針對(duì)以上問題的研究和探討,將有利于輕量級(jí)密碼算法在RFID等資源受限設(shè)備中得到更廣泛的應(yīng)用。
[33] Zhang L, Gu D, Guo Z, et al. Correlation power analysis and implementation on KATAN32 cipher[J]. Journal of Computer Applications, 2011, 31(2): 504-506,510.
[34] Bogdanov A, Rechberger C. A 3-subset Meet-in-the-middle Attack: Cryptanalysis of the Lightweight Block Cipher KTANTAN[C]//Proceedings of the 17th International Conference on Selected Areas in Cryptography, 2011: 229-240.
[35] 楊林,王美琴. 約減輪的 MIBS算法的差分分析[J]. 山東大學(xué)學(xué)報(bào)(理學(xué)版),2010,45(4):12-15,20.
[36] 薛紅,趙新杰,王小娟. LBlock分組密碼代數(shù)旁路攻擊[J]. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,41(6): 55-60.
[37] Zhang F, Zhao X, Guo S, et al. Improved algebraic fault analysis: a case study on Piccolo and applications to other lightweight block ciphers[EB/OL]. [2014-03-05]. http://www.engr.uconn.edu/~zshi/publications/zhang13_improved_afa.pdf.
[38] Jovanovic P, Kreuzer M, Polian I. An algebraic fault attack on the LED block cipher[EB/OL]. [2014-03-06]. http://eprint.iacr.org/2012/400.pdf.
[39] Collard B, Standaert F X. A statistical saturation attack against the block cipher PRESENT[C]//Proceedings of the Cryptographers’ Track at the RSA Conference on Topics in Cryptology, 2009: 195-210.
[40] 葛十景,谷大武,劉志強(qiáng),等. 針對(duì)PRESENT分組密碼算法的代數(shù)分析[J]. 計(jì)算機(jī)應(yīng)用研究,2011,28(5): 1889-1893.
[41] Wang M. Differential Cryptanalysis of Reduced-round PRESENT[C]//Proceedings of the Cryptology in Africa 1st International Conference on Progress in Cryptology, 2008: 40-49.
[42] Yang L, Wang M, Qiao S. Side Channel Cube Attack on PRESENT[C]//Proceedings of the 8th International Conference on Cryptology and Network Security, 2009: 379-391.
[43] Nakahara J, Sepehrdad P, Zhang B, et al. Linear (hull) and Algebraic Cryptanalysis of The Block Cipher PRESENT[C]//Proceedings of the 8th International Conference on Cryptology and Network Security, 2009: 58-75.
[44] 鄒祎,李浪,賀位位,等. 輕量級(jí)密碼算法LBlock的FPGA優(yōu)化實(shí)現(xiàn)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(7): 240-243.
[45] 徐遠(yuǎn)澤,張文科. RFID加密算法的FPGA實(shí)現(xiàn)研究[J]. 信息安全與通信保密,2015(2): 84-88,91.
[46] 劉波濤,李浪,賀位位,等. 一種LED與PRESENT密碼算法重構(gòu)實(shí)現(xiàn)研究[J]. 衡陽師范學(xué)院學(xué)報(bào),2015,36(3): 156-161.
[47] 李浪,劉波濤,余孝忠,等. 一種Piccolo加密算法硬件優(yōu)化實(shí)現(xiàn)研究[J]. 計(jì)算機(jī)應(yīng)用研究,2015,32(10): 3056-3059.
A RESEARCH SUMMARY ON LIGHTWEIGHT CRYPTOGRAPHIC ALGORITHMS FOR RFID
Wang Ya Wei Guoheng
(DepartmentofInformationSecurity,NavalUniversityofEngineering,Wuhan430033,Hubei,China)
With the rapid development and popularization of the Internet of things technology, the security of RFID and other resource constrained devices is becoming more and more important, research on the lightweight cryptographic algorithms which applied in this kind of device has become a hot research in recent years.The research progress, design methods and security analysis of the lightweight cryptographic algorithms for RFID devices are summarized.Firstly, the common methods and key issues in the design of lightweight cryptography are introduced andthe typical lightweight algorithms which can be applied in RFID devices are summarized. Besides, not only the security analysis method for lightweight password is introduced, but also the threat of side channel attacks is highlighted. Then the realizing performance of some algorithms are compared. Finally, the problems and possible research directions of the current and future lightweight cryptography research are further clarified.
RFID Lightweight cryptographic algorithm Security analysis
2015-10-16。汪亞,碩士生,主研領(lǐng)域:網(wǎng)絡(luò)安全。魏國珩,副教授。
TP309
A
10.3969/j.issn.1000-386x.2017.01.002