用于媒体路径安全的方法和系统的制作方法
【技术领域】
[0001]本发明涉及用于媒体路径安全的方法和系统并特别地涉及使数字媒体安全。
【背景技术】
[0002]许多媒体回放设备提供受保护的媒体路径来确保在回放期间不能从所述设备提取视听内容。它们全部都遭受到它们的接口在用户可访问存储器中的问题。同样地,从保护的一个域移动到媒体路径保护域中的内容肯定被暴露给用户空间攻击。
[0003]本文公开的系统和方法提供用于媒体路径安全的方法和系统以消除或减轻前述缺点中的至少某些。
【发明内容】
[0004]本发明的目的是提供用于媒体路径安全的改进的方法和系统。
[0005]本公开提供与数字内容相关联的安全控制的扩展,所述数字内容在光盘上、在USB驱动器上、在硬盘驱动器上、在固态盘(SSD)上或在连接的网络上的文件或目录中分发。对现有系统的控制的该扩展提供点,在所述点处变换的(即被腐蚀的(corrupted))视频数据可以针对GPU (图形处理单元)被修理和加密,或针对软件解码器的处理和进一步修理而被修理和再腐蚀,或针对随后的软件解码而被修理和解压缩。修理和加密过程或修理和再腐蚀过程或修理/解压缩过程中的每个被混合为单个操作并且以抵抗白盒攻击的方式被保护。修理/加密、修理/解压缩或修理/再腐蚀操作是按照内容不同的并且与内容相关联且一起分发。如果适当信令来自与内容一起分发的代码,则播放器调用修理/加密或修理/再腐蚀或修理/解压缩操作。视频数据的加密保护(通过加密、进一步腐蚀或解压缩被唯一提供给视频再现(render)子系统的GPU或软件解码器并且因此在被攻击时不容易被克隆或抽取(siphon)。
[0006]本发明描述了用于从创作到向许多消费者部署的媒体路径保护的方法和系统。
[0007]根据本公开的一个方面,提供了一种用于媒体路径安全的系统,所述系统包括具有用于腐蚀内容数据并提供解腐蚀数据的内容流变换和腐蚀器的创作系统、用于输送被腐蚀的内容数据和解腐蚀数据的媒体容器,以及具有用于依靠解腐蚀数据修理被腐蚀的内容数据的修理部件的客户端系统。
[0008]根据本公开的另一方面,提供了一种提供媒体路径安全的方法,方法包括在创作系统中创作内容数据、腐蚀和变换创作的内容数据以提供被腐蚀的内容数据和解腐蚀数据、将被腐蚀的内容数据和解腐蚀数据存储在媒体容器中、将媒体容器输送到客户端系统、在客户端系统中依靠解腐蚀数据来修理被腐蚀的内容数据。
[0009]根据本公开的另一方面,提供了一种客户端系统,所述客户端系统包括用于接收媒体容器的输入和用于依靠解腐蚀数据修理被腐蚀的内容数据的修理部件。
【附图说明】
[0010]根据关于附图的以下详细描述将进一步理解本发明,在所述附图中:
图1图示了根据本公开的实施例的系统概览;
图2图示了根据本公开的实施例的客户端系统概览;
图3图示了根据本公开的实施例的创作侧媒体准备;
图4图示了根据本公开的另一实施例的客户端系统中的客户端侧媒体处理;以及图5图示了根据本公开的进一步实施例的客户端系统中的客户端侧媒体处理。
[0011]图6图示了根据本公开的进一步实施例的客户端系统中的客户端侧媒体处理。
【具体实施方式】
[0012]参考图1,图示了一种根据本公开的实施例的系统概览。对于系统和方法10,存在两个主要部分,创作侧处理12和客户端侧处理14。
[0013]创作侧处理。取得原始未保护的媒体16作为输入,第一步涉及准备18受保护的变换的形式的媒体。然后在媒体容器20中发布受保护的媒体连同内容代码。媒体容器20可以以许多形式分发。这些包括但不限于:在光盘上、在USB驱动器上、在硬盘驱动器上、在固态盘(SSD)上或在连接的网络上的文件或目录中。
[0014]客户端侧处理。客户端侧媒体播放器然后取得媒体容器20并且执行在媒体上的受保护的媒体回放22。播放器执行流的解复用并且将基本视频流的处理移交(relegate)到原生内容代码。原生内容代码被提供有在媒体容器中受保护的媒体。
[0015]参考图2和3,当前描述的系统包含三个主要部件,媒体变换部件30、密钥交换部件32和修理部件34。
[0016]媒体变换部件30包括解复用器24、初级流变换和腐蚀器26以及复用器28。
[0017]在操作中,媒体变换部件30在解复用之后通过唯一地标识初级流的部分、腐蚀基本(essential)数据、对表格中的所述数据和流它本身编码以及将配置数据提供到用于第二部件,密钥交换部件32,的构建系统来变换原始编码的媒体16(例如H.264、MPEG、VC-1)。
[0018]媒体变换部件30是仅构建时(build-time)部件,从未被分发并且仅被用在受保护的媒体和相关联的代码/数据的准备中。媒体变换部件30被用在系统10的头端/创作侧12上。在媒体流被解复用24之后,通过移除流的块并且以随机数据替代所述块来腐蚀26视频。在数据表格中变换和放置从流移除的视频数据。基于呈现时间戳来定位腐蚀,这被用来实现单独的初级流(例如,视频、音频、字幕)的同步。
[0019]媒体变换(MT)过程被建立以与AES加密一起工作。基于被压缩的流最后将如何针对图形卡成块并且加密,腐蚀可以发生的位置是受限的。一旦被腐蚀的字节的位置已经被确定,就选择被放置在如存储在外部表中的未腐蚀的字节上的变换。根据US6,594,761、US6, 842,862 和 US7, 350,085 产生数据变换。
[0020]在MPEG和H.264视频编码中,定时和导航信息与剪辑(clip) (M2TS文件)内的偏移和呈现时间戳(在M2TS PES-分组报头中)两者相关。这些的后解复用都不是可用的,并且在H.264数据中不存在唯一标识信息来表明任何特定的H.264元素属于哪个呈现时间或剪辑偏移并且因此测验(workout)在哪里应用修理。在帧报头内存在“帧号”和“图片顺序计数”字段,但这些不是H.264流内的唯一的、绝对的或单调增加的值。
[0021]取决于组成解复用器24的输出的事物,过程可以或可以不具有对完整的和/或对齐的Η.264 Nal单元的访问。过程可以仅具有时间片(slice)或帧数据或可以是对应于非帧H.264 Nal单元的被传递的数据。过程可以具有完整的帧或单个时间片。因此,用于应用修理后解复用的广泛问题是标识,即决定当前在解复用流和同步中正在处理哪个帧,即找到根据其分析数据的参考点。
[0022]在调查的大部分解复用器中,观察到由多个Nal单元进行的成块。某些解复用器呈现全部H.264 Nal单元,某些仅呈现与帧数据相关的那些Nal单元。某些包括在MPEG开始代码,而某些以长度字段替代开始代码。在最坏的情况下并且在纯M2TS剥离器(stripper)中,一个可以仅具有字节流。
[0023]针对需要处理来自H.264字节流的同步和帧标识的情况下,本技术方案将分析不断地监视MPEG开始代码的存在的后解复用字节流。每次观察到开始代码,这被视为基础编索引点并且计数字节开始。而且在该点处,过程将初始化64位散列(hash)的计算。针对修理,过程对影响帧数据、尤其对选择三感兴趣,在所述选择三中帧数据是过程被允许腐蚀的唯一的东西。在H.264时间片报头内存在各种字段,所述各种字段在帧之间广泛类似并且跨相同帧内的所有时间片广泛恒定。该过程需要确保越过时间片报头的末尾充分地计算散列以肯定视频数据正在被散列。更进一步地,虽然通过在散列计算内包括来自时间片报头的帧号和图片顺序计数字段,这些值跨整个剪辑是非唯一的,但是过程也能够在具有