本地加扰系统的制作方法

文档序号:7637271阅读:209来源:国知局
专利名称:本地加扰系统的制作方法
技术领域
本发明涉及加扰/解扰系统,尤其是,但非排外地,涉及用于数 字内容和数据的安全分发和存储的加扰/解扰系统。
背景技术
首先介绍,安全视频处理器(secure video processor, SVP)系统是 用于数字内容分发的内容和数据保护系统。该系统的执行元件通常是 被称为安全视频处理器(SVP)的标准化的单芯片硅硬件设备。SVP通 常使用加扰处理来进行内容的本地保护。
下面的参考文献被认为能够代表现有技术的状态
FIPS公布.197 "Announcingthe Advanced Scrambling Standard";
ISO/正C 13818-1 "Information Technology - Generic Coding of Moving Pictures and Associated Audio Information Systems "; 以及
NDS公司的PCT公开WO 2004/086664。
上面提及的所有参考文献和贯穿本说明书的公开,以及在那些参 考文献中提及的所有参考的公开都被结合于此以供参考。

发明内容
本发明在其优选实施例中,寻求提供一种改进的用于数字内容的 加扰/解扰系统,通常适用于流型和非流型视听(A/V)内容以及数据。
通常,加扰和解扰数字内容的设备必须既执行数据的加扰又执行 数据的解扰。优选地,为了简化硬件设计,并最小化硬件门数,本发 明的发明者认为,除了其他考虑之外,在本发明的系统中还应该优选
地满足下面的需求
(a)虽然大量分组共享相同的控制字(CW);并且由于"跳台 (zapping)"的需求(换句话说,为了能够从任意的数据分组开始解扰)这些分组不能被"链在一起",但是因为在分组内的图案位置中数据 分组可能携带有敏感信息,所以需要防止攻击者检测到两个不同分组 的包含同样信息的区域。虽然通过将敏感数据移动到不同分组的不同 位置可以获得上述观点的目的,但是优选地是找到一种解决上述问题 的方案,该方案不必创建新的信令机制来将每个分组中的敏感数据的 位置以信号形式发送给使用该数据的应用。上述观点通常对数据安全
性更重要,而对A/V安全性不太重要。
(b) 加扰/解扰密钥改变的次数远远少于分组到达的次数;因此,
许多分组使用相同的密钥加扰。
(c) 分组加扰和解扰应该在同一个通道执行。
(d) 分组的某些比特必须不受加扰和解扰的影响。即,某些比特 必须保持"干净(in the clear)";必须保持干净的比特、字节或数据在 这里也被称为"必须保持干净(Must Stay Clear)"或"MSC"比特、 字节或数据。需要某些比特不受加扰和解扰影响的原因是为了即使在 解扰前也可以干净地获得一些关于流的信息。例如但不限制前述的一 般性,在MPEG-2传输流中,每个分组的前四个字节保持干净。该前 四个字节提供用于多路分解所需的信息、关于分组是否被加扰的信 息、关于分组是利用奇密钥还是偶密钥加扰的信息(如果分组被加 扰),以及本领域中公知的其它信息。在一些分组中,报头指示分组 的起始部分是"适配字段",其提供接收器必需的一些其它信息;这 些信息也必须保持干净。可选地,发送者例如可以选择发送保持干净 的视频信息中的至少一部分,以使得能够在个人录像机(PVR)系统中 更容易地进行搜索。
(e) 应该将128比特AES用作基本构件块。然而,本领域普通技 术人员应当理解,任何其它合适的加扰标准也可以用作基本构件块。
(f) 应该处理不同类型的传输流(每一个由"方案"定义)。说明书 和权利要求中使用的术语"方案"被定义为一组用于所传输的内容的 参数(例如,但是不限于,分组长度和计算每个分组中不被解扰的MSC 部分的方法)。MPEG-2是方案的一个例子,其定义了传输流的参数。
(g) 加扰/解扰方法应该尽可能地接近已经经受住时间检验的并被广泛接受的方法。
(h) 攻击者应该不能够通过改变密文的单个比特而改变明文的单 个比特,除了奇异的情况,例如短的奇异块。上述观点通常对数据安 全性更重要,而对A/V安全性不太重要。
(i) 加扰/解扰系统应该具有两种模式。在第一模式中,必须在对 MSC部分的数据应用任何变化之前对每个分组解扰,因为分组的 MSC部分的数据有助于分组的其余部分的加扰/解扰功能。第一模式 被称为MSC数据相关(MSC data dependent, MDD)模式。在MDD模 式中,加扰的分组的MSC部分(报头或适配字段中包含的进程ID(PID) 或节目时钟参考(program clock reference, PCR))中的数据的改变通常 可逆地影响解扰,虽然这在一些环境中是期望的,但是在其它环境中, 尤其在头端(Headend)应用中,MDD模式禁止加扰/解扰系统的使用。 因此,在第二模式中,可以对加扰的分组的MSC部分的数据进行改 变,因为MSC部分的数据对加扰/解扰功能没有贡献。换句话说,在 第二模式中,分组不需要被解扰以改变MSC部分。第二模式被称为 MSC数据无关(MSC data independent, MDI)模式。在MDI模式中, 可以引入对MSC部分的数据的改变(例如但是不限于,用于再次多路 复用),而不需要加扰/解扰分组。在MDD模式中,每个分组必须在 对MSC部分进行任何改变之前被解扰;而且这使得特别授权成为必 要。MDD模式对商业应用尤其有用,在这些商业应用中设法有意地 防止如下情况,例如加扰的分组的再次多路复用;加扰的分组的接 合和插入;以及改变加扰的分组中的某些字段,如PCR。相反,当在 商业上期望,例如但不限于,再次多路复用加扰的流,以使得可以在 加扰的分组上执行MSC部分的改变时;换句话说,分组不是必须在 改变MSC部分(例如但不限于改变PID或其它MSC字段)之前被解扰 时,优选地使用MDI模式。
(D加扰/解扰系统实施起来应该很简单,并重复使用几个基本构 件块。
(k)即使对于具有一些规定图案的数据分组来说,加扰/解扰系统 也应该是健壮的,并且该系统应该限制识别密文图案的可能性。
10上述需求导致发明者选择具有密文窃用(Ciphertext Stealing, CTS) 的AES CBC作为本发明的加扰/解扰系统的优选的基本构件块。然 而,本领域普通技术人员应当理解,任何其它合适的加扰都可以用作 加扰/解扰系统的基本构件块。
本发明在其优选实施例中,基于初值(Initial Value, IV)进行分组 的加扰/解扰,其中该初值是下列数据的函数分组的MSC部分的至 少一些数据;和/或分组的数据无关特性(如长度);和/或正在处理的
分组的MSC部分或适配字段的数据无关特性(如长度)。
本发明的系统在其优选实施例中,包括用于数字内容分发系统的 内容保护系统,用来加扰和/或解扰分组。每个分组通常具有必须保 持干净(MSC)部分,其通常用于分组管理,例如路由和多路分解。 MSC部分总是保持干净(换句话说,MSC部分从不被加扰)。
该系统通常包括加扰/解扰设备,或者其仿真,通常适于基于初 值和控制字来对分组进行加扰和/或解扰。说明书和权利要求中使用 的术语"控制字(Control Word, CW)"表示控制A/V内容和/或数据 的加扰/解扰的密码密钥或者"密钥"。此外,说明书和权利要求中使 用的术语"加扰"和"加密"在其所有文法形式中是同义的。类似地, 说明书和权利要求中使用的术语"解扰"和"解密"在其所有文法形 式中是同义的。根据本发明的一个最优选的实施例,在MDI模式中 用来加扰/解扰每个分组的初值是正在处理的分组的数据无关特性的 函数,尤其是正在处理的分组的MSC部分的数据无关特性的函数, 所述数据无关特性例如但是不限于分组的长度和/或MSC部分的长 度。
在MDD模式中,每个分组的初值是正在被加扰和/或解扰的分组 的MSC的数据(MSC的实际比特)的函数。因此,MDD模式对需要 限制加扰流的未授权操作的应用是很有用的。未授权操作包括,例如, 再次多路复用,将加扰的单个节目传输流结合进多个节目传输流,或 改变加扰流中的特定MSC参数。优选地,每个分组的初值是MSC 部分的一个数据集合的函数,该数据集合排除了 MSC部分的一个或 多个比特。换句话说,MSC部分的某些比特被掩蔽,不被用作初值。该排除或掩蔽通常基于MSC的预定比特的位置,或者根据传输流的 方案来定义,例如但不限于,MPEG-2方案。例如,通过指定要排除 的字段的类型并解析MSC中的实际数据以定位期望的字段而获知要 排除的比特。
因此根据本发明的一个优选实施例提供了一种用于对内容流的 分组进行加扰/解扰的系统,每个分组具有总是保持干净的必须保持 干净(MSC)部分,所述系统包括输入处理器,包括接收模块,用 于接收所述流;特性分析器,用于分析所述流,以确定每个分组的至 少一个数据无关特性;以及与所述输入处理器可操作地相关联的加扰 /解扰设备,所述加扰/解扰设备包括接收模块,用于从所述输入处 理器接收每个分组的所述至少一个数据无关特性;以及初值模块,用 于将每个分组的初值确定为正在处理的分组中的一个的至少一个数 据无关特性的函数,其中所述加扰/解扰设备用于基于所述初值和控 制字对分组进行加扰和解扰中的至少一种。
进一步根据本发明的一个优选实施例,所述系统包括适配字段管 理器,用于通过执行以下操作中的一种将熵引入分组的初值在至少 一些分组中人工创建适配字段;以及扩大至少一些分组的现有适配字
段,使得分组的适配字段的长度是可选择的,其中所述适配字段形成 所述MSC部分的一部分,所述至少一个无关特性是所述MSC部分 的长度和所述适配字段的长度中的至少一个。
更进一步根据本发明的一个优选实施例,所述至少一个数据无关 特性是所述分组的长度。
此外,根据本发明的一个优选实施例,所述特性分析器用于分析
每个分组的MSC部分的至少一个数据无关特性;以及每个分组的初
值是正在处理的一个分组的MSC部分的至少一个数据无关特性的函 数。
而且,根据本发明的一个优选实施例,所述MSC部分的至少一 个数据无关特性是所述MSC部分的长度。
进一步根据本发明的一个优选实施例,所述MSC部分包括适配 字段;所述特性处理器用于分析所述适配字段的至少一个数据无关特性;以及每个分组的初值是正在处理的一个分组的适配字段的至少一 个数据无关特性的函数。
更进一步根据本发明的一个优选实施例,每个分组的初值还是所 述正在处理的一个分组的MSC部分的数据内容的函数。
根据本发明的另一个优选实施例还提供了一种用于对内容流的 分组进行加扰/解扰的系统,每个分组具有总是保持干净的必须保持 干净(MSC)部分,所述系统包括输入处理器,包括接收模块,用 于接收所述流;以及掩码模块,用于为每个分组创建数据掩码,所述 数据掩码包括所述MSC部分中除了 MSC部分的至少一个数据比特 之外的所有数据;以及与所述输入处理器可操作地相关联的加扰/解 扰设备,所述加扰/解扰设备包括接收模块,用于从所述输入处理 器接收用于每个分组的所述数据掩码;以及初值模块,用于将每个分 组的初值确定为正在处理的分组中的一个的数据掩码的函数,以使得 所述初值不是所述正在处理的一个分组的MSC部分的所述至少一个 数据比特的函数,所述加扰/解扰设备用于基于所述初值和控制字对 分组进行加扰和解扰中的至少一种。
此外,根据本发明的一个优选实施例,所述至少一个比特是位置 相关的。
而且根据本发明的一个优选实施例,所述至少一个比特是所述 MSC部分的第二字节的第一比特。
根据本发明的另一个优选实施例还提供了一种用于对内容流的 分组进行加扰/解扰的系统,所述流与方案相关联,所述系统包括-输入处理器,包括接收模块,用于接收所述流;以及方案分析器, 用于基于至少一个分组的数据形式来确定所述方案;以及加扰/解扰 设备,用于基于所述方案对分组进行加扰和解扰中的至少一种。
进一步根据本发明的一个优选实施例,所述系统包括初值模块, 用于基于所述方案确定每个分组的初值,其中所述加扰/解扰设备用 于基于所述初值和控制字对分组进行加扰和解扰中的至少一种。
更进一步根据本发明的一个优选实施例,每个分组具有总是保持 干净的必须保持干净(MSC)部分,所述系统进一步包括掩码模块,用
13于为每个分组创建数据掩码,所述数据掩码包括所述MSC部分中除 了所述MSC部分的至少一个数据比特之外的所有数据,所述数据掩 码是基于所述方案的,所述初值模块用于将每个分组的初值确定为正 在处理的分组中的一个的数据掩码的函数,以使得所述初值不是所述 正在处理的一个分组的MSC部分的所述至少一个数据比特的函数。
根据本发明的另一个优选实施例还提供了一种用于对内容流的 分组进行加扰/解扰的方法,每个分组具有总是保持干净的必须保持 干净(MSC)部分,所述方法包括接收所述流;分析所述流,以确定 每个分组的至少一个数据无关特性;将每个分组的初值确定为正在处 理的分组中的一个的至少一个数据无关特性的函数;以及基于所述初 值和控制字对分组进行加扰和解扰中的至少一种。
此外,根据本发明的一个优选实施例,所述方法包括执行下面操 作中的一个在至少一些分组中人工创建适配字段,以及扩大至少一
些分组的现有适配字段,以使得分组的适配字段的长度是可选择的, 所述适配字段形成所述MSC部分的一部分,所述至少一个无关特性 是所述MSC部分的长度和所述适配字段的长度中的至少一个。
而且根据本发明的一个优选实施例,所述至少一个数据无关特性 是正在处理的一个分组的长度。
进一步根据本发明的一个优选实施例,通过分析每个分组的 MSC部分的至少一个数据无关特性,来执行所述分析;以及通过将 每个分组的初值确定为所述正在处理的一个分组的MSC部分的至少 一个数据无关特性的函数,来执行所述确定。
更进一步根据本发明的一个优选实施例,所述MSC部分的至少 一个数据无关特性是所述正在处理的一个分组的MSC部分的长度。
此外,根据本发明的一个优选实施例,所述MSC部分包括适配 字段;通过分析所述适配字段的至少一个数据无关特性,来执行所述 分析;以及通过将每个分组的初值确定为所述正在处理的一个分组的 适配字段的至少一个数据无关特性的函数,来执行所述确定。
而且根据本发明的一个优选实施例,所述确定还包括将每个分组 的初值确定为所述正在处理的一个分组的MSC部分的数据内容的函
14数。
根据本发明的另一个优选实施例还提供了一种用于对内容流的 分组进行加扰/解扰的方法,每个分组具有总是保持干净的必须保持 干净(MSC)部分,所述方法包括接收所述流;为每个分组创建数据
掩码,所述数据掩码包括所述MSC部分中除了所述MSC部分的至 少一个数据比特之外的所有数据;将每个分组的初值确定为正在处理 的分组中的一个的数据掩码的函数,以使得所述初值不是所述正在处 理的一个分组的MSC部分的所述至少一个数据比特的函数;以及基
于所述初值和控制字对所述分组进行加扰和解扰中的至少一种。
进一步根据本发明的一个优选实施例,所述至少一个比特是位置 相关的。
更进一步根据本发明的一个优选实施例,所述至少一个比特是所
述MSC部分的第二字节的第一比特。
根据本发明的另 一个优选实施例还提供了 一种用于对内容流的 分组进行加扰/解扰的方法,所述流与方案相关联,所述方法包括-接收所述流;基于至少一个分组的数据形式确定所述方案;以及基于 所述方案对所述分组进行加扰/解扰。
此外,根据本发明的一个优选实施例,所述方法包括基于所述方 案确定每个分组的初值,其中对每个分组的加扰/解扰是基于所述初 值和控制字的。
而且根据本发明的一个优选实施例,每个分组具有总是保持干净 的必须保持干净(MSC)部分,所述方法进一步包括为每个分组创建
数据掩码,所述数据掩码包括所述MSC部分中除了所述MSC部分 的至少一个数据比特之外的所有数据,所述数据掩码是基于所述方案 的,每个分组的初值是正在处理的分组中的一个的数据掩码的函数, 以使得所述初值不是所述正在处理的一个分组的MSC部分的所述至 少一个数据比特的函数。


从下面结合附图的详细描述中,将更充分地领会和理解本发明,其中
图1是根据本发明优选实施例构建和操作的系统的简化方框图; 图2是图1的系统的输入处理器的优选实施的简化方框图; 图3是图1的系统的加扰/解扰设备的优选实施的简化方框图; 图4是说明图1的系统的优选操作方法的简化流程图; 图5是由图1的系统处理的未加扰的分组和加扰的分组中的分组 的简化视图6是用在图1的系统中的初值的简化视图; 图7是用于图1的系统的优选纯CBC加扰处理的流程图8是用于图1的系统的具有密文窃用加扰处理的优选CBC的 流程图9是用于图1的系统的优选的短的单独块加扰处理的流程图; 图IO是用于图1的系统的优选纯CBC解扰处理的流程图; 图11是用于图1的系统的具有密文窃用解扰处理的优选CBC的 流程图;以及
图12是用于图1的系统的优选的短的单独块解扰处理的流程图。
具体实施例方式
本发明在其优选实施例中,设法提供一种用于数据内容保护系统 的改进的加扰/解扰系统。术语"内容"在这里定义为包含但是不限 于,音频和/或视频和/或数据内容。
背景部分中列出的需求使得发明者选择具有密文窃用(CTS)的 AESCBC作为本发明的加扰/解扰系统的优选基本构件块。因此,本 发明的系统通常参考AESCBC进行描述。然而,本领域普通技术人 员可以理解,任何其它合适的加扰都可以用作该加扰/解扰系统的基 本构件块。
现在参考图1至4。图1是根据本发明优选实施例构建和操作的 系统10的简化方框图。图2是图1的系统10的输入处理器12的优 选实施的简化方框图。图3是图1的系统10的加扰/解扰设备14的 优选实施的简化方框图。图4是说明图1的系统10的优选操作方法
16的简化流程图。系统10优选地用于对内容流16的分组进行加扰/解 扰。系统10通常包括输入处理器12、加扰/解扰设备14和安全接口 18。安全接口 18优选地是输入处理器12和加扰/解扰设备14之间的 接口。流16通常既输入到输入处理器12,又输入到加扰/解扰设备 14。说明书和权利要求中使用的术语"安全"定义为能够抗篡改,以 使得输入处理器12和加扰/解扰设备14之间流动的数据能够抵抗电 脑黑客的修改。
现在参考图5,其是由图1的系统10处理的流16的未加扰的分 组20和加扰的分组22的简化视图。未加扰的分组20通常包括MSC 部分24和有效载荷26。未加扰的分组20和加扰的分组22具有分组 长度30。 MSC部分24通常还具有长度32。 MSC部分24总是保持 干净。换句话说,MSC部分24从不被加扰地发送或存储,即使是在 加扰的分组22中,MSC部分24也是"干净"的。MSC部分24通 常包括适配字段28,其也总是保持干净。MSC部分24通常包括分组 20、 22的必须保持干净的报头(开始处的若干字节)。例如,MPEG-2 分组具有188字节的分组长度,4字节的MSC部分加可选的适配字 段。
再次参考图1至4以及图5。输入处理器12通常是SVP传输引 擎的一部分。输入处理器12优选地包括接收模块34,用来接收流 16(方框38)。输入处理器12通常还用于接收信号36,向输入处理器 12通知流16的方案,以使得输入处理器12根据用信号表示的方案 进行操作(方框40),例如但是不限于,用于确定数据掩码48,如下 面将详细描述的。
输入处理器12优选地还包括MSC解析器42、特性分析器44、 方案分析器45、适配字段管理器47以及掩码模块46。
MSC解析器42优选地用于解析分组20、 22,以识别MSC部分 24,以及,如果必要的话,识别适配字段28(方框54)。分组20、 22 通常包括指示MSC部分24的位置和大小的一个或多个字节(取决于 传输方案)。
特性分析器44优选地用于分析流16,以确定每个分组20、 22的一个或多个数据无关特性60;和/或每个分组20、 22的MSC部分 24的一个或多个数据无关特性60;和/或每个MSC部分24的适配字 段28的一个或多个数据无关特性60 (方框56)。说明书和权利要求中 使用的术语"数据无关特性"被定义为与分组20、 22(包括MSC部 分24和适配字段28)的数据值无关的因数。数据无关特性60包括任 何合适的数据无关特性,例如但不限于,分组20、 22的长度30,和 /或MSC部分24的长度32,和/或适配字段28的长度。如果不使用 信号36,则方案分析器45优选地基于分组20、 22的数据形式来确 定流16的方案(方框55)。分组20、 22的数据形式优选地由上述MSC 解析器42和特性分析器44确定。如上所述,数据掩码48通常是流 16的方案的函数。
为了加扰,例如但不限于,当系统10是广播头端或内容源设备 的一部分时,适配字段管理器47优选地在至少一些分组20中创建人 工适配字段(如果适配字段不存在的话),或者人工扩大至少一些分组 的现有适配字段28(方框57),以使得分组20的适配字段的长度,并 从而MSC部分24的长度32,是可选择的。人工创建/扩大适配字段 28的原因是将熵(entropy)引入分组20的初值,如下面将参考加扰/解 扰设备14更详细解释的。
掩码模块46优选地用于为每个分组20、 22创建数据掩码48, 数据掩码48通常包括MSC部分中除了 MSC部分24的一个或多个 数据比特之外的所有数据(方框58)。下面参考操作在MDD模式的加 扰/解扰设备14更详细地描述掩码。如上所述,数据掩码48通常是 流16的方案的函数。
加扰/解扰设备14通常通过安全接口 18与输入处理器12可操作 地相关联。输入处理器12、加扰/解扰设备14和安全接口 18优选地 适于抗篡改,以防止对加扰侧的MSC部分24的修改,使整个分组 20保持干净。例如,电脑黑客可能试图修改MSC部分24的长度32, 以使MSC部分24的长度32变成分组20的长度30,从而使整个分 组20即使在加扰后也保持干净,因为MSC部分24现在是整个分组。
加扰/解扰设备14优选地执行系统10的加扰/解扰功能。加扰/解扰设备14通常具有子模块,包括接收模块50、初值模块52和模 式多路复用器78。
接收模块50优选地用于从输入处理器12接收每个分组20、 22 的数据无关特性60、数据掩码48、 MSC部分24和分组长度30(方框 66)。以字节为单位的分组长度30通常需要被加扰/解扰设备14所知, 以初始化加扰/解扰处理。应当注意,某些方案,例如但不限于, MPEG-2方案,分组长度30对所有的分组20、 22是恒定的。然而, 本领域普通技术人员应当理解,其它方案可以具有非恒定的分组长 度,例如但不限于,因特网协议分组。
加扰/解扰设备14的另一个输入通常包括多个控制字62。每个控 制字62通常被一组分组20、 22共享。
系统10的操作模式64也是加扰/解扰设备14的输入,以供模式 多路复用器78使用。操作模式64通常用来改变模式控制标记(未示 出),其命令加扰/解扰设备14的模式多路复用器78操作在MDI模式 或MDD模式。模式控制标记优选地在由整个内容保护系统提供的安 全模式中被激活,因此,例如,如果系统当前操作在MDD模式,则 防止电脑黑客将系统10的操作改变为MDI模式,作为第一实例,通 过在密码保护的内容专用控制数据报中指定需要的模式,并将该数据 报传送给加扰/解扰设备14,来将模式控制标记在安全模式激活。作 为第二实例,通过SVP控制块安全地将需要的模式和控制字一起传 递给加扰/解扰设备14,来将模式控制标记在安全模式激活。
除了图1至5之外,现在还参考图6,其是在图l的系统中使用 的初值70的简化视图。
加扰/解扰设备14的一个附加的,可选的输入是MSC覆盖 (override)68输入。如果MSC覆盖68输入等于一,则加扰/解扰设备 14通常忽略从输入处理器12接收的MSC部分24,并迫使MSC部 分24的长度32变为零,两者都用于计算初值70,以及用于被加扰 的分组20的实际部分,以使得整个分组20被加扰。MSC覆盖特征 优选地不用于MPEG-2方案。
在MDI模式中,初值模块52优选地用于将每个分组20、 22的
19初值70确定为正在处理的分组20、 22的数据无关特性60的函数; 和/或正在处理的分组20、 22的MSC部分24的数据无关特性60的 函数;和/或正在处理的分组20、 22的MSC部分24的适配字段28 的数据无关特性60的函数(方框74)。在加扰中,当初值70被确定为 适配字段28的长度和/或MSC部分24的长度32的函数时,通过由 适配字段管理器47人工改变至少一些分组20的适配字段28的长度, 将熵引入初值70,如上所述。加扰/解扰设备14优选地用于基于分组 20、 22的初值70和控制字62来加扰/解扰流16的分组20、 22,从 而产生输出流72(方框76)。
应当注意,当通过人工操作分组20的适配字段而将熵引入初值 70时,从分组20提取有效载荷26的应用如传输方案(例如但不限于, MPEG-2)定义的那样从分组22中自动提取有效载荷26(排除了 MSC 部分24)。换句话说,不需要为了处理由本发明的流创建的初值熵而 修改提取有效载荷的应用。
在MDD模式中,初值模块52优选地用于将每个分组20、 22的 初值70确定为正在处理的分组20、 22的数据掩码48的函数,以使 得初值70不是正在处理的分组20、22的MSC部分24中由数据掩码 48所排除的一个或多个数据比特的函数(方框74)。换句话说,掩码 是使得MSC部分24的某些部分不被用于形成初值70的一种方式。 然而,应当注意,整个MSC部分24,甚至包括被数据掩码48掩蔽 掉的部分,优选地包含在输出流72中。
因此,掩码通常允许指定在MDD模式中,MSC部分24中可以 被修改而不需要再次加扰的比特。
被数据掩码48排除的比特优选地与位置相关,以使得可以基于 MSC部分24的预定比特的位置,或者根据传输流的方案,如MPEG-2 方案,来执行掩蔽。作为非限制性实例,通过指定要被排除的字段的 类型,并解析MSC部分24中的实际数据以定位期望的字段类型,来 确定要被排除的比特。
在MPEG-2方案中,MSC部分24的第二字节的第一比特通常是 传输错误指示符,其可以在分组20、 22传输期间随着传输状态而改V
变。因此,当使用MPEG-2方案时,优选地掩蔽第二字节的第一比特 使其不被用在初值70中。
如上所述,数据掩码48通常是流16的方案的函数。此外,在 MDD模式中,对分组20、 22进行加扰/解扰时使用的初值70通常是 数据掩码48的函数。因此,在MDD模式中,初值70以及通过加扰 /解扰设备14进行的分组20、 22的加扰/解扰通常是流16的方案的函 数。
根据本发明的第一可替换的优选实施例,在MDD模式中,初值 模块52用于将每个分组20、 22的初值70确定为数据无关特性60以 及MSC部分24的数据内容的函数,其中MSC部分24中没有数据 内容被明确地排除以使其不用在初值70中。
根据本发明的第二可替换的优选实施例,在MDD模式中,初值 模块52用于将每个分组20、 22的初值70确定为数据无关特性60以 及正在处理的分组20、 22的数据掩码48的函数。
系统10通常被硅供应商实现为SVP芯片内容处理元件的一部 分,并具有由SVP内核提供的控制字。
现在参考图6,其是在图1的系统10中使用的初值70的优选实 例的简化视图。初值70基于分组长度30(在初值70的最重要64比特 中)和MSC部分24的长度32(在初值70的最不重要64比特中)。对 于MPEG-2,分组长度30和MSC部分24的长度32中的每一个通常 都是一个字节。因此,对于MPEG-2,通常初值70只有两个字节非 零。在图6中,MSB表示"最重要比特",LSB表示"最不重要比特"。
现在参考图7至12。图7是用于图1的系统10的优选纯CBC 加扰处理的流程图。图8是用于图1的系统10的具有密文窃用加扰 处理的优选CBC的流程图。图9是用于图1的系统IO的优选的短的 单独块加扰处理的流程图。图10是用于图1的系统10的优选的纯 CBC解扰处理的流程图。图11是用于图1的系统10的具有密文窃 用解扰处理的优选CBC的流程图。图12是用于图1的系统10的优 选的短的单独块解扰处理的流程图。
21参考图7至12使用下面的值和符号
"MSC"是MSC部分的数据内容; "MSClength"是MSC部分的长度; "掩码(Mask)"是数据掩码;
"E"是使用给定16字节密钥CW的16字节块的标准AES密码
加密;
"D"是使用给定16字节密钥CW的16字节块的标准AES密 码解密;
"XOR"是按位异或(XOR)运算符; "P"是明文; "C"是密文;
排列表示从O至m用于MSC和掩码,至n用于P和C; "F(MSC,分组长度)"是16字节初值(IV),参见图6。
在MDD模式中,MSC部分24的CBC-MAC(MAC是消息认证 码)优选地被用作第一 CBC加扰/解扰阶段的初值70,代替典型的"固 定IV"。
在MDI模式中,第一 CBC加扰/解扰阶段的初值70优选地是分 组20、 22的数据无关特性60的函数,和/或MSC部分24的函数, 和/或正在处理的分组20、 22的适配字段28的函数。
为了一致起见,在MDD模式和MDI模式中使用的加扰函数E 最好是相同的。类似地,在MDD模式和MDI模式中使用的解扰函 数D优选地是相同的。
对于正在处理的分组20、 22来说,模式多路复用器78的输出 80是用于将要被加扰/解扰的同一分组20、 22的初值70。
可以理解,根据本发明的系统IO可以是适当编程的处理器。同 样,本发明预期使用可被处理器读取的软件来执行本发明的方法。本 发明还预期了切实嵌入了可被机器读取的指令程序的机器可读存储 器,来实现本发明的方法。
可以理解,为了清楚起见而在分离的实施例中单独描述的本发明 的各种特征也可以结合提供在单个实施例中。相反,为了简略起见而在单个实施例中描述的本发明的各种特征也可以分别提供或以任何 合适的子组合提供。
本领域技术人员还可以理解,本发明并不局限于上面已经详细示 出和描述的内容。相反地,本发明的范围只由下面的权利要求来限定。
权利要求
1、一种用于对内容流的分组进行加扰/解扰的系统,每个分组具有总是保持干净的必须保持干净(MSC)部分,所述系统包括输入处理器,包括接收模块,用于接收所述流;特性分析器,用于分析所述流,以确定每个分组的至少一个数据无关特性;以及与所述输入处理器可操作地相关联的加扰/解扰设备,所述加扰/解扰设备包括接收模块,用于从所述输入处理器接收每个分组的所述至少一个数据无关特性;以及初值模块,用于将每个分组的初值确定为正在处理的分组中的一个的至少一个数据无关特性的函数,其中所述加扰/解扰设备用于基于所述初值和控制字对分组进行加扰和解扰中的至少一种。
2、 根据权利要求1所述的系统,进一步包括适配字段管理器,用于通过执行以下操作中的一种将熵引入分组的初值-在至少一些所述分组中人工创建适配字段;以及扩大至少一些分组的现有适配字段,使得分组的适配字段的长度 是可选择的,其中所述适配字段形成所述MSC部分的一部分,所述至少 一个无关特性是所述MSC部分的长度和所述适配字段的长度中的至 少一个。
3、 根据权利要求1所述的系统,其中所述至少一个数据无关特 性是所述分组的长度。
4、 根据权利要求1所述的系统,其中所述特性分析器用于分析每个分组的MSC部分的至少一个数据 无关特性;并且每个分组的初值是正在处理的一个分组的MSC部分的至少一个 数据无关特性的函数。
5、 根据权利要求4所述的系统,其中所述MSC部分的至少一个 数据无关特性是所述MSC部分的长度。
6、 根据权利要求4所述的系统,其中 所述MSC部分包括适配字段;所述特性处理器用于分析所述适配字段的至少一个数据无关特 性;并且每个分组的初值是正在处理的一个分组的适配字段的至少一个 数据无关特性的函数。
7、 根据权利要求l一6中任一个所述的系统,其中每个分组的初 值还是所述正在处理的一个分组的MSC部分的数据内容的函数。
8、 一种用于对内容流的分组进行加扰/解扰的系统,每个分组具 有总是保持干净的必须保持干净(MSC)部分,所述系统包括输入处理器,包括-接收模块,用于接收所述流;以及掩码模块,用于为每个分组创建数据掩码,所述数据掩码包 括所述MSC部分中除了 MSC部分的至少一个数据比特之外的所有 数据;以及与所述输入处理器可操作地相关联的加扰/解扰设备,所述加扰/ 解扰设备包括-接收模块,用于从所述输入处理器接收用于每个分组的所述 数据掩码;以及初值模块,用于将每个分组的初值确定为正在处理的分组中的一个的数据掩码的函数,以使得所述初值不是所述正在处理的一个分组的MSC部分的所述至少一个数据比特的函数,所述加扰/解扰设 备用于基于所述初值和控制字对分组进行加扰和解扰中的至少一种。
9、 根据权利要求8所述的系统,其中所述至少一个比特是位置 相关的。
10、 根据权利要求8或9所述的系统,其中所述至少一个比特是 所述MSC部分的第二字节的第一比特。
11、 一种用于对内容流的分组进行加扰/解扰的系统,所述流与 方案相关联,所述系统包括-输入处理器,包括接收模块,用于接收所述流;以及方案分析器,用于基于至少一个所述分组的数据形式来确定 所述方案;以及加扰/解扰设备,用于基于所述方案对分组进行加扰和解扰中的 至少一种。
12、 根据权利要求11所述的系统,进一步包括初值模块,用于 基于所述方案确定每个分组的初值,其中所述加扰/解扰设备用于基 于所述初值和控制字对每个分组进行加扰和解扰中的至少一种。
13、 根据权利要求12所述的系统,其中每个分组具有总是保持 干净的必须保持干净(MSC)部分,所述系统进一步包括掩码模块,用 于为每个分组创建数据掩码,所述数据掩码包括所述MSC部分中除 了所述MSC部分的至少一个数据比特之外的所有数据,所述数据掩 码是基于所述方案的,所述初值模块用于将每个分组的初值确定为正 在处理的分组中的一个的数据掩码的函数,以使得所述初值不是所述 正在处理的一个分组的MSC部分的所述至少一个数据比特的函数。
14、 一种用于对内容流的分组进行加扰/解扰的方法,每个分组具有总是保持干净的必须保持干净(MSC)部分,所述方法包括 接收所述流;分析所述流,以确定每个分组的至少一个数据无关特性; 将每个分组的初值确定为正在处理的分组中的一个的至少一个 数据无关特性的函数;以及基于所述初值和控制字对分组进行加扰和解扰中的至少一种。
15、 根据权利要求14所述的方法,进一步包括执行下面操作中 的一个在至少一些分组中人工创建适配字段,以及扩大至少一些分 组的现有适配字段,以使得分组的适配字段的长度是可选择的,所述 适配字段形成所述MSC部分的一部分,所述至少一个无关特性是所 述MSC部分的长度和所述适配字段的长度中的至少一个。
16、 根据权利要求14所述的方法,其中所述至少一个数据无关 特性是正在处理的一个分组的长度。
17、 根据权利要求14所述的方法,其中通过分析每个分组的MSC部分的至少一个数据无关特性,来执 行所述分析;并且通过将每个分组的初值确定为所述正在处理的一个分组的MSC 部分的至少一个数据无关特性的函数,来执行所述确定。
18、 根据权利要求17所述的方法,其中所述MSC部分的至少一 个数据无关特性是所述正在处理的一个分组的MSC部分的长度。
19、 根据权利要求17所述的方法,其中 所述MSC部分包括适配字段;通过分析所述适配字段的至少一个数据无关特性,来执行所述分析;并且通过将每个分组的初值确定为所述正在处理的一个分组的适配 字段的至少一个数据无关特性的函数,来执行所述确定。
20、 根据权利要求14一19中任一个所述的方法,其中所述确定 还包括将每个分组的初值确定为所述正在处理的一个分组的MSC部 分的数据内容的函数。
21、 一种用于对内容流的分组进行加扰/解扰的方法,每个分组 具有总是保持干净的必须保持干净(MSC)部分,所述方法包括接收所述流;为每个分组创建数据掩码,所述数据掩码包括所述MSC部分中 除了所述MSC部分的至少一个数据比特之外的所有数据;将每个分组的初值确定为正在处理的分组中的一个的数据掩码 的函数,以使得所述初值不是所述正在处理的一个分组的MSC部分 的所述至少一个数据比特的函数;以及基于所述初值和控制字对所述分组进行加扰和解扰中的至少一种。
22、 根据权利要求21所述的方法,其中所述至少一个比特是位 置相关的。
23、 根据权利要求21或22所述的方法,其中所述至少一个比特 是所述MSC部分的第二字节的第一比特。
24、 一种用于对内容流的分组进行加扰/解扰的方法,所述流与 方案相关联,所述方法包括接收所述流;基于至少一个分组的数据形式确定所述方案;以及 基于所述方案对所述分组进行加扰/解扰。
25、 根据权利要求24所述的方法,进一步包括 基于所述方案确定每个分组的初值,其中对每个分组的加扰/解扰是基于所述初值和控制字的。
26、 根据权利要求24所述的方法,其中每个分组具有总是保持 干净的必须保持干净(MSC)部分,所述方法进一步包括为每个分组创建数据掩码,所述数据掩码包括所述MSC部分中 除了所述MSC部分的至少一个数据比特之外的所有数据,所述数据 掩码是基于所述方案的,每个分组的初值是正在处理的分组中的一个 的数据掩码的函数,以使得所述初值不是所述正在处理的一个分组的 MSC部分的所述至少一个数据比特的函数。
全文摘要
一种用于对内容流的分组进行加扰/解扰的系统,每个分组具有必须保持干净(MSC)部分,所述系统包括输入处理器,包括接收模块,用于接收所述流;特性分析器,用于分析所述流,以确定每个分组的数据无关特性;以及与所述输入处理器可操作地相关联的加扰/解扰设备,所述加扰/解扰设备包括接收模块,用于从所述输入处理器接收每个分组的所述数据无关特性;以及初值模块,用于将每个分组的初值确定为正在处理的分组中的一个的数据无关特性的函数,其中所述加扰/解扰设备用于基于所述初值和控制字对分组进行加扰和解扰中的至少一种。还包括相关的装置和方法。
文档编号H04L9/00GK101536394SQ200680014987
公开日2009年9月16日 申请日期2006年3月22日 优先权日2005年5月2日
发明者C·舍恩-奥尔, E·黑布舒沙, J·Y·利维, Y·贝伦基 申请人:Nds有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1