未授权内容检测系统的制作方法

文档序号:6655952阅读:428来源:国知局
专利名称:未授权内容检测系统的制作方法
技术领域
本发明涉及验证内容有效性的技术,特别涉及减小这种验证中牵涉到的处理负荷的技术。
背景技术
防止涉及内容的非法复制、伪造和替换的欺骗状况的手段包括应用签名信息,表明内容是由合法权利持有人颁发的;以及与内容一起分发验证信息,用于验证内容中是否包括其中已经进行了伪造之类的未授权内容。
作为这种手段的一个实例,专利文献1公开了通过在网络上分发签名信息、验证信息和内容,验证内容有效性的一种技术。根据这种技术,在内容的发送之前将鉴别信息发送给执行装置,其中的鉴别信息包括发送源的签名信息和验证信息,这里的验证信息用于检查构成内容的各个部分内容的一致性。接收鉴别信息的时候,执行装置验证其中包括的签名信息。如果签名信息的验证成功,执行装置就接收和播放内容。与这一回放并行,执行装置利用验证信息重复各个部分内容的一致性的验证,当验证失败的时候,停止回放。
即使执行装置已经收到了包括未授权内容的内容,这种技术也允许执行装置不开始回放这些内容,或者在回放过程中停止回放。
美国专利出版物第6480961号;[专利文献2]日本专利申请公开出版物第2002-281013号;[非专利文献1]http//positron.jfet.org/dvdvideo.html(2004年5月17日访问的);[非专利文献2]http//www.pioneer.co.jp/crdl/tech/mpeg/l.html(2004年5月17日访问的) “The Art of Computer Programming Vol.2Seminumerical Algorithms”,Donald E.Knuth著,ISBN0-201-03822-6;以及[非专利文献4]“Joho Security(Information Security)”,AtsukoMiyaji和Hiroaki Kikuchi编著,日本信息处理协会汇编。

发明内容
但是,根据上面描述的传统技术,执行装置必须与回放并行地连续验证验证信息,因此存在执行装置的处理负荷在内容回放期间变高的问题。
此外,从安全性的角度看,常常是分发编码内容而不是内容。在这种情况下,执行装置也必须并行地进行解密处理,因此处理负荷增加得更多。
因此,处理装置必须配备用于并行地进行这些处理的高性能处理器。
通过减少处理装置在内容回放期间的处理负荷,本发明能够解决这些问题,并且本发明的目的在于提供实现无障碍内容回放的一种数据处理装置、一种数据处理方法、一种数据处理程序和一种记录介质,即使配备的处理器性能不高。
为了实现上述目的,本发明的数据处理装置使用记录介质上记录的数字作品,该记录介质还在上面记录了(i)从构成所述数字作品的多个数据块产生的多个记录摘要值以及(ii)在所述多个记录摘要值的一些或者全部的基础之上产生的记录签名数据,该数据处理装置包括使用部件,用于使用所述数字作品;选择部件,用于从所述多个数据块随机地选择预定数量的数据块;计算部件,用于关于所述多个被选数据块的每一个计算计算摘要值;读取部件,用于从所述多个记录摘要值读取多个剩余的记录摘要值,这些剩余的记录摘要值的每一个都与所述多个未被选数据块之一对应;签名验证部件,通过利用所述记录签名数据、所述多个计算摘要值以及所述多个剩余的记录摘要值,用于验证所述数字作品是否有效;以及使用控制部件,当所述签名验证部件判定所述数字作品无效的时候,用于停止所述使用部件使用所述数字作品。
按照以上结构,本发明的数据处理装置的选择部件从所述多个数据块选择预定数量的数据块。计算部件从所述多个被选数据块计算多个计算摘要值,同时签名验证部件通过利用计算出来的所述多个计算摘要值,从所述记录介质读出的记录签名数据和所述剩余的记录签名数据,验证所述数字作品的有效性。因此,通过将要新计算的计算摘要值限制为预定数量,能够减少记录签名数据的验证中涉及到的处理负荷。
另外,选择单元进行的选择是随机的。因此,每次进行验证的时候,不同的数据块会成为验证目标,所以能够在某种程度上弥补将用于验证的数据块的数量限制为预定数所引起的验证准确度的下降。更进一步,第三方很难预测将选择哪些数据块,这样就能够防止只是伪造或者替换验证未授权信息不使用的数字作品一部分的欺骗行为。
在本发明的数据处理装置中,所述多个记录摘要值可以包括多个主记录摘要值,这些主记录摘要值中的每一个都是为所述多个数据块之一产生的,还包括从所述多个主记录摘要值中的两个或者更多个产生的多个次记录摘要值,并且所述记录签名数据可以通过对所述多个次记录摘要值进行数字签名来产生。所述读取部件可以从所述多个主记录摘要值读取所述多个剩余的记录摘要值。所述签名验证部件通过在所述多个计算摘要值和所述多个剩余的记录摘要值的基础之上计算一个或者更多个次计算摘要值,并且利用所述记录签名数据、所述多个次记录摘要值和所述多个次计算摘要值进行数字签名验证,来验证所述数字作品的有效性。
按照上述结构,所述多个记录摘要值包括多个第一记录摘要值和多个第二记录摘要值。所述签名验证部件在所述多个计算摘要值和所述多个剩余的记录摘要值的基础之上计算一个或者更多个第二计算摘要值。因此,所述读取单元只读取计算所述第二计算摘要值所需要的多个第一记录摘要值,以及不与多个被选数据块对应的多个第二摘要值。这样,有可能减少从记录介质读取的记录摘要值的总数。
在本发明的数据处理装置里,所述数字作品可以包括多个文件,所述多个文件中的每一个都与所述多个次记录摘要值之一相对应,并且由所述多个数据块中的两个或者更多个构成。所述多个次记录摘要值中的每一个都可以通过使用多个主记录摘要值产生,所述多个主记录摘要值与构成一个文件的所述多个数据块中的两个或者更多个一一对应,该文件与所述次记录摘要值相对应。所述签名验证部件包括主读取子部件,用于从所述记录介质读取所述记录签名数据;计算子部件,用于关于包括所述多个被选数据块中至少一个的每一个文件,通过利用所述文件中包括的所述多个未被选中的数据块相对应的多个主记录摘要值,以及与所述多个被选数据块相对应的所述多个计算摘要值,计算次计算摘要值;次读取子部件,用于关于不包括所述多个被选数据块中任何一个的每个文件,读取与所述文件相对应的次记录摘要值;签名子部件,通过利用所述多个计算出来的次计算摘要值和所述读取的多个次记录摘要值进行所述数字签名,用于产生计算签名数据;以及比较子部件,用于将所述计算签名数据与所述记录签名数据进行比较。当所述计算签名数据和所述记录签名数据互相一致的时候,所述签名验证部件可以验证所述数字作品是有效的,当所述计算签名数据和所述记录签名数据不一致的时候,判定所述数字作品无效。
按照上述结构,所述读取部件关于包括所述多个被选数据块的至少一个的每个文件,读取与所述文件中包括的所述多个未被选数据块相对应的多个第一记录摘要值。另一方面,所述签名验证部件中的第二读取子部件关于不包括所述多个被选数据块中任何一个的每个文件,从所述记录介质读取与所述文件相对应的第二记录摘要值。因此,能够减少从所述记录介质读取的记录摘要值的总数。更进一步,通过在所述多个第二记录摘要值和所述多个第二计算摘要值的基础之上产生计算签名数据,并且将所产生的计算签名数据与所述记录签名数据进行比较,能够轻松地验证数字作品的有效性。
在本发明的所述的数据处理装置中,所述多个记录摘要值可以是多个散列值,每一个散列值都是由一个散列函数产生的。所述计算部件产生的所述多个计算摘要值可以是通过将所述散列函数应用于所述多个被选数据块中的每一个计算出来的多个散列值。所述计算子部件计算出来的所述多个次计算摘要值可以是通过将所述散列函数应用于与所述多个未被选中的多个数据块相对应的所述多个主记录摘要值和所述多个计算摘要值计算出来的散列值。
按照上述结构,所述多个记录摘要值是由所述散列函数产生的。所述计算部件和所述计算子部件利用所属散列函数来计算所述多个计算摘要值和所述多个第二计算摘要值。
由于所述散列函数是一种单向函数,如果用于计算与所述多个被选数据块对应的所述多个第一记录摘要值的所述多个数据块甚至部分地不同于所述多个被选数据块,所述多个第一记录摘要值和所述多个第一计算摘要值互不相同。因此,伪造所述多个被选数据块的时候,所述多个计算摘要值和所述多个第二计算摘要值与所述记录介质上记录的对应的多个第一摘要值和多个第二摘要值一致。因而能够准确地检测所述多个被选数据块的伪造。
在本发明的数据处理装置中,所述数字作品可以是多项数字内容,并且所述使用部件通过回放所述多项数字内容来使用所述多项数字内容。
按照以上结构,所述使用控制部件停止回放已经被伪造的数字内容。因此能够减少伪造内容的循环。
在本发明的数据处理装置中,所述数字作品可以是计算机程序,并且所述使用部件通过对构成所述计算机程序的指令代码进行解码,并按照已解码代码运行来使用所述计算机程序。
按照以上结构,所述使用控制部件停止执行已经被伪造的计算机程序。因此,能够防止执行未授权程序产生的负面影响,比如用户数据的破坏和不应该使用的数据的应用。
本发明的数据处理装置,代替所述使用控制部件,可以包括警告显示部件,判定所述数字作品为无效的时候,用于显示所述数字作品无效的一个通知。
按照上述结构,当所述数字作品被验证为无效的时候,所述警告显示部件据此显示,因此,所述数据处理装置能够通知用户所述记录介质上记录的数字作品是未授权的。因此,用户会清楚记录介质上记录的数字作品是未授权的,并且采取保护措施,比如不将记录介质载入数据处理装置。因此,能够避免使用所述数字作品带来的负面影响。
在本发明的所述数据处理装置中,所述记录介质已经另外记录了(i)具有已调整数据大小,从而使所述记录介质上的自由空间的容量成为一预定值或者更小的值的多项填充内容以及(ii)在所述数字作品的部分或者全部以及所述填充内容的基础之上产生的签名数据。所述数据处理装置进一步包括验证部件,用于通过使用所述数字作品、所述多项填充内容和所述签名数据来验证所述数字作品和所述多项填充内容是不是有效。所述使用控制部件用于在所述验证部件判定所述数字作品和所述多项填充内容中的至少一样无效的时候,停止所述使用部件使用所述数字作品。
按照以上结构,所述多项填充内容记录在所述记录介质上。如果所述自由空间的容量是预定值,它足够小,或者甚至比所述预定值还小,未授权第三人不能添加未授权信息到所述记录介质上。更进一步,所述数据处理装置不仅验证所述数字作品的有效性,还验证填充内容的有效性。因此,即使伪造了所述多项填充内容的一部分或者全部,所述数据处理装置也会停止所述数字作品的使用。所以,即使按照这种方式分发未授权信息,也能够防止未授权信息的使用。
在本发明的数据处理装置中,所述记录介质已经另外记录了(i)表明所述记录介质上允许外部装置访问的访问允许区域的区域信息以及(ii)在所述数字作品和所述区域信息的一部分或者全部的基础之上产生的签名数据。所述数据处理装置可以进一步包括访问禁止部件,用于基于所述区域信息禁止对所述访问允许区域以外的区域的访问;以及验证部件,用于通过使用所述数字作品、所述区域信息和所述签名数据验证所述数字作品和所述区域信息是否有效。所述使用控制部件用于当所述验证部件判定所述数字作品和所述区域信息中的至少一样无效的时候,停止所述使用部件使用所述数字作品。
总之,在记录介质中,除了数字作品以外,有时会包括说明使用数字作品的程序的程序文件。按照以上结构,数据处理装置不访问区域信息表明的访问允许区域以外的区域。
因此,即使未授权第三人将未授权信息添加到记录介质上的自由空间,并且进一步伪造所述程序文件,从而使用未授权信息,数据处理装置也不会读取未授权信息。
另外,由于所述签名数据是在数字作品和区域信息的基础之上产生的,因此使用控制单元能够停止使用部件使用所述数字作品,即使未授权人员伪造了区域信息。这样就能够防止使用未授权信息。
在这里,权利要求中的数据处理装置是以下实施例中的一种执行装置。权利要求中的数据块与第一、第五和第六实施例中的已加密单元相对应,也与第二到第四实施例中的部分内容相对应。


图1是说明第一实施例中未授权内容检测系统结构的结构示意图;图2是说明第一实施例的分发装置1100的结构的框图;图3说明要输入分发装置1100的内容1120的结构;图4说明执行装置信息存储部件1104储存的装置标识表1130的结构;图5说明密钥块生成部件1103产生的密钥块1150的细节;图6说明单元生成部件(unit generating unit)1105进行的分裂内容(split contents)的产生程序的总的概要;图7说明单元生成部件1105产生的单元拾取信息1200的结构;图8说明加密处理部件1106进行的加密处理的一部分;图9说明加密处理部件1106产生的已加密内容1330的结构;
图10说明报头信息生成部件1107执行的报头信息1260产生程序的总的概要;图11说明报头信息生成部件1107执行的第一散列表的产生程序;图12说明报头信息生成部件1107产生的第二散列表的细节;图13说明签名信息生成部件1111进行的处理;图14说明第一实施例的DVD1500储存的信息;图15是说明第一实施例的执行装置1600的结构的框图;图16说明签名信息验证部件1611进行的签名信息的验证处理的总的概要;图17说明签名信息验证部件1611进行的处理的一部分;图18说明签名信息验证部件1611执行的被替换第一散列表的产生程序;图19说明签名信息验证部件1611执行的被替换第二散列表的产生程序;图20说明签名信息验证部件1611进行的签名信息验证;图21是说明分发装置1100工作状况的流程图;图22是说明分发装置1100工作状况的流程图(图21的继续);图23说明执行装置1600执行的签名信息的验证程序;图24是说明执行装置1600的工作状况的流程图;图25是说明执行装置1600的工作状况的流程图(图24的继续);图26是说明第一实施例的变型中执行装置1100b的结构的框图;图27是说明第二实施例中分发装置2100的结构的框图;图28说明要输入分发装置2100的内容2120和多则标识信息;图29说明选择部件2105所作处理的总的概要;图30说明报头信息生成部件2107产生的被选位置信息2160的结构;图31说明报头信息生成部件2107产生的报头信息2200的结构;图32说明加密处理部件2109产生的已加密内容的结构;图33说明第二实施例的DVD2500上记录的信息;
图34是说明第二实施例的执行装置2600的结构的框图;图35是说明分发装置2100的工作状况的流程图;图36是说明执行装置2600的工作状况的流程图;图37是说明第三实施例的分发装置3100的结构的框图;图38说明报头信息生成部件3107产生的报头选择信息3130的结构;图39说明第三实施例的DVD3500上记录的信息;图40是说明第三实施例的执行装置3600的结构的框图;图41是说明第四实施例的分发装置4100的结构的框图;图42说明部分内容产生部件4105产生的分裂内容和多则标识信息;图43说明报头信息生成部件4107产生的内容位置信息4140的结构;图44说明报头信息生成部件4107产生的报头信息4160的结构;图45说明第四实施例的DVD4500上记录的信息;图46是说明第四实施例的执行装置4600的结构的框图;图47说明选择部件4611执行的被选位置信息4620的产生程序的总的概要;图48说明选择部件4611执行的被选报头信息4630的产生程序的总的概要;图49说明部分内容解密部件4616执行的解密处理的总的概要;图50是说明分发装置4100的工作状况的流程图;图51说明分发装置4100执行的签名信息4170的产生程序;图52是说明执行装置4600的工作状况的流程图;图53是说明执行装置4600的工作状况的流程图(图52的继续);图54说明执行装置4600执行的签名信息和报头信息的验证程序;图55是说明第五实施例的分发装置5100的结构的框图;图56说明填充内容生成部件5108产生的分裂填充内容5120的结构;
图57说明填充内容生成部件5108输出的单元拾取信息5140的结构;图58说明报头信息生成部件5107执行的报头信息5109产生程序的总的概要;图59说明报头信息生成部件5107产生的第二散列表5180的结构;图60说明第五实施例的DVD5500上记录的信息;图61是说明第五实施例的执行装置5600的结构的框图;图62是说明分发装置5100的工作状况的流程图;图63是说明分发装置5100的工作状况的流程图(图62的继续);图64是说明执行装置5600的工作状况的流程图;图65说明预想的未授权DVD5500b;图66说明预想的未授权DVD5500c;图67是说明第六实施例的分发装置6100的结构的框图;图68说明分配产生部件6108产生的写入分配信息6120;图69说明第六实施例的DVD6500上记录的信息;图70是说明第六实施例的执行装置6600的结构的框图;以及图71说明DVD1500的配置和获取部件1601的结构。
具体实施例方式
1.第一实施例下面将在附图的帮助下描述未授权内容检测系统1,作为本发明的实施例的一个实例。
1.1未授权内容检测系统1如图1所示,未授权内容检测系统1包括分发装置1100、执行装置1600和监视器1620。
分发装置1100是一个例如内容的合法版权持有人拥有的包括视频和音频的装置。根据操作员执行的操作,分发装置1100获取内容,并且通过对获取的内容加密产生已加密内容。另外,分发装置1100利用这些内容产生各种信息。分发装置1100产生的信息包括例如执行装置1600用于验证内容中是否包括未授权内容的时候使用的报头信息。此外,分发装置1100利用专用于它自己的签名密钥产生签名信息,并且将产生的已加密内容、签名信息、报头信息之类写在DVD(数字多功能盘)1500上。
通过分发渠道将DVD1500销售或者分发给用户。
装载了DVD1500的时候,执行装置1600从装载的DVD1500读取签名信息、报头信息之类,并且基于从DVD1500读取的信息,进行读取的签名信息的验证以及是否包括未授权内容的验证。
只有当签名信息的验证成功的时候,执行装置1600才开始回放这些内容。
下面详细介绍组成未授权内容检测系统1和DVD1500的各个装置。
1.2分发装置1100如图2所示,分发装置1100包括输入部件1101、内容密钥生成部件1102、密钥块生成部件1103、执行装置信息存储部件1104、单元生成部件1105、加密处理部件1106、报头信息生成部件1107、签名信息生成部件1111、签名密钥存储部件1112和记录部件1114。
1.2.1输入部件1101输入部件1101根据操作员的操作从外部装置或者外部记录介质接收内容。在这里利用图3介绍输入部件1101接收的内容的结构。
如图3所示,输入部件1101收到的内容1120包括c个文件(c是1或更大的整数)CNT1 1121、CNT2 1122、CNT3 1123、……、CNTc 1124。在这里,输入部件1101获得的内容1120是对于执行装置1600来说可播放格式的(如同后面将详细介绍的一样),DVD视频格式和MPEG-2(运动图像专家组2)格式都是这种可播放格式的实例。描述本实施例的时候假设内容1120是DVD视频格式的,所述文件中的每一个都是VOB(视频对象)文件。
获得内容1120的时候,输入部件1101指令内容密钥生成部件1102产生内容密钥,并且将获得的内容1120输出给单元生成部件1105。
1.2.2内容密钥生成部件1102由输入部件1101指令内容密钥生成部件1102产生内容密钥。响应这一指令,内容密钥生成部件1102产生一个伪随机数,然后利用产生的这个伪随机数产生128比特长度的内容密钥CK。替换伪随机数,利用例如信号上的噪声可以产生真随机数。非专利文献3提供产生随机数的方法细节。另外,可以将不同的方法用来产生内容密钥。
随后,内容密钥生成部件1102将产生的内容密钥CK输出给密钥块生成部件1103和加密处理部件1106。
1.2.3密钥块生成部件1103和执行装置信息存储部件1104执行装置信息存储部件1104包括例如ROM或者EEPROM,并且储存如图4所示的装置标识表1130。
装置标识表1130由n个装置标识符和n个装置密钥(n是一个自然数)组成。装置标识符是多则标识信息,每一则标识信息都是专用于允许在DVD1500上读取分发装置1100写入的信息并且播放所读取的信息的装置的。与装置标识符一一对应的装置密钥是多则密钥信息,这多则密钥信息分别专用于对应装置标识符表明的各个装置。例如,装置标识符AID_1 1131对应于装置密钥DK_1 1136。
密钥块生成部件1103从内容密钥生成部件1102接收内容密钥CK,并且产生密钥块。
图5说明在这一点上产生的密钥块1150的一个结构实例。密钥块1150由n个装置标识符和n个已加密内容密钥组成。装置标识符与装置标识表1130中包括的装置标识符相同。装置标识符与已加密内容密钥一一对应,并且已加密内容密钥是通过利用对应的装置密钥对内容密钥CK应用加密算法E1而产生的。例如,装置标识符AID_11141与装置标识表1130中包括的装置标识符AID_1 1131相同,并且对应于已加密内容密钥Enc(DK_1,CK)1142。已加密内容密钥Enc(DK_1,CK)1142是通过利用装置标识表1130里包括的装置密钥DK_1 1136对内容密钥CK进行加密产生的。在以后的说明中,将利用密钥A加密明文B产生的已加密文本表示为Enc(A,B)。
下面描述产生密钥块1150的程序。
接收内容密钥CK的时候,密钥块生成部件1103从执行装置信息存储部件1104的装置标识表1130读取第一行中的装置标识符AID_1 1131和装置密钥DK_1 1136。密钥块生成部件1103通过利用读取的装置密钥DK_1 1136对内容密钥CK应用加密算法E1来产生已加密内容密钥Enc(DK_1,CK)。在这里,作为一个实例,加密算法E1采用了AES(先进加密标准)。非专利文献4提供了AES的细节。注意,这里使用的加密系统不限于AES,而是可以采用不同的系统。
密钥块生成部件1103储存读取的装置标识符AID_1 1131和产生的已加密内容密钥Enc(DK_1,CK),并且将这两者互相联系起来。
密钥块生成部件1103为n对装置标识符和装置密钥重复同一种处理,产生n对装置标识符和已加密内容密钥,并且将这些对放在一起形成密钥块1150。
接下来,密钥块生成部件1103将产生的密钥块1150输出给记录部件1114。
在这里,作为最简单的实例,描述了将专用密钥赋予用于播放写入DVD1500的信息的每个装置这种情况。但是专利文献2公开的技术包括减少已加密内容密钥的数量和防止专用装置播放这些内容的那一些技术。
1.2.4单元生成部件1105单元生成部件1105从输入部件1102接收内容1120。接收内容1120的时候,单元生成部件1105在下面描述的程序里产生分裂内容和单元拾取信息。
下面描述的是分裂内容产生(a);和单元拾取信息产生(b)。
(a)分裂内容的产生如图6所示,单元生成部件1105从内容1120产生分裂内容1160。下面在图6的帮助下描述用于产生分裂内容1160的程序。
接收内容1120的时候,单元生成部件1105产生与收到的内容1120中包括的文件CNT1 1121对应的一个文件标识符FID1 1161和一则文件标识信息AD1。文件标识符FID1 1161是唯一地表明文件CNT1 1121的标识信息,并且是例如表明内容1120中文件CNT 1121顺序的自然数或者文件的名称。这一则文件标识信息AD1是用于标识文件CNT1 1121的信息,并且是例如从内容1120的首部开始算起的偏移、扇区号或者地址。
下一步,单元生成部件1105关于每个VOBU(视频对象单元)分裂文件CNT1 1121,产生m个单元U1_1、U1_2、……、U1_m(m是一个任意自然数)。然后,单元生成部件1105产生单元数N1,它表明产生的单元的数量(在这里N1=m)。
下一步,单元生成部件1105产生由文件标识符FID1 1161、文件标识信息AD1和单元数N1组成的文件信息,并且将产生的文件信息储存起来。
然后,单元生成部件1105为各个单元产生单元标识符。这些单元标识符是多则标识信息,每一则信息都唯一地标识m个单元中的一个,并且可以是例如从首部单元开始的序数,象1、2、3、……、m,或者可以是从首部单元开始的累计比特数。在本实施例中,假设单元标识符是从首部单元开始的序数。在以下说明中,将一对对应的单元标识符和单元叫做一则单元信息,而将m则单元信息统一叫做分裂文件(split file)。这样,从文件CNT1 1121产生的分裂文件splCNT1 1171由图6所示的m则单元信息1191、1192、1193、……、1194组成。每一则单元信息都由对应的单元标识符和单元组成。例如,一则单元信息1191包括单元标识符UID1_1 1181和单元U1_11186。
下一步,单元生成部件1105产生包括文件标识符FID1 1161和分裂文件splCNT1 1171的分裂文件信息1176。
单元生成部件1105针对所有文件重复同一种处理,以产生c则文件信息和c则分裂文件信息1176、1177、1178、……、1179。在这里,产生的c则分裂文件信息一起叫做分裂内容1160。注意,对于不同的文件,产生的单元的数量m可能不同。
下一步,单元生成部件1105将产生的分裂内容1160输出给加密处理部件1106。
注意,这里的单元生成部件1105产生文件标识符和文件标识信息,但是,这些东西可以和内容1120一起从外部输入。
另外,各个文件是关于每个VOBU分裂的,但是,分裂单元不限于此。例如,可以将每个文件每64kB分裂一次,或者将对应于一秒钟回放时间的每一部分分裂一次。也可以设计成让操作员输入表明分裂单位(split unit)的信息。
(b)单元拾取信息的产生在完成了分裂内容1160的输出以后,单元生成部件1105产生由c则文件信息组成的单元拾取信息。图7说明在这一点产生的单元拾取信息1200的结构。
单元拾取信息1200由c则文件信息1201、1202、……、1204组成。每一则文件信息都由文件标识符、一则文件标识信息和单元数组成。
作为一个实例,一则文件信息1201包括文件标识符FID1 1211、一则文件标识信息AD1 1216和单元数N1 1221。
单元生成部件1105将产生出来的单元拾取信息1200输出给签名信息生成部件1111和记录部件1114。
1.2.5加密处理部件1106加密处理部件1106从内容密钥生成部件1102接收内容密钥CK,并且从单元生成部件1105接收分裂内容1160。
图8说明加密处理部件1106进行的处理的一部分。下面在图8的帮助下描述加密处理部件1106进行的处理。
接收分裂内容1160的时候,加密处理部件1106选择由收到的分裂内容1160组成的分裂文件信息1176中包括的分裂文件splCNT11171。加密处理部件1106从选中的分裂文件splCNT1 1171的单元信息1191的首部则(head piece)提取单元U1_1 1186,并且通过利用内容密钥CK将加密算法E1应用于提取出来的U1_1 1186来产生已加密单元EU1_1 1231。在这里,EU1_1=Enc(CK,U1_1)。
加密处理部件1106产生由单元信息1191中包括的产生出来的已加密单元EU1_1 1231和单元标识符UID1_1 1181组成的已加密单元信息1241。在以下说明中,一对对应单元标识符和已加密单元指的是一则已加密单元信息。
加密处理部件1106为单元信息1192、1193、……、1194的其余部分重复相同样的处理,产生对应则已加密单元信息1242、1243、……、1244。在这里,将从一个分裂文件产生的m则已加密单元信息统称为已加密分裂文件。
如图8所示,在上述程序中从分裂文件splCNT1 1171产生的已加密分裂文件EsplCNT1 1251由m则已加密单元信息1241、1242、1243、……、1244组成。每一则已加密单元信息都是在分裂文件1171组成的一则单元信息的基础之上产生的,并且包括单元标识符和已加密单元。例如,已加密单元信息1241是在单元信息1191的基础之上产生的,并且包括单元标识符UID1_1 1181和已加密单元EU1_11231。
下一步,加密处理部件1106从产生的已加密分裂文件EsplCNT11251组成的每一则已加密单元信息提取已加密单元。在这里,将m个已提取的已加密单元统称为已加密文件ECNT1。
然后,加密处理部件1106通过利用产生出来的已加密分裂文件EsplCNT1 1251替换分裂文件信息1176中包括的分裂文件splCNT11171,产生已加密分裂文件信息。
加密处理部件1106对这些则分裂文件信息1177、1178、……、1179进行同样的处理,产生已加密分裂文件信息和已加密文件。
将在这一点产生的c则已加密分裂文件信息统称为已加密分裂内容。然后,加密处理部件1106将产生的已加密分裂内容输出给报头信息生成部件1107。图10说明这里输出的已加密分裂内容1210的结构。
下一步,加密处理部件1106将c个已加密文件作为已加密内容输出给记录部件1114。图9说明这里产生的已加密内容1330的结构。已加密内容1330由c个已加密文件ECNT1 1331、ECNT2 1332、ECNT3 1333、……、ECNTc1334组成。这些已加密文件中的每一个都是在已加密分裂内容中包括的已加密分裂文件的基础之上产生的,并且包括多个已加密单元。作为一个实例,已加密文件ECNT1 1331包括已加密单元EU1_1、EU1_2、……1.2.6报头信息生成部件1107报头信息生成部件1107从加密处理部件1106接收已加密分裂内容1210。接收已加密分裂内容1210的时候,报头信息生成部件1107利用收到的如图10所示的已加密分裂内容产生报头信息1260。
图10说明报头信息生成部件1107执行的报头信息1260的产生程序的概要。报头信息生成部件1107收到的已加密分裂内容1210由c则已加密分裂文件信息1246、1247、1248、……、1249组成。每一则已加密分裂文件信息都包括文件标识符和已加密分裂文件。例如,一则已加密分裂文件信息1246包括文件标识符FID1 1161和已加密分裂文件EsplCNT1 1251。
报头信息生成部件1107在已加密分裂文件信息1246中包括的每一分裂文件的基础之上产生第一散列表。例如,报头信息生成部件1107在已加密分裂文件EsplCNT1 1251的基础之上产生第一散列表HA1TBL1 1261。报头信息生成部件1107从产生出来的c个第一散列表产生第二散列表HA2TBL 1269。
下面详细描述第一和第二散列表的上述产生程序。
1.2.6.1第一散列表的产生图11说明报头信息生成部件1107执行的第一散列表HA1TBL11261的产生程序的概要。
下面在图11的帮助下描述第一散列表HA1TBL1 1261的产生程序。所有第一散列表HA1TBL2、HA1TBL3、……、HA1TBLc的产生程序都与第一散列表HA1TBL1 1261的相同。
首先,报头信息生成部件1107从已加密分裂文件EsplCNT1 1251组成的首部已加密单元信息1241提取已加密单元EU1_1 1231,并且通过将提取出来的已加密单元EU1_1 1231赋予散列函数来产生单元散列值UHA1_1 1271。
在这里,将利用块密码(block cipher)的SHA-1(安全散列算法-1)或者CBC-MAC(密码块链接消息鉴别码,Cipher BlockChaining-Message Authentication Code)应用于上述散列函数。
在这里,报头信息生成部件1107通过利用产生出来的单元散列值UHA1_11271替换已加密单元信息1241的已加密单元EU1_11231来产生单元散列信息1281。
报头信息生成部件1107为已加密单元信息1242、1243、……、1244的其余部分重复同样的处理来产生对应则单元散列信息1282、1283、……、1284。将这一点产生的m则单元散列信息统称为第一散列表HA1TBL1 1261。图11说明这一点产生的第一散列表HA1TBL1 1261的结构。
1.2.6.2第二散列表的产生报头信息生成部件1107重复以上程序。在完成了从已加密分裂内容1210产生上述c个第一散列表以后,报头信息生成部件1107从产生出来的c个第一散列表产生图12所示的第二散列表1269。第二散列表HA2TBL 1269由c则文件散列信息1301、1302、1303、……、1304组成,每一则文件散列信息都包括文件标识符和文件散列值。作为一个实例,一则文件散列信息1301包括文件标识符FID1 1161和文件散列值FHA1 1291。
下面描述第二散列表1269的产生程序。
报头信息生成部件1107通过将组成所产生的第一散列表HA1TBL1 1261的全部单元标识符和单元散列值组合起来形成的组合结果赋予散列函数来产生文件散列值FHA1 1291。
接下来,报头信息生成部件1107从对应于第一散列表HA1TBL11261的已加密分裂文件信息1246提取文件标识符FID1 1161,并且产生提取的文件标识符FID1 1161和产生的文件散列值FHA1 1291组成的文件散列信息1301。
报头信息生成部件1107为第一散列表1262、1263、……、1264重复同样的处理,分别产生所述则文件散列信息1302、1303、……、1304。
下一步,报头信息生成部件1107将产生出来的这些c则第一散列信息放到一起形成第二散列表HA2TBL 1269。
这样就完成了对第一散列表(1.2.6.1)和第二散列表(1.2.6.2)的产生程序的描述。报头信息生成部件1107产生包括在上述程序中产生的c个第一散列表和单个第二散列表HA2TBL1269的报头信息1260,并且将产生出来的报头信息1260输出给记录部件1114。
更进一步,报头信息生成部件1107将产生出来的第二散列表HA2TBL1269输出给签名信息生成部件1111。
1.2.7签名信息生成部件1111和签名密钥存储部件1112由ROM组成的签名密钥存储部件1112储存分发装置1100专用的签名密钥1113。
图13说明签名信息生成部件1111的工作情况的概要。下面在图13的帮助下描述签名信息生成部件1111进行的签名信息的产生。
从报头信息生成部件1107接收第二散列表HA2TBL1269的时候,签名信息生成部件1111从单元生成部件1105接收单元拾取信息1200。接收单元拾取信息1200和第二散列表1269的时候,签名信息生成部件1111从签名密钥存储部件1112读取签名密钥1113。
接下来,签名信息生成部件1111利用读取出来的签名密钥1113从收到的单元拾取信息1200和第二散列表1269产生签名信息1310。更加具体地说,签名信息生成部件1111利用读取出来的签名密钥1113,将签名生成算法S应用于组合收到的第二散列表1269中包括的c个文件散列值和单元拾取信息1200中包括的c个文件信息得到的组合起来的结果。
作为一个实例,为签名生成算法S使用DSA(数字签名算法)。
然后,签名信息生成部件1111将产生出来的签名信息1310输出给记录部件1114。
1.2.8记录部件1114用记录部件1114装载DVD1500。
记录部件1114接收来自密钥块生成部件1103的密钥块1150;来自单元生成部件1105的单元拾取信息1200;来自加密处理部件1106的已加密内容1330;来自报头信息生成部件1107的报头信息1260;以及来自签名信息生成部件1111的签名信息1310。
接收上述信息的时候,记录部件1114向DVD1500写入收到的密钥块1150、单元拾取信息1200、报头信息1260、签名信息1310和已加密内容1330。
1.3DVD1500DVD1500是载入执行装置1600的可移动光盘介质。
如图14所示,DVD1500储存密钥块1510、单元拾取信息1530、报头信息1550、签名信息1570和已加密内容1580。这些已经被分发装置1100写入,并且分别与分发装置1100产生的密钥块1150、单元拾取信息1200、报头信息1260、签名信息1310和已加密内容1330相同。因此,为这些项提供一些简短描述。
1.3.1密钥块1510密钥块1510由n个装置标识符AID_1、AID_2、AID_3、……、AID_n和分别对应于这n个装置标识符的n个已加密内容密钥Enc(DK_1,CK)、Enc(DK_2,CK)、Enc(DK_3,CK)、……、Enc(DK_n,CK)组成。
1.3.2单元拾取信息1530单元拾取信息1530由c则文件信息1541、1542、……等等组成,每一则文件信息都包括文件标识符、文件标识信息和单元数。各则文件信息都对应于已加密内容1580中包括的已加密文件。另外,每一文件都对应于报头信息1550中包括的第一散列表。
1.3.3已加密内容1580已加密内容1580由c个已加密文件1581、1582、1583、……、1587组成。每一个已加密文件都包括多个已加密单元。
1.3.4报头信息1550报头信息由c个第一散列表1551、1552、……、1557和第二散列表1556组成。
每一个第一散列表都由多则单元散列信息组成,每一则单元散列信息都包括单元标识符和单元散列值。
第二散列表1556由c则文件散列信息1561、1562、1563、……、1567组成,每一则文件散列信息都包括文件标识符和文件散列值。
1.3.5签名信息1570通过将签名生成算法S应用于通过组合第二散列表1556中包括的c个文件散列值和单元拾取信息1530中包括的c则文件信息形成的组合结果来产生签名信息1570。
1.4执行装置1600如图15所示,执行装置1600由获取部件1601、内容密钥获取部件1602、装置密钥存储部件1604、执行部件1606、签名信息验证部件1611和验证密钥存储部件1612组成。
1.4.1获取部件1601给获取部件1601装载DVD1500。检测装载在其上的DVD1500的时候,获取部件1601从DVD1500读取密钥块1510、单元拾取信息1530和签名信息1510,并且在输出读取的单元拾取信息1530和签名信息1570给签名信息验证部件1611的时候,输出读取的密钥块1510给内容密钥获取部件1602。
另外,获取部件1601根据来自执行部件1606和签名信息验证部件1611的指令从DVD1500读取报头信息1550和已加密内容1580的全部或部分。
1.4.2内容密钥获取部件1602和装置密钥存储部件1604由ROM组成的装置密钥存储部件1604储存如图15所示的装置标识符AID_p 1608和装置密钥DK_p 1609(p是等于或小于n的一个自然数)。
装置标识符AID_p 1608是独一无二地表明执行装置1600的标识信息,而装置密钥DK_p 1609则是专用于执行装置1600的密钥信息。
内容密钥获取部件1602从获取部件1601接收密钥块1510。接收密钥块1510的时候,内容密钥获取部件1602从装置密钥存储部件1604读取装置标识符AID_p 1608。然后,内容密钥获取部件1602检测对应于从收到的密钥块1510读取的装置标识符AID_p 1608的装置标识符,并且提取对应于被检测装置标识符的已加密内容密钥。
随后,内容密钥获取部件1602从装置密钥存储部件1604读取装置密钥DK_p 1609。内容密钥获取部件1602通过利用读取的装置密钥DK_p 1609将解密算法D1应用于被提取的已加密内容密钥来产生内容密钥CK,然后将产生的内容密钥CK输出给执行部件1606。
在这里,解密算法D1是用于对加密算法E1产生的已加密文本进行解密所使用的算法。
1.4.3签名信息验证部件1611和验证密钥存储部件1612由ROM组成的验证密钥存储部件1612储存验证密钥1613。验证密钥1613是与分发装置1100储存的签名密钥1113对应的密钥信息。
签名信息验证部件1611从获取部件1601接收单元拾取信息1530和签名信息1570。
图16说明签名信息验证部件1611执行的签名信息验证操作的概要。接收单元拾取信息1530和签名信息1570的时候,签名信息验证部件1611从收到的单元拾取信息1530选择文件标识符的i个(i是等于或小于c的一个自然数),如图16所示。在这里,在假设签名信息验证部件1611已经选择了文件标识符FID1 1531、FID3 1533、……的情况下,提供以下描述。
签名信息验证部件1611在与被选文件标识符FID1 1531对应的第一散列表HA1TBL1 1551和已加密文件ECNT1 1581的基础之上产生一个被替换第一散列表REPHA1TBL1 1631。签名信息验证部件1611针对其它被选文件标识符FID3、……、等等进行同样的处理,以产生被替换第一散列表1633、……、等等。签名信息验证部件1611在产生的被替换第一散列表1631、1633、……、等等和DVD1500中储存的第二散列表HA2TBL 1556的基础之上产生被替换第二散列表REPHA2TBL 1639,并且利用产生的被替换第二散列表REPHA2TBL 1639验证签名信息1570。
这就结束了图16中所说明的概要。下面在附图的帮助下详细描述被替换第一散列表的产生(1.4.3.1);被替换第二散列表的产生(1.4.3.2);以及签名信息的验证程序(1.4.3.3)。
1.4.3.1被替换第一散列表的产生在图17和18的帮助下介绍产生被替换第一散列表的程序。
如图17所示,签名信息验证部件1611从收到的单元拾取信息1530中包括的c则文件信息中选择i则(i是等于或小于c的一个自然数)。选择i则的方法是例如产生i个伪随机数(r1、r2、……、ri),其中的每一个都大于或等于1,并且小于或等于c。并且选择第r1、r2、……、ri个文件标识符。选择方法不限于这种方法,可以使用任何方法只要很难预测将选中哪些文件标识符。例如,可以使用温度、湿度和电子信号上的噪声等等。
在本实施例中,在假设i=7,并且选择7则文件信息1541、1543、……、等等的情况下进行以下描述。
随后,签名信息验证部件1611选择与被选择文件信息1541里包括的文件标识符FID1相对应的已加密文件ECNT1 1581中的已加密单元中的任意一个,并且从DVD1500读取被选已加密单元,如图18所示。更加具体地说,签名信息验证部件1611读取被选文件信息1541里包括的单元数N1,并且产生伪随机数t(在这里t=3),它是N1或更小。然后,签名信息验证部件1611在被选文件信息1541中包括的文件标识信息AD1的基础之上,通过获取部件1601从DVD1500读取已加密单元EU1_3,它是已加密文件ENCT1 1581中的第三已加密单元。
下一步,签名信息验证部件1611通过将读取的已加密单元EU1_3赋予一个散列函数来产生替换单元散列值H3。在这里,签名信息验证部件1611使用与分发装置1100的报头信息生成部件1107使用的相同的散列函数。
下一步,签名信息验证部件1611通过获取部件1601读取报头信息1550中包括的第一散列表HA1TBL1 1551。
然后,签名信息验证部件1611利用计算出来的替换单元散列值H3替换组成读取的第一散列表HA1TBL1 1551的m则单元散列信息中,对应于与t=3一致的单元标识符UID1_3的单元散列值UHA1_3。结果是被替换的第一散列表REPHA1TBL1 1631。
签名信息验证部件1611为其它被选则文件信息1542、……、等等重复同样的处理,以分别产生被替换第一散列表REPHATBL3 1633等等。
1.4.3.2被替换第二散列表的产生下面在图19的帮助下描述产生被替换第二散列表的程序。
在基于选择的7则文件信息完成被替换第一散列表的产生以后,签名信息验证部件1611组合组成所产生的被替换第一散列表REPHA1TBL1 1631的所有单元标识符、所有单元散列值和被替换散列值,并且通过将组合结果赋予散列函数产生替换文件散列值fha1。以类似的方式,签名信息验证部件1611分别基于被替换第一散列表1633 REPHA1TBL3、……、等等产生替换文件散列值fha3、……、等等。
下一步,签名信息验证部件1611从DVD1500读取报头信息1550中包括的第二散列表HA2TBL 1556。从读取出来的第二散列表HA2TBL 1556中包括的c则文件散列信息,签名信息验证部件1611分别利用产生出来的替换文件散列值fha1、fha3、……、等等替换包括文件标识符FID1、FID3、……、等等的文件散列信息的文件散列值,这些文件标识符FID1、FID3、……、等等包括在被选七则文件信息中。对其进行了这一替换的第二散列表HA2TBL 1556是被替换第二散列表REPHA2TBL 1639。
1.4.3.3签名信息验证下面在图20的帮助下描述签名信息验证。
在产生了被替换第二散列表REPHA2TBL 1639以后,签名信息验证部件1611从验证密钥存储部件1612读取验证密钥1613。
随后,签名信息验证部件1611产生通过将被替换第二散列表REPHA2TBL 1639中包括的全部文件散列值和替换文件散列值以及单元拾取信息1530中包括的c则文件信息组合起来,形成的组合结果,并且通过利用验证密钥1613将签名验证算法V应用于所产生的组合结果来产生签名验证信息。然后,签名信息验证部件1611将产生的签名验证信息和从获取部件1601收到的签名信息1570进行比较。当这两者不一致时,签名信息验证部件1611判定签名验证不成功,并且输出回放禁止信息给执行部件1606表明禁止内容回放。在这里,签名验证算法V是用于验证通过利用签名生成算法S产生的签名的一个算法。
当这两者一致时,签名信息验证部件1611结束这一验证处理。
1.4.4执行部件1606执行部件1606从内容密钥获取部件1602接收内容密钥CK。
另外,执行部件1606还可以从签名信息验证部件1611接收回放禁止信息。
接收内容密钥CK的时候,执行部件1606通过获取部件1601从DVD1500读取组成已加密内容1580的已加密文件ECNT1。执行部件1606利用收到的内容密钥CK将解密算法D1顺序地应用于组成读取的已加密文件1581的已加密单元EU1_1、EU1_2、……、等等,以产生由单元U1_1、U1_2、……、等等组成的文件CNT1。
接下来,执行部件1606扩展所产生的文件CNT1来产生视频和音频数据。执行部件1606基于所产生的视频和音频数据产生视频和音频信号,并且将所产生的视频和音频信号输出给监视器1620。
关于已加密文件ECNT2、……、和ECNTc,执行部件1606用相似的方式重复读出、解密和扩展,以及输出视频和音频信号。
如果在重复期间从签名信息验证部件1611接收回放禁止信息,执行部件1606就退出重复,并通过例如点亮指示灯或者让监视器1620显示通知出错的画面来通知用户装载了的DVD的不能回放。
1.4.5监视器1620监视器1620有用电缆与执行装置1600连接的内置扬声器。
监视器1620从执行装置1600的执行部件1606接收视频和音频信号,从收到的图像信号产生画面,并且显示这些画面。另外,监视器1620从音频信号产生声音,从扬声器输出产生的声音。
1.5工作状况下面描述分发装置1100和执行装置1600的工作状况。
1.5.1分发装置1100的工作状况下面在图21和22所示的流程图的帮助下描述分发装置1100的工作状况。
输入部件1101根据操作员进行的操作获得由c个文件组成的内容1120(步骤S1011),并且指令内容密钥生成部件1102产生内容密钥。
内容密钥生成部件1102用随机数产生内容密钥CK,将产生出来的内容密钥CK输出给密钥块生成部件1103(步骤S1012)。
密钥块生成部件1103接收内容密钥CK,从执行装置信息存储部件1104读取装置标识表1130(步骤S1013)。密钥块生成部件1103利用收到的内容密钥CK和读取的装置标识表1130产生密钥块1150(步骤S1016)。
在步骤S1017到S1023里,分发装置1100的单元生成部件1105关于组成内容1120的每个文件重复步骤S1018到S1022的处理。
单元生成部件1105产生对应于文件的文件标识符和文件标识信息(步骤S1018)。接下来,单元生成部件1105通过分裂文件产生m个单元(步骤S1019),产生表明所产生单元的数量的单元数,并且产生所产生的文件标识符、文件标识信息和单元数组成的文件信息(步骤S1020)。
下一步,单元生成部件1105产生与所产生的单元一一对应的单元标识符(步骤S1021)。接下来,单元生成部件1105产生m则单元信息,这些信息中的每一则都包括对应的单元标识符和单元,并且将这些则单元信息放在一起形成分裂文件。然后,单元生成部件1105产生由分裂文件和文件标识符组成的分裂文件信息(步骤S1022)。
为所有文件以及c则分裂文件信息和文件信息的产生重复步骤S1017到S1023以后,单元生成部件105产生由c则文件信息组成的单元拾取信息1200(步骤S1024),并且将产生的单元拾取信息1200输出给签名信息生成部件1111和记录部件1114。另外,单元生成部件1105将c则分裂文件信息组成的分裂内容1160输出给加密处理部件1106。
加密处理部件1106从单元生成部件1105接收分裂内容1160,通过利用内容密钥CK对组成收到的分裂内容1160的各个分裂文件的每一个单元进行加密,来产生已加密分裂内容1210(步骤S1026)。
下一步,加密处理部件1106通过从每一个已加密分裂文件提取已加密单元来产生c个已加密文件,并且将这些已加密文件放在一起形成已加密内容1330(步骤S1027)。下一步,加密处理部件1106在将已加密内容1330输出给记录部件1114的同时,将已加密分裂内容1210输出给报头信息生成部件1107。
报头信息生成部件1107从加密处理部件1106接收已加密分裂内容1210。报头信息生成部件1107将组成已加密分裂内容1210的每一个已加密分裂文件中包括的已加密单元赋予散列函数来计算单元散列值,并且产生c个第一散列表(步骤S1028)。
下一步,报头信息生成部件1107关于每一个第一散列表基于第一散列表计算文件散列值,并且产生包括c个计算出来的文件散列值在内的第二散列表1269(步骤S1029)。
下一步,报头信息生成部件1107产生报头信息1260,这些报头信息1260包括所产生的第二散列表1269和c个第一散列表(步骤S1031)。
签名信息生成部件1111从签名密钥存储部件1112读取签名密钥1113(步骤S1032),并且通过利用读取的签名密钥1113,将签名生成算法应用于第二散列表1269和单元拾取信息,来产生签名信息(步骤S1033)。
记录部件1114将密钥块1150、单元信息1200、报头信息1260、签名信息1310和已加密内容1330写入DVD1500(步骤S1034)。
1.5.2执行装置1600的工作状况图23说明签名信息的验证过程中涉及的信息制造处理。为了描述方便,考虑到报头信息1550,在图中只画出了第一散列表中包括的单元散列值和第二散列表中包括的文件散列值。图24和25是说明执行装置1600工作状况的流程图。注意,图23到25中相同的步骤编号表示相同的处理。
下面在图23到25的帮助下说明执行装置1600的工作状况。
装载了DVD1500的时候,获取部件1601从DVD1500读取密钥块1510、单元拾取信息1530和签名信息1570,并且将密钥块1510输出给内容密钥获取部件1602,同时将单元拾取信息1530和签名信息1570输出给签名信息验证部件1611(步骤S1041)。
签名信息验证部件1611接收单元拾取信息1530和签名信息1570,利用随机数选择单元拾取信息1530中包括的c个文件标识符中的i个(步骤S1046)。
在步骤S1047到S1057里,签名信息验证部件1611关于被选i个文件标识符中的每一个重复步骤S1048到S1056的处理,产生i个被替换第一散列表。
签名信息验证部件1611从单元信息提取与被选文件标识符中的一个对应的单元数(步骤S1048)。接下来,签名信息验证部件1611产生随机数t,它是1或者更大,小于或等于读取的单元数(步骤S1049)。签名信息验证部件1611从单元信息提取与被选文件标识符对应的一则文件标识信息,并且基于提取的单元标识信息,从DVD1500读取与被选文件标识符对应的已加密文件中的第t个已加密单元(步骤S1051)。在图23中,每次重复以上处理的时候,签名信息验证部件1161都顺序读取已加密文件1581中包括的已加密单元1511;已加密文件1583中包括的已加密单元1512;……;以及已加密文件1587中包括的已加密单元1513。
签名信息验证部件1611通过将读取的已加密单元赋予散列函数来计算替换单元散列值(步骤S1052)。
下一步,签名信息验证部件1611从DVD1500读取对应于被选文件标识符的第一散列表(步骤S1054),并且通过利用计算出来的替换单元散列值替换与计算出来的替换单元散列值相对应的单元散列值来产生被替换第一散列表(步骤S1056)。在图32中,每次重复上述处理的时候,签名信息验证部件1611从已加密单元1511和第一散列表1551产生被替换第一散列表1631;从已加密单元1512和第一散列表1553产生被替换第一散列表1633;……;并且从已加密单元1513和第一散列表1557产生被替换第一散列表1637。
为所有i个文件标识符完成了步骤S1047到S1057的重复以后,签名信息验证部件1611通过一个一个地将被替换第一散列表赋予散列函数来计算i个替换文件散列值(步骤S1059)。
下一步,签名信息验证部件1611从DVD1500读取第二散列表1556(步骤S1061),并且通过利用计算出来的i个文件散列值替换与被选i个文件标识符相对应的文件散列值来产生被替换第二散列表1639(步骤S1063)。在图23中,所产生的被替换第二散列表1639包括从被替换第一散列表1631计算出来的替换文件散列值1641;从DVD1500读取的文件散列值1572;从被替换第一散列表1633计算出来的替换文件散列值1643;……;以及从被替换第一散列表1637计算出来的替换文件散列值1647。
下一步,签名信息验证部件1611从验证密钥存储部件1612读取验证密钥1613(步骤S1064),并且利用单元拾取信息1530、所产生的被替换第二散列表以及读取的验证密钥1613来验证签名信息1570(步骤S1066)。
当签名信息的验证成功的时候(步骤S1067是),签名信息验证部件1611结束签名信息1570的验证。
如果签名验证不成功(步骤S1067否),签名信息验证部件1611就将回放禁止信息输出给执行部件1606(步骤S1073)。
内容密钥获取部件1602接收密钥块1510,从装置密钥存储部件1604读取装置标识符1608和装置密钥1609(步骤S1071)。然后,内容密钥获取部件1602从读取的装置标识符1608、装置密钥1609和密钥块1510产生内容密钥CK,并且将产生出来的内容密钥CK输出给执行部件1606(步骤1072)。
执行部件1606接收内容密钥CK。在这里,如果已经从签名信息验证部件1611收到回放禁止信息(步骤S1074是),执行部件1606就通知用户DVD1500上储存的内容的回放实际上不可能(步骤S1076),并且结束回放。
如果还没有收到回放禁止信息(步骤S1074否),执行部件1606就从DVD1500读取组成已加密内容1580的已加密文件(步骤S1077)。执行部件1606首先通过利用内容密钥CK对读取的已加密文件进行解密来产生文件(步骤S1079),然后通过扩展所产生的文件来产生视频和音频数据(步骤S1081)。然后,执行部件1606分别从所产生的视频和音频数据产生视频和音频信号,将这些信号输出给监视器1400,并且让监视器1400播放这些视频和音频(步骤S1082)。已经完成全部已加密文件的读取,或者通过用户进行的操作得到指令结束回放的时候(步骤S1084是),执行部件1606结束回放。
如果仍然有已加密文件还没有被读取,并且执行部件1606还没有从用户收到结束回放的指令,执行部件1606就返回步骤S1074,并且重复步骤1074到S1084的处理。
1.6综述和有益效果如同已经描述的一样,在本实施例中,DVD1500储存包括c个已加密文件的已加密内容,已加密文件中的每一个已加密文件都包括多个已加密单元;包括在多个已加密单元基础之上产生的c个第一散列表和第二散列表的报头信息;以及基于第二散列表产生的签名信息。
在开始已加密内容的读出、解密、回放的同时,执行装置1600利用随机数随机地选择i个已加密单元,并且在所选择的i个已加密单元的基础之上计算替换单元散列值和替换文件散列值。
下一步,执行装置1600从DVD读取第二散列表,并且通过从读取的第二散列表中包括的文件散列值中利用计算出来的替换文件散列值替换与计算出来的替换文件散列值相对应的文件散列值,产生被替换的第二散列表。然后,执行装置1600利用被替换第二散列表验证签名信息。如果验证不成功,执行装置1600就退出内容的回放。
于是,通过将为了验证签名信息而新计算出来的单元散列值的数量限制到i个,就能够减少签名信息验证中涉及的计算量,这会降低内容回放过程中的处理负荷。
此外,通过利用第一和第二散列表组成的两层结构对签名信息进行验证,执行装置1600能够减少从DVD1500读出的信息的量。更加具体地说,在本发明的第一实施例中,根本不需要读取与没被选中的文件信息相对应的第一散列表。因此,能够缩短读取信息所需要的时间。
另外,在第一实施例中读取对应于被选文件信息的第一散列表。但是,从构成与被选文件信息相对应的第一散列表的组件中,只能读取与计算出来的替换单元散列值相对应的单元散列值以外的组件。对于第二散列表的读取也是这样。在这里,可以进一步减少从DVD1500读取的信息的量。
通过利用从已加密单元产生的被替换散列值对签名信息进行验证,可以一次完成是否包括未授权内容的验证和是否利用合法权利持有人拥有的签名密钥产生签名信息的验证。
在验证处理中,如果将DVD1500的全部或部分已加密内容替换成未授权内容,那么第一实施例很有可能检测出未授权内容,因为只是随机地选择了i个已加密单元用于使用。
在这里,具体的说明是在已加密内容的一半已经被重新写入未授权内容这一假设的基础之上提供的。所选单个已加密单元是分发装置1100产生的有效已加密单元的概率是1/2。例如,在选择七个已加密单元并且进行所述验证的时候,所有被选的七个已加密单元是有效的已加密单元的概率是(1/2)7=1/128。也就是说,在这种情况下,不能检测到未授权内容的概率小于1%。在这里,第一实施例充当一个威慑力量(acts as a deterrent)来防止用未授权内容替换合法权利持有人分发的内容的一部分并且分发这一内容的欺骗行为。
1.7第一实施例的变型在第一实施例中,分发装置1100将组成获得的内容的每一个文件分裂成一些单元,然后对每个单元加密。但是,分发装置1100可以针对每个文件进行加密以产生已加密文件,并且通过分裂每一个已产生的已加密文件来产生已加密单元。在这种情况下,执行装置1600的执行部件1606从DVD1500读取已加密内容,针对每一个已加密文件对读取的已加密内容进行解密,并且播放已解密内容。
下面在图26的帮助下描述本变型的分发装置1100b。
分发装置1100b由以下部件组成输入部件1101b、内容密钥生成部件1102、密钥块生成部件1103、执行装置信息存储部件1104、单元生成部件1105b、加密处理部件1106b、报头信息生成部件1107、签名信息生成部件1111、签名密钥存储部件1112和记录部件1114。
由于内容密钥生成部件1102、密钥块生成部件1103和执行装置信息存储部件1104、报头信息生成部件1107、签名信息生成部件1111、签名密钥存储部件1112和记录部件1114与第一实施例中的一样,因此省去了对这些组件的描述。
另外,由于输入部件1101b与第一实施例的输入部件1101相同,只有是输出内容给加密处理部件而不是输出给单元生成部件除外,因此也省去了对它的描述。
1.7.1加密处理部件1106b加密处理部件1106b从内容密钥生成部件1102接收内容密钥CK。
加密处理部件1106从输入部件1101b接收内容。在这里,内容由文件CNT1、CNT2、……、CNTc组成,如同图3所示的内容1120那种情形一样。
接收内容的时候,加密处理部件1106通过利用内容密钥CK对收到的内容中包括的文件CNT1应用加密算法E1来产生已加密文件ECT1。
加密处理部件1106对文件CNT2到CNTc进行同样的处理,产生已加密文件ECNT2到ECNTc。
下一步,加密处理部件1106将所产生的已加密文件ECNT1、ECNT2、ECNT3、……、ECNTc组成的已加密内容输出给单元生成部件1105b和记录部件1114b。
1.7.2单元生成部件1105b单元生成部件1105b从加密处理部件1106b接收已加密内容。接收已加密内容的时候,单元生成部件1105b产生与收到的已加密内容中包括的已加密文件ECNT1相对应的文件标识符FID1和所述则文件标识信息AD1。
下一步,单元生成部件1105b将已加密文件ECNT1分裂成每一个都是64kB的来产生m个已加密单元。在这一点上,如果最后的已加密单元小于64kB,就用“000……000”这样的数据补充已加密单元。
下一步,单元生成部件1105b产生表明所产生的已加密单元数量的一个数N1,然后产生由所产生的文件标识符FID1、一则文件标识信息AD1和单元数N1组成的文件信息。
下一步,单元生成部件1105b产生分别与所产生的m个已加密单元EU1_1、EU1_2、EU1_3、……、EU1_m相对应的单元标识符UID1_1、UID1_2、UID1_3、……、UID1_m。接下来,单元生成部件1105b通过将对应的已加密单元与单元标识符配对来形成m则已加密单元信息。
下一步,单元生成部件1105b将m则已加密单元信息放在一起来形成已加密分裂文件SplECNT1。
单元生成部件1105b针对已加密内容中包括的已加密文件ECNT2、ECNT3、……、ECNTc的剩余部分以及其余则文件信息重复同样的处理,来产生已加密分裂文件Spl1ECNT2、Spl1ECNT3、……、Spl1ECNTc。然后,单元生成部件1105b将所产生的c个已加密分裂文件SplECNT1、SplECNT2、……、SplECNTc输出给报头信息生成部件1107b作为已加密分裂内容。
另外,单元生成部件1105b产生由c则文件信息组成的单元拾取信息,并且将所产生的单元拾取信息输出给记录部件1114和签名信息生成部件1111b。
2.第二实施例下面在附图的帮助下描述本发明的第二实施例。
2.1未授权内容检测系统第二实施例的未授权内容检测系统由分发装置、执行装置和监视器组成,如同在第一实施例的未授权内容检测系统1中一样。
分发装置根据操作员进行的操作获取内容,并且通过加密所获得的内容来产生已加密内容。另外,分发装置提取这些内容的一部分,并且基于提取的这一部分内容(以后叫做代表性的部分内容)产生信息,例如用于检测内容中是否包括未授权内容的报头信息,用于证明内容是由合法权利持有人发布(issued)的的签名信息,等等。分发装置将产生的已加密内容、签名信息等等写入DVD。
DVD将通过分发渠道出售或者分发给用户。
装载有DVD的时候,执行装置从装载的DVD中储存的已加密内容产生代表性的部分内容,并且基于所产生的代表性的部分内容来验证签名信息和报头信息。如果验证成功,执行装置就开始回放这些内容。当验证不成功的时候,执行装置禁止内容回放。
下面将详细描述组成本实施例的未授权内容检测系统的各个装置以及DVD。
2.2分发装置2100图27说明构成本实施例的未授权内容检测系统中分发装置的结构。如图27所示,分发装置2100由输入部件2101、内容密钥生成部件2102、密钥块生成部件2103、执行装置信息存储部件1104、选择部件2105、报头信息生成部件2107、签名信息生成部件2108、签名密钥存储部件1112、加密处理部件2109和记录部件2114组成。
下面详细描述组成分发装置2100的各个组件。注意,由于执行装置信息存储部件1104和签名密钥存储部件1112与第一实施例中的相同,因此省去了对这些组件的描述。
2.2.1输入部件2101输入部件2101根据操作员的操作从外部装置或者外部记录介质获取内容和多则识别信息。
图28说明输入部件2101获得的内容和标识信息的结构实例。内容2120由c项部分内容CNT1 2121、CNT2 2122、CNT3 2123、……、CNTc 2127组成。在这里,输入部件2101获得的内容2120是用于执行装置2600的可播放格式的(如同下面将详细描述的一样),并且DVD视频格式和MPEG-2格式是这种可播放格式的实例。
每一则标识信息是独一无二地表明构成内容2120的部分内容之一的信息,并且是例如来自内容的首部、扇区号的部分内容的对应项的偏移,或者是通过引用内容首部指定的部分内容的所述项的回放起始点。例如,一则标识信息AD1 2131与部分内容CNT1 2121相对应,部分内容CNT1 2121的首部位于来自内容2120的首部的AD1。
输入部件2101将获得的内容2120和c则标识信息输出给内容密钥生成部件2102。
2.2.2内容密钥生成部件2102内容密钥生成部件2102从输入部件2101接收内容2120和c则标识信息。接收内容2120和c则标识信息的时候,内容密钥生成部件2102产生伪随机数,并且利用产生的伪随机数产生128比特长度的内容密钥CK。替换伪随机数,也可以利用例如信号上的噪声产生真实的随机数。
下一步,内容密钥生成部件2102将所产生的内容密钥CK、收到的内容2120和c则标识信息输出给密钥块生成部件2103和加密处理部件2109。
2.2.3密钥块生成部件2103密钥块生成部件2103从内容密钥生成部件2102接收内容密钥CK、内容2120和c则标识信息。接收内容密钥CK的时候,密钥块生成部件2103通过利用执行装置信息存储部件1104中储存的装置标识表1130和收到的内容密钥CK产生密钥块。由于产生密钥块的程序与第一实施例中的一样,因此省去了对它的描述。另外,在这里产生的密钥块具有与图5所示的密钥块1150一样的结构。
下一步,密钥块生成部件2103向选择部件2105输出所产生的密钥块以及收到的内容密钥CK、内容2120和c则标识信息。
2.2.4选择部件2105图29说明选择部件2105进行的处理的概要。下面在图29的帮助下描述选择部件2105。
选择部件2105从密钥块生成部件2103接收密钥块、内容密钥CK、内容2120和c则标识信息。接收这些组信息的时候,选择部件2105从收到的c则标识信息中选择k则。在这里的描述中假设k=3。
关于选择方法,可以选择k则,例如通过利用随机数,或者从日期、温度等等。也可以设计成从操作员接受选择。如果内容2120是MPEG格式的,那么可以选择表明图像内(intra pictures)的多则标识信息。另外,选择部件2105可以预存标识要选择的k则的信息,或者可以响应来自操作员的指令进行选择。
如图29所示,这里的选择部件2105选择多则标识信息AD32133、AD7 2134和ADc 2137。
下一步,选择部件2105提取与选自收到的内容2120的所述则标识信息AD3 2133相对应的一项部分内容CNT3,并且产生由所选择的一则标识信息AD3 2133和所提取的一项部分内容CNT3组成的一则代表性的信息2141。在这里,所选择的一项部分内容叫做“一项代表性的部分内容”。
选择部件2105为多则标识信息AD7 2134和ADc 2137重复同一种处理,以产生多则代表性的信息2142和2143。
下一步,选择部件2105向报头信息生成部件2107输出所产生的三则代表性的信息2141、2142和2143;收到密钥块、内容密钥CK和内容2120。
2.2.5报头信息生成部件2107报头信息生成部件2107从选择部件2105接收三则代表性的信息2141、2142和2143,密钥块、内容密钥CK和内容2120。
接收这些内容的时候,报头信息生成部件2107产生独一无二地标识收到的所述则代表性的信息2141的标识信息标识符ADID1。产生标识信息标识符的方法包括例如顺序赋予自然数和利用随机数的随机赋予。
下一步,报头信息生成部件2107从收到的所述则代表性的信息2141提取所述则标识信息AD3,并且产生由所产生的标识信息标识符ADID1和所述则标识信息AD3组成的一则代表性的检测信息。
随后,报头信息生成部件2107从收到的所述则代表性的信息2141提取所述则代表性的部分内容CNT3,并且通过将提取出来的代表性的部分内容CNT3赋予散列函数来产生部分散列值HA3。报头信息生成部件2107产生由所产生的标识信息标识符ADID1和部分散列值HA3组成的一则代表性的散列信息。
报头信息生成部件2107为所述则代表性信息2142和2143重复同样的处理,并且产生多则代表性的检测信息和代表性的散列信息。报头信息生成部件2107产生由所产生的三则代表性的检测信息组成的被选位置信息。
图30说明在这一点产生的被选位置信息的结构。被选位置信息2160由多则代表性的检测信息2161、2162和2163组成,这些信息分别对应于所述则代表性的信息2141、4142和2143。每一则代表性的检测信息都由标识信息标识符和一则标识信息组成。作为一个实例,所述则代表性的检测信息2161对应于所述则代表性的信息2141,并且包括标识信息标识符AID1 2171和一则标识信息AD3 2176。
另外,报头信息生成部件2107产生由所产生的三则代表性的散列信息组成的报头信息。
图31说明在这一点产生的报头信息的结构。如图31所示,报头信息2200由多则代表性的散列信息2201、2202和2203组成,这些信息分别与所述则代表性的检测信息2161、2162和2163相对应。
每一则代表性的散列信息包括标识信息标识符和部分散列值。例如,所述则代表性的散列信息2201是基于所述则代表性的信息2141产生的,并且包括标识信息标识符ADID1 2211和部分散列值HA3。
下一步,报头信息生成部件2107向签名信息生成部件2108输出所产生的被选位置信息2160、报头信息2200和收到的密钥块、内容密钥CK和内容2120。
2.2.6签名信息生成部件2108签名信息生成部件2108从报头信息生成部件2107接收被选位置信息2160、报头信息2200、密钥块、内容密钥CK和内容2120。接收这些组信息的时候,签名信息生成部件2108提取收到的报头信息2200中包括的部分散列值HA3、HA5和HAc。
下一步,签名信息生成部件2108从签名密钥存储部件1112读取签名密钥1113。通过将签名生成算法S赋予利用签名密钥1113的读取将提取的部分散列值HA3、HA5和HAc组合起来形成的组合结果,签名信息生成部件2108产生签名信息。
下一步,签名信息生成部件2108将产生的签名信息和收到的被选位置信息2160、报头信息2200、密钥块、内容密钥CK和内容2120输出给加密处理部件2109。
2.2.7加密处理部件2109加密处理部件2109从签名信息生成部件2108接收签名信息、被选位置信息2160、报头信息2200、密钥块、内容密钥CK和内容2120。
接收这些组信息的时候,通过将加密算法E1分别应用于构成收到的内容2120的所述项部分内容CNT1、CNT2、CNT3、……、CNTc,加密处理部件2109利用收到的内容密钥CK产生多项已加密部分内容ECNT1、ECNT2、ECNT3、……、ECNTc。所产生的多项已加密部分内容ECNT1、ECNT2、ECNT3、……、ECNTc统称为已加密内容。在这里,可以将加密内容表示为ECNTb=Enc(CK,CNTb),其中b是c或者更小的自然数。图32说明在这一点产生的已加密内容2220的结构。
随后,加密处理部件2109通过将加密算法E1应用于收到的被选位置信息,利用收到的内容密钥CK来产生已加密被选位置信息。
下一步,加密处理部件2109将所产生的已加密内容2220和已加密被选位置信息以及收到的签名信息、报头信息2200和密钥块输出给记录部件2114。
2.2.8记录部件2114记录部件2114能够装载DVD。
记录部件2114从加密处理部件2109接收已加密内容2220、已加密被选位置信息、签名信息、报头信息2200和密钥块,并且将收到的已加密内容2220、已加密被选位置信息、签名信息、报头信息2200和密钥块写入DVD。
2.3DVD2500如图33所示,DVD2500储存密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580。
密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580已经由分发装置2100写入,这些组件的结构如同上面所述的一样。
2.4执行装置2600
如图34所示,执行装置2600由以下部件组成获取部件2601、内容密钥获取部件2602、装置密钥存储部件1604、位置信息解密部件2606、签名信息验证部件2611、验证密钥存储部件1612、代表性的部分内容解密部件2616、报头信息验证部件2617和执行部件2618。
下面详细描述构成执行装置2600的各个组件。注意,由于装置密钥存储部件1604和验证密钥存储部件1612与构成第一实施例的执行装置1600的那些一样,因此省去了对这些组件的描述。
2.4.1获取部件2601获取部件2601装载DVD2500。检测到DVD2500被装载到它上面的时候,获取部件从DVD2500读取密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580。获取部件2601将读取的密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580输出给内容密钥获取部件2602。
2.4.2内容密钥获取部件2602内容密钥获取部件2602从获取部件2601接收密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580。
收到这些组信息的时候,内容密钥获取部件2602利用装置标识符AID_p和装置密钥存储部件1604储存的装置密钥DK_p以及收到的密钥块产生内容密钥CK。产生内容密钥CK的程序与构成第一实施例的执行装置1600的内容密钥获取部件1602所执行的内容密钥CK的产生程序一样,因此省去了对它的描述。
下面,内容密钥获取部件2602将所产生的内容密钥CK,以及收到的已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580输出给位置信息解密部件2606。
2.4.3位置信息解密部件2606位置信息解密部件2606从内容密钥获取部件2602接收内容密钥CK、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580。
接收这些组信息的时候,位置信息解密部件2606通过将解密算法D1应用于收到的已加密被选位置信息2530,利用收到的内容密钥CK产生被选位置信息。在这一点产生的被选位置信息与图30所示被选位置信息2160一样具有相同的结构。
下一步,位置信息解密部件2606将所产生的被选位置信息以及收到的内容密钥CK、报头信息2550、签名信息2570和已加密内容2580输出给签名信息验证部件2611。
2.4.4签名信息验证部件2611签名信息验证部件2611从位置信息解密部件2606接收被选位置信息、内容密钥CK、报头信息2550、签名信息2570和已加密内容2580。
接收这些组信息的时候,签名信息验证部件2611从验证密钥存储部件1612读取验证密钥。接下来,签名信息验证部件2611分别从构成收到的报头信息2550的三则代表性的散列信息提取部分散列值HA3、HA7和HAc,并且通过利用读取的验证密钥将签名验证算法V应用于将所提取的部分散列值HA3、HA7和HAc组合起来形成的组合结果产生签名验证信息。签名信息验证部件2611将所产生的签名验证信息和收到的签名信息进行比较。当这两者不一致的时候,签名信息验证部件2611判定签名验证不成功,并退出后面的处理。
当这两者一致的时候,签名信息验证部件2611判定签名验证成功,并且将收到的被选位置信息、内容密钥CK、报头信息2550和已加密内容2580输出给代表性的部分内容解密部件2616。
2.4.5代表性的部分内容解密部件2616代表性的部分内容解密部件2616从签名信息验证部件2611接收被选位置信息、内容密钥CK、报头信息2550和已加密内容2580。
接收这些组信息的时候,代表性的部分内容解密部件2616提取构成收到的被选位置信息的第一代表性检测信息中包括的标识信息标识符ADID1和对应则标识信息AD3,并且进一步基于提取出来的所述则标识信息AD3从收到的已加密内容2580提取一项已加密部分内容ECNT3。下一步,代表性的部分内容解密部件2616通过将解密算法D1应用于提取出来的已加密部分内容ECNT3,利用收到的内容密钥CK产生所述项代表性的部分内容CNT3。在这里,将所产生的所述项代表性的部分内容CNT3和所提取的所述则标识信息标识符ADID1这一对叫做“一则验证代表性信息”。
下一步,代表性的部分内容解密部件2616为其余则代表性的检测信息重复同一种处理,以产生由标识信息标识符ADID2和所述项代表性的部分内容CNT7组成的一则代表性信息以及由标识信息标识符ADID3和所述项代表性部分内容CNTc组成的一则验证代表性信息。
下一步,代表性的部分内容解密部件2616将所产生的三则验证代表性信息和收到的内容密钥CK、报头信息2550和已加密内容2580输出给报头信息验证部件2617。
2.4.6报头信息验证部件2617报头信息验证部件2617从代表性的部分内容解密部件2616接收三则验证代表性的信息、内容密钥CK、报头信息2550和已加密内容2580。
接收这些组信息的时候,报头信息验证部件2617通过分别将收到的三则验证代表性的信息里包括的所述项代表性的部分内容CNT3、CNT7和CNTc赋予所述散列函数,产生验证散列值H3、H7和Hc。这里使用的散列函数与分发装置2100的报头信息生成部件2107里使用的一样。
下一步,报头信息验证部件2617在报头信息2550中搜索与对应则验证代表性的信息里包括的标识信息标识符ADID1一致的标识信息标识符,并且提取与检测到的标识信息标识符相对应的部分散列值HA3。然后,报头信息验证部件2617比较所提取的部分散列值HA3和所产生的验证散列值H3。
另外,报头信息验证部件2617基于对应则验证代表性的信息里包括的标识信息标识符ADID2,从报头信息2550提取部分散列值HA7,并且比较所提取的部分散列值HA7和所产生的验证散列值H7。
报头信息验证部件2617基于对应则验证代表性的信息中包括的标识信息标识符ADIDc,从报头信息2550提取部分散列值HAc,并且比较所提取的部分值HAc和所产生的验证散列值Hc。
比较这三对中的每一对,并且有一对互相不同的时候,报头信息验证部件2617就退出后面的处理。
当上面三对的比较中所有三对都相符的时候,报头信息验证部件2617就判定报头信息2550的验证是成功的,并且将收到的内容密钥CK和已加密内容2580输出给执行部件2618。
2.4.7执行部件2618执行部件2618从报头信息验证部件2617接收内容密钥CK和已加密内容2580。
接收这些组信息的时候,执行部件2618通过将解密算法D1应用于组成收到的已加密内容2580的已加密的一些项部分内容ECNT1、ECNT2、ECNT3、……、ECNTc中的每一项,利用收到的内容密钥CK产生由一些项部分内容CNT1、CNT2、CNT3、……、CNTc组成的内容。
下一步,执行部件2618扩展所产生的内容来产生视频和音频数据,并且从所产生的视频和音频数据产生视频和音频信号。执行部件2618将所产生的视频和音频信号输出给监视器。
2.5分发装置2100和执行装置2600的工作状况下面描述分发装置2100和执行装置2600的工作状况。
2.5.1分发装置2100的工作状况下面在图35所示流程图的帮助下描述分发装置2100的工作状况。
输入部件2101接收由c项部分内容和c则标识信息组成的内容2120(步骤S2011),并且将收到的内容2120和标识信息输出给内容密钥生成部件2102。
内容密钥生成部件2102接收内容2120和c则标识信息,并且产生内容密钥(步骤S2012)。
密钥块生成部件2103从内容密钥生成部件2102接收内容密钥、内容2120和c则标识信息,并且从执行装置信息存储部件1104读取装置标识符和装置密钥(步骤S2013)。密钥块生成部件2103通过利用读取的装置标识符和装置密钥来产生密钥块(步骤S2014),并且将所产生的密钥块、收到的内容密钥、内容2120和c则标识信息输出给选择部件2105。
选择部件2105接收密钥块、内容密钥、内容2120和标识信息,并且通过从收到的内容2120选择k项代表性的部分内容产生k则代表性的信息(步骤S2016)。然后,选择部件2105将所产生的k则代表性的信息和收到的内容密钥和内容2120输出给报头信息生成部件2107。
报头信息生成部件2107从选择部件2105接收k则代表性的信息、内容密钥和内容2120,并且从收到的k则代表性的信息产生被选位置信息2160和报头信息2200(步骤S2018)。下一步,报头信息生成部件2107将所产生的被选位置信息2160和报头信息2200以及收到的密钥块、内容密钥和内容2120输出给签名信息生成部件2108。
接下来,签名信息生成部件2108从报头信息生成部件2107接收被选位置信息2160、报头信息2200、密钥块、内容密钥和内容2120。接收这些组信息的时候,签名信息生成部件2108从签名密钥存储部件1112读取签名密钥1113(步骤S2019),并且从读取的签名密钥1113和报头信息2200产生签名信息(步骤S2021)。下一步,签名信息生成部件2108将所产生的签名信息和收到的密钥块、被选位置信息2160、报头信息2200、内容密钥和内容2120输出给加密处理部件2109。
加密处理部件2109从签名信息生成部件2108接收签名信息、密钥块、被选位置信息2160、报头信息2200、内容密钥和内容2120,并且通过利用收到的内容密钥对被选位置信息2160进行加密来产生已加密被选位置信息(步骤S2022)。接下来,加密处理部件2109通过利用内容密钥加密内容2120来产生已加密内容(步骤S2023),然后将所产生的已加密被选位置信息和已加密内容以及收到的密钥块、签名信息和报头信息2200输出给记录部件2114。
记录部件2114将从加密处理部件2109收到的密钥块、已加密被选位置信息、报头信息2200、签名信息和已加密内容写入DVD2500(步骤S2024)。
2.5.2执行装置2600的工作状况下面在图36所示流程图的帮助下描述执行装置2600的工作状况。
装载了DVD2500的时候,获取部件2601从DVD2500读取密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580(步骤S2041)。然后,获取部件2601将读取的密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580输出给内容密钥获取部件2602。
从获取部件2601接收密钥块2510、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580的时候,内容密钥获取部件2602从装置密钥存储部件1604读取装置标识符和装置密钥(步骤S2042)。内容密钥获取部件2602从读取的装置标识符和装置密钥以及收到的密钥块2510产生内容密钥(步骤S2043)。内容密钥获取部件2602将所产生的内容密钥和收到的已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580输出给位置信息解密部件2606。
位置信息解密部件2606从内容密钥获取部件2602接收内容密钥、已加密被选位置信息2530、报头信息2550、签名信息2570和已加密内容2580,并且通过利用收到的内容密钥对已加密被选位置信息2530进行解密来产生被选位置信息(步骤S2044)。下一步,位置信息解密部件2606将所产生的被选位置信息和收到的内容密钥、报头信息2550、签名信息2570和已加密内容2580输出给签名信息验证部件2611。
签名信息验证部件2611从位置信息解密部件2606接收被选位置信息、内容密钥、报头信息2550、签名信息信息2570和已加密内容2580,并且从验证密钥存储部件1612读取验证密钥(步骤S2046)。然后,签名信息验证部件2611通过利用读取的验证密钥和收到的报头信息2550验证签名信息2570(步骤S2048)。签名信息2570的验证不成功的时候(步骤S2049否),签名信息验证部件2611退出执行装置2600中的随后处理。
当签名信息2570的验证成功的时候(步骤S2049是),签名信息验证部件2611将收到的被选位置信息、内容密钥、报头信息2550和已加密内容2580输出给代表性的部分内容解密部件2616。
代表性的部分内容解密部件2616从签名信息验证部件2611接收被选位置信息、内容密钥、报头信息2550和已加密内容2580,并且基于收到的被选位置信息、已加密内容2580和内容密钥产生k则代表性的部分内容(步骤S2051)。然后,代表性的部分内容解密部件2616产生由对应项代表性部分内容和标识信息标识符组成的k则验证代表性的信息(步骤S2052),并且将所产生的k则验证代表性的信息和收到的内容密钥、报头信息2550和已加密内容2580输出给报头信息验证部件2617。
报头信息验证部件2617从代表性的部分内容解密部件2616接收k则验证代表性的信息、内容密钥、报头信息2550和已加密内容2580,并且通过利用收到的k则验证代表性的信息验证报头信息2550(步骤S2054)。如果验证不成功(步骤S2056否),报头信息验证部件2617就退出后面的处理。
当所述验证成功的时候(步骤S2056是),报头信息验证部件2617就将收到的内容密钥和已加密内容2580输出给执行部件2618。
从报头信息验证部件2617接收内容密钥和已加密内容2580的时候,执行部件2618通过利用收到的内容密钥对已加密内容2580进行解密来产生内容(步骤S2057),扩展所产生的内容(步骤S2058),并且让监视器播放这些内容(步骤S2059)。
2.6综述和有益结果如同已经描述的一样,在第二实施例中,分发装置2100只利用来自组成所述内容的c项部分内容的k项代表性的部分内容产生报头信息,并且进一步通过将签名生成算法应用于所述报头信息来产生签名信息。
执行装置2600通过基于被选位置信息产生k项代表性的部分内容,并且利用所产生的k项代表性的部分内容验证报头信息,来验证是否包括未授权内容。当验证成功的时候,判定没有包括任何未授权内容,执行装置2600开始内容回放。
因此,只利用组成内容的c项部分内容中的k则来验证报头信息能够减少执行装置2600进行验证的处理负荷。
更进一步,还可能减少分发装置2100中报头信息的产生中所涉及的处理负荷。
3.第三实施例下面描述本发明第三实施例中的未授权内容检测系统。
3.1未授权内容检测系统第三实施例中的未授权内容检测系统由分发装置、执行装置和监视器组成,如同第一实施例中的未授权内容检测系统中一样。
分发装置根据操作员的操作获取内容,并且通过对获取的内容加密来产生已加密内容。
另外,分发装置提取内容的一部分,并且基于提取的内容的一部分(以后将它叫做“一项代表性的部分内容”)产生信息,比如用于检测内容中是否包括未授权内容的报头信息,用于证明内容是由合法权利持有人颁布的的签名信息,等等。分发装置重复一项代表性的部分内容的提取,一则报头信息的产生,以及一则签名信息的产生,来产生多则报头信息和签名信息,并且将所产生的已加密内容和多则报头信息和签名信息写入DVD。
通过分发渠道将DVD售出,分发给用户。
执行装置从DVD上记录的多则签名信息和多则报头信息选择一则,并且验证被选的多则签名和报头信息。
下面详细描述组成本实施例的未授权内容检测系统的各个装置和DVD。
3.2分发装置3100图37说明本实施例中分发装置的结构。如图37所示,分发装置3100由输入部件2101、内容密钥生成部件2102、密钥块生成部件2103、执行装置信息存储部件1104、选择部件3105、报头信息生成部件3107、签名信息生成部件3108、签名密钥存储部件1112、加密处理部件3109和记录部件3114组成。输入部件2101、内容密钥生成部件2102、密钥块生成部件2103、执行装置信息存储部件1104和签名密钥存储部件1112与第二实施例中的一样,因此在这里省去了对这些组件的描述。
3.2.1选择部件3105选择部件3105预存迭代次数x(x是一个大于或等于2的整数)。
选择部件3105从密钥块生成部件2103接收密钥块、内容密钥CK、内容和c则标识信息。接收密钥块、内容密钥CK、内容和c则标识信息的时候,选择部件3105按照与第二实施例中选择部件2105一样的方式产生k则代表性的信息。
选择部件3105重复同一种处理x次来产生x组k则代表性信息。在这里,将第一组代表性的信息叫做第一代表性的组,而第二组、……、第x组代表性的信息则分别叫做第二代表性的组和第x代表性的组。这里的一个具体实例是所有第一到第x个代表性的组都分别由k则代表性的信息组成,但是,组与组之间代表性的信息的则数可以不同。
下一步,选择部件3105将所产生的第一、第二、……、第x个代表性的组以及收到的密钥块、内容密钥CK和内容输出给报头信息生成部件3107。
3.2.2报头信息生成部件3105报头信息生成部件3107从选择部件3105接收第一、第二和第x个代表性的组,密钥块、内容密钥CK和内容。
接收这些组信息的时候,报头信息生成部件3107基于收到的第一代表性的组中包括的k则代表性的信息和内容,产生被选位置信息POS1和报头信息HEAD1。产生被选位置信息和报头信息的具体程序与第二实施例的报头信息生成部件2107执行的被选位置信息2160和报头信息2200的产生程序相同,因此,省去了对它的描述。被选位置信息POS1与图30所示的被选位置信息2160一样具有相同结构,而报头信息HEAD1则与图31所示的报头信息2200一样具有相同结构。
下一步,报头信息生成部件3107产生专用于产生的被选位置信息POS1和报头信息HEAD1这一对的一个报头标识符HEADID1。在这里,将所产生的报头标识符HEADID1、一则被选位置信息POS1和一则报头信息HEAD1一起叫做第一报头组。
报头信息生成部件3107针对第二、第三、……、第x个代表性的组重复同样的处理,以产生第二、第三、……、第x个报头组。
下一步,报头信息生成部件3107从第一到第x报头组提取报头标识符,并且产生由所提取的x则报头标识符组成的报头选择信息。
图38给出在这一点产生的报头选择信息的结构的一个实例。报头选择信息3130由x个报头标识符组成,并且这些报头标识符分别对应于第一到第x个报头组。
下一步,报头信息生成部件3107将所产生的报头选择信息3130和第一、第二、……、第x个报头组,以及收到的密钥块、内容密钥CK和内容输出给签名信息生成部件3108。
3.2.3签名信息生成部件3108签名信息生成部件3108从报头信息生成部件3107接收报头选择信息3130和第一、第二、……、第x个报头组,以及密钥块、内容密钥CK和内容。
接收这些组信息的时候,签名信息生成部件3108从签名密钥存储部件1112读取签名密钥1113。
下一步,签名信息生成部件3108利用第一报头组中包括的报头信息HEAD1和读取的签名密钥1113产生一则签名信息Sign1。产生所述则签名信息的具体程序与签名信息生成部件2108执行的一样。
在这里,将术语“第一报头组”重新赋予将所产生的一则签名信息Sign1加到报头标识符HEADID1、一则被选位置信息POS1和一则报头信息HEAD1上去形成的结果。
签名信息生成部件3108针对第二到第x个报头组重复同样的处理来产生多则签名信息,并且通过将所产生的多则签名信息分别加到对应的报头标识符、多则被选位置信息和多则报头信息上去,新形成第二到第x个报头组。
下一步,签名信息生成部件3108将第一、第二、……、第x个报头组,以及收到的报头选择信息3130、密钥块、内容密钥CK以及内容输出给加密处理部件3109。
3.2.4加密处理部件3109加密处理部件3109从签名信息生成部件3108接收第一、第二、……、第x个报头组,报头选择信息3130、密钥块、内容密钥CK以及内容。
加密处理部件3109通过将加密算法E1应用于构成收到的内容的各项部分内容利用收到的内容密钥CK来产生c项已加密部分内容,并且将所产生的c项已加密部分内容放在一起来形成已加密内容。在这一点产生的已加密内容与图32中已加密内容2220一样具有相同的结构。
下一步,加密处理部件3109从第一报头组提取所述则被选位置信息POS1,并且通过将加密算法E1应用于所提取的所述则被选位置信息POS1利用内容密钥CK来产生一则已加密被选位置信息EPOS1。接下来,加密处理部件3109用产生的所述则已加密被选位置信息EPOS1替换第一报头信息组中包括的所述则被选位置信息POS1。在这里,EPOS1=Enc(CK,POS1)。
加密处理部件3109针对第二到第x个报头组进行同样的处理来产生多则已加密被选位置信息,并且用所述多则已加密被选位置信息替换对应的多则被选位置信息。
下一步,加密处理部件3109将第一、第二、……、第x个报头组、所产生的已加密内容以及收到的报头选择信息3130和密钥块输出给记录部件3114。
3.2.5记录部件3114记录部件3114从加密处理部件3109接收第一、第二、……、第x个报头组、已加密内容、报头选择信息3130和密钥块,并且将收到的第一、第二、……、第x个报头组、已加密内容、报头选择信息3130和密钥块写入DVD。
3.3DVD3500图39说明本实施例的DVD记录的信息。
如图39所示,DVD3500储存密钥块3510、报头选择信息3520、第一报头组3530、第二报头组3540、……、第x报头组3560,以及已加密内容3580。
第一报头组3530、第二报头组3540、……、第x报头组3560中的每一个都由报头标识符、一则已加密被选位置信息、一则报头信息和一则签名信息组成。
例如,第一报头组3530由报头标识符HEAD1 3531、一则已加密被选位置信息EPOS1 3532、一则报头信息HEAD1和一则签名信息Sign1 3534组成。
已经由分发装置3100将这些组信息写入DVD3500。每一组信息的结构都和前面提到过的一样,因此这里省去了对它们的描述。
3.4执行装置3600如图40所示,执行装置3600由获取部件3601、内容密钥获取部件2602、装置密钥存储部件1604、位置信息解密部件2606、签名信息验证部件2611、验证密钥存储部件1612、代表性的部分内容解密部件2616、报头信息验证部件2617和执行部件2618组成。
除了获取部件3601以外的组件与构成第二实施例中执行装置2600的内容密钥获取部件2602、装置密钥存储部件1604、位置信息解密部件2606、签名信息验证部件2611、验证密钥存储部件1612、代表性的部分内容解密部件2616、报头信息验证部件2617和执行部件2618一样具有同样的结构和工作状况。因此,这里仅仅描述获取部件3601。
3.4.1获取部件3601检测到上面装载了DVD3500的时候,获取部件3601从DVD3500读取报头选择信息3520。然后,获取部件3601利用一个随机数选择读取的报头信息3520中包括的报头标识符HEADID1、HEADID2、HEADID3、……、HEADIDx中的一个。选择方法不限于这种方法,可以采用任何方法,只要第三方很难预测选择的是哪一个标识符就行。
下一步,获取部件3601从DVD3500上记录的第一、第二、……、第x个报头组中提取包括被选报头标识符的报头组,并且从这个报头组读取一则已加密被选位置信息、一则报头信息以及一则签名信息。
接下来,获取部件3601从DVD3500读取密钥块3510和已加密内容3580,并且将读取的密钥块3510、已加密内容、已加密被选位置信息、报头信息和签名信息输出给内容密钥获取部件2602。
3.5综述和有益效果如上所述,第三实施例的分发装置3100产生x组,每一组都由一则已加密被选位置信息、一则报头信息和一则签名信息组成,执行装置选择x组中的一组,并且通过利用被选组的一则已加密被选位置信息、一则报头信息和一则签名信息来验证是否包括未授权内容。
所以,通过增加验证所使用的代表性的部分内容的则数,能够提高检测未授权内容的准确度。更进一步,很难预测执行装置3600里从第一到第x个报头组选择了哪一个报头组,因此能够防止利用未授权内容仅仅专门替换不用于验证的多则部分内容这种欺骗性行为。
4.第四实施例下面描述本发明第四实施例的未授权内容检测系统。
4.1未授权内容检测系统如同在第一实施例中一样,第四实施例的未授权内容检测系统由分发装置、执行装置和监视器组成。
分发装置按照操作员的操作来获取内容,并且通过对获得的内容进行加密来产生已加密内容。
另外,分发装置将内容分裂成多项部分内容,并且基于所有项部分内容,产生用于验证内容中是否包括未授权内容的报头信息以及用于证明内容是由合法权利持有人颁发的的签名信息。分发装置将所产生的已加密内容、签名信息等等写入DVD。
将通过分发渠道将DVD销售或者分发给用户。
装载了DVD的时候,执行装置从构成内容的多项部分内容中选择一些项,并且只利用所选项部分内容来验证报头信息。
下面将详细描述组成本实施例的未授权内容检测系统的各个装置和DVD。
4.2分发装置4100图41说明第四实施例的分发装置的结构。如图41所示,分发装置4100由输入部件4101、内容密钥生成部件4102、密钥块生成部件4103、执行装置信息存储部件1104、部分内容生成部件4105、报头信息生成部件4107、签名信息生成部件4108、签名密钥存储部件1112、加密处理部件4109和记录部件4114组成。
下面描述构成分发装置4100的各个组件。注意,由于执行装置信息存储部件1104和签名密钥存储部件1112与第一实施例中的一样,因此这里省去了对这些组件的描述。
4.2.1输入部件4101输入部件4101根据分发装置4100的操作员的操作,从外部装置或者外部记录介质获取内容。在这里获得的内容是执行装置4600能够播放的格式(如同后面将详细描述的一样),DVD视频格式和MPEG-2格式都是这种可播放格式的实例。
输入部件4101将获得的内容输出给内容密钥生成部件4102。
4.2.2内容密钥生成部件4102内容密钥生成部件4102从输入部件4101接收内容。接收这些内容的时候,内容密钥生成部件4102产生伪随机数,并且利用所产生的伪随机数产生128比特长的内容密钥CK。替代伪随机数,也可以利用例如信号上的噪声来产生真随机数。
下一步,内容密钥生成部件4102将所产生的内容密钥CK和收到的内容输出给密钥块生成部件4103。
4.2.3密钥块生成部件4103密钥块生成部件4103从内容密钥生成部件4102接收内容密钥CK和内容。接收内容密钥CK和内容的时候,密钥块生成部件4103利用收到的内容密钥CK和执行装置信息存储部件1104中储存的装置标识表来产生密钥块。产生密钥块的具体程序和第一实施例的密钥块生成部件1103执行的相同,因此省去了对它的描述。
下一步,密钥块生成部件4103将所产生的密钥块、收到的内容密钥CK和内容输出给部分内容生成部件4105。
4.2.4部分内容生成部件4105部分内容生成部件4105从密钥块生成部件4103接收密钥块、内容密钥CK和内容。
接收这些组信息的时候,部分内容生成部件4105将收到的内容分裂成c项部分内容CNT1、CNT2、CNT3、……、CNTc。例如,当内容的格式是DVD视频格式的时候,可以将VOB或者VOBU用作分裂单元。另一方面,当内容的格式是MPEG-2格式的时候,可以将GOP(图片组)、字段、帧或者内部图片用作分裂单元。不考虑内容格式,也可以将内容分裂成每个都是64千字节的,或者每一部分对应于回放时间的一秒钟。在这一点产生的c项部分内容一起叫做分裂内容。
下一步,部分内容生成部件4105产生多则标识信息AD1、AD2、AD3、……、ADc,它们分别对应于所产生的n项部分内容。每一则标识信息都是独一无二地标识对应项部分内容的信息,并且是例如通过引用内容的首部,或者是从内容的首部算起的一个偏移指定的所述项部分内容的回放起始点。
图42说明在这一点产生的分裂内容和标识信息。分裂内容4120由c项部分内容CNT1 4121、CNT2 4122、CNT3 4123、……、CNTc4127组成。每一项部分内容对应于一则标识信息。例如,一则标识信息AD1 4131是用于标识所述项部分内容CNT1 4121的信息。
下一步,部分内容生成部件4105将产生的c则标识信息和分裂内容4120,以及收到的密钥块和内容密钥CK输出给报头信息生成部件4107。
4.2.5报头信息生成部件4107报头信息生成部件4107从部分内容生成部件4105接收c则标识信息AD1、AD2、AD3、……、ADc,以及分裂内容4120、密钥块和内容密钥CK。
接收这些组信息的时候,报头信息生成部件4107利用随机数产生独一无二地标识所述则标识信息AD1的标识信息标识符ADID1。
在这里,产生的标识信息标识符ADID1和收到的所述则标识信息AD1构成的一对叫作“一则内容检测信息”。
下一步,报头信息生成部件4107基于收到的多则标识信息AD1从分裂内容4120提取部分内容CNT1 4121,并且通过将提取出来的所述项部分内容CNT1 4121赋予散列函数来计算部分散列值HA1。在这里,所产生的标识信息标识符ADID1和计算出来的散列值HA1所构成的一对叫作“一则部分散列信息”。
报头信息生成部件4107针对其余则标识信息AD2、AD3、……、ADc重复同一种处理,以产生多则内容检测信息和多则部分散列信息。
下一步,报头信息生成部件4107产生由c则内容检测信息组成的内容位置信息。图43说明在这一点产生的内容位置信息的结构。内容位置信息4140由c则内容检测信息4141、4142、4143、……、4146组成。每一则内容检测信息都包括标识信息标识符和一则标识信息。作为一个实例,所述则内容检测信息4141包括标识信息标识符ADID1 4151和所述则标识信息AD1 4131。
接下来,报头信息生成部件4107产生由所产生的c则部分散列信息组成的报头信息。图44说明在这一点产生的报头信息的结构。报头信息4160由c则部分散列信息4161、4162、4163、……、4166组成。每一则部分散列信息都包括标识信息标识符和部分散列值,并且对应于构成所述内容位置信息4140的一则内容检测信息。例如,所述则部分散列信息4161包括标识信息标识符ADID 4171和部分散列值HA1 4172。
下一步,报头信息生成部件4107将产生的内容位置信息4140和报头信息4160,以及收到的分裂内容4120、密钥块和内容密钥CK输出给签名信息生成部件4108。
4.2.6签名信息生成部件4108签名信息生成部件4108从报头信息生成部件4107接收内容位置信息4140、报头信息4160、分裂内容4120、密钥块和内容密钥CK。
接收这些组信息的时候,签名信息生成部件4108提取构成收到的报头信息4160的各则部分散列信息中包括的散列值。签名信息生成部件4108通过将组合提取出来的c个部分散列值HA1、HA2、HA3、……、HAc形成的组合结果赋予散列函数来产生组合后的散列值。
下一步,签名信息生成部件4108从签名密钥存储部件1112读取签名密钥1113,并且通过将签名生成算法S应用于所产生的组合后散列值,利用读取的签名密钥1113来产生签名信息。
已经产生了签名信息的时候,签名信息生成部件4108将产生的签名信息以及收到的内容位置信息4140、报头信息4160、分裂内容4120、密钥块和内容密钥CK输出给加密处理部件4109。
4.2.7加密处理部件4109加密处理部件4109从签名信息生成部件4108接收签名信息、内容位置信息4140、报头信息4160、分裂内容4120、密钥块和内容密钥CK。
接收这些组信息的时候,加密处理部件4109通过将加密算法应用于构成收到的分裂内容4120的所述项部分内容CNT1 4121来产生一项已加密部分内容ECNT1。加密处理部件4109针对多项部分内容CNT2 4122、CNT3 4123、……、CNTc 4127重复同一种处理,以产生多项已加密部分内容ECNT2、ECNT3、……、ECNTc。
下一步,加密处理部件4109产生由所产生的c项已加密部分内容ECNT1、ECNT2、ECNT3、……、ECNTc组成的已加密内容。在这一点产生的已加密内容与第二实施例的已加密内容2220(图32)一样具有同样的结构。
下一步,加密处理部件4109将所产生的已加密内容以及收到的签名信息、内容位置信息4140、报头信息4160和密钥块输出给记录部件4114。
4.2.8记录部件4114给记录部件4114装载DVD。
记录部件4114从加密处理部件4109接收已加密内容、签名信息、内容位置信息4140、报头信息4160和密钥块。
接收这些组信息的时候,记录部件4114将收到的已加密内容、签名信息、内容位置信息4140、报头信息4160和密钥写入DVD。
4.3DVD4500图45说明第四实施例的DVD里储存的信息。如图45所示,DVD4500储存密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580。
这些组信息已经由分发装置4100写入。各组信息的结构已经在上面说明过,因此省去了对它们的描述。
4.4执行装置4600图46说明第四实施例的执行装置的结构。如图46所示,执行装置4600由获取部件4601、内容密钥获取部件4602、装置密钥存储部件1604、签名信息、验证部件4606、验证密钥存储部件1612、选择部件4611、部分内容解密部件4616、报头信息验证部件4617和执行部件2618组成。
下面详细描述构成执行装置4600的各个组件。注意,由于装置密钥存储部件1604和验证密钥存储部件1612与第一实施例中的一样,而执行部件2618又与第二实施例中的一样,因此省去了对这些组件的描述。
4.4.1获取部件4601将DVD4500装载进获取部件4601。检测到上面装载了DVD4500的时候,获取部件4601读取密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580,并且将读取的密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580输出给内容密钥获取部件4602。
4.4.2内容密钥获取部件4602内容密钥获取部件4602从获取部件4601接收密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580。
接收这些组信息的时候,内容密钥获取部件4602通过使用收到的密钥块4510、装置标识符AID_p和装置密钥存储部件1604储存的装置密钥DK_p来产生内容密钥CK。产生内容密钥CK的程序与构成第一实施例的执行装置1600的内容密钥获取部件1602执行的程序一样,因此省去了对它的描述。
下一步,内容密钥获取部件4602将所产生的内容密钥CK和收到的内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580输出给签名信息验证部件4606。
4.4.3签名信息验证部件4606签名信息验证部件4606从内容密钥获取部件4602接收内容密钥CK、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580。
接收这些组信息的时候,签名信息验证部件4606在以下程序中验证签名信息4570。
首先,签名信息验证部件4606从构成收到的报头信息的各则部分散列信息提取部分散列值,并且通过将组合所提取的部分散列值HA1、HA2、HA3、……、HAc组合起来形成的组合结果赋予散列函数来计算签名验证组合后散列值。
下一步,签名信息验证部件4606从验证密钥存储部件1612读取验证密钥1613,并且通过将签名验证算法V应用于计算出来的签名验证组合后散列值来产生签名验证信息。然后,签名信息验证部件4606比较所产生的签名验证信息和收到的签名信息。当这两者不一致的时候,签名信息验证部件4606判定签名信息4570的验证不成功,并且退出执行装置4600中的后续处理。
当这两者一致的时候,签名信息验证部件4606判定签名信息4570的验证成功,并且将收到的内容密钥CK、内容位置信息4530、报头信息4550和已加密内容4580输出给选择部件4611。
4.4.4选择部件4611选择部件4611从签名信息验证部件4606接收内容密钥CK、内容位置信息4530、报头信息4550和已加密内容4580。
接收这些组信息的时候,选择部件4611在下面将描述的程序里从收到的内容位置信息4530产生被选位置信息。图47说明选择部件4611执行的被选位置信息的产生程序的概要,以及在这一点产生的被选位置信息的结构。下面在图47的帮助之下描述被选位置信息的产生程序。
选择部件4611利用随机数从构成收到的内容位置信息4530的c则内容检测信息4531、4532、4533、……、4536中选择出k则。选择方法不限于这种方法,可以使用任何方法,只要第三方很难预测选中了哪些则就行。
图47说明选择了包括多则内容检测信息4531、4533和4536的k则的情形。
下一步,选择部件4611产生由被选k则内容检测信息4531、4533、……、4536组成的被选位置信息4620。
下一步,选择部件4611在以下程序中基于收到的报头信息4550产生选择报头信息。图48说明产生选择报头信息的程序的概要和选择报头信息的结构。下面在图48的帮助下,给出选择报头信息的产生程序的理由。
首先,选择部件4611从构成所产生的被选位置信息4620的多则内容检测信息4531、4532、……、4536中的每一则提取标识信息标识符,并且进一步提取包括与提取的标识信息标识符ADID1、ADID3、……、ADIDc相同的多则部分散列信息4551、4553、……、4556。
下一步,选择部件4611产生由提取出来的多则部分散列信息4551、4553、……、4556组成的选择报头信息4630。
下一步,选择部件4611将所产生的被选位置信息4620、选择报头信息4630和收到的内容密钥CK以及已加密内容4580输出给部分内容解密部件4616。
4.4.5部分内容解密部件4616部分内容解密部件4616从选择部件4611接收被选位置信息4620、选择报头信息4630、内容密钥CK和已加密内容4580。
接收这些组信息的时候,部分内容解密部件4616在下面描述的程序里产生验证内容。图49说明产生验证内容的程序的概要和在这一点产生的验证内容4650的结构。下面在图49的帮助之下描述产生验证内容的程序。
首先,部分内容解密部件4616从构成收到的被选位置信息4620的内容检测信息4531提取所述则标识信息AD1,并且进一步基于提取的所述则标识信息AD1从收到的已加密内容4580提取所述则已加密部分内容ECNT1。
部分内容解密部件4616通过将所述解密算法D1应用于所述项提取出来的部分内容ECNT1来产生所述项部分内容CNT1。随后,部分内容解密部件4616产生由所述则内容检测信息4531中包括的标识信息标识符ADID1和所产生的所述项部分内容CNT1组成的一则验证部分内容信息4651。
部分内容解密部件4616针对其余多则内容检测信息4532、……、4536重复同样的处理来产生多则验证部分内容信息4652、……、4656。下一步,部分内容解密部件4616产生由所产生的k则验证部分内容信息组成的验证内容4650。
已经产生了验证内容4650的时候,部分内容解密部件4616将所产生的验证内容4650和收到的选择报头信息4630、内容密钥CK以及已加密内容4580输出给报头信息验证部件4617。
4.4.6报头信息验证部件4617报头信息验证部件4617从部分内容解密部件4616接收验证内容4650、选择报头信息4630、内容密钥CK和已加密内容4580。
接收这些组信息的时候,报头信息验证部件4617通过将构成收到的验证内容4650的第一则验证部分内容信息4651中包括的一项部分内容CNT1 4624赋予散列函数来产生验证散列值H1。
下一步,报头信息验证部件4617提取所述则验证部分内容信息4651中包括的标识信息标识符ADID1 4621。然后,报头信息验证部件4617检测包括与从收到的选择报头信息4630提取的标识信息标识符ADID1 4621一样的标识信息的一则部分散列信息4551,并且提取检测到的部分散列信息4551中包括的部分散列值HA1。下一步,报头信息验证部件4617比较提取出来的部分散列值HA1 4632和计算出来的验证散列值H1。
报头信息验证部件4617针对其余则验证部分内容信息4652、……、4656重复同样的处理,并且将部分散列值与验证散列值进行k次比较。
在这k次比较中,一旦部分散列值和验证散列值互相不同,报头信息验证部件4617就退出执行装置4600中的后续处理。
在k次比较中,当所有部分散列值和验证散列值对都相同的时候,报头信息验证部件4617将收到的内容密钥CK和已加密内容4580输出给执行部件4618。
4.5工作状况下面描述分发装置4100和执行装置4600的工作状况。
4.5.1分发装置4100的工作状况图50是一个流程图,它说明分发装置4100的工作状况,而图51则说明分发装置4100的工作状况中处理内容的流。
下面在图50和51的帮助之下描述分发装置4100的工作状况。
输入部件4101获取内容(步骤S4012),并且将获取的内容输出给内容密钥生成部件4102。
内容密钥生成部件4102接收这些内容,利用随机数产生内容密钥(步骤S4013),并且将产生的内容密钥和收到的内容输出给密钥块生成部件4103。
接收内容密钥和内容的时候,密钥块生成部件4103产生密钥块,并且将所产生的密钥块以及收到的内容密钥和内容输出给部分内容生成部件4105(步骤S4014)。
部分内容生成部件4105从密钥块生成部件4103接收密钥块、内容密钥、内容。下一步,部分内容生成部件4105将收到的内容4119分裂,如图51所示,以产生c项部分内容(步骤S4016),并且将所产生的c项部分内容放在一起来形成分裂内容4120。下一步,部分内容生成部件4105产生分别对应于所产生的c项部分内容的多则标识信息(步骤S4018),并且将所产生的分裂内容4120和c则标识信息,以及收到的密钥块、内容密钥和内容输出给报头信息生成部件4107。
报头信息生成部件4107从部分内容生成部件4105接收分裂内容、c则标识信息、密钥块以及内容密钥,产生分别对应于收到的所述多则标识信息的标识信息标识符,并且进一步产生包括所产生的标识信息标识符和多则标识信息的内容位置信息4140。更进一步,如图51所示,报头信息生成部件4107通过将构成收到的分裂内容4120的c项部分内容分别赋予散列函数来计算c个部分散列值,并且产生包括计算出来的c个部分散列值的报头信息4160(步骤S4019)。下一步,报头信息生成部件4107将所产生的内容位置信息4140和报头信息4160以及收到的密钥块和内容密钥输出给签名信息生成部件4108。
签名信息生成部件4108从报头信息生成部件4107接收内容位置信息4140、报头信息4160、密钥块和内容密钥。如图51所示,签名信息生成部件4108提取收到的报头信息中包括的c个部分散列值,将提取出来的c个部分散列值组合起来,并且通过将组合出来的结果赋予散列函数来计算组合后散列值(步骤S4021)。
下一步,签名信息生成部件4108从签名密钥存储部件1112读取签名密钥1113(步骤S4022)。如图51所示,签名信息生成部件4108通过将签名生成算法应用于所产生的组合后散列值,利用读取的签名密钥1113来产生签名信息4170(步骤S4023)。
下一步,签名信息生成部件4108将所产生的签名信息、收到的内容位置信息4140、报头信息4160、分裂内容4120和内容密钥输出给加密处理部件4109。
加密处理部件4109接收签名信息、内容位置信息4140、报头信息4160、分裂内容4120和内容密钥,并且通过利用收到的内容密钥加密构成分裂内容4120的各项部分内容来产生已加密内容(步骤S4024)。加密处理部件4109将所产生的已加密内容以及收到的签名信息、内容位置信息4140、报头信息4160和密钥块输出给记录部件4114。
记录部件4114接收已加密内容、签名信息、内容位置信息4140、报头信息4160和密钥块,并且将收到的密钥块、内容位置信息4140、报头信息4160、签名信息、已加密内容写入DVD4500(步骤S4026)。
4.5.2执行装置4600的工作状况图52和53是说明执行装置4600的工作状况的流程图。图54从原理上说明构成执行装置4600的各个组件处理的信息。注意,图52到54中同样的步骤号表示同样的处理。
下面在图52到54的帮助下描述执行装置4600的工作状况。
装载了DVD4500的时候,获取部件4601从DVD4500读取密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580(步骤S4041),并且将读取的这些组信息输出给内容密钥获取部件4602。
内容密钥获取部件4602接收密钥块4510、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580,并且通过利用收到的密钥块4510、装置标识符和装置密钥存储部件1604储存的装置密钥来产生内容密钥(步骤S4042)。下一步,内容密钥获取部件4602将所产生的内容密钥以及收到的内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580输出给签名信息验证部件4606。
签名信息验证部件4606接收内容密钥、内容位置信息4530、报头信息4550、签名信息4570和已加密内容4580,组合收到的报头信息4550中包括的c个部分散列值,并且通过将组合后结果赋予散列函数来产生签名验证组合后散列值(步骤S4043)。下一步,签名信息验证部件4606从验证密钥存储部件1612读取验证密钥1613(步骤S4044),并且利用读取的验证密钥1613和所产生的签名验证组合后散列值来验证收到的签名信息4570(步骤S4046)。
如果签名信息4570的验证不成功(步骤S4048否),签名信息验证部件4606就退出执行装置4600中的后续处理。
如果签名信息4570的验证成功(步骤S4048是),签名信息验证部件4606就将收到的内容密钥、内容位置信息4530、报头信息4550和已加密内容4580输出给选择部件4611。
接收内容密钥、内容位置信息4530、报头信息4550和已加密内容4580的时候,选择部件4611选择内容位置信息4530中包括的c则内容检测信息里选择k则(步骤S4049)。下一步,选择部件4611产生由被选多则内容检测信息组成的被选位置信息4620(步骤S4051)。然后,选择部件4611在构成所产生的被选位置信息4620的k则内容检测信息里包括的标识信息标识符的基础之上,从收到的报头信息4550选择k则部分散列信息(步骤S4053),并且产生由被选k则部分散列信息组成的选择报头信息4630(步骤S4056)。下一步,选择部件4611将所产生的被选位置信息4620和选择报头信息4630以及收到的内容密钥和已加密内容4580输出给部分内容解密部件4616。
部分内容解密部件4616接收被选位置信息4620、选择报头信息4630、内容密钥和已加密内容4580,并且在如图54所示收到的被选位置信息4620中包括的多则标识信息的基础之上,从已加密内容4580提取k项已加密部分内容4581、4582、4583、……、4586(步骤S4057)。下一步,部分内容解密部件4616通过对提取的k项已加密部分内容4581、4582、4583、……、4586进行解密来产生多项部分内容(步骤S4059)。下一步,部分内容解密部件4616产生包括收到的被选位置信息4620中包括的k个标识信息标识符,和产生的k项部分内容的验证内容4650(步骤S4061)。部分内容解密部件4616将所产生的验证内容4650以及收到的选择报头信息4630、内容密钥和已加密内容4650输出给报头信息验证部件4617。
报头信息验证部件4617接收验证内容4650、选择报头信息4530、内容密钥和已加密内容4580。接收这些组信息的时候,报头信息验证部件4617通过分别将收到的验证内容4650中包括的k项部分内容4591、4592、4593、……、4596赋予散列函数来产生k个验证散列值(步骤S4062),并且分别比较收到的报头信息中包括的k个部分散列值和对应的产生的验证散列值(步骤S4064是)。
在k对的比较中,每一对由验证散列值和对应的部分散列值组成,当任意一对不一致的时候(步骤S4066否),报头信息验证部件4617退出执行装置4600中的后续处理。
在k对的比较中,当所有k对都一致的时候(步骤S4066是),报头信息验证部件4617将收到的内容密钥和已加密内容4580输出给执行部件2618。
执行部件2618从报头信息验证部件4617接收内容密钥和已加密内容4580,通过利用收到的内容密钥对构成收到的已加密内容4580的各个已加密部分内容进行解密来产生由c项部分内容组成的内容(步骤S4067),扩展所产生的内容(步骤S4068),并且让监视器显示扩展后的内容(步骤S4071)。
4.6综述和有益效果如同已经描述过的一样,第四实施例的未授权内容检测系统由分发装置4100和执行装置4600组成,并且分发装置4100通过分裂内容来产生c项部分内容,并且进一步利用所有产生的c项部分内容来产生报头信息和验证信息。
执行装置4600从构成已加密内容的c项已加密部分内容选择k项,并且从报头信息中包括的c个部分散列值提取与被选k项部分内容相对应的k个部分散列值。执行装置4600利用提取出来的k个部分散列值,只验证被选k项已加密部分内容。只有当验证成功的时候,执行装置4600才通过对已加密内容解密来产生内容,并且播放已解密内容。
因此,通过将用于验证是否包括未授权内容的已加密部分内容的项数限制为k项,能够降低验证中涉及的处理负荷。
每次执行装置4600进行验证的时候,通过利用随机数选择不同的一项已加密部分内容,能够弥补因为将用于验证的已加密部分内容的项数限制为k项而引起的检测未授权内容的准确度的下降。
另外,很难预测会将哪些项已加密部分内容用于验证,因此能够防止利用未授权内容只是专门替换构成已加密内容的多项已加密部分内容中不用于验证的多项已加密部分内容这样的欺骗行为。
5.第五实施例下面描述本发明第五实施例的未授权内容检测系统。
5.1未授权内容检测系统第五实施例的未授权内容检测系统由分发装置、执行装置和监视器组成,如同第一实施例中一样。
分发装置根据操作员的操作获取内容,并且通过对获取的内容进行加密来产生已加密内容。另外,分发装置产生单元拾取信息、报头信息和执行装置验证内容有效性的签名信息。
分发装置获取DVD上可写区域的存储容量,以及所产生的可变信息的数据大小。
分发装置计算填充容量,这个填充容量是通过从获取的存储容量中减去获取的各种信息的数据大小的总和来得到的,并且产生数据大小对应于计算出来的填充容量的填充内容,并且将产生的填充内容与各种信息一起写入DVD。
5.2分发装置5100图55说明第五实施例的分发装置的结构。如图55所示,分发装置5100由输入部件1101、内容密钥生成部件1102、密钥块生成部件1103、执行装置信息存储部件1104、单元生成部件5105、加密处理部件5106、报头信息生成部件5107、填充内容生成部件5108、签名信息生成部件5111、签名密钥存储部件1112和记录部件5114组成。
下面描述构成分发装置5100的各个组件。注意,由于输入部件1101、内容密钥生成部件1102、密钥块生成部件110、执行装置信息存储部件1104和签名密钥存储部件1112都与第一实施例的分发装置1100中的一样,因此省去了对这些组件的描述。
5.2.1单元生成部件5105作为第一实施例中描述的单元生成部件1105,单元生成部件5105从输入部件1101接收由c个文件CNT1、CNT2、CNT3、……等等组成的内容,并且利用收到的内容产生单元拾取信息和分裂内容。产生单元拾取信息和分裂内容的程序与第一实施例的单元生成部件1105所执行的那些一样,并且这里产生的单元拾取信息和分裂内容的结构分别在图6和7中说明,因此省去了对它们的说明。
下一步,单元生成部件5105将所产生的分裂内容输出给加密处理部件5106,同时将所产生的单元拾取信息输出给填充内容生成部件5108。
5.2.2加密处理部件5106加密处理部件5106从单元生成部件5105接收分裂内容,并且在收到的分裂内容的基础之上产生已加密分裂内容和已加密内容。产生这些已加密分裂内容和已加密内容的程序与第一实施例的加密处理部件1106执行的那些相同,所产生的已加密内容和已加密分裂内容的结构分别在图9和10中说明,因此省去了对它们的描述。
下一步,加密处理部件5106将所产生的已加密分裂内容输出给报头信息生成部件5107,同时将所产生的已加密内容输出给记录部件5114和填充内容生成部件5108。
5.2.3填充内容生成部件5108填充内容生成部件5108预存密钥块大小KBSIZE、文件信息大小FISIZE、单元散列大小USIZE、文件散列大小FSIZE、比率RT和分裂数j。
单元散列大小USIZE说明构成报头信息生成部件5107产生的第一散列表的多则单元散列信息的数据大小。具体而言,这里的单元散列信息与第一实施例的报头信息生成部件1107产生的单元散列信息相同。
文件散列大小FSIZE说明构成报头信息生成部件5107产生的第二散列表的多则文件散列信息的位长度。具体而言,这里的文件散列信息与第一实施例的报头信息生成部件1107产生的文件散列信息一样。
比率RT说明签名信息生成部件5111通过将签名生成算法S应用于信息A产生签名SignA的情况下,信息A和签名SignA之间的比特长度比。
分裂数j是填充内容生成部件5108分裂填充内容所产生的单元的数量(后面将详细描述)。
另外,填充内容生成部件5108预存56比特长度的不能回放信息DAMY,表明不能播放填充内容。
填充内容生成部件5108从单元生成部件5105接收单元拾取信息,同时从加密处理部件5106接收已加密内容。
接收单元拾取信息和已加密内容的时候,填充内容生成部件5108利用收到的单元拾取信息和已加密内容,按照以下程序计算填充容量,并且基于计算出来的填充容量产生填充内容,更新单元拾取信息。
下面详细描述上面提到的填充容量的计算(a),填充内容的产生(b)和单元拾取信息的更新(c)。
(a)填充容量计算填充容量表明将密钥块、单元拾取信息、报头信息、签名信息和已加密内容写上去以后,DVD上的自由空间。下面描述产生填充容量的程序。
首先,填充内容生成部件5108通过记录部件5114测量装载在记录部件5114上的DVD上可写区域的存储容量,并且产生表明将信息写入其中能够使用的最大存储容量MSIZE。在这里,不是通过记录部件5114测量可写区域的存储容量,而是可以通过从操作员的输入来获得最大存储容量MSIZE。
下一步,填充内容生成部件5108测量(?)收到的已加密内容的数据大小,并且产生内容大小CNSIZE。
下一步,填充内容生成部件5108对收到的内容拾取信息中包括的文件信息的则数c进行计数,并且利用以下公式计算更新以后单元拾取信息的数据大小UCSIZE(在(c)中对单元拾取信息更新的以下描述中将描述细节)UCSIZE=FISIZE×(c+1)。
下一步,填充内容生成部件5108提取收到的单元拾取信息中包括的c个单元数N1、N2、N3、……、Nc,并且利用提取的单元数N1、N2、N3、……、Nc和储存的分裂数j,通过利用以下公式计算报头信息生成部件5107产生的第一散列表(后面将详细描述)的(c+1)个的数据大小的总和HA1SIZEHA1SIZE=[N1+N2+N3+…+Nc+j]×USIZE。
随后,填充内容生成部件5108利用以下公式产生由报头信息生成部件5107产生的第二散列表(后面将详细描述)的数据大小HA2SIZEHA2SIZE=FSIZE×(c+1),并且利用以下公式,从所产生的第一散列表的数据大小HA1SIZE和第二散列表的数据大小HA2SIZE的总和,计算报头信息生成部件5107产生的报头信息的数据大小HEADSIZEHEADSIZE=HA1SIZE+HA2SIZE。
下一步,填充内容生成部件5108利用以下公式计算SigSIZE,它表明签名信息生成部件5111产生的签名信息的的数据大小SigSIZE=(UCSIZE+HA2SIZE)×RT。
下一步,填充内容生成部件5108利用以下公式计算填充内容FilSIZEFilSIZE=MSIZE-[KBSIZE+UCSIZE+HEADSIZE+SigSIZE]。
(b)填充内容的产生已经计算了填充容量FilSIZE的时候,填充内容生成部件5108产生一个随机数,并且将所产生的随机数与不能回放信息DAMY组合起来产生数据大小是FilSIZE的填充内容。
下一步,填充内容生成部件5108产生用于专门表明所产生的填充内容的文件标识符FIDf,以及用于标识所产生的填充内容的文件标识信息ADf。下一步,填充内容生成部件5108基于储存的分裂数j,将所产生的分裂内容分裂成j个单元Uf_1、Uf_2、Uf_3、……、Uf_j,并且产生单元标识符UIDf_1、UIDf_2、UIDf_3、……、UIDf_j,每一个都对应于单元之一。在这里,在这以后将单元和对应的单元标识符构成的一对叫做“(一则)单元信息”。另外,填充内容生成部件5108产生由i则单元信息组成的分裂填充内容。图56说明在这一点产生的分裂填充内容的结构。如图56所示,分裂填充内容5120由多则单元信息5121、5122、5123、……、5126组成,每一则单元信息都包括一个单元标识符和一个单元。例如,所述则单元信息5121包括单元标识符UIDf_1 5131和单元Uf_1 5132。从填充内容产生分裂填充内容的程序与从文件产生分裂文件的程序相同,因此这里只对其进行简单描述。
在这里,将所产生的文件标识符FIDf和分裂填充内容5120所构成的一对叫作填充文件信息。
(c)单元拾取信息更新已经产生了填充内容和分裂填充内容5120的时候,填充内容生成部件5108产生由所产生的文件标识符FIDf、所产生的所述则文件标识信息ADf和表明所产生的单元数目的单元数Nf组成的一则文件信息,并且将所产生的这一则文件信息添加到收到的单元拾取信息中去。图57说明将产生的所述则文件信息加到上面去以后的单元拾取信息5140。所述单元拾取信息5140由(c+1)则文件信息5141、5142、5143、……、5146和5147组成,每一则文件信息都包括文件标识符、一则文件标识信息和单元数。多则文件信息5141、5124、5143、……、5146是由单元生成部件5105基于所述内容产生的,并且与构成图7所示的单元拾取信息1200的多则文件信息1201、1202、1203、……、1204相同。所述则文件信息5147是由填充内容生成部件5108基于填充内容产生的,并且包括与填充内容、一则文件标识信息AD1 5152和单元数Nf 5153相对应的文件标识符FIDf 5151。
下一步,填充内容生成部件5108将所产生的填充内容和单元拾取信息5140输出给记录部件5114;将所产生的填充文件信息输出给报头信息生成部件5107;将单元拾取信息5140输出给签名信息生成部件5111。
5.2.4报头信息生成部件5107报头信息生成部件5107从加密处理单元5106接收已加密分裂内容,同时从填充内容生成部件5108接收包括文件标识符FIDf和一则分裂填充内容5120的填充文件信息5156。
接收填充文件信息5156和已加密分裂内容5160的时候,报头信息生成部件5107从收到的多组信息产生报头信息5190,如图58所示。图58说明,报头信息生成部件5107执行的报头信息5190的产生程序的的概要。下面在图58的帮助下描述报头信息5190的产生程序。
报头信息生成部件5107从收到的已加密分裂内容5160产生第一散列表HA1TBL1 5171、HA1TBL2 5172、HA1TBL3 5173、……、HA1TBLc 5176。在这里产生的第一散列表HA1TBL1 5171、HA1TBL25172、HA1TBL3 5173、……、HA1TBLc 5176与第一散列表HA1TBL11261、HA1TBL2 1262、HA1TBL3 1263、……、HA1TBLc 1264相同,并且产生程序也相同。因此省去了对这些第一散列表的描述。
下一步,报头信息生成部件5107基于收到的填充文件信息5156中包括的填充内容,产生第一散列表HA1TBLf5177。产生程序与从已加密分裂文件产生第一散列表的程序相同,因此省去了对它的描述。
下一步,报头信息生成部件5107分别基于(c+1)个第一散列表计算文件散列值,产生多则文件散列信息,每一则都包括计算出来的(c+1)个文件散列值中的一个,以及对应于文件散列值的文件标识符,并且进一步产生由所产生的(c+1)则文件信息组成的第二散列表HA2TBL 5180。产生第二散列表的具体程序与第一实施例中第二散列表1269的产生程序相同,除了使用从填充内容生成部件5108接收的文件标识符FIDf 5157和分裂填充内容5120不同以外,因此省去了对它的描述。
图59说明在这一点产生的第二散列表HA2TBL 5180的结构。第二散列表HA2TBL 5180由(c+1)则文件散列信息5181、5182、5183、……、5186和5187组成。每一则文件散列信息都包括文件标识符和文件散列值。从已加密分裂内容5160产生多则文件散列信息5181到5186,并且它们与构成第一实施例中描述的第二散列表HA2TBL 1269的多则文件散列信息1301到1304相同。所述则文件散列信息5187是在填充文件信息5156的基础之上产生的。
报头信息生成部件5107将所产生的第二散列表5180输出给签名信息生成部件5111,同时将包括所产生的(c+1)个第一散列表和第二散列表HA2TBL5180的报头信息5190输出给记录部件5114。
5.2.5签名信息生成部件5111签名信息生成部件5111从填充内容生成部件5108接收单元拾取信息5140,同时从报头信息生成部件5107接收第二散列表HA2TBL5180。
接收单元拾取信息5140和第二散列表HA2TBL5180的时候,签名信息生成部件5111读取签名密钥存储部件1112记录的签名密钥1113。
下一步,签名信息生成部件5111通过将签名生成算法S应用于组合结果利用读取的签名密钥1113来产生签名信息,其中的组合结果是通过将构成收到的第二散列表HA2TBL5180的(c+1)个文件散列值与构成收到的单元拾取信息5140的(c+1)则文件信息组合起来形成的。
下一步,签名信息生成部件5111将所产生的签名信息输出给记录部件5114。
5.2.6记录部件5114在记录部件5114中装载DVD。
记录部件5114响应填充内容生成部件5108的指令,测量装载的DVD上可写区域的存储容量。
记录部件5114从密钥块生成部件1103接收密钥块;从加密处理部件5106接收已加密内容;并且从填充内容生成部件5108接收填充内容和单元拾取信息5140。另外,记录部件5114从报头信息生成部件5107接收报头信息5190,同时从签名信息生成部件5111接收签名信息。
接收这些组信息的时候,记录部件5114将收到的密钥块、已加密内容、填充内容、单元拾取信息5140、报头信息5190和签名信息写入DVD。
5.3DVD5500图60说明第五实施例的DVD中存储的信息。如图60所示,DVD5500储存密钥块5510、单元拾取信息5530、报头信息5550、已加密内容5580和填充内容5590。
这些组信息已经由分发装置5100写入。各组信息的结构和上面描述的一样,因此省去了对它们的描述。
5.4执行装置5600如图61所示,执行装置5600由获取部件1601、内容密钥获取部件1602、装置密钥存储部件1604、执行部件5606、签名信息验证部件5611和验证密钥存储部件1612组成。
下面描述构成执行装置5600的各个组件。注意,由于获取部件1601、内容密钥获取部件1602和验证密钥存储部件1612与第一实施例中的一样,因此,省去了对这些组件的描述。
5.4.1签名信息验证部件5611签名信息验证部件5611从获取部件1601接收单元拾取信息5530和签名信息5570。
接收这些组信息的时候,签名信息验证部件5611利用收到的单元拾取信息5530和DVD5500中储存的报头信息5550、已加密内容5580和填充内容5590验证收到的签名信息5570。省去了验证的具体程序,因为它与构成第一实施例的执行装置1600的签名信息验证部件1611所进行的签名信息的验证相同,只有在已加密内容5580以外使用了填充内容5590不同除外。
5.4.2执行部件5606执行部件5606预存56比特长度的不能回放信息DAMY。
执行部件5606从内容密钥获取部件1602接收内容密钥CK。另外,执行部件5606还可以从签名信息验证部件5611接收回放禁止信息。
接收内容密钥CK的时候,执行部件5606通过获取部件1601一个一个地读取构成已加密内容5580的已加密文件ECNT1、ECNT2、ECNT3、……、ECNTc或者填充内容5590。
执行部件5606将读取的已加密文件的前56比特或者读取的填充内容的前56比特与储存的不能回放信息DAMY进行比较。当两者互不相同的时候,读取的信息是已加密文件并且是可播放的,因此执行部件5606通过利用收到的内容密钥CK针对每个单元对读取的已加密文件进行解密来产生文件。下一步,执行部件5606扩展产生的文件来产生视频和音频数据,从产生的视频和音频数据产生视频和音频信号,并且通过将产生的视频和音频信号输出给监视器来播放内容。
当前56比特与储存的播放不能回放信息DAMY相同的时候,读取的信息是填充内容,不能播放,因此执行部件5606退出上述解密、扩展和回放过程,开始处理下一个已加密文件。
直到已经完成了所有已加密文件和填充内容的读取,执行部件5606在类似程序中重复读出、与不能回放信息DAMY的比较、解密、扩展和回放。
如果在上述重复期间从签名信息验证部件5611接收回放禁止信息,执行部件5606退出重复。
5.5工作状况下面描述第五实施例的分发装置5100和执行装置5600的工作状况。
5.5.1分发装置5100的工作状况下面在图62和63所示的流程图的帮助下描述分发装置5100的工作状况。
分发装置5100的输入部件5101接收内容的输入(步骤S5011),将接收的内容输出给单元生成部件5105,并且指令内容密钥生成部件1102产生内容密钥。
内容密钥生成部件1102根据输入部件1101的指令产生内容密钥(步骤S5012),并且将产生的内容密钥输出给密钥块生成部件1103和加密处理部件5106。
密钥块生成部件1103接收内容密钥。接收内容密钥的时候,密钥块生成部件1103从执行装置信息存储部件1104读取装置标识表(步骤S5013),并且基于收到的内容密钥和读取的装置标识表产生密钥块(步骤S5016)。下一步,密钥块生成部件1103将产生的密钥块输出给记录部件5114。
接收内容的时候,单元生成部件5105将构成接收到的内容的每个文件分裂成单元来产生分裂内容(步骤S5017)。已经产生了分裂内容的时候,单元生成部件5105产生由分别对应于分裂文件的多则文件信息组成的单元拾取信息(步骤S5018),并且在将分裂内容输出给加密处理部件5106的同时将产生的单元拾取信息输出给填充内容生成部件5108。
接收内容密钥和分裂内容的时候,加密处理部件5106通过利用内容密钥对收到的分裂内容中包括的内容的每一个单元进行加密来产生已加密分裂内容(步骤S5019)。加密处理部件5106提取所产生的已加密分裂内容中包括的已加密单元,产生已加密内容(步骤S5021),并且将所产生的已加密内容输出给记录部件5114和填充内容生成部件5108,同时输出所产生的已加密分裂内容给报头信息生成部件5107。
接收单元拾取信息和已加密内容的时候,填充内容生成部件5108通过记录部件5114获得DVD5500的最大存储容量(步骤S5022),并且测量收到的已加密内容的数据大小(步骤S5023)。
下一步,填充内容生成部件5108基于收到的单元拾取信息计算报头信息的数据大小和签名信息的数据大小(步骤S5026),并且进一步基于获得的最大存储容量、报头信息和签名信息的数据大小等等计算填充容量(步骤S5028)。
下一步,填充内容生成部件5108通过将不能回放信息和随机数组合起来产生具有计算出来的填充容量的数据大小的填充内容(步骤S5029),并且产生与填充内容对应的文件标识符和文件标识信息(步骤S5031)。
填充内容生成部件5108通过基于储存的分裂数j将产生的分裂内容分裂成j个单元来产生分裂填充内容(步骤S5032)。
下一步,填充内容生成部件5108产生包括所产生的文件标识符和标识信息的文件信息,以及表明所产生的单元数量的单元数,并且将所产生的文件信息添加到收到的单元拾取信息中去(步骤S5033)。填充内容生成部件5108将所产生的填充内容和单元拾取信息5140输出给记录部件5114;将所产生的文件标识符和分裂填充内容5120组成的填充文件信息5156输出给报头信息生成部件5107;以及将单元拾取信息5140输出给签名信息生成部件5111。
接收已加密分裂内容和填充文件信息5156的时候,报头信息生成部件5107从收到的已加密分裂内容中包括的c个已加密分裂文件产生c个第一散列表(步骤S5034)。接下来,报头信息生成部件5107从收到的填充文件信息5156中包括的分裂填充内容产生第一散列表(步骤S5036)。
报头信息生成部件5107基于所产生的(c+1)个第一散列表产生第二散列表(步骤S5037),产生包括(c+1)个第一散列表和第二散列表的报头信息(步骤S5039),并且将产生的报头信息输出给记录部件5114,同时将产生的第二散列表输出给签名信息生成部件5111。
接收单元拾取信息5140和第二散列表的时候,签名信息生成部件5111通过将签名生成算法应用于收到的单元拾取信息和第二散列表来产生签名信息(步骤S5041),并且将产生的签名信息输出给记录部件5114。
接收密钥块、已加密内容、填充内容、单元拾取信息、报头信息和签名信息的时候,记录部件5114将收到的密钥块、已加密内容、填充内容、单元拾取信息、报头信息和签名信息写入DVD5500(步骤S5042)。
5.5.2执行装置5600的工作状况下面在图64和65所示的流程图的帮助下描述执行装置5600的工作状况。
装载了DVD5500的时候,获取部件1601从DVD5500读取密钥块5510、单元拾取信息5530和签名信息5570,并且将密钥块5510输出给内容密钥获取部件1602,同时将单元拾取信息5530和签名信息5570输出给签名信息验证部件1611(步骤S5061)。
签名信息验证部件5611接收单元拾取信息5530和签名信息5570,利用随机数和单元拾取信息5530从已加密内容5580中包括的多个已加密单元以及填充内容5590中包括的j个单元里选择出i个,利用被选i个和报头信息产生i个被替换第一散列表(步骤S5063)。
签名信息验证部件5611从所产生的i个被替换散列表中的每一个计算替换文件散列值(步骤S5064)。
下一步,签名信息验证部件5611从DVD5500读取第二散列表(步骤S5066),并且通过利用替换散列值替换与所产生的i个替换文件散列值相对应的文件散列值来产生被替换第二散列表(步骤S5068)。签名信息验证部件5611利用所产生的被替换第二散列表、收到的单元拾取信息5530和验证密钥存储部件1612中储存的验证密钥1613来验证签名信息5570(步骤S5069)。如果签名信息5570的验证不成功(步骤S5071否),签名信息验证部件5611就将回放禁止信息输出给执行部件5606(步骤S5073)。
签名信息5570的验证成功的时候(步骤S5071是),签名信息验证部件5611就结束这一验证。
内容密钥获取部件1602接收密钥块5510,并且从装置密钥存储部件1604读取装置标识符和装置密钥(步骤S5074)。内容密钥获取部件1602从读取的装置标识符、装置密钥和密钥块5510产生内容密钥CK,并且将产生的内容密钥CK输出给执行部件5606(步骤S5076)。
执行部件5606从内容密钥获取部件1602接收内容密钥。在这里,如果从签名信息验证部件5611接收回放禁止信息(步骤S5077是),执行部件5606就通知用户DVD5500中储存的内容不能回放(步骤S5079),并且退出后续回放。
如果没有接收回放禁止信息(步骤S5077否),执行部件5606就读取构成已加密内容和填充内容的c个已加密文件之一(步骤S5081)。执行部件5606将读取的已加密文件或者前56比特填充内容与预存的不能回放信息进行比较(步骤S5082)。当这两者一致的时候(步骤S5084是),执行部件5606返回步骤S5077。
当这两者不一致的时候(步骤S5084否),读取的文件就是已加密文件并且是可播放的。因此,执行部件5606通过利用收到的内容密钥对已加密文件进行解密来产生文件(步骤S5086),扩展产生的文件(步骤S5087),并且让监视器播放扩展的文件(步骤S5089)。已经读取了构成已加密内容和填充内容的全部已加密文件,或者从用户得到指令完成回放的时候(步骤S5091是),执行部件5606结束回放。如果没有读完构成已加密内容和填充内容的所有已加密文件,并且执行部件5606没有从用户收到结束回放的指令(步骤S5091否),执行部件5606就回到步骤S5077,重复步骤5077到5091的处理。
5.6综述和有益效果如同已经描述的一样,在本实施例中,除了包括已加密内容的各种信息以外,DVD5500储存具有适当数据大小的填充内容,从而不在DVD5500中留下可写存储区域。更进一步,报头信息和签名信息不仅是基于已加密内容而且是还基于填充内容而产生的。
构成执行装置5600的执行部件5606顺序读取DVD5500上写下的文件,并且将各个读取的文件的前56比特与预存的不能回放信息进行比较。当这两者一致的时候,提取部件5606判定读取的文件是填充内容,并避免回放这一文件。
当DVD5500没有储存这种填充内容的时候,可以推断存在下面描述的两种欺骗行为。
图65说明DVD5500b的结构,它是通过将包含未授权内容的文件添加到合法权利持有人产生的DVD5500a而创建的。
DVD5500a将报头信息、单元拾取信息、签名信息存入区域5703,同时在区域5704、5705、……、5707中储存构成已加密内容的各个已加密文件。除了这些组信息以外,DVD5500a还分别在区域5701和区域5702里储存文件表和回放顺序文件。
储存在区域5701里的文件表包括DVD5500中储存的所有文件的文件标识符、文件的起始地址以及DVD上各个文件占据的扇区号,将各个文件的文件标识符、起始地址和扇区号联系起来。例如,将具有文件标识符FID1的文件储存在从地址0xAA1开始的70个扇区里。
区域5702里储存的回放顺序文件说明DVD中储存的文件的回放顺序。在这里的实例中,将按照从具有文件标识符FIF1的文件到具有文件标识符FIDc的文件的顺序播放文件。
另外,DVD5500a上的区域5711里没有储存任何东西。
在这种情况下,假设未授权第三人已经将包括未授权内容的文件写入DVD5500a的区域5711中,并且通过伪造文件表和回放顺序文件产生了DVD5500b。
在DVD5500b上的区域5701里,添加了对应于未授权文件的文件标识符FIDx、未授权文件的起始地址0xAAx和扇区号200。另外,还伪造了区域5702中储存的回放顺序文件,从而将利用具有文件标识符FIDx的文件开始回放。
另外,还考虑通过将未授权内容添加到DVD5500a中的有效文件里去产生图66所示DVD5500c的情况。
DVD5500c将未授权内容存入区域5711,该区域紧跟在区域5707里有效地记录的文件后面。已经将文件表中与区域5707里储存的文件对应的扇区号伪造成320,它是通过将原来存入文件的扇区号加上储存了添加了未授权内容的扇区数得到的。已经改变了回放顺序文件,因而回放将从具有文件标识符FIDc的文件中的第51个扇区,也就是添加的未授权内容开始。
于是,已经进行了未授权伪造的时候,由于报头信息、单元拾取信息、签名信息和已加密内容还根本没有被伪造,因此一旦签名信息的验证正常完成,执行装置会根据顺序文件表明的顺序读取未授权文件和开始回放。
在本实施例中,在DVD5500上没有留下可写存储区域,因为存在填充内容。另外,还将填充内容用于产生签名信息。因此,如果用未授权文件替换填充内容,那么执行装置5600中签名信息的验证将不会成功,回放将会退出。
6.第六实施例下面描述本发明的第六实施例。
6.1未授权内容检测系统第六实施例的未授权内容检测系统由分发装置、执行装置和监视器组成,如同第一实施例中的未授权内容检测系统一样。
除了第一实施例中描述的密钥块、单元拾取信息、已加密内容、报头信息和签名信息以外,分发装置产生区域信息,用于表明DVD上储存了分发装置有效地写下的信息的存储区域,并且将产生的区域信息写在DVD上。
执行装置从DVD读取区域信息,并且只读取被读取的区域信息表明的存储区域内储存的信息。
6.2分发装置6100图67说明构成第六实施例的未授权内容检测系统的分发装置的结构。如图67所示,分发装置6100由输入部件1101、内容密钥生成部件1102、密钥块生成部件6103、执行装置信息存储部件1104、单元生成部件6105、加密处理部件6106、报头信息生成部件6107、分配生成部件6108、区域信息生成部件6109、签名信息生成部件6111、签名密钥存储部件1112和记录部件6114组成。
下面描述组成分发装置6100的各个组件。注意,由于输入部件1101、内容密钥生成部件1102、执行装置信息存储部件1104和签名密钥存储部件1112与第一实施例中的分发装置1100中的一样,因此省去了对这些组件的描述。
在这里,代替记录部件输出密钥块、单元拾取信息、已加密内容和报头信息,密钥块生成部件6103、单元生成部件6105、加密处理部件6106以及报头信息生成部件6107各自输出自己产生的信息到分配生成部件6108。除了这一点以外,密钥块生成部件6103、单元生成部件6105、加密处理部件6106和报头信息生成部件6107分别与第一实施例中的密钥块生成部件1103、单元生成部件1105、加密处理部件1106和报头信息生成部件1107一样,因此省去了对这些组件的描述。
6.2.1分配生成部件6108分配生成部件6108预存签名信息生成部件6111产生的签名信息的最大数据大小。另外,分配生成部件6108储存区域信息生成部件6109产生的区域信息的数据大小。
分配生成部件6108从密钥块生成部件6103接收密钥块;从单元生成部件6105接收单元拾取信息;从加密处理部件6106接收已加密内容;并且从报头信息生成部件6107接收报头信息。
接收这些组信息的时候,分配生成部件6108产生如图68所示的写入分配信息6120。写入分配信息6120是通过按照在DVD上一样的结构安排收到的所述多组信息,并且将安排好的所述多组信息写在存储器上来创建的。下面在图68的帮助下描述产生写入分配信息6120的程序。
分配生成部件6108将密钥块写入存储器上的区域6121里;将单元信息写入区域6122里;并且将报头信息写入区域6123里。
下一步,分配生成部件6108获得分别与储存的区域信息和签名信息的最大数据大小相对应的区域6124和6125。然后,分配生成部件6108将已加密内容写入区域6125后面的区域6126。
分配生成部件6108将产生的写入分配信息6120输出给区域信息生成部件6109和记录部件6114。
注意,图68所示的信息组的分配顺序仅仅是一个实例,本发明不限于这个实例。
在这里,分配生成部件6108储存签名信息的最大数据大小。但是,分配生成部件6108可以例如按照与第五实施例的填充内容生成部件5108一样的方式计算签名信息的数据大小。
6.2.2区域信息生成部件6109区域信息生成部件6109从分配生成部件6108接收写入分配信息6120。接收写入分配信息6120的时候,区域信息生成部件6109从收到的写入分配信息6120产生区域信息。区域信息是用于表明在上面储存了分发装置6100写入的有效信息的DVD上的区域的信息。区域信息是例如将写入分配信息6120写在DVD上的起始位置(以后叫做起始地址)和结束位置(结束地址)构成的一对。
区域信息不限于这一实例,可以采用任何信息,比如储存有效信息的起始地址和扇区数构成的一对,只要这些信息能够表明有效信息储存的区域就行。
区域信息生成部件6109将产生的区域信息输出给签名信息生成部件6111和记录部件6114。
6.2.3签名信息生成部件6111签名信息生成部件6111从单元生成部件6105接收单元拾取信息;从报头信息生成部件6107接收第二散列表;并且从区域信息生成部件6109接收区域信息。
接收这些组信息的时候,签名信息生成部件6111从签名密钥存储部件1112读取签名密钥1113。
下一步,签名信息生成部件6111通过将签名生成算法S应用于组合结果,利用读取的签名密钥1113来产生签名信息,其中的组合结果是通过将收到的第二散列表中包括的c个文件散列值,构成单元拾取信息的c则文件信息,以及收到的区域信息组合在一起形成的。
下一步,签名信息生成部件6111将产生的签名信息输出给记录部件6114。
6.2.4记录部件6114记录部件6114装载了DVD。
记录部件6114从分配生成部件6108接收写入分配信息6120;从区域信息生成部件6109接收区域信息;并且从签名信息生成部件6111接收签名信息。
接收这些组信息的时候,记录部件6114将收到的区域信息插入写入分配信息6120中的区域6124,同时将签名信息插入区域6125。
已经将区域信息和签名信息插入写入分配信息6120以后,记录部件6114将写入分配信息6120写入DVD。
6.3DVD6500图69说明第六实施例的DVD中储存的信息。如图69所示,DVD6500储存密钥块6510、单元拾取信息6530、报头信息6550、区域信息6560、签名信息6570和已加密内容6580。这些已经由分发装置6100写入,因此省去了对它们的描述。
6.4执行装置6600图70说明第六实施例的执行装置的结构。如图70所示,执行装置6600由驱动部件6620和内容执行部件6625组成。
驱动部件6620由获取部件6601、区域信息存储部件6603、加密通信部件6604和加密密钥存储部件6605组成。
内容执行部件6625由内容密钥获取部件1602、装置密钥存储部件1604、解密通信部件6607、解密密钥存储部件6608、签名信息验证部件6611、验证密钥存储部件1612和执行部件6606组成。
下面描述构成执行装置6600的各个组件。注意,由于内容密钥获取部件1602、装置密钥存储部件1604和验证密钥存储部件1612与第一实施例中的执行装置1600中的一样,因此省去了对这些组件的描述。
6.4.1获取部件6601获取部件6601装载了DVD6500。装载了DVD6500的时候,获取部件6601首先读取区域信息6560,然后将读取的区域信息写入区域信息存储部件6603,并且将读取的区域信息6560输出给加密通信部件6604。
下一步,获取部件6601从DVD6500读取密钥块6510、单元拾取信息6530和签名信息6570,并且将读取的密钥块6510输出给内容密钥获取部件1602,同时将读取的单元拾取信息6530和签名信息6570输出给签名信息验证部件6611。
另外,获取部件6601从签名信息验证部件6611和执行部件1606接收读取各组信息的请求。接收读出请求的时候,签名信息验证部件6611从区域信息存储部件6603读取区域信息。将被请求的一组信息储存在区域信息表明的区域里的时候,获取部件6601从DVD6500读取被请求的信息,并且将读取的信息输出给请求源,也就是签名信息验证部件6611或者执行部件1606。
被请求的那组信息没有储存在读取的区域信息表明的区域里的时候,获取部件6601输出表明不能读取被请求的那组信息的一个错误通知信号。
6.4.2区域信息存储部件6603区域信息存储部件6603由例如RAM组成,并且储存获取部件6601写入的区域信息。
6.4.3加密通信部件6604和加密密钥存储部件6605加密密钥存储部件6605由例如ROM组成,并且储存56比特长度的加密密钥。
加密通信部件6604从获取部件6601接收区域信息6560。接收区域信息6560的时候,加密通信部件6604从加密密钥存储部件6605读取加密密钥,并且通过将加密算法E2应用于读取的加密密钥来产生已加密区域信息。在这里,作为一个实例,将DES(数据加密标准)用作加密算法E2。
下一步,加密通信部件6604将产生的已加密区域信息输出给解密通信部件6607。
6.4.4解密通信部件6607和解密密钥存储部件6608解密密钥存储部件6608由例如ROM组成,并且储存56比特长度的解密密钥。在这里,解密密钥与加密密钥存储部件6605储存的加密密钥相同。
解密通信部件6607从加密通信部件6604接收已加密区域信息。接收已加密区域信息的时候,解密通信部件6607从解密密钥存储部件6608读取解密密钥,并且通过将解密算法D2应用于收到的已加密区域信息,利用读取的解密密钥来产生区域信息。在这里,解密算法D2是用于对使用加密算法E2产生的已加密文本进行解密时使用的算法。
下一步,解密通信部件6607将产生的区域信息输出给签名信息验证部件6611。
给出上面的描述的时候假定了加密密钥和解密密钥相同,并且解密通信部件6607使用对称密钥加密系统。但是,本发明不限于这样,而是可以使用公钥加密系统。也可以将公钥加密系统和对称密钥加密系统组合在一起,在每次进行通信的时候产生不同的密钥,并且可以使用产生的密钥进行密码通信(cipher communication)。
另外,在这里只是对区域信息进行加密,然后输出给内容执行部件6625,但是,在内容执行部件6625和驱动部件6620之间发送和接收的所有信息都可加密。
6.4.5签名信息验证部件6611签名信息验证部件6611从获取部件6601接收单元拾取信息6530和签名信息6570;并且从解密通信部件6607接收区域信息。
接收单元拾取信息6530和签名信息6570的时候,签名信息验证部件6611基于已收到单元拾取信息6530和已加密内容6580以及DVD6500中储存的报头信息6550来产生被替换的第二散列表。产生被替换的第二散列表的程序与第一实施例的签名信息验证部件1611执行的被替换第二散列表的产生程序相同,因此省去了对它的描述。
下一步,签名信息验证部件6611从验证密钥存储部件1612读取验证密钥1613。然后,签名信息验证部件6611通过将签名验证算法V应用于组合结果,利用读取的验证密钥1613来产生签名验证信息,其中的组合结果是通过将产生的被替换第二散列表中包括的所有文件散列值和替换文件散列值,收到的单元拾取信息6530中包括的所有则文件信息,以及区域信息组合起来形成的。签名信息验证部件6611将产生出来的签名验证信息与收到的签名信息6570进行比较。
这两者不一致的时候,签名信息验证部件6611判定签名信息的验证不成功,并且将回放禁止信息输出给执行部件1606。
这两者一致的时候,签名信息验证部件6611判定收到的签名信息6570的验证成功,并结束验证处理。
在以上处理过程中,签名信息验证部件6611指令获取部件6601读取部分已加密内容和报头信息。但是,在这一点,签名信息验证部件6611可能收到表明不可能读取的错误通知信号。
接收错误通知信号的时候,签名信息验证部件6611退出签名信息的验证处理,并且将回放禁止信息输出给执行部件1606。
6.4.6执行部件6606执行部件6606从内容密钥获取部件1602接收内容密钥,并且开始已加密文件的重复读出、解密和回放,如同构成第一实施例的执行装置1600的执行部件1606的那种情形一样。
在重复过程中,执行部件6606可以从签名信息验证部件6611接收回放禁止信息。
另外,在重复过程中,执行部件6606请求获取部件6601读取构成已加密内容6580的已加密文件。但是在这一点,执行部件6606可以从获取部件6601接收表明不能读出的错误通知信号。
接收回放禁止信息或者错误通知信号的时候,执行部件6606退出回放处理,并且通知用户不能回放载入的DVD。
6.5综述和有益效果如同已经描述的一样,构成本实施例未授权内容检测系统的分发装置6100产生区域信息,表明分发装置6100有效地写入的信息所储存的区域,并且将所产生的区域信息写入DVD。更进一步,分发装置6100从第二散列表、单元拾取信息和区域信息产生签名信息,并且将这些写入DVD。
载入了DVD6500的时候,执行装置6600的获取部件6601首先从DVD6500读取区域信息,然后只读取已读取的区域信息表明的区域内的信息,而不读取其它区域中写入的信息。
在这里,如同第五实施例一样,即使发生了将未授权内容写入DVD6500上自由空间的欺骗行为,在执行装置6600中也无法播放未授权内容。
另外,储存在DVD6500里的签名信息是利用区域信息产生的,并且执行装置6600的签名信息验证部件6611使用从DVD6500读取的区域信息,以便验证签名信息。因此,即使未授权第三人冒充区域信息,同时插入未授权内容,签名信息验证部件6611执行的签名信息验证也不会成功,因此不会播放未授权内容。
DVD中没有任何自由空间剩余的时候,有可能发生欺骗行为,比如将有效DVD上储存的所有数据复制到具有比这个有效DVD的存储容量更大的另一个介质上去,并且将未授权内容添加到这一介质的自由空间上去。即使是在这种情况下,本实施例的未授权内容检测系统中的执行装置6600也不读取区域信息表明的区域以外存储区域中的信息。因此,本实施例不能防止这种欺骗行为。
6.6第六实施例的变型在第六实施例中,分发装置6100产生的区域信息是表明在其中储存了分发装置有效地写入的信息的区域的信息。区域信息也可以是分发装置6100有效地写入的信息的总的数据大小。
在这种情况下,执行装置6600的获取部件6601首先从DVD6500读取总的数据大小,然后测量DVD6500中储存的信息的总的数据大小。当被测数据大小大于读取的数据大小的时候,获取部件6601退出从DVD6500读取数据,并且将错误通知信号输出给执行部件6606。
7.其它变型虽然已经基于上述实施例描述了本发明,但是本发明当然不局限于这些实施例。本发明还包括以下情形[1]在上述第一、第五和第六实施例中,分发装置通过将已加密单元赋予散列函数来计算单元散列值,并且基于计算出来的单元散列值来产生报头信息和签名信息,同时执行装置使用被选i个已加密单元来验证签名信息。但是,分发装置可以在加密之前通过使用单元来计算单元散列值,并且执行装置可以通过对被选i个已加密单元进行解密来产生i个单元,并且通过使用产生的i个单元来验证签名信息。
另一方面,在第二到第四实施例中,分发装置通过将多项部分内容赋予散列函数来计算部分散列值,并且基于计算出来的部分散列值来产生报头信息和签名信息。但是,分发装置可以通过将已加密部分内容赋予散列函数来计算部分散列值,其中的已加密部分内容是通过对各项部分内容进行加密来产生的,并且基于计算出来的部分散列值来产生报头信息和签名信息。
在这种情况下,执行装置使用已加密部分内容来验证报头信息。这样就没有必要配备代表性的部分内容解密部件和部分内容解密部件,这样做导致检测系统的电路的尺寸减小。
在第二到第四实施例中,在签名信息和报头信息的验证已经成功以后,执行部件开始对已加密内容进行解密、扩展和回放。但是,执行部件可以与验证并行开始与回放有关的处理。在这种情况下,签名信息验证部件和报头信息验证部件分别进行的各个验证不成功的时候,签名信息验证部件和报头信息验证部件指示执行部件退出回放。
在第一、第五和第六实施例中,签名信息验证部件可以有一个定时器,用于测量时间的流逝,并且如果在预定的时间内签名信息的验证没有完成就判定验证不成功。
在与回放并行进行签名信息的验证的情况下,如果内容、签名信息或者报头信息遭到伪造,将会播放未授权内容,直到完成验证。
因此,为签名信息的验证设置时限能够对付通过伪造来延长未授权内容的回放时间,从而延迟签名信息验证的完成的欺骗行为。
另外,变型[3]中的签名信息验证部件和报头信息验证部件也可以以类似的方式有一个定时器。
在上面的第一到第六实施例中,分发装置具有签名密钥,而执行装置则有对应的验证密钥,并且这些装置利用DSA这种签名生成算法产生和验证签名信息。
总之,许多签名生成算法都是建立在公钥密码系统基础之上的,如同DSA和RSA(Rivest-Shamir-Adleman)所代表的一样。但是,在本发明中,可以使用任何签名生成算法,例如建立在对称密钥密码系统基础之上的,只要能够证明DVD上记录的签名信息是由合法权利持有人产生的信息就行。
作为另一个实例,可以在所公开的处理中使用单向函数。在这种情况下,分发装置和执行装置分别将同样的单向函数储存在外部装置不能读取的存储区域内。分发装置利用单向函数来产生签名信息,而执行装置则利用同样的单向函数来产生签名验证信息。
产生签名信息的时候用于签名生成算法的信息不限于以上实施例中描述的那些。例如,在第一实施例中,将签名生成算法同时应用于第二散列表和单元拾取信息,但是,可能只能将签名生成算法应用于第二散列表,或者除了第二散列表以外,还可以将它应用于内容密钥CK和已加密内容的数据大小。在第二实施例的情形中,可以将签名生成算法应用于所述多项代表性的部分内容本身,而不是将签名生成算法应用于从多项代表性的部分内容产生的部分散列值。
特别是,在第二实施例中,从多项代表性的部分内容产生签名信息的时候,可以通过将签名生成算法分别应用于k项代表性的部分内容来产生k则签名信息。
在这种情况下,执行装置基于被选位置信息产生k项代表性的部分内容,并且利用产生的k项代表性的部分内容验证k则签名信息。
分发装置也可以通过将签名生成算法应用于组合结果来产生签名信息,其中所述组合结果是通过组合k项代表性的部分内容形成的,同时执行装置利用组合结果来验证签名信息。
在这种情况下,如果签名信息的验证成功,就一次确认以下两件事签名信息是由合法权利持有人产生的;代表性的部分内容没有被伪造。这样就不必产生报头信息,并且将报头信息写入DVD,从而减小写入DVD的数据的大小。
在第二和第三实施例中,执行装置可以预存被选位置信息,并且不能将已加密被选位置信息记录在DVD上。在这里,有效执行装置能够利用预存的被选位置信息验证报头信息。
在第三实施例中,将报头选择信息和x个报头组写入DVD。但是,在变型[7]的情况下,分发装置可以选择第一到第x个报头组之一,提取被选报头组中包括的报头标识符、报头信息和签名信息,并且将这些写入DVD。
执行装置可以预存x个被选位置信息和报头标识符对,基于写入DVD的报头标识符选择一则被选位置信息,在随后的处理中使用被选的一则被选位置信息。
上面的第一到第七实施例是在假设执行装置是单个装置的情况下描述的。但是,可以采用多个装置来完成执行装置的功能。
在第三实施例中,执行装置的获取部件选择x个报头标识符之一。但是,本发明不限于这样,而是可以换成选择两个或者多个标识符,并且签名信息和报头信息的验证可以重复两次或更多次。这样就能够更加可靠地检测未授权内容。
在以上实施例和变型中,分发装置的签名密钥存储部件和执行装置的验证密钥存储部件分别储存一则密钥信息,但是本发明不局限于这样。
例如,签名密钥存储部件可以储存签名密钥以及与签名密钥对应的密钥标识符,并且记录部件将签名信息与密钥标识符一起写入DVD。
执行装置的验证密钥存储部件储存多个验证密钥以及与验证密钥一一对应的密钥标识符。签名信息验证部件与签名信息一起接收密钥标识符,从验证密钥存储部件储存的多个密钥标识符提取与收到的密钥标识符一致的密钥标识符,读出与提取的验证密钥标识符一致的验证密钥,并且用读取的验证密钥来验证签名信息。
在这里,即使有多个不同的分发装置也能够应用本发明。
执行装置可能没有验证密钥存储部件,并且签名密钥以及与签名密钥对应的验证密钥可以储存在分发装置的签名密钥存储部件里。在这种情况下,记录部件将验证密钥与签名信息一起写入DVD。
除了签名密钥和验证密钥以外,分发装置可以储存公平(impartial)第三方实体产生的验证密钥的鉴别信息。在这里,假设鉴别信息是通过将签名生成算法应用于验证密钥,利用第三方实体的秘密密钥产生的密钥签名。
记录部件将验证密钥和密钥签名与签名信息一起写入DVD。
执行装置的验证密钥存储部件储存密钥验证信息,而不是验证密钥。密钥验证信息是用于验证密钥签名的信息,在这种情况下,是与产生了密钥签名的公平第三方实体的秘密密钥配对的公钥。
签名信息验证部件接收密钥签名和验证密钥,并且在验证签名信息之前利用收到的密钥和密钥验证信息来验证密钥签名。只有当验证成功的时候,签名信息验证部件才开始象上面的实施例描述的一样验证签名信息。
在这里,即使有多个分发装置,执行装置也只要保持第三方实体的密钥验证信息,而不必有多个验证密钥。
在变型[11]中,执行装置可以储存表明无效验证密钥的撤销清单。签名信息验证部件判断是否已经将收到的密钥标识符或者验证密钥登记在撤销清单里,并且在已经登记了以后退出签名信息的验证。
执行装置可以从外部源获得变型[12]里描述的撤销清单。例如,可以通过DVD这种记录介质获得撤销清单,或者可以通过因特网、广播之类提取。执行装置也可以周期性地获得更新过的撤销清单。
在这里,本发明能够对付需要被无效的验证密钥是新发现的这种情形。
分发装置通过DVD分发各种信息给执行装置,例如已加密内容和签名信息。但是,本发明不限于DVD,信息可以通过光盘例如CD-ROM和DVD-ROM,可写光盘例如CD-R、DVD-R和DVD-RAM,磁光盘,以及存储卡来分发。也可以将半导体存储器,例如闪存和硬盘结合到执行装置里。
更进一步,本发明不限于这种记录介质,信息能够通过因特网这样的通信系统分发,或者能够通过广播分发。
虽然描述上面的实施例和变型的时候假设了内容是图像和音频组成的视频内容,但是这些内容也可以是计算机程序。例如,假设执行装置是游戏控制台;内容是结合在游戏控制台里的闪存中储存的计算机程序。在这里,计算机程序是用于判断载入游戏控制台的游戏软件(例如光盘和存储卡)是不是有效软件的判断程序。在这种情况下,即使未授权用户伪造了判断程序,从而能够执行未授权游戏软件,本发明也能够通过利用签名信息和报头信息,验证是否包括未授权内容,来检测这种伪造,从而防止或者退出判断程序本身的执行。这样,通过停止执行本身,能够防止通过已经在上面进行了未授权的伪造的判断程序实现的未授权操作,也就是防止执行未授权游戏软件。
如同上面的变型所描述的一样,在所述内容是执行装置里结合的微型计算机上装载的闪存里储存的计算机程序的情况下,就会发生第五实施例中描述的欺骗行为。具体而言,首先将未授权程序添加到闪存的自由空间里,而不伪造所涉及闪存里储存的有效计算机程序。然后,通过使用有效的计算机程序里的缺陷引起缓冲器溢出,从而使程序的起始点跳到添加的未授权程序的开头,开始执行未授权程序。
在这里,可以通过在闪存里写入填充内容,从而在闪存中不留自由空间来防止上面提到的欺骗行为,如同在第五实施例中一样,因为不能添加未授权内容。
也可以象第六实施例中一样,可以将表明分发装置写入的有效信息储存的区域的区域信息事先写入闪存,并且将执行装置设计成不读出区域信息表明的区域以外的区域里的信息。因而即使添加了未授权程序,执行装置也不执行未授权程序。
描述上面的第一到第六实施例和变型的时候假设了执行部件是播放由视频和音频组成的内容的组件,但是,执行部件也可以是将内容输出给外部记录介质的组件,或者是具有打印功能并且在纸上打印图像之类的组件。
在上述实施例中,将一组内容输入分发装置的时候,内容密钥生成部件每次都产生内容密钥。但是,内容密钥生成部件可以预存多个内容密钥,并且选择和输出储存的内容密钥之一。
在以上实施例中,将执行装置设计成在装载了DVD的时候开始验证报头信息、签名信息之类,但是本发明不限于这样。
例如,执行装置可以在得到指令按照用户的按钮操作回放的时候开始这种验证,或者可以从装载了DVD的时候开始按照有规律的间隔进行验证。
在第二和第三实施例中,不必将报头信息写入DVD。
不将报头信息写入DVD的时候,执行装置基于被选位置信息提取k项代表性的部分内容,并且通过将所提取的多项代表性的部分内容赋予散列函数来计算验证散列值。
然后,执行装置通过将签名验证算法V应用于组合结果,利用验证密钥来产生签名验证信息,其中的组合结果是通过将计算出来的验证散列值组合起来形成的。执行装置通过与所产生的签名验证信息进行比较来验证签名信息。
在这种情况下,执行装置不再需要报头信息验证部件,这会导致检测系统的电路尺寸减小。另外,是否包括未授权内容的验证可以与验证签名信息同时完成。
在第四实施例中,在签名信息验证部件4606进行的签名信息的验证成功以后,执行装置4600只验证报头信息中包括的c个部分散列值中的k个。但是,可以用k项已加密部分内容和报头信息,用单次验证来验证签名信息和报头信息。
更具体地说,执行装置基于内容位置信息,从已加密内容提取k项已加密部分内容,并且通过对所提取的k项已加密部分内容进行解密来产生k项部分内容。然后,执行装置通过相应地将所产生的k项部分内容赋予散列函数来计算替换部分散列值。
下一步,执行装置从报头信息中包括的c个部分散列值,利用计算出来的替换部分散列值替换与被选k项已加密部分内容对应的部分散列值。
执行装置利用验证密钥和组合结果来验证签名信息,其中的组合结果是通过将替换部分散列值与被替换报头信息中包括的部分散列值进行组合形成的。
在这种情况下,执行装置不再需要报头信息验证部件,这样就能够减小检测系统的电路尺寸。另外,是否包括未授权信息的验证可以在验证签名信息的同时完成。
在上述第一到第六实施例中,写入DVD的仅仅是一组已加密内容,以及与这一组已加密内容对应的签名信息和报头信息之一。但是,也可以换成储存与这些组分别相对应的多组不同的已加密内容和多则报头以及签名信息。
另外,DVD可以只包括在所有则报头信息基础之上产生的一则签名信息。更进一步,除了这些组已加密内容以外,DVD可以包括不需要版权保护的内容,例如,广告、开机画面、菜单画面等等。可以在验证签名信息和报头信息的同时播放不需要版权保护的这些内容。
在第一到第六实施例和变型中,当签名信息的验证和报头信息的验证中有至少一个不成功的时候,执行装置可以储存用于识别装载在获取部件上的DVD的盘标识符以及用于识别正在播放的点上的一组内容的内容标识符。
装载了具有与记录的相同的盘标识符的DVD的时候,执行装置退出内容的回放。得到指令播放具有与记录的相同的标识符的一组内容的时候,执行装置也可以退出这一组内容的描放。
在以上实施例和变型中,当签名信息的验证和报头信息的验证中至少有一样不成功的时候,执行装置退出内容的回放,并且通过例如在监视器上显示一个错误通知画面来通知用户内容没有得到授权。验证失败的时候执行装置的工作状况不限于此,还可以考虑以下情况。更进一步,可以将以下三个变型组合起来。
分发装置和执行装置都连接到因特网。当签名信息的验证和报头信息的验证至少有一个不成功的时候,执行装置通过因特网通知分发装置验证失败。在这一点上,执行装置也发送表明验证不成功的内容的一个内容标识符。
分发装置预存内容标识符和内容标识符表明的内容的创建日期,将这两者互相联系起来。
分发装置通过因特网从执行装置接收验证失败通知和内容标识符。分发装置根据与收到的内容标识符相对应的创建日期,产生表明允许回放内容的回放允许信息,或者表明禁止回放的回放禁止信息。例如,当内容标识符表明新内容从创建日期开始少于半年,分发装置就产生回放禁止信息。另一方面,当内容标识符表明旧内容从创建日期开始已经半年或者更久,分发装置就产生回放允许信息。
下一步,分发装置通过因特网发送所产生的回放允许信息或者回放禁止信息给执行装置,只有在收到回放允许信息的时候,执行装置才对DVD中储存的已加密内容进行解码和播放。
假设从发行开始计算内容已经发行了一个设定的时间周期,并且对内容的要求已经在某种程度得到了满足,并且因此预期这些内容的未来销售量不大。在这种情况下,上述变型允许通过允许用户观看这些内容来给购买了这一DVD的用户的利益以优先权。另一方面,当这些内容是最近才发行的,并且预期这些内容的未来销售量很大,那么这一变型就通过禁止回放来给与版权持有人的权利以优先权。也就是说,这一变型能够调整用户的利益和版权持有人的利益。
注意,确定是发送回放禁止信息还是回放允许信息的方式不限于此,并且针对每一组内容,分发装置可以储存反映例如内容组的版权持有人和销售商的意图的允许条款。
如同已经描述的一样,记录内容的介质不限于DVD,而是可以是可重写记录介质。在这里,将配备了闪存的存储卡用作实例。
签名信息或者报头信息的验证不成功的时候,执行装置删除存储卡中记录的已加密内容的部分或者全部信息。
这样就能够可靠地防止未授权内容的未来使用。
在内容是HD(高清晰度)视频数据的情况下,如果验证不成功,执行装置在将它转换成SD(标准清晰度)以后播放视频数据。
在内容是高质量声音(5.1声道)音频数据的时候,如果验证不成功,执行装置在将它转换成标准质量声音(2声道)音频数据以后播放音频数据。
这样,通过在降低回放质量的条件下允许回放,能够将用户的方便性和版权持有人的利益调整到某种程度。
在第二和第三实施例中,当DVD被载入其中的时候,执行装置读出密钥块、已加密被选位置信息、报头信息签名信息和已加密内容。但是,执行装置可以根据每个组件的处理进程通过获取部件只读出需要的信息。
例如,装载了DVD的时候,执行装置只读出密钥块;内容密钥的产生完成的时候,执行装置只读出已加密被选位置信息;并且在已加密被选位置信息的解密已经完成的时候,执行装置只读出签名信息和报头信息,并且随后验证签名信息。一旦签名信息的验证完成,执行装置读取被选位置信息表明的k个已加密块。
在第四实施例中,同样只按照需要用类似的方式读取需要的信息。
在第一实施例中,当读取被选i个已加密单元的时候,通过按照下面描述的读出顺序能够提高读出速度。
为了简化描述,这里假设i=4,考虑要读出四个已加密单元的情况。
在DVD这种光盘上,将用于记录数据的区域划分成多个部分,将树木年轮形状的区域相应地叫做轨道。每个轨道中包括几个扇区,数据是一个扇区一个扇区地读取和写入的。一个扇区的大小是例如512字节。在这种情况下,DVD上要读出的多项数据可以用轨道标识号、扇区标识号或者扇区大小来标识。
图71说明DVD1500的结构和获取部件1601的结构。图中的同心区域是轨道。
如图71所示,获取部件1601具有首部(也叫作拾取)1628和转轴1629。通过转动转轴1629,DVD1500在逆时针方向上转动。图中虚线画出的箭头表明转动方向。通过指定轨道标识号、扇区标识号或者扇区大小,获取部件1601移动首部1628,获取要读出的一项数据。
总之,已知将首部1628移动到储存了作为读出目标的数据的轨道需要时间。换句话说,随着DVD上从里到外的移动距离或者从外到里的移动距离增大,需要更长的时间来读出数据。
在这里,四个已加密单元EU1_3、EU3_1、EU8_7和EU9_2是读出目标,分别储存在DVD1500上的部分1591、1592、1593和1594中。
在DVD1500上,假设首部1628在图71所示的位置中。
在这种情况下,根据第一实施例中描述的程序,获取部件1601首先将首部1628移动到上面存在部分1591的轨道1501,并且读出部分1591中记录的已加密单元EU1_3。然后,获取部件1601将首部1628移动到轨道1504,并且从部分1592读出已加密单元EU3_1。接下来,用类似的方式,获取部件1601将首部1628移动到轨道1502,以便读出部分1593里的已加密单元EU8_7,接下来移动到轨道1503,以便读出部分1594里的已加密单元EU9_2。
这样,采用第一实施例中描述的程序的时候,首部1628的移动距离变长,结果,需要长时间来读出所有已加密单元。
在这里,改变四个已加密单元的读出顺序,从而使首部1628总是从这个时候它所在的轨道移向最接近的的轨道。也就是说,获取部件1601将表明首部1628的位置的轨道号与表明储存了四个已加密单元的部分1591、1592、1593和1594的位置的扇区号和轨道号进行比较。然后获取部件1601重新安排四个部分的被获得的扇区号和轨道号的顺序,从而使首部1628为读出采用最短的移动距离,并且按照重新安排的顺序访问每个部分。
在这里,能够缩短读出数据所需要的时间。另外,在要读出的已加密单元位于相同轨道或者在相近轨道上的情况下,可以根据首部1628的当前位置和表明储存了各个已加密单元的部分的扇区号来改变读出顺序。
注意,优化读出顺序的方式依赖于获取部件1601的转轴和首部的工作属性,因此这里描述的优化程序仅仅是一个实例。例如,光盘的转动控制方法包括恒定角速度法和恒定线速度法,可以将这种方法的特性考虑在内。另外,用硬盘代替象DVD这样的光盘的时候,可以按照类似的方式安排读出顺序。
在第五和第六实施例中,可以按类似的方式改善读出速度。这也是按照第二到第四实施例变型[20]的那种情形。
在第一、第五和第六实施例中,执行装置随机地选择i个已加密文件,并且进一步从每一个被选已加密文件选择一个已加密单元。但是,选择程序不限于此,可以从一个已加密文件选择多个已加密单元,只要被选项总数为i。
在第一、第五和第六实施例中,执行装置选择的已加密单元的个数i可以预存在执行装置里,或者可以写入DVD里。
随着被选已加密单元的数量i变大,是否包括未授权内容的有效性的准确度增大,而签名信息验证所涉及的处理负荷也增大。
这样,将要选择的已加密单元的数量i记录在DVD上,然后执行装置根据从DVD获得的i验证签名信息。这样就能够反映验证中DVD制造商的意图。
另外,这一技术也能够用于第四实施例中选择k项已加密部分内容。
在第一、第五和第六实施例中,签名信息是通过将签名生成算法应用于组合结果产生的,其中的组合结果是通过组合c个文件散列值形成的。但是,可以通过进一步将组合结果赋予散列函数,将签名生成算法应用于已经计算出来的组合散列值,通过计算组合后的散列值来产生签名信息。
在第一、第五和第六实施例中,报头信息由具有两层结构的散列值组成。也就是说,这个两层结构由以下内容构成从相应的已加密单元产生的单元散列值;从基于同一个文件产生的m个单元散列值产生的文件散列值。另一方面,签名信息由c个文件散列值组成。
取而代之,报头信息可以包括具有三层结构的散列值。具体而言,报头信息包括y个组合文件散列值。这y个组合文件散列值是通过首先将c个文件散列值划分成y个组,然后一个一个地将组合结果赋予散列函数而产生的,其中的组合结果是通过将每一组的文件散列值组合起来形成的。在这种情况下,签名信息是通过利用y个组合文件散列值产生的。
这样,通过增加结构中的层数,能够减少要从DVD读取的信息。
如同在第五实施例中描述的一样,有时说明内容回放顺序的回放顺序文件储存在DVD中。在这种情况下,DVD可以包括回放顺序文件的签名信息。
这样,如同第五实施例所描述的一样,即使未授权的第三人添加或者替换未授权内容,并且伪造回放顺序文件,这一伪造也会被对回放顺序文件的签名信息的验证检测到,因此不会回放未授权内容。
在第三实施例中,分发装置3100的选择部件3105从一组内容选择出来的代表性部分内容的总项数是(k×k)项。
在这种情况下,可以设计成c项部分内容中的全部都要被选中至少一次,作为一项代表性的部分内容。这样,在替换了DVD中储存的部分已加密内容的一部分的情况下,可以提高检测未授权内容的准确度。
在第一、第五和第六实施例中,分发装置将单元拾取信息写入DVD。分发装置可以向DVD写入通过利用内容密钥对单元拾取信息进行加密产生的已加密单元拾取信息。
另外,在第四实施例中,分发装置将内容位置信息写入DVD。取而代之,分发装置可以向DVD写入通过利用内容密钥对内容位置信息进行加密产生的已加密内容位置信息。
在第一到第六实施例和变型中,通过相应地将已加密单元赋予散列函数来计算单元散列值,而部分散列值则通过分别将多项部分内容赋予散列函数来计算出来。但是,每一个单元散列值都可以从组合结果计算出来,其中的组合结果是通过将对应于已加密单元的标识符、一则标识信息和已加密单元组合起来形成的。按照类似的方式,可以从组合结果计算出每一个部分散列值,这里的组合结果是通过将对应于一项部分内容的标识符、一则标识信息和所述项部分内容组合起来形成的。
在第五实施例中,要产生的填充内容的数据大小与填充容量一样。但是,数据大小不限于此,只要数据大小能够使得DVD上剩下的自由空间足够小就行。
在第一到第六实施例中,执行装置通过将视频和音频信号输出给外部监视器来播放内容。但是,执行装置也可以内置一个监视器。
可以将构成上述各个装置的部分或全部组件组装成单独一个系统LSI(大规模集成)。系统LSI是通过将多个组件集成在一个芯片上产生的超级多功能LSI,更加具体地说,是由微处理器、ROM、RAM之类组成的一个计算机系统。计算机程序储存在RAM中。微处理器按照计算机程序运行,系统LSI由此实现它的功能。也可以换成在单个集成电路上构建每个组件。
虽然在这里将它叫做系统LSI,但是也可以将它叫做IC、LSI、超LSI和超级LSI,具体怎么称呼取决于集成度。另外,组装集成电路的方法不限于LSI,也可以用专用通信电路或者通用处理器来实现这一目的。可以使用FPGA(现场可编程门阵列),它在生产出这个LSI以后是可编程的,或者可以使用可重构处理器,它允许重构LSI内部电路单元的连接和设置。
本发明可以是实现上面描述的未授权内容检测系统的一种方法。本发明可以是用计算机实现这种方法的计算机程序,或者可以是表示这一计算机程序的数字信号。
本发明也可以用计算机可读记录介质实现,例如用上面记录了上述计算机程序或者数字信号的软盘、硬盘、CD-ROM(光盘只读存储器)、MO(磁光)盘、DVD、DVD-ROM(数字多功能盘只读存储器)、DVD-RAM(数字多功能盘随机存取存储器)、BD(蓝光盘)或者半导体存储器实现。本发明也可以是记录在这样的存储介质上的计算机程序或者数字信号。
本发明还可以是要通过网络或者通过数据广播发送的计算机程序或者数字信号,电信、有线/无线通信和因特网代表了这些网络。
本发明还可以是具有微处理器和存储器的计算机系统,其中的存储器储存计算机程序,微处理器按照计算机程序工作。
计算机程序或者数字信号可以记录在上述存储介质上,并且传送给独立的计算机系统,也可以通过上述网络传送给独立的计算机系统。然后,独立的计算机系统可以执行计算机程序或者数字信号。
本发明包括其中组合了上述实施例和变型中两个或者更多个的结构。
工业实用性可以将本发明操作性地、连续地和重复地应用于产生、销售、传送和使用内容的行业,也可以将本发明应用于制造、销售和使用各种电子设备用来播放、编辑和处理这些内容的行业。
权利要求
1.一种数据处理装置,用于使用记录介质上记录的数字作品,该记录介质还在上面记录了(i)从构成所述数字作品的多个数据块产生的多个记录摘要值以及(ii)在所述多个记录摘要值的一些或者全部的基础之上产生的记录签名数据,该数据处理装置包括使用部件,用于使用所述数字作品;选择部件,用于从所述多个数据块随机地选择预定数量的数据块;计算部件,用于关于所述多个被选数据块的每一个计算计算摘要值;读取部件,用于从所述多个记录摘要值读取多个剩余的记录摘要值,这些剩余的记录摘要值的每一个都与所述多个未被选数据块之一对应;签名验证部件,通过利用所述记录签名数据、所述多个计算摘要值以及所述多个剩余的记录摘要值,用于验证所述数字作品是否有效;以及使用控制部件,当所述签名验证部件判定所述数字作品无效的时候,用于停止所述使用部件使用所述数字作品。
2.如权利要求1所述的数据处理装置,其中所述多个记录摘要值包括多个主记录摘要值,这些主记录摘要值中的每一个都是为所述多个数据块之一产生的,还包括从所述多个主记录摘要值中的两个或者更多个产生的多个次记录摘要值,并且所述记录签名数据是通过对所述多个次记录摘要值进行数字签名产生的,所述读取部件从所述多个主记录摘要值读取所述多个剩余的记录摘要值,以及所述签名验证部件通过在所述多个计算摘要值和所述多个剩余的记录摘要值的基础之上计算一个或者更多个次计算摘要值,并且利用所述记录签名数据、所述多个次记录摘要值和所述多个次计算摘要值进行数字签名验证,来验证所述数字作品的有效性。
3.如权利要求2所述的数据处理装置,其中所述数字作品包括多个文件,所述多个文件中的每一个都与所述多个次记录摘要值之一相对应,并且由所述多个数据块中的两个或者更多个构成,所述多个次记录摘要值中的每一个都是通过使用多个主记录摘要值产生的,所述多个主记录摘要值与构成文件的所述多个数据块中的两个或者更多个一一对应,该文件与所述次记录摘要值相对应,所述签名验证部件包括主读取子部件,用于从所述记录介质读取所述记录签名数据;计算子部件,用于关于包括所述多个被选数据块中至少一个的每一个文件,通过利用所述文件中包括的所述多个未被选中的数据块相对应的多个主记录摘要值,以及与所述多个被选数据块相对应的所述多个计算摘要值,计算次计算摘要值;次读取子部件,用于关于不包括所述多个被选数据块中任何一个的每个文件,读取与所述文件相对应的次记录摘要值;签名子部件,通过利用所述多个计算出来的次计算摘要值和所述读取的多个次记录摘要值进行所述数字签名,用于产生计算签名数据;以及比较子部件,用于将所述计算签名数据与所述记录签名数据进行比较,以及当所述计算签名数据和所述记录签名数据互相一致的时候,所述签名验证部件验证所述数字作品是有效的,当所述计算签名数据和所述记录签名数据不一致的时候,判定所述数字作品无效。
4.如权利要求3所述的数据处理装置,其中所述多个记录摘要值是多个散列值,每一个散列值都是由散列函数产生的,所述计算部件所计算出来的所述多个计算摘要值是通过将所述散列函数应用于所述多个被选数据块中的每一个计算出来的多个散列值,以及所述计算子部件计算出来的所述多个次计算摘要值是通过将所述散列函数应用于与所述多个未被选中的多个数据块相对应的所述多个主记录摘要值和所述多个计算摘要值计算出来的散列值。
5.如权利要求3所述的数据处理装置,其中所述数字作品是多项数字内容,并且所述使用部件通过回放所述多项数字内容来使用所述多项数字内容。
6.如权利要求3所述的数据处理装置,其中所述数字作品是计算机程序,并且所述使用部件通过对构成所述计算机程序的指令代码进行解码,并按照已解码代码运行来使用所述计算机程序。
7.如权利要求3所述的数据处理装置,代替所述使用控制部件,包括警告显示部件,判定所述数字作品为无效的时候,用于显示所述数字作品无效的通知。
8.如权利要求1所述的数据处理装置,其中所述记录介质已经另外记录了(i)具有已调整数据大小,从而使所述记录介质上的自由空间的容量成为一预定值或者更小的值的多项填充内容以及(ii)在所述数字作品以及所述填充内容的部分或者全部的基础之上产生的签名数据,所述数据处理装置进一步包括验证部件,用于通过使用所述数字作品、所述多项填充内容和所述签名数据来验证所述数字作品和所述多项填充内容是不是有效,以及所述使用控制部件,用于在所述验证部件判定所述数字作品和所述多项填充内容中的至少一样无效的时候,停止所述使用部件使用所述数字作品。
9.如权利要求1所述的数据处理装置,其中所述记录介质已经另外记录了(i)表明所述记录介质上允许外部装置访问的访问允许区域的区域信息以及(ii)在所述数字作品和所述区域信息的部分或者全部的基础之上产生的签名数据,所述数据处理装置进一步包括访问禁止部件,用于基于所述区域信息禁止对所述访问允许区域以外的区域的访问;以及验证部件,用于通过使用所述数字作品、所述区域信息和所述签名数据验证所述数字作品和所述区域信息是否有效,以及所述使用控制部件,当所述验证部件判定所述数字作品和所述区域信息中的至少一样无效的时候,用于停止所述使用部件使用所述数字作品。
10.如权利要求1所述的数据处理装置,其中所述选择部件、所述计算部件、所述读取部件以及所述签名验证部件是在单个大规模集成电路上一起组装的。
11.一种记录介质,上面记录了数字作品;从构成所述数字作品的多个数据块产生的多个摘要值;以及基于所述多个摘要值产生的签名数据。
12.一种数据处理方法,用于使用记录介质上记录的数字作品,该记录介质上还记录了(i)从构成所述数字作品的多个数据块产生的多个记录摘要值以及(ii)在所述多个记录摘要值的一些或者全部的基础之上产生的记录签名数据,包括以下步骤(a)使用所述数字作品;(b)从所述多个数据块随机地选择预定数量的数据块;(c)关于所述多个被选数据块中的每一个计算计算摘要值;(d)从所述多个记录摘要值中读取多个剩余的记录摘要值,这些记录摘要值中的每一个都与所述多个未被选中的数据块之一相对应;(e)通过使用所述记录签名数据、所述多个计算摘要值和所述多个剩余的记录摘要值来验证所述数字作品是否有效;以及(f)在步骤(e)中判定所述数字作品无效的时候,停止所述步骤(a)。
13.一种数据处理程序,用于使用记录介质上记录的数字作品,该记录介质上还记录了(i)从构成所述数字作品的多个数据块产生的多个记录摘要值以及(ii)在所述多个记录摘要值的一些或者全部的基础之上产生的记录签名数据,包括以下步骤(a)使用所述数字作品;(b)从所述多个数据块随机地选择预定数量的数据块;(c)关于所述多个被选数据块中的每一个计算计算摘要值;(d)从所述多个记录摘要值中读取多个剩余的记录摘要值,这些记录摘要值中的每一个都与所述多个未被选中的数据块之一相对应;(e)通过使用所述记录签名数据、所述多个计算摘要值和所述多个剩余的记录摘要值来验证所述数字作品是否有效;以及(f)在所述步骤(e)中判定所述数字作品无效的时候,停止所述步骤(a)。
14.记录在计算机可读记录介质上的如权利要求13所述的数据处理程序。
15.通过通信发送和接收的如权利要求13所述的数据处理程序。
全文摘要
在回放内容的时候,执行装置进行回放处理的负荷很大,因为执行装置要在内容回放的同时验证内容的有效性,因此必须为执行装置配备高效处理器。本发明通过为验证只使用预定数量的已加密单元,能够减少验证处理负荷,其中的已加密单元是从构成DVD上记录的已加密内容的多个已加密单元中随机选择出来的。另外,通过每次进行验证的时候随机地选择预定数量的已加密单元,本发明能够将检测未授权内容的准确度提高到某种程度。
文档编号G06F21/00GK1961274SQ20058001784
公开日2007年5月9日 申请日期2005年3月24日 优先权日2004年4月2日
发明者野仲真佐男, 布田裕一, 中野稔久, 横田薰, 大森基司, 宫崎雅也, 山本雅哉, 村濑薰, 小野田仙一 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1