《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于智能卡COS的電子現(xiàn)金設(shè)計與測試
基于智能卡COS的電子現(xiàn)金設(shè)計與測試
來源:電子技術(shù)應(yīng)用2012年第5期
鄭 姣,張志剛
上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海200240
摘要: 針對U盾與金融卡分離引起的安全漏洞,設(shè)計了一種安全電子現(xiàn)金系統(tǒng)。該系統(tǒng)基于華虹SHC1302-N芯片,集公鑰基礎(chǔ)設(shè)施PKI卡和電子現(xiàn)金卡功能為一體,支持接觸式和非接觸式通信。闡述了文件系統(tǒng)、應(yīng)用管理系統(tǒng)、安全機制、雙通信模塊的設(shè)計方法,給出了電子現(xiàn)金的功能模式和交易流程,說明了硬件仿真系統(tǒng)測試和智能卡系統(tǒng)測試的方法。
中圖分類號: TP311
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)05-0030-03
Design and testing of electronic cash system based on smart card COS
Zheng Jiao, Zhang Zhigang
School of Electronic Information and Electrical Engineering, Shanghai Jiaotong University,Shanghai 200240,China
Abstract: In order to solve security holes caused by the separation of USB KEY and bank card, this paper builds electronic cash system. The system based on Huahong SHC1302-N chip sets public key infrastructure(PKI) and electronic cash function as a whole and supports contact and contactless communication. The article describes the design of document manager, application manager, security manager, communications manager, gives the function mode and electronic cash transaction process and describes the way of hardware emulation system testing and smart card systems testing.
Key words : electronic cash;card operating system;PKI;security

     電子現(xiàn)金方案是基于《中國金融集成電路(IC)卡規(guī)范(V2.0)》實現(xiàn)的小額支付功能,支持圈存、消費、查詢等。安全的智能卡片內(nèi)操作系統(tǒng)的設(shè)計是其關(guān)鍵問題。

    智能卡芯片因包含有片內(nèi)存儲器的自動偵測模塊,能保證在未來相當(dāng)長時間內(nèi)無法通過反剖析手段獲取芯片內(nèi)存儲的數(shù)據(jù)。
    目前網(wǎng)上銀行使用的銀行卡加USB KEY的模式仍然存在安全漏洞[1],本電子現(xiàn)金方案功能模式如圖1所示,數(shù)據(jù)完全在卡片內(nèi)部加解密,提高了安全性;電子現(xiàn)金賬戶是授權(quán)消費的最大額度,分配給脫機交易使用,防止透支風(fēng)險。

1 智能卡硬件
    SHC1302-N是一款基于ARM7的32 bit雙界面智能卡芯片,內(nèi)置256 KB的ROM、10 KB的RAM、144 KB的E2PROM、真隨機數(shù)發(fā)生器、CRC模塊等;符合ISO14443D的Type A/B通信協(xié)議和硬件自動識別通信協(xié)議;具有256 B的收發(fā)FIFO;Type A模式支持106 Kb/s、212 Kb/s,Type B模式支持106 Kb/s;符合ISO/IEE7816協(xié)議,支持T=0、T=1協(xié)議。
2 COS結(jié)構(gòu)模型
    常見的片內(nèi)操作系統(tǒng)COS(Card Operating System)結(jié)構(gòu)模型有簡單結(jié)構(gòu)、層次結(jié)構(gòu)、微內(nèi)核結(jié)構(gòu)和外核結(jié)構(gòu)4種。COS的設(shè)計必須解決文件操作、鑒別與驗證、安全機制[2]三個問題。如圖2所示,選擇擴展性好、復(fù)雜度低、靈活性好的微內(nèi)核結(jié)構(gòu);使用Metrowerks CodeWarrior for ARM Developer Suite建立COS工程文件。

3 文件系統(tǒng)設(shè)計
3.1 文件結(jié)構(gòu)

    如圖3所示,文件結(jié)構(gòu)是以主文件MF(Master File)為系統(tǒng)根文件、專用文件DF(Dedicated File)為枝葉和基本文件、EF(Elementary File)為葉的樹形結(jié)構(gòu)。MF在卡內(nèi)有且僅有一個,映射為一個目錄定義文件DDF(Directory Definition File),其應(yīng)用標(biāo)示符AID(Application Identifier)定義為0X3F00。根據(jù)DF以下是否包含子DF,將DF分為DDF和應(yīng)用定義文件ADF(Application Definition File)。EF分為二進(jìn)制文件、定長記錄文件、非定長記錄文件和循環(huán)定長記錄文件。每個DDF有一個目錄文件DIR(Directory File),且為變長記錄文件。每一條記錄對應(yīng)一個DF信息。ADF下沒有DIR文件。

3.2 文件系統(tǒng)邏輯和物理關(guān)系
    文件系統(tǒng)在邏輯上的關(guān)系:文件結(jié)構(gòu)以二叉樹的形式存在,左兒子是根的第一個創(chuàng)建文件,右兒子是和根同一層次的文件。
    文件系統(tǒng)的物理關(guān)系:先創(chuàng)建的文件在前面,后創(chuàng)建的文件在后面,一直保持這個次序不變。每個DF只有文件頭(即文件描述塊),包含對文件和應(yīng)用的描述,例如文件大小、文件類型、文件標(biāo)識等。每個EF包含文件頭和文件體,文件體保存文件的實際數(shù)據(jù)內(nèi)容。每個DF所占空間等于DF頭空間,每個EF所占空間等于EF頭空間加EF文件體所占空間。
3.3 文件API接口
    文件API接口有:創(chuàng)建文件fs_create、刪除文件fs_del_all、按應(yīng)用標(biāo)識符查找文件aidfindnode、按全名查找文件fidfindnode、按短文件名查找文件sfifindnode、寫文件memory_write和讀文件memory_read。
4 應(yīng)用管理系統(tǒng)設(shè)計
4.1 命令解析

    由于命令報文的指令字節(jié)INS(Instruction Byte of Command Message)大多不相同,因此采用switch語句,用INS區(qū)分命令入口地址。若多個命令的INS相同,則在函數(shù)體內(nèi),利用命令報文的類別字節(jié)CLA(Class Byte of the Command Message)、參數(shù)1 P1(Parameter 1)、參數(shù)2 P2(Parameter 2)來進(jìn)一步判斷。電子現(xiàn)金命令報文編碼及響應(yīng)報文編碼可參見JR/T 0025.5-2010附錄B。
    X.509標(biāo)準(zhǔn)中將PKI(Public Key Infrastructure)定義為支持公開密鑰管理,并能支持認(rèn)證、加密、完整性和可追究性服務(wù)的基礎(chǔ)設(shè)施。PKI命令報文編碼及響應(yīng)報文編碼可參見參考文獻(xiàn)[3]。在switch語句中,添加PKI命令的入口,使其與電子現(xiàn)金命令并行存在,如圖4所示。

 

 

范圍,與僅支持離線或僅支持在線的電子現(xiàn)金方案[5-6]相比,更易于使用。
5 安全機制設(shè)計
    建立完整的安全機制是保護信息系統(tǒng)安全的關(guān)鍵[7]。
5.1 文件訪問控制與防交叉
    在創(chuàng)建文件時,設(shè)定文件的讀寫刪除等權(quán)限,只有滿足權(quán)限時,才能進(jìn)行相應(yīng)操作。在執(zhí)行命令時,判斷當(dāng)前目錄文件,不允許跨應(yīng)用訪問私有文件。
5.2 數(shù)據(jù)備份與防掉電
    設(shè)置備份區(qū)標(biāo)志變量:在每次更新敏感數(shù)據(jù)前(如交易明細(xì)、余額),置位標(biāo)志變量,并將原有數(shù)據(jù)備份。數(shù)據(jù)更新完成后,復(fù)位標(biāo)志變量??ㄆ想姀?fù)位后,檢查標(biāo)志變量。如果備份區(qū)有效,則從備份區(qū)恢復(fù)上次交易數(shù)據(jù);如果備份區(qū)無效,則開始新的交易。
5.3 密鑰體系
    密鑰體系分為對稱密鑰體系和非對稱密鑰體系。對稱密鑰體系采用三級密鑰,主要用于應(yīng)用請求密文的生成,發(fā)卡銀行驗證以及腳本信息的加解密等;發(fā)卡方保存主密鑰,主密鑰分散產(chǎn)生子密鑰;子密鑰存儲在智能中,子密鑰分散產(chǎn)生過程密鑰;采用DES及3-DES算法。非對稱密鑰體系主要用于脫機數(shù)據(jù)認(rèn)證,是一個二級認(rèn)證中心CA(Certificate Authority)架構(gòu),包括根CA和發(fā)卡行CA;使用非對稱加密算法RSA、哈希算法SHA-1(見GB/T 18238.3)。PKI系統(tǒng)可以為用戶建立一個安全的網(wǎng)絡(luò)運行環(huán)境,保證電子現(xiàn)金系統(tǒng)不可重復(fù)花費并具有防偽性[8]。
5.4 交易風(fēng)險控制
    當(dāng)發(fā)生交易取消時,電子現(xiàn)金系統(tǒng)可以采用一些補償措施[9]。設(shè)置了電子現(xiàn)金余額上限、電子現(xiàn)金單筆交易限額等數(shù)據(jù)元來限制交易額度。當(dāng)交易金額大于電子現(xiàn)金單筆交易限額時,拒絕電子現(xiàn)金交易,轉(zhuǎn)而進(jìn)行標(biāo)準(zhǔn)借/貸記交易。當(dāng)圈存或現(xiàn)金充值超過電子現(xiàn)金余額上限時,拒絕該筆交易。
6 雙界面通信設(shè)計
    雙界面通信設(shè)計是對讀寫設(shè)備發(fā)出的命令進(jìn)行接收,實現(xiàn)接觸式與非接觸式兩種通信方式。設(shè)有如下4個API接口:
    (1)硬件時鐘頻率init_io:仿真模式時為7.5 MHz,正常模式為30 MHz。通信接口根據(jù)標(biāo)識變量,自動判斷是7816協(xié)議還是14443協(xié)議,并初始化和接收第一個指令。如果是7816協(xié)議,則發(fā)送ATR,其指令最大長度為256 B。
    (2)接觸式接收os7816RxCommand:先接收5 B指令,然后判斷有無后續(xù)數(shù)據(jù),若有再接收剩余數(shù)據(jù)。
    (3)接觸式返回os7816TxResponseRxCommand:如果只返回SW1(Status Word One)、SW2(Status Word Two)就直接發(fā)送,如果還有其他數(shù)據(jù),就要先發(fā)送INS,再發(fā)送數(shù)據(jù),最后發(fā)送SW1、SW2。
    (4)非接觸模式命令的接收和發(fā)送os14443TxResponseRxCommand。
    在接收命令時,不對報文的正確性做出判斷,命令解析和處理時再作判斷。當(dāng)發(fā)現(xiàn)命令接收有錯時,在響應(yīng)命令中回復(fù)錯誤代碼,留待后續(xù)功能模塊處理。
7 電子現(xiàn)金系統(tǒng)測試
    COS測試分為硬件仿真器測試和智能卡測試兩個部分,硬件仿真系統(tǒng)測試通過后,進(jìn)行卡片測試。針對標(biāo)準(zhǔn)及具體需求設(shè)計測試用例,一般100%覆蓋需求,而對結(jié)構(gòu)的覆蓋率達(dá)到所要求的即可[10]。
    2901Download工具支持Gemplus433ACR30S、ACR30U讀卡器(PCSC)。啟動2901Download工具,將COS的二進(jìn)制文件下載到智能卡內(nèi)。使用腳本命令在智能卡上創(chuàng)建文件系統(tǒng)和數(shù)據(jù)結(jié)構(gòu),并進(jìn)行卡片個人化。
    SHC6210H 仿真器是集合了評估板和J-Link 仿真調(diào)試模塊的一體化仿真系統(tǒng),可以通過JTAG 方式對芯片的片上程序進(jìn)行開發(fā)和調(diào)試、裝載項目工程文件,進(jìn)入仿真模式。集成開發(fā)環(huán)境支持代碼的下載、全速運行、單步運行、跟蹤運行、運行到光標(biāo)處、斷點等調(diào)試功能,支持存儲器觀測、修改、填充、加載等功能。該系統(tǒng)完全在硬件內(nèi)部對數(shù)據(jù)進(jìn)行加密解密和數(shù)字簽名等操作,解決了U盾和銀行卡分離引起的安全漏洞;自動選擇在線與離線模式,降低了電子現(xiàn)金系統(tǒng)對網(wǎng)絡(luò)環(huán)境的要求;支持接觸式和非接觸式兩種通信模式,增強了系統(tǒng)靈活性;微內(nèi)核層次結(jié)構(gòu)設(shè)計,提高了系統(tǒng)可擴展性;防交叉文件訪問控制,保證了各應(yīng)用相互獨立;對稱密鑰體系和非對稱密鑰體系互補使用,提高了系統(tǒng)效率;引入交易限額等數(shù)據(jù)元并進(jìn)行敏感數(shù)據(jù)備份,控制了交易風(fēng)險。
參考文獻(xiàn)
[1] 張錕,顏學(xué)龍.USB KEY的體系結(jié)構(gòu)分析及安全策略研究[J].安全技術(shù)與管理,2009(2):40-42.
[2] 王愛英.智能卡技術(shù)IC卡與RFID標(biāo)簽[M].第三版.北京:清華大學(xué)出版社,2009:331-337.
[3] 李翔.求是科技,智能卡研發(fā)技術(shù)與工程實踐[M].北京:人民郵電出版社,2003:410-428.
[4] CHUN I F,VINCENT H.Provably secure integrated on/offline electronic cash for flexible and efficient payment [J]. IEEE Transactions on Systems, Man, and Cybernetics-part C: Applications and Reviews, 2010,40(5):567-579.
[5] Liu Feng,Li Xueyong,Gao Guohong.The design of an E cash system[C].2010 International Conference on Computer Design and Applications(ICCDA 2010).Qinhuangdao China:IEEE,2010:119-122.
[6] Zhou Fei,Deng Heping,Li Zhengyue,et al.The analysis of E-commerce online payment status in China[C].2010 International Conference on Networking and Digital Society. Wenzhou China:IEEE,2010:84-87.
[7] LEE J,JUN M.Security protocol design for electronic-cash transactions in a mobile-PKI environment[C].9th IEEE/ACIS International Conference on Computer and Information  Science.Yamagata Japan:IEEE,2010:887-891.
[8] 張錕,顏學(xué)龍.USB KEY的體系結(jié)構(gòu)分析及安全策略研究[J].安全技術(shù)與管理,2009(2):40-42.
[9] Yang Xinsong,Li Zhao.Some improvements on recoverable E-cash[C].2010 International Conference on E-Business and E-Government.Guangzhou China:IEEE,2010:2126-2128.
[10] 謝晶晶,李代平,郭琨.智能卡操作系統(tǒng)的測試技術(shù)[J].計算機技術(shù)與發(fā)展,2010,20(8):21-28.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。