CN101533481B - 掩膜智能卡的功能扩展方法 - Google Patents
掩膜智能卡的功能扩展方法 Download PDFInfo
- Publication number
- CN101533481B CN101533481B CN200910038443A CN200910038443A CN101533481B CN 101533481 B CN101533481 B CN 101533481B CN 200910038443 A CN200910038443 A CN 200910038443A CN 200910038443 A CN200910038443 A CN 200910038443A CN 101533481 B CN101533481 B CN 101533481B
- Authority
- CN
- China
- Prior art keywords
- patch
- function
- smart card
- operating system
- unit
- 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.)
- Active
Links
Images
Abstract
本发明提供一种掩膜智能卡的功能扩展方法,该掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,只读存储器存储有智能卡的操作系统文件,操作系统文件具有多个功能函数单元,随机存储器存储有操作系统文件的变量数据,该方法包括在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据。本发明便于智能卡操作系统开发人们修复掩膜在只读存储器内的操作系统文件存在的缺陷,也便于开发人员及时对操作系统文件进行升级、功能扩展处理。
Description
技术领域
本发明涉及一种智能卡的功能扩展方法,尤其是基于掩膜智能卡的功能扩展方法。
背景技术
随着智能卡的普及,智能卡已经广泛应用于移动通信、电子商务等领域,其中较为常见的是安装到手机上通过无线通信网络进行通信的智能卡,如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存在缺陷也不能修改,导致智能卡批量报废,给智能卡生产厂商带来巨大的损失。
此外,智能卡生产厂商往往需要对智能卡的操作系统文件进行升级处理或功能扩展处理,一旦智能卡开始掩膜处理,智能卡生产厂商也无法实现上述处理,给智能卡生产厂商的生产带来极大的不便。
发明内容
针对上述问题,本发明的主要目的是提供一种能对掩膜后的智能卡操作系统文件进行修复的掩膜智能卡功能扩展方法;
本发明另一目的是提供一种便于对掩膜智能卡的操作系统文件进行功能扩展处理的掩膜智能卡功能扩展方法。
为了实现上述的主要目的,应用本发明的掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,只读存储器存储有智能卡的操作系统文件,操作系统文件具有多个功能函数单元,随机存储器存储有操作系统文件的变量数据,该方法包括在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据,操作系统文件执行功能函数单元时,若判断功能函数单元设有补丁接口函数,且补丁状态标志被激活,且电可擦除存储器中存储有标签号一致的补丁函数,则跳转执行该补丁函数。
由上述方案可见,智能卡掩膜处理开始后,一旦智能卡生产厂商发现操作系统文件存在缺陷,可向电可擦除存储器的补丁文件单元中写入用于修复缺陷的补丁函数。智能卡运行时,一旦检测到有补丁函数的存在,即跳转执行补丁函数,而不执行原来的功能函数单元。这样,智能卡生产厂商即可通过补丁函数修复操作系统文件的缺陷。
相同地,智能卡生产厂商需要对操作系统文件进行升级处理或功能扩展时,也可通过补丁函数对操作系统文件进行升级或扩展操作系统文件。
一个优选的方案是,补丁接口函数划分为指令接口函数、应用接口函数以及函数接口函数,并且将补丁文件单元存储的补丁函数划分为指令补丁函数、应用补丁函数以及函数补丁函数,分别与补丁接口函数的指令接口函数、应用接口函数以及函数接口函数对应,同时在电可擦除存储器中设置补丁状态标志,该补丁状态标志包括指令补丁标志、应用补丁标志以及函数补丁标志,向补丁文件单元写入指令补丁函数、应用补丁函数或函数补丁函数后,将对应类型的补丁状态标志激活。
由此可见,将补丁接口函数、补丁函数划分为多个类型,便于操作系统开发人员区分不同类型的接口函数以及补丁函数,有利于开发人员写入相应补丁函数。同时在电可擦除存储器设置相应的补丁状态标志,功能函数单元执行时可通过补丁状态判断是否有补丁函数存在,若没有补丁函数存在即不再继续查找补丁函数,以加快操作系统的运行速度。
附图说明
图1是现有掩膜智能卡的存储器结构示意框图;
图2是应用本发明实施例的掩膜智能卡存储器结构示意框图;
图3是应用本发明实施例的掩膜智能卡设置的补丁状态标志存储结构图;
图4是应用本发明实施例的掩膜智能卡设置的补丁函数存储结构图;
图5是应用本发明实施例的掩膜智能卡工作流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
参见图2,是应用本发明实施例的掩膜智能卡存储器结构示意框图。掩膜智能卡具有只读存储器10、随机存储器30以及电可擦除存储器50,其中只读存储器10存储有智能卡的操作系统文件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、应用接口函数27以及函数接口函数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运行时,通过补丁函数的“类型号”、“标签号”来识别每一补丁函数。
开发人员向补丁文件单元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时,在重要的功能函数单元或变化较多的功能函数单元设置补丁接口函数,例如在功能函数单元21中设置补丁接口函数,其类型为指令接口函数26,且功能函数单元21的标签号为“DC”。
掩膜智能卡开始掩膜处理后,一旦开发人员发现功能函数单元26存在缺陷,或需要扩展其功能,则在掩膜智能卡掩膜完毕后,向电可擦除存储器50的补丁文件单元51写入补丁函数,该补丁函数为指令补丁函数,其“类型号”为“01”,“标签号”为“DC”。接着,将指令补丁函数的长度以及补丁函数的代码写入补丁文件单元51中,并且激活指令状态标志,也就是将补丁状态标志的最低位该改写为“1”。最后,将指令补丁函数的变量数据写入到随机存储器30的第二变量存储区32中。
掩膜智能卡的操作系统文件11开始运行后,其运行流程图如图5所示。掩膜智能卡的操作系统文件开始运行后,首先执行步骤S1,顺序执行功能函数单元,进入执行某一功能函数单元。例如执行功能函数单元21时,将判断该功能函数单元是否设有补丁接口函数,即执行步骤S2。若没设有补丁接口函数,则执行步骤S6,继续执行只读存储器中的功能函数单元。
若发现功能函数单元设有补丁接口函数,则执行步骤S3,判断补丁状态标志中指令状态标志是否被激活,若指令状态标志被激活,则执行步骤S4,否则执行步骤S6。
步骤S4中,掩膜智能卡需要判断电可擦除存储器50中是否存储有与功能函数单元21标签号一致的补丁函数。若发现有标签号为“DC”的指令补丁函数,掩膜智能卡则执行步骤S5,跳转执行电可擦除存储器50的指令补丁函数。若掩膜智能卡未发现有标签号为“DC”的补丁函数,则执行步骤S6。
由此可见,即使开发人员在开发操作系统文件11时,某些功能函数单元存在缺陷或需要升级、功能扩展处理,开发人员仍可以通过在电可擦除存储器50中写入补丁函数的方法修复缺陷或升级功能函数单元,避免掩膜智能卡的报废,减少智能卡生产厂商的损失。
当然,上述实施例仅是本发明一个优选的实施方案,本发明实际应用过程中还有更多的变化,例如在掩膜智能卡的存储器中还增设一个预留的存储器用于存储变量数据,或者互换电可擦除存储器中用户数据存储区以及补丁文件单元的逻辑地址等,这些改变并不影响本发明的实施。
另外,本发明的智能卡不限于手机智能卡,还可以应用于社保卡、公交卡等多种不同的智能卡。
最后,需要强调的是,本发明不限于上述实施方式,诸如补丁接口函数以及补丁函数类型的改变、随机存储器变量数据存储位置设置的改变等微小变化也应该包括在本发明的保护范围内。
Claims (7)
1.掩膜智能卡的功能扩展方法,该掩膜智能卡具有只读存储器、随机存储器以及电可擦除存储器,所述只读存储器存储有智能卡的操作系统文件,所述操作系统文件具有多个功能函数单元,所述随机存储器存储有操作系统文件的变量数据;
方法包括
在操作系统文件的功能函数单元设置补丁接口函数,并在电可擦除存储器设置补丁文件单元,向所述补丁文件单元写入与补丁接口函数对应的补丁函数,向随机存储器写入补丁函数使用的变量数据;
操作系统文件执行功能函数单元时,若判断所述功能函数单元设有补丁接口函数,且补丁状态标志被激活,且电可擦除存储器中存储有标签号一致的补丁函数,则跳转执行该补丁函数。
2.根据权利要求1所述的掩膜智能卡功能扩展方法,其特征在于:
所述补丁接口函数包括指令接口函数、应用接口函数以及函数接口函数;
所述补丁文件单元存储的补丁函数包括指令补丁函数、应用补丁函数以及函数补丁函数,且分别与补丁接口函数的指令接口函数、应用接口函数以及函数接口函数对应。
3.根据权利要求2所述的掩膜智能卡功能扩展方法,其特征在于:
在电可擦除存储器中设置补丁状态标志,所述补丁状态标志包括指令补丁标志、应用补丁标志以及函数补丁标志;
向补丁文件单元写入指令补丁函数、应用补丁函数或函数补丁函数后,将对应类型的补丁状态标志激活。
4.根据权利要求1至3任一项所述的掩膜智能卡功能扩展方法,其特征在于:
所述操作系统文件的每一功能函数单元具有唯一的标签号;
向补丁文件单元写入补丁函数时,将补丁函数对应的功能函数单元的标签号写入补丁函数中。
5.根据权利要求1至3任一项所述的掩膜智能卡功能扩展方法,其特征在于:
将随机存储器划分为第一变量存储区以及第二变量存储区;
将操作系统文件的变量数据写入到第一变量存储区中,将补丁文件单元的补丁函数使用的变量数据写入到第二变量存储区中。
6.根据权利要求1至3任一项所述的掩膜智能卡功能扩展方法,其特征在于:
设置电可擦除存储器的逻辑地址,所述电可擦除存储器的逻辑地址跟随于只读存储器的逻辑地址之后。
7.根据权利要求6所述的掩膜智能卡功能扩展方法,其特征在于:
所述电可擦除存储器的逻辑地址中,补丁文件单元的逻辑地址跟随于只读存储器的逻辑地址之后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910038443A CN101533481B (zh) | 2009-04-03 | 2009-04-03 | 掩膜智能卡的功能扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910038443A CN101533481B (zh) | 2009-04-03 | 2009-04-03 | 掩膜智能卡的功能扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101533481A CN101533481A (zh) | 2009-09-16 |
CN101533481B true CN101533481B (zh) | 2012-08-29 |
Family
ID=41104063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910038443A Active CN101533481B (zh) | 2009-04-03 | 2009-04-03 | 掩膜智能卡的功能扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533481B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479265B (zh) * | 2010-11-25 | 2015-10-28 | 上海华虹集成电路有限责任公司 | 修改硬掩膜产品固件错误功能的方法 |
CN102063634B (zh) * | 2010-12-24 | 2013-04-24 | 北京握奇数据系统有限公司 | 一种掩膜智能卡的功能扩展方法及智能卡 |
CN103632185B (zh) * | 2012-08-21 | 2016-06-22 | 北京同方微电子有限公司 | 一种具有扩展功能的掩膜智能卡 |
CN103927189B (zh) * | 2013-01-11 | 2017-10-31 | 上海华虹集成电路有限责任公司 | 智能卡片内操作系统补丁的实现方法 |
CN104007985A (zh) * | 2013-02-25 | 2014-08-27 | 北京南瑞智芯微电子科技有限公司 | 一种智能卡apdu命令修正方法和装置 |
CN103677909A (zh) * | 2013-12-05 | 2014-03-26 | 北京大唐智能卡技术有限公司 | 一种掩膜卡补丁机制实现方法及装置 |
CN104102507B (zh) * | 2014-06-24 | 2017-05-10 | 飞天诚信科技股份有限公司 | 一种JavaCard应用功能扩展的实现方法 |
CN106529650B (zh) * | 2015-09-10 | 2020-03-17 | 北京数码视讯科技股份有限公司 | 一种智能卡掩膜应用的扩展方法及装置 |
CN106021089B (zh) * | 2015-10-30 | 2018-09-18 | 北京中电华大电子设计有限责任公司 | 一种补丁接口的测试方法及装置 |
CN108897697B (zh) * | 2018-05-30 | 2021-05-11 | 建荣半导体(深圳)有限公司 | 配置掩膜rom数据的方法及其装置、芯片及电子设备 |
CN109213448B (zh) * | 2018-08-30 | 2022-04-05 | 东信和平科技股份有限公司 | 一种智能卡的擦写数据的方法、装置、设备及存储介质 |
-
2009
- 2009-04-03 CN CN200910038443A patent/CN101533481B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101533481A (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101533481B (zh) | 掩膜智能卡的功能扩展方法 | |
CN103299276B (zh) | 嵌入式装置的软件更新过程 | |
CN102063634B (zh) | 一种掩膜智能卡的功能扩展方法及智能卡 | |
JP2003216902A (ja) | 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム | |
CN101923473B (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN106648787A (zh) | 一种资源更新的方法及终端 | |
CN101650972A (zh) | 智能卡的非易失性存储器数据更新方法 | |
CN107911741A (zh) | 可用存储空间提升方法、智能电视及计算机可读存储介质 | |
CN103905631B (zh) | 移动终端及其modem及linux芯片统一下载的方法 | |
CN102662688A (zh) | 一种Nor flash更新方法及装置 | |
CN105159716A (zh) | 一种存储器件初始化方法和电子设备 | |
CN108170456B (zh) | 电子设备的固件升级方法及装置 | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN101384037A (zh) | 移动应用与智能卡之间的专用数据通道建立方法 | |
CN102088694B (zh) | 移动终端以及用户身份识别卡应用的下载方法 | |
CN102053874B (zh) | 保护备用数据的方法 | |
CN102129385A (zh) | 一种虚拟机管理功能动态扩展的管理方法 | |
CN101571808B (zh) | 提高电信智能卡生产效率的方法 | |
CN102073571A (zh) | 存储装置的使用寿命量测方法及其数据储存系统 | |
CN101441568A (zh) | 智能卡及其操作系统开发方法 | |
CN115712566A (zh) | 一种针对接口字段的校验方法、装置、设备和存储介质 | |
CN107562440A (zh) | 一种eeprom版本更新方法及装置 | |
CN111625254B (zh) | 文件处理方法、装置、终端及存储介质 | |
CN102202129B (zh) | 实现手机操作系统加载的方法 | |
CN103677909A (zh) | 一种掩膜卡补丁机制实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: EASTCOMPEACE TECHNOLOGY CO., LTD. Free format text: FORMER NAME: EASTCOMPEACE SMART CARD CO., LTD. |
|
CP01 | Change in the name or title of a patent holder |
Address after: 519060 Guangdong province Zhuhai Nanping Science and Technology Industrial Park Road No. 8 screen Patentee after: Eastcompeace Technology Co., Ltd. Address before: 519060 Guangdong province Zhuhai Nanping Science and Technology Industrial Park Road No. 8 screen Patentee before: Eastcompeace Smart Card Co., Ltd. |