《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > FM1208非接觸CPU卡讀寫系統(tǒng)的研制
FM1208非接觸CPU卡讀寫系統(tǒng)的研制
單片機與嵌入式系統(tǒng)
來源:RFID中國網(wǎng)
摘要: 非接觸CPU智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇,用CPU卡替換邏輯加密卡的時代已到來,。
Abstract:
Key words :

 引 言
  隨著非接觸邏輯加密卡的不斷應(yīng)用,,其技術(shù)的不足之處也日益暴露,,難以滿足更高的安全性和更復(fù)雜的多應(yīng)用的需求。2008年,,互聯(lián)網(wǎng)上公布了破解Mifare Classic IC芯片(即M1芯片)密碼的方法,;德國研究員亨里克·普洛茨(Henryk Plotz)和弗吉尼亞大學(xué)計算機科學(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)濟成本對采用該芯片的各類“一卡通”,、門禁卡進行非法充值或復(fù)制,,這將帶來很大的社會安全隱患。因此,,非接觸CPU智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇,,用CPU卡替換邏輯加密卡的時代已到來。
  1 非接觸邏輯加密卡Mifare卡的安全性問題
  Philips公司(現(xiàn)NXP)的Mifare1卡片,,在非接觸卡應(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的校驗機制只能解決卡片對終端的認(rèn)證,而無法解決終端對卡片的認(rèn)證,,即存在俗稱為“偽卡”的風(fēng)險,。
  Mifare的密鑰就是一個預(yù)先設(shè)定的固定密碼,無論用什么方法計算密鑰,,最后一定要和原先寫入的固定密碼一致,,就可以對被保護的數(shù)據(jù)進行讀寫操作。因此無論是一卡一密的系統(tǒng)還是統(tǒng)一密碼的系統(tǒng),,經(jīng)過破解都可以實現(xiàn)對非接觸邏輯加密卡的解密,。有種觀點認(rèn)為,只要是采用了一卡一密,、實時在線系統(tǒng),,或非接觸邏輯加密卡的ID號,就能避免密鑰被解密,。其實,,非接觸邏輯加密卡被解密就意味著M1卡可以被復(fù)制,,使用在線系統(tǒng)盡管可以避免被非法充值,但是不能保證非法消費,,即復(fù)制一張一樣ID號的M1卡,,就可以進行非法消費。現(xiàn)在的技術(shù)使用FPGA就可以完全復(fù)制,?;谶@個原理,Mifare的門禁卡也是不安全的,。
  2 非接觸CPU卡的特點與優(yōu)勢
  非接觸CPU卡,,也稱智能卡,卡內(nèi)的集成電路中帶有微處理器CPU,、存儲單元(包括隨機存儲器RAM,、程序存儲器ROM(Flash)、用戶數(shù)據(jù)存儲器EEPROM)以及芯片操作系統(tǒng)COS,。裝有COS的CPU卡相當(dāng)于一臺微型計算機,,不僅具有數(shù)據(jù)存儲功能,同時具有命令處理和數(shù)據(jù)安全保護等功能,。
  非接觸CPU智能卡與非接觸邏輯加密卡相比,,有以下特點:
  ①芯片和COS的安全技術(shù)為CPU卡提供了雙重的安全保證,;
 ?、趽碛歇毩⒌腃PU處理器和芯片操作系統(tǒng);
 ?、蹖τ嬎銠C網(wǎng)絡(luò)系統(tǒng)要求較低,,可實現(xiàn)脫機操作,可實現(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性,。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ī)范的電子錢包、電子存折功能,。

 ?、奂嫒菪浴S捎谟兄袊嗣胥y行的統(tǒng)一規(guī)范及嚴(yán)格檢測,,CPU卡具有很好的兼容性,、安全性。芯片和COS的安全技術(shù)為CPU卡提供了雙重的安全保證,;支持DES,、TripleDES等加密算法,支持線路加密,、線路保密功能,,防止通信數(shù)據(jù)被非法竊取或篡改,使用過程密鑰實現(xiàn)加密,、解密,。
  ④可擴展性,??ㄆС侄喾N容量選擇,如2 KB,、4 KB,、8 KB、16KB,、32KB的EEPROM空間,。CPU卡從卡結(jié)構(gòu)到卡容量可以很容易擴展到多種應(yīng)用,可以與銀行聯(lián)合,,實現(xiàn)真正意義上的一卡多用,。
  ⑤安全性,。與邏輯加密卡相比,,由于智能卡內(nèi)部具有CPU芯片,,在具有數(shù)據(jù)判斷能力的同時,也具備了數(shù)據(jù)分析處理能力,,因此智能卡可以隨時區(qū)分合法和非法讀寫設(shè)備,,并且由于有了CPU芯片,具備數(shù)據(jù)運算能力,,還可以對數(shù)據(jù)進行加密解密處理,,因此具有非常高的安全性。CPU卡是在將EEPROM芯片封裝在卡片上的同時,,將微處理器芯片(CPU)也封裝在里面,。這樣,EEPROM的數(shù)據(jù)接口在任何情況下都不會與IC卡的對外數(shù)據(jù)線相連接,。外部讀寫設(shè)備只能通過CPU與IC卡內(nèi)的EEP-ROM進行數(shù)據(jù)交換,,在任何情況下都不能再訪問到EEP-ROM中的任何一個單元。
  外部讀寫設(shè)備在與智能卡進行數(shù)據(jù)交換時,,首先必須發(fā)指令給CPU,,由CPU根據(jù)其內(nèi)部的ROM中存儲的卡片操作系統(tǒng)(COS)對指令進行解釋,并進行分析判斷,。在確認(rèn)讀寫設(shè)備的合法性后,,允許外部讀寫設(shè)備與智能卡建立連接,之后的數(shù)據(jù)操作仍然要由外部讀寫設(shè)備發(fā)出相應(yīng)的指令,,并用CPU對指令進行正確解釋,,允許外部讀寫設(shè)備和智能卡中的數(shù)據(jù)存儲區(qū)(RAM)進行數(shù)據(jù)交換。數(shù)據(jù)交換成功后,,在CPU的控制下,,利用智能卡中的內(nèi)部數(shù)據(jù)總線,再將內(nèi)部RAM中的數(shù)據(jù)與EEPROM中的數(shù)據(jù)進行交換,。這樣就實現(xiàn)了對智能卡EEPROM中數(shù)據(jù)的安全保護,,因此具有非常高的安全性。
  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的安全機制:
  有反電源分析模塊,;
  有高低頻檢測復(fù)位模塊,,芯片工作頻率超出檢測范圍自動復(fù)位;
  ROM反逆向提取,,存儲器數(shù)據(jù)加密,。
  FM1208功能框圖如圖1所示。
                                                圖一 FM1208功能框圖
  4 非接觸CPU卡FM1208的COS
  由于CPU卡具有很高的安全性及一張卡支持多種應(yīng)用的特點,,所以IC卡家族中CPU卡的使用范圍正日益擴大,。類似一臺計算機,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è)收費、安全控制,、證件,、交通運輸?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算法,。
 ?、谥С志€路加密、線路保護功能,,防止通信數(shù)據(jù)被非法竊取或篡改,。
  ③支持在一張卡上實現(xiàn)多個不同的應(yīng)用:可建立三級目錄,。
 ?、苤С蛛娮渝X包功能,錢包大小可由用戶自行設(shè)定,。
 ?、葜С侄喾N文件類型,包括二進制文件,、定長記錄文件,、變長記錄文件、循環(huán)文件,、錢包文件,。
  ⑥支持ISO7816-3:T=0(字符傳送)通信協(xié)議,。
 ?、邼M足銀行標(biāo)準(zhǔn):符合《中國金融集成電路(IC)卡規(guī)范》。
 ?、喾啦灏喂δ埽航灰滋幚磉^程中非正常拔出的卡片自動恢復(fù),。
  FMCOS由傳輸管理、文件管理,、安全體系,、命令解釋4個功能模塊組成。
 ?、賯鬏敼芾恚喊碔SO7816-3標(biāo)準(zhǔn)監(jiān)督卡與終端之間的通信,,保證數(shù)據(jù)正確地傳輸,防止卡與終端之間通信數(shù)據(jù)被非法竊取和篡改,。
 ?、谖募芾恚簩⒂脩魯?shù)據(jù)以文件形式存儲在EEP-ROM中,保證訪問文件時的快速性和數(shù)據(jù)安全性,。
 ?、郯踩w系:安全體系是FMCOS的核心部分,它涉及對卡的鑒別與核實,,以及對文件訪問時的權(quán)限控制機制,。

 ?、苊罱忉專焊鶕?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ù)功能和速度的要求,,可以選擇不同的方案。各種CPU芯片各有優(yōu)缺點,。
  8051單片機:價格低廉,,入門簡單,貨源充足,。
  AVR單片機:價格適中,,速度快,外設(shè)豐富,。
  ARM:功能強大,,速度快,可運行RTOS,。
   
  (3)ISO14443-3,、ISO14443-4
   
  這兩部分是學(xué)習(xí)和操作非接觸CPU卡的核心。
 ?、買SO/IEC14443-3規(guī)定了鄰近卡(PICCs)進入鄰近耦合設(shè)備(PCDs)時的輪尋,,通信初始化階段的字符格式,,幀結(jié)構(gòu),時序信息,。REQ和ATQ命令內(nèi)容,,從多卡中選取其中一張的方法,初始化階段其他必需的參數(shù),。這部分規(guī)定同時適用于A型PICCs和B型PICCs,。
  ②ISO/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)用可分為:
 ?、儆裁荑€,,即在終端機具中安裝SAM卡座,所有的認(rèn)證都是由安裝在SAM卡座中的SAM卡進行運算的,。這樣在終端機具維修時,,只要取出SAM卡座中的SAM卡,這臺終端機具就是空的了,。所以,,所有的銀行設(shè)備都采用SAM卡的認(rèn)證模式。
 ?、谲浢荑€,,即終端機具中沒有SAM卡座,這個密鑰的運算實際上是由終端機具完成的,,這樣客戶的密鑰就等于存在終端機具中,,廠家拿回終端機具維修時,極易造成密鑰流失,。
  結(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卡替換邏輯加密卡的時代已到來。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。