用于操作安全元件的方法
【技术领域】
[0001]本发明涉及一种用于操作安全元件的方法以及这样的安全元件。特别地,本发明涉及一种对安全元件上的操作系统模块进行管理的方法以及这样的安全元件。
【背景技术】
[0002]安全元件(“Secure Elements”)在许多领域中使用,例如以SIM卡的形式用于验证对移动无线电网络的访问权限,或者以芯片卡的形式用于执行电子支付交易。在此,这种使用经常以与针对相应的应用设置的读取设备或终端设备、例如移动电话或者终端进行交互的方式进行。除了在非常简单地支持的应用的情况下,通常需要安全元件具有处理器,用于执行应用的至少一个应用程序在该处理器上运行。为此,许多安全元件除了应用程序之夕卜,还配备有操作系统,其中,应用程序的程序代码以及代表操作系统的程序代码存储在安全元件的非易失性存储器中,并且在运行时由其处理器执行。
[0003]为了能够多样化地使用,趋势是,对现代的安全元件、例如S頂卡或者芯片卡在硬件和软件方面配备越来越多的功能。例如已知双接口卡,其一方面具有NFC接口、另一方面具有接触式接口,从而不仅能够以无接触的方式、而且以接触的方式与分别相应构造的读取设备进行通信。为了使得安全元件能够访问这些不同的接口,在安全元件的操作系统中,除了对操作系统的基本功能、例如文件系统的提供进行定义的操作系统内核之外,通常还必须存储用于控制对应的接口的以特定驱动器形式的对应的操作系统模块。
[0004]在制造这种具有多个功能的安全元件时,尚未确定最终如何使用该安全元件,也就是说,在现场使用时实际上需要激活安全元件的哪些功能,这并不少见。因此,例如,在双接口卡的情况下,在现场使用时实际上可能仅使用两个接口中的一个。然而,为了针对所有可能的使用领域准备好,在制造安全元件时,其通常被实现为在现场使用时可使用安全元件的所有功能。然而,这例如需要在交付安全元件时,其操作系统必须已经支持或提供所有这些功能。由此可能出现以下问题:安全元件的操作系统对于其在现场的实际使用“过大”,也就是说,提供并且支持在实际使用安全元件时不需要的功能。这种“操作系统开销”例如在某些情况下可能对安全元件的性能产生不利影响。
[0005]基于这种背景,本发明要解决的技术问题是,提供一种改进的用于操作安全元件的方法以及对应地配置的安全元件。
【发明内容】
[0006]根据本发明,上述技术问题通过独立权利要求的相应主题来解决。在从属权利要求中限定了本发明的优选实施方式。
[0007]本发明基于如下基本思想:操作安全元件,使得当安全元件已经处于现场使用中时,可以调整对安全元件的除了提供操作系统内核、还提供安全元件的可选功能的安全元件的操作系统模块的访问权限。这种对安全元件的操作系统模块的访问权限的调整优选经由空中接口、即以空中(over-the-air(0ΤΑ))方式进行。这里,对操作系统模块的访问权限的调整特别地应当理解为激活或释放或者去激活或禁用操作系统模块。在此,术语“激活”或“释放”操作系统模块应当理解为,可以执行如此激活或释放的操作系统模块,使得可使用由操作系统模块定义的功能。
[0008]例如当要激活安全元件的新功能时,例如当重新加载了必须访问由迄今未激活的操作系统模块、例如对应的驱动器支持的安全元件的硬件的小应用程序时,可能需要根据本发明激活操作系统模块。根据本发明禁用操作系统模块的其它情况例如可以有利地用于一旦不再需要安全相关的操作系统模块、例如加密算法,则将其去激活或禁用,从而由此攻击者难以获得关于该安全相关的操作系统模块所使用的数据、例如加密密钥的信息。
[0009]基于前面描述的基本思想,根据本发明的第一方面,提供一种用于操作安全元件的方法,该安全元件具有处理器和存储器。在存储器上存储有:操作系统,其包括操作系统内核和用于提供可选或附加的操作系统功能的至少一个附加的操作系统模块;以及与操作系统模块相关联的至少一个访问权限,其确定是否能够在操作安全元件时访问操作系统模块。在此,该方法包括响应于对来自服务器的消息的接收,改变对操作系统模块的访问权限的步骤。
[0010]这里,可选或附加的操作系统功能特别地应当理解为安全元件的操作系统内核不提供的这些操作系统功能。
[0011]优选来自服务器的消息是优选经由移动无线电网络从服务器发送到安全元件的0ΤΑ消息。
[0012]根据本发明的优选实施方式,改变对至少一个操作系统模块的访问权限的步骤包括:释放或禁止对至少一个操作系统模块的访问。
[0013]优选该方法在Java Card?形式的安全元件上执行,在其上实现包括Java Card ?虚拟机和多个 Java Card? API (Applicat1n Programming Interface,应用程序编程接口 )的Java Card?运行时环境。
[0014]在该优选实施方式中,将多个Java Card? API中的至少一个API与操作系统模块相关联,使得对于如下情况,即访问权限确定在操作安全元件时不能访问操作系统模块、即不能执行操作系统模块,虽然能够对对应的至少一个API进行访问,但是在此该至少一个API不执行动作。
[0015]根据本发明的优选实施方式,改变对操作系统模块的访问权限的步骤借助在安全元件上实现的安全域来执行。有利的是,优选以Java Card?小应用程序的形式实现的安全域不能被删除。
[0016]有利的是,该方法包括对来自服务器的消息进行加密以及由安全元件对消息进行解密的其它步骤。在此,有利的是,使用特定于安全元件(sicherheitselementindividueller)的密钥。
[0017]根据本发明的优选实施方式,该方法包括由安全元件验证关于来自服务器的消息形成的校验和的另一步骤。
[0018]有利的是,在安全元件上和/或在服务器上维护模块列表,在该模块列表中除了列出至少一个操作系统模块之外,还列出至少一个操作系统模块的激活状态。
[0019]根据本发明的第二方面,提供一种安全元件。根据本发明的安全元件包含处理器和存储器,在该存储器上存储有:操作系统,其包括操作系统内核和用于提供可选或附加的操作系统功能的至少一个附加的操作系统模块;以及与操作系统模块相关联的至少一个访问权限,其确定是否能够在操作安全元件时访问操作系统模块。在此,根据本发明的安全元件被配置为响应于对来自服务器的消息的接收,改变对操作系统模块的访问权限。
[0020]有利的是,安全元件是特别是Java Card?形式的芯片卡。对应地,安全域和至少一个应用程序有利地作为在安全元件上可执行的Java Card?小应用程序来形成。已有的Java Card?部件、即运行时环境、虚拟机和类库可以保持不变。所描述的借助安全域对已知系统的扩展显著地扩展系统的功能,同时用于进行调整的开销最小,并且既不违反、也不限制已有的安全规范。
[0021]如本领域技术人员将认识到的,前面描述的优选实施方式不仅能够在本发明的第一方面的范围内、即在用于操作安全元件的方法的范围内有利地实现,而且能够在本发明的第二方面的范围内、即在安全元件的范围内有利地实现。
【附图说明】
[0022]本发明的其它特征、优点和目的从下面对多个实施例和替换实施方式的详细描述中得到。参考附图,在附图中:
[0023]图1示出了与读取设备形式的外部实体通信的芯片卡形式的根据本发明的安全元件的优选实施方式的示意图,
[0024]图2示出了图1中的芯片卡形式的根据本发明的安全元件的优选软件架构的示意图,以及
[0025]图3示出了操作图1中的芯片卡形式的安全元件时的优选流程的示意图。
【具体实施方式】
[0026]图1示出了与读取设备或终端10形式的外部实体通信的芯片卡20形式的根据本发明的安全元件(“Secure Element”)的优选实施方式的示意图。例如,安全元件20可以是S頂卡。有利的是,芯片卡20形式的安全元件被构造为Java Card?。然而,本发明当然也可以以具有另一结构形式并且使用另一操作系统的安全元件的形式来实现。
[0027]在图1中示出的芯片卡20的形式的安全元件20被构造为与读取设备10交换数据。读取设备10例