信息处理装置、信息处理方法和程序的制作方法

文档序号:7626032阅读:126来源:国知局
专利名称:信息处理装置、信息处理方法和程序的制作方法
技术领域
本发明涉及信息处理装置、信息处理方法和程序,尤其涉及能够甚至响应于来自不同环境的服务器的请求而执行各种密码处理,同时确保安全性的一种信息处理装置、信息处理方法和程序。
背景技术
近年来,将电子货币充入内嵌于信用卡或移动电话中的非接触IC芯片,并用电子货币来支付商品已经得到了广泛的使用。
在支付商品时,用户只需在安装于商店中的终端(读写器)上刷一下信用卡或移动电话,就足以即时支付商品了。
这种电子货币系统具有例如图1所示的结构。
在电子货币系统中,服务器装置1和安全应用模块(SAM)2在服务器侧提供,而客户机装置3和读写器(R/W)4则在客户机侧提供。服务器装置1经网络5与客户机装置3相连。
在图1示例中,包括非接触IC芯片13的移动电话6与客户机侧的R/W4相邻。移动电话6经使用电磁感应的近场通信与客户机装置3耦合。
安装在服务器装置1中的服务器应用程序11与安装在客户机装置3中的客户机应用程序12通信,以向SAM2提供响应来自应用程序12的请求而创建的命令(由非接触IC芯片13执行的命令)。当经加密的命令从SAM2向服务器应用程序11提供时,服务器应用程序11经网络5向客户机装置3中的客户机应用程序12传送该经加密命令。
作为防篡改模块的SAM2,执行密码处理并管理在密码处理中使用的密钥。SAM2加密从服务器应用程序11提供的命令,并向服务器应用程序11提供已加密命令。SAM2和非接触IC芯片13具有共同的密钥。收发用共同密钥加密的信息实现了SAM2和非接触IC芯片13之间的密码通信。
客户机装置3中的客户机应用程序12向服务器装置1中的服务器应用程序11发送预定请求。当命令从服务器应用程序11传送到客户机应用程序12时,客户机应用程序12通过R/W4将该命令传送给非接触IC芯片13,以使非接触IC芯片13执行该命令。
非接触IC芯片13解密从SAM2通过R/W4等传送的加密命令并执行经解密的命令。当该命令指示电子货币的更新时,命令包括有关已更新货币的数量的信息。
例如,当移动电话6的用户为商品付出存储在非接触IC芯片13中的电子货币时,其中该商品是用户在具有以上结构的电子货币系统中购买的,客户机装置3中的客户机应用程序12向服务器装置中的服务器应用程序11传送为商品付款的请求,而服务器应用程序11接收该请求并创建一个命令(读取(Read)命令),该命令请求非接触IC芯片13读取电子货币的余额。
由服务器应用程序11创建的读取命令在SAM2中加密,然后通过服务器装置1中的服务器应用程序11、网络5、客户机装置3中的客户机应用程序12、以及R/W4传送给非接触IC芯片13。所传送的读取命令被解密并在非接触IC芯片13中执行。通过执行读取命令读取的余额在非接触IC芯片13中加密,然后通过R/W4、客户机装置3中的客户机应用程序12、网络5、以及服务器装置1中的服务器应用程序11传送给SAM2,作为对服务器应用程序11的响应。从非接触IC芯片13传送的加密余额在SAM2中解密,且解密余额被提供给服务器应用程序11。
服务器应用程序11确认以上述方式存储在非接触IC芯片13中的电子货币的当前余额。
在确认之后,服务器装置1中的服务器应用程序11创建一个命令(写(Write)命令),该命令请求非接触IC芯片来更新电子货币的余额(以更新为减去商品价格的余额)。
由服务器应用程序11创建的写命令在SAM2中加密,然后通过服务器装置1中的服务器应用程序11、网络5、客户机装置3中的客户机应用程序12、以及R/W4传送给非接触IC芯片13,像先前传送的读取命令一样。所传送的写命令被解密并在非接触IC芯片13中执行。写命令包括表示已扣除余额的信息。存储在非接触IC芯片13中的电子货币余额以上述方式减去了商品的价格。
例如,在非接触IC芯片13向服务器应用程序11传送了表示余额扣除已结束的消息之后,一系列处理结束。商品的付款用这样的一系列处理来实现。
例如,具有上述结构的服务器-客户机系统实现对由商店发出的点数的管理、在客户机装置3安装为站台上的自动检票机时为车票付款、以及为商品付款。在点数管理和车票付款中,与上述商品付款中相同的处理基本上同样由图1所示系统中的组件来执行。
具有图1所示结构的服务器-客户机系统在例如公开号为2003-141063的日本未检专利申请中揭示。使用数字签名来控制对内部资源的访问的技术,诸如密钥,在公开号为2003-524252的日本未检专利申请中揭示。

发明内容
然而,当SAM2是防篡改模块,且密钥和密钥列表存储在安全环境中时,有这样的一个问题,因为对在不同于SAM2的环境中的装置而言要灵活执行SAM2的操作是不可能的,而对在与SAM2相同的环境中不经外部网络与SAM2相连的装置(例如,安装有服务器应用程序11的服务器装置)而言,要灵活执行SAM2的操作是可能的。SAM2的操作包括命令的加密和从非接触IC芯片传送的数据的解密。
例如,对于其中安装有与SAM2经诸如因特网的图1中网络5相连的服务器应用程序的装置而言,要执行SAM2的操作是不可能的。
这是因为SAM2的功能,诸如要提供给非接触IC芯片的命令的加密以及从非接触IC芯片提供的响应的解密,被欺骗性地使用,且例如对存储在非接触IC芯片上的电子货币的余额的欺骗性更新的恶意行为,在当具有服务器应用程序的装置是恶意装置时(操作装置的用户是恶意的)是可能执行的。因此,除SAM2相同的环境中的装置以外的装置被设置成不能执行SAM2的操作。
需要甚至响应来自不同环境中服务器的请求来执行各种密码处理,同时确保安全性。
根据本发明一实施例,被配置成响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理的信息处理装置,包括管理装置,用于管理根据请求批准的各类密码处理;以及输出装置,用于在从完成验证的预定服务器请求的预定密码处理具有由管理装置管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
根据本发明另一实施例,响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理的信息处理方法,包括以下步骤,管理根据请求批准的各类密码处理;以及在从完成验证的预定服务器请求的预定密码处理具有由在管理步骤中管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
根据本发明又一实施例,导致计算机响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理的程序,包括以下步骤,管理根据请求批准的各类密码处理;以及在从完成验证的预定服务器请求的预定密码处理具有由在管理步骤中管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
在本发明的信息处理装置、信息处理方法以及程序中,根据各请求批准的各类密码处理得到了管理,并且在从完成验证的预定服务器请求的预定密码处理具有由所批准和管理的类型时,执行所请求的预定密码处理以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
根据本发明,甚至响应来自不同环境中服务器的请求来执行各种密码处理,同时确保安全性是可能的。


图1是示出相关技术中电子货币系统的结构的一个示例的框图;图2示出应用本发明的服务器-客户机系统的结构的一个示例;图3是示出图2中的客户机侧装置和服务器侧装置的功能结构的一个示例的框图;图4是示出客户机侧装置和服务器侧装置的特定硬件结构的一个示例的框图;图5是示出客户机侧装置31和服务器侧装置的特定硬件结构的另一个示例的框图;图6是示出图4中PC的硬件结构的一个示例的框图;
图7是示出图4中计算机的硬件结构的一个示例的框图;图8是示出图3中安全芯片的硬件结构的一个示例的框图;图9示出安全芯片的目录结构的一个示例;图10是示出图3中安全服务器的详细结构的一个示例的框图;图11是由安全芯片处理模块进行的访问管理的概念示图;图12示出访问控制列表中的描述的一个示例;图13A和13B是示出客户机侧装置和服务器侧装置的操作的流程图;图14A和14B是示出客户机侧装置和服务器侧装置的操作的流程图,该流程图在图13A和13B的流程图之后;图15是示出安全芯片处理模块的结构的一个示例的框图;图16是详细示出安全芯片处理模块中一过程的流程图;图17是详细示出安全芯片处理模块中另一过程的流程图;以及图18是详细示出安全芯片处理模块中再一过程的流程图。
具体实施方法在描述本发明的实施例之前,下面先讨论权利要求书的特征与在本发明实施例中所揭示的特定元素之间的一致性。该描述旨在保证在本说明书中的描述支持所要求的本发明的实施例。因而,即使在下列实施例中的元素没有被描述为与本发明的某个特征相关,也并不表示该元素不与权利要求书的该特征相关。相反,即使在此将一个元素描述为与权利要求书的某个特征相关,也并不表示该元素不与权利要求书的其它特征相关。
此外,该描述不应被解释为有这样的限制,即在权利要求书中描述各实施例中所揭示的本发明所有方面。即,该描述不否认在各实施例中所描述的、但没有在本申请的发明中声明的本发明各方面的存在,即将来可通过分案申请或通过补正来另外声明本发明各方面的存在。
根据本发明一实施例,一种信息处理装置(例如,包括图4中的安全芯片处理模块53的装置)被配置成响应来自服务器(例如,图4中的服务器应用程序51)的传送控制集成电路芯片(例如图4中的安全芯片41)的加密信息的请求而执行密码处理。该信息处理装置包括管理单元(例如,执行图16中步骤S224的图15中的访问控制器202),用于管理根据请求批准的各类密码处理;以及输出单元(例如,执行图16中步骤S233的图15中的密码处理器203),用于在从完成验证的预定服务器请求的预定密码处理具有由管理单元管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
根据本发明另一实施例,响应来自服务器(例如,图4中的服务器应用程序51)的传送控制集成电路芯片(例如图4中的安全芯片41)的加密信息的请求而执行密码处理的信息处理方法,包括以下步骤,管理根据请求(图16中的步骤S224)批准的各类密码处理;以及在从完成验证的预定服务器请求的预定密码处理具有由在管理步骤中管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息(例如,图16中的步骤S233)。
根据本发明又一实施例,程序包括与上述信息处理方法相似的各个步骤。
本发明的各实施例将参照附图描述。
图2示出应用本发明的服务器-客户机系统的结构的一个示例(系统指多个装置的逻辑集合,并且这些装置并非必须包含在同一外壳中)。
图2中的服务器-客户机系统被构成为,称为客户机的各个客户机侧装置31,按需通过诸如因特网的网络33和诸如移动通信网络的网络34,连接到称为服务器的服务器侧装置32。
每个客户机侧装置31都包括一安全芯片。该安全芯片是防篡改安全IC芯片,并能够执行与其它装置的接触或非接触的数据通信。
客户机侧装置31包括移动终端,诸如移动电话或个人数字助理(PDA)、个人计算机(PC)、销售点(POS)寄存器(POS系统的寄存器)、自动售卖机和手持终端。包括在每个客户机侧装置31中的安全芯片,是例如Suica中采用的Felica等,用作电子通勤车票。
服务器侧装置32按需通过网络33和网络34从客户机侧装置31收发数据(包括命令),以提供各种服务。例如,当电子货币存储在客户机侧装置31的安全芯片中时,相应的服务器侧装置32通过控制从客户机侧装置31中的电子货币减去物品的价钱来提供电子货币服务,并且将客户机侧装置31中的电子货币的余额更新为减去后的余额。
客户机侧装置31加密要发送到服务器侧装置32的数据,并且将加密的数据发送到服务器侧装置32。该服务器侧装置32加密要发送到客户机侧装置31的数据,并且发送加密的数据到客户机侧装置31。
诸如加密数据的加密和解密的密码处理在客户机侧装置31中是在防篡改安全芯片中进行的。相反,在服务器侧装置32中的密码处理在硬件安全模块(HSM)(它是专用的防篡改硬件)中进行,或者在实现服务器侧装置32的软件中进行,而不使用防篡改HSM。
密码处理被划分成要求较高机密性的密码处理和其它密码处理。当服务器侧装置32具有HSM时,只有要求较高机密性的密码处理在HSM中进行,而其它密码处理在实现服务器侧装置32的软件中进行。
图3是示出客户机侧装置31和服务器侧装置32的功能结构的一个示例的框图。
客户机侧装置31包括安全芯片41、客户机应用程序42和读写器(R/W)43(如果需要的话)。
安全芯片41是防篡改安全IC芯片,并能执行与其它装置的接触或非接触数据通信。
具体地,安全芯片41例如根据客户机应用程序42通过通信发送的命令,直接或通过R/W43与客户应用程序42通信以执行处理。在处理之后,安全芯片41响应于命令直接或通过R/W43将响应数据发送给客户机应用程序42。安全芯片41还执行对收发数据的密码处理,以便保证安全性。
例如,客户机应用程序42是由作为硬件的计算机执行的软件。客户机应用程序42用作下面在服务器侧装置32中描述的服务器应用程序51的客户机。
客户机应用程序42从服务器应用程序51收发数据(包括命令),并且直接或者通过R/W43提供命令给安全芯片41,以从安全芯片41读写数据以便实现各种服务。
例如,当客户机应用程序42和服务器应用程序51是提供电子货币服务的软件,并且在安全芯片41中为电子货币服务分配存储区域时,电子货币服务所需的数据(包括命令)在客户机应用程序42与服务器应用程序51之间传送。数据通信包括从存储在安全芯片41中的电子货币减去物品的价钱,并且将存储在安全芯片41中的电子货币的余额更新为减去后的余额。
客户机应用程序42包括用于控制与服务器应用程序51通信的模块(如果需要的话)。
R/W43执行与安全芯片41的非接触或接触通信,以将由客户机应用程序42提供的命令发送给安全芯片41。另外,R/W43接收从安全芯片41发送的数据,并且向客户机应用程序42提供所接收的数据。
例如,服务器应用程序51是由作为硬件的计算机执行的软件。服务器应用程序51用作客户机侧装置31中客户机应用程序42的服务器。服务器应用程序51从客户机应用程序42收发数据(包括命令),以实现包括上述电子货币服务的各种服务。
服务器应用程序51请求安全服务器52对收发的数据执行密码处理以确保安全。
服务器应用程序51包括控制与客户机应用程序42通信的模块(如果需要的话)。
例如,安全服务器52是由作为硬件的计算机执行的软件。安全服务器52执行密码处理,或者请求安全芯片处理模块53响应来自服务器应用程序51的密码处理请求,执行密码处理。
具体地,安全服务器52请求安全芯片处理模块53执行服务器应用程序51所请求的密码处理之中要求较高机密性的密码处理,并且自己执行其它密码处理。
安全芯片处理模块53响应于来自安全服务器52的请求,执行密码处理(要求较高机密性的密码处理)。
这里假定安全芯片处理模块53被装在例如专用的防篡改硬件中。然而,安全芯片处理模块53可以是安全服务器52中的一个模块(软件)。装有安全芯片处理模块53的硬件与图1中SAM2相对应。
如下所述,执行上述密码处理的安全芯片处理模块53管理用于控制对例如由安全芯片处理模块53管理的密钥的外部访问(包括服务器应用程序51)的列表。安全芯片处理模块53仅响应来自批准列表中访问的人的请求执行密码处理,诸如对命令的加密。
图4是示出客户机侧装置31和服务器侧装置32的特定硬件结构的一个示例的框图。
参照图4,客户机侧装置31包括R/W43、集成电路(IC)卡61和个人计算机(PC)62。
IC卡61包括是硬件的安全芯片41。例如,IC卡61对应于存储电子货币的一张卡,诸如Edy。
PC62例如由IC卡61的用户所拥有。客户机应用程序42安装在PC62中。用户操作PC62来查询IC卡61中存储的电子货币余额,或充值电子货币。
参照图4,服务器侧装置32包括安全芯片处理模块53和计算机63。
计算机63是例如硬件的服务器(机器)。服务器应用程序51和安全服务器52安装在计算机63中。
图5是示出客户机侧装置31和服务器侧装置32的特定硬件结构的另一示例的框图。图5中服务器侧装置32的硬件结构与图4中的相似。
参照图5,客户机侧装置31是移动电话64。
移动电话64包括是硬件的安全芯片41。客户机应用程序42安装在移动电话64中。用户操作移动电话64来查询存储在安全芯片41中的电子货币余额,或充值电子货币。
对包括在移动电话64中的安全芯片41的访问可通过使用移动电话64的通信功能来完成,或可通过将移动电话64(包括在移动电话64中的安全芯片41)靠近R/W43(未在图5中示出)来完成。
图6是示出其中安装了客户机应用程序42的图4中PC62的硬件结构的一个示例的框图。
PC62包括中央处理单元(CPU)72。输入-输出接口80通过总线71连接到CPU72。CPU72响应于由用户用输入单元77输入并且通过输入-输出接口80提供的指令,执行存储在只读存储器(ROM)73中的程序,其中输入单元77包括键盘、鼠标、话筒等。
CPU72将存储在硬盘75中的程序、通过卫星或网络传送的程序、由通信单元78接收的程序、以及安装在硬盘45中的程序、或者从加载在驱动器79中的可移动记录介质81读取并且安装在硬盘75中的程序,载入随机存取存储器(RAM)74中,并执行所加载的程序。
CPU72以上述方式进行各种处理。CPU72从包括液晶显示器(LCD)、扬声器等的输出单元76输出处理结果,发送来自通信单元78的处理结果,和/或在需要时通过输入-输出接口80将处理结果存储在硬盘75中。
输入-输出接口80具有例如通用串行总线(USB)端口,并且图4中的R/W43能与该USB端口相连。
图7是示出图4中计算机63的硬件结构的一个示例的框图,该计算机中安装了服务器应用程序51和安全服务器52。
参照图7,在计算机63中从总线91到可移动记录介质101的组件是以与图6中从总线71到可移动记录介质81的组件相同的方式构造的。在此略去图7中这类组件的描述。
图8是示出图3中安全芯片41的硬件结构的一个示例的框图。
安全芯片41主要包括通信处理单元111和数据处理单元112。通信处理单元111执行与安全芯片41外部的装置接触或非接触通信所需的处理,来提供在外部被发送给数据处理单元112的数据(包括命令),并且将从数据处理单元112提供的数据发送到外部装置。由安全芯片41执行的外部通信所需的处理,包括数据的编码和解码等以及它们的调制和解调。
数据处理单元112包括,例如,CPU121、密码处理器122和存储器123。数据处理单元112根据从通信处理单元111提供的命令来执行各种处理。
具体地,CPU121控制密码处理器122并管理存储器123。CPU121根据通信处理单元111提供的命令从存储器123读写数据,并对存储在存储器123中的数据执行数据处理。CPU121执行存储在存储器123中的程序,来进行各种处理。
除了包括数据(包括命令)的加密与解密的密码处理之外,密码处理器122在CPU121的控制下还执行验证,该验证包括在询问-与-应答验证中所使用的随机数的产生以及在加密与解密中使用的密钥(有关密码密钥的信息)的产生。换言之,密码处理器122通过使用加密数据来执行各种处理。
作为非易失性存储器的存储器123存储数据和程序。在物理上,存储器123可以是一个存储器或者可包括多个存储器。当存储器123包括多个存储器时,非易失性存储器可用作部分存储器。
CPU121将如图9所示的存储器123的存储区分层,以管理分层的存储区。
图9示出存储器123的目录结构的一个示例。
存储器123的存储区的一部分用作数据存储区,存储提供各种服务所使用的数据。数据存储区具有分层结构,其中对应于目录的区定义区域被分层。每个区定义区域能包括区定义区域和服务定义区域。
区定义区域是存储器123的数据存储区的一些部分,并被分配给管理提供服务的服务供应者的管理者(管理者可以是服务供应者)。在每个区定义区域中,分配作为用作标识区定义区域的名字的标识码的区域码、表示可用的空闲块数量的空闲空间、以及作为取得对区定义区域(包括区定义区域和在每个区定义区域之下的服务定义区域)的访问所需密钥的区密钥。
在图9所示的实施例中,分配给管理器A的区定义区域对应于顶层,而管理器B1和B2的区定义区域在分配给管理器A的区定义区域之下创建。管理器C的区定义区域在管理器B1的区定义区域之下创建。
服务定义区域是存储器123的数据存储区的一些部分,用于管理下述服务区域并被分配给服务供应者所提供的服务。在每个服务定义区域中,分配作为用于标识服务定义区域的名字的标识码的服务码、表示其中存储提供服务所需数据的服务区域容量的块数、作为取得对服务定义区域(包括由服务定义区域管理的服务区域)的访问所需密钥的服务密钥。
服务区域是数据存储区的一些部分,并且每个服务区域包括零或多个块,其中存储提供服务所需的数据。构成服务区域的块数被描述为管理服务区域的服务定义区域的容量。
CPU121按存储容量中的固定块单元来管理存储器123的数据存储区域。图9中的空闲空间和服务区域的容量基于块数进行管理。
服务供应者在由一个管理器管理的区定义区域之下创建服务定义区域,并且使用在服务定义区域中管理的服务区域来提供各种服务。例如,在提供电子货币服务时,电子货币的余额以及有关为其支付电子货币的商品的信息(例如,商品的名称和/或价钱)被存储在服务区域中。
图10是示出图3中安全服务器52的详细结构的一个示例的框图。
安全服务器52包括安全芯片命令模块131和安全芯片管理器模块132。
安全芯片命令模块131响应于来自服务器应用程序51的对创建命令的请求为要控制的安全芯片41创建一命令,并且将所创建的命令提供给服务器应用程序51。换言之,当服务器应用程序51命令客户机侧装置31中的安全芯片41执行某类处理时,服务器应用程序51请求安全芯片命令模块131创建对应于该处理的命令。
安全芯片命令模块131响应于来自服务器应用程序51的请求,为安全芯片41创建命令,并将所创建的命令提供给服务器应用程序51。
因此,甚至当各个命令系统中都存在安全芯片(安全芯片在用作命令的操作代码、在命令的参数以及在命令的种类方面不同)时,不必在各个命令系统中为每个安全芯片创建服务器应用程序51,因为服务器应用程序51不需要知道要控制的安全芯片41的命令(服务器应用程序51可能知道该命令)。
换言之,对于服务器应用程序51,使用能够翻译的安全芯片命令模块131的命令系统就足够了。
安全芯片命令模块131响应于来自服务器应用程序51的请求,为安全芯片41创建命令,并且将所创建的命令提供给服务器应用程序51。然而,在将所创建的命令提供给服务器应用程序51之前,安全芯片命令模块131将该命令通过给安全芯片管理器模块132,来请求对命令的加密。安全芯片命令模块131响应于对服务器应用程序51的请求,提供从安全芯片管理器模块132提供的密码信息(例如加密命令)。
安全芯片管理器模块132向安全芯片命令模块131提供因安全芯片管理器模块132或安全芯片处理模块53中的密码处理所导致的密码信息。
现在描述对图10中安全芯片处理模块53的外部访问的管理。对安全芯片处理模块53的访问指请求安全芯片处理模块53执行密码处理,包括使用由安全芯片处理模块53管理的密钥进行加密和解密,以使安全芯片处理模块53执行密码处理。
因此,允许访问预定密钥指允许安全芯片处理模块53使用预定密钥来执行处理。允许访问预定密码处理指允许安全芯片处理模块53执行各种处理中的预定密码处理,包括验证(双向/单向)、加密整个或部分命令、创建命令执行权限,如下所述。
图11是由安全芯片处理模块53进行访问管理的概念示图。
如图11所示,安全芯片处理模块53管理存储密钥的密钥数据库(DB)141。该密钥DB141在安全芯片处理模块53或外部存储装置中建立。例如,由安全芯片处理模块53用预定密钥加密的各密钥存储在密钥DB141中。
安全芯片处理模块53管理访问控制列表142,该列表用于控制从包括服务器应用程序51和安全服务器52的外部装置的访问。
仅准许访问这样的软件,其有效性用安全芯片处理模块53通过验证来校验,并在访问控制列表142中登记为批准访问的外部软件。因此,为了使安全芯片处理模块53执行以上密码处理,对服务器应用程序51而言必须用安全芯片处理模块53通过验证来校验。
服务器应用程序51可不通过安全服务器52(图3)而直接与安全芯片处理模块53相连,如图11所示。
图12示出访问控制列表142中描述的一个示例。
“访问控制列表”、“格式信息”、“密钥访问信息”、“应用程序的验证信息”以及“操作者访问的验证信息”在访问控制列表142中描述。
“访问控制列表”示出有关访问控制列表142的基本信息。在“访问控制列表”中描述有效期(到期日)和访问次数(一次、不受限制等)的限制。
“格式信息”示出有关安全芯片41的格式(包括系统、区和服务的区域结构),访问控制列表142以该安全芯片41为目标,并且在相应区域中设置密钥。格式名字(格式标识(ID))以及格式信息(区码、服务代码、密钥ID、密钥版本号等)在“格式信息”中描述。
“密钥访问信息”表示对于应用程序(外部软件,诸如服务器应用程序51)和操作者(操作者可以是人(管理者)或可以是操作者的软件)公共的访问权限。
应用程序或操作者被准许对具有ID的密钥的访问,并在“密钥访问信息”中准许访问权限的密码处理。要准许访问的密钥的ID和要准许访问的内容(读取命令的输出、写命令的输出、密钥的改变、命令执行权限的创建,如下所述)在“密钥访问信息”中描述。
“应用程序的验证信息”示出与用应用程序(服务器应用程序51)进行验证相关的信息。验证信息、列表信息、有关密码处理的信息、以及有关有效期的信息在与应用程序的ID相关联的“应用程序的验证信息”中描述。
在关联于应用程序ID描述的信息中,验证信息包括有关在用应用程序进行的验证中使用的密钥的信息、有关通过使用加密数据在验证中使用的加密/解密算法的信息、以及通过使用公钥执行验证时的公钥证书。列表信息包括有关用于安全芯片41和服务器侧装置32之间验证的区码和服务代码的列表。
有关密码处理的信息表示从应用程序准许访问的密码处理的类型。例如,在包括双向/单向验证、命令执行权限的创建、以及命令的加密的密码处理中,对应用程序允许预定类型的密码处理。表示访问的有效期(到期日)的信息也与应用程序的ID相关联。
例如,当要执行服务器应用程序51和安全芯片处理模块53之间的验证时,验证通过在与服务器应用程序51的ID相关联的验证信息中定义的方法,用安全芯片处理模块53来执行。如果验证成功,则允许对该类密码处理的访问,从应用程序对它的访问在有关密码访问的信息中得到批准。
指示是否准许为加密通信路径而生成的会话密钥的输出的信息也在“应用程序的验证信息”中描述。如下所述,当会话密钥的输出在“应用程序的验证信息”中准许时,由安全芯片处理模块53生成的会话密钥从安全芯片处理模块53提供给安全芯片管理器模块132(图10)。
“操作者访问的验证信息”示出有关用操作者进行验证的信息。用操作者进行验证中使用的信息(有关密钥的信息、有关通过使用加密数据在验证中使用的加密和解密算法的信息,和通过使用公钥执行验证时的公钥证书)、表示准许操作者访问内容的信息(密钥的注册、删除、添加和引用)、以及表示有效期(过期日)的信息在关联于操作者ID的“操作者访问的验证信息”中描述。
安全芯片处理模块53参考具有在此描述的各种信息的访问控制列表142,以控制对安全芯片处理模块53的外部访问。因此,由于只有准许访问的软件能够使安全芯片处理模块53执行密码处理,该密码处理不响应来自不准许访问的并由恶意人士使用的装置中的软件的请求而执行。因此,可以防止安全芯片处理模块53在外面被恶意地使用。
相反,只要准许访问软件(装置),即使软件在不同于安全芯片处理模块53的环境中(装置在不同于包括安全芯片处理模块53的防篡改装置的环境中),也能够使安全芯片处理模块53执行密码处理。
客户机侧装置31和服务器侧装置32的操作将参照图13A和13B以及图14A和14B来描述。
图13A和13B示出主要示出验证过程(在服务器应用程序51和安全芯片处理模块53之间、以及在安全芯片41和安全芯片处理模块53之间的验证)的流程图。图14A和14B示出主要示出在图13A和13B中的验证过程之后创建一个命令的过程的流程图。为了简化,图13A和13B中的步骤此后简称为图13中的步骤,图14A和14B中的步骤此后简称为图14中的步骤。
在调用客户机应用程序42之后,在步骤S21,客户机应用程序42向安全芯片41发送一命令,以请求有关该安全芯片的安全芯片信息。
在步骤S11,安全芯片41接收从客户机应用程序42发送的命令。在步骤S12,安全芯片41发送安全芯片信息,作为对到客户机应用程序42的命令的响应。
在步骤S22,客户机应用程序42接收从安全芯片41发送的安全芯片信息。在步骤S23,客户机应用程序42向服务器侧装置32发送服务器连接请求,以及包括安全芯片信息的初始信息。
除安全芯片信息之外,初始信息还包括有关客户机应用程序42的客户机信息,以及服务器应用程序规格,该规格指定客户机应用程序42要连接的服务器侧装置32中的服务器应用程序51。
安全芯片信息包括表示安全芯片41类型的安全芯片类型,表示在安全芯片41中采用的操作系统(OS)的安全芯片OS类型,以及安全芯片文件结构,该结构是有关安全芯片41中数据管理的信息(文件格式、区码列表、以及服务代码列表(存储器格式))。使用安全芯片类型,服务器侧装置32标识要控制的安全芯片41的类型。
客户机信息包括表示客户机侧装置31的硬件的客户机类型(例如,表示客户机侧装置31是移动电话、PC或者POS寄存器的信息),表示在客户机侧装置31中采用的OS的客户机OS类型,标识客户机应用程序42的客户机应用程序ID,以及表示客户机应用程序42的版本号的应用程序版本。
客户机应用程序42可响应于对初始信息的请求,从安全芯片41获得安全芯片信息,该初始信息包括来自提交请求(例如在连接到服务器应用程序51之后)的服务器应用程序51的安全芯片信息,并且可将所获得的安全芯片信息包括初始信息中,以将该初始信息发送到服务器应用程序51。
然而,从安全芯片41获得安全芯片信息,然后将包括安全芯片信息的初始信息以及客户机应用程序42的服务器连接请求发送到服务器应用程序51,如图13所示,需要客户机应用程序42与服务器应用程序51之间的较少通信。
此外,由于服务器侧装置32接收客户机信息,同时开始来自客户机侧装置31的访问,服务器侧装置32能够基于客户机信息收发适于客户机应用程序42的命令和消息(例如图形用户接口(GUI),诸如屏幕)。适合客户机应用程序42的命令和消息指其内容适合客户机应用程序42的命令或消息,或者指其长度或数量适合客户机应用程序42的命令和消息。
在步骤S41,服务器应用程序51从客户机应用程序42接收服务器连接请求和初始信息,调用用于提供客户机侧装置31所要求的服务的应用程序(软件),并且继续到步骤S42。
在步骤S42,服务器应用程序51将包括在步骤S41所接收的初始信息中的安全芯片信息和客户机信息提供给安全服务器22中的安全芯片管理器模块132。
在步骤S111,安全芯片管理器模块132接收由服务器应用程序51提供的安全芯片信息和客户机信息,并且将安全芯片信息安全芯片管理器模块102给安全芯片处理模块53。
在步骤S151,安全芯片处理模块53接收由安全芯片管理器模块132提供的安全芯片信息。在步骤S152,安全芯片处理模块53基于所接收的安全芯片信息接收要控制的安全芯片41的格式的规范。如下所述,如果对服务器应用程序51的验证成功,则服务器应用程序51(安全芯片管理器模块132,已通过安全芯片命令模块131接收到来自服务器应用程序51的请求)被准许访问特定格式(对应于相应格式区域中的密钥设置的密钥)。
具体地,安全芯片处理模块53能够对各个安全芯片和服务执行密码处理,并且包括各个安全芯片和服务的密码处理所需的密钥(还包括对应于安全芯片41的存储器123的相应区域中的密钥设置的密钥)。
当安全芯片41只接收例如所提供的电子货币服务时,安全芯片处理模块53只执行(许可)为安全芯片41提供电子货币服务所需的密码处理。当预先设置在电子货币服务中数据的加密与解密时使用的密钥时,安全芯片处理模块53允许安全芯片41只使用在电子货币服务中数据的加密与解密时使用的密钥,并且不允许安全芯片41使用在其它服务中数据的加密与解密时使用的密钥。
相反,安全芯片管理器模块132准备好基于安全芯片信息和在步骤S111从服务器应用程序51接收的客户机信息而执行适合安全芯片41和客户机应用程序42的处理。
在步骤S112,安全芯片管理器模块132向安全芯片命令模块131提供初始化指令。
在步骤S71,安全芯片命令模块131接收初始化指令,并初始化自己以便能够执行适合安全芯片41的处理。
然后,在服务器应用程序51(步骤43)和安全芯片处理模块53(步骤153)之间执行双向验证。如果双向验证成功(服务器应用程序51的有效性得到确认),则在步骤S154,安全芯片处理模块53准许服务器应用程序51根据访问控制列表的内容访问预定密钥,并访问预定密码处理。
当服务器应用程序51和安全芯片处理模块53之间的双向验证结束时,执行安全芯片41和安全芯片处理模块53之间的验证。
在安全芯片41与安全芯片处理模块53之间的验证是通过例如询问-与-应答方法执行的。在步骤S44,服务器应用程序51向安全芯片命令模块131提交创建一命令创建请求,请求开始验证。
在步骤S72,安全芯片命令模块131从服务器应用程序51接收该命令创建请求。在步骤S73,安全芯片命令模块131响应于来自服务器应用程序51的命令创建请求,创建用于安全芯片41的命令,并且向安全芯片管理器模块132提供加密所创建命令以产生密码信息的请求。
在步骤S113,安全芯片管理器模块132从安全芯片命令模块131接收加密命令以产生密码信息的请求。在步骤S114,安全芯片管理器模块132将该请求提供给安全芯片处理模块53。
在步骤S155,安全芯片处理模块53接收来自安全芯片管理器模块132的请求。在步骤S156,安全芯片处理模块53引用访问控制列表来确认是否准许服务器应用程序51访问用于生成密码信息的密钥,以及是否准许服务器应用程序51访问用于生成密码信息的密码处理(例如,预定算法的加密)。
来自安全芯片管理器模块132的请求包括服务器应用程序51的ID等等。在该步骤中,安全芯片处理模块53引用有关准许访问的以及与执行确认的服务器应用程序51的ID相关联的密码处理的信息。
如果在步骤S156,安全芯片处理模块53确定准许服务器应用程序51访问用于生成密码信息的密钥和密码处理,则安全芯片处理模块53加密例如所生成的用于产生密码信息的随机数。在步骤S157,安全芯片处理模块53向安全芯片管理器模块132提供密码信息。
在步骤S115,安全芯片管理器模块132接收从安全芯片处理模块53提供的密码信息。在步骤S116,安全芯片管理器模块132向安全芯片命令模块131提供从安全芯片处理模块53接收的密码信息。
在步骤S74,安全芯片命令模块131接收由安全芯片管理器模块132提供的密码信息。在步骤S75,安全芯片命令模块131将密码信息(加密命令)提供给服务器应用程序51。
在步骤S45,服务器应用程序51接收由安全芯片命令模块131提供的密码信息。在步骤S46,服务器应用程序51向客户机应用程序42发送密码信息(加密命令)以及装置数据,装置数据是给硬件或客户机侧装置31的消息。
在步骤S24,客户机应用程序42接收由服务器应用程序51发送的密码信息和装置数据。在步骤S25,客户机应用程序42将密码信息发送给安全芯片41。
在步骤S13,安全芯片41接收由客户机应用程序42发送的密码信息,并且用会话密钥将密码信息解密成命令。安全芯片41执行对应于命令的处理。在步骤S14,安全芯片41响应于命令将响应数据发送给客户机应用程序42。响应数据是在安全芯片41中用安全芯片41所有的密钥加密的(如果需要的话)。
在步骤S26,客户机应用程序42接收由安全芯片41发送的响应数据。在步骤S27,客户机应用程序42将响应数据发送到服务器应用程序51。
在步骤S47,服务器应用程序51接收由客户机应用程序42发送的响应数据。在步骤S48,服务器应用程序51将响应数据发送到安全芯片命令模块131,以请求响应处理。
在步骤S76,安全芯片命令模块131从服务器应用程序51接收对响应处理的请求。在步骤S77,响应于来自服务器应用程序51的对响应处理的请求,安全芯片命令模块131向安全芯片管理器模块132提供包括在响应数据中的密码信息(由安全芯片41加密的信息)。
在步骤S117,安全芯片管理器模块132接收从安全芯片命令模块131提供的密码信息。在步骤S118,安全芯片管理器模块132向安全芯片处理模块53提供密码信息。
在步骤S158,安全芯片处理模块53接收从安全芯片管理器模块132提供的密码信息并解密该密码信息。如果安全芯片处理模块53确定解密结果是正确的,则确定安全芯片41和安全芯片处理模块53之间的验证成功。来自服务器侧装置32的对应于询问的命令的发送,以及来自客户机侧装置31的对应于应答的响应数据的发送,都重复预定次数。
如果安全芯片41和安全芯片处理模块53之间的验证成功,则例如在步骤S156中所产生的用于生成密码信息的随机数在安全芯片处理模块53(和安全芯片41)中用作会话密钥,用于标识安全芯片41和安全芯片处理模块53之间的会话。
然后,在服务器侧装置32中,要传送给安全芯片41的命令(包括附于该命令的参数和其它数据)通过将所产生的会话密钥用作密钥来加密,并且将所加密的命令传送给客户机侧装置31。同样,在客户机侧装置31中,要从安全芯片41传送给服务器侧装置32的数据等通过将所产生的会话密钥用作密钥来加密,并且将所加密的数据传送给服务器侧装置32。
在客户机侧装置31和服务器侧装置32中用以上方式通过将会话密钥用作密钥对数据等加密并发送加密数据,使得客户机侧装置31和服务器侧装置32之间的通信路径能加密,即使得虚拟专有网络(VPN)能够实现。
在生成会话密钥之后,在图14的步骤S119中,安全芯片管理器模块132向安全芯片处理模块53提供对会话密钥的请求。
在步骤S159,安全芯片处理模块53从安全芯片管理器模块132接收对会话密钥的请求。在步骤S160,安全芯片处理模块53引用访问控制列表,以确认准许服务器应用程序51访问的内容是否包括将会话密钥输出给安全芯片管理器模块132。
如果安全芯片处理模块53确定安全芯片管理器模块132被准许输出会话密钥,则在步骤S161,安全芯片处理模块53在验证安全芯片41之后,向安全芯片管理器模块132提供响应于来自安全芯片管理器模块132的该请求而生成的会话密钥。
在步骤S120,安全芯片管理器模块132接收由安全芯片处理模块53提供的会话密钥。在步骤S121,安全芯片管理器模块132保存该会话密钥。
然后,例如,用会话密钥的加密在安全芯片管理器模块132中执行,而只有要求较高机密性的加密在安全芯片处理模块53中执行。
在安全芯片管理器模块132中执行用会话密钥的加密和在安全芯片处理模块53中只执行要求较高机密性的加密(包括通过使用如下所述的包的加密和创建执行的双向验证),可以减少安全芯片处理模块53上的负载,这是与所有的密码处理都在安全芯片处理模块53中执行的情形相比较而言的。结果,有可能减少安全芯片处理模块53中的处理时间。
可提供多个防篡改安全芯片处理模块53,并且可将这些处理分布在多个安全芯片处理模块53上,以便减少每个安全芯片处理模块53上的负载。
在步骤S49,服务器应用程序51向安全芯片命令模块131提供创建要发送到安全芯片41的命令的请求。
在步骤S78,安全芯片命令模块131接收从服务器应用程序51提供的创建命令的请求。
在步骤S79,响应于来自服务器应用程序51的创建命令的请求,安全芯片命令模块131请求安全芯片管理器模块132来获取要包括在命令中的密码信息。具体地,在该示例中,来自服务器应用程序51的请求对应于创建需要较高机密性的加密的特定命令。在该示例中,安全芯片命令模块131向安全芯片管理器模块132提供对获取要包括在命令中的密码信息的请求。
特定命令是例如,请求安全芯片41登记区定义区域或服务定义区域的命令,或请求安全芯片41删除区定义区域或服务定义区域的命令。
在步骤S122,安全芯片管理器模块132接收来自安全芯片命令模块131的请求。在步骤S123,安全芯片管理器模块132向安全芯片处理模块53提供产生密码信息(命令执行权限)的请求。
在步骤S162,安全芯片处理模块53从安全芯片管理器模块132接收请求。在步骤S163,安全芯片处理模块53引用访问控制列表,以确认是否准许服务器应用程序51访问用于产生密码信息的密钥,以及是否准许服务器应用程序51访问用于产生密码信息的密码处理(是否允许创建命令执行权限)。
如果安全芯片处理模块53在步骤S163确定服务器应用程序51被准许访问用于产生密码信息的密钥和密码处理,则安全芯片处理模块53响应于来自安全芯片管理器模块132(来自服务器应用程序51的请求)的产生密码信息的请求,加密表示要执行特定命令的执行权限的许可证(上的数据)。
此外,安全芯片处理模块53将验证许可证有效性的证书(上的数据)添加到许可证的加密结果,且在步骤S164,创建证书和许可证(的加密结果)的包,并将该包提供给安全芯片管理器模块132。
在步骤S124,安全芯片管理器模块132接收从安全芯片处理模块53中提供的包(密码信息)。在步骤S125,安全芯片管理器模块132向安全芯片命令模块131提供接收到的密码信息。
在步骤S80,安全芯片命令模块131接收从安全芯片命令模块132提供的密码信息。在步骤S81,安全芯片命令模块131创建包括作为参数信息的密码信息的命令。在步骤S82,安全芯片命令模块131请求安全芯片管理器模块132来加密所创建的命令(用会话密钥来加密)。
如果服务器应用程序51请求在步骤S49创建的命令不是特定命令,则略去安全芯片命令模块131中的步骤S79到S80、安全芯片管理器模块132中的步骤S122到S125、以及安全芯片处理模块53中的步骤S162到S164。在该情形中,安全芯片命令模块131响应于来自服务器应用程序51的请求,创建包括在预定参数信息(不是包的参数信息)中的命令。
在步骤S126,安全芯片管理器模块132接收来自安全芯片命令模块131的请求。在步骤S127,安全芯片管理器模块132用在步骤S121持有的会话密钥加密在安全芯片命令模块131中创建的命令。
在步骤S128,安全芯片管理器模块132向安全芯片命令模块131提供作为加密数据的加密命令。
在步骤S83,安全芯片命令模块131接收由安全芯片管理器模块132提供的加密数据。在步骤S84,安全芯片命令模块131向服务器应用程序51提供加密数据(命令)。
在步骤S50,服务器应用程序51接收由安全芯片命令模块131提供的命令。在步骤S51,服务器应用程序51向客户机应用程序42发送密码信息以及装置数据,装置数据是给硬件或客户机侧装置31的消息。
在步骤S28,客户机应用程序42接收由服务器应用程序51发送的密码信息和装置数据。在步骤S29,客户机应用程序42将该密码信息发送给安全芯片41。
在步骤S15,安全芯片41接收由客户机应用程序42发送的密码信息并将该密码信息解密成命令。另外,如果需要安全芯片41在确认命令的执行权限之后执行对应于命令的处理。在步骤S16,安全芯片41响应于命令将数据发送给客户机应用程序42。该响应数据用安全芯片41所有的会话密钥加密。
在步骤S30,客户机应用程序42接收由安全芯片41发送的响应数据。在步骤S31,客户机应用程序42将该响应数据发送给服务器应用程序51。
在步骤S52,服务器应用程序51接收由客户机应用程序42发送的响应数据。在步骤S53,服务器应用程序51请求安全芯片命令模块131解密响应数据。
在步骤S85,安全芯片命令模块131接收来自服务器应用程序51的请求。在步骤S86,安全芯片命令模块131请求安全芯片管理器模块132解密响应数据。
在步骤S129,安全芯片管理器模块132接收来自安全芯片命令模块131的请求。在步骤S130,安全芯片管理器模块132用会话密钥解密响应数据。
在步骤S131,安全芯片管理器模块132将已解密数据提供给安全芯片命令模块131。
在步骤S87,安全芯片命令模块131接收从安全芯片管理器模块132提供的解密数据。在步骤S88,安全芯片命令模块131向服务器应用程序51提供解密数据。
在步骤S54,服务器应用程序51接收从安全芯片命令模块131提供的解密数据。在步骤S55,服务器应用程序51执行预定的响应处理,以确认例如发送给安全芯片41的命令是否执行,以及信息的更新是否在安全芯片41中成功执行。
上述过程在客户机侧装置31和服务器侧装置32之间执行。
执行以上访问控制的安全芯片处理模块53将进行详细地描述。
图15是示出安全芯片处理模块53的结构的一个示例的框图。
安全芯片处理模块53包括安全芯片处理功能单元201、访问控制器202、密码处理器203和密钥管理器204。尽管在图15中密钥DB141建立在安全芯片处理模块53之外,密钥DB141可建立在如上所述的安全芯片处理模块53内。
安全芯片处理功能单元201控制整个安全芯片处理模块53。安全芯片处理功能单元201管理例如从包括安全芯片管理器模块132的外部装置输入和输出数据,并且响应于来自外部装置的请求作出响应。
例如,安全芯片处理功能单元201使访问控制器202确认由服务器应用程序51(安全芯片管理器模块132)请求的密钥和密码处理是否被准许访问。仅当准许访问密钥和密码处理时,安全芯片处理功能单元201使密码处理器203执行所请求的密码处理。当密码处理的结果由密码处理器203提供时,安全芯片处理功能单元201向安全芯片管理器模块132提供密码处理的结果。
访问控制器202管理访问控制列表。访问控制器202引用访问控制列表,以响应于来自安全芯片处理功能单元201的请求,确认由外部装置向安全芯片处理功能单元201请求的访问是否被准许。如上所述,批准已请求访问的应用程序(服务器应用程序51)访问的内容在访问控制列表中描述。将在访问控制器202中的确认结果显示给安全芯片处理功能单元201。
访问控制器202还用服务器应用程序51执行双向验证。
访问控制器202可与安全芯片处理功能单元201集成在一起,以形成一个功能单元。在这种情形中,包括安全芯片处理功能单元201和访问控制器202的功能单元执行上述安全芯片处理功能单元201中的处理和访问控制器202中的处理。
密码处理器203在需要时从密钥管理器204获取密钥,并使用所获得的密钥在安全芯片处理功能单元201请求密码处理器203使用密钥来执行操作(例如,密钥的注册或删除)或使用密钥来执行预定密码处理(例如加密、解密等)时执行所请求的处理。如果需要,密码处理器203向安全芯片处理功能单元201返回使用密钥的执行或密码处理的结果。
当从密钥管理器204获得的密钥被加密时,密码处理器203解密加密密钥,并且使用解密密钥来执行安全芯片处理功能单元201所请求的处理。
密钥管理器204将加密密钥存储在密钥DB141中,并响应于来自密码处理器203的请求,提供存储在密钥DB141中的加密密钥。
当密钥DB141在外部存储装置中建立时,密钥管理器204可从密钥DB141获得从密码处理器203请求的密钥,或可通过能够访问密钥DB141的预定软件来获得该密钥。密钥可不经加密地保存在安全芯片处理模块53中。在这种情形下,密钥管理器204向密码处理器203提供从在安全芯片处理模块53中建立的密钥DB141中读取的密钥,而无需任何处理。
如图15所示的安全芯片处理模块53中各组件的操作将参照流程图进行描述。
首先,由安全芯片处理模块53执行的双向验证过程将参照图16的流程图描述。图16详细示出图13中从S151到S157的步骤,作为图15中安全芯片处理模块53中各组件的步骤。
在步骤S221,安全芯片处理模块53中的访问控制器202接收从安全芯片管理器模块132提供的安全芯片信息。在步骤S222,访问控制器202基于所接收的安全芯片信息来接收要控制的安全芯片格式的规范。
在步骤S223,访问控制器202与服务器应用程序51执行双向验证。如果服务器应用程序51的有效性在该双向验证中得到验证,访问控制器202根据由访问控制器202管理的访问控制列表的内容,来准许从服务器应用程序51对预定密钥的访问以及对预定密码处理的访问。
在访问控制器202中的从S221到S224的步骤分别对应于图13中从S151到S154的步骤。
当从安全芯片管理器模块132中提供产生密码信息的请求时,在步骤S201,安全芯片处理功能单元201接收该请求。该请求是对产生在安全芯片41和安全芯片处理模块53之间的验证中使用的密码信息的请求(图13中步骤S114的请求)。
在步骤S202,安全芯片处理功能单元201请求访问控制器202确认是否准许服务器应用程序51访问用于产生密码信息的密钥以及是否准许服务器应用程序51访问用于产生密码信息的密码处理。
在步骤S225,访问控制器202接收来自安全芯片处理功能单元201的请求。在步骤S226,访问控制器202引用访问控制列表以执行该确认。如果访问控制器202确认准许对密钥和密码处理的访问,则在步骤S227,访问控制器202向安全芯片处理功能单元201表示,准许对密钥和密码处理的访问。
在步骤S203,安全芯片处理功能单元201接收来自访问控制器202的指示。在步骤S204,安全芯片处理功能单元201请求密码处理器203执行双向验证。
在步骤S231,密码处理器203接收来自安全芯片处理功能单元201的请求。在步骤S232,密码处理器203用密钥管理器204执行双向验证(密钥管理器204中的步骤S241)。如果双向验证成功,则密码处理器203解密用于生成密码信息的加密密钥,并使用解密密钥来生成密码信息。
在步骤S233,密码处理器203向安全芯片处理功能单元201提供所生成的密码信息,作为在安全芯片41和安全芯片处理模块53之间的双向验证中使用的双向验证数据。
在步骤S205,安全芯片处理功能单元201接收从密码处理器203提供的用于双向验证的数据。在步骤S206,安全芯片处理功能单元201向安全芯片管理器模块132提供用于双向验证的数据。
步骤S201、S226和S206分别对应于图13中的从S155到S157的步骤。
然后,由安全芯片处理模块53执行的获取会话密钥的过程将参照图17的流程图进行描述。图17详细示出图14中从S159到S161的步骤,作为图15中安全芯片处理模块53中各组件的步骤。
在步骤S251,安全芯片处理功能单元201从安全芯片管理器模块132接收对会话密钥的请求(图14中步骤S119的请求)。在步骤S252中,安全芯片处理功能单元201向访问控制器202提供该请求。
在步骤S271,访问控制器202接收来自安全芯片处理功能单元201的请求。在步骤S272,访问控制器202引用访问控制列表,以确认是否准许向安全芯片管理器模块132输出会话密钥。
如果访问控制器202确认准许向安全芯片管理器模块132输出会话密钥,则在步骤S273,访问控制器202向安全芯片处理功能单元201指示准许向安全芯片管理器模块132输出会话密钥。
在步骤S253,安全芯片处理功能单元201从访问控制器202接收指示。在步骤S254,安全芯片处理功能单元201请求密码处理器203获取会话密钥。
在步骤S281,密码处理器203接收来自安全芯片处理功能单元201的请求。在步骤S282,密码处理器203获得一会话密钥。密码处理器203获取作为会话密钥的例如生成用于询问-与-应答验证的随机数。在步骤S283,密码处理器203向安全芯片处理功能单元201提供在步骤S282中获取的会话密钥。
在步骤S255,安全芯片处理功能单元201接收从密码处理器203提供的会话密钥。在步骤S256,安全芯片处理功能单元201向安全芯片管理器模块132提供会话密钥。
步骤S251、S272和S256分别对应于图14中从S159到S161的各个步骤。
然后,由安全芯片处理模块53执行的获取包的过程,将参照图18中的流程图描述。图18详细示出图14中从S162到S164的步骤,作为图15中安全芯片处理模块53中各组件的步骤。
在步骤S291,安全芯片处理功能单元201从安全芯片管理器模块132接收对产生包的请求(图14中步骤S123的请求)。在步骤S292,安全芯片处理功能单元201向访问控制器202提供该请求。
在步骤S311,访问控制器202接收来自安全芯片处理功能单元201的请求。在步骤S312,访问控制器202引用访问控制列表,以确认是否准许由服务器应用程序51获取包(是否准许创建命令执行权限)。如果访问控制器202确认准许由服务器应用程序51获取包,则在步骤S313,访问控制器202向安全芯片处理功能单元201指示准许由服务器应用程序51获取包。
在步骤S293,安全芯片处理功能单元201从访问控制器202接收指示。在步骤S294,安全芯片处理功能单元201请求密码处理器203获取包。
在步骤S321,密码处理器203接收来自安全芯片处理功能单元201的请求。在步骤S322,密码处理器203向密钥管理器204询问密钥管理器204,服务器应用程序51(安全芯片管理器模块132)所请求的包是否已经产生并存储在密钥管理器204中。如果询问显示服务器应用程序51(安全芯片管理器模块132)所请求的包已经产生并存储在密钥管理器204中,则密码处理器203从密钥管理器204获得所存储的包。该密钥管理器204通过密码处理器203向询问作出响应(步骤S331)。
在步骤S323,密码处理器203向安全芯片处理功能单元201提供步骤S322所需的包。
在步骤S295,安全芯片处理功能单元201接收密码处理器203获取的包。
如果询问显示服务器应用程序51(安全芯片管理器模块132)所请求的包尚未产生并还未存储在密钥管理器204中,则在步骤S324,密码处理器203生成安全芯片管理器模块132所请求的包。具体地,密码处理器203用从密码管理器204获取的密钥来加密表示执行权限的许可证以生成加密信息,并将验证许可证的有效性的证书添加到所生成的密码信息中以生成包。
密码处理器203向存储包的密码管理器204提供所生成的包。在步骤S325,密码处理器203向安全芯片处理器功能单元201提供所生成的包。
在步骤S332,密钥管理器204接收由密码处理器203生成的包。在步骤S333,密钥管理器204存储所接收的包。如果再次请求产生相同的包,则将所存储的包提供给安全芯片管理器模块132。
在步骤S296,安全芯片处理功能单元201接收由密码处理器203获取的包。当安全芯片处理功能单元201在步骤S295或步骤S296接收该包时,则在步骤S297,安全芯片处理功能单元201向安全芯片管理器模块132提供包。
如上所述的处理在安全芯片处理模块53的组件中执行。
上述的处理序列可由硬件执行或可由软件执行。
当上述处理序列要由软件执行时,软件中的程序经网络或从记录介质安装到包括专用硬件的计算机,或安装到例如能够安装各个执行不同功能的程序的通用个人计算机。
记录介质可以是可移动记录介质81,诸如磁盘(包括软盘)、光盘(包括光盘-只读存储器(CD-ROM)和数字多功能盘(DVD))、磁性-光盘(包括小型盘(MD))、或半导体存储器,它可与装置独立,被分配为用于向用户提供程序,且其中存储了程序,或可以是事先结合在装置中提供给用户的且其中存储了程序的ROM73或硬盘75。
在本说明书中描述的各个步骤可按所述时间顺序执行,或可并行或单独执行。
本领域技术人员应该理解,只要在所附权利要求书或其等价方案的范围内,各种修改、组合、子组合或改变可取决于设计要求和其它因素而出现。
权利要求
1.一种信息处理装置,被配置成响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理,所述信息处理装置包括管理装置,用于管理根据请求批准的各类密码处理;以及输出装置,用于在从完成验证的预定服务器请求的预定密码处理具有由管理装置管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
2.一种信息处理方法,响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理,所述信息处理方法包括以下步骤管理根据请求批准的各类密码处理;以及在从完成验证的预定服务器请求的预定密码处理具有由在管理步骤中管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
3.一种程序,导致计算机响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理,所述程序包括以下步骤管理根据请求批准的各类密码处理;以及在从完成验证的预定服务器请求的预定密码处理具有由在管理步骤中管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
4.一种信息处理装置,被配置成响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理,所述信息处理装置包括管理单元,用于管理根据请求批准的各类密码处理;以及输出单元,用于在从完成验证的预定服务器请求的预定密码处理具有由管理单元管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
全文摘要
一种被配置成响应来自服务器的传送控制集成电路芯片的加密信息的请求而执行密码处理的信息处理装置,包括管理单元,用于管理根据请求批准的各类密码处理;以及输出单元,用于在从完成验证的预定服务器请求的预定密码处理具有由管理单元管理的批准类型时,执行所请求的预定密码处理,以向预定服务器提供有关处理结果的信息,作为传送给要控制的集成电路芯片的信息。
文档编号H04L9/10GK1758590SQ20051011377
公开日2006年4月12日 申请日期2005年10月8日 优先权日2004年10月8日
发明者赤鹿秀树, 荻嵨淳, 花木直文 申请人:飞力凯网路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1