RFID的安全和隱私保護(hù)與成本之間是相互制約的。例如,根據(jù)自動識別(Auto-ID)中心的試驗數(shù)據(jù),在設(shè)計5美分標(biāo)簽時,集成電路芯片的成本不應(yīng)該超過2美分,這使集成電路門電路數(shù)量只能限制在7500~15000范圍內(nèi)。而一個96 bit的EPC芯片需要5000~10000的門電路,因此用于安全和隱私保護(hù)的門電路數(shù)量不能超過2500~5000,這樣的限制使得現(xiàn)有密碼技術(shù)難以應(yīng)用。優(yōu)秀的RFID安全技術(shù)解決方案應(yīng)該是平衡安全、隱私保護(hù)與成本的最佳方案。
現(xiàn)有的RFID系統(tǒng)安全技術(shù)可以分為兩大類:一類是通過物理方法阻止標(biāo)簽與讀寫器之間通信;另一類是通過邏輯方法增加標(biāo)簽安全機制。
1、物理方法
常用的RFID安全的物理方法有殺死(Kill)標(biāo)簽、法拉第網(wǎng)罩(Faraday Cage)、主動干擾、阻止標(biāo)簽等。
殺死(Kill)標(biāo)簽的原理是使標(biāo)簽喪失功能,從而阻止對標(biāo)簽及其攜帶物的跟蹤。但是,Kill命令使標(biāo)簽失去了它本身應(yīng)有的優(yōu)點,如商品在賣出后,標(biāo)簽上的信息將不再可用,但這樣不便于之后用戶對產(chǎn)品信息的進(jìn)一步了解,以及相應(yīng)的售后服務(wù)。另外,若Kill識別序列號(PIN)一旦泄漏,可能導(dǎo)致惡意者對商品的偷盜。
法拉第網(wǎng)罩(Faraday Cage)的原理是根據(jù)電磁場理論,由傳導(dǎo)材料構(gòu)成的容器如法拉第網(wǎng)罩可以屏蔽無線電波,使得外部的無線電信號不能進(jìn)入法拉第網(wǎng)罩,反之亦然。把標(biāo)簽放進(jìn)由傳導(dǎo)材料構(gòu)成的容器可以阻止標(biāo)簽被掃描,即被動標(biāo)簽接收不到信號,不能獲得能量,而主動標(biāo)簽發(fā)射的信號不能發(fā)出。因此,利用法拉第網(wǎng)罩可以阻止隱私侵犯者掃描標(biāo)簽獲取信息。例如,當(dāng)貨幣嵌入RFID標(biāo)簽后,可利用法拉第網(wǎng)罩原理阻止隱私侵犯者掃描,避免他人知道你包里有多少錢。
主動干擾無線電信號是另一種屏蔽標(biāo)簽的方法。標(biāo)簽用戶可以通過一個設(shè)備主動廣播無線電信號用于阻止或破壞附近的讀寫器的操作。但這種方法可能導(dǎo)致非法干擾,使附近其他合法的RFID系統(tǒng)受到干擾,嚴(yán)重時可能阻斷附近其他無線系統(tǒng)。
阻止標(biāo)簽的原理是通過采用一個特殊的阻止標(biāo)簽干擾的防碰撞算法來實現(xiàn)的,讀寫器讀取命令每次總獲得相同的應(yīng)答數(shù)據(jù),從而保護(hù)標(biāo)簽。
2、邏輯方法
在RFID安全技術(shù)中,常用邏輯方法有哈希(Hash)鎖方案、隨機Hash鎖方案、Hash鏈方案、匿名ID方案及重加密方案等。
1.Hash鎖
Hash鎖是一種完善的抵制標(biāo)簽未授權(quán)訪問的安全與隱私技術(shù)。整個方案只需要采用Hash散列函數(shù)給RFID標(biāo)簽加鎖,因此成本很低。采用Hash鎖方法控制標(biāo)簽讀取訪問,其工作機制如圖所示。
(1)鎖定標(biāo)簽。對于唯一標(biāo)識號為ID的標(biāo)簽,首先讀寫器隨機產(chǎn)生該標(biāo)簽的K,計算metaID = Hash(K),將metaID發(fā)送給標(biāo)簽;然后由標(biāo)簽將metaID存儲下來,進(jìn)入鎖定狀態(tài);最后讀寫器將(metaID,K,ID)存儲到后臺數(shù)據(jù)庫中,并以metaID為索引。
(2)解鎖標(biāo)簽,讀寫器詢問標(biāo)簽時,標(biāo)簽回答metaID;然后讀寫器查詢后臺數(shù)據(jù)庫,找到對應(yīng)的(metaID,K,ID)記錄,再將K值發(fā)送給標(biāo)簽;標(biāo)簽收到K值后,計算Hash(K)值,并與自身存儲的metaID值比較,若Hash(K)=metaID,則標(biāo)簽將其ID發(fā)送給閱讀器,這時標(biāo)簽進(jìn)入已解鎖狀態(tài),并為附近的讀寫器開放所有的功能。
該方法的缺點是:由于每次詢問時標(biāo)簽回答的數(shù)據(jù)時特定的,所以它不能防止位置跟蹤攻擊;讀寫器和標(biāo)簽間傳輸?shù)臄?shù)據(jù)未經(jīng)加密,竊聽者可以輕易地獲取標(biāo)簽K和ID的值。
2. 隨機Hash鎖
作為Hash鎖的擴展,隨機Hash鎖解決了標(biāo)簽位置隱私問題。采用隨機Hash鎖方案,讀寫器每次訪問標(biāo)簽的輸出信息都不同。隨機Hash鎖原理是標(biāo)簽包含Hash函數(shù)和隨機數(shù)發(fā)生器,后臺服務(wù)器數(shù)據(jù)庫存儲所有標(biāo)簽ID。讀寫器請求訪問標(biāo)簽,標(biāo)簽接收到訪問請求后,由Hash函數(shù)計算標(biāo)簽ID與隨機數(shù)r(由隨機數(shù)發(fā)生器生成)的Hash值。標(biāo)簽再發(fā)送數(shù)據(jù)給請求的閱讀器,同時讀寫器發(fā)送給后臺服務(wù)器數(shù)據(jù)庫,后臺服務(wù)器數(shù)據(jù)庫窮舉搜索所有標(biāo)簽ID和r的Hash值,判斷是否為對應(yīng)標(biāo)簽ID,標(biāo)簽接收到讀寫器發(fā)送的ID后解鎖。
假設(shè)標(biāo)簽ID和隨機數(shù)R的連接即可表示為“ID||R”,然后將數(shù)據(jù)庫中存儲的各個標(biāo)簽的ID值設(shè)為ID1,ID2,IDk,…,IDn。
鎖定標(biāo)簽:通過向未鎖定的標(biāo)簽發(fā)送簡單的鎖定指令,即可鎖定該標(biāo)簽。
解鎖標(biāo)簽:讀寫器向標(biāo)簽ID發(fā)出詢問,標(biāo)簽產(chǎn)生一個隨機數(shù)R,計算Hash(ID||R),并將(R,Hash(ID||R))數(shù)據(jù)傳輸給讀寫器;讀寫器收到數(shù)據(jù)后,從后臺數(shù)據(jù)庫取得所有的標(biāo)簽ID值,分別計算各個Hash(ID||R)值,并與收到的Hash(ID||R)比較,若Hash(IDk||R)=Hash(ID||R),則向標(biāo)簽發(fā)送IDk;若標(biāo)簽收到IDk=ID,此時標(biāo)簽解鎖。
盡管Hash函數(shù)可以在低成本情況下完成,但要集成隨機數(shù)發(fā)生器到計算能力有限的低成本被動標(biāo)簽上,卻是很困難的。隨機Hash鎖僅解決了標(biāo)簽位置隱私問題,一旦標(biāo)簽的秘密信息被截獲,隱私侵犯者可以獲得訪問控制權(quán),通過信息回溯得到標(biāo)簽歷史記錄,推斷標(biāo)簽持有者隱私;而且后臺服務(wù)器數(shù)據(jù)庫的解碼操作通過窮舉搜索,需要對所有的標(biāo)簽進(jìn)行窮舉搜索和Hash函數(shù)計算,因此標(biāo)簽數(shù)目很多時,系統(tǒng)延時會很長,效率并不高。
3.Hash鏈
Hash鏈作為Hash方法的一個擴展,為了解決可跟蹤性,標(biāo)簽使用了一個Hash函數(shù)在每次讀寫器訪問后自動更新標(biāo)識符的方案,實現(xiàn)前向安全性。
方案的原理是最初標(biāo)簽在存儲器中
鎖定標(biāo)簽:對于標(biāo)簽ID,讀寫器隨機選取一個數(shù)S1發(fā)送給標(biāo)簽,并將(ID,S1)存儲到后臺數(shù)據(jù)庫中,標(biāo)簽存儲接收到S1后便進(jìn)入鎖定狀態(tài)。
解鎖標(biāo)簽:在第i次事務(wù)交換中,讀寫器向標(biāo)簽發(fā)出詢問消息,標(biāo)簽輸出ai=Gi,并更新Si+1=H(Si),其中G和H為單向Hash函數(shù)。讀寫器收到ai后,搜索數(shù)據(jù)庫中所有的(ID,S1)數(shù)據(jù)對,并為每個標(biāo)簽遞歸計算ai=G(H(Si-1)),比較是否等于ai,若相等,則返回相應(yīng)的ID。該方法使得隱私侵犯者無法獲得標(biāo)簽活動的歷史信息,但不適合標(biāo)簽數(shù)目較多的情況。
與之前的Hash方案相比,Hash鏈的主要優(yōu)點是提供了前向安全性。
然而,該方案每次識別時都需要進(jìn)行窮舉搜索,比較后臺數(shù)據(jù)庫中的每個標(biāo)簽,隨著標(biāo)簽規(guī)模擴大,后端服務(wù)器的計算負(fù)擔(dān)將急劇增大。因此Hash鏈方案存在著所有標(biāo)簽自動更新標(biāo)識符方案的通用缺點,即難以大規(guī)模擴展;同時,因為需要窮舉搜索,所以存在拒絕服務(wù)攻擊的風(fēng)險。
4. 匿名ID方案
匿名ID方案采用匿名ID,在消息傳輸過程中,隱私侵犯者即使截獲標(biāo)簽信息也不能獲得標(biāo)簽的真實ID。該方案通過第三方數(shù)據(jù)加密裝置,采用公鑰加密、私鑰加密或者添加隨機數(shù)生成匿名標(biāo)簽ID。雖然標(biāo)簽信息只需要采用隨機讀取存儲器(RAM)存儲,成本較低,但數(shù)據(jù)加密裝置與高級加密算法都將導(dǎo)致系統(tǒng)的成本增加。標(biāo)簽ID加密以后仍具有固定輸出,因此,使得標(biāo)簽的跟蹤成為可能,存在標(biāo)簽位置隱私問題;并且,該方案的實施前提是讀寫器與后臺服務(wù)器的通信建立在可信任的通道上。
5. 重加密方案
重加密方案采用公鑰加密。標(biāo)簽可以在用戶請求下通過第三方數(shù)據(jù)加密裝置定期對標(biāo)簽數(shù)據(jù)進(jìn)行重寫。因為采用公鑰加密,大量的計算負(fù)載將超出標(biāo)簽的能力,所以這個過程通常由讀寫器來處理。該方案存在的最大缺陷是標(biāo)簽的數(shù)據(jù)必須經(jīng)常重寫,否則,即使加密標(biāo)簽ID固定的輸出也將導(dǎo)致標(biāo)簽定位隱私泄漏。與匿名ID方案相似,標(biāo)簽數(shù)據(jù)加密裝置與公鑰加密將導(dǎo)致系統(tǒng)成本的增加,使得大規(guī)模的應(yīng)用受到限制,并且經(jīng)常地重復(fù)加密操作也給實際操作帶來困難。