物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

《硅谷》雜志:計(jì)算機(jī)應(yīng)用之無線射頻探析

作者:馮超
來源:RFID世界網(wǎng)
日期:2013-01-30 11:12:00
摘要:隨著科技的不斷發(fā)展,NFC技術(shù)開始越來越多的走入我們的生活。坐公交時(shí)刷公交卡、購物時(shí)刷NFC手機(jī),讓我們的生活更加便捷。然后便捷的同時(shí),也帶來了一定的安全隱患。

  隨著科技的不斷發(fā)展,NFC技術(shù)開始越來越多的走入我們的生活。坐公交時(shí)刷公交卡、購物時(shí)刷NFC手機(jī),讓我們的生活更加便捷。然后便捷的同時(shí),也帶來了一定的安全隱患。從本質(zhì)上講,NFC是一種無線通信技術(shù),只要有合適的設(shè)備,就可以很容易的進(jìn)行竊聽。如何保證RFID使用的安全性,也成為了安全領(lǐng)域的一大研究熱點(diǎn)。

1什么是無線射頻

  無線射頻譯自英文RadioFrequencyIdentification,簡稱為RFID,是20世紀(jì)90年代興起的一種非接觸式的自動(dòng)識(shí)別技術(shù)。射頻技術(shù)(RFID)相對于傳統(tǒng)的磁卡及IC卡技術(shù)具有非接觸、閱讀速度快、無磨損等特點(diǎn)。無線射頻技術(shù)在閱讀器和射頻卡之間進(jìn)行非接觸雙向數(shù)據(jù)傳輸,以達(dá)到目標(biāo)識(shí)別和數(shù)據(jù)交換的目的。與傳統(tǒng)的條型碼、磁卡及IC卡相比,射頻卡具有非接觸、閱讀速度快、無磨損、不受環(huán)境影響、壽命長、便于使用的特點(diǎn)和具有防沖突功能,能同時(shí)處理多張卡片。

  我們?nèi)粘J褂玫臒o線射頻技術(shù)主要涉及到以下兩個(gè)概念。進(jìn)場通信技術(shù)(NearFieldCommunication,NFC)是一種短距離的無線通訊技術(shù),可允許電子設(shè)備之間進(jìn)行非接觸式點(diǎn)對點(diǎn)資料傳輸。射頻識(shí)別技術(shù)使用無線通信技術(shù)識(shí)別特定目標(biāo),NFC技術(shù)就是在RFID的基礎(chǔ)上發(fā)展出來的。

  早期的RFID卡功能簡單,僅包含目標(biāo)表示,所以又稱為標(biāo)簽(tag),其外形也不固定,常用于物聯(lián)網(wǎng)等需要進(jìn)行目標(biāo)的識(shí)別和跟蹤等場合。而日常生活中使用的信用卡大小的RFID卡,本文稱之為非接觸智能卡,功能更加強(qiáng)大,也是本文主要探析的對象。

  射頻技術(shù)主要用于生產(chǎn)流水線管理、倉儲(chǔ)管理、銷售管理、商品防偽、證件防偽、汽車防盜、物品防盜、包裹管理、物品跟蹤、運(yùn)輸工具和貨架識(shí)別等。如香港的車輛自動(dòng)識(shí)別系統(tǒng)采用的就是無線射頻技術(shù),當(dāng)裝有電子標(biāo)簽的車輛通過裝有射頻掃描器的專用隧道、橋梁、高速公路、停車場時(shí),無需停車?yán)U費(fèi),大大提高了行車速度,提高了運(yùn)輸效率。

  典型的無線射頻技術(shù)系統(tǒng)一般由電子標(biāo)簽、讀寫器、數(shù)據(jù)交換和管理系統(tǒng)等組成。電子標(biāo)簽也叫射頻卡,具有發(fā)射、接收無線信號(hào)的功能并帶有可擦除只讀存儲(chǔ)器的小芯片,有智能讀寫和加密通信的功能。讀寫器由無線收發(fā)模塊、天線、控制模塊及接口電路組成,基本功能提供數(shù)據(jù)傳輸?shù)耐緩?。而車載MP3就是在普通的MP3上加一個(gè)無線射頻。

  無線射頻的工作流程主要是閱讀器通過發(fā)射天線發(fā)送一定頻率的射頻信號(hào),當(dāng)射頻卡進(jìn)入發(fā)射天線工作區(qū)域時(shí)產(chǎn)生感應(yīng)電流,射頻卡獲得能量被激活;射頻卡將自身編碼等信息通過卡內(nèi)置發(fā)送天線發(fā)送出去;系統(tǒng)接收天線接收到從射頻卡發(fā)送來的載波信號(hào),經(jīng)天線調(diào)節(jié)器傳送到閱讀器,閱讀器對接收的信號(hào)進(jìn)行解調(diào)和解碼然后送到后臺(tái)主系統(tǒng)進(jìn)行相關(guān)處理;主系統(tǒng)根據(jù)邏輯運(yùn)算判斷該卡的合法性,針對不同的設(shè)定做出相應(yīng)的處理和控制,發(fā)出指令信號(hào)控制執(zhí)行機(jī)構(gòu)動(dòng)作。目前常用的非接觸智能卡分為存儲(chǔ)卡(MemoryCard)和CPU卡;前者又分為無加密型和有邏輯加密型兩種。

2存儲(chǔ)卡安全性

  為了保護(hù)卡里的信息不被惡意讀取或篡改,邏輯加密卡加入了密鑰認(rèn)證這一步驟。邏輯加密卡加入了密鑰認(rèn)證這一步驟。MiFareclassic卡是較常見的一種邏輯加密卡,在國際市場上占有和使用率很高,但是它也有它自身的缺陷。

  2.1MiFareclassic卡介紹及其缺陷

  MIFAREclassic(以下簡稱mfc卡)卡是目前世界上使用量最大、技術(shù)最成熟、性能最穩(wěn)定、內(nèi)存容量最大的一種感應(yīng)式智能IC卡。

  MIFARE經(jīng)常被認(rèn)為是一種智能卡的技術(shù),這是因?yàn)樗梢栽诳ㄆ霞婢咦x寫的功能。事實(shí)上,MIFARE僅具備記憶功能,必須搭配處理器卡才能達(dá)到讀寫功能。

  MIFARE的非接觸式讀寫功能是設(shè)計(jì)來處理大眾運(yùn)輸系統(tǒng)中的付費(fèi)交易部分,其與眾不同的地方是具備執(zhí)行升冪和降序的排序功能,簡化資料讀取的過程。盡管接觸性智能卡也能夠執(zhí)行同樣的動(dòng)作,但非接觸性智能卡的速度更快且操作更簡單,而且卡片閱讀機(jī)幾乎不需要任何維修,卡片也較為耐用。

  MIFARE非接觸智能卡之卡片閱讀機(jī)的標(biāo)準(zhǔn)讀卡距離是1.0吋至3.9吋(亦即2.5至10公分)。在北美,由于FCC(電力)的限制,讀卡距離則在2.5公分左右。

  mfc卡的存取區(qū)分為數(shù)個(gè)扇區(qū),每個(gè)扇區(qū)結(jié)尾保存有兩個(gè)6字節(jié)的密鑰,用于對本扇區(qū)的讀寫操作。mfc卡結(jié)構(gòu)簡單,讀寫速度快,市場普及率很高,舊版北京公交卡使用的就是這個(gè)卡。

  mfc卡的加密算法是私有的,只有硬件實(shí)現(xiàn),在2008年遭到逆向破解。研究組織通過對硬件的逆向分析,將加密算法還原。算法包括一個(gè)“線性反饋移位寄存器”(linearfeed-backshiftregister,LFSR)和非線性濾波器f。

  當(dāng)讀卡器需要讀取mfc卡的內(nèi)容時(shí),其認(rèn)證過程首先是讀卡器(Reader)首先發(fā)送認(rèn)證命令(auth)給卡片(tag),卡片生成隨機(jī)數(shù)nT并發(fā)送給讀卡器。讀卡器回復(fù)加密后nT(aT),同時(shí)也發(fā)送一個(gè)隨機(jī)數(shù)nR。最后卡片根據(jù)nR回復(fù)應(yīng)答(aR)給讀卡器。通過對加密算法的分析,發(fā)現(xiàn)通過nT、aT、nR和aR就能還原出加密算法使用的密鑰。

  由于存在安全問題,目前mfc卡已逐漸退出有安全要求的消費(fèi)領(lǐng)域。MiFare的設(shè)計(jì)廠商也該改進(jìn)了原有的卡設(shè)計(jì),推出了使用公開加密算法的升級版MiFare系列。同時(shí)一種新型的智能卡----CPU卡也開始被越來越多的使用。

  2.2無加密存儲(chǔ)卡

  無加密的存儲(chǔ)卡由于安全性較低,現(xiàn)在使用的并不多。還有一種和無加密存儲(chǔ)卡類似的卡片,也就是低頻門禁卡。這種卡通常只能一次性寫入,多次讀取,存儲(chǔ)的數(shù)據(jù)量較小,主要用于目標(biāo)標(biāo)識(shí)。就安全性而言,對卡中的數(shù)據(jù)可直接讀取,克隆卡也十分容易。使用pM3,只需要輸入若干命令即可。

3 Proxmark3

  3.1Proxmark3功能簡介

  Proxmark3(PM3)是有JonathanWesthues設(shè)計(jì)并且開發(fā)的開源硬件,可以在高頻(13.56MHz)以及低頻(125K-134KHZ)波段工作,主要有RFID的嗅探、讀取以及克隆等功能。

  以SVN528般般的firmware為例,PM3的主要功能如下表所示:

  低頻(lf) 讀取/解調(diào)/模擬EM4X,F(xiàn)lexPass,Indala,VeriChip

  高頻(hf) 讀取/竊聽/模擬ISO14443A,ISO14443B;讀取/模擬ISO15693;讀取LEGICRFID

  數(shù)據(jù)分析 ASK、FSK、Manchester解調(diào),畫圖、數(shù)據(jù)保存等。

  PM3的強(qiáng)大之處在于其分析能力,當(dāng)拿到一個(gè)位置的非接觸卡時(shí),可以通過PM3來判斷是高頻卡還是低頻卡,然后在嘗試相應(yīng)的命令來分析卡的具體種類。

  3.2PM3模擬低頻卡

  以用的門卡為例,通過“hwtune”命令可以確認(rèn)門卡為低頻卡。然后輸入命令

  Proxmark3>ifread

  Proxmark3>datasamples1024

  Proxmark3>dataplot

  運(yùn)行的結(jié)果可以得出,dt=128,即64個(gè)采樣。PM3的采樣率為載波頻率即125kHZ,于是dt=64*1/(125k)=0.000512s。從后面相鄰的部分波形可以才出512μs可能是4bit,也就是128μs/bit,每個(gè)16個(gè)采樣1bit。

  使用indala卡模式解調(diào):

  Proxmarks>ifindalademod

  得到門卡的64bitUID;然后用PM3模擬門禁卡;

  Proxmarks>ifsim

  等PM3的指示燈常亮后,就可以拿著PM3刷門禁了。

  3.3PM3破解mfc卡

  PM3也提供了對mfc卡的破解工具。首先使用PM3對讀卡器和卡之間的交互進(jìn)行嗅探,命令如下:proxmark3>hf14asnoop,然后嗅探得到數(shù)據(jù)的命令如下:Proxmarks>hf14alist,然后在使用PM3的小工具就可以破解mfc卡的密鑰并且復(fù)制出來。

4小結(jié)

  從上述內(nèi)容不難看出,非接觸只能卡并非如我們想象的那樣安全,尤其是對于低頻卡和mfc卡,在使用像PM3這樣的工具時(shí),嗅探、克隆,都是很簡單的事情。國外更是有研究者對各個(gè)層次的RFID攻擊進(jìn)行了分類。目前和消費(fèi)有段的非接觸卡大都已經(jīng)采用CPU卡,就是為了應(yīng)對邏輯加密卡易于被克隆的風(fēng)險(xiǎn)。雖然目前暫時(shí)還沒有公開發(fā)現(xiàn)CPU卡的安全漏洞,但是還是希望大家養(yǎng)成良好的用卡習(xí)慣,尤其不要外接自己的門禁卡或飯卡,以免被克隆復(fù)制。