发明内容
本发明提供了可操作将加密应用到输入数据的数据加密装置,其中输入数据至少具有格式识别部分和有效载荷部分。
按照本发明,提供了一种数据加密装置,用于对包含视频图片并至少具有格式识别部分和有效载荷部分的视频流输入数据进行加密,所述装置包括:
区分所述输入数据的格式识别部分和所述输入数据的有效载荷部分的区分器;及
根据所述区分器的输出选择性地对所述输入数据进行加密,从而加密所述输入数据的至少一部分有效载荷部分但不加密格式识别部分的加密器;
其中:
所述格式识别部分在所述输入数据中重复出现;和
对于至少一些所述图片,第一种加密策略应用到每幅图片的一部分但不是全部,而第二种加密策略应用到至少每幅图片的剩余部分。
按照本发明,提供了一种数据解密装置,用于对包含视频图片并至少具有未加密的格式识别部分和加密的有效载荷部分的视频流输入数据进行解密,所述装置包括:
区分所述输入数据的格式识别部分和所述输入数据加密的有效载荷部分的区分器;及
根据所述区分器的输出选择性地对所述输入数据进行解密,从而解密所述输入数据的至少一部分有效载荷部分但不解密格式识别部分的解密器;
其中:
所述格式识别部分在所述输入数据中重复出现;和
对于至少一些所述图片,第一种解密策略选择性地应用到每幅图片的一部分但不是全部,而第二种解密策略选择性地应用到至少每幅图片的剩余部分。
按照本发明,提供了一种数据加密方法,用于对包含视频图片并至少具有格式识别部分和有效载荷部分的视频流输入数据进行加密,所述方法包括以下步骤:
区分所述输入数据的格式识别部分和所述输入数据的有效载荷部分;及
根据所述区分选择性地对所述输入数据进行加密,从而加密所述输入数据的至少一部分有效载荷部分但不加密格式识别部分;和
对于至少一些所述图片,将第一种加密策略应用到每幅图片的一部分但不是全部,而将第二种加密策略应用到至少每幅图片的剩余部分,
其中所述格式识别部分在所述输入数据中重复出现。
按照本发明,提供了一种数据解密方法,用于对包含视频图片并至少具有未加密的格式识别部分和加密的有效载荷部分的视频流输入数据进行解密,所述方法包括以下步骤:
区分所述输入数据的格式识别部分和所述输入数据加密的有效载荷部分;及
根据所述的区分,选择性地对所述输入数据进行解密,以解密所述输入数据加密的有效载荷部分但不解密格式识别部分;和
对于至少一些所述图片,将第一种解密策略选择性地应用到每幅图片的一部分但不是全部,而将第二种解密策略选择性地应用到至少每幅图片的剩余部分,
其中所述格式识别部分在所述输入数据中重复出现。
本发明认识到按DRM策略加密的内容可以遵照特定的数据格式。例如,要加密的视频数据可以遵照如MPEG-2格式的格式,其中数据组织成连续的数据帧。这些帧可以是变长的,因此每一帧都是由称为头数据的格式识别部分区分的。
如果将加密应用到视频数据的全部,则由于用于指示头数据的特定数据模式将被搅乱,因此区分每一帧的开始就变得不可能了。在以前的加密策略中这不是问题,那些策略中数据文件是作为整体来加密或解密的。但是,本发明认为允许对加密数据文件的予部分进行选择性解密或者对加密数据的子部分进行单独发行可能更理想。
为了满足这种需求,本发明包括反直觉的步骤,不加密数据文件的一部分,即格式识别数据,比如头数据。在MPEG2视频文件或流的情况下,这使得可以识别出帧的边界。在解决上述需求的同时,这还使得加密后的数据被提供给传统的MPEG2视频解码器/播放器。尽管所显示的图像将被搅乱,但播放器至少能保持帧边界的正确轨迹。解码器的另一需求是在图片数据中,片段起始码保持未加密。
因此,在选择性解密策略的例子中,其中加密数据的子部分被解密了,MPEG2视频解码器/播放器将能够重放加密和解密的子部分而不会引入帧边界错误。未加密的格式识别数据不需要解密。即使对于那些没有被选择性解密的帧,这种格式识别数据也可以用于识别帧边界。
本发明的其它各个方面和特征在实施例中作了进一步说明。
根据以下对其说明性实施方案的详细描述并联系附图,本发明的上述和其它目的、特征及优点将变得很明显。
具体实施方式
在以下例子中,讨论了各种类型的内容。但是,应当理解所有这些技术都可以应用到视频流数据,如所谓的视频基本流数据。
图1示意性地说明了根据现有技术用于数字数据内容的访问控制系统。该系统包括:用于捕捉并将数字图象数据记录在如磁盘或录像带的记录介质上的照相机110;用于重放所记录图象数据的重放设备120;使得能够通过拷贝及重放数字化记录的图象数据进行再现的记录设备124;访问控制存储设备130(在这个实施方案中这是一个可移动的存储设备);及基于磁盘的存储介质140。照相机110和重放设备120都有一个接口,通过该接口可以形成与可移动存储设备的连接。照相机能够捕捉静止和/或移动的图象。该系统提供对存储在存储介质140上的加密内容的选择性访问,从而允许不同的用户和/或用户组可以被授权访问解密信息内容的不同部分。
对于加密/解密信息内容,有两种主要的可选加密策略:对称密钥加密和非对称密钥加密。在对称密钥加密中,用于解密信息的密钥和用于加密信息的密钥是相同的(或者很容易从其推导出)。但是,在非对称密钥加密中,用于解密的密钥和用于加密的密钥不同,而且不可能通过计算从一个推导出另一个。在非对称加密中,产生公钥/私钥对,公钥(不需要保密)用来加密信息而私钥(必须保密)用来解密信息。可以使用的非对称加密算法的一个例子是RSA算法。RSA算法依赖单向函数。公钥X是两个大素数p和q的乘积,p和q一起构成私钥。公钥在加密过程中被插入到单向函数中以获得为接收人公钥定制的特定单向函数。该特定单向函数用于加密信息。接收人只能通过对私钥(p和q)的了解来逆转该特定单向函数。应当指出,X必须足够大,从而不可能只通过对X的了解就推导出p和q。
可以替换RSA的一种非对称加密策略是椭圆曲线加密(ECC)。不象在RSA中那样通过两个非常大的素数乘积来产生密钥,ECC通过椭圆曲线方程式的属性来产生密钥。ECC在密钥生成上有可能比RSA快,因此对于现有布置来说是优选的非对称加密技术。存储在存储介质140上的信息内容是利用一个或多个内容加密密钥(CEK)对称加密的,而CEK是利用一个公钥/私钥对非对称加密的。在可选实施方案中,信息内容可以是非对称加密的。CEK是根据如下面参考图8详细描述的二叉树加密策略产生的,而且是定期更新的,例如每隔10秒钟,从而加密信息内容的不同部分对应于CEK的不同子集。这允许对解密信息内容的选择性访问。由于对称加密是数字较不密集的并因而比非对称加密快,所以它用于信息内容的加密。
在这个实施方案中,向每个用户和/或用户组提供了一个用于存储用户目录的可靠的可拆卸存储设备130,该目录列出了多个用户中的每一个及可用于加密CEK子集的公钥。在可选实施方案中,存储公钥和/或私钥的存储设备可以是固定的(如在照相机中),而不是可拆卸的。从而,用户能够访问该CEK子集对应的信息内容部分。可拆卸存储设备(RMD)还存储该RMD所属的用户或用户组的私钥。
对所记录的信息内容的访问许可可以由管理员来集中管理,他被授权在需要的时候发给新用户RMD及取消现有用户的授权。对于每个新授权的用户,都必须产生一个公钥/私钥对,而且该用户的私钥存储在他们的RMD上。新用户还添加到存储在他的RMD上的用户目录。该用户目录有一个指示版本号的标记,从而当每次有新用户添加或删除时版本号会增加。
RMD上的信息必须安全地存储以防止对存储在其上面的信息的未授权拷贝。防止对私钥的未授权访问尤其重要。适用于现有布置的可靠存储设备的例子是智能卡、SonyTM Magic GateTM记忆棒TM存储设备和安全数字卡,在这种情况下接口可以方便地是通常RMD形插槽的形式,RMD插入该插槽中。Magic GateTM系统的运行在下面参考图18至20详细说明。
RMD可以用于只存储包括用户目录和RMD所有者数据的数据。但是在可选实施方案中,RMD可以具有可操作执行加密和/或解密的板上数据处理模块。因此,至少部分为产生内容访问控制数据而进行的数据内容加密和/或加密处理可以由RMD上的数据处理模块执行。类似地,数据内容或内容访问控制数据的解密也可以至少部分地由RMD的数据处理模块执行。此外,可拆卸存储设备和装置之间的连接可以通过物理连接或无线接口。可拆卸存储设备可以包括可操作执行输入数据内容的加密以产生内容访问控制数据的数据处理模块。
对称加密的信息内容和非对称加密的CEK存储在记录介质140上。在这个示例结构中,记录介质是基于磁盘的记录介质,如光盘CD、数字通用光盘DVD、光具盘或使用Blu-RayTM技术的高密度磁盘。但是,应当理解其它类型的记录介质,如基于磁带的介质,也可以使用。由于访问信息内容解密的部分依赖于解密与那些部分关联的CEK的能力,因此不同的授权用户能访问信息内容的不同解密部分。
在照相机110记录信息内容的过程中,摄影师的RMD插入到照相机RMD接口112中。用于对称加密所捕捉到的图象数据的CEK是利用每个授权用户的公钥非对称编码的,其中这些用户可以访问图象数据。公钥是从摄影师的存储卡上的用户目录导出的。在这个实施方案中,尽管公钥可以可选地存为例如哈希值(可逆的哈希可以用来恢复密钥)或查找表,但它们本身是存储在存储卡上的。数据集的哈希是从数据中伪随机导出的定长位串。私钥也可以直接存储在查找表中或存为哈希值。在重放过程中,授权用户的RMD 130插入到重放设备RMD接口122,而用户的私钥被用来解密利用该用户的对应公钥存储在磁盘存储介质140上的CEK。一旦适当的CEK被解密,则对应的信息内容就可以利用这些CEK来解密。可以尝试利用记录设备124在重放设备120中拷贝磁盘。记录设备124和重放设备120具有公用的RMD接口122。RMD提供对存储介质上内容的访问控制,但利用该记录设备(事实上是任何记录设备)拷贝解密信息内容也是可能的。假设处理解密信息内容的环境是一个安全的环境。这样做的好处在于允许视频编辑器的工作流程不被访问控制系统相对地阻碍。例如,新拷贝的版本可以只允许拷贝它的用户访问。可选地,新拷贝的版本还可以具有记录的访问许可(通过存储在其上的CEK的不同加密版本),从而使所有能访问原拷贝的用户都将可以访问新拷贝的版本。
图2示意性地说明了根据现有技术在照相机110中的记录过程。在这种布置中,捕捉到的音频-可视(AV)信息是由压缩引擎210压缩的,然后将压缩后的AV数据提供给加密引擎,在这里它被高级加密标准(AES)算法对称加密。典型的压缩数据率(例如,对于数码摄像压缩是25Mbps或对于IMX压缩是50Mbps)是很容易由加密引擎220控制的。称为可视水印的加密格式也可以用于压缩数据,与AES对称加密同用或者作为其替换。
可视化加水印是一种涉及用可逆算法将可视修改应用到图象材料从而损害材料的过程。例如,这种可视修改被应用到图象/视频数据的选定部分从而使可视的“标志”出现在内容上。被修改的图象部分是由位图或变化模板来定义的。修改过程可以包括,例如,对变形图象某几个离散余弦变换(DCT)系数的改变。可视化水印使得用户可以安全的方式(即,不允许直接访问未被损害的内容)预览内容。图象修改是以加密上安全的方式执行的而且是完全可逆的,从而对称为“清洗密钥”的解密密钥的访问允许原始内容被按位恢复。可视水印和对称/非对称加密都可以应用到一个图象。第一级访问许可可以允许用户解密图象但不洗去水印,而第二级,更深一级,的访问则可以包括向用户提供清洗密钥,从而允许随后从图象除去可视水印。清洗密钥的提供可以比如用户付费为条件。
加密引擎220根据二叉树加密策略产生CEK。对称CEK是根据多个授权用户中每一个的公钥非对称加密的。公钥是从目前连接到照相机的RMD 130上公钥的用户目录获得的。对应于加密AV数据的不同部分的不同CEK子集可以依赖于他们各自的访问许可对每个授权用户非对称加密。对多个用户中每一个非对称加密的CEK与对称加密的AV信息内容的单个拷贝一起记录在存储介质140上。非对称加密可以在RMD自身的电路中(例如,通过智能卡处理器)或者在照相机110本身的加密引擎中执行。
图3示意性地说明了在根据现有技术的重放设备120中发生的复制过程。对称加密的压缩信息内容和非对称加密的CEK是从记录介质140读出并提供给解密引擎310的。授权用户将RMD插入重放设备的RMD接口122,而解密引擎310访问存储在其上的私钥来解密至少一部分AV内容。授权用户可以访问的AV内容部分(例如,某些帧、镜头或场景的子集)依赖于利用他们的公钥进行加密并存储在记录介质上的CEK子集。当用户利用重放设备120解密受保护的内容时,用户可以选择是将结果“解保护的”信息内容保存回磁盘140还是保存到新磁盘。在这个实施方案中,假设重放设备也是可操作用于记录的。数据包328与解密的信息内容一起记录到磁盘140。数据包328详细记录了在源数据包中由用户保留的访问许可。当用户试图访问存储在磁盘上的信息内容时,允许该用户访问至少一些已经解保护并以解保护格式记录的内容,其中该用户可以是将解密内容记录到磁盘的用户也可以不是。如果重放设备只是简单地解密用户选择观看的帧(选自他们具有访问许可的帧的子集),那么就有可能如果选定的帧集包括已经解保护并被记录的给定帧,则那些给定的帧可以被再次解密,而留下被搅乱的信息内容。这是通过包括在数据包328中详细记录已经以解保护格式记录的个别帧或帧范围的解保护信息列表来避免的。解保护信息列表用来确保当授权用户请求观看给定帧时,第二次解密不会被执行。每次当用户将解保护帧记录到磁盘时,解保护信息列表就会更新。
图4示意性地说明了一种存储在RMD 130上的典型信息集。信息作为一个或多个XML文件存储在RMD上。XML是一种标记语言。通过定义关于标题和题目的文档结构及其关于例如大写和字体的外观,大家熟悉的标记语言超文本标记语言(HTML)向web浏览器提供关于如何显示网页文本和图象的指令。作为对照,XML提供了定义公共信息格式及在web和内联网上共享这些格式和相关数据的方式。HTML限制为定义文本和信息如何显示与交互,而XML则能够通过允许应用开发者将标记文档中片段或单词的定制标签定义为属于特定数据分类,例如标签<NAME>和<PUBLIC KEY>可以定义为用于RMD 130上的用户目录,给出关于一个文档内容的上下文信息。通过利用定制标签来识别和选择性地摘出信息,可以对XML文档执行数据处理任务。
如图4所示,存储在RMD上的信息包括密码数据、一组RMD所有者数据410、用户目录420和一组缺省用户数据430。RMD所有者数据410包括授权用户的名字、与他们关联的公司名字、分配给他们的项目及一个私钥/公钥对。应当指出,至少必须存储一个标识符,例如授权用户的名字和非对称密钥,而其它数据,如公司和项目,则是可选的。用户目录420包括用于N个用户中每一个的一组数据。依赖于分配给他们的访问许可,可以向列在用户目录中的一个或多个用户提供对解密信息的访问。在这种情况下,用户目录中的每个记录都包括与授权用户关联的名字、公司和项目及他们的公钥值。公钥用于加密解密信息内容所需的CEK,对这些信息内容用户被授予了访问许可。由于用户目录将会定期更新以添加和/或除去授权用户,因此用户目录版本ID标记也要存储,以方便用户目录的比较和更新。更新是这样执行的:比较存储在照相机110和/或重放设备120上的用户目录的局部拷贝与存储在RMD 130上的用户目录的外部拷贝,从而确定局部或外部用户目录是否有一个是更近更新过的,如果是的话,则执行较早更新的用户目录的用户标识、公钥和版本ID标记的更新。
缺省用户数据组430包括D个缺省用户中每一个的名字及关联的公钥。对于这个特定的RMD所有者,可以有任意多个缺省用户或者也可以没有缺省用户。缺省用户可以访问预定信息内容组(见下面图11B的描述)中的所有内容。任何用户都可以被选为缺省用户。缺省用户数据组430包括特定于该RMD所有者的缺省用户列表,例如RMD所有者的经理或主管可以作为他的一个缺省用户列出。管理员负责确定给哪个用户分配缺省用户身份。当创建信息内容后,与该信息内容关联的CEK全集总是利用缺省用户公钥加密并存储在记录介质上,以保证缺省用户对所有内容的访问。由于只允许缺省用户对解密的信息内容的访问,因此缺省用户提供了防止因疏忽所致的RMD损失的保护措施。
密码数据与RMD所有者关联,而且可以在编码CEK的过程中用作额外的安全等级,例如,CEK可以在非对称加密之前与密码结合。在这个特定的实施方案中,要求用户利用与存储在他们RMD 130上的密码数据中的密码对应的密码登录到系统。尽管在图4的实施方案中,用户目录是存储在RMD上,但是在可选的实施方案中,整个用户目录或至少该用户目录的公钥列表可以存储在照相机110或重放设备120中的固定(即,不可拆卸的)存储器上。如果用户目录的公钥存储在照相机或重放设备的固定存储器中,则存储用户或用户组私钥的RMD可以存储将该RMD与照相机或重放设备保留的各公钥关联起来的标识数据。而在更多的实施方案中,用户目录的拷贝可以同时存储在记录/复制设备和RMD上。
现在考虑一种示例实施方案,其中根本没有RMD,而私钥存储在设备中的存储器上。这种示例实施方案包括5个远程照相机和一个生产设备。在这种情况下,所有的生产设备装置共享一个公用的公钥/私钥对,其中公用的私钥存储在生产设备装置每一部分的固定存储器中。5个照相机中的每一个都具有存储各自的公钥/私钥对(不同的密钥对与各照相机关联)的固定访问控制存储设备。在这个例子中,每个照相机都被看成是一个“用户”。所捕捉到的数据是依赖公用的公钥和用于捕捉数据内容的照相机的公钥加密的。这意味着对捕捉到的数据内容的访问是在捕捉“现场”可用的,而对数据内容的保护以免受未授权的访问是在其运送回生产设备后。在生产设备,数据内容可以利用公用的私钥来访问并用于编辑。
图5示意性地说明了根据现有技术的第一种加密策略。根据这种策略,信息内容是在阶段510利用一个或多个内容加密密钥520对称加密的。对称加密的信息内容存储在基于磁盘的记录介质140上。在阶段530,内容加密密钥520是利用对应于多个接收人的多个公钥中的每一个非对称加密的。公钥是从RMD 130的用户目录420读出的。非对称加密阶段530的输出是一组加密的内容加密密钥550。由于每个接收人都与用户目录420的一个公钥关联,因此对每个接收人都有一个加密的内容加密密钥版本。加密的内容加密密钥与对称加密的信息一起存储在基于磁盘的记录介质140上。
图6示意性地说明了与图5加密策略对应的第一种解密策略。解密的第一阶段包括从记录介质140读取加密的内容加密密钥550(见图5)。与RMD 130所有者关联的私钥620是从RMD所有者数据410读出的,在阶段610,利用与可用私钥对应的公钥加密的加密后的内容加密密钥550版本是非对称解密的。非对称解密阶段610的输出是一组适合于RMD所有者访问许可的内容加密/解密密钥630。这些内容加密密钥用于对从记录介质140读出的至少一部分加密内容执行对称解密。
图7A至D示意性地说明了一个例子,用于3个不同用户的一组选择性的访问许可。图7A示出了表示存储在磁盘140上信息内容的8个图象帧。这8个图象帧中的每一个都既加了密,而且还可视地加了水印(由阴影帧表示)。图7B说明了内容所有者的访问许可,在这种情况下,所有帧都是未加阴影的,表示所有者有权观看所有图象帧的解密内容。图7C表示由内容拥有者赋予人B的许可。标记有“W”的帧(帧4和5)是解了密但还有可视水印的帧,而未画阴影的帧1、2、3和6则既洗去了水印也解了密。图7D示出了由人B授予人C的许可子集。显然,人B不能访问他不具有访问许可的帧7和8。人C可以完全访问帧2和3并访问解了密但仍有水印的帧4和5。但是,对帧1和6的访问没有从人B传递到人C。由于访问允许是由内容加密密钥的子集确定的,用户通过他的公钥访问这些内容加密密钥,所以访问允许是有效地存储在记录介质140上的。访问许可还可以根据用户组,如一组摄影师或一组编辑来分配,而不是根据单个用户来分配。对给定帧子集的访问可以通过加密策略来实现,而且在这种布置中,使用的是分层的二叉树加密策略。
图8示意性地说明了根据现有技术提供的对部分解密的信息内容进行选择性访问的分层加密策略。如图8所示,加密策略可以表示为拥有L个层次的二叉树。在本例中,示出了四个层次L0、L1、L2和L3。层L3上的8个节点对应于图7D的8个图像帧。除了L0上的根节点,层Lj(j=1、2、3)上的每个节点都具有到高一层L(j-1)的单个分支及到低一层L(j+1)节点的两个分支,而且每个层次都具有2j个节点。图8二叉树上的每个节点都是根据发出它的分支标记的,即二进制0表示左分支,二进制1表示右分支。每个节点都是由2j位编码识别的,该编码由从根到该节点的分支标记的顺序定义。记录设备110中的加密引擎220在层L0开始加密过程,在层L0根据已知的技术产生包括密钥和初始向量的加密编码。两个L1加密编码是根据L0加密编码产生的并且每一个都包括各自的密钥和初始向量。层L2的加密编码00和01是根据L1上的父节点0产生的。类似地,层L2的加密编码10和11是根据L1上的父节点1产生的。因此可以看出加密编码具有层次依赖性。
现在考虑选择性访问如何只提供给层次L3的帧2到5(就象图7D中对人C提供的)。二叉树技术不是在磁盘上存储所有的解密编码,而是允许向用户提供较少的解密编码,但仍提供足够的解密数据以方便数据授权部分的解密。在这个例子中,帧1至8中只有帧2至5被解密了。为了解密帧2但不解密帧1,需要节点001的编码K1;为了解密帧3和4,需要节点01的编码K2;而为了解密帧5但不解密帧6,需要节点100的编码K3。相应的,需要对应于三个节点001、100和01的密钥和初始向量来选择性地解密帧2至5。通常,只解密视频序列一特定部分(帧/域的子集)所需的最小编码集是通过确定只连接到要解密的那部分视频序列的最低层次(L0是最高层)的节点导出的。不需要其它编码来实现该解密。因此可以看出给定的内容加密密钥集将与要解密信息序列的相应部分关联。
一起考虑图7所说明的用于不同用户的内容访问许可层次与图8所说明的二叉树加密策略。如上所释,对内容的选择性访问是通过使用户可以访问内容加密密钥的适当子集来实现的。适合用户可以访问帧的内容加密密钥的给定子集是以加密形式用数据访问包存储在记录介质上的,其中加密是利用那个用户的公钥执行的。为每个用户都存储了一个加密的内容加密密钥子集,每个用户都具有各自的公钥,利用它可以对他们的内容加密密钥子集进行加密。但是,在允许用户访问的帧范围重叠的地方或用户能访问相邻帧范围的地方,得自二进制密钥加密策略的内容加密密钥之间的关系可以被利用以降低必须存储在数据包中的数据量。考虑第一个涉及重叠访问许可的例子,其中用户A能访问帧0至200;用户B能访问帧100至400;而用户C被A允许访问帧150至190,且被B允许访问帧180至300。同时考虑第二个涉及相邻帧范围的例子,其中用户C被A允许访问帧190至200,并被B允许访问帧201至210。在第一和第二个例子的每一个当中,都不是存储两个不同的内容加密密钥集(一个对应于由A授权C可以访问的帧范围,而另一个对应于由B授权C可以访问的帧范围),其中每个密钥集都用用户C的公钥加密,而是存储通过结合两个不同密钥集形成的单个加密的内容加密密钥集。如果考虑整个可访问的帧集合而不是两个单独的集合,则结合的密钥集只包括主要节点。在有些情况下,结合两组密钥是没有意义的,但在其它情况下,用它们的父节点代替两个兄弟节点更好。这个代替兄弟节点的过程必须执行多次,以便得到核心的主要节点集。构建图8的二叉树使兄弟密钥异或,从而得出父密钥。两组密钥的合并减小了数据包的大小,还减小了在重放阶段利用用户私钥(通过解密)恢复内容加密密钥时所需的计算量。图9示意性的说明了根据现有技术的第二种加密策略。在这种情况下,加密过程中利用了从记录介质140读出的唯一或准唯一的只读磁盘标识(ID)。这提供了一个有效的障碍以防止对从未授权磁盘拷贝中得到的数据进行解密。至于图5的布置,例如根据图8的二叉树加密策略,可以产生一组内容加密密钥。标记为访问包910的内容加密密钥集用于在阶段920对信息内容加密和/或可视地加水印,并且加密后的信息存储在磁盘140上。应当指出,标志E(要加密的数据,密钥)已经在图9至13及15中用于表示加密过程,而标志D(要解密的数据,密钥)已经用于表示解密过程。在阶段930,访问包是利用随机产生的对话密钥Ka对称加密的,阶段930的输出作为数据1存储在记录介质140上。随机产生的对话密钥Ka还提供给组合器940,在此它与磁盘ID通过模2加法(即,异或逻辑门)组合,产生对话密钥/磁盘ID组合C。可选实施方案可以通过除模2加法以外的方法组合对话密钥和磁盘ID。在阶段950,组合C利用n个预期接收人中每个人的公钥Kw1Kw2Kw3......Kwn进行非对称编码。公钥是从RMD130的用户目录420处获得的。多个非对称加密的组合C的版本作为数据2与对称加密的内容加密密钥包一起存储在记录介质140上。
图10示意性地说明了用于恢复通过图9第二种加密过程加密的信息的解密过程。该解密过程的第一阶段1010包括从记录介质140读出数据2和利用接收人的私钥解密非对称编码的组合C,其中接收人的RMD安装在复制装置上。这导致组合C的恢复。下一步,在阶段1020,唯一的磁盘ID从记录介质140读出并用于反转磁盘ID和对话密钥的组合以便获得对话密钥Ka。然后,在阶段1030,该对话密钥用于解密包括适合RMD用户访问许可的内容加密密钥的访问包。最后,在阶段1040,访问包密钥用于解密接收人具有访问许可的信息内容部分。
图11A示意性的说明了涉及图9磁盘ID的可选加密过程。就图9的过程来说,信息内容是利用内容加密密钥的访问包对称加密的,而该访问包是利用随机产生的对话密钥Ka对称加密并作为数据1存储在磁盘上的。但在这种策略中,不是将对话密钥Ka与磁盘ID组合,而是在阶段1110利用另一个对话密钥Ka对磁盘ID对称加密,以产生一个标记为“有效磁盘ID”的基于磁盘ID的加密密钥(对称的)。对话密钥Ka是在阶段1120利用预期接收人的每个公钥非对称加密的,随后这个非对称加密的结果在阶段1130利用有效磁盘ID对称加密并作为数据2存储在记录介质上。另一个对话密钥Kd同样是在阶段1140利用每个预期接收人的公钥非对称加密的,这个加密的结果作为数据3存储在记录介质上。相应地,在这种情况下,存储在磁盘上的访问数据包包括:对称加密的CEK包;先利用接收人公钥非对称加密然后利用有效磁盘ID对称加密的对话密钥Ka;利用接收人公钥非对称加密的第二个对话密钥Kd。
图11B示意性的说明了数据访问包1150,它包括在存储在记录介质上的一组内容访问控制数据中。在记录介质上可以记录多于一个的数据访问包。每个数据访问包1150都与单块数据内容(如由指定摄影师记录的一个视频图象序列)相关并列出每个授权用户或用户组需要的所有信息,这些用户或用户组已经被赋予对那块数据的某种层次的访问。每一个授权的用户或用户组都可以访问记录在记录介质上的一部分加密信息内容和由他们各自私钥得到的访问等级决定的内容访问控制数据。数据访问包还列出了对应数据内容块的二叉树层次的个数(见图8)(即用来覆盖特定内容块的整个帧范围的二叉树最小层数)。数据访问包包括:解保护区1152;介质标识密钥区1154;主访问区1156;第一访问区1160及第二访问区1170。数据访问包可以包括多个访问区。每个访问区1160、1170都包括一个用户区1162,一个可视水印(VWM)清洗包区1164和一个解密包区。
解保护区1152列出已解密和/或已洗去可视水印的图象帧范围。这确保解密过程不会对同一帧执行两次,因为对已经解密的帧再次解密会使图象变形。介质ID密钥区1154列出了由数据访问包授予具有一定访问许可的所有用户。对于每个用户,都列出了加密的介质标识对话密钥Kd。Kd的值对特定的数据访问包是特定的(而不同的内容访问对话密钥Ka用于每个访问区1160、1170)。每个用户都可以利用他们自己的私钥解密Kd。访问区1160、1170每个都提供允许访问信息内容块特定区域的信息。通过向数据访问包增加更多的访问区,可以提供对其它内容部分增加的访问许可。第一个访问区1160是“主访问区”,它向特定的用户组提供对整块信息内容的访问。这个访问包是在内容记录到记录介质上的时候(一般是当内容被创建的时候)记录的。主访问区一般是内容记录/创建时包中唯一的访问区。列在主访问区中的每个用户都代表一个“缺省用户”。缺省用户与记录(或者可能是创建)加密数据内容,即能访问数据包全部内容,的人被授予对信息内容块相同的访问等级,数据包1150与该信息内容块关联。随后其它的访问区可以添加到记录介质,以便授予其他列在其中的授权用户对该内容的全部或部分的访问。
如图11的实施方案,每个访问区头中都有一个标志指示对应访问区是否绑定到介质标识。内容对话密钥Ka不是绑定到介质标识,而是可以简单地利用列在那个访问区中的用户的公钥进行非对称加密,非对称加密版本的内容对话密钥Ka存储在记录介质上。因此,介质标识对话密钥Kd是解密所不需要的。这种加密策略用于如下参考图13所描述的“主用户”。但是,向主用户提供对所有内容的访问。对于与不绑定到介质标识的访问区关联的用户组,情况不一定是这样。
每个访问区都包括用户区1162,VWM清洗包区1164和解密包区1166。用户区1162列出了能访问与该访问区关联的内容块的每个用户或用户组。对每个用户都列出了加密的内容访问对话密钥Ka。用户可以只利用他们的私钥(如果访问区没有绑定到介质标识)或既利用他们的私钥又利用介质标识对话密钥Kd(如果访问区绑定到介质标识)来解密Ka。不同的内容访问对话密钥Ka用于每个访问区。VWM清洗包区1164有一个或多个子区。每个子区都与予区头中特定的帧范围相关并存储从那些帧中洗去可视水印所需的密钥的加密版本(根据二叉树加密策略)。VWM密钥都是利用内容访问对话密钥Ka加密的,从而它们可以只由列在访问包1160的用户区1162中的用户解密。解密包区1166也有一个或多个子区,每个子区都覆盖列在子区头中并列出解密那些帧所需的密钥(根据二叉树加密策略)的帧范围。在这种情况下,加密策略是对称或不对称加密,而不是可视水印。密钥再次全部利用内容访问对话密钥Ka加密,从而它们可以只由列在访问包1160的用户区1162中的用户解密。
图12示意性地说明了用来执行以恢复根据图11A策略加密的数据的解密过程。首先,在阶段1210,接收人的私钥Ksi被用于解密存储在磁盘上(作为数据3)、来自非对称加密版本的另一个对话密钥Kd。下一步,在阶段1220,利用在阶段1210恢复的另一个对话密钥Kd从磁盘ID重新生成有效磁盘ID。是对称密钥的有效磁盘ID被用于对记录介质上的数值数据2执行解密的第一步,以恢复非对称加密的第一个对话密钥E(Ka、Kwi)。然后,下一个解密阶段1240利用接收人的私钥Ksi执行,以反转非对称加密,从而恢复对话密钥Ka。对话密钥Ka用于在阶段1250解密访问包CEK。最后,在阶段1260,访问包CEK用于解密存储在记录介质上的对称加密和/或可视地加水印的信息内容。
图13示意地说明了一种加密策略,根据这种策略对所有信息内容的访问许可被授予“主用户”。主用户定义为对全部内容具有访问权的用户或用户组,这些内容不管介质标识是什么,都与数据访问包1150(见图11B)相关。因此,解密这些内容不需要介质标识对话密钥Kd。尽管列在数据访问包1150的主访问区1160中的缺省用户也能访问全部内容,但缺省用户可以绑定到或不绑定到介质标识。任意个数的用户或用户组可以加到数据访问包1150中缺省用户的主用户组。这种加密策略与图11A的加密策略密切相关,唯一的区别是增加了一个阶段1310,其中对话密钥Ka是利用主公钥Kw-master非对称加密然后存储在记录介质140上的。主公钥Kw-master存储在每个用户的RWD上,而主用户被授予对存储在记录介质上的全部信息内容的访问许可。可以给多个主用户中的每一个提供不同的主公钥。主用户对应的私钥被安全地存储在主RMD上。主RMD可以用于确保对加密数据的访问不会由于非主RMD无意的损失而丢失。如图14的阶段1410所示,主用户能够通过包含主私钥Ks-master的单个解密步骤来恢复对话密钥Ka,而不需要访问磁盘ID。为了使主用户能够不管磁盘ID就访问与数据访问包关联的全部内容,必须为每个主用户都提供对主访问区的VWM清洗包区1164和解密包区1166(见图11B)中加密密钥的访问。通过利用主用户的公钥直接加密主访问区的内容访问密钥Ka并将这个加密的Ka存储在数据访问包中的某个地方,对每个主用户都提供了这种访问权。
在图13的例子中,对话密钥Ka的加密没有绑定到用于主用户的磁盘ID。但是,在一种可选的布置中,主用户可以绑定到磁盘ID。类似地,一个接收人子集可以绑定到磁盘ID,而另一个接收人子集可以通过利用他们的公钥直接加密对话密钥Ka而给予更自由的访问许可,就象图13中主用户的情况。
图15是示意性地说明对应于图11和13加密序列的流程图。在阶段1510,CEK访问包用于给信息内容加密和/或加水印,加密后的内容存储在记录介质上。下一处理阶段涉及创建用于同加密的信息内容一起记录在磁盘上的访问数据包.在阶段1520,访问包的CEK是首先利用随机产生的对话密钥Ka对称加密的,随后在阶段1530,加密的访问包作为访问数据包的一部分存储在记录介质上。在阶段1540,获得磁盘ID,然后在阶段1550,产生第2个对话密钥Kd并用于对称加密磁盘ID。加密的结果随后用作称为“有效磁盘ID”的加密密钥。然后加密过程前进到阶段1560,在此对n个接收人(即,预期授权用户)w1,w2,...,wn的每一个执行加密顺序。特别地,在阶段1570,第2个对话密钥Kd是利用接收人的公钥加密的,并且结果是存储在记录介质上的。在阶段1580,对每个接收人都执行两步加密过程:首先,利用接收人的公钥对第一对话密钥Ka非对称加密;其次,非对称加密的输出是利用有效磁盘ID对称加密并存储在记录介质上的。在图13加密策略的情况下,流程图包括利用主用户公钥加密第一对话密钥Ka并将结果存储在磁盘上的附加阶段1590。
图16是示意性地说明对应于12和14的解密序列的流程图。解密是就单个接收人利用存储在其RMD 130上的私钥解密他有权访问的信息内容部分来考虑的。解密过程在阶段1610开始,在此第二个对话密钥Kd是利用用户的私钥Ks解密的。随后在阶段1620,通过利用第二对话密钥Kd加密磁盘ID(假定该ID是接收人可用的)来产生有效磁盘ID。然后在阶段1630,第一对话密钥Ka是利用有效磁盘ID和用户私钥解密的。在阶段1640,CEK访问包利用Ka解密。这使得解密和/或可视水印的清洗可以在阶段1650执行。在图14的解密布置的情况下,流程图包括更多阶段,有利用主用户私钥解密Ka的阶段1660、利用第一对话密钥Ka解密访问包的阶段1670及利用解密的访问包解密和/或清洗信息内容的阶段1680。
图17示意性地说明了当拷贝磁盘时所携带的访问许可。关于拷贝,携带的访问许可依赖于所使用的特定加密策略。考虑磁盘ID为A的原盘1710。如果对该原盘进行直接的二进制拷贝(按位),则假定加密过程绑定到磁盘ID,那么将没有用户能访问磁盘ID为B的非法拷贝1720的内容。在这种情况下,假定主用户在加密过程中没有绑定到磁盘ID(即,如果第一对话密钥Ka是只利用主用户公钥加密的),则他有可能能够访问这些内容。
在存储在磁盘A上的访问数据包通过结合第一对话密钥Ka与磁盘ID然后利用接收人公钥非对称加密该结果将加密绑定到磁盘ID的情况下,磁盘ID为C的磁盘1730代表磁盘A的合法拷贝。这与图9的加密过程相对应。在这种情况下,用户在磁盘ID为C的磁盘1730上所作的合法拷贝包括只能由创建该拷贝的授权用户访问的信息内容,而其他任何能访问存储在原盘1710上信息内容的授权用户都不能访问这些内容。拷贝创建者只能访问由原始访问数据包指定的那部分信息内容。同样,在这种情况下,如果主用户在加密过程中没有绑定到磁盘ID,则他只能访问合法拷贝1730上的信息内容。
在存储在磁盘A上的访问数据包通过非对称加密第一对话密钥ka然后利用有效磁盘ID对称加密该第一对话密钥的情况下,磁盘ID为D的磁盘1740表示磁盘A的合法拷贝。这对应于图11和13的加密过程。这种加密策略比图9的策略要好,好处在于当合法拷贝由授权用户制作时,保留了最初的用户访问许可集。因此,所有能访问原盘A上信息内容的用户都对存储在合法拷贝,磁盘D,上的信息具有相同的访问等级。还保证不管主用户是否绑定到磁盘ID,他都能通过合法拷贝1740访问该信息内容。
最后,考虑制作原盘1710的合法拷贝,但在将其存储到磁盘E之前拷贝数据时除去对磁盘ID的依赖性。在这种情况下,原盘1710的访问许可将保留至合法拷贝1750及该合法拷贝的非法二进制拷贝1760。主用户也能同时访问合法与非法拷贝1750和1760。
很清楚,图11和13的加密策略具有明显的优点,即它允许当制作原盘的合法拷贝时保留访问许可,但拒绝访问存储在该原盘的非法二进制拷贝上的信息内容。
图18示意性地说明和Magic Gate记忆棒和Magic Gate记忆棒设备。Magic Gate记忆棒是可以用作根据现有技术的用户目录和私钥的安全存储的RMD的一种例子。Magic Gate系统包括Magic Gate设备1810和Magic Gate记忆棒1860。Magic Gate设备包括:用于执行数据处理操作的中央处理单元(CPU)1830;具有加密电路1842的Magic Gate模块1840;及记忆棒1860通过其与Magic Gate设备1810建立连接的接口(IF)1850。记忆棒1870具有用于存储数据的闪存模块和具有板外加密电路1872的Magic Gate(MG)模块。设备的加密电路1842有两个关联的加密密钥,即MG对话密钥SeKMG和MG内容密钥CKMG。另一方面,记忆棒的板下加密电路利用MG对话密钥SeKMG和MG存储密钥KSTMG。MG内容密钥CKMG由设备1810用于信息内容的加密/解密。MG对话密钥SeKMG由设备1810和记忆棒1860同时使用。它是在每次进行鉴别时产生的,并用于临时数据交换。MG存储密钥KSTMG由记忆棒用于MG内容密钥CKMG的加密/解密。
Magic Gate系统提供了记忆棒1860和设备1810之间的相互验证,从而记忆棒和设备都支持拷贝保护,而内容的加密/解密可以由设备1810利用授权的记忆棒1860执行。Magic Gate系统不仅对信息内容而且对鉴别过程使用加密/解密(及关联的密钥)。每次当记忆棒1860通过设备1810的接口建立连接时鉴别都必须是第一步执行的,随后内容的记录和重放才变得有可能。
图19是示意性说明Magic Gate系统中记录过程的流程图。记录过程在阶段1910开始,其中由MG设备接收的信息内容在加密电路1842中利用MG内容密钥CKMG进行加密。然后,在阶段1920,利用MG对话密钥SeKMG对MG内容密钥CKMG加密并将其通过接口1850发送到记忆棒1860。利用对话密钥SeKMG的加密在记忆棒1860和设备1810之间提供了安全的链接。在阶段1930,记忆棒1860利用已建立的MG对话密钥SeKMG解密MG内容密钥CKMG,然后在阶段1940,在将加密的内容密钥传送到设备1810之前,MS利用MG存储密钥KSTMG加密CKMG。最后,在阶段1950,设备1810将加密的内容和加密的内容密钥写入记忆棒1860的闪存1880。
图20是示意性说明Magic Gate系统中重放过程的流程图。重放过程在阶段2010开始,其中MG设备1810从记忆棒1860读出加密的信息内容和加密的内容密钥,并进行检查以确保数据不与非法拷贝对应。下一步,在阶段2020,MG设备1810将加密的内容密钥发送到记忆棒1860。然后重放过程前进到阶段2030,其中记忆棒利用MG存储密钥KSTMG解密内容密钥CKMG。在阶段2040,记忆棒1860利用MG对话密钥SeKMG加密内容密钥CKMG并将结果发送到MG设备1810。最后,在阶段2050,MG设备1810利用MG对话密钥SeKMG解密MG内容密钥CKMG然后解密内容。
图21是示意性说明根据现有技术新授权用户如何添加到系统及其授权已过期的用户如何从系统中删除的流程图。过程的第一阶段2110是管理阶段,由此向新授权用户提供在其上面存储该授权用户专用公钥/私钥对的个性化RMD。新分配的RMD还具有存储在其上面最近更新的用户目录版本。更新的用户目录包括新授权的用户的公钥。而且在这个例子中,其授权已过期的用户将从最近更新过的用户目录中删除。接下来,在阶段2120,新用户将其最近分配的RMD插入到RMD与设备相互鉴别的兼容记录设备。然后,在阶段2130,局部存储在记录设备的存储器中的用户目录拷贝同存储在RMD上的用户目录的外部版本进行比较。每个用户目录都有一个版本识别标志,利用该标志可以确定用户目录的局部版本或外部版本是否更近更新过。在这个例子中,使用简单的时间戳标志。它是在这个阶段建立的,从而由于新授权用户添加到系统并删除了过期用户,因此与局部用户目录相比,RMD用户目录是更近更新过的。因此,在阶段2140,更新记录设备上的局部用户目录,从而添加新授权用户的公钥并删除与过期用户关联的公钥。在更新用户目录的阶段,还有必要执行缺省用户集430的确认以确保他们在新的用户目录中仍然作为缺省用户列出。然后,在阶段2150,在记录设备上执行记录操作,例如在记录设备是照相机的地方,其RMD安装在照相机中的新授权用户捕捉新的连续镜头。用户目录的外部版本或局部版本可以用于获得在加密内容密钥时所使用的接收人的公钥。由于已经完成了更新过程,因此用户目录的这两个版本现在应该是完全相同的。在阶段2150的记录操作过程中存储在记录介质上的访问数据包在加密过程中利用新授权用户的公钥,从而新授权用户将对至少一部分所记录的信息内容具有访问许可。典型地,摄影师对新捕捉到的信息内容具有完全的访问许可。由于捕捉到了新材料,因此详细记录内容访问许可的新访问数据包记录在记录介质上。如果现有用户给予新用户对现有内容的访问许可,则新用户可以被添加到与现有信息内容关联的访问数据包。这是通过利用新用户的公钥加密与现有内容关联的CEK子集并将那些加密的CEK添加到现有访问数据包来实现的,其中新用户可以访问这些内容。在阶段2160,新授权用户终止记录对话并从记录设备删除其RMD。
随后,在阶段2170,现有用户将其RMD插入到记录设备以开始新的记录操作。在阶段2180,将用户目录的局部和外部版本进行比较以确定是否有一个版本是更近更新过的。这次证实在阶段2140中更新以便添加新授权用户并删除过期用户的局部版本比存储在现有用户RMD上的外部用户目录更近。再次执行对缺省用户集430的确认。最后,在阶段2190,现有用户的RMD用户目录是根据局部设备用户目录更新的,以便添加新授权用户并删除过期用户。因此可以看到,每次建立连接时,对用户目录的改变将通过RMD与兼容设备的用户目录的比较传播。尽管比较是一开始执行的,但是关于上述例子中将RMD插入到设备中,应当理解比较可选地可以在RMD与设备之间通信序列中的某个其它阶段执行。
应当理解,更新的用户目录的传播可能要花费一些时间。但是,如果新用户没有在内容创建的时候添加到用户目录,则仍然有可能允许在记录后阶段新用户对所记录数据内容的完全访问。类似地,需要有限的时间通过用户目录的更新来撤消过期用户的访问,但可能需要过期用户在其授权被删除时(例如,离开公司)返回其RMD。
为了防止在更新过程中用户目录的损坏,能够验证用户目录给定版本的可靠性是很重要的。为此可以使用数字签名。在一种示例布置中,数字签名可以基于用户目录的全部内容,包括版本识别标志。由于任何对用户目录的非授权修改,例如为改变用户版本识别的数据标志而进行的修改,都意味着该用户目录的数字签名不能被验证,因此这意味着用户目录可以存储成纯文本。
图22示意性地说明了与数字签名关联的消息标记和验证过程。具有数字签名的用户目录的标记从阶段2210用户目录的纯文本版本P开始。在阶段2220,创建纯文本P的哈希。哈希是以确定性方式从纯文本数据得出的短定长位串。然后,在阶段2230,数字签名的初始创建者利用其私钥加密哈希纯文本以生成Q。最后,在阶段2240,通过将加密的哈希纯文本Q附加到纯文本本身,完成数字签名。签名的验证过程从阶段2250开始,其中,例如由记录设备接收纯文本和签名Q。在阶段2260,签名Q是由接收人利用初始创建者的公钥解密的,从而生成数值h2。必需确保不仅被读取的用户目录是完整的和正确的,而且该用户目录的来源是被授权可以更新该目录的。特别地,必需确保附加到该用户目录的数字签名来源于可信赖的用户。因此,在每个设备中都存储了一个用户目录验证公钥(对应于图22中初始创建者的公钥)。为了通过验证测试,用户目录必须用对应的私钥来标记。在阶段2270,创建纯文本的哈希,产生输出h1。最后,在阶段2280,通过检查h1=h2来验证数字签名。如果被确定比与其进行比较的版本更近的用户目录的数字签名没有经过验证,则图21流程图的更新阶段2140将不会执行。根据现有技术,向授权用户提供了对存储介质上信息内容的选择性访问,例如,可以使用户只能访问视频序列帧的一个特定子集。选择性访问是通过允许授权用户只解密内容加密密钥的一个子集从而向他们提供只解密那些已解密内容密钥可用的图象帧的能力实现的。方便实现选择性访问的二叉树加密策略在上面参考图8进行了描述。在已知的加密策略中,信息内容很可能是作为一个整体进行加密或解密的,因此解密数据流的处理是直接的。但是,根据现有技术的选择性访问策略,复制的数据流很可能同时包括保持加密和解密或部分解密(例如,可视地加水印)的视频帧。期望复制设备能够在连续的视频帧中区分它们是保持加密的(给定用户不可访问)还是已经利用访问包解密了。此外,如果在加密的数据流中帧边界是可识别的,则有可能为了单独发行而隔离不同的加密数据子集。加密的内容很可能遵照特定的数据格式。用于识别帧边界的数据部分将表示为数据的“格式识别部分”,而剩余的数据将表示为“有效载荷数据部分”。例如MPEG2格式的视频流数据,考虑如在光盘(例如,DVD)编码技术中发现的视频基本流数据。在MPEG2中,视频流是作为提供解码和显示图片元素(象素)所需信息的头和数据的层次来组织的。视频数据包括排列在图片组(GOP)中、具有不同预定义帧类型的帧(I、P和B帧)。每个头都包括4个字节的代码,其中包括3个字节的起始码前缀,后面紧跟着1个字节的起始码ID。起始码前缀包括23(或可能更多)个二进制零的串,后面紧跟着一个二进制1。起始码ID识别如下表1所示的数据类型。在视频流中不同的点还允许多个“扩展”。每个扩展都以一个扩展起始码开始,后面紧跟着一个列在下表2中的预定义扩展ID。
表1
起始码类型 |
起始码ID(8位) |
Picture_start_code |
00 |
Slice_start_code |
01至AF |
User_data_start_code |
B2 |
Sequence_header_code |
B3 |
Sequence_error_code |
B4 |
Extenstion_start_code |
B5 |
Sequence_end_code |
B7 |
Group_start_code |
B8 |
预留 |
B0、B1、B6 |
表2
扩展_ID(4位) |
名称 |
1 |
序列扩展 |
2 |
序列显示扩展 |
3 |
量子矩阵扩展 |
4 |
版权扩展 |
5 |
序列标量扩展 |
7 |
图片显示扩展 |
8 |
图片编码扩展 |
9 |
图片空间标量扩展 |
A |
图片时间标量扩展 |
0、6、B至F |
保留 |
为了使MPEG2视频流中的帧边界可以识别,有选择地加密数据,从而在加密的数据流中帧边界是可识别的。图23示意性地说明了视频流预定义部分的选择性加密。数据流包括多个4字节头ID或“起始码”2310、2312、2316及2318,后面紧跟着所关联的变长的头。在这个实施方案中,4字节起始码是16进制串,但它们可选地可以是例如10进制或8进制串。对于MPEG,起始码串的长度应该是4字节(或按字节对齐的32位)。
头ID中一个字节的起始码ID识别上述表1中所示的头类型。图片有效载荷数据部分2360、2362紧跟在片段头2350、2352之后。每个图象帧都包括多个片段。图片头2320和图片扩展2330给出了关于帧边界的信息。因此,要加密的视频流部分不包括图片头2320和图片扩展2330,而剩余的头和图片数据用于加密。加密引擎检测图片头2320之前的头ID 2310但不对该头ID之后预定个数的数据位执行加密。这种特定的实施方案识别该头之后预定个数的数据位,但不在这些识别出的数据位中执行加密。但是,在一种可选的实施方案中,头之后数据位的个数是在处理的时候确定的,例如通过解析头来确定其精确长度。类似地,当图片扩展2330之前的头ID 2312被加密引擎检测到时,加密过程不会加密该头之后预定个数的字节。由于图片头2320和图片扩展2330是变长的,而预定个数的位被跳过(未加密),因此未加密的数据流部分有可能延续到图片数据,例如图片数据的第一个片段。由于数据的格式识别部分(在这种情况下是帧边界数据)是可以从未加密的图片头和图片扩展得到的,因此剩余的流数据,即头2340、片段头2350、2352和有效载荷图片数据部分2360、2362,可以用于加密。除帧边界数据之外的数据可以归类为有效载荷数据。但是应当指出相关联的头ID 2314、2316、2318中没有一个被加密。因为错误的帧边界会对帧边界识别产生负面影响,即错误的帧边界可能会在解码器中被无意地引入,因此执行加密,从而确保对应于一个预定头ID的位序列不会无意中生成。一种避免生成头ID序列的加密流在申请号为0128887.7(出版号为GB2382753)的英国专利“Encrypting video data ensuring that allencrypted data values lie in a legal range”中描述。数据流的选择性加密允许MPEG2视频解码器/播放器重放数据流加密和解密的部分,而不会引入帧边界错误。
选择性加密的数据流是利用带有区分器的解密装置解密的,这种区分器可操作区分输入数据的格式识别部分(例如,帧边界数据)和加密的有效载荷部分。解密装置对区分器的输出做出响应并处理输入数据,从而使格式识别部分没有被解密,但至少一部分加密的有效载荷部分被解密了。
尽管上面所描述的根据现有技术的数字版权管理系统主要涉及数据加密和可视水印技术,但它也可以应用到用于其它形式的图象处理,如易毁坏的水印、唯一材料ID(UMID)水印和指纹。
上述技术可以至少部分地由运行在记录/复制设备中数据处理器设备上或RMD上的计算机程序实现,例如,加密和解密过程可以由计算机软件来实现。软件可以由如CD-ROM的存储介质或软盘提供。可选地,软件也可以通过计算机网络传送到设备(例如,从互联网上下载)。
图24是记录/复制装置的示意图。该装置包括用于接收记录信号并将其处理和格式化成要记录的适当格式的记录逻辑2510;记录头装置2520,如旋转头(螺旋状扫描)装置;线性访问记录介质2530,如磁带介质;及用来从头装置2520接收信号并将其处理并格式化成输出信号的重放逻辑2540。
下面将描述这种操作加密内容的记录/复制装置的使用。
在前述的访问控制装置中,压缩的音频/视频信号是利用内容密钥加密的。加密是以一种使出现在MPEG数据流中的信息不会丢失的方式被操作的。这使得加密数据流中的每帧数据都可以识别。尽管其它装置也同样可以使用,但假定在现有装置中使用类似的布置。
同样,在上述装置中,设置了包含(例如)加密内容密钥的“访问包”。如果用户期望从记录介质上的复制品中解密视频内容时,则这是必须的。
不用将加密的视频内容和访问包记录在随机存取存储介质,如磁盘上,这些条目可以记录在图24的线性访问记录介质2530上。现在描述实现其的各种方式。
图25、26和27分别示意性地说明了一连串记录在介质2530上的视频帧。
在图25中,(其中)包括加密内容密钥的访问包被记录为“虚”帧2610。这在图25的示意性图表中示为阴影区域。访问包先被记录,然后记录连续的视频数据帧2620。至少有一些帧2620包含指示访问包2610在帧序列中位置的指针。在图25所示的布置中,指针指示包含该指针的帧与访问包之间的相对位置,表示为多个帧。这种相对寻址布置的好处在于它不依赖于磁带上该序列记录的位置。
有可能每个帧或视频数据都具有指向访问包的相关指针,或可选地一个或多个帧的子集具有这样的指针。当然也可以使用绝对地址,例如当磁带利用帧分辨时间码“预先条纹化”时。唯一或准唯一的材料标识,如SMPTE UMID(可选地作为水印嵌入在内容中)也可以提供合适的绝对地址。
先记录访问包(在加密内容数据之前)的好处首先应用到记录装置,如可携式摄像机上,在可携式摄像机上,捕捉和记录音频/视频数据基本上是实时的。当使用可携式摄像机时,在记录当中的任何特定时间,都不知道记录过程将何时完成。所以,有一个向后指向虚帧的指针是方便的,其中这个虚帧包含记录在序列开始的访问包,而实现一个从序列后面指向虚帧中部的向前指针很难,有可能需要一个记录后阶段来修改所记录的帧。
但是,在其它记录装置,如编辑或控制装置中,实际上在开始就知道当前记录的序列会有多长。在这些情况下,访问包可以通过或在序列结尾放置到中途,而且指针可以同每一帧一起记录从而向前指向访问包。图26示出了在所记录的帧序列2720结尾的访问包2710。同至少一些(或可能是全部)记录帧相伴的指针2730向前指向访问包2710。
图27示意性地说明了另一种布置,其中“主”访问包2810记录在所记录的帧序列2820的开始。指针2830向后指向主访问包。“预留的”访问包2840也记录在序列的末尾。预留访问包的目的是即使记录主访问包的磁带位置存在损坏,所记录的材料仍然可以访问。
图27还说明了另一种相对寻址的可能性,因为每一帧都指向前面一帧,从而形成指回主访问包2810的地址链2830。
图28示意性地说明了记录在介质2530上的视频帧。大部分视频磁带记录格式包括元数据“用户位”,其中每一帧都允许记录用户数据。就是这些用户位构成存储指针2630、2730或2830的理想位置。因此,在图28中,视频和可选音频数据存储在磁带上帧的有效载荷区2910,而指针存储在帧的用户位区2920。
图29和30示意性地说明了数据访问包格式。数据访问包以一个或多个“虚”帧的格式存储,即作为一个视频帧以相同的全局数据格式,同加密的内容密钥等一起存储在视频帧的有效载荷区中。由于它允许相同的记录过程应用到访问包,就象应用到视频帧一样,因此是非常方便的。换句话说,这降低了视频磁带记录/复制装置所需的修改程度。可选地,为了与图27的布置一起使用,一个指示访问包是否是序列“主”访问包的标志可以存储在用户位3020中。
最后,图31示意性地说明了空视频帧3210。
这个视频帧的例子存储与图象空间频率元素相关、作为一连串图象区域3220的压缩视频数据。这种区域可以是所谓的宏块、所谓的片段或其它区域。在每个这样的区域中,都为压缩数据的最低空间频率(所谓的“DC”)部分保留了一个数据区3230。目前的实施方案使用这个区域来存储加密的内容密钥和访问包的其它部分。这样做的一个好处是许多磁带格式可以将更仔细的处理应用到DC数据,因为成功复制传统视频图象是很重要的。更仔细的处理可以包括更高程度的错误检测和校正处理和/或在磁带较少出错的区域,如磁带的中央区域,存储DC数据。
访问包可能要求比单个帧DC系数所能提供更大的存储容量。因此,一个数据访问包可以横跨多个虚帧。在这种情况下,指针可以指向例如代表访问包的第一个虚帧。
尽管已经参考附图详细描述了本发明的说明性实施方案,但应当理解本发明不只限于这些明确的实施方案,只要不背离附加权利要求所定义的本发明范围和主旨,本领域技术人员可以在其中实现多种变化和修改。