发明详述
第一实施例
下面描述根据本发明第一实施例的数据保护系统1。
图1示出数据保护系统1的结构。如该图中所示,数据保护系统1包括记录载体10、便携式电话20、PDA(个人数字助理)30、PC(个人计算机)40和便携式电话50。
记录载体10是其中具有微处理器的便携式介质。这里,假定记录载体10是存储卡、IC卡等,该记录载体放在例如便携式电话、PDA、PC、数字照相机和卡阅读器/写入器的卡槽中以进行使用。
SD(安全数字)存储卡是这种存储卡的一个例子。SD存储卡具有内置的称作CPRM(可记录介质的内容保护)的版权保护功能,并且适合于存储诸如音乐和图像的内容。
SIM(用户身份模块)卡是IC卡的一个例子。便携式电话公司发行作为IC卡的SIM卡,每个卡都含有订约人的信息。该SIM卡连接在便携式电话上,用于用户标识。通过从一部便携式电话上拆下该SIM卡并将其放在另一部便携式电话中,可以在同一个订约人的名下使用多部便携式电话。
便携式电话20、PDA30、PC40和便携式电话50中的每一个都是具有微处理器的计算机系统。在该说明书中,这些便携式电话、PDA和PC有时共同地称作“终端设备”。
这些终端设备中的每一个都具有卡槽,并且当将记录载体10放在卡槽中时向记录载体10输入信息以及将信息从记录载体10输出。给每个终端设备分配一个设备ID,该设备ID是用于该终端设备的特定标识符。分别给便携式电话20、PDA30、PC40和便携式电话50分配“ID_A”、“ID_B”、“ID_C”和“ID_D”的设备ID。稍后在该说明书中讨论这些细节。
这里要注意,本实施例假定将记录载体10预先放在便携式电话20的卡槽中,然后在这种情况下卖给便携式电话20的用户。另外,便携式电话20、PDA30和PC40应该全部是由同一个用户拥有的终端设备,而便携式电话50应该是由另一个人拥有的终端设备。
<结构>
1.记录载体10
图2示出记录载体10的结构。如该图中所示,记录载体10包括终端I/F 11、数据存储单元12、设备信息登记单元14、设备信息存储单元15和控制器16。数据存储单元12包括限制存取区13。
1.1终端I/F11
终端I/F11包括插头和接口驱动器。当将记录载体10放在便携式电话20、PDA30、PC40或便携式电话50的卡槽中时,终端I/F11从相关的终端设备接收各种信息并将各种信息发送到相关的终端设备。
具体而言,例如该终端I/F11将从终端设备接收到的存取请求输出到控制器16,并将从该终端设备接收到的登记请求数据和删除请求数据输出到设备信息登记单元14。
1.2数据存储单元12
数据存储单元12具体而言就是闪存存储器,且其存储程序和数据。可以从控制器16对数据存储单元12进行存取,并且该数据存储单元12能够在其中存储从控制器16接收到的信息,并根据控制器16的请求将存储的信息输出到控制器16。注意,数据存储单元12包括限制存取区13,该区域用于存储高度机密的数据等。
1.3限制存取区13
限制存取区13是数据存储单元12的一部分,如图3中所示,其包括块1、块2和块3这三个存储块。这些存储块的存储区应该在逻辑上彼此分开,但是不需要物理上分开。
块1存储应用程序1(APP1)、应用程序2(APP2)、地址目录数据和受保护的邮件数据。块2存储进度表数据、图像数据等。块3存储应用程序3(APP3)等。
控制器16读出和写入在每个块中存储的这些程序和数据。
1.4设备信息登记单元14
设备信息登记单元14包括微处理器等,并且根据从便携式电话20接收到的登记请求将存取授权的设备信息登记到设备信息存储单元15中。存取授权的设备信息是关于授权对限制存取区13进行存取的终端设备的信息。而且,设备信息登记单元14已经根据从便携式电话20接收到的删除请求而删除了在设备信息存储单元15中已登记的存取授权的设备信息。
图4是表示设备信息登记单元14的结构的功能方框图。如该图中所示,设备信息登记单元14包括程序起动(process-launch)请求接收单元101、随机数发生单元102、响应数据验证单元103、公钥获得单元104、随机密钥生成单元105、加密单元106、处理数据接受单元107、签名验证单元108、密码验证单元109、解密单元110和数据控制器111。
(a)处理启动请求接收单元101经过终端I/F 11接收来自便携式电话20的处理启动请求。处理启动请求是表示起动存取授权的设备信息的登记处理和删除处理的信息。当接收该处理启动请求时,该处理启动请求接收单元101向随机数发生单元101输出指令,以产生随机数。
(b)当随机数发生单元102接收到来自处理启动请求接收单元101的用于产生随机数的指令时,其产生随机数r。该随机数r是用于利用便携式电话20进行的询问/响应验证的询问数据。随机数发生单元102将产生的随机数r经终端I/F 11输出到便携式电话20,并且输出到响应数据验证单元103。
(c)响应数据验证单元103预先与便携式电话20共享共用密钥Kc和加密算法E1。响应数据验证单元103检查从便携式电话20经由终端I/F 11接收到的响应数据,并判断便携式电话20是否是经授权的终端设备。
具体而言,响应数据验证单元103接收来自随机数发生单元102的随机数r,该随机数是询问数据,并通过利用作为加密密钥的共用密钥Kc向接收到的随机数r应用加密算法E1来产生加密数据C1=E1(Kc,r)。同时,响应数据验证单元103经由终端I/F 11接收来自便携式电话20的响应数据C1′=E1(Kc,r)。然后,响应数据验证单元103将加密数据C1和响应数据C1′进行比较。当这两者匹配时,响应数据验证单元103确认便携式电话20是经授权的终端设备,并向随机密钥生成单元105提供产生随机密钥的指令。当C1和C1′不匹配时,响应数据验证单元103确认便携式电话20是未被授权的终端设备,并将表明“授权错误”的错误信息经由终端I/F 11发送到便携式电话20。加密算法E1不限制于任何特殊的算法,而是DES(数据加密标准)的一个例子。
(d)公钥获取单元104获得并保存便携式电话20的公钥PK20。这里,并没有对如何获得公钥PK20设定限制。公钥PK20可以预先写到公钥获取单元104,或者从根据例如用户操作经由终端I/F 11从便携式电话20获得。公钥获取单元104接收来自加密单元106的指令,并将公钥PK20输出到加密单元106。
(e)当随机密钥生成单元105从响应数据验证单元103接收生成随机密钥的指令时,该随机密钥生成单元105生成随机密钥Kr。随机密钥生成单元105将生成的随机密钥Kr输出到加密单元106,以及输出到解密单元110。
注意,在说明书中,将随机密钥生成单元105生成的所有随机密钥都表示为“Kr”,但是,实际的随机密钥Kr是每当随机密钥生成单元105从响应数据验证单元103接收生成随机密钥的指令时随机生成的密钥数据。
(f)加密单元106接收来自随机密钥生成单元105的随机密钥Kr。当加密单元106接收随机密钥Kr时,该加密单元指导(direct)公钥获取单元104输出公钥PK20,并接收来自公钥获取单元104的公钥PK20。
加密单元106通过利用作为加密密钥的公钥PK20向随机密钥Kr应用加密算法E2来生成加密的随机密钥C2=E2(PK20,Kr)。加密单元106经由终端I/F 11向便携式电话20输出生成的加密随机密钥C2=E2(PK20,Kr)。这里,加密算法E2不限于任何特定的算法,而是RSA(Rivest-Shamir-Adleman)算法的一个例子。
(g)处理数据接受单元107经由终端I/F 11接收来自便携式电话20的处理数据,并将该接收到的处理数据输出到签名验证单元108。
处理数据接受单元107从便携式电话20接收到的处理数据是登记请求数据或删除请求数据。当登记请求数据表示存取授权的设备信息的登记处理时,删除请求数据表示存取授权的设备信息的删除处理。
图5A示出登记请求数据的一个例子。登记请求数据120包括登记命令121、加密登记ID列表122、密码123和签名数据124。
登记命令121是指导下文描述的数据控制器111进行登记处理的命令。这里“/register”定为登记命令121的特定例子。
加密的登记ID列表122是一种加密数据,该加密数据是利用作为加密密钥的随机密码Kr向图5B中所示的登记ID列表125应用加密算法E3而生成的。这里,加密的登记ID列表122表示为E3(Kr,登记ID列表)。
如图5B中所示,登记ID列表125包括几组登记信息126和127。每组登记信息包括设备ID、可用存取数量、可用存取时间段、可用存取块和可用存取应用程序。
密码123是由便携式电话20的用户键入的数据。
签名数据124是利用签名密钥向登记命令121、加密的登记ID列表122和密码123应用数字签名算法而生成的签名数据。这里,签名密钥是由便携式电话20保存的用于数字签名的密钥数据。
登记请求数据120是由便携式电话20的控制器23生成的数据。因此,在后面对便携式电话20的描述中讨论登记请求数据120和登记ID列表125的细节。
图5C示出删除请求数据的例子。删除请求数据130包括删除命令131、加密的删除ID列表132、密码133和签名数据134。
删除命令131是指导下文描述的数据控制器111进行删除处理的命令。这里“/delete”定为删除命令131的特定例子。
加密的删除ID列表132是利用作为加密密码的随机密码Kr向图5D中所示的删除ID列表135应用加密算法E3而生成的加密数据。这里,加密的删除ID列表132表示为E3(Kr,删除ID列表)。删除ID列表135包括“ID_C”和“ID_D”的设备ID。
密码133是由便携式电话20的操作者键入的数据。
签名数据134是通过利用签名密钥将数字签名算法应用于删除命令131、加密的删除ID列表132和密码133而生成的签名数据。
这里,随机密钥Kr是为如上所述每个处理在随机密钥生成单元105中随机生成的密钥数据。因此,用于生成加密的登记ID列表122的随机密钥与用于生成加密的登记ID列表132的随机密钥不同。
注意,删除请求数据130是由便携式电话20的控制器23生成的数据。因此,在后面对便携式电话20的描述中将讨论删除请求数据130的细节。
(h)签名验证单元108将验证密钥预先保存在其中。验证密钥对应于由便携式电话20保存的签名密钥,并且该验证密钥是用于验证从便携式电话20输出的签名数据的密钥数据。
签名验证单元108接收来自处理数据接受单元107的处理数据,检验在接收到的处理数据中包含的签名数据的合法性,并判断该处理数据是否的确是由便携式电话20生成的数据。
当验证签名数据的合法性时,签名验证单元108向密码验证单元109输出处理数据。反之,如果没有验证该签名数据的合法性,那么该签名验证单元108相应地经由终端I/F 11告知便携式电话20,并丢弃该处理数据。
为了给出具体的例子,假定从处理数据接受单元107接收的处理数据是图5A中所示的登记请求数据120。签名验证单元108利用验证密钥来检查签名数据“Sig_A”的合法性。当验证了签名数据“Sig_A”的合法性时,签名验证单元108向密码验证单元109输出登记请求数据120。如果从处理数据接受单元107接收到的处理数据是图5C中所示的删除请求数据130,那么签名验证单元108利用验证密钥来检查签名数据“Sig_A”的合法性。当验证了签名数据“Sig_A”的合法性时,签名验证单元108向密码验证单元109输出删除请求数据130。
在签名验证单元108中为验证签名所用的算法是利用公钥加密方案的数字签名标准。由于该算法是可行的公知技术,因此省略对该算法的解释。
(i)密码验证单元109接收来自签名验证单元108的处理数据。而且,密码验证单元109读出来自设备信息存储单元15的正确密码,并判断在处理数据中包含的密码是否与正确密码匹配。
当处理数据中包含的密码,即由便携式电话20的操作者键入的密码与正确密码匹配时,密码验证单元109将该处理数据输出到解密单元110。如果处理数据中包含的密码与正确密码不匹配时,密码验证单元109由此经由终端I/F 11告知便携式电话20并丢弃该处理数据。
为了给出具体的例子,假定从签名验证单元108接收到的处理数据是图5A中所示的登记请求数据120。密码验证单元109从登记请求数据120中提取“PW_A”,并判断“PW_A”是否与正确密码匹配。当“PW_A”与正确密码匹配时,密码验证单元109向解密单元110输出登记请求数据120。如果从签名验证单元108接收的处理数据是图5C中所示的删除请求数据130,那么密码验证单元109提取“PW_A′”,并判断“PW_A′”是否与正确密码匹配。当“PW_A′”与正确密码匹配时,密码验证单元109向解密单元110输出删除请求数据130。
(j)解密单元110接收来自密码验证单元109的处理数据,并进一步接收来自随机密钥生成单元105的随机密钥Kr。
解密单元110从处理数据中提取加密的登记ID列表或加密的删除ID列表,并通过利用从随机密钥生成单元105接收到的作为解密密钥的随机密钥Kr,应用解密算法D3来将加密的登记ID列表或加密的删除ID列表解密,以便获得登记ID列表或删除ID列表。这里,解密算法D3是用于对已经利用加密算法E3加密的数据进行解密的算法。
解密单元110向数据控制器111输出登记命令和解密的登记ID列表,或删除命令和解密的删除ID列表。
为了给出具体的例子,当解密单元110接收来自密码验证单元109的登记请求数据120时,解密单元110从登记请求数据120中提取加密的登记ID列表122,并将加密的登记ID列表122解密,以便获得图5B中所示的登记ID列表125。解密单元110向数据控制器111输出登记命令121和登记ID列表125。
当接收来自密码验证单元109的删除请求数据130时,解密单元110从删除请求数据130中提取加密的删除ID列表132,并将加密的删除ID列表132解密,以便获得图5D中所示的删除ID列表135。解密单元110向数据控制器111输出删除命令131和删除ID列表135。
(k)数据控制器111执行存取授权的设备信息的登记和删除。
更具体的,数据控制器111接收来自解密单元110的登记命令和登记ID列表。如果登记ID列表中包含的登记信息还未向存储在设备信息存储单元15中的存取授权的设备表140登记,那么数据控制器111向存取授权的设备表140登记该登记信息作为存取授权的设备信息。
数据控制器111还接收来自解密单元110的删除命令和删除ID列表。如果在删除ID列表中包含的设备ID已经向存取授权的设备表140登记,那么数据控制器111从存取授权的设备表140删除包含设备ID的存取授权的设备信息。
注意,下面将描述存取授权的设备表140。
1.5设备信息存储单元15
设备信息存储单元15存储密码和存取授权的设备表140。
假定在设备信息存储单元15中存储的密码是在制造或运输记录载体10的同时设定的唯一密码并写到设备信息存储单元15中。
注意,仅仅购买记录载体10的用户应该知道在设备信息存储单元15中存储的密码。例如,可以采用下面的方案:在包装箱中,将设备信息存储单元15中存储的密码写在只有打开该包装箱才能够看到的地方。在这种情况下,直到用户购买了记录载体10然后打开包装箱,他/她才能获得密码。
图6示出存取授权的设备表140的数据结构。存取授权的设备表140包括几组存取授权的设备信息141、142和143,每组都包括设备ID、可用存取数量、可用存取时间段、可用存取块和可用存取应用程序。
设备ID是一种标识符,利用该标识符可以唯一地识别授权存取数据存储单元12的限制存取区13的设备。可用存取数量是授权相应的设备对限制存取区13进行存取的次数。可用存取时间段是授权相应的设备对限制存取区13进行存取的时间段。在限制存取区13中的可用存取块是授权相应的设备进行存取的存储块。可用存取应用程序是授权相应的设备进行存取的应用程序。
根据图6,授权对限制存取区13进行存取的设备是设备ID分别为“ID_A、“ID_B”、“ID_C”的那些设备。
根据存取授权的设备信息141,设备ID为“ID_A”的设备(便携式电话20)在各个方面都是“不受限制的”,即,可用存取数量、可用存取时间段、可用存取块和可用存取应用程序。因此,该设备被授权为不受任何限制地对限制存取区13进行存取。
存取授权设备信息142表示设备ID为“ID_B”的设备(PDA 30)的可用存取数量为“3”、可用存取时间段为“1/8/2004-31/7/2005”,可用存取块为“块2”,且可用存取应用程序为“-”。因此,该设备被授权为在2004年8月1日和2005年7月31之间的时间段内仅仅对块2存取3次。
存取授权设备信息143表示设备ID为“ID_C”的设备(PC 40)的可用存取数量为“5”、可用存取时间段为“1/8/2004-31/7/2006”,可用存取块为“块1和块2”,可用存取应用程序为“APP1”。因此,该设备被授权为在2004年8月1日和2006年7月31之间的时间段内仅仅对块1和块2存取5次,假设该设备被授权存取的应用程序仅仅为应用程序1(APP1)。
由设备信息登记单元14向存取授权设备表140登记每组存取授权的设备信息,或由该设备信息登记单元14将每组存取授权的设备信息从存取授权设备表140中删除。另外,控制器16将每组存取授权的设备信息用于对存取请求作出响应而执行的存取授权。
1.6控制器16
控制器16包括微处理器等。当控制器16接收来自终端I/F 11的对限制存取区13的存取请求时,该控制器16响应于该存取请求而查阅存储在设备信息存储单元15中的存取授权设备表140,并判断是否允许对限制存取区13进行存取。下面给出对控制器16的详细描述。
图7是说明控制器16的结构的功能方框图。如该图中所示,控制器16包括处理启动请求接收单元150、公钥获得单元151、随机密钥生成单元152、加密单元153、存取请求接受单元154、解密单元155、判断单元156、日期管理单元157、存储器存取单元158和数据输入/输出单元159。
(a)处理启动请求接收单元150经由终端I/F 11接收来自终端设备的处理启动请求,该终端设备具有与之连接的记录载体10。该处理启动请求是表示启动对限制存取区13的存取请求处理的信息。当处理启动请求接收单元150接收该处理启动请求时,其向公钥获得单元151输出获得该终端设备的公钥的指令,并向随机密钥生成单元152输出产生随机密钥的指令。
(b)当公钥获得单元151接收到来自处理启动请求接收单元150的获得公钥的指令时,其经由终端I/F 11从终端设备获得该终端设备的公钥PKN,该终端设备具有与之连接的记录载体10,其中N=20、30、40或50。PK20、PK30、PK40和PK50分别是便携式电话20、PDA30、PC 40和便携式电话50的公钥。在将记录载体10放在例如便携式电话20的卡槽中的情况下,公钥获得单元151获得来自便携式电话20的公钥PK20。公钥获得单元151向加密单元153输出获得的公钥PKN。
(c)当随机密钥生成单元152接收到来自处理启动请求接收单元150的生成随机密钥的指令时,其生成随机密钥Kr。随机密钥生成单元152向加密单元153以及解密单元155输出生成的随机密钥Kr。
(d)加密单元153接收来自公钥获得单元151的公钥PKN,和来自随机密钥生成单元152的随机密钥Kr。加密单元153通过利用公钥PKN作为加密密钥而向随机密钥Kr应用加密算法E4来生成加密的随机密钥C4=E4(PKN,Kr)。加密单元153经由终端I/F 11向终端设备输出加密的随机密钥C4=E4(PKN,Kr)。在将记录载体10放在例如便携式电话20的卡槽中的情况下,加密单元153生成加密的随机密钥C4=E4(PK20,Kr),并经由终端I/F 11向便携式电话20输出加密的随机密钥C4。
加密算法C4不限于任何特殊的算法,但是它的一个例子是RSA。
(e)当存取请求接收单元154经由终端I/F 11接收到来自终端设备的存取请求时,其向解密单元155输出接收到的存取请求。
图8A示出存取请求接收单元154从便携式电话20接收到存取请求的例子。存取请求160包括存取命令161、加密的设备ID162和所需的数据识别信息163。
类似的是,图8B示出从PDA30接收到的存取请求170的例子。图8C示出从PC 40接收到的存取请求180的例子。图8D示出从便携式电话50接收到的存取请求190的例子。
这种存取请求是由每个终端设备产生的数据。因此,稍后分别给出存取请求160、170、180和190的详细解释。
(f)解密单元155接收来自随机密钥生成单元152的随机密钥Kr和来自存取请求接收单元154的存取请求。解密单元155从该存取请求中提取加密的设备ID,并通过将随机密钥Kr用作解密密钥而应用解密算法D5来对加密的设备ID进行解密,从而获得该设备ID。这里,解密算法D5是用于对已经利用加密算法E5进行加密的数据进行解密的算法。解密单元155向判断单元156输出该存取命令、解密的设备ID和所需的数据识别信息。
为了给出具体例子,当解密单元155接收来自存取请求接收单元154的图8A中所示的存取请求160时,该加密单元155从存取请求160中提取加密的设备ID 162“E5(Kr,ID_A)”,并通过利用将随机密钥Kr作为解密密钥而应用解密算法D5来对加密的设备ID 162进行解密,从而获得“ID_A”。解密单元155向判断单元156输出存取命令161“/access”、设备ID“ID_A”和所需的数据识别信息163“地址目录”。
(g)判断单元156接收来自解码单元155的存取命令、设备ID和所需的数据识别信息。判断单元156判断具有接收到的设备ID的终端设备是否被授权对接收到的所需数据识别信息所识别的数据进行存取。
另外,判断单元156存储图9中所示的表200。表200是表示在限制存取区13中存储块的块数与各个存储块中存储的数据的数据识别信息之间对应的表。判断单元156还存储表示在设备ID及其已经存取的次数之间的对应的表。已经存取的次数是具有相应设备ID的终端设备已经对限制存取区13进行存取的次数。注意,没有对该表进行图解说明。
下面将要利用具体的例子来描述判断单元156进行的存取授权。
判断单元156接收来自解密单元155的存取命令161“/access”、由解密单元155解密的“ID_A”和所需的数据识别信息163“地址目录”。判断单元156从设备信息存储单元15中存储的存取授权设备表140中读出存取授权设备信息141,该信息包括设备ID“ID_A”。而且,判断单元156从日期管理单元157读出表示当前日期的日期信息。
根据存取授权设备信息141、日期信息和表200,判断单元156判断设备ID为“ID_A”的便携式电话20是否被授权存取“地址目录”。稍后将要详细地讨论授权过程。
这里,便携式电话20被授权存取该地址目录。因此,判断单元156指导存储器存取单元158经由数据输入/输出单元159从限制存取区13读出地址目录数据(图3),并向便携式电话20输出该地址目录数据。
这里,如果没有授权便携式电话20存取该地址目录,那么判断单元156经由终端I/F 11向便携式电话20输出错误信息,该错误信息告知便携式电话20没有被授权存取指定的数据。
(h)日期管理单元157管理表示当前日期的日期信息。
(i)存储器存取单元158存储在数据识别信息和存储器地址之间的对应关系,其每一个都表示在存储由数据识别信息所识别的数据的数据存储单元12中的位置。当存储器存取单元158接收来自判断单元156的存取命令和数据识别信息时,其获得与接收到的数据识别信息相对应的存储器地址。存储器存取单元158从获得的存储器地址表示的位置读出数据,并向数据输入/输出单元159输出该读出的数据。
(j)数据输入/输出单元159在终端I/F 11和存储器存取单元158之间交换信息。
2、便携式电话20
图10是说明便携式电话20的结构的功能方框图。如该图中所示,便携式电话20包括记录载体I/F 21、设备ID存储单元22、控制器23、外部输入I/F 24和显示单元25。
具体而言,便携式电话20具有天线、无线电通信单元、麦克风、扬声器等,并且是建立无线电通信的移动式电话。由于如便携式电话这些功能利用公知的技术都是可实行的,因此从图10省略了这些部件。
2.1记录载体I/F21
记录载体I/F 21包括存储器卡槽等,从放在该存储器卡槽中的记录载体10接收各种信息并向该记录载体10发送各种信息。
2.2设备ID存储单元22
识别ID存储单元22存储唯一识别便携式电话20所用的设备ID“IDA”。具体而言,将序列号或电话号码用作该设备ID。
2.3控制器23
如图10中所示,控制器23包括处理启动请求生成单元211、响应数据生成单元212、解密单元213、加密单元214、处理数据生成单元215、签名生成单元216、存取请求生成单元217和数据输出单元218。
(a)当处理启动请求生成单元211接收来自外部输入I/F 24的表示登记请求的输入信号、删除请求或数据存取请求时,其生成处理启动请求,并经由记录载体I/F 21向记录载体10输出生成的处理启动请求。
(b)响应数据生成单元212预先与记录载体10共用公用密钥KC和加密算法E1。
响应数据生成单元212经由记录载体I/F 21接收来自记录载体10的随机数r,该随机数r是询问数据,并通过利用公用密钥KC作为加密密钥而向接收到的随机数r应用加密算法E1来生成响应数据C1′=E1(KC,r)。响应数据生成单元212经由记录载体I/F 21向记录载体10输出生成的响应数据C1′。
(c)解密单元213秘密地保存与该公钥PK20对应的秘密密钥SK20。
在登记和删除处理中,解密单元213经由记录载体I/F 21接收来自记录载体10的加密的随机密钥C2=E2(PK20,Kr)。加密的随机密钥C2=E2(PK20,Kr)是已经用便携式电话20的公钥PK20加密的随机密钥Kr的数据。解密单元213通过利用秘密密钥SK20作为解密密钥而应用解密算法D2来对加密的随机密钥C2进行解密,从而获得随机密钥Kr。这里,解密算法D2是对已经利用加密算法E2进行加密的数据进行解密所用的算法。解密单元213向加密单元214输出解密的随机密钥Kr。
在存取请求过程中,解密单元213经由记录载体I/F 21接收来自记录载体10的加密的随机密钥C4=E4(PK20,Kr)。加密的随机密钥C4=E4(PK20,Kr)是其中已经用便携式电话20的公钥PK20加密随机密钥Kr的数据。解密单元213通过利用秘密密钥SK20作为解密密钥而应用解密算法D4来对加密的随机密钥C4进行解密,从而获得随机密钥Kr。这里,解密算法D4是对已经利用加密算法E4进行加密的数据进行解密所用的算法。解密单元213向加密单元214输出解密的随机密钥Kr。
(d)在登记处理中,加密单元214接收来自处理数据生成单元215的登记ID列表,和来自解密单元213的随机密钥Kr。加密单元214通过利用随机密钥Kr作为加密密钥而向登记ID列表应用加密算法E3来生成加密的登记ID列表。具体而言,加密单元214接收来自处理数据生成单元215的图5B中所示的登记ID列表125,并通过对登记ID列表125加密来生成加密的登记ID列表。加密单元214向处理数据生成单元215输出加密的登记ID列表。
类似的是,在删除处理中,加密单元214通过对删除ID列表进行加密而生成加密的删除ID列表。具体而言,加密单元214接收来自处理数据生成单元215的图5D中所示的删除ID列表135,并通过对删除ID列表135加密来生成加密删除列表。加密单元214向处理数据生成单元215输出加密的删除ID列表。
在存取请求过程中,加密单元214从设备ID存储单元22读出设备ID“ID_A”,并进一步接收来自解密单元213的随机密钥Kr。加密单元214通过利用随机密钥Kr作为加密密钥而向“ID_A”应用加密算法E5来生成加密的设备ID“E5(Kr,ID_A)”,并向存取请求生成单元217输出加密的设备ID。
(e)处理数据生成单元215生成登记请求数据和删除请求数据。
(e-1)生成登记请求数据120
这里,描述图5A中所示的生成登记请求数据120的过程来作为具体的例子。
处理数据生成单元215预先在其中保存与登记请求数据有关的控制信息。该控制信息用于生成登记请求数据。在该控制信息中,仅仅写入登记请求数据120的登记命令121“/register”,加密的登记ID列表122、密码123和签名数据124全是空白。
处理数据生成单元215接受来自设备ID存储单元22的其自己的终端设备的设备ID“ID_A”。处理数据生成单元215经由外部输入I/F24接收与其自己的终端设备有关的信息的输入:对于可用存取数量“不受限制”、对于可用存取时间段“不受限制”、对于可用存取块“不受限制”以及对于可用存取应用程序“不受限制”,并且生成登记信息126。
而且,处理数据生成单元215经由外部输入I/F 24接收与PDA 30有关的信息输入:设备ID是“ID_B”、可用存取数量是“3”、可用存取时间段是“1/8/2004-31/7/2005”,以及可用存取块是“块2”。在这里要注意,PDA 30的可用存取应用程序的输入是不接受的,或者可选择的是,接受表示PDA 30没有权利存取任何应用程序的输入。处理数据生成单元215根据接收的信息来生成登记信息127。
处理数据生成单元215根据登记信息126和127来生成登记ID列表125。处理数据生成单元215向加密单元214输出生成的登记ID列表125,并接收来自加密单元214的加密的登记ID列表122,其通过对登记ID列表125进行加密而生成。
处理数据生成单元215将加密的登记ID列表122写到与登记请求数据有关的控制信息中。
处理数据生成单元215经由外部输入I/F 24接受密码“PW_A”的输入,并将接受的密码“PW_A”写到该控制信息中。
此外,处理数据生成单元215接收来自签名生成单元216的签名数据“Sig_A”,并将接收的签名数据“Sig_A”写到该控制信息中以生成签名请求数据120。处理数据生成单元215经由记录载体I/F 21向记录载体10输出登记请求数据120。
(e-2)生成删除请求数据130
在这里,描述图5C中所示的生成删除请求数据130的过程作为具体的例子。
处理数据生成单元215预先在其中保存与删除请求数据有关的控制信息。该控制信息用于生成删除请求数据。在该控制信息中,仅仅写入删除请求数据130的删除命令131“/delete”,加密的删除ID列表132、密码133和签名数据134全是空白。
处理数据生成单元215接受来自外部输入I/F 24的设备ID“ID_C”和“ID_D”的输入,并生成由“ID_C”和“ID_D”组成的删除ID列表135。处理数据生成单元215向加密单元214输出删除ID列表135,并接收来自加密单元214的加密的删除ID列表132,其中该加密的删除ID列表通过对删除ID列表135进行加密而生成。
处理数据生成单元215将加密的删除ID列表写到与删除请求数据有关的控制信息中。
处理数据生成单元215接受经由外部输入I/F 24输入的密码“PW_A”,并将接受的密码“PW_A”写到该控制信息中。
此外,处理数据生成单元21 5接收来自签名生成单元216的签名数据“Sig_A′”,并将接收的签名数据“Sig_A”写到该控制信息中以生成删除请求数据130。处理数据生成单元215经由记录载体I/F 21向记录载体10输出删除请求数据130。
(f)签名生成单元216预先在其中保存签名密钥。该签名密钥与记录载体10保存的验证密钥相对应。签名生成单元216通过将签名密钥用于登记命令、加密的登记ID列表和密码来生成签名数据,登记命令、加密的登记ID列表和密码全部由处理数据生成单元215生成。签名生成单元216向处理数据生成单元215输出生成的签名数据。
注意,在签名生成单元216中使用的签名生成算法与在记录载体10的签名验证单元108中所用的签名验证算法相对应,并且是利用公钥加密方案的数字签名标准。
(g)存取请求生成单元217预先将与存取请求有关的控制信息存储在其中。该控制信息用于生成存取请求。在该控制信息中,仅仅写入存取请求160的存取命令161“/access”,加密的设备ID 162和所需的数据识别信息163都是空白。
下面描述生成存取请求160的过程作为具体的例子。存取请求生成单元217接受来自加密单元214的加密的设备ID 162“E5=(Kr,ID _A)”,该加密的设备ID是通过对其自己的终端设备的设备ID“ID_A”进行加密而生成,并且该存取请求生成单元217将接收到的加密的设备ID 162写到与该存取请求有关的控制信息中。存取请求生成单元217经由外部输入I/F 24接受所需的数据识别信息163“地址目录”,并将该接收到的所需的数据识别信息163写到该控制信息中,以生成存取请求160。存取请求生成单元217经由记录载体I/F 21向记录载体10输出生成的存取请求160。
(h)数据输出单元218经由记录载体I/F 21接收来自记录载体10的数据,并向显示单元25输出接收到的数据。
2.4外部输入I/F 24
具体而言,外部输入I/F 24是在便携式电话20的操作板上提供的多个键。当用户按下这些键时,外部输入I/F 24生成与所按的键相对应的信号,并向控制器23输出生成的信号。
2.5显示单元25
显示单元25具体而言就是显示器单元,其在显示器上显示从数据输出单元218输出的数据。
3.PDA 30
假定PDA30是与便携式电话20的相同用户所拥有的终端设备。PDA 30具有卡槽,记录载体10可以放置在该卡槽中。此外,PDA 30预先在其中保存其自己的终端设备的设备ID“ID_B”。注意,由于PDA30的结构与便携式电话20的结构相同,因此没有提供表示PDA 30的结构的图表。
PDA 30与便携式电话20的区别在于PDA 30不向记录载体10登记设备信息,且仅仅产生存取请求。在存取请求的过程中,PDA 30读出其自己的终端设备的设备ID“ID_B”,并通过对读出的设备ID进行加密来生成加密的设备ID。PDA 30向记录载体10输出包括加密的设备ID的存取请求。
图8B中示出的存取请求170是由PDA 30生成的存取请求的例子。如该图中所示,存取请求170包括存取命令171“/access”、加密的设备ID 172“E5(Kr,ID_B)”和所需的数据识别信息173“保护的邮件数据”。
4.PC 40
假定PC 40是与便携式电话20的相同用户所拥有的终端设备。PC 40具有卡槽,记录载体10可以放置在该卡槽中。此外,PC 40预先在其中保存其自己的终端设备的设备ID“ID_C”。注意,由于PC 40的结构与便携式电话20的结构相同,因此没有提供表示PC 40的结构的图表。
如PDA 30的情况一样,PC 40不向记录载体10登记设备信息,仅仅产生存取请求。在存取请求的过程中,PC 40读出其自己的终端设备的设备ID“ID_C”,并通过对读出的设备ID进行加密来生成加密的设备ID。PC 40向记录载体10输出包括加密的设备ID的存取请求。
图8C中示出的存取请求180是由PC 40生成的存取请求的例子。如该图中所示,存取请求180包括存取命令181“/access”、加密的设备ID 182“E5(Kr,ID_C)”和所需的数据识别信息183“APP2”。
5.便携式电适50
假定便携式电话50是与便携式电话20、PDA 30以及PC 40的用户不同的人所拥有的终端设备。便携式电话50具有卡槽,记录载体10可以放置在该卡槽中。此外,便携式电话50预先在其中保存其自己的终端设备的设备ID“ID_E”。注意,由于便携式电话50的结构与便携式电话20的结构相同,因此没有提供表示便携式电话50的结构的图表。
下面假定便携式电话50的用户通过将不同个人所拥有的记录载体10放在便携式电话50的卡槽中而尝试存取该记录载体10上存储的数据。
便携式电话50读出其自己的终端设备的设备ID“ID_E”,并通过对读出的设备ID进行加密来生成加密的设备ID。便携式电话50向记录载体10输出包括生成的加密设备ID的存取请求。
图8D中示出的存取请求190是由便携式电话50生成的存取请求的例子。如该图中所示,存取请求190包括存取命令191“/access”、加密的设备ID 192“E5(Kr,ID_E)”和所需的数据识别信息193“图像数据”。
记录载体10没有向存取授权设备表140登记过其他人的设备的便携式电话50。因此,即使便携式电话50向记录载体10输出存取请求190,由于记录载体10判断便携式电话50不具有存取数据的权限,因此便携式电话50也不能存取记录载体10的数据。
<操作>
1.总体操作
图11是说明数据保护系统1的总体操作的流程图。
提出请求(步骤S1),并根据该请求进行该处理。在步骤S1的请求是“登记”的情况下,进行设备信息的登记处理(步骤S2)。当请求是“删除”时,进行设备信息的删除处理(步骤S3)。当请求是“存取”时,进行数据存取处理(步骤S4)。当完成所需的处理时,操作返回步骤S1。
2.设备信息的登记处理
图12A是说明用于在记录载体10和便携式电话20之间进行设备信息的登记处理的操作的流程图。注意,这里描述的操作是图11中步骤S2的细节。
便携式电话20接受表示设备信息的登记的处理请求(步骤S10),并向记录载体10输出处理启动请求(步骤S11)。当记录载体10接收处理启动请求时,在记录载体10和便携式电话20之间实现询问/响应验证(步骤S12)。随后,进行登记处理(步骤S13)。
3.设备信息的删除处理
图12B是说明在记录载体10和便携式电话20之间进行设备信息的删除处理的操作的流程图。注意,这里描述的是图11中的步骤S3的细节。
便携式电话20接受表示删除设备信息的处理请求(步骤S20),并向记录载体输出处理启动请求(步骤S21)。当记录载体10接收处理启动请求时,在记录载体10和便携式电话20之间实现询问/响应验证(步骤S22)。随后,进行该删除处理(步骤S23)。
4询问/响应验证
图13是说明在记录载体10和便携式电话20之间实现询问/响应验证的操作的流程图。注意,这里描述的操作是图12A中步骤S12和图12B中步骤S22的细节。
首先,记录载体10的随机数生成单元102通过接收来自处理启动请求接收单元101的用于生成随机数的指令来生成随机数r(步骤S101)。随机数生成单元102经由终端I/F 11向便携式电话20输出生成的随机数r,便携式电话20的记录载体I/F 21接收该随机数r(步骤S102)。
此外,随机数生成单元102将在步骤S101产生的随机数r输出到响应数据验证单元103。该响应数据验证单元103通过将响应数据验证单元103中保存的公共密钥Kc作为加密密钥使用,对随机数r应用加密算法E1,从而产生加密数据C1(步骤S103)。
同时,便携电话20的控制器23接收记录载体I/F 21的随机数r,并通过将响应数据验证单元103中保存的公共密钥Kc作为加密密钥使用,对随机数r应用加密算法E1,从而产生响应数据C1’(步骤S104)。控制器23经由记录载体I/F 21输出产生的响应数据C1’到记录载体10,记录载体10的终端I/F 21接受该响应数据C1’(步骤S105)。
响应数据验证单元103将便携式电话20在步骤S103生成的加密数据C1和在步骤S104生成的加密数据C1′进行比较。当C1和C1′匹配时(步骤S106:是),响应数据验证单元103判断便携式电话20的验证是成功的(步骤S107),随后在记录载体10和便携式电话20之间进行登记处理或删除处理。
当C1和C1′不匹配时(步骤S106:否),响应数据验证单元103判断便携式电话20的验证是不成功的(步骤S108),并相应地经由终端I/F 11输出告知便携式电话20的错误信息。便携式电话20的记录载体I/F 21接收该错误信息(步骤S109)。便携式电话20的控制器23接收来自记录载体I/F 21的错误信息,并将其显示在显示单元25上(步骤S110)。
5.登记
5.1由记录载体10的登记处理
图14和15是说明由记录载体10进行的登记处理的操作的流程图。注意,这里描述的操作是图12A中步骤S13的细节。
设备信息登记单元14的公钥获得单元104获得便携式电话20的公钥PK20(步骤S202)。随机密钥生成单元105通过接收来自响应数据验证单元103的指令来生成随机密钥Kr(步骤S203)。
加密单元106获得便携式电话20的公钥PK20和随机密钥Kr,并通过利用公钥PK20作为加密密钥而向随机密钥Kr应用加密算法E2来生成加密的随机密钥E2(PK20,Kr)(步骤S204)。加密单元106经由终端I/F 11向便携式电话20输出生成的加密随机密钥E2(PK20,Kr)(步骤S205)。
随后,处理数据接受单元107接受来自便携式电话20的登记请求数据(步骤S206)。处理数据接受单元107将接受的登记请求数据输出到签名验证单元108。
签名验证单元108接收该登记请求数据,并从接收到的登记请求数据中提取签名数据(步骤S207)。签名验证单元108通过对提取的签名数据使用验证密钥和签名验证算法来检查该签名数据(步骤S208)。当签名数据的验证不成功时(步骤S209:否),签名验证单元108相应地经由终端I/F 11输出告知便携式电话20的错误信息(步骤S214)。当签名数据的验证成功了(步骤S209:是),签名验证单元108向密码验证单元109输出登记请求数据。
密码验证单元109接收该登记请求数据,并从接收到的登记请求数据中提取密码(步骤S210)。然后,密码验证单元109读出在设备信息存储单元15中存储的正确密码(步骤S211),并判断在步骤S210中提取的密码与在步骤S211中读出的正确密码是否匹配。
当这两个密码不匹配时(步骤S212:否),密码验证单元109经由终端I/F 11向便携式电话20输出告知密码验证不成功的错误信息(步骤S214)。当这两个密码匹配时(步骤S212:是),密码验证单元109向解密单元110输出登记请求数据。
解密单元110接收该登记请求数据,并从接收到的登记请求数据中提取加密的登记ID列表(步骤S213)。解密单元110利用由随机密钥生成单元105生成的随机密钥对加密的登记ID列表进行解密(步骤S215),并向数据控制器111输出解密的登记ID列表。
数据控制器111相对于每组登记信息重复步骤S216至S222。数据控制器111从每组登记信息中提取设备ID(步骤S217),并将在步骤S217中提取的设备ID与所有设备ID进行比较,所述所有设备ID已经向存储在设备信息存储单元15中的存取授权设备表登记过(步骤S218)。
当在存取授权设备表中发现了相应的设备ID时(步骤S219:是),数据控制器111经由终端I/F 11向便携式电话20输出错误信息,该错误信息告知由该设备ID识别的终端设备已经被登记了(步骤S220)。当在存取授权设备表中没有发现相应的设备ID时(步骤S219:否),数据控制器111将该登记信息写到在设备信息存储单元15中存储的存取授权设备表中(步骤S221)。
5.2由便携式电话20的登记处理
图16和17是说明由便携式电话20进行的登记处理的各个操作的流程图。注意,这里描述的操作是图12A中步骤S13的细节。
控制器23的解密单元213经由记录载体I/F 21获得来自记录载体10的加密的随机密钥E2(PK20,Kr),该随机密钥已经利用便携式电话20的公钥PK20进行了加密(步骤S233)。解密单元213对接收到的加密的随机密钥E2(PK20,Kr)进行解密,从而获得随机密钥Kr(步骤S234)。
随后,便携式电话20相对于要登记的每个设备重复步骤S235至242。
控制器23的处理数据生成单元215获得要登记的设备的设备ID(步骤S236)。在这一点上,如果要登记的设备是其自己的终端设备,即便携式电话20,那么处理数据生成单元215获得来自设备ID存储单元22的设备ID。如果要登记的设备是其他设备,那么处理数据生成单元215获得来自外部输入I/F 24的设备ID。
接着,处理数据生成单元215根据从外部输入I/F 24接收的输入信号设定可用存取数量(步骤S237)。类似的是,根据从外部输入I/F 24接收的各个输入信号,处理数据生成单元215相应地设定可用存取时间段(步骤S238)、可用存取块(步骤S239)和可用存取应用程序(步骤S240)。处理数据生成单元215生成一组登记信息,其包括在步骤S236获得的设备ID和在步骤S237至240获得的数据集(步骤S241)。
处理数据生成单元215生成包括所有组的登记信息的登记ID列表,所述所有组的登记信息是通过步骤S235至S242的重复操作而生成的(步骤S243)。
处理数据生成单元215读出与该登记请求数据有关的控制信息(步骤S244),然后向加密单元214输出在步骤S243生成的登记ID列表。加密单元214接收该登记ID列表,并对接收到的登记ID列表利用在步骤S234解密的作为加密密钥的随机密钥Kr,而生成加密的登记ID列表E3(Kr,登记ID列表)(步骤S245)。
接着,处理数据生成单元215经由外部输入I/F 24接受密码PW_A的输入(步骤S246)。签名生成单元216基于登记命令、加密的登记ID列表和密码生成签名数据Sig_A(步骤S247)。签名生成单元216向处理数据生成单元215输出生成的签名数据Sig_A。
处理数据生成单元215将加密的登记ID列表、密码和签名数据写到与登记请求数据有关的控制信息中,以便生成登记请求数据(步骤S248)。处理数据生成单元215经由记录载体I/F 21向记录载体10输出生成的登记请求数据(步骤S249)。
然后,当便携式电话20接收错误信息时(步骤S250:是),该便携式电话经由数据输出单元218在显示单元25上显示该错误信息(步骤S251)。当便携式电话20没有接收错误信息时(步骤S250:否),该便携式电话终止该处理。
6.删除
6.1由记录载体10的删除处理
图18和19是说明由记录载体10进行的删除处理的操作的流程图。注意,这里描述的操作是图12B中步骤S23的细节。
设备信息登记单元14的公钥获得单元104获得便携式电话20的公钥PK20(步骤S302)。随机密钥生成单元105通过接收来自响应数据验证单元103的指令来生成随机密钥Kr(步骤S303)。
加密单元106接收便携式电话20的公钥PK20和随机密钥Kr,并通过利用公钥PK20作为加密密钥而向随机密钥Kr应用加密算法E2来生成加密的随机密钥E2(PK20,Kr)(步骤S304)。加密单元106经由终端I/F 11向便携式电话20输出生成的加密随机密钥E2(PK20,Kr)(步骤S305)。
随后,处理数据接受单元107接受来自便携式电话20的删除请求数据(步骤S306)。处理数据接受单元107将接受的删除请求数据输出到签名验证单元108。
签名验证单元108接收该删除请求数据,并从接收到的删除请求数据中提取签名数据(步骤S307)。签名验证单元108对提取的签名数据使用验证密钥和签名验证算法来检查该签名数据(步骤S308)。当签名数据的验证不成功时(步骤S309:否),签名验证单元108相应地经由终端I/F 11输出告知便携式电话20的错误信息(步骤S314)。当签名数据的验证成功了(步骤S309:是),签名验证单元108向密码验证单元109输出删除请求数据。
密码验证单元109接收该删除请求数据,并从接收到的删除请求数据中提取密码(步骤S310)。然后,密码验证单元109读出在设备信息存储单元15中存储的正确密码(步骤S311),并判断在步骤S310中提取的密码与在步骤S311中读出的正确密码是否匹配。
当这两个密码不匹配时(步骤S312:否),密码验证单元109经由终端I/F 11向便携式电话20输出告知密码验证不成功的错误信息(步骤S314)。当这两个密码匹配时(步骤S312:是),密码验证单元109向解密单元110输出删除请求数据。
解密单元110接收该删除请求数据,并从接收到的删除请求数据中提取加密的删除ID列表(步骤S313)。解密单元110利用由随机密钥生成单元105生成的随机密钥对加密的登记ID列表进行解密(步骤S315),并向数据控制器111输出解密的登记ID列表。
数据控制器111相对于每个设备ID重复步骤S316至S322。数据控制器111从每组登记信息中提取设备ID(步骤S317),并确定在步骤S317中提取的设备ID是否已经向存储在设备信息存储单元15中的存取授权设备表登记过(步骤S318)。
当在存取授权设备表中没有发现相同的设备ID时(步骤S319:否),数据控制器111经由终端I/F 11向便携式电话20输出错误信息,该错误信息告知由该设备ID识别的终端设备没有登记为存取授权设备(步骤S321)。当在存取授权设备表中发现了相同的设备ID时(步骤S319:是),数据控制器111删除相应组的存取授权设备信息,该存取授权设备信息包括来自设备信息存储单元15中存储的存取授权设备表的设备ID(步骤S320)。
5.2由便携式电话20的删除处理
图20是说明由便携式电话20进行的删除处理的操作的流程图。注意,这里描述的操作是图12B中步骤S23的细节。
控制器23的解密单元213经由记录载体I/F 21获得来自记录载体10的加密的随机密钥E2(PK20,Kr),该随机密钥已经利用便携式电话20的公钥PK20进行了加密(步骤S333)。解密单元213对接收到的加密的随机密钥E2(PK20,Kr)进行解密,从而获得随机密钥Kr(步骤S334)。
控制器23的处理数据生成单元215获得要删除的所有终端设备的设备ID(步骤S335)。在这一点上,如果要删除的设备是其自己的终端设备,即便携式电话20,那么处理数据生成单元215获得来自设备ID存储单元22的设备ID。如果要删除的设备是另一设备,那么处理数据生成单元215获得来自外部输入I/F 24的设备ID。处理数据生成单元215生成由所有获得的设备ID组成的删除ID列表(步骤S336)。
处理数据生成单元215读出与该删除请求数据有关的控制信息(步骤S337),然后向加密单元214输出在步骤S336生成的删除ID列表。加密单元214接收该删除ID列表,并对接收到的删除ID列表利用在步骤S334解密的随机密钥Kr作为加密密钥而生成加密的删除ID列表E3(Kr,删除ID列表)(步骤S338)。
接着,处理数据生成单元215经由外部输入I/F 24接受密码PW_A的输入(步骤S339)。签名生成单元216基于删除命令、加密的删除ID列表和密码生成签名数据Sig_A′(步骤S340)。签名生成单元216向处理数据生成单元215输出生成的签名数据Sig_A′。
处理数据生成单元215将加密的删除ID列表、密码和签名数据写到与删除请求数据有关的控制信息中,并生成删除请求数据(步骤S341)。处理数据生成单元215经由记录载体I/F 21向记录载体10输出生成的删除请求数据(步骤S342)。
然后,当便携式电话20接收错误信息时(步骤S343:是),该便携式电话经由数据输出单元218在显示单元25上显示该错误信息(步骤S344)。当便携式电话20没有接收错误信息时(步骤S343:否),该便携式电话终止该处理。
7.存取过程
图21是说明由数据保护系统1进行数据存取处理的操作的流程图。注意,这里描述的操作是图11中步骤S4的细节。
终端设备具有将记录载体10放在其中的卡槽,该终端设备接受来自用户的请求以显示特定数据(步骤S401),并产生处理启动请求(步骤S402)。该终端设备向记录载体10输出处理启动请求,且记录载体10接收该处理启动请求(步骤S403)。
记录载体10获得终端设备的公钥PKN(步骤S404),其中N=20、30、40或50。接着,记录载体10生成随机密钥Kr(步骤S405)。记录载体10通过利用在步骤S404获得的公钥PKN作为加密密钥而向在步骤S405产生的随机密钥Kr应用加密算法E4来生成加密的随机密钥E4(PKN,Kr)(步骤S406)。记录载体10向终端设备输出该加密的随机密钥,并且该终端设备接收该加密的随机密钥(步骤S407)。
该终端设备对加密的随机密钥进行解密从而获得随机密钥Kr(步骤S408)。接着,该终端设备读出存储其中的自己的终端设备的设备ID(步骤S409),并通过利用随机密钥Kr作为加密密钥而向设备ID应用加密算法E5来生成加密的设备IDE5(Kr,设备ID)(步骤S410)。
接着,该终端设备读出与预先存储在其中的存取请求有关的控制信息(步骤S411),并将加密的设备ID和存取所需的数据识别信息写到与存取请求有关的控制信息中,以生成存取请求(步骤S412)。终端设备向记录载体10输出存取请求,且记录载体10接收该存取请求(步骤S413)。
记录载体10进行存取授权(步骤S414),并根据该存取授权的结果向该终端设备输出数据。终端设备接收从记录载体10输出的数据(步骤S415),并显示该数据(步骤S416)。注意,根据存取授权的结果,在步骤S415输出错误信息而不是由终端设备所需的数据。
8.存取授权
图22和23是说明由记录载体10进行的存取授权的操作的流程图。注意,这里描述的操作是在图21中步骤S414的细节。
控制器16的解密单元155从该存取请求中提取加密的设备ID(步骤S500),并利用从随机密钥生成单元152接收的随机密钥作为解密密钥来对加密的设备ID进行解密,从而获得设备ID(步骤S501)。解密单元155向判断单元156输出解密的设备ID和存取所需的数据识别信息。
判断单元156读出来自设备信息存储单元15的存取授权设备表,并判断与从解密单元155接收的设备ID相同的设备ID是否已经向存取授权设备表登记过。当该相同的设备ID没有登记过时(步骤S502:否),判断单元156经由终端I/F 11向该终端设备输出告知存取被拒绝的错误信息(步骤S510)。
当该相同的设备ID已经登记时(步骤S502:是),判断单元156从存取授权设备表中提取一组包括设备ID的存取授权设备信息(步骤S503)。判断单元156从提取的存取授权设备信息中提取可用存取数量,而且进一步读出由该设备ID识别的终端设备已经存取的次数(步骤S504)。
判断单元156将已经存取的次数与可用存取次数相比较。当已经存取的次数等于或大于可用存取数量时(步骤S505:是),判断单元156经由终端I/F 11向该终端设备输出告知存取被拒绝的错误信息(步骤S510)。
当已经存取的次数小于可用存取数量时(步骤S505:否),判断单元156从存取授权设备信息中提取可用存取时间段,而且进一步从日期管理单元157获得日期信息(步骤S506)。判断单元156判断由日期信息表示的当前时间是否在可用存取时间段内。当前时间在可用存取时间段之外(步骤S507:否),判断单元156经由终端I/F 11向终端设备输出告知存取被拒绝的错误信息(步骤S510)。
在当前时间在可用存取时间段内时(步骤S507:是),判断单元156查阅其中保存的表200,并检测其中存储有由接收到的所需数据识别信息所识别的数据的存储块(步骤S508)。而且,判断单元156从存取授权设备信息中提取可用存取块(步骤S509),并判断其中存储存取所需数据的存储块是否包括在可用存取块中。
当该存储块没有包括在可用存取块中时(步骤S511:否),判断单元156经由终端I/F 11向该终端设备输出告知存取被拒绝的错误信息(步骤S517)。当存储块包括在可用存取块中时(步骤S511:是),判断单元156根据所需的数据识别信息来判断存取所需的数据是否是应用程序。如果存取所需的数据不是应用程序(步骤S512:否),那么该处理进行到步骤S515。
如果存取所需的数据是应用程序(步骤S512:是),判断单元156从存取授权设备信息中提取可用存取应用程序(步骤S513)。判断单元156判断存取所需的应用程序是否包括在可用存取应用程序中。
当存取所需的应用程序没有包括在可用存取应用程序中时(步骤S514:否),判断单元156经由终端I/F 11向该终端设备输出告知存取被拒绝的错误信息(步骤S517)。
当存取所需的应用程序包括在可用存取应用程序中时(步骤S514:是),判断单元156指导存储器存取单元158读出该数据,存储器存取单元158读出来自数据存储单元12中限制存取区13的所需数据(步骤S515)。
数据输入/输出单元159接收从存储器存取单元158读出的数据,并经由终端I/F 11向该终端设备输出该数据(步骤S516)。
第一实施例的修改
这里,描述作为数据保护系统1的修改的数据保护系统1a,该数据保护系统1是本发明的第一实施例。
图24示出数据保护系统1a的结构。如在该图中所示,数据保护系统1a包括记录载体10a、便携式电话20a、PDA 30a、PC 40a、便携式电话50a和登记服务器60a。
在数据保护系统1中,便携式电话20是专门用于向记录载体10请求登记和删除设备信息的设备。这里,具有请求登记和删除记录载体10a的设备信息的登记服务器60a是数据保护系统1a的特征。
1.记录载体10a
图25是示出记录载体10a的结构的功能图。
如该图中所示,记录载体10a包括终端I/F 11a、数据存储单元12a、限制存取区13a、设备信息登记单元14a、设备信息存储单元15a、控制器16a和卡ID存储单元17a。与图2中所示记录载体10的结构不同之处在于记录载体10a具有卡ID存储单元17a。
终端I/F 11a、数据存储单元12a、限制存取区13a、设备信息存储单元15a和控制器16a中的每一个都具有与第一实施例的记录载体10的相应部分相同的功能,所述相应部分分别即为终端I/F 11、数据存储单元12、限制存取区13、设备信息存储单元15和控制器16。因此,省略了对这些部件的描述。
下面的描述主要集中在记录载体10a与记录载体10的不同。
卡ID存储单元17a存储用于唯一识别记录载体10a的卡ID“CID_A”。
在利用登记服务器60a(在下文中讨论)实现询问/响应验证之后,设备信息登记单元14a经由该终端设备接收登记请求数据/删除请求数据。这里,在分别利用“记录载体10a”和“登记服务器60a”代替“记录载体10”和“便携式电话20”的情况下,执行图13中所示与询问/响应验证相同的操作。
登记请求数据包括登记命令、加密的登记ID列表、卡ID、设备ID和签名数据。卡ID是用于识别记录载体的信息,该记录载体是设备信息的登记目的地。设备ID是用于识别连接记录载体的终端设备的信息,其中该记录载体是设备信息的删除目的地。签名数据是基于登记命令、加密的设备ID列表、卡ID和设备ID而生成的数字签名。
图27A中示出的登记请求数据310是登记请求数据的例子。
删除请求数据包括删除命令、加密的删除ID列表、卡ID、设备ID和签名数据。卡ID是用于识别记录载体的信息,该记录载体是设备信息的删除目的地。设备ID是用于识别连接记录载体的终端设备的信息,其中该记录载体是设备信息的删除目的地。签名数据是基于删除命令、加密的删除ID列表、卡ID和设备ID而生成的数字签名。图27B中示出的删除请求数据320是删除请求数据的例子。
设备信息登记单元14a判断在登记请求数据/删除请求数据中包括的卡ID与卡ID存储单元17a中存储的卡ID是否匹配。设备信息登记单元14a还判断在登记请求数据/删除请求数据中包含的识别ID与连接记录载体10a的终端设备的设备ID是否匹配。
而且,设备信息登记单元14a预先存储用于验证由登记服务器60a生成的签名数据的验证密钥,利用该验证密钥验证在登记请求数据/删除请求数据中包括的签名数据,并判断该登记请求数据/删除请求数据是否已经被篡改。
当这两个卡ID匹配并且设备ID匹配,且进一步签名数据的验证成功时,设备信息登记单元14a进行存取授权设备信息的登记处理或删除处理。
2.便携式电话20a
如图26中所示,便携式电话20a包括记录载体I/F 21a、设备ID存储单元22a、控制器23a、外部输入I/F 24a、显示单元25a和通信I/F 26a。
具体而言,记录载体I/F 21a是卡槽,记录载体10a放在该卡槽中。
通信I/F 26a是网络连接单元,经由网络与登记服务器60a连接。
在设备信息的登记和删除处理中,响应于来自记录载体10a的请求,便携式电话20a向记录载体10a输出其自己的终端设备的设备ID,该设备ID存储在设备ID存储单元22a中。
尽管第一实施例的便携式电话20生成登记请求数据和删除请求数据,但是便携式电话20a不生成这种请求数据。取而代之的是,便携式电话20a经由网络接收由登记服务器60a生成的登记请求数据和删除请求数据,并向记录载体10a输出接收到的登记请求数据和删除请求数据。
由于便携式电话20a的数据存取处理与便携式电话20的相同,因此省略对其的描述。
3.PDA 30a和PC 40a
假定PDA 30a和PC 40a都是由便携式电话20a的用户所拥有的终端设备。
PDA 30a和PC 40a具有与便携式电话20a相同的结构。PDA 30a和PC 40a都具有可将记录载体10a放在其中的卡槽。此外,PDA 30a和PC 40a都具有网络连接单元,并经由网络与登记服务器60a连接。
在设备信息的登记和删除处理中,响应于来自记录载体10a的请求,PDA 30a和PC 40a中的每一个都向记录载体10a输出存储在其中的其自己的终端设备的设备ID。
第一实施例的记录载体10仅仅在其连接到便携式电话20时才可以进行设备信息的登记和删除处理。但是,根据本修改,PDA 30a和PC 40a按照与便携式电话20a相同的方式经由网络接收由登记服务器60a生成的登记请求数据和删除请求数据,并向记录载体10a输出接收到的登记请求数据和删除请求数据。因此,根据本修改,记录载体10a甚至在其连接到PDA 30a或PC 40a上时也能够进行设备信息的登记和删除处理。
由于PDA 30a和PC 40a的数据存取处理与PDA 30和PC 40相同,因此省略了对其的描述。
4.便携式电话50a
假定便携式电话50a是与便携式电话20a、PDA 30a和PC 40a的用户不同的人所拥有的终端设备。
便携式电话50a具有与便携式电话20a相同的结构。便携式电话50a具有可将记录载体10a放在其中的卡槽。而且,便携式电话50a具有网络连接单元,并能够经由网络与登记服务器60a连接。
便携式电话50a是另一个人的终端设备,其没有向记录载体10a的存取授权设备表登记。因此,即使便携式电话50a向记录载体10a输出存取请求,由于记录载体10a判断便携式电话50a不具有存取该数据的权限,因此便携式电话50a也不能存取记录载体10a的数据。
5.登记服务器60a
登记服务器60a是请求对记录载体登记和删除设备信息的服务器装置,该登记服务器具有与根据第一实施例的便携式电话20的设备信息登记和删除相应的功能。
如图26中所示,登记服务器60a包括外部输入I/F 61a、控制器62a和数据传输单元63a。
外部输入I/F 61a接受来自外部的设备信息的登记要求数据或删除要求数据。
登记要求数据包括:表示与登记处理有关的要求的登记指令;用于识别作为登记目的地的记录载体的卡ID;用于识别连接记录载体的终端设备的设备ID,其中该记录载体是登记目的地;可用存取数量;可用存取时间段;可用存取块;可用存取应用程序;要求该登记处理的用户的用户名和用户密码;传输目的地信息。
删除要求数据包括:表示与删除处理有关的要求的删除指令;用于识别作为删除目的地的记录载体的卡ID;用于识别连接记录载体的终端设备的设备ID,其中该记录载体是登记目的地;要求该删除处理的用户的用户名和用户密码;传输目的地信息。
外部输入I/F 61a向控制器62a输出接受的登记要求数据或删除要求数据。
控制器62a具有与根据第一实施例的便携式电话20的控制器23相同的功能。控制器62a与控制器23的不同之处在于预先接收来自记录载体10a的拥有者的用户名和用户密码的登记并存储它们。
控制器62a接收来自外部输入I/F 61a的登记要求数据或删除要求数据,并通过判断在接收到的登记要求数据/删除要求数据中包括的用户名和密码是否分别与登记的用户名和密码匹配来验证用户。仅仅当用户鉴定成功时,控制器62a才基于该登记要求数据生成登记请求数据,或者基于该删除要求数据生成删除请求数据。
图27A示出由控制器62a生成的登记请求数据的例子。如该图中所示,登记请求数据310包括:登记命令311“/register”;加密的登记ID列表312“E(Kr,登记ID列表)”;卡ID 313“CID_A”;设备ID314“ID_B”;以及签名数据315“Sig_A”。卡ID 313“CID_A”和设备ID314“ID_B”分别是在从外部输入I/F 61接收的登记要求数据中包括的卡ID和设备ID。生成加密的登记ID列表的方法与控制器23的情况相同,用作加密密钥的Kr是在记录载体10a中生成的随机密钥。控制器62a向数据传输单元63a输出生成的登记请求数据以及传输目的地信息。
图27B示出由控制器62a生成的删除请求数据的例子。如该图中所示,删除请求数据320包括:删除命令321“/delete”;加密的删除ID列表322“E(Kr,删除ID列表)”;卡ID 323“CID_A”;设备ID324“ID_C”;以及签名数据325“Sig_B”。卡ID 323“CID_A”和设备ID324“ID_C”分别是在从外部输入I/F 61接收的删除要求数据中包括的卡ID和设备ID。生成加密的删除ID列表的方法与控制器23的情况相同,用作加密密钥的Kr是在记录载体10a中生成的随机密钥。控制器62a向数据传输单元63a输出生成的删除请求数据以及传输目的地信息。
数据传输单元63a是网络连接单元。数据传输单元63a接收来自控制器62a的登记请求数据和传输目的地信息,并经由网络向通过传输目的地信息表示的终端设备传输接收到的登记请求数据。数据传输单元63a接收来自控制器62a的删除请求数据和传输目的地信息,并经由网络向通过传输目的地信息表示的终端设备传输接收的删除请求数据。
如上所述,本修改被定义为登记服务器60a而不是便携式电话20a生成登记请求数据和删除请求数据,并经由安装有记录载体10a的终端设备向记录载体10a传输生成的登记请求数据和删除请求数据。这不仅在记录载体10a连接到便携式电话20a而且在其连接到PDA 30a和PC 40a时也能实现设备信息的登记和删除处理。
而且,登记服务器60a能够防止便携式电话50a的用户通过进行需要用户名和用户密码的用户鉴定来登记未授权的设备信息。
第二实施例
下面描述根据本发明第二实施例的数据保护系统2。
图28示出数据保护系统2的结构。如该图中所示,数据保护系统2包括记录载体10b、便携式电话20b、PDA 30b、PC 40a、便携式电话50b和管理服务器70b。
在数据系统1中,记录载体10在其中保存表示授权对记录载体10进行存取的设备的存取授权设备表。数据保护系统2定义为该管理服务器70b保存表示授权对记录载体10b进行存取的设备的存取授权设备表。
注意,利用便携式电话20b向管理服务器70b进行设备信息的登记和删除。
<结构>
1.记录载体10b
如图29中所示,记录载体10b包括终端I/F11b、数据存储单元12b、限制存取区13b、控制器16b、卡ID存储单元17b和篡改检查单元18b。
记录载体10b不具有与记录载体10的设备信息登记单元14和设备信息存储单元15对应的部件,而是将卡ID存储单元17b和篡改检查单元18b添加到记录载体10中。
由于设备I/F11b、数据存储单元12b和限制存取区13b分别与记录载体10的终端I/F 11、数据存储单元12和限制存取区13相同,因此省略了对其的描述。下面的描述主要集中于记录载体10b与记录载体10的不同。
卡ID存储单元17b存储用于唯一识别记录载体10b的卡ID“CID_A”。
篡改检查单元18b预先存储用于验证由管理服务器70b生成的签名数据的验证密钥,并利用该验证密钥检查从控制器16b输出的签名数据,从而判断控制器16b接收到的数据是否已经被篡改了。篡改检查单元18b向控制器16b输出签名数据的检查结果。
当控制器16b接受来自终端设备的存取请求时,其读出来自卡ID存储单元17b的卡ID,并经由终端I/F 11b、该终端设备和网络将读出的卡ID传输到管理服务器70b。
控制器16b获得来自管理服务器70b的存取授权设备表和签名数据,并向篡改检查单元18b输出获得的签名数据。当篡改检查单元18b进行的签名数据的验证成功时,控制器16b利用获得的存取授权设备表进行存取授权。存取授权的操作与第一实施例的记录载体10的情况相同。
2.便携式电话20b
便携式电话20b的结构与数据保护系统1a的便携式电话20a相同。便携式电话20b具有网络连接单元,并能够经由网络与管理服务器70b连接。
如第一实施例的便携式电话20的情况一样,便携式电话20b是专门用于设备信息登记和删除处理的设备。便携式电话20利用记录载体10进行设备信息的登记和删除处理,但是,便携式电话20b不利用记录载体10b而是利用管理存取授权设备表的管理服务器70b来进行设备信息的登记和删除处理。
便携式电话20b生成包括记录载体10b的卡ID“CID_A”的登记请求数据,并向管理服务器70b传输生成的登记请求数据。类似的是,便携式电话20b生成包括记录载体10b的卡ID“CID_A”的删除请求数据,并将生成的删除请求数据传输到管理服务器70b。
此外,便携式电话20b具有卡槽,当将记录载体10b放在卡槽中时提出对记录载体10b的存取请求。
3.PDA 30b、PC 40b和便携式电话50b
PDA30b、PC 40b和便携式电话50b的结构分别与PDA 30a、PC40a和便携式电话50a的结构相同。即,这些终端设备中的每一个都具有网络连接单元,并能够经由网络与管理服务器70连接。而且,这些终端设备中的每一个都具有卡槽,并且当将记录载体10b放在该卡槽中时提出对记录载体10b的存取请求。
注意,这些终端设备不向管理服务器70b进行设备信息的登记和删除处理。这与第一实施例的情况相同。
4.管理服务器70b
管理服务器70b具有设备信息登记单元71b、设备信息存储单元72b和控制器73b,如图29所示。
设备信息登记单元71b具有与根据第一实施例的记录载体10的设备信息登记单元14(图4)相同的功能和结构。即,当设备信息登记单元71b接收来自便携式电话20b的登记请求数据时,其根据接收到的登记请求数据向设备信息存储单元72b登记存取授权设备信息。当设备信息登记单元71b接收到来自便携式电话20b的删除请求数据时,其根据接收到的删除请求数据从设备信息存储单元72b中删除存取授权设备信息。
设备信息存储单元72b存储存取授权设备表。图30示出存取授权设备表的例子。如该图中所示,存取授权设备表400具有通过将卡ID 401“CID_A”添加到第一实施例的存取授权设备表140(图6)而构造的数据结构。
在第一实施例中,由于记录载体10本身保存存取授权设备表140,因此很明显,存取授权设备表140表示授权对记录载体10的限制存取区13进行存取的终端设备。
在第二实施例中,由于管理服务器70b保存存取授权设备表400,因此卡ID 401表示该表是关于与授权对记录载体10b的限制存取区进行存取的终端设备有关的信息,其用卡ID“CID_A”来识别。
当控制器73b经由该终端设备和网络接收来自记录载体10b的卡ID“CID_A”时,其从设备信息存储单元72b中提取包括“CID_A”的存取授权设备表400。
而且,控制器73b预先保存用于生成签名数据的签名密钥。控制器73b通过利用与提取的存取授权设备表400有关的签名密钥来生成签名数据,并经由该终端设备和网络向记录载体10b传输生成的签名数据和存取授权设备表400。
<操作>
下面描述数据保护系统2的操作。
1.总体操作
图31是说明数据保护系统2的总体操作的流程图。首先,由于接受来自用户的输入而提出设备信息的登记请求/删除请求(步骤S601)。便携式电话20b经由网络向管理服务器70b传输登记请求/删除请求,且管理服务器70b接收该登记请求/删除请求(步骤S602)。接着,管理服务器70b和便携式电话20b进行登记处理/删除处理(步骤S603)。
随后,便携式电话20b、PDA 30b、PC 40b或便携式电话50b接受来自用户的输入,上述任何一个都将记录载体10b放在其卡槽中,由此提出存取请求(步骤S604)。终端设备向记录载体10b输出存取请求,记录载体10b接收该存取请求(步骤S605)。然后,记录载体10b和管理服务器70b进行该数据存取处理(步骤S606)。
2.登记和删除处理
由便携式电话20b进行的登记处理的操作与由第一实施例的便携式电话20进行的操作相同(图16和17)。另外,由便携式电话20b进行的删除处理的操作与由第一实施例的便携式电话20所进行的操作相同(图20)。
而且,由管理服务器70b进行的登记处理的操作与由第一实施例的记录载体10进行的相同(图14和15),由管理服务器70b进行的删除处理的操作与由第一实施例的记录载体10进行的操作相同(图18和19)。
3.数据存取处理
图32是说明数据存取处理的操作的流程图。这里描述的操作是图31中步骤S606的细节。
记录载体10b的控制器16b从卡ID存储单元17b读出卡ID(步骤S701)。控制器16b经由终端I/F 11b、该终端设备和该网络向管理服务器70b传输读出的卡ID。管理服务器70b的控制器73b接收该卡ID(步骤S702)。
控制器73b从设备信息存储单元72b中提取包括接收到的卡ID的存取授权设备表(步骤S703)。接着,控制器73b生成与提取的存取授权设备表相对应的签名数据(步骤S704)。控制器73b经由该终端设备和网络将存取授权设备表和签名数据传输到记录载体10b,记录载体10b接收该存取授权设备表和签名数据(步骤S705)。
记录载体10b的篡改检查单元18b接收在步骤S705接收到的签名数据,并利用在篡改检查单元18b中保存的验证密钥来检查该签名数据(步骤S706)。当签名数据的验证不成功时(步骤S707:否),篡改检查单元18b生成告知数据存取被拒绝的错误信息,并向该终端设备输出生成的错误信息(步骤S708)。
当终端设备接收该错误信息时,其在显示单元上显示接收到的错误信息(步骤S709)。
当签名数据的验证成功时(步骤S707:是),篡改检查单元18b相应地告知该控制器16b。然后,控制器16b进行存取授权(步骤S710)。
该终端设备在显示单元上显示从记录载体10b接收到的信息(步骤S711)。所显示的信息反映在步骤S710中存取授权的结果。
4.存取授权
由记录载体10b进行的存取授权的操作与由第一实施例的记录载体10所进行的相同(图22和23)。
其他修改
(1)在第一实施例中,可以将其他专用设备代替便携式电话20用于设备信息的登记。例如,可以考虑这样一种情况,其中利用便携式电话商店等处的特殊设备在销售时登记那些授权对记录载体进行存取的设备的设备ID。在这种情况下,不需要在登记时输入密码。
(2)在第一和第二实施例中,授权用户的生物测量学信息可以预先包括在存取授权设备信息中。然后,实现用于对限制存取区13进行存取的授权,记录载体可以经由终端设备而获得操作者的生物测量学信息,并判断所获得的生物测量学信息与向存取授权设备信息登记的生物测量学信息是否匹配。
指纹、虹膜和声波纹可以被认为是这里的生物测量学信息。
(3)在第一和第二实施例中,授权用户预先指定的密码可以包括在存取授权设备信息中。然后,实现用于对限制存取区进行存取的授权,记录载体可以经由终端设备获得由用户输入的密码,并判断所获得的密码是否与向存取授权设备信息登记的密码匹配。
在这里要注意可以改变实现密码验证的时间。例如对于每个存取请求,可以每隔一定时间间隔或在接通电源之后立即进行密码验证。
(4)在第二实施例中,每当提出存取请求时,记录载体都通过网络与管理服务器连接,并对存取授权设备表进行存取。但是,不一定需要这种结构,可以采用下面的结构来代替。
例如,记录载体可以不管存取请求如何,以预定时间间隔对管理服务器进行存取,或者可以在每次将记录载体放在不同终端设备的卡槽中时对管理服务器进行存取。
(5)在第一实施例的修改中,记录载体10a和管理服务器60a可以在设备信息的登记和删除处理之前实现询问-响应验证。
(6)在第一实施例中,记录载体进行存取授权设备信息的登记和删除。这里,记录载体可以配置为不仅登记和删除而且更新存取授权设备信息。
类似的是,在第二实施例中,管理服务器可以配置为不仅登记和删除存取授权设备信息,而且更新该信息。
(7)本发明可以是完成上述数据保护系统的方法。本发明可以是利用计算机实现这些方法的计算机程序,或者可以是代表该计算机程序的数字信号。
本发明还可以是计算机可读存储媒体,如软盘、硬盘、CD-ROM(紧致盘只读存储器)、MO(磁光)盘、DVD(数字通用盘)、DVD-ROM(数字通用盘只读存储器)、DVD-RAM(数字通用盘随机存取存储器)、BD(蓝光盘),或半导体存储器,上述计算机程序或数字信号记录在这些存储媒体上。本发明还可以是记录在这种存储媒体上的计算机程序或数字信号。
本发明还可以是经由网络传输的计算机程序或数字信号,如由电信、有线/无线通信以及互联网表示的网络。
本发明还可以是具有微处理器和存储器的计算机系统,其中该存储器存储计算机程序,微处理器根据该计算机程序进行工作。
计算机程序或数字信号可以存储在上面的存储媒体中,并传送到独立的计算机系统,或者可选择的是,可以经由上述网络传送给独立的计算机系统。然后,该独立的计算机系统可以执行该计算机程序或数字信号。
(8)本发明包括将两个或多个上述实施例及修改组合而成的结构。