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

文档序号:6669215阅读:209来源:国知局
专利名称:具有可修改操作程序的集成电路卡和相应的修改方法
技术领域
本发明涉及尤其适用于数据介质的智能卡,例如用于构成识别智能卡携带者的装 置、用于进入住宅或访问装备的装置、例如银行卡或电话卡之类的支付装置。
背景技术
智能卡一般包括其上固定有集成电路的本体,该集成电路包括形成处理器单元的 处理器、只读存储器(ROM)和例如电可擦除可编程只读存储器(EEPROM)型可编程ROM。处 理器单元配置成执行包含在ROM中并包含功能性部分的操作程序,每个功能性部分定义处 理器单元的一个功能。由处理器单元使用的数据一般包含在可编程ROM中。ROM比可编程 ROM更便宜,因此采用ROM存储操作程序有助于压低智能卡的成本。然而,操作程序需要在 集成电路制造时存储在ROM中并且之后无法再次更改。因此,改进操作程序——更具体地 说对其作出任何修改——需要制造新的集成电路。发明目的本发明的目的是提供允许以简单和快速的方式和由现存智能卡选择性应用的方 式修改操作程序。为此,本发明提供一种包括与ROM和可编程ROM相关联的处理器单元的智能卡,该 ROM包含可由处理器单元执行并具有功能性部分的操作程序,每个功能性部分定义处理器 单元的一功能。程序包括每个功能性部分的入口 /出口点,且每个功能性部分关联于一标 识符。可编程ROM包含至少一个可替代功能性部分,该至少一个可替代功能性部分适于替 代ROM的功能性部分中的一个功能性部分并关联于与ROM的相应功能性部分的标识符对应 的标识符。处理器单元配置成执行该可替代功能性部分而不是ROM的该相应功能性部分。操作程序的入口 /出口点因此配置在各功能性部分之间以使处理器单元能使操 作程序的原始功能性部分短路并取而代之地执行存储在可编程ROM中的可替代功能性部 分。另外,操作程序中的入口 /出口点的多样性能够将构成存储在可编程ROM中的可替代 功能性部分的程序段的大小限制在所要代替的功能性部分的大小。由可替代功能性部分占 据的可编程ROM的量因此相对较小。可替代功能性部分不仅可通过集成电路的制造商而且 可通过智能卡的发行商存储在可编程ROM中,由此简化其管理。较为有利地,可替代功能性部分被加载入可编程ROM的起动区。这可能加速可替代功能性部分的搜索以使操作程序的执行不会以有害方式减慢。优选地,可编程ROM包括指示可替代功能性部分的存在性的指示符。因此,处理器单元可快速检测是否需要对可编程只读存储器进行读取以搜索可替 代功能性部分。同样优选地,处理器单元被编程以至少在第一次执行可替代功能性部分前验证该 可替代功能性部分。不诚实的人可能受诱惑而使用可替代功能性部分来获得对集成电路中包含的机 密信息的访问或使处理器单元执行正常不允许的操作。认证可替代功能性部分能核实可替 代功能性部分由经授权人员存储,因此推定为无害。
3
在这类情形下,较为有利地,将签名关联于该可替代功能性部分或每个可替代功 能性部分并对处理器单元编程以核实该签名或每个签名的真实性,和/或加密可替代功能 性部分,并且认证包括解密和核实填充位的步骤。这些认证技术是可靠和快速的。本发明还提供核实包含在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以存储在可编
5程ROM 5的起动区11中。处理器单元3则执行验证可替代功能性部分8’的数据块12的 步骤。该验证步骤是通过解密可替代功能性部分8’的数据块12并核实填充位匹配(在加 密过程中使用的位)来实现的。核实填充位允许智能卡确信这实际上就是数据块12所打 算的目的地。之后,处理器单元3核实可替代功能性部分8’的数据块12中的签名和完整 性要素。应当注意到,签名本身可构成完整性要素。作为示例,完整性要素可通过CRC方法 获得,也就是处理数据块好像它是多项式的二进制系数串那样。如果这两种核实中的任一者失败,则加载中断并使该数据块无效,由此使其不可 用。一旦可替代功能性部分8’已存储在可编程R0M5中,则计算并存储可用存储器的大小。 存在可替代功能性部分的指示符在可编程ROM 5的确定区域内被更新。当可替代功能性部分8,变得无用时(例如如果只执行有限次数),可例如通过重 新加载可替代功能性部分8’的新数据块12——其不包含过期的可替代功能性部分——来 删除所述可替代功能性部分。也可擦除全部可替代功能性部分。尤其当智能卡的制造和/或更新被转包给同样为竞争对手制造智能卡的供应商 时,加密可替代功能性部分的数据块是有利的。不同解密代码可关联于每个竞争对手以确 保他们没人能无意或恶意地获得对其竞争对手的可替代功能性部分的数据块的访问。更普 遍地,这也防止第三方获得对可替代功能性部分数据块的内容的访问。当然,本发明不局限于前述实施例,相反覆盖使用等效手段的任意变例以重现前 面阐述的实质特征。具体地说,可修改替代性功能部分的数量和格式。也可修改可替代功能性部分的 数据块的架构。另外,可使用其它类型可编程ROM以代替EEPR0M,尤其可使用可擦除可编程存储 器(EPROM)。
权利要求
一种包括与ROM(4)和可编程ROM(5)相关联的处理器单元(3)的智能卡,所述ROM包含可由处理器单元执行并具有功能性部分(8)的操作程序(10),每个功能性部分定义所述处理器单元的一功能,所述智能卡的特征在于,所述程序包括每个功能性部分的入口/出口点(9),且每个功能性部分关联于一标识符,所述可编程ROM包含至少一个可替代功能性部分(8’),所述至少一个可替代功能性部分(8’)适于替代所述ROM的所述功能性部分中的一个功能性部分并关联于与所述ROM的相应功能性部分的标识符对应的标识符,以及所述处理器单元配置成执行所述可替代功能性部分而不是所述ROM的所述相应功能性部分。
2.如权利要求1所述的智能卡,其特征在于,所述可替代功能性部分(8’)被加载入所 述可编程R0M(5)的起动区(11)中。
3.如权利要求1所述的智能卡,其特征在于,所述可编程ROM(5)包括用于指示可替代 功能性部分的存在性的指示符(20)。
4.如权利要求1所述的智能卡,其特征在于,所述处理器单元(3)被编程以至少在可替 代功能性部分(8’ )第一次执行前对所述可替代功能性部分(8’ )进行认证。
5.如权利要求4所述的智能卡,其特征在于,所述或每个可替代功能性部分(8’)关联 于一签名并且所述处理器单元(3)被编程以核实所述或每个签名的真实性。
6.如权利要求5所述的智能卡,其特征在于,所述或每个可替代功能性部分(8’)被加 密,并且认证包括解密与核实填充位的步骤。
7.一种核实包含在R0M(4)中并可由集成电路(2)的处理器单元(3)执行的程序的方 法,所述程序包括功能性部分,每个功能性部分关联于标识符和入口 /出口点(9),并且所 述方法包括步骤在所述可编程ROM中存储至少一个可替代功能性部分(8’),所述至少一个可替代功能 性部分(8’ )适用于替代所述ROM的所述功能性部分中的一个功能性部分并关联于与所述 ROM的相应功能性部分的标识符对应的标识符;以及一旦通过所述处理器单元执行所述程序,则执行所述可替代功能性部分而不是所述相 应功能性部分。
8.如权利要求7所述的方法,其特征在于,包括在已存储所述可替代功能性部分(8’) 后,所述处理器单元(3)认证所述可替代功能性部分的步骤,以及在认证成功的情况下,使 所述可替代功能性部分有效有效,允许其之后执行的步骤。
9.如权利要求7所述的方法,其特征在于,所述可替代功能性部分(8’)以加密形式存 储,且所述方法包括所述处理器单元(3)解密所述可替代功能性部分的步骤。
10.如权利要求7所述的方法,其特征在于,包括在至少一次使用后擦除可替代功能性 部分(8,)的步骤。
全文摘要
本发明涉及包含与ROM(4)和可编程ROM(5)相关联的处理器单元(3)的智能卡,该ROM包含可由处理器单元执行并具有功能性部分的操作程序,每个功能性部分定义处理器单元的一功能。根据本发明,程序包括每个功能性部分的入口/出口点且每个功能性部分关联于一标识符,可编程ROM包含适用于替代ROM的功能性部分中的一个功能性部分并关联于与ROM的相应功能性部分的标识符对应的标识符的至少一个功能性部分,处理器单元配置成执行该可替代功能性部分而不是ROM的相应可替代功能性部分。
文档编号G07F7/10GK101971218SQ200980109408
公开日2011年2月9日 申请日期2009年3月11日 优先权日2008年3月13日
发明者C·佩潘, G·鲁迪耶 申请人:摩福公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1