智能卡的異常處理方法及裝置制造方法
【專利摘要】本發明公開了一種智能卡的異常處理方法及裝置,在上述方法中,對智能卡進行異常檢測;對異常發生時所產生的異常信息進行保存;對異常信息進行分析,復現異常的發生場景。根據本發明提供的技術方案,能夠實時檢測異常,不占用物理IO接口,無需復現異常場景和利用在線調試工具即能夠獲取異常發生時的信息,為定位異常發生原因、復現異常發生場景提供了極大的幫助。
【專利說明】智能卡的異常處理方法及裝置
【技術領域】
[0001]本發明涉及通信領域,具體而言,涉及一種智能卡的異常處理方法及裝置。
【背景技術】
[0002]目前,在智能卡產品的開發以及測試過程中,經常會出現由于程序設計不夠完善、硬件失常等原因而引發異常情況,例如:功能模塊行為異常、訪問異常地址空間、工作電流異常等。因為常規智能卡往往功能簡單、代碼量小,開發人員往往忽視了對異常的主動性檢測。但是,隨著多應用智能卡的廣泛普及和移動支付在智能卡上的應用,智能卡的功能越來越強大,代碼量也急劇增加,因此,智能卡對異常的主動檢測就顯得十分必要。由于智能卡硬件平臺輸入輸出(10)接口資源一般只有7816接口,在智能卡工作時,該接口只能用于與卡外實體進行通信,而在異常發生時,無法采用實時打印日志的方法定位異常。在異常發生后,往往采用復現異常發生的場景,利用在線調試工具定位異常,但是該方法需要明確異常復現場景,而且還需要有在線調試工具。如果不滿足上述任何一個條件,解決異常則需要耗費巨大的時間與人力,有時甚至根本無法解決。在智能卡產品交付使用后若發生異常,若想檢測并定位異常發生的原因則更加困難。
[0003]針對智能卡的異常主動檢測,相關技術中通常采用參數檢查、硬件監測等方法。
[0004]針對智能卡異常的定位和復現,相關技術中通常采用打印日志的方法,該方法需要利用智能卡芯片上的其它物理IO接口來輔助復現異常發生的場景并進行在線調試。
[0005]上面提到的相關技術所采用的智能卡的異常主動檢測、智能卡異常的定位和復現存在如下缺陷:
[0006]缺陷一、相關技術對智能卡的異常主動檢測往往被忽略,或者檢測不充分,抑或檢測方法未形成完整體系。
[0007]缺陷二、相關技術對異常的定位,如果采用打印日志的方法,則需要智能卡上存在除781610接口之外的其他物理IO接口,但該條件時常無法滿足。目前的智能卡芯片通常屬于只提供7816接口類型的芯片。另外,智能卡的開發方式往往采用基于硬件模塊的開發,雖然芯片可能提供了其它的物理IO接口,但只有7816的IO接口管腳是提供給開發者的。
[0008]缺陷三、相關技術對異常的定位,如果采用復現異常場景,并在在線調試環境下調試定位的方法,則必須要復現異常場景,并且還要具備在線調試環境。在異常場景無法復現或者不具備在線調試環境時,則該方法就會變得束手無策。
【發明內容】
[0009]本發明提供了一種智能卡的異常處理方法及裝置,以至少解決相關技術中缺乏有效、及時地對智能卡異常進行處理的技術方案,尤其是在IO接口資源匱乏而無法實時打印日志、無法復現異常發生場景或者不具備在線調試環境的條件下異常難以定位的問題。
[0010]根據本發明的一個方面,提供了 一種智能卡的異常處理方法。
[0011]根據本發明的智能卡的異常處理方法包括:對智能卡進行異常檢測;對異常發生時所產生的異常信息進行保存;對異常信息進行分析,復現異常的發生場景。
[0012]優選地,進行異常檢測包括:根據異常所歸屬的類型獲取與該類型對應的檢測方法;采用檢測方法對異常進行異常檢測。
[0013]優選地,對異常信息進行保存包括:根據異常所歸屬的類型獲取與該類型相關聯的異常信息;將異常信息存儲在智能卡上的預設存儲區域內。
[0014]優選地,在對異常信息進行保存之后,還包括:啟動與異常對應的一項或多項保護措施。
[0015]優選地,啟動一項或多項保護措施包括:根據異常所歸屬的類型獲取與該類型相對應的保護措施集合;從保護措施集合中選取一項或多項保護措施進行啟動。
[0016]優選地,對異常信息進行分析,復現發生場景包括:讀取異常信息并進行解析;根據解析后的異常信息獲取發生異常的位置信息以及發生異常的原因;對位置信息和原因進行分析得到發生異常的場景信息,并按照場景信息復現發生場景。
[0017]根據本發明的另一方面,提供了一種智能卡的異常處理裝置。
[0018]根據本發明的智能卡的異常處理裝置包括:檢測模塊,用于對智能卡進行異常檢測;存儲模塊,用于對異常發生時所產生的異常信息進行保存;分析模塊,用于對所述異常信息進行分析,復現所述異常的發生場景。
[0019]優選地,檢測模塊包括:第一獲取單元,用于根據異常所歸屬的類型獲取與該類型對應的檢測方法;檢測單元,用于采用檢測方法對異常進行異常檢測。
[0020]優選地,存儲模塊包括:第二獲取單元,用于根據異常所歸屬的類型獲取與該類型相關聯的異常信息;存儲單元,用于將異常信息存儲在智能卡上的預設存儲區域內。
[0021]優選地,上述裝置還包括:啟動模塊,用于啟動與異常對應的一項或多項保護措施。
[0022]優選地,啟動模塊包括:第三獲取單元,用于根據異常所歸屬的類型獲取與該類型相對應的保護措施集合;啟動單元,用于從保護措施集合中選取一項或多項保護措施進行啟動。
[0023]優選地,分析模塊包括:解析單元,用于讀取異常信息并進行解析;第四獲取單元,用于根據解析后的異常信息獲取發生異常的位置信息以及發生異常的原因;處理單元,用于對位置信息和原因進行分析得到發生異常的場景信息,并按照場景信息復現發生場
旦
[0024]通過使用本發明所述的方法對智能卡進行異常檢測,可以對智能卡上可能發生的各種類型的異常進行主動的實時檢測,一旦發現異常立即將異常信息加以保存,并通過對異常信息的分析,對異常的發生場景進行復現,由此解決了相關技術中缺乏有效、及時地對智能卡異常進行處理的技術方案的問題,本發明所提供的技術方案能夠實時檢測異常,不占用物理IO接口,無需復現異常場景和利用在線調試工具即能夠獲取異常發生時的信息,為定位異常發生原因、復現異常發生場景提供了極大的幫助。
【專利附圖】
【附圖說明】
[0025]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:[0026]圖1是根據本發明實施例的智能卡的異常處理方法的流程圖;
[0027]圖2是根據本發明優選實施例的異常信息的數據結構示意圖;
[0028]圖3是根據本發明實施例的智能卡的異常處理裝置的結構框圖;
[0029]圖4是根據本發明優選實施例的智能卡的異常處理裝置的結構框圖。
【具體實施方式】
[0030]下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0031]在以下描述中,除非另外指明,否則將參考由一個或多個計算機執行的動作和操作的符號表示來描述本申請的各實施例。其中,計算機包括個人計算機、服務器、移動終端等各種產品,使用了中央處理器(CPU)、單片機、數字信號處理器(DSP)等具有處理芯片的設備均可以稱為計算機。由此可以理解,有時被稱為計算機執行的這類動作和操作包括計算機的處理單元對以結構化形式表示數據的電信號的操縱。這一操縱轉換了數據或在計算機的存儲器系統中的位置上維護它,這以本領域的技術人員都理解的方式重配置或改變了計算機的操作。維護數據的數據結構是具有數據的格式所定義的特定屬性的存儲器的物理位置。然而,盡管在上述上下文中描述本發明,但它并不意味著限制性的,如本領域的技術人員所理解的,后文所描述的動作和操作的各方面也可用硬件來實現。
[0032]轉向附圖,其中相同的參考標號指代相同的元素,本申請的原理被示為在一個合適的計算環境中實現。以下描述基于所述的本申請的實施例,并且不應認為是關于此處未明確描述的替換實施例而限制本申請。
[0033]以下實施例可以應用到計算機中,例如:應用到PC中。也可以應用到目前采用了智能操作系統中的移動終端中,并且并不限于此。對于計算機或移動終端的操作系統并沒有特殊要求,只要能夠檢測接觸、確定該接觸是否與預定規則相符合,以及根據該接觸的屬性實現相應功能即可。
[0034]圖1是根據本發明實施例的智能卡的異常處理方法的流程圖。如圖1所示,該方法可以包括以下處理步驟:
[0035]步驟S102:對智能卡進行異常檢測;
[0036]步驟S104:對異常發生時所產生的異常信息進行保存;
[0037]步驟S106:對異常信息進行分析,復現異常的發生場景。
[0038]相關技術中,缺乏有效、及時地對智能卡異常進行處理的技術方案,尤其是在IO接口資源匱乏而無法實時打印日志、無法復現異常發生場景或者不具備在線調試環境的條件下異常難以定位。采用如圖1所示的方法,對智能卡進行異常檢測;對異常發生時所產生的異常信息進行保存;對異常信息進行分析,復現異常的發生場景,因而可以對智能卡上可能發生的各種類型的異常進行主動的實時檢測,一旦發現異常立即將異常信息加以保存,并通過對異常信息的分析,對異常的發生場景進行復現,由此解決了相關技術中缺乏有效、及時地對智能卡異常進行處理的技術方案的問題,本發明所提供的技術方案能夠實時檢測異常,不占用物理IO接口,無需復現異常場景和利用在線調試工具即能夠獲取異常發生時的信息,例如:異常類型、異常發生時的上下文,為定位異常發生原因、復現異常發生場景提供了極大的幫助。[0039]優選地,在步驟S102中,進行異常檢測可以包括以下操作:
[0040]步驟S1:根據異常所歸屬的類型獲取與該類型對應的檢測方法;
[0041]步驟S2:采用檢測方法對異常進行異常檢測。
[0042]在優選實施例中,可以對系統內所有可能出現的異常進行分類,按照異常類型設定相應的檢測方法。
[0043]雖然不同廠家智能卡的硬件和片內操作系統(COS)的實現方法存有差異,但是其功能模塊的組成卻是基本相同,因此,異常的類型也基本相同。以基于Java平臺的智能卡為例,異常類型及相應的檢測方法可以包括但不限于以下至少之一:
[0044](I)硬件安全異常可以包括但不限于以下至少之一:異常電壓、異常電流、激光掃描等來自物理層面的異常,可以通過捕獲中斷信號來獲知異常的發生,其檢測方法可以由硬件來完成。
[0045](2)地址越界訪問異常,例如:在訪問一個數據對象時,其訪問地址空間不屬于該數據對象,此種類型的異常可以通過地址邊界比對來進行檢測。
[0046](3)非易失性存儲介質操作異常是指向flash/eeprom寫入數據失敗,其可以通過在操作完畢后對比flash/e印IOm中的數據和源地址數據來進行檢測。
[0047](4) Java虛擬機非法數據類型異常:此異常是指出現了一種虛擬機無法識別的數據類型,其可以通過比較該數據是否屬于虛擬機定義的類型來進行檢測。
[0048](5) Java虛擬機內存不足異常是指無法提供更多的全局數據、棧空間或者堆空間所造成的異常,其可以通過比較申請空間是否大于剩余空間來進行檢測。
[0049](6)掉電保護功能異常是指掉電保護模塊的缺陷被觸發時所導致的異常,其可以通過比較是否有非法數據類型、是否有超出掉電保護模塊空間的地址訪問來檢測。
[0050](7)事務功能異常是指事務功能的缺陷被觸發時所導致的異常,其可以通過比較是否有非法數據類型、是否有超出事務模塊空間的地址訪問來檢測。
[0051]對于(I)而言,通過編寫中斷響應函數可以實現主動檢測。
[0052]對于(2)?(7),依據檢測方法編寫檢測代碼,并植入可能發生異常的代碼區間,從而實現主動檢測,其中,可以將植入檢測代碼的位置稱為檢測點,并且對每一處檢測點進行唯一編號。
[0053]當檢測到異常后,即可獲取到異常類型和檢測點編號。
[0054]優選地,在步驟S104中,對異常信息進行保存可以包括以下步驟:
[0055]步驟S3:根據異常所歸屬的類型獲取與該類型相關聯的異常信息;
[0056]步驟S4:將異常信息存儲在智能卡上的預設存儲區域內。
[0057]在優選實施例中,在異常被檢測到之后,應該立刻將異常信息記錄到異常信息存儲區域。異常類型決定了相應的異常信息子項。異常信息存儲區域可以累積存入異常信息,在該存儲區域再無剩余空間后,寫入操作將作為無效處理。
[0058]圖2是根據本發明優選實施例的異常信息的數據結構示意圖。如圖2所示,對于不同的異常類型而言,其異常信息可以包括不同的信息子項。而信息子項又可以進一步包括:
[0059]①異常類型編號;
[0060]②檢測點編號;[0061 ] ③當前非法訪問的地址值;
[0062]④flash/eeprom中比較錯誤的地址;
[0063]⑤不支持的數據類型值;
[0064]⑥Java虛擬機的程序計數器(PC)值;
[0065]⑦剩余空間大小;
[0066]⑧申請空間大小;
[0067]⑨函數調用棧信息(如果能夠獲取該項數據)。
[0068]所有異常類型的異常信息均必須包括①和②這兩個信息子項,而其他信息子項并不局限于上述③-⑨。
[0069]優選地,在步驟S104,對異常信息進行保存之后,還可以包括以下處理步驟:
[0070]步驟S5:啟動與異常對應的一項或多項保護措施。
[0071]在優選實施例中,在異常被檢測到之后,除了立刻將異常信息記錄到異常信息存儲區域之外,還應該立刻采取防護措施。異常類型不僅決定了相應的異常信息子項,同時也決定了防護措施子項。
[0072]在記錄上述異常信息之后,所能采取的防護措施可以包括但不限于以下至少之
[0073]a.清除卡上敏感數據;
[0074]b.清除虛擬機隨機存儲器(RAM)空間數據;
[0075]c.作為智能卡的返回狀態字返回給卡外實體;
[0076]d.進入龜閉狀態,即進入死循環,使能深休眠并無法喚醒。
[0077]需要說明的是,上述防護措施中的a和b能夠保護智能卡上機密數據的安全,c能夠及時地提示異常的發生,d能夠及時地制止異常造成進一步的影響。
[0078]優選地,在步驟S5中,啟動一項或多項保護措施可以包括以下操作:
[0079]步驟S51:根據異常所歸屬的類型獲取與該類型相對應的保護措施集合;
[0080]步驟S52:從保護措施集合中選取一項或多項保護措施進行啟動。
[0081]在優選實施例中,各種類型異常的異常信息以及防護措施如下:
[0082](I)硬件安全異常,其異常信息可以包括:異常類型編號和檢測點編號,所能采取的防護措施可以包括:清除卡上敏感數據、清除虛擬機RAM空間數據、進入龜閉狀態。
[0083](2)地址越界訪問異常,其異常信息可以包括:異常類型編號、檢測點編號、當前非法訪問的地址值、函數調用棧信息,所能采取的防護措施可以包括:清除虛擬機RAM空間數據、作為智能卡的返回狀態字返回給卡外實體。
[0084](3)非易失性存儲介質操作異常,其異常信息可以包括:異常類型編號、檢測點編號、flash/eepiOm中比較錯誤的地址、函數調用棧信息,所能采取的防護措施可以包括:作為智能卡的返回狀態字返回給卡外實體。
[0085](4) Java虛擬機非法數據類型異常,其異常信息可以包括:異常類型編號、檢測點編號、不支持的數據類型值、Java虛擬機的PC值、函數調用棧信息,所能采取的防護措施可以包括:作為智能卡的返回狀態字返回給卡外實體。
[0086](5) Java虛擬機內存不足異常,其異常信息可以包括:異常類型編號、檢測點編號、Java虛擬機的PC值、剩余空間大小、申請空間大小、函數調用棧信息,所能采取的防護措施可以包括:作為智能卡的返回狀態字返回給卡外實體。
[0087](6)掉電保護功能異常,其異常信息可以包括:異常類型編號、檢測點編號、當前非法訪問的地址值、不支持的數據類型值、函數調用棧信息,所能采取的防護措施可以包括:清除虛擬機RAM空間數據、作為智能卡的返回狀態字返回給卡外實體、進入龜閉狀態。
[0088](7)事務功能異常,其異常信息可以包括:異常類型編號、檢測點編號、當前非法訪問的地址值、不支持的數據類型值、函數調用棧信息,所能采取的防護措施可以包括:清除虛擬機RAM空間數據、作為智能卡的返回狀態字返回給卡外實體、進入龜閉狀態。
[0089]優選地,在步驟S106中,對異常信息進行分析,復現發生場景可以包括以下步驟:
[0090]步驟S6:讀取異常信息并進行解析;
[0091]步驟S7:根據解析后的異常信息獲取發生異常的位置信息以及發生異常的原因;
[0092]步驟S8:對位置信息和原因進行分析得到發生異常的場景信息,并按照場景信息復現發生場景。
[0093]在優選實施例中,將每次存入異常備份區的異常信息作為一條記錄,并在智能卡COS層開發讀取異常信息記錄的功能。卡外實體向智能卡發送讀取異常信息記錄的指令,智能卡處理該指令,并將異常信息記錄返回給卡外實體。卡外實體在解析異常信息時,首先根據檢測點編號定位異常發生的具體位置,然后根據異常類型可以得到發生異常的原因,再結合其它信息子項可以分析得到異常發生時的場景信息,從而復現異常發生的場景。
[0094]圖3是根據本發明實施例的智能卡的異常處理裝置的結構框圖。如圖3所示,該智能卡的異常處理裝置可以包括:檢測模塊10,用于對智能卡進行異常檢測;存儲模塊20,用于對異常發生時所產生的異常信息進行保存;分析模塊30,用于對所述異常信息進行分析,復現所述異常的發生場景。
[0095]采用如圖3所示的裝置,解決了相關技術中缺乏有效、及時地對智能卡異常進行處理的技術方案的問題,能夠實時檢測異常,不占用物理IO接口,無需復現異常場景和利用在線調試工具即能夠獲取異常發生時的信息,為定位異常發生原因、復現異常發生場景提供了極大的幫助。
[0096]優選地,如圖4所示,檢測模塊10可以包括:第一獲取單元100,用于根據異常所歸屬的類型獲取與該類型對應的檢測方法;檢測單元102,用于采用檢測方法對異常進行異常檢測。
[0097]優選地,如圖4所示,存儲模塊20可以包括:第二獲取單元200,用于根據異常所歸屬的類型獲取與該類型相關聯的異常信息;存儲單元202,用于將異常信息存儲在智能卡上的預設存儲區域內。
[0098]優選地,如圖4所示,上述裝置還可以包括:啟動模塊40,用于啟動與異常對應的一項或多項保護措施。
[0099]優選地,如圖4所示,啟動模塊40可以包括:第三獲取單元400,用于根據異常所歸屬的類型獲取與該類型相對應的保護措施集合;啟動單元402,用于從保護措施集合中選取一項或多項保護措施進行啟動。
[0100]優選地,如圖4所示,分析模塊30可以包括:解析單元300,用于讀取異常信息并進行解析;第四獲取單元302,用于根據解析后的異常信息獲取發生異常的位置信息以及發生異常的原因;處理單元304,用于對位置信息和原因進行分析得到發生異常的場景信息,并按照場景信息復現發生場景。
[0101]從以上的描述中,可以看出,上述實施例實現了如下技術效果(需要說明的是這些效果是某些優選實施例可以達到的效果):檢測異常類型包括了智能卡的大多數異常類型和異常源,具有主動性;在進行檢測時可以不占用智能卡上的任何物理接口 ;在檢測到異常后,及時存儲異常發生時的關鍵信息;能夠在發生異常的第一時間停止系統的運行,降低了異常情況對智能卡的不利影響,最大限度地保護系統免遭破壞;異常發生時記錄的關鍵信息可以通過7816接口進行讀取,從而為定位異常提供了充足的信息。
[0102]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0103]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種智能卡的異常處理方法,其特征在于,包括: 對智能卡進行異常檢測; 對異常發生時所產生的異常信息進行保存; 對所述異常信息進行分析,復現所述異常的發生場景。
2.根據權利要求1所述的方法,其特征在于,進行所述異常檢測包括: 根據異常所歸屬的類型獲取與該類型對應的檢測方法; 采用所述檢測方法對所述異常進行異常檢測。
3.根據權利要求1所述的方法,其特征在于,對所述異常信息進行保存包括: 根據所述異常所歸屬的類型獲取與該類型相關聯的所述異常信息; 將所述異常信息存儲在所述智能卡上的預設存儲區域內。
4.根據權利要求3所述的方法,其特征在于,在對所述異常信息進行保存之后,還包括: 啟動與所述異常對應的一項或多項保護措施。
5.根據權利要求4所述的方法,其特征在于,啟動所述一項或多項保護措施包括: 根據所述異常所歸屬的類型獲取與該類型相對應的保護措施集合; 從所述保護措施集合中選取所述一項或多項保護措施進行啟動。
6.根據權利要求1至5中任一項所述的方法,其特征在于,對所述異常信息進行分析,復現所述發生場景包括: 讀取所述異常信息并進行解析; 根據解析后的異常信息獲取發生所述異常的位置信息以及發生所述異常的原因; 對所述位置信息和所述原因進行分析得到發生所述異常的場景信息,并按照所述場景信息復現所述發生場景。
7.一種智能卡的異常處理裝置,其特征在于,包括: 檢測模塊,用于對智能卡進行異常檢測; 存儲模塊,用于對異常發生時所產生的異常信息進行保存; 分析模塊,用于對所述異常信息進行分析,復現所述異常的發生場景。
8.根據權利要求7所述的裝置,其特征在于,所述檢測模塊包括: 第一獲取單元,用于根據異常所歸屬的類型獲取與該類型對應的檢測方法; 檢測單元,用于采用所述檢測方法對所述異常進行異常檢測。
9.根據權利要求7所述的裝置,其特征在于,所述存儲模塊包括: 第二獲取單元,用于根據所述異常所歸屬的類型獲取與該類型相關聯的所述異常信息; 存儲單元,用于將所述異常信息存儲在所述智能卡上的預設存儲區域內。
10.根據權利要求9所述的裝置,其特征在于,所述裝置還包括: 啟動模塊,用于啟動與所述異常對應的一項或多項保護措施。
11.根據權利要求10所述的裝置,其特征在于,所述啟動模塊包括: 第三獲取單元,用于根據所述異常所歸屬的類型獲取與該類型相對應的保護措施集合; 啟動單元,用于從所述保護措施集合中選取所述一項或多項保護措施進行啟動。
12.根據權利要求7至11中任一項所述的裝置,其特征在于,所述分析模塊包括: 解析單元,用于讀取所述異常信息并進行解析; 第四獲取單元,用于根據解析后的異常信息獲取發生所述異常的位置信息以及發生所述異常的原因; 處理單元,用于對所述位置信息和所述原因進行分析得到發生所述異常的場景信息,并按照所述場景信 息復現所述發生場景。
【文檔編號】G06F11/00GK103440175SQ201310339981
【公開日】2013年12月11日 申請日期:2013年8月6日 優先權日:2013年8月6日
【發明者】鄭黎方, 劉智超, 宮翔宇 申請人:北京數碼視訊科技股份有限公司