薛明策,劉素娟,林平分
(北京工業(yè)大學(xué), 北京 100124)
薛明策,劉素娟,林平分
(北京工業(yè)大學(xué), 北京 100124)
隨著信息化時(shí)代的到來(lái),智能卡作為信息化技術(shù)標(biāo)志之一,在金融等方面的應(yīng)用逐漸普及。智能卡操作系統(tǒng)不同于傳統(tǒng)軟件,它工作在嵌入式環(huán)境,具有硬件資源有限、工作環(huán)境不穩(wěn)定等特點(diǎn),所以其設(shè)計(jì)方法與傳統(tǒng)方法有所不同。智能卡操作系統(tǒng)在投入使用之前,必須經(jīng)過(guò)嚴(yán)格的測(cè)試,這是由嵌入式系統(tǒng)工作的特性決定的,因?yàn)楫?dāng)軟件工作后出現(xiàn)漏洞時(shí)很難進(jìn)行彌補(bǔ)。本文通過(guò)對(duì)智能卡下載機(jī)制的研究,改進(jìn)設(shè)計(jì)以提高智能卡操作系統(tǒng)的下載速度,進(jìn)而提高測(cè)試效率和縮短發(fā)卡時(shí)間。
智能卡;COS;高速下載
智能卡(Smart Card)是封裝著集成電路的具備傳輸存儲(chǔ)以及數(shù)據(jù)處理能力的塑料卡片,因其良好的處理能力和較好的保密性能,成為IC卡發(fā)展的主要方向。COS(Chip Operation System)是伴隨著CPU卡的出現(xiàn)而產(chǎn)生的,并且根據(jù)CPU的差異而有所不同。COS是一種專用的系統(tǒng),一般來(lái)講一個(gè) COS 只能用于一種特定的智能卡[2-4]。目前COS有兩種存在方式:一種是把已經(jīng)經(jīng)過(guò)驗(yàn)證的COS直接通過(guò)掩膜方式,在生產(chǎn)過(guò)程中固化到智能卡芯片的只讀存儲(chǔ)器(Read only memory, ROM)中;另一種是芯片生產(chǎn)結(jié)束后,通過(guò)ROM中的Bootloader程序?qū)OS下載到智能卡中的非易失存儲(chǔ)器(Flash, EEPROM等)中[5]。相比于固化在ROM中COS不會(huì)被惡意修改的優(yōu)勢(shì),采用Bootloader下載的方式使COS具有更大的靈活性,更能讓COS適應(yīng)瞬息萬(wàn)變的市場(chǎng),而不用被修改掩膜的長(zhǎng)時(shí)間周期所拖累[ 5 -7]。因而,大部分研究者都是通過(guò)ROM中的Bootloader程序?qū)OS下載到智能卡中的非易失存儲(chǔ)器中。
郭鴻志、李代平等在《智能卡芯片操作系統(tǒng)的研究與實(shí)現(xiàn)》一文中提出了EVDO 卡 COS 的開發(fā)[1],李春豐、馬海峰等在《RF_SIM卡的多應(yīng)用COS研究與設(shè)計(jì)》中開發(fā)了SIM卡的COS[2],潘宇、鄧赟等研究了基于智能卡COS平臺(tái)的應(yīng)用開發(fā)技術(shù)[3],胡云肖、楊波等提出了面向PBOC2.0的智能卡操作系統(tǒng)的設(shè)計(jì)[4],周成沖、林平分等研究了智能卡操作系統(tǒng)高速下載設(shè)計(jì)[5],孫建、林平分等研究了雙界面智能卡操作系統(tǒng)的設(shè)計(jì)與測(cè)試[6],楊柳、于忠臣等側(cè)重于智能卡COS測(cè)試方案的研究[7],嚴(yán)婷婷、張志鴻等研究了智能卡操作系統(tǒng)自動(dòng)化測(cè)試方法[8]。上述研究者有的側(cè)重于智能卡COS開發(fā)的研究與實(shí)現(xiàn)[1-4],有的偏向于研究智能卡COS測(cè)試方案的研究與實(shí)現(xiàn)[6-8],但研究智能卡COS下載速度的卻很少。
本文主要研究智能卡COS下載速度的提高,以北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室自主研發(fā)的非接觸式智能卡BES2416版本9和版本10為基礎(chǔ)。BES2416已經(jīng)成功流片,芯片如圖1所示,此智能卡已經(jīng)被北京握奇數(shù)據(jù)有限公司和深圳明華科技應(yīng)用,實(shí)際應(yīng)用表明,實(shí)驗(yàn)室智能卡滿足客戶的需求和實(shí)際情況。智能卡COS下載速度的提高可以縮短開發(fā)周期和相應(yīng)的測(cè)試周期。
圖1 非接觸式智能卡BES2416芯片
本文研究的智能卡COS的下載機(jī)制為非接觸式下載,與智能卡通信的讀卡器有北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室自主研發(fā)和深圳明華科技公司的兩種類型,讀卡器和智能卡是通過(guò)射頻13.56 MHz非接觸式通信,其中非接觸式接口服從ISO14443協(xié)議,下面主要介紹COS的下載機(jī)制。
1.1 讀卡器和智能卡
智能卡COS的下載是讀卡器與智能卡通過(guò)非接觸式進(jìn)行指令交互的形式來(lái)完成的,圖2所示為封裝好的智能卡和實(shí)驗(yàn)室自主研發(fā)設(shè)計(jì)的讀卡器。
圖2 智能卡和讀卡器
當(dāng)讀卡器和智能卡進(jìn)行通信時(shí),智能卡ROM中的Bootloader完成相應(yīng)初始化,準(zhǔn)備接收下載指令,讀卡器通過(guò)上位機(jī)程序連接智能卡,然后發(fā)送COS下載指令,智能卡接收到指令后解析指令,將編譯后的COS二進(jìn)制文件下載到智能卡的eFlash中。
1.2 指令的發(fā)送
指令的發(fā)送是通過(guò)上位機(jī)軟件控制讀卡器發(fā)送相應(yīng)的指令,上位機(jī)程序發(fā)送智能卡Bootloader里預(yù)存的指令,讀卡器通過(guò)發(fā)送連接指令、認(rèn)證指令和下載COS指令等,將下載的COS拆分成各個(gè)數(shù)據(jù)包之后再進(jìn)行APDU指令分裝,然后通過(guò)讀卡器將指令發(fā)送給智能卡。圖3所示為上位機(jī)操作界面,讀卡器發(fā)送指令通過(guò)相應(yīng)的按鈕完成或直接通過(guò)SendAPDU發(fā)送指令。
圖3 上位機(jī)操作界面
1.3 指令的解析
智能卡接收到讀卡器發(fā)送的指令后,對(duì)每條指令進(jìn)行解析,根據(jù)不同的結(jié)果做出相應(yīng)的處理,當(dāng)收到下載COS的指令時(shí)對(duì)其指令進(jìn)行解析,取出數(shù)據(jù),并將數(shù)據(jù)寫到相應(yīng)存儲(chǔ)器的對(duì)應(yīng)區(qū)域中,完成之后回復(fù)相應(yīng)的指令,下載COS的操作完成。
1.4 執(zhí)行COS程序
完成COS的下載之后,智能卡重新上電時(shí),Bootloader判斷是否已經(jīng)下載COS的標(biāo)志位,如果已經(jīng)下載完則直接執(zhí)行COS程序。下面的程序是智能卡里Bootloader代碼下載和執(zhí)行COS的指令。
if(FLAGCHECK == 1){
switch(receive_byte()){
case 0x20: freq_change(); break;
case 0x66: auth_process(); break;
case 0x84: gen_rand_num(); break;
default: send_byte(0x5B); break;
}
}
else{
switch(receive_byte()){
case 0x04: jump_to_cos(); break;
case 0x06: WrFlsh_128bytesdata(); break;
case 0x24: read_sfr(); break;
case 0x28: EflashChipErase(); break;
default: send_byte(0x5A); break;
}
}
提高COS下載速度,首先要研究影響讀卡器下載COS到智能卡里的下載速度的因素有哪些。本文主要研究?jī)牲c(diǎn):數(shù)據(jù)傳輸速度和COS寫入eFlash的速度。
2.1 數(shù)據(jù)傳輸速度的分析
讀卡器產(chǎn)生耦合到智能卡的RF電磁場(chǎng),用以傳送能量和雙向通信,智能卡獲得能量后將其轉(zhuǎn)換成直流電壓。RF場(chǎng)的載波頻率為13.56 MHz,磁場(chǎng)強(qiáng)度在1.5~7.5 A/m,在此范圍內(nèi)智能卡能不間斷地工作,所以在指定的工作空間內(nèi),讀卡器產(chǎn)生的磁場(chǎng)強(qiáng)度至少為1.5 A/m,且不超過(guò)7.5 A/m。ISO14443協(xié)議規(guī)定兩種接口信號(hào):Type A和Type B。本文中支持A類協(xié)議,數(shù)據(jù)傳輸率為13.56 M/128=106 kb/s,一位數(shù)據(jù)所占的時(shí)間周期為9.4 μs,調(diào)制方式為ASK100%調(diào)幅制。讀卡器和智能卡之間的非接觸式接口遵從ISO14443協(xié)議,影響數(shù)據(jù)傳送的因素主要有兩個(gè),即讀卡器提供的時(shí)鐘信號(hào)CLK,以及讀卡器與智能卡通過(guò)天線耦合的場(chǎng)強(qiáng)大小。
本研究中讀卡器是實(shí)驗(yàn)室自主研發(fā)設(shè)計(jì)的,首先可以按要求調(diào)整CLK信號(hào)線上的頻率,所以將讀卡器所提供的CLK信號(hào)線上的頻率提高到市場(chǎng)上已有讀卡器可提供頻率的2倍,進(jìn)而將數(shù)據(jù)傳輸?shù)乃俣忍岣叩皆瓉?lái)的8倍,這是提高下載速度的重要方法。其次是讀卡器和智能卡的天線耦合設(shè)計(jì),讀卡器模塊的外圍天線匹配電路的設(shè)計(jì)如圖4所示。
圖4 外圍天線匹配電路
外圍天線電路匹配電阻的最終定值為R4=2 kΩ,R5=2.7 kΩ,R6=2.7 kΩ;電容值的大小設(shè)定為C6=150 pF,C7=270 pF,C8=150 pF。實(shí)際測(cè)量顯示,讀卡器可以提供給智能卡的磁場(chǎng)強(qiáng)度大小為5.5~6 A/m。在協(xié)議規(guī)定的范圍內(nèi),磁場(chǎng)強(qiáng)度較強(qiáng),大于一般讀卡器提供的磁場(chǎng)強(qiáng)度,讀卡器和智能卡的通信速度提高,下載速度提高1~2倍,這是提高下載速度的另一個(gè)措施。
2.2 數(shù)據(jù)寫入eFlash的速度
智能卡的COS最終下載到卡中eFlash相應(yīng)的區(qū)域,即寫入eFlash中。eFlash的工作原理決定了它的工作方式,如果要對(duì)其中的區(qū)域進(jìn)行寫操作,需要先做擦除處理,擦除使它所有的數(shù)據(jù)位都變成1,之后再進(jìn)行寫操作,寫操作其實(shí)就是將某些位編程為0,已經(jīng)變?yōu)?的數(shù)據(jù)位無(wú)法再寫成1,除非重新擦除。eFlash的擦除又分為兩種方式:片擦除和頁(yè)擦除。片擦除指的是將整個(gè)eFlash全部擦除一遍,頁(yè)擦除指的是eFlash將擦除某些指定的頁(yè)。eFlash的頁(yè)的單位都不是1個(gè)Byte,這就要求我們把需要修改的內(nèi)容暫存在一個(gè)buffer里,修改之后再對(duì)原始頁(yè)進(jìn)行擦除,最后把暫存的內(nèi)容寫回到原始頁(yè),如圖5所示。
圖5 eFlash頁(yè)擦除操作
本文針對(duì)具體研究情況,首先,對(duì)COS進(jìn)行下載操作時(shí)無(wú)需保留智能卡eFlash中原始信息,故可以將里面的內(nèi)容全部擦除,之后再把COS全部按字節(jié)寫進(jìn)去,因?yàn)檎麄€(gè)eFlash已經(jīng)被完整擦除,所以COS下載時(shí)不會(huì)出現(xiàn)需要修改某個(gè)地方的操作,只需要按順序?qū)OS寫到某塊區(qū)域中,從而節(jié)約一定的時(shí)間。其次,更改智能卡下載過(guò)程中的寫eFlash的方式,以前的方式為直接調(diào)用寫eFlash的驅(qū)動(dòng),現(xiàn)在改為直接配置相應(yīng)的特殊功能寄存器進(jìn)行寫操作,以減少程序調(diào)用的開銷和程序執(zhí)行的時(shí)間。可通過(guò)減少數(shù)據(jù)寫入eFlash的時(shí)間來(lái)提高COS的下載速度。
讀卡器和智能卡之間的通信是按照ISO14443協(xié)議標(biāo)準(zhǔn)制訂的,通過(guò)RF無(wú)線非接觸式通信。為了進(jìn)一步了解Pause期間時(shí)鐘和解調(diào)數(shù)據(jù)波形的具體變化,又做了進(jìn)一步的細(xì)化測(cè)試,讀卡器和智能卡的天線、解調(diào)數(shù)據(jù)和時(shí)鐘的波形測(cè)試結(jié)果略——編者注。
本研究實(shí)際測(cè)試結(jié)果表明,讀卡器和智能卡之間正常通信時(shí),讀卡器上位機(jī)程序界面選擇非接觸式模式,再點(diǎn)擊Request按鈕發(fā)送相應(yīng)的請(qǐng)求指令,此時(shí)讀卡器和智能卡已經(jīng)為之后的通信做好了準(zhǔn)備,之后讀卡器就可以發(fā)送對(duì)應(yīng)的指令與智能卡進(jìn)行通信。智能卡接收指令之后做出相應(yīng)的操作,智能卡操作系統(tǒng)下載相應(yīng)的指令,當(dāng)讀卡器發(fā)送下載指令時(shí),對(duì)應(yīng)的COS被下載到智能卡中。實(shí)際測(cè)試結(jié)果是大小為28 KB的智能卡COS下載時(shí)間為19.175 9 s。測(cè)試結(jié)果如圖6所示。
圖6 COS下載時(shí)間
通過(guò)研究,COS的下載速度得到了明顯提高,由以前的平均60 s的下載時(shí)間降低到現(xiàn)在的平均19 s,工作效率自然得到了提升。本文研究的數(shù)據(jù)傳輸速度和COS寫入eFlash的速度提高對(duì)智能卡前期開發(fā)人員和測(cè)試人員有很大的幫助,對(duì)智能卡封裝之后的COS下載和測(cè)試人員的工作效率也有明顯的幫助。
本文通過(guò)對(duì)智能卡下載機(jī)制的研究,進(jìn)行改進(jìn)設(shè)計(jì)提高智能卡COS的下載速度,以此來(lái)提高開發(fā)、測(cè)試效率和縮短發(fā)卡時(shí)間。測(cè)試結(jié)果表明,此種研究方法有助于提高智能卡COS的下載速度。
[1] 郭鴻志,李代平,尹偉.智能卡芯片操作系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(19):4186-4189.
[2] 李春豐,李代平,馬海峰,等.RF_SIM卡的多應(yīng)用COS研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(2):57-59.
[3] 潘宇,鄧赟,許克智,等.基于智能卡COS平臺(tái)的應(yīng)用開發(fā)技術(shù)[J].通信技術(shù),2013,46(3):104-106.
[4] 胡云肖,楊波,孫濤,等.面向PBOC2.0的智能卡操作系統(tǒng)的設(shè)計(jì)[J].山東科學(xué),2012,25(5):73-77.
[5] 周成沖,林平分.智能卡操作系統(tǒng)高速下載設(shè)計(jì)[J].科技信息,2013,28(5):105-106.
[6] 孫建,林平分.雙界面智能卡操作系統(tǒng)的設(shè)計(jì)與測(cè)試[J].信息與電腦,2011,27(1):27-27.
[7] 楊柳,于忠臣.智能卡COS測(cè)試方案的研究[J].信息與電腦,2011,99(12):99-100.
[8] 嚴(yán)婷婷,張志鴻.智能卡操作系統(tǒng)自動(dòng)化測(cè)試方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(5):87-90.
薛明策(碩士),主要研究方向?yàn)榍度胧较到y(tǒng)軟件設(shè)計(jì);劉素娟(副教授),主要研究方向?yàn)榧呻娐吩O(shè)計(jì);林平分(教授),主要研究方向?yàn)锳SIC芯片開發(fā)和嵌入式系統(tǒng)設(shè)計(jì)。
Xue Mingce,Liu Sujuan,Lin Pingfen
(Beijing University of Technology,Beijing 100124,China)
With the coming of information era,smart card as a sign of information technology is gradually popular in the financial aspects of the application.The operating system of smart card is different from traditional software,it works under the embedded environment,which has the characteristics of limited hardware resources and unstable working environment,so the design is different from the traditional method.Before practical application,smart card operating system must go through rigorous testing.because the software is difficult to compensate once occurs vulnerabilities.In this paper, based on the research of the smart card download mechanism,through refining the design of smart card operating system increases the download speed,and then improves testing efficiency and shorten the time of issuing.
smart card;COS;high-speed download
車載智能電子標(biāo)識(shí)的研發(fā)與示范應(yīng)用。編號(hào):Z141100006014032。
TP311.1
A
?士然
2014-09-28)