1 無線射頻識別技術簡介
無線射頻識別技術(radio frequency identification,RFID)或稱電子標簽技術是從二十世紀六七十年代興起的一項非接觸式自動識別技術。它利用射頻方式進行非接觸雙向通信,以達到自動識別目標對象并獲取相關數據的目的,具有精度高、適應環境能力強、抗干擾性強、操作快捷等許多優點。最基本的RFID 系統主要由下面3部分組成:
(1)標簽(tag):又稱電子標簽、智能卡、識別卡或標識卡,由嵌入式微處理器及其軟件、卡內發射與接收天線、收發電路組成。標簽為信息載體,含有內置天線,用于和射頻天線問進行通信。
(2)閱讀器(reader):讀取/寫入標簽信息的設備。
(3)后臺數據庫(backend):用于存儲標簽標識所對應的相關數據。
一般情況下,閱讀器和后臺數據庫之間的通信可以認為是安全可靠的,本文將二者等同看待。
2 RFID面臨的安全問題
無線射頻識別技術的應用雖然十分廣泛,但其存在一個不可忽視的隱患——安全機制。沒有可靠的安全機制,就無法有效保護RFID標簽中的數據信息。目前,RFID的安全性已經成為制約RFID廣泛應用的重要因素。針對RFID的主要安全攻擊可簡單地分為主動攻擊和被動攻擊2種類型。主動攻擊主要包括: (1)從獲得的RFID標簽實體,通過逆向工程手段,進行目標RFID 標簽重構的復雜攻擊;(2)通過軟件,利用微處理器的通用通信接13,通過掃描RFID標簽和響應閱讀器的探詢,尋求安全協議、加密算法以及它們實現的弱點,進而刪除RFID標簽內容或篡改可重寫RFID標簽內容的攻擊;(3)通過干擾廣播、阻塞信道或其他手段,產生異常的應用環境,使合法處理器產生故障,拒絕服務的攻擊等。
被動攻擊主要包括:通過采用竊聽或非法掃描等技術,獲得RFID標簽和識讀器之間或其他RFID通信設備之間的通信數據,跟蹤貨品流通動態等。
攻擊者通過對RFID系統中的標簽、標簽中存儲的數據以及標簽與閱讀器之間的通信實施主動攻擊或被動攻擊,將使RFID系統面臨非常巨大的安全風險。
RFID 系統中最主要的安全風險是“數據保密性”。顯然,沒有安全機制的RFID標簽會向鄰近的識讀器泄漏標簽內容和一些敏感信息。由于缺乏支持點對點加密和 PKI密鑰交換的功能,在RFID系統應用過程中,攻擊者有許多機會可以獲取RFID標簽上的數據。RFID系統中的另一個安全風險是“位置保密性”。如同個人攜帶物品的商標可能泄漏個人身份一樣,個人攜帶物品的RFID標簽也可能會泄漏個人身份,通過識讀器就能跟蹤攜帶系列不安全RFID標簽的個人。此外,攻擊者還可以利用偽造標簽代替實際物品來欺騙貨主,使其誤認為物品還在貨架上。攻擊者也可能通過篡改RFID標簽上的數據,用低價物品標簽替換高價物品標簽,以此來獲取非法利益。
3 基于Hash函數的安全通信協議
為了解決RFID系統的安全問題,最大限度地降低其面臨的安全風險,必須為RFID系統構造一個可靠的安全機制,用于tag與reader間的相互認證和傳輸數據。所有的安全機制都需要建立在一個加密算法的基礎之上。但由于RFID標簽的使用數量大、范圍廣,必須將其造價控制在比較低廉的水平,這使得RFID標簽通常只能擁有大約5 000個“10 000個邏輯門,而且這些邏輯門主要用于實現一些最基本的標簽功能,僅剩少許可用于實現安全功能。但實現AES(advanced encryption standard)算法需要大約20 000個”30 000個邏輯 門,實現RSA、橢圓曲線密碼等公鑰密碼算法則需要更多的邏輯門。因此,大多數RFID標簽根本無法提供足夠的資源來實現一些比較成熟和先進的加密算法,而只能采用一些 “PIN碼”或“password”機制來保護秘密數據。
按照目前已有的技術和芯片制造水平,在tag標簽芯片中實現SHA-1等成熟Hash算法大約需要3 000個“4 000個邏輯門,因此,本文提出了基于Hash函數的安全通信協議,用于保證tag和reader之間數據傳輸的安全性,同時防止在傳輸時泄漏tag所攜帶的個人信息和位置信息。
3.1 協議中的Hash函數
在本協議中需要用到2個Hash函數:H和G,這2個Hash函數的實現是可以公開的,無須保密。而且,H和G理論上可以是同一算法,但是考慮到H僅用于計算一個標簽標識串的Hash值,可以采用比較簡單的算法,而G要用于計算tag和backend間互相鑒別和傳輸會話密鑰時的Hash值,因此,應該采用安全強度較大的Hash算法。顯然,作為Hash函數,H和G均應滿足:
(1)對于任意長度的消息M,H和G返回固定長度m的函數值h=H(M)或G(M);
(2)給定M很容易計算出h,甚至在RFID芯片上計算資源有限的條件下也是如此;
(3)給定h,很難還原出M,即使知道H和G的算法也是如此;
(4)對于特定的M,很難找到另一個M’,使得H(M)=H(M’),即使知道H和G的算法也是如此。
3.2 協議的初始化
協議要求在使用前對backend的數據庫和系統所使用的tag進行初始化操作。
(1)tag端:tag中被寫入初始值由3部分構成:1)私密信息S0,如EPC條碼等可供識別tag的標識;2)計數器初值C0;3)會話密鑰R0。
(2)backend端:其數據庫中保存有一張所有tag的表單,表單記錄有每個tag所對應的S0、會話密鑰R0、S0的當前值Si(等于S0)和backend端計數器值(等于CibC0)。
3.3 協議的算法步驟
(1)backend向tag發送R/W請求。
(5)對通信內容的保護。因為協議首先對tag和backend進行了相互認證,通過認證的雙方在協議的第(4)步進行了會話密鑰的傳遞,而且此密鑰將用于本次會話時的數據傳輸加密,所以攻擊者即使能夠竊聽到tag和reader之間的通信數據,也無法獲取其真實內容。
5 結束語
目前已有不少關于RFID系統的安全問題的協議和方案公開發表,但是其中的絕大多數只是針對安全問題的某些方面,并沒有一個成熟的完整解決方案。而另一方面,受到被動式標簽芯片性能和運算能力的限制,一些比較成熟和先進的加密算法如AES、RSA、橢圓曲線密碼等近期內還無法運用到RFID標簽的加密中。
本文提出的RFID安全通信協議基于傳統的challenge—response框架,其采用的Hash函數對標簽芯片的計算能力要求較低,比較適用于目前的實際情況和成本控制目標。同時,該協議的框架具有向后兼容公鑰密碼體制的特性,當今后標簽芯片性能可以支持某些公鑰密碼算法時,可以方便地將Hash函數部分改為公鑰密碼算法,而對于協議的執行步驟,只須做少許改動即可。
責任編輯:gt
-
RFID
+關注
關注
387文章
6107瀏覽量
237386 -
射頻識別
+關注
關注
8文章
576瀏覽量
38912 -
無線
+關注
關注
31文章
5430瀏覽量
173077
發布評論請先 登錄
相關推薦
評論