专利名称:防止非法复制数字内容的设备和方法
技术领域:
本发明通常涉及给数字内容加上水印的方法和设备,涉及由这样施加水印而产生的记录,和涉及读取这种被加上水印的记录,并且尤其是涉及通过散列表示关于被加上水印的数字媒体内容的链接信息的数字信号的级联结合来给数字内容段加上水印,该数字信号例如是记录的识别号、记录中的段号和记录中的总段数。
互联网和数字媒体技术(例如致密盘″CD″和数字多用盘″DVD″)两者的普及已经对关于数字媒体内容的版权所有者造成了巨大问题。复制、播放和传播数字内容的能力对拥有一台个人电脑并且可以访问互联网的任何人已经变得很容易可用。这个能力已经导致了对那些不能阻止非法复制其成果的版权所有者的权利的普遍滥用。
版权所有权尤其被滥用的一个特殊区域涉及音乐产业。通过互联网的数字音乐的非法盗版正在对音乐产业造成不可估量的损害。迄今为止,大多数音乐内容已经被用一种开放、不安全的格式包装和存储,该格式可以通过任何数字媒体播放机或记录机被读取和处理,例如该内容可以轻易地被复制、存储和传播。为了处理这个问题,音乐产业已经设法创建一个安全域来控制猖獗的音乐盗版。
音乐产业正在研究的一个解决方案涉及建立用于专门处理编码内容的安全播放和记录设备的标准。大量的安全设备和系统已经被建议。比如,美国专利号5,513,260描述了一个系统,其中,在一张受保护的CD可以被播放之前要求一个授权签字。PCT申请WO 99/60568也公开了不同的反盗版系统。
另外,一个由超过180家代表信息技术、消费电子学、无线电通讯、安全技术、国际记录产业和互联网服务供应商的公司和组织组成、被称为SDMI(安全数字音乐倡议)的组织正在致力于开发用于所有形式的数字音乐的安全传送的标准和体系。关于SDMI的信息可以在他们的网站www.sdmi.org上找到。
实现诸如那些按照SDMI被寻求的系统之类的依从系统的挑战之一是不同的竞争需求(competing requirements)必须被满足。例如,按照SDMI(1)如果拥有原版CD,则人们必须被允许不限制数量地复制他们的个人CD;(2)依从SDMI的播放程序必须能够播放已经在信息库中的音乐;(3)SDMI必须提供防止大量复制非法完善的数字音乐的能力;和(4)SDMI必须防止互联网上的不给创作者或版权拥有者任何补偿的非法分配。因此,SDMI要求允许有限的复制形式,而同时普遍的非法复制必须被禁止。
令人遗憾地,这种竞争需求给黑客和盗版者击败该系统的保护方案创造了机会。因此,难以被击败而又满足诸如SDMI之类的倡议的开放需求的保护方案已经并且正在开发。
共同未决的、被共同转让的美国专利编号09/730,336公开了用于给非法复制数字媒体内容施加难度的方法和设备。此专利申请以及其它先有技术公开了用于给非法复制数字媒体内容施加难度的水印的使用。水印是在把数字媒体内容放置在诸如CD或DVD之类的记录介质上的处理过程中以编码的形式被散置的数字信号。一般地,来自记录介质的数字媒体内容取决于被记录在介质上的歌曲的特性和精确解码水印所需的时间长度来被分割成固定长度大约为7到30秒的段。水印以不同位置中不同的编码和/或级别被放置在数字内容中,因此该水印的效果对该数字内容的一般收听者来说是察觉不到的。水印被设计来防止数字内容的非法复制,因为被非法复制和修改到诸如CD或个人电脑硬盘之类的记录介质上的来自互联网或CD或DVD的数字内容不包括这种水印正确的和/或完全的序列。非法拷贝的内容的一般修改包括压缩(例如MP3)或截断(例如仅仅从CD上复制一首歌曲而不是整个介质)。应答被复制的数字内容的播放设备配备有防止不包括这种水印的正确序列的至少一部分数字内容的读出的信号处理器。
例如,音乐一般在包括音轨或歌曲的集合的音频CD上传送。这种CD的非法复制往往限于在特定CD上的歌曲的小子集。这种非法复制在上述申请09/730,336中颇为困难,因为在音频CD的一部分可以被复制之前,音轨和水印的完整集合必须存在。
在一个共同未决的已公开的先有技术方法美国专利申请序列号09/498,883中,包括一个水印的每段的水印包括用于数字媒体内容被存储于其上的记录的识别号,一般地是CD、段号和记录或记录的磁轨中的总段数。在使用被Epstein等人公开的先有技术方法中存在的一个问题是该水印必须编码过多的比特数,比如6O到80。从而,存在一个趋势,即水印在播放过程中对至少一部分收听者来说变成听得到的。于是把这种水印中的比特数减少到一个较低的数量是所希望的,比如20-24。比特的数量不能过分减少到比如10的数量,因为这种减少会让水印技术被使用所谓的字典攻击的黑客所危害。必须用一个方法减少比特的数量并且减少到一个程度以至于水印技术不会被轻易攻击。
因此,本发明的目的是提供用于把水印施加给诸如CD之类的包括数字媒体内容的记录的新改进的方法和设备。
本发明的另一个目的将提供用于确定从包括数字内容的记录读取的水印是否有所期待值的新改进的方法和设备。
本发明的再一个目的是提供一个新改进的记录,其包括难以攻击的水印的已编号段中的数字内容,该水印相对较短并且包括从记录的识别号、段号和在记录或形成一首歌曲的记录的磁轨中的总段数中导出的数字信息。
本发明的一个附加目的是提供用于给攻击记录中的水印施加难度的新改进的方法和设备,其中,该水印相对较短而且包括从记录的识别号、段号和在记录或形成一首歌曲的记录的磁轨中的总段数中导出的数字信息。
本发明的又一个目的是提供用于确定被嵌入一个记录的数字内容段中的相对较短的、难以攻击的水印是否有正确值的新改进的方法和设备,其中,水印包括从记录的识别号、段号和在记录或在被包含在记录的磁轨中的一首歌曲中的总段数中导出的数字信息。
本发明的一方面涉及用于通过根据被级联的散列函数来结合代表CDID、N和k的数值来导出WMi的数值而把水印WMI...WMk...WMN施加到有识别号(CDID)的记录介质上的数字内容的1...k...N段的方法和设备。WM的数值被施加给i段,其中,i有选择地是1...N中的每一个。
本发明的另一方面涉及用于检查具有水印的记录中已读取的数字内容j段的水印的方法和设备,该水印通过根据级联散列函数结合代表CDID、N和k的数值来导出WMj的数值而被施加,其中,CDID是记录的识别号,N是记录中的段数和j是特定的段号。通过确定来自已读取数字内容的CDID、j和N的数值和确定实际从j段读取的水印WMja来执行检查。通过使用同样的用于导出WM的散列函数,结合已确定的CDID、j和N的数值来导出应该从j段读取的水印WMjr的数字信号。应该从j段读取的水印WMjr的数字信号被与实际从j段读取的水印WMja的数值指示相比较。
如果CDID被直接地从介质读取,则应该从j段被读取的WMjr被从H(CDID◇N◇j)导出,其中,H是散列函数和◇是数字级联。
通过执行对实际从j段读取的WMja值的计算,已记录的CDID的正确性被确定。通过从实际从j段读取的WMja的值减去H(Nj),H(CDID)被确定。
如果CDID不能直接地从介质被读取,则被WMi从H(CDID)和H(N◇j)的异或(XOR)结合中导出。此方法包括散列函数H的两次调用,因此涉及到一部分附加计算。在这里XOR意指它的两个运算对象的二进制表示上的比特方式(bit-wise)异或。XOR运算可以被任何可逆的2参数运算代替,例如一个互补异或函数或者一个取模加(modularaddition)运算。
本发明的再一方面涉及用识别号(CDID)赋值的记录介质,其中,该介质包括数字内容并且至少一部分数字内容包括被记录的水印段1...i...N。i段中的水印有根据CDID、N和i的散列级联操作的数值。
本发明的上述和更进一步的目的、特色和优点将参考下列其中一个具体实施例的详细说明并特别地连同附图而变得明显。
图1是根据本发明一个最佳实施例的记录机的示意框图;图2是由包含在图1的记录机中的一个信号处理器来执行的操作流程图;图3是根据本发明一个最佳实施例的播放设备的示意框图;和图4是由包含在图3的播放设备中的一个信号处理器来执行的操作流程图。
现在参考图1,其中,包含用于以常规方法给光盘14施加数字信号的写入磁头12的记录设备10被说明。该数字信号是数字媒体内容的形式,一般是被写入光盘14上的磁轨16的歌曲或其它乐曲,因此每首歌曲都被写入一个单独的磁轨。写入磁头12响应于常规调制器18的数字输出信号,由数字媒体内容源22驱动来依次应答信号处理器20。数字媒体内容源22一般是光盘(CD)、数字多用磁盘(DVD)、或计算机、它们都存储由音乐演奏产生的数字信号。
数字媒体内容源22导出的信号包含被设计来防止源22的数字媒体内容的非法复制的水印。介质磁轨16或整张CD 14的源22的数字媒体内容被分成大量的被接连地编号的段,其有一般在7和30秒之间的一个预定持续时间。在一个实施例中,每段包括一个水印;在另一个实施例中,仅仅一部分段包括水印,例如替换段。与每个磁轨或整个记录(例如整张CD或DVD)相关联的报头包括用于启动水印序列的特有检测的数字信号,如同在例如先前提到的未决申请中公开的一样。报头也可能指示该数字媒体内容没有版权保护,因此它的复制是允许的。报头还包括代表在一个记录磁轨中的总段数的数字信号。
信号处理器20响应于源22的数字媒体内容和来自源23的指示CD14的识别号(CDID)的数字信号来导出防止记录在CD 14上的歌曲或磁轨从CD 14被非法读取和被存储或记录在别处的水印。处理器20对将被加上水印的磁轨或记录的每一段导出一个多比特数字信号。该数字信号由代表识别号(CDID)、特定段数(i)和歌曲或例如CD 14的记录中的总段数的二进制比特的散列级联结合来产生。
如果没有散列函数,则由识别号(CDID)、段号(i)和歌曲或记录中的总段数(N)的级联所产生的二进制比特数将会过大,例如在60和80之间。散列函数被选择,以便由级联产生的二进制比特的数量被减少到20和24之间的一个数,这个数充分小因此经由水印嵌入它不影响CD 14从CD 14播放的歌曲质量,并且这个数充分大以便击败黑客非法拷贝记录在CD 14上的歌曲的企图。虽然散列函数不需要复杂化,但是它必须是如此以至(1)相同或不同的CD的任何两段的散列值有很大的概率不相同;(2)相同CD的连贯段有大体上彼此不同的散列值;和(3)改变一首歌曲中或CD 14上的段数会引起特殊段的散列值的很大的和很不可预知的变化。例如,散列函数可以是级联二进制比特的被截取的校验和、循环冗余校验和(CRC)或可以通过现有硬件高速地被实现的诸如因为没有进位传送而很方便的“劝诫(exhort)”之类的功能。
水印是如此以至任何对磁轨或CD中的总段数(N)的篡改都会导致特殊部分的水印值没有正确值。另外,使用另一个CD的段或使用相同CD的不同段会导致特殊段的水印不匹配该段的正确值。如果黑客企图用另一张CD(例如错误的CD)上的与记录在CD 14上的段的水印一致的水印来代替一个段,则该错误的CD的其它段几乎不能用作替代。
信号处理器20除响应数字媒体内容源22之外,还响应报头源24,其导出代表某些将被施加给CD 14的报头和/或与CD 14的每个磁轨相关联的报头的数据的数字信号。源24施加给处理器20的信号包括识别数字媒体内容正在被记录于其上的特定CD的数(CDID),以及将被记录在CD 14中的段数(N)或将被记录在CD 14中的磁轨中的段数(N)的数值表示。
信号处理器20可以是任何被适当编程的处理器或被编程的中央处理器(CPU)的一部分。无论如何,信号处理器20都包括用于存储不同数字信号的寄存器和包括被编程来计算由级联CDID、N和i而产生的散列函数的硬件,其中,i是数字媒体内容的特定段号,其由源22导出并且有选择地具有从1到N的每个值。
图2是一个由信号处理器20执行的把数字媒体内容的水印部分施加给CD 14磁轨的适当操作的流程图。
在操作30中,信号处理器20最初读取和存储由信号源24导出的报头。从而,分别由操作32和34指示的是,CDID和N的值被储存在处理器20的适当的寄存器中。由操作36指示的是,然后信号处理器20把一个索引寄存器设置为i=1。从而,确定将被施加给CD 14的磁轨的数字媒体内容的水印的处理器20的初始条件被建立。
在操作38,处理器20然后读取和存储段i的数字媒体内容。因为特定介质磁轨的每段都有一般是7到30秒的相同的持续时间,所以操作38在每段的数字媒体内容上被定期执行。然后在操作42中,如上所述,处理器20根据CDID◇N◇i级联CDID、N和i并且根据散列函数散列该结果。根据H(CDID◇N◇i),在20和24比特之间的数字信号从而被导出。然后在操作44中,处理器20把已产生的表示H(CDID◇N◇i)的数字信号嵌入i段。然后在操作46中,给索引寄存器加1到i=i+1。
与确定和存储i段的水印有关的操作从而已经被完成。处理器20然后确定将被记录在CD 14或CD 14的磁轨中的上一段是否已经在操作48中被确定达到,即是否i=N。如果i不等于N,则处理器20的程序返回操作38,使操作38-48一直重复到i=N为止。当操作48指示将被记录的上一段已经达到时,即i=N时,处理器前进到操作50,其中,已存储的报头和加有水印段1...i...N被检索并且被依次施加给CD14。
现在参考图3,一个有用于阻止通过在CD 66上非法复制的磁轨64的扩音器62来故意复制和用于提供通过在CD上合法地复制的磁轨的扬声器来故意复制的设备的播放单元60的示意框图。播放单元60包括用于导出指示从CD 66上的磁轨读取的数字媒体内容的数字信号的常规读出磁头68。读出磁头68的数字输出信号驱动常规解调器70,其依次把CD 66的磁轨所读取的指示数字媒体内容和被嵌入其中的水印的数字信号提供给信号处理器72。信号处理器72包括一个能够导出驱动扩音器62的模拟音乐信号的数模转换器。
CD 66的每个磁轨或整张CD 66包括一个报头,其包括CD识别号和磁轨或CD中的段数。信号处理器72响应于报头、数字媒体内容和被嵌入数字媒体内容的水印来确定磁轨或整张CD是否已经被违法复制还是原版数字媒体内容的一个合法复制。如果信号处理器72能够读取CD标识号,则它根据H(CDID◇N◇i)来计算每段数字媒体内容的散列函数并且将被计算出的散列函数与被散列的嵌入该段的数字媒体内容的水印相比较。如果信号处理器72不能读取CD标识号,则它通过执行一个H(N◇k)从WMka的取模减(modular subtraction)来确定CD标识号,其中,k是k段的号和WMka是实际从段k读取的水印。在磁轨或整张CD 66已经通过信号处理器72被读取和处理之后,信号处理器确定该磁轨或整张CD是否已经被违法复制还是原版数字媒体内容的一个合法复制。如果磁轨或整张CD已经被违法地复制,则信号处理器72阻止磁轨和/或整张CD对扬声器62的应用程序。
图4是一个由信号处理器72执行来实现上述结果的操作流程图。在操作76中,处理器72最初读取磁轨的报头或整张CD的报头。然后在操作77中,处理器72初始化被包含在其中的是和否寄存器,因此两个寄存器都存储零值。在处理器根据报头确定磁轨或整张CD中的段数的过程中,处理器72然后进行到操作78并且把这个数N存储在处理器的寄存器中。
在处理器确定磁轨或CD的报头中的CDID是否可读的过程中,处理器72然后进行到操作80。如果报头中的CDID是可读的,则处理器72在处理器把CDID存储在处理器的另一个寄存器中的过程中前进到操作82。处理器72然后在处理器设置索引寄存器为i=1的过程中前进到操作84。索引寄存器中的数表示正在被处理的磁轨或CD中的段号。处理器72然后在处理器根据H(CDID◇N◇i)来计算表示段i的散列函数的期待值的数目的过程中进行到操作86。在完成操作86之后,处理器72在操作86中被确定的散列函数被储存为WMjr的过程中前进到操作88。然后处理器72在处理器确定实际从磁轨或CD的j段读取的水印(WMja)中的比特的过程中前进到操作90。
如果操作80确定CDID不能从报头读取,则处理器72前进到操作92而不是前进到操作82。在操作92中,处理器72设置索引寄存器为i=(1)。然后在操作94中,处理器72计算H(N◇k),即确定被与正在从k段被读取的段数级联的N的散列函数。处理器72然后在操作96中读取k段的水印WMka并把它存储在处理器的一个寄存器中。处理器72然后在操作98中确定被散列的CDID值,即通过从WMka减去H(N◇k)得到的H(CDID)。然后在操作100中,处理器72计算j段的水印期待值,即根据H(CDID)H(N◇j)的WMjr。
处理器72然后进行到操作102。操作102取决于CDID是否在操作80中是可读的而在操作90或操作100之后被立即执行。在操作102中,处理器72确定被计算的j段的水印WMjr是否等于被实际读取的j段的水印。响应于操作102得到一个″是″结果,在操作104中,处理器72中存储″是″结果数的寄存器通过一个计算被加1。响应于操作102得到一个″否″结果,在操作106中,处理器72中存储″否″结果数的寄存器通过一个计算被加1。在适当的操作104或106已经被执行之后,处理器72在j段的数字媒体内容被存储在处理器的存储器中的过程中进行到操作108。然后,处理器72在索引寄存器i通过一个计算被加1的过程中前进到操作110。然后处理器72在处理器确定被存储在索引寄存器中的数是否等于磁轨或CD中的段数(N)的过程中进行到操作112。响应于指示被存储在索引寄存器中的数不同于磁轨或CD中的段数的操作112,处理器72返回操作86或94。如果CDID在操作80中是可读的,则处理器72返回操作86,然而如果CDID在操作80中是不可读的,则处理器72返回操作94。
如果操作112指示被存储在索引寄存器中的数等于磁轨或CD中的段数,则处理器72准备确定磁轨或CD的数字媒体内容是否应该被读出到扬声器62。为此,处理器72在存储操作102的″否″结果数的寄存器被读取的过程中前进到操作114。响应于″否″寄存器的内容超过一个比如1的预定数目,可以假定磁轨或CD被非法复制。响应于指示″否″寄存器的内容超过预定数目的操作114,处理器72在存储磁轨或CD的N段的数字媒体内容的存储器被擦除的过程中前进到操作116。从而,磁轨或CD的数字媒体内容不能被读出到扬声器62。响应于指示″否″寄存器的内容不超过预定数目的操作114,处理器72在1...k...N段的数字媒体内容被读取给扬声器62的过程中前进到操作118。应当理解,操作114可以被替换为其它操作,比如将被存储在″是″和″否″寄存器中的数进行比较;在这种情况下,操作118响应于指示被存储在″是″寄存器中数目超过被存储在″否″寄存器中数目的某个百分比的比较而被达到。当操作116或118完成的时候(无论哪一个都适用),处理器72的操作被完成并且与这些操作有关的程序被退出。
虽然本发明的一个特殊实施例已经被描述并且说明,但是很清楚的是,被特别说明和描述的实施例的细节中的变化可以在不背离所附权利要求中所定义的本发明的实际精神和范围的前提下被作出。虽然本发明已经描述了关于防止数字记录介质的盗版,但是应当理解,它还涉及到为了许多其它目的而施加和检查水印,例如安全分布式数据存储器。
权利要求
1.一种把水印WM1...WMk...WMN施加给具有识别号(CDID)的记录介质上的数字内容的1...k...N段的方法,该方法包括根据级联散列函数来结合表示CDID、N和k的数值从而导出WMi的数值,和把WMi的数值施加给i段,其中,i可选择地是1...N中的每一个。
2.一种检查具有根据权利要求1的方法施加的水印的已读取数字内容的j段的水印的方法,该方法包括根据已读取的数字内容来确定CDID、j和N的数值,确定实际从j段读取的水印WMja,通过使用用于导出WMi的相同散列函数来结合已确定的CDID、j和N的数值来导出应该从j段读取的水印WMjr的数字信号,和比较应该从j段读取的水印WMjr的数字信号和实际从j段读取的水印WMja的数值指示。
3.权利要求2的方法,其中,CDID直接从介质读取并且应该从j段读取的WMjr从H(CDID◇N◇j)中导出,其中,H是散列函数而◇是数字的级联。
4.权利要求2或3的方法,其中,被记录的CDID的正确与否通过执行对实际从j段读取的WMja值的一个计算而被确定。
5.权利要求4的方法,其中,H(CDID)通过从实际从j段读取的WMja的值减去H(Nj)而被确定。
6.权利要求2-5中任意一个的方法,其中,应该从j段读取的值根据H(N◇j)来计算从而导出第一散列函数,并且结合第一散列函数与可逆2参数操作的由散列函数H散列的确定值。
7.一个被分配了用数字表示的ID号(CDID)的记录介质,该介质包括数字内容、至少一部分数字内容有施加了水印的段1...i...N,段i中的水印有一个根据CDID、N和i的散列级联函数的数值。
8.一种用于把水印WM1...WMk...WMN施加给适合具有识别号(CDID)和在至少1...k...N段中包括数字内容的记录介质的1...k...N段的设备,该设备包括一个用于结合每个指示CDID、k和N的数字信号1...k...N的处理器装置,该指示CDID、k和N的信号根据级联散列函数被结合来导出一个被散列的级联输出信号,和一个用于把被散列的级联输出信号施加给记录介质的写入单元。
9.一种用于检查数字记录介质的1...k...N段中的数字水印的有效性的设备,该数字记录介质具有识别号(CDID)和记录在该介质的至少1...j...N段中的数字内容,该设备包括一个用于读取数字内容和水印以及用于导出指示它们的数字信号的读取单元,一个被连接来应答读取单元的处理器装置,该处理器装置用于(a)根据与H、j和N结合的CDID的确定值的级联值的散列函数来确定应该被记录在1...j...N段中的至少一部分中的水印中的比特数值WMjr,(b)用于确定实际从介质读取的比特数值WMja,和(c)用于确定WMjr和WMja的比值。
10.权利要求9的设备,其中,该处理器装置被安排用来响应从介质读取的CDID,并且用于确定WMjr和H(CDID◇N◇j),其中,H是散列函数和◇是数字级联。
11.权利要求10的设备,其中,该处理器装置被安排用来响应于实际从j段读取的WMja值来计算CDID值。
12.权利要求11的设备,其中,该处理器装置被安排用来响应从介质读取的CDID和用于确定实际从j段读取的WMjr。
13.权利要求9的设备,其中,该处理器装置被安排用来通过从实际从j段读取的WMja的值减去H(N◇k)来确定CDID。
14.权利要求9的设备,其中,该处理器装置被安排用来(a)根据H(N◇j)来计算应该从j段读取的值从而导出第一散列函数,和(b)结合第一散列函数与可逆2参数操作的由散列函数H散列的确定值。
全文摘要
通过根据被级联的散列函数来结合(42)代表CDID、N和i的数值,水印WM
文档编号G06F21/24GK1582476SQ02822062
公开日2005年2月16日 申请日期2002年10月28日 优先权日2001年11月7日
发明者L·哈尔斯 申请人:皇家飞利浦电子股份有限公司