CN101971218A - 具有可修改操作程序的集成电路卡和相应的修改方法 - Google Patents

具有可修改操作程序的集成电路卡和相应的修改方法 Download PDF

Info

Publication number
CN101971218A
CN101971218A CN200980109408XA CN200980109408A CN101971218A CN 101971218 A CN101971218 A CN 101971218A CN 200980109408X A CN200980109408X A CN 200980109408XA CN 200980109408 A CN200980109408 A CN 200980109408A CN 101971218 A CN101971218 A CN 101971218A
Authority
CN
China
Prior art keywords
functional part
rom
alternative functional
processor unit
alternative
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.)
Pending
Application number
CN200980109408XA
Other languages
English (en)
Inventor
C·佩潘
G·鲁迪耶
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.)
Idemia Identity and Security France SAS
Original Assignee
Morpho 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 Morpho SA filed Critical Morpho SA
Publication of CN101971218A publication Critical patent/CN101971218A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06Q20/3552Downloading or loading of personalisation data
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及包含与ROM(4)和可编程ROM(5)相关联的处理器单元(3)的智能卡,该ROM包含可由处理器单元执行并具有功能性部分的操作程序,每个功能性部分定义处理器单元的一功能。根据本发明,程序包括每个功能性部分的入口/出口点且每个功能性部分关联于一标识符,可编程ROM包含适用于替代ROM的功能性部分中的一个功能性部分并关联于与ROM的相应功能性部分的标识符对应的标识符的至少一个功能性部分,处理器单元配置成执行该可替代功能性部分而不是ROM的相应可替代功能性部分。

Description

具有可修改操作程序的集成电路卡和相应的修改方法
技术领域
本发明涉及尤其适用于数据介质的智能卡,例如用于构成识别智能卡携带者的装置、用于进入住宅或访问装备的装置、例如银行卡或电话卡之类的支付装置。
发明背景
智能卡一般包括其上固定有集成电路的本体,该集成电路包括形成处理器单元的处理器、只读存储器(ROM)和例如电可擦除可编程只读存储器(EEPROM)型可编程ROM。处理器单元配置成执行包含在ROM中并包含功能性部分的操作程序,每个功能性部分定义处理器单元的一个功能。由处理器单元使用的数据一般包含在可编程ROM中。ROM比可编程ROM更便宜,因此采用ROM存储操作程序有助于压低智能卡的成本。然而,操作程序需要在集成电路制造时存储在ROM中并且之后无法再次更改。因此,改进操作程序——更具体地说对其作出任何修改——需要制造新的集成电路。
发明目的
本发明的目的是提供允许以简单和快速的方式和由现存智能卡选择性应用的方式修改操作程序。
为此,本发明提供一种包括与ROM和可编程ROM相关联的处理器单元的智能卡,该ROM包含可由处理器单元执行并具有功能性部分的操作程序,每个功能性部分定义处理器单元的一功能。程序包括每个功能性部分的入口/出口点,且每个功能性部分关联于一标识符。可编程ROM包含至少一个可替代功能性部分,该至少一个可替代功能性部分适于替代ROM的功能性部分中的一个功能性部分并关联于与ROM的相应功能性部分的标识符对应的标识符。处理器单元配置成执行该可替代功能性部分而不是ROM的该相应功能性部分。
操作程序的入口/出口点因此配置在各功能性部分之间以使处理器单元能使操作程序的原始功能性部分短路并取而代之地执行存储在可编程ROM中的可替代功能性部分。另外,操作程序中的入口/出口点的多样性能够将构成存储在可编程ROM中的可替代功能性部分的程序段的大小限制在所要代替的功能性部分的大小。由可替代功能性部分占据的可编程ROM的量因此相对较小。可替代功能性部分不仅可通过集成电路的制造商而且可通过智能卡的发行商存储在可编程ROM中,由此简化其管理。
较为有利地,可替代功能性部分被加载入可编程ROM的起动区。
这可能加速可替代功能性部分的搜索以使操作程序的执行不会以有害方式减慢。
优选地,可编程ROM包括指示可替代功能性部分的存在性的指示符。
因此,处理器单元可快速检测是否需要对可编程只读存储器进行读取以搜索可替代功能性部分。
同样优选地,处理器单元被编程以至少在第一次执行可替代功能性部分前验证该可替代功能性部分。
不诚实的人可能受诱惑而使用可替代功能性部分来获得对集成电路中包含的机密信息的访问或使处理器单元执行正常不允许的操作。认证可替代功能性部分能核实可替代功能性部分由经授权人员存储,因此推定为无害。
在这类情形下,较为有利地,将签名关联于该可替代功能性部分或每个可替代功能性部分并对处理器单元编程以核实该签名或每个签名的真实性,和/或加密可替代功能性部分,并且认证包括解密和核实填充位的步骤。
这些认证技术是可靠和快速的。
本发明还提供核实包含在ROM中并可由集成电路的处理器单元执行的程序的方法,该程序包括功能性部分,每个功能性部分关联于标识符和入口/出口点,并且该方法包括步骤:
·在可编程ROM中存储至少一个可替代功能性部分,该至少一个可替代功能性部分用于替代ROM的功能性部分中的一个功能性部分并关联于与ROM的相应功能性部分的标识符对应的标识符。
·一旦通过处理器单元执行程序,则执行该可替代功能性部分而不是相应功能性部分。
在阅读下面对本发明的特定、非限定性实施例的详细说明后,本发明的其它特征和优势将变得清楚。
附图说明
参照附图,在附图中:
图1是示出根据本发明的智能卡的框图;
图2是智能卡的只读存储器的内容的框图;
图3是用于智能卡中的可替代功能性部分的框图。
具体实施方式
参照附图,根据本发明的智能卡包括本体1,该本体1具有与之固定的集成电路,该集成电路总地用附图标记2表示并包含例如处理器的处理器单元3,该处理器单元3连接于ROM 4、在本例中为EEPROM型的可编程ROM 5以及随机存取存储器(RAM)6。根据本发明的智能卡的物理结构本身是已知的。
ROM 4包含总地由附图标记7表示的操作程序,它具有主模块10和功能性部分8(通过标记A、B、C和D彼此区别开),其间安排有程序的入口/出口点9(由标记A-E一一列举)。
每个功能性部分8关联于其特定的一个标识符。
术语“操作程序”用来表示在被执行之际允许处理器单元3执行与构成功能性部分的每个程序部分对应的处理功能的程序。操作程序可包括提供处理器单元基本操作的部分(操作系统)或应用部分。程序可包括将多个功能性部分编组到一起的功能性模块。
在已知方式中,可编程ROM 5任选地包含当执行操作程序时由处理器单元使用的机密数据。RAM 6包含从外部接收或发至外部的数据以及在执行操作程序时由处理器单元执行的计算的中间结果。
可编程ROM 5具有含数据块的启动区11,该数据块总地由附图标记12表示并包括用于代替功能性部分8B和8D的可替代功能性部分8’(分别借助标记B和D表示)。数据块12以模式循环的形式存储,该模式连续地包括:
·可替代功能性部分8’B的标识符13B;
·可替代功能性部分8’B的数据长度的指示14B;
·讨论中的数据15B;
·对于标识符13B、指示14B和数据15B计算出的完整性值(例如,完整性值是循环冗余校验(CRC)型方法的结果);
·可替代功能性部分8’D的标识符13D;
·可替代功能性部分8’D的数据的长度的指示14D;
·讨论中的数据15D;
·末尾标识符16;
·末尾数据的长度的指示17;以及
·尤其包括签名以及可选地包括加速指示符19和完整性值的讨论中的数据。
在操作程序的执行期间,处理器单元3核实可编程ROM 5中是否存在可替代功能性部分8’的存在性的指示符20。在适当的情形下,处理器单元3对每个功能性部分8核实是否存在可替代功能性部分8’,如果确实存在,则执行该可替代功能性部分而不是相应的功能性部分8。
加速指示符19标识其中功能性部分将被替换的功能性模块,由此允许程序执行加速。
在每个功能性部分的执行前,扫描可替代功能性部分8’的标识符并将其与处理器单元3正准备执行的功能性部分的标识符进行比较。
为了执行可替代功能性部分8’,例如可替代功能性部分8’B,处理器单元经由在相应功能性部分8B之前的入口/出口点9B退出操作程序,并在执行可替代功能性部分8’b后,经由紧随相应功能性部分8B的入口/出口点9C返回到操作程序。
在执行第一可替代功能性部分8’B前,处理器单元3继续验证步骤,即核实可替代功能性部分8’的数据块12的签名。如果签名得到验证,可替代功能性部分8’正常执行。否则,处理器单元3执行原始操作程序7。在变例中,可规定当可替代功能性部分8’的数据块12未得到验证时使处理器单元3发布警告信号。
另外,优选地规定通过使用在标识符13B、指示14B和数据15B上计算出的完整性值19在执行可替代功能性部分前核实可替代功能性部分的完整性。在操作程序每次新执行前,在其处存储可替代功能性部分8’的数据块的起动区11的信息及其签名借助处理器单元3的专门命令被恢复。对该命令的响应可采用下列形式:
·没有可替代功能性部分,因此响应可例如由具有值FF的字节串构成;
·具有已生效的存储着的可替代功能性部分,响应则由要被代替的功能性部分的列表和签名块的签名构成;以及
·存在已被加载但无效的可替代功能性部分,则响应例如由具有值00的字节串构成。
在第二种情形下,在执行第一可替代功能性部分8’前核实该签名。
下面描述将功能性部分8’加载入可编程ROM。
在加载前,操作者需要通过密钥进行验证。
可替代功能性部分8’的数据块12以加密形式传递给处理器单元3以存储在可编程ROM 5的起动区11中。处理器单元3则执行验证可替代功能性部分8’的数据块12的步骤。该验证步骤是通过解密可替代功能性部分8’的数据块12并核实填充位匹配(在加密过程中使用的位)来实现的。核实填充位允许智能卡确信这实际上就是数据块12所打算的目的地。之后,处理器单元3核实可替代功能性部分8’的数据块12中的签名和完整性要素。应当注意到,签名本身可构成完整性要素。作为示例,完整性要素可通过CRC方法获得,也就是处理数据块好像它是多项式的二进制系数串那样。
如果这两种核实中的任一者失败,则加载中断并使该数据块无效,由此使其不可用。一旦可替代功能性部分8’已存储在可编程ROM5中,则计算并存储可用存储器的大小。存在可替代功能性部分的指示符在可编程ROM 5的确定区域内被更新。
当可替代功能性部分8’变得无用时(例如如果只执行有限次数),可例如通过重新加载可替代功能性部分8’的新数据块12——其不包含过期的可替代功能性部分——来删除所述可替代功能性部分。也可擦除全部可替代功能性部分。
尤其当智能卡的制造和/或更新被转包给同样为竞争对手制造智能卡的供应商时,加密可替代功能性部分的数据块是有利的。不同解密代码可关联于每个竞争对手以确保他们没人能无意或恶意地获得对其竞争对手的可替代功能性部分的数据块的访问。更普遍地,这也防止第三方获得对可替代功能性部分数据块的内容的访问。
当然,本发明不局限于前述实施例,相反覆盖使用等效手段的任意变例以重现前面阐述的实质特征。
具体地说,可修改替代性功能部分的数量和格式。也可修改可替代功能性部分的数据块的架构。
另外,可使用其它类型可编程ROM以代替EEPROM,尤其可使用可擦除可编程存储器(EPROM)。

Claims (10)

1.一种包括与ROM(4)和可编程ROM(5)相关联的处理器单元(3)的智能卡,所述ROM包含可由处理器单元执行并具有功能性部分(8)的操作程序(10),每个功能性部分定义所述处理器单元的一功能,所述智能卡的特征在于,所述程序包括每个功能性部分的入口/出口点(9),且每个功能性部分关联于一标识符,所述可编程ROM包含至少一个可替代功能性部分(8’),所述至少一个可替代功能性部分(8’)适于替代所述ROM的所述功能性部分中的一个功能性部分并关联于与所述ROM的相应功能性部分的标识符对应的标识符,以及所述处理器单元配置成执行所述可替代功能性部分而不是所述ROM的所述相应功能性部分。
2.如权利要求1所述的智能卡,其特征在于,所述可替代功能性部分(8’)被加载入所述可编程ROM(5)的起动区(11)中。
3.如权利要求1所述的智能卡,其特征在于,所述可编程ROM(5)包括用于指示可替代功能性部分的存在性的指示符(20)。
4.如权利要求1所述的智能卡,其特征在于,所述处理器单元(3)被编程以至少在可替代功能性部分(8’)第一次执行前对所述可替代功能性部分(8’)进行认证。
5.如权利要求4所述的智能卡,其特征在于,所述或每个可替代功能性部分(8’)关联于一签名并且所述处理器单元(3)被编程以核实所述或每个签名的真实性。
6.如权利要求5所述的智能卡,其特征在于,所述或每个可替代功能性部分(8’)被加密,并且认证包括解密与核实填充位的步骤。
7.一种核实包含在ROM(4)中并可由集成电路(2)的处理器单元(3)执行的程序的方法,所述程序包括功能性部分,每个功能性部分关联于标识符和入口/出口点(9),并且所述方法包括步骤:
在所述可编程ROM中存储至少一个可替代功能性部分(8’),所述至少一个可替代功能性部分(8’)适用于替代所述ROM的所述功能性部分中的一个功能性部分并关联于与所述ROM的相应功能性部分的标识符对应的标识符;以及
一旦通过所述处理器单元执行所述程序,则执行所述可替代功能性部分而不是所述相应功能性部分。
8.如权利要求7所述的方法,其特征在于,包括:在已存储所述可替代功能性部分(8’)后,所述处理器单元(3)认证所述可替代功能性部分的步骤,以及在认证成功的情况下,使所述可替代功能性部分有效有效,允许其之后执行的步骤。
9.如权利要求7所述的方法,其特征在于,所述可替代功能性部分(8’)以加密形式存储,且所述方法包括所述处理器单元(3)解密所述可替代功能性部分的步骤。
10.如权利要求7所述的方法,其特征在于,包括在至少一次使用后擦除可替代功能性部分(8’)的步骤。
CN200980109408XA 2008-03-13 2009-03-11 具有可修改操作程序的集成电路卡和相应的修改方法 Pending CN101971218A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0801389A FR2928754B1 (fr) 2008-03-13 2008-03-13 Carte a circuit integre ayant un programme d'exploitation modifiable et procede de modification correspondant
FR0801389 2008-03-13
PCT/FR2009/000249 WO2009115709A1 (fr) 2008-03-13 2009-03-11 Carte a circuit integre ayant un programme d'exploitation modifiable et procede de modification correspondant

Publications (1)

Publication Number Publication Date
CN101971218A true CN101971218A (zh) 2011-02-09

Family

ID=39827295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980109408XA Pending CN101971218A (zh) 2008-03-13 2009-03-11 具有可修改操作程序的集成电路卡和相应的修改方法

Country Status (7)

Country Link
US (1) US20110016329A1 (zh)
EP (1) EP2252978B1 (zh)
CN (1) CN101971218A (zh)
BR (1) BRPI0909705B1 (zh)
FR (1) FR2928754B1 (zh)
RU (1) RU2483359C2 (zh)
WO (1) WO2009115709A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6845021B2 (ja) * 2017-01-12 2021-03-17 株式会社東芝 電子装置、icカードおよび情報処理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
FR2666671B1 (fr) * 1990-09-12 1994-08-05 Gemplus Card Int Procede de gestion d'un programme d'application charge dans un support a microcircuit.
FR2748134B1 (fr) * 1996-04-30 1998-06-26 Bull Cp8 Procede et dispositif permettant a un programme fige de pouvoir evoluer
US6233683B1 (en) * 1997-03-24 2001-05-15 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
FR2764407B1 (fr) * 1997-06-05 1999-07-30 Alsthom Cge Alcatel Dispositif de retouche de programme de commande dans un processeur
FR2764716B1 (fr) * 1997-06-13 2001-08-17 Bull Cp8 Procede de modification de sequences de code et dispositif associe
FR2777673B1 (fr) * 1998-04-15 2001-09-21 Bull Cp8 Dispositif de traitement de l'information comprenant des moyens pour gerer une memoire virtuelle, et procede de stockage d'informations associe
US6581159B1 (en) * 1999-12-23 2003-06-17 Intel Corporation Secure method of updating bios by using a simply authenticated external module to further validate new firmware code
JP2004536405A (ja) * 2001-07-16 2004-12-02 ユキング レン 組み込みソフトウェア更新システム
DE10152458A1 (de) * 2001-10-24 2003-05-22 Giesecke & Devrient Gmbh Programmausführung bei einer Chipkarte
US7039776B2 (en) * 2003-04-17 2006-05-02 Broadcom Corporation Patch memory system for a ROM-based processor
CH716409B1 (de) * 2003-11-12 2021-01-29 Legic Identsystems Ag Verfahren zum Einschreiben einer Datenorganisation in Identifikationsmedien und zum Einschreiben und Ausführen von Applikationen in der Datenorganisation.
US7017040B2 (en) * 2003-12-04 2006-03-21 Intel Corporation BIOS update file
US7424570B2 (en) * 2004-04-08 2008-09-09 Incard Sa Method for patching ROM instructions in an electronic embedded system including at least a further memory portion

Also Published As

Publication number Publication date
WO2009115709A1 (fr) 2009-09-24
RU2010141849A (ru) 2012-04-20
EP2252978A1 (fr) 2010-11-24
EP2252978B1 (fr) 2017-05-03
BRPI0909705A2 (pt) 2015-10-06
FR2928754B1 (fr) 2012-05-18
FR2928754A1 (fr) 2009-09-18
RU2483359C2 (ru) 2013-05-27
BRPI0909705B1 (pt) 2019-09-10
US20110016329A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
CN103577221B (zh) 安全元件的操作系统的更新
US8060748B2 (en) Secure end-of-life handling of electronic devices
CN105938433B (zh) 用于对机动车的控制设备进行编程的方法
CN100421046C (zh) 安全运行特许软件的方法和计算装置
CN104520870B (zh) 用于更新安全模块的固件的方法和系统
EP3238415B1 (en) Software tampering detection and reporting process
US20070255955A1 (en) Tamper resistant module certification authority
US20070028115A1 (en) Method for guaranteeing the integrity and authenticity of flashware for control devices
WO2010036471A1 (en) Physical access control system with smartcard and methods of operating
CN101946452A (zh) 用于控制器件上的特征的系统和方法
JP2007226839A (ja) データ構造を記憶するメモリ及び方法
KR19990087701A (ko) 스마트 카드에 저장된 데이터를 안전하게 변경하는 방법
CN103562930B (zh) 一种用于数据安全性的方法及数据安全性装置
US20220132298A1 (en) Cloud-service on-boarding without prior customization of endpoints
US10788809B2 (en) Method for the enabling of machine functions on a spinning-mill machine
CN101971218A (zh) 具有可修改操作程序的集成电路卡和相应的修改方法
JP5259507B2 (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ処理方法
KR101838890B1 (ko) 카드 정보 트랜잭션 시스템과 그를 위한 결제 서버 및 카드 단말기
CN115037492A (zh) 基于在存储器装置中实施的安全特征的在线安全服务
CN114491682A (zh) 虚拟订户识别模块和虚拟智能卡
US9183160B2 (en) Integrated circuit board with secured input/output buffer
JP2004259176A (ja) Icカード
KR100562090B1 (ko) 마이크로회로 카드, 특히 비접촉형 카드에서 다수의 비휘발성 메모리 위치를 불가분적으로 수정하는 방법
BRPI0409234B1 (pt) entidade eletrônica tornada segura que compreende meios para memorizar um número máximo permitido de utilizações de um dado secreto e processo de modificação de um número máximo permitido de utilizações de um dado secreto memorizado por uma entidade eletrônica tornada segura
CN116882429B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110209