《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 雙界面智能卡操作系統(tǒng)的設(shè)計(jì)與測(cè)試
雙界面智能卡操作系統(tǒng)的設(shè)計(jì)與測(cè)試
RFID中國(guó)網(wǎng)
RFID世界網(wǎng)
摘要: 本文提出了雙界面智能卡操作系統(tǒng)的設(shè)計(jì)方案以及測(cè)試方案。設(shè)計(jì)方案主要闡述了COS功能模塊的劃分,以及各個(gè)模塊的功能和實(shí)現(xiàn)方法,。測(cè)試方案包括測(cè)試中軟硬件環(huán)境的選擇,,以及測(cè)試腳本需要覆蓋的內(nèi)容。目前已將開(kāi)發(fā)成果應(yīng)用于實(shí)際中,。1.引言智能卡(smartcard又稱集成電路卡)將一個(gè)集成電路芯片鑲嵌于塑料基片中,,封裝成卡的形式,其外形與覆蓋磁條的磁卡相似,。筆者在利用北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室生產(chǎn)的智能卡進(jìn)行符合中國(guó)人民銀行金融卡規(guī)范的BESCOS開(kāi)發(fā)過(guò)程中,,針對(duì)該款芯片的硬件特性進(jìn)行了COS的設(shè)計(jì)與實(shí)現(xiàn),,并根據(jù)規(guī)范設(shè)計(jì)了測(cè)試用例,完成了測(cè)試,。2.智能卡硬件概述BE
Abstract:
Key words :

        本文提出了雙界面智能卡操作系統(tǒng)的設(shè)計(jì)方案以及測(cè)試方案,。設(shè)計(jì)方案主要闡述了COS功能模塊的劃分,以及各個(gè)模塊的功能和實(shí)現(xiàn)方法,。測(cè)試方案包括測(cè)試中軟硬件環(huán)境的選擇,,以及測(cè)試腳本需要覆蓋的內(nèi)容。目前已將開(kāi)發(fā)成果應(yīng)用于實(shí)際中,。

        1. 引 言

        智能卡(smart card又稱集成電路卡)將一個(gè)集成電路芯片鑲嵌于塑料基片中,,封裝成卡的形式,其外形與覆蓋磁條的磁卡相似,。

        筆者在利用北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室生產(chǎn)的智能卡進(jìn)行符合中國(guó)人民銀行金融卡規(guī)范的BES COS開(kāi)發(fā)過(guò)程中,,針對(duì)該款芯片的硬件特性進(jìn)行了COS的設(shè)計(jì)與實(shí)現(xiàn),并根據(jù)規(guī)范設(shè)計(jì)了測(cè)試用例,,完成了測(cè)試,。

        2. 智能卡硬件概述

        BES1332EF是一款基于8051的雙界面智能卡芯片。非接觸式接口支持ISO 14443 TYPE A協(xié)議,,接觸式接口支持ISO/IEC7816 T=0協(xié)議,。有8K的ROM,32K的EFLASH,,1K的RAM,,硬件隨機(jī)數(shù)發(fā)生器,CRC模塊以及DES模塊,。

        3. 智能卡操作系統(tǒng)

        智能卡操作系統(tǒng)是一個(gè)專用系統(tǒng),,和傳統(tǒng)意義上的操作系統(tǒng)有很大的差別,它更類似于一個(gè)監(jiān)控程序,。COS主要包含通信,、命令解釋、文件系統(tǒng)以及安全四個(gè)模塊,。

        3.1通信模塊

        傳輸管理器負(fù)責(zé)智能卡和接口設(shè)備之間的數(shù)據(jù)通信,,接收過(guò)程中要處理對(duì)輸入數(shù)據(jù)的緩沖,響應(yīng)過(guò)程控制數(shù)據(jù)的發(fā)送,。通信使用的協(xié)議是ISO7816-3 所規(guī)定的T=0 的異步半雙工字符傳輸協(xié)議,。當(dāng)接口設(shè)備給卡上電之后,首先由卡發(fā)送一個(gè)復(fù)位應(yīng)答信息(ATR)給接口設(shè)備,,然后接口設(shè)備發(fā)送命令頭來(lái)啟動(dòng)命令處理過(guò)程,。傳輸管理器在正確地接收到命令后交給下一個(gè)功能模塊進(jìn)行處理,昀后還要把該命令的執(zhí)行結(jié)果返回給接口設(shè)備。

        3.2命令解釋模塊

        命令解釋器對(duì)外部輸入的每條命令做語(yǔ)法分析,,分析和檢查命令參數(shù)是否正確,,然后根據(jù)命令參數(shù)的含義執(zhí)行相應(yīng)的功能模塊。如果發(fā)現(xiàn)參數(shù)有錯(cuò),,將從該模塊直接返回錯(cuò)誤信息,。

        3.3文件系統(tǒng)

        主控文件(Master File , MF)。主控文件是整個(gè)文件系統(tǒng)的根(可看做根目錄),,每張卡有且只有一個(gè)主控文件,。專用文件(Dedicated File,DF),。在MF下針對(duì)不同的應(yīng)用建立起來(lái)的一種文件,,是位于MF之下的含有EF的一種文件結(jié)構(gòu)(可看做文件目錄),它存儲(chǔ)了某個(gè)應(yīng)用的全部數(shù)據(jù)以及與應(yīng)用操作相關(guān)的安全數(shù)據(jù),?;疚募?Elementary File,EF),?;疚募鎯?chǔ)了各種應(yīng)用的數(shù)據(jù)和管理信息,它存在于 MF和DF下,。

        3.4安全模塊

        安全模塊主要分成兩個(gè)部分,。第一部分就是用于數(shù)據(jù)加密、校驗(yàn)等的基礎(chǔ)功能模塊,。包括隨機(jī)數(shù)產(chǎn)生,、3DES加密、MAC計(jì)算模塊,、 CRC計(jì)算模塊等,。第二部分是文件的權(quán)限控制模塊。在BES COS中,, MF、DF和EF的文件頭中保存著一個(gè)權(quán)限范圍,,而系統(tǒng)在某一時(shí)刻都有著當(dāng)前的權(quán)限值,,如果權(quán)限值在權(quán)限范圍中,則可以進(jìn)行相應(yīng)操作,,否則,,則需要外部認(rèn)證等手段改變系統(tǒng)當(dāng)前的權(quán)限值。

        4. 智能卡的測(cè)試

        4.1測(cè)試環(huán)境

        智能卡的測(cè)試主要分兩個(gè)部分,,一是硬件測(cè)試,,二是軟件測(cè)試。從硬件測(cè)試的層面來(lái)說(shuō),選取一個(gè)功能強(qiáng)的專用于測(cè)試讀卡器是十分必要的,。比如在IC卡的7816通信接口還沒(méi)有完全實(shí)現(xiàn)的時(shí)候,,通過(guò)普通的讀卡器對(duì)卡片進(jìn)行操作,返回值在讀卡器這邊是無(wú)法看到的,,因?yàn)榇蠖鄶?shù)讀卡器屏蔽了不符合7816的TPDU規(guī)定的數(shù)據(jù),,而如果每次都用示波器觀察硬件信號(hào)的話,效率又比較低,。所以應(yīng)該盡量選擇可以看到底層交互數(shù)據(jù)的讀卡器,。

        從軟件測(cè)試的層面來(lái)說(shuō),選取一個(gè)對(duì)上層提供了友好的接口的讀卡器也是十分必要的,。例如我在開(kāi)發(fā)BES COS時(shí)使用的讀卡器 Collis,,提供了與其配套的腳本開(kāi)發(fā)環(huán)境Collis Conclusion,可以方便的設(shè)置讀卡器的電壓,,頻率,,等待超時(shí)時(shí)間等。還提供了設(shè)定期望返回值的功能,。

        4.2測(cè)試腳本

        測(cè)試腳本主要分為功能正確情況測(cè)試,,功能異常情況測(cè)試,參數(shù)測(cè)試,,安全機(jī)制測(cè)試以及應(yīng)用流程測(cè)試,。

        功能正確情況測(cè)試是指在輸入的參數(shù)都合法,執(zhí)行的條件都具備,,所執(zhí)行的命令應(yīng)該可以正常執(zhí)行的情況下,,檢查所測(cè)命令是否能夠正確執(zhí)行涉及的功能步驟。功能異常情況測(cè)試是指在輸入的參數(shù)都合法,,但執(zhí)行的條件不具備,,檢測(cè)COS是否都返回了相應(yīng)的錯(cuò)誤代碼。參數(shù)測(cè)試是指,,固定所測(cè)命令參數(shù)P1,、P2、Lc和數(shù)據(jù)與正確且不變的情況下,,利用窮舉法便利每一個(gè)錯(cuò)誤的CLA作為輸入?yún)?shù),,測(cè)試COS是否都能正確響應(yīng)錯(cuò)誤代碼,其他的參數(shù)測(cè)試同理,。安全機(jī)制測(cè)試是指在操作一個(gè)基本文件時(shí),,該文件可能有一個(gè)或者多個(gè)安全控制機(jī)制。應(yīng)用流程測(cè)試,,是指將命令組合起來(lái)成為一個(gè)應(yīng)用流程,,檢測(cè)整個(gè)流程是否都能正確執(zhí)行,檢測(cè)基本命令之間是否會(huì)有影響。

        5. 結(jié)束語(yǔ)

        目前COS已經(jīng)通過(guò)了第三方的測(cè)試,,目前正在準(zhǔn)備上金融卡檢測(cè)中心的測(cè)試平臺(tái),。COS開(kāi)發(fā)中昀大的困難就是調(diào)試不便,直到后來(lái)在芯片中加入了OCI,,才可實(shí)現(xiàn)單步調(diào)試以及存儲(chǔ)單元值的查看,。COS的開(kāi)發(fā)語(yǔ)言C/匯編也比較低級(jí),影響了開(kāi)發(fā)的效率以及易維護(hù)性,。相信隨著IC卡成本的降低,,支持java語(yǔ)言的java卡會(huì)更加的普及。

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