CN106529650A - 一种智能卡掩膜应用的扩展方法及装置 - Google Patents
一种智能卡掩膜应用的扩展方法及装置 Download PDFInfo
- Publication number
- CN106529650A CN106529650A CN201510575310.0A CN201510575310A CN106529650A CN 106529650 A CN106529650 A CN 106529650A CN 201510575310 A CN201510575310 A CN 201510575310A CN 106529650 A CN106529650 A CN 106529650A
- Authority
- CN
- China
- Prior art keywords
- instruction
- function code
- processing
- pending
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种智能卡掩膜应用的扩展方法及装置,所述方法包括根据接收到的待处理指令,进行预处理;根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;若是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;对指令处理结果进行后处理。根据本发明提供的方法能够自由灵活的扩展应用的功能。
Description
技术领域
本发明涉及智能卡技术领域,尤其涉及一种智能卡掩膜应用的扩展方法及装置。
背景技术
智能卡的应用进行掩膜后得到掩膜应用,掩膜后应用的代码固化到ROM(read-only memory,只读存储器)中,代码无法修改。如果后期要对掩膜应用的功能进行扩展,必须在掩膜处理前,在应用的代码的某些位置加入扩展功能代码的调用入口,并且将具有下载扩展功能代码的功能模块一并掩膜。后续,如果需要扩展掩膜应用的功能,需要将扩展功能代码下载到智能卡的非易失性存储空间中,掩膜应用的代码执行到扩展功能代码的调用入口时,获取扩展功能代码的下载标志,根据该标识判断扩展功能代码是否已下载,若是,则执行扩展功能代码,达到对掩膜应用的功能进行扩展的目的。
相关技术,掩膜应用对待处理指令的处理过程为:对待处理指令进行预处理,得到预处理结果;然后再对预处理结果进行指令处理,得到指令处理结果;最后对指令处理结果进行后处理。故此,掩膜应用的代码主要包括三部分功能:预处理功能、指令处理功能和后处理功能。其中,对掩膜应用的扩展主要发生在对指令处理功能的扩展。具体的,掩膜应用的代码的指令处理部分,包括多个函数接口。相关技术中,对掩膜应用的扩展主要是通过在函数接口添加扩展功能入口实现的。
对每一个扩展功能的入口都需要在非易失性存储空间中分配用于存储扩展功能代码已下载标志、扩展功能代码的入口地址等数据的空间,因而具体实施时,受限于智能卡的非易失性存储空间的空间限制,扩展功能代码的调用入口的数量便受到限制。故此,相关技术中一般只对掩膜应用的扩展可能性较高的函数接口添加扩展功能代码的调用入口,来达到对掩膜应用的功能进行扩展的目的。由此可见,相关技术中,没有添加扩展功能代码的调用入口的函数接口对应的功能将无法得到扩展。故此,相关技术中,对掩膜应用的指令处理功能的扩展受限制。
发明内容
本发明实施例提供了一种智能卡掩膜应用的扩展方法及装置,用以解决目前存在的由于只对掩膜应用的扩展可能性较高的函数接口添加扩展功能入口,使得对掩膜应用的指令处理功能的扩展受限制的问题。
本发明实施例提供了一种智能卡掩膜应用的扩展方法,包括:
根据接收到的待处理指令,进行预处理;
根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下中处理的任一种或组合:读读数据、写数据、对比校验、加密、解密、签名和验签;
若是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;
对指令处理结果进行后处理。
进一步地,本发明实施例还提供了一种智能卡掩膜应用的扩展装置,包括:
预处理模块,用于根据接收到的待处理指令,进行预处理;
第一判断模块,用于根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;
执行模块,用于若第一判断模块的判断结果为是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;
后处理模块,用于对指令处理结果进行后处理。
本发明有益效果如下:在本发明实施例所述技术方案中,由于在预处理后、且在指令处理前,判断指令处理扩展功能代码是否已下载(即在预处理后、且指令处理前添加扩展功能代码的调用入口),若是,则根据所述指令处理扩展功能代码对预处理结果进行指令处理,若否,则根据掩膜指令处理功能代码对预处理结果进行指令处理。这样,一旦确定指令处理扩展功能代码已下载,则根据指令处理扩展功能代码处理预处理结果,由于指令处理扩展功能代码可以任意的修改,所以,相对于相关技术,本发明实施例能够实现自由灵活地对指令扩展功能进行扩展。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述智能卡掩膜应用扩展方法的流程示意图;
图2所示为本发明实施例一中所述智能卡掩膜应用扩展方法的流程示意图;
图3所示为本发明实施例二中所述智能卡掩膜应用扩展方法的流程示意图;
图4所示为本发明实施例三中所述智能卡掩膜应用扩展装置的结构示意图。
具体实施方式
为便于理解,首先对本发明实施例中的一些名词进行说明:
预处理:包括以下处理中的任一种或组合:初始化应用程序、判断待处理指令的报文语法是否合法、判断底层软件和应用程序的状态是否合法等。
指令处理:包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名、验签等。
后处理:包括以下处理中的任一种或组合:清除应用程序的缓存数据、检查应用程序返回的数据、填充应用程序返回的数据等。
指令处理扩展功能代码,表示用于实现对指令处理功能进行扩展的代码。
掩膜指令处理功能代码,表示固化到ROM中的用于实现指令处理功能的代码。
预处理扩展功能代码,表示用于实现对预处理功能进行扩展的代码。
掩膜预处理功能代码,表示固化到ROM中的用于实现预处理功能的代码。
后处理扩展功能代码,表示用于实现对后处理功能进行扩展的代码。
掩膜后处理功能代码,表示固化到ROM中的用于实现后处理功能的代码。
本发明实施例提供了一种掩膜应用的扩展方法,该方法适用于对应用进行掩膜的智能卡。在本发明实施例所述技术方案中,由于在预处理后、且在指令处理前,判断指令处理扩展功能代码是否已下载(即在预处理后、且指令处理前添加扩展功能代码的调用入口),若是,则根据所述指令处理扩展功能代码对预处理结果进行指令处理,若否,则根据掩膜指令处理功能代码对预处理结果进行指令处理。这样,一旦确定指令处理扩展功能代码已下载,则根据指令处理扩展功能代码处理预处理结果,由于指令处理扩展功能代码可以任意的修改,所以,相对于相关技术,本发明实施例能够实现自由灵活地对指令扩展功能进行扩展。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,其为本发明实施例一中所述智能卡掩膜应用的扩展方法的流程示意图,该方法可包括以下步骤:
步骤101:根据接收到的待处理指令,进行预处理。
步骤102:根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签。
步骤103:若是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果。
步骤104:对指令处理结果进行后处理。
其中,在一个实施例中,指令处理扩展功能代码可以包括掩膜指令处理功能代码以及扩展功能代码,这样,掩膜指令处理功能代码将不再使用,而是由指令处理扩展功能代码完全替代掩膜指令处理功能代码进行指令处理。
当然,为了实现代码复用,减少指令处理扩展功能代码的数据量,指令处理扩展功能代码可以只包括扩展功能的代码,这样,指令处理扩展功能代码实现扩展功能,而掩膜指令处理功能代码实现原有功能,具体实施时,可以包括以下两方面:
一)、其中,在一个实施例中,所述待处理指令中包括指令标识;为便于对指令处理功能进行扩展,本发明实施例中,执行步骤102的同时或之前,还可以将待处理指令中的指令标识进行备份,获得备份指令标识。获得备份标识后,步骤103中所述根据掩膜指令处理功能代码对待处理指令进行指令处理,可包括以下步骤:
步骤A1:判断待处理指令中的指令标识是否属于预置已知指令标识;
步骤A2:若是,则根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理。
步骤A3:若否,则判断待处理指令中的指令标识与备份指令标识是否相同。
步骤A4:若相同,则根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理;
步骤A5:若不相同,则将待处理指令作为指令处理结果,并执行步骤104。
二)、其中,在一个实施例中,为便于对指令处理功能进行扩展,并实现指令处理扩展功能代码和掩膜指令处理功能代码的代码复用,以减少指令处理扩展功能代码的数据量,所述指令处理扩展功能代码中包括:调用掩膜指令处理功能代码的调用入口;此时,步骤103中所述根据指令处理扩展功能代码对待处理指令进行指令处理,可包括以下步骤:
步骤B1:判断待处理指令中的指令标识是否为预设扩展指令标识。
步骤B2:若否,则通过所述调用入口调用掩膜指令处理功能代码对待处理指令进行指令处理。
步骤B2即,通过调用入口调用掩膜指令处理功能代码执行步骤103中的根据掩膜指令处理功能代码,以对待处理指令进行指令处理的操作。
步骤B3:若是,则执行以下步骤:
根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令;并,
通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理(即通过调用入口调用掩膜指令处理功能代码,以执行步骤103中的根据掩膜指令处理功能代码对待处理指令进行指令处理的操作)。
其中,在一个实施例中,待处理指令是APDU(Application Protocol DataUnit,应用协议数据单元)指令,指令标识为APDU指令中的INS标识。
其中,在一个实施例中,在掩膜应用中,不同类型的待处理指令要实现不同的功能,故此,不同类型的待处理指令在进行指令处理时使用的处理函数不同。所以,对掩膜应用的扩展一般包括两方面的内容:一是对掩膜应用中的处理函数的更新;二是新增处理函数。下面通过具体的应用场景对本发明实施例中掩膜应用的扩展方法进行说明:
首先,包括上述步骤A1-步骤A5,以及上述步骤B1-步骤B3掩膜应用扩展方法的处理流程示意图如图2所示,在图2中为便于理解和节约篇幅缺省了部分文字,只摘取了关键文字进行说明。具体的,包括以下步骤:
步骤201:根据接收到的待处理指令,进行预处理。
步骤202:将待处理指令中的指令标识进行备份,获得备份指令标识。
步骤203:根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载,若是,执行步骤204,若否,执行步骤207。
步骤204:判断待处理指令中的指令标识是否为预设扩展指令标识;若是,则执行步骤205,若否则通过调用入口调用掩膜指令处理功能代码,并执行步骤207。
步骤205:根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令。
步骤206:通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理,之后执行步骤207。
步骤207:判断待处理指令中的指令标识是否属于预置已知指令标识;若是,则执行步骤208;若否,则执行步骤209。
步骤208:根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理。
步骤209:判断待处理指令中的指令标识与备份指令标识是否相同;若是,则执行步骤210;若否,则将预处理结果作为指令处理结果,并执行步骤211.
步骤210:根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理。
步骤211:对指令处理结果进行后处理。
应用场景一:对掩膜应用中的处理函数的更新
假设针对指令1的预处理结果进行指令处理的是处理函数1,首次下载的指令处理扩展功能代码包括对处理函数1进行更新后的扩展处理函数A1。那么,在判断指令处理扩展功能代码是否已下载的判断结果为否(即未更新处理函数1之前)时,根据处理函数1对指令1进行指令处理。而,在判断结果为是(即更新处理函数1之后)时,则根据扩展处理函数A1对指令1进行指令处理,将处理结果作为新的指令,并该处理结果中的指令标识1修改为m(其中,m即不属于预置已知指令标识,也不属于预设扩展指令标识)。然后执行步骤207以判断新的指令中的指令标识是否为预置已知指令标识。由于m不属于预置已知指令标识,故此步骤207的判断结果为否,进而执行步骤209以判断指令标识是否与备份指令标识是否相同,由于之前备份的指令标识为1,而修改后的指令标识为m,由于m不等于1,所以步骤209的判断结果为否,进而执行步骤211以进行后处理。
由此可见,对处理函数更新后,原处理函数将不再使用,而是使用更新后的处理函数(即扩展处理函数)进行指令处理。并且,在得到指令处理结果后,能够进入后处理的环节。
应用场景二
假设新增指令A2为扩展指令,下载的指令处理扩展功能代码包括对新增的指令A2进行指令处理的扩展处理函数2。那么在接收到指令A2之后,步骤203的判断结果为是,然后执行步骤204的判断结果为是,这时候根据指令A2的扩展处理函数2进行指令处理。之后,执行步骤205后将指令A2的指令标识修改为指令标识Z(其中,Z即不属于预置已知指令标识,也不属于预设扩展指令标识),得到新的指令。然后,执行步骤207,由于Z不属于预置已知指令标识,则步骤207的判断结果为否,然后,执行步骤209,由于之前备份的指令标识为A2,而修改后的指令标识为Z,由于Z不等于2,所述步骤209的判断结果为否,所以将新的指令作为指令处理结果,然后执行步骤211对指令处理结果进行后处理。
应用场景三
以下载指令处理扩展功能代码完成后,指令3的指令标识为预置已知指令标识,未对指令3的处理函数3进行更新的应用场景的处理流程进行说明:接收到指令3并进行预处理后,执行到步骤204时,由于指令3的指令标识并不是预设扩展指令标识,故此,步骤204的判断结果为否。由此,进入步骤207,由于指令3的指令标识是预置已知指令标识,故此,步骤207的判断结果为是,故此,将执行步骤208根据处理函数对指令3进行指令处理,然后执行步骤211。
应用场景四
以下载指令处理扩展功能代码完成后,指令4的指令标识为既不属于预置已知指令标识也属于预设扩展指令标识为例,对指令4的处理流程进行说明:接收到指令4并进行预处理后,备份指令标识为4,在执行步骤204时确定指令4的指令标识并不是预设扩展指令标识,故此,步骤204的判断结果为否,进入步骤207。由于指令4的预处理结果中的指令标识不是预置已知指令标识,故此,步骤207的判断结果为否,进入步骤209,由于指令标识在处理过程中未发生变化,所以步骤209的判断结果为是,则进入步骤210根据默认处理函数对指令4进行指令处理,然后执行步骤211对指令处理结果进行后处理。
其中,在一个实施例中,为便于自由灵活的对预处理功能进行扩展,步骤101(即根据接收到的待处理指令,进行预处理)之前,还可以根据进行预处理的预处理扩展功能代码的下载标志,判断预处理扩展功能代码是否已下载(即在预处理之前设立一个扩展功能代码的调用入口);此时,步骤101可具体执行为若预处理扩展功能代码已下载,则根据接收到的待处理指令以及所述预处理扩展功能代码预处理进行预处理,若预处理扩展功能代码未下载,则根据接收到的待处理指令以及掩膜预处理功能代码进行预处理。
其中,在一个实施例中,为便于自由灵活的对后处理功能进行扩展,步骤104(即对指令处理结果进行后处理)之前,还可以根据进行后处理的后处理扩展功能代码的下载标志,判断后处理扩展功能代码是否已下载(即在后处理之前设立一个扩展功能代码的调用入口);此时,步骤104可具体执行为若后处理扩展功能代码已下载,则根据后处理扩展功能代码对指令处理结果进行后处理;若后处理扩展功能代码未下载,则根据掩膜后处理功能代码对指令处理结果进行后处理。
由此可见,本发明实施例中,通过分别在预处理、指令处理和后处理之前分别设立一个扩展功能代码的调用入口,可以实现对掩膜应用的无限制的扩展。
实施例二
为便于理解,对本发明实施例二中的智能卡掩膜应用的扩展方法进行说明,如图3所示为该方法的流程示意图,在图3中为便于图示处理流程,部分判断步骤缺省了部分文字,只摘取了关键文字进行说明。具体的,该方法,包括以下步骤:
步骤301:接收待处理指令,待处理指令中包括指令标识。
步骤302:根据进行预处理的预处理扩展功能代码的下载标志,判断预处理扩展功能代码是否已下载,若是,执行步骤303,若否执行步骤304。
步骤303:根据接收到的待处理指令以及所述预处理扩展功能代码预处理进行预处理。
步骤304:根据接收到的待处理指令以及掩膜预处理功能代码进行预处理。
步骤305:将待处理指令中的指令标识进行备份,获得备份指令标识。
步骤306:根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载,其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;若是,执行步骤307,若否,执行步骤310。
步骤307:判断待处理指令中的指令标识是否为预设扩展指令标识;若是,则执行步骤308,若否则通过调用入口调用掩膜指令处理功能代码,并执行步骤310。
步骤308:根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令。
步骤309:通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理,之后执行步骤310。
步骤310:判断待处理指令中的指令标识是否属于预置已知指令标识;若是,则执行步骤311;若否,则执行步骤312。
步骤311:根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理。
步骤312:判断待处理指令中的指令标识与备份指令标识是否相同;若是,则执行步骤313;若否,则将预处理结果作为指令处理结果,并执行步骤314.
步骤313:根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理。
步骤314:根据进行后处理的后处理扩展功能代码的下载标志,判断后处理扩展功能代码是否已下载,若是,执行步骤315,若否,执行步骤316。
步骤315:根据后处理扩展功能代码对指令处理结果进行后处理。
步骤316:根据掩膜后处理功能代码对指令处理结果进行后处理。
实施例三
基于相同的发明构思,本发明实施例还提供一种智能卡掩膜应用的扩展装置,如图4所示,该装置包括:
预处理模块401,用于根据接收到的待处理指令,进行预处理;
第一判断模块402,用于根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;
执行模块403,用于若第一判断模块的判断结果为是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;
后处理模块404,用于对指令处理结果进行后处理。
其中,在一个实施例中,所述装置还包括:
备份模块,用于若所述待处理指令中包括指令标识;所述第一判断模块根据表示进行指令处理的指令处理扩展功能代码是否已下载的第一标志;判断指令处理扩展功能代码是否已下载的同时或之前,将待处理指令中的指令标识进行备份,获得备份指令标识;
所述执行模块,具体包括:
第一判断单元,用于判断待处理指令中的指令标识是否属于预置已知指令标识;
第一处理单元,用于若第一判断单元的判断结果为是,则根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理;
第二判断单元,用于若第一判断单元的判断结果为否,则判断待处理指令中的指令标识与备份指令标识是否相同;
第二处理单元,用于若第二判断单元的判断结果为相同,则根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理;
第三处理单元,用于若第二判断单元的判断结果为不相同,则将预处理结果作为指令处理结果,并触发后处理单元执行所述对指令处理结果进行后处理的步骤。
其中,在一个实施例中,所述执行模块403,具体包括:
第三判断单元,用于若所述指令处理扩展功能代码中包括:调用掩膜指令处理功能代码的调用入口;判断待处理指令中的指令标识是否为预设扩展指令标识;
第四处理单元,用于若第三判断单元的判断结果为否,则通过所述调用入口调用掩膜指令处理功能代码,以对待处理指令进行指令处理;
第五处理单元,用于若第三判断单元的判断结果为是,则执行以下步骤:
根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令;并,
通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理。
其中,在一个实施例中,所述装置还包括:
第二判断模块,用于所述预处理模块根据接收到的待处理指令,进行预处理之前,根据进行预处理的预处理扩展功能代码的下载标志,判断预处理扩展功能代码是否已下载;
所述预处理模块,具体用于:
若预处理扩展功能代码已下载,则根据接收到的待处理指令以及所述预处理扩展功能代码预处理进行预处理,若预处理扩展功能代码未下载,则根据接收到的待处理指令以及掩膜预处理功能代码进行预处理。
其中,在一个实施例中,所述装置还包括:
第三判断模块,用于所述后处理模块对指令处理结果进行后处理之前,根据进行后处理的后处理扩展功能代码的下载标志,判断后处理扩展功能代码是否已下载;
所述后处理模块,具体用于:
若后处理扩展功能代码已下载,则根据后处理扩展功能代码对指令处理结果进行后处理;若后处理扩展功能代码未下载,则根据掩膜后处理功能代码对指令处理结果进行后处理。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(装置)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种智能卡掩膜应用的扩展方法,其特征在于,包括:
根据接收到的待处理指令,进行预处理;
根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;
若是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;
对指令处理结果进行后处理。
2.根据权利要求1所述的方法,其特征在于,所述待处理指令中包括指令标识;
所述根据表示进行指令处理的指令处理扩展功能代码是否已下载的第一标志;判断指令处理扩展功能代码是否已下载的同时或之前,所述方法还包括:
将待处理指令中的指令标识进行备份,获得备份指令标识;
所述根据掩膜指令处理功能代码对待处理指令进行指令处理,具体包括:
判断待处理指令中的指令标识是否属于预置已知指令标识;
若是,则根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理;
若否,则判断待处理指令中的指令标识与备份指令标识是否相同;
若相同,则根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理;
若不相同,则将待处理指令作为指令处理结果,并执行所述对指令处理结果进行后处理的步骤。
3.根据权利要求2所述的方法,其特征在于,所述指令处理扩展功能代码中包括:调用掩膜指令处理功能代码的调用入口;
所述根据指令处理扩展功能代码对待处理指令进行指令处理,具体包括:
判断待处理指令中的指令标识是否为预设扩展指令标识;
若否,则通过所述调用入口调用掩膜指令处理功能代码,以对待处理指令进行指令处理;
若是,则执行以下步骤:
根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令;并,
通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理。
4.根据权利要求1所述的方法,其特征在于,所述根据接收到的待处理指令,进行预处理之前,所述方法还包括:
根据进行预处理的预处理扩展功能代码的下载标志,判断预处理扩展功能代码是否已下载;
所述根据接收到的待处理指令,进行预处理,具体包括:
若预处理扩展功能代码已下载,则根据接收到的待处理指令以及所述预处理扩展功能代码预处理进行预处理,若预处理扩展功能代码未下载,则根据接收到的待处理指令以及掩膜预处理功能代码进行预处理。
5.根据权利要求1所述的方法,其特征在于,所述对指令处理结果进行后处理之前,所述方法还包括:
根据进行后处理的后处理扩展功能代码的下载标志,判断后处理扩展功能代码是否已下载;
所述对指令处理结果进行后处理,具体包括:
若后处理扩展功能代码已下载,则根据后处理扩展功能代码对指令处理结果进行后处理;若后处理扩展功能代码未下载,则根据掩膜后处理功能代码对指令处理结果进行后处理。
6.一种智能卡掩膜应用的扩展装置,其特征在于,包括:
预处理模块,用于根据接收到的待处理指令,进行预处理;
第一判断模块,用于根据进行指令处理的指令处理扩展功能代码的下载标志,判断指令处理扩展功能代码是否已下载;其中,指令处理包括以下处理中的任一种或组合:读数据、写数据、对比校验、加密、解密、签名和验签;
执行模块,用于若第一判断模块的判断结果为是,则根据指令处理扩展功能代码对待处理指令进行指令处理,若否,则根据掩膜指令处理功能代码对待处理指令进行指令处理;并获得指令处理结果;
后处理模块,用于对指令处理结果进行后处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
备份模块,用于若所述待处理指令中包括指令标识;所述第一判断模块根据表示进行指令处理的指令处理扩展功能代码是否已下载的第一标志;判断指令处理扩展功能代码是否已下载的同时或之前,将待处理指令中的指令标识进行备份,获得备份指令标识;
所述执行模块,具体包括:
第一判断单元,用于判断待处理指令中的指令标识是否属于预置已知指令标识;
第一处理单元,用于若第一判断单元的判断结果为是,则根据掩膜指令处理功能代码中的、与待处理指令中的指令标识对应的函数对待处理指令进行指令处理;
第二判断单元,用于若第一判断单元的判断结果为否,则判断待处理指令中的指令标识与备份指令标识是否相同;
第二处理单元,用于若第二判断单元的判断结果为相同,则根据掩膜指令处理功能代码中的默认处理函数对待处理指令进行指令处理;
第三处理单元,用于若第二判断单元的判断结果为不相同,则将预处理结果作为指令处理结果,并触发后处理单元执行所述对指令处理结果进行后处理的步骤。
8.根据权利要求7所述的装置,其特征在于,所述执行模块,具体包括:
第三判断单元,用于若所述指令处理扩展功能代码中包括:调用掩膜指令处理功能代码的调用入口;判断待处理指令中的指令标识是否为预设扩展指令标识;
第四处理单元,用于若第三判断单元的判断结果为否,则通过所述调用入口调用掩膜指令处理功能代码,以对待处理指令进行指令处理;
第五处理单元,用于若第三判断单元的判断结果为是,则执行以下步骤:
根据指令处理扩展功能代码中的、与待处理指令中的指令标识对应的扩展处理函数对待处理指令进行指令处理,并将处理结果中的指令标识修改为除预置已知指令标识以及预设扩展指令标识之外的指令标识后,将处理结果视为新的待处理指令;并,
通过调用入口调用掩膜指令处理功能代码,以对新的待处理指令进行指令处理。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于所述预处理模块根据接收到的待处理指令,进行预处理之前,根据进行预处理的预处理扩展功能代码的下载标志,判断预处理扩展功能代码是否已下载;
所述预处理模块,具体用于:
若预处理扩展功能代码已下载,则根据接收到的待处理指令以及所述预处理扩展功能代码预处理进行预处理,若预处理扩展功能代码未下载,则根据接收到的待处理指令以及掩膜预处理功能代码进行预处理。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三判断模块,用于所述后处理模块对指令处理结果进行后处理之前,根据进行后处理的后处理扩展功能代码的下载标志,判断后处理扩展功能代码是否已下载;
所述后处理模块,具体用于:
若后处理扩展功能代码已下载,则根据后处理扩展功能代码对指令处理结果进行后处理;若后处理扩展功能代码未下载,则根据掩膜后处理功能代码对指令处理结果进行后处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510575310.0A CN106529650B (zh) | 2015-09-10 | 2015-09-10 | 一种智能卡掩膜应用的扩展方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510575310.0A CN106529650B (zh) | 2015-09-10 | 2015-09-10 | 一种智能卡掩膜应用的扩展方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106529650A true CN106529650A (zh) | 2017-03-22 |
CN106529650B CN106529650B (zh) | 2020-03-17 |
Family
ID=58346192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510575310.0A Active CN106529650B (zh) | 2015-09-10 | 2015-09-10 | 一种智能卡掩膜应用的扩展方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106529650B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533481A (zh) * | 2009-04-03 | 2009-09-16 | 东信和平智能卡股份有限公司 | 掩膜智能卡的功能扩展方法 |
CN102012804A (zh) * | 2010-11-30 | 2011-04-13 | 公安部第三研究所 | 一种智能卡cos指令扩展方法 |
CN102063634A (zh) * | 2010-12-24 | 2011-05-18 | 北京握奇数据***有限公司 | 一种掩膜智能卡的功能扩展方法及智能卡 |
CN103632185A (zh) * | 2012-08-21 | 2014-03-12 | 北京同方微电子有限公司 | 一种具有扩展功能的掩膜智能卡 |
-
2015
- 2015-09-10 CN CN201510575310.0A patent/CN106529650B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533481A (zh) * | 2009-04-03 | 2009-09-16 | 东信和平智能卡股份有限公司 | 掩膜智能卡的功能扩展方法 |
CN102012804A (zh) * | 2010-11-30 | 2011-04-13 | 公安部第三研究所 | 一种智能卡cos指令扩展方法 |
CN102063634A (zh) * | 2010-12-24 | 2011-05-18 | 北京握奇数据***有限公司 | 一种掩膜智能卡的功能扩展方法及智能卡 |
CN103632185A (zh) * | 2012-08-21 | 2014-03-12 | 北京同方微电子有限公司 | 一种具有扩展功能的掩膜智能卡 |
Also Published As
Publication number | Publication date |
---|---|
CN106529650B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358882B (zh) | 一种电视终端进行固件升级的方法及装置 | |
CN106790247A (zh) | 一种Android***升级的方法和装置 | |
CN105607937B (zh) | 一种热补丁方法及设备 | |
CN106874485A (zh) | 一种图片呈现的方法以及图片呈现装置 | |
CN107193619B (zh) | 一种编译版本自动更新的方法与装置 | |
CN109766123A (zh) | 应用程序封装方法及装置 | |
CN111880507B (zh) | 一种交流故障穿越特性在线调试方法、装置及存储介质 | |
CN106529650A (zh) | 一种智能卡掩膜应用的扩展方法及装置 | |
CN113051149A (zh) | 一种用例参数生成方法及装置 | |
CN106506163A (zh) | Rom包处理方法及装置 | |
CN110618824B (zh) | 一种软件升级方法、装置、介质和设备 | |
CN110321824A (zh) | 基于神经网络的绑扎判定方法及装置 | |
CN115237789A (zh) | 一种数据销毁的有效性验证方法、***、设备及介质 | |
CN105677559B (zh) | 一种检测方法及装置 | |
WO2000001170A3 (en) | Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program | |
CN108037944A (zh) | Eprom自动重烧方法 | |
CN110502898B (zh) | 审计智能合约的方法、***、装置、存储介质和电子设备 | |
CN111275553B (zh) | 一种区块链的数据存储方法及区块链*** | |
CN105631505B (zh) | 一种支持java卡补丁函数的智能卡 | |
CN109325432B (zh) | 一种三维对象的识别方法、设备及计算机可读储存介质 | |
CN106775796A (zh) | 一种固件升级方法、装置及*** | |
CN111459711A (zh) | 一种内存恢复方法及*** | |
CN106406932A (zh) | 一种改进的Java卡初始化方法和Java卡 | |
CN113792247B (zh) | 基于代码特征生成功能流程图的方法、装置、设备和介质 | |
CN113793137A (zh) | 手机银行版本发布控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |