鬼佬大哥大
  • / 9
  • 下載費用:30 金幣  

一種智能卡的測試方法和裝置.pdf

摘要
申請專利號:

CN201510497694.9

申請日:

2015.08.13

公開號:

CN105068910A

公開日:

2015.11.18

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/26申請日:20150813|||公開
IPC分類號: G06F11/26 主分類號: G06F11/26
申請人: 大唐微電子技術有限公司; 大唐半導體設計有限公司
發明人: 閆熙
地址: 100094北京市海淀區永嘉北路6號
優先權:
專利代理機構: 北京安信方達知識產權代理有限公司11262 代理人: 張建秀; 栗若木
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510497694.9

授權公告號:

||||||

法律狀態公告日:

2017.11.17|||2015.12.16|||2015.11.18

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種智能卡的測試方法和裝置。所述方法,包括:輸出預先存儲的指令信息,其中所述指令信息為用于測試智能卡的指令信息;接收外部利用所述測試指令信息編輯得到的測試代碼;利用所述測試代碼對所述智能卡進行測試。

權利要求書

1.一種智能卡的測試方法,其特征在于,包括:
輸出預先存儲的指令信息,其中所述指令信息為用于測試智能卡的指令
信息;
接收外部利用所述測試指令信息編輯得到的測試代碼;
利用所述測試代碼對所述智能卡進行測試。
2.根據權利要求1所述的方法,其特征在于,所述利用所述測試代碼對
所述智能卡進行測試,包括:
當同時對至少兩個智能卡發送測試代碼時,向所述至少兩個智能卡中的
第一智能卡發送測試代碼時,其中所述測試代碼包括第一智能卡的標識信息;
以及,接收所述第一智能卡反饋的測試結果,其中所述測試結果包括所
述第一智能卡的標識信息。
3.根據權利要求2所述的方法,其特征在于,在接收所述第一智能卡反
饋的測試結果之后,還包括:
根據所述第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智
能卡的測試指令;
向所述至少兩個智能卡中的第二智能卡發送測試代碼時,其中所述測試
代碼包括第二智能卡的標識信息;
以及,接收所述第二智能卡反饋的測試結果,其中所述測試結果包括所
述第二智能卡的標識信息。
4.根據權利要求1所述的方法,其特征在于,在利用所述測試代碼對所
述智能卡進行測試之前,還包括:
讀取智能卡連接的讀卡器的接口的類型信息;
根據讀卡器的類型,確定所述測試代碼的發送策略;
根據所述發送策略,通過所述讀卡器發送所述測試代碼。
5.一種智能卡的測試裝置,其特征在于,包括:
輸出模塊,用于輸出預先存儲的指令信息,其中所述指令信息為用于測
試智能卡的指令信息;
接收模塊,用于接收外部利用所述測試指令信息編輯得到的測試代碼;
測試模塊,用于利用所述測試代碼對所述智能卡進行測試。
6.根據權利要求5所述的裝置,其特征在于,所述測試模塊包括:
第一發送單元,用于當同時對至少兩個智能卡發送測試代碼時,向所述
至少兩個智能卡中的第一智能卡發送測試代碼時,其中所述測試代碼包括第
一智能卡的標識信息;
第一接收單元,用于接收所述第一智能卡反饋的測試結果,其中所述測
試結果包括所述第一智能卡的標識信息。
7.根據權利要求6所述的裝置,其特征在于,所述測試模塊還包括:
獲取單元,用于在接收所述第一智能卡反饋的測試結果之后,根據所述
第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智能卡的測試指
令;
第二發送單元,用于向所述至少兩個智能卡中的第二智能卡發送測試代
碼時,其中所述測試代碼包括第二智能卡的標識信息;
第二接收單元,用于接收所述第二智能卡反饋的測試結果,其中所述測
試結果包括所述第二智能卡的標識信息。
8.根據權利要求5所述的裝置,其特征在于,所述裝置還包括:
讀取模塊,用于在利用所述測試代碼對所述智能卡進行測試之前,讀取
智能卡連接的讀卡器的接口的類型信息;
確定模塊,用于根據讀卡器的類型,確定所述測試代碼的發送策略;
其中,所述測試模塊根據所述發送策略,通過所述讀卡器發送所述測試
代碼。

說明書

一種智能卡的測試方法和裝置

技術領域

本發明涉及通信領域,尤其涉及一種智能卡的測試方法和裝置。

背景技術

金融IC卡已成為金融支付領域的重要發展趨勢。金融IC卡安全性高、
信息存儲容量大,并且相比較磁條卡,在防范銀行卡交易欺詐風險和提升金
融支付工具附加功能等方面有得天獨厚的優勢,因此越來越得到銀行的青睞。

金融IC卡在正式商用前,必須對卡片操作系統進行嚴格的內部測試,測
試內容主要包括未知指令安全性檢測、特定算法正確性檢測、文件系統訪問
權限控制檢測、指令一致性檢測、個人化后文件操作及訪問控制檢測、多應
用安全性檢測、卡片壽命檢測等,而這些檢測需要通過讀卡器對卡片發送數
以百萬計的APDU指令實現,通過人工逐個發送顯然是不現實的,因此,需
要一套具有高度智能化的檢測工具實現對以上測試點的檢測。

現已有的測試工具只針對單一規范,通用性不足。一般根據ISO7816-4
規范和特定智能卡操作系統設計測試用例,不涉及各行業規范,例如對金融、
社保卡測試不夠全面。

發明內容

本發明提供一種智能卡的測試方法和裝置,要解決的技術問題是如何提
高測試的通用性。

為解決上述技術問題,本發明提供了如下技術方案:

一種智能卡的測試方法,包括:

輸出預先存儲的指令信息,其中所述指令信息為用于測試智能卡的指令
信息;

接收外部利用所述測試指令信息編輯得到的測試代碼;

利用所述測試代碼對所述智能卡進行測試。

其中,所述利用所述測試代碼對所述智能卡進行測試,包括:

當同時對至少兩個智能卡發送測試代碼時,向所述至少兩個智能卡中的
第一智能卡發送測試代碼時,其中所述測試代碼包括第一智能卡的標識信息;

以及,接收所述第一智能卡反饋的測試結果,其中所述測試結果包括所
述第一智能卡的標識信息。

其中,在接收所述第一智能卡反饋的測試結果之后,還包括:

根據所述第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智
能卡的測試指令;

向所述至少兩個智能卡中的第二智能卡發送測試代碼時,其中所述測試
代碼包括第二智能卡的標識信息;

以及,接收所述第二智能卡反饋的測試結果,其中所述測試結果包括所
述第二智能卡的標識信息。

其中,在利用所述測試代碼對所述智能卡進行測試之前,還包括:

讀取智能卡連接的讀卡器的接口的類型信息;

根據讀卡器的類型,確定所述測試代碼的發送策略;

根據所述發送策略,通過所述讀卡器發送所述測試代碼。

一種智能卡的測試裝置,包括:

輸出模塊,用于輸出預先存儲的指令信息,其中所述指令信息為用于測
試智能卡的指令信息;

接收模塊,用于接收外部利用所述測試指令信息編輯得到的測試代碼;

測試模塊,用于利用所述測試代碼對所述智能卡進行測試。

其中,所述測試模塊包括:

第一發送單元,用于當同時對至少兩個智能卡發送測試代碼時,向所述
至少兩個智能卡中的第一智能卡發送測試代碼時,其中所述測試代碼包括第
一智能卡的標識信息;

第一接收單元,用于接收所述第一智能卡反饋的測試結果,其中所述測
試結果包括所述第一智能卡的標識信息。

其中,所述測試模塊還包括:

獲取單元,用于在接收所述第一智能卡反饋的測試結果之后,根據所述
第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智能卡的測試指
令;

第二發送單元,用于向所述至少兩個智能卡中的第二智能卡發送測試代
碼時,其中所述測試代碼包括第二智能卡的標識信息;

第二接收單元,用于接收所述第二智能卡反饋的測試結果,其中所述測
試結果包括所述第二智能卡的標識信息。

其中,所述裝置還包括:

讀取模塊,用于在利用所述測試代碼對所述智能卡進行測試之前,讀取
智能卡連接的讀卡器的接口的類型信息;

確定模塊,用于根據讀卡器的類型,確定所述測試代碼的發送策略;

其中,所述測試模塊根據所述發送策略,通過所述讀卡器發送所述測試
代碼。

本發明提供的實施例,通過輸出預先存儲的指令信息,允許用戶使用腳
本語言所支持的內部指令組合新的外部指令,使能夠根據不同的應用場景或
者行業規范,設計不同的測試腳本對智能卡操作系統進行測試,解決了以前
測試工具只支持單一規范和通用性不足的缺陷。

附圖說明

圖1為本發明提供的智能卡的測試方法實施例的流程圖;

圖2為本發明提供的智能卡的測試裝置實施例的結構圖。

具體實施方式

為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體
實施例對本發明作進一步的詳細描述。需要說明的是,在不沖突的情況下,
本申請中的實施例及實施例中的特征可以相互任意組合。

圖1為本發明提供的智能卡的測試方法實施例的流程圖。圖1所示方法
包括:

步驟101、輸出預先存儲的指令信息,其中所述指令信息為用于測試智
能卡的指令信息;

步驟102、接收外部利用所述測試指令信息編輯得到的測試代碼;

步驟103、利用所述測試代碼對所述智能卡進行測試。

本發明提供的實施例,通過輸出預先存儲的指令信息,允許用戶使用腳
本語言所支持的內部指令組合新的外部指令,使能夠根據不同的應用場景或
者行業規范,設計不同的測試腳本對智能卡操作系統進行測試,解決了以前
測試工具只支持單一規范和通用性不足的缺陷。

下面對本發明提供的方法作進一步說明:

舉例來說,現在測試工具提供以下幾個函數

*ADDP1[IN],P2[IN],P3[OUT],將兩個16進制的數P1,P2相加,結果
放入P3

*HTODP1[IN],P2[OUT],將16進制的數P1轉換為10進制的數P2

*DTOHP1[IN],P2[OUT],將10進制的數P1轉換為16進制的數P2

如果用戶需要做兩個十進制數的加法,則必須先調用DTOH將10進制
數轉換為16進制數,然后通過ADD做加法,最后通過HTOD再將結果轉換
為10進制數,比較麻煩,用戶可以編寫一個ADDH指令放到工具/lib目錄下,
然后直接調用*ADDHP1[IN],P2[IN],P3[OUT]將兩個10進制數相加,具體
ADDH指令編寫方式如下:

ADDH.ts

#defineADDHp1[in],p2[in],p3[out]

*DTOH$p1,$p1

*DTOH$p2,$p2

*ADD$p1,$p2,$p3

*HTOD$p3,$p3

完成上述文件編寫后,用戶就可以直接調用*ADDHP1[IN],P2[IN],
P3[OUT]了,該指令就是用戶通過內部指令編寫的新外部指令。

在實際應用中,可以更新本地存儲的指令信息,方便用戶開發新的測試
代碼。

隨著技術的發展,目前需要多卡同時操作的應用場景,因此允許測試工
具同時對多張卡片發送指令,且能相互共享卡片返回數據。

其中,所述利用所述測試代碼對所述智能卡進行測試,包括:

當同時對至少兩個智能卡發送測試代碼時,向所述至少兩個智能卡中的
第一智能卡發送測試代碼時,其中所述測試代碼包括第一智能卡的標識信息;

以及,接收所述第一智能卡反饋的測試結果,其中所述測試結果包括所
述第一智能卡的標識信息。

進一步的,在接收所述第一智能卡反饋的測試結果之后,還包括:

根據所述第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智
能卡的測試指令;

向所述至少兩個智能卡中的第二智能卡發送測試代碼時,其中所述測試
代碼包括第二智能卡的標識信息;

以及,接收所述第二智能卡反饋的測試結果,其中所述測試結果包括所
述第二智能卡的標識信息。

發送給不同卡片數據有不同的指令,例如給卡片A發送則為*APDUA

給卡片B發送指令則為*APDUB,界面上也提供了打開讀卡器A,B,C
的相對應按鈕。

共享卡片的返回數據的主要應用場景為多卡數據交互的情況。

舉例來說,在使用公交卡進行消費時,需要消費密鑰,該密鑰不直接存
儲在POS上,而是存儲在POS上一個名叫PSAM卡的卡片上,要進行消費,
則必須先讀取公交卡信息,傳遞到PSAM卡進行加密,將加密結果再傳遞給
公交卡以認證POS的合法性,該場景要求必須能夠進行多卡數據交互。

對非PC/SC協議讀卡器,根據讀卡器廠家給予的讀卡器驅動接口。

在現有技術中,如果讀卡器不支持非PCSC協議。一般不能夠通過非
PCSC協議的讀卡器連接卡片,限制了對于卡片/讀卡器兼容性的測試。

其中,PCSC協議是用于電腦和讀卡器之間進行通信協議,是主流協議,
但是并不是所有讀卡器都遵循,部分讀卡器使用自己單獨的協議,需要測試
工具調用該類型讀卡器單獨的API進行通信。14443協議時讀卡器和卡片進
行通信的協議,因該協議較為復雜,所以并不是所有讀卡器都完全遵循該協
議,假設14443協議要求發送完apdu指令后必須等待1秒后才能發下一條指
令,也許該類型讀卡器在等待了0.5秒就下發了指令,如出現上述情況,就
需要修改卡片上的東西對增加對該類型讀卡器的兼容性。

其中,在利用所述測試代碼對所述智能卡進行測試之前,還包括:

讀取智能卡連接的讀卡器的接口的類型信息;

根據讀卡器的類型,確定所述測試代碼的發送策略;

根據所述發送策略,通過所述讀卡器發送所述測試代碼。

具體的,兼容性測試主要是指部分讀卡器使用的14443協議非標準14443
協議,沒有嚴格遵循規范,致使卡片要想使用該讀卡器,則必須對卡片的通
信協議進行修改。現有軟件基本上只能夠支持PCSC接口協議,根本無法連
接到這類讀卡器,更不用說進行通信了,因為只支持PCSC接口讀卡器,所
以一般遇到需要發送指令的地方,直接調用PCSC接口的API發送指令,不
用考慮其它類型讀卡器的問題。

在本發明中,創建了一個單獨的讀卡器類,內部包含了各類協議讀卡器
接口,每次需要發送指令的時候均需要該類去判斷連接的是哪類讀卡器,需
要調用哪個API去發送指令。

圖2為本發明提供的智能卡的測試裝置的結構圖。圖2所示裝置包括:

輸出模塊201,用于輸出預先存儲的指令信息,其中所述指令信息為用
于測試智能卡的指令信息;

接收模塊202,用于接收外部利用所述測試指令信息編輯得到的測試代
碼;

測試模塊203,用于利用所述測試代碼對所述智能卡進行測試。

其中,所述測試模塊203包括:

第一發送單元,用于當同時對至少兩個智能卡發送測試代碼時,向所述
至少兩個智能卡中的第一智能卡發送測試代碼時,其中所述測試代碼包括第
一智能卡的標識信息;

第一接收單元,用于接收所述第一智能卡反饋的測試結果,其中所述測
試結果包括所述第一智能卡的標識信息。

其中,所述測試模塊203還包括:

獲取單元,用于在接收所述第一智能卡反饋的測試結果之后,根據所述
第一智能卡的反饋結果,獲取所述至少兩個智能卡中的第二智能卡的測試指
令;

第二發送單元,用于向所述至少兩個智能卡中的第二智能卡發送測試代
碼時,其中所述測試代碼包括第二智能卡的標識信息;

第二接收單元,用于接收所述第二智能卡反饋的測試結果,其中所述測
試結果包括所述第二智能卡的標識信息。

其中,所述裝置還包括:

讀取模塊,用于在利用所述測試代碼對所述智能卡進行測試之前,讀取
智能卡連接的讀卡器的接口的類型信息;

確定模塊,用于根據讀卡器的類型,確定所述測試代碼的發送策略;

其中,所述測試模塊根據所述發送策略,通過所述讀卡器發送所述測試
代碼。

本發明提供的實施例,通過輸出預先存儲的指令信息,允許用戶使用腳
本語言所支持的內部指令組合新的外部指令,使能夠根據不同的應用場景或
者行業規范,設計不同的測試腳本對智能卡操作系統進行測試,解決了以前
測試工具只支持單一規范和通用性不足的缺陷。

本領域普通技術人員可以理解上述實施例的全部或部分步驟可以使用計
算機程序流程來實現,所述計算機程序可以存儲于一計算機可讀存儲介質中,
所述計算機程序在相應的硬件平臺上(如系統、設備、裝置、器件等)執行,
在執行時,包括方法實施例的步驟之一或其組合。

可選地,上述實施例的全部或部分步驟也可以使用集成電路來實現,這
些步驟可以被分別制作成一個個集成電路模塊,或者將它們中的多個模塊或
步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬
件和軟件結合。

上述實施例中的各裝置/功能模塊/功能單元可以采用通用的計算裝置來
實現,它們可以集中在單個的計算裝置上,也可以分布在多個計算裝置所組
成的網絡上。

上述實施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實現
并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。
上述提到的計算機可讀取存儲介質可以是只讀存儲器,磁盤或光盤等。

以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限
于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易
想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護
范圍應以權利要求所述的保護范圍為準。

關 鍵 詞:
一種 智能卡 測試 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種智能卡的測試方法和裝置.pdf
鏈接地址:http://www.wwszu.club/p-6385984.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大