首页 / 专利库 / 杂项知识产权事务 / 数字版权管理 / 内容文件的编码/解码方法

内容文件的编码/解码方法

阅读:887发布:2021-03-11

专利汇可以提供内容文件的编码/解码方法专利检索,专利查询,专利分析的服务。并且提供了一种对内容文件进行编码/解码的方法。对内容文件进行解码的方法包括:将编码的内容文件分为多个数据 块 ;将所述多个数据块组合成多个组;对于所述多个组中的每个组产生组内容密钥;从对于所述多个组产生的组内容密钥,产生用于所述多个组中的每个组的数据块的多个块密钥;以及使用所述多个块密钥对所述多个数据块进行解码。,下面是内容文件的编码/解码方法专利的具体信息内容。

1.一种对内容文件进行解码的方法,所述方法包括:
将编码的内容文件分为多个数据
将所述多个数据块组合成多个组;
对于所述多个组中的每个组产生组内容密钥;
从对于多个组中的每个组产生的组内容密钥来产生用于所述多个组中的 每个组的数据块的多个块密钥;以及
使用所述多个块密钥对所述多个数据块进行解码。
2.如权利要求1所述的方法,还包括:
将所述多个组中的每个组的多个数据块组合为多个子组;
从对于所述多个组中的每个组产生的组内容密钥产生用于所述多个子组 中的每个子组的多个子组内容密钥;以及
从子组内容密钥产生多个块密钥。
3.如权利要求2所述的方法,其中,所述多个子组内容密钥同时从组内 容密钥产生,以及所述多个块密钥同时从所述多个子组内容密钥产生。
4.如权利要求3所述的方法,其中,所述多个块密钥被用来同时对多个 数据块进行解码。
5.如权利要求1所述的方法,其中产生多个块密钥的步骤包括:通过将 组内容密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个数据 块的第一数据块进行解码的第一块密钥。
6.如权利要求5所述的方法,其中,产生多个块密钥的步骤还包括:通 过将第一块密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个 数据块的第二数据块进行解码的第二块密钥。
7.如权利要求1所述的方法,其中,将数据块组合成多个组的步骤包括: 根据组大小确定组合成所述多个组中的每个组的数据块的数量。
8.如权利要求1所述的方法,其中,当产生组内容密钥和块密钥时,也 产生许可信息。
9.如权利要求1所述的方法,其中,所述多个块密钥和所述多个数据块 以一一对应的基础相互匹配。
10.如权利要求1所述的方法,其中,数字版权管理应用于所述内容文 件。
11.一种对内容文件进行编码的方法,所述方法包括:
将内容文件分为多个数据块;
将所述多个数据块组合成多个组;
对于所述多个组中的每个组产生组内容密钥;
从对于所述多个组中的每个组的组内容密钥,产生用于对所述多个组中 的每个组的数据块的多个块密钥;以及
使用所述多个块密钥对所述多个数据块进行编码。
12.如权利要求11所述的方法,还包括:
将所述多个组中每个组中的多个数据块组合成多个子组;
从对于所述多个组中的每个组的组内容密钥,产生用于所述多个子组中 的每个子组的多个子组内容密钥;
从所述多个子组内容密钥产生多个块密钥。
13.如权利去要12所述的方法,其中,所述多个子组内容密钥同时从组 内容密钥产生,以及所述多个块密钥同时从多个子组内容密钥产生。
14.如权利要求13所述的方法,其中,所述多个块密钥被用来同时对多 个数据块进行编码。
15.如权利要求11所述的方法,其中,产生多个块密钥的步骤还包括: 通过将组内容密钥输入到哈希函数,产生用于对所述多个组中的每个组的多 个数据块的第一数据块进行编码的第一块密钥。
16.如权利要求15所述的方法,其中,产生多个块密钥的步骤还包括: 通过将第一块密钥输入到哈希函数,产生用于对所述多个组中的每个组的多 个数据块的第二数据块进行编码的第二块密钥。
17.一种解码模块,包括:
内容分割单元,将编码的内容文件分为多个数据块;
组合单元,将所述多个数据块组合成多个组;
内容密钥产生单元,对于所述多个组中的每个组产生组内容密钥;
块密钥产生单元,从对于组产生的组内容密钥,产生用于所述多个组中 的每个组的数据块的多个块密钥;以及
解码单元,使用所述多个块密钥对所述多个数据块进行解码。
18.如权利要求17所述的解码模块,其中,组合单元将所述多个组中的 每个组中的多个数据块组合成多个子组;组内容密钥产生单元对于所述多个 组中的每个组产生组内容密钥,产生用于所述多个子组中的每个子组的多个 子组内容密钥;以及块密钥产生单元从所述多个子组内容密钥产生多个块密 钥。
19.如权利要求17所述的解码模块,其中,块密钥产生单元通过将组内 容密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个数据块第 一数据块进行解码的第一块密钥。
20.如权利要求17所述的解码模块,其中,块密钥产生单元通过将第一 块密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个数据块的 第二数据块进行解码的第二块密钥。
21.一种编码模块,包括:
内容分割单元,将内容文件分为多个数据块;
组合单元,将所述多个数据块组合成多个组;
内容密钥产生单元,对于所述多个组中的每个组产生组内容密钥;
块密钥产生单元,从对于组产生的组内容密钥,产生用于所述多个组中 的每个组的数据块的多个块密钥;以及
编码单元,使用所述多个块密钥对所述多个数据块进行编码。
22.如权利要求21所述的编码模块,其中,组合单元将在多个组中的每 个组的多个数据块组合成多个子组;组内容密钥产生单元从对于所述多个组 中的每个组产生的组内容密钥,产生用于对所述多个子组中的每个子组的多 个子组内容密钥;以及块密钥产生单元从所述多个子组内容密钥产生多个块 密钥。
23.如权利要求21所述的编码模块,其中,块密钥产生单元通过将组内 容密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个数据块的 第一数据块进行编码的第一块密钥。
24.如权利要求23所述的编码模块,其中,块密钥产生单元通过将第一 块密钥输入到哈希函数,产生用于对所述多个组中的每个组的多个数据块的 第二数据块进行编码的第二块密钥。
25.一种计算机可读记录介质,其中记录了用于实现权利要求1要求保 护的对编码的内容文件进行解码的方法和对内容文件进行编码的方法的程 序。

说明书全文

技术领域

与本发明一致的方法涉及对内容文件进行编码/解码,更具体说,在数字 版权管理(DRM)系统上安全并快速地对内容进行编码/解码。

背景技术

随着互联网的广阔传播和通信技术的进步,各种数字内容被产生并处理 以用于分发。然而,不同于模拟数据,由于数字内容可无损地被复制并容易 地被重复使用、处理和分配,因此它易于违法复制。
具体地讲,数字内容分发环境曾经由于网络之间的结合、装置之间的结 合以及内容和服务之间的结合而不断扩大。换句话说,内容可使用过去连接 到互联网的个人计算机被分发,但是内容也可使用通过目前的数字广播和家 庭网络的电子设备和移动装置被分发。
为了保护内容和内容制造者免受违法复制,已积极地进行对数字版权管 理(DRM)的研究,,并且提出了使用DRM的各种服务。
即,为了限制其内容的使用,通过用内容密钥对内容编码/解码来对内容 应用DRM。
图1是用于解释将内容密钥分配给内容文件的数据现有技术方法的 示图。
由于应用DRM的内容文件通常容量很大,因此如图1所示,它在分为 多个数据块C0、C1、C2、...、Ct之后被存储,随后被编码。每个数据块C0、 C1、C2、...、Ct包括内容数据、头和二进制码,并科根据内容用各种运算法 来实现。
如图1所示,在开放移动联盟(OAM)DRM中,使用单个内容密钥Kc 来对所有数据块C0、C1、C2、...、Ct执行编码/解码。换句话说,使用相同的 内容密钥Kc对所有数据块C0、C1、C2、...、Ct编码或使用相同的内容密钥 Kc对所有数据块C0、C1、C2、...、Ct解码。
然而,如图1所示,当使用相同的内容密钥Kc对所有数据块编码/解码 时,对所有数据块C0、C1、C2、...、Ct的DRM被解除,因此,如果内容密 钥透露给其他人,则内容文件可被无任何限制地使用。
图2是用于解释将内容密钥分配给内容文件的数据块的现有技术方法的 示图。
如图2所示,在Windows媒体DRM(WMDRM)中,使用它们所分配 的内容密钥K0、K1、K2、...、Kt对数据块C0、C1、C2、...、Ct进行编码/解 码。换句话说,每个数据块使用各自分配的内容密钥进行编码/解码。
然而,如图2所示,当数据块C0、C1、C2、...、Ct使用它们所分配的内 容密钥K0、K1、K2、...、Kt进行编码/解码时,必须使用提取每个数据块C0、 C1、C2、...、Ct的每个内容密钥K0、K1、K2、...、Kt的算法来执行编码/解码, 其导致大量的时间花费在编码/解码中。

发明内容

本发明提供了一种当DRM内容文件被编码/解码时,具有高安全性和高 速的编码/解码内容的方法。
根据本发明的一方面,提供了一种对内容文件进行解码的方法。该方法 包括:将编码的内容文件分为多个数据块;将多个数据块组成多个组;对于 所述多个组中的每个组产生组内容密钥,从对于组产生的组内容密钥产生包 括在每个组中的数据块的多个块密钥;以及使用所述多个块密钥对所述多个 数据块进行解码。
所述方法还可包括:将包括在多个组中的每个组的多个数据块组合成多 个子组;从对于组产生的组内容密钥产生用于多个子组中的每个子组的多个 子组内容密钥;以及从所述子组内容密钥产生多个块密钥。
所述多个子组内容密钥可以同时从组内容密钥产生,以及多个块密钥可 以同时从所述子组内容密钥产生。
所述多个块密钥可被用于同时对多个数据块进行解码。
所述方法还可包括:通过将组内容密钥输入到哈希函数,产生用于对所 述多个组块中的每个组块的多个数据的第一数据块进行解码的第一块密钥。
所述方法还可包括:通过将第一块密钥输入到哈希函数,产生对于所述 多个组中的每个组的多个数据块的第二数据块进行解码的第二块密钥。
将数据块组合成多个组的步骤可包括:根据组的大小确定组合成每个组 的数据块的数量。
当产生组内容密钥和块密钥时,也可产生许可信息。
多个块密钥和多个数据块以一一对应的基础相互匹配。
数字版权管理可应用于内容文件。
根据本发明的另一方面,提供一种对内容文件进行编码的方法。所述方 法包括:将内容文件分为多个数据块;将所述多个数据块组合成多个组;从 组产生的组内容密钥产生用于包括在每个组的数据块的多个块密钥;以及使 用所述多个块密钥对多个数据块进行编码。
根据本发明的另一方面,提供一种解码模块。所述解码模块包括:内容 分割单元,将编码的内容文件分为多个数据块;组合单元,将所述多个数据 块组合成多个组;块密钥产生单元,从对于组产生的组内容密钥,产生对于 包括在所述多个组中的每个组的数据块的多个块密钥;解码单元,使用所述 多个块密钥将多个数据块进行解码。
根据本发明的另一方面,提供一种编码模块。所述编码模块包括:内容 分割单元,将内容文件分为多个数据块;组合单元,将多个数据块组合成多 个组;内容密钥产生单元,产生对于所述多个组中的每个组的组内容密钥; 块密钥产生单元,从对于组产生的组内容密钥产生对于包括在所述多个组中 的每个组的数据块的多个块密钥;编码单元,使用所述多个块密钥将多个数 据块进行编码。
附图说明
通过结合附图对示例性实施例进行详细描述,本发明的上述和其他方面 将会变得更加清楚,其中:
图1是用于解释将内容密钥分配给内容文件的数据块的现有技术的方法 的示图;
图2是用于解释将内容密钥分配给内容文件的数据块的现有技术的方法 的示图;
图3是根据本发明示例性实施例的编码/解码模块的框图
图4是根据本发明示例性实施例,对内容文件进行编码的方法的流程图
图5是用于解释根据本发明示例性实施例的将内容密钥分配给内容文件 的数据块的方法的示图;
图6是用于解释根据本发明示例性实施例的块密钥产生单元从组内容密 钥产生块密钥的方法的示图;
图7是用于解释根据本发明示例性实施例的块密钥产生单元从组内容密 钥产生块密钥的另一方法的示图。

具体实施方式

以下,参照附图来详细说明本发明的实施例。在图中的相同标号表示相 同部件。
图3是根据本发明示例性实施例的编码/解码模块的框图;
编码/解码模块100包括:内容分割单元110、组合单元120、组内容密 钥产生单元130、块密钥产生单元140、编码/解码单元150、以及控制单元 160。
内容分割单元110将内容文件分为编码单元大小为m的多个数据块。
组合单元120根据组大小n将分割的多个数据块组,即,根据组大小n, 将分割的多个数据块组合成组。
组内容密钥产生单元130产生用于每个组的组内容密钥Kg,以及将产生 的组内容密钥Kg和许可信息分配给组。
块密钥产生单元140从组内容密钥Kg产生用于包括在组的每个数据块 的块密钥Kc,以及将产生的块密钥Kc和许可信息分配给数据块。
编码/解码单元150使用分配给数据块的块密钥Kc对存储在数据块中的 内容数据进行编码/解码。
在使用块密钥Kc编码期间,编码/解码单元150对包括整个内容的头、 组内容的头和数据块的内容数据的头的所需信息进行编码。
在解码期间,使用包括整个内容的头、组内容的头和每个数据块的内容 数据的头的所需的信息导出用于每个组的组内容密钥Kg的编码/解码单元 150,将导出的组内容密钥Kg发送到块密钥产生单元140,并从组内容密钥 Kg产生块密钥Kc。
控制单元160控制涉及内容分割单元110、组合单元120、组内容密钥产 生单元130、块密钥产生单元140和编码/解码单元150的所有处理。
尽管为了本发明的示例性实施例的解释方便,编码/解码单元150包括在 编码/解码模块100中,但是编码单元和解码单元可分别包括在编码模块和解 码模块中。
下面,将描述根据本发明的示例性实施例的通过编码/解码模块100执行 的编码。
图4是示出根据本发明示例性实施例的对内容文件进行编码的方法的流 程图,图5是用于解释根据本发明示例性实施例的将内容密钥(Kc)分配给 内容文件的数据块的方法的示图。
如图4所示,在操作S10,内容文件被分为编码单元大小为m的多个数 据块之后被存储。
换句话说,如图5所示,内容分割单元110根据编码单元大小m,将内 容文件分为多个数据块C0、C1、C2、...、Ct。
在操作S20,分割的数据块被组合为多个组。
换句话说,如图5所示,组合单元120将多个数据块C0、C1、C2、...、 Ct组合成组G0、G1、G2、...、Gn。例如,组G0包括多个数据块C0、C1、C2 和C3,合G1包括多个数据块C4、C5、C6和C7。无需如图5所示将四个数据 块组合成一个组,并且可根据由组合单元120设置的组大小n确定包括在一 个组中的数据块的数量。
在组合完成之后,在操作S30,产生每个组的组内容密钥Kg并将其分配 给所述组。
换句话说,如图5所示,组内容密钥产生单元130产生每个组G0、G1、 G2、...、Gn的组内容密钥Kg0、Kg1、Kg2、...、Kgn,并将组内容密钥Kg0、 Kg1、Kg2、...、Kgn分配给组G1、G2、...、Gn。
在产生每个组的组内容密钥Kg并将其分配给组之后,在操作S40,产生 包括在组中的每个数据块的块密钥Kc并将其分配给数据块。
换句话说,块密钥产生单元140从分配给组的组内容密钥Kg,产生包括 在每个组中的每个数据块的块密钥Kc,并将块密钥Kc分配给数据块。
例如,对组G0,用于对数据块C0、C1、C2和C3进行编码的块密钥Kc0、 Kc1、Kc2和Kc3从组内容密钥Kg0产生,并分配给所述数据块C0、C1、C2和 C3。下面将参照图6和图7,详细描述从组内容密钥Kg产生块密钥Kc的方 法。
一旦完成块密钥KC的分配,在操作S50,使用产生的块密钥KC对包括 在每个组中的每个数据块进行编码。换句话说,编码/解码单元150使用分配 给数据块的块密钥KC将对应每个数据块的内容数据进行编码。
由于解码的执行与编码具有类似的方式,将不再重复解释。另外,从组 内容密钥Kg产生块密钥KC的方法可由本领域的技术人员容易地实现,因此 将不再说明。
图6是用于解释根据本发明示例性实施例的块密钥产生单元140从组内 容密钥Kg产生块密钥Kc的方法的示图。
为了解释的方便,从组内容密钥Kg0用于对数据块C0、C1、C2和C3进 行编码的块密钥Kc0、Kc1、Kc2和Kc3的状态将被作为示例。
如图6所示,块密钥产生单元140使用组内容密钥Kg0产生对应于子组 的子组内容密钥Kg01和子组内容密钥Kg02。块密钥Kc0和Kc1可以从子组内 容密钥Kg01导出,并且块密钥Kc2和Kc3可以从子组内容密钥Kg02导出。
通过使用对应于组内容密钥和块密钥之间的中间级的子组内容密钥,可 减少产生块密钥所需的时间。
换句话说,由于块密钥Kc0、Kc1、Kc2和Kc3同时从子组内容密钥Kg01 和Kg02导出,因此产生块密钥Kc0、Kc1、Kc2和Kc3所需的时间与从组内容 密钥产生两个块密钥所需的时间相同,所述子组内容密钥Kg01和Kg02是从组 内容密钥Kg0产生的。
换句话说,从组内容密钥产生块密钥所需的时间与包括在组中的内容密 钥级的数量成比例。因此,随着包括在组中的内容数据的数量增加,可节省 更多产生块密钥的时间。
因此,包括在组中的所有块密钥的可在短于从组内容密钥分别产生包括 在组中的数据块的块密钥所需的时间段的时间段产生,并且编码/解码单元 150使用产生的块密钥对数据块进行编码。
对编码的数据块进行解码的处理与对数据块进行编码的处理类似。
换句话说,块密钥产生单元140使用组内容密钥Kg0产生与子组对应的 子组内容密钥Kg01和子组内容密钥Kg02。块密钥Kc0和Kc1可以从子组内容 密钥Kg01导出,并且块密钥Kc2和Kc3可以从子组内容密钥Kg02导出。块密 钥Kc0,Kc1、Kc2和Kc3可用于对数据块C0、C1、C2和C3进行解码。
在解码期间,与编码处理相同,块密钥Kc0、Kc1、Kc2和Kc3同时从子 组内容密钥Kg01和Kg02产生,所述子组内容密钥Kg01和Kg02是从组内容密 钥Kg0产生的,由此,当与从组内容密钥Kg0分别产生包括在组G0中的数据 块C0、C1、C2和C3的块密钥Kc0、Kc1、Kc2和Kc3所需的时间比较时,可减 少用于产生块密钥Kc0、Kc1、Kc2和Kc3所需的时间
这样,通过图6示出的块密钥产生的方法,可减少用于对内容数据进行 编码或解码所需的时间。
图7是用于解释根据本发明示例性实施例的块密钥产生单元140从组内 容密钥Kg产生块密钥KC的另一方法的示图。
与图6相同,为解释方便,以下情形作为示例:将从组内容密钥Kg0产 生用于对数据块C0、C1、C2和C3进行编码的块密钥Kc0、Kc1、Kc2和Kc3。
如图7所示,块密钥产生单元140为了产生块密钥Kc0,对组内容密钥 Kg0应用哈希函数,并且为了产生块密钥Kc1,对块密钥Kc0应用哈希函数。
块密钥产生单元140为了产生块密钥Kc2,对产生的块密钥Kc1也应用 哈希函数,并且为了产生块密钥Kc3,对产生的块密钥Kc2应用哈希函数。
换句话说,使用所给出的哈希表,当组内容密钥Kg0输入到哈希函数时, 块密钥产生单元140将内容密钥Kg0与块密钥Kc0相匹配以输出块密钥Kc0, 当块密钥Kc0输入到哈希函数时,块密钥产生单元140将块密钥Kc0与块密 钥Kc1进行匹配以输出块密钥Kc1。类似地,当块键Kc1输入到哈希函数时, 块密钥产生单元140将块密钥Kc1与块密钥Kc2进行匹配以输出块密钥Kc2, 当块键Kc2输入到哈希函数时,块密钥产生单元140将块密钥Kc2与块密钥 Kc3进行匹配以输出块密钥Kc3。
更具体地讲,块密钥产生单元140为了搜索和产生与内容数据C0对应的 块密钥Kc0,将组内容密钥Kg0代入哈希函数H,如下:
Kc0=H(Kg0)   ..............................(1)
块密钥产生单元140为了搜索和产生与内容数据C1对应的块密钥Kc1, 将产生的块密钥Kc0代入哈希函数H,如下:
Kc1=H(Kc0)=H(H(Kg0))   ..............................(2)
以这种方式,块密钥产生单元140使用哈希函数H为内容数据的连续块 产生块密钥。
因此,当包括在一个组中的内容数据块的数量为n时,块密钥产生单元 140产生数据块Cn的块密钥Kcn,如下:
Kcn=H(Kcn-1)=Hn+1(Kg0)   ..............................(3)
以这种方式,块密钥产生单元140通过像链条一样连接哈希函数,可从 单个组内容密钥Kg0产生包括在组G0的数据块C0、C1、C2和C3的所有块密 钥Kc0、Kc1、Kc2和Kc3。因此,如果多个块密钥之一没有被产生,则下一 个块密钥也不能被产生,由此可增强安全性。
而且,由于通过使用哈希函数减少用于搜索块密钥所需的时间,因此可 高速产生块密钥,并且编码/解码单元150使用产生的块密钥对相应的数据块 进行编码。
对编码的数据块进行解码的处理与对数据块进行编码的处理类似。
换句话说,编码/解码单元150将哈希函数应用于组内容密钥Kg0以产生 块密钥Kc0,并将哈希函数应用于块密钥Kc0以产生块密钥Kc1。
编码/解码单元150将哈希函数应用于块密钥Kc1以产生块密钥Kc2,并 将哈希函数应用于块密钥Kc2以产生块密钥Kc1。
这样,在解码期间,与编码处理相同,可通过使用哈希函数减少产生块 密钥所需的时间以及提高安全性。
根据本发明的在执行程序之前编码和解码内容文件的方法以及在程序执 行期间编码和解码内容文件的方法也可实现为计算机可读代码。程序代码和 代码段可容易地由本领域的计算机编程技术人员解释。所述程序被存储在计 算机可读介质中,并且随后由计算机读取并执行,由此实现对内容文件进行 编码和解码的方法。计算机可读介质的例子包括磁记录介质和光学记录介质。
如上所述,根据本发明,内容文件在被分为多个数据块之后被编码和解 码,由此提高安全性以及增加内容文件的编码和解码速度。
虽然已经参照本发明的示例性实施例具体显示和描述了本发明,本领域 的技术人员应该理解,在不脱离由权利要求所定义的本发明的精神和范围的 情况下,可以进行形式和细节上的各种修改
申请要求于2006年11月22日提交到韩国知识产权局的第 10-2006-0116070号韩国专利申请的优先权,该申请全部公开于此以资参考。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈