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