FM1208非接觸CPU卡讀寫系統(tǒng)的研制
文章出處:http://www.luckydriving.com 作者: 人氣: 發(fā)表時間:2012年04月12日
[文章內(nèi)容簡介]:Mifare算法的破解,給城市公用事業(yè)IC卡系統(tǒng)安全敲響了警鐘。在科技化、信息化飛速發(fā)展的當(dāng)今時代,只有不斷創(chuàng)新、不斷提高城市公用事業(yè)IC卡系統(tǒng)的安全系數(shù)及技術(shù)水平,才能有更高、更遠(yuǎn)的發(fā)展,也才能為國家的信息發(fā)展作出貢獻(xiàn)。非接觸CPU卡智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇,用CPU卡替換邏輯加密卡的時代已到來。
引 言
隨著非接觸邏輯加密卡的不斷應(yīng)用,其技術(shù)的不足之處也日益暴露,難以滿足更高的安全性和更復(fù)雜的多應(yīng)用的需求。2008年,互聯(lián)網(wǎng)上公布了破解Mifare Classic IC芯片(即M1芯片)密碼的方法;德國研究員亨里克·普洛茨(Henryk Plotz)和弗吉尼亞大學(xué)計算機(jī)科學(xué)在讀博士卡爾斯滕·諾爾(Karsten Noh1)成功地破解了恩智浦半導(dǎo)體的Mirare經(jīng)典芯片的安全算法;德國Virginia大學(xué)和荷蘭Radboud大學(xué)兩個獨立研究小組分別證實了 Mi-fare芯片的易受攻擊性,并發(fā)表了破解芯片加密算法的論文以及演示了實際操作芯片的破解過程。
破解事件公開后,荷蘭內(nèi)務(wù)部大臣特霍斯特在接受媒體采訪時表示,全球多達(dá)10億張IC卡中所使用的一項技術(shù)可輕易破解。此次破解風(fēng)波經(jīng)過國內(nèi)媒體的轉(zhuǎn)載報道后,在我國引起了軒然大波,城市公用事業(yè)IC卡應(yīng)用作為非接觸式邏輯加密卡的應(yīng)用大戶,不得不讓我們靜下心來認(rèn)真思考城市公用事業(yè)IC卡系統(tǒng)的安全問題及未來走向。如果掌握了破解技術(shù),不法分子可以很低的經(jīng)濟(jì)成本對采用該芯片的各類“一卡通”、門禁卡進(jìn)行非法充值或復(fù)制,這將帶來很大的社會安全隱患。因此,非接觸CPU智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇,用CPU卡替換邏輯加密卡的時代已到來。
1 非接觸邏輯加密卡Mifare卡的安全性問題
Philips公司(現(xiàn)NXP)的Mifare 1卡片,在非接觸卡應(yīng)用領(lǐng)域占有全球80%的市場份額,是目前非接觸智能卡的工業(yè)標(biāo)準(zhǔn),也成為ISO14443-A的工作草案。
Mifare的安全認(rèn)證依賴于每個扇區(qū)獨立的KEYA和KEYB的校驗,可以通過扇區(qū)控制字對KEYA和KEYB的不同安全組合,實現(xiàn)扇區(qū)數(shù)據(jù)的讀寫安全控制。其個人化也比較簡單,主要包括數(shù)據(jù)和各扇區(qū)KEYA、KEYB的更新,在其間所有敏感數(shù)據(jù)(包括KEYA和KEYB)都是直接以明文的形式更新的。
KEYA和KEYB的校驗機(jī)制只能解決卡片對終端的認(rèn)證,而無法解決終端對卡片的認(rèn)證,即存在俗稱為“偽卡”的風(fēng)險。
Mifare的密鑰就是一個預(yù)先設(shè)定的固定密碼,無論用什么方法計算密鑰,最后一定要和原先寫入的固定密碼一致,就可以對被保護(hù)的數(shù)據(jù)進(jìn)行讀寫操作。因此無論是一卡一密的系統(tǒng)還是統(tǒng)一密碼的系統(tǒng),經(jīng)過破解都可以實現(xiàn)對非接觸邏輯加密卡的解密。有種觀點認(rèn)為,只要是采用了一卡一密、實時在線系統(tǒng),或非接觸邏輯加密卡的ID號,就能避免密鑰被解密。其實,非接觸邏輯加密卡被解密就意味著M1卡可以被復(fù)制,使用在線系統(tǒng)盡管可以避免被非法充值,但是不能保證非法消費,即復(fù)制一張一樣ID號的M1卡,就可以進(jìn)行非法消費。現(xiàn)在的技術(shù)使用FPGA就可以完全復(fù)制。基于這個原理,Mifare的門禁卡也是不安全的。
2 非接觸CPU卡的特點與優(yōu)勢
非接觸CPU卡,也稱智能卡,卡內(nèi)的集成電路中帶有微處理器CPU、存儲單元(包括隨機(jī)存儲器RAM、程序存儲器ROM(Flash)、用戶數(shù)據(jù)存儲器EEPROM)以及芯片操作系統(tǒng)COS。裝有COS的CPU卡相當(dāng)于一臺微型計算機(jī),不僅具有數(shù)據(jù)存儲功能,同時具有命令處理和數(shù)據(jù)安全保護(hù)等功能。
非接觸CPU智能卡與非接觸邏輯加密卡相比,有以下特點:
?、傩酒虲OS的安全技術(shù)為CPU卡提供了雙重的安全保證;
?、趽碛歇毩⒌腃PU處理器和芯片操作系統(tǒng);
?、蹖τ嬎銠C(jī)網(wǎng)絡(luò)系統(tǒng)要求較低,可實現(xiàn)脫機(jī)操作,可實現(xiàn)真正意義上的一卡多用,每個應(yīng)用之間相互獨立,并受控于各自的密鑰管理系統(tǒng);
?、芙灰字凶詣颖WC數(shù)據(jù)的完整性(防拔);
?、菘梢愿`活地支持各種不同的應(yīng)用需求,更安全的設(shè)計交易流程;
?、蕺毩⒌谋C苣K——使用相應(yīng)的實體SAM卡密鑰實現(xiàn)加密、解密以及交易處理,從而完成與用戶卡之間的安全認(rèn)證。
非接觸CPU智能卡的優(yōu)勢是:
?、傧冗M(jìn)性。CPU卡可以作為銀行的金融卡使用,代表當(dāng)前IC卡應(yīng)用的最高安全等級,正成為IC卡應(yīng)用中的主流產(chǎn)品。
?、谝?guī)范性。支持符合 ISO7816-3標(biāo)準(zhǔn)的T=0、T=1通信協(xié)議,符合《中國金融集成電路(IC)卡規(guī)范》、《中國金融集成電路(IC)卡應(yīng)用規(guī)范》,支持符合銀行規(guī)范的電子錢包、電子存折功能。
?、奂嫒菪?。由于有中國人民銀行的統(tǒng)一規(guī)范及嚴(yán)格檢測,CPU卡具有很好的兼容性、安全性。芯片和COS的安全技術(shù)為CPU卡提供了雙重的安全保證;支持DES、TripleDES等加密算法,支持線路加密、線路保密功能,防止通信數(shù)據(jù)被非法竊取或篡改,使用過程密鑰實現(xiàn)加密、解密。
?、芸蓴U(kuò)展性??ㄆС侄喾N容量選擇,如2 KB、4 KB、8 KB、16KB、32KB的EEPROM空間。CPU卡從卡結(jié)構(gòu)到卡容量可以很容易擴(kuò)展到多種應(yīng)用,可以與銀行聯(lián)合,實現(xiàn)真正意義上的一卡多用。
?、莅踩?。與邏輯加密卡相比,由于智能卡內(nèi)部具有CPU芯片,在具有數(shù)據(jù)判斷能力的同時,也具備了數(shù)據(jù)分析處理能力,因此智能卡可以隨時區(qū)分合法和非法讀寫設(shè)備,并且由于有了CPU芯片,具備數(shù)據(jù)運(yùn)算能力,還可以對數(shù)據(jù)進(jìn)行加密解密處理,因此具有非常高的安全性。CPU卡是在將EEPROM芯片封裝在卡片上的同時,將微處理器芯片(CPU)也封裝在里面。這樣,EEPROM的數(shù)據(jù)接口在任何情況下都不會與IC卡的對外數(shù)據(jù)線相連接。外部讀寫設(shè)備只能通過 CPU與IC卡內(nèi)的EEP-ROM進(jìn)行數(shù)據(jù)交換,在任何情況下都不能再訪問到EEP-ROM中的任何一個單元。
外部讀寫設(shè)備在與智能卡進(jìn)行數(shù)據(jù)交換時,首先必須發(fā)指令給CPU,由CPU根據(jù)其內(nèi)部的ROM中存儲的卡片操作系統(tǒng)(COS)對指令進(jìn)行解釋,并進(jìn)行分析判斷。在確認(rèn)讀寫設(shè)備的合法性后,允許外部讀寫設(shè)備與智能卡建立連接,之后的數(shù)據(jù)操作仍然要由外部讀寫設(shè)備發(fā)出相應(yīng)的指令,并用CPU對指令進(jìn)行正確解釋,允許外部讀寫設(shè)備和智能卡中的數(shù)據(jù)存儲區(qū)(RAM)進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)交換成功后,在CPU的控制下,利用智能卡中的內(nèi)部數(shù)據(jù)總線,再將內(nèi)部RAM中的數(shù)據(jù)與EEPROM 中的數(shù)據(jù)進(jìn)行交換。這樣就實現(xiàn)了對智能卡EEPROM中數(shù)據(jù)的安全保護(hù),因此具有非常高的安全性。
3 非接觸CPU卡FM1208的特點與性能
FM1208是復(fù)旦微電子股份有限公司設(shè)計的單界面非接觸CPU卡芯片,產(chǎn)品支持。ISO14443-A協(xié)議,硬件DES協(xié)處理器,內(nèi)置8 KB的EEPROM。FM1208的特色是能夠兼容現(xiàn)有廣泛使用的非接觸邏輯加密卡,將非接觸邏輯加密卡(Mirare算法)和符合銀行標(biāo)準(zhǔn)的接觸式 CPU卡的功能合二為一。
特點:通信協(xié)議為ISO14443-A;MCU指令兼容8051;支持106 kbps數(shù)據(jù)傳輸速率;Triple-DES協(xié)處理器;程序存儲器32K×8位ROM;數(shù)據(jù)存儲器8K×8位EEPROM;256×8位 iRAM;384×8位xRAM;低壓檢測復(fù)位;高低頻檢測復(fù)位;EEPROM滿足10萬次擦寫指標(biāo)和10年數(shù)據(jù)保存指標(biāo)。
FM1208典型處理時間:
識別一張卡時間為3 ms(包括復(fù)位應(yīng)答和防沖突);
EEPROM擦寫時間為2.4 ms;
典型交易過程<350 ms。
FM1208的安全機(jī)制:
有反電源分析模塊;
有高低頻檢測復(fù)位模塊,芯片工作頻率超出檢測范圍自動復(fù)位;
ROM反逆向提取,存儲器數(shù)據(jù)加密。
FM1208功能框圖如圖1所示。
圖一 FM1208功能框圖
4 非接觸CPU卡FM1208的COS
由于CPU卡具有很高的安全性及一張卡支持多種應(yīng)用的特點,所以IC卡家族中CPU卡的使用范圍正日益擴(kuò)大。類似一臺計算機(jī),CPU卡內(nèi)也有CPU、存儲器和輸入輸出接口,所以在應(yīng)用中CPU卡也必然需要操作系統(tǒng)。上海復(fù)旦微電子股份有限公司成功地開發(fā)了自主版權(quán)的CPU卡操作系統(tǒng)——FMCOS(FMSH Card Operating System)。該操作系統(tǒng)符合ISO7816系列標(biāo)準(zhǔn)及《中國金融集成電路(IC)卡規(guī)范》,適用于保險、醫(yī)療保健、社會保障、公共事業(yè)收費、安全控制、證件、交通運(yùn)輸?shù)戎T多應(yīng)用領(lǐng)域,特別是在金融領(lǐng)域。
FMCOS詳細(xì)規(guī)定了電子錢包、電子存折和磁條卡功能(Easy Entry)3種基本應(yīng)用。
FMCOS特點如下:
?、僦С諷ingle DES、Triple DES算法,且可自動根據(jù)密鑰的長度選擇Single DES、Triple DES算法。
?、谥С志€路加密、線路保護(hù)功能,防止通信數(shù)據(jù)被非法竊取或篡改。
?、壑С衷谝粡埧ㄉ蠈崿F(xiàn)多個不同的應(yīng)用:可建立三級目錄。
?、苤С蛛娮渝X包功能,錢包大小可由用戶自行設(shè)定。
?、葜С侄喾N文件類型,包括二進(jìn)制文件、定長記錄文件、變長記錄文件、循環(huán)文件、錢包文件。
?、拗С諭SO7816-3:T=0(字符傳送) 通信協(xié)議。
?、邼M足銀行標(biāo)準(zhǔn):符合《中國金融集成電路(IC)卡規(guī)范》。
?、喾啦灏喂δ埽航灰滋幚磉^程中非正常拔出的卡片自動恢復(fù)。
FMCOS由傳輸管理、文件管理、安全體系、命令解釋4個功能模塊組成。
?、賯鬏敼芾恚喊?ISO7816-3標(biāo)準(zhǔn)監(jiān)督卡與終端之間的通信,保證數(shù)據(jù)正確地傳輸,防止卡與終端之間通信數(shù)據(jù)被非法竊取和篡改。
?、谖募芾恚簩⒂脩魯?shù)據(jù)以文件形式存儲在EEP-ROM中,保證訪問文件時的快速性和數(shù)據(jù)安全性。
③安全體系:安全體系是FMCOS的核心部分,它涉及對卡的鑒別與核實,以及對文件訪問時的權(quán)限控制機(jī)制。
④命令解釋:根據(jù)接收到的命令檢查各項參數(shù)是否正確,執(zhí)行相應(yīng)的操作。
5 系統(tǒng)開發(fā)基礎(chǔ)及芯片選型
(1)射頻基站芯片的選擇和使用
基站芯片用于非接觸射頻卡與中央處理器之間的信息通信。以下芯片均可以實現(xiàn)對FM1208等符合ISO14443 TYPA標(biāo)準(zhǔn)的CPU卡的讀寫,可以參考相關(guān)文檔。本設(shè)計主要以卡片為主,所以對于基站芯片的具體應(yīng)用,可以參考相關(guān)文檔。
Philips 系列芯片:RC500、RC522、RC531、RC632。
復(fù)旦系列芯片:FM1702N、FM1702SL,、FM1715N、 FM1725N。
TI公司的基站芯片:RI-R6C-001A、TRF7960。
EM公司基站芯片:EM4094、 EM4294。
(2)單片機(jī)的選擇和使用
對于非接觸射頻卡的信息處理,根據(jù)功能和速度的要求,可以選擇不同的方案。各種CPU芯片各有優(yōu)缺點。
8051單片機(jī):價格低廉,入門簡單,貨源充足。
AVR單片機(jī):價格適中,速度快,外設(shè)豐富。
ARM:功能強(qiáng)大,速度快,可運(yùn)行RTOS。
(3)ISO14443-3、ISO14443-4
這兩部分是學(xué)習(xí)和操作非接觸CPU卡的核心。
?、買SO/IEC14443-3規(guī)定了鄰近卡(PICCs)進(jìn)入鄰近耦合設(shè)備(PCDs)時的輪尋,通信初始化階段的字符格式,幀結(jié)構(gòu),時序信息。REQ和ATQ命令內(nèi)容,從多卡中選取其中一張的方法,初始化階段其他必需的參數(shù)。這部分規(guī)定同時適用于A型PICCs和B型PICCs。
?、贗SO/IEC14443-4規(guī)定了非接觸半雙功塊的傳輸協(xié)議,并定義了激活和停止協(xié)議的步驟。這部分傳輸協(xié)議同時適用于A型卡和B型卡。
(4)IS07816-4
這一部分是學(xué)習(xí)和操作,SAM的基礎(chǔ),其中規(guī)定了:由接口設(shè)備至卡以及相反方向所發(fā)送的報文、命令和響應(yīng)的內(nèi)容;在復(fù)位應(yīng)答期間卡所發(fā)送的歷史字節(jié)的結(jié)構(gòu)及內(nèi)容;當(dāng)處理交換用的行業(yè)間命令時,在接口處所看到的文件和數(shù)據(jù)的結(jié)構(gòu);訪問卡內(nèi)文件和數(shù)據(jù)的方法;定義訪問卡內(nèi)文件和數(shù)據(jù)的權(quán)利的安全體系結(jié)構(gòu);安全報文交換的方法;訪問卡所處理算法的方法(本標(biāo)準(zhǔn)不描述這些算法)。
6 SAM卡在系統(tǒng)中的應(yīng)用
根據(jù)應(yīng)用方式,SAM卡在系統(tǒng)中的應(yīng)用可分為:
①硬密鑰,即在終端機(jī)具中安裝SAM卡座,所有的認(rèn)證都是由安裝在SAM卡座中的SAM卡進(jìn)行運(yùn)算的。這樣在終端機(jī)具維修時,只要取出SAM卡座中的SAM卡,這臺終端機(jī)具就是空的了。所以,所有的銀行設(shè)備都采用SAM卡的認(rèn)證模式。
?、谲浢荑€,即終端機(jī)具中沒有SAM卡座,這個密鑰的運(yùn)算實際上是由終端機(jī)具完成的,這樣客戶的密鑰就等于存在終端機(jī)具中,廠家拿回終端機(jī)具維修時,極易造成密鑰流失。
結(jié) 語
Mifare算法的破解,給城市公用事業(yè)IC卡系統(tǒng)安全敲響了警鐘。在科技化、信息化飛速發(fā)展的當(dāng)今時代,只有不斷創(chuàng)新、不斷提高城市公用事業(yè)IC卡系統(tǒng)的安全系數(shù)及技術(shù)水平,才能有更高、更遠(yuǎn)的發(fā)展,也才能為國家的信息發(fā)展作出貢獻(xiàn)。非接觸CPU卡智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇,用CPU卡替換邏輯加密卡的時代已到來。
本文關(guān)鍵詞:FM1208,非接觸CPU卡,Mifare,CPU卡,讀寫系,M1208,非接觸CPU卡,Mifare,CPU卡,讀寫系統(tǒng)
上一篇:利用新型CPU智能卡提高電子商務(wù)支付安全性[ 04-12 ]
下一篇:CPU卡 與M1[ 06-21 ]