CN104012122A - 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体 - Google Patents

用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体 Download PDF

Info

Publication number
CN104012122A
CN104012122A CN201280062955.9A CN201280062955A CN104012122A CN 104012122 A CN104012122 A CN 104012122A CN 201280062955 A CN201280062955 A CN 201280062955A CN 104012122 A CN104012122 A CN 104012122A
Authority
CN
China
Prior art keywords
portable data
communication
application program
data medium
applet
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
CN201280062955.9A
Other languages
English (en)
Other versions
CN104012122B (zh
Inventor
M.施内林格
F.戈申霍弗
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.)
Quartech Mobile Security LLC
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Publication of CN104012122A publication Critical patent/CN104012122A/zh
Application granted granted Critical
Publication of CN104012122B publication Critical patent/CN104012122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Telephone Function (AREA)

Abstract

本发明描述了一种用于与便携式数据载体(20)上的应用程序(40a,40b)通信的方法以及一种这样的便携式数据载体(20)。该方法包括以下步骤:将由外部实体(10)向所述便携式数据载体(20)传输的命令从在所述便携式数据载体上实现的运行时环境(25)传递到在所述便携式数据载体(20)上实现的代理应用程序(30);将所述命令由所述代理应用程序(30)经由所述运行时环境(25)传递到所述应用程序(40a,40b);和以命令形式监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或通过所述代理应用程序(30)干预该通信。

Description

用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体
技术领域
本发明涉及一种用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体。
背景技术
便携式数据载体、特别是以芯片卡或智能卡形式的便携式数据载体,目前在多个应用中被使用,诸如在移动电话中作为SIM或USIM卡,作为银行卡,作为健康卡等。这样的便携式数据载体为了执行相应的应用程序包括微处理器和多个易失性或非易失性存储区域。作为非易失性存储区域例如可以设置ROM或EEPROM或闪存。易失性存储器例如作为RAM实现。与非易失性存储区域相反,当数据载体上的处理运行结束(卡复位)或为执行处理而所需的电流供应断开时,来自于易失性存储区域的数据丢失。
特别地面向对象的编程语言适合于建立对于便携式数据载体的独立于平台的应用程序。在此已流行Java CardTM技术。该技术在Java卡规范中描述,所述规范一直保持更新并且按照版本3.0呈现(参见http://java.sun.com/java-card/3.0/specs.jsp)。在Java卡规范中定义了Java卡虚拟机(JCVM)和Java卡API(API=application programming interface,应用程序编程接口),其共同构成Java卡运行时环境(也称为JCRE[Java Card runtimeenvironment])。在本发明的范围内将基于Java卡规范工作的便携式芯片卡称为Java卡。
Java CardTM技术允许在一个便携式数据载体上,特别是在一个芯片卡上实现多个应用程序。但是出于安全性原因,Java卡规范规定,外部实体,例如芯片卡终端,(每个逻辑信道)总是只能与芯片卡上的一个应用程序通信,但是这对于一些应用程序来说是不必要限制。为此芯片卡终端必须借助AID(“applicationidentifier,应用程序标识符”)和相应的命令来识别芯片卡终端想要与其进行通信的目标应用程序。该公知方法在图2a中示意性示出,在本发明的后面详细描述中对其进一步讨论。
发明内容
从该背景出发,本发明的任务是,提供一种用于与便携式数据载体上的应用程序通信的灵活方法以及一种相应构造的便携式数据载体。
所述任务按照本发明通过按照权利要求1的用于与便携式数据载体上的应用程序通信的方法来解决。相应构造的便携式数据载体是装置独立权利要求的内容。本发明的有利扩展在从属权利要求中定义。
按照本发明的第一方面,提供一种用于与便携式数据载体上的应用程序通信的方法。在此该方法包括以下步骤:将由外部实体向便携式数据载体传输的命令从在便携式数据载体上实现的运行时环境传递到在便携式数据载体上实现的代理应用程序;将命令由代理应用程序经由运行时环境传递到应用程序;和以命令形式监视在外部实体和应用程序之间的通信和/或通过代理应用程序干预该通信。
按照本发明的第二方面,提供一种便携式数据载体,在其上实现了至少一个应用程序并且其可以与外部实体通信。在便携式数据载体上还实现了运行时环境和代理应用程序。在此运行时环境被构造为,将由外部实体向便携式数据载体传输的命令传递到代理应用程序。代理应用程序被构造为,将命令经由运行时环境传递到应用程序并且以命令的形式监视在外部实体和应用程序之间的通信和/或干预该通信。
优选地,在便携式数据载体上还实现了代理API或代理接口,其提供在运行时环境和代理应用程序之间的合适连接并且被构造为,通过由运行时环境中接收的命令而被触发。
按照优选实施方式,通过在便携式数据载体上实现的代理应用程序监视在外部实体和应用程序之间的通信和/或干预该通信的步骤包括记录关于数据通信的信息。
替换地或附加地,通过在便携式数据载体上实现的代理应用程序监视在外部实体和应用程序之间的通信和/或干预该通信的步骤包括数据的监视和过滤,以便过滤可能危害应用程序的或便携式数据载体的安全的数据。为此在便携式数据载体上实现的代理应用程序中优选存储过滤设置,其可以在APDU层面或应用程序层面上运行。在此在代理应用程序中存储的过滤设置优选地可以在任何时候被改变。
按照优选实施方式,通过在便携式数据载体上实现的代理应用程序监视在外部实体和应用程序之间的通信和/或干预该通信的步骤替换地或附加地包括提供应用程序的扩展。优选地,应用程序的扩展可以实现前面没有给出的用户交互,例如以图形用户界面的形式。
替换地或附加地,通过在便携式数据载体上实现的代理应用程序监视在外部实体和应用程序之间的通信和/或干预该通信的步骤包括在应用程序所没有适配的、不同的传输和/或应用程序协议之间的转换。
便携式数据载体在本发明的意义上是诸如芯片卡、信用卡、电子证件、电子护照、SIM卡、数据存储卡等的数据载体。在芯片卡的情况下可以是无接触或有接触的芯片卡或既可无接触又可有接触地运行的芯片卡(双接口卡),具有任意格式,例如按照ISO7810,例如ID-1(支票卡格式)或ID-000(SIM卡或Mini卡格式)或ID-00或按照其他规范。
优选地,便携式数据载体是芯片卡,特别是以Java卡形式的芯片卡,其对于面向对象的编程语言构造。相应地,至少一个应用程序和代理应用程序作为在数据载体上可运行的Java CardTM小应用程序构造。存在的Java CardTM组件,也就是运行时环境,虚拟机和类库,可以保持不变。公知系统借助代理应用程序和代理API的描述的扩展极大地扩展了系统的功能,而用于匹配的开销最小化并且存在的安全规定既不被破坏也没有限制。
如专业人员公知的,前面描述的优选构造既可以在本发明的第一方面的范围内,即在用于与便携式数据载体上的应用程序通信的方法的范围内,也可以在本发明的第二方面的范围内,即在便携式数据载体的范围内有利地实现。
本发明特别地具有以下优点。芯片卡,特别是Java卡,借助代理应用程序具有灵活的控制实体,其在接收的命令,特别是APDU被传递到实际的目标应用程序之前具有对所述命令的访问。同样在相反的通信方向上,代理应用程序也具有对目标应用程序的对接收的命令的应答的访问并且可以对其进行改变。由此代理应用程序允许对在便携式数据载体上可用的应用程序和外部实体,例如以终端形式的实体之间的通信,优选以APDU形式的通信,进行影响,而不必为此改变在便携式数据载体上可用的应用程序。此外,代理应用程序向用户例如借助由代理应用程序提供的图形用户界面提供更大的影响可能性,例如对不提供这样的图形用户界面的应用程序的影响可能性,而且不必修改该应用程序。最后代理应用程序提高便携式数据载体的安全性,因为借助过滤设置,例如不允许的APDU和/或应用程序被禁用。
附图说明
本发明的其他特征、优点和任务由对多个实施例和实施变型的以下详细描述中得出。参见附图,其中:
图1示出了与以终端形式的外部实体通信的、以芯片卡形式的按照本发明的便携式数据载体的优选实施方式的示意图,
图2a示出了按照现有技术在芯片卡上的应用程序和终端之间的通信路径的示意图,和
图2b示出了按照本发明的优选实施方式在以按照图1的芯片卡形式的便携式数据载体上的应用程序和以终端形式的外部实体之间的可能的通信路径的示意图。
具体实施方式
图1示出了与以终端10形式的外部实体通信的、以芯片卡20形式的按照本发明的便携式数据载体的优选实施方式的示意图。优选地,芯片卡20被构造为Java CardTM。但是当然本发明也可以在具有其他结构形状的便携式数据载体中并且在使用其他的卡操作系统的条件下起作用。
在图1中示出的芯片卡20被构造为与按照终端或读取设备10形式的外部实体交换数据。作为数据的交换,在此理解为信号传输、互相控制和在简单情况下也理解为在终端10和芯片卡20之间的连接。在信息理论中,数据交换除了别的之外也通过发送者-接收者-模型标记:数据或信息按照符号编码并且然后由发送者经由传输信道向接收者传输。在此关键的是,发送者和接收者使用相同的编码,由此接收者可以理解消息,也就是可以解码待交换的数据。
为了在芯片卡20和终端10之间的数据传输或通信,芯片卡20以及终端10都具有合适的通信接口22和12。接口22和12例如可以被构造为,无线地,即通过空气接口进行在它们之间的或者说在芯片卡20和终端10之间的通信。替换地,芯片卡20可以通过接口22与终端10的接口12电地、也就是有接触地相连。在该情况下,接口22通常被构造为在芯片卡20的一侧上布置的、具有用于与终端10进行数据交换的接触面的接触区域。当然本发明还包括如下的芯片卡,其既具有用于与外部实体,例如以终端形式的外部实体有接触通信的接口又具有用于无接触通信的接口并且其对于专业人员来说作为双接口芯片卡公知。
除了用于与终端10通信的接口22之外,芯片卡20还包括中央处理器或计算单元(CPU)21,其与接口22处于通信连接。公知地,属于CPU21的主要任务的有,算术和逻辑功能的执行和数据元素的读写,如通过CPU21运行的程序代码所定义的。CPU21还与易失性工作存储器(RAM)23和非易失性可重写存储器27相连。优选地,非易失性存储器27是闪存(闪存EEPROM)。在此例如可以是具有NAND或NOR结构的闪存。
在图1所示的优选实施方式中,在芯片卡20的非易失性存储器27中存储了程序代码,其可以由CPU21运行。特别地,在芯片卡20的非易失性存储器27中存储了芯片卡操作系统24(OS)、Java卡虚拟机25a(JCVM)、Java Card应用程序编码接口(JCAPI)25b、代理API28(PAPI)、代理应用程序30(PROXY)、以及第一应用程序40a(APP1)和第二应用程序40b(APP2)的程序代码。在此代理应用程序30(PROXY)、第一应用程序40a(APP1)和第二应用程序40b(APP2)优选以Java CardTM小应用程序的形式呈现,如后面结合图2b详细描述的。
因为在终端和例如以芯片卡形式的便携式数据载体之间的有接触通信,通常按照国际标准ISO/IEC7816-3("Identification cards-Integrated circuit cards-Part3:Cards with contacts-Electrical interface and transmission protocols")和ISO/IEC7816-4("Identification cards-Integrated circuit cards-Part4:Organization,security and commands for interchange")定义的协议进行,在此对其详细引用,所以在后面在参考这些标准的条件下描述本发明的优选实施方式。但是专业人员知道,本发明的基本思想在遵守这些标准的条件下不限于在终端或读取设备和便携式数据载体之间的有接触通信,而是在其他通信标准或通信协议的范围内可以有利地采用本发明,例如用于无接触通信的芯片卡的标准ISO/IEC14444。
优选地,在芯片卡20和终端10之间的整个数据交换在使用所谓的APDU(application protocol data units,应用程序协议数据单元)的条件下按照标准ISO/IEC7816-4进行。APDU是应用层的数据单元,也就是一种容器,利用所述容器,命令和/或数据被传输到芯片卡20。人们区分由终端或读取设备向芯片卡发送的命令APDU和由芯片卡响应于命令APDU而向终端发送的应答APDU。
如专业人员公知的,在标准ISO/IEC7816-4中如下定义APDU的结构,即,其由头和体组成。APDU头特别地包括用于标识应用程序及其特定的命令组的类字节(CLA),以及用于选出或确定本身的命令或指令的指令字节(INS)。在APDU头之后跟随的APDU体特别地包括数据域,其包含属于通过CLA和INS确定的命令的数据。对于APDU的其他信息特别地参考手册"Handbuch derChipkarten",Wolfgang Rankl和Wolfgang Effing,Carl Hanser Verlag,München,2008年第5版第8.3章,其内容完全引用于此。
通常地,终端总是仅与芯片卡上的一个小应用程序通信。当芯片卡上实现了多个小应用程序并且终端想要换到另一个小应用程序时,终端首先必须选出该另一个小应用程序,例如借助在APDU中传输的命令“SELECT”。该关系在图2a中示意性示出,其示出了在常规的Java Card的不同的软件层面之间的数据流。在Java Card运行时环境(JCRE)25中实现的用于将APDU传递到选出的小应用程序的机制作为分配单元25c考察。该分配单元25c通常具有AID寄存器,即,在芯片卡上实现的小应用程序名册,包括其AID("application identifiers,应用程序标识符"),和用于存储接收的和输出的APDU的全局APDU缓存。分配单元25c被构造为,将由终端10发出的和由操作系统24(OS)传递的APDU按照类字节和指令字节来检查并且传递到相应的目标小应用程序,例如小应用程序40a或40b。小应用程序的AID由分配单元25c分配到该目标小应用程序并且对于每个小应用程序是唯一的。在通过分配单元25c建立了在终端10和小应用程序之间的通信信道之后,进行终端10仅与该小应用程序的进一步通信,而且一直进行,直到终端10选出了新的小应用程序,例如利用“SELECT”命令。对于专业人员来说前面描述的常规的命令机制例如从书"Java CardTMTechnologyfor Smart Cards",Zhiqun Chen,Addison-Wesley,2000中公知,其内容引用于此。
如后面参考图2b详细描述的,本发明扩展了前面描述的在终端10和芯片卡20上的目标小应用程序、例如小应用程序40a或40b之间的通信的常规可能性。该扩展优选以代理小应用程序30和代理API或代理接口28的形式实现,其已经结合图1描述了并且后面还要详细讨论。
在芯片卡20上实现的代理API28提供了在Java Card运行时环境25(JCRE)和代理小应用程序30之间的合适的连接并且构造为,通过在分配单元25c中触发接收的APDU,例如以“APDU事件”形式。与代理API28相连的代理小应用程序30优选被构造为,在“APDU事件”中检查具有其中存储的APDU的分配单元25c的全局APDU缓存,改变全局APDU缓存和/或将合适的APDU复制到全局APDU缓存。
按照本发明,代理小应用程序30还被构造为,经过代理API28指示JavaCard运行时环境25(JCRE),应当进一步处理APDU,并且具体是利用可能改变的APDU缓存,或应当将由代理小应用程序30提供的APDU直接发送回终端10。该机制例如可以通过代理API28的相应构造来实现。例如代理API28可以被构造为,检查来自于代理小应用程序30的APDU,该APDU是确定用于目标应用程序的还是应当直接返回到终端10。
代理API28特别地实现了,代理小应用程序30可以作为按照Java Card标准的可下载的小应用程序实现。代理API28由此是编程接口("applicationprogramming interface",API),其被构造为,用于一方面将来自于Java Card运行时环境25(JCRE)及其分配单元25c的事件发送到代理小应用程序30并且另一方面将代理小应用程序30的动作向Java Card运行时环境25(JCRE)及其分配单元25c反向通信(例如命令的拒绝或接受)。专业人员知道,在最简单的情况下代理API28基本上可以仅在于代理小应用程序30的调用,其中通过参考分配单元25c的APDU缓存。
代理小应用程序30作为Java小应用程序的构造除了别的之外还具有优点,即,通用的标准允许代理小应用程序30的远程管理,以便例如改变代理小应用程序30的配置。此外存在如下可能性,如前所述,代理小应用程序30只有当芯片卡20已经位于场中时才在芯片卡上安装。
代理小应用程序30优选地特别被构造为,执行以下动作。可以基于可配置的过滤设置(例如"SELECT APP1")借助代理小应用程序30查找到来的APDU(通常是命令APDU)。在此如果在APDU中由代理小应用程序30例如找到目标小应用程序的在过滤设置中定义的AID,则触发代理小应用程序30的其他动作。
优选地,在代理小应用程序30中存储的、可以在APDU层面或小应用程序层面上运行的过滤设置,包含一个或多个以下元素:APDU和/或小应用程序的禁用列表,利用其定义应当被禁用的、可用的APDU和/或可用的小应用程序的APDU和/或小应用程序;APDU和/或小应用程序的可用列表,利用其定义允许的、可用的APDU和/或可用的小应用程序的APDU和/或小应用程序。借助在代理小应用程序30中存储的禁用列表例如可以有针对地禁用单个APDU或命令。例如由此可以禁用所有命令“SELECT AID”,从而在芯片卡20上可用的小应用程序只能借助代理小应用程序30执行。
优选地,代理小应用程序30这样构造,使得代理小应用程序30的过滤设置在任何时候可以被改变。对于芯片卡20例如是用于移动电话的SIM卡的有利的情况,可以考虑,代理小应用程序30的过滤设置的这样的改变可以直接由用户借助移动电话进行。替换地或附加地可以考虑,代理小应用程序30的过滤设置的这样的改变可以没有直接用户影响地通过在移动电话上运行的应用程序来进行。为了能够防止对代理小应用程序30的过滤设置的无权的改变,优选地在芯片卡20上实现相应的安全机制。例如可以这样构造芯片卡20或代理小应用程序30,使得代理小应用程序30的过滤设置通过外部实体的改变只有当所述外部实体相对于芯片卡20已经例如借助共同的密码,如密码(PIN或TAN),和/或生物统计特征被验证时才是可能的。
对于芯片卡20例如是用于移动电话的SIM卡的有利情况,在移动电话上优选实现应用程序,其使得移动电话的用户例如借助由应用程序提供的图形用户界面可以改变代理小应用程序30的过滤设置。附加地或替换地,代理小应用程序30的过滤设置可以通过如下被改变,即,在芯片卡20上实现Web服务器,借助Web浏览器可以对其进行访问,以便改变代理小应用程序30的过滤设置。按照另一个替换,为了改变代理小应用程序30的过滤设置也可以采用SIM工具箱应用。按照另一个优选实施方式,代理小应用程序30的过滤设置可以OTA(经由空气)地由后台系统的服务器直接加载到芯片卡20。
对于如下有利情况:芯片卡20例如是用于移动电话的SIM卡,在所述SIM卡上实现了应用程序,该应用程序允许移动电话的用户例如借助由该应用程序提供的图形用户界面改变代理小应用程序30的过滤设置,优选地可以设置,在改变代理小应用程序30的过滤设置时考虑由移动电话提供的其他信息。例如可以借助GPS模块和/或移动电话所位于其中的移动电话单元确定的关于移动电话的地理位置的信息,可以用来在一些地方或一些商店优先考虑或禁用在芯片卡20上某些可用的小应用程序。借助代理小应用程序30的该构造,例如可以实现简单的防偷,方式是,这样选择代理小应用程序30的过滤设置,使得某些通过小应用程序提供的交易在定义的地理区域外部通过代理小应用程序30禁止。
借助前面描述的在代理小应用程序30中存储的过滤设置,代理小应用程序30可以用作为在终端10和在芯片卡20上可用的小应用程序之间的APDU层面的防火墙。此外可以在输入某些在过滤设置中定义的命令或APDU时,由代理小应用程序30触发某些动作,例如关于对芯片卡20上可用的小应用程序中的一个确定的小应用程序的选择向用户进行通知。
在芯片卡20作为移动电话中的安全模块运行的情况下可以考虑,代理小应用程序30被构造为具有图形用户界面,其例如在移动电话的显示器上向用户通知如下信息,即,代理小应用程序30是激活的。代理小应用程序30的该图形用户界面也可以用于,由用户作出判断,例如在芯片卡20上的两个不同的小应用程序之间的选择,其相应地由代理小应用程序30实现。
例如代理小应用程序30可以被构造为,只要其通过到来的APDU被触发了,就建立合适的、在芯片卡20上的可用的小应用程序的列表并且将该列表呈现给用户以供选择。优选地,代理小应用程序30可以建立合适的、在芯片卡20上的可用的小应用程序的该列表作为优先考虑的列表。
基于前面描述的优选构造,代理小应用程序30能够确保,终端10拦住由代理小应用程序30建立的对“SELECT AID”命令的应答APDU并且尽管如此并不选择具有另一个AID的另一个小应用程序。优选地,代理小应用程序30被构造为,在这样的情况下,禁止终端10对具有另一个AID的另一个小应用程序的访问并且在通过用户确认之后才解除该禁止。
如在图2b中示意性示出的,在芯片卡20的按照本发明的构造中可以在终端10和芯片卡20之间采用不同的通信路径。例如可以将由目标小应用程序,例如小应用程序40a或40b建立的应答APDU首先经由代理API28发送到代理小应用程序30,以便在那里由代理小应用程序30检验,并且然后经由代理API28和Java Card运行时环境25(JCRE)及其分配单元25c发送回终端10。然而也可以考虑,由目标小应用程序建立的应答APDU直接从目标小应用程序(例如小应用程序40a或小应用程序40b)经由Java Card运行时环境25(JCRE)发送回终端10。
以下描述前面解释过的按照本发明的构造的一些优选应用可能性。
芯片卡20例如可以被构造为,作为以移动电话中的SIM卡形式的安全模块被采用。在移动电话中通常出现如下情况,即,在移动电话上实现的应用程序应当能够安全地与在SIM卡上实现的小应用程序通信。在用于保护移动电话的现代的操作系统,例如安卓操作系统的当前建议中,通过移动电话的软件堆提供安全性,其构建在在移动电话上实现的应用程序和在SIM卡上实现的小应用程序之间的APDU接口。在此公知的解决方案在于,在SIM卡上提供按照标准ISO7816-15或PKCS#15的加密结构,其中具有访问规则,例如具有提示:确定的APDU不允许被发送到确定的、通过其AID定义的、在SIM卡上的小应用程序。另一种公知的解决方案是,移动电话的软件堆被构造为,在SIM卡上的小应用程序中查询当前的安全规则。然而该安全规则是否被遵守,取决于移动电话的软件堆的构造,因为SIM卡仅提供例如在个性化的范畴内在SIM卡中存储的信息,例如安全规则。由此该安全性可以通过对操作系统的攻击和由此对移动电话的软件堆的攻击容易地打破。
该问题可以通过具有代理小应用程序30的SIM卡的按照本发明的构造来解决。特别地,可以借助代理小应用程序30将在SIM卡中存储的安全规则附加地也在SIM卡侧实行或禁止。在此仅成立如下限制,即,在SIM卡侧借助代理小应用程序30实行或禁止在SIM卡中存储的安全规则对于移动电话的所有应用程序成立,即,在此不能区分移动电话的不同应用程序。SIM卡由此不具有关于如下的信息,即,在移动电话上哪个应用程序已经将命令发送到SIM卡或相应的应用程序是否是可信的。
除了前面描述的安全应用,本发明特别地可以在以下情况中有利地应用。代理小应用程序30例如可以用于,扩展目标小应用程序的功能范围,而不必在此改变目标小应用程序本身。此外代理小应用程序30例如可以有利地用于实现应用程序最初没有适配的、不同的传输和/或应用程序协议的转换。

Claims (10)

1.一种用于与便携式数据载体(20)上的应用程序(40a,40b)通信的方法,其中,该方法包括以下步骤:
将由外部实体(10)向所述便携式数据载体(20)传输的命令从在所述便携式数据载体(20)上实现的运行时环境(25)传递到在所述便携式数据载体上实现的代理应用程序(30);
将所述命令由所述代理应用程序(30)经由所述运行时环境传递到所述应用程序(40a,40b);和
以命令形式监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或通过所述代理应用程序(30)干预该通信。
2.根据权利要求1所述的方法,其中,所述命令的传递经由在所述便携式数据载体(20)上实现的代理API(28)进行,该代理API提供在所述运行时环境(25)和所述代理应用程序(30)之间的合适连接并且被构造为,通过在所述运行时环境(25)中到来的命令而被触发。
3.根据权利要求1所述的方法,其中,通过在所述便携式数据载体(20)上实现的代理应用程序(30)监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或干预该通信的步骤包括记录关于数据通信的信息。
4.根据权利要求1所述的方法,其中,通过在所述便携式数据载体(20)上实现的代理应用程序(30)监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或干预该通信的步骤包括数据的监视和过滤,以便过滤可能危害所述应用程序(40a,40b)的或所述便携式数据载体(20)的安全的数据。
5.根据权利要求4所述的方法,其中,在所述便携式数据载体(20)上实现的代理应用程序(30)中存储过滤设置,其能够在APDU层面或应用程序层面上运行。
6.根据权利要求5所述的方法,其中,在代理应用程序中(30)存储的过滤设置能够事后地被改变。
7.根据权利要求1所述的方法,其中,通过在所述便携式数据载体(20)上实现的代理应用程序(30)监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或干预该通信的步骤包括提供所述应用程序(40a,40b)的扩展。
8.根据权利要求7所述的方法,其中,所述应用程序(40a,40b)的扩展能够实现例如以图形用户界面的形式的用户交互。
9.根据权利要求1所述的方法,其中,通过在所述便携式数据载体(20)上实现的代理应用程序(30)监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或干预该通信的步骤包括在所述应用程序(40a,40b)所没有适配的、不同的传输和/或应用程序协议之间的转换。
10.一种便携式数据载体(20),特别是芯片卡,在其上实现了至少一个应用程序(40a,40b)并且其可以与外部实体(10)通信,其中在所述便携式数据载体(20)上还实现了运行时环境(25)和代理应用程序(30),其中所述运行时环境(25)被构造为,将由所述外部实体(10)向所述便携式数据载体(20)传输的命令传递到所述代理应用程序(30),并且其中所述代理应用程序(30)被构造为,将所述命令经由运行时环境(25)传递到所述应用程序(40a,40b)并且以命令的形式监视在所述外部实体(10)和所述应用程序(40a,40b)之间的通信和/或干预该通信。
CN201280062955.9A 2011-12-23 2012-12-19 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体 Active CN104012122B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102011122242.5 2011-12-23
DE102011122242A DE102011122242A1 (de) 2011-12-23 2011-12-23 Verfahren zur Kommunikation mit einer Applikation auf einem portablen Datenträger sowie ein solcher portabler Datenträger
PCT/EP2012/005280 WO2013091863A1 (de) 2011-12-23 2012-12-19 Verfahren zur kommunikation mit einer applikation auf einem portablen datenträger sowie ein solcher portabler datenträger

Publications (2)

Publication Number Publication Date
CN104012122A true CN104012122A (zh) 2014-08-27
CN104012122B CN104012122B (zh) 2018-07-17

Family

ID=47552946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280062955.9A Active CN104012122B (zh) 2011-12-23 2012-12-19 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体

Country Status (5)

Country Link
US (1) US9830203B2 (zh)
EP (1) EP2795934B1 (zh)
CN (1) CN104012122B (zh)
DE (1) DE102011122242A1 (zh)
WO (1) WO2013091863A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105765951B (zh) * 2013-10-10 2019-09-13 谷歌有限责任公司 用于管理通信的系统、方法和计算机程序产品
EP2933759A1 (fr) * 2014-04-18 2015-10-21 Gemalto SA Procédé de fabrication d'un dispositif à circuit électronique/électrique
EP3093761A1 (en) * 2015-05-13 2016-11-16 Gemalto Sa Integrated circuit card adapted to transfer first data from a first application for use by a second application
US10613882B2 (en) 2016-10-14 2020-04-07 Seagate Technology Llc Active drive API
US11294798B2 (en) * 2017-11-15 2022-04-05 Lenovo (Singapore) Pte. Ltd. Method and system for context based testing of software application vulnerabilities
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040235523A1 (en) * 2001-03-07 2004-11-25 Schrire Michael Anton System for replicating data of a mobile station
US20050108571A1 (en) * 2003-09-29 2005-05-19 Axalto Inc. Secure networking using a resource-constrained device
CN1744523A (zh) * 2005-08-26 2006-03-08 南京邮电大学 一种面向移动代理网管的安全保护方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
DE19860177C2 (de) * 1998-12-24 2002-11-21 Ibm Verfahren und Vorrichtung zur benutzerkontrollierten Freischaltung von Chipkartenfunktionen
US6874086B1 (en) * 2000-08-10 2005-03-29 Oridus, Inc. Method and apparatus implemented in a firewall for communicating information between programs employing different protocols
FR2831305B1 (fr) * 2001-10-23 2004-01-30 Inside Technologies Circuit integre sans contact comprenant des moyens d'identification automatique de trame
ES2221535B1 (es) 2002-07-31 2006-03-01 Airtel Movil, S.A. Un dispositivo de telefonia movil y un metodo de gestion de datos.
FR2846770B1 (fr) * 2002-11-04 2005-01-28 Oberthur Card Syst Sa Carte a microcircuit comportant des moyens de publication de ses objets informatiques
US20070083924A1 (en) 2005-10-08 2007-04-12 Lu Hongqian K System and method for multi-stage packet filtering on a networked-enabled device
US20080200220A1 (en) * 2007-02-16 2008-08-21 Jackson Bruce K Methods and devices for limiting battery power consumption in a wireless communication device
EP1965596A1 (en) 2007-02-27 2008-09-03 Gemplus A personal token having enhanced communication abilities for a hosted application
US20120214577A1 (en) * 2007-02-27 2012-08-23 Igt Smart card extension class
US8935384B2 (en) * 2010-05-06 2015-01-13 Mcafee Inc. Distributed data revocation using data commands

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040235523A1 (en) * 2001-03-07 2004-11-25 Schrire Michael Anton System for replicating data of a mobile station
US20050108571A1 (en) * 2003-09-29 2005-05-19 Axalto Inc. Secure networking using a resource-constrained device
CN1744523A (zh) * 2005-08-26 2006-03-08 南京邮电大学 一种面向移动代理网管的安全保护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
C.ENRIQUE ORTIZ: "《An Introduction to Java Card Technology》", 1 September 2003 *
Smart Card Application Development Using Java;Uwe Hansmann,Martin Nicklous;《Smart Card Application Development Using Java》;20020101;243-245页 *
UWE HANSMANN,MARTIN NICKLOUS: "《Smart Card Application Development Using Java》", 1 January 2002 *

Also Published As

Publication number Publication date
WO2013091863A1 (de) 2013-06-27
US20140351830A1 (en) 2014-11-27
EP2795934A1 (de) 2014-10-29
US9830203B2 (en) 2017-11-28
DE102011122242A1 (de) 2013-06-27
EP2795934B1 (de) 2019-03-13
CN104012122B (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
US8811971B2 (en) Mobile communication device and method for disabling applications
CN101809579B (zh) 用于管理受信应用的访问权的方法、系统、受信服务管理器、服务提供商以及存储器元件
US20240112172A1 (en) Digital transaction apparatus, system, and method with a virtual companion card
US9607192B2 (en) MIFARE push
AU2014283648B2 (en) Display card with user interface
US8196131B1 (en) Payment application lifecycle management in a contactless smart card
US8391837B2 (en) Method, system and trusted service manager for securely transmitting an application to a mobile phone
EP2255340B1 (en) Method and devices for installing and retrieving linked mifare applications
EP2048594A1 (en) Method for communication, communication device and secure processor
EP2048590B1 (en) Method for communication, communication device and secure processor
EP2626804B1 (en) Method for managing memory space in a secure non-volatile memory of a secure element
CN104012122A (zh) 用于与便携式数据载体上的应用程序通信的方法以及这样的便携式数据载体
EP2048591B1 (en) Method for communication, communication device and secure processor
JP2015501028A (ja) 移動端末、処理端末、及び、移動端末を用いて処理端末で処理を実行する方法
CN103544114B (zh) 基于单cpu卡的多m1卡控制系统及其控制方法
JP4972706B2 (ja) 独自のメモリ装置識別表示を管理する方法、サーバー及びモバイル通信装置
Nieto HCE-oriented payments vs. SE-oriented payments. Security Issues

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170803

Address after: Munich, Germany

Applicant after: Quartech mobile security limited liability company

Address before: Munich, Germany

Applicant before: Giesecke & Devrient GmbH

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant