数据存储设备和数据存储方法

文档序号:6658932阅读:223来源:国知局
专利名称:数据存储设备和数据存储方法
技术领域
本发明涉及数据存储设备和数据存储方法,并且涉及能够管理IC卡资源以及在多个管理者通过使用一IC(Integrated Circuit,集成电路)卡提供其服务的情况下、用高度的灵活性和安全性执行对IC卡访问控制的数据存储设备和数据存储方法。
背景技术
例如,已经研制出期望用在电子货币系统、安全系统等方面的IC卡(智能卡)。
IC卡有用于执行各种处理的CPU(Central Processing Unit,中央处理单元)和用于存储处理所需数据的存储器,并且当IC卡电连接到预定的读出器/写入器(R/W)或在非接触状态下使用电磁波时,执行向IC卡发送数据及接收IC卡的数据。在非接触状态下使用电磁波用R/W执行数据发送/接收的IC卡通常通过电磁波提供必要的动力。
例如,在ISO(International Organization for Standardization,国际标准化组织)7816中,定义了接触型IC卡标准。按照此标准,例如基于用于存储数据的EF(Elementary File,基本文件)(对应于所说的文件)、和用于存储EF和DF(Dedicated File,专用文件)(对应于所说的目录(文件夹))能够执行数据管理。因此,通过设定某DF为父层并且提供其子层的DF,能够进行基于层结构的数据管理。
当IC卡用于由多个管理者提供服务时,可考虑这样一种方法,将DF作为一层分配给多个管理者中的每一个,并且将EF作为要提供用于每个管理者的服务供给的数据存储在DF中。
然而,在ISO7816中难以对每个DF限制IC卡资源诸如可使用容量和用于识别DF和EF(对应于一文件名和一目录名)的识别码。
因此,难以防止在不同的管理者之间复制识别码,并且难以限制管理者按超过预定容量的容量使用包含于IC卡内的存储器,所述预定容量是通过合同等确定的。
此外,在IC卡用在电子货币系统或安全系统的情况下,安全诸如数据保密、防止IC卡的伪造等是重要的,并且例如ISO7816,通过加锁DF限制对DF和属于DF的EF的访问。即,在ISO7816中,为了访问某DF,需要知道在延伸到所需DF的总线上的上层(父层)的所有DF密钥。
因此,例如,当作为父管理者的某管理者将分配给它的一部分资源分享给作为子管理者的另一管理者,并且在由父管理者管理的DF中形成由子管理者管理的DF,以使子管理者访问其DF,子管理者需要知道访问父层的DF(即父管理者的DF)的密钥,并且出现了安全性方面的问题。

发明内容
鉴于这种情况实现了本发明,并且本发明的目的是使资源管理能够存储数据,并且对数据具有高度灵活性和安全性的访问控制。
按照本发明的一个方面,数据存储设备特征在于其包括存储装置,具有一区定义区,用于储存存储区识别码的范围,该存储区识别码能被分配到要管理的存储区,并且用于识别该存储区和要管理的所述存储区的空容量;管理装置,用于根据所述区定义区的存储内容,管理所述存储装置。所述存储装置有所述区定义区,用于存储所述存储区识别码的范围,该存储区识别码能被分配到要管理的所述存储区,并且用于识别该存储区和要管理的所述存储区的所述空容量,并且所述管理装置根据所述区定义区的所述存储内容,管理所述存储装置。
按照本发明的另一方面,数据存储方法特征在于其包括根据所述存储装置的区定义区的存储内容、管理存储装置的管理步骤,所述存储装置具有一区定义区,用于储存存储区识别码的范围,该存储区识别码能被分配到要管理的存储区,并且用于识别该存储区和要管理的存储区的空容量。根据所述存储装置的所述区定义区的所述存储内容,管理所述存储装置,所述存储装置具有所述区定义区,用于存储所述存储区识别码的范围,该存储区识别码能被分配到要管理的所述存储区,并且用于识别该存储区和要管理的所述存储区的所述空容量。
根据本发明的另一方面,数据存储设备特征在于其包括管理装置,用于管理数据存储装置的所述存储区,同时设定层结构中的存储区;层密钥存储装置,用于存储层密钥,该层密钥用于所述数据存储装置的所述存储区的每一层;数据存储区密钥存储装置,用于存储一存储区的数据存储区密钥,该存储区中存储数据;产生装置,用于通过使用两个或更多个层密钥或数据存储区密钥,产生一个或更多个用于认证的认证密钥,以访问所述存储区;认证装置,用于根据所述认证密钥执行所述认证。所述管理装置管理所述数据存储装置的所述存储区,同时设定层结构中的所述存储区,并且所述层密钥存储装置存储所述层密钥,用于所述数据存储装置的所述存储区的每个层。所述数据存储区密钥存储装置存储所述数据存储区密钥,用于其中存储数据的所述存储区,并且产生装置通过使用两个或更多个层密钥或数据存储区密钥,产生一个或更多个用于认证的认证密钥,以访问所述存储区。认证装置根据所述认证密钥执行所述认证。
按照本发明的另一方面,数据存储方法特征在于其包括产生步骤,通过使用两个或更多个层密钥或数据存储区密钥,产生一个或更多个用于认证的认证密钥,以访问所述存储区;认证步骤,用于根据所述认证密钥执行所述认证。由两个或更多个层密钥或数据存储区密钥产生用于认证的一个或更多个认证密钥,访问所述存储区。根据所述认证密钥执行所述认证。
按照本发明的另一方面,提出了一种用于将数据发送到数据存储装置的服务提供设备,所述数据存储装置包括存储部件,所述存储部件具有多个区定义区,所述区定义区的每一个存储用于管理服务定义区的区密钥,和用于存储与该服务对应的数据的服务区,所述服务区由对应的服务定义区管理,所述服务提供设备包括用于通过使用与该区定义区和服务定义区对应的至少两个区密钥而产生服务区的存取密钥的部件;用于通过使用该存取密钥来认证该服务区的部件;和用于基于该认证结果而存取该服务区的部件。
按照本发明的另一方面,提出了一种用于存取数据存储装置的方法,该数据存储装置包括存储部件,该存储部件具有多个区定义区,所述区定义区的每一个存储用于管理服务定义区的区密钥,和用于存储与该服务对应的数据的服务区,所述服务区由对应的服务定义区管理,所述方法包括通过使用与该区定义区和服务定义区对应的至少两个区密钥而产生服务区的存取密钥;通过使用该存取密钥来认证该服务区;和基于该认证结果而存取该服务区。


图1是使用应用本发明的IC卡的卡系统实施例的结构方框图;图2是图1的读出器/写入器1的结构方框图;图3是图1的IC卡2的结构方框图;图4是图3的EEPROM 66的逻辑格式图;图5是图3的EEPROM 66的目录结构图;图6是构造图5的层结构的过程图;图7是区形成处理的流程图;图8是服务形成处理的流程图;图9是管理者之间密钥接收/传送图;图10是当管理者A提供服务时所需信息的图;图11是当管理者A提供服务时IC卡2的处理图;图12是通过服务提供装置111对IC卡2的认证方法图;图13是通过IC卡2对服务提供装置111的认证方法图;图14是当管理者B2提供服务时所需信息的图;图15是当管理者B2提供服务时IC卡2的处理图;图16是当管理者C提供服务时所需信息的图;图17是当管理者C提供服务时IC卡2的处理图;图18是当管理者C提供服务时所需信息的图;图19是当管理者C提供服务时IC卡2的处理图;图20是产生用于互相认证的第一访问密钥和第二访问密钥的方法图;图21是EEPROM 66的层结构图;图22是管理者之间密钥接收/传送图;图23是管理者之间服务(数据)的共同使用图;图24是EEPROM 66的层结构图;图25是管理者之间密钥接收/传送图;
具体实施例方式
以下参照附图将详细描述按照本发明的优选实施例。
图1示出应用本发明的非接触卡系统的实施例的结构(所述系统意指多个设备的逻辑组合,并且它与是否各设备位于同一壳体内无关)。
所述非接触卡系统包括R/W1、IC卡2和控制器3,并且在非接触状态下通过使用电磁波在R/W1和IC卡2之间执行数据发送/接收。
即,R/W1向IC卡2发送预定命令,IC卡2接收该命令,以执行对应于该命令的处理。IC卡2向R/W1发送对应于处理结果的响应数据。
R/W1通过预定接口(遵循RS-485A标准等)连接到控制器3,并且控制器3向R/W1提供预定控制信号,由此R/W1执行预定处理。
图2示出图1的R/W1的结构。
在IC 21中,DPU(Data Processing Unit,数据处理单元)31,用于执行数据处理;SPU(Signal Processing Unit,信号处理单元)32,用于处理要发送到IC卡2的数据和从IC卡2接收的数据;SCC(串行通信控制器)33,与控制器3通信;存储单元34,包括ROM部分41和RAM部分42,ROM部分41用于预先储存处理数据所需的信息,RAM部分42用于在处理过程中临时存储数据,DPU 31、SPU 32、SCC 33、存储单元34通过总线彼此连接。
此外,用于存储预定数据的快闪存储器(flash memory)22也连接到总线。
DPU 31向SPU 32输出要发送到IC卡2的命令,并且从SPU 32接收从IC卡2接收的响应数据。
对于要发送到IC卡2的命令执行预定处理(例如,BPSK(BiPhase ShiftKeying,双相相移键控))调制(编码成Manchester码)等)之后,SPU 32将其输出到调制电路23,并且SPU 32从解调电路25接收由IC卡2发送的响应数据,对数据执行预定处理。
调制电路23根据从SPU 32提供的数据,对具有从振荡器(OSC)26提供的预定频率(例如13.56MHz)的载波执行ASK(Amplitude Shift Keying,振幅偏移键控),并且将如此产生的调制波作为电磁波通过天线27输出到IC卡2。此时,设计调制电路23使得调制因子设定到小于1,并且执行ASK调制,这样即使在数据的低电平处,也可防止调制波的最大振幅减小到零。
解调电路25对通过天线27接收的调制波(ASK-modulated wave,ASK调制波)解调,并且将如此解调的数据输出到SPU 32。
图3示出图1的IC卡2的结构。
在IC卡2中,IC 51通过天线53接收从R/W1发送的调制波。电容52与天线53一起构成LC电路,对其进行设计以便对具有预定频率(载波频率)的电磁波调谐(振荡)。
在IC 51中,RF接口单元61(通信装置)由ASK解调器81检波和解调通过天线53接收的调制波(ASK调制波),并且将如此解调的数据输出到BPSK解调电路62和PLL(Phase Locked Loop,锁相环)单元63。此外,由电压调节器82稳定在ASK解调器81中检波的信号,并且作为DC电源将其提供到每个电路。
RF接口单元61在振荡电路83中振荡具有与所述数据的时钟频率相同频率的信号,并且将该信号输出到PLL单元63。
在RF接口单元61中,在ASK调制器81中,根据从运算单元64通过BPSK调制电路68提供的数据,来改变作为IC卡2电源的天线53的负载(例如,根据数据,一规定的切换元件被接通/断开,并且仅当切换元件接通时,预定负载并联连接到天线53),由此通过天线53接收的调制波进行ASK调制(当从IC卡2发送数据时(使IC卡2发送数据),R/W1设定所输出的调制波的最大振幅到固定值,并且此调制波根据天线53的负载的变化进行ASK调制),并且通过天线53将其调制分量发送到R/W1(改变R/W1的天线27的端电压)。
根据从ASK解调器81提供的数据,PLL单元63产生与所述数据同步的时钟信号,并且将时钟信号输出到BPSK解调电路62和BPSK调制电路68。
当在ASK解调电路81中解调的数据被BPSK调制时,BPSK解调电路62按照从PLL单元63提供的时钟信号,解调所述数据(对Manchester码解码),并且将如此解调的数据输出到运算单元64。
当从BPSK解调电路62提供的数据被加密时,运算单元64对在加密/解码单元92中的数据解码,然后处理在定序器(sequencer)91中的数据。当所述数据没加密时,从BPSK解调电路62提供的数据不通过加密/解码单元92而直接到定序器91。
设计定序器91(管理装置)(产生装置)(认证装置)以执行对应于作为要提供给其的命令的数据的处理。即,例如定序器91执行对EEPROM 6的数据写入和读出操作及其它所需的操作处理。此外,定序器91根据认证执行对EEPROM 66的访问控制,并且也管理EEPROM 66。
运算单元64的奇偶运算部分93根据存储在EEPROM 66中的数据,计算Reed Solomon码作为奇偶校验。
在运算单元64执行定序器91中的预定处理后,它将对应于所述处理的响应数据(要发送到R/W1的数据)输出到BPSK调制电路68。
BPSK调制电路68使从运算单元64提供的数据进行BPSK调制,并且将如此调制的数据输出到RF接口单元61的ASK调制器。
ROM(Read Only Memory,只读存储器)65存储定序器91执行其处理的程序和其它所需数据。RAM 67临时存储在定序器91等的处理过程中的数据。
EEPROM(Electrically Erasable and Programmable ROM,电可擦除可编程ROM)66(存储装置)(数据存储装置)是非易失性存储器,并且即使当IC卡完成与R/W1通信并且当电源停止时,它仍继续存储数据。
下面将描述R/W1和IC卡2之间的数据发送/接收处理。
R/W1(图2)从天线27辐射预定电磁波,监测天线27的负载状态,并且等待直到检测到由于IC卡2的靠近引起负载状态的变化。R/W1可执行辐射电磁波以呼叫IC卡2的处理(查询),直到在固定时间内从IC卡2获得响应,其中所述电磁波根据预定短图案的数据被ASK调制。
当在R/W1中检测到IC卡2的靠近时,R/W1的SPU 32以预定频率(例如,为所述数据时钟频率的两倍大)的矩形波作为载波,根据要发送到IC卡2的数据(对应于要由IC卡2执行的处理的命令,写入数据要写入到IC卡2中等)对其执行BPSK调制,并且将如此产生的调制波(BPSK调制信号)(Manchester码)输出到调制电路23。
在BPSK调制处理中,通过使用差分变换,所述数据能与调制波的相位变化相关联,在这种情况下,BPSK调制信号能够被解调到原始数据,即使当它被反相时也如此。因此,在解调操作中不需考虑调制波的极性。
根据BPSK调制信号输入,调制电路23使预定载波进行小于1(例如0.1)的调制因子(=数据信号的最大振幅/载波的最大振幅)的ASK调制,并且将如此产生的调制波(ASK调制波)通过天线27发送到IC卡2。
当不执行发送时,调制电路23产生例如数字信号两个电平(高电平和低电平)的高电平处的调制波。
在IC卡2中(图3),从R/W1的天线27辐射的部分电磁波在包括天线53和电容52的LC电路中转换成电信号,该电信号(调制波)输出到IC 51的RF接口61。RF接口61的ASK解调器81通过整流和平滑调制波来检测包络,并且将如此产生的信号提供到电压调节器82。此外,其抑制了信号的DC分量,提取数据信号,并且将数据信号输出到BPSK解调电路62和PLL单元63。
此时,天线53的端电压V0如下V0=V10(1+k×Vs(t))cos(ωt)然而,V10cos(ωt)表示载波,k表示调制因子,Vs(t)表示从SPU 32输出的数据。
通过ASK解调器81整流之后,电压V1中低电平值VLR如下VLR=V10(1+k×(-1))-Vf在此,在ASK解调器81中,Vf表示构成用于整流和平滑的整流电路的二极管(未示出)中的电压降,通常约为0.7伏。
当电压调节器82接收到由ASK解调器81整流和平滑的信号之后,稳定该信号,并且将其作为DC电源提供给各电路以及操作电路64。在此情况下,由于调制波的调制因子k如上所述小于1,整流之后电压变化(高电平和低电平之间的差值)小。因此,在电压调节器82中容易产生DC电源。
在此,当接收具有5%调制因子k的调制波时,V10大于3伏,整流之后低电平电压VLR等于或大于2.15(=3×(1-0.05)-0.7)伏,电源调节器82能够提供足够的电压作为给每个电路的电源。在此情况下,整流之后电压V1的AC分量(数据分量)的振幅2×k×V10(峰-峰值)等于或大于0.3(=2×0.05×3)伏,并且ASK解调器81能够以足够高的S/N比解调所述数据。
如上所述,通过使用具有小于1的调制因子k的ASK调制波,能够执行具有低差错率(在高S/N比状态)的通信,并且足够的DC电压作为电源能够提供给IC卡2。
当BPSK解调电路62接收到来自ASK解调器81的数据信号(BPSK解调信号)时,其按照从PLL单元63提供的时钟信号解调数据信号,并且将如此解调的数据输出到操作电路64。
当从BPSK解调电路62提供的数据被加密,操作单元64在加密/解码单元92中对该数据解码,然后将该数据(命令)提供到定序器91,以处理该数据。在此时间段期间,即,从数据被发送到IC卡2的时刻直到接收到该发送的响应的时间段期间,R/W1发送值为1的数据,并且是在等待状态。因此,在此期间,IC卡2接收最大振幅恒定的调制波。
所述处理完成之后,定序器91将关于处理结果等数据(要发送到R/W1的数据)输出到BPSK调制电路68。BPSK调制电路68使数据进行BPSK调制(编码成Manchester码)如同在R/W1的SPU 32的情况,然后将所调制的数据输出到RF接口单元61的ASK调制器84。
ASK调制器84通过使用切换元件等按照来自BPSK调制电路68的数据,变化连接到天线53两端的负载,由此所接收的调制波(如上所述在从IC卡2的数据发送时刻,从R/W1输出的调制波的最大振幅是恒定的)按照要发送的数据进行ASK调制,以变化R/W1的天线27的端电压,然后,将如此调制的数据发送到R/W1。
R/W1的调制电路23在接收来自IC卡2的数据时刻,继续发送值为1(高电平)的数据。在解调电路25中,根据天线27的端电压的微小变化(例如,几十微伏)检测从IC卡2发送的数据,其中天线27电磁耦合到IC卡2的天线53。
此外,在解调电路25中,由高增益放大器(未示出)放大并且调制所检测的信号(ASK调制波),并且如此获得的数字数据输出到SPU 32。SPU 32解调该数据(BPSK调制信号)并且将其输出到DPU 31。DPU 31处理来自SPU 32的数据,并且根据处理结果判断所述通信是否完成。如果判定该通信还执行,如上所述执行R/W1和IC卡2之间的通信。另一方面,如果判定该通信完成,则R/W1完成与IC卡2的通信处理。
如上所述,R/W1通过使用调制因子k小于1的ASK调制,将数据发送到IC卡2,IC卡2接收该数据以执行对应于该数据的处理,并且将对应于该处理结果的数据返回到R/W1。
图4示出了图3的EEPROM 66的逻辑格式。
EEPROM 66以块为基础构成,并且在图4的实施例中,例如一个块由16个字节构成。
此外,在图4的实施例中,最上面块的逻辑地址设定为#0000h(h表示十六进制),其它逻辑地址以上升的数字顺序分配。在图4中#0000h到#FFFFh被分配为逻辑地址,这样构建65536(=216)个块。
构建所述块以便被用作用户块或系统块。EEPROM 66的块以逻辑地址上升的数字顺序分配给用户块,并且以逻辑地址下降的数字顺序分配给系统块。即,在图4中,用户块向下增加,系统块向上增加。在没有空块的时候,不能形成用户块和系统块。因此,用户块和系统块之间的边界不是固定的,对用户块的数目和系统块的数目不加限制(然而,在图4的实施例中,用户块和系统块的总数限制到65536或更少)。
系统块分类成五种块制造ID(识别)块、发行ID块、系统定义块、区定义块和服务定义块。在图4的实施例中,用作区定义块或服务定义块的块作为区/服务定义块示出。
系统块中,制造ID块、发行ID块和系统定义块这三种块在IC卡2发行时已基本放置,它们分别放置在逻辑地址#FFFFh、#FFFEh和#FFFDh处。区/服务定义块以高于逻辑地址#FFFCh的逻辑地址形成顺序放置。
关于IC卡2的制造信息放置在制造ID块中。即,例如唯一的制造ID、制造日期、制造代码等放置在制造ID块中。
关于IC卡2的发行信息放置在发行ID块中。即,在发行ID块中放置IC卡2的发行日期代码、IC卡2的发行次序等。
在系统定义块中放置EEPROM 66拥有的系统块或用户块的数目、系统密钥等。当在IC卡2、R/W1和控制器3中执行相互认证时,使用该系统密钥。
通过将EEPROM 66的存储区(区)分配给管理者,形成区定义块,并且管理分配给管理者自身的存储区的信息等放置在区定义块中。即,例如在区定义块中放置后面描述的代码范围、空容量、区密钥等。
在服务定义块中放置管理后面描述的服务区的信息(服务区容量、服务密钥等)等。
在定序器91中用分层管理EEPROM 66的存储区。
下面图5示出了EEPROM 66的目录结构。
EEPROM 66的存储区设计成分层结构,其中区定义区被分层,并且设计区定义区以便能够具有区定义区和服务定义区。
区定义区(层密钥存储装置)被分配给管理者。在区定义区中放置表示识别码的范围的代码范围,该识别码可用作由管理者识别区定义区和服务定义区的名称,在区定义区中还放置表示可用空块的数目的空容量、产生用于认证的后面描述的访问密钥的区密钥。在此,1区定义区对应于参照图4描述的1区定义块。
在图5的实施例中,分配给管理者A的区定义区构成最上层,将管理者A的定义区设为父层,形成管理者B1和B2的区定义区。此外,将管理者B1的定义区设为父层,形成管理者C的区定义区。
服务定义区(数据存储区密钥存储装置)分配给管理者提供的服务,用于存储提供服务所需数据的服务区容量、产生访问密钥的服务密钥等放置在服务定义区中。在此,1服务定义区对应于参照图4描述的1服务定义块。
该服务区是用于存储提供服务所需数据的存储区,它对应于图4的用户块。即,由0之上的用户块构成服务区,并且构成服务区的用户块数目作为管理该服务区的所述服务定义区的容量放置。
此外,在区定义区和服务定义区中放置用于识别这些区的识别码。在此,识别区定义区和服务定义区的识别码以下称为区代码和服务代码。服务代码识别用于管理一服务区的服务定义区,这样它能被看作是用于识别所需服务区的识别码(服务区识别码)。
在图5的实施例中,最上层的区定义区分配给管理者A。0000h到FFFFh定义为可用的识别码的范围(代码范围),并且0123456789abcdef定义为区密钥。在此,任何识别码如果它是区定义区中代码范围内的识别码都可用作区定义区的区代码。在此实施例中,区定义区的代码范围的最小值用作其区代码。因此,代码范围从0000h到FFFFh的区定义区,即分配给管理者A的区定义区的区代码设定到0000h。在此,区代码设定到#xxxxh的区定义区,以下作为区定义区#xxxxh描述。
管理者A的区定义区#0000h的层提供有管理者A提供服务的服务定义区。区定义区#0000h的从0000h到FFFFh代码范围的0008h,作为服务代码分配给该服务定义区。在此,服务代码#xxxxh的服务定义区,以下作为服务定义区#xxxxh描述。
服务定义区#0008h的容量设定为8,于是,由8用户块构成的服务区是可用的。此外,服务定义区#0008h的服务密钥设定到0101010101010101。
管理者A的区定义区#0000h的层提供有作为子层的管理者B1的区定义区#0100h和管理者B2的区定义区#1000h。此外,区定义区#0000h的层提供有其它区定义区(未示出),这样,例如由区定义区#0000h可用的块数目(空容量)设定到37块。
在是区定义区#0100h的父层的区定义区#0000h的从0000h到FFFFh代码范围中,管理者B1的区定义区#0100h的代码范围被分配0100h到03FFh。在此,因为管理者B1的区定义区的代码范围是从0100h到03FFh,是代码范围最小值的0100h设定为管理者B1的区定义区的区代码。
此外,区定义区#0100h的空容量和区密钥分别设定为14和a0a0a0a0a0a0a0a0。
此外,管理者B1的区定义区#0100h的层提供有作为子层的管理者C的区定义区#0300h。在是区定义区#0300h的父层的区定义区#0100h的从0100h到03FFh代码范围中,管理者C的区定义区#0300h的代码范围被分配0300h到03FFh。在此,因为管理者C的区定义区的代码范围是从0300h到03FFh,是代码范围最小值的0300h设定为管理者C的区定义区的区代码。
区定义区#0300h的空容量和区密钥分别设定为0和b0b0b0b0b0b0b0b0。
管理者C的区定义区#0300h的层提供有服务定义区,用于管理者C的服务提供。在区定义区#0300h的从0300h到03FFh代码范围中的030Ch作为服务代码分配到服务定义区。
服务代码030Ch所分配到的服务定义区,即服务定义区#030Ch的容量设定到16,这样能够使用由16用户块构成的服务区。此外,服务定义区#030Ch的服务密钥设定到0202020202020202。
在此,由服务定义区#030Ch管理的服务区容量等于16,服务定义区#030Ch自身使用一个块作为服务定义块,这样因为存在服务定义区#030Ch,所使用的块的数目等于17(1+16)。由服务定义区#030Ch所属层的区定义区#0300h可用的块数目等于0块,因为该区的空容量等于0。此外,区定义区#0300h自身使用一个块作为区定义块。因此,在区定义区#0300h的层中,所使用的块数目等于18(=17+1),并且可用块的数目等于0。因此,发现从作为其父层(上层)的区定义区#0100h分配的块数目等于18(=18+0)。
对于区定义区#0100h的层,如上所述,18块用在区定义区#0300h中,该区定义区#0300h作为区定义区#0100h的子层(低层)。此外,区定义区#0100h自身使用一个块作为区定义块。如上所述区定义区#0100h的空容量等于14。因此,在区定义区#0100h的层中,所使用的块数目等于19(=18+1),可用块的数目等于14。因此,从作为其父层的区定义区#0000h分配的块数目等于33(=19+14)。
另一方面,在作为其父层的区定义区#0000h的从0000h到FFFFh代码范围中,管理者B2的区定义区#1000h的代码范围被分配1000h到1FFFh。在此,因为管理者B2的区定义区的代码范围是从1000h到1FFFh,是上述代码范围最小值的1000h设定为管理者B2的区定义区的区代码。此外,区定义区#1000h的空容量和区密钥分别设定为43和c0c0c0c0c0c0c0c0。
管理者B2的区定义区#1000h的层提供有服务定义区,用于管理者B2的服务提供。在区定义区#1000h的从1000h到1FFFh代码范围中的1022h作为服务代码分配到服务定义区。
服务代码1022h所分配到的服务定义区,即服务定义区#1022h的容量设定到4,这样能够使用由4用户块构成的服务区。此外,服务定义区#1022h的服务密钥设定到0303030303030303。
在此,由服务定义区#1022h管理的服务区容量等于4,服务定义区#1022h自身使用一个块作为服务定义块,这样因为存在服务定义区#1022h,所使用的块的数目等于5(=4+1)。此外,由服务定义区#1022h所属层的区定义区#1000h可用的块数目等于43,因为该区的空容量等于43。此外,区定义区#000h自身使用一个块作为区定义块。因此,在区定义区#1000h的层中,所使用的块数目等于6(=5+1),并且可用块的数目等于43。因此,分配给区定义区#1000h的块数目等于49(=6+43)。
因为如上所述,作为能被分配给要管理的区定义区的识别码范围的代码范围存储在区定义区中,根据代码范围定义示于图5的这种层结构,其中管理目标的区定义区设定为子层,并且用于管理区定义区的区定义区设定为父层。
下面,将参照图6描述构成示于图5的层结构的处理,假定管理者A是IC卡2的提供商,最上层的区定义区#0000h分配给管理者A。
管理者A按照用户请求(1)发行IC卡2。仅图5的层结构中的区定义区#0000h形成于IC卡2中。
当管理者A通过使用由服务定义区#0008h管理的服务区,开始提供预定服务时,管理者A将形成服务定义区#0008h(2)所需信息登记进登记卡发行机101。
在此,例如通过示于图1的R/W1和控制器3构成登记卡发行机101。登记卡发行机101可放置在火车站、零售店或其它场所。
下面,当用户将IC卡2插入登记卡发行机101时(当设定IC卡2允许与包含在登记卡发行机101中的R/W1通信时),登记卡发行机101根据所登记的信息将命令和所需数据发送到IC卡2,以形成服务定义区#0008h。经上述操作,用户通过使用由服务定义区#0008h管理的服务区,允许被提供管理者A的服务。
另一方面,当管理者B1、B2想使用IC卡2被提供服务,每个管理者与管理者A签定一合同,这样,管理者A将形成区定义区#0100h(3)和#1000h(4)所需信息登记进登记卡发行机101。当用户将IC卡2插入登记卡发行机101中时,登记卡发行机101根据登记的信息将命令和所需数据发送到IC卡2,以形成区定义区#0100h和#1000h,由此管理者B1或B2能够在区定义区#0100h或#1000h中定义的范围内,使用IC卡2的资源。
以下,当管理者B2通过使用由服务定义区#1022h管理的服务区,开始提供预定服务时,管理者B2将形成服务定义区#1022h(5)所需信息登记进登记卡发行机101。当用户将IC卡2插入登记卡发行机101时,登记卡发行机101根据登记的信息,将命令和所需数据发送到IC卡2,以形成服务定义区#1022h。因此,用户使用由服务定义区#1022h管理的服务区,被提供管理者B2的服务。
此外,当管理者C希望在管理者B1的管理下通过IC卡2提供服务,管理者C与管理者B1签定一合同,这样,管理者B1将形成区定义区#0300h(6)所需信息登记进登记卡发行机101。当用户将IC卡2插入登记卡发行机101中时,登记卡发行机101根据登记的信息将命令和所需数据发送到IC卡2,以形成区定义区#0300h,由此管理者C能够在区定义区#0300h中定义的范围内,使用IC卡2的资源。
以下,当管理者C通过使用由服务定义区#030Ch管理的服务区时,开始提供预定服务时,管理者C将形成服务定义区#030Ch(7)所需信息登记进登记卡发行机101。当用户将IC卡2插入登记卡发行机101时,登记卡发行机101根据登记的信息,将命令和所需数据发送到IC卡2,以形成服务定义区#030Ch。由此,用户可以使用由服务定义区#030Ch管理的服务区,接受管理者C的服务提供。
在IC卡2中,如上所述,根据来自登记卡发行机101的命令,形成区定义区和服务定义区。例如通过定序器91执行形成区定义区的区形成处理、和形成服务定义区的服务形成处理。将参照图7和图8描述区形成处理和服务形成处理。
首先,将参照图7的流程图描述区形成处理。
当IC卡2插入登记卡发行机101时,登记卡发行机101向IC卡2发送指示形成一区定义区的命令(以下称为定义,区形成命令),以及形成区定义区所需信息,即例如要形成的区定义区的代码范围、分配给区定义区的块数目(以下称为分配块数)、区密钥和作为父层的区定义区的区代码(以下称为父区代码)。
在此,从安全性方面来看,最好形成一区定义区所需的信息发送到IC卡2的同时进行加密。例如可通过使用与存储在具有父区代码的区定义区中的区密钥相同的密钥,执行加密。存储在具有父区代码的区定义区中的区密钥存储在EEPROM 66中,这样加密的信息能够在IC卡2中解码。
当IC卡2(定序器91)接收到区形成命令时,对与区形成命令一起发送的加密信息执行解码,由此识别出父区代码和代码范围、分配块和要形成的区定义区的区密钥。此外,在IC卡2中,识别出要形成的区定义区的区代码。即,在这种情况下,将要形成的区定义区的代码范围的最小值识别为其区代码。
在IC卡2中,在步骤S1判断要形成的区定义区是否已经在EEPROM 66中形成。即,在步骤S1中,判断具有与要形成的区定义区的区代码相同区代码的区定义区是否已经形成。
如果在步骤S1中判定要形成的区定义区已经形成,则完成区形成处理。在要形成的区定义区已经形成的情况下,没有后续处理执行,因为不需重复形成相同的区定义区。
如果在步骤S1中判定还没形成要形成的区定义区,则该处理进行到步骤S2,判断要形成的区定义区的代码范围和分配块数(容量)是否合适。即,在步骤S2判断要形成的区定义区的代码范围是否包含在存储于具有父代码的区定义区中的代码范围中,以及要形成的区定义区的分配块数是否在存储于具有父区代码的区定义区中的空容量以下。
当在步骤S2中判定要形成的区定义区的代码范围和分配块数是不合适的,即,当要形成的区定义区的代码范围不包含在存储于具有父区代码的区定义区中的代码范围中时,或当要形成的区定义区的分配块数超过存储于具有父区代码的区定义区中的空容量时,在步骤S3执行差错处理,然后完成区形成处理。即,在步骤S3,其中具有父区代码的区定义区设定为父层、但是没有作为其子层的区定义区能够形成的消息发送到登记卡发行机101。因此,在这种情况下,没有区定义区形成。
另一方面,如果在步骤S2判定要形成的区定义区的代码范围和分配块数合适,即,判定要形成的区定义区的代码范围包含在存储于具有父区代码的区定义区中的代码范围中时,并且当要形成的区定义区的分配块数低于存储于具有父区代码的区定义区中的空容量时,在步骤S4,要形成的区定义区形成为具有父区代码的区定义区的层(父层)的子层。
即在步骤S4,在EEPROM 66的空块(图4)中的最低块(具有最大逻辑地址的空块)保证作为对应于要形成的区定义区的区定义块。此外,代码范围、空容量、区密钥等写入区定义块中。在此,在步骤S4,从登记卡发行机101发送的数据作为代码范围和区密钥直接写入。通过将从登记卡发行机101发送的分配块数减1获得的值作为空容量写入。将分配块数减1获得的值写入,因为如此形成的区定义区使用一个块。
下面,处理进行到步骤S5,重写父区代码的区定义区的空容量,然后完成区形成处理。即,在步骤S5中,通过从具有父区代码的区定义区的空容量中减去分配块数获得的值,作为具有父区代码的区定义区的空容量新写入。
通过上述区形成处理,形成示于图5中的管理者B1、B2、C的区定义区#0100h、#1000h、#0300h。
即,假定在IC卡2发行的时候,而且是IC卡2的发行者的管理者A有IC卡2的所有资源,并且识别码或由IC卡2可用的容量是从0000h到FFFFh或65533个块,仅其中代码范围是从0000h到FFFFh并且空容量等于65532的最上层的区定义区#0000h,作为在IC卡2发行时的区定义区存在。
在此实施例中,如图4所示,EEPROM 66有65536个块,然而,在发行IC卡2之后,可用容量等于65533个块,其数目仅比65536少3,因为制造ID块、发行ID块、系统定义块存在。
此外,最上层的区定义区#0000h的空容量等于65532块,其数目比65533块少1个块,这是因为区定义区#0000h自身使用一个块。
当管理者A与管理者B1分享从0100h到03FFh范围内的识别码和其资源中的33个块时,执行区形成处理,以形成区定义区#0100h。即,在这种情况下,0100h到03FFh和32个块作为代码范围和空容量分别写入区定义区#0100h。空容量比从管理者A分享的33个块的数目少一个块,因为区定义区#0100h自身使用一个块。
当形成区定义区#0100h时,管理者A的区定义区#0000h的空容量减少分享给管理者B1的33个块。
当管理者A与管理者B2分享从1000h到1FFFh范围的识别码和49个块时,执行区形成处理,以形成区定义区#1000h。即,在这种情况下,1000h到1FFFh和48个块作为代码范围和空容量分别写入区定义区#1000h。空容量比从管理者A分享的49个块的数目少一个块,因为区定义区#1000h自身使用一个块。
当形成区定义区#1000h时,管理者A的区定义区#0000h的空容量减少从管理者B2分享的33个块。
当如上所述形成区定义区#0100h或#1000h时,允许管理者B1或B2在区定义区#0100h或#1000h的层中形成作为上述层的子层的区定义区和服务定义区。
例如,当管理者B1与管理者C分享从0300h到03FFh范围的识别码和18个块时,执行区形成处理,以形成区定义区#0300h。即,在这种情况下,0300h到03FFh和17个块作为代码范围和空容量分别写入区定义区#0300h。空容量比从管理者B1分享的18个块的数目少一个块,因为区定义区#0300h自身使用一个块。
当形成区定义区#0300h时,管理者B1的区定义区#0100h的空容量减少从管理者C分享的18个块的数目。即,如上所述,当形成区定义区#0100h时,区定义区#0100h的空容量等于32个块。然而,如图5所示,从空容量中减少18个块,于是空容量等于14个块。
下面,将参考图8的流程图,描述服务形成处理。
当IC卡2插入登记卡发行机101时,登记卡发行机101向IC卡2发送指示形成一服务定义区的命令(以下称为服务形成命令),以及形成服务定义区所需信息,即要形成的服务定义区的服务代码、分配给服务定义区的块数目(以下称为分配块数)、服务密钥和其中形成服务定义区的层的区定义区的区代码(以下称为父区代码)等。
在此,从安全性方面来看,最好如同区形成处理的情况,通过使用与存储在具有父区代码的区定义区中的区密钥相同的密钥,在形成一服务定义区所需的信息发送到IC卡2的同时进行加密。
当接收到服务形成命令时,IC卡2(定序器91)将与服务形成命令一起发送的加密的信息进行解码,由此识别出父区代码和服务代码、分配块数和要形成的服务定义区的服务密钥。
在IC卡2中,在步骤S11判断要形成的服务定义区是否已经在EEPROM66中形成。即,在步骤S11中,判断具有与要形成的服务定义区有相同服务代码的服务定义区是否已经形成。
当在步骤S11中判定要形成的服务定义区已经形成,则完成服务形成处理。即,当要形成的服务定义区已经形成的情况下,不执行后续处理,因为不需重复形成相同的服务定义区。
此外,如果在步骤S11中判定还没形成要形成的服务定义区,则该处理进行到步骤S12,判断要形成的服务定义区的服务代码和分配块数(容量)是否合适。即,在步骤S12判断要形成的服务定义区的服务代码是否包含在存储于具有父区代码的区定义区中的代码范围中,以及要形成的服务定义区的分配块数是否在存储于具有父区代码的区定义区中的空容量以下。
如果在步骤S12中判定要形成的服务定义区的服务代码和分配块数是不合适的,即,如果要形成的服务定义区的服务代码不包含在存储于父层的区定义区中的代码范围中时,或当要形成的服务定义区的分配块数超过存储于父层的区定义区中的空容量时,则处理进行到步骤S13,以执行差错处理,然后完成服务形成处理。即,其中在父层的区定义区的层中不能形成服务定义区的消息发送到登记卡发行机101。因此,在这种情况下,不能形成服务定义区。
另一方面,如果在步骤S12判定要形成的服务定义区的服务代码和分配块数合适,即,判定要形成的服务定义区的服务代码包含在存储于具有父区代码的区定义区中的代码中时,并且当要形成的服务定义区的分配块数低于存储于父区代码的区定义区中的空容量时,处理进行到步骤S14,其中在具有父区代码的区定义区的层中形成要形成的服务定义区。
即在步骤S14,在EEPROM 66的空块(图4)中的最低块(具有最大逻辑地址的空块)保证作为对应于要形成的服务定义区的服务定义块。此外,服务代码、容量、服务密钥等写入服务定义块中。在此情况下,在步骤S14,从登记卡发行机101发送的服务代码和服务密钥被直接写入。通过将从登记卡发行机101发送的分配块数减1获得的值作为容量写入。将分配块数减1获得的值写入,因为要形成的服务定义区使用一个块。
在步骤S14,以逻辑地址增加的顺序选择空块,空块的数目对应于写入如此形成的服务定义区中的容量,并且空块保证作为构成由服务定义区管理的服务区的用户块。接着,处理进行到步骤S15。
在步骤S15,重写入具有父区代码的区定义区的空容量,完成服务形成处理。即,在步骤S15中,通过从具有父区代码的区定义区的空容量中减去分配块数获得的值,作为区定义区的空容量新写入。
通过执行上述服务形成处理,形成示于图5中的管理者A、B2、C的服务定义区#0008h、#1022h、#030Ch。
即,当管理者A通过使用0008h的识别码和其资源中9个块的容量、提供服务时,执行服务形成处理,以形成服务定义区#0008h,并且8个块作为容量写入服务定义区#0008h。此外,保证8个空块作为用户块,并且8个块设定为由服务定义区#0008h管理的服务区。写入服务定义区#0008h的容量比9个块的数目少一个块,因为服务定义区#0008h使用一个块。
当形成服务定义区#0008h时,管理者A的区定义区#0000h的空容量减少9块,此9块被服务定义区#0008h分享。
如上所述,管理者A能够通过使用由服务定义区#0008h管理的8个块的服务区,提供服务。
当管理者B2通过使用1022h的识别码和其资源中5块的容量提供服务时,执行服务形成处理,以形成服务定义区#1022h,并且将4块作为容量写入服务定义区#1022h。此外,保证4个空块作为用户块,并且设定为由服务定义区#1022h管理的服务区。写入服务定义区#1022h的容量比5块的数目少1块,因为服务定义区#1022h自身使用一个块。
当形成服务定义区#1022h时,管理者B2的区定义区#1000h的空容量减少分享给服务定义区#1022h的5块。即,如上所述,在形成区定义区#1000h的时候,空容量等于48块,然而,它减少5块,于是等于43块,如图5所示。
如上所述,允许管理者B2通过使用由服务定义区#1022h管理的4块服务区,提供服务。
此外,当管理者C例如通过使用030Ch的识别码和其资源中17块容量提供服务时,执行服务形成处理,以形成服务定义区#030Ch,并且将16块作为容量写入服务定义区#030Ch。此外,保证16个空块作为用户块,并且设定为由服务定义区#030Ch管理的服务区。写入服务定义区#030Ch的容量比17块的数目少1块,因为服务定义区#030Ch自身使用一个块。
当形成服务定义区#030Ch时,管理者C的区定义区#0300h的空容量减少分享给服务定义区#030Ch的17块。即,如上所述,在形成区定义区#0300h的时候,空容量等于17块,然而,它减少17块,于是等于0,如图5所示。
如上所述,允许管理者C通过使用由服务定义区#030Ch管理的16块服务区,提供服务。
如上所述,根据代码范围和空容量存储于其中的区定义区,管理EEPROM 66,使得能够进行IC卡2的资源管理。即,能够限制在区定义区的层中可用的容量和识别码。结果,甚至当一管理者分享分配给另一个管理者一部分资源(在此情况下,是可用容量和识别码)时,使得IC卡2可共同使用,能够防止识别码在不同管理者之间重叠,并且能够防止管理者使用超过经合同等预定的容量的EEPROM 66。
在IC卡2中,EEPROM 66的存储区具有层结构,其中区定义区被分层,如参照图5所描述的,用于认证的密钥(在此实施例中,分别将用于区定义区的密钥和用于服务定义区的密钥称为区密钥和服务密钥)分别存储在区定义区和服务定义区中,使得能够执行对IC卡2高度灵活性和安全性的访问控制。
即,通过图9所示管理者之间传送信息,能够实现对IC卡2的高度灵活性和安全性的访问控制。
特别是,也是IC卡2的发行者的管理者A确定要存储在EEPROM 66的系统定义块(图4)中的系统密钥和其自身的区定义区#0000h的区密钥,并且将系统密钥存储在系统定义块中,同时将区密钥#0000h存储在区定义区#0000h中。在此,将区定义区#xxxxh的区密钥称为区密钥#xxxxh。
此外,管理者A用区密钥#0000h加密系统密钥,以产生区中间密钥KA。DES(Data Encryption Standard,数据加密标准)、FEAL(Fast Data EnciphermentAlgorithm,快速数据加密算法)等可用作加密方法。
当管理者A将其资源分享给管理者B1时,管理者A将区中间密钥KA给予管理者B1。此外,管理者A确定管理者B1的区密钥#0100h,并且将该区密钥与其区代码#0000h一起给予(分配)B1。
因此,管理者B1能够识别出区中间密钥KA和其区密钥#0100h,然而,它不能识别出称其为父的管理者A的系统密钥和区密钥#0000h。然而,由作为父的管理者A将管理者B1的区密钥#0100h给予作为所说的子的管理者B1,于是,作为父的管理者A识别出作为子的管理者B1的区密钥#0100h。
由管理者A给予管理者B1的区密钥#0100h通过管理者B1的区定义区#0100h的区形成处理(图7),写入区定义区#0100h。
管理者B1根据从管理者A获得的区密钥#0100h,将从作为其父的管理者A获得的区中间密钥KA加密,以产生区中间密钥KB1。
管理者A当将其资源分享给管理者B2时,也将区中间密钥KA给予管理者B2。此外,管理者A确定管理者B2的区密钥#1000h,并且将该区密钥与其区代码#0000h一起给予管理者B2。
因此,管理者B2能够识别出区中间密钥KA和其区密钥#1000h,然而,它不能识别出作为父的管理者A的系统密钥和区密钥#0000h。然而,由于通过作为父的管理者A将管理者B2的区密钥#1000h给予作为子的管理者B2,于是,作为父的管理者A识别出作为子的管理者B2的区密钥#1000h。
由管理者A给予管理者B2的区密钥#1000h,在管理者B2的区定义区#1000h的区形成处理中写入其区定义区#1000h。
管理者B2根据从管理者A获得的区密钥#1000h,将从作为其父的管理者A获得的区中间密钥KA加密,以产生区中间密钥KB2。
另一方面,当管理者B1将其资源分享给管理者C时,将区中间密钥KB1给予管理者C。此外,管理者B1确定管理者C的区密钥#0300h,并且将该区密钥与其区代码#0100h和作为父的管理者A的区代码#0000h一起给予管理者C。
因此,管理者C能够识别出区中间密钥KB1和其区密钥#03000h,然而,它不能识别出作为父的管理者B1的区密钥#0100h。然而,由于通过作为父的管理者B1将区密钥#0100h给予作为子的管理者C,于是,作为父的管理者B1识别出作为子的管理者C的区密钥#0300h。
由管理者B1给予管理者C的区密钥#0300h,通过管理者C的区定义区#0300h的区形成处理,写入其区定义区#0300h。
管理者C根据从管理者B1获得的区密钥#0300h,将从作为父的管理者B1获得的区中间密钥KB1加密,以产生区中间密钥KC。
如图10所示,当管理者A通过使用由在其区定义区#0000h的层中形成的服务定义区#0008h管理的服务区、提供服务时,管理者A根据区中间密钥KA,将存储在服务定义区#0008h中的服务密钥(存储在服务定义区#xxxxh中的服务密钥以下称为服务密钥#xxxxh)加密,以产生服务中间密钥K#0008h,并且将其与区中间密钥KA一起登记进服务提供机111。此外,管理者A将其区定义区#0000h的区代码#0000h、及其在区定义区#0000h的层中形成的服务定义区#0008h的服务代码#0008h登记进服务提供机111。
在此,例如由示于图1的R/W1和控制器3构成服务提供机111,并且将数据从预定服务区读出或将数据写入预定服务区,提供预定服务。
在此情况下,当IC卡2插入服务提供机111中时,在服务提供机111和IC卡2之间执行下面的相互认证。
即,示于图11的服务提供机111将登记的区代码#0000h和服务代码#0008h发送到IC卡2。在IC卡2(定序器91)中,接收来自服务提供机111的区代码#0000h和服务代码#0008h。
在IC卡2中,读出存储在系统定义块(图4)中的系统密钥,并且还从具有从服务提供机111接收的区代码#0000h的区定义区中读出区密钥#0000h。此外,根据区密钥#0000h加密系统密钥,使得产生与登记进图10的服务提供机111的区中间密钥KA相同的密钥。与区中间密钥KA相同的密钥设定为用于认证的第一访问密钥(认证密钥)Kbc。
在IC卡2中,对具有从服务提供机111接收的服务代码#0008h的服务定义区,从中读出服务密钥#0008h。根据服务密钥#0008h加密区中间密钥KA,使得产生与登记进图10的服务提供机111中的服务中间密钥K#0008h相同的密钥。将与服务中间密钥K#0008h相同的密钥设定为用于认证的第二访问密钥Kac。
因此,在此情况下,作为第一访问密钥Kbc的区中间密钥KA或作为第二访问密钥Kac的服务中间密钥K#0008h登记进服务提供机111中,由此在IC卡2中产生作为第一访问密钥Kbc的区中间密钥KA或作为第二访问密钥Kac的服务中间密钥K#0008h。
例如,如图12所示,服务提供机111认证IC卡2。
即,在服务提供机111中,产生随机数,按照算法E1对其转换。即,根据第二访问密钥Kac对随机数加密(例如DES加密),并且根据第一访问密钥Kbc对加密结果解码(例如DES解码)。根据第二访问密钥Kac对解码结果加密。基于算法E1的随机数的转换结果发送到IC卡2。
在IC卡2中,来自服务设备111的基于算法E1的随机数的转换结果按照算法D1转换。即,基于算法E1的转换结果根据第二访问密钥Kac解码,并且解码结果根据第一访问密钥Kbc加密。此外,加密结果根据第二密钥Kac解码。
在IC卡2中,基于算法D1的转换结果根据算法E2再转换。即,基于算法D1的转换结果根据第一访问密钥Kbc加密,并且第一访问密钥Kbc根据第二服务密钥Kac加密。用于基于算法D1的转换结果的、基于第一访问密钥Kbc的加密结果,根据第一访问密钥Kbc的基于第二访问密钥Kac的加密结果,进行解码。解码结果根据第一访问密钥Kbc加密,并且发送到服务提供机111。
在服务提供机111中,来自卡2的基于算法E2的转换结果根据算法D2转换。即,基于算法E2的转换结果根据第一访问密钥Kbc解码,并且第一访问密钥Kbc根据第二访问密钥Kac加密。用于基于算法E2的转换结果的、基于第一访问密钥Kbc的解码结果,根据基于第二访问密钥Kac的第一访问密钥Kbc的加密结果,进行加密。加密结果根据第一访问密钥Kbc解码。
在服务提供机111中,原始随机数和基于算法D2的转换结果相互比较,以认证IC卡2。即,当原始数与基于算法D2的转换结果一致时,识别出IC卡2是合适的。另一方面,如果它们互相不一致,则认为IC卡2是不合适的(例如,它是伪造的)。
例如,如果IC卡2识别为合适的,在IC卡2中执行服务提供机111的认证,如图13所示。
即,在IC卡2中,产生随机数,该随机数按照算法E2转换,并且发送到服务提供机111。
在服务提供机111中,来自IC卡2的基于算法E2的随机数的转换结果按照算法D2转换。此外,基于算法D2的转换结果按照算法E1转换,并且发送到IC卡2。
在IC卡2中,来自服务提供机111的基于算法E1的转换结果,按照算法D1转换,并且转换结果和原始随机数相互比较,以执行服务提供机111的认证。即,当原始随机数与基于算法D2的转换结果一致时,服务提供机111识别为合适的。另一方面,如果它们互相不一致,则服务提供机111识别为不合适的(例如,修改的)。
当IC卡2和服务提供机111二者识别为合适的时,在IC卡2中允许仅对由具有从服务提供机111发送的服务代码的服务定义区管理的服务区访问。因此,在参照图10和图11描述的情况下,能够仅对由服务定义区#0008h管理的服务区访问。
即,知道区中间密钥KA、区代码#0000h、服务密钥#0008h和服务代码#0008h的管理者A能够访问由服务定义区#0008h管理的服务区。然而,管理者A既不知道服务密钥#1022h也不知道服务密钥#030Ch,使得管理者A基本不能访问由服务定义区#1022h或#030Ch管理的服务区。
下面,当管理者B2通过使用由形成在其区定义区#1000h的层中的服务定义区#1022h管理的服务区、提供其服务时,如图14所示,它根据区中间密钥KB2,将存储在服务定义区#1022h中的服务密钥#1022h加密,以产生服务中间密钥K#1022h,并且将其与区中间密钥KB2一起登记进服务提供机111。管理者B2将其区定义区#1000h的层之上的一上层的区定义区的区代码、即在此情况下为管理者A的区定义区#0000h的区代码#0000h、以及其区定义区#1000h的区代码#1000h、和形成在区定义区#1000h的层中的服务定义区#1022h的服务代码#1022h也登记进服务提供机111中。
在此情况下,当IC卡2插入服务提供机111中时,在服务提供机111和IC卡2之间执行下面的相互认证。
即,如图15所示,服务提供机111将登记的区代码#0000h、#1000h和服务代码#1022h发送到IC卡2。在IC卡2(定序器91)中,从服务提供机111中接收区代码#0000h、#1000h和服务代码#1022h。
在IC卡2中,读出存储在系统定义块(图4)中的系统密钥,从具有区代码#0000h或#1000h的区定义区中读出区密钥#0000h或#1000h,其中区代码#0000h或#1000h是从服务提供机111接收的。此外,系统密钥根据区密钥#0000h加密,使得产生与区中间密钥KA相同的密钥。与区中间密钥KA相同的密钥根据区密钥#1000h加密,使得产生与登记在图14的服务提供机111中的区中间密钥KB2相同的密钥。与区中间密钥KB2相同的密钥设定为用于认证的第一访问密钥Kbc。
在IC卡2中,对具有从服务提供机111接收的服务代码#1022h的服务定义区,从中读出服务密钥#1022h。根据服务密钥#1022h加密与区中间密钥KB2相同的密钥,使得产生与登记进图14的服务提供机111中的服务中间密钥K#1022h相同的密钥。将与服务中间密钥K#1022h相同的密钥设定为用于认证的第二访问密钥Kac。
因此,在此情况下,是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KB2或服务中间密钥K#1022h登记进服务提供机111中,由此在IC卡2中产生是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KB2或服务中间密钥K#1022h。
在IC卡2和服务提供机111之间执行相互认证,如同参照图12和13描述的情况。
作为相互认证的结果,当IC卡2和服务提供机111二者识别为合适的时,在IC卡2中允许仅对由具有从服务提供机111发送的服务代码的服务定义区管理的服务区访问。因此,在图14和图15的情况下,能够仅对由服务定义区#1022h管理的服务区访问。
即,知道区中间密钥KB2、区代码#0000h、#1000h、服务密钥#1022h和服务代码#1022h的管理者B2能够访问由服务定义区#1022h管理的服务区。然而,管理者B2既不知道服务密钥#0008h也不知道服务密钥#030Ch,于是管理者B2基本不能访问由服务定义区#0008h和#030Ch管理的服务区。
下面,当管理者C通过使用由形成在其区定义区#0300h的层中的服务定义区#030Ch管理的服务区、提供其服务时,如图16所示,它根据区中间密钥KC,将存储在服务定义区#030Ch中的服务密钥#030Ch加密,以产生服务中间密钥K#030Ch,并且将其与区中间密钥KC一起登记进服务提供机111。管理者C还将其区定义区#0300h的层之上的一上层的区定义区的区代码、即在此情况下为管理者A的区定义区#0000h的区代码#0000h、以及管理者B1的区定义区#0100h的区代码0100h、其区定义区#0300h的区代码#0300h、和形成在区定义区#0300h的层中的服务定义区#030Ch的服务代码#030Ch也登记进服务提供机111中。
在此情况下,当IC卡2插入服务提供机111中时,在服务提供机111和IC卡2之间执行下面的相互认证。
即,如图17所示,登记的区代码#0000h、#0100h、#0300h和服务代码#030Ch发送到IC卡2。在IC卡2(定序器91)中,从服务提供机111中接收区代码#0000h、#0100h、#0300h和服务代码#030Ch。
在IC卡2中,读出存储在系统定义块(图4)中的系统密钥,也从具有区代码#0000h、#0100h或#0300h的区定义区中读出区密钥#0000h、#0100h或#0300h,其中区代码#0000h、#0100h或#0300h是从服务提供机111接收的。此外,系统密钥根据区密钥#0000h加密,使得产生与区中间密钥KA相同的密钥。与区中间密钥KA相同的密钥根据区密钥#0100h加密,使得产生与区中间密钥KB1相同的密钥。与区中间密钥KB1相同的密钥根据区密钥#0300h加密,使得产生与登记在图16的服务提供机111中的区中间密钥KC相同的密钥。与区中间密钥KC相同的密钥设定为用于认证的第一访问密钥Kbc。
在IC卡2中,对具有从服务提供机111接收的服务代码#030Ch的服务定义区,从中读出服务密钥#030Ch。根据服务密钥#030Ch加密区中间密钥KC,使得产生与登记进图16的服务提供机111中的服务中间密钥K#030Ch相同的密钥。将与服务中间密钥K#030Ch相同的密钥设定为用于认证的第二访问密钥Kac。
因此,在上述情况下,是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KC或服务中间密钥K#030Ch登记进服务提供机111中,在IC卡2中产生是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KC或服务中间密钥K#030Ch。
在IC卡2和服务提供机111之间执行相互认证,如同图12和13的情况。
作为相互认证的结果,如果IC卡2和服务提供机111二者识别为合适的,在IC卡2中允许仅对由具有从服务提供机111发送的服务代码的服务定义区管理的服务区访问。因此,在图16和图17的情况下,能够仅对由服务定义区#030Ch管理的服务区访问。
即,知道区中间密钥KC、区代码#0000h、#0100h、#0300h、服务密钥#030Ch和服务代码#030Ch的管理者C能够访问由服务定义区#030Ch管理的服务区。然而,管理者C既不知道服务密钥#0008h也不知道服务密钥#1022Ch,管理者C基本不能访问由服务定义区#0008h或#1022h管理的服务区。
如上所述,甚至当管理者不知道上层的区密钥时,也能够访问其服务区。
如上所述,每个管理者不能访问由该管理者不知道服务密钥的服务定义区管理的任何服务区。然而,例如,有一种情况,管理者C不仅希望执行使用由其服务定义区#030Ch管理的服务区的服务,而且希望执行使用由管理者B的服务定义区#1022h管理的服务区的服务。
在这种情况下,为了管理者C访问由服务定义区#1022h管理的服务区,管理者C必须知道区中间密钥KB2、区代码#0000h、#1000h、服务密钥#1022h和服务代码#1022h,如参照图14和15所描述的。因此,需要从管理者B2获得这些信息。
然而,甚至作为管理者B2之父的管理者A也不知道由管理者B2知道的服务密钥#1022h,这样,从安全性方面看,允许仅由管理者B2知道的服务密钥#1022h告诉管理者C是不利的。
在这种情况下,甚至当忽略安全性问题时,为了管理者C访问分别由服务定义区#030Ch或#1022h管理的两个服务区,需要执行示于图15的IC卡2中的处理,以产生第一访问密钥Kbc和第二访问密钥Kac并且执行相互认证,用于对由服务定义区#030Ch管理的服务区访问,还执行示于图17的处理,以产生第一访问密钥Kbc和第二访问密钥Kac并且执行相互认证,用于对由服务定义区#1022h管理的服务区访问。
因此,当对每个服务区执行用于访问一服务区的相互认证时,难以立即访问该服务区。结果,当图1的卡系统应用到车站中检查票时,在持票者通过设置在查票处的门的相对短时间内,难以访问IC卡2的预定服务区并且写入或读出数据。
因此,在管理者C不仅提供使用由其服务定义区#030Ch管理的服务区的服务,而且提供使用由管理者B2的服务定义区#1022h管理的服务区的服务,为了解决安全性问题和保证对服务区的立即访问,在管理者C和B2之间执行示于图18的信息传送,并且所述信息登记进服务提供机111。
即,管理者C根据区中间密钥KC,对存储在服务定义区#030Ch中的服务密钥#030Ch加密,如同图16的情况,以产生服务中间密钥K#030Ch。此外,管理者C将服务中间密钥K#030Ch传送到管理者B2,以根据服务密钥#1022h加密。管理者C接收服务信息K#1022h′和服务代码#1022h,服务信息K#1022h是根据服务密钥#1022h的、服务中间密钥K#030Ch的加密结果。
因此,在管理者C和B2之间仅传送服务中间密钥K#030Ch和K#1022h′,既不存在仅由管理者C知道的服务密钥#030Ch被管理者B2知道的情况,也不存在仅由管理者B2知道的服务密钥#1022h被管理者C知道的情况。即不存在安全性方面的问题。
从管理者B2接收服务中间密钥K#1022h′和服务代码#1022h的管理者C,将其区定义区#0300h的层之上的上层中的区定义区的区代码,即,在此情况下,管理者A的区定义区#0000h的区代码#0000h、管理者B1的区定义区#0100h的区代码0100h、管理者C的区定义区#0300h的区代码#0300h登记进服务提供机111中。此外,管理者C将区中间密钥KC和形成在区定义区#0300h的层中的服务定义区#030Ch的服务代码#030Ch,登记进服务提供机111中。
在此情况下,当IC卡2插入服务提供机111中时,在服务提供机111和IC卡2之间执行下面的相互认证。
即,如图19所示,服务提供机111将登记的区代码#0000h、#0100h、#0300h及其服务代码#030Ch和#1022h发送到IC卡2。在IC卡2(定序器91)中,从服务提供机111接收区代码#0000h、#0100h、#0300h及服务代码#030Ch和#1022h。
在IC卡2中,读出存储在系统定义块(图4)中的系统密钥,从具有区代码#0000h、#0100h、#0300h的区定义区中读出区密钥#0000h、#0100h、#0300h,其中区代码#0000h、#0100h、#0300h是从服务提供机111接收的,并且产生与登记在图18的服务提供机111中的区中间密钥KC相同的密钥,如同图17的情况。与区中间密钥KC相同的密钥设定为用于认证的第一访问密钥Kbc。
在IC卡2中,对具有从服务提供机111接收的服务代码#030Ch或#1022h的服务定义区,从中分别读出服务密钥#030Ch或#1022h。根据服务密钥#030Ch加密区中间密钥KC,结果产生与服务中间密钥K#030Ch相同的密钥。此外,根据服务密钥#1022h加密与服务中间密钥K#030Ch相同的密钥,产生与登记在图18的服务提供机111中的服务中间密钥K#1022h′相同的密钥。将与服务中间密钥K#1022h′相同的密钥设定为用于认证的第二访问密钥Kac。
因此,在上述情况下,是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KC或服务中间密钥K#1022h′登记进服务提供机111中,在IC卡2中产生是第一访问密钥Kbc或是第二访问密钥Kac的区中间密钥KC或服务中间密钥K#1022h′。
在IC卡2和服务提供机111之间执行相互认证,如同图12和13的情况。
作为相互认证的结果,如果IC卡2和服务提供机111二者判定为合适的,在IC卡2中允许仅对由具有从服务提供机111发送的服务代码的服务定义区管理的服务区访问。因此,在图18和图19的情况下,允许对由服务定义区#030Ch管理的服务区和对由服务定义区#1022Ch管理的服务区访问。
如上所述,通过根据两个或更多个区密钥或服务密钥加密系统密钥,两个或更多个区密钥或服务密钥简并(degenerate)成(组成)第一访问密钥Kbc和第二访问密钥Kac这两个密钥,通过使用第一访问密钥Kbc和第二访问密钥Kac,执行对由具有从服务提供机111发送的服务代码的服务定义区管理的服务区允许访问的相互认证。因此,即使当准备对多个服务定义区访问时,能够在短时间内完成相互认证,由此保证对服务区的快速访问。
在图12和13的情况下,通过使用第一访问密钥Kbc和第二访问密钥Kac两个密钥,执行相互认证处理,然而,例如仅通过使用第二访问密钥Kac能够执行相互认证处理。在此情况下,在IC卡2中,通过根据两个或更多个区密钥或服务密钥加密系统密钥,两个或更多个区密钥或服务密钥简并成一个第二访问密钥Kac。
此外,如图20所示,能够例如根据存储在制造ID块中、并且是IC卡2的固有值的制造ID,使用通过加密第一访问密钥Kbc和第二访问密钥Kac获得的加密结果。在此,在图20中,对于第一访问密钥Kbc,通过使第一访问密钥Kbc和制造ID进行EXOR,执行加密。对于第二访问密钥Kac,执行基于DES系统的加密。对于第二访问密钥Kac,通过使用第一访问密钥Kbc和制造ID的EXOR结果作为一密钥,执行基于DES系统的加密。
如上所述,当通过加密第一访问密钥Kbc和第二访问密钥Kac获得的加密结果用于相互认证时,更提高了安全性。在此情况下,在服务提供机111中需要制造ID,制造ID可从IC卡2发送。
下面,EEPROM 66的存储区有一个分层的结构,其中区定义区被分层,并且设计每个区定义区和每个服务定义区,以存储区密钥和服务密钥用于认证。结果,能够执行具有灵活性的下面的访问控制。
即,当一管理者作为父管理者、并且希望停止由分享父管理者资源的子管理者的服务提供时,因为子管理者进行了不正当服务,父管理者能够通过改变存储在区定义区中的区密钥,禁止子管理者访问IC卡2。
特别是,例如当管理者B1停止图5中管理者C的服务提供时,管理者B1改变存储在IC卡2的区定义区#0100h中的区密钥#0100h。在此情况下,在IC卡2中形成区中间密钥KB1,此外,在图17中还改变区中间密钥KC,改变之前仅知道区中间密钥KC的管理者C不能访问服务定义区#030Ch。
管理者A可以改变存储在区定义区#0000h中的区密钥#0000h,以禁止访问服务定义区#030Ch,其中管理者A是管理者B1的父管理者,而管理者B1作为管理者C的父管理者。然而,在此情况下,是管理者A之子的管理者B2不能访问由管理者B2的服务定义区#1022h管理的服务区。即,当管理者改变其区密钥时,不能访问由在对应于该区密钥的区定义区的层(子层、孙层...)中的区定义区管理的服务定义区。
在图18和19中,管理者C使用与管理者B2共用的管理者B2的服务定义区#1022h。然而,在管理者之间能够有服务定义区的更复杂的共同使用,用于某些类型的密钥管理。
具体地说,例如,假定在EEPROM 66中构造示于图21中的层结构。即,在图21中,管理者E的区定义区#5000h和管理者G的区定义区#7000h,形成为管理者A的区定义区#0000h的层的子层,其中管理者A作为IC卡2的发行者。此外,在管理者E的区定义区#5000h的层中,形成服务定义区#5008h、#5048h、#5088h和#50C8h,并且形成管理者F的区定义区#6000h。
此外,在管理者F的区定义区#6000h的层中,形成服务定义区#6008h和#6048h,在管理者G的区定义区#7000h的层中,形成服务定义区#7008h和#70C8h。
在上述的层结构中,管理者A根据区密钥#0000h加密系统密钥,如图22的(A)中所示,并且将加密结果传送到作为子管理者的管理者E和G。
如图22的(B)所示,管理者E根据区密钥#5000h,对基于来自管理者A的区密钥#0000h的系统密钥加密结果进行加密,并且使用加密结果作为第一访问密钥KE1。此外,管理者E依次根据服务密钥#5008h、#5048h、#5088h和#50C8h中的每一个,对第一访问密钥KE1(基于区密钥#5000h的加密结果)加密,并且使用最终加密结果作为第二访问密钥KE2。
如图22的(C)所示,给管理者F提供有来自管理者E的第一访问密钥KE1(基于区密钥#5000h的加密结果),根据区密钥#6000h对其加密,并且将加密结果设定为第一访问密钥KF1。此外,管理者F依次根据服务密钥#6008h、#6048h中的每一个,对第一访问密钥KF1(基于区密钥#6000h的加密结果)加密,并且将加密结果传送给管理者E,以依次根据服务密钥#5048h和#5088h中的每一个对该加密结果加密。此后,给管理者F提供有来自管理者E的加密结果,并且将其传送给管理者G,以根据服务密钥#70C8h对其加密。给管理者F提供有来自管理者G的加密结果,并且将它用作第二访问密钥KF2。
如图22的(D)所示,管理者G根据区密钥#7000h,将来自管理者A的基于区密钥#0000h的系统密钥加密结果加密,并且将该加密结果用作第一访问密钥KG1。此外,管理者G依次根据服务密钥#7008h、#70C8h中的每一个,对第一访问密钥KG1(基于区密钥#7000h的加密结果)加密,并且将最终加密结果传送给管理者F,以根据服务密钥#6048h对其加密。此后,管理者G将管理者F使用服务密钥#6048h的加密结果传送给管理者E,以依次根据服务密钥#5088h和#50C8h中的每一个,对该加密结果加密。给管理者G提供有来自管理者E的加密结果,并且将其用作第二访问密钥KG2。
在此情况下,在IC卡2中,按照与图22情况相同的过程,通过使用存储在EEPROM 66中的区密钥和服务密钥,对系统密钥加密,以产生第一访问密钥和第二访问密钥,由此在管理者E、F和G中能够相互执行服务定义区的共同使用,如图23所示。
即,管理者E仅能访问其服务定义区#5008h、#5048h、#5088h和#50C8h。管理者F不仅能够访问其服务定义区#6008h、#6048h,而且能够访问管理者E的服务定义区#5048h、#5088h、以及管理者G的服务定义区#70C8h。管理者G不仅能够访问其服务定义区#7008h和#70C8h,而且能够访问管理者E的服务定义区#5088h和#50C8h、管理者F的服务定义区#6048h。
在示于图22的密钥传送中,没有管理者的服务密钥自身被其它管理者知道的情况。即,管理者E的服务密钥#5008h、#5048h、#5088h和#50C8h从不被管理者A和管理者F及管理者G知道。同样,管理者F的服务密钥#6008h和#6048h从不被管理者E和G知道,管理者G的服务密钥#7008h和#70C8h从不被管理者E和F知道。
此外,如上所述,当某管理者改变其服务密钥时,不能访问由区定义区的层中层的区定义区管理的所有服务定义区,即当父管理者改变区密钥时,子管理者不能访问IC卡2。然而,按照特别的密钥管理方法能够禁止特别的子管理者的访问。
特别是,例如,假定在EEPROM 66中构造如图24所示的层结构。即,在图24中,管理者H的区定义区#8000h、管理者I的区定义区#9000h、管理者J的区定义区#A000h形成为管理者A的区定义区#0000h的层的子层,其中管理者A作为IC卡2的发行者。此外,在管理者H的区定义区#8000h的层中形成服务定义区#8008h、#8104h和#8105h。
在上述层结构中,如图25的(A)所示,管理者A根据区密钥#0000h对系统密钥加密,并且将加密结果传送给作为其子管理者的管理者I和J。
如图25的(C)中所示,管理者I根据区密钥#9000h,将来自管理者A的基于区密钥#0000h的系统密钥加密结果进行加密,并且将该加密结果用作第一访问密钥KI1。此外,管理者I将第一访问密钥KI1(基于区密钥#9000h的加密结果)传送给管理者H,以依次根据服务密钥#8008h和#8104h中的每一个,将第一访问密钥KI1加密,如图25中(B)所示。然后,管理者I将加密结果用作第二访问密钥KI2,如图25中(C)所示。
如图25的(D)中所示,管理者J根据区密钥#A000h,将来自管理者A的基于区密钥#0000h的系统密钥加密结果进行加密,并且将该加密结果用作第一访问密钥KJ1。此外,管理者J将第一访问密钥KJ1(基于区密钥#A000h的加密结果)传送给管理者H,以依次根据服务密钥#8008h和#8105h中的每一个,将加密结果加密,如图25中(B)所示。然后,管理者J将加密结果用作第二访问密钥KJ2,如图25中(D)所示。
在此情况下,在IC卡2中,按照与图25情况相同的过程,通过使用存储在EEPROM 66中的区密钥和服务密钥,对系统密钥加密,以产生第一访问密钥和第二访问密钥,由此管理者I能够访问管理者H的服务定义区#8008h和#8104h,并且管理者J能够访问管理者H的服务定义区#8008h和#8015h。
管理者H形成服务定义区#8008h,以便在管理者I和J之间共同使用其数据,并且管理者H形成服务定义区#8104h或#8105h作为所说的虚拟(dummy)服务定义区,以控制由管理者I或J每个访问服务定义区#8008h。因此,由服务定义区#8014h和#8015h管理的服务区是不必要的,其容量可等于零。
在此情况下,例如当管理者H改变服务密钥#8104h时,通过使用服务密钥#8104h产生第二访问密钥KI2、以在IC卡2中执行认证处理的管理者I,不能访问服务定义区#8008h。即仅禁止管理者I访问服务定义区#8008h。另一方面,例如当管理者H改变服务密钥#8105h时,通过使用服务密钥#8105h产生第二访问密钥KJ2、以在IC卡2中执行认证处理的管理者J,不能访问服务定义区#8008h。即仅禁止管理者J访问服务定义区#8008h。
如上所述,通过使用虚拟服务定义区能够禁止特别的子管理者访问。
在前面描述中,本发明应用于非接触卡系统,其中在没有接触的状态下进行通信。然而,本发明可应用到在接触状态下进行通信的卡系统。此外,本发明的应用范围不限于卡系统。
在此实施例,通过所说秘密密钥系统执行认证,然而,可通过公开密钥系统执行。
在此实施例中,当访问区定义区的层的服务定义区时,通过依次使用在从区定义区层到最上层的总线上的区定义区的区密钥,产生第一访问密钥,然而,第一访问密钥的产生方法不限于上述方式。此外,按照本实施例,通过依次使用要访问的服务定义区的服务密钥,产生第二访问密钥。然而,第二访问密钥的产生方法不限于上述方式。即,通过依次使用任何两个或更多个区密钥或服务密钥,能够产生第一访问密钥和第二访问密钥。
此外,在此实施例中,每个用户块和系统块存储在是一个存储器的EEPROM 66中,然而,用户块和系统块可存储在物理上不同的存储器中。
在此实施例,数据存储在EEPROM中,然而,所述数据可存储在半导体存储器中、除了EEPROM之外的磁盘等。
按照本发明的数据存储设备和数据存储方法,根据具有区定义区的存储装置的区定义区的存储内容管理存储装置,该区定义区用于储存存储区识别码的范围,该存储区识别码能被分配给要管理的存储区,并且用于识别存储区,并且区定义区用于存储要管理的存储区的空容量。因此,能够进行存储装置的资源管理。
按照本发明的数据存储设备和数据存储方法,管理数据存储装置的存储区,同时将所述存储区设计在层结构中,通过对数据存储装置的存储区的每层使用两个或更多个层密钥,或对其中存储数据的存储区使用数据存储区密钥,产生用于认证的一个或更多个认证密钥,并且根据认证密钥执行认证。因此,能够对数据存储装置执行具有灵活性和高度安全性的访问控制。
权利要求
1.一种用于将数据发送到数据存储装置的服务提供设备,所述数据存储装置包括存储部件,所述存储部件具有多个区定义区,所述区定义区的每一个存储用于管理服务定义区的区密钥,和用于存储与该服务对应的数据的服务区,所述服务区由对应的服务定义区管理,所述服务提供设备包括用于通过使用与该区定义区和服务定义区对应的至少两个区密钥而产生服务区的存取密钥的部件;用于通过使用该存取密钥来认证该服务区的部件;和用于基于该认证结果而存取该服务区的部件。
2.如权利要求1所述的服务提供设备,还包括用于读取该服务区中存储的数据以提供该服务的部件。
3.如权利要求1所述的服务提供设备,还包括用于将数据发送到该存储部件的部件。
4.如权利要求3所述的服务提供设备,其中所述数据发送部件将数据发送到经认证的服务区。
5.如权利要求3所述的服务提供设备,其中所述数据发送部件发送用于在该区定义区的较低级形成一个新的区定义区的数据。
6.一种用于存取数据存储装置的方法,该数据存储装置包括存储部件,该存储部件具有多个区定义区,所述区定义区的每一个存储用于管理服务定义区的区密钥,和用于存储与该服务对应的数据的服务区,所述服务区由对应的服务定义区管理,所述方法包括通过使用与该区定义区和服务定义区对应的至少两个区密钥而产生服务区的存取密钥;通过使用该存取密钥来认证该服务区;和基于该认证结果而存取该服务区。
7.如权利要求6所述的方法,还包括以层结构形成新区定义区的步骤。
8.如权利要求6所述的方法,还包括形成新服务定义区的步骤。
9.如权利要求6所述的方法,还包括形成服务区的步骤。
10.如权利要求6所述的方法,还包括读取经认证的服务区中存储的数据以提供该服务的步骤。
全文摘要
公开了一种数据存储设备和数据存储方法,在对应于一目录的区定义区中存储可用识别码(对应于文件名或目录名)的代码范围,根据代码范围构建层结构,其中相关区定义区设定为父层,其它区定义区设定为子层。在区定义区中存储可用存储区的容量(空容量),由空容量和代码范围限制可用在区定义区的层中的容量和识别码。
文档编号G07F7/10GK1506856SQ200310119630
公开日2004年6月23日 申请日期1999年7月16日 优先权日1998年7月16日
发明者日下部进, 幸, 高田昌幸, 佐佐木将央, 将央 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1