背景技术
可调整视频编码(Scalable video coding)赋予多媒体内容以灵活性和自适应性,这样以使其可适合于许多不同的应用和环境。可测量多媒体格式在其中包括,几个MPEG流格式和“可测量媒体适应和鲁棒运输”(“scalable mediaadaptation and robust transport”)(SMART和SMART++)。(例如,见http://research.microsoft.com/im/>。微软公司,华盛顿雷德蒙德;Feng Wu,Shipeng Li,Ya-Qin Zhang,“对有效渐进精细粒状可调整视频编码的框架”,“A framework for efficient progressive fine granular scalable video coding”,IEEE Trans.on Circuits and Systems for Video Technology,vol.11,no.3,pp.332-344,2001;Xiaoyan Sun,Feng Wu,Shipeng Li,Wen Gao,Ya-Qin Zhang,“基于宏块的 瞬时SNR渐进精细粒度可调整视频编码”,“Macroblock-based temporal-SNR progressive fine granularity scalable video coding”,IEEE International Conference on Image Processing(ICIP),pp.1025-1028,Thessaloniki,Greece,October,2001;以及Yuwen He,Feng Wu,Shipeng Li,Yuzhuo Zhong,Shiqiang Yang,“基于 H.26L的精细粒度可调整视频编码”,“H.26L-based fine granularity scalable video coding”,ISCAS 2002,vol.4,pp.548-551,Phoenix,USA,May 2002)。
MPEG-4已经采用了简介(profiles)以提供对不同装置的可扩缩性。一个这样的MPEG-4简介被称作“简单”简介。“简单”提供视频基极层,在这个视频基极层上诸如“简单可测量”这样的其它简介可附加增强层,以提供可扩缩性。被称作“高级简单”的另一个简介通过将某些编码工具附加到“简单”简介来执行矩形视频对象(rectangular video object)。这个“高级简单”简介虽然具有最新的MPEG-4编码效率工具,但是其没有提供任何可扩缩性。而另一个MPEG-4简介通过将有细密纹理的增强层附加到“高级简单”的基极层来提供可调整视频编码,该MPEG-4简介被称作“精细粒度可扩缩性(FGS)”。FGS已经变成了标准。
以最低限度的位速率,并以不可测量的方式对用在某些这些可测量MPEG-4简介中的基极层进行编码。该FGS简介包括从低位速率基极层预测的增强层,该低位速率基极层努力获取关于可能与相同增强层的位速率谱中每个位速率的最佳视频质量。以可测量的形式对该增强层进行编码:帧剩余的离散余弦变换(DCT)系数是按照从最重要位到最不重要位方式的压缩位平面。视频仅被MPEG-4压缩一次。当其在网络上传输时,若该传输网络缺少所需的带宽,则服务器可丢弃与一个或多个最不重要位相关联的增强层数据。也可直接在压缩增强层数据上执行其它的速率修整(rate shaping)操作,而不采取压缩或是解压。上述的FGS简介在这里将称为MPEG-4 FGS,或就是“FGS”。
关于符合不同的可测量MPEG-4简介的多媒体流的多媒体密码编制技术在理想上具有与在不可测量编码中想要的相同特征,即高安全性、低复杂性、低压缩开销、错误回弹力(error resilience)、速率修正自适应性,以及随机播放能力(random play ability)。现在将更详细的讨论某些这些特性。
安全性是对多媒体密码编制的本质需要。与关于诸如军用和银行业过程这样的更多关键性应用的其它类型的密码编制相比,多媒体密码编制具有其自身的特定问题,这包括与军用和银行业数据相比,要加密较大数量的(视频)数据以及在特性上数据的低数值。
因为任何密码编制或解密过程附加处理开销,所以低复杂性是一个特征。由于多媒体流具有较大数量的数据,所以在许多应用中需要或强制密码编制的复杂性应非常低,特别是在解密阶段,这是因为许多应用需要对大量多媒体数据的实时解密,而且通常这是在用户的有限装置上进行的。
由于密码编制通过降低压缩算法的编码效率或通过将字节附加到已经压缩的文件上而不可避免的影响压缩效率,所以压缩开销也是特征。这样,压缩开销在理想上关于多媒体密码编制算法而被最小化了。
错误回弹力对密码编制是重要的,这是因为错误在多媒体存储和传输阶段发生。无线网络对传输错误是声名狼藉的。由于拥塞(congestion)、缓冲器溢出(buffer overflow),以及其它的网络缺陷,数据包可能在传输中丢失。密码编制方案应该在理想上对比特误差和包丢失(package losses)有回弹力。它们应该也允许从比特误差中迅速恢复,以及从包丢失中快速重新同步(resychronization),以防止大量差错传播。多数多媒体密码编制算法通常是在极好的传输环境中设计的,当在传输中出现比特误差或包丢失时,这多数多媒体密码编制算法传播大量能感知的降级(perceptual degradation)。
速率修整说明改变传输位速率(在流的一秒内位的数量),以适合不同条件的能力。在从内容所有者到用户的多媒体流交付中,许多中间阶段通常处理数据。例如,代码转换可改变位速率以适合传输带宽波动或甚至应用需求。若数据被加密,则这些中间阶段通常得需要密码编制和解密键,然后执行解密和密码编制周期,以处理数据。由于密码编制的机密级(secrets)得与这些中间阶段共享,所以这就增加处理开销并且降低安全性。
与上面讨论的安全性特征相关联的是,通常需要关于数字权限管理(digitalrights management)(DRM)来对多媒体流进行加密。这样的加密可帮助内容所有者加强诸如多媒体内容的专利使用权(licensing)这样的版权和其它的财产权。
人们已经提出许多算法来对不可测量视频进行加密。最直截了当的方法是自然算法(
algorithm),该算法在压缩流上以如同其为文本数据这样的相同方式来应用诸如DES这样的标准密码编制方案。(I.Agi和L.Gong,“安全MPEG视频传输的经验研究”,“An Empirical Study of Secure MPEG VideoTransmissions,”
Proc.Symp.Network & Distributed System Security,1996,pp.137-144)。由于要处理大量视频数据,所以自然算法通常有大的处理开销。其有最小的错误回弹力,并且不允许直接在密文上进行速率修整。
另一个方法是选择性算法,其使用视频流结构并仅对部分压缩视频数据进行加密(T.B.Maples和G.A.Spanos,“关于网络化、实时视频安全的选择性加密方案的性能研究”,“Performance Study of a Selective Encryption Scheme forthe Security of Networked,Real-time Video,”Proc.4th Int.Conf.Computer Communications& Networks,1995;以及J.Meyer和F.Gadegast,“关于具有范例MPEG-1视频的多媒体数据的安全机制,”“Security Mechanisms forMultimedia Data with the Example MPEG-1 Video,”http://www.gadegast.de/frank/doc/secmeng.pdf,1995)。要加密的部分数据可为I-帧,I-帧加上P和B帧中的所有I-块,或者I-块的DC系数和较低AC项。由于P和B帧中暴露的I块以及帧间关联(interframe correlation)(见上面Agi和Gong参考),所以仅对I-帧加密不提供充分的安全性。
减少要加密数据的方法也被提出,这是在(L. Qiao和K.Nahrstedt,“MPEG加密算法的比较,”“Comparison of MPEG Encryption Algorithms,”Int.J. Computers & Graphics,Special Issue:“图像通信和网络中的数据安全性”,“DataSecurity in Image Communication and Network”,vol.22,no.3,1998),其仅对在关于一大块(a chunk of)I-帧的偶数索引(even indexes)处的字节进行加密,而且用将奇数索引后续(subsequence)与偶数索引后续进行异或的结果来替代剩余部分。
另一个选择性算法伪随机的(pseudo-randomly)改变所有DCT系数的符号位(C.Shi和B.Bhargava,“快速MPEG视频密码编制算法,”“A Fast MPEGVideo Encryption Algorithms,”Proc.of ACM Multimedia’98,1998,pp.81-88)或者I块DC系数微分值的符号位以及运动向量微分值的符号位(C.Shi和B.Bhargava,“有效MPEG视频密码编制算法,”“An Efficient MPEG VideoEncryption Algorithm,”IEEE Proc.17th Symp.Reliable Distributed Systems,1998,pp.381-386)。
第三种方法是不规则性算法(scrambling algorithm),其混杂(scrambles)某些压缩参数或者混洗代码字(codewords),以防止未经授权的用户纠正解压。简单的方案使用随机排列,而不是标准的Z字形顺序,以将2D块映射到1D向量(L.Tang,“用于对MPEG视频数据进行有效加密和解密的方法”,“Methodsfor Encrypting and Decrypting MPEG Video Data Efficiently,”Proc.ACM Multimedia’96,1996,pp.219-230)。运动向量和选择的DCT系数可在熵编码之前被混洗(W.Zeng和S.Lei,“关于内容存取控制的有效频域视频不规则性,”“Efficient Frequency Domain Video Scrambling for Content AccessControl,”Proc. ACM Multimedia’99,1999,pp.285-294;以及“数字视频的有效频域选择不规则性”,预印本见IEEE Trans.Multimedia)。
VLC(变长编码)(variable length coding)代码也能以服从格式(format-compliant)的方式而被混洗(J.Wen、M.Severa、W.Zeng、M.H.Luttrell和W.Jin,“关于视频存取控制的服从格式可配置密码编制框架,”“AFormat-compliant Configurable Encryption Framework for Access Control ofVideo,”IEEE Trans.Circuits & Systems for Video Technology,vol.12,no.6,2002,pp.545-557)。这些方案改变数据的统计特性,并且这样降低压缩效率。工作时不招致位开销的方案也已经被提出。(W.Zeng、J.Wen和M.Severa,“通过对压缩位流的密码字进行空间混洗的快速自动同步内容不规则性”“FastSelf-synchronous Scrambling by Spatially Shuffling Codewords of CompressedBitstreams,”IEEE Int.Conf.Image Processing,2002,vol.3,pp.169-172),其对压缩位流的密码字进行空间混洗。
虽然上述提到的某些方案以及如大多数不规则算法(most scramblingalgorithms)这样的其它方案可以同等的适用于MPEG-4 FGS,但是当大多数关于不可测量多媒体开发的密码编制方案被应用于可测量多媒体流时,该大多数关于不可测量多媒体开发的密码编制方案通常减少或破坏可扩缩性特征。为了将可测量操作应用于这样的加密可测量流,中间传输阶段(intermediatetransmission stages)通常得对流进行解密,使用诸如代码转换和/或位减少(bitreduction)这样的速率修整,然后对流进行重新加密。这样,就需要在保持可扩缩性特征的同时用于对可测量多媒体流进行加密的技术。
近来已经报道了特别针对可测量格式设计的方案。Wee et al.,提出安全可测量流(SSS)方案,该方案允许没有解密的代码转换。(S.J.Wee和J.G.Apostolopoulos,“允许没有解密的代码转换的安全可测量流,”“Secure ScalableStreaming Enabling Transcoding Without Decryption,”IEEE Int.Conf.Image Processing,2001,vol.1,pp.437-440.)对MPEG-4 FGS而言,该方法对除首部数据(head data)以外的基极层和增强层中的视频数据均进行加密。关于速率失真(rate distortion)最优(RD-optimal)截断点(cutoff points)的暗示必须被插入到关于中间阶段的未加密首部中,以执行RD-optimal位速率减少。密码编制粒度依靠视频流被包装(packetized)的方式。更精确的说,密码编制被应用到每个包。这意味着当在SSS中应用密码编制时,必须知道包的大小。在SSS中进行密码编制之后,不允许关于包大小的任何修改。在实际应用中,关于一种类型的传输通路设计的包大小可能不适合另一个。例如,关于无线传输的视频包大小必须小,这是因为该通路是易于出现错误的(error-prone)。关于国际互联网传输,对有效传输而言,视频包应该大,这是因为关于国际互联网的错误速率(errorrate)是非常小的。想要改变包的大小以使其最适合到传输通道中的任何中间阶段需要采取SSS中的解密/重新密码编制周期。
Grosbois et al.,提出关于JPEG 2000的图像压缩标准的可测量鉴别和存取控制方案。(Raphael Grosbois,Pierre Gergelot和Touradj Ebrahimi,“JPEG 2000压缩域(compressed domain)中的鉴别和存取控制,”“Authentication and AccessControl in the JPEG 2000 compressed domain,”Proc.of SPIE 46th Annual Meeting,Application of Digital Image Processing XXIV,San Diego,2001.)其是根据位流中信息的修改和插入的。键控杂凑值(keyed hash value)被用来产生伪随机序列,该伪随机序列被用来伪随机的将高频带小波系数的符号进行倒置。分层存取结构允许对不同应用的适应。其中一个其主要缺点是为帮助解密的额外信息的插入减少压缩效率。
具体实施方式
概述
主题包括关于可测量多媒体完全可测量密码编制的系统和相关方法,诸如这样的位流,它们遵守新近采用的MPEG-4精细粒度可扩缩性(FGS)视频编码标准和像SMART视频和声音编码这样的其它可测量多媒体编码方案。这些可测量位流提供完全可扩缩性以允许相同流到不同传输和应用需要的简易和灵活适应。该主题提供密码编制技术,其努力保持未加密可测量位流的可扩缩性特征。这样的范例系统和相关方法对通过可测量多媒体编码方案的基于密码编制的数字权限管理(DRM)是有用的。
依照本主题的一个方面,提出具有较低复杂性的范例方法,以关于诸如数字权限管理这样的应用对可测量位流进行加密。该范例方法允许直接使用加密的密文的完全FGS功能性。这防止在位流上中间操作期间对该位流进行译解的需要。使用本主题,诸如使位流适合动态环境的过程和装置(如减少流的位速率以适合网络有限带宽的网络装置)这样的中间阶段可执行FGS操作,这诸如代码转换、速率修整和重新包装化(re-packetization)而不必对密文进行解密。由于在传输阶段加密和解密周期不必由每个中间装置来重复,所以更好的安全性可被保持为键,而且其它的机密级不必与中间阶段共享。这大大减少关于中间阶段的处理负载,并增加范例可测量密码编制系统的终端对终端安全性。该范例密码编制系统200也保持精细粒度,这样以使当出现切断或其它速率修整操作时,剩余的FGS位流仍旧是RD最优化视频流。
另外,范例密码编制系统和方法不引起可测量压缩效率的任何降级以及对传输包丢失和比特误差的任何错误回弹性。该范例系统和方法也允许加密流的随机存取和倒向张力。
范例可测量加密系统的概述
图1示出关于由基极层106和基于基极层106的增强层108组成的可测量多媒体内容102的范例可测量密码编制系统100。其包含基极层加密器(encrypter)104,其接收基极层106并使用至少一个键或机密级来将其转换为选择性或完全加密的基极层212。为了保持最初(如未加密)可测量多媒体内容102的完全可扩缩性,就不加密增强层108。
图2示出另一个范例可测量密码编制系统200,用不同的方案对基层106和增强层108进行加密。范例系统200包括范例多媒体装置202,其具有范例密码编制引擎204。该密码编制引擎204包括基极层加密器104,其与增强层加密器208通讯联结在一起。
范例多媒体装置202接收具有基极层106和至少一片增强层108的可测量多媒体内容102,例如可测量MPEG-4 FGS位流,并使用范例密码编制引擎204将该多媒体内容102加密到可测量加密多媒体内容210中。该范例密码编制引擎204既接收该多媒体内容102的基极层106,也接收该多媒体内容102的增强层108,并使用至少一个键、机密级,和/或基于基极层内容的其它信息(如下面要讨论的“基极层键”)来将增强层108转换为选择性加密的增强层214。除基于内容的基极层键之外,可在该密码编制中使用其它信息和全局键(globalkeys)。全局键是被用来对整个帧、单元、流段或流进行加密的任何一条信息。通常全局解密键涉及用于在关于整个视频、影片等的多媒体流上对密码编制进行解锁的解密机密级。多个键、多条信息和多个机密级可被称为流密码键,或者它们实际上可结合到流密码键中。
这里该FGS位流将被用为可测量多媒体内容102的例子。FGS将多媒体内容102分为一片基极层106和在下面例子中的一片增强层108。在FGS简介中,FGS视频对象平面模式(FGS VOP)使用基极层106,作为关于增强层VOP预测的参考源,而FGS暂时视频对象平面模式(FGS temporal video object planemode)(FGST VOP)可以使用来自关于增强层VOP基极层106的前向、后向或双向(bidirection)预测。
范例密码编制引擎
图3更详细示出图2的范例密码编制引擎204。基极层加密器104从多媒体内容102接收(和/或者获得)基极层106,该基极层加密器104与增强层加密器208通讯联结在一起,该增强层加密器208从该多媒体内容102接收(和/或者获得)一片或多片增强层108。除引入的多媒体内容102之外,该范例密码编制引擎204可接收一个或多个全局键318或其它的密码编制信息。
基极层加密器
在范例密码编制引擎204的一个实现中,基极层加密器104具有用于执行范例可测量密码编制的组件,这诸如基于内容的键发生器(a content-based keygenerator)302、流密码304和与所示控制逻辑308通讯联结在一起的随机数生成程序306。
在一个实现中,这个范例密码编制引擎204使用被Jakubowski和Venkatesan称为“C&S密码编制”的密码编制技术的修改。(Mariusz H.Jakubowski,Ramarathnam Venkatesan,“链和总数原语以及其到MAC和流密码的应用”“The Chain & Sum Primitive and Its Applications to MACs and Stream Ciphers”,EUROCRYPT’98,pp.281-293,1998,作为参考合并于此)。C&S密码编制表示具有总数的通用块链(universal block chaining),或者表示链和总数原语(简称C&S),其关于加密和鉴别数据而被组合应用。该原语是同求和步骤一起应用的“弱”CBC类型的密码编制(“weak”CBC-type encryption),并且该原语被用作关于流密码的前端,以将数据块加密到视频流中。
当范例密码编制引擎204执行输入数据序列时,CBC类型的原语就处理该输入数据序列,该输入数据序列例如代表视频帧或基极层内容单元(其由成百上千的“计算机字”组成,或者其类似于成百上千的“计算机字”)的多媒体内容102的段。在原语中,密码被一对交替使用的可逆通用散列函数(invertibleuniversal hash functions)替代。基极层内容的输出字被总计,并代替下一个到最后一个“字”(next-to-last“word”)被写到帧或单元中。被称作“预MAC”(“pre-MAC”)(“MAC”代表消息鉴别代码)的最后两个字被用分组密码加密。这个预MAC值暗示为(implicitly)关于基极层内容的MAC值,该预MAC值也可作为用于对增强层108进行加密的键的基于内容的部分,也可作为用于对基极层106本身进行加密的基于内容信息312。当该预MAC被用作基极层键310时,可直接或间接使用该预MAC以同步至少其中一个流密码304、314,来产生流密码键316,或者通过使用用于对大部分基极层内容(bulk base layer content)的剩余进行加密的基极层密码304来计算伪随机一次一密乱数本。
即使范例密码编制引擎204可对大量数据进行加密,密码编制还是仅需要被使用一次(每基极层106和增强层108),例如,在FGS帧中执行一次压缩(one-time compression)的同时可以使用该密码编制。由于范例C&S密码编制与其它密码编制例程相比具有较低的复杂性,所以该密码编制,或者该密码编制和解密是较快的。由范例密码编制引擎204使用的密码编制通常不引起压缩效率或错误回弹力的任何降级。
为增加速度,基极层加密器104可替代RC5、AE5或者用于对基极层键310进行加密的关于DES的其它分组密码,如预MAC。范例C&S密码编制不增加帧、单元等中的数据大小,这是因为基于内容的键发生器302产生替代部分要被加密数据的键。在典型的实现中,基极层键310是预MAC,其与关于帧、单元、视频等的全局密码编制键318一起被供给到流密码304中(通常使用和/或包含诸如RC4这样的密码编制算法),以对大部分多媒体数据进行加密,这大部分多媒体数据例如来自基极层内容的密码编制单元的剩余。(通过使用RC5来个别加密如提到的预MAC,以增加形成MAC的速度。)该MAC是可逆的,这样以使解密器(未示出)能以后倒置(reverse)该密码编制以检索最初明文是否没有比特误差出现。由于流密码键316既依靠全局密码编制键318,又依靠预MAC,其可被理解为某些要被加密数据的一个或多个杂凑值,所以密码编制安全性是非常强的。换言之,仅具有可忽略差异的两个不同的内容将被加密到不同的密文中,尽管相同的全局密码编制键318被重复使用。
基极层106既可被选择性加密,又可被完全加密。在范例选择性密码编制模式中,基极层位集合的DC值,如intra_dc_coefficients和dct_dc_differentials、DCT系数的符号位、运动向量horizontal_mv_data和vertical_mv_data的符号位,和/或运动向量剩余horizontal_mv_residual和vertical_mv_residual被提取,以形成要使用该密码编制来加密的向量,该密码编制例如上述关于每个帧的范例修改C&S密码编制。然后密文被放回到最初字段中以替代基极层106中的最初数据。在范例完全密码编制模式中,除了VOP首部之外,通过使用如关于每个帧的范例C&S密码编制来加密基极层106中的熵编码视频数据。
应当注意的是以完全密码编制模式或者以选择性密码编制模式的基极层密码编制不影响多媒体数据的熵编码。由于范例C&S密码编制保持要加密数据的大小,所以该范例密码编制对FGS压缩效率没有负面影响。同样值得注意的是刚刚说明的选择性密码编制模式是MPEG-4 FGS完全可兼容的。
在上面的范例实现中,基极层加密器104可正执行密码编制,该密码编制是关于在执行解密之前需要搜集对整个帧的足够数据的应用或装置的。这样的应用或装置得缓冲整个基极层帧并记忆关于每个已经加密字段的位的位置和数量,或者其对基极层帧数据进行两次分析(一次用于解密,另一次用于解压)。对某些这些类型的应用和装置而言,范例C&S密码编制可能不是可接受的。如可供选择范例实现,诸如RC4这样的流密码,或者在不同模式中使用的诸如DES、AES、RC5这样的分组密码可被用来替代关于完全密码编制模式或选择性密码编制模式的范例C&S密码编制,该不同模式如ECB(电子密码本)、CBC(密码块链),或OCB(偏移密码本)(Offset Codebook)模式。然后可使用随机数生成程序306来产生关于每个帧的不同的随机数。该随机数可被插入到每个基极层帧的首部,并且可与全局密码编制键318组合,作为关于流密码304的输入,以在每个帧中产生不同的随机位,以同关于该帧的要被加密的数据进行异或,或者作为关于分组密码的密码编制的输入,以加密要对该帧加密的数据。对正常长度的视频而言,32位随机数应提供关于视频中所有帧的足够容量,并且如果这样的话,影响压缩效率的开销将为每基极层帧32位。该32位随机数事实上保证非重复随机序列对每个视频帧进行加密(除非存在随机数冲突(a collision of random numbers),若使用良好质量的随机数生成程序的话,这个概率非常小)。由于RC4具有庞大数量的可能状态,所以其关于范例C&S密码编制的替代可确保已经加密内容的安全性。在下面说明的增强层108的密码编制中,该插入的随机数也被用作基极层键310(而不是如预MAC)。
增强层加密器
如图1中所示,最简单的范例实现是让增强层保持未解密。由于从来自作为参考的基极层106的视频对象平面(VOP)中预测或导出增强层108,所以在某些应用中,对整个多媒体内容102的保护而言,基极层106的保护会是足够的。在这个范例实现中,产生“已经加密的”多媒体流110,其包括已经加密的基极层212和从未加密基极层106中预测或导出的未加密的增强层108。
从每个单独VOP的角度来看,这样的范例实现看起来非常安全。不知道解密键,来自已经加密的基极层212和未加密的增强层108的重建帧(reconstructedframe)不包含任何有用的信息。然而,从由VOP组成的视频的全局观点来看,明显得出不同结论。
若QCIF视频被压缩到低位速率(约50Kb每秒)的基极层106和增强层108中,其总位速率大约是1.0Mb每秒,来自基极层106的像素值被设置为零(或另一个固定值),并且播放重建FGS视频,则可观测到下面的结果。首先,若检查每个单独重建帧,则每个是非常随机的,而且不能提取很多有用的信息。但是若播放该重建视频,则移动对象的轮廓(outline)是容易看见的。更重要的是,这样的移动对象和它们的动作被人眼正确的、语义上观测到。在许多应用中,从视频密码编制系统中泄漏出的这样的视频信息可能不是可接受的。很可能通过视频中邻近帧之间的强相关性(correlation)来解释这个现象。当基极层106中的参考帧是强相关时,一连串的增强层帧显露出比由基极层加密器104想要的多得多的信息。这样,单独基极层106的密码编制对加密关于许多应用的多种类型的可测量多媒体内容102而言,可能是不足够的。
返回到图3,包括在范例密码编制引擎204中的可供选择的范例增强层加密器208包括上述增强层密码314,其被包括在随机位引擎320中。范例增强层加密器208也包括帧管理器322、帧缓冲器324、帧位掩码缓冲器326、帧和位掩码组合器328,以及重新同步信息管理器,或“同步管理器”330,所有这些都如所阐明的与控制逻辑332通讯联结在一起。帧管理器322可进一步包括VOP管理器334和帧计数器336。随机位引擎320包括种子管理器(seedmanager)338。该范例增强层加密器208可包括与所阐明的例子相比附加的组件或较少的组件。现在将以简述的形式提供范例增强层加密器208的功能,后面有更详细的说明。
简言之,在一个实现中,范例增强层加密器208通过将增强层108中DCT系数的符号位与随机或伪随机位序列进行异或,而选择性的对增强层108进行加密。多媒体流的每一帧使用不同的随机位序列以避免将相同的随机序列应用到不同的帧,防止引发密码编制安全性中的弱点。对MPEG-4 FGST实现而言,也以类似于DCT系数的方式对运动向量进行加密。现在将更详细的说明范例增强层加密器208的操作。
前述的基极层106的密码编制大大促进增强层108的范例可测量密码编制。诸如预MAC这样的基极层键310从基极层加密器104与增强层加密器208进行通信,并与全局密码编制键318一起被供给到随机位引擎320中。(在基于比一片基极层帧多的FGST VOP的情况下,来自每个基极层帧的基极层键310可连同全局密码编制键318一起而被供给到随机位引擎320中。)随机位引擎320中或与随机位引擎320相关联的的增强层密码314使用诸如RC4这样的技术来产生随机位序列,以同增强层108中的DCT系数的符号位进行异或。下面更完整的说明执行将随机或伪随机位序列与增强层108中的DCT系数进行异或的细节。
随机位引擎320中的种子管理器338确保也不使用由随机位引擎320产生用于对增强层108的帧进行加密的相同位序列,用于在基极层106的选择性密码编制中对基极层106的相应帧进行加密。该位序列可为伪随机的,因此它是可重复的,而且用到多帧的相同位序列应用会危及(compromise)安全性。随机位引擎320使用种子管理器338来防止会危及该密码编制的伪随机序列的重复。实现它的一种方式是通过将固定串供给到增强层密码314,或者供给到部分增强层,作为随机化序列的种子。
由随机位引擎320(如由包括的增强层密码314)产生的随机位被组织到阵列或二元矩阵中,该阵列或二元矩阵相应于由帧管理器322决定的操作视频帧(operative video frame)中的有关位的管理。这个阵列或二元矩阵可被称为“帧位掩码”或“位掩码”。在一个实现中,帧缓冲器324可用来保持增强层108的帧,而帧位掩码缓冲器326保持由随机产生的位组成的帧位掩码。帧和位掩码组合器328将增强层帧中的DCT系数符号位与该帧位掩码中的相应随机位进行异或。换言之,若增强层108中DCT系数的符号位出现在增强层108中,则该增强层108中DCT系数的符号位在该帧位掩码的相同位置处对随机位进行异或。若在由帧和位掩码组合器328产生的可测量加密增强层214的传输中有任何的包丢失(packet loss),则接收的包可容易的与关于解密的正确随机位进行重新排列,而不管丢失的包。
使用关于暂时增强帧中所有DCT系数的位平面编码也是可能的,其被称作FGST暂时可扩缩性(FGST)。FGS VOP和FGST VOP可被组织到单个增强层或两个分离的增强层中。每个FGST VOP可被编码,例如,使用来自基极层的前向、后向或双向预测。重新同步标志器(Resynchronization markers)可通过同步管理器330被插入到FGS流中,以减少错误传播,防止比特误差或包丢失万一出现。增强层中的位平面分离器fgs_bp_start_code也可被用作用于错误回弹力的重新同步标记器。
对FGST VOP的范例可测量密码编制而言,运动向量被附加到已经加密的一个或多个位集合。该范例密码编制如同上述关于基极层选择性密码编制一样。以同DCT符号位相同的方式使用增强层密码314来对运动向量位进行加密。
如图4中所示,每个都具有首部406、408的多FGST VOP 402、404可使用与它们的VOP412参考源相同的基极层帧410。若如上述的随机位引擎320要基于相同的基极层帧410关于不同FGST VOP产生相同的随机位,则会危及安全性。VOP管理器334将由帧计数器336产生的帧计数416、418插入到FGSTVOP首部406、408中。这个帧计数416、418被供给到增强层密码314中(使用如RC4),这样以使关于每个基于相同基极层帧410的FGST VOP 402、404产生不同的随机位。因为被供给到关于不同基极帧的增强层密码314的其它信息防止重复,所以可关于基于不同基极层帧的不同组的FGST VOP来重新使用或重新开始相同的帧计数序列。也就是,基极层键310不同于每个基极层帧410。每FGST增强层帧的两位或三位开销对帧计数器336来说足够在大多数应用中有效工作。被VOP管理器334插入的帧计数416、418比印时戳(time stamp)更有效,这是因为在已经加密的多媒体内容210的传输过程中,中间阶段中执行的某些过程可改变印时戳。而且,若在传输阶段,包含某些FGST VOP 402、404的包被撤消的话,则帧计数416、418就允许解密实体(decryption entity)产生关于接收到FGST VOP 402、404解密的正确随机位。
范例增强层加密器208保持最初未加密增强层108的错误回弹力,并使所有提供有FGS压缩的可测量增强层操作成为可能。
在范例密码编制引擎204的某些实现中,基极层密码304和增强层密码314可为相同的模块或例程。它们被示出为所阐明实现中的分离实体,以强调关于基极层106或者一片或多片增强层108的密码编制而出现密码过程。
范例方法
图5示出范例可测量密码编制方法500。这个范例可测量密码编制方法500可由诸如图2和3中所示的范例密码编制引擎204来执行。在该流程图中,操作被概括为单独的块。该操作可在硬件和/或如可由处理器执行的可用计算机处理的指令(软件或固件)来执行。
在块502处,对可测量多媒体流的基极层帧进行加密。
在块504处,使用基于至少某些基极层中内容的键来对可测量多媒体流的增强层进行加密。
图6示出另一个范例可测量密码编制方法600。这个范例可测量密码编制方法600可由诸如图2和3中所示的范例密码编制引擎204这样的装置来执行。
在该流程图中,操作被概括为单独的块。该操作可在硬件和/或如可由处理器执行的可用计算机处理的指令(软件或固件)来执行。
在块602处,使用第一键对可测量多媒体流的基极层进行加密。
在块604处,使用至少部分从某些基极层内容中导出的第一键和第二键来产生随机或伪随机位序列。第一键通常是关于正在被加密的整个多媒体流的全局键,而第二键通常是关于就对当前帧的增强层或者涉及当前帧基极层的FGST VOP进行加密的基极层键。
在块606处,增强层中DCT系数的符号位与来自随机位序列的位进行异或。
范例密码编制的安全性
可视效果和系统安全性均是多媒体密码编制方法所赋予安全性中的因素。可视效果关于用户可从已经加密的多媒体流中获得多少有用的信息。系统安全性关于已经加密的流出现在被动攻击和主动攻击的抵抗量(amount ofresistance)。
关于安全性,不像文本密码编制,多媒体密码编制可包含攻击程序可使用的明文视频中的强相关性。在多媒体密码编制上的攻击可能仅需要密码编制的部分或近似倒置(approximate reversal)成功,然而在文本密码编制上的成功攻击通常需要部分或所有整个文本的密码编制被完全倒置。另外(Put another way),在已经加密的视频中,并不是数据帧中和数据之间数据的每个部分都是相关的,这样以使最初视频的近似恢复可产生来自已经加密流的许多信息。不同的应用具有对安全失效(security failure)的不同标准。
与上述范例完全密码编制相对照,关于上述基极层106的范例选择性密码编制在已经加密的多媒体内容210中留下某些可视结构。人眼可判断静态部分和移动部分之间的差异。另一方面,上述范例完全密码编制方法从已经加密的多媒体内容210中移除几乎所有的视觉上可辨别的结构。包括完全加密基极层212和选择性加密增强层214的范例完全加密多媒体内容210在视觉上显得随机和无用,除非其被解密。
范例可测量完全密码编制模式和范例可测量选择性密码编制模式均对已知明文攻击具有鲁棒性,这是因为每个帧的密码编制都是不同的,原因是依靠内容的输入(content dependent input)(如基极层键310)被供给到基极层密码304和/或增强层密码314中。对其它类型攻击的鲁棒性在选择性和完全密码编码模式中变化。对范例可测量完全密码编制模式而言,安全性的量依靠关于密码编制在基极层密码304中使用的基础算法(underlying algorithm)。若使用范例C&S技术,则其提供安全密码编制。另一方面,由于使用状态的有限数量,范例可测量选择性密码编制模式可能较不安全。
关于密码编制选择的位可对获得安全性的量产生作用。例如,单独DC系数的密码编制让已经加密帧的边缘仍旧在视觉上是可辨别的。对AC系数符号位的密码编制可仅在非零AC系数上执行。在运动向量的情况下,由于关于帧的运动向量的数量是有限的,所以在这些符号位上的密码编制在强力攻击下就不是非常安全了。在运动向量剩余上的密码编制不附加很多安全性,这或者因为用于运动向量剩余的位数量通常是很小的(如两位每帧),或者如正确或不正确呈现的(rendered)运动向量剩余不导致大的变化或感觉损坏(perceptualdamage)。
在某些实现中,范例选择性密码编制,尽管提供与诸如MPEG-4 FGS这样的某些可测量方案的完全兼容性,但是该范例选择性密码编制仅提供不重要的安全性(lightweight security)。由于多数多媒体流102是用在娱乐应用中的,然而其中呈现的视频通常具有低的知识价值,所以范例选择性密码编制提供速度和可扩缩性,虽然与合法购买该视频的副本相比,花费更多攻击程序来对该视频进行解密。这样,范例选择性密码编制是对许多应用而言的可行解决方案。
实验结果
已经在纯C++代码中实现了至少部分范例密码编制引擎204。在具有512兆字节存储器的PENTIUM
III 667兆赫的DELL
PC上使用范例密码编制引擎204来执行测试。(PENTIUM
是California Santa Clara INTEL
公司的标志)(DELL
计算机公司,Austin,Texas)。
图7示出在范例可测量密码编制之前和之后可测量多媒体流的视觉呈现700。最初视频图像702、702’的帧在由范例密码编制引擎204处理之前,描述多媒体内容102。选择性加密的视频图像704、704’在范例选择性密码编制之后但在解密之前描述已经加密的多媒体内容210。该选择性加密的视频图像704、704’包含某些可辨认的视频对象706,但对实际观察目的而言,就清晰的、可理解的和令人愉快的观察而言,其是太混乱了。完全加密的视频图像708、708’在范例完全密码编制之后但在解密之前描述已经加密的多媒体内容210。该完全加密的视频图像708、708’显现为在观察区域上伸展的随机形状和模式,而且对实际观察目的而言是无用的。应当再次注意到的是已经加密的多媒体内容210,不论是否已经用范例可测量完全密码编制或范例可测量选择性密码编制加密,其还是保持如上述MPEG-4 FGS和FGST可扩缩性特征的完全功能性。
结论
前述说明范例密码编制引擎和对可测量多媒体的完全可测量密码编制的相关方法。上述主题可在硬件中、软件中或在硬件和软件中实现。在某些特定的实现中,范例密码编制引擎和相关方法可在正由计算机执行的诸如程序模块这样的计算机可执行指令的通用上下文中来说明。通常,程序模块包括例程、程序、对象、组件、数据结构等,其执行特定的任务或实现特定的抽象数据类型。该主题也可在分布通信环境中应用,那里经由通过通信网络链接的远程处理装置,通过无线通信来执行任务。在无线网络中,程序模块既可位于包括存储器存储装置的本地通信装置存储媒体中,也可位于包括存储器存储装置的远程通信装置存储媒体中。