陳 民 陳 雪 何迎利 葛紅舞 張宇新 孫圣武
(南瑞集團(tuán)有限公司(國(guó)網(wǎng)電力科學(xué)研究院有限公司) 南京 210000)
當(dāng)前,射頻識(shí)別技術(shù)在電力領(lǐng)域的應(yīng)用愈來(lái)愈廣泛、成熟,主要集中在電力巡檢、智能抄表、電力資產(chǎn)管理等方面。但是,多數(shù)RFID電力應(yīng)用解決方案采用的技術(shù)水平有限,已開(kāi)發(fā)產(chǎn)品檔次不夠高端,大規(guī)模級(jí)別應(yīng)用受限[1]。
同其他迅速發(fā)展的IT技術(shù)一樣,射頻識(shí)別技術(shù)在給社會(huì)創(chuàng)造價(jià)值的同時(shí)也帶來(lái)了安全威脅。RFID系統(tǒng)最初的設(shè)計(jì)思想是完全開(kāi)放的,但是標(biāo)簽的成本和功耗的限制,使得一些優(yōu)秀的安全算法無(wú)法在RFID中系統(tǒng)充分實(shí)現(xiàn),嚴(yán)重阻礙了RFID在電力行業(yè)的應(yīng)用和發(fā)展[2~3]。面對(duì)RFID安全漏洞可能帶來(lái)的破壞,本文提出了一種雙向認(rèn)證模式的安全協(xié)議,有效解決了RFID的安全和隱私威脅。
基于Hash函數(shù)的單向性,在共享密鑰K參與情況下,將二者特性運(yùn)用在RFID認(rèn)證機(jī)制的設(shè)計(jì)過(guò)程中,采用相互認(rèn)證的方法,提出了一種RFID相互認(rèn)證協(xié)議。該協(xié)議大致流程示意圖如圖1所示。
圖1 新協(xié)議流程
初始化:每個(gè)標(biāo)簽i都存儲(chǔ)了應(yīng)用系統(tǒng)內(nèi)所有讀寫(xiě)器的標(biāo)識(shí)符 IDR,1,IDR,2…IDR,M以及與自身有關(guān)的初始認(rèn)證密鑰 Ki,1,Ki,2…Ki,N,二者形成一對(duì)多、多對(duì)一映射關(guān)系。為使標(biāo)簽的抗干擾性得到保障,可采用抗金屬邏輯加密型標(biāo)簽,標(biāo)簽之間的認(rèn)證密鑰相互異同、獨(dú)立。新協(xié)議中,符號(hào)“||”表示位的串接。
1)讀寫(xiě)器 j首先生成一個(gè)秘密隨機(jī)數(shù)R,利用自身 IDR,j,通過(guò)共享密鑰 K,將加密生成EK(R||IDR,j)發(fā)送給標(biāo)簽以及發(fā)送Query認(rèn)證請(qǐng)求。
2)標(biāo)簽i收到后,利用K進(jìn)行解密,然后可獲得(R,IDR,j)。標(biāo)簽遍歷核查自身存儲(chǔ)器中所有讀寫(xiě)器的IDR,如果沒(méi)有標(biāo)簽停止響應(yīng),并向讀寫(xiě)器j發(fā)送錯(cuò)誤信息。反之,查找與之對(duì)應(yīng)的認(rèn)證密鑰Ki,j,計(jì)算 x=Hash(R||Ki,j),然后通過(guò)共享密鑰 K加密生成EK(IDT,i||x)并發(fā)送給讀寫(xiě)器。
3)讀寫(xiě)器解密得到 (x,IDT,i)后,將 IDT,i發(fā)送給后方數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)判斷IDT,i的合法性,如果合法,找到相應(yīng)的認(rèn)證密鑰 Ki,j,將 Ki,j回發(fā)給讀寫(xiě)器,此時(shí)讀寫(xiě)器只能獲得與本身相關(guān)的認(rèn)證密鑰。
4)讀寫(xiě)器得到 Ki,j后,計(jì)算 y=Hash(R||Ki,j),如果x=y,則認(rèn)證通過(guò),完成了讀寫(xiě)器對(duì)標(biāo)簽的認(rèn)證,執(zhí)行步驟5,否則認(rèn)證失敗。
5)數(shù)據(jù)庫(kù)通過(guò)指定的單向函數(shù)更新認(rèn)證密鑰Ki,j為,并發(fā)給讀寫(xiě)器,讀寫(xiě)器隨后計(jì)算a=Hash(R||) ,并 加 密 生 成 EK(a||IDR,j) 發(fā) 給 標(biāo)簽。
6)標(biāo)簽解密得到 (a,IDR,j),利用 IDR,j找到認(rèn)證密鑰 Ki,j,使用同一單向函數(shù)更新舊密鑰 Ki,j為,然后計(jì)算 b=Hash(R||),驗(yàn)證 a=b ,如果相等,則完成對(duì)讀寫(xiě)器的認(rèn)證,即實(shí)現(xiàn)了標(biāo)簽與讀寫(xiě)器相互認(rèn)證,然后讀寫(xiě)器可以與認(rèn)證通過(guò)的標(biāo)簽進(jìn)行數(shù)據(jù)交互。
此認(rèn)證協(xié)議的設(shè)計(jì)前提是保證讀寫(xiě)器和數(shù)據(jù)庫(kù)之間的通信通道安全,為保證系統(tǒng)應(yīng)用有效性,設(shè)計(jì)之初擬采用有線通信方式(RS232/485/USB等接口)實(shí)現(xiàn)。當(dāng)然,此認(rèn)證協(xié)議也可以用于僅有讀寫(xiě)器和標(biāo)簽的RFID前端系統(tǒng)中,只要讀寫(xiě)器有數(shù)據(jù)庫(kù)相應(yīng)的數(shù)據(jù)存儲(chǔ)和計(jì)算功能即可。
在RFID系統(tǒng)中,安全性對(duì)于保護(hù)用戶(hù)隱私和基本信息至關(guān)重要。常用的攻擊手段包括:跟蹤攻擊、信息篡改、系統(tǒng)內(nèi)部攻擊、假冒攻擊[4~7]等。這里,以幾種常用的攻擊手段來(lái)分析新協(xié)議的安全性。
一般的跟蹤攻擊者是偽裝成讀寫(xiě)器,向標(biāo)簽發(fā)送認(rèn)證請(qǐng)求,然后誘騙發(fā)送認(rèn)證響應(yīng),并根據(jù)響應(yīng)內(nèi)容,獲得標(biāo)簽的通信軌跡。信息篡改是指攻擊者將竊聽(tīng)到的信息進(jìn)行修改(如刪除全部或更改部分信息)后又回發(fā)給合法接收者。
協(xié)議中,IDR,j是通過(guò)共享密鑰K加密之后發(fā)送給標(biāo)簽的,攻擊者不易獲得IDR,j,如果攻擊者不清楚合法讀寫(xiě)器的IDR,j,就無(wú)法使合法標(biāo)簽發(fā)送認(rèn)證響應(yīng)。即使攻擊者通過(guò)某種手段得到合法標(biāo)識(shí) IDR,j,每次的認(rèn)證密鑰 Ki,j也在不斷更新,而加密后的響應(yīng) EK(Hash(R||Ki,j)||IDR,j)也在隨認(rèn)證密鑰Ki,j變化,從而使攻擊者不能確定這些認(rèn)證響應(yīng)是出自哪個(gè)標(biāo)簽發(fā)送的,即攻擊者不能跟蹤標(biāo)簽。由于攻擊者未能獲得合法的認(rèn)證密鑰,因此,攻擊者無(wú)法把截獲的信息篡改為另外一條合法的信息,從而抵抗了篡改攻擊。
RFID系統(tǒng)內(nèi)合法標(biāo)簽或讀寫(xiě)器的相互偽造和篡改行為被稱(chēng)為系統(tǒng)內(nèi)部攻擊。假冒攻擊被定義為攻擊者截獲一個(gè)合法用戶(hù)的身份信息時(shí),利用這個(gè)身份信息來(lái)假冒該合法用戶(hù)進(jìn)行操作。
假設(shè)系統(tǒng)內(nèi)某標(biāo)簽i的標(biāo)識(shí) IDT,i被偽造成,與讀寫(xiě)器 j通信。偽標(biāo)簽i'知道共享密鑰K,但不清楚標(biāo)簽i與讀寫(xiě)器 j之間的認(rèn)證密鑰Ki,j,所以只能用自己的認(rèn)證密鑰 Ki',j,加密數(shù)據(jù)EK(IDT,i'||Hash(R||Ki',j))。讀寫(xiě)器收到認(rèn)證響應(yīng)后,用共享密鑰解密,可得到偽標(biāo)簽IDT,i',并從數(shù)據(jù)庫(kù)中查找是否有對(duì)應(yīng)的認(rèn)證密鑰Ki',j,假如沒(méi)有即可終止認(rèn)證,即使認(rèn)證密鑰Ki',j驗(yàn)證通過(guò),但通過(guò)計(jì)算發(fā)現(xiàn) Hash(R||Ki,j)≠ Hash(R||Ki',j) ,認(rèn)證失敗,從而制止了系統(tǒng)內(nèi)標(biāo)簽的偽造和篡改行為。
假設(shè)系統(tǒng)內(nèi)某讀寫(xiě)器 j的 IDR,j被偽造成IDR,j′,向標(biāo)簽發(fā)出認(rèn)證請(qǐng)求。標(biāo)簽如能識(shí)別 IDR,j′即可通過(guò)初步認(rèn)證,然后使用相應(yīng)認(rèn)證密鑰Ki,j′,加密數(shù)據(jù) EK(IDT,i||Hash(R||Ki,j′)),并發(fā)送給偽讀寫(xiě)器 j′。雖然偽讀寫(xiě)器 j′可以通過(guò)共享密鑰解密獲得 (IDT,i,Hash(R||Ki,j′),但無(wú)法從數(shù)據(jù)庫(kù)中獲得與讀寫(xiě)器 j相關(guān)的認(rèn)證密鑰Ki,j,只能獲取偽認(rèn)證密鑰 Ki,j′,只能通過(guò)獲得認(rèn)證密鑰 Ki,j,所以通過(guò)相關(guān)計(jì)算可知 Hash(R||Ki,j)≠ Hash(R||Ki,j′),最終讀寫(xiě)器的偽造和篡改行為未能成功。
對(duì)于假冒攻擊,假如攻擊者截獲合法用戶(hù)信息,無(wú)論偽裝成標(biāo)簽或讀寫(xiě)器,攻擊者都無(wú)法在相互認(rèn)證過(guò)程中獲得正確的實(shí)時(shí)更新認(rèn)證密鑰Ki,j,從而未能通過(guò)認(rèn)證。由于標(biāo)簽與讀寫(xiě)器每次認(rèn)證都使用單向函數(shù)和認(rèn)證密鑰更新的防護(hù)策略。因此,對(duì)于跟蹤攻擊,攻擊者也無(wú)法實(shí)時(shí)獲取認(rèn)證密鑰以實(shí)現(xiàn)通過(guò)認(rèn)證進(jìn)行信息竊取。此外,新協(xié)議中的隨機(jī)數(shù)可以有效抵御重放攻擊,具體分析可查閱文獻(xiàn)[8~9]。
以上是新協(xié)議對(duì)常用攻擊手段的防御過(guò)程,詳細(xì)闡述了其防御過(guò)程,分析結(jié)果明顯、高效、實(shí)用。為更直觀地比較新協(xié)議的優(yōu)越性,本文列舉其與其他幾種優(yōu)秀協(xié)議的安全性能的比較[10~11],如表 1 所示。
表1 幾種常見(jiàn)協(xié)議的安全性比較
對(duì)于RFID系統(tǒng)來(lái)說(shuō),協(xié)議復(fù)雜度和成本至關(guān)重要,二者直接決定了協(xié)議的安全級(jí)別。加密操作和Hash函數(shù)的使用,讓新協(xié)議的安全性達(dá)到了一定高度,下面本文將從復(fù)雜度和成本因素對(duì)新協(xié)議進(jìn)行分析。
對(duì)于新協(xié)議復(fù)雜度而言,新協(xié)議對(duì)于標(biāo)簽發(fā)出加密的認(rèn)證響應(yīng),解密操作是在讀寫(xiě)器內(nèi)進(jìn)行,不是通過(guò)中間件解密然后將相關(guān)數(shù)據(jù)傳至讀寫(xiě)器。這樣勢(shì)必會(huì)減少中間件的工作量,有效降低了后臺(tái)與讀寫(xiě)器交互的風(fēng)險(xiǎn)性。
從新協(xié)議成本投入來(lái)看,執(zhí)行一次認(rèn)證過(guò)程,標(biāo)簽需要兩次解密和一次加密運(yùn)算以及兩次Hash運(yùn)算;而讀寫(xiě)器需要兩次加密和一次解密運(yùn)算以及兩次Hash運(yùn)算,同其他的雙向認(rèn)證協(xié)議相比,標(biāo)簽無(wú)需隨機(jī)數(shù)發(fā)生器模塊,在一定程度上降低了標(biāo)簽的成本。另外,在該協(xié)議中,作為更新密鑰的單向函數(shù)可根據(jù)應(yīng)用需要選擇單向函數(shù)的級(jí)別。如需要進(jìn)一步降低標(biāo)簽成本,應(yīng)選擇輕量級(jí)單向函數(shù);如想提高系統(tǒng)安全性和產(chǎn)品應(yīng)用對(duì)象,可選擇重量級(jí)單向函數(shù)。
新協(xié)議僅設(shè)計(jì)了一種認(rèn)證協(xié)議,對(duì)其中的加密算法還沒(méi)有明確規(guī)定,加密算法的選擇可根據(jù)應(yīng)用環(huán)境而定。同時(shí),為保證密鑰的安全性,可將讀寫(xiě)器的id和共享密鑰進(jìn)行定期更新,這樣系統(tǒng)成本預(yù)算靈活性較高,實(shí)用性好。
由此可知,新協(xié)議的安全性較好,復(fù)雜度不高。從應(yīng)用角度看,標(biāo)簽最好具有抗金屬、Hash計(jì)算等功能。隨著RFID相關(guān)技術(shù)的不斷發(fā)展,相信新協(xié)議所涉及的硬件資源的成本會(huì)縮小,故在電力、金融、軍事等高端領(lǐng)域具有一定的應(yīng)用前景。
針對(duì)當(dāng)前RFID系統(tǒng)安全問(wèn)題,本文提出了一種安全性較高的相互認(rèn)證協(xié)議。在保證一定復(fù)雜度和標(biāo)簽成本的基礎(chǔ)上,新協(xié)議利用動(dòng)態(tài)認(rèn)證密鑰Ki,j抵御假冒攻擊、跟蹤攻擊,利用隨機(jī)數(shù)抵御重放攻擊,利用Hash函數(shù)抵御內(nèi)部攻擊,有效防止信息被竊取和篡改,可靠性良好。在不同的工作頻段,開(kāi)放的雙向認(rèn)證擴(kuò)大了讀寫(xiě)器與標(biāo)簽的有效工作范圍,能動(dòng)性更強(qiáng)。不僅如此,讀寫(xiě)器與標(biāo)簽的有效雙向認(rèn)證會(huì)提高后續(xù)的數(shù)據(jù)傳輸穩(wěn)定性,提高了系統(tǒng)的隱私保密性。因此,在電力領(lǐng)域,新協(xié)議非常適用于電力巡檢應(yīng)用方面。