内容分发装置、系统、方法和程序以及内容使用装置 【技术领域】
本发明涉及内容分发装置、内容使用装置、内容分发系统、内容分发方法和程序。
背景技术
几年来,存在用于将内容中所包含的数据的一部分经由网络分发到用户终端的实际使用的内容分发系统。同时,为了在分发内容的同时保护内容版权,使用了内容版权保护技术,例如内容访问系统、数字版权管理(DRM)等。
【发明内容】
然而,相关技术中的版权保护技术通常希望基于以内容为单位而发行的许可证来限制内容使用。作为相关技术中的版权保护技术,已知的有OMA(开放移动联盟)、DRM、Marlin DRM等。利用这些技术,难以限制对内容的部分使用并适当地保护内容版权。
例如,在OMA DRM中,利用与用来对内容加密的内容密钥不同的区域密钥来对内容中的预定区域内的数据加密,并且发行可以对加密数据解密的许可证。然而,例如,如果利用用户所指定的特定区域的区域密钥对该特定区域中的数据加密并且发布其许可证,则内容分发装置的加密处理和密钥管理变得复杂,并且用户终端的密钥管理和解密处理也变得复杂。
另外,存在如下情况:利用内容密钥对数据加密并且基于在ODRL(开放数字版权语言)等中描述的对内容的使用条件来许可用户终端使用内容中预定区域内的数据。在此情况中,当使用同一内容密钥时,可以消除内容分发装置和用户终端的复杂密钥管理。然而,当加密数据的出现位置改变时,基于使用条件所准许的预定区域外的数据可以变为可解密的,因此内容版权不能受到适当地保护。
鉴于上面的问题,希望提供能够分发包含在内容数据中的特定数据区域内的数据同时适当地保护内容版权的内容分发装置、内容使用装置、内容分发系统、内容分发方法和程序。
根据本发明的第一实施例,提供了一种内容分发装置,包括:加密部分,用于利用根据针对在内容数据中划分出的多个片段的每个片段而独有的信息生成的片段密钥(segment key)来对片段的数据加密;以及许可证生成器,用于生成许可证,该许可证允许生成包含在内容数据的特定数据区域中的数据所属的一个或多个片段的片段密钥。
根据这种结构,内容分发装置利用根据针对片段而独有的信息所生成的片段密钥来对内容数据中的每个数据加密。然后,内容分发装置生成许可证,该许可证允许生成包含在特定数据区域中的数据所属的一个或多个片段中的每个片段的片段密钥。利用这种结构,内容使用装置可以基于许可证来生成包含在特定数据区域中的每个数据所属的片段的片段密钥,并且对加密数据进行解密。因此,内容分发装置可以将包含在内容数据的特定数据区域中的数据分发给内容使用装置,同时适当地保护内容版权。
根据本发明的第二实施例,提供了一种内容使用装置,包括:片段密钥生成器,用于为了对在内容数据中划分出的多个片段中的每个片段的数据进行解密,基于允许生成片段密钥的许可证来生成包含在内容数据中地特定数据区域内的数据所属的一个或多个片段的片段密钥,所述数据是利用根据针对片段而独有的信息生成的片段密钥而进行加密的;以及解密单元,用于利用数据所属的片段中的每个片段的片段密钥,对包含在特定数据区域中的且经加密的数据进行解密。
根据这种结构,为了对利用根据针对片段而独有的信息生成的片段密钥进行了加密的内容数据中的每个数据进行解密,内容使用装置将许可证用作基础来生成包含在数据区域中的数据所属的片段的片段密钥,所述许可证允许生成包含在内容数据的特定数据区域中的数据所属的一个或多个片段中的每个片段的片段密钥。然后,内容使用装置利用数据所属的片段中的每个片段的片段密钥,对包含在数据区域中的且经加密的数据进行解密。利用这种结构,内容使用装置允许用户使用包含在内容数据的特定数据区域中的数据,同时适当地保护内容版权。
另外,根据本发明的第三实施例,提供了一种具有根据本发明第一实施例的内容分发装置和根据本发明第二实施例的内容使用装置的内容分发系统。
根据本发明的第四实施例,提供了一种内容分发方法,包括以下步骤:利用根据针对在内容数据中划分出的多个片段中的每个片段而独有的信息生成的片段密钥来对片段的数据加密;生成许可证,所述许可证允许生成包含在内容数据的特定数据区域中的数据所属的一个或多个片段的片段密钥;基于许可证生成包含在特定数据区域中的数据所属的片段的片段密钥;以及利用数据所属的片段的片段密钥来对包含在特定数据区域中的且被加密的数据解密。
根据这种方法,利用根据针对每个片段而独有的信息生成的片段密钥来对内容数据中的每个数据加密。接下来,生成允许生成包含在内容数据的特定数据区域中的数据所属的一个或多个片段中的每个片段的片段密钥的许可证。然后,将许可证用作基础来生成特定数据区域的数据所属的片段中的每个片段的片段密钥,并且利用数据所属片段中的每个片段的片段密钥来对包含在特定数据区域中的加密数据进行解密。这允许将包含在内容数据的特定数据区域中的数据分发给内容使用装置,同时适当地保护内容版权,以使得数据可供用户使用。
此外,根据第五和第六实施例,提供了用于使得根据第四实施例的内容分发方法由计算机来执行的程序。
根据上述本发明的实施例,提供了能够分发包含在内容数据的指定数据区域中的数据同时适当地保护内容版权的内容分发装置、内容使用装置、内容分发系统、内容分发方法及程序。
【附图说明】
图1是图示出根据本发明一个实施例的分发系统的概览的视图;
图2是图示出根据本发明第一实施例的控制服务器的原理功能结构的视图;
图3是图示出群组控制信息的一个示例的视图;
图4是图示出典型许可证的结构的视图;
图5是图示出以内容为单位的内容加密方案的视图;
图6是图示出根据本发明第一实施例的用户终端的原理功能结构的视图;
图7是图示出内容分发方法的处理顺序的序列图;
图8是图示出内容数据结构的一个示例的视图;
图9是图示出根据本实施例的内容分发方法的内容加密方案的视图;
图10是图示出根据本实施例的许可证结构的视图;
图11是图示出由图10所示的许可证指定的准许区域的视图;
图12是图示出存储器设备的数据结构、内容使用部分和使用限制部分的原理功能结构以及数据流的视图;
图13是内容使用部分的过程步骤的流程图;
图14是使用限制部分的过程步骤的流程图;
图15是图示出根据本发明第一实施例的内容分发方法的修改的视图;
图16是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图17是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图18是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图19是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图20是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图21是用于说明根据本发明第二实施例的许可证的一个示例的视图;
图22是图示出存储器设备的数据结构、内容使用部分和使用限制部分的原理功能结构以及数据流的视图;以及
图23是图示出分发服务器的硬件配置的一个示例的视图。
【具体实施方式】
下面,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,用相同的标号来表示具有基本上相同的功能和结果的结构元件,并且省略对这些结构元件的重复描述。
将以下面的顺序来描述本发明的实施例。
1.内容分发系统概览
2.第一实施例
2-1.控制服务器的功能结构
2-2.用户终端的功能结构
2-3.内容分发方法
2-4.总结
2-5.内容分发方法的修改
3.第二实施例
3-1.内容分发方法
3-2.总结
4.硬件配置
[1.内容分发系统1概览]
图1图示出了根据本发明一个实施例的内容分发系统1的概览。
如图1所示,内容分发系统1具有经由通信网络3彼此相连的一个或多个内容分发装置100,以及一个或多个用户终端200。通信网络3例如是因特网、下一代网络(NGN)等。每个内容分发装置100是服务器装置,并且用户终端200是包括电视接收机、个人计算机、便携式电话等在内的具有网络功能的内容使用装置。这里,内容是数字数据,包括音乐、无线电广播(radio)、表演等的声音数据、电影、图像节目以及影像等的图像数据、包括软件、新闻、书籍等在内的图像/文本数据。
内容分发系统100具有向导(guide)服务器110、分发服务器120和控制服务器130。向导服务器110被配置来将可分发内容的向导信息从分发服务器120提供给用户终端200,并且处理与用户终端200之间对内容的选择、销售等。分发服务器120被配置来基于DRM技术对经由向导服务器110选择或售出的内容进行加密,并且将其分发给用户终端200。控制服务器130生成用于使加密内容被用户终端200解密的许可证。在内容分发装置100中,向导服务器110、分发服务器120和控制服务器130可以被配置为不同的服务器或者单个的整体式服务器。
内容分发装置100利用从经划分的片段独有的信息中生成的片段密钥SKey来对每个片段的内容数据中的每个数据加密。此外,内容分发装置100生成许可证,该许可证用于生成包含在内容数据中的特定数据区域内的数据所属的一个或多个片段的片段密钥SKey。用户终端200将从内容分发装置100获得的许可证用作基础来生成包含在该特定数据区域中的每个数据所属的片段的片段密钥SKey,并且利用数据所属片段的片段密钥SKey来对包含在特定数据区域中的经加密数据进行解密。
因此,根据本发明此实施例的该内容分发系统1可以将包含在内容数据中的特定数据区域内的每个数据分发给用户终端200,以使得用户可以使用它,同时适当地保护内容版权。
<2.第一实施例>
首先,首先对根据本发明第一实施例的内容分发方法进行描述。
[2-1.控制服务器130的功能结构]
图2图示出了根据本发明第一实施例的控制服务器130的原理功能结构。如图2所示,控制服务器130具有通信部分131、群组控制器133、群组控制信息存储装置135、用户密钥生成器137、内容信息存储装置139、许可证生成器141和签名生成器143。
通信部分131在向导服务器110、分发服务器120和用户终端200之间发送和接收各种数据。通信部分131将用于处理对内容的选择、销售等的信息以及用户登记发送到向导服务器110并且从向导服务器110接收用于处理对内容的选择、销售等的信息以及用户登记,并且将与经分发内容的加密系统有关的信息发送到分发服务器120并从分发服务器120接收与经分发内容的加密系统有关的信息。通信部分131将用于生成许可证的信息和许可证发送到用户终端200并且从用户终端200接收用于生成许可证的信息和许可证。
控制服务器130控制用户绑定(bind)系统的许可证。用户绑定系统是许可证发行系统,其中,属于各个用户的一个或多个用户终端200被登记为一组,并且同一组的用户终端200共享一个许可证。控制服务器130可以控制设备绑定系统的许可证,在设备绑定系统中,针对每个用户终端200发行许可证。
当用户使用用户终端200来请求群组中的设备登记时,群组控制器133对用户执行认证处理,并且指示用户密钥生成器137生成用户密钥UKey。用户密钥生成器137生成用户密钥UKey并将其输出给群组控制器133。群组控制器133将用户密钥UKey分发给用户终端200。此外,群组控制器133将用户的用户ID、用户终端200的终端ID以及用户密钥UKey彼此相关联地存储在群组控制信息存储装置135中。这里,群组控制器133预先获取特定于用户终端200的公共密钥PKey,并且利用公共密钥PKey对用户密钥UKey加密,并且将其分发给用户终端200。
图3图示出了群组控制信息的一个示例。在图3所示的群组控制信息中,用户ID“Yamagishi”和用户终端200的终端ID“A41342”与“用户密钥A”相关联地存储。同样,用户ID“Osaki”和用户终端200的两个终端ID“A83188”和“B76322”与“用户密钥B”相关联地存储。
这里,用户ID是在用户终端200和向导服务器110之间执行的用户登记处理中预先生成的,并且用在用户终端200与控制服务器130之间执行的用户认证处理中。此外,终端ID是针对终端独有的标识信息。
当用户使用用户终端200请求发行使用内容所需的许可证时,许可证生成器141向向导服务器110询问关于向用户发行许可证的准许。然后,当许可证发行被准许时,许可证生成器141生成使用内容所需的许可证并将其提供给用户终端200。
图4图示出了典型许可证结构。图5图示出了以内容为单位的内容加密系统。如图4所示,许可证包括经加密内容密钥ECKey、使用条件和签名。
内容密钥CKey是用于对经加密内容解密的密钥。这里,内容的内容ID、内容密钥CKey和使用条件被预先存储在内容信息存储装置139中。内容由分发服务器120控制,同时由如图5所示的诸如AES(高级加密标准)等之类的共同密钥系统利用内容密钥CKey对内容加密。因此,分发服务器120用作加密部分。
许可证生成器141将为其发行许可证的内容的内容ID用作基础,来从内容信息存储装置139获取内容密钥CKey和使用条件。许可证生成器141从群组控制信息存储装置135获取与请求许可证发行的用户的用户ID相对应的用户密钥UKey,并且利用用户密钥UKey对内容加密。然后,具有在加密中使用的用户密钥UKey的用户终端200被准许对内容密钥ECKey解密。
使用条件定义了准许用户终端200使用内容的条件。这里,可以根据重放、导出(将内容移到另一设备或介质)、拷贝、备份、显示、打印等以各种使用形式来使用内容。例如,图4所示的使用条件,准许对具有内容ID“C2323”的内容进行重放。同时,在四次的受限数目的情况下准许内容的输出。使用条件以未被加密的形式包含在许可证中,以使得用户可以检查使用条件。
签名以被加密的形式被包含,以便确保许可证发行者的有效性并防止对许可证的篡改。签名生成器143利用控制服务器130的私有密钥PKey由诸如SHA(安全哈希算法)之类的加密系统生成许可证的摘要以及许可证发行者的签名。
可以用通用构件或电路或者针对结构元件的专门功能的硬件来配置控制服务器130的各个结构元件。此外,可由在CPU上执行的程序来实现结构元件的至少一部分。
[2-2.用户终端200的功能结构]
图6图示出了根据本发明实施例的用户终端200的原理功能结构。如图6所示,用户终端200具有通信部分201、操作体203、输出部分205、向导处理器207、登记处理器209、许可证控制器211、内容获取部分213、存储器设备215、内容使用部分217以及使用限制部分219。
通信部分201将各种数据发送到向导服务器110、分发服务器120和控制服务器130并且从向导服务器110、分发服务器120和控制服务器130接收各种数据。通信部分201将用于处理内容选择、销售等的信息以及用户登记发送到向导服务器110并且从向导服务器110接收用于处理内容选择、销售等的信息以及用户登记。通信部分201将用于分发内容的信息发送到分发服务器120并且从分发服务器120接收用于分发内容的信息。通信部分201将许可证发行信息以及许可证发送到控制服务器130并从控制服务器130接收许可证发行信息以及许可证。
操作体203从用户获取用于处理用户登记、内容选择和销售等的操作信息。输出部分205输出与内容使用相关联的声音信息、视频信息、图像信息等。
向导处理器207处理与向导服务器110一起执行的对用户登记信息、内容选择和销售等的创建。向导处理器207从向导服务器110获取各种处理所需的信息供处理,并且经由输出部分205将其向用户呈现为具有HTML(超文本标记语言)文档等的向导信息。向导处理器207将经由操作体203从用户输入的操作信息以及基于操作信息处理后的信息提供给向导服务器110。
登记处理器209响应于来自向导处理器207的群组登记指令,指示控制服务器130对用户终端200执行群组登记。登记处理器209将用户ID和终端ID登记在控制服务器130中,并且从控制服务器130获取用户密钥UKey。登记处理器209将用户密钥UKey存储在存储器设备215中。
许可证控制器211响应于来自向导处理器207的许可证获取指令,从控制服务器130获取使用内容所需的许可证。向导信息的HTML文档具有被嵌入用于发行许可证的链接信息,并且HTML文档是根据诸如HTTP(超文本传输协议)之类的协议获得的。当用户操作显示为向导信息的内容选择按钮、购买决定按钮等时,许可证控制器211从向导处理器207接收许可证获取指令。许可证控制器211将链接信息用作基础来从分发服务器120获取许可证获取所需的信息,并且根据特定于DRM技术的通信协议从控制服务器130获取许可证。
内容获取部分213根据来自向导处理器207的内容获取指令来从分发服务器120获取经加密的内容。向导信息的HTML文档具有示出了内容位置的嵌入的链接信息,并且内容是根据诸如HTTP、RTSP(实时流传输协议)、RTP(实时传输协议)、多播RTP等之类的协议来获取的。当用户显示为向导信息的内容使用按钮等时,内容获取部分213从向导处理器207接收内容获取指令。内容获取部分213基于链接信息从分发服务器120获取经加密的内容。
这里,在使用流传输类型的分发服务时,内容获取部分213顺序地将从分发服务器120分发来的内容的流传输数据输出到内容使用部分217。此外,在使用包含在内容中的数据的一部分时,使用HTTP的范围头部。同时,在使用下载类型的分发服务时,内容获取部分213将从分发服务器120分发来的内容存储在存储器设备215中,并且在使用内容时可以读出内容,并且将其输出到内容使用部分217。这种情况中,从向导处理部分207直接向内容使用部分217指示使用内容。
存储器设备215存储从登记处理器209获得的用户密钥UKey以及从许可证控制器211获得的许可证。另外,当使用下载类型的分发服务时,存储器设备215存储从内容获取部分213获得的内容。
内容使用部分217执行针对内容使用的处理。内容使用部分217响应于来自用户的使用请求,将内容使用指令输出到使用限制部分219。当内容使用被准许时,内容使用部分217从使用限制部分219获取内容的内容密钥CKey,并且利用该内容密钥CKey对经加密内容进行解密。然后,内容使用部分217根据由来自用户的使用请求所指示的使用方法来执行处理,例如内容重放、导出等。
使用限制部分219根据来自内容使用部分217的内容使用指令从存储器设备215获取用户密钥UKey以及由内容使用部分217所指定的内容的许可证。使用限制部分219将由内容使用指令所指定的使用方法与包含在许可证中的使用条件相比较。当所指定的使用方法符合使用条件时,使用限制部分219利用用户密钥UKey对包含在许可证中的经加密内容密钥ECKey解密,并将其作为内容密钥CKey输出给内容使用部分217。同时,当所指定使用方法不符合使用条件时,其向用户通知内容使用不被准许。
这里,可以用针对结构元件的特定功能的通用构件或电路或硬件来配置用户终端200的每个结构元件。另外,每个结构元件的至少一部分功能可由在CPU上执行的程序来实现。
[2-3.内容分发方法]
接下来,将参考图7至14描述根据本发明第一实施例的内容分发方法。
图7是图示出内容分发方法的处理顺序的序列图。如图7所示,在内容分发之前,分发服务器120利用从特定于片段的信息中生成的片段密钥SKey,对多个经划分片段的每个片段中的内容数据内的每个数据加密(步骤S11)。这里,本实施例描述了将指示每个片段在内容数据中的位置的位置信息用作针对片段独有的信息的一个示例的情况。此外,具有生成许可证的权利的特权用户的用户终端200’从特权用户获取用于指定内容数据中的特定数据区域的指定信息(S13),并且将其发送到控制服务器130(S15)。控制服务器130生成这样的许可证,该许可证允许生成包含在由指定信息所指定的特定数据区域中的数据所属的一个或多个片段的片段密钥SKey(S17)。
在内容分发时,普通用户的用户终端200从分发服务器120获取经加密的内容,并且从控制服务器130获取内容的许可证(S19,S21)。用户终端200将许可证用作基础来生成片段密钥SKey,如果包含在特定数据区域中的每个数据属于该片段的话(S23),并且利用数据所属的片段的片段密钥SKey来对包含在特定数据区域内的每个数据进行解密(S25)。通过这种处理,用户终端200可以输出经解密的内容数据(S27)。
图8图示出了内容数据结构的一个示例。如图8所示,例如,内容具有基于ISO-14496-12,14,15的媒体文件10的数据结构,该数据结构具有文件格式指定区域11、电影盒(movie box)区域13(也称为“moov 13”以及电影数据盒(movie data box)区域15(也称为“mdat 15”)。在文件格式指定区域11中,媒体文件10的文件格式被指定。在moov 13中,存储有音轨、视频轨道、其它轨道的轨道信息21、23、25。在mdat 15中,内容声音数据、视频数据等的数据31、33以被加密或未被加密的形式被存储。
轨道信息21、23和25包含诸如标题之类的内容属性信息以及对mdat15的访问信息。在使用内容时,将访问信息作为基础来访问隔行扫描数据以及预定数据区域中的数据。另外,当数据被加密时,保护信息27被添加到轨道信息21、23和25中。在图8所示的示例中,视频数据33被加密,并且用于描述视频数据的加密算法、内容ID等的保护信息27被添加到视频轨道信息23中。这里,保护信息27包括由内容密钥CKey生成的签名信息,以判断是否存在信息窜改(falsification)。
内容的声音数据31例如被存储为根据HE-AAC(高效先进音频编码)进行了压缩的128千比特/秒的立体声音数据。视频数据33例如被存储为根据AVC(高级视频编码)/H.264进行了压缩的8兆比特/秒的高清画质(high-vision)视频数据。例如利用CBC(密文分组链接)模式通过128比特密钥的AES来对每个AVU的AU(访问单元)进行视频数据33的加密。
图9图示出了根据本实施例的内容分发方法中的内容加密系统。如图9所示,内容数据被划分为多个片段。这里,后面所描述的片段或片段偏移(也称为“偏移”)的单位取决于内容数据结构。例如,OMA DRM指定DCF(DRM内容格式)或PDCF(分组化的DCF)的数据结构。
在DCF的情况中,内容数据被划分为具有固定字节长度并且被作为整体被加密的多个片段。因此,以固定字节长度为单位示出片段和偏移。同时,在PDCF的情况中,内容数据被划分为分组并且对每个分组加密。多个分组形成一个片段。因此,片段和偏移以分组为单位示出。
在本实施例的内容加密系统中,内容数据中的每个数据由分发服务器120控制,同时利用从取决于片段的位置信息(片段编号Seg)生成的片段密钥SKey以及不同于图5所示的情况的取决于内容的内容密钥CKey对每个数据加密。因此,分发服务器120用作加密部分。
每个片段的片段密钥SKey基于片段在内容数据中的位置信息以及内容密钥CKey,根据诸如SHA-256等之类的哈希加密算法生成的。这里,内容密钥CKey是用来对整个内容数据加密的加密密钥。此外,每个片段的位置信息由其片段的片段编号表示,并且在内容数据中的第一片段被表示为Seg#0,而后续片段按照升序被表示为Seg#1、Seg#2,...。当片段密钥SKey的生成功能为SHash()时,片段编号Seg的片段密钥SKey(Seg)通过下式获得。
(式1)
SKey(Seg)=SHash(CKey,Seg)
图10图示出了根据本实施例的许可证结构。这种结构与图4所示的不同,并且包括用于指定内容使用的准许范围、偏移和片段长度SegSize的使用条件。这里,片段长度、偏移和准许范围由作为加密单位的AVC的AU来表示。使用条件可以包括多个准许区域。
片段长度定义了包含在一个片段中的AU数目。利用同一片段密钥SKey来对与包含在一个片段中的AU相对应的数据加密。当包含在内容数据中的特定数据区域中的数据被提供作为下面将详细描述的其它内容数据时,则偏移被利用。准许范围以AU为单位指定数据区域的长度(NumAU)以及特定数据区域的起始位置(StartAU)。这里,在图10所示的许可证中,将包含在一个片段中的AU数目给为“2000”并且偏移为“0”。此外,准许范围将特定数据区域指定为AU#“103432”至“25439”的数据区域。
图11图示出了由图10所示的许可证指定的准许范围。如图11所示,内容数据被划分为具有“2000”片段长度的多个片段。特定数据区域由偏移和准许范围来指定。特定数据区域由数据区域的起始位置与偏移之和(Offset+StartAU)以及数据区域的长度(NumAU)来指定。当偏移为“0”时,特定数据区域被指定为从内容数据开始起第“103432”个AU到第“25439”个AU(AU #103432到AU #128871)。因此,包含在特定数据区域中的数据属于片段Seg #52到Seg #65。
下面参考图12至14描述根据本实施例的内容分发方法中的用户终端200的处理。
图12图示出了存储器设备215的数据结构、使用限制部分219和内容使用部分217的原理功能结构,以及数据流。图13是图示出内容使用部分217的过程步骤的流程图,并且图14是图示出使用限制部分219的过程步骤的流程图。
如图12所示,内容使用部分217具有数据结构分析器221、解密部分223、解码部分225和重放部分227。使用限制部分219具有使用条件判断部分231、内容密钥解密部分233和片段密钥生成(派生)部分235。
如图13所示,内容使用部分217从内容获取部分213接收内容重放指令,以及要重放的内容的内容ID和重放起始位置(StartTime)(步骤S101)。当用户基于向导信息请求内容获取时,内容获取部分213从分发服务器120接收内容,并且指示内容使用部分217重放内容。当内容需要60分钟的重放时间时,重放起始位置例如被指定为从0.00秒到3600.00秒的任何位置(点)。
当接收内容重放指令后,数据结构分析器221分析与内容ID相对应的内容的数据结构,并且将与重放起始位置相对应的AU编号设为要重放的CurAU(S103)。如参考图8所述的,在基于ISO的媒体文件10中,存储数据的mdat 15的数据结构被定义为存储在moov 13中的轨道信息21、23、25。因此,数据结构分析器221读取并分析内容的moov 13,从而基于轨道信息21、23、25,将AU编号CurAU设为要被重放。这指定了对与存储在mdat 15中的要重放的AU相对应的数据的访问方法。
当CurAU被设置后,内容使用部分217将内容ID和CurAU输出到使用限制部分219,以询问允许对CurAU所对应的数据进行加密的许可证的存在(S105)。
如图14所示,当内容ID和CurAU被输入时,使用限制部分219开始处理(S127)。使用条件判断部分231搜索与内容ID相对应的一个或多个许可证(S129)。许可证通常由控制服务器130预先获取并存储在存储器设备215中。这里,内容购买URL可以包含在moov 13中作为元数据,在此情况中,经由向导处理器207来访问URL,并且在确认了对内容的购买之后,从控制服务器130获取许可证。
在步骤S131的处理中,如果获取了许可证,则执行S133的处理。如果未获取许可证,则给出错误响应(S137)。
当获取了许可证时,使用限制部分219从存储器设备215获取用户密钥UKey以及与内容ID相对应的许可证(S133)。这里,许可证包含经加密的内容密钥ECKey以及使用条件,并且在使用条件中,片段长度SegSize、准许范围(StartAU,NumAU)和偏移被指定。
当获取了许可证和用户密钥UKey时,使用条件判断部分231检查是否可以重放与CurAU相对应的数据(S135)。使用条件判断部分231检查内容使用方法是否符合使用条件以及CurAU是否包含在准许范围中。这里,如果CurAU是StartAU或更大并小于StartAU+NumAU,则使用条件判断部分231判定CurAU包含在准许范围中。当可以重放与CurAU相对应的数据时,执行S139的处理,并且如果不能重放,则给出错误响应(S137)。
当CurAU在准许范围内时,使用条件判断部分231检查是否符合诸如许可证截止日期等之类的其它使用条件(S139)。这里,如果符合其它使用条件,则执行S141的处理,而当不符合使用条件时,给出错误响应(S137)。
当符合其它条件时,内容密钥解密部分233利用用户密钥UKey对经加密的内容密钥ECKey解密,以获得内容密钥CKey(S141)。这里,当将内容密钥ECKey的解密函数给出为Decrypt()时,内容密钥ECKey通过下式获得。
(式2)
CKey=Decrypt(UKey){ECKey}
当获得了内容密钥CKey时,片段密钥生成器235使用内容密钥CKey以及CurAU作为基础来生成CurAU所属片段的片段密钥SKey(S143)。这里,片段密钥SKey是根据SHash函数,基于内容密钥CKey以及CurAU所属片段的片段编号Seg生成的。这里,片段密钥SKey的生成函数为SHash(),片段密钥SKey通过下式获得。这里,INT()指对小数位的数目进行四舍五入。
(式3)
SKey=SHash(CKey,Seg)
(式4)
Seg=INT((Offset+CurAU)/SegSize)
当生成了片段密钥SKey时,使用限制部分219将片段密钥SKey输出到内容使用部分217(S145),并且内容使用部分217的处理再次开始于S107的处理。在S137的错误响应中,片段密钥SKey被设为NULL(空值)以表示不准许,S145的处理被执行并且内容使用部分217的处理再次被启动。
当处理从输出片段密钥SKey重新开始时,内容使用部分217检查片段密钥SKey以得知内容使用是否被准许(S107)。当片段密钥SKey未被设为NULL时,执行步骤S109的处理,而当片段密钥SKey被设为NULL时,给出错误响应(S123)。
当内容使用被准许时,解密部分223从mdat 15读取与CurAU相对应的经加密数据edat(S109)。对经加密数据edat的读取是利用在S103的处理中所指定的访问方法来执行的。当数据edat的读取函数为mdat()时,与CurAU相对应的经加密数据edat通过下式获得。
(式5)
edat=mdat(CurAU)
读取了经加密数据edat后,解密部分223利用片段密钥SKey对经加密数据edat解密,以获得压缩数据cdat(S111)。这里,当加密数据的解密函数为Decrypt()时,压缩数据cdat通过下式获得。当利用CBC模式通过128比特的AES密钥对数据加密时,则利用片段密钥SKey以及记录在AU中的初始化向量来对压缩数据进行解压缩。
(式6)
cdat=Decrypt(SKey){edat}
当接收到压缩数据cdat时,解码部分225对压缩数据cdat解码以获得预压缩数据bdat(S113)。当预压缩数据bdat的解码函数为Decode()时,预压缩数据bdat通过下式获得。在视频数据的情况中,例如,解码是基于诸如AVC/H.234等之类的压缩系统来执行的,而在声音数据的情况中,例如,解码是基于诸如HE-AAC等之类的压缩系统来执行的。
(式7)
bdat=Decode(cdat)
在步骤S113的处理中,如果利用有效片段密钥SKey来对加密数据edat进行解密,则其可以被解密为正常数据cdat。另一方面,如果不是利用有效片段密钥SKey来对加密数据edat进行解密,则不能获得基于压缩系统定义的比特序列,并且导致对解码错误的检测。如果在接收内容数据时轨道信息21、23、25被篡改或者数据位置被改变,则数据不被指定为解码准许范围内的数据,并且解码错误被检测到。
接收到预压缩数据bdat时,内容使用部分217检查预压缩数据bdat是否是适当的以得知成功的解码(S115)。当预压缩数据bdat适当时,步骤S117的处理被执行,而如果不是适当的,则错误响应被给出(S123)。
当预压缩数据bdat是适当的时,重放部分227将预压缩数据bdat重放为视频信息和/或声音信息,并且将其输出给输出部分205。
然后,内容使用部分217检查是否完成了内容重放(S119)。这里,内容使用部分217进行检查以查看内容重放完成是否被指示或者CurAU是否是准许范围中指定的最后的AU。当内容重放完成时,内容使用结束于步骤S125的处理,而如果内容重放未完成,则执行S121的处理。
当内容重放未完成时,数据结构分析器221分析存储在moov 13中的轨道信息21、23、25,并且将AU编号设为CurAU以重放下一个(S121)。然后,内容使用部分217返回步骤S105,并且询问使用限制部分219是否具有允许对与CurAU相对应的数据进行解码的许可证。
[2-4.总结]
如上所述,根据第一实施例的内容分发方法,利用根据针对其片段独有的信息或者具体地,内容数据中的片段位置信息所生成的片段密钥SKey来对内容数据中的每个数据加密。接下来,生成许可证,该许可证允许生成内容数据中的特定数据区域内的数据所属的一个或多个片段的片段密钥SKey。然后,将许可证用作基础来生成包含在特定数据区域中的数据所属的片段的片段密钥SKey,并且利用数据所属的片段的片段密钥SKey来对包含在特定数据区域中的每个加密数据进行解密。
因此,能够将包含在内容数据中的特定数据区域中的数据分发给用户终端200,以使得用户可以使用数据同时适当地保护内容版权。此外,可以利用简单的方法安全地发行允许使用包含在特定数据区域中的数据的许可证。
[2-5.内容分发方法的修改]
(修改1)
图15图示出了对根据本发明第一实施例的内容分发方法的一种修改。在上面的描述中,构成内容的内容数据中的每个数据被加密并且作为内容的一部分被分发。同时,在下面描述的对内容分发方法的修改1中,构成内容的内容数据中的每个数据被加密并且作为另一内容而非内容的一部分被分发。
图15图示出了具有参考图9所述的内容ID“C2323”的内容的加密数据,该数据作为具有内容ID“C3004”的另一内容被分发。
在此情况中,具有内容ID“C3004”的内容的媒体文件10被创建。在媒体文件10的moov 13中,存储有轨道信息21、23、25,其允许使用与内容ID“C2323”的内容中的AU #103432至AU #128871相对应的数据31和33。另外,内容ID“C3004”的内容的许可证被发行。在许可证的使用条件中,偏移被指定为“103432”,并且准许范围被指定为从AU #“0”开始的“25439”个AU的数据区域。这里,当偏移为“103432”时,内容ID“C3004”的数据区域被指定为从内容数据的开始数第“103432”个AU起的“25439”个AU的区域(AU #103432到AU#128871)。
另外,在图14所示的步骤S143的处理中,片段的位置信息是由每个数据在特定数据区域中的相对位置(CurAU)以及数据区域在内容数据中的开始点的绝对位置(Offset)来表达的。因此,使用内容ID“C2323”的内容数据时的Offset+CurAU的值与使用内容ID“C3004”的内容数据时的该值相同,并生成相同的片段密钥SKey。因此,即使在使用内容ID“C3004”的内容时,与包含在数据区域中的数据相对应的包含在片段Seg#52至Seg#65中的数据可以适当地被解密。
利用这种结构,当内容的内容数据中被加密的每个数据作为另一内容被分发时,可以将加密数据用作其它内容数据。这使得能够减少内容分发装置100中的内容记录量以及加密处理负荷。
(修改2)
在上面的描述中,将内容数据中的每个片段的位置信息以及内容密钥CKey用作基础来生成片段的片段密钥SKey。然而,在利用层次化管理的加密密钥对诸如IEC(国际电子技术委员会)-62455等之类的MPEG-2传输流加密时,可以将包含在数据流中的密钥流消息以及数据流在内容中的位置信息用作基础来生成数据流的流量密钥(traffic key)。同样,基于诸如SHA等之类的算法从数据流的区域数据中生成的签名可以被加密并被嵌入在区域数据中。
(修改3)
此外,在上面的描述中,每个片段在内容数据中的字节偏移的位置信息以及内容密钥CKey被用作针对片段独有的信息来生成片段的片段密钥SKey。然而,在MPEG-2传输流内容的情况中,可以将取决于每个片段的时间戳用作针对片段独有的信息来生成片段的片段密钥SKey。时间戳是播放每个片段的MPEG数据所需的信息,并且例如可以使用RTP头部的RTP时间戳、MPEG-TS头部等的节目时钟参考等。
(修改4)
此外,在上面的描述中,用户终端200从控制服务器130获取许可证并且设置在用户终端200中的使用限制部分219判断包含在许可证中的使用条件。然而,可以将与设置在用户终端200中的使用限制部分219、存储器设备215、许可证控制器211以及登记处理器209相对应的功能结构设在分发服务器120中。这里,设置在用户终端200中的使用限制部分被配置为能够安全地与用户终端200的内容使用部分217通信。在此情况中,分发服务器120的使用限制部分响应于来自用户终端200的内容使用指令判断包含在许可证中的使用条件,并且当使用被准许时,分发服务器120将包含内容密钥CKey的信息发送到内容使用部分217。利用这种结构,使用限制部分的复杂处理由内容分发装置100来执行,有粗可以减小用户终端200的处理负荷。
<第二实施例>
接下来,将描述根据本发明第二实施例的内容分发方法。
已通过发行允许对包含在内容数据中的特定数据区域内的数据解密的许可证的情况的方式描述了根据第一实施例的内容分发方法。
然而,当发行了允许对包含在特定内容的多个数据区域的每个数据区域中的数据进行解密的多个许可证时,通过使用多个许可证,可以使用包含在内容中的大多数数据。这使得不能适当地保护内容的版权。如果发行允许对包含在多个数据区域中的数据进行解密的一个许可证时,则也变得难以适当地保护内容的版权。
因此,需要利用允许对包含在特定数据区域中的数据进行解密的许可证来限制内容的使用。下面描述根据第二实施例能够基于包含在一个或多个内容数据的一个或多个数据区域中的数据的使用历史来限制内容的使用的内容分发方法。
[3-1.内容分发方法]
下面,将参考图16至21详细描述根据本发明的内容分发方法中的用户终端250的处理。这里,省略了对根据第一实施例的内容分发方法中的类似部分的说明。
图16至21是用于说明根据本发明第二实施例的许可证的示例的视图。
图16图示出了当使用了包含在特定内容的第一数据区域中的数据之后,在预定时间内对包含在邻近第一数据区域的第二数据区域中的数据的使用进行限制的许可证。在许可证L1的使用条件中,指定了内容ID(C2323)以及准许范围(数据1)。在许可证L2的使用条件中,指定了内容ID(C2323)、准许范围(数据2)、接近距离D以及限制解除时间T。由于许可证L1的准许范围与许可证L2的准许范围彼此邻近,因此,当根据许可证L1使用了数据1(使用1)之后,根据许可证L2来限制数据2的使用(使用2)直到经过了限制解除时间T为止。这里,当数据1的结尾与数据2的开始之间的距离M小于接近距离D时,则判定数据1和数据2彼此邻近。
图17图示出了对图16所示的许可证的修改。在许可证L2’的使用条件中,添加了不连续使用时的限制解除标志。在许可证L3的使用条件中,指定了内容ID(C2323)以及准许范围(数据3)。利用这种结构,当根据许可证L1使用了数据1之后,对数据1之后的数据2的连续使用被限制直到经过了限制解除时间T为止。这里,如果在数据1的使用(使用1)之后是根据许可证L3对与数据1不邻近的数据3的使用(使用2),则不根据许可证L2’限制数据2的使用(使用3)。
图18图示出了对图16所示的许可证的另一种修改。在许可证L2”的使用条件中,添加了使用其它内容时的限制解除标志。在许可证L4的使用条件中,指定了另一内容的内容ID(C5342)和准许范围(数据4)。利用这种结构,当根据许可证L1使用了数据1(使用1)之后根据许可证L4来使用其它内容的数据4(使用2)时,不根据许可证L2”来限制数据2的使用(使用3)。
图19图示出了限制数据区域的总使用时间的许可证。在许可证L5的使用条件中,指定了内容ID(C2323)、准许范围(数据1、2和3)、最大总使用时间O以及限制解除时间T。这里,当将数据3用作使用了数据1和2(使用时间P1和P2)之后的其中点(使用时间P3’)时,使用时间P1+P2+P3达到最大总使用时间O。利用这种结构,当根据许可证L5来使用特定内容区域的数据1、2和3(使用1、2、3)时,例如,数据3的使用(使用3)在数据3的使用期间(例如,当数据3被重放时)停止在使用时间超过最大总使用时间O的时刻,并且随后,数据的使用被限制直到经过了限制解除时间T为止。
图20图示出了在预定时间内对可使用的数据区域的数目进行限制的许可证。在许可证L1的使用条件中,指定了内容ID(C2323)和准许范围(数据1)。在许可证L6的使用条件中,指定了内容ID(C2323)、准许范围(数据2、3)、数据区域的最大使用数n以及限制解除时间T。利用这种结构,例如,当根据许可证L6针对特定内容指定数据区域的最大使用数n=2时,包含在两个或更少的数据区域中的数据的使用(使用1和使用2)在限制解除时间T内被准许,并且包含在三个或更多个数据区域中的数据的使用(使用3)受到限制。
图21图示出了限制所有数据区域的总使用时间以及每个数据区域的区域使用时间而不将数据区域限制为准许范围的许可证。在许可证L7的使用条件中,指定了任意开始位置标志来替代准许范围,并且指定了最大区域使用时间C和最大总使用时间O。以如下方式来限制数据的使用:数据1、2和3的区域使用时间P1、P2和P3分别小于C,并且数据1、2和3的总使用时间P1+P2+P3小于最大总使用时间O。利用这种结构,对于特定内容,根据许可证L7来限制区域使用时间超过最大区域使用时间C的数据区域的使用并且限制总使用时间超过最大总使用时间O的所有数据区域的使用。例如,在图21的示例中,数据1、2、3的区域使用时间P1、P2和P3分别小于C,因此,数据1、2和3的使用(使用1、2和3)不受限制。然而,如果在数据1和2的使用(使用1和2)之后开始数据3的使用(使用3),并且当数据3的使用时间到达P3’的时间点时总使用时间P1+P2+P3’超过最大总使用时间O,则数据3的使用(使用3)被停止,并且数据使用受到限制。
这里,在图16至21所示的许可证的使用条件中,指定了准许范围(StartAU,NumAU),然而,可以指定任意开始位置标志来替代准许范围。
图22图示出了存储器设备251的数据结构、使用限制部分255和内容使用部分253的原理功能结构,以及数据流。
如图22所示,在根据本实施例的内容分发方法中,每当使用新的许可证时,就在图14的步骤S131的处理中检查对许可证的拥有,并且使用条件判断部分271参考数据的使用历史。每次许可证被使用时,包含在许可证的使用条件中的内容ID、准许范围或实际使用范围、使用时间等被记录在存储器设备251中作为使用历史。
然后,使用条件判断部分271利用数据的使用历史作为基础来检查是否符合新许可证的使用条件。然后,当符合使用条件时,执行步骤S133及其后的处理,而当不符合使用条件时,给出错误响应(S137)。
[3-2.总结]
如上所述,根据依据第二实施例的内容分发方法,许可证包含基于包含在一个或多个内容数据的一个或多个数据区域中的数据的使用历史指定对一个或多个内容数据的使用方法的使用条件,并且当在符合使用条件时来使用内容数据时,生成包含在特定数据区域中的数据所属的一个或多个片段中的每个片段的片段密钥SKey。因此,可以基于包含在一个或多个内容数据中的一个或多个数据区域内的数据的使用历史来限制内容的使用。
<4.硬件配置>
接下来,将参考图23描述根据本发明实施例的控制服务器130的硬件配置。图23是图示出控制服务器130的硬件配置的框图。
控制服务器130主要包括CPU 901、ROM 903、RAM 905、主机总线907、桥接器909、外部总线911、接口913、输入设备915、输出设备917、存储设备919、驱动器921、连接端口923以及通信设备925。
CPU 901用作算术处理设备和控制设备,并且至少部分地根据记录在ROM 903、RAM 905、存储设备919或可移除记录介质927中的各种程序来控制控制服务器130的操作。ROM 903存储CPU 901中使用的程序、参数等。RAM 905临时存储由CPU 901执行的程序、用于执行程序的参数等。CPU 901、ROM 903和RAM 905通过主机总线907彼此相连。主机总线907经由桥接器909连接到外部总线911。
输入设备915是供用户操作的操作装置,例如鼠标、键盘、触摸面板、按钮、开关等。输入设备915例如可以是使用诸如红外线等之类的电波的远程操作装置,或者与控制服务器130的操作相对应的诸如便携式电话或PDA之类的外部设备929。输入设备915被配置为例如包括输入控制电路等,用于基于由用户利用上述操作装置输入的操作信息来生成输入信号并且将信号输出到CPU 901。控制服务器130的用户操作输入设备915来向控制服务器130输入各种数据,并且指示处理操作。
输出设备917包括能够通过视觉和听觉向用户通知所获得的信息的设备,例如打印机、便携式电话或者传真机、包括CRT显示器、液晶显示器或灯之类的显示设备、诸如扬声器或耳机之类的声音输出设备。输出设备917输出控制服务器130的处理结果。例如,显示设备将控制服务器130的处理结果显示为文本或图像信息,并且声音输出设备将所重放的声音数据、声学数据等的音频信号转换为模拟信号并输出它们。
存储设备919是用于存储数据的设备,包括例如诸如HDD之类的磁存储设备、半导体存储设备、光存储设备、磁光存储设备等。存储设备919存储由CPU 901执行的程序、各种数据以及从外面获得的数据。
驱动器921是记录介质的读写器,并且被安装在控制服务器130内或者外部。驱动器921从诸如磁盘、光盘、磁光盘、半导体存储器等之类的可移除记录介质927读取所记录的数据,将数据输出到RAM 905并且写入要记录的数据。
连接端口923是用于直接将外部设备929连接到控制服务器130的端口,例如USB端口、SCSI端口、RS232C端口等。控制服务器130经由连接端口923从连接到连接端口923的外部设备929获取数据,并且将数据提供给连接到连接端口923的外部设备929。
通信设备925是具有连接到通信网络3的通信设备的通信接口。通信设备925例如是有线或无线LAN、WUSB通讯卡、ADSL路由器、通信调制解调器等。通信设备925例如基于预定协议执行与因特网或其它通信设备的信号的发送和接收。连接到通信设备925的通信网络3是有线或无线电网络等,并且例如可以是因特网、家庭LAN、红外数据通信、无线电波通信、卫星通信等。
到此为止已描述了用于实现控制服务器130的功能的硬件配置的一个示例。上述硬件的每个结构元件都可以用通用设备或者特定于每个结构元件的功能的设备来配置。此外,由于根据本发明实施例的用户终端200和250的硬件配置几乎与上述控制服务器130的硬件配置相同,因此这里省略重复说明。
本领域的技术人员应当明白,可以根据设计要求和其它因素进行各种修改、组合、子组合和变更,只要它们在所附权利要求或其等同物的范围之内。
本申请包含与2009年2月13日向日本特许厅提交的日本优先专利申请JP 2009-32026中公开的主题有关的主题,该申请的全部内容通过引用结合于此。