專利名稱:一種單張智能卡支持多個金融規(guī)范的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能卡應用技術(shù)領(lǐng)域,具體來說是一種單張智能卡支持多個金融規(guī)范的方法。
背景技術(shù):
IC卡(Integrated Circuit Card,集成電路卡)根據(jù)功能可以劃分為存儲卡和微處理器卡(CPU Card,以下簡稱智能卡)。非接觸智能卡,又名感應卡或射頻卡,由IC芯片和感應天線組成,并完全密封在一個標準PVC(聚氯乙烯)卡片中,無外露部分。非接觸式IC卡的讀寫過程通常由非接觸型IC卡與讀寫器之間通過無線電波來完成。智能卡與磁條卡相比,智能卡中增加了讀寫保護和數(shù)據(jù)加密保護,并且在使用保護上采取個人密碼、卡與讀寫器雙向認證,使其復制與偽造難度加大,安全性大大提高。由于智能卡復制難度極高,所以具備很強的抗攻擊能力。
傳統(tǒng)智能卡芯片的操作系統(tǒng)(Chip Operate System,以下簡稱COS)安裝在ROM中,COS是在芯片制造時通過特殊的工藝燒制進去的,這個工藝稱為硬掩膜。基于JAVA CARD技術(shù)設計開發(fā)的小應用程序(以下簡稱APPLET)也可以通過硬掩膜工藝被安裝在ROM中。
EMV標準是由國際三大銀行卡組織--Europay(歐陸卡,已被萬事達收購)、MasterCard(萬事達卡)和Visa(維薩)共同發(fā)起制定的銀行卡從磁條卡向智能IC卡(Integrated Circuit Card,集成電路卡的簡稱)轉(zhuǎn)移的技術(shù)標準,是基于CPU卡的金融支付標準,目前已成為公認的框架性標準。其目的是在金融IC卡支付系統(tǒng)中建立卡片和終端接口的統(tǒng)一標準,使得在此體系下所有的卡片和終端能夠互通互用,并且該技術(shù)的采用將大大提高銀行卡支付的安全性,減少欺詐行為。目前正式發(fā)布的版本有EMV96和EMV2000。
EMV2000是現(xiàn)行的國際上金融IC卡借記/貸記應用的基礎(chǔ)性技術(shù)標準,由國際三大銀行卡組織聯(lián)合制定,標準的主要內(nèi)容包括借貸記應用交易流程、借記/貸記應用規(guī)范和安全認證機制等,其目的是為金融IC卡、金融終端、支付系統(tǒng)以及金融機構(gòu)建立一個統(tǒng)一的通用的標準平臺。
Mastercard組織根據(jù)EMV2000標準,制訂了Mastercard的金融IC卡規(guī)范(以下簡稱Mastercard規(guī)范);VISA組織根據(jù)EMV2000標準,制訂了VISA的金融IC卡規(guī)范(以下簡稱VISA規(guī)范);中國人民銀行參考和借鑒了最新EMV2000,制訂了中國人民銀行金融集成電路(IC)卡規(guī)范(以下簡稱PBOC2.0規(guī)范)。該規(guī)范利用安全性更高的智能IC卡替代現(xiàn)有的磁卡來實現(xiàn)借記/貸記金融應用,使國內(nèi)發(fā)行的金融卡既可以方便地在國外應用,國外的金融卡又可以在國內(nèi)受理;與此同時,考慮到國內(nèi)的特殊需求,新規(guī)范在受理、身份認證等方面又不同于VISA、Mastercard,擁有自己的特色。
EMV2000只是框架性的標準,并不具備可實施性,各成員組織在該框架范圍內(nèi),需要對實施細節(jié)可以進行具體化的擴展,比如APDU命令PIN(Personal Identification Number)CHANGE/UNBLOCK(個人密碼修改/解鎖),EMV2000標準描述支持P2(APDU命令頭第四個字節(jié))參數(shù)為0x00的情況,而VISA和PBOC規(guī)范都支持P2參數(shù)為0x00、0x01以及0x02的情況,這就是VISA和PBOC在框架范圍內(nèi)對EMV的一種擴展。
目前,對于各個EMV組織下屬成員機構(gòu)針對EMV2000擴展實現(xiàn)之后的不同規(guī)范,幾乎所有的智能卡廠商都是依據(jù)每一個規(guī)范專門開發(fā)一款COS/APPLET,這樣的實現(xiàn)方式雖然可行,但各個具體實現(xiàn)雖然對EMV標準進行了不同程度和不同方式的擴展,這樣的擴展卻并沒有改變EMV規(guī)范的主體,因此,這樣的開發(fā)方式導致了很大程度上的重復勞動,增加了開發(fā)的成本,而且當需要以掩模方式將COS/APPLET安裝在ROM空間時,多次掩膜的成本也遠高于一次掩膜的成本。
發(fā)明內(nèi)容
本發(fā)明針對目前EMV組織下屬各個成員及機構(gòu)針對金融IC卡國際標準(EMV2000)所進行的各種不同方式的擴展,所導致的難以在一張IC卡芯片上實現(xiàn)支持所有這些擴展后的多個金融規(guī)范的問題,提出了通過對不同規(guī)范的共性與差異性的分析和整理,并根據(jù)內(nèi)定的內(nèi)部特征標準區(qū)分各個標準的方式,實現(xiàn)單張智能卡支持多個金融規(guī)范的方法。
本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是一種單張智能卡支持多個金融規(guī)范的方法,在智能卡操作系統(tǒng)中,對多個金融規(guī)范予以實現(xiàn),智能卡操作系統(tǒng)通過一個內(nèi)置的應用類型標志來標識當前智能卡所支持的金融規(guī)范類型。
在智能卡操作系統(tǒng)中,根據(jù)金融規(guī)范定義的基本業(yè)務流程中存在多個規(guī)范的差異部分,可分別在程序主體中嵌入各規(guī)范的擴展函數(shù),這些擴展函數(shù)分別對應于具體的應用類型標志,在智能卡應用準備階段,建立必需的文件并通過設置智能卡操作系統(tǒng)的應用類型標志來決定智能卡所支持的應用類型,并在智能卡使用階段根據(jù)所述應用類型標志執(zhí)行對應應用類型的擴展函數(shù)。
所述智能卡使用階段可包括如下步驟1)程序處理過程中接收應用協(xié)議數(shù)據(jù)單元命令;2)讀取并檢查所述智能卡操作系統(tǒng)中的應用類型標志;
3)根據(jù)應用類型標志,調(diào)用對應規(guī)范的擴展函數(shù)。
所述步驟3)中,根據(jù)對所述應用類型標志檢查,可進行如下具體的處理方式a)對于通用的公共處理環(huán)節(jié),智能卡處理時不做分支處理;b)對于多個金融規(guī)范間存在差異的處理環(huán)節(jié),智能卡根據(jù)應用類型標志,調(diào)用對應的擴展函數(shù)。
應用類型標志可決定智能卡在使用階段所支持的金融規(guī)范的類型,允許在智能卡應用準備階段修改應用類型標志;允許在智能卡使用階段安全訪問應用類型標志,但不允許修改。
本發(fā)明在智能卡的應用準備階段,建立必需的文件以及設置智能卡使用階段在卡片上通用的操作系統(tǒng)和應用程序,并在操作系統(tǒng)或應用程序中嵌入不同規(guī)范的擴展函數(shù),所述擴展函數(shù)中設置對應的應用類型標志等,在使用階段根據(jù)應用協(xié)議數(shù)據(jù)單元中的應用類型標志,調(diào)用對應規(guī)范的擴展函數(shù),在一個智能卡里實現(xiàn)同時支持一個技術(shù)標準中的多個規(guī)范應用。具體應用于金融領(lǐng)域的EMV2000技術(shù)標準時,只需要在發(fā)卡過程中通過執(zhí)行廠商依據(jù)ISO以及其他相關(guān)智能卡標準而自定義的內(nèi)部APDU命令[SET ATF]設置應用支持的規(guī)范類型,COS/APPLET運行時便遵循該規(guī)范,即可實現(xiàn)同一款COS/APPLET具備支持PBOC2.0、VISA、MASTERCARD這三個規(guī)范乃至更多基于EMV2000技術(shù)標準擴展的業(yè)務需求。也就是說,用同一款COS/APPLET可以同時滿足VISA、MASTERCARD、PBOC2.0等三個規(guī)范乃至更多基于EMV2000規(guī)范擴展的應用需求,以達到在一張IC卡芯片中,同時支持Mastercard規(guī)范、Visa規(guī)范及PBOC2.0規(guī)范三個規(guī)范之應用的目的。
圖1為應用類型標志安全管理示意2為本發(fā)明的工作流程圖具體實施方式
首先,對本發(fā)明的研發(fā)背景做簡要概述所述IC卡通過I/O接口與終端之間的全部數(shù)據(jù)交換都是用應用協(xié)議數(shù)據(jù)單元(Application Protocol Data Unit,是智能卡的通訊標準,以下簡稱APDU)進行的。APDU包括命令APDU和應答APDU兩種,命令APDU由終端發(fā)送到卡片,應答APDU則是卡片對命令APDU的響應。遵照ISO/IEC 7816-4標準,APDU設計得完全與傳輸協(xié)議無關(guān)。
一條命令APDU包含命令頭和命令體兩個部分,命令體可以有不同的長度,而命令頭固定由四個字節(jié)的數(shù)據(jù)元組成,分別是■CLAClass,類■INSInstruction,命令■P1Parameters 1,參數(shù)1■P2Parameters 2,參數(shù)2卡片生命周期通常分為以下五個階段■卡生產(chǎn)階段設計芯片,開發(fā)COS,制造芯片模塊,封裝卡片■卡準備階段安裝COS■應用準備階段應用初始化,應用個人化■卡使用階段應用激活■卡終止階段應用終止,卡停用其中,應用準備階段的應用初始化工作,主要包括建立所必需的文件以及設置卡使用階段在各卡片上通用的COS內(nèi)置參數(shù)等。
下面結(jié)合具體實施例對本發(fā)明內(nèi)容加以詳細描述。本發(fā)明重點在于支持對EMV2000標準的不同擴展,通過對各種擴展規(guī)范的分析和整理,以EMV2000標準作為整個COS/APPLET代碼的程序主體,將EMV2000提供給各個成員組織自己擴展實現(xiàn)的部分設計為程序接口,然后在COS/APPLET內(nèi)部內(nèi)置一個應用類型標志(ApplicationType Flag,縮寫ATF)參數(shù),主程序運行過程中,根據(jù)ATF調(diào)用相應的擴展接口。
ATF作為COS/APPLET的內(nèi)置參數(shù),映射到EEPROM上一塊特定的物理地址,如圖1所示,該EEPROM地址受COS/APPLET的保護,只允許通過專用的函數(shù)讀取和修改,而禁止普通的EEPROM讀寫函數(shù)操作,且修改ATF的函數(shù)調(diào)用還受到卡片生命周期的限制,只允許在應用準備階段的應用初始化時期調(diào)用該函數(shù),讀取ATF的函數(shù)可以在應用準備階段和卡使用階段調(diào)用。
ATF初始值默認為MasterCard。應用準備階段的應用初始化時期,COS/APPLET允許通過[SET ATF]命令修改ATF;應用初始化結(jié)束之后,COS/APPLET將禁止修改ATF。
COS/APPLET的主程序是依據(jù)EMV2000標準而搭建的,因為其他擴展的規(guī)范都是依托在EMV2000的基礎(chǔ)上,對標準的未明確部分進行的擴展,因此,要實現(xiàn)在同一張卡上分別支持不同規(guī)范的關(guān)鍵點就在于,針對這些不同規(guī)范在每個細節(jié)上的擴展,分別封裝接口函數(shù),用于供主程序選擇及調(diào)用。
對于遵循EMV2000的業(yè)務流程中的同一個細節(jié),MasterCard規(guī)范與VISA規(guī)范、PBOC2.0規(guī)范的實現(xiàn)可能都不相同,那么,我們就針對這個細節(jié)差異,將每個規(guī)范該處細節(jié)的處理都分別封裝成一個接口函數(shù),當具體業(yè)務流程執(zhí)行到該細節(jié)時,只需要根據(jù)ATF就可以判定調(diào)用具體的一個接口函數(shù)。
以EMV標準定義的命令PIN CHANGE/UNBLOCK為例,處理流程如圖2中所示。
接收PIN CHANGE/UNBLOCK命令的APDU;[101]首先,讀取所述APDU中的ATF;[200]執(zhí)行CLA參數(shù)檢查,VISA、MasterCard以及PBOC2.0等規(guī)范都對CLA參數(shù)進行了擴展,根據(jù)ATF調(diào)用對應的擴展函數(shù)[201]當ATF=PBOC2,如圖實線箭頭指向,調(diào)用根據(jù)PBOC2規(guī)范實現(xiàn)擴展的CLA參數(shù)檢查函數(shù),[203]當ATF=VISA,如圖虛線箭頭指向,調(diào)用根據(jù)VISA規(guī)范實現(xiàn)擴展的CLA參數(shù)檢查函數(shù);[300]執(zhí)行P1參數(shù)檢查,該項檢查對EMV2000的各個擴展規(guī)范執(zhí)行相同的處理,該步驟為公共部分,則執(zhí)行VISA中的公共應用程序。
執(zhí)行P2參數(shù)檢查,VISA、MasterCard以及PBOC2.0等擴展規(guī)范對P2參數(shù)進行了擴展,根據(jù)ATF調(diào)用對應的擴展函數(shù)[401]當ATF=PBOC2,如實線箭頭指向,調(diào)用根據(jù)PBOC2規(guī)范實現(xiàn)擴展的P2參數(shù)檢查函數(shù),[403]當ATF=VISA,如虛線箭頭指向,調(diào)用根據(jù)VISA規(guī)范實現(xiàn)擴展的P2參數(shù)檢查函數(shù);[500]繼續(xù)執(zhí)行其他處理步驟......
以上對本發(fā)明所提供的單個智能卡支持技術(shù)標準中多個擴展規(guī)范的方法進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權(quán)利要求
1.一種單張智能卡支持多個金融規(guī)范的方法,其特征在于在智能卡操作系統(tǒng)中,對多個金融規(guī)范予以實現(xiàn),智能卡操作系統(tǒng)通過一個內(nèi)置的應用類型標志來標識當前智能卡所支持的金融規(guī)范類型。
2.如權(quán)利要求1所述的單張智能卡支持多個金融規(guī)范的方法,其特征在于在智能卡操作系統(tǒng)中,根據(jù)金融規(guī)范定義的基本業(yè)務流程中存在多個規(guī)范的差異部分,分別在程序主體中嵌入各規(guī)范的擴展函數(shù),這些擴展函數(shù)分別對應于具體的應用類型標志,在智能卡應用準備階段,建立必需的文件并通過設置智能卡操作系統(tǒng)的應用類型標志來決定智能卡所支持的應用類型,并在智能卡使用階段根據(jù)所述應用類型標志執(zhí)行對應應用類型的擴展函數(shù)。
3.如權(quán)利要求2所述的單張智能卡支持多個金融規(guī)范的方法,其特征在于所述智能卡使用階段包括如下步驟1)程序處理過程中接收應用協(xié)議數(shù)據(jù)單元命令;2)讀取并檢查所述智能卡操作系統(tǒng)中的應用類型標志;3)根據(jù)應用類型標志,調(diào)用對應規(guī)范的擴展函數(shù)。
4.如權(quán)利要求3所述的單張智能卡支持多個金融規(guī)范的方法,其特征在于所述步驟3)中,根據(jù)對所述應用類型標志的檢查,可進行如下具體操作a)對于通用的公共處理環(huán)節(jié),智能卡處理時不做分支處理;b)對于多個金融規(guī)范間存在差異的處理環(huán)節(jié),智能卡根據(jù)應用類型標志,調(diào)用對應的擴展函數(shù)。
5.如權(quán)利要求1~4中任一項所述的單張智能卡支持多個金融規(guī)范的方法,其特征在于應用類型標志決定智能卡在使用階段所支持的金融規(guī)范的類型,允許在智能卡應用準備階段修改應用類型標志;允許在智能卡使用階段安全訪問應用類型標志,但不允許修改。
全文摘要
本發(fā)明涉及智能卡應用技術(shù)領(lǐng)域,具體來說是一種單張智能卡支持多個金融規(guī)范的方法。本發(fā)明在智能卡的應用準備階段,建立必需的文件以及設置智能卡使用階段在卡片上通用的操作系統(tǒng)和應用程序,并在操作系統(tǒng)中嵌入不同規(guī)范的擴展函數(shù),所述擴展函數(shù)中設置對應的應用類型標志等,在使用階段根據(jù)應用協(xié)議數(shù)據(jù)單元中的應用類型標志,調(diào)用對應規(guī)范的擴展函數(shù),在一個智能卡里實現(xiàn)同時支持多個金融規(guī)范的應用。
文檔編號G06Q40/00GK1900982SQ20061009840
公開日2007年1月24日 申請日期2006年7月5日 優(yōu)先權(quán)日2006年7月5日
發(fā)明者陸舟, 于華章 申請人:北京飛天誠信科技有限公司