CN103632185A - 一种具有扩展功能的掩膜智能卡 - Google Patents

一种具有扩展功能的掩膜智能卡 Download PDF

Info

Publication number
CN103632185A
CN103632185A CN201210296725.0A CN201210296725A CN103632185A CN 103632185 A CN103632185 A CN 103632185A CN 201210296725 A CN201210296725 A CN 201210296725A CN 103632185 A CN103632185 A CN 103632185A
Authority
CN
China
Prior art keywords
function
pointer
unit
memory
command
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
Application number
CN201210296725.0A
Other languages
English (en)
Other versions
CN103632185B (zh
Inventor
路倩
王庆林
王强
丁义民
杨征军
杨帆
张星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Unigroup Tsingteng Microsystems Co Ltd
Ziguang Tongxin Microelectronics Co Ltd
Original Assignee
Beijing Tongfang Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tongfang Microelectronics Co Ltd filed Critical Beijing Tongfang Microelectronics Co Ltd
Priority to CN201210296725.0A priority Critical patent/CN103632185B/zh
Publication of CN103632185A publication Critical patent/CN103632185A/zh
Application granted granted Critical
Publication of CN103632185B publication Critical patent/CN103632185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种具有扩展功能的掩膜智能卡,涉及智能卡技术领域。本发明包括只读存储器、随机存储器和非易失可擦除存储器。只读存储器的操作系统包括主流程、应用命令处理单元和功能函数单元;随机存储器包括变量数据;非易失可擦除存储器包括可修改的用户数据。其结构特点是,所述非易失可擦除存储器还包括功能函数指针表、应用命令函数指针表、补丁函数单元、新增命令函数指针表和新增应用命令函数单元。只读存储器的操作系统通过查询功能函数指针表、应用命令函数指针表和新增命令函数指针表得到函数指针,以函数指针方式调用函数实现智能卡功能。本发明可以用于智能卡掩膜后的功能修复及新功能的扩展,具有结构简单、占用空间小、执行速度快的特点。

Description

一种具有扩展功能的掩膜智能卡
技术领域
 本发明涉及智能卡技术领域,特别是具有扩展功能的掩膜智能卡。
背景技术
随着智能卡的普及,智能卡已经广泛应用于移动通信、电子商务、交通运输、社保和金融等生活中的各个领域。
       其中一种类型的智能卡为掩膜智能卡,掩膜智能卡的结构如图1所示,具有只读存储器S101、随机存储器S103和非易失可擦除存储器S102。只读存储器S101的操作系统S1011包括主流程S1012、应用命令处理单元S1013和功能函数单元S1014,随机存储器S103包含变量数据,非易失可擦除存储器S102包含可修改的用户数据,如公交刷卡记录、金额等。
制造掩膜智能卡时,智能卡厂商将操作系统文件代码形成可执行HEX文件,由半导体生产厂商将HEX文件掩膜形成在只读存储器内。掩膜过程一般需要三个月的时间。掩膜完毕后,智能卡生产厂商再向随机存储器和非易失可擦除存储器写入变量数据和用户的相关数据文件后即完成智能卡的制造。但是,掩膜在只读存储器中的操作系统文件不能修改,一旦掩膜开始,即使智能卡生产厂商发现操作系统文件存在缺陷也不能修改,导致智能卡批量报废,给智能卡生产厂商带来巨大的损失。此外,智能卡厂商往往需要对智能卡的操作系统文件进行升级处理或者功能扩展处理,一旦智能卡开始掩膜处理,智能卡生产厂商也无法实现上述处理,给智能卡生产厂商的生产带来极大的不变。
       现有技术中,掩膜智能卡的功能扩展方法有两种,一种是在只读存储器中维护补丁接口函数,在非易失可擦除存储器中存储对应的补丁状态标志和补丁单元。智能卡操作系统通过解析补丁状态标记,确定程序执行补丁函数或者原功能函数。另一种功能扩展方法参看图2的结构示意图,在非易失可擦除存储器中增加一个函数调用表,维护函数调用关系,通过修改跳转函数,实现补丁函数的调用。上述的第一种方法程序结构和数据结构复杂,额外的代码空间开销和时间开销比较大,影响智能卡操作系统的执行速度,可扩展性受限于存储器的大小;第二种方法比第一种方法可扩展性强,实现容易,但该方法的缺点是一方面函数调用通过跳转函数进行间接调用,增加了额外的代码跳转时间;另一方面,函数调用表占用空间较大,与跳转函数大小成线性关系,这部分空间开销在掩膜之前确定,当非易失可擦除存储器空间较小时,可以留出的可扩展接口较少;第三,当掩膜后的智能卡操作系统不满足应用需求,需要额外增加应用命令解析时,这种方法不能实现新增命令的解析。
发明内容
针对上述现有技术存在的不足,本发明的目的是提供一种具有扩展功能的掩膜智能卡。它可以用于智能卡掩膜后的功能修复及新功能的扩展,具有结构简单、占用空间小、执行速度快的特点。
为了达到上述发明目的,本发明的技术方案以如下方式实现:
一种具有扩展功能的掩膜智能卡,它包括只读存储器、随机存储器和非易失可擦除存储器。只读存储器的操作系统包括主流程、应用命令处理单元和功能函数单元;随机存储器包括变量数据;非易失可擦除存储器包括可修改的用户数据。其结构特点是,所述非易失可擦除存储器还包括功能函数指针表、应用命令函数指针表、补丁函数单元、新增命令函数指针表和新增应用命令函数单元。只读存储器的操作系统通过查询功能函数指针表、应用命令函数指针表和新增命令函数指针表得到函数指针,以函数指针方式调用函数实现智能卡功能。
在上述掩膜智能卡中,所述函数指针以表格的方式存储在非易失可擦除存储器中。
在上述掩膜智能卡中,所述功能函数指针表存储的函数指针指向功能函数单元或者补丁函数单元。
在上述掩膜智能卡中,所述应用命令函数指针表存储的函数指针指向应用命令处理单元或者补丁函数单元。
在上述掩膜智能卡中,所述新增命令函数指针表存储的函数指针指向新增应用命令函数单元。
在上述掩膜智能卡中,所述补丁函数单元以函数指针方式调用函数访问应用命令处理单元、功能函数单元、补丁函数单元或者新增应用命令函数单元。
在上述掩膜智能卡中,所述新增应用命令函数单元以函数指针方式调用函数访问应用命令处理单元、功能函数单元、补丁函数单元PFU补丁函数单元或者新增应用命令函数单元。
本发明由于采用了上述结构,主流程以函数指针的方式调用函数,通过修改存储在非易失可擦除存储器中的函数指针表,将有缺陷函数的函数指针值改为补丁函数的函数指针值,使得只读存储器中的程序执行顺序发生变化,达到缺陷修复和升级的目的。同时,本发明还可以通过修改存储在非易失可擦除存储器中的新增命令函数指针表,实现新的应用命令增加,达到功能扩展的目的,从而降低智能卡生产商的生产成本。同现有技术相比,本发明能以统一的结构、较少的空间实现最多的缺陷修复接口预留;除补丁函数和新增函数外,不要额外增加代码开销维护新的函数调用关系,以最小的代码维护代价实现缺陷修复和功能扩展;本发明的缺陷修复和新增命令解析没有增加额外的代码调用时间开销。因此具有结构简单、占用空间小、执行速度快的特点。
    下面结合附图和具体实施方式对本发明作进一步说明。
附图说明
图 1 为现有技术中掩膜智能卡的结构示意图;
图 2 为现有技术中能扩展功能的掩膜智能卡结构示意图;
图 3 为本发明的结构示意图;
图 4 为本发明实施例中的缺陷修复流程图;
图 5 为本发明实施例中的正常功能函数调用示意图;
图 6 为本发明实施例中的补丁函数调用示意图;
图 7 为本发明实施例中的扩展命令流程图;
图 8 为本发明实施例中的扩展应用命令之前的命令解析示意图;
图 9 为本发明实施例中的扩展应用命令之后的命令解析示意图。
具体实施方式
参看图3,本发明包括只读存储器S101、随机存储器S103和非易失可擦除存储器S102。只读存储器S101的操作系统S1011包括主流程S1012、应用命令处理单元S1013和功能函数单元S1014。随机存储器S103包括变量数据。非易失可擦除存储器S102包括可修改的用户数、功能函数指针表S1026、应用命令函数指针表S1025、补丁函数单元S1024、新增命令函数指针表S1022和新增应用命令函数单元S1023。只读存储器S101的操作系统S1011通过查询功能函数指针表S1026、应用命令函数指针表S1025和新增命令函数指针表S1022得到函数指针,以函数指针方式调用函数实现智能卡功能。函数指针以表格的方式存储在于非易失可擦除存储器S102中。功能函数指针表S1026存储的函数指针指向功能函数单元S1014或者补丁函数单元S1024。应用命令函数指针表S1025存储的函数指针指向应用命令处理单元S1013或者补丁函数单元S1024。新增命令函数指针表S1022存储的函数指针指向新增应用命令函数单元S1023。补丁函数单元S1024以函数指针方式调用函数访问应用命令处理单元S1013、功能函数单元S1014、补丁函数单元S1024或者新增应用命令函数单元S1023。新增应用命令函数单元S1023以函数指针方式调用函数访问应用命令处理单元S1013、功能函数单元S1014、补丁函数单元PFU补丁函数单元S1024或者新增应用命令函数单元S1023。
上述本发明中的非易失可擦除存储器采用的是电可擦可编程只读存储器EEPROM,当然也可以采用其他的电子元件,如闪存等。
参看图4,本发明工作时的智能卡缺陷修复流程为,首先确认需要修复的功能函数,编写补丁函数,将函数指针的值改为补丁函数的地址值。然后将非易失可擦除存储器S102中存储的函数指针表格更新,将补丁函数单元S1024下载到非易失可擦除存储器S102。
修复前的流程如图5所示,主流程S1012调用功能函数funcA()时,首先从功能函数指针表S1026获取函数指针值,然后以函数指针的方式调用,实现funcA()函数的功能。
以C语言示例:
初始条件:
void funcA(void);//功能函数funcA的声明
void (*pFuncA)(void);//函数指针pFuncA
PFT[x] = &funcA;//默认功能函数指针表第x个值等于funcA()函数的地址值
pFuncA = PFT[x];//给函数指针赋值
调用:
pFuncA();
修复前的PFT[x]存储的是功能函数单元S1014 funcA()函数的地址值。
修复后的结构如图6所示,对应funcA的补丁函数为funcA1(位于补丁函数单元S1024),修改函数指针表中PFT[x]的值为funcA1的地址值PFT[x] = &funcA1;。这样,原有的函数调用流程通过pFuncA的取值不同从而使函数调用关系发生变化。
示例:
pFuncA=PFT[x]; //此时已经是指针funcA1()的地址
pFuncA();   //执行的是funcA1()
本发明实例实现额外增加应用命令的扩展流程如图7所示,编写命令解析函数,将新增应用命令函数单元S1023以及其应用命令函数指针表S1025定位到非易失可擦除存储器S102,并写入新增命令个数S1021。
本发明扩展前的命令解析流程参看图8,主流程S1012按照指针方式调用应用命令处理单元S1013。只读存储器S101操作系统S1011收到应用命令后,遍历应用命令函数指针表S1025中,查找符合条件的命令,并获取函数指针值,然后以函数指针方式调用,解析命令。遍历条件范围是应用命令函数指针表S1025,此时新增命令个数S1021取值为0,不需要遍历新增命令函数指针表S1022。
C语言示例:
unsigned short funcAPDUA(void);//应用命令处理单元S1013中的应用命令解析函数
AFUT[x] = &funcAPDUA;
unsigned short(*pFuncAPDU)(void);//应用命令解析函数指针
if AFUT[x] 符合命令条件//条件符合funcAPDUA
    pFuncAPDU = AFUT[x];//获取函数指针值
status = pFuncAPDU();//执行
    if AFUT[]都不符合条件
        for each in NAFUT[N]//不需要新增命令时N=0
            if符合条件
            pFuncAPDU = NAFUT[y];
            pFuncAPDU();
    if AFUT[]和NAFUT[]都不符合条件
status = 无此命令
    当掩膜的只读存储器S101操作系统S1011原有命令解析单元不满足应用需要,需要额外增加N条命令时,参看图9,将新增应用命令函数单元S1023,新增命令函数指针表S1022定位到非易失可擦除存储器S102中,并修改新增命令个数S1021为N。当接收到新增命令时,通过命令条件解析,pFuncAPDU取值为新增命令函数指针表S1022中的值,该值指向新增应用命令函数单元S1023,从而实现新增命令的功能解析。
    当应用命令解析单元需要缺陷修复时,修复流程与功能函数单元缺陷修复流程一致(参看图4、图5和图6),只需要将应用命令函数指针表S1025中对应的函数指针值修改为补丁函数单元S1024中的补丁命令函数地址。
    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉此技术领域的技术人员在本发明公开的技术范围内,显而易见得到的变换或者替换,都应该属于本发明的保护范围。

Claims (7)

1.一种具有能扩展功能的掩膜智能卡,它包括只读存储器(S101)、随机存储器(S103)和非易失可擦除存储器(S102),只读存储器(S101)的操作系统(S1011)包括主流程(S1012)、应用命令处理单元(S1013)和功能函数单元(S1014),随机存储器(S103)包括变量数据,非易失可擦除存储器(S102)包括可修改的用户数据,其特征在于,所述非易失可擦除存储器(S102)还包括功能函数指针表(S1026)、应用命令函数指针表(S1025)、补丁函数单元(S1024)、新增命令函数指针表(S1022)和新增应用命令函数单元(S1023),只读存储器(S101)的操作系统(S1011)通过查询功能函数指针表(S1026)、应用命令函数指针表(S1025)和新增命令函数指针表(S1022)得到函数指针,以函数指针方式调用函数实现智能卡功能。
2.根据权利要求1所述的掩膜智能卡,其特征在于,所述函数指针以表格的方式存储在非易失可擦除存储器(S102)中。
3.根据权利要求1或2所述的掩膜智能卡,其特征在于,所述功能函数指针表(S1026)存储的函数指针指向功能函数单元(S1014)或者补丁函数单元(S1024)。
4.根据权利要求3所述的掩膜智能卡,其特征在于,所述应用命令函数指针表(S1025)存储的函数指针指向应用命令处理单元(S1013)或者补丁函数单元(S1024)。
5.根据权利要求4所述的掩膜智能卡,其特征在于,所述新增命令函数指针表(S1022)存储的函数指针指向新增应用命令函数单元(S1023)。
6.根据权利要求5所述的掩膜智能卡,其特征在于,所述补丁函数单元(S1024)以函数指针方式调用函数访问应用命令处理单元(S1013)、功能函数单元(S1014)、补丁函数单元(S1024)或者新增应用命令函数单元(S1023)。
7.根据权利要求6所述的掩膜智能卡,其特征在于,所述新增应用命令函数单元(S1023)以函数指针方式调用函数访问应用命令处理单元(S1013)、功能函数单元(S1014)、补丁函数单元PFU补丁函数单元(S1024)或者新增应用命令函数单元(S1023)。
CN201210296725.0A 2012-08-21 2012-08-21 一种具有扩展功能的掩膜智能卡 Active CN103632185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210296725.0A CN103632185B (zh) 2012-08-21 2012-08-21 一种具有扩展功能的掩膜智能卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210296725.0A CN103632185B (zh) 2012-08-21 2012-08-21 一种具有扩展功能的掩膜智能卡

Publications (2)

Publication Number Publication Date
CN103632185A true CN103632185A (zh) 2014-03-12
CN103632185B CN103632185B (zh) 2016-06-22

Family

ID=50213211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210296725.0A Active CN103632185B (zh) 2012-08-21 2012-08-21 一种具有扩展功能的掩膜智能卡

Country Status (1)

Country Link
CN (1) CN103632185B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196946A1 (zh) * 2014-06-24 2015-12-30 飞天诚信科技股份有限公司 一种JavaCard应用功能扩展的实现方法
CN105631505A (zh) * 2014-11-07 2016-06-01 北京同方微电子有限公司 一种支持java卡补丁函数的智能卡
CN106021089A (zh) * 2015-10-30 2016-10-12 北京中电华大电子设计有限责任公司 一种补丁接口的测试方法及装置
CN106529650A (zh) * 2015-09-10 2017-03-22 北京数码视讯科技股份有限公司 一种智能卡掩膜应用的扩展方法及装置
CN107391085A (zh) * 2017-06-20 2017-11-24 深圳芯邦科技股份有限公司 一种rom代码补丁运行方法和系统
CN108897697A (zh) * 2018-05-30 2018-11-27 建荣半导体(深圳)有限公司 配置掩膜rom数据的方法及其装置、芯片及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060291812A1 (en) * 2005-06-28 2006-12-28 Kabushiki Kaisha Toshiba Apparatus and method for reproducing moving image data
CN101533481A (zh) * 2009-04-03 2009-09-16 东信和平智能卡股份有限公司 掩膜智能卡的功能扩展方法
CN102063634A (zh) * 2010-12-24 2011-05-18 北京握奇数据系统有限公司 一种掩膜智能卡的功能扩展方法及智能卡

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060291812A1 (en) * 2005-06-28 2006-12-28 Kabushiki Kaisha Toshiba Apparatus and method for reproducing moving image data
CN101533481A (zh) * 2009-04-03 2009-09-16 东信和平智能卡股份有限公司 掩膜智能卡的功能扩展方法
CN102063634A (zh) * 2010-12-24 2011-05-18 北京握奇数据系统有限公司 一种掩膜智能卡的功能扩展方法及智能卡

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196946A1 (zh) * 2014-06-24 2015-12-30 飞天诚信科技股份有限公司 一种JavaCard应用功能扩展的实现方法
CN104102507B (zh) * 2014-06-24 2017-05-10 飞天诚信科技股份有限公司 一种JavaCard应用功能扩展的实现方法
US10248795B2 (en) 2014-06-24 2019-04-02 Feitian Technologies Co., Ltd. Implementing method for JavaCard application function expansion
CN105631505A (zh) * 2014-11-07 2016-06-01 北京同方微电子有限公司 一种支持java卡补丁函数的智能卡
CN105631505B (zh) * 2014-11-07 2024-01-05 紫光同芯微电子有限公司 一种支持java卡补丁函数的智能卡
CN106529650A (zh) * 2015-09-10 2017-03-22 北京数码视讯科技股份有限公司 一种智能卡掩膜应用的扩展方法及装置
CN106529650B (zh) * 2015-09-10 2020-03-17 北京数码视讯科技股份有限公司 一种智能卡掩膜应用的扩展方法及装置
CN106021089A (zh) * 2015-10-30 2016-10-12 北京中电华大电子设计有限责任公司 一种补丁接口的测试方法及装置
CN106021089B (zh) * 2015-10-30 2018-09-18 北京中电华大电子设计有限责任公司 一种补丁接口的测试方法及装置
CN107391085A (zh) * 2017-06-20 2017-11-24 深圳芯邦科技股份有限公司 一种rom代码补丁运行方法和系统
CN108897697A (zh) * 2018-05-30 2018-11-27 建荣半导体(深圳)有限公司 配置掩膜rom数据的方法及其装置、芯片及电子设备
CN108897697B (zh) * 2018-05-30 2021-05-11 建荣半导体(深圳)有限公司 配置掩膜rom数据的方法及其装置、芯片及电子设备

Also Published As

Publication number Publication date
CN103632185B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN103632185B (zh) 一种具有扩展功能的掩膜智能卡
CN102063634B (zh) 一种掩膜智能卡的功能扩展方法及智能卡
CN102129425B (zh) 数据仓库中大对象集合表的访问方法及装置
JP7047228B2 (ja) データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム
CN105204871A (zh) 一种插件式开发方法和装置
CN103345469B (zh) 号码集合的存储、查询方法及其装置
US10235300B2 (en) Memory system including memory device and operation method thereof
CN102591787B (zh) Java卡的数据处理方法及装置
CN102169460A (zh) 变长数据管理方法及装置
CN103544269A (zh) 目录的存储方法、查询方法及节点控制器
CN101963912A (zh) 一种实现保存和校验系统硬件配置信息的方法
CN108664577B (zh) 一种基于flash空闲区的文件管理方法及系统
CN103678187A (zh) 一种微控制单元及其控制方法
CN111324427A (zh) 一种基于dsp的任务调度方法及装置
US20140052710A1 (en) Device and method of mass data storage based on tree structure
CN111813517A (zh) 任务队列的分配方法、装置、计算机设备及介质
CN103870511A (zh) 基于共享内存的信息查询设备及方法
US9195582B2 (en) Data storing method and apparatus applied to flash memory storage device
CN103377135A (zh) 寻址方法、装置及系统
CN101714096A (zh) 一种配置信息更新方法和装置
CN106126595A (zh) 一种文件下载方法及装置
CN108958814A (zh) 一种多模冗余的嵌入式操作系统启动方法
CN115964002B (zh) 一种电能表终端档案管理方法、装置、设备及介质
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN114610243B (zh) 一种精简卷转换方法、系统、存储介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100083 Beijing City, Haidian District Wudaokou Wangzhuang Road No. 1 Tongfang Technology Plaza D floor 18 West

Applicant after: BEIJING TONGFANG MICROELECTRONICS Co.,Ltd.

Address before: 100083 Haidian District Tsinghua Tongfang Technology Plaza, block A, floor 29, Beijing

Applicant before: BEIJING TONGFANG MICROELECTRONICS Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100083 18 / F, building 4, yard 1, Wangzhuang Road, Haidian District, Beijing

Patentee after: ZIGUANG TONGXIN MICROELECTRONICS CO.,LTD.

Address before: 100083 Beijing City, Haidian District Wudaokou Wangzhuang Road No. 1 Tongfang Technology Plaza D floor 18 West

Patentee before: BEIJING TONGFANG MICROELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191225

Address after: No. 1511-05, floor 15, building D, Tsinghua Tongfang science and technology building, No. 1, Wangzhuang Road, Haidian District, Beijing 100083

Patentee after: Beijing Ziguang sinomenine microsystem Co.,Ltd.

Address before: 100083 18 / F, building 4, yard 1, Wangzhuang Road, Haidian District, Beijing

Patentee before: ZIGUANG TONGXIN MICROELECTRONICS CO.,LTD.