專利名稱:Ic卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法。
背景技術(shù):
近年來,IC卡的應(yīng)用日益廣泛,而在這些應(yīng)用當(dāng)中IC卡中往往存儲(chǔ)著與持卡人利益或與IC卡應(yīng)用安全性相關(guān)的重要信息,這些信息的寫入、更新與讀出通常是通過IC卡中的卡內(nèi)操作系統(tǒng)(COS)來完成的,如果IC卡在相對(duì)惡劣應(yīng)用環(huán)境下出現(xiàn)程序跳飛現(xiàn)象而對(duì)IC卡中的信息記錄載體出現(xiàn)誤操作,造成讀出或?qū)懭肓隋e(cuò)誤的數(shù)據(jù)信息,將會(huì)對(duì)持卡人的利益或是IC卡的應(yīng)用安全性造成重大損害。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法,從而避免在IC卡應(yīng)用中程序跳飛情況下對(duì)信息記錄載體誤操作所造成的損失。
本發(fā)明所提供的一種IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法,卡內(nèi)操作系統(tǒng)是以接收由讀卡機(jī)發(fā)來的特定指令來完成一個(gè)相應(yīng)的處理流程的,包括下列步驟在卡內(nèi)操作系統(tǒng)中對(duì)信息記錄載體進(jìn)行讀寫操作處理的指令有多條,每一指令包含特有信息,即各所屬狀態(tài)、指令識(shí)別碼及處理流程;給每一條對(duì)信息記錄載體有操作行為的指令分配一個(gè)跟蹤寄存器,通過這一組跟蹤寄存器對(duì)每條指令處理過程中的特有信息的跟蹤記錄,來檢驗(yàn)相對(duì)應(yīng)的指令執(zhí)行的流程是否是按規(guī)定流程動(dòng)作,其中允許存在兩條或是兩條以上的指令擁有同一個(gè)特征信息,但一個(gè)正常的指令流程處理下來,這一組跟蹤寄存器的值應(yīng)是唯一的;即在對(duì)信息記錄載體進(jìn)行直接操作的函數(shù)入口位置對(duì)這一組跟蹤寄存器的值進(jìn)行判斷,確定在該條指令的程序分析處理過程中是否出現(xiàn)過指令跳飛的情況如果該組跟蹤寄存器的特征值異常,則說明指令分析處理過程中出現(xiàn)過跳飛的異常情況,以此來拒絕對(duì)信息記錄載體的操作并做相應(yīng)的報(bào)錯(cuò)處理,從而可以避免因指令跳飛情況下對(duì)信息記錄載體的誤操作的發(fā)生。
由于采用了上述的技術(shù)解決方案,可以可靠有效的檢測(cè)出指令跳飛情況的發(fā)生,杜絕了因指令跳飛情況下的對(duì)信息記錄載體的誤操作。從而大大提高了IC卡在相對(duì)惡劣的應(yīng)用環(huán)境中使用的安全可靠性。
圖1是本發(fā)明的流程框圖。
具體實(shí)施例方式
參見圖1,本發(fā)明,即IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法,卡內(nèi)操作系統(tǒng)(COS)通常是以接收由讀卡機(jī)發(fā)來的特定指令來完成一個(gè)相應(yīng)的處理流程的。在一個(gè)完整的應(yīng)用體系中,往往有許多條指令的處理都涉及到對(duì)非易失信息記錄載體(如EEPROM)的讀寫操作,這些指令分別有著自己所屬的不同狀態(tài)、指令識(shí)別碼及特有的處理流程等特有信息。因此可給每一條對(duì)非易失信息記錄載體有操作行為的指令分配一個(gè)跟蹤寄存器,通過這一組跟蹤寄存器對(duì)每條指令處理過程中的特有信息的跟蹤記錄(如對(duì)某一跟蹤寄存器相應(yīng)的位置1),來檢驗(yàn)相對(duì)應(yīng)的指令執(zhí)行的流程是否是按規(guī)定流程動(dòng)作的。雖然有可能存在兩條或是兩條以上的指令擁有同一個(gè)特征信息,但一個(gè)正常的指令流程處理下來,這一組跟蹤寄存器的值應(yīng)是唯一的。因此在對(duì)信息記錄載體進(jìn)行直接操作的函數(shù)入口位置對(duì)這一組跟蹤寄存器的值進(jìn)行判斷,便可知在該條指令的程序分析處理過程中是否出現(xiàn)過指令跳飛的情況,如果該組跟蹤寄存器的特征值異常,則說明指令分析處理過程中出現(xiàn)過跳飛的異常情況,以此來拒絕對(duì)信息記錄載體的操作并做相應(yīng)的報(bào)錯(cuò)處理,從而可以避免因指令跳飛情況下對(duì)EEPROM等信息記錄載體的誤操作的發(fā)生。
下面以某一個(gè)IC卡應(yīng)用體系為例做進(jìn)一步詳細(xì)的說明在這個(gè)IC卡應(yīng)用體系中,以EEPROM做為IC卡中的信息記錄載體,整個(gè)指令體系中總共有6條對(duì)EEPOM有寫操作的指令WRITEBINARY、WRITEKEY、GETRAND、PCDVPP、TESTWRITE、EEPTEST。這六條指令在卡內(nèi)操作系統(tǒng)(COS)中,分別屬于3個(gè)不同的狀態(tài)其中WRITEBINARY、WRITEKEY、GETRAND三條指令同屬一個(gè)狀態(tài);PCDVPP單獨(dú)為一個(gè)狀態(tài);TESTWRITE、EEPTEST兩條指令屬于第3狀態(tài)。這六條指令的處理過程均需要通過RF(射頻)接收、所屬狀態(tài)判斷、指令識(shí)別碼判別、操作權(quán)限校驗(yàn)、調(diào)用EEPROM操作子函數(shù)這五個(gè)階段。并且擁有不同的指令識(shí)別碼。
為了防止在COS指令跳飛的情況下對(duì)EEPROM進(jìn)行擦寫操作而對(duì)EEPROM中的數(shù)據(jù)造成破壞,該版COS中對(duì)這6條指令定義了對(duì)應(yīng)的6個(gè)跟蹤寄存器。這6個(gè)跟蹤寄存器的BIT7-BIT3分別在對(duì)應(yīng)指令的整個(gè)執(zhí)行過程中實(shí)行監(jiān)視指令在RF接收、狀態(tài)判別、指令識(shí)別碼判別、操作權(quán)限校驗(yàn)、EEPROM擦寫底層函數(shù)調(diào)用位置,并在對(duì)應(yīng)的程序判別語句附近置相應(yīng)的標(biāo)志位為1。當(dāng)這6條指令中的某條指令正確執(zhí)行,則對(duì)應(yīng)這6個(gè)跟蹤寄存器的值是唯一的,如果其中某個(gè)跟蹤寄存器不滿足條件,程序則跳轉(zhuǎn)至軟件初始化狀態(tài),清除這6個(gè)跟蹤寄存器,重新開始指令接收和跟蹤判別。這6個(gè)跟蹤寄存器的定義及狀態(tài)如下WBSP(WRITEBINARY跟蹤寄存器)WKSP(WRITEKEY跟蹤寄存器)GRSP(GETRAND跟蹤寄存器)PVSP(PCDVPP跟蹤寄存器)TWSP(TESTWRITE跟蹤寄存器)EPASP(EEPTEST跟蹤寄存器)WriteBinary指令調(diào)用擦寫過程
(2)WriteKey指令調(diào)用擦寫過程
(3)GetRand指令調(diào)用擦寫過程
(4)PcdVpp指令調(diào)用擦寫過程
(5)TestWrite指令調(diào)用擦寫過程
(6)EEPROM全片擦寫指令調(diào)用擦寫過程
從上面的幾個(gè)列表可以看出這六條指令的每一條正常執(zhí)行時(shí),對(duì)應(yīng)的6個(gè)跟蹤寄存器都是一組唯一的值,當(dāng)指令在這6條指令處理過程間發(fā)生跳飛現(xiàn)象時(shí),這組寄存器就可以準(zhǔn)確的檢測(cè)到。在EEPROM擦寫子函數(shù)的入口位置對(duì)這組寄存器的值進(jìn)行判斷即可得知是那一條指令合法的執(zhí)行或是發(fā)生了指令跳飛的情況。在本COS中當(dāng)發(fā)現(xiàn)這6條對(duì)EEPROM擦寫操作的指令間發(fā)生跳飛現(xiàn)象時(shí),則終止對(duì)EEPROM的操作,軟件復(fù)位至上電初始化狀態(tài),同時(shí)這給(6個(gè))跟蹤寄存器清0,重新開始新一輪的指令跟蹤操作。
通過這個(gè)方法在該版COS中對(duì)IC卡應(yīng)用中防止程序跳飛情況下對(duì)信息記錄載體誤操作,取得了良好的效果。
權(quán)利要求
1.一種IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法,卡內(nèi)操作系統(tǒng)是以接收由讀卡機(jī)發(fā)來的特定指令來完成一個(gè)相應(yīng)的處理流程的,包括下列步驟在卡內(nèi)操作系統(tǒng)中對(duì)信息記錄載體進(jìn)行讀寫操作處理的指令有多條,每一指令包含特有信息,即各所屬狀態(tài)、指令識(shí)別碼及處理流程;給每一條對(duì)信息記錄載體有操作行為的指令分配一個(gè)跟蹤寄存器,通過這一組跟蹤寄存器對(duì)每條指令處理過程中的特有信息的跟蹤記錄,來檢驗(yàn)相對(duì)應(yīng)的指令執(zhí)行的流程是否是按規(guī)定流程動(dòng)作,其中允許存在兩條或是兩條以上的指令擁有同一個(gè)特征信息,但一個(gè)正常的指令流程處理下來,這一組跟蹤寄存器的值應(yīng)是唯一的;即在對(duì)信息記錄載體進(jìn)行直接操作的函數(shù)入口位置對(duì)這一組跟蹤寄存器的值進(jìn)行判斷,確定在該條指令的程序分析處理過程中是否出現(xiàn)過指令跳飛的情況如果該組跟蹤寄存器的特征值異常,則說明指令分析處理過程中出現(xiàn)過跳飛的異常情況,以此來拒絕對(duì)信息記錄載體的操作并做相應(yīng)的報(bào)錯(cuò)處理,從而可以避免因指令跳飛情況下對(duì)信息記錄載體的誤操作的發(fā)生。
全文摘要
一種IC卡應(yīng)用中防止程序跳飛時(shí)對(duì)信息記錄載體誤操作的方法在一個(gè)完整的COS中對(duì)信息記錄載體進(jìn)行讀寫操作處理的指令有多條;給每一條對(duì)信息記錄載體有操作行為的指令分配一個(gè)跟蹤寄存器,通過這一組跟蹤寄存器對(duì)每條指令處理過程中的特有信息的跟蹤記錄,來檢驗(yàn)相對(duì)應(yīng)的指令執(zhí)行的流程是否是按規(guī)定流程動(dòng)作,即在對(duì)信息記錄載體進(jìn)行直接操作的函數(shù)入口位置對(duì)這一組跟蹤寄存器的值進(jìn)行判斷,確定在該條指令的程序分析處理過程中是否出現(xiàn)過指令跳飛的情況如果該組跟蹤寄存器的特征值異常,則說明指令分析處理過程中出現(xiàn)過跳飛的異常情況,以此來拒絕對(duì)信息記錄載體的操作并做相應(yīng)的報(bào)錯(cuò)處理,從而可以避免因指令跳飛情況下對(duì)信息記錄載體的誤操作的發(fā)生。
文檔編號(hào)G06F9/308GK1519702SQ0311501
公開日2004年8月11日 申請(qǐng)日期2003年1月20日 優(yōu)先權(quán)日2003年1月20日
發(fā)明者姚碧, 徐曉偉, 姚 碧 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司