由Mifare 1卡破解帶來的危險以及應(yīng)對方法
今年年初以來,一個消息的傳出震驚了整個IC卡行業(yè)。最近,德國和美國的研究人員成功地破解了NXP的Mifare1芯片的安全算法。Mifare1芯片主要用于門禁系統(tǒng)訪問控制卡,以及一些小額支付卡,應(yīng)用范圍已覆蓋全球。因此這項“成果”引起了不小的恐慌,因為一個掌握該破解技術(shù)的小偷可以克隆任何一個門禁卡,從而自由進(jìn)出政府機(jī)關(guān)大樓或公司辦公室;可以批量的克隆或偽造各種儲值卡大肆購物而不被發(fā)現(xiàn)。國內(nèi)發(fā)行的這種卡,估計有幾億張在投入使用,它的安全性涉及到眾多的運營單位和持卡人的利益。近日,有研究人員宣布MIFARE 系列產(chǎn)品的安全性存在薄弱環(huán)節(jié),在他的研究室里,通過研究讀寫器和卡之間的通信數(shù)據(jù),找到了這種卡的加密算法和認(rèn)證通信的協(xié)議,并有兩種方法可以得到MIFARE class邏輯加密卡的分區(qū)密碼。通過這種方法,破壞者可以使用非常廉價的設(shè)備在40ms內(nèi)就可以輕易獲得一張M1卡的密碼。面對這種災(zāi)難性的事實,有些公司宣稱他們有辦法彌補(bǔ)這一漏洞,用戶可以繼續(xù)使用這種卡片而不必?fù)?dān)心。那么,M1卡的破解真的有那么大的破壞力么,目前的一些“安全”手段真的有效么。回答這一問題,我們需要先從了解Mifare1系列卡片的結(jié)構(gòu)和安全認(rèn)證機(jī)制開始。
Mifare系列非接觸IC卡是荷蘭Philips公司的經(jīng)典IC卡產(chǎn)品(現(xiàn)在Philips公司IC卡部門獨立為NXP公司,產(chǎn)品知識產(chǎn)權(quán)歸NXP所有)。它主要包括在門禁和校園、公交領(lǐng)域廣泛使用的Mifare one S50(1K字節(jié))、S70(4K字節(jié)),以及簡化版Mifare Light和升級版MifarePro 4種芯片型號。這幾種芯片中,除Mifare Pro外都屬于邏輯加密卡,即內(nèi)部沒有獨立的CPU和操作系統(tǒng),完全依靠內(nèi)置硬件邏輯電路實現(xiàn)安全認(rèn)證和保護(hù)的IC卡。
元用于完成卡片的密碼認(rèn)證,控制各個數(shù)據(jù)扇區(qū)的讀寫權(quán)限;Crypto Unit數(shù)據(jù)加密單元就是其認(rèn)證和加解密運算的算法引擎。Mifare系列IC卡是NXP公司的專利產(chǎn)品,它采用了一種NXP特有的加密算法來完成認(rèn)證和加解密運算。由于這種算法是NXP特有且不公開的算法,Mifare系列IC卡采用了一種特殊的手段來實現(xiàn)在不公開算法的前提下完成認(rèn)證,即將同樣的算法引擎放置在NXP出產(chǎn)的專用Mifare讀寫基站芯片中(如常用的RC500和RC531),認(rèn)證過程由基站芯片“代替”用戶系統(tǒng)與Mifare芯片之間完成。這一認(rèn)證過程就是常常被Mifare系列芯片宣傳的“三重認(rèn)證”,其實質(zhì)就是基站芯片與Mifare芯片之間相互傳遞隨機(jī)數(shù)以及隨機(jī)數(shù)的密文,通過對隨機(jī)數(shù)密文的解密比對實現(xiàn)對卡片的認(rèn)證。Mifare芯片所引以為豪的“數(shù)據(jù)加密傳輸”也是由基站芯片加密后傳送給Mifare芯片的。這個過程可以簡化為下圖所示:
如圖所示,M1卡所宣稱的三次認(rèn)證及輸入加密傳輸?shù)劝踩匦灾傅氖荕1卡與RC500等NXP基站芯片(或兼容芯片)之間的認(rèn)證和加密。由于NXP對M1卡與基站芯片間的通訊協(xié)議和加密認(rèn)證機(jī)制嚴(yán)格保密,因此從這里進(jìn)行破解難度很大。然而不幸的是,最終這個算法和機(jī)制還是被破解了。研究人員找出了算法和通訊協(xié)議中的漏洞,可以輕易地通過幾十次試探攻擊(約40ms)就能夠獲得一張卡片的所有密鑰。事實上,在Mifare芯片的兼容產(chǎn)品出現(xiàn)的那一天起,這個秘密就已經(jīng)不是秘密了,因為完全兼容,實際就意味著已經(jīng)掌握了這個算法。
評論