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