信息处理设备、信息处理方法和程序的制作方法

文档序号:6649432阅读:181来源:国知局
专利名称:信息处理设备、信息处理方法和程序的制作方法
技术领域
本发明涉及信息处理设备、信息处理方法和程序。更具体地说,本发明涉及一个信息处理设备,一个信息处理方法和一个程序,它们能够容易地控制(管理)由作为服务供应者的操作者执行的操作,用于与加密有关的密码处理,以通过设备(包括集成电路(IC)芯片如IC卡)的使用来提供服务。
背景技术
近年来,使用IC芯片的所谓电子货币已经广泛用于支付。
例如,用户可以保持含有IC芯片的IC卡,在连接到个人计算机(PC)的读写器(R/W)上支付在IC芯片中所充值的电子货币,用于在因特网的购物站点中所购买的物品。用户还可以将含有IC芯片的移动电话靠近在店铺中提供的读写器(R/W)来为在该店铺中所购买的物品支付在IC芯片中所充值的电子货币。在为物品支付时,PC、R/W和IC卡(IC芯片),或者含有IC芯片的移动电话,它们用作客户机,响应于服务器发出的指令来完成支付。
换言之,服务器完成支付处理,这包括对在IC芯片中充值的电子货币余额的管理和从余额中减去物品价钱,来提供电子货币服务,其中为用户即客户支付物品的电子货币。
不仅电子货币服务而且各种其它服务也可以提供给用户,取决于不同的支付处理。
在服务器与客户机之间传送加密的数据,客户机使用IC芯片来提供如上所述的服务,以便保证安全,包括防止泄露信息给第三人。
在服务器与客户机之间,在数据加密和密码处理(包括通过使用数据的加密和解密所进行的签名的认证和创建)时所使用的密钥(加密密钥)的管理,例如涉及数据的加密和解密的管理,是在防篡改设备中执行的,以便保证安全。对防篡改设备的外部访问仅在认证成功时才被准许。因此,防止了密钥,加密算法等被泄露到外部设备中。
在计算机系统中这样一种访问控制技术在例如日本未检查专利申请公布号2003-524252中揭示,该计算机系统具有资源、认证单元和执行与签名相关联的程序代码的执行引擎。在这种技术中,与资源相关联的加密密钥用于在执行引擎加载程序代码时执行对签名的认证,而与资源相关联的加密密钥用于在执行引擎中的代码请求对资源访问时进一步对签名进行认证,以便保护计算机系统中的资源。
发明概述当服务供应者使用上述服务器提供服务时,有必要的是,例如,注册用于在防篡改设备中提供服务的新密钥。
新密钥的注册是由操作者完成的,操作者是服务供应者并且操作外部设备来对防篡改设备访问。过去,操作者对防篡改设备访问的控制,即操作者对防篡改设备的访问权限已经由操作决定。
因此,难以防止恶意操作者企图执行的欺骗行为。
所想要的是易于控制由操作者执行的操作,用于包括密钥注册在内的密码处理。
按照本发明的一个实施例,信息处理设备包括认证操作外部设备的操作者的认证装置;存储装置,存储具有标识信息的访问控制列表,标识信息标识与表示操作者被许可的密码处理的信息相关联的操作者;确认装置,参考访问控制列表以确认是否许可经认证的操作者所请求的密码处理;以及密码处理装置,在许可操作者所请求的密码处理时进行密码处理。
按照本发明的另一个实施例,一种信息处理方法包括下列步骤认证操作外部设备的操作者;参考具有标识信息的访问控制列表,标识信息标识操作者,操作者与表示操作者被许可的密码处理的信息相关联,以确认是否许可经认证的操作者所请求的密码处理;以及在许可操作者所请求的密码处理时进行密码处理。
按照又一实施例,一种程序包括下列步骤认证操作外部设备的操作者;参考具有标识信息的访问控制列表,标识信息标识与表示操作者被许可的密码处理的信息相关联的操作者,以确认是否许可经认证的操作者所请求的密码处理;以及在许可操作者所请求的密码处理时进行密码处理。
按照本发明,认证操作外部设备的操作者。通过参考具有标识信息的访问控制列表,进行对是否许可经认证的操作者所请求的密码处理的确认,标识信息标识与表示操作者被许可的密码处理的信息相关联的操作者。在许可操作者所请求的密码处理时进行密码处理。
按照本发明,有可能容易地控制由操作者进行的用于密码处理的操作。


图1示出应用本发明的服务器-客户机系统结构的例子;图2是方框图,示出客户机端设备和服务器端设备功能结构的例子;图3是方框图,示出客户机端设备和服务器端设备特定硬件结构的例子;图4是方框图,示出客户机端设备和服务器端设备特定硬件结构的另一个例子;图5是方框图,示出其中安装了客户机应用的PC硬件结构的例子;图6是方框图,示出其中安装了服务器应用和安全服务器的计算机硬件结构的例子;图7是方框图,示出安全芯片硬件结构的例子;图8示出存储器目录结构的例子;图9是方框图,示出安全服务器详细结构的例子;图10A和10B示出一个流程图,例示客户机端设备和服务器端设备的操作;图11是方框图,示出安全芯片处理模块结构的例子;图12例示从操作者对安全芯片处理模块的访问;图13例示从操作者对安全芯片处理模块的访问;图14示出在访问控制列表中描述的例子;图15是流程图,示出密钥管理应用和安全芯片处理模块的操作;图16是流程图,示出密钥管理应用和安全芯片处理模块的另一个操作;图17是流程图,示出密钥管理应用和安全芯片处理模块的又一操作;以及图18是流程图,示出密钥管理应用和安全芯片处理模块的还有的另一操作。
具体实施方法在描述本发明的实施例之前,下面先讨论权利要求书的特征与在本发明实施例中所揭示的特定元素之间的一致性。这个说明旨在保证在本说明书中的描述支持所要求的本发明的实施例。因而,即使在下列实施例中的元素没有被描述为与本发明的某个特征有关,也并不表示该元素不与权利要求书的该特征有关。相反,即使在此将一个元素描述为与权利要求书的某个特征有关,也并不表示该元素不与权利要求书的其它特征有关。
而且,这个说明不应该解释为有这样的限制,即在权利要求书中要描述实施例中所揭示的本发明所有方面。也就是说,这个说明不否认在实施例中所描述的、但没有在本申请的发明中被要求的本发明的一些方面的存在,即在将来可能由分案申请的或者可能通过修正来附加地要求的本发明一些方面的存在。
按照本发明实施例,一种信息处理设备(例如,在图11中的安全芯片处理模块23),为通过使用集成电路芯片提供服务进行密码处理,该设备包括认证操作外部设备的操作者的认证单元(例如,执行图15的步骤S101的认证器112);存储单元,存储具有标识信息的访问控制列表(例如,图11中的访问控制列表存储单元113),标识信息标识表示操作者被许可的密码处理的信息相关联的操作者;确认单元(例如,图11中执行图15的步骤S132的认证器112),参考访问控制列表,以确认是否许可经认证操作者所请求的密码处理;以及密码处理单元(例如,图11中的密码处理器114),在许可操作者所请求的密码处理时进行密码处理。
按照本发明的另一实施例,一种在信息处理设备(例如,图11中安全芯片处理模块23)中的信息处理方法,通过使用集成电路芯片为提供服务进行密码处理,该方法包括下列步骤认证操作外部设备的操作者(例如,图15中的步骤S101);参考具有标识信息的访问控制列表,标识信息标识与表示操作者被许可的密码处理的信息相关联的操作者,以确认是否许可经认证操作者所请求的密码处理(例如,图15中的步骤S132);以及在许可操作者所请求的密码处理时进行密码处理(例如,图15中的步骤S142)。
按照本发明的又一实施例,一种使计算机通过使用集成电路芯片为提供服务进行密码处理的程序,包括下列步骤认证操作外部设备的操作者(例如,图15中的步骤S101);参考具有标识信息的访问控制列表,标识信息标识与表示操作者被许可的密码处理的信息相关联的操作者,以确认是否许可经认证操作者所请求的密码处理(例如,图15中的步骤S132);以及在许可操作者所请求的密码处理时进行密码处理(例如,图15中的步骤S142)。
下面将参考附图描述本发明的实施例。
图1示出应用本发明的服务器-客户机系统结构的例子(系统指多个设备的逻辑集合,并且这些设备没有必要包含在同一包装中)。
图1中的服务器-客户机系统被结构成,使得各种客户机端设备1,即所谓的客户机,连接到服务器端设备2,即所谓的服务器,如果需要的话,通过网络3如因特网和网络4如移动通信网络。
每个客户机端设备1包括一个安全芯片。安全芯片是防篡改安全IC芯片并且能够执行与其它设备的接触或非接触数据通信。
客户机端设备1包括移动终端,如移动电话或个人数字助理(PDA)、PC、销售点(POS)寄存器(POS系统的寄存器)、自动购货机和手持终端。包括在每个客户机端设备1中的安全芯片,例如是Suica中采用的Felica等用作电子通勤车票。
服务器端设备2发送数据(包括命令)到客户机端设备1或者从其接收数据(包括命令),以提供各种服务,如果需要的话,通过网络3和网络4。例如,当电子货币存储在客户机端设备1的安全芯片中时,相应的服务器端设备2通过控制从客户机端设备1中的电子货币减去物品的价钱来提供电子货币服务,并且将客户机端设备1中的电子货币的余额更新为减去后的余额。
客户机端设备1加密要发送到服务器端设备2的数据并且将加密的数据发送到服务器端设备2。服务器端设备2加密要发送到客户机端设备1的数据并且发送加密的数据到客户机端设备1。
与数据加密(安全)有关的密码处理,包括数据的加密和解密,在加密和解密时使用的密钥的产生和管理,认证(用于认证的数据的加密和解密),以及在认证时使用的随机数的产生,该密码处理在客户机端设备1中是在防篡改安全芯片中进行的。相反,在服务器端设备2中的密码处理在硬件安全模块(HSM)(它是专用的防篡改硬件)中进行,或者在实现服务器端设备2的软件中进行,而不使用防篡改HSM。
密码处理被划分成要求较高机密性的密码处理和其它密码处理。当服务器端设备2具有HSM时,只有要求较高机密性的密码处理在HSM中进行,而其它密码处理在实现服务器端设备2的软件中进行。
图2是方框图,示出客户机端设备1和服务器端设备2的功能结构的例子。
客户机端设备1,如果必要的话包括安全芯片11,客户机应用12和读写器(R/W)13。
安全芯片11是防篡改安全IC芯片,并且能够执行与其它设备的接触或非接触数据通信。
明确地说,例如,安全芯片11,按照客户机应用12通过通信发送的命令直接或者通过R/W 13与客户机应用12通信以进行处理。在处理之后,安全芯片11响应于命令,直接或者通过R/W 13发送响应数据到客户机应用12。安全芯片11还进行对发送和接收数据的密码处理,以便保证安全。
例如,客户机应用12是由作为硬件的计算机执行的软件。客户机应用12用作下面在服务器端设备2中描述的服务器应用21的客户机。客户机应用12从服务器应用21收发数据(包括命令),并且直接或者通过R/W 13提供命令给安全芯片11以从安全芯片11读写数据,以便实现各种服务。
例如,当客户机应用12和服务器应用21是提供电子货币服务的软件并且在安全芯片11中为电子货币服务分配存储区时,电子货币服务所要求的数据(包括命令)在客户机应用12与服务器应用21之间传送。数据通信包括从存储在安全芯片11中的电子货币减去物品的价钱并且将存储在安全芯片11中的电子货币的余额更新为减去后的余额。
客户机应用12如果需要的话,包括控制与服务器应用21通信的模块。
R/W 13执行与安全芯片11的非接触或接触通信,以发送由客户机应用12提供的命令到安全芯片11。另外,R/W 13接收从安全芯片11发送的数据并且提供所接收的数据到客户机应用12。
例如,服务器应用21是由作为硬件的计算机执行的软件。服务器应用21用作客户机端设备1中客户机应用12的服务器。服务器应用21从客户机应用12收发数据(包括命令),以实现各种服务,包括上述电子货币服务。
服务器应用21请求安全服务器22对收发的数据进行密码处理以保证安全。
服务器应用21如果需要的话,包括控制与客户机应用12通信的模块。
例如,安全服务器22是由作为硬件的计算机执行的软件。安全服务器22进行密码处理或者请求安全芯片处理模块23进行密码处理,以响应来自服务器应用21的密码处理请求。
明确地说,安全服务器22请求安全芯片处理模块23进行服务器应用21所请求的密码处理之中要求较高机密性的密码处理,并且自己来进行其它密码处理。
安全芯片处理模块23响应于来自安全服务器22的请求,进行密码处理(要求较高机密性的密码处理)。
这里假定安全芯片处理模块23被装在例如专用的防篡改硬件中。然而,安全芯片处理模块23可以是安全服务器22中的一个模块(软件)。
图3是方框图,示出客户机端设备1和服务器端设备2的特定硬件结构的例子。
参考图3,客户机端设备1包括R/W 13,R/W 13是硬件,以及集成电路(IC)卡31和个人计算机(PC)32。
IC卡31包括安全芯片11,安全芯片11是硬件。例如,IC卡31相应于一张卡,如Edy,存储电子货币。PC 32例如是由IC卡31的用户所拥有的。客户机应用12安装在PC 32中。用户操作PC 32,例如,来查询IC卡31中存储的电子货币的余额,充值电子货币,以及支付电子货币。
参考图3,服务器端设备2包括安全芯片处理模块23和计算机33,安全芯片处理模块23是硬件。
计算机33例如是服务器(机器),它是硬件。服务器应用21和安全服务器22安装在计算机33中。
图4是方框图,示出客户机端设备1和服务器端设备2的特定硬件结构的另一个例子。图4中的服务器端设备2的硬件结构与图3中的相似。
参考图4,客户机端设备1是移动电话34,它是硬件。
移动电话34包括安全芯片11,安全芯片11是硬件。客户机应用12安装在移动电话34中。用户操作移动电话34,例如,来查询存储在安全芯片11中的电子货币的余额,充值电子货币,以及支付电子货币。
对包含在移动电话34中的安全芯片11的外部访问可通过使用移动电话34的通信功能来完成,或者可通过将移动电话34(包含在移动电话34中的安全芯片11)靠近R/W 13(在图4中未示出)来完成。
图5是方框图,示出图3的PC 32硬件结构的例子,其中安装了客户机应用12。
PC 32包括中央处理单元(CPU)42。输入-输出接口50通过总线41连接到CPU 42。CPU 42响应于由用户用输入单元47输入并且通过输入-输出接口50提供的指令,执行存储在只读存储器(ROM)43中的程序,输入单元47包括键盘、鼠标、话筒等。CPU 42将存储在硬盘45中的程序、通过卫星或网络传送并由通信单元48接收的程序和安装在硬盘45中的程序、或者从加载在驱动器49中的可移动介质51读出并且安装在硬盘45中的程序加载到随机存取存储器(RAM)44中,并且执行所加载的程序。CPU 42以上述方式进行各种处理。CPU 42从输出单元46输出处理结果,输出单元46包括液晶显示器(LCD)、扬声器等,发送来自通信单元48的处理结果,和/或在需要时通过输入-输出接口50将处理结果存储在硬盘45中。
输入-输出接口50具有例如通用串行总线(USB)端口,并且图3中的R/W 13能够被连接到这个USB端子。CPU 42(由CPU 42执行客户机应用12)通过连接到输入-输出接口50的R/W 13访问安全芯片(图3)。
包括客户机应用12的程序可预先记录在硬盘45或者ROM 43中,后者用作记录介质并且包含在PC 32中。
可供替换地,程序可临时或永久地存储(记录)在可移动记录介质51中,诸如软盘、只读光盘(CD-ROM)、磁光(MO)盘、数字多功能盘(DVD)、磁盘或者半导体存储器。可移动记录介质51可作为软件包提供。
程序除了从上述可移动介质51安装到PC 32之外,可经由用于数字卫星广播的人造卫星通过无线电波从下载站点传送到PC 32,或者可经由网络3如局域网(LAN)或因特网通过线路传送到PC 32。PC 32接收通信单元48中被传送的程序并且将所接收的程序安装在硬盘45中。
图6是方框图,示出图3的计算机33硬件结构的例子,其中安装了服务器应用21和安全服务器22。
参考图6,在计算机33中从总线61到可移动记录介质71的组件是以与图5中从总线41到可移动记录介质51的组件相同的方式构造的。在此省略了图6中这类组件的描述。
在图3和4的例子中,安全芯片处理模块23通过通信单元68或者输入-输出接口70连接到计算机33。
图7是方框图,示出图2中安全芯片11硬件结构的例子。
安全芯片11主要包括通信处理单元81和数据处理单元82。通信处理单元81进行与安全芯片11外部的设备接触或非接触通信所要求的处理来提供数据(包括命令),该数据(包括命令)在外部被发送到数据处理单元82并且将从数据处理单元82提供的数据发送到外部设备。
由安全芯片11进行的外部通信所要求的处理,包括数据的编码和解码等以及它们的调制和解调。当安全芯片11没有电源时,通信处理单元81还进行从外部信号产生电源。
数据处理单元82包括,例如CPU91,密码处理器92和存储器93。数据处理单元82按照通信处理单元81提供的命令进行各种处理。
明确地说,CPU 91控制密码处理器92并且管理存储器93。CPU 91按照通信处理单元81提供的命令从存储器93读写数据,并且对存储在存储器93中的数据进行数据处理。CPU 91执行存储在存储器93中的程序,以进行各种处理。
密码处理器92在CPU 91的控制下进行密码处理。密码处理除了数据(包括命令)的加密与解密之外,还包括在询问-与-应答方法中的双向认证(包括,例如在双向认证中使用的随机数的产生)和在加密与解密中使用的密钥(有关密码密钥的信息)的产生。
非易失性存储器93存储数据和程序。在物理上,存储器93可以是一个存储器或者可包括多个存储器。当存储器93包括多个存储器时,非易失性存储器可用作部分存储器。例如,要临时存储的用于CPU 91的操作所要求的数据存储在非易失性存储器中。
CPU 91将存储器93的存储区分层以管理分层的存储区。
图8示出存储器93目录结构的例子。
存储器93的存储区的一部分用作数据存储区,存储提供各种服务所使用的数据。数据存储区具有分层的结构,其中相应于目录的区定义区域被分层。每个区定义区域能够包括相应于较低层目录的区定义区域和相应于下述文件和管理服务区域的服务定义区域。
区定义区域是存储器93的数据存储区的一些部分,并且被分配给管理提供服务的服务供应者的管理者(管理者可以是服务供应者)。在每个区定义区域中,分配作为用作标识区定义区域名字的标识码的区码表示可用的空闲块数量的空闲空间和作为取得对区定义区域(包括区定义区域和在区定义区域之下的服务定义区域)的访问所要求的密钥的区密钥。
CPU 91以存储容量的固定块单元来管理存储器93的数据存储区。在区定义区域中管理的数据存储区的空闲空间是基于块的数量来管理的。
在图8所示的实施例中,分配给管理器A的区定义区域相应于顶层,而管理器B1和B2的区定义区域是在分配给管理器A的区定义区域之下创建的。管理器C的区定义区域是在管理器B1的区定义区域之下创建的。
服务定义区域是存储器93的数据存储区的一些部分,用于管理下述服务区域并且被分配给服务供应者提供的服务。在每个服务定义区域中,分配作为用于标识服务定义区域的标识码的服务码表示其中存储提供服务所要求数据的服务区域容量的块数量和作为取得对服务定义区域(包括由服务定义区域管理的服务区域)的访问所要求的密钥的服务密钥。
服务区域是数据存储区的一些部分,并且每个服务区域包括零或多个块,其中存储提供服务所要求的数据。将构成服务区域的块数量描述为管理服务区域的服务定义区域的容量。
服务供应者在由一个管理器管理的区定义区域之下创建服务定义区域,并且使用在服务定义区域中管理的服务区域来提供各种服务。例如,在提供电子货币服务的装置中,电子货币的余额、有关为其支付电子货币的物品的信息(例如,物品的名字和/或价钱)、和购买物品的日期被存储在服务区域中。
图9是方框图,示出图2中安全服务器22详细结构的例子。
例如安全服务器22包括安全芯片命令模块101和安全芯片管理器模块102。
安全芯片命令模块101,响应于来自服务器应用21的创建命令的请求为安全芯片11创建一个命令,并且提供所创建的命令给服务器应用21。
换言之,当服务器应用21命令客户机端设备1中的安全芯片11进行某种处理时,服务器应用21请求安全芯片命令模块101创建相应于该处理的命令。安全芯片命令模块101响应于来自服务器应用21的请求,为安全芯片11创建命令,并且提供所创建的命令给服务器应用21。
因此,甚至在各种命令系统中存在安全芯片(安全芯片在用作命令的操作码方面、在命令的参数方面和在命令的种类方面不同)时,没有必要在各种命令系统中为每个安全芯片创建服务器应用21,因为服务器应用21不需要知道安全芯片11的命令(服务器应用21可能知道命令)。
换言之,对于服务器应用21使用能够翻译安全芯片命令模块101的命令系统,这是足够的了。
安全芯片命令模块101响应于来自服务器应用21的请求为安全芯片11创建命令,并且提供所创建的命令给服务器应用21。然而,在提供所创建命令给服务器应用21之前,安全芯片命令模块101提供命令给安全芯片管理器模块102来请求对命令的加密。安全芯片命令模块101响应于对服务器应用21的请求,提供由安全芯片管理器模块102提供的密码信息(例如,加密的命令)。
安全芯片管理器模块102响应于来自安全芯片命令模块101的请求,进行包括对命令的加密在内的密码处理,或者请求安全芯片处理模块23进行密码处理。安全芯片管理器模块102随后提供在安全芯片管理器模块102或者安全芯片处理模块23中密码处理所产生的密码信息给安全芯片命令模块101。
安全芯片管理器模块102进行安全芯片11的密码处理或者请求安全芯片处理模块23进行安全芯片11的密码处理。
例如,安全芯片11只能够处理已经为其进行了安全芯片11的加密的命令(数据)。明确地说,数据(包括命令)的加密是按各种算法进行的,并且在安全芯片11中采用按照某种算法的加密。假定表示在安全芯片11中所采用的算法的信息(包括表示在按照算法的加密中使用的密钥信息)称为加密类型,安全芯片管理器模块102进行具有相应于安全芯片11的加密类型的加密或者请求安全芯片处理模块23进行具有相应于安全芯片11的加密类型的加密。
安全芯片管理器模块102可以构造成进行具有不同于安全芯片的加密类型的加密。对于安全芯片处理模块23也是一样的。
尽管为了例如认证、下述通信路径的加密或者下述包的创建进行加密,但有可能为用于认证、通信路径的加密或者包的创建的每个加密设置加密类型。加密类型可包含有关认证、通信路径的加密或者包的创建的信息,例如,表示进行双向认证还是单向认证的信息。
图10A和10B示出一个流程图,例示客户机端设备1和服务器端设备2的操作。
在启用客户机应用12之后,在步骤S21,客户机应用12发送一个命令以请求有关安全芯片11的安全芯片信息给安全芯片11。
在步骤S11,安全芯片11接收从客户机应用12发送的命令。在步骤S12,安全芯片11发送安全芯片信息作为对到客户机应用12的响应命令。
在步骤S22,客户机应用12接收来自安全芯片11的安全芯片信息。在步骤S23,客户机应用12发送服务器连接请求连同包括安全芯片信息的初始信息到服务器端设备2。
除安全芯片信息之外,初始信息还包括有关客户机应用12的客户机信息和服务器应用规格(server application specification),后者指定客户机应用12要连接的服务器端设备2中的服务器应用21。
安全芯片信息包括表示安全芯片11类型的安全芯片类型,表示在安全芯片11中采用的操作系统(OS)的安全芯片OS类型,以及安全芯片文件结构,这是有关安全芯片11中数据管理的信息(文件格式,区码列表,和服务码(存储器格式)列表)。用安全类型,有可能标识一种在认证、通信路径的加密和执行权限的密码处理中使用的加密和签名算法(数据加密标准(DES),三重DES(T-DES),Rivest Shamir Adieman(RSA),椭圆曲线数字签名算法(EC-DSA)等等);标识一种在认证中的询问-与-应答方法;以及标识加密和签名的目标的格式和填充规则。
客户机信息包括表示客户机端设备1的硬件的客户机类型(例如,表示客户机端设备1是移动电话、PC或者POS寄存器的信息),表示在客户机端设备1中采用的OS的客户机OS类型,标识客户机应用12的客户机应用ID,以及表示客户机应用12的版本号的应用版本。
客户机应用12可响应于对初始信息的请求,从安全芯片11获得安全芯片信息,初始信息包括来自提交请求(例如在连接到服务器应用21之后)的服务器应用21的安全芯片信息,并且可包括初始信息中所获得的安全芯片信息以发送初始信息到服务器应用21。
然而,从安全芯片11获得安全芯片信息,并且随后发送包括安全芯片信息的初始信息以及客户机应用12的服务器连接请求到服务器应用21,在图10A和10B中所示,在客户机应用12与服务器应用21之间要求较少的通信,因而减少了处理时间。
另外,由于服务器端设备2接收客户机信息,同时开始来自客户机端设备1的访问,服务器端设备2能够基于客户机信息发收和接收适合于客户机应用12的命令和消息(例如,图形用户接口(GUI)诸如屏幕)。适合于客户机应用12的命令和消息指其内容适合于客户机应用12的命令或消息,或者指其长度或数量适合于客户机应用12的命令和消息。
在步骤S41,服务器应用21从客户机应用12接收服务器连接请求和初始信息,启用用于提供客户机端设备1要求的服务的应用(软件),并且前进到步骤S42。
在步骤S42,服务器应用21提供包括在步骤S41所接收的初始信息中的安全芯片信息和客户机信息给安全服务器22中的安全芯片管理器模块102。在步骤S61,安全芯片管理器模块102接收由服务器应用21提供的安全芯片信息和客户机信息,并且提供安全芯片信息给安全芯片处理模块23。
在步骤S81,安全芯片处理模块23基于由安全芯片管理器模块102提供的安全芯片信息,设置从安全芯片11访问的处理范围。
明确地说,安全芯片处理模块23能够进行各种安全芯片和服务的密码处理,并且包括各种安全芯片和服务的密码处理所要求的密钥。当安全芯片11只接收例如电子货币服务的装置时,安全芯片处理模块23只进行(许可)为安全芯片11提供电子货币服务所要求的密码处理。当预先设置了电子货币服务中数据的加密与解密时使用的密钥时,安全芯片处理模块23允许安全芯片11只使用电子货币服务中数据的加密与解密时使用的密钥并,且不允许安全芯片11使用在其它服务中数据的加密与解密时使用的密钥。
相反,安全芯片管理器模块102准备好基于安全芯片信息和在步骤S61从服务器应用21接收的客户机信息进行适合于安全芯片11和客户机应用12的处理。
明确地说,由于安全芯片管理器模块102能够进行适合于各种安全芯片和客户机应用的处理,因此安全芯片管理器模块102准备好基于在步骤S61从服务器应用21接收的安全芯片信息和客户机信息进行适合于安全芯片11和客户机应用12的处理。
例如,安全芯片管理器模块102分配进行安全芯片11的处理所要求的资源并且从安全芯片信息识别命令类型和安全芯片11的密码处理类型等等。命令类型表示相应于客户机端设备1中安全芯片11的类型(例如,包括在IC卡中的安全芯片或者包括在移动电话中的安全芯片)的命令系统。然后,安全芯片管理器模块102准备好进行相应于要被发送到客户机端设备1的命令等的安全芯片的密码处理类型的加密等。
在步骤S62,安全芯片管理器模块102发送初始化指令,以及安全芯片11的命令类型到安全芯片命令模块101。在步骤S51,安全芯片命令模块101接收初始化指令和命令类型,并且初始化自己以便进行适合于安全芯片11的处理。换言之,安全芯片命令模块101准备好响应于来自服务器应用21的创建命令的请求为安全芯片11创建命令(在由安全芯片11的命令类型表示的命令系统中的命令)。
服务器应用21对例如安全芯片处理模块23进行认证,以防止网络钓鱼(phishing)(指在网络上的仿冒欺诈行为,译者注)。如果认证成功,则防止网络钓鱼(phishing)的认证也在安全芯片11与安全芯片处理模块23之间进行。
在安全芯片11与安全芯片处理模块23之间的认证是基于安全芯片11的密码处理类型进行的。当安全芯片11的密码处理类型表示例如询问-与-应答方法的双向认证时,询问-与-应答方法的双向认证是在安全芯片11与安全芯片处理模块23之间进行的。在询问-与-应答方法中,安全芯片处理模块23(安全芯片11)产生一个随机数,加密这个随机数,并且从安全芯片11收发这个加密的随机数来进行双向认证。如果双向认证成功,则由安全芯片处理模块23在双向认证中产生的随机数被用作标识安全芯片11与安全芯片处理模块23之间的会话的会话密钥。
然而,在服务器端设备2中,要发送到安全芯片11的命令(包括伴随命令的参数和其它数据)通过使用所生成的会话密钥作为密钥来加密,并且加密的命令被发送到客户机端设备1。还是在客户机端设备1中,要从安全芯片11发送到服务器端设备2的数据等通过使用会话密钥作为密钥来加密,并且加密的数据被发送到服务器端设备2。
在客户机端设备1和服务器端设备2两者中通过使用会话密钥作为密钥对数据等的加密和以上述方式发送加密的数据,使得客户机端设备1与服务器端设备2之间的通信路径被加密,即,使得虚拟专有网络(VPN)被实现。使用会话密钥作为密钥的加密是按照安全芯片11的密码处理类型表示的算法来进行的。
在步骤S43,服务器应用21发送创建一个要发送到安全芯片11的命令的请求到安全芯片命令模块101。在步骤S52,安全芯片命令模块101从服务器应用21接收创建命令的请求。
在步骤S53,安全芯片命令模块101响应于来自服务器应用21的创建命令的请求,创建用于安全芯片11的命令,并且提供加密所创建命令的请求以产生密码信息的请求给安全芯片管理器模块102。在步骤S63,安全芯片管理器模块102从安全芯片命令模块101接收加密命令以产生密码信息的请求。在步骤S64,安全芯片管理器模块102发送该请求到安全芯片处理模块23。
由于在对通信路径的加密时使用的会话密钥保存在安全芯片处理模块23中,因此安全芯片管理器模块102请求安全芯片处理模块23用所保存的会话密钥加密命令。
在步骤S82,安全芯片处理模块23从安全芯片管理器模块102接收请求并且响应于该请求加密命令。在步骤S83,安全芯片处理模块23发送由加密产生的密码信息到安全芯片管理器模块102。在步骤S85,安全芯片管理器模块102从安全芯片处理模块23接收密码信息到安全芯片命令模块101。
在步骤S66,安全芯片管理器模块102发送从安全芯片处理模块23接收的密码信息到安全芯片命令模块101。
在步骤S54,安全芯片命令模块101接收由安全芯片管理器模块102提供的密码信息。在步骤S55,安全芯片命令模块101发送密码信息(加密的命令)到服务器应用21。
在步骤S44,服务器应用21接收由安全芯片命令模块101提供的密码信息。在步骤S45,服务器应用21发送密码信息(加密的命令)以及设备数据,到客户机应用12,它是给客户机端设备1的消息。
在步骤S24,客户机应用12接收由服务器应用21发送的密码信息和设备数据。在步骤S25,客户机应用12发送密码信息到安全芯片11。
在步骤S13,安全芯片11接收由客户机应用12发送的密码信息并且用会话密钥将密码信息解密成命令。安全芯片11进行相应于解密的命令的处理。在步骤S14,安全芯片11响应于命令发送响应数据到客户机应用12。响应数据是在安全芯片11中用会话密钥加密的。
在步骤S26,客户机应用12接收由安全芯片11发送的响应数据。在步骤S27,客户机应用12发送响应数据到服务器应用21。
服务器应用21接收由客户机应用12发送的响应数据并且进行相应于响应数据的处理。可供替换地,服务器应用21发送响应数据到安全芯片命令模块101和安全芯片管理器模块102。
当用户操作客户机端设备1输入任何数据(用户输入数据)时,客户机应用12发送数据到服务器应用21。
在步骤S67,安全芯片管理器模块102发送对会话密钥的请求到安全芯片处理模块23。
在步骤S84,安全芯片处理模块23从安全芯片管理器模块102接收对会话密钥的请求。在步骤S85,安全芯片处理模块23响应于该请求,发送通过对安全芯片11的认证所产生的会话密钥到安全芯片管理器模块102。
在步骤S68,安全芯片管理器模块102接收由安全芯片处理模块23发送的会话密钥并且保存该会话密钥。
然后,用会话密钥的加密是在安全芯片管理器模块102中进行的,并且只有要求较高机密性的加密是在安全芯片处理模块23中进行的。
在安全芯片管理器模块102中进行用会话密钥的加密和在安全芯片处理模块23中只进行要求较高机密性的加密(包括通过使用包的加密和创建进行的双向认证),可以减少安全芯片处理模块23上的负载,这是与所有的加密(密码处理)都是在安全芯片处理模块23中进行的情况相比较而言的。因此,有可能减少安全芯片处理模块23中的处理时间。
可提供多个防篡改安全芯片处理模块23并且可将用于不同安全芯片的密码处理分布在多个安全芯片处理模块23上,以便减少每个安全芯片处理模块23上的负载。
在步骤46,服务器应用21发送创建要发送到安全芯片11的命令的请求到安全芯片命令模块101。在步骤S56,安全芯片命令模块101从服务器应用21接收创建命令的请求。
在步骤S57,响应于来自服务器应用21的创建命令的请求,安全芯片命令模块101创建用于安全芯片11的命令,并且提供加密所创建命令的请求以产生密码信息的请求给安全芯片管理器模块102。在步骤S69,安全芯片管理器模块102从安全芯片命令模块101接收加密命令以产生密码信息的请求。
如果来自安全芯片命令模块101的请求是加密不同于一个特殊命令的命令的请求,则安全芯片管理器模块102用保存的会话密钥加密命令。在步骤S72,安全芯片管理器模块102发送通过加密产生的密码信息到安全芯片命令模块101。
相反,如果来自安全芯片命令模块101的请求是加密一个特殊命令的请求,则在步骤S70,安全芯片管理器模块102发送对表示特殊命令的执行权限的授权(关于授权的数据)的请求到安全芯片处理模块23。
特殊命令,例如是请求安全芯片11注册区定义区域或服务定义区域(图8)的命令,或者是请求安全芯片11删除区定义区域或服务定义区域的命令。
在步骤S86,安全芯片处理模块23从安全芯片管理器模块102接收请求。安全芯片处理模块23响应于请求,创建表示该特殊命令的执行权限的授权(关于授权的数据)并且加密所创建的授权。另外,安全芯片处理模块23添加验证授权的有效性的证书(关于证书的数据)到授权的加密结果。在步骤S87,安全芯片处理模块23发送授权的证书和(加密结果)的包到安全芯片管理器模块102。
安全芯片处理模块23存储已经创建的包。当来自安全芯片管理器模块102的请求请求创建的授权和包括授权的包被存储在安全芯片处理模块23中时,安全芯片处理模块23发送所存储的包到安全芯片管理器模块102。
在步骤S71,安全芯片管理器模块102接收由安全芯片处理模块23发送的包。在步骤S72,安全芯片管理器模块102用会话密钥加密特殊命令,并且发送包括加密结果和包的集合的密码信息到安全芯片命令模块101。
在步骤S58,安全芯片命令模块101接收由安全芯片管理器模块102提供的密码信息。在步骤S59,安全芯片命令模块101发送密码信息到服务器应用21。
在步骤S47,服务器应用21接收由安全芯片命令模块101发送的密码信息。在步骤S48,服务器应用21发送密码信息以及设备数据到客户机应用12,它是给客户机端设备1的消息。
在步骤S28,客户机应用12接收由服务器应用21发送的密码信息和设备数据。在步骤S29,客户机应用12发送该密码信息到安全芯片11。
在步骤S15,安全芯片11接收由客户机应用12发送的密码信息并且用会话密钥解密该密码信息成命令。另外,若需要安全芯片11在确认命令的执执行权限之后进行相应于命令的处理。在步骤S16,安全芯片11响应于命令发送数据到客户机应用12。
在步骤S30,客户机应用12接收由安全芯片11发送的响应数据。在步骤S31,客户机应用12发送该响应数据到服务器应用21。
在步骤S49,服务器应用21接收由客户机应用12发送的响应数据,并且进行相应于响应数据的处理。
如果服务器应用21终止与客户机端设备1的通信,则在步骤S50,服务器应用21发送终止通知到客户机应用12。在步骤S32,客户机应用12接收由服务器应用21发送的终止通知。
如上所述,有可能构造安全服务器22(安全芯片命令模块101和安全芯片管理器模块102)和安全芯片处理模块23,使得相应于多个在规格方面例如在密码处理类型方面不同的安全芯片11。相应于安全芯片的处理是在安全服务器22和安全芯片处理模块23中按照由客户机端设备1发送的有关安全芯片11的安全芯片信息进行的,以消除对于每个在例如密码处理类型的规格方面不同的每个安全芯片11改变服务器应用21的需求。换言之,有可能将同一服务器应用21用于具有不同规格的安全芯片11。
图11是方框图,示出安全芯片处理模块23结构的例子。
安全芯片处理模块23包括安全芯片处理器111,认证器112,访问控制列表存储单元113,密码处理器114和密钥管理器115。
安全芯片处理器111控制整个安全芯片处理模块23。安全芯片处理模块23管理例如从外部设备输入和输出数据,并且响应于来自外部设备的请求进行响应。
例如,安全芯片处理器111使认证器112确认由服务器应用21、安全服务器22或者其他外部设备请求的密码处理是否被准许。仅当准许密码处理时,安全芯片处理器111使密码处理器114进行所请求的密码处理。当密码处理的结果是由密码处理器114提供的时候,安全芯片处理器111发送密码处理的结果到外部设备。
响应于来自安全芯片处理器111的请求,认证器112参考存储在下述访问控制列表存储单元113中的访问控制列表,以确认由外部设备向安全芯片处理器请求的访问(密码处理)是否被准许。将在认证器112中的确认结果提供给安全芯片处理器111。认证器112还进行与任何进行访问的外部设备有关的认证。认证器112还产生随机数,用作上述会话密钥。
认证器112可与安全芯片处理器11集成在一起,形成一个功能单元。在这种情况下,包括安全芯片处理器111和认证器112的功能单元进行安全芯片处理器11中的处理和上述认证器112中的处理。
访问控制列表存储单元113存储访问控制列表。
准予一个应用访问(密码处理)的内容,(这个应用是向安全芯片处理模块23请求访问的外部设备,或者是操作外部设备的操作者),在与标识这个应用或者操作者的标识(ID)相关联的访问控制列表中描述。访问控制列表的内容将在下面详细描述。
密码处理器114在安全芯片处理器111请求密码处理器114进行密码处理(例如,密钥的注册或删除,或者数据的加密和解密)时进行密码处理。密码处理器114向安全芯片处理器111表示密码处理的结果。
密码处理器114在由安全芯片处理器111请求的密码处理需要密钥时,从密钥管理器115获得密钥,并且使用该密钥进行密码处理。当从密钥管理器115获得的密钥被加密时,密码处理器114解密加密过的密钥,并且使用解密的密钥来进行安全芯片处理器111所请求的密码处理。
密钥管理器115管理密钥。明确地说,密钥管理器115加密密钥并且将加密过的密钥存储在密钥DB(数据库)116中。例如,响应于来自密码处理器114的请求,密钥管理器115提供存储在密钥DB 116中的加密过的密钥,无需任何处理。
密钥DB 116存储由密钥管理器115提供的加密过的密钥等等。
尽管图13中,密钥DB 116在安全芯片处理模块23之外作为外部存储设备来提供,但密钥DB 116可在安全芯片处理模块23中提供。
当密钥DB 116作为外部存储设备提供时,从密钥DB 116获得所要求的密钥,这是用能够访问密钥DB 116的预定应用(软件)来进行的,而不使用密钥管理器115,并且将用预定应用获得的密钥提供给安全芯片处理模块23。
当密钥DB 116是在安全芯片处理模块23中提供的时候,密钥DB 116能够保存不被加密的密钥。在这种情况下,密钥管理器115提供保存在密钥DB 116中的未加密的密钥(所谓的明文)给密码处理器114,而无需任何处理。
对于通过使用服务器端设备2来提供服务的服务供应者,有必要在密钥DB116中通过安全芯片处理模块23注册在客户机端设备1与服务器端设备2之间传送的数据加密时所使用的密钥,以便提供服务,这个密钥用作用于访问安全芯片11中的区定义区域(服务定义区域)。
密钥DB 116中的密钥的注册是由操作者进行的,操作者是服务供应者并且操作用于管理密钥的密钥管理应用121,如在图12中所示。
密钥管理应用121是软件,并且安装在例如以与图6的计算机33相同方式构造的计算机中。如果有必要的话,由密钥管理应用121对安全芯片处理模块23的访问是通过应用编程接口(API)进行的。
作为服务供应者的操作者,包括作为助理的操作者和作为密钥管理器的操作者,助理按照从服务供应者发出的指令进行注册密钥的操作,而密钥管理器管理助理和密钥。作为密钥管理器的操作者还能够通过密钥管理应用121访问安全芯片处理模块23,如图13所示。
图14示出在图11的访问控制列表存储单元中存储的访问控制列表中描述的例子。
“访问控制信息”、“格式信息”、“密钥访问信息”、“应用的认证信息”和“操作者访问的认证信息”在访问控制列表中描述。
“访问控制信息”示出有关访问控制列表的基本信息。在“访问控制信息”中描述有效期(到期日)和访问数量的限制。
“格式信息”具有与其它格式信息相关联的格式名字(格式的ID)。格式名字是表示例如安全芯片的规格的信息。其它格式信息包括区定义区域的区码和服务定义区域的服务码、在具有由与其它格式信息相关联的格式名字标识的规格的安全芯片中形成的区定义区域和服务定义区域、标识用于访问区定义区域和服务定义区域的密钥ID、和表示密钥的版本号的密钥版本。
“密钥访问信息”表示对于应用(外部软件,如服务器应用21或密钥管理应用121)和操作者公共的访问权限。
“应用的认证信息”具有标识应用的应用ID、与有关由应用ID标识的应用的认证的“应用认证信息”相关联。“应用认证信息”包括有关在认证中使用的密钥的信息、表示在认证中使用的加密(解密)算法的信息、以及在用公开密钥进行认证时的公开密钥的证书。与“应用的认证信息”中的应用ID相关联的信息还包括有关由应用ID标识的应用被准许的密码处理的信息(认证,密钥的改变,执行权限(用于执行命令)的创建,通信路径的加密(命令的加密),等等)。
由应用ID标识的应用例如是客户机应用12、服务器应用21或者密钥管理应用121。由于客户机应用12和服务器应用21的集合提供服务,因此一个应用ID既标识客户机应用12,又标识服务器应用21。
“操作者访问的认证信息”具有标识操作者的操作者ID,与有关由操作者ID标识的操作者的认证的“操作者认证信息”相关联。“操作者认证信息”包括有关在认证中使用的密钥的信息、表示在认证中使用的加密(解密)算法的信息,和在用公开密钥进行认证时的公开密钥的证书。与“操作者访问的认证信息”中的操作者ID相关联的信息还包括由操作者ID标识的操作者被准许的行为,即有关操作者被准许的密码处理的信息(密钥的注册(添加)、引用、改变、删除等)。
如上所述,标识应用的应用ID与表示访问控制列表中应用被准许的密码处理的信息相关联。另外,标识操作者的操作者ID(标识信息)与表示访问控制列表中操作者被准许的密码处理的信息相关联。
图15是流程图,示出密钥管理应用121和安全芯片处理模块23在操作者操作密钥管理应用121以在安全芯片处理模块23中注册密钥/访问权限(表示对密钥的访问权限的信息)时的操作。
为了作为服务供应者的操作者在密钥DB 116中注册在用于提供服务的密码处理中使用的密钥/访问权限,操作者操作密钥管理应用121(其中安装了密钥管理应用121的计算机)来访问安全芯片处理模块23并且输入例如预先分配给操作者的操作者ID。
密钥管理应用121发送由操作者ID输入的操作者ID到安全芯片处理模块23。安全芯片处理模块23中的认证器112接收由密钥管理应用121发送的操作者ID。在步骤S101,认证器112参考访问控制列表(图14)来按照与由密钥管理应用121发送的操作者ID相关联的“操作者认证信息”认证操作密钥管理应用121的操作者(由从客户机应用12发送的操作者ID标识的操作者)。
如果操作者的认证在认证器112中成功,则在认证成功的操作者具有对安全芯片处理模块23的访问权限时,安全芯片处理模块23准备好进行预定允许范围内的处理。
换言之,安全芯片处理模块23只进行操作者(由操作者操作的密钥管理应用121)被准许的密码处理,并且准备好只准予对密钥的访问,这个密钥的使用是按照访问控制列表(图14)中与认证成功的操作者ID相关联的信息而被准许的。
如果操作者的认证在认证器112中失败,则安全芯片处理模块23不进行后续的处理。
当操作者操作密钥管理应用121以便请求注册密钥/访问权限时,在步骤S102,密钥管理应用121发送注册密钥/访问权限的请求以及连同要注册的密钥/访问权限到安全芯片处理模块23。
要注册的密钥/访问权限是由操作密钥管理应用121的操作者输入的,并且被发送到安全芯片处理模块23。密钥/访问权限可存储在其中将密钥管理应用121安装为文件的计算机中,并且所存储的密钥/访问权限可被发送到安全芯片处理模块23。
在步骤S111,安全芯片处理模块23中的安全芯片处理器111接收由密钥管理应用121发送的密钥/访问权限和注册密钥/访问权限的请求。在步骤S112,安全芯片处理器111向认证器112查询是否准许经认证的操作者(操作密钥管理应用121的操作者)注册要被注册的密钥/访问权限。
在步骤S131,认证器112接收由安全芯片处理器111提供的查询。在步骤S132,认证器112响应于查询,参考访问控制列表来确认是否许可经认证的操作者注册密钥/访问权限。
如果认证器112确认许可注册密钥/访问权限,则在步骤S133,认证器112向安全芯片处理器111表示许可注册密钥/访问权限。
如果认证器112不确认许可注册密钥/访问权限,则认证器112向安全芯片处理器111表示确认结果,并且安全芯片处理模块23不进行后续的处理。
在步骤S113,安全芯片处理器111从认证器112接收许可注册密钥/访问权限的指示。在步骤S114,安全芯片处理器111发送由密钥管理应用121发送的密钥/访问权限到密码处理器114,以请求密码处理器114注册密钥/访问权限。
在步骤S141,密码处理器144接收由安全芯片处理器111发送的密钥/访问权限。在步骤S142,密码处理器114解密密钥/访问权限并且将解密的密钥/访问权限提供给密钥管理器115。
由密钥管理应用121发送到安全芯片处理模块23的密钥/访问权限通过用于密钥注册的密钥来加密。当密钥/访问权限在公开密钥系统中被加密时,用于密钥注册的密钥是公开密钥,而密码处理器114使用与这个公开密钥配对的秘密密钥来解密加密过的密钥/访问权限。当在对称密钥(公共密钥)系统中加密密钥/访问权限时,用于密钥注册的密钥是公共密钥,而密码处理器114使用公共密钥(与该公共密钥相同的公共密钥)来解密加密过的密钥/访问权限。
在解密加密过的密钥/访问权限时使用的密钥(秘密密钥或者公共密钥)存储在密钥DB 116中。密码处理器114向密钥管理器115请求解密密钥/访问权限时使用的密钥以从密钥管理器115获得密钥。
在步骤S151,密钥管理器115加密由密码处理器114提供的密钥/访问权限并且将加密过的密钥/访问权限提供给存储加密过的密钥/访问权限的密钥DB116。
在步骤S143,密码处理器114发送表示密钥/访问权限的注册结束的消息到安全芯片处理器111。在步骤S115,安全芯片处理器111从密码处理器114接收表示密钥/访问权限注册结束的消息。在步骤S116,安全芯片处理器111发送消息到密钥管理应用121。在步骤S103,密钥管理应用121接收由安全芯片处理器111发送的消息。
图16是流程图,示出密钥管理应用121和安全芯片处理模块23在操作者操作密钥管理应用121以从安全芯片处理模块23删除密钥/访问权限时的操作。
为了作为服务供应者的操作者从密钥DB 116删除在密码处理时使用的密钥/访问权限,操作者操作密钥管理应用121访问安全芯片处理模块23,并且输入例如预先分配给操作者的操作者ID,就如在参考图15描述的注册密钥/访问权限一样。
密钥管理应用121发送操作者输入的操作者ID到安全芯片处理模块23。安全芯片处理模块23中的认证器112接收由密钥管理应用121发送的操作者ID。在步骤S171,认证器112参考访问控制列表(图14)来按照与由密钥管理应用121发送的操作者ID相关联的“操作者认证信息”认证操作密钥管理应用121的操作者。
如果操作者的认证在认证器112中成功,则在认证成功的操作者具有访问安全芯片处理模块23的权限时,安全芯片处理模块23准备好进行预定允许范围内的处理。
换言之,安全芯片处理模块23只进行操作者(由操作者操作的密钥管理应用121)被准许的密码处理并且准备好只准予对该密钥的访问,这个密钥的使用是按照与访问控制列表(图14)中认证成功的操作者ID相关联的信息而被准许的。
如果操作者的认证在认证器112中失败,则安全芯片处理模块23不进行后续的处理。
当操作者操作密钥管理应用121以便请求删除密钥/访问权限时,在步骤S172,密钥管理应用121发送删除密钥/访问权限的请求以及有关要被删除的密钥的密钥信息(例如,密钥ID和密钥版本)到安全芯片处理模块23。
有关要被删除的密钥的密钥信息是由操作密钥管理应用121的操作者输入的。
在步骤S181,安全芯片处理模块23中的安全芯片处理器111接收由密钥管理应用121发送的删除密钥/访问权限和密钥信息的请求。在步骤S182,安全芯片处理器111向认证器112查询是否准许经认证的操作者删除要被删除的密钥/访问权限。
在步骤S201,认证器112接收由安全芯片处理器111提供的查询。在步骤S202,认证器112响应于查询,参考访问控制列表以确认是否准许经认证的操作者删除密钥/访问权限。
如果认证器112确认许可删除密钥/访问权限,则在步骤S203,认证器112向安全芯片处理器111表示许可删除密钥/访问权限。
如果认证器112不确认许可删除密钥/访问权限,认证器112向安全芯片处理器111表示确认结果并且安全芯片处理模块23不进行后续的处理。
在步骤S183,安全芯片处理器111从认证器112接收许可删除密钥/访问权限的指示。在步骤S184,安全芯片处理器111发送由密钥管理应用121发送的密钥信息到密码处理器114,以请求密码处理器114删除由密钥信息标识的密钥/访问权限。
在步骤S211,密码处理器114接收由安全芯片处理器111发送的密钥信息。在步骤S212,密码处理器114请求密钥管理器115删除由密钥信息标识的密钥/访问权限。
除由安全芯片处理器111发送的密钥信息所标识的密钥/访问权限之外,如果有必要的话密码处理器114请求密钥管理器115删除与这个密钥/访问权限有关的密钥/访问权限。换言之,当由安全芯片处理器111发送的密钥信息所标识的密钥是例如用于访问某个层中的区定义区域的区密钥时,密码处理器114请求密钥管理器115除这个区密钥之外,如果有必要的话,还要删除在这个区定义区域之下的区定义区域的区密钥和服务定义区域的服务密钥。
密钥/访问权限的删除可直接由安全芯片处理器111而不是由密码处理器114向密钥管理器115请求。
在步骤S221中,密钥管理器115从密钥DB 116删除由密码处理器114请求的密钥/访问权限。
在步骤S213,密码处理器114发送表示密钥/访问权限删除结束的消息到安全芯片处理器111。在步骤S185,安全芯片处理器111从密码处理器114接收表示密钥/访问权限删除结束的消息。在步骤S186,安全芯片处理器111发送消息到密钥管理应用121。在步骤S173,密钥管理应用121接收由安全芯片处理器111发送的消息。
图17是流程图,示出密钥管理应用121和安全芯片处理模块23在操作者操作密钥管理应用121以请求安全芯片处理模块23产生包括表示用于执行某个命令的执行权限的授权的包和注册在加密包括在包中的授权时使用的密钥密钥/访问权限时的操作。
假定在图17中,参考图15和16描述的操作密钥管理应用121的操作者的认证已经在安全芯片处理模块23中的认证器112中完成了,并且操作者的认证成功。
当操作者操作密钥管理应用121以便请求产生包括表示执行某个命令的执行权限的授权的包和注册在认证包括在包中的授权时使用的密钥的密钥/访问权限时,则在步骤S231,密钥管理应用121发送产生包和注册密钥/访问权限的请求,以及要被注册的密钥/访问权限到安全芯片处理模块23。
要被注册的密钥/访问权限是由操作密钥管理应用121的操作者输入的,并且被发送到安全芯片处理模块23。密钥/访问权限可存储在将密钥管理应用121安装为文件的计算机中,并且所存储的密钥/访问权限可被发送到安全芯片处理模块23。
在步骤S241,安全芯片处理模块23中的安全芯片处理器111接收由密钥管理应用121发送的密钥/访问权限、注册密钥/访问权限的请求和产生包的请求。在步骤S242,安全芯片处理器111向认证器112查询是否准许经认证的操作者(操作密钥管理应用121的操作者)注册要被注册的密钥/访问权限和产生要被产生的包。
在步骤S261,认证器112接收由安全芯片处理器111提供的查询。在步骤S262,认证器112响应于该查询,参考访问控制列表以确认是否准许经认证的操作者注册密钥/访问权限和产生包。
如果认证器112确认准许注册密钥/访问权限和产生包,则在步骤S263,认证器112向安全芯片处理器111表示准许注册密钥/访问权限和产生包。
如果认证器112不确认准许注册密钥/访问权限和产生包,则认证器112向安全芯片处理器111表示确认结果并且安全芯片处理模块23不进行后续的处理。
在步骤S243,安全芯片处理器111从认证器112接收准许注册密钥/访问权限和产生包的指示。在步骤S244,安全芯片处理器111发送由密钥管理应用121发送的密钥/访问权限到密钥管理器115以请求密钥管理器115注册密钥/访问权限。
在步骤S281,密钥管理器115接收由安全芯片处理器111发送的密钥/访问权限并且加密所接收的密钥/访问权限。密钥管理器115提供加密过的密钥/访问权限给存储加密过的密钥/访问权限的密钥DB 116。
在步骤S282,密钥管理器115发送表示密钥/访问权限注册结束的消息到安全芯片处理器111。在步骤S245,安全芯片处理器111从密钥管理器115接收表示密钥/访问权限注册结束的消息。在步骤S246,安全芯片处理器111请求密码处理器114产生包。
在步骤S271,密码处理器114从安全芯片处理器111接收产生包的请求。在步骤S272,密码处理114产生表示执行某个命令的执行权限的授权和验证授权有效性的证书。密码处理器114在步骤S281向密钥管理器115请求注册(存储)在密钥DB 116中的密钥以获得密钥并且使用该密钥加密授权。密码处理器114随后提供授权的加密结果和证书的集合作为包给密钥管理器115。
在步骤S283,密钥管理器115将由密码处理器114提供的包存储在密钥DB116中。
在步骤S273,密码处理器114发送表示包产生结束的消息给安全芯片处理器111。在步骤S247,安全芯片处理器111从密码处理器114接收表示包产生结束的消息。在步骤S248,安全芯片处理器111发送表示密钥/访问权限注册和包产生结束的消息到密钥管理应用121。在步骤S232,密钥管理应用121接收由安全芯片处理器111发送的消息。
图18是流程图,示出密钥管理应用121和安全芯片处理模块23在操作者操作密钥管理应用121以请求安全芯片处理模块23产生用于上面参考图15描述的密钥注册的密钥时的操作。
在图1 8中也假定参考图15和16描述的操作密钥管理应用121的操作者的认证已经在安全芯片处理模块23中的认证器112中完成,并且操作者的认证成功。在图18中还假定安全芯片处理模块23已经通过参考访问控制列表确认许可经认证的操作者产生用于密钥注册的密钥。
当操作者操作密钥管理应用121以便请求产生用于密钥注册的密钥时,在步骤S301,密钥管理应用121发送产生用于密钥注册的密钥的请求到安全芯片处理模块23。
在步骤S311,在安全芯片处理模块23中的安全芯片处理器111接收由密钥管理应用121发送的产生用于密钥注册的密钥的请求。在步骤S312,安全芯片处理器111提供该请求给密码处理器114。
在步骤S321,密码处理器114从安全芯片处理器111接收产生用于密钥注册的密钥的请求。在步骤S322,密码处理器114产生上述公开密钥系统中的公开密钥和秘密密钥或者对称密钥系统中的公共密钥,作为用于密钥注册的密钥。密码处理器114提供用于密钥注册的密钥(秘密密钥或者公共密钥)给密钥管理器115。
在步骤S341,密钥管理器115加密由密码处理器114提供的用于密钥注册的密钥,并且提供加密过的用于密钥注册的密钥给存储加密过的用于密钥注册的密钥的密钥DB 116。
在步骤S323,密码处理器114发送用于密钥注册的密钥(公开密钥或者公共密钥)到安全芯片处理器111。密码处理器114可加密用于密钥注册的密钥以发送加密过的用于密钥注册的密钥到安全芯片处理器111。
在步骤S313,安全芯片处理器111从密码处理器114接收用于密钥注册的密钥。在步骤S314,安全芯片处理器111发送用于密钥注册的密钥到密钥管理应用121。在S302,密钥管理应用121从安全芯片处理器111接收用于密钥注册的密钥并且保存所接收的用于密钥注册的密钥。
有这样的情况,其中作为服务供应者的操作者包括作为助理的操作者和作为密钥管理器的操作者,作为助理的操作者按照由服务供应者发出的指令进行注册密钥的操作,而作为密钥管理器的操作者管理助理和密钥,如上所述。
当助理进行参考图15所述的注册密钥/访问权限的操作时,如果将要被注册的密钥以明文的形式提供给助理有可能知道密钥的内容。
密钥管理器进行参考图18描述的注册用于密钥注册的密钥的操作,使用已注册的用于密钥注册的密钥加密要在安全芯片处理模块23中注册的密钥,并且提供加密过的密钥给助理,以便防止助理知道要被注册的密钥。
如上所述,在安全芯片处理模块23中,有可能通过准备访问控制列表(包括密钥信息的分组(密钥ID和密钥版本)、密钥信息的用法(密钥的操作(注册、改变、删除等)和密码处理(认证,加密,授权的创建等))、使用密钥信息和软件的人员(操作者)的认证方法和认证所要求的密钥信息(密钥ID,密钥版本,证书等))以及通过按照访问控制列表共同地管理密钥信息(密钥ID,密钥版本和密钥的值)、以及密钥信息的用法(密钥的操作(注册,改变,删除等)以及密码处理(认证,加密,授权的创建等))和操作者与软件的认证方法,来容易地管理在认证操作者时许可操作者的操作。
另外,将负责有关由服务供应者提供的服务的操作的操作者的操作者ID与在访问控制列表中只许可有关该服务的操作的信息相关联,使得能够以灵活的等级在各服务单元中许可访问密钥信息的分组(密钥ID和密钥版本),注册或者删除密钥等等。
由应用对安全芯片处理模块23的访问可独立于由进行有关密钥操作的操作的操作者对安全芯片处理模块23的访问而受管理。然而,这样的访问的独立管理使得统一管理与统一的达到安全是困难的。而且,必需独立于由操作者对安全芯片处理模块23访问的维护,进行由应用对安全芯片处理模块23访问的维护。
因此,安全芯片处理模块23通过访问控制列表共同地管理由应用对安全芯片处理模块23的访问和由操作者对安全芯片处理模块23的访问。这样的通过访问控制列表共同管理可以改善与访问密钥有关的安全性和维护。
本领域的熟练技术人员应该理解,在所附权利要求书或其等价方案的范围内,各种修改、组合、子组合或改变可取决于设计要求和其它因素而出现。
权利要求
1.一种信息处理设备,通过使用集成电路芯片为提供服务进行密码处理,所述信息处理设备包括认证装置,用于认证操作外部设备的操作者;存储装置,用于存储具有标识信息的访问控制列表,该标识信息标识所述操作者,该操作者与表示操作者被许可的密码处理的信息相关联;确认装置,用于参考访问控制列表以确认是否许可经认证的操作者所请求的密码处理;以及密码处理装置,用于在许可操作者所请求的密码处理时进行密码处理。
2.一种在信息处理设备中的信息处理方法,该方法通过使用集成电路芯片为提供服务进行密码处理,所述信息处理方法包括下列步骤认证操作外部设备的操作者;参考具有标识信息的访问控制列表,该标识信息标识所述操作者,该操作者与表示操作者被许可的密码处理的信息相关联,以确认是否许可经认证的操作者所请求的密码处理;以及在许可操作者所请求的密码处理时,进行密码处理。
3.一种程序,使计算机通过使用集成电路芯片为提供服务执行密码处理,所述程序包括下列步骤认证操作外部设备的操作者;参考具有标识信息的访问控制列表,该标识信息标识所述操作者,该操作者与表示操作者被许可的密码处理的信息相关联,以确认是否准许经认证的操作者所请求的密码处理;以及在许可操作者所请求的密码处理时进行密码处理。
4.一种信息处理设备,该设备通过使用集成电路芯片为提供服务进行密码处理,所述信息处理设备包括认证单元,认证操作外部设备的操作者;存储单元,存储具有标识信息的访问控制列表,该标识信息标识所述操作者,该操作者与表示操作者被许可的密码处理的信息相关联;确认单元,参考访问控制列表以确认是否许可经认证的操作者所请求的密码处理;以及密码处理单元,在许可操作者所请求的密码处理时进行密码处理。
全文摘要
一种信息处理设备,通过使用集成电路芯片为提供服务进行密码处理,该设备包括认证操作外部设备的操作者的认证单元;存储单元,存储具有标识信息的访问控制列表,标识信息标识操作者,与表示该操作者被许可的密码处理的信息相关联;确认单元,参考访问控制列表确认是否许可经认证的操作者所请求的密码处理;以及密码处理单元,在许可操作者所请求的密码处理时进行密码处理。
文档编号G06F21/34GK1758589SQ20051010886
公开日2006年4月12日 申请日期2005年9月30日 优先权日2004年10月8日
发明者赤鹿秀树, 荻嵨淳, 花木直文 申请人:飞力凯网路股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1