专利名称:Ic芯片、信息处理装置、软件模块控制方法、信息处理系统、信息处理方法以及程序的制作方法
技术领域:
本发明涉及IC芯片、信息处理装置、软件模块控制方法、信息处理系统、信息处理 方法以及程序,更具体地,本发明涉及用于可靠地确保软件模块启动前的安全性的IC芯 片、信息处理装置、软件模块控制方法、信息处理系统、信息处理方法以及程序。
背景技术:
本申请人先前提出了一种用于处理在命令系统和安全算法方面具有不同规格并 以多种方式进行操作的非接触式IC卡的通信方法(例如,参见专利文献1)。上述提案包括通过经由不依赖于IC卡类型的命令调用的命令而包含发送至IC卡 和从IC卡接收的命令以及应答结果。所包括的处理不是通过读/写器而是通过设置在读/ 写器下游的控制器模块执行。该控制器模块具有用于处理以各种方式操作的IC卡的软件 模块。尽管上述提案提出的通信系统能够使用单个读/写器处理以多种不同方式进行 操作的非接触式IC卡,但提出的系统不能够寻址以多种不同方式进行操作的单个非接触 式IC卡。现有技术文献专利文献专利文献1 日本专利公开第2004-264921号
发明内容
当单个非接触式IC卡被用作以多种不同方式进行操作的卡时,该卡包含每一个 均对应于所包含的多种方式中的一种的软件模块。软件模块被期望在不同定时各自进行操 作。在任一软件模块正在启动期间,不期望其他模块伴随着进行操作。结果,正在启动的软件模块最终在中途中止。因此,难以确保软件模块启动前的安 全性。考虑到上述情况而作出了本发明,本发明提供了用于可靠地确保软件模块启动前 的安全性的配置。根据本发明的第一方面,提供了一种IC卡或信息处理装置,包括通信部,被配置 为向用于处理根据不同非接触通信方式交换的信息的多个软件模块发送命令;启动管理 部,被配置为使得如果在这多个软件模块中的第一软件模块启动期间,第二软件模块的处 理开始并完成,则启动管理部重新开始第一软件模块的启动。根据本发明的第二方面,提供了一种信息处理系统,包括第一信息处理装置;以 及第二信息处理装置,被配置为被第一信息处理装置通过邻近通信而访问;其中,第二信息 处理装置包括通信部,通信部被配置为向用于处理根据不同非接触通信方式交换的信息的 多个软件模块发送命令;以及启动管理部,被配置为使得如果在这多个软件模块中的第一软件模块启动期间,第二软件模块的处理开始并完成,则启动管理部重新开始第一软件模 块的启动。根据上述本发明的第一方面,通信部被配置为向用于处理根据不同非接触通信方 式交换的信息的软件模块发送命令。启动管理部被配置为使得如果在这多个软件模块中的 第一软件模块启动期间,第二软件模块的处理开始并完成,则启动管理部重新开始第一软 件模块的启动。根据上述本发明的第二方面,提供了第一信息处理装置和被第一信息处理装置通 过邻近通信而访问的第二信息处理装置。第二信息处理装置包括通信部和启动管理部。通 信部被配置为向用于处理根据不同非接触通信方式交换的信息的多个软件模块传输命令。 启动管理部被配置为使得如果在这多个软件模块中的第一软件模块启动期间,第二软件模 块的处理开始并完成,则启动管理部重新开始第一软件模块的启动。根据上述本发明的一些方面,能够可靠地确保软件模块启动前的安全性。
图1是示出了作为本发明实施方式的信息处理装置的构造的框图。图2是示出了存储器映射的原理的结构的示意图。图3是示出了软件模块A的结构的框图。图4是示出了映射状态转换的示意图。图5是说明了当读/写器启动IC卡时发生的处理的流程图。图6是说明了当读/写器启动IC卡时发生的处理的另一流程图。图7是说明了当读/写器启动IC卡时发生的处理的另一流程图。
具体实施例方式以下将描述实施本发明的最佳方式(以下称为“实施方式”)。将按以下顺序给出 描述<1、第一实施方式〉[系统构造][存储器映射结构][软件模块A的功能结构][映射状态转换][当软件模块F和J启动时发生的处理][系统构造]图1是示出了作为本发明实施方式的信息处理装置的够杂牌的框图。信息处理装 置1由具有天线12的读/写器11、移动电话终端13以及服务器15构成。移动电话终端 13可经由移动电话通信网络14连接至服务器15。即,在本实施方式中,可访问移动电话终 端13的是读/写器11和服务器15。移动电话终端13具有天线31、NFC (近场通信)芯片32、CPU(中央处理单元)33 以及通过LSI (大规模集成电路)制成的IC芯片34等。NFC芯片32和读/写器11使用它们各自拥有的天线31和12来执行其间的非接
5触式通信,例如通过NFC。CPU 33控制移动电话终端13的操作。IC芯片34由接口 51、CPU 52、存储器访问管理模块53以及存储部M构成。存储 部M由R0M(只读存储器)61、RAM(随机存取存储器)62以及EEPROM(电可擦除可编程只 读存储器)63构成。接口 51执行NFC芯片32和CPU 52之间的接口处理。CPU 52基于其内安装的软 件模块A、J和F执行各种处理。软件模块J是处理以第一方式进行操作的非接触式IC卡的操作系统,一种这样的 卡是Java卡(Sim Microsystems, Inc.的注册商标)。软件模块F是处理以第二方式进行 操作的非接触式IC卡的操作系统,一种这样的卡是!^eliCa(Sony Corporation的注册商 标)。软件模块A是用作对存储器映射执行映射处理的映射部并且以两个模块不同时操作 的方式来仲裁软件模块F和软件模块J之间的定时的操作系统。S卩,软件模块A以如下方式执行映射多个软件模块(例如,软件模块F和J)中的 除了已建立的软件模块(例如,软件模块F)之外的任意软件模块(例如,软件模块J)在与 已建立的软件模块(例如,软件模块F)的相同定时被禁止操作。存储部M中的ROM 61存储程序、参数以及其他信息。RAM 62暂时存储信息。 EEPROM 63存储在断电后需要保持的信息。基于保持的存储器映射,用作用于基于映射来管理软件模块的操作的操作管理部 的存储器访问管理模块53通过CPU 52来控制对存储部M的访问(存取)。如果试图访问 通过存储器映射(存储在存储部讨中的信息的映射)禁止在其上操作的任意区域,则存储 器访问管理模块53执行硬件重置(复位)。[存储器映射结构]图2示出了允许或禁止软件模块的操作的存储器映射的原理的结构。ROM 61中的 关于软件模块A的信息被存储在地址“aaa”和地址“ΜΛ”之间的区域。ROM 61中的关于软 件模块F的信息被存储在地址“ccc”和地址“ddd”之间的区域。ROM 61中的关于软件模块 J的信息被存储在地址“eee”和地址“fff ”之间的区域。RAM 62中的关于软件模块A的信息被存储在地址“ggg”和地址“hhh”之间的区域。 RAM 62中的关于软件模块F的信息被存储在地址“iii”和地址“jjj”之间的区域。RAM 62 中的关于软件模块J的信息被存储在地址“kkk,,和地址“ 111 ”之间的区域。EEPROM 63中的关于软件模块A的信息被存储在地址“_”和地址“nrm”之间的 区域。EEPROM 63中的关于软件模块F的信息被存储在地址“000”和地址“ppp”之间的区 域。EEPROM 63中的关于软件模块J的信息被存储在地址“qqq”和地址“rrr”之间的区域。[软件模块A的功能结构]图3是示出了软件模块A的功能结构。软件模块A包括接收部101、发送部102、 映射部103、标识设定部104、启动管理部105、屏蔽部106以及判定部107。接收部101从其他软件模块接收信息。与接收部101 —起构成通信部的发送部 102向其他软件模块发送信息。映射部103执行存储器映射的映射处理。用作状态管理部 的标识设定部104设定用于状态管理的标识。启动管理部105管理软件模块A和F的启动。屏蔽部106屏蔽或不屏蔽软件模块 A和F中的一个对另一个模块的操作所造成的中断。判定部107判定包的类型以及软件模块是否正在启动。[映射状态转换]图4示出了映射状态转换。在本实施方式中,存在三种状态映射A,映射F以及 映射J。在映射A中,仅软件模块A被允许进行操作,而软件模块F和J被禁止操作。在映 射F中,仅软件模块A和F被允许操作,而软件模块J被禁止操作。在映射J中,仅软件模 块A和J被允许操作,而软件模块F被禁止操作。从映射A至映射F或从映射A至映射J发生状态转换。相反,从映射F至映射A 或从映射J至映射A发生状态转换。禁止从映射F至映射J或从映射J至映射F的直接状 态转换。如上所述,因为禁止了软件模块F和J同时操作,所以确保了安全性。映射部103根据接收到的命令包的目的地(通信方式)来确定映射。软件模块A 始终保持可操作状态。[当软件模块F和J启动时发生的处理]图5至图7示出了当软件模块F和J启动时发生的处理的流程图。在步骤Si,读/写器11开启RF(射频)。g卩,读/写器11经由天线12发射RF信 号。在步骤S21,NFC芯片32经由天线31接收RF信号。在步骤S22,NFC芯片32向IC芯 片34发出通电命令。在步骤S41,软件模块A的接收部101经由接口 51接收来自NFC 32的命令。然后 在步骤S42,启动管理部105启动软件模块A本身。在步骤S43,屏蔽部106屏蔽所有中断。在待机状态,映射A有效。这意味着除了模块A之外的所有的软件模块被禁止进 行通信。因此仅由软件模块A执行接收处理。在步骤S44,软件模块A的映射部103将映射状态从映射A切换至映射J,使得软 件模块J可在稍后的步骤S45中被启动。这样仅允许软件模块A和软件模块J之间的通信 而屏蔽所有其他通信。在步骤S45,软件模块A的发送部102向软件模块J发送命令包以启动后者,从而 启动了软件模块J。在步骤S91,软件模块J接收来自软件模块A的命令包。并且在步骤S92,软件模 块J响应于接收的命令启动其自身。在步骤S93,软件模块J向软件模块A发送反映启动处 理的结果的应答包。在步骤S46,软件模块A的接收部101接收来自软件模块J的应答包。这允许启动 管理部105校验软件模块J的启动是否完成。接下来,在步骤S47,软件模块A的映射部103将映射状态从映射J切换至映射A, 使得在稍后的步骤S48中软件模块A可通过其自身设定标识。这允许软件模块A单独执行 其处理并且禁止所有其他软件模块执行它们的处理。在步骤S48,软件模块A的标识设定部 104设定表示软件模块F正在启动的标识。在步骤S49,映射部103将映射状态从映射A切换至映射F,以稍后在步骤S50中 启动软件模块F。这允许仅软件模块A和J执行它们的操作而禁止所有其他软件模块执行 它们的操作。在步骤S50,软件模块A的发送部102向软件模块F发送启动后者的命令包,从而启动软件模块F。因为软件模块F以可中断处理模式执行其启动处理,因此在步骤S51中软 件模块A的屏蔽部106不屏蔽中断。这允许中断的发生。同时,在步骤S111,软件模块F从软件模块A接收命令包。在步骤S112,软件模块 F响应于接收的命令开始其启动处理。此处假设在步骤S2中读/写器11发送用于软件模块J的命令。经由天线12从 读/写器11发送此命令。在步骤S23,NFC芯片32经由天线31接收该命令。在步骤S24, NFC芯片32向IC芯片34发送用于软件模块J的命令。在步骤S52,软件模块A的接收部101经由接口 51从NFC 32接收命令。然后在步 骤S53,屏蔽部106屏蔽所有中断,使得软件模块J可在非可中断处理模式下执行其启动处理。在步骤S54,映射部103将映射状态从映射F切换至映射A,使得可在稍后的步骤 S55中执行判定在步骤S52中接收的命令包是否是用于软件模块J的包的处理。这允许仅 软件模块A执行其处理并且禁止所有其他软件模块执行它们的处理。当屏蔽状态被切换,软件模块F的启动处理被中途中止。在步骤S55,判定部107判定在步骤S52中接收的命令包是否是用于软件模块J的 包。如果判定在步骤S52中接收的命令包是用于软件模块J的包,则在步骤S57中映射部 103将映射状态从映射A切换至映射J,以在稍后的步骤S57中将命令包发送至软件模块J。 这允许仅软件模块A和J执行它们的处理并禁止所有其他软件模块执行它们的处理。在步骤S57,软件模块A的发送部102向软件模块J发送命令包。在步骤S94,软件模块J接收来自软件模块A的命令包。然后在步骤S95,软件模 块J执行与接收到的命令相应的处理。在步骤S96,软件模块J向软件模块A发送反映处理 结果的模块J的应答包。在步骤S58,软件模块A的接收部101接收来自软件模块J的应答包。在步骤S59, 发送部102向读/写器11发送从软件模块J接收的应答。在步骤S25,NFC芯片32经由接口 51接收来自软件模块A的应答。然后在步骤 S26,NFC芯片32经由天线31向读/写器11发送应答。在步骤S3,读/写器11经由天线12接收来自NFC芯片32的应答。这意味着读/ 写器11已经从软件模块J接收到对在步骤S2中发送的命令的应答。在步骤S60,映射部103将映射状态从映射J切换至映射A,使得在稍后的步骤S61 中可执行判定软件模块F是否正在启动的处理。这允许仅软件模块A执行它的处理并且禁 止所有其他软件模块执行它们的处理。在步骤S61,判定部107判定软件模块F是否正在启动。该判定可基于在步骤S48 中设定的标识来执行。如果判定软件模块F正在启动(S卩,如果设定了标识),则在步骤S62中映射部103 将映射状态从映射A切换至映射F,以在稍后的步骤S64中向软件模块F发送命令包。这允 许仅软件模块A和F执行它们的操作并且禁止所有其他软件模块执行它们的操作。如果在步骤S55中判定在步骤S52中收到的包不是用于软件模块J的包,则跳过 步骤S56至S61,并执行步骤S62。在步骤S63,屏蔽部106不屏蔽中断。即,可中断状态被设为有效。
在步骤S64,软件模块A的启动管理部105控制发送部102以向软件模块F发送被 设计为重新开始软件模块F的启动序列的命令包。在步骤Sl 13,软件模块F接收来自软件模块A的命令包。并且在步骤Sl 14,软件模 块F响应于接收到的命令重新开始暂时中止的启动序列。当启动序列完成时,在步骤S115 中软件模块F向软件模块A发送反映处理结果的软件模块F的应答包。在步骤S65中,软件模块A的接收部101从软件模块F接收应答包。这允许启动 管理部105验证软件模块F的启动已完成。在步骤S66中,软件模块A的映射部103将映射状态从映射F切换至映射A,以在 稍后的步骤S66重置标识。这允许软件模块A执行其处理并且禁止所有其他软件模块执行 它们的处理。在步骤S67,软件模块A的标识设定部104重置在步骤S48中设定的表示软件模块 F正在启动的标识。如果在步骤S61中判定软件模块F不是正在被启动,则也跳过步骤S62至步骤 S66,并且执行步骤S67。在步骤S68,屏蔽部106不屏蔽全部中断。这使得可中断状态有效。在步骤S69, 映射部103改变其状态至待机状态。上述描述解释了读/写器11如何获得对IC芯片34的访问。当服务器15在移动 电话通信网络14上经由CPU 33访问IC芯片34时,发生基本相同的处理。至少存在两个以不同方式进行操作的软件模块。可配置三个以上这样的软件模 块。在处理不能被非同时地中止的期间,禁止中断。这样的处理优选应该尽可能提前 执行。这允许中断禁止期间的缩短(即,快速结束)。本发明还可应用于IC芯片34被置于非接触式IC卡内以及其他一些信息处理装 置内的情况。上述一系列步骤和处理可由硬件或软件来执行。当执行基于软件的处理时,构成 软件的程序可被预先结合在所使用的计算机的专用硬件中,或者也可在使用时从合适的程 序记录介质安装至能够基于所安装的程序来执行各种功能的通用个人计算机等设备中。在本说明书中,描述所包括的程序的步骤不仅代表以所记载的顺序执行的处理 (即,基于时间序列),还可代表并行地或独立地而不需要按时间顺序执行的处理。在本说明书中,术语“系统”指代由多个组件装置组成的整体构造。应理解,本发明在实施时不限于上述实施方式,而可对本发明进行各种修改、变形 和替换,只要它们在所附权利要求及其等同物的范围内。参考标号说明1信息处理系统;12天线;13移动电话终端;14移动电话通信网络;15服务器;31 天线;32NFC芯片;33CPU ;51接口 ; 52CPU ;53存储器访问管理模块力4存储部。
权利要求
1.一种IC芯片,包括通信部,被配置为向用于处理根据不同非接触通信方式交换的信息的多个软件模块发 送命令;以及启动管理部,被配置为使得如果在所述多个软件模块中的第一软件模块启动期间,第 二软件模块的处理开始并完成,则所述启动管理部重新开始所述第一软件模块的启动。
2.根据权利要求1所述的IC芯片,还包括屏蔽部,所述屏蔽部被配置为在所述第一软 件模块的启动过程中不屏蔽中断,所述屏蔽部还在所述第二软件模块的启动过程中屏蔽中 断。
3.根据权利要求2所述的IC芯片,还包括操作管理部,被配置为存储关于所述多个软件模块的映射信息,以基于所述映射信息 管理所述软件模块的操作;以及映射部,被配置为映射用于允许或禁止所述多个软件模块的操作的所述映射信息;其中,所述通信部、所述启动管理部、所述屏蔽部以及所述映射部由另一软件模块构成。
4.根据权利要求3所述的IC芯片,其中,如果被禁止操作的任意所述软件模块被操作, 则所述操作管理部执行硬件重置。
5.根据权利要求4所述的IC芯片,其中,所述另一软件模块映射仅一个所述软件模块 被操作的状态。
6.根据权利要求5所述的IC芯片,其中,所述另一软件模块基于接收到的命令的目的 地来映射所述映射信息。
7.一种与具有通信部和启动管理部的装置一起使用的软件模块控制方法,所述软件模 块控制方法包括以下步骤使所述通信部向用于处理根据不同非接触通信方式交换的信息的多个软件模块发送 命令;以及如果在所述多个软件模块中的第一软件模块启动期间,第二软件模块的处理开始并完 成,则使所述启动管理部重新开始所述第一软件模块的启动。
8.一种用于使计算机执行进程的程序,所述进程包括以下步骤向用于处理根据不同非接触通信方式交换的信息的多个软件模块发送命令;管理所述软件模块的状态;以及如果在所述多个软件模块中的第一软件模块启动期间,第二软件模块的处理开始并完 成,则重新开始所述第一软件模块的启动。
9.一种信息处理装置,包括通信部,被配置为向用于处理根据不同非接触通信方式交换的信息的多个软件模块发 送命令;以及启动管理部,被配置为使得如果在所述多个软件模块中的第一软件模块启动期间,第 二软件模块的处理开始并完成,则所述启动管理部重新开始所述第一软件模块的启动。
10.根据权利要求9所述的信息处理装置,还包括屏蔽部,所述屏蔽部被配置为在所述 第一软件模块的启动过程中不屏蔽中断,所述屏蔽部还在所述第二软件模块的启动过程中 屏蔽中断。
11.根据权利要求10所述的信息处理装置,还包括操作管理部,被配置为存储关于所述多个软件模块的映射信息,以基于所述映射信息 管理所述软件模块的操作;以及映射部,被配置为映射用于允许或禁止所述多个软件模块的操作的所述映射信息; 其中,所述通信部、所述启动管理部、所述屏蔽部以及所述映射部由另一软件模块构成。
12.根据权利要求11所述的信息处理装置,其中,如果被禁止操作的任意所述软件模 块被操作,则所述操作管理部执行硬件重置。
13.根据权利要求12所述的信息处理装置,其中,所述另一软件模块映射仅一个所述 软件模块被操作的状态。
14.根据权利要求9所述的信息处理装置,其中,所述另一软件模块基于接收到的命令 的目的地来映射所述映射信息。
15.一种信息处理系统,包括 第一信息处理装置;以及第二信息处理装置,被配置为由所述第一信息处理装置通过邻近通信来访问; 其中,所述第二信息处理装置包括通信部,被配置为向用于处理根据不同非接触通信方式交换的信息的多个软件模块发 送命令;以及启动管理部,被配置为使得如果在所述多个软件模块中的第一软件模块启动期间,第 二软件模块的处理开始并完成,则所述启动管理部重新开始所述第一软件模块的启动。
16.一种与信息处理系统一起使用的信息处理方法,所述信息处理系统包括 第一信息处理装置;以及第二信息处理装置,被配置为由所述第一信息处理装置通过邻近通信来访问,所述第 二信息处理装置还包括通信部和启动管理部; 所述信息处理方法包括以下步骤使所述通信部向用于处理根据不同非接触通信方式交换的信息的多个软件模块发送 命令;以及如果在所述多个软件模块中的第一软件模块启动期间,第二软件模块的处理开始并完 成,则使所述启动管理部重新开始所述第一软件模块的启动。
全文摘要
本发明涉及用于可靠地确保软件模块启动前的安全性的IC芯片、信息处理装置、软件模块控制方法、信息处理系统、信息处理方法以及程序。设置了读/写器(11)和由读/写器(11)通过邻近通信来访问的移动电话终端(13)。在移动电话终端(13)中,软件模块A向软件模块J和F发送命令。如果在软件模块F的启动期间,软件模块J的处理开始并且完成,则软件模块A重新开始软件模块F的启动。
文档编号G06K19/07GK102144235SQ20098013461
公开日2011年8月3日 申请日期2009年9月11日 优先权日2008年9月12日
发明者杉山宽和 申请人:索尼公司