吳麗萍
(杭州電子科技大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)研究所,浙江杭州310008)
無(wú)線射頻識(shí)別技術(shù)系統(tǒng)主要面臨著非法跟蹤、易被敵方竊取個(gè)人信息和物品信息、信息篡改和偽造標(biāo)簽等威脅[1]。目前國(guó)內(nèi)外很多學(xué)者提出的加密認(rèn)證協(xié)議可歸納為:重量級(jí)加密認(rèn)證協(xié)議、中量級(jí)加密認(rèn)證協(xié)議和輕量級(jí)加密認(rèn)證協(xié)議。重量級(jí)加密認(rèn)證協(xié)議使用完善和相對(duì)比較成熟的加密算法[2-7];輕量級(jí)加密認(rèn)證協(xié)議采用簡(jiǎn)單的位邏輯運(yùn)算代替復(fù)雜雜湊運(yùn)算和加密算法;中量級(jí)加密認(rèn)證協(xié)議的復(fù)雜性和安全性介于前面兩者之間。而無(wú)線射頻識(shí)別技術(shù)加密技術(shù)研究的原則在于在閱讀器和標(biāo)簽有限的內(nèi)存空間和有限的運(yùn)算能力下,開(kāi)發(fā)出既高效實(shí)用又具有一定強(qiáng)度的安全機(jī)制。因此權(quán)衡安全性能和實(shí)際物理平臺(tái),本文提出一種中量級(jí)通信加密協(xié)議,主要結(jié)合隨機(jī)數(shù)、3次握手和標(biāo)簽論證思想。
目前針對(duì)無(wú)線射頻識(shí)別技術(shù)安全和隱私問(wèn)題主要有物理方法和讀取訪問(wèn)控制等方案。物理方法包括kill命令機(jī)制、靜電屏蔽和阻塞標(biāo)簽,適用在簡(jiǎn)單應(yīng)用場(chǎng)合,它的簡(jiǎn)單安全機(jī)制限制了它的應(yīng)用范圍,從資源和效率的角度分析,都是不經(jīng)濟(jì)的,而且敵方可以對(duì)標(biāo)簽跟蹤;讀取訪問(wèn)控制包括HASH-LOCK協(xié)議、隨機(jī)化HASH-LOCK和HASH CHAIN協(xié)議等。HASH-LOCK協(xié)議和隨機(jī)化HASH-LOCK協(xié)議沒(méi)有ID動(dòng)態(tài)刷新,并且ID以明文的形式通過(guò)不安全信道傳輸,易受到假冒攻擊和重傳攻擊,HASH CHAIN協(xié)議具有不可分辨和前向安全性,標(biāo)簽的識(shí)別效率為N(其中N為電子標(biāo)簽個(gè)數(shù)),不適合應(yīng)用在有大量標(biāo)簽的通信場(chǎng)合。
無(wú)線射頻識(shí)別系統(tǒng)主要有電子標(biāo)簽、閱讀器和后臺(tái)數(shù)據(jù)庫(kù)。本文提出了基于安全哈希算法的中量級(jí)加密協(xié)議,其核心思想結(jié)合讀取訪問(wèn)控制和3次互認(rèn)證協(xié)議。即在閱讀器和電子標(biāo)簽3次握手過(guò)程中,對(duì)密鑰和隨機(jī)數(shù)應(yīng)用安全哈希算法進(jìn)行加密。每個(gè)標(biāo)簽對(duì)應(yīng)有16個(gè)元素的密鑰數(shù)組,每個(gè)數(shù)組元素包含一個(gè)長(zhǎng)度為20字節(jié)小密鑰和一個(gè)長(zhǎng)度為16個(gè)字節(jié)隨機(jī)數(shù),并在3次握手過(guò)程中更新[8]隨機(jī)數(shù)和密鑰。密鑰的存儲(chǔ)模式采用稀疏樹(shù)模型。軟件設(shè)計(jì)如圖1所示。
圖1 軟件設(shè)計(jì)圖
以下詳細(xì)論述閱讀器與電子標(biāo)簽3次握手過(guò)程:
(1)閱讀器發(fā)送初始化包。Parameters參數(shù)里面包含16個(gè)小密鑰的數(shù)組,則包總長(zhǎng)度329個(gè)字節(jié)。標(biāo)簽最初狀態(tài)設(shè)置為被動(dòng)接收,當(dāng)接收到閱讀器發(fā)送的初始化數(shù)據(jù)包時(shí),儲(chǔ)存密鑰信息,同時(shí)發(fā)送一個(gè)回復(fù)初始化包。閱讀器發(fā)送初始化包和標(biāo)簽回復(fù)初始化包數(shù)據(jù)結(jié)構(gòu)如表1所示。
閱讀器接收回復(fù)初始化包,當(dāng)函數(shù)ReceiveInit()返回值為1時(shí),則第一次握手成功;
(2)閱讀器發(fā)送識(shí)別命令包。Parameters參數(shù)里面包含長(zhǎng)度為16個(gè)字節(jié)隨機(jī)數(shù)r1,則包總長(zhǎng)度25個(gè)字節(jié)。標(biāo)簽接收閱讀器發(fā)送過(guò)來(lái)識(shí)別命令包,然后對(duì)密鑰r1和隨機(jī)數(shù)加密得到密文,最后發(fā)送一個(gè)含有新隨機(jī)數(shù)r2和密文信息的回復(fù)識(shí)別命令包,并更新本地隨機(jī)數(shù)。閱讀器識(shí)別命令包和標(biāo)簽回復(fù)識(shí)別命令包數(shù)據(jù)結(jié)構(gòu)如表2所示。
表2 閱讀器識(shí)別命令包和標(biāo)簽回復(fù)識(shí)別命令包數(shù)據(jù)結(jié)構(gòu)
閱讀器接收標(biāo)簽的回復(fù)識(shí)別命令包,儲(chǔ)存新隨機(jī)數(shù)并更新本地隨機(jī)數(shù)。當(dāng)函數(shù)ReceiveConfirm()返回值為1時(shí),則第二次握手成功;
(3)閱讀器發(fā)送更新命令包。首先把閱讀器對(duì)密鑰和新隨機(jī)數(shù)r2加密得到密文為新密鑰。包字段增加更新位圖標(biāo)志位Packet[7]和Packet[8]。則包總長(zhǎng)度331個(gè)字節(jié)。標(biāo)簽接收閱讀器發(fā)送過(guò)來(lái)的更新命令包。然后對(duì)新密鑰和新隨機(jī)數(shù)一起進(jìn)行加密,最后發(fā)送一個(gè)回復(fù)更新命令包。其中,閱讀器更新命令包和標(biāo)簽回復(fù)更新命令包數(shù)據(jù)結(jié)構(gòu)如表3所示。
表3 閱讀器更新命令包和標(biāo)簽回復(fù)更新命令包數(shù)據(jù)結(jié)構(gòu)
閱讀器接收回復(fù)更新命令包,當(dāng)ReceiveUpdate()返回值為1,則第三次握手成功。
無(wú)線射頻識(shí)別系統(tǒng)的閱讀器與標(biāo)簽的存儲(chǔ)空間非常有限,如何高效地利用這個(gè)有限的空間是非常重要的。密鑰存儲(chǔ)模型主要有線性存儲(chǔ)和樹(shù)型存儲(chǔ)。而本文的密鑰存儲(chǔ)模式是稀疏樹(shù)型存儲(chǔ)模型,如圖2所示。
圖2 稀疏樹(shù)模型圖
3種存儲(chǔ)模型的空間消耗對(duì)比如表4所示。從表4看出稀疏樹(shù)存儲(chǔ)模型性能最優(yōu)。
表4 3種不同的存儲(chǔ)方式的空間消耗
通過(guò)計(jì)算推導(dǎo)得到新加密協(xié)議對(duì)標(biāo)簽的識(shí)別效率為logN并且密鑰之間相互獨(dú)立,大大提高通信的安全強(qiáng)度和搜索效率。
由于實(shí)際硬件平臺(tái)資源限制,設(shè)計(jì)實(shí)驗(yàn)時(shí)忽略通信間的干擾,用通信次數(shù)來(lái)模擬點(diǎn)對(duì)多點(diǎn)的情況。實(shí)驗(yàn)環(huán)境為一個(gè)閱讀器和一個(gè)電子標(biāo)簽,用N通信次數(shù)代表有N個(gè)電子標(biāo)簽與閱讀器通信。加密電子標(biāo)簽握手成功次數(shù)和未加密電子標(biāo)簽握手成功次數(shù)如表5所示。
表5 加密電子標(biāo)簽和未加密電子標(biāo)簽握手成功次數(shù)
從表5可以得出,加密電子標(biāo)簽的握手成功概率為(80+87+84.6+84.6)/4=84.05%和未加密電子標(biāo)簽的握手成功概率為0。這說(shuō)明認(rèn)證系統(tǒng)具有一定的可行性和可靠性。
從新協(xié)議看出,密鑰以明文的形式發(fā)送,一旦敵方獲取密鑰和密文,可以根據(jù)兩者的關(guān)系逆推出具體加密算法。但是在加密算法中增加更新密鑰和隨機(jī)數(shù)的功能,敵方難以從新的密鑰中推出舊的密鑰,難以進(jìn)行復(fù)制標(biāo)簽進(jìn)行假冒攻擊、重傳攻擊或者跟蹤,具有前向安全性。并且在本加密協(xié)議中,使用消息驗(yàn)證碼來(lái)保證數(shù)據(jù)完整性,因?yàn)閿?shù)據(jù)上任何細(xì)微改動(dòng)都會(huì)對(duì)消息驗(yàn)證碼值產(chǎn)生很大的影響。
新協(xié)議具有前向安全性和信息完整性,可以有效防止跟蹤、重放攻擊和篡改標(biāo)簽內(nèi)容等威脅,并且搜索效率比較高,具有一定的實(shí)用價(jià)值。同時(shí)也存在一定改進(jìn)空間:在本加密協(xié)議中,一旦電子標(biāo)簽內(nèi)容被篡改,閱讀器會(huì)一直要求重傳機(jī)制,會(huì)導(dǎo)致整個(gè)通信系統(tǒng)崩潰。通過(guò)進(jìn)一步研究,可使用最大重傳次數(shù)機(jī)制防止通信負(fù)荷或者根據(jù)實(shí)際需求扔棄被攻擊的電子標(biāo)簽。本文可為提高無(wú)線射頻識(shí)別技術(shù)安全性能的進(jìn)一步研究和系統(tǒng)優(yōu)化設(shè)計(jì)提供參考。
[1]郎為民.射頻識(shí)別技術(shù)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006:10-160.
[2]谷大武,徐勝波.高級(jí)加密保準(zhǔn)算法—Rijndael的設(shè)計(jì)明文[M].北京:清華大學(xué)出版社,2003:10-150.
[3]王???,范伊紅,廉飛宇,等.AES加密算法:在不停車收費(fèi)系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2006,14(1):95-97.
[4]曾少林,易靈芝,王根平.AES算法在 RFID數(shù)據(jù)安全中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制,2007,15(7):23-27.
[5]李少芳.DES算法加密過(guò)程的探討[J].計(jì)算機(jī)與現(xiàn)代化,2006,8(13):101-109.
[6]謝志強(qiáng),高鵬飛,楊靜.基于前綴碼的DES算法改進(jìn)研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(9):92-95.
[7]蔡慶華,陳文莉.RSA算法在數(shù)字簽名中的應(yīng)用[J].安慶師范學(xué)院學(xué)報(bào),2004,10(2):70-74.
[8]Lu L,Han J,Hu L.Dynamic Key-Updating:Privacy-Preserving Authentication for RFID Systems[C].New York:in Proceedings of PerCom,2007:13-22.
[9]沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2005:115-285.