1 引言
RFID(射頻識別) 是Radio Frequency Identification 的縮寫。它的應用始于二戰,長久以來多用于軍事。與傳統的條形碼技術相比,它具有非接觸讀取、無需光學對準、工作距離長、適于惡劣環境、可識別運動目標等明顯優勢,又得益于電子技術的發展,因此逐漸得到了廣泛的應用。典型的應用包括火車和貨運集裝箱的識別、高速公路自動收費及交通管理、倉儲管理、門禁系統、防盜與防偽等方面。
當前的RFID 技術研究主要集中于天線設計 、安全與隱私防護 、標簽的空間定位和防碰撞技術等方面。
本文研究了RFID系統前端數據采集和操作的信息安全問題。本文其他部分內容安排如下:第二部分對RFID系統數據數據安全的問題進行了分類描述,并說明了保護RFID系統數據安全的意義。第三部分分別介紹了RFID系統數據安全的有代表性的幾種方案。第四部分對這些方案進行了分析比較和總結。
2 RFID 數據安全問題
RFID系統在進行前端數據采集工作時,標簽和識讀器采用無線射頻信號進行通信。這在給系統數據采集提供靈活性和方便的同時也使傳遞的信息暴露于大庭廣眾之下,這無疑是信息安全的重大威脅。隨著RFID 技術的快速推廣應用,其數據安全問題已經成為一個廣為關注的問題。
對于RFID系統前端數據采集部分而言,信息安全的威脅主要來自于對標簽信息的非法讀取和改動、對標簽的非法跟蹤、有效身份的冒充和欺騙三個方面。
圖一為RFID 前端數據采集系統示意圖。識讀器和數據庫服務器之間用可信任的安全信道相連(如何保證這種信道的安全不是本文要討論的問題) 。而識讀器和標簽之間則是不安全不可信任的無線信道,存在被竊聽、欺騙和跟蹤等危險。本文將主要討論如何保證這一通信過程的數據安全。
對于RFID系統應用的不同領域,數據安全防護的重點也不盡相同。在零售業,商家需要防止有人非法改動商品的價格。在物流領域,不僅要防止商業間諜竊取標簽內貨物的信息,也要防止他們通過跟蹤標簽來跟蹤貨物的流向、通過對標簽進行計數來估計貨物的數量。在門禁和自動收費的應用中要防止非法標簽冒充合法標簽來通過身份驗證。
3 主要解決方法
針對RFID系統數據安全的問題,現在已經提出各種途徑的解決方法,其中有代表性的方法有以下幾種:物理隔離、停止標簽服務、讀取訪問控制、雙標簽聯合驗證。下面將具體介紹和分析這幾種方法。
3. 1 物理隔離
這種方法主要思想是:在不希望標簽被讀取的時候使用物理方法阻斷電磁波傳遞路徑。例如有人購買了貼有RFID標簽的商品,在回家的路上他可以使用一種特殊的可阻斷電磁波的包裝袋來保護他的個人隱私不被人知曉。信息安全廠商RSA 在這方面做了很多努力,他們已經開發出這種可以阻斷RFID 信號的包裝袋。另外,RSA 還在開發一種沙粒大小的微型芯片來阻斷RFID標簽與RFID 識讀器之間的通信。這種方法適用于零售小商品、醫藥、郵政包裹、檔案文件等需要RFID標簽保密的場合。
3. 2 停止標簽服務
停止標簽服務就是在RFID標簽的應用周期完成之后,部分或者完全地停止標簽的信息服務,有人把這叫做“killtag”。這種方法主要是針對那種只存儲標簽ID 的無源標簽。這種標簽的ID 號是唯一的,往往是由產品的分類號和一個局部唯一的序列號組成。舉個例子,我們可以在商品售出或貨物易手時去掉RFID標簽的序列號,只保留廠家和產品類型信息,或是干脆停止標簽的工作。
3. 3 讀取訪問控制
讀取訪問控制(Read access control) 是利用hash 函數進行加密和驗證的方案。進行讀取訪問控制時,RFID標簽只響應通過驗證的識讀器。除RFID 識讀器和RFID標簽以外,還需要數據庫服務器的支持。這是一種能夠提供較完整的數據安全保護的方案,也是近來研究比較多的方案。下面將介紹其典型的實現方法。
Hash 函數是一種單向函數,它計算過程如下:輸入一個長度不固定的字符串,返回一串定長度的字符串,又稱hash值。單向hash 函數用于產生信息摘要。Hash 函數主要解決以下兩個問題:在某一特定的時間內,無法查找經hash 操作后生成特定hash 值的原報文;也無法查找兩個經hash 操作后生成相同hash 值的不同報文。
1 2 3 下一頁 |
初始化過程:方案對硬件的要求較高,標簽的ROM存儲標簽ID 的hash 函數值hash (TagID) 。RAM 存儲經授權的有效識讀器的ReaderID。另外要求標簽具有簡單邏輯電路,可以做簡單計算如計算hash 函數和產生隨機數。Reader 與Tag和數據庫服務器相聯系,并被分配ReaderID。后臺數據庫存儲TagID 和hash(TagID) 數據。
驗證過程:識讀器首先發出請求,標簽產生一個隨機數k作為回應。服務器從識讀器得到k 值并計算k 和ReaderID相異或的值(本文中記為k ReaderID) ,然后對其進行hash 運算得到a (k) = hash(k ReaderID) 并通過識讀器將a (k) 發給標簽。與此同時,標簽也用自己存儲的k 值和ReaderID 值按同樣的方法計算出a (k) ’。標簽比較a (k) 和a (k) ’,相同則識讀器擁有正確的ReaderID ,驗證通過,否則標簽沉默。
信息傳遞過程: 驗證通過之后,標簽會將其有效信息hash(TagID) 發給識讀器,數據庫服務器從識讀器處取得hash(TagID) 并在數據庫中查找出對應的TagID 值,這就完成了信息傳送。
更新ReaderID 過程:需要更新合法ReaderID 時,用新的ReaderID 和原來的ReaderID 相異或,發給標簽,標簽可以使用原有的ReaderID 值算出新的ReaderID 值。雙標簽聯合驗證法是Ari Juels 等人提出的一種面向低端、無源、計算能力低的RFID標簽的安全驗證方法。這種機制將在RFID標簽數據要隨貨物多次易手的較復雜的情況下保持物流鏈中RFID標簽信息的完整性。
這種方法的主要思想是在兩個相對應的RFID標簽被識讀器同時讀到時,使用讀取設備作為中介進行互相驗證。即使在識讀器不被信任的情況下,標簽也能夠脫機進行驗證。此方法適合某些特殊的應用如:藥品分發中保證藥品說明書和藥瓶一同運輸,保證某些飛機零件出廠時有安全閥。
驗證過程如圖3 所示。它所使用的是一種消息驗證碼(message authentication codes (MACs) ) 機制。標簽由唯一的秘密的長度為d 比特的密鑰來加密。另外每個標簽都有一個計數器C ,初始值為0。密鑰集合由一個可信任的證明者V 保管。MACx[m]表示用密鑰x 對信息m 算出的MAC。fx[C]代表用密鑰x 對輸入c 進行hash 運算。在標簽TA 和TB被同時掃描到時,產生了一個聯合驗證(yoking2proof) PAB 。閱讀器傳送“左驗證”和“右驗證”的信息。作為結果的驗證PAB由V 使用它所知的密鑰來查證。
此方法的關鍵是兩個標簽同時被讀到,但不一定是這些標簽一定是被同一設備所讀取。入侵者要從遠端滿足同時讀取的條件是非常困難的,這提高了它的安全性。
上一頁 1 2 3 下一頁 |
4 RFID 數據安全的比較及研究方向
物理隔離的方法簡單、直接并且有效,適用于RFID 簡單應用場合。但是它的簡單安全機制也限制了它的應用范圍:首先,貼有RFID標簽的物品必須適于裝在這種電磁隔離的包裝中。因此體積不能太大,而無線通訊設備也不適于這種電磁屏蔽的方法。其次,處于屏蔽隔離狀態中的RFID標簽雖保護了其中的信息,但此時標簽也不能提供服務。另外,無論是特殊的包裝或是阻隔電磁波的芯片都會增加RFID標簽的成本,然而RFID標簽的成本目前還需要進一步降低才能真正廣泛地應用。
停止標簽服務的方法簡單易行,但只提供最簡單的信息保護,能夠適用的范圍很小。如果只清除了標簽序列號,他人仍可以得到標簽中的其他信息,也可以憑此對標簽進行跟蹤。如果完全停止了標簽的工作,那么就無法對標簽進行進一步的利用。從資源和效率的方面講,都是很不經濟的。另外,消費者并不容易檢測他所買的商品上的RFID標簽是否得到了有效的停止,換句話說,只要商家愿意,他們仍然可以跟蹤消費者并窺探其隱私。所以目前需要解決的是如何能保證停止標簽的有效性問題和如何對標簽進行重用的問題。
讀取訪問控制的方法對識讀器通信的全程都進行了加密防護,特別是對驗證過程加入了隨機數。具有防竊聽、防跟蹤、防欺騙的能力,并且可安全地更換合法的ReaderID。然而它對硬件的要求很高,尤其是標簽要實現比較多的邏輯運算并要求有可讀寫的存儲器。對于這種方法,關鍵的是提高標簽芯片的計算和存儲能力,以及對驗證方法的改進和簡化。
雙標簽聯合驗證的方法意在加密算法的小代價實現,達到了一定的安全強度。然而它仍然要求計算hash 函數并且要求標簽有360bit 的存儲器,對于無源標簽來講還要有待于RFID 硬件技術的進步才能實現。
下面分析一下后兩種方法的計算量。我們可以看到,為了進行一次讀取訪問控制驗證,標簽必須有一次產生隨機數的運算,一次hash 運算和一次比較運算;而數據庫服務器也要做相應的hash 運算,另外如果系統中一共有n 個標簽的話,服務器必須在n 個標簽的記錄中查找對應的hash(TagID) 。整個驗證標簽和識讀器和標簽之間至少進行兩次對話。而為了進行一次雙標簽聯合驗證,標簽需要作一次hash 運算,兩次MAC 運算,還有兩次增量運算。標簽和識讀器間至少進行三次對話。
5 結論
分析了RFID系統前端數據采集系統的數據安全問題,對可能的攻擊進行了論述和分類。針對這些攻擊,研究了目前有代表性的幾種解決方案,并對其實現要求、安全強度和適用范圍等特性進行了比較,分析了其不足,提出了待改進之處。
上一頁 1 2 3 |