掩膜智能卡的功能扩展方法

文档序号:6481959阅读:116来源:国知局
专利名称:掩膜智能卡的功能扩展方法
技术领域
本发明涉及一种智能卡的功能扩展方法,尤其是基于掩膜智能卡 的功能扩展方法。
背景技术
随着智能卡的普及,智能卡已经广泛应用于移动通信、电子商务 等领域,其中较为常见的是安装到手机上通过无线通信网络进行通信
的智能卡,如SIM卡(Subscriber Identity Model ,用户识别才莫 块)。
按照智能卡的存储器类型划分,现有的智能卡大致分为掩膜智能 卡以及闪存智能卡两种类型。闪存智能卡具有 一个闪速存储器
(Flash),智能卡的操作系统文件等存储在闪速存储器中。闪速存 储器是一种电可擦除的存储器,存储在其中的数据可被修改。因此, 智能卡生产厂商将智能卡的操作系统文件编译并下载到闪速存储器 后,即使发现操作系统文件存在缺陷,仍可以通过修改闪速存储器中 相关的数据来修复缺陷。
掩膜智能卡的存储器结构示意图如图1所示,其具有只读存储器
(ROM) 10、随机存储器(RAM) 30以及电可擦除存储器(EEPROM) 50,只读存储器10内存储有智能卡的操作系统文件11,操作系统文 件11包含有多个功能函数单元,如功能函数单元21、 22、 23、 24、 25等,每一功能函数单元均实现一特定的功能。随机存储器30存储 操作系统文件11的变量数据,电可擦除存储器50存储用户的个人数 据,如通讯录、短信息等。
制造掩膜智能卡时,智能卡生产厂商将操作系统文件11的代码 形成可执行的HEX文件,然后由半导体生产厂商将HEX文件掩膜形成 在只读存储器10内,掩膜过程一般需要三个月的时间。掩膜完毕 后,智能卡生产厂商再向随机存储器30、电可擦除存储器50写入变 量数据以及用户的相关数据后即完成智能卡的制造。但是,掩膜形成在只读存储器10内的操作系统文件11不能被修
改, 一旦掩膜开始,即使智能卡生产厂商发现操作系统文件11存在缺陷也不能修改,导致智能卡批量报废,给智能卡生产厂商带来巨大
的损失。
此外,智能卡生产厂商往往需要对智能卡的操作系统文件进行升级处理或功能扩展处理, 一旦智能卡开始掩膜处理,智能卡生产厂商也无法实现上述处理,给智能卡生产厂商的生产带来极大的不便。

发明内容
针对上述问题,本发明的主要目的是提供一种能对掩膜后的智能卡操作系统文件进行修复的掩膜智能卡功能扩展方法;
本发明另 一 目的是提供一种便于对掩膜智能卡的操作系统文件进行功能扩展处理的掩膜智能卡功能扩展方法。
为了实现上述的主要目的,应用本发明的掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,只读存储器存储有智能卡的操作系统文件,操作系统文件具有多个功能函数单元,随机存储器存储有操作系统文件的变量数据,该方法包括在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据。
由上述方案可见,智能卡掩膜处理开始后, 一旦智能卡生产厂商发现操作系统文件存在缺陷,可向电可擦除存储器的补丁文件单元中写入用于修复缺陷的补丁函数。智能卡运行时, 一旦^r测到有补丁函数的存在,即跳转执行补丁函数,而不执行原来的功能函数单元。这样,智能卡生产厂商即可通过补丁函数修复操作系统文件的缺陷。
相同地,智能卡生产厂商需要对操作系统文件进行升级处理或功能扩展时,也可通过补丁函数对操作系统文件进行升级或扩展操作系统文件。
一个优选的方案是,补丁接口函数划分为指令接口函数、应用接口函数以及函数接口函数,并且将补丁文件单元存储的补丁函数划分为指令补丁函数、应用补丁函数以及函数补丁函数,分别与补丁接口函数的指令接口函数、应用接口函数以及函数接口函数对应,同时在电可擦除存储器中设置补丁状态标志,该补丁状态标志包括指令补丁标志、应用补丁标志以及函数补丁标志,向补丁文件单元写入指令补丁函数、应用补丁函数或函数补丁函数后,将对应类型的补丁状态标志激活。
由此可见,将补丁接口函数、补丁函数划分为多个类型,便于操作系统开发人员区分不同类型的接口函数以及补丁函数,有利于开发人员写入相应补丁函数。同时在电可擦除存储器设置相应的补丁状态
在,若没有补丁函数存在即不口再继续查找补丁函数,以加快操作系统的运行速度。


图l是现有掩膜智能卡的存储器结构示意框图;图2是应用本发明实施例的掩膜智能卡存储器结构示意框图;图3是应用本发明实施例的掩膜智能卡设置的补丁状态标志存储结构图4是应用本发明实施例的掩膜智能卡设置的补丁函数存储结构
图5是应用本发明实施例的掩膜智能卡工作流程图。以下结合附图及实施例对本发明作进 一 步说明。
具体实施例方式
参见图2,是应用本发明实施例的掩膜智能卡存储器结构示意框图。掩膜智能卡具有只读存储器10、随机存储器30以及电可擦除存储器50,其中只读存储器IO存储有智能卡的操:作系统文件11,操作系统文件11包含有多个功能函数单元21、 22、 23、 24、 25,这些与现有的掩膜智能卡相同。
本发明是通过在操作系统文件11的功能函数单元中设置补丁函数接口,在电可擦除存储器50中写入相应的补丁函数,通过让操作系统文件11执行补丁函数来修复操作系统文件11中存在的缺陷。因此,本实施例中,开发智能卡操作系统文件11时,需要在功能函数单元中设置补丁函数接口 。
操作系统文件11执行每一功能函数单元时,均判断该功能函数单元是否存在补丁接口函数,若存在补丁接口函数还需要进一步判断判断函数的类型等。但并不是每一功能函数单元都存在缺陷,只有存在缺陷或需要升级处理的功能函数单元才需要设置对应的补丁接口函数。因此,若在每一功能函数单元中均设置补丁接口函数,会影响操作系统文件11执行速度,不利于智能卡的运行。因此,开发人员只需要在重要的或者变化较多的功能函数单元中设置补丁接口函数,而不重要或变化较少的功能函数单元则无需设置补丁接口函数,以降低
设置补丁接口函数对操作系统文件11运行速度的影响。如图2所示的,掩膜智能卡的操作系统文件11中,功能函数单元21、 23以及25设置补丁接口函数,而功能函数单元22、 24未设置补丁接口函数。
在操作系统文件11设置补丁接口函数的同时,还需要在电可擦除存储器50设置相应的补丁文件单元51,补丁文件单元51用于存储补丁函数,用于修复操作系统文件11中存在的缺陷。当然,本实施例中,电可擦除存储器50中还设有用户数据存储区52,存储有用户的个人数据。
本实施例中,补丁接口函数划分为三种类型,分别为指令接口函数26、应用接口函数27以及函数接口函数28,相应地,补丁文件单元51内的补丁函数也划分为三种类型,分别是指令补丁函数、应用补丁函数以及函数补丁函数,这三种补丁函数分别与指令接口函数26、应用接口函凄t27以及函数接口函数28向对应。
指令补丁函数主要用于修复APDU指令或用于扩展操作系统文件11的指令,应用补丁函数主要对操作系统文件11的应用文件进行扩展或修复缺陷,而函数补丁函数则用于对一些重要的处理函数进行功能扩展或修复。将补丁接口函数以及补丁函数划分为三种类型,便于开发人员在操作系统文件11中设置相应的补丁接口函数,也便于开发人员准确
地在电可擦除存储器50中写入相应的补丁函数。
设置三种类型的补丁接口函数以及补丁函数的同时,还应该在电可擦除存储器50内设置一个补丁状态标志,该补丁状态标志的存储结构如图3所示。
补丁状态标志为一字节数据,该字节具有八位二进制数据,其中最低三位分别是指令补丁标志、应用补丁标志以及函数补丁标志,其他五位预留。初始状态下,补丁状态标志的每一位数据均为"0"。开发人员向电可擦除存储器50写入补丁函数时,将补丁函数对应类型的补丁标志激活,也就是将对应补丁标志修改为"1"。例如,开发人员向补丁文件单元51写入指令补丁函数,则相应地将指令补丁标志激活,也就是将补丁标志的最低位改为"1"。这样,操作系统文件11运行时,可通过判断补丁标志是否被激活来判断是否有对应的补丁函数存在。
操作系统文件11的每一功能函数单元均具有唯一标签号,例如功能函数21的标签号为"DC"。向补丁文件单元51写入补丁函数时,将每一功能函数单元的标签号写入其对应的到补丁函数中,操作系统文件11需要跳转至执行该功能函数单元21时则通过标签号来识别每一补丁函数。
因此,本实施例中,补丁函数的存储结构如图4所示。每一补丁函数由"类型号,,、"标签号"、"长度"以及"数据"四部分组成,其中"类型号"是存储补丁函数的类型,如指令补丁函数的类型号为"01",应用补丁函数的类型号为"02"等。"标签号"是每一补丁函数对应的功能函数单元的标签号,如"DC"等。"长度"是补丁函数的字节长度,"数据"是补丁函数存储的具体信息。操作系统文件11运行时,通过补丁函数的"类型号"、"标签号"来识别每一补丁函凄t。
开发人员向补丁文件单元51写入补丁函数后,还需要向随机存储器30写入补丁函数运行所需要的变量数据。但由于随机存储器30还存储有操作系统文件11的变量数据,为了不使补丁函数的变量数据与操作系统文件11的变量数据发生冲突,本实施例将随机存储器
30划分为两个存储区,如图2所示的。其中第一变量存储区31存储操作系统文件11使用的变量数据,而第二变量存储区32为一预留的存储区间,用于存储补丁函数运行使用的变量数据。两个存储区具有不同的存储地址,这样即可避免补丁函数使用的变量数据与操作系统文件11的变量数据发生冲突。
写入补丁函数时,有可能需要调用操作系统文件11的函数或变量,因此补丁函数中往往会设置有跳转指令,补丁函数会跳转至执行存储在只读存储器10内的代码。由于只读存储器10物理地址与电可擦除存储器50的物理地址是独立设置的,这样有可能出现只读存储器10的物理地址与电可擦除存储器50的物理地址相同的情况,导致补丁函数不能正常运行。
因此,本实施例中需要设置电可擦除存储器50的逻辑地址,使电可擦除存储器50的逻辑地址跟随于只读存储器10的逻辑地址之后,以避免只读存储器10与电可擦除存储器50出现相同地址的情况发生。
优选地,电可擦除存储器50的逻辑地址中,补丁文件单元51的逻辑地址跟随于只读存储器10的逻辑地址之后,而用户数据存储区52的逻辑地址跟随于补丁文件单元51的逻辑地址之后。
开发人员开发操作系统文件11时,在重要的功能函数单元或变化较多的功能函数单元设置补丁接口函数,例如在功能函数单元n中设置补丁接口函数,其类型为指令接口函数26,且功能函数单元21的标签号为"DC"。
掩膜智能卡开始掩膜处理后, 一旦开发人员发现功能函数单元26存在缺陷,或需要扩展其功能,则在掩膜智能卡掩膜完毕后,向电可擦除存储器50的补丁文件单元51写入补丁函数,该补丁函数为指令补丁函数,其"类型号"为"01","标签号"为"DC"。接着,将指令补丁函数的长度以及补丁函数的代码写入补丁文件单元51中,并且激活指令状态标志,也就是将补丁状态标志的最低位该将指令补丁函数的变量数据写入到随机存储器30的第二变量存储区32中。
掩膜智能卡的操作系统文件11开始运行后,其运行流程图如图5所示。掩膜智能卡的操作系统文件开始运行后,首先执行步骤Sl,顺序执行功能函数单元,进入执行某一功能函数单元。例如执行功能函数单元21时,将判断该功能函数单元是否设有补丁接口函数,即执行步骤S2。若没设有补丁接口函数,则执行步骤S6,继续执行只读存储器中的功能函数单元。
若发现功能函数单元设有补丁接口函数,则执行步骤S3,判断补丁状态标志中指令状态标志是否被激活,若指令状态标志被激活,则执行步骤S4,否则执行步骤S6。
步骤S4中,掩膜智能卡需要判断电可擦除存储器50中是否存储有与功能函数单元21标签号一致的补丁函数。若发现有标签号为"DC"的指令补丁函数,掩膜智能卡则执行步骤S5,跳转执行电可擦除存储器50的指令补丁函数。若掩膜智能卡未发现有标签号为"DC"的补丁函数,则执行步骤S6。
由此可见,即使开发人员在开发操作系统文件11时,某些功能函数单元存在缺陷或需要升级、功能扩展处理,开发人员仍可以通过在电可擦除存储器50中写入补丁函数的方法修复缺陷或升级功能函数单元,避免掩膜智能卡的报废,减少智能卡生产厂商的损失。
当然,上述实施例仅是本发明一个优选的实施方案,本发明实际应用过程中还有更多的变化,例如在掩膜智能卡的存储器中还增设一个预留的存储器用于存储变量数据,或者互换电可擦除存储器中用户数据存储区以及补丁文件单元的逻辑地址等,这些改变并不影响本发明的实施。
另外,本发明的智能卡不限于手机智能卡,还可以应用于社保卡、公交卡等多种不同的智能卡。
最后,需要强调的是,本发明不限于上述实施方式,诸如补丁接口函数以及补丁函数类型的改变、随机存储器变量数据存储位置设置的改变等微小变化也应该包括在本发明的保护范围内。
权利要求
1、掩膜智能卡的功能扩展方法,该掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,所述只读存储器存储有智能卡的操作系统文件,所述操作系统文件具有多个功能函数单元,所述随机存储器存储有操作系统文件的变量数据;方法包括在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向所述补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据。
2、 根据权利要求1所述的掩膜智能卡功能扩展方法,其特征在于所述补丁接口函数包括指令接口函数、应用接口函数以及函数接 口函数;所述补丁文件单元存储的补丁函数包括指令补丁函数、应用补丁 函数以及函数补丁函数,且分别与补丁接口函数的指令接口函数、应 用接口函数以及函数接口函数对应。
3、 根据权利要求2所述的掩膜智能卡功能扩展方法,其特征在于在电可擦除存储器中设置补丁状态标志,所述补丁状态标志包括 指令补丁标志、应用补丁标志以及函数补丁标志;向补丁文件单元写入指令补丁函数、应用补丁函数或函数补丁函数后,将对应类型的补丁状态标志激活。
4、 根据权利要求1至3任一项所述的掩膜智能卡功能扩展方 法,其特征在于所述操作系统文件的每一功能函数单元具有唯一的标签号; 向补丁文件单元写入补丁函数时,将补丁函数对应的功能函数单 元的标签号写入补丁函数中。
5、 根据权利要求1至3任一项所述的掩膜智能卡功能扩展方 法,其特征在于将随机存储器划分为第 一 变量存储区以及第二变量存储区;将操作系统文件的变量数据写入到第 一变量存储区中,将补丁文 件单元的补丁函数使用的变量数据写入到第二变量存储区中。
6、 根据权利要求1至3任一项所述的掩膜智能卡功能扩展方 法,其特征在于设置电可擦除存储器的逻辑地址,所述电可擦除存储器的逻辑地 址跟随于只读存储器的逻辑地址之后。
7、 根据权利要求6所述的掩膜智能卡功能扩展方法,其特征在于所述电可擦除存储器的逻辑地址中,补丁文件单元的逻辑地址跟 随于只读存储器的逻辑地址之后。
全文摘要
本发明提供一种掩膜智能卡的功能扩展方法,该掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,只读存储器存储有智能卡的操作系统文件,操作系统文件具有多个功能函数单元,随机存储器存储有操作系统文件的变量数据,该方法包括在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据。本发明便于智能卡操作系统开发人们修复掩膜在只读存储器内的操作系统文件存在的缺陷,也便于开发人员及时对操作系统文件进行升级、功能扩展处理。
文档编号G06F17/30GK101533481SQ20091003844
公开日2009年9月16日 申请日期2009年4月3日 优先权日2009年4月3日
发明者郑冬梅 申请人:东信和平智能卡股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1