亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種智能卡掩膜應(yīng)用的擴(kuò)展方法及裝置與流程

文檔序號(hào):12124371閱讀:204來源:國(guó)知局
一種智能卡掩膜應(yīng)用的擴(kuò)展方法及裝置與流程

本發(fā)明涉及智能卡技術(shù)領(lǐng)域,尤其涉及一種智能卡掩膜應(yīng)用的擴(kuò)展方法及裝置。



背景技術(shù):

智能卡的應(yīng)用進(jìn)行掩膜后得到掩膜應(yīng)用,掩膜后應(yīng)用的代碼固化到ROM(read-only memory,只讀存儲(chǔ)器)中,代碼無(wú)法修改。如果后期要對(duì)掩膜應(yīng)用的功能進(jìn)行擴(kuò)展,必須在掩膜處理前,在應(yīng)用的代碼的某些位置加入擴(kuò)展功能代碼的調(diào)用入口,并且將具有下載擴(kuò)展功能代碼的功能模塊一并掩膜。后續(xù),如果需要擴(kuò)展掩膜應(yīng)用的功能,需要將擴(kuò)展功能代碼下載到智能卡的非易失性存儲(chǔ)空間中,掩膜應(yīng)用的代碼執(zhí)行到擴(kuò)展功能代碼的調(diào)用入口時(shí),獲取擴(kuò)展功能代碼的下載標(biāo)志,根據(jù)該標(biāo)識(shí)判斷擴(kuò)展功能代碼是否已下載,若是,則執(zhí)行擴(kuò)展功能代碼,達(dá)到對(duì)掩膜應(yīng)用的功能進(jìn)行擴(kuò)展的目的。

相關(guān)技術(shù),掩膜應(yīng)用對(duì)待處理指令的處理過程為:對(duì)待處理指令進(jìn)行預(yù)處理,得到預(yù)處理結(jié)果;然后再對(duì)預(yù)處理結(jié)果進(jìn)行指令處理,得到指令處理結(jié)果;最后對(duì)指令處理結(jié)果進(jìn)行后處理。故此,掩膜應(yīng)用的代碼主要包括三部分功能:預(yù)處理功能、指令處理功能和后處理功能。其中,對(duì)掩膜應(yīng)用的擴(kuò)展主要發(fā)生在對(duì)指令處理功能的擴(kuò)展。具體的,掩膜應(yīng)用的代碼的指令處理部分,包括多個(gè)函數(shù)接口。相關(guān)技術(shù)中,對(duì)掩膜應(yīng)用的擴(kuò)展主要是通過在函數(shù)接口添加擴(kuò)展功能入口實(shí)現(xiàn)的。

對(duì)每一個(gè)擴(kuò)展功能的入口都需要在非易失性存儲(chǔ)空間中分配用于存儲(chǔ)擴(kuò)展功能代碼已下載標(biāo)志、擴(kuò)展功能代碼的入口地址等數(shù)據(jù)的空間,因而具體實(shí)施時(shí),受限于智能卡的非易失性存儲(chǔ)空間的空間限制,擴(kuò)展功能代碼的調(diào)用入 口的數(shù)量便受到限制。故此,相關(guān)技術(shù)中一般只對(duì)掩膜應(yīng)用的擴(kuò)展可能性較高的函數(shù)接口添加擴(kuò)展功能代碼的調(diào)用入口,來達(dá)到對(duì)掩膜應(yīng)用的功能進(jìn)行擴(kuò)展的目的。由此可見,相關(guān)技術(shù)中,沒有添加擴(kuò)展功能代碼的調(diào)用入口的函數(shù)接口對(duì)應(yīng)的功能將無(wú)法得到擴(kuò)展。故此,相關(guān)技術(shù)中,對(duì)掩膜應(yīng)用的指令處理功能的擴(kuò)展受限制。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種智能卡掩膜應(yīng)用的擴(kuò)展方法及裝置,用以解決目前存在的由于只對(duì)掩膜應(yīng)用的擴(kuò)展可能性較高的函數(shù)接口添加擴(kuò)展功能入口,使得對(duì)掩膜應(yīng)用的指令處理功能的擴(kuò)展受限制的問題。

本發(fā)明實(shí)施例提供了一種智能卡掩膜應(yīng)用的擴(kuò)展方法,包括:

根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理;

根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷指令處理擴(kuò)展功能代碼是否已下載;其中,指令處理包括以下中處理的任一種或組合:讀讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名和驗(yàn)簽;

若是,則根據(jù)指令處理擴(kuò)展功能代碼對(duì)待處理指令進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理;并獲得指令處理結(jié)果;

對(duì)指令處理結(jié)果進(jìn)行后處理。

進(jìn)一步地,本發(fā)明實(shí)施例還提供了一種智能卡掩膜應(yīng)用的擴(kuò)展裝置,包括:

預(yù)處理模塊,用于根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理;

第一判斷模塊,用于根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷指令處理擴(kuò)展功能代碼是否已下載;其中,指令處理包括以下處理中的任一種或組合:讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名和驗(yàn)簽;

執(zhí)行模塊,用于若第一判斷模塊的判斷結(jié)果為是,則根據(jù)指令處理擴(kuò)展功 能代碼對(duì)待處理指令進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理;并獲得指令處理結(jié)果;

后處理模塊,用于對(duì)指令處理結(jié)果進(jìn)行后處理。

本發(fā)明有益效果如下:在本發(fā)明實(shí)施例所述技術(shù)方案中,由于在預(yù)處理后、且在指令處理前,判斷指令處理擴(kuò)展功能代碼是否已下載(即在預(yù)處理后、且指令處理前添加擴(kuò)展功能代碼的調(diào)用入口),若是,則根據(jù)所述指令處理擴(kuò)展功能代碼對(duì)預(yù)處理結(jié)果進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)預(yù)處理結(jié)果進(jìn)行指令處理。這樣,一旦確定指令處理擴(kuò)展功能代碼已下載,則根據(jù)指令處理擴(kuò)展功能代碼處理預(yù)處理結(jié)果,由于指令處理擴(kuò)展功能代碼可以任意的修改,所以,相對(duì)于相關(guān)技術(shù),本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)自由靈活地對(duì)指令擴(kuò)展功能進(jìn)行擴(kuò)展。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1所示為本發(fā)明實(shí)施例一中所述智能卡掩膜應(yīng)用擴(kuò)展方法的流程示意圖;

圖2所示為本發(fā)明實(shí)施例一中所述智能卡掩膜應(yīng)用擴(kuò)展方法的流程示意圖;

圖3所示為本發(fā)明實(shí)施例二中所述智能卡掩膜應(yīng)用擴(kuò)展方法的流程示意圖;

圖4所示為本發(fā)明實(shí)施例三中所述智能卡掩膜應(yīng)用擴(kuò)展裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為便于理解,首先對(duì)本發(fā)明實(shí)施例中的一些名詞進(jìn)行說明:

預(yù)處理:包括以下處理中的任一種或組合:初始化應(yīng)用程序、判斷待處理指令的報(bào)文語(yǔ)法是否合法、判斷底層軟件和應(yīng)用程序的狀態(tài)是否合法等。

指令處理:包括以下處理中的任一種或組合:讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名、驗(yàn)簽等。

后處理:包括以下處理中的任一種或組合:清除應(yīng)用程序的緩存數(shù)據(jù)、檢查應(yīng)用程序返回的數(shù)據(jù)、填充應(yīng)用程序返回的數(shù)據(jù)等。

指令處理擴(kuò)展功能代碼,表示用于實(shí)現(xiàn)對(duì)指令處理功能進(jìn)行擴(kuò)展的代碼。

掩膜指令處理功能代碼,表示固化到ROM中的用于實(shí)現(xiàn)指令處理功能的代碼。

預(yù)處理擴(kuò)展功能代碼,表示用于實(shí)現(xiàn)對(duì)預(yù)處理功能進(jìn)行擴(kuò)展的代碼。

掩膜預(yù)處理功能代碼,表示固化到ROM中的用于實(shí)現(xiàn)預(yù)處理功能的代碼。

后處理擴(kuò)展功能代碼,表示用于實(shí)現(xiàn)對(duì)后處理功能進(jìn)行擴(kuò)展的代碼。

掩膜后處理功能代碼,表示固化到ROM中的用于實(shí)現(xiàn)后處理功能的代碼。

本發(fā)明實(shí)施例提供了一種掩膜應(yīng)用的擴(kuò)展方法,該方法適用于對(duì)應(yīng)用進(jìn)行掩膜的智能卡。在本發(fā)明實(shí)施例所述技術(shù)方案中,由于在預(yù)處理后、且在指令處理前,判斷指令處理擴(kuò)展功能代碼是否已下載(即在預(yù)處理后、且指令處理前添加擴(kuò)展功能代碼的調(diào)用入口),若是,則根據(jù)所述指令處理擴(kuò)展功能代碼對(duì)預(yù)處理結(jié)果進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)預(yù)處理結(jié)果進(jìn)行指令處理。這樣,一旦確定指令處理擴(kuò)展功能代碼已下載,則根據(jù)指令處理擴(kuò)展功能代碼處理預(yù)處理結(jié)果,由于指令處理擴(kuò)展功能代碼可以任意的修改,所以,相對(duì)于相關(guān)技術(shù),本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)自由靈活地對(duì)指令擴(kuò)展功能進(jìn)行擴(kuò)展。

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例, 而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一:

如圖1所示,其為本發(fā)明實(shí)施例一中所述智能卡掩膜應(yīng)用的擴(kuò)展方法的流程示意圖,該方法可包括以下步驟:

步驟101:根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理。

步驟102:根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷指令處理擴(kuò)展功能代碼是否已下載;其中,指令處理包括以下處理中的任一種或組合:讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名和驗(yàn)簽。

步驟103:若是,則根據(jù)指令處理擴(kuò)展功能代碼對(duì)待處理指令進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理;并獲得指令處理結(jié)果。

步驟104:對(duì)指令處理結(jié)果進(jìn)行后處理。

其中,在一個(gè)實(shí)施例中,指令處理擴(kuò)展功能代碼可以包括掩膜指令處理功能代碼以及擴(kuò)展功能代碼,這樣,掩膜指令處理功能代碼將不再使用,而是由指令處理擴(kuò)展功能代碼完全替代掩膜指令處理功能代碼進(jìn)行指令處理。

當(dāng)然,為了實(shí)現(xiàn)代碼復(fù)用,減少指令處理擴(kuò)展功能代碼的數(shù)據(jù)量,指令處理擴(kuò)展功能代碼可以只包括擴(kuò)展功能的代碼,這樣,指令處理擴(kuò)展功能代碼實(shí)現(xiàn)擴(kuò)展功能,而掩膜指令處理功能代碼實(shí)現(xiàn)原有功能,具體實(shí)施時(shí),可以包括以下兩方面:

一)、其中,在一個(gè)實(shí)施例中,所述待處理指令中包括指令標(biāo)識(shí);為便于對(duì)指令處理功能進(jìn)行擴(kuò)展,本發(fā)明實(shí)施例中,執(zhí)行步驟102的同時(shí)或之前,還可以將待處理指令中的指令標(biāo)識(shí)進(jìn)行備份,獲得備份指令標(biāo)識(shí)。獲得備份標(biāo)識(shí)后,步驟103中所述根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理,可包括以下步驟:

步驟A1:判斷待處理指令中的指令標(biāo)識(shí)是否屬于預(yù)置已知指令標(biāo)識(shí);

步驟A2:若是,則根據(jù)掩膜指令處理功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的函數(shù)對(duì)待處理指令進(jìn)行指令處理。

步驟A3:若否,則判斷待處理指令中的指令標(biāo)識(shí)與備份指令標(biāo)識(shí)是否相同。

步驟A4:若相同,則根據(jù)掩膜指令處理功能代碼中的默認(rèn)處理函數(shù)對(duì)待處理指令進(jìn)行指令處理;

步驟A5:若不相同,則將待處理指令作為指令處理結(jié)果,并執(zhí)行步驟104。

二)、其中,在一個(gè)實(shí)施例中,為便于對(duì)指令處理功能進(jìn)行擴(kuò)展,并實(shí)現(xiàn)指令處理擴(kuò)展功能代碼和掩膜指令處理功能代碼的代碼復(fù)用,以減少指令處理擴(kuò)展功能代碼的數(shù)據(jù)量,所述指令處理擴(kuò)展功能代碼中包括:調(diào)用掩膜指令處理功能代碼的調(diào)用入口;此時(shí),步驟103中所述根據(jù)指令處理擴(kuò)展功能代碼對(duì)待處理指令進(jìn)行指令處理,可包括以下步驟:

步驟B1:判斷待處理指令中的指令標(biāo)識(shí)是否為預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)。

步驟B2:若否,則通過所述調(diào)用入口調(diào)用掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理。

步驟B2即,通過調(diào)用入口調(diào)用掩膜指令處理功能代碼執(zhí)行步驟103中的根據(jù)掩膜指令處理功能代碼,以對(duì)待處理指令進(jìn)行指令處理的操作。

步驟B3:若是,則執(zhí)行以下步驟:

根據(jù)指令處理擴(kuò)展功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的擴(kuò)展處理函數(shù)對(duì)待處理指令進(jìn)行指令處理,并將處理結(jié)果中的指令標(biāo)識(shí)修改為除預(yù)置已知指令標(biāo)識(shí)以及預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)之外的指令標(biāo)識(shí)后,將處理結(jié)果視為新的待處理指令;并,

通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,以對(duì)新的待處理指令進(jìn)行指令處理(即通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,以執(zhí)行步驟103中的根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理的操作)。

其中,在一個(gè)實(shí)施例中,待處理指令是APDU(Application Protocol Data Unit,應(yīng)用協(xié)議數(shù)據(jù)單元)指令,指令標(biāo)識(shí)為APDU指令中的INS標(biāo)識(shí)。

其中,在一個(gè)實(shí)施例中,在掩膜應(yīng)用中,不同類型的待處理指令要實(shí)現(xiàn)不同的功能,故此,不同類型的待處理指令在進(jìn)行指令處理時(shí)使用的處理函數(shù)不同。所以,對(duì)掩膜應(yīng)用的擴(kuò)展一般包括兩方面的內(nèi)容:一是對(duì)掩膜應(yīng)用中的處理函數(shù)的更新;二是新增處理函數(shù)。下面通過具體的應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例中掩膜應(yīng)用的擴(kuò)展方法進(jìn)行說明:

首先,包括上述步驟A1-步驟A5,以及上述步驟B1-步驟B3掩膜應(yīng)用擴(kuò)展方法的處理流程示意圖如圖2所示,在圖2中為便于理解和節(jié)約篇幅缺省了部分文字,只摘取了關(guān)鍵文字進(jìn)行說明。具體的,包括以下步驟:

步驟201:根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理。

步驟202:將待處理指令中的指令標(biāo)識(shí)進(jìn)行備份,獲得備份指令標(biāo)識(shí)。

步驟203:根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷指令處理擴(kuò)展功能代碼是否已下載,若是,執(zhí)行步驟204,若否,執(zhí)行步驟207。

步驟204:判斷待處理指令中的指令標(biāo)識(shí)是否為預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí);若是,則執(zhí)行步驟205,若否則通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,并執(zhí)行步驟207。

步驟205:根據(jù)指令處理擴(kuò)展功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的擴(kuò)展處理函數(shù)對(duì)待處理指令進(jìn)行指令處理,并將處理結(jié)果中的指令標(biāo)識(shí)修改為除預(yù)置已知指令標(biāo)識(shí)以及預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)之外的指令標(biāo)識(shí)后,將處理結(jié)果視為新的待處理指令。

步驟206:通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,以對(duì)新的待處理指令進(jìn)行指令處理,之后執(zhí)行步驟207。

步驟207:判斷待處理指令中的指令標(biāo)識(shí)是否屬于預(yù)置已知指令標(biāo)識(shí);若是,則執(zhí)行步驟208;若否,則執(zhí)行步驟209。

步驟208:根據(jù)掩膜指令處理功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的函數(shù)對(duì)待處理指令進(jìn)行指令處理。

步驟209:判斷待處理指令中的指令標(biāo)識(shí)與備份指令標(biāo)識(shí)是否相同;若是,則執(zhí)行步驟210;若否,則將預(yù)處理結(jié)果作為指令處理結(jié)果,并執(zhí)行步驟211.

步驟210:根據(jù)掩膜指令處理功能代碼中的默認(rèn)處理函數(shù)對(duì)待處理指令進(jìn)行指令處理。

步驟211:對(duì)指令處理結(jié)果進(jìn)行后處理。

應(yīng)用場(chǎng)景一:對(duì)掩膜應(yīng)用中的處理函數(shù)的更新

假設(shè)針對(duì)指令1的預(yù)處理結(jié)果進(jìn)行指令處理的是處理函數(shù)1,首次下載的指令處理擴(kuò)展功能代碼包括對(duì)處理函數(shù)1進(jìn)行更新后的擴(kuò)展處理函數(shù)A1。那么,在判斷指令處理擴(kuò)展功能代碼是否已下載的判斷結(jié)果為否(即未更新處理函數(shù)1之前)時(shí),根據(jù)處理函數(shù)1對(duì)指令1進(jìn)行指令處理。而,在判斷結(jié)果為是(即更新處理函數(shù)1之后)時(shí),則根據(jù)擴(kuò)展處理函數(shù)A1對(duì)指令1進(jìn)行指令處理,將處理結(jié)果作為新的指令,并該處理結(jié)果中的指令標(biāo)識(shí)1修改為m(其中,m即不屬于預(yù)置已知指令標(biāo)識(shí),也不屬于預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí))。然后執(zhí)行步驟207以判斷新的指令中的指令標(biāo)識(shí)是否為預(yù)置已知指令標(biāo)識(shí)。由于m不屬于預(yù)置已知指令標(biāo)識(shí),故此步驟207的判斷結(jié)果為否,進(jìn)而執(zhí)行步驟209以判斷指令標(biāo)識(shí)是否與備份指令標(biāo)識(shí)是否相同,由于之前備份的指令標(biāo)識(shí)為1,而修改后的指令標(biāo)識(shí)為m,由于m不等于1,所以步驟209的判斷結(jié)果為否,進(jìn)而執(zhí)行步驟211以進(jìn)行后處理。

由此可見,對(duì)處理函數(shù)更新后,原處理函數(shù)將不再使用,而是使用更新后的處理函數(shù)(即擴(kuò)展處理函數(shù))進(jìn)行指令處理。并且,在得到指令處理結(jié)果后,能夠進(jìn)入后處理的環(huán)節(jié)。

應(yīng)用場(chǎng)景二

假設(shè)新增指令A(yù)2為擴(kuò)展指令,下載的指令處理擴(kuò)展功能代碼包括對(duì)新增的指令A(yù)2進(jìn)行指令處理的擴(kuò)展處理函數(shù)2。那么在接收到指令A(yù)2之后,步驟203的判斷結(jié)果為是,然后執(zhí)行步驟204的判斷結(jié)果為是,這時(shí)候根據(jù)指令A(yù)2的擴(kuò)展處理函數(shù)2進(jìn)行指令處理。之后,執(zhí)行步驟205后將指令A(yù)2的指令標(biāo) 識(shí)修改為指令標(biāo)識(shí)Z(其中,Z即不屬于預(yù)置已知指令標(biāo)識(shí),也不屬于預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)),得到新的指令。然后,執(zhí)行步驟207,由于Z不屬于預(yù)置已知指令標(biāo)識(shí),則步驟207的判斷結(jié)果為否,然后,執(zhí)行步驟209,由于之前備份的指令標(biāo)識(shí)為A2,而修改后的指令標(biāo)識(shí)為Z,由于Z不等于2,所述步驟209的判斷結(jié)果為否,所以將新的指令作為指令處理結(jié)果,然后執(zhí)行步驟211對(duì)指令處理結(jié)果進(jìn)行后處理。

應(yīng)用場(chǎng)景三

以下載指令處理擴(kuò)展功能代碼完成后,指令3的指令標(biāo)識(shí)為預(yù)置已知指令標(biāo)識(shí),未對(duì)指令3的處理函數(shù)3進(jìn)行更新的應(yīng)用場(chǎng)景的處理流程進(jìn)行說明:接收到指令3并進(jìn)行預(yù)處理后,執(zhí)行到步驟204時(shí),由于指令3的指令標(biāo)識(shí)并不是預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí),故此,步驟204的判斷結(jié)果為否。由此,進(jìn)入步驟207,由于指令3的指令標(biāo)識(shí)是預(yù)置已知指令標(biāo)識(shí),故此,步驟207的判斷結(jié)果為是,故此,將執(zhí)行步驟208根據(jù)處理函數(shù)對(duì)指令3進(jìn)行指令處理,然后執(zhí)行步驟211。

應(yīng)用場(chǎng)景四

以下載指令處理擴(kuò)展功能代碼完成后,指令4的指令標(biāo)識(shí)為既不屬于預(yù)置已知指令標(biāo)識(shí)也屬于預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)為例,對(duì)指令4的處理流程進(jìn)行說明:接收到指令4并進(jìn)行預(yù)處理后,備份指令標(biāo)識(shí)為4,在執(zhí)行步驟204時(shí)確定指令4的指令標(biāo)識(shí)并不是預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí),故此,步驟204的判斷結(jié)果為否,進(jìn)入步驟207。由于指令4的預(yù)處理結(jié)果中的指令標(biāo)識(shí)不是預(yù)置已知指令標(biāo)識(shí),故此,步驟207的判斷結(jié)果為否,進(jìn)入步驟209,由于指令標(biāo)識(shí)在處理過程中未發(fā)生變化,所以步驟209的判斷結(jié)果為是,則進(jìn)入步驟210根據(jù)默認(rèn)處理函數(shù)對(duì)指令4進(jìn)行指令處理,然后執(zhí)行步驟211對(duì)指令處理結(jié)果進(jìn)行后處理。

其中,在一個(gè)實(shí)施例中,為便于自由靈活的對(duì)預(yù)處理功能進(jìn)行擴(kuò)展,步驟101(即根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理)之前,還可以根據(jù)進(jìn)行預(yù)處理的預(yù)處理擴(kuò)展功能代碼的下載標(biāo)志,判斷預(yù)處理擴(kuò)展功能代碼是否已下載(即在預(yù)處理之前設(shè)立一個(gè)擴(kuò)展功能代碼的調(diào)用入口);此時(shí),步驟101可具 體執(zhí)行為若預(yù)處理擴(kuò)展功能代碼已下載,則根據(jù)接收到的待處理指令以及所述預(yù)處理擴(kuò)展功能代碼預(yù)處理進(jìn)行預(yù)處理,若預(yù)處理擴(kuò)展功能代碼未下載,則根據(jù)接收到的待處理指令以及掩膜預(yù)處理功能代碼進(jìn)行預(yù)處理。

其中,在一個(gè)實(shí)施例中,為便于自由靈活的對(duì)后處理功能進(jìn)行擴(kuò)展,步驟104(即對(duì)指令處理結(jié)果進(jìn)行后處理)之前,還可以根據(jù)進(jìn)行后處理的后處理擴(kuò)展功能代碼的下載標(biāo)志,判斷后處理擴(kuò)展功能代碼是否已下載(即在后處理之前設(shè)立一個(gè)擴(kuò)展功能代碼的調(diào)用入口);此時(shí),步驟104可具體執(zhí)行為若后處理擴(kuò)展功能代碼已下載,則根據(jù)后處理擴(kuò)展功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理;若后處理擴(kuò)展功能代碼未下載,則根據(jù)掩膜后處理功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理。

由此可見,本發(fā)明實(shí)施例中,通過分別在預(yù)處理、指令處理和后處理之前分別設(shè)立一個(gè)擴(kuò)展功能代碼的調(diào)用入口,可以實(shí)現(xiàn)對(duì)掩膜應(yīng)用的無(wú)限制的擴(kuò)展。

實(shí)施例二

為便于理解,對(duì)本發(fā)明實(shí)施例二中的智能卡掩膜應(yīng)用的擴(kuò)展方法進(jìn)行說明,如圖3所示為該方法的流程示意圖,在圖3中為便于圖示處理流程,部分判斷步驟缺省了部分文字,只摘取了關(guān)鍵文字進(jìn)行說明。具體的,該方法,包括以下步驟:

步驟301:接收待處理指令,待處理指令中包括指令標(biāo)識(shí)。

步驟302:根據(jù)進(jìn)行預(yù)處理的預(yù)處理擴(kuò)展功能代碼的下載標(biāo)志,判斷預(yù)處理擴(kuò)展功能代碼是否已下載,若是,執(zhí)行步驟303,若否執(zhí)行步驟304。

步驟303:根據(jù)接收到的待處理指令以及所述預(yù)處理擴(kuò)展功能代碼預(yù)處理進(jìn)行預(yù)處理。

步驟304:根據(jù)接收到的待處理指令以及掩膜預(yù)處理功能代碼進(jìn)行預(yù)處理。

步驟305:將待處理指令中的指令標(biāo)識(shí)進(jìn)行備份,獲得備份指令標(biāo)識(shí)。

步驟306:根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷 指令處理擴(kuò)展功能代碼是否已下載,其中,指令處理包括以下處理中的任一種或組合:讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名和驗(yàn)簽;若是,執(zhí)行步驟307,若否,執(zhí)行步驟310。

步驟307:判斷待處理指令中的指令標(biāo)識(shí)是否為預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí);若是,則執(zhí)行步驟308,若否則通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,并執(zhí)行步驟310。

步驟308:根據(jù)指令處理擴(kuò)展功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的擴(kuò)展處理函數(shù)對(duì)待處理指令進(jìn)行指令處理,并將處理結(jié)果中的指令標(biāo)識(shí)修改為除預(yù)置已知指令標(biāo)識(shí)以及預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)之外的指令標(biāo)識(shí)后,將處理結(jié)果視為新的待處理指令。

步驟309:通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,以對(duì)新的待處理指令進(jìn)行指令處理,之后執(zhí)行步驟310。

步驟310:判斷待處理指令中的指令標(biāo)識(shí)是否屬于預(yù)置已知指令標(biāo)識(shí);若是,則執(zhí)行步驟311;若否,則執(zhí)行步驟312。

步驟311:根據(jù)掩膜指令處理功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的函數(shù)對(duì)待處理指令進(jìn)行指令處理。

步驟312:判斷待處理指令中的指令標(biāo)識(shí)與備份指令標(biāo)識(shí)是否相同;若是,則執(zhí)行步驟313;若否,則將預(yù)處理結(jié)果作為指令處理結(jié)果,并執(zhí)行步驟314.

步驟313:根據(jù)掩膜指令處理功能代碼中的默認(rèn)處理函數(shù)對(duì)待處理指令進(jìn)行指令處理。

步驟314:根據(jù)進(jìn)行后處理的后處理擴(kuò)展功能代碼的下載標(biāo)志,判斷后處理擴(kuò)展功能代碼是否已下載,若是,執(zhí)行步驟315,若否,執(zhí)行步驟316。

步驟315:根據(jù)后處理擴(kuò)展功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理。

步驟316:根據(jù)掩膜后處理功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理。

實(shí)施例三

基于相同的發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種智能卡掩膜應(yīng)用的擴(kuò)展裝 置,如圖4所示,該裝置包括:

預(yù)處理模塊401,用于根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理;

第一判斷模塊402,用于根據(jù)進(jìn)行指令處理的指令處理擴(kuò)展功能代碼的下載標(biāo)志,判斷指令處理擴(kuò)展功能代碼是否已下載;其中,指令處理包括以下處理中的任一種或組合:讀數(shù)據(jù)、寫數(shù)據(jù)、對(duì)比校驗(yàn)、加密、解密、簽名和驗(yàn)簽;

執(zhí)行模塊403,用于若第一判斷模塊的判斷結(jié)果為是,則根據(jù)指令處理擴(kuò)展功能代碼對(duì)待處理指令進(jìn)行指令處理,若否,則根據(jù)掩膜指令處理功能代碼對(duì)待處理指令進(jìn)行指令處理;并獲得指令處理結(jié)果;

后處理模塊404,用于對(duì)指令處理結(jié)果進(jìn)行后處理。

其中,在一個(gè)實(shí)施例中,所述裝置還包括:

備份模塊,用于若所述待處理指令中包括指令標(biāo)識(shí);所述第一判斷模塊根據(jù)表示進(jìn)行指令處理的指令處理擴(kuò)展功能代碼是否已下載的第一標(biāo)志;判斷指令處理擴(kuò)展功能代碼是否已下載的同時(shí)或之前,將待處理指令中的指令標(biāo)識(shí)進(jìn)行備份,獲得備份指令標(biāo)識(shí);

所述執(zhí)行模塊,具體包括:

第一判斷單元,用于判斷待處理指令中的指令標(biāo)識(shí)是否屬于預(yù)置已知指令標(biāo)識(shí);

第一處理單元,用于若第一判斷單元的判斷結(jié)果為是,則根據(jù)掩膜指令處理功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的函數(shù)對(duì)待處理指令進(jìn)行指令處理;

第二判斷單元,用于若第一判斷單元的判斷結(jié)果為否,則判斷待處理指令中的指令標(biāo)識(shí)與備份指令標(biāo)識(shí)是否相同;

第二處理單元,用于若第二判斷單元的判斷結(jié)果為相同,則根據(jù)掩膜指令處理功能代碼中的默認(rèn)處理函數(shù)對(duì)待處理指令進(jìn)行指令處理;

第三處理單元,用于若第二判斷單元的判斷結(jié)果為不相同,則將預(yù)處理結(jié)果作為指令處理結(jié)果,并觸發(fā)后處理單元執(zhí)行所述對(duì)指令處理結(jié)果進(jìn)行后處理 的步驟。

其中,在一個(gè)實(shí)施例中,所述執(zhí)行模塊403,具體包括:

第三判斷單元,用于若所述指令處理擴(kuò)展功能代碼中包括:調(diào)用掩膜指令處理功能代碼的調(diào)用入口;判斷待處理指令中的指令標(biāo)識(shí)是否為預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí);

第四處理單元,用于若第三判斷單元的判斷結(jié)果為否,則通過所述調(diào)用入口調(diào)用掩膜指令處理功能代碼,以對(duì)待處理指令進(jìn)行指令處理;

第五處理單元,用于若第三判斷單元的判斷結(jié)果為是,則執(zhí)行以下步驟:

根據(jù)指令處理擴(kuò)展功能代碼中的、與待處理指令中的指令標(biāo)識(shí)對(duì)應(yīng)的擴(kuò)展處理函數(shù)對(duì)待處理指令進(jìn)行指令處理,并將處理結(jié)果中的指令標(biāo)識(shí)修改為除預(yù)置已知指令標(biāo)識(shí)以及預(yù)設(shè)擴(kuò)展指令標(biāo)識(shí)之外的指令標(biāo)識(shí)后,將處理結(jié)果視為新的待處理指令;并,

通過調(diào)用入口調(diào)用掩膜指令處理功能代碼,以對(duì)新的待處理指令進(jìn)行指令處理。

其中,在一個(gè)實(shí)施例中,所述裝置還包括:

第二判斷模塊,用于所述預(yù)處理模塊根據(jù)接收到的待處理指令,進(jìn)行預(yù)處理之前,根據(jù)進(jìn)行預(yù)處理的預(yù)處理擴(kuò)展功能代碼的下載標(biāo)志,判斷預(yù)處理擴(kuò)展功能代碼是否已下載;

所述預(yù)處理模塊,具體用于:

若預(yù)處理擴(kuò)展功能代碼已下載,則根據(jù)接收到的待處理指令以及所述預(yù)處理擴(kuò)展功能代碼預(yù)處理進(jìn)行預(yù)處理,若預(yù)處理擴(kuò)展功能代碼未下載,則根據(jù)接收到的待處理指令以及掩膜預(yù)處理功能代碼進(jìn)行預(yù)處理。

其中,在一個(gè)實(shí)施例中,所述裝置還包括:

第三判斷模塊,用于所述后處理模塊對(duì)指令處理結(jié)果進(jìn)行后處理之前,根據(jù)進(jìn)行后處理的后處理擴(kuò)展功能代碼的下載標(biāo)志,判斷后處理擴(kuò)展功能代碼是否已下載;

所述后處理模塊,具體用于:

若后處理擴(kuò)展功能代碼已下載,則根據(jù)后處理擴(kuò)展功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理;若后處理擴(kuò)展功能代碼未下載,則根據(jù)掩膜后處理功能代碼對(duì)指令處理結(jié)果進(jìn)行后處理。

關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(裝置)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1