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