用于操作安全元件的方法_2

文档序号:9635447阅读:来源:国知局
如可以是移动电话的一部分。这里,将读取设备10和芯片卡20之间的信号传输、相互控制以及在简单情况下的连接理解为数据的交换。在信息理论中,数据交换特别地通过发送方-接收方模型来表征:数据或信息被编码为符号,然后从发送方经由传输通道向接收方传输。在此,决定性的是,发送方和接收方使用相同的编码,由此接收方理解消息,即能够对要交换的数据进行解码。
[0028]为了在芯片卡20和读取设备10之间进行数据传输或通信,不仅芯片卡20、而且读取设备10具有合适的通信接口 22和12。例如接口 22和12可以被构造为在它们之间或在芯片卡20和读取设备10之间的通信以无接触的方式、即经由空中接口或以空中(over-the-air (OTA))的方式进行,如在图1中通过折线箭头所示出的。替换地,芯片卡20可以经由接口 22电连接、即以接触的方式连接到读取设备10的接口 12。在这种情况下,接口 22通常被构造为布置在芯片卡20的一侧的具有用于与读取设备10进行数据交换的接触表面的接触垫。当然,本发明还包括作为双接口芯片卡对于本领域技术人员已知的芯片卡,其不仅具有用于以接触的方式与读取设备进行通信的接口,而且具有用于以无接触的方式与读取设备进行通信的接口。
[0029]除了用于与读取设备10进行通信的接口 22之外,芯片卡20还包括与接口 22保持通信连接的中央处理器或计算单元(CPU;也称为处理器)21。处理器21还连接到易失性工作存储器(RAM) 23和非易失性的可重写存储器24。有利的是,非易失性存储器24是闪速存储器(闪速EEPR0M)。在此,其例如可以是具有NAND或者N0R架构的闪速存储器。除了可重写的部分之外,非易失性存储器24还可以具有ROM。
[0030]在图1中示出的优选实施方式中,在芯片卡20的非易失性存储器24中存储有处理器21能够执行的程序代码。特别地可以将芯片卡操作系统25 (0S)的程序代码存储在芯片卡20的非易失性存储器24中,芯片卡操作系统25有利地由操作系统内核25a(0S内核)以及例如用于提供可选或附加的操作系统功能的第一操作系统模块25b (OS模块1)和第二操作系统模块25c (OS模块2)构成。在芯片卡20的非易失性存储器24中还可以存储JavaCard?虚拟机 26a(JCVM ;Java Card Virtuelle Maschine)与多个 Java Card?应用程序编程接口(JC API ;也称为类库)26b、安全域27和应用程序28的程序代码。在此,应用程序28有利地以Java Card?小应用程序的形式呈现。
[0031]图2示出了图1中的芯片卡20的形式的根据本发明的安全元件的优选软件架构的不意图。在此,Java Card?运行时环境(JCRE ; java card runtime environment) 26位于芯片卡20的本地操作系统25上,如前面已经描述的,操作系统25有利地由操作系统内核25a (0S内核)以及例如由用于提供可选的操作系统功能的第一操作系统模块25b (OS模块
1)和第二操作系统模块25c (OS模块2)构成。通常,本地操作系统25和Java Card?运行时环境(JCRE)26由芯片卡20的制造商或发行商在制造芯片卡20时在芯片卡20上实现。
[0032]Java Card?运行时环境(JCRE) 26包括Java Card?虚拟机26a (JCVM)以及前面已经提到的多个Java Card? API 26b。该多个Java Card? API 26b使得在软件层级结构中位于上层的小应用程序28能够访问由位于下层的软件层、即本地操作系统25和/或JavaCard?虚拟机26a(JCVM)提供的功能。如本领域技术人员认识到的,迄今为止描述的部件基本上是Java Card的传统的软件架构。对于关于其的其它细节,参见图书“Java Card?Technology for Smart Cards,,,Zhiqun Chen, Addison-Wesley, 2000,其全部内容通过引用,包含于此。
[0033]相对于传统的Java Card?,根据本发明现在设置为,芯片卡20形式的安全元件被配置为对用于提供可选的操作系统功能的芯片卡20的操作系统模块的访问权限特别地在其现场使用时能够调整或者改变。这在图2中借助第一操作系统模块25b (0S模块1)和第二操作系统模块25c (0S模块2)示意性地示出。在图2中示出的示例性状态下,第一操作系统模块25b (OS模块1)被激活或释放,而第二操作系统模块25c (OS模块2)被去激活或禁用(在图2中通过格状背景示出)。
[0034]如前面所描述的,用于提供可选的操作系统功能(所述操作系统功能不是对操作系统25的基本功能(例如提供文件系统)进行定义的操作系统内核25a的部分)的第一操作系统模块25b (0S模块1)或者第二操作系统模块25c (OS模块2)例如可以是下面的操作系统模块中的一个:用于实现诸如DES、RSA、AES、DSA、MD5、HMAC、ECC的加密算法的模块、用于在芯片卡20上实现网络服务器的模块、用于实现诸如SWP (单线协议,single wireprotocol)、NFC(近场通信,near field communicat1n)的通信协议的模块等。
[0035]根据本发明现在设置为,能够将去激活或禁用的第二操作系统模块25c (0S模块2)激活或释放,使得在软件层级结构中位于上层的层不仅能够访问已经激活或释放的操作系统模块25b (OS模块1),而且能够访问第二操作系统模块25c (OS模块2)。根据本发明还设置为,能够将激活或释放的第一操作系统模块25b (OS模块1)去激活或禁用。
[0036]为此,有利地在芯片卡20上设置安全域27 (SD ;也称为安全区域)。在软件技术上,安全域27(SD)也可以是专用小应用程序,这在图2中通过如下来示出,S卩,安全域27 (SD)在软件层级结构中位于与小应用程序28相同的层级中。下面进一步参考图3来描述如何可以根据本发明的一个优选实施方式例如使用安全域27 (SD)来释放第二操作系统模块25c (OS 模块 2)。
[0037]图3示出了激活或释放图1中的芯片卡20形式的根据本发明的安全元件上的操作系统模块、即例如结合图1和2已经描述的第二操作系统模块25c (OS模块2)时的优选流程的示意图。在图3中示出的优选实施方式中,该过程由与芯片卡20通信的服务器30触发。有利的是,服务器30和芯片卡20经由移动无线电网络通信,从而服务器30和芯片卡20之间的通信以空中(over-the-air (0ΤΑ))的方式进行。根据本发明还可设置为,操作系统模块的释放通过芯片卡20向服务器30发出对应的请求来发起。有利的是,服务器30由芯片卡20的制造商和/或发行商、例如移动无线电网络运营商运行。
[0038]在图3的步骤S1中,服务器30向芯片卡20的安全域27 (SD)发送用于激活第二操作系统模块25c (0S模块2)的命令。在图3中,例如将该命令称为“Aktiviere ModulNr.2 (激活第2个模块)”的缩写“ACT#2”。有利的是,服务器30和芯片卡20使用的命令基于诸如“全球平台(Global Platform) ”标准和/或ETSI标准的相关标准。
[0039]有利的是,服务器30利用加密算法ENC在使用特定于卡的加密密钥的条件下将用于激活第二操作系统模块25c (OS模块2)的命令加密,并且在图3的步骤S1中将这样加密的命令ENC(ACT#2)发送给芯片卡20。该特定于卡的加密密钥例如可以在制造芯片卡20和/或将芯片卡20个性化时由芯片卡20的制造商或者发行商安全地存储在芯片卡20上的优选安全域27 (SD)中。
[0040]进一步优选地,除了该加密的命令之外,还将关于该命令形成的校验和CS (ACT#2)发送给芯片卡20。如本领域技术人员已知的,合适的校验和CS例如可以借助无密钥的哈希函数或者基于密钥的哈希函数(还以名称MAC已知)产生并进行验证。
[0041]在图3的步骤S2中,通过如下,即芯片卡20形成关于解密的命令的校验和,并且将该校验和与在步骤S1中从服务器30获得的校验和CS (ACT#2)进行比较,芯片卡20首先验证在步骤S1中从服务器30
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1