基于DES算法的RFID安全系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:作為一種非接觸式的自動(dòng)識(shí)別技術(shù),射頻識(shí)別(RFID)技術(shù)在社會(huì)生活中起到越來(lái)越重要的作用,但是安全隱患的存在制約了RFID的廣泛應(yīng)用。分析了現(xiàn)有的RFID安全機(jī)制,在EPCglobal UHF協(xié)議規(guī)定的基礎(chǔ)上,提出了針對(duì)標(biāo)簽和閱讀器之間安全通訊的模型,并且對(duì)原有的DES加密算法進(jìn)行改進(jìn),降低了標(biāo)簽電路的尺寸,同時(shí)也提高了RFID讀寫(xiě)系統(tǒng)的安全性。
關(guān)鍵詞:RFID;DES;EPC;安全性
射頻識(shí)別(Radio Frequency Identification,RFID)技術(shù)是20世紀(jì)90年代興起的一項(xiàng)非接觸式的自動(dòng)識(shí)別技術(shù),已經(jīng)廣泛應(yīng)用于工業(yè)生產(chǎn)和日常生活的各個(gè)方面,如商品和證件的防偽、供應(yīng)鏈管理、圖書(shū)管理、航空包裹管理和門(mén)禁等。由于缺乏可靠的信息安全機(jī)制,RFID系統(tǒng)無(wú)法有效地保護(hù)射頻標(biāo)簽中的數(shù)據(jù)信息。如果標(biāo)簽中的信息被竊取,甚至被惡意篡改,將可能帶來(lái)無(wú)法估量的損失。另外,不具有可靠的信息安全機(jī)制的射頻標(biāo)簽,還存在易向鄰近的讀寫(xiě)器泄漏敏感信息、易被干擾和易被跟蹤等安全隱患。如果RFID的安全性不能得到充分保證,RFID系統(tǒng)中的個(gè)人信息、商業(yè)機(jī)密和工業(yè)機(jī)密,都有可能被不法分子盜竊和利用。目前,RFID的安全性已成為制約RFID廣泛應(yīng)用的重要因素之一。
1 RFID系統(tǒng)構(gòu)成及協(xié)議分析
1.1 RIFD系統(tǒng)構(gòu)成
RFID系統(tǒng)一般由電子標(biāo)簽(Tag)、讀寫(xiě)器(Read—er)和后端數(shù)據(jù)庫(kù)(Database)三部分組成,如圖l所示。電子標(biāo)簽是物品識(shí)別的載體,它由天線、射頻電路、存儲(chǔ)器以及數(shù)字電路組成。電子標(biāo)簽與傳統(tǒng)的條碼技術(shù)相比最大的優(yōu)點(diǎn)是可以對(duì)其中的數(shù)據(jù)進(jìn)行反復(fù)擦寫(xiě),從而可以實(shí)現(xiàn)重復(fù)利用。讀寫(xiě)器是一個(gè)帶有天線的無(wú)線發(fā)射與接收設(shè)備,用于讀取標(biāo)簽中攜帶的信息并且對(duì)標(biāo)簽寫(xiě)入數(shù)據(jù)。后端數(shù)據(jù)庫(kù)中保存了標(biāo)簽與讀寫(xiě)器的所有信息,通過(guò)與讀寫(xiě)器的相互通信實(shí)現(xiàn)對(duì)整個(gè)RFID系統(tǒng)運(yùn)作的管理。
標(biāo)簽與讀寫(xiě)器之間的工作頻率分為低頻、中高頻、超高頻等,現(xiàn)有的電子標(biāo)簽大多工作在13.56 MHz,而工作在超高頻(UHF)915 MHz的標(biāo)簽傳輸距離更長(zhǎng)。依據(jù)其能量來(lái)源,標(biāo)簽可以分為有源和無(wú)源兩類(lèi),前者內(nèi)置電池;后者的能量則是來(lái)自于讀寫(xiě)器,其工作原理是當(dāng)標(biāo)簽進(jìn)入讀寫(xiě)器的磁場(chǎng)后由天線獲得感應(yīng)電流轉(zhuǎn)換為芯片的電源,從而完成信息的發(fā)送接收和數(shù)據(jù)的處理。因此915 MHz無(wú)源電子標(biāo)簽成本低廉,使用壽命長(zhǎng),傳輸距離遠(yuǎn),具有更好的應(yīng)用前景。
1.2 EPCglobal協(xié)議安全性分析
目前尚未有全球統(tǒng)一的RFID規(guī)范,主要有ISO18000系列標(biāo)準(zhǔn),歐美的EPC規(guī)范和日本的UID規(guī)范等。在EPCglobal Class一1 Generation一2協(xié)議中,讀寫(xiě)器采用選擇(Select)、盤(pán)存(Inventory)、訪問(wèn)(Access)三個(gè)基本操作管理標(biāo)簽群,同時(shí)標(biāo)簽根據(jù)閱讀器的操作有就緒(Ready)、仲裁(Arbitrate)、應(yīng)答(Reply)、確認(rèn)(Acknowledge)、開(kāi)放(Open)、保護(hù)(Secured)、殺死(Ki11)七種狀態(tài),如圖2所示。
上電后標(biāo)簽處于就緒狀態(tài),接收到讀寫(xiě)器發(fā)出的請(qǐng)求時(shí)通過(guò)防碰撞算法選擇惟一的標(biāo)簽進(jìn)行訪問(wèn),并進(jìn)入仲裁狀態(tài);此時(shí)如果讀寫(xiě)器再次發(fā)起有效的命令請(qǐng)求,標(biāo)簽將會(huì)返回一個(gè)隨機(jī)數(shù)(RN),同時(shí)進(jìn)入應(yīng)答狀態(tài);讀寫(xiě)器將會(huì)發(fā)送包含有RN*的命令,標(biāo)簽比較接收到的RN*與自身的RN,如果相等則反向散射其存儲(chǔ)的PC、EPC等信息,進(jìn)入仲裁狀態(tài)。讀寫(xiě)器可以繼續(xù)向標(biāo)簽發(fā)送請(qǐng)求使之進(jìn)入開(kāi)放狀態(tài),通過(guò)Read,Write等命令對(duì)標(biāo)簽進(jìn)行讀寫(xiě),如果讀寫(xiě)器持有者擁有訪問(wèn)密碼還可以使標(biāo)簽進(jìn)入保護(hù)狀態(tài),或者通過(guò)殺死命令使標(biāo)簽進(jìn)入永久失效的狀態(tài)。
在EPC協(xié)議中存在著若干安全問(wèn)題,從標(biāo)簽中讀取的信息是以明文方式傳送,會(huì)輕易向周?chē)墓粽咝孤?biāo)簽中保存的信息。讀寫(xiě)器在對(duì)標(biāo)簽進(jìn)行寫(xiě)操作時(shí)會(huì)使用一個(gè)句柄RN與待寫(xiě)入的數(shù)據(jù)異或后傳送,這樣避免了明文傳輸,但是攻擊者可以很容易截獲作為命令句柄的RN,從而分析出要寫(xiě)入標(biāo)簽的信息,甚至冒充合法讀寫(xiě)器對(duì)標(biāo)簽的數(shù)據(jù)任意篡改。
2 RFID安全方案
根據(jù)系統(tǒng)結(jié)構(gòu)和協(xié)議分析,RFID系統(tǒng)的安全性應(yīng)從以下方面來(lái)改進(jìn):
(1)采用標(biāo)簽與讀寫(xiě)器相互認(rèn)證的機(jī)制,防止非法的讀寫(xiě)器獲取標(biāo)簽信息或篡改標(biāo)簽數(shù)據(jù),或者偽造的標(biāo)簽哄騙讀寫(xiě)器。
(2)避免通信過(guò)程中使用明文傳輸,由于RFID標(biāo)簽成本低、功耗小、資源少的限制,應(yīng)選取合適的加密算法。
(3)除了讀寫(xiě)器與標(biāo)簽之間的通信,后端數(shù)據(jù)庫(kù)的管理在RFID系統(tǒng)的安全中也起到了重要的作用,該部分受到攻擊會(huì)導(dǎo)致系統(tǒng)中大量標(biāo)簽的數(shù)據(jù)、密鑰等信息泄漏,造成無(wú)法估計(jì)的損失,所以應(yīng)加強(qiáng)數(shù)據(jù)庫(kù)管理。
2.1 相互認(rèn)證
RFID安全機(jī)制研究多是基于密碼技術(shù)的研究,目前已經(jīng)提出了多種安全協(xié)議,例如Hash—Lock協(xié)議、隨機(jī)化Hash—Lock協(xié)議、分布式RFID詢(xún)問(wèn)一應(yīng)答認(rèn)證協(xié)議等,這些方法彌補(bǔ)了RFID協(xié)議中的一些安全漏洞,在一定程度上提高了系統(tǒng)安全性,但是仍有明顯的安全弱點(diǎn)。在Hash—Lock協(xié)議中存在著標(biāo)簽ID的明文傳輸,攻擊者很容易獲得該ID進(jìn)行偽造,而且容易對(duì)標(biāo)簽進(jìn)行跟蹤。
針對(duì)以上問(wèn)題,采用讀寫(xiě)器與標(biāo)簽相互認(rèn)證的機(jī)制,在系統(tǒng)的認(rèn)證過(guò)程中加入了讀寫(xiě)器對(duì)標(biāo)簽的認(rèn)證,防止非法讀寫(xiě)器通過(guò)攻擊標(biāo)簽獲取信息或者未授權(quán)的讀寫(xiě)器跟蹤標(biāo)簽。同時(shí)在標(biāo)簽中加入了密文信息,通過(guò)數(shù)字簽名技術(shù)保護(hù)標(biāo)簽中的秘密信息不被非法讀取。后端數(shù)據(jù)庫(kù)和標(biāo)簽包含的數(shù)據(jù)信息如圖3所示。
標(biāo)簽與讀寫(xiě)器之間的相互認(rèn)證過(guò)程如圖4所示。
首先標(biāo)簽對(duì)讀寫(xiě)器進(jìn)行認(rèn)證,過(guò)程如下:
(1)讀寫(xiě)器發(fā)送請(qǐng)求;
(2)標(biāo)簽接收到請(qǐng)求信號(hào)后發(fā)送一個(gè)隨機(jī)數(shù),并且利用存儲(chǔ)器中的合法讀寫(xiě)器ID(Ri)與該隨機(jī)數(shù)進(jìn)行加密計(jì)算得到Encrypt(RN,Ri);
(3)讀寫(xiě)器接收到隨機(jī)數(shù)后與自身ID進(jìn)行與標(biāo)簽中相同的加密計(jì)算得到Encrypt*(RN,Ri),并且發(fā)送給標(biāo)簽。標(biāo)簽接收到該數(shù)據(jù)后與步驟(2)中得出的En—crypt(RN,Ri)比較,如果相同則該讀寫(xiě)器為合法的,標(biāo)簽進(jìn)入下一個(gè)操作,否則返回初始狀態(tài)。
讀寫(xiě)器對(duì)標(biāo)簽的認(rèn)證過(guò)程如下:
(1)讀寫(xiě)器認(rèn)證通過(guò)后,標(biāo)簽向讀寫(xiě)器發(fā)送請(qǐng)求;
(2)讀寫(xiě)器接收到請(qǐng)求信號(hào)后返回一個(gè)隨機(jī)數(shù)RN給標(biāo)簽;
(3)標(biāo)簽將接收到的隨機(jī)數(shù)與自身ID(Ti)進(jìn)行加密計(jì)算,并將密文Encrypt(RN,Ti)傳輸給讀寫(xiě)器;
(4)讀寫(xiě)器將該密文用RN解密,得到Ti*,并回傳給后端數(shù)據(jù)庫(kù);
(5)后端數(shù)據(jù)庫(kù)快速查找是否存在該標(biāo)簽的ID,如果存在則證明該標(biāo)簽為合法標(biāo)簽,返回確認(rèn)信息(ACK);
(6)讀寫(xiě)器確認(rèn)該標(biāo)簽為合法標(biāo)簽后開(kāi)始對(duì)標(biāo)簽進(jìn)行訪問(wèn)或讀寫(xiě),整個(gè)認(rèn)證過(guò)程完成。
2.2 DES算法對(duì)系統(tǒng)安全性的加強(qiáng)
在以上認(rèn)證過(guò)程中,Encrypt為加密函數(shù),目前已有許多優(yōu)秀的加密算法如ECC,RSA,AES等,但是這些算法資源開(kāi)銷(xiāo)過(guò)大,不適合用于低成本的RFID標(biāo)簽電路中。而DES算法設(shè)計(jì)的初衷就是為了硬件電路的實(shí)現(xiàn),加解密速度快,安全性好,從產(chǎn)生到現(xiàn)在仍然有著廣泛的應(yīng)用。本系統(tǒng)采用的是一種改進(jìn)的DES算法,適用于RFID系統(tǒng)。
DES算法的核心是一個(gè)輪函數(shù),明文數(shù)據(jù)經(jīng)過(guò)初始置換后進(jìn)行16次輪函數(shù)的操作,最后經(jīng)過(guò)一個(gè)逆初始置換輸出結(jié)果。在每一次輪函數(shù)中所使用的密鑰Ki是初始密鑰經(jīng)過(guò)置換后的,所以每一輪的密鑰都不同;對(duì)于輸入的64 b明文,分成長(zhǎng)度相同的兩部分Li,Ri,則輸出給下一輪的64 b數(shù)據(jù)為:
其中E表示將右半部分的32 b數(shù)據(jù)擴(kuò)展為48 b,與密鑰異或后經(jīng)過(guò)8個(gè)S盒,每個(gè)S盒接收6 b的輸入,產(chǎn)生4 b的輸出。然后經(jīng)過(guò)一個(gè)置換矩陣P,與左半部分再次異或后作為下一輪函數(shù)的右半部分?jǐn)?shù)據(jù)。
由于S盒在整個(gè)算法中占據(jù)了很大的面積和功耗,所以本文針對(duì)原有算法對(duì)S盒進(jìn)行改進(jìn),采用單個(gè)S盒來(lái)代替原來(lái)的8個(gè),將經(jīng)過(guò)擴(kuò)展的48 b數(shù)分成8塊,通過(guò)一個(gè)多路選擇器依次通過(guò)S盒,再將產(chǎn)生的結(jié)果合成為一個(gè)32 b數(shù)輸入置換矩陣P(如圖5)。這樣就大大減少了電路的規(guī)模,同時(shí)由于尺寸的減小整個(gè)電路的功耗也會(huì)降低,更適合用于RFID標(biāo)簽。
3 系統(tǒng)性能
3.1 安全性分析
所提出的RFID安全系統(tǒng)能夠防止多種攻擊手段,采用相互認(rèn)證機(jī)制和比較安全的DES算法,提高了系統(tǒng)的安全性。
(1)防止攻擊者竊聽(tīng)。一般讀寫(xiě)器和后端數(shù)據(jù)庫(kù)之間的信道采用有線連接的方式,可以認(rèn)為是安全信道,而讀寫(xiě)器和標(biāo)簽之間的信道可以成為攻擊者竊聽(tīng)的對(duì)象。設(shè)計(jì)中,不安全信道上沒(méi)有任何明文傳輸,所以竊聽(tīng)者無(wú)法得到有用的信息。
(2)相互認(rèn)證機(jī)制阻止了未授權(quán)讀寫(xiě)器對(duì)標(biāo)簽進(jìn)行讀寫(xiě),同時(shí)也防止偽造的標(biāo)簽信息被讀取。
(3)防止攻擊者截取信息進(jìn)行重放攻擊,由于每次發(fā)起請(qǐng)求時(shí)都會(huì)首先發(fā)送一個(gè)隨機(jī)數(shù),攻擊者即使截取了讀寫(xiě)器與標(biāo)簽傳輸過(guò)程中的數(shù)據(jù)也無(wú)法進(jìn)行有效攻擊。
(4)采用了基于DES的加密函數(shù),攻擊者很難從傳輸?shù)拿芪臄?shù)據(jù)中分析出有用信息。該算法的不足是密鑰長(zhǎng)度過(guò)短,但是算法本身的結(jié)構(gòu)是沒(méi)有任何缺陷,破譯該算法需要付出一定代價(jià),花費(fèi)較長(zhǎng)時(shí)間,所以至今仍然有著廣泛的應(yīng)用。對(duì)于安全性要求很高的系統(tǒng)可以考慮采用更長(zhǎng)的密鑰,或者DES算法的變種(三重DES算法)。
3.2 改進(jìn)的DES算法性能分析
該設(shè)計(jì)以減少芯片面積為主要目的,在原有的DES加密算法基礎(chǔ)上進(jìn)行改進(jìn),并用Synopsys公司的綜合工具DesignCompiler分析了改進(jìn)后系統(tǒng)的性能,綜合使用的是stoic 0.18μm工藝庫(kù),性能比較如表1所示。
4 結(jié) 語(yǔ)
安全問(wèn)題的存在制約著RFID技術(shù)的發(fā)展與應(yīng)用,在此分析了EPCglobal協(xié)議中的安全問(wèn)題和現(xiàn)有安全協(xié)議存在的漏洞,提出了一種安全讀寫(xiě)機(jī)制,該方案有效地防止了多種攻擊,并結(jié)合DES加密算法進(jìn)一步提高系統(tǒng)和數(shù)據(jù)的安全性。改進(jìn)后的DES算法具有面積小、功耗低的特點(diǎn),更適合用于RFID標(biāo)簽電路。