基于Hash的ID協(xié)議變化認(rèn)證算法在RFID系統(tǒng)中的應(yīng)用
引言
物聯(lián)網(wǎng)這一概念由美國在20世紀(jì)90年代提出,其認(rèn)為 物聯(lián)網(wǎng)通過將全球萬事萬物的實物聯(lián)網(wǎng),最終達(dá)到“以物控 物”的目的。物聯(lián)網(wǎng)是以互聯(lián)網(wǎng)為通信基礎(chǔ),利用電子產(chǎn)品碼 EPC、RFID等技術(shù)建立的實物互聯(lián)網(wǎng)。在物聯(lián)網(wǎng)中將電子產(chǎn) 品碼存入芯片做成電子標(biāo)簽粘附在被標(biāo)識物體,通過識別設(shè) 備讀取標(biāo)簽內(nèi)的物體信息,從而惟一地識別一個物體,并將 獲取的物體信息在互聯(lián)網(wǎng)上傳遞,以此給人們工作生活帶來便 利的服務(wù)。對于獲取標(biāo)簽內(nèi)信息,RFID是一種有效的技術(shù), 這種技術(shù)在過去的一段時間發(fā)展迅速。RFID在不需要操作人 員的情況下,就可以同時識別多個物體。RFID在帶來高效、 低成本服務(wù)的同時,在識別過程中也存在安全威脅和隱私泄 露等問題,因此,安全問題已成為制約RFID系統(tǒng)發(fā)展的主要 因素。如何構(gòu)建高安全性的RFID系統(tǒng)是目前研究的一個熱點, 也是未來物聯(lián)網(wǎng)技術(shù)發(fā)展的關(guān)鍵因素。
1 RFID攻擊模型
RFID系統(tǒng)一般由電子標(biāo)簽、閱讀器和后臺應(yīng)用系統(tǒng)三個 實體部分以及后端網(wǎng)絡(luò)通信信道和無線通信信道組成。在整 個系統(tǒng)中,任何組成部分都可能成為攻擊者攻擊的對象。攻擊 模型可用圖1表示[1]。
在圖1中可以看出,攻擊者可以采用對常規(guī)信息系統(tǒng)攻擊 相同的被動攻擊、主動攻擊、物理攻擊等攻擊手段對RFID系 統(tǒng)中部分或全部進(jìn)行攻擊。對于攻擊者來說,其攻擊RFID系 統(tǒng)的目的也與對其他信息系統(tǒng)攻擊的目的相同,主要為了非法 獲取信息、非法訪問、篡改信息和擾亂系統(tǒng)正常運行等。
1.1非法獲耳丈信息
攻擊者通過攻擊手段非法獲取RFID系統(tǒng)中非公開的機 密信息或內(nèi)部信息,攻擊者獲取這些信息之后,可以自己利用這些信息,可以通過出售信息謀利,可以為了使對方陷于被動 而公開這些信息,也可以保存信息以便將來使用。
圖1 RFID系統(tǒng)的攻擊模型
1.2非法訪問
攻擊者通過竊取合法用戶密碼或通過其它非法手段獲得 對RFID系統(tǒng)的訪問權(quán)限,攻擊者在進(jìn)入系統(tǒng)后就可以訪問 系統(tǒng),偷取系統(tǒng)內(nèi)信息或?qū)ο到y(tǒng)的正常運行進(jìn)行破壞。攻擊 者也可能在非法進(jìn)入系統(tǒng)后,將一些病毒、木馬植入系統(tǒng)中, 為將來再次入侵留下后門。
1.3篡改信息
對于RFID系統(tǒng),攻擊者即可以篡改RFID空中接口數(shù)據(jù), 也能夠?qū)?biāo)簽信息進(jìn)行篡改。對于電子標(biāo)簽,只讀卡內(nèi)信息 不容易被篡改,但對于空中接口數(shù)據(jù)就相對容易被篡改。攻 擊者通過對系統(tǒng)中的數(shù)據(jù)進(jìn)行篡改,就可以冒充合法用戶,對 系統(tǒng)進(jìn)行“合法”訪問。攻擊者也可能會偽造合法數(shù)據(jù)或?qū)?法數(shù)據(jù)進(jìn)行篡改,依此欺騙通信雙方,甚至導(dǎo)致系統(tǒng)運行進(jìn) 入混亂狀態(tài)。
1.4擾亂系統(tǒng)的正常運行
攻擊者為了商業(yè)競爭需要,對對方系統(tǒng)進(jìn)行擾亂后,使 對方系統(tǒng)陷入混亂狀態(tài),導(dǎo)致對方系統(tǒng)無法正常運行,使得 對方正常業(yè)務(wù)無法開展。在RFID系統(tǒng)中前端通信是通過無線 信息進(jìn)行,因此,攻擊者若采用無線電干擾,就會很容易導(dǎo)致 通信系統(tǒng)癱瘓而無法正常工作。
2 RFID安全關(guān)鍵問題
由于RFID系統(tǒng)的便攜性、移動性等特點,限制了電子 標(biāo)簽中本身存儲的內(nèi)部資源和能量不能很多,同時還要能夠?qū)?電子標(biāo)簽進(jìn)行快速靈活的讀取,這些因素對增加RFID系統(tǒng) 安全性形成了一定的限制。因此,為了能夠?qū)崿F(xiàn)符合RFID系 統(tǒng)的安全協(xié)議和機制,在考慮其可行性的基礎(chǔ)上,還應(yīng)該重 點考慮下面幾個方面的問題。
2.1算法復(fù)雜度
由于電子標(biāo)簽內(nèi)部時鐘頻率較高,且具有快速讀取等特 點,因此在加密算法設(shè)計的過程中,要求算法的計算周期盡 量短。但是,高強度的加密算法在使用較多計算周期的同時 還需要占用大量的系統(tǒng)存儲資源,特別對RFID電子標(biāo)簽這種 存儲資源缺乏的對象表現(xiàn)地更為突出。因此在算法設(shè)計時就 需要解決如何能在使用高強度加密算法的同時盡量減少資源 需求并且使計算周期變短的問題。
2.2認(rèn)證流程
對于電子標(biāo)簽的識別設(shè)備來說,針對不同的應(yīng)用系統(tǒng)采 用不同的讀取方式,在一些超市系統(tǒng)等應(yīng)用中,識別設(shè)備一次 只需讀取一個電子標(biāo)簽,而在物流管理等應(yīng)用中,一次需要讀 取多個電子標(biāo)簽。對于前一種讀取方式,認(rèn)證流程占用的時間 長一些并不會影響到系統(tǒng)的正常使用,而在后一種讀取方式中, 認(rèn)證時間需要嚴(yán)格控制,否則會導(dǎo)致因單個電子標(biāo)簽認(rèn)證流程 時間過長而影響到其它電子標(biāo)簽不能被完全讀取。
2.3密鑰管理
由于物聯(lián)網(wǎng)需將所有物體聯(lián)網(wǎng),而每一個聯(lián)網(wǎng)物體都需 要電子標(biāo)簽進(jìn)行身份識別,因此在RFID系統(tǒng)中,電子標(biāo)簽的 數(shù)量非常龐大。如果對于每一個電子標(biāo)簽都設(shè)置一個惟一的 密鑰,那么如何有效的管理這些龐大的密鑰將是一件非常困 難的事。若對同一類物品設(shè)置統(tǒng)一的密鑰,可以減少密鑰的 數(shù)量,但是,一旦其中一個物體密鑰被破解或泄露,那兒其 它同類物品將會受到安全威脅。
對于RFID系統(tǒng)安全問題,除了前面這三個方面外,還需要 考慮傳感器、電子標(biāo)簽和識別設(shè)備等感知硬件的物理保護(hù),同 時考慮是否針對不同的應(yīng)用使用不同的安全等級等保護(hù)措施。
3基于Hash的ID協(xié)議變化認(rèn)證算法
基于Hash的ID協(xié)議變化認(rèn)證算法采用每次改變認(rèn)證過 程中各設(shè)備間的交換信息,然后將改變信息與設(shè)備自身保存的 信息做比較,如果相同則通過認(rèn)證,否則認(rèn)證失敗。這樣就 可以防止信息在設(shè)備本身內(nèi)或信道上被篡改,從而有效保護(hù)
RFID系統(tǒng)的可靠性和安全性?;贖ASH的ID協(xié)議變化認(rèn) 證算法如下[1]:
Attest_Hash(){
Init RFID_system;//初始化 RFID 系統(tǒng)
識別讀寫器R發(fā)送查詢命令給電子標(biāo)簽L;
電子標(biāo)簽L使自身TID=TID+1,保存TID,計算 H(ID), / TID=TID-LST,計算 H(TID||ID); //TID 為上次發(fā)送序號,LST為最后一次發(fā)送序號,H()為 Hash函數(shù)
電子標(biāo)簽L返回H(ID), / TID, H(TID||ID)到識別讀 寫器R ;
識別讀寫器R轉(zhuǎn)發(fā)H(ID), / TID, H(TID||ID)到后端 數(shù)據(jù)庫 System_db ;
根據(jù)H(ID)在后端數(shù)據(jù)庫System_db中查詢標(biāo)簽L'; 標(biāo)簽 L'的 TID' =LST' + / TID,計算 H(TID||ID);
If (L.infb=L' .infb) { //對比電子標(biāo)簽中信息與后端
數(shù)據(jù)庫中對應(yīng)信息是否相符 標(biāo)簽更新自生LST=TID, ID=ID十N ;//N為隨機數(shù) 后臺數(shù)據(jù)庫 System_db 更新 H' (R||TID||ID);
后臺數(shù)據(jù)庫System_db發(fā)送N和H' (R||TID||ID)給 識別讀寫器R;
識別讀寫器R轉(zhuǎn)發(fā)N和H'R||TID||ID)給電子標(biāo)簽L; If (電子標(biāo)簽L中保存的信息與N和H'R||TID||ID)
相等){
通過認(rèn)證;
電子標(biāo)簽L更新自身LST=TID,ID=ID十N ;
}
Else認(rèn)證失??;
}
Else認(rèn)證失敗;
}
該算法的核心在于每次會話都會改變TID,使得每次的 Hash值也會改變,以此避免被跟蹤。且后端數(shù)據(jù)庫和電子 標(biāo)簽中的TID不一定相等,只有在LST認(rèn)證成功后才會更新 TID的值,在傳輸?shù)倪^程中也只是傳輸TID與LST的差值, 這樣就可以有效保證LST的機密性。在認(rèn)證通過后,還需要 再次刷新ID的值,用來避免攻擊者通過H(ID)跟蹤標(biāo)簽。
4總結(jié)
本文在分析了針對RFID系統(tǒng)的攻擊模型和RFID系統(tǒng) 安全關(guān)鍵問題的基礎(chǔ)上,提出了一種基于Hash的ID協(xié)議變 化認(rèn)證算法。該認(rèn)證算法雖然可以有效解決RFID系統(tǒng)中認(rèn)證 過程的安全性,但是也存在一些缺陷,在認(rèn)證過程中,可能 會因環(huán)境的變化,識別讀寫器不能成功將信息發(fā)送給電子標(biāo) 簽,此時,后端數(shù)據(jù)庫信息已更新,而電子標(biāo)簽信息還保留原 信息,導(dǎo)致此標(biāo)簽將再不會被識別;攻擊者也可以通過將非 法獲得的電子標(biāo)簽信息重放給識別讀寫器,而更新后端數(shù)據(jù) 庫,造成電子標(biāo)簽與后端數(shù)據(jù)庫信息不一致;攻擊者還可能會 非法獲取H(ID),由于該數(shù)據(jù)在兩次識別過程中并不會發(fā)生改變,從而造成攻擊者可以很輕易地跟蹤電子標(biāo)簽等。這一系列 的缺陷還需要在以后的研究中予以解決,這樣才能真正提高 RFID系統(tǒng)的安全性,并將其應(yīng)用到實際中。
20211222_61c2f1c10b38e__基于Hash的ID協(xié)議變化認(rèn)證算法在RFID系統(tǒng)中的應(yīng)用