提供两种操作系统环境的智能卡的制作方法

文档序号:6679412阅读:160来源:国知局
专利名称:提供两种操作系统环境的智能卡的制作方法
技术领域
本发明总体上涉及智能卡领域,更具体地,涉及一种提供两种操作系统环境的智
能卡。
背景技术
随着电子信息技术的发展,智能卡已经被广泛应用于各个领域,如电信、银行、交 通等等。智能卡是带有处理器的集成电路(IC)卡,它在一张芯片上集成了微处理器、存 储器、输入输出单元(1/0)、加解密协处理器以及其它单元。传统的智能卡都是使用专门 的卡片操作系统COS (ChipOperating System),这种操作系统的特点是其基本功能是针对 IS07816规范,依照智能卡的特点而专门设计的,因而资源占用低、运算速度快。但由于COS 一般由各智能卡提供商分别设计和开发,因而其通用性很差。 随着智能卡处理器运算速度的提高和存储器容量的扩大,智能卡已经有能力可以 运行各种通用的嵌入式操作系统,比如Symbian、 Windows CE、 Embedded Linux等。在智能 卡硬件能力的快速发展下,这些通用的嵌入式操作系统取代传统的COS已是大势所趋。
然而,通用的嵌入式操作系统并不是专门针对IS07816规范而设计的,它也不支 持IS07816所定义的各种与智能卡相关的特性和功能,比如文件体系、安全机制、对APDU的 处理等,因而将通用的嵌入式操作系统以代替传统的COS的方式应用在智能卡上时,需要 为了适应智能卡规范的要求而进行重新设计和大量的改动。同时,原来的基于传统的COS 的应用程序在移植到通用的嵌入式操作系统上时,也需要为了适应新的操作系统的应用程 序运行环境而做出修改。这些都是很复杂和繁琐的工作,会极大地浪费人力和物力。
因此,为了使在通用的嵌入式操作系统中能够容易地拥有智能卡的特性和功能, 同时保证原来基于传统的COS的各种应用程序不需要任何修改就可以在新的运行环境中 顺利运行,需要一种方便的解决方式。

发明内容
考虑到上述问题而设计了本发明。根据本发明的一个方面,提供了一种提供两种
操作系统环境的智能卡20,包括第一系统模块203,用于提供通用的嵌入式操作系统;以
及第二系统模块202,其在所述第一系统模块的基础上实现,用于提供虚拟的卡片操作系
统,并且其中,所述第二系统模块包括硬件抽象层模块,所述硬件抽象层模块用于通过由所
述通用的嵌入式操作系统提供的接口来操作所述智能卡的各种硬件设备201。 按照本发明的方案,智能卡在不需要改变通用的嵌入式操作系统的情况下,就可
以提供例如IS07816定义的传统的COS功能,而且基于传统的COS上的各种应用程序也不
需要任何修改就可以在新的运行环境中顺利运行。


参考附图详细描述了本发明,附图中的描述应当被理解为是说明性的而非限制性的,其中 图1示出传统的智能卡的内部结构的框图; 图2示出根据本发明的实施例的智能卡的内部结构的框图; 图3示出根据本发明的实施例的虚拟COS的结构图。
具体实施例方式
图l示出了传统的智能卡的内部结构。如图l所示,在此结构中,智能卡10以COS 102为核心进行工作。 一方面,COS 102直接运行在硬件101之上,因为COS 102需要直接 操作硬件101,比如1/0、存储器、加解密单元等(图1中未示出);而COS 102的内部需要 处理的任务一般包括但不限于I/O处理、存储器管理、APDU处理、文件系统、安全体系、加解 密、应用程序管理等各个部分(图1中未示出)。另一方面,COS 102会提供一套统一的API 接口 ,以供在其上运行的各类应用使用,其中所述各类应用例如图1所示的COS本地应用程 序、Java卡(JavaCard)和全球平台(GlobalPlatform)等。 本发明提出了一种在智能卡上提供两种操作系统环境的实现方式。图2示出根 据本发明的实施例的智能卡20的内部结构。宿主操作系统(0S)203直接运行在硬件201 之上,因此它具有直接操作硬件201的能力,在宿主0S 203上安装有各种硬件设备(特别 是1/0设备)的驱动程序(图2中未示出)。如图2所示,宿主0S 203本身支持各种常规 的应用或平台等,为了简洁,将不对此进行详细说明。这里所说的宿主OS可以是Symbian、 Windows CE、Embedded Linux等各类通用的嵌入式操作系统中的任何一种。进一步地,在图 2所示的例子中,在宿主0S 203上又支持另外一个虚拟的卡片操作系统,即虚拟C0S 202; 这样,智能卡20的一套硬件设备环境上可以同时运行两个操作系统,从而提供两种对应的 应用程序的运行环境,而这两种运行环境可以互不干扰。 在这个体系中,虚拟COS 202是通过对如图1所示的原有的COS 102进行部分的 改造而得到的。改造后的虚拟C0S 202将不会直接操作硬件设备201,而是作为宿主0S 203 上的一个应用程序,通过宿主0S 203提供的API来访问和操作硬件设备201。同时,为了使 原有的C0S 102上运行的各类应用程序不需要任何改变就可以在虚拟C0S 202提供的环境 中运行,在虚拟C0S 202中仍然要对其上的应用程序提供相应的API接口,而且这些API接 口和原有的COS 201中的API接口保持完全一致。 因此,对于其上层的应用程序来说,虚拟COS 202相当于一个容器,负责通过与宿 主OS 203的交互来跟下层硬件201进行交互,从而完全将上层的应用程序和底层的宿主OS 203相隔离。从虚拟C0S 202的上层应用程序的角度看,它们在启用时是由虚拟C0S 202来 加载的,运行时是由虚拟C0S 202来管理其内存分配和控制其生命周期的,结束时由虚拟 C0S202来终止它们。因而,对于这些上层应用程序而言,它们在虚拟COS 202中的运行环境 跟原有的C0S 102中的运行环境完全一致,所以这些上层应用程序也不会知道自己是运行 在虚拟COS 202中还是原有的COS 102中。 更具体地,下面参照图3,描述将原有的C0S(如图1中的C0S 102)改造为虚拟 C0S(如图2中的C0S 202)的方式。图3中示出了一个典型的结构化的C0S 30,它包含两 个部分,分别是功能实现层301和硬件抽象层302。应该理解,这样的部分划分是说明性的 而不是限制性的。
首先,功能实现层301实现了 COS需要支持的各种核心功能,比如图3中示出的 APDU处理、文件系统、安全体系、加解密API以及应用程序管理等部分,例如IS07816所定义 的那些功能;功能实现层301也对运行于虚拟C0S 30上的各种应用程序提供API接口 (图 3中未示出)。需要注意的是,在功能实现层301部分,虚拟COS 30不需要对原有的COS做 任何改变。也正是因为功能实现层301没有任何改变,虚拟C0S 30便可以对运行于其上的 各种应用程序提供与原有的COS完全一致的API接口 。 其次,硬件抽象层302负责管理和操作智能卡的硬件设备,比如1/0处理、存储器 管理以及加解密单元等,它是专门为了使虚拟COS 30移植到不同的硬件环境而设计的。在 硬件抽象层302部分,虚拟C0S 30需要对原有的C0S做改变。由于在本发明中,虚拟COS 30运行于宿主0S (如图2所示的宿主0S 203)中,因而硬件抽象层302需要为了适应宿主 OS需要做出相应的设计和改动,即它不再用于直接操作硬件(如图2所示的硬件201),而 是通过宿主OS提供的API接口来操作各种硬件设备。 通过这样的实现,本发明提供了一种有效的解决方案,可以在不需要改变智能卡 上的运行通用的嵌入式操作系统的情况下,为智能卡提供一个支持IS07816等传统COS功 能的应用程序运行环境。在此运行环境中,传统的COS上运行的各类应用程序不需要任何 改变即可顺利运行。可以理解的是,本发明的方案适用于各种智能卡,例如插入到移动电话 中的用户识别卡(SIM)。 以上参照

了本发明的示例性实施例。然而,对于本领域技术人员来说显 而易见的是,可以从上述示例性实施例中很容易地获得更多的修改和变型,所有这些修改 和变型都应被认为落入发明的实质和范围之内。
权利要求
一种提供两种操作系统环境的智能卡,包括第一系统模块,用于提供通用的嵌入式操作系统;以及第二系统模块,其在所述第一系统模块的基础上实现,用于提供虚拟的卡片操作系统,并且其中,所述第二系统模块包括硬件抽象层模块,所述硬件抽象层模块用于通过由所述通用的嵌入式操作系统提供的接口来操作所述智能卡的各种硬件设备。
2. 如权利要求1所述的智能卡,其中,所述第二系统模块还包括功能实现层模块,所述 功能实现层模块用于实现所述虚拟的卡片操作系统的各种核心功能、以及为要运行在所述 虚拟的卡片操作系统上的各种应用程序提供接口。
3. 如权利要求2所述的智能卡,其中,所述虚拟的卡片操作系统的各种核心功能属于 IS07816所定义的功能。
4. 如权利要求1至3之任一所述的智能卡,其中,所述硬件抽象层模块包括以下模块中 的一个或多个1/0处理、存储器管理以及加解密单元。
5. 如权利要求2或3所述的智能卡,其中,所述功能实现层模块包括以下模块中的一个 或多个APDU处理、文件系统、安全体系、加解密API以及应用程序管理。
6. 如权利要求l所述的智能卡,其中,所述通用的嵌入式操作系统是以下之一: Symbian、 Windows CE禾卩Embedded Li皿x。
7. 如权利要求1所述的智能卡,其中,所述智能卡是用户身份识别卡。
全文摘要
本文描述了一种提供两种操作系统环境的智能卡20,包括第一系统模块203,用于提供通用的嵌入式操作系统;以及第二系统模块202,其在所述第一系统模块的基础上实现,用于提供虚拟的卡片操作系统,并且其中,所述第二系统模块包括硬件抽象层模块,所述硬件抽象层模块用于通过由所述通用的嵌入式操作系统提供的接口来操作所述智能卡的各种硬件设备201。
文档编号G07F7/08GK101751718SQ20081017830
公开日2010年6月23日 申请日期2008年11月28日 优先权日2008年11月28日
发明者曲雨水, 李丞倍, 李相研, 罗栋元, 金亨一 申请人:爱思开电讯投资(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1