<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > Key值更新隨機(jī)Hash鎖對(duì)RFID安全隱私的加強(qiáng)

          Key值更新隨機(jī)Hash鎖對(duì)RFID安全隱私的加強(qiáng)

          ——
          作者: 時(shí)間:2007-11-20 來源:半導(dǎo)體應(yīng)用 收藏

            ID是20世紀(jì)90年代興起的一項(xiàng)非接觸式的自動(dòng)識(shí)別技術(shù),其無線通信方式和無可視性讀寫的要求,給我們帶來了極大方便,也帶來了很多安全隱私問題。針對(duì)ID 的安全隱私問題, 目前國內(nèi)外開展了很多加強(qiáng)ID安全隱私保護(hù)的研究,并提出了一系列的方法,如、隨機(jī)和Hash鏈,但這些方法存在安全性不高或效率低等缺陷。本文針對(duì)現(xiàn)有方法的不足,進(jìn)一步對(duì)RFID的安全隱私保護(hù)展開研究。

            1 RFID技術(shù)及其安全隱私分析

            RFID系統(tǒng)主要由閱讀器、標(biāo)簽及后端數(shù)據(jù)庫組成,如圖1所示。

            

          RFID系統(tǒng)

            目前RFID技術(shù)已經(jīng)吸引了工業(yè)和學(xué)術(shù)界越來越多的關(guān)注,并已廣泛地應(yīng)用于供應(yīng)鏈管理、門禁控制、電子錢包[1]等各種場合。然而RFID技術(shù)屬于非接觸式自動(dòng)識(shí)別技術(shù),其面臨的安全隱私威脅主要有:

            (1)非法讀取。商業(yè)競爭者可通過未授權(quán)的閱讀器快速讀取超市的商品標(biāo)簽數(shù)據(jù),獲取重要的商業(yè)信息;

            (2)位置跟蹤。通過RFID標(biāo)簽掃描,依據(jù)標(biāo)簽的特定輸出可對(duì)消費(fèi)者位置進(jìn)行跟蹤定位;

            (3)竊聽。因RFID系統(tǒng)在前向信道的信號(hào)傳輸距離

            較遠(yuǎn),竊聽者可輕易竊取閱讀器發(fā)出的信號(hào)數(shù)據(jù);

            (4)拒絕服務(wù)。人為的信號(hào)干擾使得合法閱讀器不能正常閱讀標(biāo)簽數(shù)據(jù);

            (5)偽裝哄騙。通過偽裝成合法標(biāo)簽,哄騙閱讀器為其提供錯(cuò)誤的數(shù)據(jù);

            (6)重放。根據(jù)竊聽到的閱讀器和標(biāo)簽問的數(shù)據(jù)通信,重復(fù)之前的通信行為從而獲取數(shù)據(jù)信息。

            2 RFID安全隱私保護(hù)

            RFID的安全隱私問題阻礙了RFID技術(shù)的進(jìn)一步推廣,引起了消費(fèi)者的高度關(guān)注,加強(qiáng)對(duì)RFID 的安全隱私保護(hù)有著極其重要的意義。

            2.1前提與要求

            假定閱讀器與后臺(tái)數(shù)據(jù)庫的通信是在一條安全可靠的有連接信道上進(jìn)行,但閱讀器與標(biāo)簽之間的無線通信易被竊聽。要普及RFID技術(shù),必須保證RFID標(biāo)簽的低成本實(shí)現(xiàn)。

            由于標(biāo)準(zhǔn)的安全機(jī)制要求的計(jì)算比較復(fù)雜,如SHA一1約需12K個(gè)門,這在低成本標(biāo)簽上無法實(shí)現(xiàn),因此可采用低成本的單向Hash函數(shù)進(jìn)行加密[2]。

            安全的RFID 系統(tǒng)應(yīng)能抵御各種攻擊,且考慮到較壞的情況,即使外人獲得了標(biāo)簽內(nèi)部的秘密數(shù)據(jù),也應(yīng)保證其無法追蹤到跟標(biāo)簽有關(guān)的歷史活動(dòng)信息,即保證前向安全性。

            2,2典型方法

            典型的加強(qiáng)RFID安全隱私保護(hù)的訪問控制方法主要有、隨機(jī)Hash鎖和Hash鏈,它們都是基于單向Hash函數(shù)實(shí)現(xiàn)的。

            2.2.1 Hash鎖(Hash Lock)[2]

            采用Hash鎖方法控制標(biāo)簽的讀取訪問,其工作機(jī)制如下:

            

          單向Hash函數(shù)

            鎖定標(biāo)簽:對(duì)于唯一標(biāo)志號(hào)為ID的標(biāo)簽,首先閱讀器隨機(jī)產(chǎn)生該標(biāo)簽的,計(jì)算metaID=Hash(),將metaID發(fā)送給標(biāo)簽;標(biāo)簽將metaID存儲(chǔ)下來,進(jìn)入鎖定狀態(tài)。閱讀器將(metaID,,ID)存儲(chǔ)到后臺(tái)數(shù)據(jù)庫中,并以metaID 為索引。

            解鎖標(biāo)簽:閱讀器詢問標(biāo)簽時(shí),標(biāo)簽回答metaID;閱讀器查詢后臺(tái)數(shù)據(jù)庫,找到對(duì)應(yīng)的(metaID,Key,ID)記錄,然后將該Key值發(fā)送給標(biāo)簽;標(biāo)簽收到Key值后,計(jì)算Hash(Key)值,并與自身存儲(chǔ)的metaID值比較,若Hash(Key)=metaID,標(biāo)簽將其ID發(fā)送給閱讀器,這時(shí)標(biāo)簽進(jìn)入已解鎖狀態(tài),并為附近的閱讀器開放所有的功能,如圖2所示。

            方法的優(yōu)點(diǎn):解密單向Hash函數(shù)是較困難的,因此該方法可以阻止未授權(quán)的閱讀器讀取標(biāo)簽信息數(shù)據(jù),在一定程度上為標(biāo)簽提供隱私保護(hù);該方法只需在標(biāo)簽上實(shí)現(xiàn)一個(gè)Hash函數(shù)的計(jì)算,以及增加存儲(chǔ)metaID值,因此在低成本的標(biāo)簽上容易實(shí)現(xiàn)。

            方法的缺陷:由于每次詢問時(shí)標(biāo)簽回答的數(shù)據(jù)是特定的,因此其不能防止位置跟蹤攻擊;閱讀器和標(biāo)簽問傳輸?shù)臄?shù)據(jù)未經(jīng)加密,竊聽者可以輕易地獲得標(biāo)簽Key和ID值。

            2.2.2隨機(jī)Hash鎖(Random Hash Lock)

            為了解決Hash鎖中位置跟蹤的問題,將Hash鎖方法加以改進(jìn),采用隨機(jī)Hash鎖方法。首先介紹字符串連接符號(hào)“ ,如標(biāo)簽ID和隨機(jī)數(shù)R的連接即表示為“IDIIR”。該方法中數(shù)據(jù)庫存儲(chǔ)各個(gè)標(biāo)簽的ID值,設(shè)為IDl、ID2⋯IDk⋯ID 。

            鎖定標(biāo)簽:通過向未鎖定的標(biāo)簽發(fā)送簡單的鎖定指令,即可鎖定該標(biāo)簽。

            

          隨機(jī)Hash鎖

            解鎖標(biāo)簽:閱讀器向標(biāo)簽ID發(fā)出詢問,標(biāo)簽產(chǎn)生一隨機(jī)數(shù)R,計(jì)算Hash(IDIIR),并將(R,Hash(IDIIR))數(shù)據(jù)對(duì)傳送給閱讀器;閱讀器收到數(shù)據(jù)對(duì)后,從后臺(tái)數(shù)據(jù)庫中取到所有的標(biāo)簽ID值,分別計(jì)算各個(gè)Hash(IDIIR)值,并與收到的Hash(IDIIR)比較,若Hash(IDk『JR)=Hash(ID『JR),則向標(biāo)簽發(fā)送IDk;若標(biāo)簽接收到的IDk=ID,此時(shí)標(biāo)簽即被解鎖,如圖3所示。

            在該方法中,標(biāo)簽每次回答是隨機(jī)的,因此可以防止依據(jù)特定輸出而進(jìn)行的位置跟蹤攻擊。但是,該方法也有一定的缺陷:(1)閱讀器需要搜索所有標(biāo)簽ID,并為每一個(gè)標(biāo)簽計(jì)算Hash(IDkIIR),因此標(biāo)簽數(shù)目很多時(shí),系統(tǒng)延時(shí)會(huì)很長,效率并不高;(2)隨機(jī)Hash鎖不具備前向安全性,若敵人獲得了標(biāo)簽ID值,則可根據(jù)R值計(jì)算出Hash(IDIIR)值,因此可追蹤到標(biāo)簽歷史位置信息。

            2.2.3 Hash鏈(Hash Chain)[4]

            NTT實(shí)驗(yàn)室提出了一個(gè)Hash鏈方法,其保證了前向安全性,工作機(jī)制如下:鎖定標(biāo)簽:對(duì)于標(biāo)簽ID,閱讀器隨機(jī)選取一個(gè)數(shù)Sl發(fā)送給標(biāo)簽,并將(ID,S )存儲(chǔ)到后臺(tái)數(shù)據(jù)庫中,標(biāo)簽存儲(chǔ)接收

            

           Hash鏈

            到Sl后,進(jìn)入鎖定狀態(tài)。

            解鎖標(biāo)簽:在第i次事務(wù)交換中,閱讀器向標(biāo)簽發(fā)出詢問消息,標(biāo)簽回答ai=G(S。),并更新Si+l=H(s。),其中G和H為單向Hash函數(shù),如圖4所示。

            閱讀器接收到ai后,搜索數(shù)據(jù)庫中所有的(ID,S1)數(shù)據(jù)對(duì),并為每個(gè)標(biāo)簽計(jì)算

            ai =G(H (s1)),比較ai*是否等于ai,若相等,則返回相應(yīng)ID。

            方法優(yōu)點(diǎn):具有不可分辨性,因?yàn)镚是單向Hash函數(shù),外人獲得a。值不能推算出S。值,當(dāng)外人觀察標(biāo)簽輸出時(shí),G輸出的是隨機(jī)數(shù),所以不能將a。和a。+l聯(lián)系起來;具有前向安全性,因?yàn)镠是單向Hash函數(shù),即使竊取了Si+1值,也無法推算出S 值,所以無法獲得標(biāo)簽歷史活動(dòng)信息。

            方法缺點(diǎn):需要為每一個(gè)標(biāo)簽計(jì)算ai*:G(H (s1)),假設(shè)數(shù)據(jù)庫中存儲(chǔ)的標(biāo)簽個(gè)數(shù)為N,則需進(jìn)行N個(gè)記錄搜索,2N個(gè)Hash函數(shù)計(jì)算,N次比較,計(jì)算和比較量較大,不適合標(biāo)簽數(shù)目較多的情況。

            3 Key值更新隨機(jī)Hash鎖

            鑒于上述幾種安全隱私保護(hù)方法存在的缺陷,并結(jié)合幾種方法的思想,本文提出了一種“Key值更新隨機(jī)Hash鎖”方法,實(shí)現(xiàn)了安全高效的讀取訪問控制。

            3.1工作原理

            數(shù)據(jù)庫記錄主要包括4列:H(Key),ID,Key,Pointer,主鍵為H(Key)。其中ID為標(biāo)簽唯一標(biāo)志號(hào),Key是閱讀器為每個(gè)標(biāo)簽選取的隨機(jī)關(guān)鍵字,H(Key)是Key的單向Hash函數(shù)H計(jì)算值,Pointer是數(shù)據(jù)記錄關(guān)聯(lián)指針,主要用來保證數(shù)據(jù)的一致性[5]。

            下面詳細(xì)闡述該方法的基本工作原理:

            (1)鎖定標(biāo)簽

            對(duì)于標(biāo)簽ID,首先閱讀器隨機(jī)選取一個(gè)數(shù)作為該標(biāo)簽的Key,將Key值發(fā)送給該標(biāo)簽,并建立標(biāo)簽在數(shù)據(jù)庫中的初始記錄(H(Key),ID,Key,0)),標(biāo)簽將接收到的Key值存儲(chǔ)下來后,進(jìn)入鎖定狀態(tài)。

            (2)解鎖標(biāo)簽

            1)數(shù)據(jù)庫首先產(chǎn)生一個(gè)隨機(jī)數(shù)R,傳送給閱讀器,然后閱讀器將詢問消息Query和R都發(fā)送給標(biāo)簽;

            2)標(biāo)簽根據(jù)接收到的R和自身Key值,計(jì)算H(Key)和H(KeylIR)的值,然后將(H(Key),H(KeylIR))數(shù)據(jù)對(duì)發(fā)送給閱讀器,接著自行計(jì)算H(IDIIR)和Key =S(key),但此時(shí)Key值并不更新。

            3)閱讀器查找數(shù)據(jù)庫中的記錄, 若找到記錄i:

            (H(Keyi),IDk,Key。,Pointeri),其中H(Key。):H(Key),則數(shù)據(jù)庫計(jì)算H(KeyjIIR),并比較H(Key ItR)與接收到的H(KeyIIR)值是否相等。若不相等,則忽略此消息,表明標(biāo)簽是非法標(biāo)簽,在此閱讀器完成對(duì)標(biāo)簽的合法性驗(yàn)證;若相等則繼續(xù)下一步;

            4)數(shù)據(jù)庫計(jì)算H(IDkIIR)的值,并將IDk和H(IDkIIR)的值都傳送給閱讀器。然后閱讀器將H(IDkIIR)發(fā)送給標(biāo)簽;

            5)數(shù)據(jù)庫計(jì)算Key*i=S(key。)和H(Key* )的值。若Pointeri:O, 則在數(shù)據(jù)庫中添加新的記錄J:(H(Key*i),IDbKey i,i),并將記錄i修改成(H(Key。),IDbKeyij); 若Pointer !=O, 則找到第Pointer。條記錄, 將其修改成(H(Key i),IDk,Key i,i);

            6)在標(biāo)簽接收到H(IDkIIR)后,比較其與標(biāo)簽在第2步中計(jì)算的H(IDIIR)是否相等,若相等,則將自身的Key值更新為Key ,標(biāo)簽進(jìn)入解鎖狀態(tài),對(duì)閱讀器開放其所有功能;若不相等,表明閱讀器是非法閱讀器,標(biāo)簽保持沉默,在此標(biāo)簽完成對(duì)閱讀器的驗(yàn)證。如圖5所示。

            

          對(duì)閱讀器的驗(yàn)證

            3.2數(shù)值實(shí)驗(yàn)

            設(shè)數(shù)據(jù)庫初始時(shí)存儲(chǔ)了兩個(gè)標(biāo)簽,ID分別為1、2,隨機(jī)選擇的Key分別為5、12,數(shù)據(jù)庫初始化如表1所示。

            

          數(shù)據(jù)庫初始化

            設(shè)閱讀器要詢問ID為1的標(biāo)簽,首先閱讀器向標(biāo)簽發(fā)送詢問消息和隨機(jī)數(shù)3,標(biāo)簽向閱讀器回答數(shù)據(jù)(H(5),H(5II3)),接著自行計(jì)算自身的H(IDIIR)=H(1Il3)值和Key =s(5);閱讀器根據(jù)H(5)查找后臺(tái)數(shù)據(jù)庫,找到記錄1:(H(5),1,5,0),數(shù)據(jù)庫計(jì)算H(KeyllR)=H(5lI3),與接收到的H(5113)相等,至此驗(yàn)證了標(biāo)簽是合法的;接著數(shù)據(jù)庫計(jì)算H(IDIIR)=H(1 113),并將(1,H(1113))傳送給閱讀器,由此閱讀器知道了該標(biāo)簽的ID為1,然后閱讀器將H(1113)發(fā)送給標(biāo)簽; 數(shù)據(jù)庫計(jì)算Key*I=s(5), 由于PointerI=0,數(shù)據(jù)庫中新建一條記錄3:(H(s(5)),1,s(5),1),并將記錄1修改為(H(5),1,5,3)。標(biāo)簽接收到數(shù)據(jù)H(1 113)后,比較發(fā)現(xiàn)其等于之前計(jì)算的H(IDIIR),于是將自身Key值更新為s(5)。此時(shí)數(shù)據(jù)庫中的數(shù)據(jù)記錄如表2所示。

            

          數(shù)據(jù)庫中的數(shù)據(jù)記錄

            下一次再與標(biāo)簽1通信時(shí),數(shù)據(jù)庫根據(jù)標(biāo)簽的H(Key)=H(s(5))查找到第3條記錄,該記錄的Pointer為1,則第2次更新Key值的記錄將會(huì)覆蓋第1條記錄。

            當(dāng)標(biāo)簽被詢問過一次之后,數(shù)據(jù)庫中始終保持了兩條與該標(biāo)簽有關(guān)的數(shù)據(jù)記錄,這主要

            是為了保證數(shù)據(jù)的一致性。假設(shè)在這次通信中閱讀器發(fā)送的數(shù)據(jù)H(ll3)并未成功地被標(biāo)簽接收到,則標(biāo)簽1的Key值將不會(huì)更新,此時(shí)數(shù)據(jù)庫的第3條記錄是錯(cuò)誤的。那么在下次與標(biāo)簽1的通信中,查找到的仍是記錄1,數(shù)據(jù)庫根據(jù)記錄1的Pointer值為3,將修改第3條記錄,如此就保證了數(shù)據(jù)的一致性。

            3.3性能分析與方法特點(diǎn)

            (1)簡單實(shí)用。將隨機(jī)數(shù)產(chǎn)生器等復(fù)雜的計(jì)算移到了后臺(tái)數(shù)據(jù)庫中實(shí)現(xiàn),降低了標(biāo)簽的復(fù)雜性,標(biāo)簽只需要實(shí)現(xiàn)兩個(gè)Hash函數(shù)H和s,這在低成本的標(biāo)簽上較易實(shí)現(xiàn)。

            (2)前向安全。因?yàn)闃?biāo)簽的Key值在每次事務(wù)交換后被單向Hash函數(shù)s更新,外人即使獲取了當(dāng)前標(biāo)簽Key*值,也無法推算出之前的Key值,所以無法獲得標(biāo)簽相關(guān)的歷史活動(dòng)信息。

            (3)機(jī)器運(yùn)算負(fù)載小,效率高。在每次詢問過程中,設(shè)數(shù)據(jù)庫中存儲(chǔ)的標(biāo)簽個(gè)數(shù)為N,本方法中后臺(tái)數(shù)據(jù)庫需執(zhí)行2N個(gè)記錄搜索(因每個(gè)標(biāo)簽存在兩條記錄),進(jìn)行3個(gè)Hash函數(shù)H(KeylIR)、S(Key)、H(IDIIR)計(jì)算和1次值比較,以及產(chǎn)生1個(gè)隨機(jī)數(shù)R。相比于Hash鏈方法需計(jì)算2N個(gè)Hash函數(shù)、N個(gè)記錄搜索和N個(gè)值比較,因?yàn)镠ash函數(shù)的計(jì)算時(shí)延較長,資源消耗大,所以當(dāng)N很大時(shí),本方法系統(tǒng)的負(fù)載將要小得多,速度較快,延時(shí)較短,效率較高,但安全性更高。

            (4)適應(yīng)標(biāo)簽數(shù)目較多的情況。隨著標(biāo)簽數(shù)目的增加,計(jì)算機(jī)搜索與計(jì)算所需要的時(shí)間緩慢增加,可適應(yīng)標(biāo)簽數(shù)目較多的情況。

            (5)實(shí)現(xiàn)了身份的雙向驗(yàn)證。通過Hash(KeyllR)的計(jì)算比較,閱讀器實(shí)現(xiàn)了對(duì)標(biāo)簽的驗(yàn)證;通過Hash(IDIIR)的計(jì)算比較,標(biāo)簽實(shí)現(xiàn)了對(duì)閱讀器的驗(yàn)證。

            (6)有效實(shí)現(xiàn)安全隱私保護(hù)。

            1)防非法讀?。褐挥薪?jīng)過合法認(rèn)證的閱讀器才可讀取標(biāo)簽的數(shù)據(jù)信息;

            2)防位置跟蹤:由于隨機(jī)數(shù)R和標(biāo)簽的Key值是更新變化的,因此每次回答的數(shù)據(jù)(H(Key),H(KeylIR))值也是不同的,可以防止外人根據(jù)特定輸出而進(jìn)行的跟蹤定位;3)防竊聽:傳輸?shù)腎D值和Key都經(jīng)過了Hash函數(shù)加密,外人很難解密得出ID和Key的值,因此有效地防止了竊聽;

            4)防偽裝哄騙:由于外人無法獲知Key值,因此無法模擬合法標(biāo)簽發(fā)送(H(Key),H(KeylIR))數(shù)據(jù),故有效地防止了偽裝哄騙攻擊;

            5)防重放:每次產(chǎn)生的R值是隨機(jī)的,外人即使竊聽了合法閱讀器前一次發(fā)送的H(ID IIR)數(shù)據(jù),也無法再次模擬出H(ID IIR)值,有效地防止了重放攻擊。

            4結(jié)束語

            “Key值更新隨機(jī)Hash鎖”方法具有成本低、負(fù)載小、效率高、安全性好等特點(diǎn),且能保證前向安全性,基本上彌補(bǔ)了目前安全保護(hù)方法安全性不夠和效率低等缺陷,是一種較為實(shí)用的算法。但此方法還存在一些不足,如尚無法防止敵人根據(jù)流量分析(計(jì)算標(biāo)簽的個(gè)數(shù))而進(jìn)行的定位跟蹤,同時(shí)安全性提高也增加了標(biāo)簽部分計(jì)算時(shí)延,這些尚需進(jìn)一步研究改進(jìn)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();