CN1273943C - 用于管理要存储在可编程智能卡上的数据的方法和系统 - Google Patents

用于管理要存储在可编程智能卡上的数据的方法和系统 Download PDF

Info

Publication number
CN1273943C
CN1273943C CNB028114825A CN02811482A CN1273943C CN 1273943 C CN1273943 C CN 1273943C CN B028114825 A CNB028114825 A CN B028114825A CN 02811482 A CN02811482 A CN 02811482A CN 1273943 C CN1273943 C CN 1273943C
Authority
CN
China
Prior art keywords
code
program
management
data
storer
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.)
Expired - Fee Related
Application number
CNB028114825A
Other languages
English (en)
Other versions
CN1514987A (zh
Inventor
L·拉戈桑托
F·米勒特
J·-J·范德瓦勒
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.)
Jin Yatuo
Gemalto Oy
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of CN1514987A publication Critical patent/CN1514987A/zh
Application granted granted Critical
Publication of CN1273943C publication Critical patent/CN1273943C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Abstract

本发明涉及被设计成存储在存储器(6)中的数据的管理,所述数据被设计成按照至少包括第一管理模式和第二管理模式的不同管理模式来管理。本发明的特征在于它包括:在数据准备阶段提供标识,用于分别标识要根据不同模式来管理的数据,以及根据所述提供的标识来管理和/或操作数据(E6,P1)。存储器可位于可编程智能卡中。因此,数据可包括与应用程序相关的代码,其中一部分(管理代码)被设计成在初始阶段对应用程序进行个性化,所述标识涉及与所述代码部分相关的数据。

Description

用于管理要存储在可编程智 能卡上的数据的方法和系统
技术领域
本发明涉及为了优化存储可能性而对要装入存储器的数据的管理。具体地说,所述数据可以是构成“应用程序”类型的程序的代码,并且要装入诸如可编程智能卡之类的通信装置的存储器。
背景技术
随着可编程智能卡的出现,不同来源的服务应用程序、即可执行的软件程序可装入其中。为此,开放卡包括可重写存储空间,只要处理器能够执行服务应用程序,该存储空间便可象个人计算机上的硬盘一样,根据此类服务应用程序的使用以可扩充方式存储一个或多个服务应用程序。
这些服务应用程序在英语中也称为“card applets”,它们通常由智能卡发行者授权的服务提供商设计,例如由银行和保健机构、经销商以及其它服务提供商来设计。这些服务应用程序为复杂的程序,通常是在制造时(发行前装入)或随后在其使用过程中(发行后装入)使用诸如Java、C++或Microsoft Windows Basic等高级语言编写的,以便以程序块的形式传送到卡存储器中。
对于要包括服务应用程序的卡制造商而言,服务应用程序来自于外部源,制造商不太了解程序代码,因此无法为存储代码建立适当的管理。
具体地说,制造商无法根据应用程序代码的各部分是关于仅仅暂时有用的个性化、还是关于任何时候都可使用的其它部分,对应用程序代码的各部分提供不同的管理。
可以这么说,应用程序的个性化是在初始阶段执行的一系列操作,这些操作能够针对持卡人对应用程序进行个性化。个性化代码包含称为“管理”的各种命令,用于例如将标识和授权代码以及其它个人数据装入寄存器,以及按照根据持卡人设置的选择或限制等来配置应用程序。
在个性化阶段中,应用程序被激活,可能与内部卡管理程序合作,用于执行个性化所需的所有管理命令。一旦这种个性化正确完成后,管理命令不再有任何用处,除非它们可被单独管理,否则仍与应用程序的其它部分一起保存在存储器中。然而,这些管理命令可能占用了所述应用程序在存储器中所占总空间的百分之几十,因此这限制了智能卡接受新应用程序的能力。
发明内容
考虑到上述原因,本发明的目的是提供一种要存储在存储器中的一组数据的各部分的标识,从而能够分开管理这些部分,以便能够优化存储容量。因此,在上述示例的情况中,数据涉及形成要个性化的应用程序的所有代码,根据建立的规则,与管理个性化命令对应的部分将在代码中这样标识(即指明),这样,它们可被识别并在卡内分开管理,特别是,个性化一完成,就可释放它们在存储器中占用的空间。
根据第一方面,本发明涉及一种管理要存储在存储器中的可执行程序的代码的方法,其中所述代码的至少一部分只在所述程序的初始阶段执行,其特征在于它包括以下步骤:在代码产生阶段,提供一种标识,用于标识所述代码的所述至少一部分;以及根据所述提供的标识,管理所述代码的存储和/或使用。
这种情况下,本发明的目的将更具体为管理要存储在存储器中的数据的方法,其特征在于,它包括以下步骤:在数据产生阶段,为那些与其它数据相比、其效用只是暂时的数据提供一种标识;根据提供的标识来管理数据的存储。有利的是,标识结合于数据中。
在一种设想的应用程序中,数据包括与可执行程序有关的代码,其中被标识为要用于第一管理模式的一部分数据与仅在程序的初始阶段要用的代码有关。
存储器可能位于诸如智能卡之类的通信装置中,数据包括与应用程序有关的代码,其中被标识为要用于第一管理模式的一部分数据与在初始阶段的应用程序的个性化代码有关。
有利的是,管理数据存储的步骤包括以下子步骤:确定所标识的数据在存储器中的地址;检测所标识的数据的效用是否结束;以及然后授权再用所述地址中的至少一部分,以便随后在这些地址存储其它数据。
此步骤也可包括在检测效用结束的步骤之后擦除所标识的数据的步骤。
在这种情况下,可以规定,在所标识的数据的有效期之后,将所标识的数据转到要用于擦除或重写操作的特定存储区。
可以设想,当数据与以高级语言编写的程序有关时,提供在此语言级别的标识。
例如,当语言包括模块时,标识可通过命名技术来提供,其中,向与要标识的数据相关的程序的一个或多个模块分配根据所建立的规则可识别的名称。
当语言经过分型(typed)时,标识可通过分型技术来提供,其中,向与要标识的数据相关的所述程序的一个或每个类型赋予到根据所建立的规则可识别的指定类型的分型链接。
在分型语言属于面向对象的类型的情况下,向与要标识的数据相关的程序的一个或每个类赋予根据所建立的规则可识别的指定类的继承链接,从而实现分型。
还可以设想在存储期间数据的表示级上提供标识。
例如,如果数据是以文件等形式产生的,则可以根据所建立的规则,通过指定与要标识的数据相关的一个或多个文件来提供标识。
如果数据是以指令代码的形式产生的,则可以根据所建立的规则,通过为与要标识的数据相关的指令加标记来提供标识;所述标记被附加到每个相关指令或者相关指令的定界组。
有利的是,所述方法还可提供检查步骤,检查相对于本身被指定要保留在存储器中的其它数据、具有暂时效用的数据的正确标识,本发明包括检查所述其它数据未调用被标识为仅有暂时效用的数据。
如果所标识的数据对应于仅在程序的初始阶段要用的程序部分的代码,并且其它数据对应于所述程序的其余部分的代码,则分析可包括检查程序的其余部分的代码的指令未借助于仅在程序的初始阶段使用的代码的指令。
检查后,如果检查步骤指明标识错误,则也可以规定这样的步骤:将标识为仅有暂时效用的数据与其它存储数据同样看待,保持在存储器中。
除了有关相对于其它数据具有暂时效用的数据的那些管理外,本发明还可适用于其它类型的管理。这是因为标识允许的管理也可专门用于:
确定存储器中数据的位置,此位置取决于标识;
涉及在装置内所述数据的路由选择的管理,此路由选择随所述标识而定。例如,在诸如具有此类方式的智能卡等多处理器装置的环境中,可对从几个处理器之中根据所述标识选定的一个处理器进行路由选择;
涉及数据加密的管理,对所述数据的加密或不加密随所述标识而定;
涉及数据完整性检查的管理,根据所述标识,所述数据要进行完整性检查;等等。
根据第二方面,本发明涉及一种用于管理要存储在存储器中的可执行程序的代码的系统,其中所述代码的至少一部分只在所述程序的初始阶段使用,其特征在于,所述系统包括:标识装置,用于在所述代码的产生阶段提供一种标识,以标识所述代码的所述至少一部分;以及根据所述提供的标识管理所述代码的存储和/或使用的装置。
以上在方法的上下文中提供的本发明的任意方面在经过必要修改后可应用于此系统。
根据第三方面,本发明涉及一种可编程智能卡,它包括:第一可编程存储器,用于存储构成应用程序的代码;第二存储器,包含用于根据所建立的规则识别已装入的应用程序的管理代码的标识的指令,此代码要用于在初始阶段对所述应用程序进行个性化。
在设想的实施例中,第二存储器也包括用于授权擦除第一存储器中的管理代码的指令,该指令在应用程序的个性化结束之后激活。
参照附图,阅读下面仅以非限定示例方式提供的最佳实施例的说明,可以更好地理解本发明及其优点。
附图说明
图1是智能卡的主要单元的简化框图;
图2是根据本发明、用于图1的智能卡的应用程序的管理代码部分的标识协议的流程图;
图3是将应用程序装入卡中并管理图2协议中所用的可编程存储器的过程的流程图;
图4是图3的修改形式的流程图,其中加入用于验证数据标识的措施。
具体实施方式
图1的框图中以方框形式表示了可编程智能卡1的基本功能单元。位于中心的是微处理器(CPU)2,它提供卡的所有内部管理功能以及执行在其中编程的应用程序。微处理器通过内部总线4的系统连接到三种类型的存储器:
只读(ROM)类型、但可电擦除和可编程的可编程存储器(EEPROM)6。此存储器用于装入能够由微处理器2执行的一种或多种服务的一个或多个应用程序;
掩模ROM类型的存储器8,包含用于卡的内部管理的所有代码和软件值。这些数据在制造芯片时已输入淀积掩模层。掩模ROM存储器8的内容高度链接到智能卡的硬件装置,其代码通常由卡制造商确定;以及
随机存取(RAM)类型的存储器10,用于存储临时数据,如寄存器的内容、要装入微处理器的代码块、等等。
内部总线4也连接到通信接口12,该接口构成面向外部世界的数据输入与输出端口,并向卡1提供电源。此接口的形式可以是用于与阅读器上的相应触点接合的连接垫和/或在所谓的非接触式卡的情况中的天线。除其它功能外,通信接口12主要用于与为将应用程序装入EEPROM存储器6而设置的终端进行双向数据交换。
本发明应用于这种开放式可编程智能卡的环境时,在服务应用程序的设计者与卡制造商这双方之间提供了规则,旨在严格标识个性化,也就是针对其余代码、即客户应用程序使用的“功能”的“管理”代码(只用于个性化的代码)。此标识由设计者写入服务应用程序并且在掩模存储器8中存储的管理软件级上识别。
随后,EEPROM存储器6的管理可根据此识别来建立,具体方式是,在个性化完成之后,对位于为管理代码存储分配的地址上的数据进行擦除或压缩。
图2和图3的流程图说明了管理代码的标识的此类使用的一般概念。
在初始阶段,服务应用程序的设计者C和可编程智能卡的制造商F商定用于管理代码的标识规则(步骤E2)。此规则在卡与服务应用程序之间提供了互通性。
根据此规则,设计者在其应用程序中提供了管理代码的标识(通过标志、命名、标记等等)(步骤E4)。构成此标识的信息与构成应用程序的代码的所有数据结合在一起。
对于制造商而言,他根据下面描述的装入卡中的过程和存储器管理P1,在掩模ROM存储器8中写入用于识别这样标识的代码以及用于在EEPROM存储器6中管理此代码所需的命令(步骤E6)。
设计者在此时类似于使用应用程序的所有者,他广播应用程序以便在智能卡中集成应用程序(步骤E8)。为此,他将应用程序发送到制造商,以便从工厂中的终端装入空卡(发放前装入),如有必要,在“用户”终端B2上由智能卡的持有者装入(发放后装入)。例如,持卡人可通过终端B2装入其希望使用的新商业服务的应用程序。
装入应用程序,无论是通过工厂的终端B1还是通过“用户”终端B2,都会使过程P1作为后台任务执行,这将参考图3更详细描述。终端B1和B2通常包括一种程序,用于管理已标识个性化代码和应用程序代码(功能)的应用程序的装入。此程序将从终端B1或B2装入完整的应用程序代码,并在收到即时个性化请求时,在个性化阶段传输所需的指令。
此过程从在智能卡1中检测是否在EEPROM存储器6中装入应用程序开始(步骤E10)。当检测到应用程序装入时,分析构成代码的数据流,以便识别其中与管理代码相关的数据(步骤E12)。这种识别是根据标识规则通过步骤E6中建立的识别命令来执行的。
然后在EEPROM 6中,确定为管理代码的数据分配的地址(步骤E14)。此步骤可通过两种方式执行:
-被动,也就是说,在寄存器(EEPROM 6或RAM 10中)中列出管理代码的数据所占用的一系列地址,而无需对这些地址进行选择;或者
-动态,引导管理代码的数据到EEPROM 6中给定的地址区,与形成其余代码的其它数据分开。
此确定过程会继续进行,直至检测到应用程序装入结束为止(步骤E16)。
这样,获得了装有此应用程序的卡,以及管理代码占用的EEPROM 6中地址的内部标识。该过程随后进入等待个性化请求的阶段,也就是执行针对所装入的应用程序的管理代码。个性化可在装入应用程序后任何时间发生。通常,持卡者在任意选择的时间在为此目的提供的终端(例如银行终端)中插入智能卡后,个性化就会发生。
无论卡1何时与终端进行通信,过程P1会再一次执行,以便确定是否发出了个性化请求(步骤E18)。如果发出了请求,则装入EEPROM存储器6中的个性化程序会以常规方式执行(步骤E20)。个性化通常要求卡与终端之间对话,终端使服务提供商能够通过管理命令输入个人数据(标识码、密码、选择的选项等等)。考虑到这些个人数据(例如为了在每次使用时验证个人代码,根据选择的选项来管理交换,等等),个性化将会配置卡内的应用程序。应当指出,个性化在应用程序的初始阶段发生只此一次;基于个人数据的应用程序的配置随后会被冻结。因此,一旦个性化结束,管理代码便不再有用。
在个性化结束时(步骤E22),检测到例如同时仍在等待终端的命令或特定代码时,该过程允许再用位于步骤E14中的管理代码的地址(步骤E24)。此授权允许对EEPROM存储空间6的管理的几种可能性:
-例如在另一个应用程序装入时,在先前由管理代码占用的地址上输入新的数据。在这种情况下,在为其它数据请求使用EEPROM存储器6中的这些地址之前,管理代码可以一直存在;
-授权之后,立即通过由终端装入程序或内部管理程序执行的例程对管理代码的数据进行物理擦除;或者
-压缩管理代码的数据,使先前占用的一些地址变为可用的。
根据识别EEPROM存储器6中的空闲地址的常规技术,卡1的内部管理程序可实现此步骤E24。
无论选择哪种可能性,所述管理可以恢复个性化代码执行后它在EEPROM存储器6中不必要占用的空间。
个性化代码可以使用许多不同的方式来标识,下面将介绍其中的几个示例:
这些示例可分成两类:一类取决于开发应用程序所用的编程语言,一类取决于应用程序的代码存储的方式(在文件中)。
1.通过编程语言标识个性化代码
当前,使用相对高级的语言对智能卡编程。现在的情况不再是通过非常低级的切割来操作一大串指令(接近机器),而是使用更加抽象的方式,其中指令在由Pascal、Ada、C等语言编写的程序中组合在一起。在甚至更高级的语言中,转到将称为模块的一些功能集组合在一起的程度。通过甚至更高级的语言(Java、C++等等),涉及相同元素的程序和数据同时组合在一起,称作模块或类。
根据本发明,这些高级语言提供可用于以适当方式标识管理代码的高级抽象。
第一方法包括声明与管理代码相关的所有内容放入给定模块。为此,可以通过两种方式进行:“命名”或“分型”。
命名包括通过表达式给此模块或多个模块命名,使第三方可识别该模块包含个性化代码,例如,为模块分配前缀“perso”或者任何其它根据上述步骤E2中在卡制造商与客户应用程序设计者之间达成的命名规则来建立的前缀。当然,包含其余代码的其它模块必须不使用此前缀。这样,存储于智能卡的掩模ROM存储器8中的管理软件通过读取模块名称,知道了用于个性化的代码部分所在的位置并相应地采取行动,例如,在个性化之后将它们放入将要经受擦除阶段的单元地址(见图3的步骤E12、E14)。
基于分型的方法适用于面向对象的语言。这些语言使用类似于模块的“类”,每一类定义一种数据“类型”和相关的处理。这些类型是根据类型的分级结构来组织的,从最一般的变到最具体的,即,一般,在附有符合称为“继承”链接的所建立相关链接的类及其实例处找到基本类型,一个类从分级结构中其依赖的所有类“继承”。因此,可以根据步骤E2中固定的规则,例如“perso”,指定个性化类从个性化专用的特定类“继承”。其它类的代码不从此“perso”类继承。“perso”类可能为空的,这就是仅用于创建继承链接的外壳的问题。在编程期间,检查与个性化相关的代码是否在从此“perso”类继承的类中组合在一起。
对于智能卡,在代码收到后(见图3步骤E12),掩模ROM 8中的管理软件执行类型分析,以便确定包含在程序中的模块类型。模块的类型指定了其向上分级的链接。因此,可通过模块类型确定是否后者在任意分级级别上从该“perso”模块继承。如果是这种情况,则认为所述模块包括如步骤E14中要管理的个性化代码。
2.通过应用程序的代码的存储来标识个性化代码
开发设计者在创建其应用程序时,刚描述的两种方法会起作用。
可以设想其它两种技术,它们不仅在应用程序设计时起作用,也在应用程序传输给制造商时起作用:
1.设计者传送有关个性化的代码所用的文件与包含其余代码的一个或多个文件分开。这样在装入应用程序时可识别的分开文件(图3,步骤E12)随后可被定位于存储器中(步骤E14)。
2.加标记,其中传送包含应用程序的所有代码(管理代码和其它代码)的文件。此文件是一连串指令的形式(例如从0到n)。随后,根据上述步骤E2期间所建立的规则,用标记(在英语表达中也叫“tag”)指明此系列中有关个性化的指令。例如,一连串个性化指令将以标记“个性化代码的开始”开始,以标记“个性化代码的结束”结束。
标记可在每一个性化代码前面相关联。这种情况下,如果指令是分开的,则必需考虑代码之间的链接。
现在参考图4描述图3中的过程P1的修改方案,它与此过程基本不同之处在于,它包括用于确定标识中是否有错误的验证步骤。图4中的步骤E10-E24与图3中对应的步骤是一样的,为简明起见,这些步骤将不再描述。
无论采用什么方式标识应用程序代码中的个性化代码,都可能出现以下情况:一些功能代码被错误地标识为个性化代码。随后,此代码会容易被擦除(步骤E24),从而导致应用程序工作不正常。
为了避免这种错误源,该修改方案在个性化代码地址上的擦除授权步骤之前提供了验证步骤。根据使用的技术,此验证可在上述过程P1中的不同时间进行,或者甚至在其执行前的某个阶段进行。验证的结果被记录,以便在作为此验证的对象的程序装入期间可访问。在示例中,刚好在条件转换步骤E26中的个性化结束后(步骤E22)使用了此结果,以便确定是否正在通过授权再用个性化代码地址的步骤E24。如果未检测到标识错误,则该过程会如图3的情况一样通过授权步骤E24(分支b1)。如果检测到至少一处标识错误,则该过程会绕过授权步骤E24。这种情况下,和管理代码有关的数据与应用程序的其它数据一样保持在存储器6中。
总之,验证包括检查功能代码没有使用管理代码,例如通过指令“goto”。
可设想几种技术用于此目的。例如,验证可以在装入应用程序后在卡1上进行。这种情况下,卡会在步骤E14中受到管理,以便在两个定界地址(AP1-APn)之间存储个性化代码,并在功能代码执行期间检查没有到在AP1与Apn之间的地址的跳转。
通过执行用于确定功能代码是否使用管理代码的代码分析,验证也可以在卡外执行,该分析会指出在指定管理代码时的错误。
例如,通过“分型”方法,可以验证功能代码从未访问“perso”类型的对象。
检查之后如果发现此类错误,则可以适当的方式作出反应,具体地说,是通过禁止擦除来作出反应。
显然,本发明讲授的内容可采取许多等效形式并且适用于其它领域。
在所述示例中,标识附加到管理代码中;然而,通过相反地将标识附加到应用程序代码,可获得等效的技术效果。这种情况下,通过使所附加的标识不存在,该过程将适用于识别管理代码。
利用本发明,能够以智能方式管理存储于存储器6中的数据,在个性化之后,当数据不再有用时,允许从存储器中消除与管理代码相关的数据。由此释放的存储空间则可用于存储其它数据,例如卡上对应于附加程序的数据。从而达到对存储空间6使用的优化并且增加了存储应用程序或其它数据的可能性。
应当指出,本发明绝不限于刚描述的实施例。这是因为如介绍部分中所述,本发明允许管理与数据相关的许多不同参数,其中,除其它功能外,数据标识可用于:在存储器中确定存储单元;确定对应数据的路由选择,例如路由到与存储器相关联的几个处理器中的一个特定处理器;确定是否必须对数据加密;确定是否数据必须进行完整性检查和/或检查的条件,等等。

Claims (23)

1.一种管理要存储在存储器(6)中的可执行程序的代码的方法,其中所述代码的至少一部分只在所述程序的初始阶段执行,其特征在于它包括以下步骤:
在代码产生阶段,提供一种标识,用于标识所述代码的所述至少一部分;以及
根据所述提供的标识(E6,P1),管理所述代码的存储和/或使用。
2.如权利要求1所述的方法,其特征在于,所述标识包含在所述代码中。
3.如权利要求1所述的方法,其特征在于,所述存储器(6)位于通信装置(1)中,并且所述代码包括与应用程序相关的代码,其中所述代码的上述至少一部分包括只在所述应用程序执行的初始阶段中使用的所述应用程序的个性化代码。
4.如权利要求1所述的方法,其特征在于,所述管理代码存储的步骤包括以下子步骤:
确定所述代码的被标识的部分在存储器中被存储的位置(E14);
检测所述代码的被标识部分已被使用(E22);以及
然后授权再用所述存储器位置中的至少一部分,以便随后在这些存储器位置存储其它数据(E24)。
5.如权利要求4所述的方法,其特征在于,所述管理代码存储的步骤还包括在所述检测所述代码的被标识部分已被使用的步骤之后擦除所述代码的被标识部分的步骤。
6.如权利要求1所述的方法,其特征在于所述管理代码存储的步骤包括在所述代码的被标识部分被检测为已被使用之后,将所述代码的被标识部分转到所述存储器的用于存储将被擦除或重写操作的代码的特定区域。
7.如权利要求6所述的方法,其特征在于所述方法还包括检查所述代码的被标识为只在所述程序的初始阶段使用的部分没有被其它代码调用。
8.如权利要求7所述的方法,其特征在于,所述方法还包括以下步骤:如果所述代码的被标识的部分被其它代码调用,则将所述代码的被标识为只在所述程序的初始阶段使用的部分与其它所述存储代码一样保留在存储器(6)中。
9.如权利要求1所述的方法,其特征在于,所述程序是以高级语言编写的程序,并且所述标识是在所述语言的等级上提供的。
10.如权利要求9所述的方法,其特征在于,所述程序包括模块,并且所述标识是通过命名技术提供的,其中,向与要标识的所述代码的所述部分相关的所述程序的一个或每个模块分配根据一个已建立的规则可识别的名称。
11.如权利要求10所述的方法,其特征在于,所述语言是一种分型语言,并且所述标识是通过分型技术提供的,其中,向与要标识的所述代码的所述部分相关的所述程序的一个或每个类型,赋予到根据所建立的规则可识别的指定类型的分型链接。
12.如权利要求1所述的方法,其特征在于,所述代码是以文件等形式产生的,并且根据所建立的规则,通过指定与要标识的所述代码的所述部分相关的一个或多个文件来提供所述标识。
13.如权利要求1所述的方法,其特征在于,所述代码包括指令,并且根据一个所建立的规则,通过为与要标识的所述代码的所述部分相关的指令加标记来提供所述标识,所述标记被附加于每个相关指令或相关指令的定界组。
14.如权利要求1所述的方法,其特征在于,所述存储器(6)位于可编程智能卡(1)中。
15.一种用于管理要存储在存储器(6)中的可执行程序的代码的系统,其中所述代码的至少一部分只在所述程序的初始阶段使用,其特征在于,所述系统包括:
标识装置,用于在所述代码的产生阶段提供一种标识,以标识所述代码的所述至少一部分;以及
根据所述提供的标识管理所述代码的存储和/或使用的装置(E6,P1)。
16.如权利要求15所述的系统,其特征在于所述标识装置用于将所述标识结合在所述代码中。
17.如权利要求15所述的系统,其特征在于,所述存储器(6)位于一个通信装置(1)中,并且所述代码包括与应用程序相关的代码,其中所述代码的所述至少一部分包括只在所述应用程序执行的初始阶段中使用的所述应用程序的个性化代码。
18.如权利要求15所述的系统,其特征在于,所述管理装置包括:
确定所述代码的被标识部分在所述存储器中的位置的装置(E14);
检测所述代码的被标识部分已被使用的装置(E22);以及
然后授权再用所述存储器位置中的至少一部分、以便随后在这些存储器位置存储其它数据的装置(E24)。
19.如权利要求18所述的系统,其特征在于,所述管理装置还包括在检测到所述代码的被标识部分已被使用后激活、以便擦除所述代码的被标识部分的装置。
20.如权利要求15所述的系统,其特征在于,所述管理装置包括用于在所述代码的所述部分被检测为已被使用之后、将所述代码的被标识部分转到被保留用于存储要擦除或重写操作的代码的特定存储区的装置。
21.如权利要求20所述的系统,其特征在于,还包括检查所述代码的被标识为只在程序的初始阶段使用的部分没有被其它代码调用的装置。
22.如权利要求21所述的系统,其特征在于,它还包括这样的装置:如果所述代码的所述被标识部分被确定为将被其它代码调用,则将被标识为仅在所述程序的初始阶段使用的所述代码的所述部分与其它存储数据一样保留在存储器(6)中。
23.如权利要求15所述的系统,其特征在于,所述存储器(6)位于可编程智能卡(1)中。
CNB028114825A 2001-04-10 2002-04-09 用于管理要存储在可编程智能卡上的数据的方法和系统 Expired - Fee Related CN1273943C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR01/04889 2001-04-10
FR0104889A FR2823330B1 (fr) 2001-04-10 2001-04-10 Procede et systeme de gestion de donnees destinees a etre stockees dans une memoire, par exemple du code d'une application charge dans une carte a puce programmable

Publications (2)

Publication Number Publication Date
CN1514987A CN1514987A (zh) 2004-07-21
CN1273943C true CN1273943C (zh) 2006-09-06

Family

ID=8862175

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028114825A Expired - Fee Related CN1273943C (zh) 2001-04-10 2002-04-09 用于管理要存储在可编程智能卡上的数据的方法和系统

Country Status (5)

Country Link
US (1) US7025261B2 (zh)
EP (1) EP1388134A1 (zh)
CN (1) CN1273943C (zh)
FR (1) FR2823330B1 (zh)
WO (1) WO2002084610A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473093A (zh) * 2013-09-05 2013-12-25 飞天诚信科技股份有限公司 一种管理卡片上应用的方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070566A1 (en) * 2005-12-29 2010-03-18 Jean-Jacques Vandewalle System and Method for Deploying Customised Web Applications
CN101401132B (zh) * 2006-03-14 2011-05-25 Nxp股份有限公司 自动配置的智能卡及自动配置智能卡的方法
US7753281B2 (en) * 2006-06-01 2010-07-13 Hewlett-Packard Development Company, L.P. System and method of updating a first version of a data file in a contactless flash memory device
US7895245B2 (en) * 2006-10-31 2011-02-22 Hewlett Packard Development Company, L.P. Methods and systems for managing data stored on a contactless flash memory device
EP2122554A4 (en) * 2007-02-09 2012-03-28 Business Intelligent Proc Systems Plc SYSTEM AND METHOD FOR IMPLEMENTING PAYMENT TRANSACTIONS WITH AGE CHECK, IDENTITY CHECK AND TAX MANAGEMENT
US8917165B2 (en) * 2007-03-08 2014-12-23 The Mitre Corporation RFID tag detection and re-personalization
KR100942093B1 (ko) * 2007-05-30 2010-02-12 미쓰비시덴키 가부시키가이샤 전기차의 브레이크 제어 장치
CN103577465A (zh) * 2012-08-02 2014-02-12 亿赞普(北京)科技有限公司 系统数据处理系统及方法
KR102245648B1 (ko) * 2012-09-10 2021-04-29 에이매스, 아이엔씨. 복수의 기기를 이용한 다차원의 환경 데이터 캡쳐
CN103617401B (zh) * 2013-11-25 2017-02-08 北京深思数盾科技股份有限公司 一种数据文件保护方法及装置
CN107729260A (zh) * 2017-09-30 2018-02-23 捷德(中国)信息科技有限公司 用于智能卡的存储空间回收方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825054A (en) * 1988-02-16 1989-04-25 Datacard Corporation Method and apparatus for parallel integrated circuit card initialization and embossing
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5889941A (en) * 1996-04-15 1999-03-30 Ubiq Inc. System and apparatus for smart card personalization
KR100213555B1 (ko) * 1997-01-22 1999-08-02 윤종용 이동무선 단말기의 전용화 확인 방법
US6005942A (en) * 1997-03-24 1999-12-21 Visa International Service Association System and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
AU758710B2 (en) * 1997-12-19 2003-03-27 Visa International Service Association Card activation at point of distribution
AUPP274098A0 (en) * 1998-04-01 1998-04-30 Chip Application Technologies Limited Data carrying device and systems for use therewith
US6402028B1 (en) * 1999-04-06 2002-06-11 Visa International Service Association Integrated production of smart cards
US6588673B1 (en) * 2000-02-08 2003-07-08 Mist Inc. Method and system providing in-line pre-production data preparation and personalization solutions for smart cards
US20040144472A1 (en) * 2003-01-24 2004-07-29 G & D Cardtech, Inc. Process for manufacturing laminated plastic products

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473093A (zh) * 2013-09-05 2013-12-25 飞天诚信科技股份有限公司 一种管理卡片上应用的方法

Also Published As

Publication number Publication date
FR2823330A1 (fr) 2002-10-11
EP1388134A1 (fr) 2004-02-11
FR2823330B1 (fr) 2004-08-20
CN1514987A (zh) 2004-07-21
WO2002084610A1 (fr) 2002-10-24
US7025261B2 (en) 2006-04-11
US20040144838A1 (en) 2004-07-29

Similar Documents

Publication Publication Date Title
US7140549B2 (en) Method and apparatus for selecting a desired application on a smart card
CN1079968C (zh) 包括便携式数据处理单元的数据交换系统
CN1273943C (zh) 用于管理要存储在可编程智能卡上的数据的方法和系统
US9667426B2 (en) Information processing apparatus, program, storage medium and information processing system
JP3766052B2 (ja) 高級プログラミング言語を用いたマイクロコントローラ
CN1154071C (zh) 数据处理单元及包括该数据处理单元的数据交换系统
JP5607170B2 (ja) 安全なポータブルオブジェクト
US8818967B2 (en) Method for compressing identifiers
US7610488B2 (en) Data processing device and method and program of same
CN104798075A (zh) 应用随机化
CN1643532A (zh) 用于电子电路的许可交付与计费的管理系统、方法和设备
KR100931706B1 (ko) 타겟 보안을 결정하기 위한 물리적 어드레스-기반 보안에관한 방법 및 장치
CN1409835A (zh) 对程序或服务应用鉴定数据的信息设备
US20040247118A1 (en) Data processing device, method of same, and program of same
JP2005050306A (ja) 情報処理装置と情報処理端末
CN1109296C (zh) 使得固化程序能够改变的方法和装置
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
CN1942883A (zh) 半导体存储卡
JP2000503157A (ja) メインファイルと補助ファイルとの間にリンク生成手段を備えたセキュリティモジュール
EP3926504A1 (en) Hiding and unhiding java card applet instances
RU2673394C2 (ru) Способ установки приложения на защищенный элемент
CN115904351A (zh) 一种基于jssdk的业务逻辑实现方法、装置、设备和存储介质
JP3884963B2 (ja) 共有アクセス監視機能を備えたicカード
CN113608779A (zh) 服务接口配置方法、装置、设备及存储介质
CN1870502A (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: SETEC OY

Free format text: FORMER NAME: JIN YATUO

Owner name: JIN YATUO

Free format text: FORMER NAME: GEMPLUS CO.

CP01 Change in the name or title of a patent holder

Address after: East France

Patentee after: GEMALTO OY

Address before: East France

Patentee before: Jin Yatuo

CP03 Change of name, title or address

Address after: East France

Patentee after: Jin Yatuo

Address before: French gemenos

Patentee before: GEMPLUS

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060906

Termination date: 20200409