王 勇, 范 鵬, 林子萱, 劉 蔚
(1.上海電力學(xué)院, 上海 200090; 2.上海云劍信息技術(shù)有限公司, 上海 200433)
高頻RFID標(biāo)簽密鑰安全性分析
王 勇1, 范 鵬1, 林子萱1, 劉 蔚2
(1.上海電力學(xué)院, 上海 200090; 2.上海云劍信息技術(shù)有限公司, 上海 200433)
介紹了無線射頻識(shí)別(RFID)和近場(chǎng)通訊(NFC)的工作原理,以及密碼加密機(jī)制與密鑰管理.主要論述了高頻RFID標(biāo)簽密鑰的安全性問題,并以Mifare Classic 1K卡為載體,論述了在新環(huán)境下RFID標(biāo)簽面臨的安全威脅,并針對(duì)這些威脅提出了防御措施.
無線射頻識(shí)別; 近場(chǎng)通訊; 電子標(biāo)簽; 暴力破解
無線射頻技術(shù)起源于二戰(zhàn)時(shí)期,起初僅為標(biāo)示而誕生,現(xiàn)已快速擴(kuò)張到了其他領(lǐng)域,如零售業(yè)、服務(wù)業(yè)、物流業(yè)、制造業(yè)、信息產(chǎn)業(yè)、醫(yī)療和國(guó)防等領(lǐng)域.反觀近兩年,帶有“閃付”[1]功能的銀聯(lián)卡得了較為廣泛的使用,也得到了廣泛的認(rèn)可,正在并逐步取代條形碼和磁條卡.此外,隨著物聯(lián)網(wǎng)的發(fā)展,無線射頻識(shí)別(Radio Frequency Identification,RFID)與無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)技術(shù)之間不斷地交融和協(xié)作,又為環(huán)境監(jiān)測(cè)、醫(yī)療護(hù)理、目標(biāo)跟蹤、軍事等領(lǐng)域帶來新的發(fā)展與契機(jī).
隨著RFID的大發(fā)展,其安全性越來越受到矚目.大量的票務(wù)系統(tǒng)使用的是比較簡(jiǎn)單的卡片,這些卡片往往沒有較好的加密保護(hù)[2].這也使得卡片的模擬、數(shù)據(jù)的篡改成為了可能.隨著RFID的進(jìn)一步發(fā)展,出現(xiàn)了一批安全性較高的標(biāo)簽.在互聯(lián)網(wǎng)中廣泛使用的DES,3DES,AES等加密算法也進(jìn)入了RFID領(lǐng)域,為標(biāo)簽數(shù)據(jù)的安全性起到了很好的保護(hù)作用.但是隨著側(cè)信道攻擊[3]的出現(xiàn),標(biāo)簽的安全性又出現(xiàn)了新的挑戰(zhàn).目前RFID面臨的最大威脅便是標(biāo)簽的安全性.而我國(guó)大量的門禁系統(tǒng)和校園一卡通仍廣泛使用Mifare Classic 1K卡(簡(jiǎn)稱M1卡),此種標(biāo)簽存在著較為嚴(yán)峻的安全問題.
RFID技術(shù)是一種非觸式自動(dòng)識(shí)別技術(shù),在無需人為干擾的條件下,可識(shí)別高速運(yùn)動(dòng)物體并可識(shí)別多個(gè)RFID標(biāo)簽.基本的RFID系統(tǒng)包含RFID標(biāo)簽、FRID讀卡器及天線3部分.大部分IC卡片都屬于RFID標(biāo)簽,每一個(gè)標(biāo)簽有且僅有一個(gè)UID,是卡片身份的唯一標(biāo)示,一般為4 B或7 B.依據(jù)標(biāo)簽內(nèi)部有無供電電源,RFID標(biāo)簽可分為主動(dòng)式、被動(dòng)式、半被動(dòng)式3種.這些便簽都具有存儲(chǔ)一定容量數(shù)據(jù)的能力和一定信息處理的功能.RFID讀卡器通過射頻識(shí)別信號(hào)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù).根據(jù)標(biāo)簽的不同,讀卡器可分為主動(dòng)讀卡器和被動(dòng)讀卡器.標(biāo)簽天線是一種通信感應(yīng)天線.標(biāo)簽的外形主要取決于天線的形狀及大小,而天線又取決于工作頻率和對(duì)作用距離的要求.目前比較常用的標(biāo)簽有4種頻率,即:低頻標(biāo)簽(125 kHz或134.2 kHz);高頻標(biāo)簽(13.56 MHz);超高頻標(biāo)簽(868~956 MHz);微波標(biāo)簽(2.45 GHz)[4].最為常見的Mifare Classic標(biāo)簽則屬于高頻標(biāo)簽[5].
RFID具體工作過程如下:讀寫器通過發(fā)射天線發(fā)送一定頻率的射頻信號(hào),當(dāng)標(biāo)簽進(jìn)入發(fā)射天線工作區(qū)域時(shí)產(chǎn)生感應(yīng)電流,標(biāo)簽獲得能量被激活,并將自身編碼等信息通過內(nèi)置發(fā)送線發(fā)送出去;系統(tǒng)接收天線接收到從標(biāo)簽發(fā)送來的載波信號(hào),經(jīng)天線調(diào)節(jié)器傳送至讀寫器,讀寫器對(duì)接收的信號(hào)進(jìn)行解調(diào)和解碼,然后送至計(jì)算機(jī)系統(tǒng)進(jìn)行相關(guān)處理;計(jì)算機(jī)系統(tǒng)針對(duì)不同的設(shè)定做出相應(yīng)的處理和控制[6].
近場(chǎng)通訊(Near-field communication,NFC)由飛利浦半導(dǎo)體(現(xiàn)恩智浦半導(dǎo)體公司)、諾基亞和索尼共同研制開發(fā).該技術(shù)由射頻識(shí)別演變而來,主要為兩臺(tái)電子設(shè)備提供短距離的通信支持.與RFID相比,NFC僅作為一種短距高頻的無線電技術(shù)存在,它只能夠識(shí)別10 cm以內(nèi)工作在13.56 MHz的電子設(shè)備或者電子標(biāo)簽.正是由于NFC受短距離通訊的約束,使得其能夠在移動(dòng)支付、門禁系統(tǒng)、信用卡、公交系統(tǒng)等方面得到廣泛的使用.方便快捷是其最大的優(yōu)點(diǎn)之一,不需要麻煩的配對(duì)過程,就能直接讀取和交換數(shù)據(jù).卡模擬是NFC一個(gè)較為突出的功能,其應(yīng)用也比較廣泛,這一技術(shù)也催生了模擬公交卡的出現(xiàn),華為、小米等手機(jī)制造商在部分機(jī)型上提供了手機(jī)替代公交卡的功能.
由于標(biāo)簽的計(jì)算資源和存儲(chǔ)能力都十分有限,一般采用對(duì)稱加密算法.主流半導(dǎo)體廠商一般會(huì)按照各自的需求自行設(shè)計(jì)加密算法.而RFID標(biāo)簽的安全性很大程度上取決于加密算法的安全性,多數(shù)算法的加密細(xì)節(jié)是不對(duì)外公開的,但也有部分RFID標(biāo)簽采用主流的加密算法,如3DES和RSA等加密算法.
密鑰管理包含密鑰的生成、導(dǎo)入、導(dǎo)出、備份、恢復(fù)、申請(qǐng)、分發(fā)、同步、更新、銷毀等內(nèi)容.密鑰的管理不僅涉及密鑰管理系統(tǒng),還與人的因素有關(guān).一方面,密鑰的管理是對(duì)密鑰管理系統(tǒng)的管理,密鑰管理系統(tǒng)要保證其可靠性;生成的密鑰要可靠,應(yīng)該滿足一卡一密的要求;密鑰的傳輸要可靠,應(yīng)盡量避免被監(jiān)聽的可能;密鑰的存儲(chǔ)要可靠,保障其不會(huì)泄露等.另一方面也是對(duì)系統(tǒng)管理人員的管理,管理人員在操作上要滿足安全性需求.
Mifare Classic 1K卡是恩智浦半導(dǎo)體公司(NXP Semiconductors)生產(chǎn)的一款芯片.1994年M1卡研發(fā)成功至今已有20多年的歷史.M1卡屬于Mifare系列卡的第一代卡片.目前Mifare 卡是世界上使用量最大、技術(shù)最成熟、性能最穩(wěn)定、內(nèi)存容量最大的一種感應(yīng)式智能IC卡.據(jù)Mifare官網(wǎng)顯示,Mifare系列卡片在交通票務(wù)系統(tǒng)的市場(chǎng)占有率已超過77%.
Mifare Classic 1K卡雖然已被證明極其脆弱,但仍有一定的市場(chǎng)占有率.在交通領(lǐng)域已經(jīng)很少見到Mifare Classic 1K卡的身影,但在門禁系統(tǒng)和校園一卡通中卻占有很大的保有量.2007年底,在柏林進(jìn)行的第24屆黑客大會(huì)Chaos Communication Congress上揭開了破解Mifare Classic 1K的神秘面紗,研究人員掌握了一個(gè)16位隨機(jī)數(shù)發(fā)生器的原理,每次都能夠準(zhǔn)確預(yù)測(cè)下一個(gè)隨機(jī)數(shù)的值.自此研究人員不斷探索,終于揭開了Mifare Classic 1K加密算法Crypto-1的廬山真面目.
起初在Crypto-1算法沒有公開前,最有效的攻擊方法是暴力破解.暴力破解需要耗費(fèi)龐大的計(jì)算資源.Mifare Classic 1K卡由16個(gè)扇區(qū)組成,每個(gè)扇區(qū)對(duì)應(yīng)64位(二進(jìn)制)的密鑰.若要破譯一張Mifare Classic 1K卡片,就需要破解得到16個(gè)密鑰,而這16個(gè)密鑰之間互不干擾、相互獨(dú)立.暴力破解只需要對(duì)每個(gè)扇區(qū)重復(fù)同樣的操作,以時(shí)間和計(jì)算資源為代價(jià)就能夠獲得卡片的原始數(shù)據(jù)[7].得到了原始數(shù)據(jù)的攻擊者就能夠進(jìn)行一系列的操作,如進(jìn)行數(shù)據(jù)篡改和數(shù)據(jù)重放等.
以下是一張空白卡片的前5個(gè)扇區(qū)的數(shù)據(jù):
Block 04,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 03,keyffffffffffff:00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 02,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 01,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 00,keyffffffffffff:24 e3 4a 1a 97 08 04 00 69 73 73 69 35 36 35 30
圖1為第0扇區(qū)的第0塊定義.第0扇區(qū)的第0塊中包含作為唯一標(biāo)識(shí)的UID和生產(chǎn)廠商信息,原則上這一塊的數(shù)據(jù)不可修改[8].這一塊的數(shù)據(jù)受到寫保護(hù),但也有存在故意制作出對(duì)第0扇區(qū)可寫的事件發(fā)生.一旦當(dāng)?shù)?扇區(qū)的數(shù)據(jù)被篡改,UID就不能惟一地辨識(shí)一張標(biāo)簽.如果該RFID標(biāo)簽為一張購(gòu)物卡,就有可能被人盜刷.盜刷者所要做的僅僅是獲取原卡片數(shù)據(jù)并復(fù)寫到他的另一張預(yù)先準(zhǔn)備好的第0扇區(qū)可寫的卡片上.于是兩張卡內(nèi)的數(shù)據(jù)便一模一樣,讀卡器無法辨別卡片的真?zhèn)?它只能識(shí)別卡片內(nèi)的數(shù)據(jù)是否合法,即判斷卡片中對(duì)應(yīng)數(shù)據(jù)的定義是否與該應(yīng)用系統(tǒng)定義的數(shù)據(jù)具有一致性.這種攻擊方式需要得到硬件的支持,但令人擔(dān)憂的是目前能夠輕易地買到0扇區(qū)可寫的空白卡.
圖1 第0扇區(qū)的第0塊定義
在卡片原始數(shù)據(jù)的獲取中,最為重要的是獲得16個(gè)扇區(qū)的密鑰.剛開始可以嘗試使用一些常見的密鑰,以縮短暴力破擊的時(shí)間.常見的弱密鑰有FFFFFFFFFFFF,000000000000,A0A1A2A4A5A6, 123456789ABC,D3F7D3F7D3F7等.另外,在暴力破解密碼中可以利用一些工具,例如MFOC(Mifare Classic Offline Cracker)和MFUCK等.MFOC是由國(guó)外安全研究團(tuán)隊(duì)nethemba開發(fā)的,它使用Libnfc和Crypto-1庫(kù)離線恢復(fù)密碼,使用的攻擊方法稱為“Offline Nested-attack”.恢復(fù)全部16個(gè)密鑰的前提是已知一個(gè)扇區(qū)的密鑰,無論是這個(gè)密鑰使用的默認(rèn)密鑰還是在MFOC的字典當(dāng)中.如果找不到一個(gè)可供的密鑰,MFOC程序會(huì)調(diào)用另一工具M(jìn)FCUK庫(kù).與MFOC不同的是,MFUCK利用Crypto-1加密算法的缺陷,可以在不知道任何一個(gè)扇區(qū)密鑰的情況下找到16個(gè)扇區(qū)的全部密鑰[9].
以下為某高校校園一卡通各扇區(qū)keyA和keyB所使用的密鑰:
Sector 00- UNKNOWN_KEY[A] Sector 00 - UNKNOWN_KEY[B]
Sector 01- UNKNOWN_KEY[A] Sector 01 - UNKNOWN_KEY[B]
Sector 02- UNKNOWN_KEY[A] Sector 02 - UNKNOWN_KEY[B]
Sector 03- UNKNOWN_KEY[A] Sector 03 - UNKNOWN_KEY[B]
Sector 04- UNKNOWN_KEY[A] Sector 04 - UNKNOWN_KEY[B]
Sector 05- UNKNOWN_KEY[A] Sector 05 - UNKNOWN_KEY[B]
Sector 06- FOUND_KEY [A] Sector 06 - FOUND_KEY [B]
Sector 07- FOUND_KEY [A] Sector 07 - FOUND_KEY [B]
Sector 08- FOUND_KEY [A] Sector 08 - FOUND_KEY [B]
Sector 09- FOUND_KEY [A] Sector 09 - FOUND_KEY [B]
Sector 10- FOUND_KEY [A] Sector 10 - FOUND_KEY [B]
Sector 11- FOUND_KEY [A] Sector 11 - FOUND_KEY [B]
Sector 12- FOUND_KEY [A] Sector 12 - FOUND_KEY [B]
Sector 13- FOUND_KEY [A] Sector 13 - FOUND_KEY [B]
Sector 14- UNKNOWN_KEY[A] Sector 14 - FOUND_KEY [B]
Sector 15- UNKNOWN_KEY[A] Sector 15 - FOUND_KEY [B]
采用MFOC工具可知,這張卡片使用的是弱密鑰.MFOC工具可以把第6扇區(qū)作破解扇區(qū),從而恢復(fù)各個(gè)扇區(qū)的密鑰.采用弱密鑰是一個(gè)廣泛存在的問題,不僅是在RFID領(lǐng)域,在互聯(lián)網(wǎng)領(lǐng)域更是如此.如果在Mifare Classic 1K應(yīng)用的每一個(gè)領(lǐng)域都能夠做到不使用默認(rèn)密碼和弱密碼,那么像MFOC這類工具可能就不會(huì)出現(xiàn).此外,RFID還面臨著標(biāo)簽偽造、數(shù)據(jù)嗅探、軌跡追蹤、拒絕服務(wù)、欺騙、抵賴、插入攻擊、重傳攻擊、物理攻擊、病毒(后端數(shù)據(jù)庫(kù))等安全問題和威脅[10].
在智能手機(jī)普及的今天,幾乎每一個(gè)人都有一部屬于自己的手機(jī).智能手機(jī)提供給我們豐富的信息資源、有趣的游戲以及各式各樣的應(yīng)用程序.同時(shí)智能手機(jī)也從我們身邊收集各種數(shù)據(jù),如位置信息、亮度、光線強(qiáng)度、指紋、心率等.從掃描器的角度來看,智能手機(jī)無疑是一個(gè)多功能、跨領(lǐng)域的掃描器.手機(jī)的各種傳感器大大方便了人們的生產(chǎn)生活,同時(shí)也帶來了新的契機(jī)和隱患.
由于NFC的短距離通訊保障了傳輸過程的數(shù)據(jù)安全性,不至于被第三方嗅探監(jiān)聽,因此近些年來NFC受到了各行各業(yè)的關(guān)注和青睞.2016年,Apple Pay,華為 Pay,小米Pay等移動(dòng)支付相繼上線,標(biāo)志著NFC在支付領(lǐng)域又跨越了一大步.國(guó)內(nèi)在支付寶和微信支付主導(dǎo)的移動(dòng)支付下,NFC支付沒有得到很好的普及,但在某些領(lǐng)域卻有較為突出的優(yōu)勢(shì),如公共交通中具有NFC功能的手機(jī)可以替代交通卡使用.
在2008年想要購(gòu)買到一套能夠破解Mifare Classic 1K卡的設(shè)備需要花費(fèi)數(shù)千元人民幣,例如Proxmark III.這兩年只需要花數(shù)百元人民幣購(gòu)買ACR122U,然后下載一些開源工具就能破解Mifare Classic 1K卡.一個(gè)簡(jiǎn)單的讀卡器就具備了讀寫Mifare Classic 1K卡的功能,而開源的漏洞利用工具只需一兩條命令就能拿到卡片的原始數(shù)據(jù).這些都大大降低了攻擊的門檻,同時(shí)給Mifare Classic 1K卡造成了巨大的威脅.人民網(wǎng)2017年1月21報(bào)道,北京某高校一名大學(xué)生曲某盜刷校園卡2萬余元.根據(jù)人民網(wǎng)提供的照片顯示,曲某使用的讀卡器正是ACR122U.現(xiàn)如今不少手機(jī)具備了NFC功能,常見的RFID卡片都能夠讀取.因?yàn)槌R姷腞FID卡采用的大多是13.56 MHz的高頻卡,NFC恰好用的是13.56 MHz的工作頻率.因此,也可以說NFC是RFID的一個(gè)子集,常見的RFID標(biāo)簽處于兩者的交集中.
現(xiàn)在比較好用的一款工具叫做“Mifare Classic Tools(MCT)”,但此款工具不具有暴力破擊的能力.此款工具能對(duì)Mifare Classic 1K卡進(jìn)行讀寫操作,但前提是必須預(yù)先提供16個(gè)扇區(qū)所需的密鑰.此外,這款工具還具有一定的數(shù)據(jù)處理能力,能夠提供差異比較攻擊等,可以為數(shù)據(jù)分析提供很好的幫助.
移動(dòng)帶來了極大的便捷性,也使得攻擊無時(shí)不在、無處不在.每一部手機(jī)都成了潛在的威脅,防御難度大大增加.手機(jī)更新周期較快,對(duì)RFID讀卡器進(jìn)行認(rèn)證顯然不太實(shí)際.因此,在應(yīng)用普及和安全間找到一個(gè)平衡點(diǎn)至關(guān)重要.如今物聯(lián)網(wǎng)快速成長(zhǎng),在新的環(huán)境下RFID面臨巨大的安全挑戰(zhàn)與契機(jī).在RFID的應(yīng)用中可能會(huì)暴露出其脆弱之處,RFID安全還需進(jìn)一步完善.
針對(duì)攻擊方法多樣、攻擊平臺(tái)多樣的現(xiàn)狀,提出有針對(duì)性的防御措施非常重要.
(1) 標(biāo)簽方面 一是使用強(qiáng)度較高的加密算法,加大暴力破解的難度.二是對(duì)數(shù)據(jù)進(jìn)行混淆處理(如多次計(jì)算校驗(yàn)值等),加大攻擊者的分析處理難度.不同的應(yīng)用場(chǎng)景、不同的應(yīng)用主體對(duì)數(shù)據(jù)的定義并不相同,做到一定的差異化,能夠有效地避免連帶傷害的出現(xiàn).三是各扇區(qū)密鑰應(yīng)使用強(qiáng)度較高的密鑰,避免使用弱密碼.
(2) 管理方面 一是加強(qiáng)對(duì)后臺(tái)數(shù)據(jù)的嚴(yán)密保護(hù),只有授權(quán)人員才能查看;二是嚴(yán)格規(guī)范后臺(tái)數(shù)據(jù)管理人員的操作.
(3) 個(gè)人方面 應(yīng)加強(qiáng)個(gè)人安全意識(shí),在使用RFID時(shí)小心謹(jǐn)慎,不讓有心人得逞;不隨便把卡片借予他人;養(yǎng)成良好的行為習(xí)慣,拒絕不勞而獲.
隨著無線射頻技術(shù)的發(fā)展與應(yīng)用,電子標(biāo)簽的應(yīng)用極大地促進(jìn)了信息識(shí)別與智能管理,給人們的生產(chǎn)生活帶來了極大的便利,但由此帶來的問題也十分突出.因此,加強(qiáng)安全意識(shí),提高防御技術(shù),是目前的重中之重.
[1] 董崢.閃付,從用戶體驗(yàn)談開去[J].中國(guó)信用卡,2015(9):42-43.
[2] GARCIA F D,de KONING G G,VERDULT R.Tutorial:proxmark,the swiss army knife for RFID security research[R].Technical report,Radboud University Nijmegen,2012:1-2.
[3] OSWALD D,PAAR C.Breaking mifare DESFire MF3ICD40:power analysis and templates in the real world[C]//International Workshop on Cryptographic Hardware and Embedded Systems.Springer Berlin Heidelberg,2011:207-222.
[4] LAI C L,FANG K,CHIEN S W.Enhanced monitoring of tuberculosis patients by using RFID technologies[J].International Journal of Mobile Communications,2010,8(2):244-256.
[5] LEMONNIER V,AFFOUARD B.Mobile communication device and method for implementing mifare memory multiple sectors mechanisms[P].U.S.Patent Application 12/920,663.2009-02-26:1-5.
[6] 落紅衛(wèi),程偉.RFID 安全威脅和防護(hù)措施[J].電信網(wǎng)技術(shù),2010(3):38-40.
[7] 陳威,陳樂然,徐小天.Mifare卡安全性和破解技術(shù)[J].電氣應(yīng)用,2015(S2):782-787.
[8] BERINI Sarrias M,HERRERA Joancomartí J.Security in RFID devices[EB/OL].[2013-05-12].https//ddd.uab.cat/put/trerecpro/2013/hdl2072232718/PFC MartiBerinisarrias.pdf.
[9] GUPTA K,UBUNTU I.Hacking mifare classic[EB/OL].[2013-03-06].http://www.nicolascourtois.com/MifareclassicHack.pdf.
[10] 丁春燕.RFID安全的十大問題與威脅[J].計(jì)算機(jī)與網(wǎng)絡(luò),2015,41(23):52-52.
SecurityAnalysisofHighFrequencyRFIDCardKeys
WANG Yong1, FAN Peng1, LIN Zixuan1, LIU Wei2
(1.ShanghaiUniversityofElectricPower,Shanghai200090,China;2.ShanghaiCloudSwordInformationTechnologyCo,.LTD,Shanghai200433,China)
The working principles of radio frequenty identification(RFID) and near field communication(NFC) are introduced.Security threats and defenses in the new environment.The security of high frequency RFID tag key,and the security threat of RFID tag in the new environment with Mifare Classic 1K card as carrier are discussed.Some defensive measures are put forward against these threats.
radio frequency identification; near field communication; RFID tags; brute-force analysis
10.3969/j.issn.1006-4729.2017.05.018
2017-03-09
王勇(1973-),男,博士,教授,河南確山人.主要研究方向?yàn)樾畔踩?E-mail:wy616@126.com.
上??茖W(xué)技術(shù)委員會(huì)地方能力建設(shè)項(xiàng)目(15110500700);上海市浦江人才計(jì)劃資助項(xiàng)目(16PJ1433100);上海市自然科學(xué)基金(16ZR1436300);上??茖W(xué)技術(shù)委員會(huì)中小企業(yè)創(chuàng)新基金(1501H1B7700,1601H1E2600).
TN918.4;TP391.44
A
1006-4729(2017)05-0500-05
(編輯 胡小萍)