當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]智能卡的自動化測試系統(tǒng)機構(gòu)分析及平臺設(shè)計

  引 言

  隨著智能卡在金融、電信、移動通信、醫(yī)療保險、付費電視等領(lǐng)域應(yīng)用的迅速增長,其可靠性要求越來越高,而針對智能卡模塊的測試已經(jīng)成為必不可少的質(zhì)量保證手段。自動化測試不需要人工干預(yù),能提高測試效率,受到更多重視和應(yīng)用。在發(fā)展自動化測試的過程中,一個高效的自動化測試平臺是其基本保障。根據(jù)智能卡的應(yīng)用現(xiàn)狀和市場需求,本設(shè)計用TCL語言和C語言聯(lián)合編程的方法,以 PC/SC為編程接口,實現(xiàn)了智能卡的測試平臺,能夠?qū)χ悄芸ㄟM行質(zhì)量和性能的測試。

  1 測試系統(tǒng)結(jié)構(gòu)

  具有測試功能的系統(tǒng)結(jié)構(gòu)如圖1所示。測試系統(tǒng)一般由測試平臺、讀/寫器和智能卡三個部分組成。測試平臺運行測試腳本,并對從智能卡返回的結(jié)果進行處理。智能卡內(nèi)部有被測程序,響應(yīng)測試平臺發(fā)來的命令,返回測試數(shù)據(jù)。讀/寫器提供測試平臺和智能卡的接口。這里的研究重點是測試平臺。

  2 測試平臺的設(shè)計思路

  測試平臺軟件由兩個部分組成,即界面程序和通信軟件程序,如圖2所示。界面程序提供一個友好的圖形畫面,接受用戶指令,如腳本輸入,按鈕響應(yīng)等。界面將用戶的任務(wù)轉(zhuǎn)換為內(nèi)部指令,然后由通信軟件程序具體實施,而通信軟件程序負責(zé)與USB讀卡器通信。下面分別介紹界面程序和通信軟件程序的實現(xiàn)原理。

圖2是測試平臺的軟件結(jié)構(gòu)


圖3界面程序

  2.1 界面程序

  界面程序分為三層,頂層為腳本層,用于支持ATP語言。ATP并不是一種全新的語言,是從TCL語言口
擴展而來,針對ATP開辟的命令集,它包括 TCL基本命令和應(yīng)用程序相關(guān)的擴展命令。TCL基本指令的使用方法可以參考文獻[1,2],擴展命令是TCL專門針對智能卡的測試而擴展的。

  中間層是根據(jù)應(yīng)用需求而擴展的TCI 解釋器,它包含TCI標準庫和與底層接口程序有關(guān)的TCL擴展庫。ATP的基本部分由TCL語言解釋器調(diào)用TCL標準庫來執(zhí)行;ATP的擴展部分由擴展的 TCL解釋器調(diào)用TCL擴展庫執(zhí)行。

  頂層和中間層說明了TCI 即是一種腳本語言也是一個解釋器。底層是接口程序,提供與通信軟件程序的接口,負責(zé)發(fā)送命令和返回狀態(tài)。

圖4顯示了TCI 與應(yīng)用程序的調(diào)用關(guān)系

  TCL 的標準命令是TCL自帶的,而與應(yīng)用程序相關(guān)的特殊命令需要用C代碼去擴展,下面詳細介紹如何擴展TCL命令。使用TCL之前,應(yīng)用程序必須首先創(chuàng)建 TCL解釋器創(chuàng)建標準的命令解釋器,然后可以調(diào)用Tcl CreateCommand過程使用用戶自定義命令來擴展解釋器,它的原型是:Tcl—CreateCom mand (interp,cmdName,proc,cli—entData,deleteProc)其中:interp為創(chuàng)建的解釋器;cmdName為創(chuàng)建的命令名字;proc為與命令相對應(yīng)的函數(shù);clientData為一個字長的值,通常指向一個專用數(shù)據(jù)結(jié)構(gòu);deleteProc為注銷命令的函數(shù)名,如果其為空,則在注銷命令前不調(diào)用任何函數(shù)。調(diào)用Tcl—CreateCommand時,擴展命令name就會和name—tcl聯(lián)系起來;執(zhí)行name命令時,會進入name— tcl函數(shù)處理name命令。
創(chuàng)建完程序自定義命令后,應(yīng)用程序進入死循環(huán),等到命令后就傳遞給解釋器。調(diào)用Tcl— Eval(interp,script),通過script的內(nèi)容知道命令的類型后,選擇在相應(yīng)的過程函數(shù)中進行計算。

  通信軟件程序的執(zhí)行就是在過程函數(shù)里面被調(diào)用,這樣就實現(xiàn)了界面程序與通信軟件程序的接口。[!--empirenews.page--]2.2 通信軟件程序

  通信軟件程序遵循PC/SC規(guī)范。PC/SC規(guī)范是由PC/SC工作組提出的。PC/SC工作組是一個主要由智能卡廠商和計算機廠商組成的委員會,主要成員有微軟、蘋果、雅斯拓、金普斯、英飛凌、菲利普等。PC/SC規(guī)范是一個基于Windows平臺的標準用戶接口(API)。它獨立于硬件設(shè)備,使得應(yīng)用程序的開發(fā)人員不必考慮由于硬件改變而引起的應(yīng)用程序變更,從而降低了軟件開發(fā)成本。

   PC/SC規(guī)范包含大量Scard為前綴的API,可以在 winscard.h中找到其原型。應(yīng)用程序需要包含win—scard.1ib,所有函數(shù)的正常返回值都是SCARD—S—SUCCESS,在這些函數(shù)中常用的只有幾個。與智能卡的訪問流程如下:

(1)初始化函數(shù)中調(diào)用SCardEstablishContext,建立資源管理器的上下文,獲得設(shè)備的連接句柄,若返回SCARD— S— SUCCESS,則調(diào)用成功;調(diào)用ScardLis—tReaders獲得系統(tǒng)中安裝的讀卡器列表,調(diào)用成功則獲取聯(lián)機的讀卡器名字。
(2)在響應(yīng)函數(shù)中調(diào)用ScardConnect與卡片建立連接,此時能與卡片通信。
(3)與卡片連接后通過調(diào)用SCardTransmit來發(fā)送命令,得到由卡片返回的數(shù)據(jù)。
(4)卡片處于連接狀態(tài)時,可以調(diào)用SCardRecon—nect函數(shù)使卡片復(fù)位。
(5)完成了與卡片的命令發(fā)收后,調(diào)用SCardDis—connect函數(shù)斷開與智能卡的連接。
項目已經(jīng)實現(xiàn)以上功能的編程接口,而且利用類的方法進行了封裝。

  3 測試平臺的使用

  3.1 測試流程

  腳本的制定還是使用人工方式,測試人員通過測試平臺完成測試。自動化測試不需要人工干預(yù),縮短了測試時間。因而測試過程采用人工測試和自動化測試相結(jié)合的方法進行。

  用戶可以編寫測試腳本,快速發(fā)送測試命令和收集測試數(shù)據(jù),可以單次執(zhí)行或者循環(huán)執(zhí)行,當滿足終止條件時,腳本執(zhí)行結(jié)束,生成測試報告。圖5為測試流程圖。

  3.2 功能測試

  測試平臺能夠以APDU為基本單元完成針對智能卡的功能測試,下面分別對其進行介紹。

  3.2.1 測試基本單元

  測試平臺與智能卡通信的基本單元是APDUL9 。應(yīng)用層以APDU為單位進行有序的數(shù)據(jù)交換,應(yīng)用層交換的每一步都以命令應(yīng)答對組成。APDU的命令應(yīng)答對由以下部分組成:命令A(yù)PDU包含一個必備的四字節(jié)頭(CLA,INS,P1,P2)和可選的命令體(Lc,Data,Le)。命令頭為命令的編碼,Lc為體內(nèi)數(shù)據(jù)(data)長度,Data為發(fā)送的數(shù)據(jù),Le為應(yīng)答APDU數(shù)據(jù)字段的最大字節(jié)數(shù)。應(yīng)答APDU由可選長度體和兩字節(jié)狀態(tài)字SW1一SW2組成。其中,體內(nèi)的字節(jié)數(shù)由命令A(yù)PDU 的Le指出。Data為卡片接受命令A(yù)PDU后返回的數(shù)據(jù)。尾部狀態(tài)字指出卡的處理狀態(tài)。其中,61xx和9000為正常處理,6lxx的含義SW2指出仍然有效的應(yīng)答字節(jié)數(shù),9000代表正常處理。

  3.2.2 單元測試

圖5 測試流程圖

  同樣,智能卡內(nèi)部程序也是以APDU為單位實現(xiàn)的,因此單元測試的對象就是APDU。發(fā)送一個APDU給智能卡,通過智能卡內(nèi)部程序執(zhí)行完后返回狀態(tài)字,判斷執(zhí)行結(jié)果的正確與否。命令之間存在著相互依賴關(guān)系,因此命令之間通常要相互配合才能完成測試任務(wù)。

  3.2.3 集成測試

  集成測試主要是通過命令之問有序地執(zhí)行完成智能卡的功能測試,根據(jù)不同的測試需要可以對測試腳本進行分類,例如FLASH 的讀/寫,加密模塊的測試等。按照需要整理好相應(yīng)的測試腳本后就可以在測試平臺上運行,通過腳本與智能卡程序的互測,達到測試目的。測試平臺支持自動化測試,所以可以在測試平臺上不間斷地執(zhí)行測試腳本,測試人員不需要實時跟蹤,只需要關(guān)心最后的測試結(jié)果,通過測試結(jié)果可以發(fā)現(xiàn)問題,解決問題。

  4 結(jié) 語

  該系統(tǒng)已經(jīng)通過測試,并且得到初步驗證。由于針對智能卡的測試項很多,通常需要多種測試工具的軟件和硬件設(shè)備交互使用,測試人員要熟悉各種軟件工具,相應(yīng)地降低了工作效率。如果能將各種工具軟件集成在一起,形成一個多功能的測試平臺,支持多種通信接口的讀卡器,支持多種腳本格式,那么這將是下一步的工作重點。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉