信息管理仪器、信息管理方法和程序的制作方法

文档序号:7625095阅读:108来源:国知局
专利名称:信息管理仪器、信息管理方法和程序的制作方法
技术领域
本发明涉及信息管理仪器、信息管理方法和程序。更具体地说,本发明涉及能够响应于来自一个服务器的请求而产生对应于多个不同类型IC芯片的命令的信息管理仪器、与其一起使用的信息管理方法以及与其一起使用的程序。
背景技术
近年来,将电子货币充入(存入)非接触IC芯片诸如信用卡或嵌入便携式电话中的FeliCa(注册商标)并在购买商品时使用充入的电子货币付费正变得日益普遍。
在付费时,只需用手拿着用户的信用卡或便携式电话走到放在商店中的终端(读卡器/写卡器)。由此,用户就可以快速付费。
例如,如图1中所示,配置了这种电子货币系统。
电子货币系统的服务器端包括服务器设备1和SAM(安全应用模块)2。电子货币系统的客户端包括客户设备3和R/W(读卡器/写卡器)4。服务器设备1和客户设备3通过网络5彼此连接。
在图1示例中,包含有非接触IC芯片13的便携式电话6被放在靠近客户端上的R/W 4,并且便携式电话6通过使用电磁感应的短距离通信连接到客户设备3。
在服务器设备1中实现的服务器应用11执行与在客户设备3中实现的客户应用12的通信,并将响应于来自客户应用12的请求产生的命令(由非接触IC芯片13执行的命令)输出到SAM 2。当从SAM 2提供执行加密的命令时,服务器应用11经网络5将该命令传送到客户设备3的客户应用12。
SAM 2是防篡改设备,并管理加密处理和用在加密处理中的密钥。SAM 2对从服务器应用11提供的命令进行加密,并将加密的命令输出到服务器应用11。SAM 2和非接触IC芯片13中的每一个都具有公共密钥,并通过使用该密钥传送和接收加密的信息来在SAM 2和非接触IC芯片13之间实现加密通信。
客户设备3的客户应用12将预定请求传送到服务器设备1的服务器应用11。同样,在从服务器应用11传送命令时,客户应用12经R/W 4将命令传送到非接触IC芯片13,以便由非接触IC芯片13执行该命令。
非接触IC芯片13将对从SAM 2经R/W 4等传送的命令执行的加密进行解密,并执行该命令。当命令的内容是重写电子货币时,该命令包含例如要重写的钱数的信息。
例如,在具有这种配置的电子货币系统中,当便携式电话6的用户通过使用存储在非接触IC芯片13中的电子货币来支付购买商品的价钱时,客户设备3的客户应用12将支付商品价钱的请求传送到服务器设备1的服务器应用11。接收请求的服务器应用11产生一个命令(读命令),以请求非接触IC芯片13读取电子货币的余额。
服务器应用11产生的读命令受到SAM 2的加密,并且其后经服务器设备1的服务器应用11、网络5、客户设备3的客户应用12以及R/W 4将该读命令传送到非接触IC芯片13。在该读命令被非接触IC芯片13解密之后,执行该命令。作为正在执行读命令的结果所读取的余额,受到非接触IC芯片13的加密。其后,经R/W 4、客户设备3的客户应用12、网络5以及服务器设备1的服务器应用11,将作为对服务器应用11的响应的余额传送到SAM 2。在SAM 2中,将对从非接触IC芯片13传送的余额执行的加密进行解密,并且解密的余额被传送到服务器应用11。
结果,服务器应用11能够确认电子货币的当前余额,该余额存储在非接触IC芯片13中。
当确认了余额时,服务器设备1的服务器应用11产生一个命令(写命令),用以请求非接触IC芯片13重写电子货币余额(重写减去了商品价钱数的余额)。
与先前传送的读命令类似,服务器应用11产生的写命令受到SAM2的加密。其后,经服务器设备1的服务器应用11、网络5、客户设备3的客户应用12以及R/W 4,该写命令被传送到非接触IC芯片13。在非接触IC芯片13中解密该写命令,然后执行该写命令。该写命令还包含指示余额应为多少的信息。结果,存储在非接触IC芯片13中的电子货币余额减去商品的价钱数。
例如,执行处理从非接触IC芯片13传送到服务器应用11的诸如报告完成了减去余额的消息,并完成一系列处理。这一系列处理使得可以实现商品价钱的支付。
除上述商品价钱的支付以外,具有这种配置的服务器/客户系统使得可以实现例如商店发行的积分的管理,以及客户设备3被设置为火车站剪票口时的车费支付。对于积分管理和车费支付,基本上由图1的各设备执行与上述价钱支付情况类似的处理。
在日本未经审查的专利申请公布号为2003-141063中,公开了具有图1中所示配置的服务器/客户系统。

发明内容
在相关技术的图1中所示的服务器/客户系统中,需要为要在服务器设备1中控制的各类型非接触IC芯片提供不同的服务器应用。
例如,在客户设备3是放在商店中的终端并且要控制的非接触IC芯片包含在便携式电话中(拿着该电话走到商店的终端R/W)的情况与客户设备3是个人计算机并且要控制的非接触IC芯片嵌入在卡中(该卡放在个人计算机的R/W中)的情况之间,非接触IC芯片所放的位置以及类型有所不同。因此,当要提供相同的服务时,需在服务器设备1中提供各种不同的服务器应用。
因此,当从服务提供方考虑时,需要为要控制的每种非接触IC芯片类型提供服务器应用,而这成为很大的负担。
本发明是正是鉴于这种情况而生的。本发明希望能够响应于来自一个服务器的请求而产生对应于多个不同类型IC芯片的命令。
根据本发明的实施例,提供了一种信息管理仪器,所述信息管理仪器响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,该信息管理仪器包括用于管理与将由集成电路芯片执行的命令类型有关的集成电路芯片类型的装置;用于获取有关要控制的集成电路芯片类型的信息的装置;以及用于产生对应于要控制的集成电路芯片类型的类型命令的装置,集成电路芯片的类型是由获取装置从对应于从服务器请求的命令的多个不同命令类型中获取的,并且该装置用于将产生的命令传送到服务器。
可在要控制的集成电路芯片和通信路径中的服务器之间提供获取装置,并且该获取装置可配置为基于从客户传送的使集成电路芯片可被控制以执行预定命令的信息,来获取关于要控制的集成电路芯片类型的信息。
所述信息管理仪器可管理集成电路芯片的类型,这与认证集成电路芯片的方法和/或对要传送到集成电路芯片的数据进行加密的方法有关。
该数据可以是将由集成电路芯片执行的命令。
根据本发明的另一实施例,提供了一种信息管理方法,该方法用于响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述信息管理方法包括如下步骤管理与将由集成电路芯片执行的命令类型有关的集成电路芯片类型;获取关于要控制的集成电路芯片类型的信息;以及产生对应于要控制的集成电路芯片类型的类型命令,集成电路芯片类型是在获取步骤中从对应于从服务器请求的命令的多个不同命令类型中获取的,并将产生的命令传送到服务器。
根据本发明的另一实施例,提供了一种使计算机能够进行如下处理的程序管理与将由集成电路芯片执行的命令类型有关的集成电路芯片类型,并响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述程序包括如下步骤获取关于要控制的集成电路芯片类型的信息;以及产生对应于要控制的集成电路芯片类型的类型命令,该集成电路芯片类型是在获取步骤中从对应于从服务器请求的命令的多个不同命令类型中获取的,并将产生的命令传送到服务器。
在信息管理仪器、信息管理方法以及根据本发明实施例的程序中,获取要控制的IC芯片的类型,从对应于从服务器请求的命令的多个不同命令类型中产生对应于要控制的IC芯片类型的类型命令,并将产生的命令传送到服务器。
根据本发明的实施例,有可能产生对应于多个不同类型IC芯片的命令。


图1是示出相关技术的电子货币系统的配置示例的框图;图2是示出本发明实施例所应用到的服务器/客户系统的配置示例的框图;图3是示出图2客户端设备和服务器端设备配置示例的框图;图4是客户端设备和服务器端设备硬件配置具体示例的框图;图5是示出客户端设备和服务器端设备硬件配置的另一具体示例的框图;图6是示出图4PC的硬件配置示例的框图;图7是示出图4计算机的硬件配置示例的框图;
图8是示出图3安全芯片的硬件配置示例的框图;图9示出了安全芯片的目录结构的示例;图10是示出图3安全服务器详细配置的示例的框图;图11示出了由安全芯片管理器模块管理的对应表格的示例;图12示出了命令和加密处理虚拟化的具体示例;以及图13是说明客户端设备和服务器端设备操作的流程图。
具体实施例方式
现在将在下文中描述本发明的实施例。下面将作为例子描述在本说明书中描述的本发明各方面与本发明实施例之间的对应关系。该描述将确认在本说明书中描述了支持本发明的实施例。因此,即使存在没在此描述为对应于本发明的实施例(虽然在本发明实施例中描述了),但该事实并不意味着这些实施例不对应于本发明。相反,即使这些实施例在此描述为对应于本发明某些方面的实施例,但该事实并不意味着这些实施例不对应于本发明的其它方面。
此外,该描述并不意味着本说明书中描述的本发明的所有方面。换言之,该描述是关于在本说明书中描述的本发明,并且并不否认在本申请中没有声明的本发明另一方面的存在,也就是说,分案申请将提交的或将来修改将添加的本发明另一方面的存在。
根据本发明实施例的信息管理仪器是这样的信息管理仪器(例如图4的计算机63)管理集成电路芯片的类型以及将由集成电路芯片以彼此对应的方式执行的命令的类型,并响应来自服务器(例如图4的服务器应用51)的向要控制的集成电路芯片(例如图4的安全芯片41)传送命令的请求来产生命令。该信息管理仪器包括获取装置(例如用于执行图13的步骤S111过程的安全芯片管理器模块132),用于获取要控制的集成电路芯片的类型;以及命令产生装置(例如用于执行图13的步骤S76过程的安全芯片命令模块131),用于产生对应于要控制的集成电路芯片类型的类型命令,该类型是获取装置从对应于从服务器请求的命令的多个不同命令类型中获取的,并用于将产生的命令传送到服务器。
根据本发明实施例的信息管理仪器的获取装置设置在要控制的IC芯片与通信路径中的服务器之间,并基于从客户传送的允许控制IC芯片以执行预定命令的信息(例如在图13的步骤S23中传送的初始信息)来获取要控制的IC芯片的类型。
根据本发明实施例的信息管理方法是这样的信息管理方法以彼此对应的方式管理IC芯片的类型和将由IC芯片执行的命令类型,并响应于来自服务器(例如图10的服务器应用51)的向要控制的IC芯片(例如图4的安全芯片41)传送命令的请求来产生命令。该信息管理方法包括如下步骤获取(例如图13的步骤S111)要控制的IC芯片的类型;并产生(例如图13的步骤S76)对应于要控制的IC芯片类型的类型命令,IC芯片类型是在上述获取步骤中从对应于从服务器请求的命令的多个不同命令类型中获取的,并将产生的命令传送到服务器。
同样,在根据本发明实施例的程序中,各步骤对应的实施例(一个例子)与在本发明实施例中描述的信息管理方法的实施例相同。
现在将在下文中参考附图描述本发明的优选实施例。
图2示出了本发明实施例所应用到的服务器/客户系统(该系统指定多台设备的逻辑集合。这些设备放在同一外壳中并不重要)的配置示例。
图2的服务器/客户系统以如下方式构造各客户端设备31(所谓的客户)和服务器端设备32(所谓的服务器)例如经网络33(诸如因特网)彼此连接,并根据需要例如还经网络34(诸如移动通信网)彼此连接。
客户端设备31含有安全芯片。该安全芯片是具有防篡改功能的安全IC芯片,并设计为能够以接触或非接触方式与其它设备交换数据。
客户端设备31的例子包括诸如便携式电话和PDA(个人数字助理)、PC、POS(销售点)记录器(用于POS系统的记录器)、自动售货机以及手持式终端的便携式终端。包含在客户端设备31中的安全芯片的例子包括在用作电子往返通行证的Suica(注册商标)中采用的FeliCa(注册商标)。
服务器端设备32经由网络33、必要时还经由网络34与客户端设备31交换数据,从而提供各种服务。更具体地说,例如,当电子货币存储在客户端设备31的安全芯片中时,服务器端设备32控制从客户端设备31的电子货币中减去商品价钱以及更新客户端设备31的电子货币的处理,以便在相减之后变成钱数,从而服务器端设备32提供电子货币服务。
客户端设备31加密并传送要传送到服务器端设备32的数据,并且服务器端设备32还加密并传送要传送到客户端设备31的数据。
在防篡改安全芯片中执行加密处理,诸如客户端设备31中的加密以及加密数据的解密。存在这样的情况服务器端设备32中的加密处理在HSM(硬件安全模块)(其是具有防篡改功能的专用硬件)中执行,并在不使用这种防篡改HSM的情况下,由用于实现服务器端设备32的软件执行。
存在两种类型加密过程要求特别高保密性的加密过程,以及除此以外的加密过程。当服务器端设备32包括HSM时,只有要求特别高保密性的加密过程可在HSM中执行,而其他加密过程可由用于实现服务器端设备32的软件执行。
图3是示出客户端设备31和服务器端设备32的功能配置的示例的框图。
客户端设备31包括安全芯片41、客户应用42以及根据需要的R/W 43。
安全芯片41是防篡改的安全IC芯片,并以接触或非接触方式与其他设备交换数据。
更具体地说,安全芯片41直接或经由R/W 43与客户应用42通信,并例如根据通过通信从客户应用42传送的命令来执行处理。处理之后,安全芯片41直接或经由R/W 43将作为对上述命令的响应的响应数据传送到客户应用42。安全芯片41还对要传送和接收的数据进行加密处理,以确保安全性。
客户应用42例如是由是硬件的计算机执行的软件,并用作服务器端设备32的服务器应用51的客户(将随后描述)。由于客户应用42用作服务器应用51的客户,并且例如将命令传送到安全芯片41,因此在安全芯片41和通信路径中的服务器应用51之间存在客户应用42。
客户应用42通过与服务器应用51交换数据(包括命令)并还通过直接或经由R/W 43例如将命令传送到安全芯片41来从安全芯片41读数据,或向安全芯片41写数据,从而实现各种服务。
更具体地说,例如,当客户应用42和服务器应用51是用于提供电子货币服务的软件、并且电子货币服务的存储区域分配在安全芯片41中时,在客户应用42和服务器应用51之间执行处理电子货币服务所需的数据(包括命令)交换,诸如从存储在安全芯片41中的电子货币中减去商品的价钱,以及更新存储在安全芯片41中的电子货币数以变成相减后的钱数。
客户应用42包括用于在必要时控制与服务器应用51通信的模块。
R/W 43执行与安全芯片41的非接触或接触通信,传送从客户应用42向安全芯片41提供的命令等,接收从安全芯片12传送的数据等,并将该数据提供给客户应用42。
服务器应用51例如是由计算机(其是硬件)执行的软件,并用作客户端设备31的客户应用42的服务器。服务器应用51通过与客户应用42交换数据(包括命令)来实现上述电子货币服务和其它各种服务。
为了确保安全性,服务器应用51请求安全服务器52执行对要传送和接收数据的加密过程。
服务器应用51包含用于在必要时控制与客户应用42通信的模块。
安全服务器52例如是由计算机(其是硬件)执行的软件,并独自执行加密过程,或请求安全芯片处理模块53响应于来自服务器应用51的请求来执行加密过程。
更具体地说,安全服务器52请求从服务器应用51向安全芯片处理模块53请求的加密过程中要求特别高保密性的加密过程,并执行除自身执行的加密过程以外的加密过程(在安全服务器52中)。
安全芯片处理模块53响应于来自安全服务器52的请求来执行加密过程(要求特别高保密性的加密过程)。
这里假设,安全芯片处理模块53存储在具有防篡改功能的专用硬件中。然而,安全芯片处理模块53例如还可用作安全服务器52的一个模块(软件)。存储安全芯片处理模块53的硬件例如对应于图1的SAM 2。
图4是示出客户端设备31和服务器端设备32的硬件配置具体示例的框图。
在图4中,客户端设备31包括R/W 43、IC卡61以及PC 62。
IC卡61含有安全芯片41(其是硬件),并例如对应于存储电子货币的卡,诸如Edy(注册商标)。
PC 62例如是由IC卡61的用户处理的PC,并且客户应用42安装在该PC中。通过操作PC 62,用户能够查询存储在IC卡61(安全芯片41)中的电子货币余额,并能够充电子货币。
图4中,服务器端设备32包括安全芯片处理模块53和计算机63。
计算机63例如是用作硬件的服务器(机器),服务器应用51和安全服务器52安装在其中。
图5是示出客户端设备31和服务器端设备32的另一硬件配置具体示例的框图。图5中服务器端设备32的硬件配置与图4中的相同。
在图5中,客户端设备31包括便携式电话64。
便携式电话64含有安全芯片41(其是硬件)。此外,客户应用42安装在便携式电话64中。通过操作便携式电话64,用户例如能够查询存储在安全芯片41中的电子货币余额,并能够充电子货币。
可用便携式电话64拥有的通信功能来执行对结合在便携式电话64中的安全芯片41的访问,同样,也可通过拿着便携式电话64(结合在便携式电话64中的安全芯片41)靠近R/W 43(图5中未示出)来执行上述访问。
图6是示出图4的PC 62的硬件配置示例的框图,PC中安装了客户应用42。
PC 62包括有CPU(中央处理单元)72。输入/输出接口80经总线71连接到CPU 72。当用户通过操作包括键盘、鼠标、麦克风等的输入部分77经输入/输出接口80输入指令时,CPU 72根据该指令执行存储在ROM(只读存储器)73中的程序。
此外,CPU 72将如下程序加载到RAM(随机访问存储器)74中存储在硬盘75中的程序、或从卫星或网络传输的并由通信部分78接收的且安装在硬盘75中的程序、或从加载到驱动器79中的可移动记录介质81中读取的且安装在硬盘75中的程序,并且CPU 72执行该程序。
结果,CPU 72执行各种处理。然后,CPU 72经输入/输出接口80例如从包括LCD(液晶显示器)、扬声器等的输出部分76输出处理因此,从通信部分78传送处理结果,或在必要时将处理结果记录在硬盘75中。
输入/输出接口80例如设置有USB(通用串行总线)终端,并且图4的R/W 43可连接到USB终端。
图7是示出了图4计算机63硬件配置示例的框图,在该计算机中安装有服务器应用51和安全服务器52。
在图7中,与图6的包括总线71直到可移动记录介质81的部分类似地配置构成计算机63的包括总线91直到可移动记录介质101的部分。因此,省略了这些部分的描述。
图8是示出图3的安全芯片41的硬件配置示例的框图。
当广泛分类时,安全芯片41包括通信处理部分111和数据处理部分112。通信处理部分111执行以接触或非接触方式在安全芯片41外部通信所需的处理,从而向数据处理部分112提供从外部传送的数据(包括命令),并向外部传送来自数据处理部分112的数据。在安全芯片41中执行的与外部通信所需的处理,包括数据的编码/解码和数据的调制/解调。
数据处理部分112例如包括CPU 121、加密处理部分122和存储器123,并根据从通信处理部分111提供的命令来执行各种处理。
更具体地说,CPU 121执行加密处理部分122的控制和存储器123的管理。此外,根据从通信处理部分111提供的命令,CPU 121从存储器123中读数据并向存储器123写数据,而且对存储在存储器123中的数据进行数据处理。CPU 121通过执行存储在存储器123中的程序来执行各种处理。
在CPU 121的控制下,除了用于加密/解密数据(包括命令)的加密过程以外,加密处理部分122还执行认证过程,诸如用于挑战响应系统中认证的随机数的生成,以及用于加密/解密的密钥(用作加密密钥的信息)的生成。也就是说,加密处理部分122使用加密数据来执行各种处理。
存储器123是非易失性存储器,并存储数据、程序等。存储器123实际上可以是一个存储器,也可以是多个存储器。当存储器123实际上由多个存储器构成时,对于一些存储器,可使用易失性存储器作为存储器。
在如图9所示的CPU 121中,存储器123的存储区域以形成层次的方式来管理。
图9示出了存储器123的目录结构。
存储器123的一部分存储区域用作数据存储区域,用以存储提供各种服务的数据。该数据存储区域具有层次结构,其中对应于所谓目录的区域定义区是一个层次。区域定义区被形成为具有区域定义区和服务定义区。
区域定义区是存储器123的一部分数据存储区域,并被分配给管理器(可以是服务提供商本身),用以管理提供服务的服务提供商。在区域定义区中,配置如下项作为可用作标识区域定义区的名称的标识代码的区域代码、指示可用有效块数量的有效容量、用作访问区域定义区(包括区域定义区和低于区域定义区级别的层次中的服务定义区)所需密钥的区域密钥等。
在图9的实施例中,分配给管理器A的区域定义区形成最高层次,并通过使用该层作为父层次,创建了管理器B1和B2的区域定义区。此外,通过使用管理器B1的区域定义区作为父层次,创建了管理器C的区域定义区。
服务定义区是用于管理服务区(将随后描述)的存储器123的一部分数据存储区域,并被分配给服务提供商所提供的服务。在服务定义区中,配置如下项作为可用作标识服务定义区的名称的标识代码的服务代码、指示存储提供服务所需数据的服务区大小的块的数量、作为访问服务定义区(包括由服务定义区管理的服务区)所需密钥的服务密钥等。
服务区是数据存储区域的一部分,并由0块或更多块组成,在这些块中存储了提供服务所需的数据。形成服务区的块的数量配置为管理服务区的服务定义区的容量。
这里,CPU 121管理具有固定存储容量的块单元中存储器123的数据存储区域,并且图9中服务区的有效容量和大小由多个块管理。
服务提供商在比管理器管理的区域定义区低的级别的层次中创建服务定义区,并通过使用在该服务定义区中管理的服务区来提供各种服务。例如,当提供电子货币服务时,电子货币的货币数(余额)、电子货币所购买的商品的信息(例如商品名称、价钱等)等存储在服务区中。
图10是示出图3的安全服务器52的详细配置示例的框图。
安全服务器52包括安全芯片命令模块131和安全芯片管理器模块132。
例如响应于来自服务器应用51产生命令的请求,安全芯片命令模块131产生用于要控制的安全芯片41的命令,并将该命令提供给服务器应用51。也就是说,当服务器应用51指令客户端设备31的安全芯片上的一些处理时,服务器应用51请求安全芯片命令模块131根据该处理产生命令。
如将在后面描述的,安全芯片命令模块131获取当前要控制的安全芯片41的芯片类型,响应于来自服务器应用51的请求而产生对应于安全芯片41的芯片类型的命令,并将该命令用作安全芯片41的命令。安全芯片命令模块131产生的安全芯片41的命令被提供给服务器应用51。
因此,由于服务器应用51没必要知道(可以知道)要控制的安全芯片41的命令,因此即使存在各种命令系统的安全芯片(在作为命令的操作码方面、参数方面以及命令类型方面具有差异的安全芯片),但也不需要为这些各种命令系统的每个安全芯片产生服务器应用51。
更具体地说,服务器应用51只需能够使用安全芯片命令模块131可理解的命令系统。这使一个服务器应用51可以处理多个不同类型的安全芯片41。
这里,响应于来自服务器应用51的请求,安全芯片命令模块131产生安全芯片41的命令,并将该命令提供给服务器应用51。在命令被提供给服务器应用51之前,安全芯片命令模块131将命令提供给安全芯片管理器模块132,以便请求命令的加密。然后,响应于该请求,安全芯片命令模块131将从安全芯片管理器模块132提供的加密信息(加密的命令等)提供给服务器应用51。
安全芯片管理器模块132管理将由安全芯片41执行的命令的类型以及加密过程的类型,该加密过程包括加密将由安全芯片41执行的命令的方法,以及用安全芯片41以对应于要控制的安全芯片41类型的方式执行的认证方法。基于当前要控制的安全芯片的类型(其是从服务器应用51报告的),安全芯片管理器模块132选择命令的类型和加密过程的类型(在下文中,这些将根据需要被分别称为“命令类型”和“加密处理类型”)。
例如,由安全芯片管理器模块132选择的命令类型被报告给安全芯片命令模块131。在安全芯片命令模块131中,产生从安全芯片管理器模块132报告的命令类型的命令。从而,以上面描述的方式,产生当前要控制的安全芯片的命令。
图11示出了安全芯片管理器模块132管理的对应表格的示例。
在图11的对应表格中,命令类型和加密处理类型对应于“FeliCa1”、“FeliCa2”、“GP1”和“GP2”中每一个的安全芯片的类型(芯片类型)。
例如,命令类型“类型11”和加密处理类型“类型12”对应于“FeliCa1”,而命令类型“类型12”和加密处理类型“类型12”对应于“FeliCa2”。类似地,命令类型“类型21”和加密处理类型“类型21”对应于“GP1”,而命令类型“类型22”和加密处理类型“类型21”对应于“GP2”。
例如,在从服务器应用51报告当前要控制的安全芯片41的类型是“FeliCa1”这一事实时,安全芯片管理器模块132从图11的对应表格中选择命令类型“类型11”,并将命令类型是“类型11”这一事实报告给安全芯片命令模块131。在安全芯片命令模块131中,作为与当前要控制的安全芯片41的类型“FeliCa1”相关的命令组合的结果,产生类型为“类型11”的命令,并将该命令设置为安全芯片41的命令。
更具体地说,假设例如定义了三种命令,即,发(issue)命令、读命令和写命令。在从服务器应用51请求其中的发命令时,在安全芯片命令模块131中,作为与当前要控制的安全芯片41的类型(其是从安全芯片管理器模块132报告的)有关的命令组合的结果,产生“记录器命令”和“提交(commit)命令”。也就是说,在此情况下,与安全芯片41的类型“FeliCa1”有关的命令“记录器命令”和“提交命令”都对应于发命令,并根据安全芯片的类型选择对应于唯一特定安全芯片的命令组。
此外,安全芯片管理器模块132根据从图11的对应表格中选择的加密处理类型“类型12”(当前要控制的类型为“FeliCa1”的安全芯片41的加密处理类型)来独自执行命令加密过程,并通过安全芯片处理模块53控制该加密过程,以便执行对应于加密处理类型“类型12”的加密过程。
存在如下加密过程。例如,与要控制的安全芯片41一起使用的加密过程被确定为根据安全芯片41的类型适当组合的下一加密过程的结果。
1.认证方法(1)在服务器端设备32和安全芯片41之间是应该执行相互认证,还是应该执行一端上的认证。
(2)是否应该在相互认证的同时共享用于加密通信路径(将随后描述)的会话密钥,或执行一端上的认证。
2.加密命令的方法(加密通信路径的方法)(1)是应该加密整个命令,还是应该加密部分命令。
(2)是否应该使用执行加密的加密密钥,对于每个会话(会话密钥)该加密密钥有所不同。
3.指示用于执行特殊命令(将随后描述)的执行权利的权利文档数据的加密过程方法
(1)是否应该用预定密钥对指示执行权利的权利文档进行加密。
(2)是否应该将签名附加到指示执行权利的权利文档。
(3)是否应该通过在指示执行权利的权利文档上应用预定的散列函数来获取散列值。
更具体地说,根据当前要控制的安全芯片41的类型选择以下项作为服务器端设备32和安全芯片41之间认证的方法,执行相互认证(1.的选择);在相互认证的同时共享用于加密通信路径的会话密钥;作为产生命令的方法来加密全部命令(2.的选择);使用用于执行加密的加密密钥,对于每个会话该加密密钥有所不同;并且作为加密指示执行权利的权利文档的方法(3.的选择),不对指示执行权利的权利文档进行加密,不应用散列函数,但附加签名。
此外,由安全芯片类型指定专门用在认证中的加密/签名算法(DES、T-DES、RSA、EC-DSA等)、通信路径加密、执行权利加密过程、认证中的挑战/响应方法、应该执行特定加密/签名的格式、填充规则等。
因此,在不涉及要控制的安全芯片41类型的情况下,服务器应用51能够仅通过请求上面描述的发命令、读命令和写命令来获取执行对应于安全芯片类型的加密过程的命令,诸如对应于芯片类型的安全芯片41的命令以及受到加密的整个命令。当从服务器应用51查看时,可以说执行了命令和加密处理的所谓虚拟化。
图12示出了命令和加密处理虚拟化的具体示例。
例如,如图12所示,在从服务器应用51请求产生包含参数1和2的参数数据的发命令时,对参数2执行由“类型12”标识的加密过程(该加密过程由图12的“实际加密处理方法”指示)。在图12中,加密过程类型首先被分为“类型1”和“类型2”,而“类型1”被进一步分为“类型11”和“类型12”,“类型2”被进一步分为“类型21”和“类型22”。
作为服务器应用51请求产生包括参数1和2的发命令的结果,作为对应于安全芯片41类型的类型加密过程,对参数2进行加密,而不考虑要控制的安全芯片41的类型。因此,实现了加密过程的虚拟化。
类似地,例如如图12所示,当从服务器应用51请求产生包括参数1和2的参数数据的写命令时,由“类型12”标识的命令(图中的实际命令)被选择作为除参数数据部分外的命令部分。在图12中,命令类型首先被分为“类型1”和“类型2”,而“类型1”被进一步分为“类型11”和“类型12”,“类型2”被进一步分为“类型21”和“类型22”。
作为服务器应用51请求包括参数1和2的写命令的结果,作为对应于安全芯片41类型的类型命令,选择“类型12”的命令,而不考虑要控制的安全芯片41的类型。因此,实现了命令的虚拟化。
往回参考图10,安全芯片管理器模块132自身(安全芯片管理器模块132)或通过安全芯片处理模块53将加密过程获取的加密信息提供给安全芯片命令模块131。
接下来,参考图13的流程图给出客户端设备31和服务器端设备32操作的描述。
当客户应用42被启动时,最初在步骤S21,客户应用42向安全芯片41传送请求有关安全芯片的安全芯片信息的命令。
在步骤S11中,安全芯片41接收来自客户应用42的命令。过程然后继续步骤S12,在该步骤中将安全芯片信息作为对上述命令的响应传送到客户应用42。
在步骤S22,客户应用42接收来自安全芯片41的安全芯片信息。过程然后继续步骤S23,在该步骤中请求连接的服务器连接请求以及包含安全芯片信息的初始信息被传送到服务器端设备32。
除安全芯片信息外,初始信息还包含关于客户应用42的客户信息以及关于服务器应用规范的信息,该规范规定了客户应用42将要连接到的服务器端设备32的服务器应用51。
安全芯片信息的例子包括安全芯片类型,它是指示安全芯片41种类的信息;安全芯片OS类型,它是指示在安全芯片41中采用的OS(操作系统)的信息;以及安全芯片文件结构(文件格式、区域代码列表、服务代码列表等),它是关于安全芯片41中数据管理的信息。结果,在服务器端设备32中,指定了当前要控制的安全芯片41的类型。
客户信息的例子包括客户类型,它是关于客户端设备31硬件的信息(例如,诸如客户端设备31是便携式电话、PC或POS记录器的信息);客户OS类型,它是指示在客户端设备31中采用的OS的信息;客户应用ID(标识),它是用于指定客户应用42的信息;以及应用版本,它是指示客户应用42版本的信息。
这里,响应于来自服务器应用51的对安全芯片信息和其它初始信息的请求(这是在执行了到服务器应用51的连接之后进行的),客户应用42还可从安全芯片41获取安全芯片信息,并可将包含在初始信息中的所获取的安全芯片信息传送到服务器应用51。
然而,如图13中所示,客户应用42从安全芯片41获取安全芯片信息并然后将包含安全芯片信息的初始信息以及服务器连接请求一起传送到服务器应用51的情况,要求客户应用42和服务器应用51之间的交换量较少。
此外,在此情况下,服务器端设备32可在访问启动的同时接收来自客户端设备31的客户信息。由此,基于该客户信息,服务器端设备32可传送和接收适合于客户应用42的命令和消息(屏幕的GUI(图形用户界面)等)。这里,适合于客户应用42的命令和消息例如指的是内容适合于客户应用42的命令和信息,或一次传送和接收的命令和消息的长度和数量适合于客户应用42的命令和消息。
在步骤S41中,服务器应用51接收来自客户应用42的服务器连接请求和初始信息,并启动向客户端设备31提供必要服务的应用(软件)。过程然后进入步骤S42。
在步骤S42中,服务器应用51将包含在步骤S41中接收的初始信息中的安全芯片信息和客户信息提供给安全服务器52的安全芯片管理器模块132。
在步骤S111中,安全芯片管理器模块132接收来自服务器应用51的安全芯片信息和客户信息,并将安全芯片信息提供给安全芯片处理模块53。
在步骤S151中,安全芯片处理模块53基于来自安全芯片管理器模块132的安全芯片信息设置来自安全芯片41的访问的处理范围。
更具体地说,安全芯片处理模块53被设计为能够执行各种安全芯片和服务加密过程,并含有各种安全芯片和服务加密过程所需的密钥(还包含有对应于在安全芯片41的存储器123中形成的各区中设置的密钥的密钥)。
如果安全芯片41例如仅可接收电子货币服务,则安全芯片处理模块53仅执行(允许)提供与来自安全芯片41的访问有关的电子货币服务所需的过程。当预先确定用于加密/解密电子货币服务中数据的密钥时,安全芯片处理模块53仅允许使用用于加密/解密电子货币服务中数据的密钥,并不允许使用用于加密/解密与来自安全芯片41的访问有关的其他服务中数据的密钥。
另一方面,基于在步骤S111中从服务器应用51接收的安全芯片信息和客户信息,安全芯片管理器模块132被置于执行对应于当前要控制的安全芯片41和客户应用42的处理的状态中。
更具体地说,基于从服务器应用51提供的安全芯片信息,安全芯片管理器模块132确定当前要控制的安全芯片41的类型,并选择对应于从图11中所示对应表格中确定的类型的命令类型和加密处理类型。结果,在随后处理中产生和传送的命令被设置为在此选择的类型的命令,并且在随后处理中所需的认证过程和命令加密过程被设置为对应于在此选择的加密处理类型的过程。
然后,在步骤S112,安全芯片管理器模块132将初始化指令提供给安全芯片命令模块131。
在步骤S71中,安全芯片命令模块131接收该指令,并初始化其自身的状态,以使其可以执行对应于安全芯片41的过程。例如,从安全芯片管理器模块132提供的初始化指令还包含指示安全芯片管理器模块132所选择的命令类型的信息。因此,从此处,在从服务器应用51提供命令产生请求时,安全芯片命令模块131可产生对应于当前要控制的安全芯片41类型的类型命令。
其后,例如在服务器应用51和安全芯片处理模块53之间进行相互认证。接下来,当认证成功时,在安全芯片41和安全芯片处理模块53之间进行认证。在此所进行的认证被设置为对安全芯片管理器模块132选择的加密处理类型的认证。
例如由挑战响应系统执行安全芯片41和安全芯片处理模块53之间的认证。在挑战响应系统中,安全芯片处理模块53(同样应用于安全芯片41)产生随机数,加密该随机数,并通过与安全芯片41交换随机数来执行认证。当该认证成功时,例如认证期间,安全芯片处理模块53产生的随机数被设置为用于标识安全芯片41和安全芯片处理模块53之间会话的会话密钥。
其后,例如当确定在服务器端设备32中根据选择的加密处理类型共享加密通信路径的会话密钥时,使用此处认证过程产生的会话密钥作为密钥来加密将要传送到安全芯片41的命令(包括参数和附加在该命令上的其它数据),并且该命令被传送到客户端设备31。此外,在客户端设备31中,在安全芯片41中通过使用会话密钥作为密钥来加密将从安全芯片41传送到服务器端设备32的数据,并且该数据被传送到服务器端设备32。
如上所述,在客户端设备31和服务器端设备32的每一个中,通过使用会话密钥作为密钥来加密数据。结果,客户端设备31和服务器端设备32之间的通信路径被加密,也就是说,实现为所谓的VPN(虚拟专用网)。
在步骤S43中,服务器应用51向安全芯片命令模块131提供要传送到安全芯片41的命令产生请求。在步骤S72中,安全芯片命令模块131接收来自服务器应用51的命令产生请求。
然后,在步骤S73中,响应于来自服务器应用51的命令产生请求,安全芯片命令模块131产生安全芯片41的命令(对应于安全芯片41类型的命令),并向安全芯片管理器模块132提供用于产生命令以及加密该命令并将其设置为加密信息的请求。
在步骤S113中,安全芯片管理器模块132接收来自安全芯片命令模块131的对命令进行加密并将其设置为加密信息的请求。过程然后进入步骤S114,在此上述请求被提供给安全芯片处理模块53。
更具体地说,在此情况下,由于在安全芯片处理模块53中存在用于加密通信路径的会话密钥,因此安全芯片管理器模块132请求安全芯片处理模块53使用该会话密钥对命令进行加密。
在步骤S152中,安全芯片处理模块53接收来自安全芯片管理器模块132的请求,并响应于该请求对命令加密。由于来自安全芯片管理器模块132的请求例如包含指示加密处理类型的信息,因此在安全芯片处理模块53中,根据需要执行对应于该类型的加密过程。
在步骤S153中,安全芯片处理模块53将通过命令加密获取的加密信息提供给安全芯片管理器模块132。
在步骤S115中,安全芯片管理器模块132接收来自安全芯片处理模块53的加密信息。过程然后进入步骤S116,在该步骤中从安全芯片处理模块53接收的加密信息被提供给安全芯片命令模块131。
在步骤S74中,安全芯片命令模块131接收来自安全芯片管理器模块132的加密信息。过程然后进入步骤S75,在该步骤中加密信息(加密的命令)被提供给服务器应用51。
在步骤S44中,服务器应用51接收来自安全芯片命令模块131的加密信息。过程然后进入步骤S45,在该步骤中加密信息(加密的命令)以及设备数据(其是作为客户端设备31的硬件的消息)被提供给客户应用42。
在步骤S24中,客户应用42接收来自服务器应用51的加密信息和设备数据。过程然后进入步骤S25,在该步骤中加密信息被传送到安全芯片41。
在步骤S13中,安全芯片41接收来自客户应用42的加密信息,并通过使用会话密钥将该加密信息解密为命令。此外,安全芯片41执行对应于该命令的处理,并在步骤S14中将作为对应于该命令的响应的响应数据传送到客户应用42。根据需要在安全芯片41中使用会话密钥加密该响应数据。
在步骤S26中,客户应用42接收来自安全芯片41的响应数据。过程然后进入步骤S27,在该步骤中响应数据被传送到服务器应用51。
在步骤S46中,服务器应用51接收来自客户应用42的响应数据,执行对应于该响应数据的处理,或将该响应数据提供给安全芯片命令模块131和安全芯片管理器模块132。
另一方面,在步骤S117中,安全芯片管理器模块132将对会话密钥的请求提供给安全芯片处理模块53。
在步骤S154中,安全芯片处理模块53接收来自安全芯片管理器模块132对会话密钥的请求。过程然后进入步骤S155,在该步骤中作为用安全芯片41认证的结果获取的会话密钥被提供给安全芯片管理器模块132。
在步骤S118中,安全芯片管理器模块132接收并拥有来自安全芯片处理模块53的会话密钥。
其后,例如由安全芯片管理器模块132执行使用会话密钥的加密,并在安全芯片处理模块53中仅执行要求更高级保密性的加密。由安全芯片管理器模块132执行的加密或由安全芯片处理模块53执行的加密对应于由安全芯片处理模块53选择的类型(例如,对全部命令加密,或者对部分命令加密)。
这样,作为由安全芯片管理器模块132使用会话密钥执行加密以及由安全芯片处理模块53仅执行要求更高级保密性的加密(包括使用加密所执行的相互认证以及包的创建(将随后描述))的结果,当与在安全芯片处理模块53中执行所有加密过程的情况相比较时,可减少安全芯片处理模块53的负荷。因此,可缩短在安全芯片处理模块53中的处理时间。
可提供多个防篡改安全芯片处理模块53,以便通过使该多个安全芯片处理模块53以分布式方式进行处理,可减少一个安全芯片处理模块53的负荷。
其后,在步骤S47中,服务器应用51向安全芯片命令模块131提供将要传送到安全芯片41的命令产生请求。
在步骤S76中,安全芯片命令模块131接收来自服务器应用51的命令产生请求。
在步骤S77中,响应于来自服务器应用51的命令产生请求,安全芯片命令模块131向安全芯片管理器模块132提供如下请求产生安全芯片41的命令(对应于命令类型的命令),并对该命令进行加密以用作加密信息。
在步骤S119中,安全芯片管理器模块132接收来自安全芯片命令模块131的对命令进行加密以用作加密信息的请求。
当来自安全芯片命令模块131的请求是加密除特殊命令外的命令的请求时,安全芯片管理器模块132使用拥有的会话密钥来加密该命令。在步骤S122中,安全芯片命令模块131将由此获取的加密信息提供给安全芯片命令模块131。
另一方面,当来自安全芯片命令模块131的请求是加密特殊命令的请求时,在步骤S120中,安全芯片管理器模块132将创建执行该特殊命令的执行权利的加密请求提供给安全芯片处理模块53。
这里,特殊命令的例子包括用于请求安全芯片41的注册和区域定义区删除的命令。
在步骤S156中,安全芯片处理模块53接收来自安全芯片管理器模块132的请求,并对指示用于执行特殊指令的执行权利的权利文档数据执行加密过程。这里执行的加密过程也是安全芯片管理器模块132选择的类型的加密过程。
此外,安全芯片处理模块53添加证书的数据,该证书证明权利文档对该权利文档的加密结果是有效的。在步骤S157中,安全芯片处理模块53将证书和权利文档的加密结果作为包提供给安全芯片管理器模块132。
在步骤S121中,安全芯片管理器模块132接收来自安全芯片处理模块53的包。过程然后进入步骤S122,在该步骤中使用会话密钥加密特殊命令,并且加密结果和包是一组的加密信息被提供给安全芯片命令模块131。
在步骤S78中,安全芯片命令模块131接收来自安全芯片管理器模块132的加密信息。过程然后进入步骤S79,在该步骤中加密信息被提供给服务器应用51。
在步骤S48中,服务器应用51接收来自安全芯片命令模块131的加密信息。过程然后进入步骤S49,在该步骤中加密信息和设备数据(它是作为客户端设备31的硬件的消息)被传送到客户应用42。
在步骤S28中,客户应用42接收来自服务器应用51的加密信息和设备数据。过程然后进入步骤S29,在该步骤中加密信息被传送到安全芯片41。
在步骤S15中,安全芯片41接收来自客户应用42的加密信息,并将该加密信息解密为命令。此外,在安全芯片41根据需要确认命令执行权利之后,安全芯片41执行对应于上述命令的处理。在步骤S16中,作为对应于该命令的响应的响应数据被传送到客户应用42。
在步骤S30中,客户应用42接收来自安全芯片41的响应数据。过程然后进入步骤S31,在该步骤中响应数据被传送到服务器应用51。
在步骤S50中,服务器应用51接收来自客户应用42的响应数据,并执行对应于该响应数据的处理。
其后,在与客户端设备31的通信将要结束时,服务器应用51在步骤S51将作为该事实消息的结束报告传送到客户应用42。
在步骤S31中,客户应用42接收来自服务器应用51的结束报告。这完成了一系列处理。
虽然上述一系列过程可由硬件执行,但也可由软件执行。
当一系列过程由软件执行时,形成软件的程序被从网络或记录介质安装在结合在专用硬件中的计算机中,或例如安装在能通过安装各种程序来执行各种功能的通用个人计算机中。
如图6所示的记录介质包括可移动记录介质81,该可移动记录介质包括磁盘(包括软盘)、光盘(包括CD-ROM(压缩盘只读存储器)或DVD(数字多功能盘))、磁光盘(包括MD(注册商标)(迷你盘))或半导体存储器,该记录介质是分布式的,以便独立于设备的主单元向用户提供程序。此外,记录介质包括在其中记录程序的ROM 73或硬盘75,其通过预先结合在设备的主单元中来向用户提供程序。
在本说明书中,步骤不仅包括以所写顺序来按顺序执行的过程,而且包括同时或单独执行的过程,虽然这些不必按顺序处理。
在本说明书中,系统表示由多台设备组成的整个仪器。
本领域技术人员应理解到,只要在所附权利要求书或其等价物的范围内,可根据设计需求和其它因素进行各种修改、组合、子组合和改变。
权利要求
1.一种信息管理仪器,用于响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述信息管理仪器包括用于管理与所述集成电路芯片要执行的命令类型有关的集成电路芯片类型的装置;用于获取关于要控制的所述集成电路芯片类型的信息的装置;及用于产生对应于要控制的所述集成电路芯片类型的类型命令的装置,所述集成电路芯片类型是由所述获取装置从对应于从所述服务器请求的命令的多个不同命令类型中获取的,并且所述装置用于将产生的命令传送到所述服务器。
2.如权利要求1所述的信息管理仪器,其中所述获取装置设置在要控制的所述集成电路芯片与通信路径中的所述服务器之间,并配置为基于从客户传送的允许所述集成电路芯片被控制以执行预定命令的信息,来获取关于要控制的所述集成电路芯片类型的信息。
3.如权利要求1所述的信息管理仪器,其中所述管理装置管理集成电路芯片类型,其与认证集成电路芯片的方法和/或对要传送到所述集成电路芯片的数据进行加密的方法有关。
4.如权利要求3所述的信息管理仪器,其中所述数据是要由所述集成电路芯片执行的命令。
5.一种信息管理方法,用于响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述信息管理方法包括以下步骤管理与要由所述集成电路芯片执行的命令类型有关的集成电路芯片类型;获取关于要控制的所述集成电路芯片类型的信息;以及产生对应于要控制的所述集成电路芯片类型的类型命令,所述集成电路芯片类型是在所述获取步骤中从对应于从所述服务器请求的命令的多个不同命令类型中获取的,并将产生的命令传送到所述服务器。
6.一种使计算机能够进行如下处理的程序管理与要由所述集成电路芯片执行的命令类型有关的集成电路芯片类型,并响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述程序包括以下步骤获取关于要控制的所述集成电路芯片类型的信息;以及产生对应于要控制的所述集成电路芯片类型的类型命令,所述集成电路芯片类型是在所述获取步骤中从对应于从所述服务器请求的命令的多个不同命令类型中获取的,并将产生的命令传送到所述服务器。
7.一种信息管理仪器,用于响应来自服务器的向要控制的集成电路芯片传送命令的请求来产生命令,所述信息管理仪器包括管理单元,用于管理与要由所述集成电路芯片执行的命令类型有关的集成电路芯片类型;获取部分,配置为获取关于要控制的所述集成电路芯片类型的信息;以及命令产生器,配置为产生对应于要控制的所述集成电路芯片类型的类型命令,所述集成电路芯片类型是由所述获取部分从对应于从所述服务器请求的命令的多个不同命令类型中获取的,并用于将产生的命令传送到所述服务器。
全文摘要
一种信息管理仪器包括管理装置,用于以彼此对应的方式管理集成电路芯片类型和要由集成电路芯片执行的命令类型;信息获取装置,用于获取关于要控制的集成电路芯片类型的信息;以及命令发生装置,用于产生对应于要控制的集成电路芯片类型的类型命令,集成电路芯片的类型是由信息获取装置从对应于从服务器请求的命令的多个不同命令类型中获取的,并用于将产生的命令传送到服务器。
文档编号H04L9/08GK1756150SQ200510108519
公开日2006年4月5日 申请日期2005年9月30日 优先权日2004年9月30日
发明者赤鹿秀树, 荻岛淳, 花木直文 申请人:飞力凯网路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1