文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)05-0030-03
電子現(xiàn)金方案是基于《中國金融集成電路(IC)卡規(guī)范(V2.0)》實(shí)現(xiàn)的小額支付功能,,支持圈存、消費(fèi),、查詢等,。安全的智能卡片內(nèi)操作系統(tǒng)的設(shè)計(jì)是其關(guān)鍵問題。
智能卡芯片因包含有片內(nèi)存儲(chǔ)器的自動(dòng)偵測模塊,,能保證在未來相當(dāng)長時(shí)間內(nèi)無法通過反剖析手段獲取芯片內(nèi)存儲(chǔ)的數(shù)據(jù),。
目前網(wǎng)上銀行使用的銀行卡加USB KEY的模式仍然存在安全漏洞[1],本電子現(xiàn)金方案功能模式如圖1所示,,數(shù)據(jù)完全在卡片內(nèi)部加解密,,提高了安全性;電子現(xiàn)金賬戶是授權(quán)消費(fèi)的最大額度,,分配給脫機(jī)交易使用,,防止透支風(fēng)險(xiǎn)。
1 智能卡硬件
SHC1302-N是一款基于ARM7的32 bit雙界面智能卡芯片,,內(nèi)置256 KB的ROM,、10 KB的RAM、144 KB的E2PROM,、真隨機(jī)數(shù)發(fā)生器,、CRC模塊等;符合ISO14443D的Type A/B通信協(xié)議和硬件自動(dòng)識(shí)別通信協(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è)計(jì)必須解決文件操作、鑒別與驗(yàn)證,、安全機(jī)制[2]三個(gè)問題,。如圖2所示,選擇擴(kuò)展性好,、復(fù)雜度低,、靈活性好的微內(nèi)核結(jié)構(gòu),;使用Metrowerks CodeWarrior for ARM Developer Suite建立COS工程文件。
3 文件系統(tǒng)設(shè)計(jì)
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)有且僅有一個(gè),,映射為一個(gè)目錄定義文件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)定長記錄文件。每個(gè)DDF有一個(gè)目錄文件DIR(Directory File),,且為變長記錄文件,。每一條記錄對(duì)應(yīng)一個(gè)DF信息。ADF下沒有DIR文件,。
3.2 文件系統(tǒng)邏輯和物理關(guān)系
文件系統(tǒng)在邏輯上的關(guān)系:文件結(jié)構(gòu)以二叉樹的形式存在,,左兒子是根的第一個(gè)創(chuàng)建文件,右兒子是和根同一層次的文件,。
文件系統(tǒng)的物理關(guān)系:先創(chuàng)建的文件在前面,,后創(chuàng)建的文件在后面,一直保持這個(gè)次序不變,。每個(gè)DF只有文件頭(即文件描述塊),,包含對(duì)文件和應(yīng)用的描述,例如文件大小,、文件類型,、文件標(biāo)識(shí)等。每個(gè)EF包含文件頭和文件體,,文件體保存文件的實(shí)際數(shù)據(jù)內(nèi)容,。每個(gè)DF所占空間等于DF頭空間,,每個(gè)EF所占空間等于EF頭空間加EF文件體所占空間,。
3.3 文件API接口
文件API接口有:創(chuàng)建文件fs_create、刪除文件fs_del_all,、按應(yīng)用標(biāo)識(shí)符查找文件aidfindnode,、按全名查找文件fidfindnode、按短文件名查找文件sfifindnode,、寫文件memory_write和讀文件memory_read,。
4 應(yīng)用管理系統(tǒng)設(shè)計(jì)
4.1 命令解析
由于命令報(bào)文的指令字節(jié)INS(Instruction Byte of Command Message)大多不相同,,因此采用switch語句,用INS區(qū)分命令入口地址,。若多個(gè)命令的INS相同,,則在函數(shù)體內(nèi),利用命令報(bào)文的類別字節(jié)CLA(Class Byte of the Command Message),、參數(shù)1 P1(Parameter 1),、參數(shù)2 P2(Parameter 2)來進(jìn)一步判斷。電子現(xiàn)金命令報(bào)文編碼及響應(yīng)報(bào)文編碼可參見JR/T 0025.5-2010附錄B,。
X.509標(biāo)準(zhǔn)中將PKI(Public Key Infrastructure)定義為支持公開密鑰管理,,并能支持認(rèn)證、加密,、完整性和可追究性服務(wù)的基礎(chǔ)設(shè)施,。PKI命令報(bào)文編碼及響應(yīng)報(bào)文編碼可參見參考文獻(xiàn)[3]。在switch語句中,,添加PKI命令的入口,,使其與電子現(xiàn)金命令并行存在,如圖4所示,。
范圍,,與僅支持離線或僅支持在線的電子現(xiàn)金方案[5-6]相比,更易于使用,。
5 安全機(jī)制設(shè)計(jì)
建立完整的安全機(jī)制是保護(hù)信息系統(tǒng)安全的關(guān)鍵[7],。
5.1 文件訪問控制與防交叉
在創(chuàng)建文件時(shí),設(shè)定文件的讀寫刪除等權(quán)限,,只有滿足權(quán)限時(shí),,才能進(jìn)行相應(yīng)操作。在執(zhí)行命令時(shí),,判斷當(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 密鑰體系
密鑰體系分為對(duì)稱密鑰體系和非對(duì)稱密鑰體系,。對(duì)稱密鑰體系采用三級(jí)密鑰,,主要用于應(yīng)用請(qǐng)求密文的生成,發(fā)卡銀行驗(yàn)證以及腳本信息的加解密等,;發(fā)卡方保存主密鑰,,主密鑰分散產(chǎn)生子密鑰;子密鑰存儲(chǔ)在智能中,,子密鑰分散產(chǎn)生過程密鑰,;采用DES及3-DES算法。非對(duì)稱密鑰體系主要用于脫機(jī)數(shù)據(jù)認(rèn)證,,是一個(gè)二級(jí)認(rèn)證中心CA(Certificate Authority)架構(gòu),,包括根CA和發(fā)卡行CA;使用非對(duì)稱加密算法RSA,、哈希算法SHA-1(見GB/T 18238.3),。PKI系統(tǒng)可以為用戶建立一個(gè)安全的網(wǎng)絡(luò)運(yùn)行環(huán)境,保證電子現(xiàn)金系統(tǒng)不可重復(fù)花費(fèi)并具有防偽性[8],。
5.4 交易風(fēng)險(xiǎn)控制
當(dāng)發(fā)生交易取消時(shí),,電子現(xiàn)金系統(tǒng)可以采用一些補(bǔ)償措施[9]。設(shè)置了電子現(xiàn)金余額上限,、電子現(xiàn)金單筆交易限額等數(shù)據(jù)元來限制交易額度,。當(dāng)交易金額大于電子現(xiàn)金單筆交易限額時(shí),拒絕電子現(xiàn)金交易,,轉(zhuǎn)而進(jìn)行標(biāo)準(zhǔn)借/貸記交易,。當(dāng)圈存或現(xiàn)金充值超過電子現(xiàn)金余額上限時(shí),拒絕該筆交易,。
6 雙界面通信設(shè)計(jì)
雙界面通信設(shè)計(jì)是對(duì)讀寫設(shè)備發(fā)出的命令進(jìn)行接收,,實(shí)現(xiàn)接觸式與非接觸式兩種通信方式。設(shè)有如下4個(gè)API接口:
(1)硬件時(shí)鐘頻率init_io:仿真模式時(shí)為7.5 MHz,,正常模式為30 MHz,。通信接口根據(jù)標(biāo)識(shí)變量,自動(dòng)判斷是7816協(xié)議還是14443協(xié)議,,并初始化和接收第一個(gè)指令,。如果是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,。
在接收命令時(shí),,不對(duì)報(bào)文的正確性做出判斷,命令解析和處理時(shí)再作判斷,。當(dāng)發(fā)現(xiàn)命令接收有錯(cuò)時(shí),,在響應(yīng)命令中回復(fù)錯(cuò)誤代碼,留待后續(xù)功能模塊處理,。
7 電子現(xiàn)金系統(tǒng)測試
COS測試分為硬件仿真器測試和智能卡測試兩個(gè)部分,,硬件仿真系統(tǒng)測試通過后,進(jìn)行卡片測試,。針對(duì)標(biāo)準(zhǔn)及具體需求設(shè)計(jì)測試用例,,一般100%覆蓋需求,而對(duì)結(jié)構(gòu)的覆蓋率達(dá)到所要求的即可[10],。
2901Download工具支持Gemplus433ACR30S,、ACR30U讀卡器(PCSC)。啟動(dòng)2901Download工具,,將COS的二進(jìn)制文件下載到智能卡內(nèi),。使用腳本命令在智能卡上創(chuàng)建文件系統(tǒng)和數(shù)據(jù)結(jié)構(gòu),并進(jìn)行卡片個(gè)人化,。
SHC6210H 仿真器是集合了評(píng)估板和J-Link 仿真調(diào)試模塊的一體化仿真系統(tǒng),,可以通過JTAG 方式對(duì)芯片的片上程序進(jìn)行開發(fā)和調(diào)試、裝載項(xiàng)目工程文件,,進(jìn)入仿真模式,。集成開發(fā)環(huán)境支持代碼的下載、全速運(yùn)行,、單步運(yùn)行,、跟蹤運(yùn)行、運(yùn)行到光標(biāo)處,、斷點(diǎn)等調(diào)試功能,,支持存儲(chǔ)器觀測、修改、填充,、加載等功能,。該系統(tǒng)完全在硬件內(nèi)部對(duì)數(shù)據(jù)進(jìn)行加密解密和數(shù)字簽名等操作,解決了U盾和銀行卡分離引起的安全漏洞,;自動(dòng)選擇在線與離線模式,,降低了電子現(xiàn)金系統(tǒng)對(duì)網(wǎng)絡(luò)環(huán)境的要求;支持接觸式和非接觸式兩種通信模式,,增強(qiáng)了系統(tǒng)靈活性,;微內(nèi)核層次結(jié)構(gòu)設(shè)計(jì),提高了系統(tǒng)可擴(kuò)展性,;防交叉文件訪問控制,,保證了各應(yīng)用相互獨(dú)立;對(duì)稱密鑰體系和非對(duì)稱密鑰體系互補(bǔ)使用,,提高了系統(tǒng)效率,;引入交易限額等數(shù)據(jù)元并進(jìn)行敏感數(shù)據(jù)備份,控制了交易風(fēng)險(xiǎn),。
參考文獻(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ù)與工程實(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].計(jì)算機(jī)技術(shù)與發(fā)展,,2010,20(8):21-28.