本實用新型涉及智能卡(smart card)領域,更具體的說,涉及一種智能卡斷電保護測試裝置及系統(tǒng)。
背景技術:
在智能卡的使用過程中經常會遇到供電突然切斷的情況,最典型的案例如手機在斷電臨界點時突然收到短信,此時手機需要將短信內容寫入SIM卡,在寫卡過程中如果突然斷電可能導致卡系統(tǒng)存儲錯誤,當前卡片則有報廢的風險。一旦卡片報廢,用戶卡中的數(shù)據(jù)將無法再讀取,用戶的數(shù)據(jù)安全收到嚴重威脅。
目前的卡商或移動運營商往往使用在讀卡器讀寫過程中斷電方式來進行抽檢,此方法完全不能有效檢測出卡片是否支持斷電保護,因為設備讀寫卡的整個過程是微秒甚至納秒級別,在執(zhí)行過程中根本無法捕捉當前指令是否為數(shù)據(jù)擦寫還是普通的數(shù)據(jù)查詢,即使碰巧遇到數(shù)據(jù)擦寫也很難檢測到卡系統(tǒng)在哪個位置進行擦寫。
因此,本領域中需要一種改進的智能卡斷電保護測試解決方案。
技術實現(xiàn)要素:
在本實用新型的一個方面,提供了一種智能卡斷電保護測試裝置,包括:控制模塊,以及至少一個讀卡器模塊,其中,所述控制模塊與所述至少一個讀卡器模塊連接,并被配置為向所述至少一個讀卡器模塊中的讀卡器模塊傳送智能卡操作指令;每個讀卡器模塊能夠與一個智能卡連接,并被配置為能夠向所連接的智能卡傳送所述智能卡操作指令,從而對所連接的智能卡進行操作;所述控制模塊還被配置為在讀卡器模塊傳送所述智能卡操作指令過程中的特定時點切斷對所述讀卡器模塊的供電,以便確定所述智能卡的斷電保護性能。
在本實用新型的另一個方面,提供了一種智能卡斷電保護測試系統(tǒng),包括:根據(jù)本實用新型的實施例的智能卡斷電保護測試裝置;以及上位機,其被配置為向所述智能卡斷電保護測試裝置發(fā)送針對智能卡操作指令以及供電管理指令。
本實用新型的實施例提出了一種指令級的智能卡斷電保護測試解決方案,其可支持高精度的斷電檢查點設置,從而更有效地測試智能卡的斷電保護性能。
附圖說明
附圖是用來提供對本實用新型的進一步理解,并且構成說明書的一部分,與下面的具體實施方式一起用于解釋本實用新型,但并不構成對本實用新型的限制。在附圖中:
圖1示出了示出了根據(jù)本實用新型的實施例的一種智能卡斷電保護測試裝置及系統(tǒng);以及
圖2A-2C分別示出了根據(jù)本實用新型的實施例的三種智能卡斷電方式。
具體實施方式
下面參照附圖詳細描述本實用新型的實施例。在下面的描述中,闡述了許多具體細節(jié)以便使所屬技術領域的技術人員更全面地了解本實用新型。但是,對于所屬技術領域內的技術人員明顯的是,本實用新型的實現(xiàn)可不具有這些具體細節(jié)中的一些。此外,應當理解的是,本實用新型并不限于所介紹的特定實施例。相反,可以考慮用下面的特征和要素的任意組合來實施本實用新型,而無論它們是否涉及不同的實施例。因此,下面的方面、特征、實施例和優(yōu)點僅作說明之用而不應被看作是權利要求的要素或限定,除非在權利要求中明確提出。
現(xiàn)參照圖1,其示出了根據(jù)本實用新型的實施例的一種智能卡斷電保護測試裝置100及系統(tǒng)。如圖1中的所示,該智能卡斷電保護測試裝置100包括:控制模塊101,以及至少一個讀卡器模塊102。
所述控制模塊101與所述至少一個讀卡器模塊102連接,并被配置為向所述至少一個讀卡器模塊102中的讀卡器模塊102傳送智能卡操作指令。
每個讀卡器模塊102能夠與一個智能卡連接,并被配置為能夠向所連接的智能卡傳送所述智能卡操作指令,從而對所連接的智能卡進行操作。
所述控制模塊101還被配置為在讀卡器模塊102傳送所述智能卡操作指令過程中的特定時點切斷對所述讀卡器模塊102的供電,以便確定所述智能卡的斷電保護性能。
所述控制模塊101可以由任何能夠執(zhí)行上述操作的微處理器或微控制器來實現(xiàn),例如由微控制器單元(Microcontroller Unit,MCU)或其陣列、諸如高級精簡指令集機器(Advanced RISC Machines,ARM)處理器的微處理器單元(CPU)、現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)等來實現(xiàn)。如本領域的技術人員所知的,所述MCU、ARM、FPGA等微處理器或微控制器可具有相關聯(lián)的存儲裝置及存儲于其中的軟件或固件指令,所述指令用于對所述微處理器或微控制器硬件進行編程以使其執(zhí)行相應操作。
所述讀卡器模塊102可以是本領域中已知的或新開發(fā)的讀卡器模塊,例如可以是任何符合智能卡通訊協(xié)議ISO/IEC 7816的讀卡器模塊。所述讀卡器模塊102可以包括用于與智能卡相連接的機械接口和電接口,從而可以接收并保持智能卡,并可以形成用于向智能卡供電以及相互傳送指令和數(shù)據(jù)的電連接。所述讀卡器模塊102還可以包括用于向所連接的智能卡傳送智能卡操作指令,從而對所連接的智能卡進行操作(例如讀寫操作)的電路或芯片。
所述智能卡斷電保護測試裝置100可以包括一個或多個讀卡器模塊102。在一些實施列中,所述智能卡斷電保護測試裝置100可以包括多個讀卡器模塊102,例如8個讀卡器模塊,這樣,就可以實現(xiàn)同時對多個智能卡的斷電保護測試。
所述智能卡可以是任何內嵌有微芯片的卡片(例如塑料材質的卡片),例如移動電話的SIM卡、銀行卡、購物卡等。如本領域技術人員所知的,智能卡內的集成電路通??梢园ㄖ醒胩幚砥?CPU)、可編程只讀存儲器(EEPROM)、隨機存儲器(RAM)和固化在只讀存儲器ROM中的卡內操作系統(tǒng)(Chip Operating System,COS)。所述智能卡可以是接觸式智能卡,也可以是非接觸式智能卡。所述智能卡可以是任何符合諸如ISO/IEC 7816的智能卡通信協(xié)議的智能卡,包括A類、B類和C類智能卡,從而所述讀卡器模塊102可以根據(jù)該智能卡通信協(xié)議與智能卡進行通信(即向智能卡傳送智能卡操作指令,并從智能卡接收操作結果),從而完成對智能卡的讀寫等操作。
在一些實施例中,所述智能卡操作指令為應用協(xié)議數(shù)據(jù)單元(Application Protocol Data Unit,APDU)指令。如本領域的技術人員所知的,APDU指令是由智能卡通信協(xié)議所規(guī)定的智能卡數(shù)據(jù)傳輸命令結構,一條APDU指令由命令頭及數(shù)據(jù)體組成。如本領域的技術人員所知的,所述APDU指令可以包括READ BINARY、WRITE BINARY、UPDATE BINARY、ERASE BINARY、READ RECORD、WRITE RECORD、APPEND RECORD、UPDATE RECORD、GET DATA、PUT DATA、SELECT FILE、VERIFY、INTERNAL AUTHENTICATE、EXTERNAL AUTHENTICATE、GET CHALLENGE、MANAGE CHANNEL、GET RESPONSE、ENVOLOPE等指令。所述控制模塊101可以在任何APDU指令的傳送過程中的特定時點切斷對讀卡器模塊102的供電,從而針對該APDU指令進行斷電測試。
在一些實施例中,所述智能卡操作指令可以劃分為文件級操作指令,包括文件更新指令、增量指令、失效指令和激活指令等,以及卡片級操作指令,包括PIN碼修改、激活、禁止、驗證和解鎖指令等。所述控制模塊101可以分別針對所述文件級操作指令和卡片級操作指令進行斷電測試,即在這些指令的傳送過程中的特定時間切斷對讀卡器模塊102的供電。在另一些實施例,所述控制模塊101可以僅對涉及對智能卡的數(shù)據(jù)寫入或修改的智能卡操作指令進行斷電測試,而對僅涉及數(shù)據(jù)查詢的智能卡操作指令不進行斷電測試。
所述智能卡的斷電保護性能通??梢灾冈趯χ悄芸ǖ牟僮?尤其是寫操作)的過程中遇到斷電后,智能卡不損壞(數(shù)據(jù)不丟失),能正常工作,且當再次接電后,智能卡中的數(shù)據(jù)能夠自動恢復為原有的狀態(tài),保證數(shù)據(jù)正確。
由于根據(jù)本實用新型的實施例的智能卡斷電保護測試裝置100能夠在向智能卡傳送智能卡操作指令過程中的特定時點切斷對讀卡器模塊102的供電,從而也切斷對智能卡的供電,因此能夠實現(xiàn)對斷電時點的指令級的高精度控制,從而能夠有效地測試智能卡的斷電保護性能。
在一些實施例中,用于所述控制模塊101切斷對所述讀卡器模塊102的供電的傳送所述智能卡操作指令過程中的所述特定時點為以下時點中的任何一個或多個:傳送完所述指令后的指定時間;傳送完所述指令中的命令頭后的指定時間;以及開始傳送所述指令后的指定時間。
也就是說,在一些實施例,該智能卡斷電保護測試裝置100支持三種智能卡斷電方式。圖2A-2C分別示出了這三種智能卡斷電方式。
在如圖2A中所示的第一種智能卡斷電方式中,當讀卡器模塊102將完整的APDU指令(即命令頭和數(shù)據(jù)體)發(fā)送完畢后,控制模塊101立即開始斷電倒計時(該倒計時時間可以是裝置內置的,或者可以由用戶預先設置,或者如下所述來自上位機的斷電指令),倒計時結束時斷電。
在如圖2B中所示的第二種智能卡斷電方式中,當讀卡器模塊102將APDU指令中的命令頭發(fā)送完畢后,控制模塊101立即開始斷電倒計時,倒計時結束時斷電。
在如圖2C中所示的第三種智能卡斷電方式中,當讀卡器模塊102開始發(fā)送APDU指令時,控制模塊101立即開始斷電倒計時,倒計時結束時斷電。
所述控制模塊101可以根據(jù)裝置內置的設置、根據(jù)用戶的預先設置或者如下所述根據(jù)來自上位機的斷電指令來選擇上述三種斷電方式中的任何一種或多種。
根據(jù)本實用新型的上述實施例的智能卡斷電保護測試裝置100,由于其支持三種智能卡斷電方式,因此可以實現(xiàn)高達1us的斷電精度。
在一些實施例中,所述智能卡斷電保護測試裝置100還包括供電管理模塊103,其中,所述控制模塊101通過控制所述供電管理模塊103來切斷對所述讀卡器模塊的供電。所述供電管理模塊103可以被配置為向控制模塊101和讀卡器模塊102供電,并被配置為接收來自控制模塊101的斷電指令,然后根據(jù)該斷電指令切斷對讀卡器模塊102的供電,從而也切斷對讀卡器模塊102所連接的智能卡的供電,以便能夠檢測所述智能卡的斷電保護性能。所這供電管理模塊103可以由任何能夠向其他模塊供電、并能夠接收和執(zhí)行所述斷電指令的電路或芯片來實現(xiàn)。
在一些實施例中,所述控制模塊101可以被配置為通過以下方式確定智能卡的斷電保護性能:向智能卡傳送完所述智能卡操作指令后,讀取所述智能卡中的相應數(shù)據(jù)內容;將所述相應數(shù)據(jù)內容與正確的數(shù)據(jù)內容進行比較;根據(jù)所述比較結果確定所述智能卡的斷電保護性能。
在通過所述讀卡器模塊102向所述智能卡傳送完所述智能卡操作指令并在所述特定時點切斷對所述讀卡器模塊后,所述控制模塊101可以通過所述讀卡器模塊102向所述智能卡傳送相應的查詢指令來讀取所述智能卡的相應數(shù)據(jù)內容。例如,當所述智能卡操作指令涉及對智能卡中的某個文件的數(shù)據(jù)寫入或修改時,所述控制模塊101可以通過讀卡器模塊102向智能卡傳送針對該文件的數(shù)據(jù)查詢指令,來讀取該文件的數(shù)據(jù)內容,并將所讀取的數(shù)據(jù)內容與正確的數(shù)據(jù)內容進行比較。
所述正確的數(shù)據(jù)內容是指在執(zhí)行完所述智能卡操作指令后在智能卡中應當存在的數(shù)據(jù)內容。例如,當所述智能卡操作指令為數(shù)據(jù)寫入或修改指令時,所述正確的數(shù)據(jù)內容可以由該數(shù)據(jù)寫入或修改指令本身得到;當所述智能卡操作指令為數(shù)據(jù)刪除指令時,所述正確的數(shù)據(jù)內容可以由智能卡中原先存在的數(shù)據(jù)內容減去被刪除的數(shù)據(jù)內容得到;當所述智能卡操作指令為數(shù)據(jù)查詢指令時,所述正確的數(shù)據(jù)內容可以由智能卡中原先存在的數(shù)據(jù)內容得到。
如果所述讀取的相應數(shù)據(jù)內容與所述正確的數(shù)據(jù)內容一致,則所述控制模塊101可以確定所述智能卡具有斷電保護功能;如果所述讀取的相應數(shù)據(jù)內容與所述正確的數(shù)據(jù)內容不一致,則所述控制模塊101可以判斷所述智能卡不具有斷電保護功能。
在一些實施例中,所述控制模塊101可以例如根據(jù)來自上位機的設置針對多個智能卡操作指令重復進行測試,即重復執(zhí)行通過所述讀卡器模塊102向智能卡傳送智能卡操作指令、在所述特定時間切斷對讀卡器模塊的供電、讀取智能卡中的相應數(shù)據(jù)內容并與正確的數(shù)據(jù)內容進行比較的過程,且如果在針對任何一個智能卡操作指令的測試中,所述讀取的數(shù)據(jù)內容與正確的數(shù)據(jù)內容不一致,則控制模塊101可以判斷所述智能卡不具有斷電保護功能或斷電保護性能不良;如果在針對所有智能卡操作指令的測試中,所述讀取的數(shù)據(jù)內容均與正確的數(shù)據(jù)內容一致,則控制模塊101可以判斷所述智能卡具有良好的斷電保護性能。
在一些實施例中,所述智能卡斷電保護測試裝置100還包括一無線通信模塊104,其中,所述控制模塊101還被配置為通過所述無線通信模塊104向其他設備發(fā)送測試過程數(shù)據(jù)和/或測試結果。所述測試過程數(shù)據(jù)例如可以包括所測試的智能卡操作指令、所測試的讀卡器模塊以及智能卡、切斷供電的時點設置等信息,所述測試結果例如可以是智能卡中的數(shù)據(jù)內容的比較結果以及關于所述智能卡是否具有斷電保護功能的判斷。所述其他設備例如可以是指定的用戶移動電話等移動設備。在一些實施例中,所述無線通信模塊104可以是GSM模塊,且該GSM模塊可以短信的形式向指定的用戶移動電話發(fā)送所述測試過程數(shù)據(jù)和/或測試結果,以方便用戶隨時查看和監(jiān)督。
在其他一些實施例中,所述控制模塊101也可以將所述測試結果發(fā)送到下文中所述的上位機,以便由所述上位機存儲、呈現(xiàn)給用戶或發(fā)送給其他設備。
在一些實施例中,所述控制模塊101可以與上位機200連接,且所述控制模塊101還可以被配置為:從所述上位機200接收所述智能卡操作指令和供電管理指令,將所述智能卡操作指令傳送給讀卡器模塊102,并根據(jù)所述供電管理指令在讀卡器模塊102傳送所述智能卡操作指令過程中的特定時點切斷對所述讀卡器模塊102的供電。
所述上位機200例如可以是個人計算機等計算設備。所述控制模塊101例如可以通過USB、串口或其他通信接口與所述上位機200連接。所述上位機200例如可以包含用于與所述智能卡斷電保護測試裝置100連接和通信的驅動程序。所述上位機200例如還可以包含用于通過所述智能卡斷電保護測試裝置100進行智能卡斷電保護測試的應用。該應用例如可以具有一用戶界面,用戶可以通過該用戶界面建立測試任務,在其中指定要測試的各智能卡操作指令,以及供電管理指令。所述供電管理指令例如可以包含針對每一個智能卡操作指令的斷電方式(例如,上文中所述的三種斷電方式中的一個或多個),以及斷電時間設置。所述斷電時間設置例如可包括斷電開始時間,即上文中所述的斷電倒計時時間,以及斷電持續(xù)時間。這樣,所述上位機200就可以將用戶所建立的測試任務中的各智能卡操作指令以及供電管理指令傳送給所述控制模塊101,以便由所述控制模塊101進行所述斷電測試。
以上參照附圖描述了根據(jù)本實用新型的實施例的智能卡斷電保護測試裝置100,應指出的是,以上描述和圖示僅為示例,而不是對本實用新型的限制。在本實用新型的其他實施例中,該裝置可具有更多、更少或不同的模塊,且各模塊之間的連接、包含和功能關系可以與所描述和圖示的不同。例如,一般來說,兩個不同模塊可以合并為一個更大的模塊,且單個模塊也可以拆分為兩個不同的模塊。
在本實用新型的另一個方面,還提供了一種智能卡斷電保護測試系統(tǒng)。該智能卡斷電保護系統(tǒng)包括:根據(jù)上述任何實施例的智能卡斷電保護測試裝置100;以及所述上位機200,其被配置為向所述智能卡斷電保護測試裝置發(fā)送針對智能卡操作指令以及供電管理指令。
雖然本實用新型已經通過實施例披露如上,但本實用新型并非限定于此。本領域技術人員在不脫離本實用新型的精神和范圍內所作的各種更動與修改,均應納入本實用新型的保護范圍,本實用新型的保護范圍僅以權利要求的語言及其等價語言所限定的范圍為準。