何衛國,范偉力,朱 翔
(成都三零嘉微電子有限公司,四川 成都 610041)
射頻識別技術(Radio Frequency Identification,以下簡稱RFID)是在各個生產和生活領域廣泛商用的自動識別技術,被看作是構成21 世紀先進物聯網技術的重要基礎技術。RFID 技術利用射頻通信中的回射原理實現數據信息的空中無線通信傳遞。標簽與讀寫器構成的RFID 識別系統能迅速識別大量標識信息,擺脫了條形碼等傳統標簽在讀取信息時需要人為手工操作的缺點。
根據應用環境的不同,用戶對RFID 系統安全性提出了不同的要求。例如在電子收費系統中需要保證電子標簽中的數據無法被篡改偽造;在人員身份識別系統中需保證標簽不被復制使用。
超高頻RFID 系統的識讀距離遠,空中接口暴露在開放環境,極易受到攻擊[1][2]。空中接口面臨的威脅如表1。

表1 空中接口面臨的安全威脅
針對RFID 系統空中接口面臨的以上威脅,應對措施如下:
1.克隆攻擊
克隆攻擊是指攻擊者非法復制一張合法的RFID標簽,由于克隆標簽完整復制了合法標簽的全部信息、包括標簽標識、業務數據、存儲的密鑰等,因此無法通過常規的認證手段對克隆標簽進行鑒別。
針對克隆攻擊,可采用滾動認證密鑰的方式來應對。在標簽每次合法認證流程中,更新滾動認證密鑰。
2.欺騙攻擊
欺騙攻擊是指攻擊者利用軟硬件等方式來模擬合法的RFID 標簽。由于攻擊者模擬的RFID 標簽無法獲得合法RFID 標簽中的密鑰等認證信息,因此在RFID 系統的通信過程中加入讀寫器和標簽之間的雙向認證機制就可應對欺騙攻擊的威脅。
考慮到RFID 標簽功耗低、計算能力弱的特點,可采用輕量級分組算法實現認證流程。
3.非授權訪問攻擊
非授權訪問攻擊是指攻擊者在未授權的情況下非法讀取RFID 標簽中的存儲信息。通過對RFID 標簽進行分區口令管理,可以有效應對非授權訪問攻擊的威脅。考慮到系統對存儲各區的不同安全性要求,可對RFID 標簽存儲區采用分級管理的機制,分別對各區設置讀口令、寫口令、鎖定口令。每個RFID 標簽的訪問口令在標簽初始化時由RFID讀寫器通過根密鑰RK 和標簽唯一標識生成,口令具有唯一性。
1.假冒攻擊
RFID 讀寫器層面臨的安全威脅主要是假冒攻擊,攻擊者通過偽造一個非法讀寫器來讀取或更改RFID 標簽信息。在假設根密鑰RK 絕對安全的前提下,同樣可以通過加入讀寫器和標簽之間的雙向認證機制就可應對假冒攻擊的威脅。
1.竊聽攻擊
竊聽攻擊是指攻擊者非法竊聽RFID 讀寫器和RFID 標簽之間的無線通信過程。由于無線信號在空間上的開放性,無法避免RFID 系統通信過程中產生的電磁波不被攻擊者獲取,因此只能采用對通信內容加密的方式來應對竊聽攻擊的威脅。
同樣出于RFID 標簽功耗低、計算能力弱的考慮,在RFID 標簽和RFID 讀寫器的安全通信中,仍然采用輕量級對稱算法對通信數據進行加解密。在標簽和讀寫器的一次互相認證過程中,均會協商產生新的會話密鑰SK。
2.重放攻擊
重放攻擊是指攻擊者在RFID 讀寫器和RFID標簽之間重放之前的通信內容。在RFID 系統認證過程和安全通信過程中,可以通過在通信數據中添加隨機數的方式來應對重放攻擊。當信息的接受方連續接收到若干次包含相同隨機數(該隨機數通過加密方式傳輸)的數據時,接收方就判定遭受到了重放攻擊,并拒絕接受該命令或業務數據。
3.篡改攻擊
篡改攻擊是指攻擊者在RFID 讀寫器和RFID標簽之間攔截并修改、替換通信內容。使用雜湊算法或CRC 校驗機制可以有效保護傳輸信息的完整性,應對篡改攻擊的威脅。
上文中,分析了普通RFID 系統空口面臨的安全威脅,并提出了相應的解決措施,本節依據上文提出的解決措施,設計了安全增強的RFID 系統空中接口安全協議。該安全協議由認證協議和加密通信協議兩部分組成,通過在超高頻RFID 的通用ISO18000-6C 協議中,增加若干自定義命令,實現滾動密鑰認證和加密通信功能[2]。該協議中的加解密操作均由輕量級對稱算法——SM7 算法實現。
空中接口認證協議流程如圖1 所示。

圖1 空中接口認證協議
讀寫器首先發送激活命令,標簽返回ID。
讀寫器查詢該ID 是否有效,若有效,由后臺下發該標簽的當前滾動認證密鑰DAK 到讀寫器。
讀寫器使用DAK 發起和標簽間的雙向挑戰認證,認證通過后,協商出密鑰SK 作為下一步加密通信用密鑰。
后臺生成該標簽新的DAKn 下發到讀寫器,讀寫器使用會話SK 加密后發送給標簽。
標簽收到新的DAKn 后,用其替換內部存儲的滾動認證密鑰DAK。
標簽返回滾動認證密鑰更新成功標志,認證流程結束。
空中接口加密通信協議流程如圖2 所示。

圖2 空中接口加密通信協議
讀寫器產生隨機數Rr,使用認證過程中協商得到的會話密鑰SK 對需發送命令的負載和Rr 進行加密,并將加密結果ESK(命令負載||Rr)發送給標簽。
標簽使用會話密鑰SK 對ESK(命令負載||Rr)解密得到命令負載和Rr,標簽執行命令后得到響應數據。
標簽產生隨機數Rt,使用會話密鑰SK 對返回數據||Rt 加密,并將加密后的結果ESK(返回數據||Rt)發送給讀寫器。
讀寫器使用會話密鑰SK 對接收到的ESK(返回數據||Rt)進行解密,獲得標簽的響應數據,至此一次完整的安全通信流程結束。隨機數Rr 和Rt 用于抵御重放攻擊的威脅。
為實現超高頻RFID 系統的安全增強設計,基于上文提出的安全協議,對RFID 標簽的工作狀態和跳轉關系進行重新設計,同時增加自定義命令[3]。

圖3 工作狀態跳轉圖
如圖3 所示,對通用RFID 標簽的工作狀態進行如下修改:
1)修改Open 狀態:在該狀態,Kill 命令為不可執行命令,Kill 命令不響應;接收到正確的Access命令后,跳轉到Identify 狀態。
2)新增Identify 狀態:在該狀態響應ID_CPRT,在T5 時間內接收到正確的ID_CPRT 命令,跳轉到Security 狀態,否則跳轉到Arbitrate 狀態。在該狀態下若接收到其他命令則直接跳轉到Arbitrate 狀態。
3)修改Security 狀態:在該狀態響應AK_UPDATA 命令和SEC_CON 命令,不響應ID_CPRT,Access 命令。
新增的自定義命令如下|:
1)新增ID_CRPT 命令,該命令用于閱讀器和標簽之間的雙向認證。
2)新增SEC_CON 命令,該命令用于閱讀器和標簽之間的安全通信。
3)新增AK_UPDATA 命令,該命令用于更新標簽內的滾動認證密鑰。
安全增強超高頻RFID 系統的空中接口的工作命令流程如圖4 所示。

圖4 工作命令流程
安全增強超高頻RFID 系統中的標簽芯片架構如圖5所示,其由模擬射頻前端模塊、數字基帶模塊、SM7 模塊、存儲器以及ESD 保護電路組成。模擬射頻前端模塊完成解調、調制、整流、時鐘生成、上電復位等功能;數字基帶完成ISO18000-6C 協議以及安全協議的實現;SM7 模塊實現輕量級對稱算法;ESD 電路提供天線端口的靜電防護[4]。

圖5 標簽芯片架構
安全增強超高頻RFID 系統中的讀寫器架構如圖6 所示,其由通用UHF 模塊、主控制器、TF 密碼模塊以及后端信道接口組成。通用UHF 模塊完成射頻信號的解調、調制和ISO18000-6C 協議實現,同時通過二次開發實現安全協議相關命令;TF 密碼模塊實現SM7 算法和其他用于后端信道的密碼算法;上位機接口實現讀寫器和上位機的通信;主控制器用于控制通用UHF 模塊、TF 密碼模塊和上位機接口。
安全增強超高頻RFID系統的組成如圖7所示,其由后臺系統、閱讀器和標簽組成,管理界面如圖8 所示。

圖6 讀寫器架構

圖7 安全增強超高頻RFID 系統組成
安全增強超高頻RFID 系統在人員身份識別應用中,標簽識別率統計如圖9 所示。在2172 次標簽識別操作中,第一次認證即成功的計1621 次,占比74.62%,平均耗時403ms;第二次認證方能成功的計329 次,占比15.15%,平均耗時1026ms;第三次認證方能成功的計110 次,占比5.06%,平均耗時1869ms;第四次認證方能成功的計40 次,占比1.84%,平均耗時2399ms;第五次認證方能成功的計31 次,占比1.43%,平均耗時2507ms;第六及以上次認證方能成功的計41 次,占比1.89%,平均耗時4858ms。

圖8 安全增強超高頻RFID 系統管理界面

圖9 標簽識別率統計
本文首先分析闡述了通用超高頻RFID 系統存在的安全風險及其應對策略,提出了基于ISO18000-6C協議和SM7 算法的超高頻RFID 系統空中接口安全協議,并該安全協議將其成功應用于某身份識別系統上,設計了相應的專用讀寫器、專用標簽芯片和后臺管理系統。經過系統實測,90%的標簽可在1s 內完成認證識別,基本滿足用戶需求。同時作者也注意到,在人員佩戴標簽的應用場景下,標簽通信過程易受干擾,導致部分標簽識別時間過長。作者在接下來的工作中,將重點研究如何縮短標簽單次認證時間并優化容錯機制,解決因電磁環境突變導致認證過程中斷進而造成標簽識別時間過長的問題。