何衛(wèi)國,范偉力,朱 翔
(成都三零嘉微電子有限公司,四川 成都 610041)
射頻識別技術(Radio Frequency Identification,以下簡稱RFID)是在各個生產(chǎn)和生活領域廣泛商用的自動識別技術,被看作是構成21 世紀先進物聯(lián)網(wǎng)技術的重要基礎技術。RFID 技術利用射頻通信中的回射原理實現(xiàn)數(shù)據(jù)信息的空中無線通信傳遞。標簽與讀寫器構成的RFID 識別系統(tǒng)能迅速識別大量標識信息,擺脫了條形碼等傳統(tǒng)標簽在讀取信息時需要人為手工操作的缺點。
根據(jù)應用環(huán)境的不同,用戶對RFID 系統(tǒng)安全性提出了不同的要求。例如在電子收費系統(tǒng)中需要保證電子標簽中的數(shù)據(jù)無法被篡改偽造;在人員身份識別系統(tǒng)中需保證標簽不被復制使用。
超高頻RFID 系統(tǒng)的識讀距離遠,空中接口暴露在開放環(huán)境,極易受到攻擊[1][2]??罩薪涌诿媾R的威脅如表1。
表1 空中接口面臨的安全威脅
針對RFID 系統(tǒng)空中接口面臨的以上威脅,應對措施如下:
1.克隆攻擊
克隆攻擊是指攻擊者非法復制一張合法的RFID標簽,由于克隆標簽完整復制了合法標簽的全部信息、包括標簽標識、業(yè)務數(shù)據(jù)、存儲的密鑰等,因此無法通過常規(guī)的認證手段對克隆標簽進行鑒別。
針對克隆攻擊,可采用滾動認證密鑰的方式來應對。在標簽每次合法認證流程中,更新滾動認證密鑰。
2.欺騙攻擊
欺騙攻擊是指攻擊者利用軟硬件等方式來模擬合法的RFID 標簽。由于攻擊者模擬的RFID 標簽無法獲得合法RFID 標簽中的密鑰等認證信息,因此在RFID 系統(tǒng)的通信過程中加入讀寫器和標簽之間的雙向認證機制就可應對欺騙攻擊的威脅。
考慮到RFID 標簽功耗低、計算能力弱的特點,可采用輕量級分組算法實現(xiàn)認證流程。
3.非授權訪問攻擊
非授權訪問攻擊是指攻擊者在未授權的情況下非法讀取RFID 標簽中的存儲信息。通過對RFID 標簽進行分區(qū)口令管理,可以有效應對非授權訪問攻擊的威脅??紤]到系統(tǒng)對存儲各區(qū)的不同安全性要求,可對RFID 標簽存儲區(qū)采用分級管理的機制,分別對各區(qū)設置讀口令、寫口令、鎖定口令。每個RFID 標簽的訪問口令在標簽初始化時由RFID讀寫器通過根密鑰RK 和標簽唯一標識生成,口令具有唯一性。
1.假冒攻擊
RFID 讀寫器層面臨的安全威脅主要是假冒攻擊,攻擊者通過偽造一個非法讀寫器來讀取或更改RFID 標簽信息。在假設根密鑰RK 絕對安全的前提下,同樣可以通過加入讀寫器和標簽之間的雙向認證機制就可應對假冒攻擊的威脅。
1.竊聽攻擊
竊聽攻擊是指攻擊者非法竊聽RFID 讀寫器和RFID 標簽之間的無線通信過程。由于無線信號在空間上的開放性,無法避免RFID 系統(tǒng)通信過程中產(chǎn)生的電磁波不被攻擊者獲取,因此只能采用對通信內(nèi)容加密的方式來應對竊聽攻擊的威脅。
同樣出于RFID 標簽功耗低、計算能力弱的考慮,在RFID 標簽和RFID 讀寫器的安全通信中,仍然采用輕量級對稱算法對通信數(shù)據(jù)進行加解密。在標簽和讀寫器的一次互相認證過程中,均會協(xié)商產(chǎn)生新的會話密鑰SK。
2.重放攻擊
重放攻擊是指攻擊者在RFID 讀寫器和RFID標簽之間重放之前的通信內(nèi)容。在RFID 系統(tǒng)認證過程和安全通信過程中,可以通過在通信數(shù)據(jù)中添加隨機數(shù)的方式來應對重放攻擊。當信息的接受方連續(xù)接收到若干次包含相同隨機數(shù)(該隨機數(shù)通過加密方式傳輸)的數(shù)據(jù)時,接收方就判定遭受到了重放攻擊,并拒絕接受該命令或業(yè)務數(shù)據(jù)。
3.篡改攻擊
篡改攻擊是指攻擊者在RFID 讀寫器和RFID標簽之間攔截并修改、替換通信內(nèi)容。使用雜湊算法或CRC 校驗機制可以有效保護傳輸信息的完整性,應對篡改攻擊的威脅。
上文中,分析了普通RFID 系統(tǒng)空口面臨的安全威脅,并提出了相應的解決措施,本節(jié)依據(jù)上文提出的解決措施,設計了安全增強的RFID 系統(tǒng)空中接口安全協(xié)議。該安全協(xié)議由認證協(xié)議和加密通信協(xié)議兩部分組成,通過在超高頻RFID 的通用ISO18000-6C 協(xié)議中,增加若干自定義命令,實現(xiàn)滾動密鑰認證和加密通信功能[2]。該協(xié)議中的加解密操作均由輕量級對稱算法——SM7 算法實現(xiàn)。
空中接口認證協(xié)議流程如圖1 所示。
圖1 空中接口認證協(xié)議
讀寫器首先發(fā)送激活命令,標簽返回ID。
讀寫器查詢該ID 是否有效,若有效,由后臺下發(fā)該標簽的當前滾動認證密鑰DAK 到讀寫器。
讀寫器使用DAK 發(fā)起和標簽間的雙向挑戰(zhàn)認證,認證通過后,協(xié)商出密鑰SK 作為下一步加密通信用密鑰。
后臺生成該標簽新的DAKn 下發(fā)到讀寫器,讀寫器使用會話SK 加密后發(fā)送給標簽。
標簽收到新的DAKn 后,用其替換內(nèi)部存儲的滾動認證密鑰DAK。
標簽返回滾動認證密鑰更新成功標志,認證流程結束。
空中接口加密通信協(xié)議流程如圖2 所示。
圖2 空中接口加密通信協(xié)議
讀寫器產(chǎn)生隨機數(shù)Rr,使用認證過程中協(xié)商得到的會話密鑰SK 對需發(fā)送命令的負載和Rr 進行加密,并將加密結果ESK(命令負載||Rr)發(fā)送給標簽。
標簽使用會話密鑰SK 對ESK(命令負載||Rr)解密得到命令負載和Rr,標簽執(zhí)行命令后得到響應數(shù)據(jù)。
標簽產(chǎn)生隨機數(shù)Rt,使用會話密鑰SK 對返回數(shù)據(jù)||Rt 加密,并將加密后的結果ESK(返回數(shù)據(jù)||Rt)發(fā)送給讀寫器。
讀寫器使用會話密鑰SK 對接收到的ESK(返回數(shù)據(jù)||Rt)進行解密,獲得標簽的響應數(shù)據(jù),至此一次完整的安全通信流程結束。隨機數(shù)Rr 和Rt 用于抵御重放攻擊的威脅。
為實現(xiàn)超高頻RFID 系統(tǒng)的安全增強設計,基于上文提出的安全協(xié)議,對RFID 標簽的工作狀態(tài)和跳轉關系進行重新設計,同時增加自定義命令[3]。
圖3 工作狀態(tài)跳轉圖
如圖3 所示,對通用RFID 標簽的工作狀態(tài)進行如下修改:
1)修改Open 狀態(tài):在該狀態(tài),Kill 命令為不可執(zhí)行命令,Kill 命令不響應;接收到正確的Access命令后,跳轉到Identify 狀態(tài)。
2)新增Identify 狀態(tài):在該狀態(tài)響應ID_CPRT,在T5 時間內(nèi)接收到正確的ID_CPRT 命令,跳轉到Security 狀態(tài),否則跳轉到Arbitrate 狀態(tài)。在該狀態(tài)下若接收到其他命令則直接跳轉到Arbitrate 狀態(tài)。
3)修改Security 狀態(tài):在該狀態(tài)響應AK_UPDATA 命令和SEC_CON 命令,不響應ID_CPRT,Access 命令。
新增的自定義命令如下|:
1)新增ID_CRPT 命令,該命令用于閱讀器和標簽之間的雙向認證。
2)新增SEC_CON 命令,該命令用于閱讀器和標簽之間的安全通信。
3)新增AK_UPDATA 命令,該命令用于更新標簽內(nèi)的滾動認證密鑰。
安全增強超高頻RFID 系統(tǒng)的空中接口的工作命令流程如圖4 所示。
圖4 工作命令流程
安全增強超高頻RFID 系統(tǒng)中的標簽芯片架構如圖5所示,其由模擬射頻前端模塊、數(shù)字基帶模塊、SM7 模塊、存儲器以及ESD 保護電路組成。模擬射頻前端模塊完成解調、調制、整流、時鐘生成、上電復位等功能;數(shù)字基帶完成ISO18000-6C 協(xié)議以及安全協(xié)議的實現(xiàn);SM7 模塊實現(xiàn)輕量級對稱算法;ESD 電路提供天線端口的靜電防護[4]。
圖5 標簽芯片架構
安全增強超高頻RFID 系統(tǒng)中的讀寫器架構如圖6 所示,其由通用UHF 模塊、主控制器、TF 密碼模塊以及后端信道接口組成。通用UHF 模塊完成射頻信號的解調、調制和ISO18000-6C 協(xié)議實現(xiàn),同時通過二次開發(fā)實現(xiàn)安全協(xié)議相關命令;TF 密碼模塊實現(xiàn)SM7 算法和其他用于后端信道的密碼算法;上位機接口實現(xiàn)讀寫器和上位機的通信;主控制器用于控制通用UHF 模塊、TF 密碼模塊和上位機接口。
安全增強超高頻RFID系統(tǒng)的組成如圖7所示,其由后臺系統(tǒng)、閱讀器和標簽組成,管理界面如圖8 所示。
圖6 讀寫器架構
圖7 安全增強超高頻RFID 系統(tǒng)組成
安全增強超高頻RFID 系統(tǒng)在人員身份識別應用中,標簽識別率統(tǒng)計如圖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 系統(tǒng)管理界面
圖9 標簽識別率統(tǒng)計
本文首先分析闡述了通用超高頻RFID 系統(tǒng)存在的安全風險及其應對策略,提出了基于ISO18000-6C協(xié)議和SM7 算法的超高頻RFID 系統(tǒng)空中接口安全協(xié)議,并該安全協(xié)議將其成功應用于某身份識別系統(tǒng)上,設計了相應的專用讀寫器、專用標簽芯片和后臺管理系統(tǒng)。經(jīng)過系統(tǒng)實測,90%的標簽可在1s 內(nèi)完成認證識別,基本滿足用戶需求。同時作者也注意到,在人員佩戴標簽的應用場景下,標簽通信過程易受干擾,導致部分標簽識別時間過長。作者在接下來的工作中,將重點研究如何縮短標簽單次認證時間并優(yōu)化容錯機制,解決因電磁環(huán)境突變導致認證過程中斷進而造成標簽識別時間過長的問題。