CN101147161A - 在智能卡上加载内部应用 - Google Patents

在智能卡上加载内部应用 Download PDF

Info

Publication number
CN101147161A
CN101147161A CNA2006800094680A CN200680009468A CN101147161A CN 101147161 A CN101147161 A CN 101147161A CN A2006800094680 A CNA2006800094680 A CN A2006800094680A CN 200680009468 A CN200680009468 A CN 200680009468A CN 101147161 A CN101147161 A CN 101147161A
Authority
CN
China
Prior art keywords
smartcard
smartcard device
interface
code
program code
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
CNA2006800094680A
Other languages
English (en)
Other versions
CN101147161B (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.)
Milsys Ltd
Western Digital Israel Ltd
Original Assignee
Milsys 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 Milsys Ltd filed Critical Milsys Ltd
Publication of CN101147161A publication Critical patent/CN101147161A/zh
Application granted granted Critical
Publication of CN101147161B publication Critical patent/CN101147161B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • 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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

提供便携式智能卡器件、使用智能卡器件执行程序代码的方法和包含用于智能卡器件的指令的计算机可读存储介质。根据一些实施例,目前公开的智能卡器件包括:用于向主机***呈现智能卡功能性并用于从主机***接收程序执行命令的接口;非易失性存储器;可执行存储器;用于将程序代码从非易失性存储器复制到可执行存储器的复制机构;和用于执行程序代码的程序执行机构。适当的接口包含但不限于ISO 7816兼容的接口、USB接口和MMC接口。在一些实施例中,智能卡功能性包含SIM功能性和/或USIM功能性。任选地,程序代码的执行仅当复制的可执行代码的一部分驻留在可执行存储器中时开始。公开了向智能卡用户传输预加载的受保护的可执行代码的方法。

Description

在智能卡上加载内部应用
技术领域
本发明涉及智能卡器件,尤其涉及可操作为执行存储在非易失性存储器中的应用代码的智能卡器件。
背景技术
智能卡器件
这里的术语“智能卡”表示可方便地随身携带并包含能够安全地与特别授权的外部设备连接并与其交换数据的有源内部逻辑器件的任何器件。智能卡有时被称为“集成电路卡”或“芯片卡”。一般地,智能卡包含存储器、微控制器及其相关的逻辑存储器和可执行代码。
许多智能卡器件的一个显著特征是,通过将访问限制到由操作***和安全逻辑控制的接口,它们的存储的数据可得到保护免受未授权的访问和操纵。秘密数据可因此被写入智能卡并以防止数据被智能卡外面的设备读取的方式被存储。国际标准化组织(ISO)公布了诸如ISO7816组标准的用于智能卡的机械和电学规范。基于集成电路卡用标准的智能卡在可应用的情况下一般与其相符,但还包含未必在其中说明的特征。智能卡的区别一般在于包含的存储器的数量、集成电路(IC)、处理复杂处理的能力、加密方案、电气接口和机械布局。
智能卡可被应用的目的包含但不限于公共电话卡、在电子收款机(POS)终端和自动取款机(ATM)中使用的银行卡、机顶盒(set-topbox)中的付费TV和全球移动通信***(GSM)终端中的无线电信运营商实现的用户标识模块(SIM)卡。SIM卡是特别受关注的,原因在于:(a)它们的较小的形状因数;(b)它们在断电时仅一次就可放置到位;(c)它们的商业重要性。随着引入通用移动电信***(UMTS)作为第三代(3G)欧洲移动电话技术,称为USIM(UMTS用户标识模块或通用用户标识模块)的新版SIM卡已被引入UMTS移动网络。USIM卡包含使得能够访问订购UMTS的运营商网络的相关信息。SIM和USIM卡均落在智能卡类别内。
与移动电话一起使用智能卡在促进智能卡的国际传播方面是特别重要的。GSM电话利用智能卡作为访问介质,这部分是由于在访问移动电话网络时智能卡允许实现高度的安全性,并且还由于它们通过使得网络运营商和服务供应商单独地销售电话和服务,在销售移动电话方面提供新的可能性并由此提供显著的优点。
图1示出现有技术智能卡结构的例子。卡(4)包含用于与包含时钟、用于数据传送的数据信号、复位信号和功率引线的主机***连接的由ISO标准限定的一组引线(1)。CPU(3)通过总线接口(2)与引线(1)连接。CPU(3)具有到存储可执行代码的ROM(7)的区域、到RAM(5)和主要用于存储可配置数据(例如私人加密密钥)的EEPROM部件(6)的通路。为了支持大量的数据和/或需求应用,也可提供闪存形式的增强的存储器容量。
图2A示出现有技术的ISO兼容的智能卡(41)和用于与卡接口的一组八个端子(40)的机械布局。ISO标准仅限定五个引线,而三个附加引线被保留用于将来的用途。
图2B示出现有技术的SIM或USIM卡的物理形状因数。
除了ISO接口以外,已限定其它的智能卡接口。这些附加的接口通常提供高速数据传送,并主要供高容量存储卡使用。典型的智能卡接口包含但不限于安全数字(SD)、多媒体卡(MMC)和无线/非接触接口。最近,已建议将通用串行总线(USB)作为另一潜在的智能卡用接口。新接口使用保留的ISO引线或者除了或替代ISO标准引线限定一组新的引线。
图3示出现有技术的先进智能卡的示例性结构。在该例子中,两个内部总线(14)和(15)允许通过标准ISO接口(10)独立访问CPU(13)以及通过使用二次USB接口(11)访问闪存模块(18)。ROM(9)被用于存储操作***和应用代码。
分开的总线接口(16)和(17)允许独立地访问卡资源。两个单独的应用可在这种结构下独立地对卡进行访问。例如,具有集成MP3播放器的移动电话可通过USB总线(11)访问内部闪存以访问音乐数据,而蜂窝式漫游应用可通过使用ISO总线(10)从SIM功能访问与漫游有关的信息。
现代的智能卡操作***允许新应用在卡被分发给用户之后被上载到卡中。这里的术语“发布者”表示分发出于特定的目的或一组目的的智能卡的任何实体。这里的术语“用户”表示使用或尝试使用特定的智能卡的任何人。这里使用的“授权用户”表示已得到许可或“被授权”以使用该出于特定的目的或一组目的的智能卡的人。在许多情况下,智能卡的授权用户是所有人本人,但所有人和授权用户不必相同。
由这些现代的智能卡操作***提供的新的灵活性打开完全新的应用领域。例如,通过使用智能卡,使得在因特网商业和支付中必不可少的个人安全模块值得依赖。这些安全模块可安全地存储个人密钥并执行高性能密码算法。可通过具有密码协处理器的微处理器以便利的方式执行与安全性有关的任务。
随着新技术的引入,在智能卡内设置的存储器的量不断增加,从而使得能够在较小的模具上制造高容量的存储器。存储器技术提高使得智能卡能够通过在卡本身上加入高容量闪存支持更多的应用。
随着具有更大的多媒体容量的移动手机变为可用,并且随着服务供应商开始实现宽带移动服务,对于安全、可升级和可配置的高容量存储器的需要正变得十分迫切。增强的大容量(U)SIM卡的一个例子是M-Systems’(Newark,Ca)MegaSIMTM卡模块。使用MegaSIM,(U)SIM卡卖主可向他们的移动运营商顾客提供启用诸如下载MMS、MP3和视频剪辑、全个人信息管理(PIM)功能性和高分辨率图片存储的各种各样的先进移动服务的(U)SIM卡。
随着需要大量存储器的新应用的出现,高端移动电话已开始提供专用的存储卡用接口以保持这些应用需要的数据。典型的应用包含需要大量的存储器以存储静止图片和/或视频剪辑、MP3文件和多媒体消息传递服务(MMS)消息的集成照相机。直到现在,存储卡提供几兆字节(MB)的存储器,而(U)SIM卡只有几千字节(KB)。随着包含兆字节存储器的MegaSIM的引入,增强的应用可利用(U)SIM卡用于两种传统用途以及存储用于多媒体器件和应用的大量数据。
总之,在智能卡上运行的先进操作***和诸如数字静止或视频图片(MPEG文件)、音乐(MP3文件)、游戏的多媒体应用的出现以及对智能卡的更高的存储器容量的需求为移动网络运营嘀和服务供应商打开了各种各样的新的机会。
使用智能卡器件执行可执行代码
在许多高容量存储卡中,所设置的大多数存储器是基于NAND闪存技术的non-eXecute In Place(XIP)闪存。这种类型的存储器比基于EEPROM或NOR闪存技术的典型非易失性XIP存储器更便宜和致密,并提供更高的写/擦性能。
当前,可执行代码被存储在ROM或基于NOR闪存技术的嵌入式闪存中,两者均能够直接执行代码。因此,使用非XIP闪存可基于NAND闪存技术防止板上处理器直接从内部大容量存储器执行代码。为了运行驻留在该存储器区域中的应用,应用代码必须从非XIP闪存区域被复制到XIP存储器区域。移动代码需要通过外部设备或主机设备进行外部复制,其中,外部设备读取代码并将代码写回智能卡内的可执行存储器区域。这种复制机构通过智能卡接口传送数据,但不幸的是,该智能卡接口意味着相对较慢的性能。另外,上述机构在外部智能卡接口上暴露可执行代码,从而使代码在从非XIP存储器被传送到XIP存储器时易于被监视和/或复制。
目前对于用于执行存储在智能卡器件的非易失性存储器上的可执行代码的高性能和安全的智能卡器件存在需求。
发明内容
通过本发明的几个方面满足上述需要。
现在第一次公开用于在接收来自主机***的命令时执行程序代码的便携式智能卡器件。目前公开的智能卡器件包括:至少一个用于向主机***呈现智能卡功能性并用于从主机***接收命令的接口;用于在程序执行之前存储程序代码的非易失性存储器(例如,非XIP存储器);用于在程序执行过程中存储程序代码的至少一部分的可执行存储器;和用于将程序代码的至少一部分复制到可执行存储器中的内部复制机构。
注意,由本发明的某些实施例提供的目前公开的智能卡器件具有内部复制机制,由此满足通过外部设备复制可执行代码的需要。通过减少或消除通过外部设备迂回复制代码,从非XIP存储器向XIP存储器的代码传输变得又快又安全,因为这不需要在任何智能卡接口上暴露数据。
根据一些实施例,智能卡器件包含内部数据总线,并且内部复制机构通过内部数据总线实现内部复制。在一些实施例中,内部复制机构仅通过内部数据总线实现内部复制。
根据一些实施例,智能卡功能性包含SIM功能性和/或USIM功能性。
目前公开的智能卡器件的一个示例性应用涉及移动送受话机。使用由本发明的某些实施例提供的智能卡器件,移动服务供应商可将应用预加载到足以保持大量的应用的(U)SIM卡上的非XIP存储器区域中。这些应用在智能卡存储器内保持得到保护,避免被移动服务供应商的顾客复制或操纵。
根据一些实施例,目前公开的可执行代码的内部复制基于将一个或更多个附加命令添加到智能卡命令公文包中。这些新命令中的一个或更多个指示智能卡处理器执行从诸如不可执行的存储器的非易失性存储器向智能卡内部XIP存储器的复制操作。
根据一些实施例,非易失性存储器包含不可执行的存储器。
对于在目前公开的智能卡器件中提供的接口的类型或接口的数量没有特定的限制。适当的接口包含但不限于ISO7816兼容的USB接口、7816兼容的接口以外的任何接口、USB接口和MMC接口。
在一些实施例中,智能卡器件包含多个接口,其中,第一接口是ISO7816兼容的接口,第二接口不是ISO7816兼容的接口。在特定的实施例中,通过第二接口接收命令。作为替代方案,通过第一接口接收命令。
一旦向可执行存储器复制程序代码部分中的至少一些,就可开始实际执行程序代码。在一些实施例中,器件还包含程序执行机构,诸如用于执行程序代码的复制的部分的内部处理器。
注意,不希望受任何特定的理论束缚,对于程序的大小超过可用的可执行存储器的量的情况,仅当程序代码部分中的一些驻留在可执行存储器中时开始程序执行是特别有用的。在开始程序执行之后,没有驻留在可执行存储器中的程序代码的需要的部分可根据需要、诸如在页故障(page fault)之后被加载或被复制到可执行存储器中。
现在首次公开在从主机***接收命令时执行程序代码的便携式智能卡器件。目前公开的智能卡器件包含:至少一个用于向主机***呈现智能卡功能性并用于从主机***接收命令的接口;用于在程序执行之前存储程序代码的非易失性存储器(例如,非XIP存储器);用于在程序执行过程中存储程序代码的至少一部分的可执行存储器;用于实现将程序代码的至少一部分复制到可执行存储器的复制机构;和用于仅当复制的部分的第一子部分驻留在可执行存储器中时开始执行程序代码的复制的部分的程序执行机构。
根据一些实施例,智能卡器件包含内部数据总线,并且内部复制机构通过内部数据总线实现内部复制。在一些实施例中,内部复制机构仅通过内部数据总线实现内部复制。
作为替代方案,由复制机构实现的复制包含通过主机***进行外部复制。
根据一些实施例,智能卡器件还包含用于在执行过程中将程序代码的复制的部分的至少第二子部分从非易失性存储器(例如,非XIP存储器)分页到可执行存储器的分页机构。在一些实施例中,分页的代码根据需要、例如在页故障后从非易失性存储器(诸如非XIP存储器)被加载或被复制到可执行存储器中。因此,不是所有的“分页的”代码都必须在给定的程序代码执行中实际上被复制或加载到可执行存储器中。
现在首次公开用智能卡器件执行程序代码的方法。目前公开的方法包括:在智能卡器件内包含内部复制机构;使用内部复制机构,将程序代码的至少一部分从智能卡器件的非易失性存储器(例如,非XIP存储器)复制到智能卡器件的可执行存储器;以及,一旦通过智能卡器件的接口接收执行命令,就执行程序代码的复制的部分。
根据一些实施例,复制包含从智能卡器件的不可执行的存储器向智能卡器件的可执行存储器复制。
根据一些实施例,仅通过使用智能卡器件的内部数据总线实现复制。
对于可接收执行命令的接口没有特定的限制。适当的接口包含但不限于ISO7816兼容的USB接口、7816兼容的接口以外的任何接口、USB接口和MMC接口。
现在首次公开用智能卡器件执行程序代码的方法。目前公开的方法包括:在智能卡器件内包含复制机构;使用复制机构,将程序代码的至少一部分从智能卡器件的非易失性存储器(例如,非XIP存储器)复制到智能卡器件的可执行存储器;以及,一旦通过智能卡器件的接口接收执行命令,就仅当部分中的一些的第一子部分驻留在可执行存储器中时开始执行程序代码的复制的部分。
根据一些实施例,从主机设备接收执行命令。
根据一些实施例,复制仅包含通过智能卡器件的内部数据总线进行内部复制。
作为替代方案,复制包含通过主机设备进行外部复制。
根据一些实施例,执行包含在执行过程中将程序代码的部分的至少第二子部分从非易失性存储器分页到可执行存储器。
现在首次公开传输预加载的受保护的可执行代码的方法。目前公开的方法包括以下步骤:向至少一个智能卡用户提供具有存储在非易失性存储器中的预加载的受保护的可执行代码和用于复制预加载的受保护的可执行代码的复制机构的各智能卡器件;在提供后,通过各智能卡器件的接口从每个智能卡用户接收有效的用户授权凭证和执行命令;使用各智能卡器件的复制机构,将预加载的受保护的可执行代码的至少一部分从各智能卡器件的非易失性存储器复制到各智能卡器件的可执行存储器;和使用各智能卡器件,执行程序代码的部分。
根据一些实施例,对于至少一个各智能卡器件,复制仅包含通过内部数据总线进行复制。
根据一些实施例,对于至少一个各智能卡器件,通过主机设备接收用户授权凭证和执行命令中的至少一个,并且复制包含通过主机设备进行外部复制。
现在首次公开具有嵌入在计算机可读存储介质中的计算机可读代码的计算机可读存储介质,该计算机可读代码用于:接收用于执行存储在智能卡器件的非易失性存储器中的程序代码的命令;在内部将可执行程序代码的至少一部分从智能卡器件的非易失性存储器复制到智能卡器件的可执行存储器;和通过智能卡器件执行程序代码的部分。
现在首次公开具有嵌入在计算机可读存储介质中的计算机可读代码的计算机可读存储介质,该计算机可读代码用于:接收用于执行存储在智能卡器件的非易失性存储器中的程序代码的命令;将可执行程序代码的至少一部分从智能卡器件的非易失性存储器复制到智能卡器件的可执行存储器;和仅当部分的子部分驻留在可执行存储器中时通过智能卡器件开始执行程序代码的部分。
从以下的详细说明和例子,这些和其它实施例将变得十分明显。
附图说明
图1示出智能卡结构的例子。
图2A示出ISO兼容的智能卡的机械布局。
图2B示出SIM或USIM卡的物理形状因数。
图3示出先进的智能卡的示例性结构。
图4示出根据本发明的一些实施例的智能卡器件。
图5A~5C提供说明复制和执行根据本发明的示例性实施例的智能卡器件上的代码的方法的流程图。
图6示出用于通过使用分页机构对可执行代码进行分页的一个示例性实现。
图7提供说明向智能卡用户传输预加载的受保护代码的流程图。
具体实施方式
本发明的实施例提供包含用于从非易失性存储器向可执行存储器复制程序代码的复制机构的智能卡器件。并且,目前公开的执行智能卡器件上的程序代码的方法包含从非易性存储器向可执行存储器复制程序代码。一般地,从中复制程序代码的“非易失性存储器”是不可执行或非XIP存储器,但这不应被解释为特定的限制。类似地,注意,在本发明的一些实施例中,称为“可执行存储器”的也是非易失性存储器,但这不是特定的限制。
现在将按照特定的示例性实施例说明本发明。应当理解,本发明不限于公开的示例性实施例。还应理解,要实现在所附的权利要求中的任何特定一项中要求的本发明,不是智能卡器件和使用所说明的智能卡器件执行应用代码的方法的每一个特性都是必需的。器件的各种要素和特征被描述为完全使得本发明变为可能。还应理解,在示出和说明处理或方法的本公开的整个内容中,除非可从上下文清楚地看出一个步骤依赖于首先执行的另一步骤,否则方法的各步骤可以以任何次序或同时被执行。
图4是具有标准ISO接口(27)和USB形式的高速接口(28)的智能卡结构的例子。高速接口主要用于向/从智能卡内部大容量存储器进行高容量数据传送,而ISO接口用于传统的移动(U)SIM服务。图4所示的器件通过使用包含但不限于ISO7816协议的典型智能卡的特定协议的一个或更多个接口与外部或主机设备通信。在本例子中,操作***和预加载应用驻留在XIP闪存而不是ROM中。
根据一些实施例,执行程序代码或特定应用的命令(20)通过智能卡外部接口中的一个从外部或主机设备被发送给CPU(23),从而指示智能卡器件向智能卡的例如XIP闪存(29)的内部XIP存储器复制驻留在非XIP闪存(22)内的希望的应用中的至少一些。注意,命令可通过智能卡接口中的任意一个被发送。
命令指的是驻留在大容量存储器区域内的应用文件,并且指示CPU(23)开始执行应用或只是复制应用文件的至少一部分。任选地,智能卡操作***还校验在XIP存储器区域中存在用于接收应用的空间,并且为了为要被复制的应用腾出空间删除旧的应用或其它数据。在一些实施例中,智能卡CPU一旦接收单独的命令就开始执行已被加载到XIP存储器中的应用。
在接收(步骤110)执行和/或复制命令后,CPU(23)从智能卡的非XIP存储器(22)读取应用文件的至少一部分(步骤112),并将应用文件的至少一部分复制(步骤112)到例如XIP闪存(29)的可执行或XIP存储器中。在一些实施例中,文件复制操作包含使用内部总线(26)以转送数据的内部复制。作为替代方案,或者,另外,一些实施例通过主机设备(未示出)提供外部复制。
在将应用代码的至少一部分复制到XIP后,包含CPU(23)的智能卡器件的程序执行机构可开始执行来自XIP闪存(29)的应用。作为替代方案,程序执行可被延迟,并且应用可如前面解释的那样在接收单独的专用命令之后被执行。
如这里使用的那样,驻留在可执行存储器中的应用或程序代码的“执行”包含存储在可执行存储器内的应用或程序代码的至少一些指令的执行,并且不限于在任何给定时间执行存储在可执行存储器内的所有指令。
图5A~5C提供说明根据本发明的示例性实施例的智能卡器件上的复制和执行代码的方法的流程图。现在参照图5A,通过智能卡的接口从主机设备接收明确的复制命令(200)。任选地,操作***检查应用是否已驻留在XIP存储器内(210)。如果应用没有驻留在XIP存储器内,则应用代码中的一些或全部从非易失性存储器(例如,非XIP存储器)被复制到可执行存储器(XIP存储器)(202)。一旦从主机设备接收到执行命令(220A),就执行应用代码(204)。注意,对可接收执行命令(220A)的时间没有限制,并且,适当的时间包含紧挨着复制(202)之后,或者,替代性地,在某一时间延迟之后,其中,执行被延迟到稍后的时间。
图5B提供说明本发明的一些实施例的流程图。如图5B所示,复制和执行命令均通过接口从主机设备被接收(230),但可以理解,这两条命令可以作为复制和执行应用代码的单一命令被实现。在任选地检查应用是否驻留在XIP存储器(210)内之后,执行应用(204)。
图5C提供说明本发明的一些实施例的流程图。如图5C所示,从主机设备接收执行命令(220B)。根据图5C所示的一些实施例,没有接收到将应用复制到XIP存储器的实际的明确的命令。在任选地检查应用是否驻留在XIP存储器(210)内之后,执行应用(204)。
在一些实施例中,智能卡内的XIP存储器的数量被限制,并且希望执行具有超过在给定时间可用的XIP存储器的数量的尺寸或具有超过XIP存储器的总数量的尺寸的应用。为了使得内部智能卡处理器能够执行这些较大的应用,本发明的某些实施例任选地包含增强的分页机构。因此,根据本发明的一些实施例,当应用的可执行代码的仅仅第一子部分驻留在可执行存储器内时开始执行。在开始执行后,复制的可执行代码的至少第二子部分被分页到可执行存储器中(206)。
在一些实施例中,该增强的分页机构作为智能卡操作***的一部分被实现。对于这些实施例,复制机构首先只向XIP存储器复制应用的一部分。一旦智能卡处理器必须访问没有被加载到XIP存储器中的代码区域,应用执行就被中断,并且希望的代码根据需要被智能卡操作***复制到XIP存储页面,从而覆盖当前不需要的另一段代码或XIP存储器中的其它数据。为了提供有效的分页机构,可以通过实现一旦需要新页就中断智能卡处理器的逻辑或替代性地通过使用直接存储器存取(DMA)机构执行复制操作,通过智能卡硬件支持分页。
在一些实施例中,分页机构如果还没有被智能卡操作***支持就与应用代码集成;在这种情况下,应用被设计为以大多数可能有效的方式固有地支持分页。
图6示出用于使用分页机构对可执行代码进行分页的一个示例性实现。应用驻留在诸如非XIP存储器的非易失性大容量存储器的存储区域(31)中。运行该应用的请求被智能卡处理器接收。为了执行应用,智能卡处理器必须将应用从非XIP存储器复制到XIP存储器区域(30);但是,空闲XIP存储器(30)的数量不足以包含整个应用。为了克服这种限制,应用被分成多个段(33、34、35)。包含基本功能性并且可能包含与分页相关的功能的主段(35)被复制到XIP存储器区域(36)。应用的其它段(33)被复制到XIP存储器区域的一部分(32),XIP存储器区域的该部分被用作可交换区域(意味着必要时该区域中的代码可在后面与另一应用代码段交换)的。智能卡操作***从而可开始执行XIP存储器区域外面的应用。
一旦应用到达存在对驻留在例如段(34)的没有被加载到XIP存储器区域中的段中的数据或代码参考的点,智能卡操作***就将需要的段(34)加载到XIP存储器区域(32)的可交换区域,以覆盖以前加载的应用段,例如覆盖段(33)。
本发明的一些实施例提供将预加载的受保护的可执行代码传输到智能卡用户的方法。在图7中给出说明传输预加载的受保护的代码的流程图。如图7所示,发布者首先向一个或更多个用户提供包含驻留在诸如非XIP存储器的非易失性存储器中的预加载的受保护代码的智能卡器件(300)。在用户接收智能卡器件后,他可选择通过提供适当的授权凭证并通过使用主机设备向智能卡器件发送执行命令(302)执行受保护的应用代码。一旦接收执行命令,预加载的受保护代码中的一些或全部从非易失性存储器被复制到可执行存储器(304),并且复制的代码被执行(306)。任选地,一些程序代码在执行处理开始后被分页到可执行存储器中。
注意,本发明对于可执行代码的复制(304)没有特定的限制。在一些实施例中,从非易失性存储器向可执行存储器的代码的复制只是通过智能卡的内部数据总线的内部复制。但是,这不是对于本发明的每一个实施例的明确的要求。例如,根据包含向可执行存储器的代码206的任选的分页的实施例,并且,根据图7所示的实施例,复制任选地包含通过主机设备进行的外部复制。
因此,根据一个例子,服务供应商可在一组应用被提供给顾客之前将其预加载到(U)SIM卡中。预加载的应用代码被保护以避免通过智能卡外部接口被读取;如果应用未被锁定,那么只能通过智能卡处理器执行来自该组的应用。当顾客希望运行预加载的锁定的应用时,他呼叫服务供应商并请求订购新的服务。服务供应商向移动终端发送将希望的应用解除锁定的“密钥”;该密钥可无条件地启用应用有限的次数或指定的执行次数。从该时刻到密钥过期,(U)SIM卡CPU被启用以执行应用。
虽然已关于SIM和(U)SIM卡说明了本发明的某些方面,但应注意,本发明还涉及非接触式的智能卡。
在本申请的说明书和权利要求书中,动词“包含”、“包括”和“具有”及它们变化中的每一个被用于指示动词的宾语未必是动词的主语的构件、部件、元件或部分的完全列表。
已通过使用作为例子提供的本发明的实施例的详细说明描述了本发明,并且意图不在于限制本发明的范围。说明的实施例包含不同的特征,不是在本发明的所有实施例中均需要所有这些特征。本发明的一些实施例仅利用这些特征中的一些或这些特征的可能的组合。本领域技术人员容易想到被说明的本发明的实施例的变化和包含在说明的实施例中注明的特征的不同组合的本发明的实施例。本发明的范围仅由以下的权利要求限制。

Claims (32)

1.一种便携式智能卡器件,用于在从主机***接收命令时执行程序代码,该智能卡器件包含:
a)至少一个用于向主机***呈现智能卡功能性并用于从主机***接收命令的接口;
b)用于在程序执行之前存储程序代码的非易失性存储器;
c)用于在程序执行过程中存储程序代码的至少一部分的可执行存储器;和
d)用于将程序代码的所述至少一部分复制到所述可执行存储器的内部复制机构。
2.根据权利要求1所述的智能卡器件,其中,所述非易失性存储器包含不可执行的存储器。
3.根据权利要求1所述的智能卡器件,还包括:
e)内部数据总线,其中,所述复制机构操作为仅通过所述内部数据总线实现所述复制。
4.根据权利要求1所述的智能卡器件,还包括:
e)用于执行程序代码的所述复制的部分的程序执行机构。
5.根据权利要求1所述的智能卡器件,其中,所述智能卡功能性包含SIM功能性。
6.根据权利要求1所述的智能卡器件,其中,所述智能卡功能性包含USIM功能性。
7.根据权利要求1所述的智能卡器件,其中,所述智能卡器件具有多个所述接口,第一所述接口是ISO 7816兼容的接口,第二所述接口不是ISO 7816兼容的接口,并且通过所述第二接口接收所述命令。
8.根据权利要求7所述的智能卡器件,其中,所述第二接口是USB接口。
9.根据权利要求7所述的智能卡器件,其中,所述第二接口是MMC接口。
10.根据权利要求1所述的智能卡器件,其中,所述智能卡器件具有多个所述接口,第一所述接口是ISO 7816兼容的接口,第二所述接口不是ISO 7816兼容的接口,并且通过所述第一接口接收所述命令。
11.一种便携式智能卡器件,用于在从主机***接收命令时执行程序代码,该智能卡器件包含:
a)至少一个用于向主机***呈现智能卡功能性并用于从主机***接收命令的接口;
b)用于在程序执行之前存储程序代码的非易失性存储器;
c)用于在程序执行过程中存储程序代码的至少一部分的可执行存储器;
d)用于实现将程序代码的所述至少一部分复制到所述可执行存储器中的复制机构;和
e)用于仅当所述复制的部分的第一子部分驻留在所述可执行存储器中时开始执行程序代码的所述复制的部分的程序执行机构。
12.根据权利要求11所述的便携式智能卡器件,还包括:
f)内部数据总线,其中,所述复制机构操作为仅通过所述内部数据总线实现所述复制。
13.根据权利要求11所述的便携式智能卡器件,其中,所述复制包含通过主机***进行外部复制。
14.根据权利要求11所述的智能卡器件,还包括:
f)用于在所述执行过程中将程序代码的所述复制的部分的至少第二子部分从所述非易失性存储器分页到所述可执行存储器的分页机构。
15.一种执行程序代码的方法,该方法包括:
a)在智能卡器件内包含内部复制机构;
b)使用所述内部复制机构,将程序代码的至少一部分从所述智能卡器件的非易失性存储器复制到所述智能卡器件的可执行存储器;和
c)一旦通过所述智能卡器件的接口接收执行命令,就执行程序代码的所述复制的部分。
16.根据权利要求15所述的方法,其中,所述复制包含从所述智能卡器件的不可执行的存储器进行的复制。
17.根据权利要求15所述的方法,其中,所述复制仅通过使用所述智能卡器件的内部数据总线被实现。
18.根据权利要求15所述的方法,其中,所述智能卡器件包含SIM功能性。
19.根据权利要求15所述的方法,其中,所述智能卡器件包含USIM功能性。
20.根据权利要求15所述的方法,其中,通过ISO 7816兼容的接口接收所述命令。
21.根据权利要求15所述的方法,其中,通过ISO 7816兼容的接口以外的接口接收所述命令。
22.根据权利要求21所述的方法,其中,通过USB接口接收所述命令。
23.根据权利要求21所述的方法,其中,通过MMC接口接收所述命令。
24.一种传输预加载的受保护的可执行代码的方法,该方法包括以下步骤:
a)向至少一个智能卡用户提供具有存储在非易失性存储器中的预加载的受保护的可执行代码和用于复制预加载的受保护的可执行代码的复制机构的各智能卡器件;
b)在所述提供后,通过所述各智能卡器件的接口从每个所述智能卡用户接收有效的用户授权凭证和执行命令;
c)使用所述各智能卡器件的所述复制机构,将预加载的受保护的可执行代码的至少一部分从所述各智能卡器件的所述非易失性存储器复制到所述各智能卡器件的可执行存储器;和
d)使用所述各智能卡器件,执行程序代码的所述部分。
25.根据权利要求24所述的方法,其中,对于至少一个所述各智能卡器件,所述复制仅包含通过内部数据总线进行复制。
26.根据权利要求24所述的方法,其中,对于至少一个所述各智能卡器件,通过主机设备接收所述用户授权凭证和所述执行命令中的至少一个,并且所述复制包含通过所述主机设备进行外部复制。
27.一种执行程序代码的方法,包括:
a)在智能卡器件内包含复制机构;
b)使用所述复制机构,将程序代码的至少一部分从所述智能卡器件的非易失性存储器复制到所述智能卡器件的可执行存储器;和
c)一旦通过所述智能卡器件的接口接收执行命令,就仅当所述部分的第一子部分驻留在所述可执行存储器中时开始执行程序代码的所述部分。
28.根据权利要求27所述的方法,其中,所述复制仅包含通过所述智能卡器件的内部数据总线进行的复制。
29.根据权利要求27所述的方法,其中,从主机设备接收所述执行命令,并且所述复制包含通过所述主机设备进行外部复制。
30.根据权利要求27所述的方法,其中,所述执行包含在所述执行过程中将程序代码的所述部分的至少第二子部分从所述非易失性存储器分页到所述可执行存储器。
31.一种计算机可读存储介质,具有嵌入在所述计算机可读存储介质中的计算机可读代码,所述计算机可读代码用于:
a)接收用于执行存储在智能卡器件的非易失性存储器中的程序代码的命令;
b)在内部将所述可执行程序代码的至少一部分从所述智能卡器件的所述非易失性存储器复制到所述智能卡器件的可执行存储器;和
c)通过所述智能卡器件执行所述程序代码的所述部分。
32.一种计算机可读存储介质,具有嵌入在所述计算机可读存储介质中的计算机可读代码,所述计算机可读代码用于:
a)接收用于执行存储在智能卡器件的非易失性存储器中的程序代码的命令;
b)将所述可执行程序代码的至少一部分从所述智能卡器件的所述非易失性存储器复制到所述智能卡器件的可执行存储器;和
c)仅当所述部分的子部分驻留在所述可执行存储器中时通过所述智能卡器件开始执行所述程序代码的所述部分。
CN2006800094680A 2005-03-24 2006-03-19 在智能卡上加载内部应用 Expired - Fee Related CN101147161B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US66466705P 2005-03-24 2005-03-24
US60/664,667 2005-03-24
US11/171,187 US7243856B2 (en) 2005-03-24 2005-07-01 Loading internal applications on a smartcard
US11/171,187 2005-07-01
PCT/IL2006/000350 WO2006100669A2 (en) 2005-03-24 2006-03-19 Loading internal applications on a smartcard

Publications (2)

Publication Number Publication Date
CN101147161A true CN101147161A (zh) 2008-03-19
CN101147161B CN101147161B (zh) 2012-12-19

Family

ID=37024220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800094680A Expired - Fee Related CN101147161B (zh) 2005-03-24 2006-03-19 在智能卡上加载内部应用

Country Status (7)

Country Link
US (1) US7243856B2 (zh)
EP (1) EP1861812A4 (zh)
JP (1) JP2009506390A (zh)
KR (1) KR101013032B1 (zh)
CN (1) CN101147161B (zh)
CA (1) CA2601469A1 (zh)
WO (1) WO2006100669A2 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070126857A1 (en) * 2005-11-01 2007-06-07 Nokia Corporation Apparatus, method and computer program product providing synchronization of memory card operation during DVB-H reception
US7554843B1 (en) * 2005-11-04 2009-06-30 Alta Analog, Inc. Serial bus incorporating high voltage programming signals
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7555678B2 (en) * 2006-03-23 2009-06-30 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
SG146551A1 (en) * 2007-03-29 2008-10-30 Toshiba Kk Portable electronic device and control method of portable electronic device
US8285329B1 (en) 2007-04-02 2012-10-09 Sprint Communications Company L.P. Mobile device-based control of smart card operation
EP3474283A1 (en) 2007-05-30 2019-04-24 Ascensia Diabetes Care Holdings AG Method and system for managing health data
GB0713614D0 (en) 2007-07-12 2007-08-22 Icera Inc Smart card module
CN105653470A (zh) * 2007-09-03 2016-06-08 国泰银恩企业有限责任公司 用于交换mifare应用程序的移动通信设备及方法
US20090075698A1 (en) * 2007-09-14 2009-03-19 Zhimin Ding Removable Card And A Mobile Wireless Communication Device
US8249654B1 (en) * 2007-09-27 2012-08-21 Sprint Communications Company L.P. Dynamic smart card application loading
US9883381B1 (en) 2007-10-02 2018-01-30 Sprint Communications Company L.P. Providing secure access to smart card applications
DE102007053744A1 (de) * 2007-11-12 2009-05-14 Giesecke & Devrient Gmbh Verfahren zum Laden von Initialisierungs- und/oder Personalisierungsdaten auf einen tragbaren Datenträger
JP5209281B2 (ja) * 2007-11-22 2013-06-12 株式会社エヌ・ティ・ティ・ドコモ 通信端末装置、アクセス制御方法、icカード
EP2073504A1 (fr) * 2007-12-21 2009-06-24 Gemplus Dispositif et procédé d'insertion automatique, dans des données, d'une information cachée ainsi que d'un mécanisme permettant sa diffusion
US20090172235A1 (en) * 2007-12-27 2009-07-02 Mei Yan Megasim card adapter
US8683159B2 (en) * 2007-12-27 2014-03-25 Intel Corporation Delivering secured media using a portable memory device
US20090172279A1 (en) * 2007-12-28 2009-07-02 Po Yuan System For Accessing A Removable Non-Volatile Memory Card
US20090327529A1 (en) * 2008-06-25 2009-12-31 Sandisk Il Ltd. Data storage device with multiple protocols for preloading data
JP5432261B2 (ja) * 2008-08-08 2014-03-05 エスケープラネット株式会社 端末機とスマートカードとの間のインターフェースシステム及びその方法、並びにこれに適用されるスマートカード
KR101119642B1 (ko) * 2008-08-08 2012-02-22 에스케이플래닛 주식회사 단말기와 스마트 카드 간 인터페이스 시스템 및 그 방법, 그리고 이에 적용되는 스마트 카드
KR101489141B1 (ko) * 2008-12-26 2015-02-03 에스케이플래닛 주식회사 스마트 카드 연동 시스템 및 그 방법, 그리고 이에 적용되는 스마트 카드
US20120331303A1 (en) * 2011-06-23 2012-12-27 Andersson Jonathan E Method and system for preventing execution of malware
US9635549B2 (en) 2011-09-01 2017-04-25 Nokia Technologies Oy Providing subscriber identity module function
US9191052B2 (en) 2012-07-17 2015-11-17 Electronics And Telecommunications Research Institute Universal subscriber identification module card, including security chip, for mobile terminal and communication method using the same
EP2802162A1 (en) * 2013-05-07 2014-11-12 Gemalto SA Method for accessing a service, corresponding device and system
KR20180077727A (ko) 2016-12-29 2018-07-09 삼성전자주식회사 반도체 집적 회로 카드 및 이를 포함하는 통신 시스템
US11037042B2 (en) 2016-12-29 2021-06-15 Samsung Electronics Co., Ltd. Semiconductor integrated circuit cards and communication systems including the same

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
FR2783336B1 (fr) * 1998-09-11 2001-10-12 Schlumberger Ind Sa Procede de transmission de donnees et carte pour une telle transmission
JP4423711B2 (ja) * 1999-08-05 2010-03-03 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
JP2001266096A (ja) * 2000-03-17 2001-09-28 Sony Corp 不揮発性メモリを使った記録媒体及びデータ転送方法
US6824063B1 (en) * 2000-08-04 2004-11-30 Sandisk Corporation Use of small electronic circuit cards with different interfaces in an electronic system
US20020138702A1 (en) * 2001-03-26 2002-09-26 Moshe Gefen Using non-executable memory as executable memory
EP1361527A1 (en) * 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Method for loading an application in a device, device and smart card therefor
US6988163B2 (en) * 2002-10-21 2006-01-17 Microsoft Corporation Executing binary images from non-linear storage systems
CN1308882C (zh) * 2003-01-06 2007-04-04 李之彦 开放式功能动态集成的智能卡***
US7305535B2 (en) * 2003-04-17 2007-12-04 Sandisk Corporation Memory cards including a standard security function
JP4314057B2 (ja) * 2003-04-18 2009-08-12 サンディスク コーポレイション 不揮発性半導体記憶装置および電子装置
JP4256198B2 (ja) * 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US7752380B2 (en) * 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
JP2005190312A (ja) * 2003-12-26 2005-07-14 Toshiba Corp マルチチップパッケージ型メモリシステムおよびコンピュータシステム
JP4745613B2 (ja) * 2004-01-20 2011-08-10 キヤノン株式会社 情報処理装置及び情報処理方法
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
JP2005322109A (ja) * 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール

Also Published As

Publication number Publication date
KR20080012835A (ko) 2008-02-12
US7243856B2 (en) 2007-07-17
EP1861812A4 (en) 2011-04-13
CN101147161B (zh) 2012-12-19
KR101013032B1 (ko) 2011-02-14
CA2601469A1 (en) 2006-09-28
EP1861812A2 (en) 2007-12-05
WO2006100669A2 (en) 2006-09-28
JP2009506390A (ja) 2009-02-12
US20060214005A1 (en) 2006-09-28
WO2006100669A3 (en) 2007-05-03

Similar Documents

Publication Publication Date Title
CN101147161B (zh) 在智能卡上加载内部应用
CN104504806B (zh) 用于非接触式智能卡的本地可信服务管理器
Shelfer et al. Smart card evolution
CN103415874B (zh) 将应用数据写入到安全元件
US8862052B2 (en) NFC mobile communication device and NFC reader
AU736325B2 (en) Multi-application IC card system
CN101142581B (zh) 向便携式数据存储装置的用户传递消息作为其使用条件
TW201028858A (en) Method, system and controller thereof for transmitting data stream
CN101595488A (zh) 用于将内容绑定到单独的存储器装置的方法和设备
US8700848B2 (en) Data exchange between protected memory cards
US7303135B2 (en) Semiconductor memory card and computer readable program
JP2003030596A (ja) 論理チャネル管理機能付き記憶装置
US8276188B2 (en) Systems and methods for managing storage devices
CN2929835Y (zh) 具有金融交易报文处理能力的智能卡
Kose et al. A SECURE DESIGN ON MIFARE CLASSIC CARDS FOR ENSURING CONTACTLESS PAYMENT AND CONTROL SERVICES
CN109815711A (zh) 一种存储设备、数据存储方法和数据读取方法
Kose et al. ADVANCES IN CYBER-PHYSICAL SYSTEMS Vol. 7, Num. 1, 2022 A SECURE DESIGN ON MIFARE CLASSIC CARDS FOR ENSURING CONTACTLESS PAYMENT AND CONTROL SERVICES
JP2005352963A (ja) 情報管理装置及びその制御方法
JP2012027929A (ja) スマートカード上の内部アプリケーションのローディング

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121219

Termination date: 20140319