窜改检测用数据的生成方法、窜改检测方法及装置的制作方法

文档序号:6650742阅读:147来源:国知局
专利名称:窜改检测用数据的生成方法、窜改检测方法及装置的制作方法
技术领域
本发明涉及检验存储在目标设备内的机密信息的合法性或是否存在窜改(tamper)的方法及装置。
背景技术
涉及著作或个人信息等的内容(例如,以音乐数据或影像数据为代表的内容),需要防止非法的复制或向外部泄漏。这种内容,以被加密的状态存储在目标设备内。当主设备使用存储在目标设备内的加密内容时,主设备与目标设备之间执行认证处理,如该认证失败,主设备就不能从目标设备取得用于将加密内容解密的内容密钥。另一方面,如该认证成功,主设备可以访问存储在目标设备内的内容并使用该内容。通过采用这种结构,可以防止非法的主设备将加密内容解密。这里,目标设备例如是SD卡之类的存储卡。而且,主设备是从存储卡读出数据的半导体集成电路、安装了该半导体集成电路的成套设备、或向目标设备分发传送内容的内容分发传送设备。
以下,参照图17说明现有技术中目标设备的存储区域及存储在该存储区域内的机密信息。在以下的说明中,所谓机密信息,是指为对内容进行再现所需的信息(例如,密钥信息等)。
目标设备内的存储区域,划分为系统区域901、保护区域902、及普通区域903。系统区域901,是存储用于在主设备与目标设备之间进行认证处理的信息的区域。主设备只有在对系统区域901的访问是经许可的预定的处理时,才能访问系统区域901。保护区域902,是用户(主设备)不能任意进行访问、且只有在认证成功之后才能访问的区域。普通区域903,是用户可以任意访问的区域。在系统区域901内存储认证密钥。在保护区域902内存储加密内容密钥。在普通区域903内存储加密内容。
以下,说明主设备将目标设备内的加密内容解密并使用的方法。首先,主设备利用自身存储着的认证密钥和目标设备内所存储的认证密钥进行认证。如认证成功,主设备用这些认证密钥生成认证中间密钥。该认证中间密钥,被规定为用于对加密内容密钥进行解密的密钥。因此,主设备从目标设备取得加密内容密钥,并且用认证中间密钥将该加密内容密钥解密,从而生成明文(plain text,指未加密的状态)的内容密钥。进一步,主设备从目标设备取得加密内容,并利用明文的内容密钥将该加密内容解密,从而生成明文的内容。由此,即可对内容进行使用。通过执行如上所述的处理,可以只由认证成功了的主设备使用存储在目标设备内的加密内容。
在上述的内容的解密中,如认证成功则生成认证中间密钥,因此只要认证成功就可以将加密内容解密。即,只要是合法的主设备,就可以使用存储在目标设备内的加密内容。
另一方面,近年来,利用电子分发传送方式向特定的用户发送加密内容,因此,只能由该特定用户使用内容的这类活动日益活跃。但是,当想要在这种电子分发传送方式下进行使用时,发送给特定用户的加密内容,必须只能由该特定用户所拥有的主设备进行解密。但是,在上述的方法中不可能满足这种要求。
因此,新开发了一种只对特定的用户设定有效的域密钥的方法。当设定了域密钥时,内容以内容密钥加密,内容密钥以只对特定用户设定的域密钥加密而不是以认证中间密钥进行加密。而域密钥本身则用认证中间密钥或由认证中间密钥的信息生成的另一种密钥加密,并存储在目标设备内。因此也可以确保域密钥本身的隐匿性。
参照图18,说明当按如上方式设定了域密钥时存储在目标设备内的存储区域中的机密信息。为了在设定了域密钥时仍保持与以往的目标设备的互换性,目标设备内的区域划分方法必须相同。另外,若将域密钥和内容密钥这两者都保存在了保护区域902内,则尽管域密钥是用于对内容密钥进行解密的密钥,也将其存储在密级与内容密钥相同的区域内。因此,为保持保密性和互换性,当设定了域密钥时,域密钥以加密后的状态存储在保护区域902内。另外,内容密钥以加密后的状态存储在普通区域903内。
但是,如上所述,普通区域903是用户可以任意访问的区域,因此,保证存储在普通区域903内的加密内容密钥的合法性、换言之对窜改进行检验是至关重要的。
作为与本发明相关的先行技术文献,有日本特开2001-203686号公报。在日本特开2001-203686号公报中,将1个内容数据分成多个部分,对各部分计算检验值,并与预先所保持的检验值进行比较。由此,可以只对必要部分进行窜改检验。
但是,这种技术只不过是简单地将1个内容数据分成各个部分,如后文所述,与本发明在本质上是不相同的,在本发明中,当存在着与1个域密钥对应的多个内容密钥时,通过将该多个内容密钥与相关联地埋入域密钥内的数据进行匹配,从而进行窜改检验。
日本特开2001-203686号公报发明内容这里,参照图19进一步详细说明存储在目标设备内的机密信息。在目标设备内的保护区域902中,存储着n个(n为大于等于1的整数)加密后的域密钥Ku(1)~Ku(n)。对域密钥Ku(1)~Ku(n),一一对应地赋予n个域密钥管理信息UR[u](1)~UR[u](n)。
在目标设备的普通区域903中,存储着多个内容密钥。各内容密钥,与域密钥Ku(1)~Ku(n)中的任意1个相对应。即,可以用1个域密钥将多个加密后的内容密钥解密。例如,有m个(m为大于等于1的整数)内容密钥Kt(1-1)~Kt(1-m)与域密钥Ku(1)相对应。对内容密钥Kt(1-1)~Kt(1-m),一一对应地赋予m个内容密钥管理信息UR[t](1-1)~UR[t](1-m)和m个附加信息info(1-1)~info(1-m)。
在图19中,域密钥Ku(1)~Ku(n)和域密钥管理信息UR[u](1)~UR[u](n)的集合,表示为“域密钥群UKURE”,内容密钥Kt(1-1)~Kt(1-m)、内容密钥管理信息UR[t](1-1)~UR[t](1-m)、以及附加信息info(1-1)~info(1-m)的集合,表示为“内容密钥群TKURE(1)”。
为将加密后的内容解密,需要明文的内容密钥。而为了将加密后的内容密钥解密,需要域密钥。为了迅速地检索哪个内容密钥可以由哪个域密钥解密,在普通区域903内还存储着密钥对应表Address List(地址表)。在密钥对应表Address List内,记载有域密钥和内容密钥的对应关系。例如,对域密钥Ku(1),与能以该域密钥解密的内容密钥Kt(1-1)~Kt(1-m)相对应。
如上所述,当检验存储在目标设备内的机密信息的窜改时,通常采用对每个机密信息使用散列函数的方法。另外,一般地说,当用散列运算检验机密信息的窜改时,对与该机密信息相关联的所有信息执行散列运算。
以下,说明用散列函数对存储在目标设备内的机密信息执行窜改检验的情况。这里,“Enc”用作表示加密后的状态的前缀。例如,“EncUR[u](1)”表示加密后的域密钥管理信息UR[u](1)。
首先,将可以用域密钥Ku(1)解密的加密内容密钥EncKt(1-1)~EncKt(1-m)、与该加密内容密钥EncKt(1-1)~EncKt(1-m)对应的加密内容密钥管理信息EncUR[t](1-1)~EncUR[t](1-m)、及与该加密内容密钥EncKt(1-1)~EncKt(1-m)对应的附加信息info(1-1)~info(1-m)全部连接在一起并执行散列运算。将由该散列运算得到的散列值存储在域密钥管理信息UR[u](1)内。
然后,当对加密内容密钥EncKt(1-1)进行解密时,主设备参照密钥对应表Address List,从目标设备内的普通区域903读出内容密钥群TKURE(1),并执行散列运算。另一方面,主设备以通过认证得到的认证中间密钥,对存储在目标设备内的保护区域902中的加密域密钥管理信息Enc UR[u](1)进行解密。接着,主设备从通过解密得到的域密钥管理信息UR[u](1)中抽取散列值。然后,主设备将通过散列运算得到的散列值与从域密钥管理信息UR[u](1)中抽取的散列值进行比较。如两者一致,则主设备判断为没有被窜改,并将加密内容密钥解密。另一方面,如两者不一致,则主设备判断为已被窜改,因而不对加密内容密钥进行解密。
但是,在如图19所示的窜改检验方法中,处理量变得非常大。即,为检验1个内容密钥(内容密钥Kt(1-1))的窜改,主设备必须从目标设备读出可用同一域密钥解密的全部内容密钥及其附带的所有信息(内容密钥群TKURE(1)),并对该读出的信息执行散列运算。特别是,当存储在目标设备内的内容的个数增加时,内容密钥的个数也随之增加。其结果是,与1个域密钥对应的内容密钥增加,因此使处理时间进一步增加。
另外,也设想了将内容和内容密钥作为一组数据通过网络等分发传送的情况。在这种情况下,有时要追加/删除与1个域密钥对应的内容密钥。但是,按照以往的方法,当追加/删除内容密钥时,必须对与1个域密钥(域密钥Ku(1))对应的所有内容密钥及其附带的信息(内容密钥群TKURE(1))再次重新执行一遍散列运算,并将计算出的散列函数埋入到该域密钥所附带的域密钥管理信息(域密钥管理信息UR[u](1))内。
本发明的目的在于,通过提供一种处理量小的窜改检验方法而执行高速的窜改检验。更详细地说,在通过多次加密而对内容进行保护的机密信息处理系统中,当使多个内容密钥与1个域密钥相对应并存储在可由用户访问的区域内时,以小的处理量实现内容密钥的窜改检验,从而防止对内容的非法复制。
为解决上述课题,本发明所述的第1方法,是用于检测将至少1个域密钥存储在第1区域、且将各自与上述域密钥信息的任意1个相关联的多个内容密钥信息存储在与上述第1区域不同的第2区域的目标设备内的上述内容密钥信息的窜改的窜改检测用数据的生成方法,其特征在于,包括按链接加密方式将与一个域密钥相关联的上述多个内容密钥信息加密的步骤;从上述加密后的状态的多个内容密钥信息抽取预定位置的数据的步骤;将所抽取的多个上述预定位置的数据连接的步骤;对上述连接后的多个上述预定位置的数据执行散列运算并计算链接散列值的步骤;将与明文状态的上述预定位置的数据对应的检验值存储在上述目标设备内的步骤;以及将上述链接散列值存储在上述目标设备内的步骤。
另外,本发明所述的第2方法,是检测将至少1个域密钥信息存储在第1区域、且将各自与上述域密钥信息的任意1个相关联的多个内容密钥信息存储在与上述第1区域不同的第2区域的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改的窜改检测方法,其特征在于,包括第1计算步骤,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较步骤,将在上述第1计算步骤中计算出的检验用数据与预先存储在上述第2区域内的检验用数据进行比较;抽取步骤,不进行上述第1运算地抽取与多个内容密钥信息关联的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,对在上述抽取步骤中抽取出的上述多个检验用数据进行第2运算并计算总体检验用数据;以及第2比较步骤,将在上述第2计算步骤中计算出的总体检验用数据和预先与上述一个域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
另外,本发明所述的第3方法,是检测以加密后的状态存储至少1个域密钥信息和各自与上述域密钥信息的任意1个相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改的窜改检测方法,其特征在于在上述目标设备内预先存储以链接加密方式加密后的状态的总体检验值和明文状态的总体检验值,包括第1计算步骤,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较步骤,将在上述第1计算步骤中计算出的检验用数据与预先存储在上述目标设备内的检验用数据进行比较;抽取步骤,抽取与多个内容密钥信息关联的加密后的状态的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,将上述加密后的状态的多个检验用数据和上述加密后的状态的总体检验值连接后、进行解密并计算出明文状态的总体检验值;以及第2比较步骤,将在上述第2计算步骤中计算出的明文状态的总体检验值与上述预先存储的明文状态的总体检验值进行比较。
另外,本发明所述的第4方法,是检测存储至少1个域密钥信息和各自与上述域密钥信息的任意1个相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改的窜改检测方法,其特征在于将上述多个内容密钥信息的每一个以按链接加密方式加密后的状态存储在上述目标设备内,包括第1计算步骤,将上述一个内容密钥信息解密并抽取预定位置的数据从而计算出检验值;第1比较步骤,将在上述第1计算步骤中计算出的检验值与预先存储在上述目标设备内的检验值进行比较;抽取步骤,抽取与多个内容密钥信息关联的多个检验值,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,对在上述抽取步骤中抽取出的上述多个检验值进行第2运算并计算总体检验用数据;以及第2比较步骤,将在上述第2计算步骤中计算出的总体检验用数据和预先与上述相同的域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
为检验1个内容密钥的窜改,只需进行对1个内容密钥的窜改检验和对与所有内容密钥对应的检验用数据(散列值、检验值等)的窜改检验即可,因此,处理量显著减小,处理速度明显提高。
即使在通过网络的分发传送中追加/删除内容密钥时也没有必要对以同一个域密钥解密的所有的内容密钥生成检验用数据,只需生成与所追加的内容密钥对应的检验用数据和与该检验用数据对应的最终的检验用数据即可。
一般地说,保持保密性的区域,从安装和方便上考虑,只设置按目标设备所具有的存储区域决定的小的区域。因此,如在保持保密性的区域内只存储最终的检验用数据,最好不增大保持保密性的区域。


图1是表示本发明第1实施方式的机密信息处理系统的总体结构图。
图2是关于图1中示出的机密信息处理系统的动作的简略流程图。
图3是表示本发明第1实施方式中存储在目标设备内的机密信息的图。
图4是用于说明域密钥的加密/解密和内容密钥的加密/解密的图。
图5是用于说明图3中示出的散列表及连接散列值的生成步骤的图。
图6是关于本发明第1实施方式中窜改检验方法的流程图。
图7是用于说明本发明第1实施方式的改变例的图。
图8是用于说明链接加密方式的图。
图9是表示本发明第2实施方式中存储在目标设备内的机密信息的图。
图10是用于说明生成图9中示出的链接散列值的步骤的图。
图11是用于说明检验图9中示出的内容密钥群的窜改的步骤的图。
图12是关于本发明第2实施方式中窜改检验方法的流程图。
图13是用于说明本发明第2实施方式的改变例的图。
图14是表示本发明第3实施方式中存储在目标设备内的机密信息的图。
图15是用于说明生成图14中示出的检验值表及加密总体检验值的步骤的图。
图16是用于说明检验图14中示出的检验值表的窜改的步骤的图。
图17是表示存储在现有的目标设备内的机密信息的图。
图18是表示设定了域密钥时存储在现有的目标设备内的机密信息的图。
图19是进一步详细地示出存储在目标设备内的机密信息的图。
具体实施例方式
以下,参照附图详细说明本发明的实施方式。图中对相同或相对应的部分标以相同的符号而不再重复其说明。
(第1实施方式)<总体结构>
在图1中示出本发明第1实施方式中机密信息处理系统的总体结构。该机密信息处理系统由目标设备10和主设备11构成。目标设备10,例如是以SD卡为代表的存储卡之类的存储介质,存储包含机密信息的数据。主设备11与目标设备10连接,并与目标设备10之间进行机密信息的读出/写入。
<目标设备的存储区域>
目标设备10的存储区域,设有系统区域101、保护区域102、及普通区域103。系统区域101,存储着用于在目标设备10和主设备11之间执行认证的信息(例如,认证密钥)。主设备11,只有对系统区域101的访问是经许可的预定的处理时才能访问系统区域101。保护区域102,是用户(主设备)不能任意进行访问、且只有在认证成功之后才能访问的区域。普通区域103,是用户可以任意访问的区域。在保护区域102内存储加密后的域密钥。在普通区域103内存储加密后的内容密钥及加密后的内容。
<主设备的内部结构>
主设备11,包括内部总线111、目标I/F部112、机密信息处理部113、主I/F部114、主CPU115、RAM 116。目标I/F部112,与目标设备10之间进行数据的输入输出。机密信息处理部113,与目标设备10之间根据预定的顺序执行认证。另外,机密信息处理部113,还对存储在目标设备10内的机密信息执行加密/解密。主I/F部114,与目标I/F部112之间、与机密信息处理部113之间、及与主CPU115之间进行数据的输入输出。主CPU115,使机密信息处理部113执行预定的顺序。RAM116,由主CPU115或机密信息处理部113作为用于暂时存储数据的工作区使用。
当在目标设备10和主设备11之间进行机密信息的读出/写入时,必须在目标设备10和主设备11之间进行认证。在这种情况下,由主CPU115将机密信息处理部113起动,并由机密信息处理部113进行认证处理。如认证成功,在主设备11中,通过目标I/F部112从目标设备10读出机密信息,并由机密信息处理部113解密。
另外,主CPU115还起动机密信息处理部113的动作。机密信息处理部113是被隐匿的硬件。而且,机密信息处理部113,当由主CPU115起动时,仅执行确保了保密性的、或保密性要求低的预定的顺序。
<总体的处理流程>
以下,参照图2说明主设备11对存储在目标设备10内的加密内容进行解密的处理。
首先,当将目标设备10与主设备11连接时,主设备11读出存储在目标设备10内的认证密钥。
然后,主设备11,利用从目标设备10读出的认证密钥和自身具有的主用认证密钥执行认证处理。
当认证处理的结果表明认证失败了时,主设备11判断为非法访问并执行异常结束动作。另一方面,当主设备11在认证中成功时,进入步骤ST14。

接着,主设备11,根据从目标设备10读出的认证密钥和自身具有的主用认证密钥,生成认证中间密钥。所生成的认证中间密钥存储在机密信息处理部113中的认证中间密钥存储区域内。至此,完成了在目标设备10和主设备11之间进行随后的交换信息的准备。
接着,主设备11,判断是否由用户等请求了对存储在目标设备10内的加密内容进行解密。当判断有这样的请求时,进入步骤ST16。
然后,主设备11,从目标设备10读出为将加密内容解密所需的机密信息(加密内容密钥、加密域密钥、及其附带的信息)。作为具体的处理,主设备11,首先从加密内容所附带的信息抽取内容ID,并根据内容ID特定出为将加密内容解密所需的内容密钥。事先已按表的形式准备有内容ID和内容密钥的对应关系。接着,主设备11,根据特定出的内容密钥,参照已存储在目标设备中的普通区域103内的密钥对应表,特定出所需要的域密钥。当特定出内容密钥和域密钥时,读出所需的密钥信息。
接着,主设备11,读出已存储在目标设备10的保护区域内的加密域密钥。然后,主设备11,用在步骤ST14中生成的认证中间密钥将加密域密钥解密。由此,生成明文的域密钥。
接着,主设备11,读出已存储在目标设备10的普通区域内的加密内容密钥。然后,主设备11对加密内容密钥执行窜改检验。
当发现了加密内容密钥的窜改时,主设备11判断为非法访问并执行异常结束动作。另一方面,当没有发现加密内容密钥的窜改时,进入步骤ST20。
接着,主设备11,用在步骤ST17中生成的域密钥,将加密内容密钥解密。由此,主设备11取得明文的内容密钥。
然后,主设备11,用在步骤ST20中取得的明文的内容密钥,将加密内容解密。由此,即可对内容进行使用。
<机密信息>
以下,参照图3说明存储在目标设备10内的机密信息。在保护区域102内,存储着域密钥群UKURE。在普通区域内,存储着密钥对应表Address List、内容密钥群TKURE(i)及散列表Hash List(i)。
域密钥群UKURE,包括n个(n为大于等于1的整数)加密域密钥EncKu(1)~EncKu(n)和n个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)。
每个加密域密钥EncKu(1)~EncKu(n),与多个加密内容密钥(1个内容密钥群)相对应。而且,如图4所示,加密域密钥EncKu(1)~EncKu(n),通过用认证中间密钥解密,得到域密钥Ku(1)~Ku(n)。每个域密钥Ku(1)~Ku(n),用于对与自身对应的多个内容密钥进行加密/解密。就是说,可以用1个域密钥对多个内容密钥进行加密/解密。
加密域密钥管理信息EncUR[u](1)~EncUR[u](n),与加密域密钥EncKu(1)~EncKu(n)一一对应。而且,如图4所示,加密域密钥管理信息EncUR[u](1)~EncUR[u](n),通过用认证中间密钥解密,得到域密钥管理信息UR[u](1)~UR[u](n)。进一步,如图3所示,在每个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)的预定位置存储着连接散列值。连接散列值,根据与该加密域密钥管理信息对应的内容密钥群生成。例如,在加密域密钥管理信息EncUR[u](1)~EncUR[u](n)中的第i个加密域密钥管理信息EncUR[u](i)(i为整数、且1≤i≤n)的预定位置,存储连接散列值Hash(i)。该连接散列值Hash(i),根据内容密钥群TKURE(i)生成。
另外,在图3中只示出与加密域密钥EncKu(i)对应的内容密钥群TKURE(i),但是,加密域密钥EncKu(i)以外的各加密域密钥EncKu(1)~EncKu(n)也可以与内容密钥群一一对应。
内容密钥群TKURE(i),是可以用域密钥Ku(i)加密/解密的内容密钥及该内容密钥所附带的信息的集合。内容密钥群TKURE(i),包括m个(m为大于等于1的整数)加密内容密钥EncKt(i-1~EncKt(i-m)、m个加密内容密钥管理信息EncUR[t](i-1)~EncUR[t](i-m)、m个附加信息info(i-1)~info(i-m)。
如图4所示,m个加密内容密钥EncKt(i-1)~EncKt(i-m),通过用域密钥Ku(i)解密,得到内容密钥Kt(i-1)~Kt(i-m)。每个内容密钥Kt(i-1)~Kt(i-m),用于对与自身对应的内容(图中未示出)进行加密/解密。
内容密钥管理信息UR[t](i-1)~UR[t](i-m),与内容密钥Kt(i-1)~Kt(i-m)一一对应。而且,如图4所示,加密内容密钥管理信息EncUR[t](i-1)~EncUR[t](i-m),通过用域密钥Ku(i)解密,得到内容密钥管理信息UR[t](i-1)~UR[t](i-m)。
附加信息info(i-1~info(i-m),与加密内容密钥EncKt(i-1)~EncKt(i-m)一一对应。
密钥对应表Address List,使n个加密域密钥的地址Ku addr(1)~Ku addr(n)与n个内容密钥表Kt addr List(1)~Kt addr List(n)相对应。而且,在各内容密钥表内,写入了对应的内容密钥群中所包含的加密内容密钥的地址。例如,可以参照与域密钥Ku(i)的地址Ku addr(i)对应的内容密钥表Kt addr List(i)检索与域密钥Ku(i)对应的内容密钥群TKURE(i)(详细地说,是加密内容密钥EncKt(i-1)~EncKt(i-m))。这样,通过参照密钥对应表Address List,可迅速地检索域密钥和内容密钥的对应关系。
散列表Hash List(i),与内容密钥群TKURE(i)相对应。而且,散列表Hash List(i),包括m个散列值Hash(i-1)~Hash(i-m)。散列值Hash(i-1)~Hash(i-m),与加密内容密钥EncKt(i-1)~EncKt(i-m)一一对应。另外,在图3中只示出与内容密钥群TKURE(i)对应的散列表Hash List(i),但也可以存在与内容密钥群TKURE(i)以外的各内容密钥群(图中未示出)对应的散列表。
<散列表的生成步骤>
以下,参照图5说明图3中示出的散列表Hash List(i)的生成步骤。
首先,将加密内容密钥EncKt(i-1)、明文的附加信息info(i-1)及加密内容密钥管理信息EncUR[t](i-1)连接在一起。对各加密内容密钥EncKt(i-2)~EncKt(i-m),也同样地将该加密内容密钥、该加密内容密钥所附带的附加信息及加密内容密钥管理信息连接在一起。由此,生成m个连接数据。
然后,对与加密内容密钥EncKt(i-1)对应的连接数据执行散列运算。由此,计算出散列值Hash(i-1)。对与各加密内容密钥EncKt(i-2)~EncKt(i-m)对应的连接数据,也同样地对该连接数据执行散列运算。按照这种方式,计算出m个散列值Hash(i-1)~Hash(i-m)。
接着,将计算出的m个散列值Hash(i-1)~Hash(i-m)汇集在1个表内。至此,完成了与内容密钥群TKURE(i)对应的散列表HashList(i)。
<连接散列值的生成步骤>
以下,参照图5说明图3中示出的连接散列值Hash(i)的生成步骤。
首先,将存在于散列表Hash List(i)内的m个散列值Hash(i-1)~Hash(i-m)连接在一起。由此,生成1个散列连接数据。
然后,对在步骤ST101-4中生成的散列连接数据执行散列运算。由此,计算出连接散列值Hash(i)。
接着,将在步骤ST101-5中计算出连接散列值Hash(i)存储在加密域密钥管理信息EncUR[u](i)的预定位置。加密域密钥管理信息EncUR[u](i),与散列表Hash List(i)相对应。
另外,当使用原有的域密钥而对内容密钥进行更新、追加、删除从而将加密域密钥管理信息EncUR[u](i)更新时,加密域密钥管理信息EncUR[u](i),在存储散列表Hash List(i)之前先暂时解密,得到域密钥管理信息UR[u](i)。然后,当将散列表Hash List(i)存储在域密钥管理信息UR[u](i)内时,再将该域密钥管理信息UR[u](i)加密而返回到加密域密钥管理信息EncUR[u](i)。
但是,当新生成域密钥时,也要新生成域密钥管理信息UR[u](i),在这种情况下,不再需要进行暂时解密的处理,可以将连接散列值Hash(i)存储在域密钥管理信息UR[u](i)内,并将该域密钥管理信息UR[u](i)加密而生成加密域密钥管理信息EncUR[u](i)。
<内容密钥的窜改检验>
以下,参照图6说明由主设备11对存储在目标设备10内的内容密钥的窜改进行检验的处理(步骤ST22中的处理)。这里,主设备11,检验与域密钥Ku(i)对应的内容密钥Kt(i-1)~Kt(i-m)中第j个(j为整数、且1≤j≤m)内容密钥Kt(i-j)的窜改。
下一步,主设备11,将加密内容密钥EncKt(i-j)和其附带的明文的附加信息info(i-j)及加密内容密钥管理信息EncUR[t](i-j)连接在一起。由此,生成1个连接数据。
然后,主设备11,对在步骤ST102-1中生成的连接数据执行散列运算,并计算出散列值Hash(i-j)。
接着,主设备11,将在步骤ST102-2中计算出的散列值Hash(i-j)与存储在目标设备10的普通区域103中的散列表Hash List(i)内的散列值Hash(i-j)进行比较。
当根据步骤ST102-3中的比较结果判断为在步骤ST102-2中计算出的散列值Hash(i-j)与散列表Hash List(i)的散列值Hash(i-j)不一致时,主设备11,判断为加密内容密钥EncKt(i-j)、附加信息info(i-j)、或加密内容密钥管理信息EncUR[t](i-j)被窜改,并执行异常结束动作。另一方面,当判断为两者一致时,进入步骤ST102-5。
然后,主设备11,从存储在目标设备10的普通区域103内的散列表Hash List(i)中取得除与内容密钥Kt(i-j)对应的散列值Hash(i-j)以外的(m-1)个散列值Hash(i-1)~Hash(i-(j-1))、Hash(i-(j+1))~Hash(i-m)。就是说,主设备11,不对与加密域密钥EncKu(i)对应的加密内容密钥EncKt(i-1)~EncKt(i-m)中的加密内容密钥EncKt(i-j)以外的(m-1)个加密内容密钥执行散列运算。接着,主设备11,将在步骤ST102-2中计算出的散列值Hash(i-j)埋入到位置紧靠散列值Hash(i-j)之前的散列值Hash(i-(j-1))和位置紧接在散列值Hash(i-j)之后的散列值Hash(i-(j+1))之间。然后,主设备11,将这些散列值Hash(i-1)~Hash(i-(j-1))、Hash(i-j)、Hash(i-(j+1))~Hash(i-m)连接在一起。由此,生成散列连接数据。就是说,在该散列连接数据中,将存在于散列表Hash List(i)内的m个散列值Hash(i-1)~Hash(i-m)中的散列值Hash(i-j)置换为在步骤ST102-2中计算出的散列值Hash(i-j)。
接着,主设备11,对在步骤ST102-5中生成的散列连接数据进一步执行散列运算,并计算出连接散列值Hash(i)。然后,进入步骤ST102-9。另外,也不一定必须置换散列值Hash(i-j),由于已经通过与散列表Hash List(i)内的散列值的比较而检验了合法性,也可以是,直接对散列表Hash List(i)进行散列运算而计算出连接散列值Hash(i)。
另一方面,主设备11,参照密钥对应表Address List,检测为将加密内容密钥EncKt(i-j)解密所需的加密域密钥EncKu(i)。然后,主设备11,用认证中间密钥将该检测出的加密域密钥EncKu(i)及加密域密钥管理信息EncUR[u](i)进行解密。由此,生成域密钥Ku(i)和域密钥管理信息UR[u](i)。
接着,主设备11,从域密钥管理信息UR[u](i)中抽取存储在预定的位置的连接散列值Hash(i)。然后,进入步骤ST102-9。
接着,主设备11,将在步骤ST102-6中计算出的连接散列值Hash(i)与在步骤ST102-8中抽取出的连接散列值Hash(i)进行比较。
当根据步骤ST102-9中的比较结果判断为在步骤ST102-6中计算出的连接散列值Hash(i)和在步骤ST102-8中抽取出的连接散列值Hash(i)不一致时,主设备11,判断为加密内容密钥EncKt(i-j)、附加信息info(i-j)、或加密内容密钥管理信息EncUR[t](i-j)被窜改,执行异常结束动作。另一方面,当判断为两者一致时,进入步骤ST102-11。
接着,主设备11,在内容密钥的合法性得到保证后,用在步骤ST102-7中生成的域密钥Ku(i)将加密内容密钥EncKt(i-j)及加密内容密钥管理信息EncUR[t](i-j)解密。由此,主设备11,取得明文的内容密钥Kt(i-j)及明文的内容密钥管理信息UR[t](i-j)。
主设备11,用通过如上所述的处理得到的明文的内容密钥Kt(i-j),将加密后的内容解密。
如上所述,在本实施方式中,当执行对1个内容密钥的窜改检验时,执行对由1个加密内容密钥及其附带的信息构成的连接数据的散列运算和对由存在于散列表内的散列值构成的连接数据的散列运算。按照这种窜改检验方法,当与图19所示的窜改检验方法进行比较时,可以使处理量显著地减小,并可以使处理速度明显提高。
另外,也考虑了今后借助于通过网络的分发传送追加或删除内容密钥的情况。在本实施方式中,当追加了内容密钥时,如对所追加的该内容密钥执行散列运算而计算出散列值并将该计算出的散列值追加在散列表内(如执行步骤ST101-1~ST101-3的处理),就可以将散列表更新。另外,如对由存在于更新后的散列表内的多个散列值构成的连接数据执行散列运算(如执行步骤ST101-4、ST101-5的处理),还可以将连接散列值更新。另一方面,当删除了内容密钥时,如将与删除了的内容密钥对应的散列值从散列表中删除,就可以将散列表更新。另外,如对由存在于更新后的散列表内的多个散列值构成的连接数据执行散列运算(如执行步骤ST101-4、ST101-5的处理),也可以将连接散列值更新。
<项目>
有的目标设备,以项目的形式预先确保存储内容密钥的区域。使每个项目与多个域密钥中的任意1个相对应。就是说,使每个域密钥与多个项目相对应。存储在项目内的加密内容密钥,可以由与该项目对应的域密钥解密。在这种情况下,产生了将与各项目对应的散列值汇集而成的散列表这样的概念。即,无论实际上是否存储着内容密钥,都可以将关于与同一个域密钥对应的所有项目的散列值以散列表的形式存储在普通区域103内。而且,也可以将与同一个域密钥对应的所有项目的散列值连接在一起,对该连接数据执行散列运算而计算出散列值,并将该计算出的散列值存储在域密钥管理信息内。当然,为减小处理量,最好是使散列运算的运算量小。因此,最好的方法是,仅对实际上存储着内容密钥的项目执行散列运算而生成散列表,通过将该散列表的散列值连接后对其执行散列运算而计算出散列值,并将该计算出的散列值存储在域密钥管理信息内。
<改变例>
对本实施方式研讨了各种各样的改变例,但作为代表例公开了以下的3个改变例。
(1)加密内容,不一定必须存储在与存储加密内容密钥的目标设备为同一个的目标设备内,也可以存储在其他的记录介质内。在这种情况下,主设备可以通过网络等取得存储在该其他的记录介质内的加密内容,并以通过本实施方式的窜改检验方法保证了合法性的内容密钥,将该加密内容解密。
(2)附加信息,是没有加密、且机密性也较低的信息。因此,也可以不作为散列运算的对象。例如,也可以通过对由加密内容密钥EncKt(i-j)及加密内容密钥管理信息EncUR[t](i-j)构成的连接数据执行散列运算而计算出散列值Hash(i-j)。
(3)在第1实施方式中,是对用同一个域密钥解密的内容密钥的集合(内容密钥群TKURE(i))设置1个散列表Hash List(i)的结构,但也可以对1个内容密钥群设置P个(P为2以上的整数)子集散列表及1个全集散列表。这里,以内容密钥群TKURE(i)为例参照图7说明子集散列表及全集散列表。图中,可以用域密钥Ku(i)解密的多个加密内容密钥(内容密钥群TKURE(i)中所包含的m个加密内容密钥EncKt(i-1)~EncKt(i-m)),分成P个(P为2以上的整数)子集。使P个子集与P个子集散列表Hash List(i-Gr1)~Hash List(i-GrP)一一对应。例如,使从第j个内容密钥Kt(i-j)到第k个(k为整数、且j<k≤m))内容密钥Kt(i-k)的子集与子集散列表Hash List(i-GrJ)(J为整数、且1≤J≤P))相对应。而且,子集散列表Hash List(i-GrJ),包含(k-j)个散列值Hash(i-j)~Hash(i-k)。另外,子集散列表Hash List(i-Gr1)~Hash List(i-GrP),与全集散列表Hash List(i-ALL)相对应。全集散列表Hash List(i-ALL),包含与P个子集散列表Hash List(i-Gr1)~Hash List(i-GrP)一一对应的P个部分散列值Hash(i-Gr1)~Hash(i-GrP)。总体散列值ALL Hasht(i),根据全集散列表Hash List(i-ALL)生成。按照这种结构,当对加密内容密钥EncKt(i-j)执行窜改检验时,执行对由加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)和附加信息info(i-j)构成的连接数据的散列运算(散列运算1)、对与内容密钥Kt(i-j)所属的子集对应的子集散列表Hash List(i-GrJ)的散列运算(散列运算2)、及对全集散列表Hash List(i-ALL)的散列运算(散列运算3)。散列运算2和散列运算3合在一起的处理量,小于图5中示出的处理的处理量。因此,可以预料到处理速度将进一步提高。
(第2实施方式)在本发明的第2实施方式中,内容密钥及内容密钥管理信息,以链接加密方式进行加密。
<链接加密方式>
这里,参照图8说明基于链接加密方式的加密方法。其中,假定加密对象为内容密钥Kt(i-j)及内容密钥管理信息UR[t](i-j)。
首先,内容密钥Kt(i-j)和内容密钥管理信息UR[t](i-j)连接在一起后,从开头起按顺序以每8个字节为单位进行分割,得到“数据1”、“数据2”、…、“数据X”(X为大于等于2的整数)。另外,当然也可以不是按8个字节而是任意地进行分割。
然后,MSB(最高有效位或最高有效字节)侧的最初的8个字节即“数据1”,用域密钥Ku(i)加密而得到“加密数据1”。接着,对与“数据1”对应的加密的中间值1执行预定运算,生成链接密钥1。然后,用链接密钥1将位于“数据1”的后1个的“数据2”加密,得到“加密数据2”。接着,对与“数据2”对应的加密的中间值2执行预定运算,生成链接密钥2。这样,作为开头8个字节的“数据1”,用域密钥Ku(i)加密。而第2个及后面的每个8字节数据,利用对前1个8字节数据的加密结果依次进行加密。
反复进行上述的加密处理直到从MSB开始数起的最后的8字节(即LSB(最低有效位或最低有效字节))即“数据X”为止。“数据1”~“数据X”,变为“加密数据1」~「加密数据X”。该“加密数据1”~“加密数据X”的集合,变成加密内容密钥EncKt(i-j)及加密内容密钥管理信息EncUR[t](i-j)的集合。
以下,说明基于链接加密方式的解密方法。
首先,加密内容密钥EncKt(i-j)及加密内容密钥管理信息EncUR[t](i-j)的集合,从开头起按顺序以每8个字节为单位进行分割,得到“加密数据1”、“加密数据2”、…、“加密数据X”。然后,“加密数据1”,用域密钥Ku(i)解密,得到“数据1”。接着,“加密数据2”,利用“加密数据1”的解密结果进行解密,得到“数据2”。这样,作为开头8个字节的“加密数据1”,用域密钥Ku(i)解密。第2个及后面的每个加密数据,利用对前1个加密数据的解密结果依次进行解密。
在这种链接加密方式中,一边对每部分的数据进行链接一边进行加密/解密。就是说,这种链接加密方式,具有这样的特征,即如解密时在任何一个阶段的解密失败,该阶段以后的所有加密数据都不能正常解密。因此,例如,如果作为最后的8字节(LSB)的数据X解密成功,就能保证所有数据都是合法的。
另外,在这种链接加密方式中,即使对相同的数据进行加密时,如果事前已加密过的数据彼此不同,加密的结果也不相同。
<结构>
根据以上所述,说明本发明第2实施方式的机密信息处理系统。本实施方式的机密信息处理系统的总体结构,与图1所示相同。可是,存储在目标设备10内的机密信息,与图3所示不同。
<机密信息>
在本实施方式中,存储在目标设备10内的机密信息示于图9。在保护区域102内,存储域密钥群UKURE。在普通区域103内,存储密钥对应表Address List及内容密钥群TKURE(i)。
域密钥群UKURE,与图3一样,包括n个加密域密钥EncKu(1)~EncKu(n)和n个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)。而且,在每个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)的各预定位置存储着链接散列值。链接散列值,根据与该加密域密钥管理信息对应的内容密钥群生成。例如,在加密域密钥管理信息EncUR[u](i)的预定位置,存储链接散列值Chain Hash(i)。链接散列值Chain Hash(i),根据内容密钥群TKURE(i)生成。
另外,在图9中只示出与加密域密钥EncKu(i)对应的内容密钥群TKURE(i),但加密域密钥EncKu(i)以外的各加密域密钥EncKu(1)~EncKu(n)也可以与内容密钥群一一对应。
内容密钥群TKURE(i),除图3中示出的内容密钥群TKURE(i)以外,还包括m个加密检验值EncCheck(i-1)~EncCheck(i-m)。加密检验值EncCheck(i-1)~EncCheck(i-m),与加密内容密钥EncKt(i-1)~EncKt(i-m)一一对应。另外,在各附加信息info(i-1)~info(i-m)内,以明文状态存储着与加密检验值EncCheck(i-1)~EncCheck(i-m)中的各值对应的检验值(在图9中,只示出作为代表的检验值Check(i-j))。例如,在加密检验值EncCheck(i-j)所对应的加密内容密钥EncKt(i-j)的附加信息info(i-j)内,存储着明文的检验值Check(i-j)。而且,检验值Check(i-j),根据指定字节(指示预定的位置的信息)存储在对应的附加信息info(i-j)的预定位置。
密钥对应表Address List,与图3中示出的密钥对应表Address List相同。
<内容密钥及其附带信息的加密>
以下,说明内容密钥、内容密钥管理信息、检验值的加密处理。这里,以内容密钥Kt(i-j)、内容密钥管理信息UR[t](i-j)、检验值Check(i-j)为例进行说明。
首先,将内容密钥Kt(i-j)和内容密钥管理信息UR[t](i-j)连接。然后,根据指定字节,将检验值Check(i-j)埋入到由内容密钥Kt(i-j)及内容密钥管理信息UR[t](i-j)构成的连接数据的预定位置。在本例中,将检验值埋入到LSB。接着,根据链接加密方式,对埋入了检验值Check(i-j)的连接数据进行加密。然后,将加密后的连接数据分割为加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、及加密检验值EncCheck(i-j)。
按这种方式,将内容密钥、内容密钥管理信息、及检验值加密。另外,由于根据指定字节指定检验值的埋入位置而不是固定位置,可以隐匿埋入检验值的位置,因而使保密性提高。
<链接散列值的生成步骤>
以下,参照图10说明图9中示出的链接散列值Chain Hash(i)的生成步骤。此外,这里,如图10所示,将各加密内容密钥管理信息EncUR[t](i-1)~EncUR[t](i-m)设定为位于对应的加密内容密钥的后段,并将各加密检验值EncCheck(i-1)~EncCheck(i-m)设定为位于对应的加密内容密钥管理信息的后段。另外,还将各加密检验值EncCheck(i-1)~EncCheck(i-m)设定为8字节数据。
首先,根据指定字节,从内容密钥群TKURE(i)中抽取m个加密检验值EncCheck(i-1)~EncCheck(i-m)。例如,从加密内容密钥EncKt(i-j)和其附带的信息(加密内容密钥管理信息EncUR[t](i-j)及加密检验值EncCheck(i-j))的集合中抽取预定位置的数据(这里,为紧接在加密内容密钥管理信息EncUR[t](i-j)之后的8字节数据)。由此,可以抽取加密检验值EncCheck(i-j)。通过对各加密内容密钥EncKt(i-1)~EncKt(i-m)执行这种抽取处理,来抽取出m个加密检验值EncCheck(i-1)~EncCheck(i-m)。
然后,将所抽取的m个加密检验值EncCheck(i-1)~EncCheck(i-m)连接在一起。由此,生成1个检验值连接数据。
接着,对在步骤ST201-2中生成的检验值连接数据执行散列运算。由此,计算出链接散列值Chain Hash(i)。
接着,将在步骤ST201-3中计算出的链接散列值Chain Hash(i)存储在加密域密钥管理信息EncUR[u](i)的预定位置。
另外,当使用原有的域密钥而对内容密钥进行更新、追加、删除从而将加密域密钥管理信息EncUR[u](i)更新时,加密域密钥管理信息EncUR[u](i),在存储链接散列值Chain Hash(i)之前先暂时解密,得到域密钥管理信息UR[u](i)。然后,当将链接散列值ChainHash(i)存储在域密钥管理信息UR[u](i)内时,再将该域密钥管理信息UR[u](i)加密而返回到加密域密钥管理信息EncUR[u](i)。
当新生成域密钥时,域密钥管理信息UR[u](i)也要新生成,在这种情况下,不再需要进行暂时解密的处理,可以将链接散列值ChainHash(i)存储在域密钥管理信息UR[u](i)内,并将该域密钥管理信息UR[u](i)加密而生成加密域密钥管理信息EncUR[u](i)。
<窜改检验方法>
以下,参照图11说明利用了图9中示出的检验值Check(i-1)~Check(i-m)的窜改检验方法。这里,以加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、及加密检验值EncCheck(i-j)为例进行说明。
首先,将加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、及加密检验值EncCheck(i-j)连接在一起。由此,生成1个连接数据。
然后,按照链接加密方式将连接数据解密。由此,生成由内容密钥Kt(i-j)、内容密钥管理信息UR[t](i-j)、及检验值Check(i-j)构成的连接数据。该连接数据,具有将检验值Check(i-j)埋入到与内容密钥Kt(i-j)及内容密钥管理信息UR[t](i-j)的连接数据的预定位置的结构。
接着,根据指定字节,从由内容密钥Kt(i-j)、内容密钥管理信息UR[t](i-j)、及检验值Check(i-j)构成的连接数据中抽取检验值Check(i-j)。然后,进入步骤ST202-5。
另一方面,将存储在附加信息info(i-j)的预定位置的检验值Check(i-j)抽出。然后,进入步骤ST202-5。
接着,将在步骤ST202-3中抽取出的检验值Check(i-j)与在步骤ST202-4中抽取出的检验值Check(i-j)进行比较。
这样,对每个内容密钥Kt(i-1)~Kt(i-m),将从附加信息抽取出的检验值与从解密后的连接数据中抽取出的检验值进行比较,验证该内容密钥的合法性。
检验值,最好附加在紧接内容密钥管理信息之后。就是说,在由内容密钥、内容密钥管理信息及检验值构成的连接数据中,最好是使该连接数据的LSB为检验值。这是因为,通过检验LSB可以验证作为解密对象的数据整体的合法性。
<动作>
以下,说明本实施方式的机密信息处理系统的动作。本实施方式的机密信息处理系统的动作的总体流程,与图2基本相同,但不同于检验内容密钥的窜改的处理(步骤ST22)中的详细处理。
<内容密钥的窜改检验>
参照图12说明本实施方式中由主设备11对存储在目标设备10内的内容密钥的窜改进行检验的处理(步骤ST22)中的处理)。这里,检验与域密钥Ku(i)对应的内容密钥Kt(i-j)的窜改。另外,假定检验值Check(i-j))为紧接在内容密钥管理信息UR[t](i-j)之后的8字节数据。
首先,主设备11,将加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、及加密检验值EncCheck(i-j)解密。由于这些数据是作为1个连接数据按上述的链接加密方式加密的,将该连接数据从MSB(最初的8字节)起依次解密。
然后,主设备11,根据指定字节,从解密后变成明文的连接数据(由内容密钥Kt(i-j)、内容密钥管理信息UR[t](i-j)及检验值Check(i-j)构成的连接数据)中抽取8个字节量的数据。另外,这里,由于检验值Check(i-j)附加在紧接内容密钥管理信息UR[t](i-j)之后,指定字节指的是LSB(最后的8字节)。由此,可以从变成明文的连接数据中抽取出检验值Check(i-j)。然后,进入步骤ST203-4。
另一方面,主设备11,从附加信息info(i-j)中抽取8个字节量的数据。由此,可以从附加信息info(i-j)中抽取检验值Check(i-j)。
接着,主设备11,将在步骤ST203-2中抽取出的检验值Check(i-j)与在步骤ST203-3中抽取出的检验值Check(i-j)进行比较。这样,通过将两者进行比较,可以验证由内容密钥、内容密钥管理信息及检验值构成的连接数据中直到埋入了检验值的位置的数据的合法性。
当根据步骤ST203-4中的比较结果判断为在步骤ST203-2中抽取出的检验值Check(i-j)与在步骤ST203-3中抽取出的检验值Check(i-j)不一致时,主设备11,判断为加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、或加密检验值EncCheck(i-j)被窜改,并执行异常结束动作。另一方面,当判断为两者一致时,进入步骤ST203-6。
然后,主设备11,根据指定字节,从内容密钥群TKURE(i)中抽取m个加密检验值EncCheck(i-1)~EncCheck(i-m)。例如,主设备11,根据指定字节,从由加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、加密检验值EncCheck(i-j))构成的连接数据中抽取8个字节量的数据。由此,可以抽取加密检验值EncCheck(i-j)。主设备11,通过对各连接数据执行这种抽取处理,抽取m个加密检验值EncCheck(i-1)~EncCheck(i-m)。
然后,主设备11,将在步骤ST203-6中抽取出的m个加密检验值EncCheck(i-1)~EncCheck(i-m)连接在一起。由此,生成1个检验值连接数据。
接着,主设备11,对在步骤ST203-7中生成的检验值连接数据执行散列运算。由此,计算出链接散列值Chain Hash(i)。然后,进入步骤ST203-11。
另一方面,主设备11,参照密钥对应表Address List,检测为将加密内容密钥EncKt(i-j)解密所需的加密域密钥EncKu(i)。然后,主设备11,用认证中间密钥将该检测出的加密域密钥EncKu(i)及加密域密钥管理信息EncUR[u](i)解密。由此,生成域密钥Ku(i)及域密钥管理信息UR[u](i)。
接着,主设备11,从域密钥管理信息UR[u](i)中抽取存储在预定的位置的链接散列值Chain Hash(i)。
接着,主设备11,将在步骤ST203-8中计算出的链接散列值ChainHash(i)与在步骤ST203-10中抽取出的链接散列值Chain Hash(i)进行比较。
当根据步骤ST203-11中的比较结果判断为在步骤ST203-8中计算出的链接散列值Chain Hash(i)与在步骤ST203-10中抽取的链接散列值Chain Hash(i)不一致时,主设备11,判断为加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、或加密检验值EncCheck(i-j)被窜改,并执行异常结束动作。另一方面,当判断为两者一致时,进入步骤ST203-13。
然后,主设备11,在内容密钥的合法性得到保证后,用在步骤ST203-9中生成的域密钥Ku(i)将加密内容密钥EncKt(i-j)及加密内容密钥管理信息EncUR[t](i-j)解密。由此,主设备11,取得明文的内容密钥Kt(i-j)及明文的内容密钥管理信息UR[t](i-j)。
主设备11,用通过如上所述的处理得到的明文的内容密钥Kt(i-j),将加密后的内容解密。
如上所述,当执行关于1个内容密钥的窜改检验时,执行所抽取的检验值的比较、和对由各加密内容密钥所对应的检验值构成的连接数据的散列运算。按照这种窜改检验方法,当与图19所示的窜改检验方法进行比较时,可以使处理量明显地减小,并可以使处理速度明显提高。
另外,也考虑了今后借助于通过网络的分发传送追加或删除内容密钥的情况。在本实施方式中,当追加了内容密钥时,只需将与该内容密钥对应的检验值存储在附加信息内并且将该检验值加密后埋入到内容密钥及内容密钥管理信息的任何一个内即可。按照这种方式,可以执行对追加后的内容密钥的窜改检验。另外,如对由与所追加的内容密钥对应的加密检验值和已有的加密检验值构成的连接数据执行散列运算(如执行步骤ST201-1~ST201-4的处理),就可以将链接散列值更新。另一方面,当删除了内容密钥时,如将与未删除的内容密钥对应的加密检验值抽取并将这些加密检验值连接在一起而再次执行散列运算(如执行步骤ST201-1~ST201-4的处理),就可以将链接散列值更新。
进一步,在本实施方式中,对各内容密钥的窜改检验和对所有的检验值的窜改检验用各自不同的方式进行。即,各内容密钥的窜改检验,通过用链接加密方式进行检验值的比较执行,另一方面,所有的检验值的窜改检验,通过散列运算执行。这样,由于窜改检验的方法不同,可以使密级提高。
进一步,由于检验值存储在附加信息内,可以对每个内容密钥设定不同的检验值。因此,可以使保密性提高。
<项目>
另外,有的目标设备,还以项目的形式预先确保存储内容密钥的区域。使每个项目与域密钥相对应。存储在项目内的加密内容密钥,可以由与该项目对应的域密钥解密。在这种情况下,产生了将与各项目对应的检验值连接并执行散列运算的概念。即,无论实际上是否存储着内容密钥,都可以根据指定字节从与同一个域密钥对应的所有项目中抽取预定位置的数据,将该抽取的数据连接在一起而执行散列运算,并将计算出的散列值存储在域密钥管理信息内。当然,为减小处理量,最好是使散列运算的运算量小。因此,最好的方法是,仅对实际上存储着内容密钥的项目执行根据指定字节的数据抽取,将该抽取的数据连接在一起而执行散列运算,并将计算出的散列值存储在域密钥管理信息内。
<改变例>
对本实施方式研讨了各种各样的改变例,但作为代表例公开了以下的3个改变例。
(1)加密内容,不一定必须存储在与存储加密内容密钥的目标设备为同一个的目标设备内,也可以存储在其他的记录介质内。在这种情况下,主设备可以通过网络等取得存储在该其他的记录介质内的加密内容,并用由本实施方式的窜改检验方法保证了合法性的内容密钥将该加密内容解密。
(2)埋入检验值的位置,不一定必须由指定字节指定,也可以是固定的。例如,如果固定为LSB的8个字节进行埋入,则可以检验所有数据(内容密钥、内容密钥管理信息)的窜改。
(3)检验值,也不一定必须埋入到附加信息内,也可以如图13所示作为常数存储在寄存器等内。而当该常数具有一定的规律性时,也可以不设寄存器而由运算器的组合等实现。一般地说,与设置寄存器相比,利用运算器的组合安装常数的方式在电路面积上是有利的。
(第3实施方式)在本发明的第3实施方式中,利用总体检验值执行基于链接加密方式的加密/解密。链接加密方式,与图8所示相同。而且,检验内容密钥Kt(i-j)及其附带的内容密钥管理信息UR[t](i-j)的窜改的方法,与第2实施方式相同。
<结构>
本发明第3实施方式的机密信息处理系统的总体结构,与图1所示相同。存储在目标设备10内的机密信息,与图3所示不同。
<机密信息>
本实施方式中的存储在目标设备10内的机密信息示于图14。在保护区域102内,存储域密钥群UKURE。在普通区域103内,存储密钥对应表Address List、内容密钥群TKURE(i)、检验值表CheckList(i)、以及总体检验值Check(i)。
域密钥群UKURE,与图3一样,包括n个加密域密钥EncKu(1)~EncKu(n)和n个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)。而且,在每个加密域密钥管理信息EncUR[u](1)~EncUR[u](n)的各预定位置存储着加密总体检验值。该加密总体检验值,根据与该域密钥对应的内容密钥群和总体检验值生成。例如,在加密域密钥管理信息EncUR[u](i)的预定位置存储着加密总体检验值EncCheck(i)。加密总体检验值EncCheck(i),根据内容密钥群TKURE(i)和总体检验值Check(i)生成。
另外,在图14中只示出与加密域密钥EncKu(i)对应的内容密钥群TKURE(i),但加密域密钥EncKu(i)以外的各加密域密钥EncKu(1)~EncKu(n)也可以与内容密钥群一一对应。
内容密钥群TKURE(i)和密钥对应表Address List,与图9所示相同。
检验值表Check List(i),与内容密钥群TKURE(i)相对应,并包括m个双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)和加密总体检验值EncCheck(i)。双重加密检验值Enc2Check(i-1)~Enc2Check(i-m),与内容密钥群TKURE(i)中所包含的加密检验值EncCheck(i-1)~EncCheck(i-m)一一对应。另外,在图14中只示出与内容密钥群TKURE(i)对应的检验值表Check List(i),但与内容密钥群TKURE(i)以外的各加密域密钥群(图中未示出)对应的检验值表也可以存在。
总体检验值Check(i),与内容密钥群TKURE(i)相对应,另外,在图14中只示出与内容密钥群TKURE(i)对应的总体检验值Check(i),但与内容密钥群TKURE(i)以外的各加密域密钥群(图中未示出)对应的总体检验值Check(i)也可以存在。
<检验值表及加密检验值的生成步骤>
以下,参照图15说明图14中示出的检验值表Check List(i)及加密总体检验值EncCheck(i)的生成步骤。
首先,根据指定字节,从内容密钥群TKURE(i)中抽取m个加密检验值EncCheck(i-1)~EncCheck(i-m)。例如,从由加密内容密钥EncKt(i-j)、加密内容密钥管理信息EncUR[t](i-j)、及加密检验值EncCheck(i-j)构成的连接数据中抽取加密检验值EncCheck(i-j)。按这种方式,抽取m个加密检验值EncCheck(i-1)~EncCheck(i-m)。
然后,将在步骤ST301-1中抽取出的m个加密检验值EncCheck(i-1)~EncCheck(i-m)与总体检验值Check(i)连接在一起。由此,生成1个检验值连接数据。
接着,根据链接加密方式,用域密钥Ku(i)将检验值连接数据加密。由此,生成双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)和加密总体检验值EncCheck(i)的集合。
然后,从双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)和加密总体检验值EncCheck(i)的集合中取出加密总体检验值EncCheck(i)。由此,双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)的集合,成为检验值表Check List(i)。
接着,将在步骤ST301-4中取出的加密总体检验值EncCheck(i)存储在域密钥管理信息UR[u](i)的预定位置。
另外,当使用原有的域密钥而对内容密钥进行更新、追加、删除从而将加密域密钥管理信息EncUR[u](i)更新时,加密域密钥管理信息EncUR[u](i),在存储加密总体检验值EncCheck(i)之前先暂时解密,得到域密钥管理信息UR[u](i)。然后,当将加密总体检验值EncCheck(i)存储在域密钥管理信息UR[u](i)内时,再将该域密钥管理信息UR[u](i)加密而返回到加密域密钥管理信息EncUR[u](i)。
当新生成域密钥时,域密钥管理信息UR[u](i)也要新生成,在这种情况下,不再需要进行暂时解密的处理,可以将加密总体检验值EncCheck(i)存储在域密钥管理信息UR[u](i)内,并将该域密钥管理信息UR[u](i)加密而生成加密域密钥管理信息EncUR[u](i)。
<窜改检验方法>
以下,参照图16说明利用了图14中示出的总体检验值Check(i)的窜改检验方法。这里,以加密域密钥EncKu(i)、检验值表CheckList(i)、及总体检验值Check(i)为例进行说明。此外,图14中示出的利用了检验值Check(i-1)~Check(i-m)的窜改检验方法,与图11中示出的方法相同。
首先,将加密域密钥管理信息EncUR[u](i)解密。由此,生成域密钥管理信息UR[u](i)。然后,从域密钥管理信息UR[u](i)的预定位置抽取加密总体检验值EncCheck(i)。
接着,将存在于检验值表Check List(i)内的m个双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)连接在一起。然后,进一步将在步骤ST302-1中抽取出的加密总体检验值EncCheck(i)连接在由该m个双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)构成的连接数据的后段。就是说,在由双重加密检验值Enc2Check(i-1)~Enc2Check(i-m)和加密总体检验值EncCheck(i)构成的连接数据中,该连接数据的LSB就是加密总体检验值EncCheck(i)。由此,生成1个检验值链接数据。
接着,用域密钥Ku(i)对检验值链接数据执行基于链接加密方式的解密。由此,生成m个加密检验值EncCheck(i-1)~EncCheck(i-m)和总体检验值Check(i)的集合。
然后,从m个加密检验值EncCheck(i-1)~EncCheck(i-m)和总体检验值Check(i)的集合中抽取预定位置的数据(这里,为作为该集合的LSB的8字节数据)。由此,可以抽取出总体检验值Check(i)。接着,进入步骤ST302-6。
另一方面,根据指定字节,抽取预先存储在目标设备10的普通区域103内的总体检验值Check(i)。然后,进入步骤ST302-6。
接着,将在步骤ST302-4中抽取出的总体检验值Check(i)与在步骤ST302-5中抽取出的总体检验值Check(i)进行比较。这里,当两者一致时,判断为检验值表Check List(i)或总体检验值Check(i)没有被窜改。另一方面,当两者不一致时,判断为检验值表Check List(i)或总体检验值Check(i)已被窜改并执行异常结束动作。
按照如上方式,可以验证检验值表Check List(i)的合法性。如果检验值表没有被窜改,可以检验加密内容密钥的窜改。例如,当想要检验加密内容密钥EncKt(i-j)的窜改时,从在步骤ST302-3中解密后的检验值表Check List(i)中抽取与内容密钥Kt(i-j)对应的加密检验值EncCheck(i-j)。另一方面,从内容密钥群TKURE(i)中抽取加密检验值EncCheck(i-j)。然后,将从解密后的检验值表CheckList(i)中抽取出的加密检验值EncCheck(i-j)与从内容密钥群TKURE(i)中抽取出的加密检验值EncCheck(i-j)进行比较。按照这种方式,即可检验加密内容密钥EncKt(i-j)及其附带的信息(加密内容密钥管理信息EncUR[t](i-j)等)是否已被窜改。
<动作>
以下,说明本实施方式的机密信息处理系统的动作。本实施方式的机密信息处理系统的动作的总体流程,与图2基本相同,但检验内容密钥的窜改的处理(步骤ST22)中的详细处理不同。在本实施方式中,在步骤ST22中,通过执行图11所示的窜改检验方法(利用了检验值Check(i-1)~Check(i-m)的窜改检验方法)和图16所示的窜改检验方法(利用了总体检验值Check(i)的窜改检验方法),验证内容密钥的合法性。
如上所述,当执行关于1个内容密钥的窜改检验时,执行所抽取的检验值的比较、和总体检验值的比较。按照这种窜改检验方法,当与图19所示的窜改检验方法进行比较时,可以使处理量显著地减小,并可以使处理速度明显提高。
另外,也考虑了今后借助于通过网络的分发传送追加或删除内容密钥的情况。在本实施方式中,当追加了内容密钥时,只需将与该内容密钥对应的检验值存储在附加信息内并且将该检验值加密后埋入到内容密钥及内容密钥管理信息的任何一个内即可。按照这种方式,可以执行对追加后的内容密钥的窜改检验。另外,如对由与所追加的内容密钥对应的加密检验值和已有的加密检验值构成的连接数据执行基于链接加密方式的加密(如执行步骤ST301-1~ST301-3的处理),就可以将检验值表更新。另一方面,当删除了内容密钥时,如将与未删除的内容密钥对应的加密检验值抽取并将这些加密检验值连接在一起而再次加密(如执行步骤ST301-1~ST301-3的处理),就可以将检验值表更新。另外,如将总体检验值与检验值表连接并再次执行基于链接加密方式的加密(如执行步骤ST301-4、ST301-5的处理),可以将链接检验值更新。
<改变例>
对本实施方式研讨了各种各样的改变例,但作为代表例公开了以下的3个改变例。
(1)加密内容,不一定必须存储在与存储加密内容密钥的目标设备为同一个的目标设备内,也可以存储在其他的记录介质内。在这种情况下,主设备可以通过网络等取得存储在该其他的记录介质内的加密内容,并用由本实施方式的窜改检验方法保证了合法性的内容密钥将该加密内容解密。
(2)埋入总体检验值的位置,不一定必须由指定字节指定,也可以是固定的。例如,如果固定为LSB的8个字节进行埋入,则可以检验所有的数据(内容密钥、内容密钥管理信息)的窜改。
(3)总体检验值,也不一定必须埋入到附加信息内,也可以作为常数存储在寄存器等内。而当该常数具有一定的规律性时,也可以不设寄存器而由运算器的组合等实现。一般地说,与设置寄存器相比,利用运算器的组合安装常数的方式在电路面积上是有利的。
在以上的实施方式的说明中,图2所示的简略流程图,也可以按照各实施方式的内容密钥的窜改检验方法(步骤ST22中的处理)适当地变更。只要是本领域技术人员,很容易根据各实施方式对图2所示的简略流程图进行适当的变更。
本发明能以高速进行窜改检验,因此可以应用于由目标设备和主设备构成的机密信息处理系统等。
权利要求
1.窜改检测用数据的生成方法,用于检测将至少1个域密钥存储在第1区域、且将各自与上述域密钥信息的任意1个相关联的多个内容密钥信息存储在与上述第1区域不同的第2区域的目标设备内的上述内容密钥信息的窜改,该窜改检测用数据的生成方法的特征在于,包括以链接加密方式将与一个域密钥相关联的上述多个内容密钥信息加密的步骤;从上述加密后的状态的多个内容密钥信息抽取预定位置的数据的步骤;将从上述多个内容密钥信息抽取出的多个上述预定位置的数据连接的步骤;对上述连接后的多个上述预定位置的数据执行散列运算并计算链接散列值的步骤;将与明文状态的上述预定位置的数据对应的检验值存储在上述目标设备内的步骤;以及将上述链接散列值存储在上述目标设备内的步骤。
2.根据权利要求1所述的窜改检测用数据的生成方法,其特征在于上述内容密钥信息,包括作为用于再现内容的密钥的内容密钥和用于管理上述内容密钥的内容密钥管理信息。
3.根据权利要求1所述的窜改检测用数据的生成方法,其特征在于上述第1区域是只接受预定的访问的保护区域;上述第2区域是接受来自用户的任意访问的普通区域;将上述检验值存储在上述第2区域内,将上述链接散列值存储在上述第1区域内。
4.根据权利要求1所述的窜改检测用数据的生成方法,其特征在于上述预定位置的数据,是位于上述内容密钥信息的最低位的预定长度的数据。
5.根据权利要求1所述的窜改检测用数据的生成方法,其特征在于明文状态的上述预定位置的数据,由与上述一个域密钥相关联的上述多个内容密钥信息共用。
6.一种窜改检测方法,检测将至少1个域密钥信息存储在第1区域、且将各自与上述域密钥信息的任意1个相关联的多个内容密钥信息存储在与上述第1区域不同的第2区域的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测方法的特征在于,包括第1计算步骤,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较步骤,将在上述第1计算步骤中计算出的检验用数据与预先存储在上述第2区域内的检验用数据进行比较;抽取步骤,不进行上述第1运算地抽取与多个内容密钥信息相关联的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,对在上述抽取步骤中抽取出的上述多个检验用数据进行第2运算并计算总体检验用数据;以及第2比较步骤,将在上述第2计算步骤中计算出的总体检验用数据和预先与上述一个域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
7.根据权利要求6所述的窜改检测方法,其特征在于上述第1区域是只接受预定的访问的保护区域;上述第2区域是接受来自用户的任意访问的普通区域。
8.根据权利要求6所述的窜改检测方法,其特征在于将上述域密钥信息以加密后的状态存储在上述第1区域内,将上述内容密钥信息以加密后的状态存储在上述第2区域内。
9.根据权利要求8所述的窜改检测方法,其特征在于上述第1运算和上述第2运算是散列运算。
10.根据权利要求8所述的窜改检测方法,其特征在于将上述总体检验用数据以加密后的状态预先存储在上述第1区域内,通过将上述域密钥信息解密,以明文的状态取得上述总体检验用数据;将所取得的明文状态的上述总体检验用数据在上述第2比较步骤中与上述计算出的总体检验用数据进行比较。
11.根据权利要求8所述的窜改检测方法,其特征在于上述内容密钥信息以链接加密方式加密;上述第1运算,是将上述内容密钥信息解密并抽取预定位置的数据的运算。
12.根据权利要求6所述的窜改检测方法,其特征在于将预先存储在上述第2区域内的检验用数据以明文的状态埋入到上述内容密钥信息内。
13.根据权利要求11所述的窜改检测方法,其特征在于能指定上述预定位置。
14.根据权利要求11所述的窜改检测方法,其特征在于上述预定位置的数据,是位于上述内容密钥信息的最低位的预定长度的数据。
15.根据权利要求6所述的窜改检测方法,其特征在于当追加了上述内容密钥信息时,对所追加的上述内容密钥信息进行上述第1运算并计算追加检验用数据;在加上计算出的追加检验用数据后,对上述多个检验用数据进行上述第2运算并计算总体检验用数据;将计算出的上述总体检验用数据与上述域密钥信息相对应地存储在上述第1区域。
16.根据权利要求6所述的窜改检测方法,其特征在于当删除了上述内容密钥信息时,在将所删除的上述内容密钥信息的检验用数据删除后,对上述多个检验用数据进行上述第2运算并计算总体检验用数据;将计算出的上述总体检验用数据与上述域密钥信息相对应地存储在上述第1区域内。
17.一种窜改检测方法,检测以加密后的状态存储至少1个域密钥信息和各自与上述域密钥信息的任意1个相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测方法的特征在于在上述目标设备内预先存储以链接加密方式加密后的状态的总体检验值和明文状态的总体检验值,包括第1计算步骤,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较步骤,将在上述第1计算步骤中计算出的检验用数据与预先存储在上述目标设备内的检验用数据进行比较;抽取步骤,抽取与多个内容密钥信息关联的加密后的状态的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,将上述加密后的状态的多个检验用数据和上述加密后的状态的总体检验值连接后、进行解密并计算出明文状态的总体检验值;以及第2比较步骤,将在上述第2计算步骤中计算出的明文状态的总体检验值与上述预先存储的明文状态的总体检验值进行比较。
18.根据权利要求17所述的窜改检测方法,其特征在于将上述域密钥信息和上述加密后的状态的总体检验值存储在只接受预定的访问的保护区域内;将上述内容密钥信息、上述明文状态的总体检验值、以及上述加密后的状态的多个检验用数据存储在接受来自用户的访问的普通区域内。
19.根据权利要求17所述的窜改检测方法,其特征在于当追加了上述内容密钥信息时,在加上关于所追加的上述内容密钥信息的追加检验数据后,将上述加密后的状态的多个检验用数据和上述加密后的状态的总体检验值更新。
20.根据权利要求17所述的窜改检测方法,其特征在于当删除了上述内容密钥信息时,在将所删除的上述内容密钥信息的检验用数据删除后,将上述加密后的状态的多个检验用数据和上述加密后的状态的总体检验值更新。
21.一种窜改检测方法,检测存储至少1个域密钥信息和各自与上述域密钥信息的任意1个相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测方法的特征在于将上述多个内容密钥信息的每一个以按链接加密方式加密后的状态存储在上述目标设备内,包括第1计算步骤,将上述一个内容密钥信息解密并抽取预定位置的数据从而计算出检验值;第1比较步骤,将在上述第1计算步骤中计算出的检验值与预先存储在上述目标设备内的检验值进行比较;抽取步骤,抽取与多个内容密钥信息关联的多个检验值,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算步骤,对在上述抽取步骤中抽取出的上述多个检验值进行第2运算并计算总体检验用数据;以及第2比较步骤,将在上述第2计算步骤中计算出的总体检验用数据和预先与上述相同的域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
22.根据权利要求21所述的窜改检测方法,其特征在于将上述预先存储的检验值以明文的状态埋入到上述内容密钥信息内。
23.根据权利要求21所述的窜改检测方法,其特征在于能指定上述预定位置。
24.根据权利要求21所述的窜改检测方法,其特征在于上述检验值,是位于上述内容密钥信息的最低位的预定长度的数据。
25.根据权利要求21所述的窜改检测方法,其特征在于上述预先存储的检验值是常数。
26.根据权利要求21所述的窜改检测方法,其特征在于上述第2运算是散列运算。
27.根据权利要求21所述的窜改检测方法,其特征在于上述域密钥信息和上述预先存储的总体检验用数据存储在只接受预定的访问的保护区域内;上述内容密钥信息和上述预先存储的检验值存储在接受来自用户的访问的普通区域内。
28.根据权利要求27所述的窜改检测方法,其特征在于将上述域密钥信息和上述预先存储的总体检验用数据以加密后的状态存储在上述保护区域内;将上述内容密钥信息和上述预先存储的检验值连接并以按链接加密方式加密后的状态存储在上述普通区域内。
29.根据权利要求28所述的窜改检测方法,其特征在于当追加了上述内容密钥信息时,在追加了与所追加的上述内容密钥信息相关联的检验值后,对上述多个检验值进行散列运算,并将所得到的散列值作为上述总体检验用数据与上述域密钥信息相对应地存储在上述保护区域内。
30.根据权利要求28所述的窜改检测方法,其特征在于当删除了上述内容密钥信息时,在将所删除的上述内容密钥信息的检验值删除后,对上述多个检验值进行散列运算,并将所得到的散列值作为上述总体检验用数据与上述域密钥信息相对应地存储在上述第1区域内。
31.一种窜改检测装置,检测将至少1个域密钥信息存储在第1区域、且将各自与上述域密钥信息的任意1个相关联的多个内容密钥信息存储在与上述第1区域不同的第2区域的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测装置的特征在于,包括第1计算装置,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较装置,将由上述第1计算装置计算出的检验用数据与预先存储在上述第2区域内的检验用数据进行比较;抽取装置,不进行上述第1运算地抽取与多个内容密钥信息关联的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算装置,对由上述抽取装置抽取出的上述多个检验用数据进行第2运算并计算总体检验用数据;以及第2比较装置,将由上述第2计算装置计算出的总体检验用数据和预先与上述一个域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
32.一种窜改检测装置,检测以加密后的状态存储至少1个域密钥信息和各自与上述域密钥信息的任意1个相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测装置的特征在于在上述目标设备内预先存储以链接加密方式加密后的状态的总体检验值和明文状态的总体检验值,包括第1计算装置,对上述一个内容密钥信息进行第1运算并计算检验用数据;第1比较装置,将由上述第1计算装置计算出的检验用数据与预先存储在上述目标设备内的检验用数据进行比较;抽取装置,抽取与多个内容密钥信息关联的加密后的状态的多个检验用数据,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算装置,将上述加密后的状态的多个检验用数据和上述加密后的状态的总体检验值连接后,进行解密并计算出明文状态的总体检验值;以及第2比较装置,将由上述第2计算装置计算出的明文状态的总体检验值与上述预先存储的明文状态的总体检验值进行比较。
33.一种窜改检测装置,检测存储至少1个域密钥信息和各自与任何1个上述域密钥信息相关联的多个内容密钥信息的目标设备内的上述多个内容密钥信息中的一个内容密钥信息的窜改,该窜改检测装置的特征在于将上述多个内容密钥信息的每一个以按链接加密方式加密后的状态存储在上述目标设备内,包括第1计算装置,将上述一个内容密钥信息解密并抽取预定位置的数据从而计算出检验值;第1比较装置,将由上述第1计算装置计算出的检验值与预先存储在上述目标设备内的检验值进行比较;抽取装置,抽取与多个内容密钥信息关联的多个检验值,所述多个内容密钥信息与一个域密钥信息相关联,该域密钥信息与上述一个内容密钥信息所关联的域密钥信息是同一个域密钥信息;第2计算装置,对由上述抽取装置抽取出的上述多个检验值进行第2运算并计算总体检验用数据;以及第2比较装置,将由上述第2计算装置计算出的总体检验用数据和预先与上述相同的域密钥信息相对应地存储在上述第1区域内的总体检验用数据进行比较。
全文摘要
本发明提供一种在使多个内容密钥与作为1个主干的域密钥相对应并存储在可由用户访问的区域内的机密信息处理系统中,处理量小的内容密钥的窜改检验方法。将与同一个域密钥对应的每个内容密钥的散列值以散列表的形式存储在普通区域内,并将作为域密钥的散列值的散列表的散列值存储在保护区域内。或者,通过将检验用数据埋入到内容密钥内而检验内容密钥的窜改,并且,将与同一个域密钥对应的检验用数据连接在一起并将连接后的散列值作为域密钥的散列值存储在保护区域内。
文档编号G06F1/00GK1790986SQ20051012335
公开日2006年6月21日 申请日期2005年11月23日 优先权日2004年12月16日
发明者佐藤友哉, 藤原睦, 盐见谦太郎, 根本祐辅, 鸟崎唯之, 清水和也, 井上信治, 藤村一哉, 越智诚 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1