保护计算机系统内版权数据的装置、方法

文档序号:7949163阅读:161来源:国知局
专利名称:保护计算机系统内版权数据的装置、方法
技术领域
本发明是申请号为98108967.4,申请日为1998年5月22日,发明名称为保护计算机系统内版权数据的装置、方法和计算机程序产品的分案申请。
本发明一般涉及用于保护数字视频/音频数据的装置和方法,并特别涉及用于从CPU到诸如存储器或总线等可访问的内部结构通信的计算机系统内部数据的加密/解密的装置、方法。
在过去的十年内,世界范围电子通信系统的出现强化了人们能够发送和接收信息的方法。特别地,近年来实时视频和音频系统的能力已经大为改进。为了提供诸如视频点播(video-on-demand)、视频会议及数字视盘(DVD)动画等服务,需要大量的带宽。实际上,带宽常常是这种系统有效性的主要障碍。
为了克服现有技术造成的束缚,出现了压缩系统。这些系统通过去除图象序列中的冗余而降低了必须发送的视盘和音频数据量。在接收端,图象序列被解压缩并可实时地显示。
出现的视盘压缩标准的一例是运动图象专家组(“MPEG”)标准。在MPEG标准中,视盘压缩在一个图象内和图象之间都有定义。一图象内的视盘压缩,是通过离散余弦变换、量化、变量长度编码、及Huffman编码对数字图象从时域到空域的转换而实现的。图象之间的视盘压缩是通过称为“运动估计”的过程实现的,其中运动向量加差别数据用来描述一组图象元从一个图象到另一图象的转移。ISO MPEG标准只规定了位流的句法和解码过程的语义。编码参数的具体选择及性能对复杂性的权衡折衷则留给了系统的开发者。
数字式通用盘(DVD)是一种正在出现的技术,这种盘由于其性质,需要广泛的加密以保护诸如电影等数据,防止未经许可的复制。
DVD是一种对视频、音频和其他压缩数据的内容的规范,以便用作为由DVD解码器重放的视频、音频及例如字幕数据。在运动特性专家组(MPEG)标准(ISO/IEC 13818-2)中对DVD视频数据进行了规范。正如这一标准中所表述的那样,还使用本行业中的内容扰频加密(scrambling)系统(CSS)对数据加密,该系统对DVD重放产生一加密的编码数据流。能够通过获得许可的可执行对CSS解密的硬件对这种数据流解密。通常,CSS解密出现在PCI卡上,这种卡通常还包含对加密的编码数据信号的MPEG解压缩。
本发明旨在就一个具体的方面对这一通常加密、编码数据流的DVD处理进行改进。
简单概括而言,本发明的第一方面包括;在CPU被连接成接收扰频加密数据流的计算机系统内用于处理扰频数据流的装置。该装置包括中央处理器内的反扰解密(descrambling)装置,以便对接收的扰频数据流进行反扰解密,并从而产生还原(clear)的数据流。同样设在中央处理器中的再加密装置对“干净的”数据流进行再加密以产生加密的数据流,其中扰频加密数据流是从不同于加密数据流的一种加密算法产生的。提供了用于从中央处理器向与CPU连接的计算机系统的第二结构转移加密数据流的装置。与第二结构连接的解密装置接收加密数据流对其进行解密,并从其产生“干净的”数据流,其中当从中央处理器向与CPU连接的第二结构转移时干净的数据流不被公开,其中中央处理器中的反扰解密装置对接收的扰频加密数据流完成软件的反扰解密。
另一方面,本发明在中央处理器被连接成接收数据流的计算机系统中还装设了用于处理数据流的装置。该装置包括CPU内的加密装置,用于对数据流中识别版权的数据进行加密以便从其产生加密数据。装设了用于把加密数据从中央理器转移到与其连接的计算机系统结构的装置,其中版权数据只是作为所述加密的数据从CPU被转移。解密装置连接到接收加密数据的结构用于对加密数据进行解密。
各种对上述每一方面的各种提高都进行了说明并要求保护。此外,还提供了对应的方法和计算机程序产品并也要求了保护。
再次声明,根据本发明,不论是压缩的或非压缩的还原数据都不允许驻留在可访问的计算机系统结构(诸如主存储器缓冲区或系统总线)中,以防止还原数据被窃取。本发明特别适用于诸如由数字视盘(DVD)技术采用的MPEG编码和CSS加密的视频数据。这里提供的解密技术允许随后的各种变化,例如通过下载新的微代码,成对的加密/解密算法的灵活变通等。此外,具体采用的扰频加密/反扰解密算法可以有变化。其基本概念是为了通过主机软件启动反扰解密过程,使用不同的加密技术在中央处理器对数据进行再扰频加密,并然后在接收模块完成反扰解密,接收模块或是由在中央处理器执行的一附加软件模块组成,或是由诸如驻留在与中央处理器连接的系统总线上的解码器这样的接收硬件装置组成。接收的加密数据初次软件反扰解密之后的再扰频加密可以是完全的或局部的。在接收模块,再扰频加密数据可被解密用于显示,通过音频卡输出,或受到进一步的处理。
本发明提供一种用于在CPU被连接成接收数据流的计算机系统内处理数据流的装置,所述装置包括CPU内的加密装置,用于对数据流内识别了版权的数据进行加密,以从中产生加密数据;用于在中央处理器内识别数据流的所述版权数据的装置,用于识别的所述装置向所述加密装置提供所述识别的版权数据;用于把加密的数据从中央处理器转移到与其连接计算机系统的结构中的装置,其中所述版权数据只从中央处理器作为所述版权数据被转移;以及与所述接收版权数据的结构连接的解密装置,所述解密装置包括用于对版权数据解密的装置。
本发明还提供一种用于在使中央处理器和中央处理器以外的一个结构与之连接的计算机系统内处理数据流的方法,所述方法包括(a)在中央处理器(CPU)接收数据流;(a1)在中央处理器内识别数据流的所述版权数据供加密(b)使用;(b)在数据流内对被识别的版权数据进行加密以产生加密数据;(c)在所述加密(b)之后,从中央处理器向与之连接的结构传输加密的数据,其中所述版权数据仅作为所述加密的数据从中央处理器传输;以及(d)从与CPU连接的结构检索版权数据并对加密的数据进行解密以产生干净的数据,所述解密发生在加密数据向中央处理器之外的结构转移之后,其中所述干净的数据在中央处理器同与之连接的结构之间转移时在计算机系统内不被暴露。
当结合附图考虑,从以下对本发明一些优选实施例的详细说明,本发明的上述目标、优点和特点以及其他将更易于理解,其中

图1表示采用根据本发明的加密/解密装置的计算机系统的一个实施例;图2是用于实现根据本发明的加密/解密处理的一个实施例的流程图;图3是用于在根据本发明的加密和解密模块和/或装置内更新密钥的实施例的框图。
图4是表示根据本发明使用微代码进行DVD盘数据流处理的一个一般来说,本发明包括用于对例如采用内容扰频加密系统(CSS)技术被扰频加密的数据流进行处理的装置、方法和计算机程序产品。作为一个方面,本发明包括对接收的CSS加密信号在中央处理器进行反扰解密,而不会随后把反扰解密数据的还原拷贝暴露在CPU之外任何可访问的结构中,诸如存储器或系统总线。这保证了要加以保护的信息,诸如保密数据和版权资料(以下统称为“版权数据”),将不会暴露在可能进行原始数据流的非法拷贝之处(例如,在数据传送期间),同时允许CSS加密系统的软件反扰解密。在这里所讨论的一个具体例子中,加密的流可能还包含采用运动图象专家组(MPEG)标准(IOS/IEC 13818-2)被压缩的视频/音频编码流。
根据本发明,中央处理器中一个主软件模块进行反扰解密,并然后在向CPU之外的软件模块和/或硬件装置例如通过存储器或总线发送任何版权数据之前,使用所选择的加密/解密算法对数据流进行加密。然后接收再加密的数据流的外部软件模块和/或硬件装置对流进行解密并对其进行处理,例如在视频数据的情形用于显示,或在音频数据的情形输出给声卡。
简单概括来说,这里所涉及的处理包括在主软件模块确定数据在随后从计算机系统的CPU传输期间是否需要保护,然后主模块与软件模块和/或硬件装置最后进行通信以便接收数据流以建立成对的加密/解密算法。这一通信可能涉及把解密算法下载到接收软件模块和/或硬件装置,或以信号通知解密软件/硬件,告知在多个预定的加密/解密算法对中要使用哪一个解密算法。主模块使用被选择的加密算法,对被反扰解密的数据再加密,用于通过诸如存储器和/或系统总线等任何可访问的结构,向要完成最后解密的接收软件模块和/或硬件装置传送。然后可能也是位于中央处理器内的接收模块,对数据进行解密并对其进行通常的处理。作为另一例子,来自中央处理器的再加密的数据可能通过系统存储器和/或系统总线发送到视频解码器以便解密,并然后对数据解码用于显示。
图1表示使用根据本发明的装置的计算机系统的一个实施例。主软件模块10和次(或接收)处理软件模块20在计算机系统的中央处理器(CPU)中分别被执行。处理单元硬件30(诸如解码器)设置在计算机系统的一个总线26上。主软件模块10和软件模块20和/或处理硬件30之间的通信,需要通过都是位于CPU11之外的存储器25和/或系统总线26的数据传送。软件模块10包含数据处理模块21和加密模块22。数据处理模块21包括对数据流进行的任何常规处理,并根据本发明,还包括对接收的加密的原始数据流进行反扰解密(诸如CSS反扰解密)。处理模块20包含一个解密模块23和一个处理模块24,同时处理硬件装置30包含一解密装置27和数据流处理装置28。
原始数据例如从外部存储装置或从计算机系统网络到达中央处理器11。这数据可能包含需要进行保护避免被非法拷贝的一部分。这部分在此标记为“版权数据”以便将其与原始数据相区别。如果全部原始数据需要被保护,则版权数据就等于原始数据。原始数据首先传送到模块10的输入,供数据处理21进行处理。又例如这可能包含对CSS加密的原始数据的反扰解密。然后由加密模块22使用不同的加密算法,即不同于CSS加密的加密算法,对识别的版权数据进行再加密。通过模块10的原始数据可包含未加密数据流或加密的数据流。在第一种情形下,处理模块21处理原始数据,且加密模块22执行加密算法以便对任何版权数据加密。举例来说,加密算法可能是B.Schneier的“应用加密技术(Applied Cryptography)”,John Wiley&Sons Inc.,2nd Ed.(1996)中所述的类型的算法。
在第二种情形下,处理模块21可能对原始数据解密,这之后加密模块22将使用所选择的加密算法对其版权部分再加密,该算法又可能是在“应用加密技术”中所述的类型。这一过程称为转移加密。另外,处理模块21可选择不对原始数据解密,而然后模块22可能对原始加密的版权数据的顶级加密。这一过程称为层次加密。优点是,转移加密允许用于根据本发明的计算机系统内的加密算法不同于由原始数据所使用的例如CSS加密等加密算法。层次加密允许使用多种加密算法,因而提高了可靠性。
对于由次级处理模块20和/或处理硬件装置30最后的接收,加密的版权数据可传输到/通过系统存储器25和/或系统总线26。如上所指出,模块20具有解密模块23和数据处理模块24,而硬件装置30包含解密装置27和数据处理装置28。解密模块23和/或装置27对由加密模块22加密的数据进行解密。然后解密的数据由数据处理模块24和/或数据处理装置28分别处理。
由加密模块22和解密模块23(和/或装置27)采用的加密/解密算法对可以是在模块10及20和/或硬件装置30的设计阶段预定的默认的算法对。另外一种方式,算法对可以是可下载的算法。
例如,可以有植入加密模块22中的多个加密算法及植入解密模块23和/或解密装置27中的多个解密模块。在任何给定的时间将只使用一对匹配的算法。在解密之前,加密模块22向模块23和/或装置27发送一信号,通知它们模块22将采用哪一个具体的算法。这一信号可以是以软件参数的形式,或是软件或硬件的中断。然后解密模块23和/或解密装置27使用所选择的加密/解密算法对的对应的解密算法。由于没有实际的算法内容在模块和装置之间传送,故除非在软件模块和/或硬件装置内执行相反的工程,否则将不会得知所应用的实际的加密算法。
另一方面,可在设计阶段预先设定加密模块22和解密模块23(或解密装置27)包含驻留的加密/解密程序。在加密之前,模块22将决定要使用的实际的加密和解密算法对。模块22将使用驻留的加密算法,对于所选择的要由解密模块23和/或解密装置27使用的算法对的实际解密程序进行加密。然后加密模块22把实际解密算法的加密版本传输到模块23和/或装置27。在收到这一信息时,解密模块23和/或装置27采用驻留的解密算法对下载的解密算法进行解密。然后模块23使用已解密的解密算法作为过程调用,同时装置27能够向装置27内的可编程电路加载该算法。在完成了实际的解密算法的下载后,模块22使用实际加密算法对数据进行加密,模块23和/或装置27使用下载的解密程序对数据解密。如果希望进行加密/解密程序的更新,则选择不同的加密/解密算法对,并且加密模块22向解密模块23和/或解密装置27下载对应的解密算法。
在进行了解密之后,接收数据处理模块24和/或装置28执行任何所需的数据处理,诸如还原压缩的视频/音频数据信号的MPEG解码。
图2描绘了根据本发明使用图1所示装置建立保证数据安全的加密和解密过程的一处理实施例的流程图。这一处理流程在原始数据进入到软件模块10的输入时开始(图1)。在步骤50,模块10首先确定接收的数据是否需要被保护。如果“否”,则在步骤60模块22把数据直接传送给次级模块20和/或装置30。例如,在DVD应用程序中,模块10能够检查拷贝产生管理系统(CGMS)数据。如果接收的数据需要被保护,则在步骤51的处理使得从模块22到解密模块23和/或解密装置27通信告知需要在数据使用之前进行解密。
以下,处理过程确定解密算法是否需要下载(步骤52)。如果是“否”,则意味着要使用默认解密算法,处理过程直接进到步骤54。否则,该算法在步骤53被下载到解密模块23和/或解密装置27。
在建立了解密算法之后,加密模块22把密钥传送给解密模块23和/或解密装置27(步骤54),并使用密钥和解密算法对版权数据加密(步骤55)。通过系统存储器和/或系统总线,已加密的密钥和加密的数据可作为一信号位流或分别地向模块23和/或装置27发送。在步骤56,解密模块23和/或解密装置27使用选择的或下载的算法对数据解密。然后在步骤57模块22确定解密密钥是否应当被更新。如果为“否”,则重复解密和加密处理步骤55和56。如果需要,则可使用相同的解密密钥直到数据流传输结束。否则,返回到步骤54以便把新的加密密钥传送给模块23和/或装置27。
图3描绘了根据图2的步骤54到57更新加密的装置/处理的一个实施例。模块22内,有一个密钥产生模块79、一个密钥加密模块80、一个数据加密模块81及一个数据多路复用器模块82。密钥产生模块79产生一原始密钥,该密钥由模块80加密并还由模块81用来对原始数据加密。数据多路复用器82把加密密钥和加密的数据结合为一个数据流,然后该数据流通过存储器和/或系统总线83传输到解密模块23和/或解密装置27。解密模块23和解密装置27包含数据多路分解器模块/装置84,密钥解密模块/装置85和数据解密模块/装置86。数据多路分解器模块/装置84把接收的数据流分解为加密数据和加密密钥。然后由密钥解密模块/装置85对密钥进行解密。数据解密模块86使用原始密钥对加密的数据进行解密。
图4描绘了根据本发明的处理过程的另一实施例。在这一实施例中,在CSS解密之后,采用对数据流的再扰频加密,随之在解码器芯片中进行解压缩解码之前对再加密数据流进行反扰解密。所述的处理过程最好在芯片上的微码内实现。
更具体来说,把位流从DVD盘100读入主处理器110,在此中央处理器使用获许的DVD密钥112进行DVD反扰解码。可选择的抗窜改算法114可用来保护后来的加密过程。然后,使用任何可获得的加密/解码算法,即除去CSS编码之外的算法,对干净的、加密位流进行再扰频加密116。这一再扰频加密的数据被传递到解码器,例如MPEG视频解码器128。在包含对微码反扰解密的对应位流的微码负载124之后,在解码器128内发生反扰解密。被扰频加密然后反扰解密的数据流本身部分,以及所使用的算法,可以随着不同的代码版本而变化。数据流可能包含MPEG视频数据流118,其中在一个实施例中,根据位流再扰频加密116的处理对每一图象120的一个或多个字段扰频加密,使得在DVD反扰解密处理112之后,数据流至少部分地被再加密。解密密钥122以及微码负载124与视频数据流一同发送到视频解码器128内的位流反扰解密逻辑电路126。
从以上所述业内专业人士将注意到,根据本发明,干净数据(非压缩的或压缩的)绝不驻留在诸如主存储器缓冲区或系统总线等可访问的计算机系统结构中,从而防止了对干净数据的窃取。本发明特别适用于由数字视盘技术采用的MPEG编码和CSS加密的视频数据。这里所提供的解密技术,例如通过新微码负载的灵活性,允许对可能已被破坏的解密算法作后继的改变。此外,由本发明的再扰频加密技术采用的具体的扰频加密/反扰解密算法是可以改变的。其概念是,通过主软件开始反扰解密过程,对CPU的数据使用不同的加密技术进行再扰频加密,并然后在接收模块完成反扰解密,接收模块或者包含添加的软件模块或者包含接收硬件装置,诸如解码器。在对收到的已加密数据进行主软件反扰解密之后的再扰频加密,可以是完全的或局部的。例如,在一个实施例中,一定的MPEG数据可由主软件扰频加密。然后主机将把适当的反扰解密微码负载或密钥传送给接收模块或接收硬件装置。在接收模块,微码执行由主机使用的扰频加密算法的逆算法。密钥可以是静态的或被累积。
进而,业内专业人士将注意到,本发明能够被包含在例如具有计算机可使用介质的制品(例如,一个或多个计算机程序产品)中。例如其中介质已具体化为用于提供并实现本发明的能力的计算机可读程序代码装置。可包含该制品作为计算机系统的一部分或分开出售。
这里所示的流程图是以示例的方式提供的。在不背离本发明的精神之下,对于这里所述的这些图示或步骤或操作可以有各种变化。例如,在一定的情形下,这些步骤可以按不同的顺序执行,或者对这些步骤进行添加、删除及修改。进而,虽然这里基本上是参照单一主模块,单一接收处理模块,和单一处理硬件装置进行描述的,但是每一类型的多模块和装置可以用作为根据本发明的装置。所有这些变形都认为是所附实施例中列举的构成本发明的部分。
虽然这里已经就其一定的优选实施例对本发明进行了详细的说明,但其中的很多变形和改变可以由业内专业人士实现。因而,所附权利要求是要函盖属于本发明实质精神和范围的所有这些修改和变化。
权利要求
1.一种用于在CPU被连接成接收数据流的计算机系统内处理数据流的装置,所述装置包括CPU内的加密装置,用于对数据流内识别了版权的数据进行加密,以从中产生加密数据;用于在中央处理器内识别数据流的所述版权数据的装置,用于识别的所述装置向所述加密装置提供所述识别的版权数据;用于把加密的数据从中央处理器转移到与其连接计算机系统的结构中的装置,其中所述版权数据只从中央处理器作为所述版权数据被转移;以及与所述接收版权数据的结构连接的解密装置,所述解密装置包括用于对版权数据解密的装置。
2.如权利要求1所述的装置,其特征在于,数据流包括扰频加密的编码数据流,且所述装置还包括用于在中央处理器内对扰频加密的编码数据流进行反扰解密的反扰解密装置,以产生编码的干净的数据流,且所述用于识别的装置包括用于检验编码的干净的数据流以便识别版权数据,供所述加密装置进行加密。
3.如权利要求1所述的装置,其特征在于,所述解密装置包括微码解密装置。
4.如权利要求1所述的装置,其特征在于,所述数据流包括扰频加密的数据流,且所述装置还包括用于在对识别的版权数据由所述加密装置加密之前,对扰频加密的数据流进行反扰解密的装置,其中所述扰频加密数据流由与所述加密装置产生的所述加密的数据不同的加密算法所产生。
5.如权利要求1所述的装置,其特征在于,所述加密装置还包括用来提供密钥的装置,该密钥用于对识别的版权数据的所述加密中,并由所述解密装置用于对加密的数据进行解密。
6.如权利要求5所述的装置,其特征在于,所述加密装置还包括用于对所述密钥加密以产生加密的密钥的装置,该装置还用于多路复用加密的密钥和加密的数据为多路复用的数据流以便转移到与CPU连接的所述结构,且所述解密装置还包括对所述多路复用的数据流进行多路分解、以获得所述加密密钥和所述加密的数据的装置,且所述解密装置还包括用于对所述加密密钥进行解密的装置。
7.如权利要求1所述的装置,其特征在于,还包括从多个预定的加密/解密算法对选择一个加密/解密算法对供所述加密装置和所述解密装置使用的装置,所述选择的加密/解密算法对包括一加密算法和一对应的解密算法,所述加密算法由所述加密装置使用,且所述对应的解密算法由所述解密装置使用。
8.一种用于在使中央处理器和中央处理器以外的一个结构与之连接的计算机系统内处理数据流的方法,所述方法包括(a)在中央处理器(CPU)接收数据流;(a1)在中央处理器内识别数据流的所述版权数据供加密(b)使用;(b)在数据流内对被识别的版权数据进行加密以产生加密数据;(c)在所述加密(b)之后,从中央处理器向与之连接的结构传输加密的数据,其中所述版权数据仅作为所述加密的数据从中央处理器传输;以及(d)从与CPU连接的结构检索版权数据并对加密的数据进行解密以产生干净的数据,所述解密发生在加密数据向中央处理器之外的结构转移之后,其中所述干净的数据在中央处理器同与之连接的结构之间转移时在计算机系统内不被暴露。
9.如权利要求8所述的方法,其特征在于,所述数据流包括扰频加密的数据流,且所述方法还包括在对所述版权数据识别之前对扰频加密的数据流进行反扰解密,且所述扰频加密的数据流是由与所述加密(b)使用的不同的加密算法产生的。
10.如权利要求8所述的方法,其特征在于,所述加密(b)包括在对所述被识别的版权数据进行加密中使用密钥,并向所述解密(d)提供所述密钥。
11.如权利要求10所述的方法,其特征在于,所述再加密(b)还包括对所述密钥加密以产生加密密钥,且把加密的密钥和加密的数据多路复用为一多路复用数据流用于向所述与CPU连接的结构转移,且所述解密(d)还包括多路分解所述多路复用的数据流以获得所述加密的密钥及所述加密的数据,且所述解密(d)还包括对所述加密密钥进行解密,用于对所述加密数据进行解密。
12.如权利要求8所述的方法,其特征在于,还包括从多个预定的加密/解密算法对中选择所述被选择的加密/解密算法对,且所述加密(b)包括在对所述识别出的版权数据加密中使用所述被选择的加密/解密算法对的加密算法,且所述解密(d)包括使用所述被选择的加密/解密算法对的对应的解密算法,用于对加密数据的解密。
全文摘要
本发明提供了用于对加密的数据流进行数字化处理的装置、方法,该数据流例如是根据内容扰频加密系统(CSS)技术被扰频加密的。这一数字式处理保证了防止在计算机系统内从中央处理器到诸如存储器或系统总线等任何可访问结构的干净的数据的通信。CSS扰频加密数据流的反扰解密发生在CPU上执行的模块内,此后在从CPU传输之前对数据再加密。通过这样处理数据,维护了版权资料的整体性,同时允许对CSS加密数据流的软件反扰解密。
文档编号H04L9/18GK1337624SQ0112555
公开日2002年2月27日 申请日期2001年8月9日 优先权日1997年6月24日
发明者马克·L·西阿塞利, 约汉·W·乌尔达, 魏曼兰(音译), 杰克·L·库罗海里斯, 约汉·E·非特科维奇 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1