具体实施方式
下面参考附图详细说明根据本发明的信息处理设备和方法、信息记录介质制造设备和方法、信息记录介质、以及计算机程序。注意将按照下述项目进行说明。
1.信息记录介质中的保存数据、以及驱动器和主机上的处理的概述
2.有关内容管理单元(CPS单元)
3.信息记录介质的保存数据管理配置
4.包括修改数据的内容的数据结构、和数据变换处理的概述
5.再现(播放器)应用程序和保密VM的处理
6.内容再现处理
7.内容码管理配置
8.信息处理设备的配置
9.信息记录介质制造设备和信息记录介质
1.信息记录介质中的保存数据、以及驱动器和主机上的处理的概述
首先,说明信息记录介质中的保存数据、以及驱动器和主机上的处理的概述。图1图解说明其中保存内容的信息记录介质100、设备120和主机140的配置。主机140是在诸如PC之类的信息处理设备上执行的,按照预定的数据处理序列利用诸如PC之类的信息处理设备的硬件完成处理的数据再现(或记录)应用程序。
信息记录介质100是诸如蓝光光盘(注册商标)、DVD之类的信息记录介质,是在具有正当内容权利或分发权的所谓内容权利拥有者的许可下,在光盘制造厂制造的保存授权内容的信息记录介质(ROM盘等),或者能够记录数据的信息记录介质(RE盘等)。注意就下面实施例来说,圆盘形介质将被用于举例说明信息记录介质,本发明可被应用于使用各种信息记录介质的配置。
如图1中所示,信息记录介质100保存已经历加密处理和数据的部分替换的加密内容101,MKB(介质密钥块)102(它是根据树形结构密钥分布方法(一种广播加密方法)产生的加密密钥块),由其中将应用于内容解密处理的标题密钥被加密的数据(加密CPS单元密钥)等构成的标题密钥文件103,包括充当内容的复制/再现控制信息的CCI(复制控制信息)等的使用规则104,和包括当利用加密内容101时,要执行的数据处理程序的内容码105。
内容码105包括修整表106,修整表106中已登记有与内容内的预定区域的替换数据对应的变换数据。执行内容的再现的信息处理设备根据包括在内容码105中的数据变换处理程序,抽取记录在包括于内容码105中的修整表106中的变换数据,并执行内容的配置数据的替换处理。
内容码包括用于执行各种处理,比如启动处理、安全性检查处理等的信息或程序、以及对其应用变换数据的变换处理程序。后面的一节将详细说明内容码的细节。注意保存图1中所示的数据例子的信息记录介质只是一个例子,根据光盘的类型,保存的数据或多或少不同。下面概略地说明这些类型的信息中的每一种。
(1)加密内容101
各种内容被保存在信息记录介质100中。内容的例子包括运动图像内容(比如HD(高分辨率)电影内容,它是一种高分辨率运动图像数据)的AV(视听)流,按照特定的标准约定的格式的游戏程序、图像文件、音频数据、文本数据等。这些内容是按照特定的AV格式规定的数据,并按照所述特定的AV数据格式保存。具体地说,例如按照蓝光光盘(注册商标)ROM标准格式被保存为蓝光光盘(注册商标)ROM标准数据。
此外,存在其中例如游戏程序、图像文件、音频数据、文本数据等被保存在服务数据中的情况。存在其中这些内容被保存为数据格式不遵循特定AV数据格式的数据的情况。
内容的类型包括:诸如音乐数据、运动图像、静止图像、类似图像数据、以及游戏程序、Web内容之类的各种内容、各种形式的信息被包括在这些内容中,比如只能由来自信息记录介质100的数据使用的内容信息,通过组合来自信息记录介质100的数据和从与网络连接的服务器提供的数据可用的信息等等。利用适于每段内容的不同密钥(CPS单元密钥或者单元密钥(或者也可称为标题密钥)),保存在信息记录介质中的内容被加密保存,以便对每段内容实现不同的使用控制。一个单元密钥适于的每个单元被称为内容管理单元(CPS单元)。此外,内容的配置数据被设置成破碎的数据,其中用与正确的内容数据不同的数据替换部分内容数据,从而解密处理独自不能再现正确的内容,用记录在修整表中的数据替换破碎数据的处理是执行再现所必需的。该处理将在后面详细说明。
(2)MKB
MKB(介质密钥块)102是根据树形结构密钥分布方法(一种广播加密方法)产生的加密密钥块。MKB 102是一种能获取介质密钥(Km)的密钥信息块,介质密钥(Km)是解密内容所必需的,只能通过基于保存在具有有效许可证的用户的信息处理设备上的设备密钥[Kd]的处理(解密)来获得。这是一种应用,从而只有在用户设备(信息处理设备)具有有效许可证的情况下,遵循所谓的分级树形结构的信息分发方法才使介质密钥[Km]的获取成为可能,被无效(取消处理)的用户设备不能获得介质密钥[Km]。
通过改变用于对保存在MKB中的密钥信息解密的设备密钥,充当许可实体的管理中心能够产生具有不能用保存在某些用户设备中的设备密钥解密的结构的MKB,即,其中不能获得内容解密所必需的介质密钥。因此,可在任意计时使未经授权的设备无效,从而提供只有具有有效许可证的设备才能够解密的加密内容。内容解密处理将在后面说明。
(3)标题密钥文件
如上所述,每个内容或每组多个内容经历对每个内容应用单独的加密密钥(标题密钥(CPS单元密钥))的加密处理,以便管理内容的使用,并被保存在信息记录介质100中。即,构成内容的AV(视听)流、音乐数据、运动图像、静止图像、类图像数据、游戏程序、Web内容等需要被分段成多个内容使用的管理单元,为每个分段单元产生一个不同的标题密钥,从而进行解密处理。产生这些标题密钥的信息是标题密钥数据,例如通过用由介质密钥等产生的密钥对加密的标题密钥解密,获得标题密钥。利用标题密钥数据,按照预定的加密密钥产生序列产生与每个单元对应的标题密钥,并执行内容的解密。
(4)使用规则
使用规则包括例如复制/再现控制信息(CCI)。这是与保存在信息记录介质100中的加密内容101对应的使用控制方面的复制限制信息和再现限制信息。存在复制/再现控制信息(CCI)的各种设置,例如各个CPS单元的信息设置成内容管理单元的情况,对应于多个CPS单元设置的情况等等。
(5)内容码
内容码105是包括当使用加密内容101时,将要执行的数据处理程序的数据。执行内容再现的主机设置用于执行数据变换处理的虚拟机(VM),在虚拟机(VM)执行与从信息记录介质100读出的内容码相符的数据变换处理,应用修整表106中的登记条目,并执行内容的部分配置数据的数据变换处理。
保存在信息记录介质100中的加密内容101已经历预定加密,另外,一部分内容配置数据由不同于正确数据的破碎数据构成。为了再现内容,数据重写处理是必需的,其中用变换数据替换破碎的数据,所述变换数据是正确的内容数据。登记变换数据的表是修整表106。设置大量的破碎数据分散在内容中,当再现内容时,用登记在修整表中的变换数据替换(重写)多条破碎数据的处理是必需的。应用这种变换数据意味着即使在由于加密密钥泄漏,进行未经授权的内容解密的情况下,由于替换数据的存在,内容解密独自也不可能再现正确的内容,从而能够防止未经授权的内容使用。
除了正常的变换数据之外,修整表106包括使分析用于识别内容再现设备或内容还原应用程序的数据识别信息配置位成为可能的变换数据。具体地说,这包括播放器ID,播放器ID是播放器(执行主机应用程序的设备)的识别数据,或者其中记录根据播放器ID产生的“识别信息”的“包括识别标志的变换数据”。包括识别标志的变换数据是其中在不影响内容的再现的程度上,正确内容数据的位值已被轻微改变的数据。
注意内容码105包括用于执行各种处理,比如启动处理、安全性检查处理等的信息或程序,以及对其应用上面的修整表106的数据变换处理程序。后面的一节将详细说明内容码的细节。
下面,参考图1说明主机140和驱动器120的配置以及处理的概述。
当数据通过驱动器120被传送给主机140时,执行保存在信息记录介质100中的内容的再现处理。
主机140具有再现(播放器)应用程序150和保密VM 160集合。再现(播放器)应用程序150是内容再现单元,执行各种处理,比如进行内容再现处理时与驱动器进行的验证处理、内容加密、解码处理等等。保密VM 160起参数生成单元的作用,参数生成单元提供将应用于在由再现(播放器)应用程序150(它是内容再现处理单元)执行的内容再现处理中进行的数据变换处理的参数,保密VM 160被设置为主机140内的虚拟机。虚拟机(VM)是直接解释和执行中间语言,从信息记录介质100读出、解释和执行与平台无关的中间语言中的命令代码信息的虚拟计算机。
保密VM 160充当获取内容码105、根据获取的内容码105执行内容码,并执行数据处理的数据处理单元,内容码105包括当使用记录在信息记录介质100中的加密内容101时,要应用的程序或应用程序信息。
再现(播放器)应用程序150和保密VM 160之间的信息或处理请求的传送由从再现(播放器)应用程序150到保密VM 160的中断(INTRP),和从保密VM 160到再现(播放器)应用程序150的响应(Call)处理序列实现。从应用程序150到保密VM 160的中断(ITRP)和从保密VM 160到再现(播放器)应用程序150的响应(Call)处理序列执行参数计算请求,和应用于在内容再现处理中执行的数据变换处理的参数的提供。这些处理序列将在后面详细说明。
下面说明主机140执行的主要处理。在内容的使用之前,在驱动器120和主机140之间进行相互验证处理,随后利用该验证处理确认双方的有效性,加密内容从驱动器传送给主机,在主机侧进行内容解密处理,另外,执行上面描述的依据修整表的数据变换处理,从而实现内容再现。
对于在主机140和驱动器120之间进行的相互验证,通过参考管理中心发出的撤消(无效)列表确定每个设备或应用程序是否被登记为未经授权的设备或应用程序,来执行确定有效性的处理。
驱动器120具有保存主机CRL(证书撤消列表)的存储器122,主机CRL保存主机证书(公钥证书)的撤消(无效)信息。另一方面,主机140具有保存驱动器CRL(证书撤消列表)的存储器152,驱动器CRL保存驱动器证书(公钥证书)的撤消(无效)信息。存储器是非易失性存储器(NVRAM),在从信息记录介质100读出的CRL例如是较新版本的情况下,它们各自的数据处理单元121和151执行更新处理,以便把新版本的主机CRL或驱动器CRL保存在存储器122和152中。
管理中心不断更新CRL,比如主机CRL或驱动器CRL。即,在新发现未经授权的设备的情况下,发出更新的CRL,其中增加发给该未经授权的设备的证书ID或者设备ID等作为新条目。每个CRL具有版本号,并且具有其中比较新旧的配置。例如,在从安放在驱动器上的信息记录介质读出的CRL比保存在驱动器内的存储器122中的CRL新的情况下,驱动器执行CRL更新处理。主机140也按照相同的方式执行驱动器CRL更新。
除了这种CRL更新处理之外,驱动器120的数据处理单元121执行当使用内容时进行的与主机的验证处理,还执行从信息记录介质读出数据,并把数据传送给主机的处理。
主机140的再现(播放器)应用程序150是在诸如PC之类的信息处理设备上执行的数据再现(或记录)应用程序,并按照预定的数据处理序列,利用诸如PC之类的信息处理设备的硬件执行处理。
主机140具有用于与驱动器120进行相互验证处理,数据传送控制等的数据处理单元151,进行加密内容的解密处理的解密处理单元153,根据上述修整表105中的登记数据进行数据变换处理的数据变换处理单元154,和进行解码(例如MPEG解码)处理的解码处理单元155。
数据处理单元151执行主机和驱动器之间的验证处理,在验证处理内,参考保存在存储器a 152(非易失性存储器(NVRAM))中的驱动器CRL,以确认驱动器是否是已被撤消的驱动器。主机还执行更新处理,从而把新版本的驱动器CRL保存在存储器a 152中。
解密处理单元153利用保存在存储器b 156中的各种信息和从信息记录介质100读出的数据,产生将应用于内容解密的密钥,并执行加密内容101的解密处理。数据变换处理单元154通过按照从信息记录介质100获得的数据变换处理程序,应用登记在从信息记录介质100获得的修整表中的变换数据,执行内容配置数据的替换处理(重写)。解码处理单元155执行解码(例如MPEG解码)处理。
信息处理设备150的存储器b 156保存设备密钥:Kd,将应用于相互验证处理的密钥信息,将应用于解密的密钥信息等等。内容解密处理的细节将在后面说明。设备密钥:Kd是将应用于上述MKB处理的密钥。MKB是使介质密钥[Km]的获得成为可能的密钥信息块,介质密钥[Km]是译解内容所必需的密钥,只能通过基于保存在具有有效许可证的用户的信息处理设备中的设备密钥[Kd]的处理(解密)来获得,当对加密内容解密时,信息处理设备150应用保存在存储器b 156中的设备密钥:Kd来执行MKB处理。内容解密处理的细节将在后面说明。
2.关于内容管理单元(CPS单元)
如上所述,保存在信息记录介质中的内容经历解密处理,并与适于每个单元的不同密钥一起被保存,以便对每个单元实现不同的使用控制。即,内容被分段成内容管理单元(CPS单元),执行单独的解密处理,实现单独的使用管理。
当使用内容时,首先需要获得适于每个单元的CPS单元密钥(也称为标题密钥),另外,通过根据预先确定的解密处理序列执行数据处理,应用其它必需的密钥、密钥发生信息等,执行再现。下面将参考图2说明内容管理单元(CPS单元)的设置。
如图2中所示,内容具有(A)索引210、(B)电影对象220、(C)播放列表230和(D)剪辑片断240的分级结构。例如指定索引,比如将由再现应用程序访问的标题可指定与该标题相联系的再现节目,以及按照已指定的再现节目的节目信息,选择约定再现该内容的顺序的播放列表。
播放项目作为待再现的数据的信息被包括在播放列表中。依据由包括在播放列表中的播放项目规定的再现分段的剪辑信息,有选择地读出AV流(即,内容的实际数据)或命令,并进行AV流的再现和命令的执行处理。注意存在大量的播放列表和播放项目,并且每个播放列表和播放项目具有作为识别信息的对应播放列表ID和播放项目ID。
图2图解说明两个CPS单元。它们构成保存在信息记录介质中的内容的一部分。CPS单元1271、CPS单元2272中的每个都是已被设置为包括充当索引的标题、作为再现节目文件的电影对象、播放列表和包括AV流文件(它是实际的内容数据)的剪辑片断的单元的CPS单元。
内容管理单元(CPS单元)1271包括标题1211和标题2212、再现节目221和222、播放列表232和232、和剪辑241和242、作为包含在两个剪辑241和242中的内容的实际数据的AV流数据文件261和262至少是加密的对象数据,从而被设置为应用标题密钥(Kt1)加密的数据,标题密钥(Kt1)是一般对应于内容管理单元(CPS单元)1271设置的加密密钥(也称为CPS单元密钥)。
内容管理单元(CPS单元)2272包括作为索引的应用程序1213、再现节目224、播放列表233和剪辑243,通过应用标题密钥(Kt2),作为包含在剪辑243中的内容的实际数据的AV流数据文件263被加密,标题密钥(Kt2)是对应于内容管理单元(CPS单元)2272设置的加密密钥。
例如,用户为了执行与内容管理单元1271对应的应用程序文件或内容再现处理,需要获得被设置成与内容管理单元(CPS单元)1271相联系的充当加密密钥的标题密钥:Kt1,并对其进行解密处理。用户为了执行与内容管理单元2272对应的应用程序文件或内容再现处理,需要获得被设置成与内容管理单元(CPS单元)2272相联系的充当加密密钥的标题密钥:Kt2,并对其进行解密处理。
图3表示CPS单元设置配置和对应的标题密钥的例子。图3表示CPS单元设置单元(它是管理保存在信息记录介质中的加密内容的使用的单元)和适用于每个CPS单元的标题密钥(CPS单元密钥)之间的相关性。注意可预先保存和设置稍后到来的数据的CPS单元和标题密钥。例如,数据单元281是稍后到来的数据的条目。
CPS单元设置单元以各种形式出现,例如内容标题、应用程序、数据组等等,每个CPS单元管理表内设置有充当与每个CPS单元对应的标识符的CPS单元ID。
图3中,例如,标题1是CPS单元1,当对属于CPS单元1的加密内容解密时,需要产生标题密钥Kt1并根据产生的标题密钥Kt1进行解密处理。
这样,保存在信息记录介质100中的内容以已用适于每个单元的不同加密密钥进行加密处理的形式被保存,以便对每个单元实现不同的使用控制。相对于每个内容管理单元(CPS单元),为单独的使用管理设置每个内容管理单元(CPS单元)的UR(使用规则)。使用规则是包括例如内容的复制/再现控制信息(CCI)的信息,如上所述,并是包含在每个内容管理单元(CPS单元)中的加密内容的复制限制信息或再现限制信息。
应用保存在信息记录介质中的各种信息的数据处理是产生标题密钥所必需的。后面将详细说明这种处理的具体例子。
3.信息记录介质的保存数据控制配置
下面说明信息记录介质的保存数据控制配置。在把具有参考图2说明的分级结构的内容保存在信息记录介质中的情况下,各种数据、或者程序,比如内容码等被记录为单独的文件。下面参考图4说明与将被保存在信息记录介质中的每个数据对应的目录结构。
(A)图2中的索引210是图4中所示目录内的index.bdmv文件。
(B)图2中的电影对象220是图4中所示目录内的MovieObject.bdmv文件。
(C)图2中的播放列表230是在图4中所示目录内的目录PLAYLIST(播放列表)下的文件。
(D)图2中的剪辑240与一对在图4中所示目录内的目录CLIPINF下的文件和在目录STREAM下的具有相同文件号的文件对应。
(E)其它,比如保存语音数据或字体数据的AUXDATA文件,保存元数据的META文件,保存BD-J对象的BDOJ文件等被保存在信息记录介质中。
如上所述,将被保存在信息记录介质中的内容被设置成破碎数据,其中用与正确的内容数据不同的数据替换内容的部分配置数据,以致解密处理独自不能再现正确内容,为了进行再现,必须用登记在修整表中的数据(变换数据)替换破碎数据。保存在信息记录介质中的内容码105被应用于所述替换处理,利用登记在修整表106中的数据执行数据变换处理。
包括修整表的内容码也作为单独文件被保存在信息记录介质中。图5中表示了其中设置内容码的目录结构。例如,图5是将关于具有图4中的目录结构的AV内容创建的内容码的目录结构。
内容码包括如上所述的修整表,还包括用于执行各种处理,比如启动处理、安全性检查处理等的信息或程序,以及应用修整表的数据变换处理程序。这些内容码被粗略地划分成下述类别,
(a)所有内容和所有播放器(设备或再现应用程序)公共的内容码
(b)内容独有的内容码
(c)播放器(设备或再现应用程序)独有的内容码
(d)内容和播放器(设备或再现应用程序)独有的内容码
每个内容码的产生实体和表现实体不同。因此,例如从文件的再利用等观点来看,具有不同类别的这些内容码最好被设置成单独的文件。
图5中所示的内容码文件[00000.svm]~[00003.svm]指示具有由这些不同的实体产生的不同类别的单独内容码文件。注意后一节将详细说明内容码文件的一个具体例子。
如图5中所示,内容码以多个独立文件的形式设置在BDSVM目录中,另外在BACKUP目录中设置充当副本数据的备份数据。
4.包括修改数据的内容的数据结构、和数据变换处理的概述
下面,说明包括修改的数据的内容的数据结构、和数据变换处理的概述。如上所述,包括在信息记录介质100中的加密内容101被设置成破碎数据,其中用与正确的内容数据不同的数据替换部分的配置数据,以致当再现时,解密处理独自不能实现内容再现,用登记在修整表中的变换数据替换破碎数据的处理是必需的。
下面参考图6说明保存在信息记录介质中的内容的结构、和再现处理的概观。例如,诸如电影之类的AV(视听)内容被保存在信息记录介质100中。这些内容被加密,在应用只能由具有许可证的再现设备获得的加密密钥的解密处理之后,内容再现是可能的。后面将说明具体的内容再现处理。保存在信息记录介质100中的内容不仅被加密,而且具有内容配置数据已用修改数据替换的结构。
图6图解说明保存在信息记录介质100中的记录内容291的结构例子。记录内容291由未被修改的正常内容数据292和破碎数据293构成,破碎数据293是通过修改而被破坏的内容。破碎数据293是由已经过数据处理的原始内容破坏的数据。因此,利用包括破碎数据的内容291不能实现正确的内容再现。
为了进行内容再现,必须用正确的内容数据替换包括在记录的内容291中的破碎数据293,从而产生再现内容296。通过从登记在内容码105内的修整表(FUT)186(参见图1)中的修整条目295获得变换数据而获得用于变换的数据(变据数据),所述内容码105记录在信息记录介质108中,所述变换数据是与每个破碎数换区对应的正常内容数据,执行替换破碎数据区的数据的处理,从而产生和再现再现内容216。
现在,在产生再现内容296时,除了用变换数据297(正常的内容数据)替换破碎数据293的处理之外,执行用设置标识符的变换数据298替换记录的内容291的部分区域的处理,所述设置标识符的变换数据298包括能够实现使内容再现设备或内容再现应用程序可识别的识别信息的配置位的分析的数据(比如播放器ID)。例如,在非授权复制的内容泄漏的情况下,分析泄漏内容内的设置标识符的变换数据298能够确定未经授权内容的泄漏源。
注意可实现其中把充当包括变换数据的修整表中的配置数据的修整条目冗余地分散记录在内容的配置数据的一些分组内的方案。即,变换数据被保存在图1中所示的修订表146中,还被分散且记录在加密内容101中,以便被记录成两份。执行内容再现的信息处理设备或者获得保存在修整表146中的变换数据以进行数据替换,或者获得分散地记录在内容中的修整条目来进行数据替换。
下面将参考图7说明保存在信息记录介质100中的加密内容300、和包括数据变换处理执行程序与修整表的内容码302的结构例子。记录在信息记录介质100中的内容码302-0~302-n以例如对应每个内容或每个剪辑片断的独立文件数据的形式被记录在信息记录介质中。图7中所示的例子图解说明了其中n+1组内容码302-0~302-n被记录在信息记录介质100中的例子。
内容码302-0~302-n分别包括修整表303-0~303-n。实际用作内容的替换数据的变换数据、和均设置变换数据的记录位置信息的修整条目304-0~304-n被记录在修整表303-0~303-n的每个中。注意虽然图7中所示的例子通过应用可变编号[n],把所有的一切图解表示成加密内容300-0~300-n、内容码302-0~302-n、和修整表303-0~303-n,不过加密内容300和内容码302的设置编号不需要相同。例如,可实现其中对应于加密内容0~n的所有修整表都被记录在内容码302~0中的方案。从而,加密内容和内容码不一定一一对应。
每个修整条目包括将用作替换数据的变换数据、和变换数据的记录位置信息。下面参考图8,说明将被记录在修整表中的修整条目的数据结构。
图8图解说明包括在修整表块中的一个修整条目(FixUpEntry)的数据结构例子。如图8中所示,修整条目(FixUpEntry)包含下述数据。
type_indicator:类型标识符[00:没有变换,01b:用变换数据的处理,10b、11b:用包括识别标志的变换数据的处理]
FM_ID_bit_position:与设置标识符的变换数据对应的播放器ID的识别位位置
relative_SPN:将被应用变换数据的分组的位置(从PMT分组起的分组的数目)
byte_position:变换数据记录在分组中的位置
overwrite_value:变换数据(还包括设置标识符的变换数据)
relative_SPN_2:应用第二变换数据的分组的位置(从PMT分组起的分组的数目)
byte_position_2:变换数据记录在分组中的位置(对应于第二变换数据)
overwrite_value_2:第二变换数据(还包括设置标识符的变换数据)
数据结构由所述数据构成。
修整条目被设置成记录用于替换一部分内容数据的变换数据,和关于内容的变换数据的设置位置信息的数据,该修整条目从修整表中被读取,以执行充当包括内容配置数据替换处理执行命令的变换处理程序的内容码,从而实现数据变换。
包括在图8中所示的修整条目(FixUpEntry)信息中的信息[type_indieator]是用于识别修整表的登记信息是如下所述的(a)还是(b)的类型标识符,即:
(a)与把破碎数据变换成正确的内容数据的变换数据有关的登记信息,或者
(b)与嵌入再现设备或内容再现应用程序的识别信息的设置标识符的变换数据有关的登记信息。
登记信息[FM_ID_bit_position]是为了确定处理方式,将从由多个位构成的再现设备或再现应用程序的识别信息查阅的一位的位置信息。为数据变换确定处理方式,例如使得在将从由多个位构成的再现设备或再现应用的识别信息查阅的所述位的位值为1的情况下,用登记在修整表中的设置标识符的变换数据执行内容配置数据的替换,在将查阅的所述位的位值为0的情况下,不执行替换。
注意可实现其中在所述参考为0的情况下执行变换,在其为1的情况下不执行变换的方案。或者,可实现其中在所述参考位为0,并且变换数据指示其为1的情况下,变换数据被设为独立的变换数据,按照参考位的位值恰当地选择和设置变换数据的配置。
如图7中所示,修整条目301-0~301-n也被分散并记录在每个加密内容300-0~300-n中。加密内容300被设为TS分组流,并且设置修整条目被分散保存在其一部分内的分组,即,修整条目存储分组307a~307d。
由此每个修整条目存储分组的变换数据被记录在设置成这样的分散记录数据的每个修整条目中。分散记录在加密内容300内的修整条目和包括在修整表303中的修整条目相同,执行内容再现的信息处理设备或者从分散记录在内容内的修整条目301获得变换数据,并替换数据,或者从修整表303中的修整条目304获得变换数据,并替换数据,这取决于再现(播放器)应用程序的规范。
如图7中所示,内容被分段成多个片段的预定数据单元(SP片段)。包括每个变换数据的修整条目经历应用对每个预定单元(段单元)的内容来说不同的参数(SP:秘密参数)的计算或加密处理,并被保存在修整表303中。通过按照相同的方式执行对每个片段应用不同的参数(SP:秘密参数)的计算或加密处理,记录保存在内容内的TS分组中的修整条目。
执行数据变换处理(它是当再现内容时执行的数据替换处理)的信息处理设备顺序获得秘密参数(SP1,SP2,SP3,...),执行对与每个片段位置对应的修整条目应用获得的参数(SPn)的计算或加密处理,从而执行获得变换数据的处理。
下面参考图9和10说明基于变换数据的数据替换的一个具体例子。首先,参考图9说明通过获得包括已被分散记录在内容内的变换数据的修整表块配置数据,执行数据替换的处理例子。
在图9中,(a)图解说明记录在信息记录介质100中的内容的结构。包括变换数据和记录位置信息的修整条目被分散记录在图9中所示的TS分组307a~d内。
下面参考图9中的(b)说明数据替换处理序列。图9中的(b)中所示的处理是执行主机的再现(播放器)应用程序的处理。图9中的(b)图解说明内容配置数据中,属于片段ID=N,N+1的内容的一部分TS分组流。
例如,包括记录在片段ID=N中的修整条目的分组311保存“异或”运算后的修整条目315,它是与秘密参数(SPx)的“异或”计算的结果数据。执行数据替换处理的主机再现(播放器)应用程序执行秘密参数(SPx)316与“异或”后的修整条目315的异或计算,从而获得修整条目317,并从修整条目317获得变换数据和记录位置信息,从而对在数据替换位置的分组312a和b执行替换处理。
应用于获得修整条目317的计算的参数(SPx)从保密VM 320供给。例如,再现(播放器)应用程序获得充当与每个片段对应的秘密参数指定信息的秘密参数ID(SP_ID),并把包括秘密参数ID的通知的秘密参数计算请求以中断(INTRP)请求的形式输出给保密VM,以便获得内容的每个片段所必需的秘密参数(SPn)。保密VM响应来自再现(播放器)应用程序的秘密参数计算请求,计算与该(SP_ID)对应的秘密参数(SPx),并将其以响应(Call)的形式提供给再现(播放器)应用程序。
如图9中所示,对于将被应用于获得修整条目的计算的参数(SPx)来说,不同的片段具有不同的参数。例如,每个片段被设置成约10秒的内容再现时间,再现(播放器)应用程序每10秒从保密VM接收对每个片段来说不同的参数,恢复修整条目,从恢复的修整条目获得变换数据,并执行数据替换处理。
下面,参考图10说明在不是通过应用分散并记录在内容中的修整条目,而是应用保存在信息记录介质中的内容码302的修整表303中的修整条目304,进行关于内容的数据替换的情况下的处理的概观。
如图10中的(a)中所示,如同参考图9的说明一样,内容被分段成多个片段的预定数据单元。包括记录在修整表303中的变换数据的修整条目304经历应用对每个预定单元(段单元)的内容来说不同的参数(SP:秘密参数)的计算或加密处理。
执行数据变换处理(它是当再现内容时执行的数据替换处理)的信息处理设备顺序获得秘密参数(SP1,SP2,SP3,...),执行对包括与每个片段位置对应的变换数据的修整条目应用获得的参数(SPn)的计算或加密处理,从而执行获得变换数据的处理。
下面参考图10中的(b)说明数据替换序列。在图10中的(b)中所示的处理是在主机再现(播放器)应用程序执行的处理。图10中的(b)图解说明内容配置数据中,属于片段ID=N,N+1的一部分内容TS分组流。
例如,在关于片段ID=N执行数据替换的情况下,从修整表303获得修整条目304,随后从获得的修整条目304中选择与片段ID=N对应的修整条目。但是,修整条目x 315在修整表303中被记录成通过关于和片段N相联系的片段独有的秘密参数(SPx)计算“异或”运算而获得的“异或”的修整条目315。
主机的执行数据替换处理的再现(播放器)应用程序通过执行从保密VM 320提供的秘密参数(SPx)316与“异或”后的修整条目315的“异或”计算,获得修整条目317,并从修整条目317获得变换数据和记录位置信息,从而执行关于数据替换位置的分组312a和b的替换处理。
按照和上面描述的处理例子相同的方式,应用于获得修整条目317的计算的参数(SPx)从保密VM 320供给。例如,再现(播放器)应用程序获得秘密参数ID(SP_ID)(它是与每个片段对应的秘密参数指定信息),并把包括秘密参数ID的通知的秘密参数计算请求以中断(INTRP)请求的形式输出给保密VM,以便获得内容的每个片段所必需的秘密参数(SPn)。注意,获取秘密参数ID(SP_ID)所必需的信息例如保存在修整表303中。
保密VM响应来自再现(播放器)应用程序的秘密参数计算请求,计算与该SP_ID对应的秘密参数(SPx),并将其以响应(Call)的形式提供给再现(播放器)应用程序。
如图10中所示,对于将被应用于获得修整条目的计算的参数(SPx)来说,不同的片段具有不同的参数。例如,每个片段被设置成约10秒的内容再现时间,再现(播放器)应用程序每10秒从保密VM接收对每个片段来说不同的参数,恢复修整条目,从恢复的修整条目获得变换数据,并执行数据替换处理。
从而,执行内容再现的再现(播放器)应用程序从保密VM接收秘密参数,并以每个片段为单位,执行计算,执行修整条目的恢复,修整条目是修整表块的配置数据,获得恢复的修整条目,并进行数据替换。注意虽然上面描述的处理例子举例说明了使用“异或”运算(XOR)作为应用秘密参数的计算的情况,不过也可应用其它计算处理。另外,可以实现其中通过应用秘密参数,执行加密处理等的方案。
5.再现(播放器)应用程序和保密VM的处理
在执行上述处理的情况下,在进行内容再现时,再现(播放器)应用程序依次获得一些段单元中的不同秘密参数(SP1,SP2,SP3...),意味着对保密VM来说,必须获得秘密参数,并且每次再现片段转换时,进行数据替换。
在执行该秘密参数(SP)的获取处理的情况下,再现(播放器)应用程序以秘密参数指定信息的形式把秘密参数ID(SP_ID)通知给保密VM,从而确定必需的SP。获得该秘密参数ID(SP_ID)的信息例如记录在修整表中,再现(播放器)应用程序根据记录在修整表中的信息,获得与片段对应的秘密参数ID(SP_ID)。
在该秘密参数(SP)的获取处理等等中,再现(播放器)应用程序传送和接收关于保密VM的数据处理请求和响应。下面参考图11说明由再现应用程序和保密VM执行的一系列的处理序列。
如前参考图1所述,再现(播放器)应用程序150和保密VM 160之间的信息或处理请求的传送由一系列的从再现(播放器)应用程序150到保密VM 160的中断(INTRP)和从保密VM 160到再现(播放器)应用程序150的响应(Call)的序列实现。
图11中所示的处理序列图解说明从插入保存内容的信息记录介质到弹出所述信息记录介质,在再现(播放器)应用程序150和保密VM160之间执行的处理的类型。
例如,步骤S11是当插入信息记录介质(Disc(盘))时执行的介质初始化(Media Initialize)处理,其中再现(播放器)应用程序150把保存初始再现处理所必需的代码信息的内容码文件(Content Code File)装入其存储器,并开始执行。内容码文件(Content Code File)确定再现(播放器)应用程序的厂商、型号等。
例如,保密VM 160确定获得的型号是否是过去已发生过安全问题的型号,在获得的型号是过去已发生过安全问题的型号的情况下,通过执行内容码(Content Code)检查是否已发生过类似的安全问题。例如,检查信息处理设备的RAM中的一些值、或者某一设备的操作,观察它们是否处于正确的状态。注意用于每种型号的检查程序可能并不包括在初始装入的内容码文件中,这种情况下,访问另一必需的内容码文件。当保密VM 160完成该初始化处理时,响应(Call)被通报给再现应用程序150,流程进入下一步骤S12。
在步骤S12,执行标题初始化处理(Title Initialize)。标题被用作待再现的内容的指定信息,根据用户指定,选择和待再现的与某一内容对应的标题,标题初始化处理请求和标题信息一起从再现(播放器)应用程序150输出给保密VM 160。
通过收集与再现所述标题必需的所有剪辑对应的变换数据信息,保密VM 160在保密VM 160的存储器上产生修整表,并把存储器中保存修整表的位置通知再现(播放器)应用程序150,从而再现(播放器)应用程序150能够获得修整表。另外注意在标题初始化期间,可执行与关于步骤S11中的介质初始化的安全性检查同样的安全性检查。
下面参考图12,说明在标题初始化处理期间执行的,通过收集与再现标题必需的所有剪辑对应的变换数据信息,在保密VM 160的存储器上产生修整表的处理的例子。图12图解说明保密VM 160可使用的存储区(例如2MB)。内容码被保存在所述存储区中,所述内容码是包括保密VM 160已从信息记录介质获得的数据变换处理程序的代码信息。注意所述内容码包括经过诸如加密之类的迷惑处理的修整表。此外,数据变换处理程序的一个例子用于得到把经过迷惑处理的修整表改变成标准文本的密钥(SP:秘密参数)。换句话说,获得修整表并使用其位置信息(相对分组号)和重写信息(overwrite_value)的程序可由再现设备(再现应用程序)而不是信息记录介质保存。
当从再现(播放器)应用程序150输入标题初始化请求时,当需要时,保密VM 160根据内容码,执行收集与再现标题必需的所有剪辑对应的变换数据信息的修整表的解密处理,并以经过处理的状态,例如上面说明的“异或”状态(掩蔽状态)将其保存在存储器中,并把存储器存储位置通知再现(播放器)应用程序150。以对来自再现(播放器)应用程序150的标题初始化请求(INTRP)的响应(Call)的形式执行该通知处理。
当从保密VM 160收到关于标题初始化请求(INTRP)的响应(Call)时,再现(播放器)应用程序150从保密VM 160使用的存储区中的修整表保存区复制必需的数据部分,并将其保存到再现(播放器)应用程序150能够使用的存储区中。例如,前面参考图6-9说明的用于获得和内容的一个片段对应的秘密参数ID(SP_ID)的保密参数ID(SP_ID)确定表被抽取,并被复制和保存到再现(播放器)应用程序150能够使用的存储区中。
在该复制处理中,再现(播放器)应用程序150把内容变换处理和再现处理必需的所有信息,比如保存修整条目的修整表的配置数据,指定包括在修整表中的与一个片段对应的秘密参数ID(SP_ID)的信息等保存在再现(播放器)应用程序150能够使用的存储区中。
返回图11,下面继续说明再现(播放器)应用程序150和保密VM160之间的处理序列。步骤S13是与秘密参数(SP)计算(Compute_SP)对应的处理,其中再现(播放器)应用程序150向保密VM 160输出SP计算请求(INTRP),保密VM 160以响应(Call)的形式,向再现(播放器)应用程序150返回计算结果(SP)。在向保密VM 160输出SP计算请求(INTRP)的情况下,再现(播放器)应用程序150发出作为SP指定信息的SP_ID的通知。
步骤S14中的处理是从再现(播放器)应用程序150到保密VM 160的关于除秘密参数计算之外的其它操作的请求处理。例如,在步骤S14中的处理是执行安全性检查的请求处理的情况下,保密VM 160执行与该请求相应的处理,并以响应(Call)的形式,把处理结果通知再现(播放器)应用程序150。注意再现(播放器)应用程序150和保密VM 160都能够对其进行写入和读取操作的寄存器被用于该信息传送,例如播放器状态寄存器、寄存器(PSR)。
步骤S15中的处理是当弹出信息记录介质(Disc)时的介质结束(Media Finalize)处理,同时内容码(content code)处理状态被记录在非易失性存储器中。该处理使得下次光盘被插入时,过去的安全性检查信息能够继续使用。
如前所述,再现(播放器)应用程序150和保密VM 160之间的信息,或者说处理请求和响应的传送由从再现(播放器)应用程序150到保密VM 160的中断(INTRP),和从保密VM 160到再现(播放器)应用程序150的响应(Call)处理实现。
6.内容再现处理
下面参考图13说明主机将执行的内容再现处理。从左侧开始,图13图解说明保存加密内容的信息记录介质330、信息记录介质330被放入其中以便进行数据读取的驱动器340和与驱动器连接以便能够实现数据通信的主机345,主机345借助驱动器340获得保存在信息记录介质330中的内容,并执行再现应用程序,所述再现应用程序执行所述获得的内容的再现处理。
注意,图13中所示的主机345被分段表示成执行诸如内容解密、解码、数据变换等处理的再现(播放器)应用程序块350,和具有执行秘密参数(SP)计算处理等的保密VM 360的保密VM 360块。
包括MKB(介质密钥块)331、标题密钥文件332、加密内容333和变换处理程序的内容码334被分散并记录在信息记录介质330中,加密内容333包括修整条目335,内容码包括包含相同修整条目的修整表。主机345持有将被应用于MKB处理的设备密钥351。
下面说明图13中所示的主机345通过驱动器340获得并再现保存在信息记录介质330内的内容的处理序列。首先,在读出保存在信息记录介质330中的内容之前,主机345和驱动器340在步骤S101中执行相互验证。所述相互验证是确认主机和驱动器都是授权设备或应用软件的处理。各种处理可被适用于这种相互验证处理序列。作为相互验证处理结果,驱动器340和主机345共享作为共用秘钥的会话密钥(Ks)。
在步骤S101中,在主机和驱动器之间执行相互验证,并且会话密钥(Ks)被共享之后,在步骤S102中,主机345的再现(播放器)应用程序350获得由驱动器记录在信息记录介质330中的MKB 331,通过应用保存在存储器中的设备密钥351执行MKB 331的处理,并从MKB获得介质密钥(Km)。
如上所述,MKB(介质密钥块)331是根据树形结构密钥分布系统(一种广播加密方法)产生的加密密钥块,并且是使介质密钥(Km)的获得成为可能的密钥信息块,介质密钥(Km)是内容解密所必需的密钥,只能由基于保存在具有有效许可证的设备中的设备密钥(Kd)的处理(解密)获得。
随后,在步骤S103中,从由步骤S102中的MKB处理获得的介质密钥(Km)被用于执行从信息记录介质330读取的标题密钥文件332的解密,从而获得标题密钥(Kt)。保存在信息记录介质330中的标题密钥文件332是包括由介质密钥加密的数据的文件,用于内容的解密的标题密钥(Kt)可由应用介质密钥的处理获得。注意,步骤S103中的解密处理应用例如AES加密算法。
随后,主机345的再现(播放器)应用程序350通过驱动器340读出保存在信息记录介质330中的加密内容333,把读出的内容保存在跟踪缓冲器(track buffer)352中,在S104中对保存在缓冲器中的内容执行应用标题密钥(Kt)的解密处理,并获得解密的内容。
解密的内容被保存在明文TS缓冲器353中。(Plain TS)表示解密的明文传送流的意思。现在,保存在明文TS缓冲器353中的解密内容是包含上述破碎数据的内容,它不能被照原样再现,于是需要执行预定的数据变换(借助重写的数据替换)。
图13中所示的处理例子是其中获得分散记录在加密内容的配置数据的一些分组中的修整条目,从其抽取变换数据,并进行数据替换的处理例子。即,这等同于前面参考图9说明的数据变换处理。
分割并记录在内容中的修整条目是记录用于对解密内容进行替换处理的变换数据(或设置标识符的变换数据)、和记录变换数据的记录位置的数据。
保密VM 361从信息记录介质330读出包括数据变换处理程序的内容码334,所述数据变换处理程序包括命令码信息,并根据来自事件处理器354的控制、和播放器信息355的输出,在内容再现期间或者在输出处理之前和在处理期间,间歇地产生改变记录在信息记录介质330中的修整表所必需的秘密参数(SP1,SP2,SP3...),并将其和内容一起输出到明文修整表中。间歇地执行该处理。
如上所述,秘密参数(SP1,SP2,SP3...)是对于与预定的内容数据单元对应的片段转变的加密处理参数的计算,具体地说,是“异或”(XOR)运算参数。保密VM 361根据来自再现(播放器)应用程序的请求,执行间歇地产生和输出恢复修整条目所必需的参数(SP1,SP2,SP3...)的处理,所述修整条目是由加密处理的计算处理修改的修整表块的配置数据。
在再现(播放器)应用程序350,在步骤S104中,执行包括修整条目的加密内容333的解密,在步骤S105中,修整条目由多路分解器的处理分离,所述修整条目是记录在内容中的修整表的配置数据,在步骤S106中,在实时事件处理器356的控制下,执行表恢复和数据变换处理。由于实时事件处理器356的控制,再现(播放器)应用程序350以中断(INTRP)的形式,把与片段的转变对应的秘密参数计算请求输出给保密VM 361,从保密VM 361接收秘密参数(SP1,SP2,SP3...),执行修整表块的解密或计算以获得明文修整表块,并获得包含在获得的修整表块中的修整条目。
修整条目记录变换数据,即,(a)变换数据,(b)设置标识符的变换数据,和上述变换数据在内容中的记录位置指定信息,同时在步骤S106中,再现(播放器)应用程序350以与内容再现处理或外部输出处理并行的实时处理的形式,执行对指定位置进行写操作的数据变换处理。
例如,在参数(SP1,SP2,SP3...)是与对应于充当预定内容部分数据单元的片段的修整条目进行“异或”(XOR)运算的参数的情况下,步骤S106中的恢复处理如下:
[修整条目1](XOR)[SP1]
[修整条目2](XOR)[SP2]
[修整条目3](XOR)[SP3]
等等。
执行其“异或”运算处理,从而获得包括在修整表块数据中的修整条目。注意在上面的表达式中,[A](XOR)[B]意味着A和B的“异或”运算。
从而,通过计算关于秘密参数(SP1,SP2,SP3...)的“异或”运算,保存包括在记录于信息记录介质中的内容333中的修整条目。通过保密VM 361不断获得和输出这些秘密参数。
在步骤S106中的表恢复和数据变换处理中,从通过利用应用秘密参数(SP1,SP2,SP3...)的计算或加密处理而得到恢复的修整条目获得变换数据,用变换数据(是正确的内容配置数据)替换包括在内容中的破碎数据,此外,执行其中用一部分内容数据替换设置标识符的变换数据的数据重写处理,从而把保存在明文TS缓冲器353中的数据改变成变换后的数据。下面参考图14说明这种数据变换处理的概观。
保存在信息记录介质中的加密内容333被临时保存在位于主机侧的跟踪缓冲器352中。所述加密内容是图14(1)中所示的跟踪缓冲器保存数据401。加密内容(即,跟踪缓冲器保存数据401)的解密由主机方的解密处理执行,解密结果数据被保存在明文TS缓冲器353中。所述解密结果数据是图14(2)中所示的解密结果数据402。
解密结果数据402包括破碎数据403,破碎数据403不是正确的内容配置数据。主机的数据变换处理单元执行用变换数据404(正确的内容配置数据)替换破碎数据403的处理。例如以关于写入明文TS缓冲器353的数据,重写一部分数据的形式执行该替换处理。
此外,主机执行的数据变换处理不仅是用变换数据(正常的内容数据)替换破碎数据的处理,而且是用设置标识符的变换数据405替换解密结果数据402中的一部分配置数据的处理,如图14中所示。
如上所述,标识符是使识别信息的配置位能够识别内容再现设备或内容再现应用程序的数据。一个具体例子是充当执行主机应用程序的播放器的信息处理设备的识别信息(播放器ID)的配置数据,或者根据播放器ID产生的识别标志。如前所述,设置标识符的变换数据是其中在不影响内容的再现的程度内,正确内容数据的位值已被轻微改变的数据。
大量的设置标识符的变换数据405被设置在内容内,收集和分析多组设置标识符的变换数据405例如可确定播放器ID。设置标识符的变换数据405是其中在能够实现正常内容再现的程度内,正常内容数据的配置位已被改变,并且其中通过MPEG位流分析能够实现位(识别标志配置位)确定的数据。
大量图14中所示的变换数据404和设置标识符的变换数据405被登记在保存于信息记录介质中的修整表中,另外,登记这些变换数据404、405的写入位置信息。根据修整表保存的信息执行数据变换处理,用图14(3)中所示的变换后的数据406替换保存在明文TS缓冲器353中的数据。
随后,通过网络等,变换后的TS(传送流)向外输出,并在外部再现设备被再现。或者,借助多路分解器的处理,在步骤107中执行从传送流(TS)到基本流(ES)的变换,另外,在解码处理(步骤S108)之后,通过显示器扬声器被再现。
7.内容码管理配置
如上所述,就记录在信息记录介质中的内容的再现来说,必须通过从信息记录介质读出内容,应用包括在内容码中的修整表,并应用包括在内容码中的变换处理程序,进行处理。内容码还包括要应用于用于执行启动处理、安全性检查处理等的程序或信息,以及当使用内容时,获得并执行内容码。
内容码的执行处理主要由保密VM执行,保密VM由执行内容的再现的信息处理设备设置。保密VM起执行内容码的数据处理单元的作用,它获得包括适合于记录在信息记录介质中的加密内容的使用的程序或应用程序信息的内容码,并按照获得的内容码执行数据处理。
内容码被设置成与内容无关的文件,并被记录在信息记录介质中。因此,能够执行单独把内容码转移到另一信息记录介质的处理,或者只复制内容码的处理。当发生内容码的泄漏,未经授权地传播内容码,和进行未经授权的使用时,存在许多内容将被非授权再现和使用,导致严重损失的可能性。下面,将说明防止内容码的这种非授权使用的配置。
下面参考图15说明包括于将记录在信息记录介质中的内容码500中的数据类型。如上所述,将应用于内容的数据变换处理的程序和修整表被记录在内容码500中。例如,修整表是包括变换数据的数据,所述变换数据起每个内容的配置数据的替换数据的作用,并且修整表必须是内容独有的数据,但是,例如变换处理程序等是每个内容可被设置成公共代码信息的数据。
内容码还包括对应于执行内容再现处理的信息处理设备,或者将在信息处理设备中执行的再现(播放器)应用程序而设置的信息或程序。例如,在多个不同厂商的信息处理设备或再现应用程序中使用内容码的情况下,对应于各个设备或应用程序的多个代码被记录在内容码中,每个播放器(设备或再现应用程序)通过从包括在内容码中的播放器(设备或再现应用程序)独有的代码中选择与它自己的播放器(设备或再现应用程序)对应的代码,进行处理。
从而,各种数据被包括在内容码500中。所述数据被粗略地分成四种分类,如图15中所示。即,
(a)所有内容和所有播放器(设备或再现应用程序)共有的数据501
(b)内容独有的数据502
(c)播放器(设备或再现应用程序)独有的数据503
(d)内容和播放器(设备或再现应用程序)独有的数据504
下面将说明每个数据的具体数据内容。
(a)所有内容和所有播放器(设备或再现应用程序)共有的数据501
所有内容和所有播放器(设备或再现应用程序)共有的数据501是包括所有的信息处理设备或再现应用程序能够公共使用的信息或程序的数据部分,具体地说,例如它包括下述信息和程序。
(a1)和启动例程相关的程序:例如,执行诸如检查存储器初始化状态,读取首次装载时不足的数据,确认一起记录在信息记录介质(Disc)中的内容是否是授权内容之类的处理的程序。
(a2)公用例程(对外部记录的访问等)程序:例如,通过使用非易失性存储器访问功能可使用的程序。在该程序的内容码能够使用的信息被记录的情况下,数据可被读取和使用。
(a3)播放器识别例程:一种获得目前执行再现的设备或再现应用程序的信息,并确定这是否是额外的安全性检查的目标的程序。在需要额外的检查的情况下,根据需要载入内容码文件,此后按照所述内容码文件执行额外的检查。
(b)内容独有的数据502
内容独有的数据502是包括每个内容中独有的信息或程序的数据部分,具体地说,例如包括下述信息和程序。
(b1)修整表(FixUpTable)信息:修整表包括在上面的处理例子中描述的变换数据。它不仅包括变换数据,而且包括数据变换处理(比如秘密(SP)参数计算例程等)所必需的信息。
(b2)标题初始化程序:在产生修整表(FixUpTable)的处理之前,以及在标题的再现之前,将执行安全性检查的情况下,包括和只取决于内容的检查有关的例程。
(c)播放器(设备或再现应用程序)独有的数据503
(c)播放器(设备或再现应用程序)独有的数据503是包括用于重放内容的信息处理设备或再现应用程序独有的信息或程序的数据部分,具体地说,例如包括下述信息和程序:
(c1)RunNative执行部分,NativeCode:用于执行只有执行内容的再现的设备或应用程序才有的处理,并且执行探测或改进安全性问题的功能的信息和程序。由执行再现处理的信息处理设备的操作系统中的核心模式执行的处理是共有的。另外,当执行该处理时,在执行利用签名核实的有效性核实之后,通过把播放器独有的有效性核实功能(例如利用关于分配给播放器厂商的公钥的秘钥(PrivateKey)的签名。换句话说,在其NativeCode中,播放器设备(应用程序)具有与分配给厂商的秘钥对应的公钥,提供利用该秘钥的签名,并利用相关联的公钥执行签名核实)包括在NativeCode本身中,在再现内容的信息处理设备方实现由这些内容码的执行引起的安全性问题的探测或改进。
(d)内容和播放器(设备或再现应用程序)独有的数据504
内容和播放器(设备或再现应用程序)独有的数据504是包括内容独有的,也是重放内容的信息处理设备或再现应用程序独有的信息或程序的数据,具体地说,例如包括下述信息和程序。
(d1)利用DiscoveryRAM的播放器有效性检查部分:通过检查再现内容的设备内的存储器(RAM)上的特定值,执行检查是否是授权播放器(设备或再现应用程序)的信息和程序。通过监视在特定内容的再现期间特定存储器进行播放器独有的状态,确认正确性。这种情况下,检查例程取决于内容和播放器。
(d2)DiscoveryRAM的比较数据:保存用于在上面(d1)的利用DiscoveryRAM的播放器有效性检查中,与RAM上的实际值(目标值)比较的值的表格。
从而,内容码保存各种信息和程序,执行内容的再现的设备从这些内容码中选择取决于再现内容或者取决于设备或应用程序的对应代码信息,并执行各种处理。
如上参考图15所述,内容码可被分成下面的四种类别:
(a)所有内容和所有播放器(设备或再现应用程序)共有的数据501
(b)内容独有的数据502
(c)播放器(设备或再现应用程序)独有的数据503
(d)内容和播放器(设备或再现应用程序)独有的数据504
这些各个内容码以单个文件或者累积文件的形式被保存在信息记录介质中。这些各个类别的内容码可以分别在产生代码的实体方面不同。例如,与(b)内容独有的数据对应的内容码由充当内容制作者的演播室设置。另外,(c)播放器(设备或再现应用程序)独有的数据常常由生产充当播放器的再现设备或再现应用程序的实体产生。
下面参考图16说明直到由不同的实体这样产生的内容码被记录在信息记录介质中时的序列。图16图解说明与上述四种类别对应的内容码的配置数据。即,这些内容码是具有下述四种类别之一的内容码:
(DATA a)所有内容和所有播放器(设备或再现应用程序)共有的数据501
(DATA b)内容独有的数据502
(DATA c)播放器(设备或再现应用程序)独有的数据503
(DATA d)内容和播放器(设备或再现应用程序)独有的数据504
这些内容码由不同的实体产生,即,产生和编辑内容的演播室,授权公司,播放器(设备或再现应用程序)厂商等。
当这些内容码被产生时,在步骤S201和S202中,附加每个内容码的制作者或表现实体的签名。通过应用每个实体所拥有的加密密钥(秘钥)附加数字签名。添加数字签名是为了验证每个内容码是否被窜改和防止所述窜改。注意在图16中,只图解说明了步骤S201和S202的两个处理块,但是产生每个内容码的每个实体视待产生的内容码的数目而附加其签名。
在步骤S203中,控制中心(KIC)最后把其数字签名附到将记录在信息记录介质中的内容码上。注意当在控制中心(KIC:也可被称为密钥发布中心,但是在本说明书中它被称为控制中心)中设置数字签名时,在已完成每个实体的数字验证,并且已确认每个内容码未被窜改的条件下,最好设置控制中心(KIC)的一个新的数字签名。
将要附加控制中心(KIC)的数字签名的内容码文件被记录在信息记录介质中。至于与将被记录在信息记录介质中的内容码对应的签名的设置模式,可以利用几种不同的设置模式。下面参考图17-20说明将被记录在信息记录介质中的内容码的数据结构、和签名设置例子。
图17中所示的例子是其中记录在信息记录介质中的每个内容码文件[xxxxx.svm]521、522和523具有共同的文件结构,并且每个文件包括报头531、内容码块532和数字签名533(如图17中的内容码文件530中所示)。
报头531包括数字签名信息,比如充当与内容码对应的唯一识别信息的唯一ID,保存内容码的实体数据的内容码块的数据大小,数字签名的类型(比如ECDSA)等。
内容码块532把上述各种内容码记录为内容码的实体数据。在本例中,数字签名533是控制中心的签名。就本例来说,我们假定除上述控制中心外的每个实体的签名未被包括在内容码中。
从而,就其中对所有内容码文件设置控制中心的签名的方案来说,所有内容码文件[xxxxx.svm]的数据容量被设为
2MB+报头+签名。
2MB被应用于内容码块。
使用图17中所示的内容码的信息处理设备(用户设备)执行包括在内容码中的控制中心的数字签名验证,验证内容码是否已被窜改,之后使用所述内容码。后面将说明一个具体的处理序列。
图18是其中只对将要记录在信息记录介质中的内容码文件之一设置签名,不对其它的内容码文件设置签名的方案例子。就图18中所示的例子来说,实现只对如在包括报头531、内容码块532和控制中心的数字签名533的文件530中所示的内容码文件[00000.svm]设置控制中心的数字签名533,而不对其它内容码文件[00001.svm]522等的文件540设置控制中心的数字签名的方案,所述其它内容码文件[00001.svm]522等被设置成其中只保存报头541和内容码块542的文件540。
对其设置控制中心的数字签名的内容码文件最好是保存必定将在信息处理设备执行的内容码的文件,例如其中记录用于执行启动例程的内容码的文件。
就该方案例子来说,只有在使用内容码文件[00000.svm]521的情况下,使用内容码的信息处理设备才执行签名验证。在使用其它文件的情况下,签名验证可被省略。但是,我们假定实现其中利用不同于数字签名验证的方法,例如诸如散列验证之类的简单方法执行其中不设置签名的每个内容码文件的窜改验证,确认有效性,之后使用每个文件的代码的方案。这种情况下,例如实现其中把应用于验证的对照用散列值记录和保留在内容码文件中的方案。后面将说明这些处理序列。
从而,就其中只对内容码文件之一设置控制中心的签名的方案来说,对其设置签名的内容码文件的数字容量被设为
2MB+报头+签名,
但是,对其不设置签名的其它内容码文件不附加签名,不必考虑签名验证的处理,从而也不必制订内容码块的大小方面的限制,因此,对其设置任意大小的内容码块的文件可被用作其它内容码文件。
下面参考图19和20说明其中不仅记录控制中心的签名,而且记录每个内容码的制作或表现实体的签名的内容码文件的设置例子。
图19中所示的例子是其中内容码文件[xxxxx.svm]521、522和523中每个具有共同的文件结构,并且每个文件包括报头551、内容码块552、数字签名1553、和数字签名2554(如图19中的内容码文件550中所示)。
报头551包括数字签名信息,比如充当对应于内容码的唯一识别信息的唯一ID,保存内容码的实体数据的内容码块的数据大小,数字签名的类型(例如ECDSA)等。内容码块552把上述各种内容码记录为内容码的实体数据。
数字签名1553是将保存在每个内容码文件中的内容码的制作者或表现实体的签名。数字签名2554是控制中心的签名。就本例来说,除了控制中心的签名之外,还规定保存每个实体的签名。
使用图19中所示的内容码的信息处理设备(用户设备)只对包括在内容码中的控制中心的数字签名进行验证,核实内容码是否已被窜改,之后使用所述内容码。可替换地,可实现其中除了验证控制中心的数字签名之外,还验证每个实体的数字签名的方案。
图20是其中只对将要记录在信息记录介质中的内容码文件之一设置签名,不对其它内容码文件设置签名的方案例子。就图20中所示的例子来说,实现其中只对如包括报头551、内容码块552、数字签名1553和数字签名2554的文件550中所示的内容码文件[00000.svm]521设置内容码的制作者或表现实体的数字签名553和控制中心的数字签名554,对其它内容码文件[00001.svm]522等的文件560不设置数字签名的方案,所述其它内容码文件[00001.svm]522等被设置成其中只保存报头561和内容码块562的文件560。
和前面参考图18说明的例子一样,对其设置数字签名的内容码文件最好是保存必定将在信息处理设备执行的内容码的文件,例如其中记录用于执行启动例程的内容码的文件。
就该方案例子来说,只有在使用内容码文件[00000.svm]521的情况下,使用内容码的信息处理设备才执行签名验证。在使用其它文件的情况下,签名验证可被省略。但是,我们假定实现其中利用不同于数字签名验证的方法,例如诸如散列验证之类的简单方法执行其中不设置签名的每个内容码文件的窜改验证,确认有效性,之后使用每个文件的代码的方案。这种情况下,我们假定实现其中把应用于验证的对照用散列值记录和保留在内容码文件中的方案。
下面参考图21和22中所示的流程图,说明利用内容码执行数据处理的信息处理设备中的内容码的使用的处理序列。
图21是图解说明就前面参考图17和19说明的内容码文件结构来说,即,就其中对所有内容码文件都设置数字签名的文件设置来说的处理序列的流程图,图22是图解说明就前面参考图18和20说明的内容码文件结构来说,即,就其中只对一个内容码文件设置数字签名的文件设置来说的处理序列的流程图。
首先,参考图21说明就其中对所有内容码文件设置数字签名的文件设置来说的内容码的使用的处理序列。注意该处理序列由用于再现内容的信息处理设备设置的保密VM执行。保密VM起数据处理单元的作用,所述数据处理单元获得包括适合于记录在信息记录介质中的加密内容的使用的程序或应用程序信息的内容码,并按照获得的内容码执行数据处理。
首先,在步骤S301中,使用内容码的信息处理设备的数据处理单元(保密VM)执行内容码文件[00000.svm]的签名验证处理。保密VM执行对内容码文件[00000.svm]设置的控制中心(KIC)的数字签名的验证。具体地说,保密VM例如执行应用控制中心(KIC)的公钥的数字签名验证(例如ECDSA签名验证算法)。
在步骤S302中,在签名验证确定内容码文件无效的情况下,内容码的使用被中止,随后处理结束。
在步骤S302中,在签名验证确定内容码文件有效的情况下,流程进入步骤S303,在步骤S303,从信息记录介质读出的内容码文件[00000.svm]被装入保密VM使用的存储区中,以及在步骤S304中,执行记录在内容码文件[00000.svm]中的内容码。注意记录在内容码文件[00000.svm]中的内容码例如是启动例程的执行码,并且使用保存在信息记录介质中的内容的信息处理设备首先按照内容码文件[00000.svm]的验证处理、装入处理和代码执行处理的顺序执行处理。
随后,在步骤S305中,确定是否需要使用未被装入保密VM的自适应存储器中的内容码文件,在需要的情况下,流程进入步骤S306,在步骤S306,向驱动器输出把新的内容码文件[xxxxx.svm]装到保密VM的存储器上的读取命令。
随后,在步骤S307,保密VM验证对内容码文件[xxxxx.svm]设置的控制中心(KIC)的数字签名。在步骤S308中,在签名验证确定该内容码文件无效的情况下,内容码的使用被中止,随后处理结束。
在步骤S308中,在签名验证确定内容码文件有效的情况下,流程进入步骤S309,在步骤S309,保密VM把从信息记录介质读出的内容码文件[xxxxx.svm]装入保密VM使用的存储区中,并执行该内容码文件[xxxxx.svm]。
在步骤S310中,在用户进行的内容再现没有结束,或者标题没有终止的情况下,流程返回步骤S305中的确定是否需要使用和装入另一内容码的处理。在步骤S310中,在用户进行的内容再现结束,或者标题终止的情况下,处理结束。
下面参考图22中所示的流程图,说明就前面参考图18和20说明的内容码文件设置来说,即,就其中只对一个内容码文件设定数字签名,不对其它内容码文件设定数字签名的文件设置来说的内容码的使用的处理序列。注意该处理序列由用于再现内容的信息处理设备设置的保密VM执行。
首先,在步骤S401中,使用内容码的信息处理设备执行内容码文件[00000.svm]的签名验证处理。信息处理设备验证对控制码文件[00000.svm]设置的控制中心(KIC)的数字签名。具体地说,信息处理设备例如执行应用控制中心(KIC)的公钥的数字签名验证(例如,ECDSA签名验证算法)。
在步骤S402中,在签名验证确定内容码文件无效的情况下,内容码的使用被中止,随后处理结束。
在步骤S402中,在签名验证确定内容码有效的情况下,流程进入步骤S403,从信息记录介质读出的内容码文件[00000.svm]被装入保密VM使用的存储区中,以及在步骤S404中,执行记录在内容码文件[00000.svm]中的内容码。注意记录在内容码文件[00000.svm]中的内容码是例如启动例程的执行码,使用保存在信息记录介质中的内容的信息处理设备首先按照内容码文件[00000.svm]的验证处理、装入处理和代码执行处理的顺序执行处理。
随后,在步骤S405中,确定是否需要使用未被装入保密VM的自适应存储器中的内容码文件,在需要的情况下,流程进入步骤S406,在步骤S406,向驱动器输出把新的内容码文件[xxxxx.svm]装到保密VM的存储器上的读取命令。
随后,在步骤S407,信息处理设备把从信息记录介质读出的内容码文件[xxxxx.svm]装入保密VM使用的存储器中。
随后,在步骤S408中,通过根据保存在内容码文件[xxxxx.svm]中的内容码配置数据计算散列值,并关于事先保存在内容码文件[xxxxx.svm]中的验证用散列值进行对照处理,信息处理设备执行内容码文件的验证。在步骤S409中,在验证确定内容码文件无效的情况下,内容码的使用被中止,随后处理结束。
在步骤S409中,在验证确认内容码文件有效的情况下,流程进入步骤S410,在步骤S410,信息处理设备执行从内容码文件[xxxxx.svm]获得的内容码。
在步骤S411中,在用户进行的内容再现没有结束,或者标题没有终止的情况下,流程返回步骤S405中的确定是否需要使用和装入另一内容码的处理。在步骤S411中,在用户进行的内容再现结束,或者标题终止的情况下,处理结束。
从而,信息处理设备被配置成当使用内容码时,验证对内容码文件设置的数字签名,或者执行散列验证以确认内容码文件的有效性,之后,执行内容码的处理,从而防止未经授权的代码被执行。
每个实体产生的内容码可被设置成独立的数据文件,并且这样的内容码文件可被重复利用。换句话说,在一些情况下,可关于不同的内容或不同的播放器(设备或再现应用程序)公共使用这样的一个内容码文件。下面将参考图23说明这种内容码的重复利用配置。
在图23中,内容码文件601-604是由相应的内容码产生和表现实体保持的内容码文件,并且分别代表:
内容和播放器共有的内容码文件[00000.svm]601,
内容独有的内容码文件[00001.svm]602,
播放器独有的内容码文件[00002.svm]603,和
内容和播放器独有的内容码文件[00003.svm]604。
每个内容码产生实体或表现实体的数字签名被附到分别保存在每个实体中的这些内容码文件601-604上。
在制作其中记录新内容的信息记录介质的情况下,每个实体可重复利用已被用在另一内容记录信息记录介质中的这些内容码文件601-604。
如前参考图16所述,这些内容码文件601-604被提供给控制中心,在控制中心对这些内容码文件601-604设置数字签名,随后这些内容码文件601-604被保存在信息记录介质610中。控制中心(KIC)的数字签名和控制中心设置的唯一ID被附到将被记录在信息记录介质610中的内容码上。将被记录在信息记录介质610中的内容码620包括修整表621,如图23中所示。作为其中由每个实体产生的内容码被单独设置的结构,设置如目录结构630中所示的特定目录结构。
从而,按照各种内容可重复利用内容码,根据每种内容恰当地组合需要修改的内容码和可重复利用的内容码,以便记录在信息记录介质中。
8.信息处理设备的配置
下面参考图24,说明执行再现(播放器)应用程序和保密VM中的上述处理的信息处理设备的硬件配置例子。信息处理设备800具有均与总线801连接的CPU 809,存储器810,用于输入/输出数字信号的输入/输出I/F 802,具有用于输入/输出模拟信号的A/D、D/A转换器805的输入/输出I/F 804,执行MPEG数据的编码和解码处理的MPEGCODEC 803,执行TS(传输流)-PS(程序流)处理的TS-PS处理装置806,执行各种加密处理(例如加密内容的互验证解密处理等)的加密处理装置807,诸如硬盘驱动器之类的记录介质812,和驱动记录介质812并执行数据记录/再现信号的输入/输出的驱动器811,CPU 809按照来自充当程序、参数等的存储区的ROM 808的各种程序,包括OS,内容再现和记录应用程序,以及用于互验证处理和伴随内容再现的处理,比如上述数据变换处理的程序等,执行数据处理。
通过连接诸如ATAPI-BUS之类总线,信息处理设备(主机)800与驱动器连接。修整表、内容等通过数字信号输入/输出I/F 802输入/输出。例如通过应用AES算法等,加密处理和解密处理由加密处理装置807执行。
注意用于执行内容再现或记录处理的程序被保存在ROM 808内,在执行程序的时候,根据需要,存储器810被用于保存参数和数据的工作区。
ROM 808或记录介质812保存例如管理中心的公钥、主机的秘钥、主机的公钥证书,以及充当撤消列表的驱动器CRL等。
当再现或向外输出内容时,从信息记录介质获得的数据变换处理程序被应用,从而按照前面在处理例子中说明的各种处理序列执行处理,例如加密内容的解密,修整表的恢复,基于保存在修整表中的数据的变换数据的写入等。
9.信息记录介质制造设备和信息记录介质
下面说明信息记录介质制造设备和信息记录介质。即,将说明应用于上述内容再现处理的信息记录介质的制造设备,其方法和信息记录介质。
信息记录介质制造设备例如是制造保存前面参考图1说明的记录数据的信息记录介质100的设备。如图25中所示,信息记录介质制造设备包括内容文件生成装置901,用于产生保存将被记录在信息记录介质中的内容数据的内容文件,内容码文件生成装置902,用于保存包括应用于内容的使用的程序或应用程序信息的内容码,还生成包括用于窜改验证的数据的内容码文件,和把在内容文件生成装置901中产生的内容文件,以及在内容码文件生成装置902中产生的内容码文件记录在信息记录介质中的记录装置903。
内容码文件生成装置902产生一个文件,所述文件把以包括内容码(所述内容码包含在内容码文件中)的数据为基础的数字签名,或者以包括内容码(所述内容码包含在内容码文件中)的数据为基础的散列值保存为将被保存在内容码文件中的用于验证窜改的数据。
另外,内容码文件生成装置902产生保存被分段成多个不同类别的内容码的多个内容码文件。例如,采用前面参考图15说明的四种类别。记录装置903把这些多个不同类别的内容码文件记录在信息记录介质中。
注意在产生保存将被分段成多个不同类别的内容码的多个内容码文件的情况下,在待产生的文件中,内容码文件生成装置902产生都保存一个数字签名的所有文件,或者只产生一个文件作为包括数字签名数据的内容码文件。至于文件结构,可以采用前面参考图17-20说明的文件结构。
另外,将被记录在由内容码文件生成装置902产生的文件中的数字签名只包括控制中心(KIC)的数字签名,或者包括控制中心的数字签名和包含在每个文件中的内容码的制作或表现实体的数字签名。
由信息记录介质制造设备这样产生的信息记录介质910记录参考图1和其它附图说明的各种数据。具体地说,信息记录介质保存至少一个存储内容码的内容文件,和一个内容码文件,所述内容码文件保存包括将应用于内容的使用的程序或应用程序信息,还包括用于验证窜改的数据。
包括在内容码文件中的用于验证窜改的数据是以包括内容码(所述内容码包含在内容码文件中)的数据为基础的数字签名或散列值。另外,内容码文件可包括保存将被分段成多个不同类别的内容码的多个内容码文件,如前参考图15所述那样。
另外,将被记录在信息记录介质中的内容码文件可包括保存被分段成多个不同类别的内容码的多个内容码文件,并实现其中在多个记录文件中,只有一个文件被设为包括数字签名数据的内容码文件,或者所有文件都包括数字签名的方案,如前参考图18和20所述那样。
另外,如前参考图19和20所述,可实现其中内容码文件包括包含在每个文件中的内容码的制作或表现实体的数字签名的方案。
至此参考具体实施例说明了本发明。但是,显然本领域的技术人员可对实施例进行各种修改和替换,而不会脱离本发明的本质。即,以例证的形式公开了本发明,但是本发明不应局限于公开的例证形式。判断本发明的实质应参考权利要求部分。
注意在说明书中描述的一系列处理可由硬件、软件或者硬件和软件的组合来实现。在利用软件执行处理的情况下,记录处理序列的程序可被安装在具有内置专用硬件的计算机内的存储器中并被执行,或者所述程序可被安装到能够执行各种处理的通用计算机中。
例如,程序可被记录在充当记录介质的硬盘或ROM(只读存储器)中。或者,程序可被临时或永久地保存(记录)在可拆卸的介质中,比如软盘、CD-ROM(光盘只读存储器)、MO(磁光)盘、DVD(数字通用光盘)、磁盘、半导体存储器等中。可以所谓的封装式软件包的形式提供这样的可拆卸记录介质。
注意除了从如上所述的可拆卸记录介质把程序安装到计算机上,所述程序可无线地从下载站点传送给计算机,或者通过网络,比如LAN(局域网)或因特网传送给计算机,同时计算机接收按照这种方式传送的程序,以便被安装在诸如硬盘之类的内置记录介质中。
另外,说明书中描述的各种处理并不局限于按照所述时序执行,相反可并行或独立地执行,取决于执行所述处理的设备的处理能力。另外注意本说明书中使用的术语“系统”指的是多个设备的逻辑集合,并不局限于每种在单一机架内的结构的设备。