FM1208非接觸CPU卡讀寫系統的研制
文章出處:http://www.katarog.com 作者:中國一卡通網 收編 人氣: 發表時間:2011年10月08日
引 言
隨著非接觸邏輯加密卡的不斷應用,其技術的不足之處也日益暴露,難以滿足更高的安全性和更復雜的多應用的需求。2008年,互聯網上公布了破解Mifare Classic IC芯片(即M1芯片)密碼的方法;德國研究員亨里克·普洛茨(Henryk Plotz)和弗吉尼亞大學計算機科學在讀博士卡爾斯滕·諾爾(Karsten Noh1)成功地破解了恩智浦半導體的Mirare經典芯片的安全算法;德國Virginia大學和荷蘭Radboud大學兩個獨立研究小組分別證實了Mi-fare芯片的易受攻擊性,并發表了破解芯片加密算法的論文以及演示了實際操作芯片的破解過程。
破解事件公開后,荷蘭內務部大臣特霍斯特在接受媒體采訪時表示,全球多達10億張IC卡中所使用的一項技術可輕易破解。此次破解風波經過國內媒體的轉載報道后,在我國引起了軒然大波,城市公用事業IC卡應用作為非接觸式邏輯加密卡的應用大戶,不得不讓我們靜下心來認真思考城市公用事業IC卡系統的安全問題及未來走向。如果掌握了破解技術,不法分子可以很低的經濟成本對采用該芯片的各類“一卡通”、門禁卡進行非法充值或復制,這將帶來很大的社會安全隱患。因此,非接觸CPU智能卡技術正成為一種技術上更新換代的選擇,用CPU卡替換邏輯加密卡的時代已到來。
1 非接觸邏輯加密卡Mifare卡的安全性問題
Philips公司(現NXP)的Mifare 1卡片,在非接觸卡應用領域占有全球80%的市場份額,是目前非接觸智能卡的工業標準,也成為ISO14443-A的工作草案。
Mifare的安全認證依賴于每個扇區獨立的KEYA和KEYB的校驗,可以通過扇區控制字對KEYA和KEYB的不同安全組合,實現扇區數據的讀寫安全控制。其個人化也比較簡單,主要包括數據和各扇區KEYA、KEYB的更新,在其間所有敏感數據(包括KEYA和KEYB)都是直接以明文的形式更新的。
KEYA和KEYB的校驗機制只能解決卡片對終端的認證,而無法解決終端對卡片的認證,即存在俗稱為“偽卡”的風險。
Mifare的密鑰就是一個預先設定的固定密碼,無論用什么方法計算密鑰,最后一定要和原先寫入的固定密碼一致,就可以對被保護的數據進行讀寫操作。因此無論是一卡一密的系統還是統一密碼的系統,經過破解都可以實現對非接觸邏輯加密卡的解密。有種觀點認為,只要是采用了一卡一密、實時在線系統,或非接觸邏輯加密卡的ID號,就能避免密鑰被解密。其實,非接觸邏輯加密卡被解密就意味著M1卡可以被復制,使用在線系統盡管可以避免被非法充值,但是不能保證非法消費,即復制一張一樣ID號的M1卡,就可以進行非法消費。現在的技術使用FPGA就可以完全復制。基于這個原理,Mifare的門禁卡也是不安全的。
2 非接觸CPU卡的特點與優勢
非接觸CPU卡,也稱智能卡,卡內的集成電路中帶有微處理器CPU、存儲單元(包括隨機存儲器RAM、程序存儲器ROM(Flash)、用戶數據存儲器EEPROM)以及芯片操作系統COS。裝有COS的CPU卡相當于一臺微型計算機,不僅具有數據存儲功能,同時具有命令處理和數據安全保護等功能。
非接觸CPU智能卡與非接觸邏輯加密卡相比,有以下特點:
①芯片和COS的安全技術為CPU卡提供了雙重的安全保證;
②擁有獨立的CPU處理器和芯片操作系統;
③對計算機網絡系統要求較低,可實現脫機操作,可實現真正意義上的一卡多用,每個應用之間相互獨立,并受控于各自的密鑰管理系統;
④交易中自動保證數據的完整性(防拔);
⑤可以更靈活地支持各種不同的應用需求,更安全的設計交易流程;
⑥獨立的保密模塊——使用相應的實體SAM卡密鑰實現加密、解密以及交易處理,從而完成與用戶卡之間的安全認證。
非接觸CPU智能卡的優勢是:
①先進性。CPU卡可以作為銀行的金融卡使用,代表當前IC卡應用的最高安全等級,正成為IC卡應用中的主流產品。
②規范性。支持符合ISO7816-3標準的T=0、T=1通信協議,符合《中國金融集成電路(IC)卡規范》、《中國金融集成電路(IC)卡應用規范》,支持符合銀行規范的電子錢包、電子存折功能。
③兼容性。由于有中國人民銀行的統一規范及嚴格檢測,CPU卡具有很好的兼容性、安全性。芯片和COS的安全技術為CPU卡提供了雙重的安全保證;支持DES、TripleDES等加密算法,支持線路加密、線路保密功能,防止通信數據被非法竊取或篡改,使用過程密鑰實現加密、解密。
④可擴展性。卡片支持多種容量選擇,如2 KB、4 KB、8 KB、16KB、32KB的EEPROM空間。CPU卡從卡結構到卡容量可以很容易擴展到多種應用,可以與銀行聯合,實現真正意義上的一卡多用。
⑤安全性。與邏輯加密卡相比,由于智能卡內部具有CPU芯片,在具有數據判斷能力的同時,也具備了數據分析處理能力,因此智能卡可以隨時區分合法和非法讀寫設備,并且由于有了CPU芯片,具備數據運算能力,還可以對數據進行加密解密處理,因此具有非常高的安全性。CPU卡是在將EEPROM芯片封裝在卡片上的同時,將微處理器芯片(CPU)也封裝在里面。這樣,EEPROM的數據接口在任何情況下都不會與IC卡的對外數據線相連接。外部讀寫設備只能通過CPU與IC卡內的EEP-ROM進行數據交換,在任何情況下都不能再訪問到EEP-ROM中的任何一個單元。
外部讀寫設備在與智能卡進行數據交換時,首先必須發指令給CPU,由CPU根據其內部的ROM中存儲的卡片操作系統(COS)對指令進行解釋,并進行分析判斷。在確認讀寫設備的合法性后,允許外部讀寫設備與智能卡建立連接,之后的數據操作仍然要由外部讀寫設備發出相應的指令,并用CPU對指令進行正確解釋,允許外部讀寫設備和智能卡中的數據存儲區(RAM)進行數據交換。數據交換成功后,在CPU的控制下,利用智能卡中的內部數據總線,再將內部RAM中的數據與EEPROM中的數據進行交換。這樣就實現了對智能卡EEPROM中數據的安全保護,因此具有非常高的安全性。
3 非接觸CPU卡FM1208的特點與性能
FM1208是復旦微電子股份有限公司設計的單界面非接觸CPU卡芯片,產品支持。ISO14443-A協議,硬件DES協處理器,內置8 KB的EEPROM。FM1208的特色是能夠兼容現有廣泛使用的非接觸邏輯加密卡,將非接觸邏輯加密卡(Mirare算法)和符合銀行標準的接觸式CPU卡的功能合二為一。
特點:通信協議為ISO14443-A;MCU指令兼容8051;支持106 kbps數據傳輸速率;Triple-DES協處理器;程序存儲器32K×8位ROM;數據存儲器8K×8位EEPROM;256×8位iRAM;384×8位xRAM;低壓檢測復位;高低頻檢測復位;EEPROM滿足10萬次擦寫指標和10年數據保存指標。
FM1208典型處理時間:
識別一張卡時間為3 ms(包括復位應答和防沖突);
EEPROM擦寫時間為2.4 ms;
典型交易過程<350 ms。
FM1208的安全機制:
有反電源分析模塊;
有高低頻檢測復位模塊,芯片工作頻率超出檢測范圍自動復位;
ROM反逆向提取,存儲器數據加密。
FM1208功能框圖如圖1所示。
4 非接觸CPU卡FM1208的COS
由于CPU卡具有很高的安全性及一張卡支持多種應用的特點,所以IC卡家族中CPU卡的使用范圍正日益擴大。類似一臺計算機,CPU卡內也有CPU、存儲器和輸入輸出接口,所以在應用中CPU卡也必然需要操作系統。上海復旦微電子股份有限公司成功地開發了自主版權的CPU卡操作系統——FMCOS(FMSH Card Operating System)。該操作系統符合ISO7816系列標準及《中國金融集成電路(IC)卡規范》,適用于保險、醫療保健、社會保障、公共事業收費、安全控制、證件、交通運輸等諸多應用領域,特別是在金融領域。
FMCOS詳細規定了電子錢包、電子存折和磁條卡功能(Easy Entry)3種基本應用。
FMCOS特點如下:
①支持Single DES、Triple DES算法,且可自動根據密鑰的長度選擇Single DES、Triple DES算法。
②支持線路加密、線路保護功能,防止通信數據被非法竊取或篡改。
③支持在一張卡上實現多個不同的應用:可建立三級目錄。
④支持電子錢包功能,錢包大小可由用戶自行設定。
⑤支持多種文件類型,包括二進制文件、定長記錄文件、變長記錄文件、循環文件、錢包文件。
⑥支持ISO7816-3:T=0(字符傳送)通信協議。
⑦滿足銀行標準:符合《中國金融集成電路(IC)卡規范》。
⑧防插拔功能:交易處理過程中非正常拔出的卡片自動恢復。
FMCOS由傳輸管理、文件管理、安全體系、命令解釋4個功能模塊組成。
①傳輸管理:按ISO7816-3標準監督卡與終端之間的通信,保證數據正確地傳輸,防止卡與終端之間通信數據被非法竊取和篡改。
②文件管理:將用戶數據以文件形式存儲在EEP-ROM中,保證訪問文件時的快速性和數據安全性。
③安全體系:安全體系是FMCOS的核心部分,它涉及對卡的鑒別與核實,以及對文件訪問時的權限控制機制。
④命令解釋:根據接收到的命令檢查各項參數是否正確,執行相應的操作。
5 系統開發基礎及芯片選型
(1)射頻基站芯片的選擇和使用
基站芯片用于非接觸射頻卡與中央處理器之間的信息通信。以下芯片均可以實現對FM1208等符合ISO14443 TYPA標準的CPU卡的讀寫,可以參考相關文檔。本設計主要以卡片為主,所以對于基站芯片的具體應用,可以參考相關文檔。
Philips系列芯片:RC500、RC522、RC531、RC632。
復旦系列芯片:FM1702N、FM1702SL,、FM1715N、FM1725N。
TI公司的基站芯片:RI-R6C-001A、TRF7960。
EM公司基站芯片:EM4094、EM4294。
(2)單片機的選擇和使用
對于非接觸射頻卡的信息處理,根據功能和速度的要求,可以選擇不同的方案。各種CPU芯片各有優缺點。
8051單片機:價格低廉,入門簡單,貨源充足。
AVR單片機:價格適中,速度快,外設豐富。
ARM:功能強大,速度快,可運行RTOS。
(3)ISO14443-3、ISO14443-4
這兩部分是學習和操作非接觸CPU卡的核心。
①ISO/IEC14443-3規定了鄰近卡(PICCs)進入鄰近耦合設備(PCDs)時的輪尋,通信初始化階段的字符格式,幀結構,時序信息。REQ和ATQ命令內容,從多卡中選取其中一張的方法,初始化階段其他必需的參數。這部分規定同時適用于A型PICCs和B型PICCs。
②ISO/IEC14443-4規定了非接觸半雙功塊的傳輸協議,并定義了激活和停止協議的步驟。這部分傳輸協議同時適用于A型卡和B型卡。
(4)IS07816-4
這一部分是學習和操作,SAM的基礎,其中規定了:由接口設備至卡以及相反方向所發送的報文、命令和響應的內容;在復位應答期間卡所發送的歷史字節的結構及內容;當處理交換用的行業間命令時,在接口處所看到的文件和數據的結構;訪問卡內文件和數據的方法;定義訪問卡內文件和數據的權利的安全體系結構;安全報文交換的方法;訪問卡所處理算法的方法(本標準不描述這些算法)。
6 SAM卡在系統中的應用
根據應用方式,SAM卡在系統中的應用可分為:
①硬密鑰,即在終端機具中安裝SAM卡座,所有的認證都是由安裝在SAM卡座中的SAM卡進行運算的。這樣在終端機具維修時,只要取出SAM卡座中的SAM卡,這臺終端機具就是空的了。所以,所有的銀行設備都采用SAM卡的認證模式。
②軟密鑰,即終端機具中沒有SAM卡座,這個密鑰的運算實際上是由終端機具完成的,這樣客戶的密鑰就等于存在終端機具中,廠家拿回終端機具維修時,極易造成密鑰流失。
結 語
Mifare算法的破解,給城市公用事業IC卡系統安全敲響了警鐘。在科技化、信息化飛速發展的當今時代,只有不斷創新、不斷提高城市公用事業IC卡系統的安全系數及技術水平,才能有更高、更遠的發展,也才能為國家的信息發展作出貢獻。非接觸CPU卡智能卡技術正成為一種技術上更新換代的選擇,用CPU卡替換邏輯加密卡的時代已到來。