《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > RFID應(yīng)用系統(tǒng)中的Tag-reader安全通信協(xié)議
RFID應(yīng)用系統(tǒng)中的Tag-reader安全通信協(xié)議
摘要: 本文提出的RFID 安全通信協(xié)議基于傳統(tǒng)的challenge—response框架,其采用的Hash函數(shù)對(duì)標(biāo)簽芯片的計(jì)算能力要求較低,比較適用于目前的實(shí)際情況和成本控制目標(biāo)。同時(shí),該協(xié)議的框架具有向后兼容公鑰密碼體制的特性,當(dāng)今后標(biāo)簽芯片性能可以支持某些公鑰密碼算法時(shí),可以方便地將Hash函數(shù)部分改為公鑰密碼算法,而對(duì)于協(xié)議的執(zhí)行步驟,只須做少許改動(dòng)即可。
Abstract:
Key words :

  1 無線射頻識(shí)別技術(shù)簡(jiǎn)介

  無線射頻識(shí)別技術(shù)(radio frequency identification,RFID)或稱電子標(biāo)簽技術(shù)是從二十世紀(jì)六七十年代興起的一項(xiàng)非接觸式自動(dòng)識(shí)別技術(shù)。它利用射頻方式進(jìn)行非接觸雙向通信,以達(dá)到自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù)的目的,具有精度高、適應(yīng)環(huán)境能力強(qiáng)、抗干擾性強(qiáng)、操作快捷等許多優(yōu)點(diǎn)。最基本的RFID 系統(tǒng)主要由下面3部分組成:

  (1)標(biāo)簽(tag):又稱電子標(biāo)簽、智能卡、識(shí)別卡或標(biāo)識(shí)卡,由嵌入式微處理器及其軟件、卡內(nèi)發(fā)射與接收天線、收發(fā)電路組成。標(biāo)簽為信息載體,含有內(nèi)置天線,用于和射頻天線問進(jìn)行通信。

  (2)閱讀器(reader):讀取/寫入標(biāo)簽信息的設(shè)備。

  (3)后臺(tái)數(shù)據(jù)庫(kù)(backend):用于存儲(chǔ)標(biāo)簽標(biāo)識(shí)所對(duì)應(yīng)的相關(guān)數(shù)據(jù)。

  一般情況下,閱讀器和后臺(tái)數(shù)據(jù)庫(kù)之間的通信可以認(rèn)為是安全可靠的,本文將二者等同看待。

  2 RFID面臨的安全問題

  無線射頻識(shí)別技術(shù)的應(yīng)用雖然十分廣泛,但其存在一個(gè)不可忽視的隱患——安全機(jī)制。沒有可靠的安全機(jī)制,就無法有效保護(hù)RFID標(biāo)簽中的數(shù)據(jù)信息。目前,RFID的安全性已經(jīng)成為制約RFID廣泛應(yīng)用的重要因素。針對(duì)RFID的主要安全攻擊可簡(jiǎn)單地分為主動(dòng)攻擊和被動(dòng)攻擊2種類型。主動(dòng)攻擊主要包括: (1)從獲得的RFID標(biāo)簽實(shí)體,通過逆向工程手段,進(jìn)行目標(biāo)RFID 標(biāo)簽重構(gòu)的復(fù)雜攻擊;(2)通過軟件,利用微處理器的通用通信接13,通過掃描RFID標(biāo)簽和響應(yīng)閱讀器的探詢,尋求安全協(xié)議、加密算法以及它們實(shí)現(xiàn)的弱點(diǎn),進(jìn)而刪除RFID標(biāo)簽內(nèi)容或篡改可重寫RFID標(biāo)簽內(nèi)容的攻擊;(3)通過干擾廣播、阻塞信道或其他手段,產(chǎn)生異常的應(yīng)用環(huán)境,使合法處理器產(chǎn)生故障,拒絕服務(wù)的攻擊等。

  被動(dòng)攻擊主要包括:通過采用竊聽或非法掃描等技術(shù),獲得RFID標(biāo)簽和識(shí)讀器之間或其他RFID通信設(shè)備之間的通信數(shù)據(jù),跟蹤貨品流通動(dòng)態(tài)等。

  攻擊者通過對(duì)RFID系統(tǒng)中的標(biāo)簽、標(biāo)簽中存儲(chǔ)的數(shù)據(jù)以及標(biāo)簽與閱讀器之間的通信實(shí)施主動(dòng)攻擊或被動(dòng)攻擊,將使RFID系統(tǒng)面臨非常巨大的安全風(fēng)險(xiǎn)。

  RFID 系統(tǒng)中最主要的安全風(fēng)險(xiǎn)是“數(shù)據(jù)保密性”。顯然,沒有安全機(jī)制的RFID標(biāo)簽會(huì)向鄰近的識(shí)讀器泄漏標(biāo)簽內(nèi)容和一些敏感信息。由于缺乏支持點(diǎn)對(duì)點(diǎn)加密和 PKI密鑰交換的功能,在RFID系統(tǒng)應(yīng)用過程中,攻擊者有許多機(jī)會(huì)可以獲取RFID標(biāo)簽上的數(shù)據(jù)。RFID系統(tǒng)中的另一個(gè)安全風(fēng)險(xiǎn)是“位置保密性”。如同個(gè)人攜帶物品的商標(biāo)可能泄漏個(gè)人身份一樣,個(gè)人攜帶物品的RFID標(biāo)簽也可能會(huì)泄漏個(gè)人身份,通過識(shí)讀器就能跟蹤攜帶系列不安全RFID標(biāo)簽的個(gè)人。此外,攻擊者還可以利用偽造標(biāo)簽代替實(shí)際物品來欺騙貨主,使其誤認(rèn)為物品還在貨架上。攻擊者也可能通過篡改RFID標(biāo)簽上的數(shù)據(jù),用低價(jià)物品標(biāo)簽替換高價(jià)物品標(biāo)簽,以此來獲取非法利益。

  3 基于Hash函數(shù)的安全通信協(xié)議

  為了解決RFID系統(tǒng)的安全問題,最大限度地降低其面臨的安全風(fēng)險(xiǎn),必須為RFID系統(tǒng)構(gòu)造一個(gè)可靠的安全機(jī)制,用于tag與reader間的相互認(rèn)證和傳輸數(shù)據(jù)。所有的安全機(jī)制都需要建立在一個(gè)加密算法的基礎(chǔ)之上[2]。但由于RFID標(biāo)簽的使用數(shù)量大、范圍廣,必須將其造價(jià)控制在比較低廉的水平,這使得RFID標(biāo)簽通常只能擁有大約5 000個(gè)~10 000個(gè)邏輯門,而且這些邏輯門主要用于實(shí)現(xiàn)一些最基本的標(biāo)簽功能,僅剩少許可用于實(shí)現(xiàn)安全功能。但實(shí)現(xiàn)AES(advanced encryption standard)算法需要大約20 000個(gè)~30 000個(gè)邏輯 門[3],實(shí)現(xiàn)RSA、橢圓曲線密碼等公鑰密碼算法則需要更多的邏輯門。因此,大多數(shù)RFID標(biāo)簽根本無法提供足夠的資源來實(shí)現(xiàn)一些比較成熟和先進(jìn)的加密算法,而只能采用一些 “PIN碼”或“password”機(jī)制來保護(hù)秘密數(shù)據(jù)。

  按照目前已有的技術(shù)和芯片制造水平,在tag標(biāo)簽芯片中實(shí)現(xiàn)SHA-1等成熟Hash算法大約需要3 000個(gè)~4 000個(gè)邏輯門,因此,本文提出了基于Hash函數(shù)的安全通信協(xié)議,用于保證tag和reader之間數(shù)據(jù)傳輸?shù)陌踩?,同時(shí)防止在傳輸時(shí)泄漏tag所攜帶的個(gè)人信息和位置信息。

  3.1 協(xié)議中的Hash函數(shù)

  在本協(xié)議中需要用到2個(gè)Hash函數(shù):H和G,這2個(gè)Hash函數(shù)的實(shí)現(xiàn)是可以公開的,無須保密。而且,H和G理論上可以是同一算法,但是考慮到H僅用于計(jì)算一個(gè)標(biāo)簽標(biāo)識(shí)串的Hash值,可以采用比較簡(jiǎn)單的算法,而G要用于計(jì)算tag和backend間互相鑒別和傳輸會(huì)話密鑰時(shí)的Hash值,因此,應(yīng)該采用安全強(qiáng)度較大的Hash算法。顯然,作為Hash函數(shù),H和G均應(yīng)滿足[4]:

   (1)對(duì)于任意長(zhǎng)度的消息M,H和G返回固定長(zhǎng)度m的函數(shù)值h=H(M)或G(M);

 

  (2)給定M很容易計(jì)算出h,甚至在RFID芯片上計(jì)算資源有限的條件下也是如此;

  (3)給定h,很難還原出M,即使知道H和G的算法也是如此;

  (4)對(duì)于特定的M,很難找到另一個(gè)M’,使得H(M)=H(M’),即使知道H和G的算法也是如此。

  3.2 協(xié)議的初始化

  協(xié)議要求在使用前對(duì)backend的數(shù)據(jù)庫(kù)和系統(tǒng)所使用的tag進(jìn)行初始化操作。

  (1)tag端:tag中被寫入初始值由3部分構(gòu)成:1)私密信息S0,如EPC條碼等可供識(shí)別tag的標(biāo)識(shí);2)計(jì)數(shù)器初值C0;3)會(huì)話密鑰R0。

  (2)backend端:其數(shù)據(jù)庫(kù)中保存有一張所有tag的表單,表單記錄有每個(gè)tag所對(duì)應(yīng)的S0、會(huì)話密鑰R0、S0的當(dāng)前值Si(等于S0)和backend端計(jì)數(shù)器值(等于CibC0)。

  3.3 協(xié)議的算法步驟

  (1)backend向tag發(fā)送R/W請(qǐng)求。

  協(xié)議的算法步驟

  協(xié)議的算法步驟

  協(xié)議安全性分析

  (5)對(duì)通信內(nèi)容的保護(hù)。因?yàn)閰f(xié)議首先對(duì)tag和backend進(jìn)行了相互認(rèn)證,通過認(rèn)證的雙方在協(xié)議的第(4)步進(jìn)行了會(huì)話密鑰的傳遞,而且此密鑰將用于本次會(huì)話時(shí)的數(shù)據(jù)傳輸加密,所以攻擊者即使能夠竊聽到tag和reader之間的通信數(shù)據(jù),也無法獲取其真實(shí)內(nèi)容。

  5 結(jié)束語

  目前已有不少關(guān)于RFID系統(tǒng)的安全問題的協(xié)議和方案公開發(fā)表,但是其中的絕大多數(shù)只是針對(duì)安全問題的某些方面,并沒有一個(gè)成熟的完整解決方案。而另一方面,受到被動(dòng)式標(biāo)簽芯片性能和運(yùn)算能力的限制,一些比較成熟和先進(jìn)的加密算法如AES、RSA、橢圓曲線密碼等近期內(nèi)還無法運(yùn)用到RFID標(biāo)簽的加密中。

  本文提出的RFID 安全通信協(xié)議基于傳統(tǒng)的challenge—response框架,其采用的Hash函數(shù)對(duì)標(biāo)簽芯片的計(jì)算能力要求較低,比較適用于目前的實(shí)際情況和成本控制目標(biāo)。同時(shí),該協(xié)議的框架具有向后兼容公鑰密碼體制的特性,當(dāng)今后標(biāo)簽芯片性能可以支持某些公鑰密碼算法時(shí),可以方便地將Hash函數(shù)部分改為公鑰密碼算法,而對(duì)于協(xié)議的執(zhí)行步驟,只須做少許改動(dòng)即可。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。