监视和控制计算机可读介质上的数据的访问的装置和方法

文档序号:6569722阅读:158来源:国知局
专利名称:监视和控制计算机可读介质上的数据的访问的装置和方法
技术领域
本发明涉及用于监视和控制计算机可读介质上的数据的访问(access)的 装置和方法,并且具体地可应用于保护数据承载介质免受未授权复制。
背景技术
已知用于保护诸如包括CD和DVD的光盘的计算机可读介质免受未授权 复制的各种技术。在通过引用而合并于此的我们较早的美国专利申请号USSN 10/848,897和USSN 10/939,186中描述了两种这样的技术。USSN 10/848,897公开了 一种将冗余控制数据(包括错误)包括在光盘所 承载的数据之中的保护方法。控制数据控制对光盘上的包含要播放的素材和 内容数据的内容文件的访问,并且在内容的正常回放期间不利用冗余控制数 据。然而,在未授权复制期间,访问冗余控制数据,并且排列这种数据中的 错误以阻止提供对内容数据的访问的至少 一 个节目路径的导航。USSN 10/939,186公开了 一种在光盘上的内容数据中提供包含了不可读 或破坏性数据的至少 一个区域的保护方法。用于访问包含内容数据的内容文 件的光盘上的扩展数据确保在正常回放期间防止对不可读或破坏性数据的区 域的访问。然而,在未授权复制的情况下,不可读或破坏性数据区域被访问 并且防碍或防止复制。根据这两个较早的美国专利申请的方法都是被动的,因为它们依赖于在 光盘中合并的用于保护光盘免于称为"盗用(ripping)"的进程(即未授权复 制到本地计算机或网络的硬驱动)的数据。这些被动技术对于针对未授权复制的保护,在某种程度上是有效的。然 而,盗用软件正变得日益复杂和强大,并且对于克服这种被动形式的保护愈 力口有效。因此,需要针对未授权复制的更有效的保护形式,并需要更难应对的保 护形式。发明内容本发明的一个目的是提供用于监视和控制对计算机可读介质上的数据的 访问的手段,其克服了上述问题。本发明的另 一 目的是提供用于认证计算机可读介质的使用场合的手4殳。 这种认证可以用于校验介质的使用是合法的(如在正常回放中),或用于允许 对其他应用功能或其他功能的访问,或者可以用于禁止介质的未认证的使用, 比如盗用。本发明的另 一 目的是提供用于监视对计算机可读介质上的数据的访问的有效装置和方法,其提供了针对未i人证复制的改进保护。本发明的另一目的是,与提供在计算机可读介质上的被动数据相反,提 供用于监视和控制安装在计算机上的、主动处理形式的计算机可读介质上的 访问数据的装置和方法。根据本发明的第 一方面,提供了用于监视和控制对计算机可读介质上的 数据的访问的设备驱动器,包括接口,用于访问用于介质驱动的设备驱动 器堆栈;检测器,用于检测所述介质驱动中的计算机可读介质的插入;监视 器,用于监视从所述计算机可读介质的数据传送和用于估计读取所述计算机 可读介质上的数据的应用的行为特性;以及控制系统,响应于所述监视用于 在所述行为特性满足预定标准时发出至少一个控制输出。根据本发明的另 一方面,提供了用于监视和控制对计算机可读介质上的 数据的访问的方法,包括访问用于介质驱动的设备驱动器堆栈;检测所述 介质驱动中的计算机可读介质的插入;监视从所述计算机可读介质的数据传 送;基于所监视的数据传送,估计读取所述计算机可读介质上的数据的应用 的行为特性;以及当所述行为特性满足预定标准时,发出至少一个控制输出。在以下描述的优选实施例中,估计是基于包括数据传送的体积或频率或 者用于访问计算机可读介质上的数据的行为样式之一的行为特性。在估计数据的体积或频率的情况下,那么预定标准可以是测量的频率或 体积值与之相比较的阈值。在估计行为样式的情况下,估计可以基于用于访 问计算机可读介质上的主要内容的导航路径。那么预定标准可以是在盘上所 包括的控制数据中所标识的预设导航路径,其中用于盘上被访问的数据的导 航路径与该预设导航路径相比较以进行匹配。优选地,估计的目的是在正访问计算机可读介质上的数据以合法播放主要内容的播放者和正访问数据以非法对其复制的盗用者之间进行区分。在这 样的环境下,控制输出分别用于允许或禁止为了进一步复制而进一步访问计 算机可读介质。另外或者可替换地,估计的目的可以是认证用户或者计算机可读介质的 使用,以允许访问其他功能。在本发明的这种发展下,控制输出可以用于在估计已经确定用户是合法 用户的情况下控制对计算机可读介质上的其他功能的访问。可以认为用于保护计算机可读介质上的数据防止未^t受权使用的以上技术 是主动的,因为它们依赖于实时监视和控制这样的使用。当然,根据本发明,本发明也可以包括挂钩驱动器(hook driver),用于使得设备驱动器能够挂 钩到用于介质驱动的设备驱动器堆栈。有利地,本发明还包括指紋读取器,用于在计算机可读介质被插入到介 质驱动中时检查它,以确定其是否携带了指示介质被保护防止复制的指紋。


参考附图仅通过例子来进一步描述本发明,附图中图l是是合并本发明的计算机的方框图;图2是示出了图1的计算机的进一步的细节的方框图;图3是图2的设备驱动器堆栈的图,示出了信息的正常流和根据本发明 的堆栈与挂钩驱动器之间的关系;图4是图3的设备驱动器和挂钩驱动器的进一步视图;图5是示出了用于将挂钩驱动器挂钩到设备驱动器堆栈中的、挂钩驱动 器的挂钩管理器的步骤的流程图;图6是示出了用于读取被插入到计算机的介质驱动中的光盘上的指紋 的、挂钩驱动器的指紋读取器的步骤;图7是表示根据用于估计从光盘的数据传送的体积的挂钩驱动器的第一 实施例的数据传送认证的步骤的流程图;图8示出了光盘上的数据的导航结构;图9示出了从图8的导航结构得到的导航序列;图10和图ll分别示出了关于图8的导航结构的、用于合法播放者的导 航路径和用于两种不同的盗用者的导航路径;图12是示出了基于导航路径的估计的、根据挂钩驱动器的第二实施例的 导航路径认证的步骤的流程图;图13是示出了用于使用内容扰动系统(CSS)解密的挂钩驱动器的第三 实施例的认证步骤的流程图;以及图14是表示根据用于估计从光盘的数据传送的频率的挂钩驱动器的第 四实施例的数据传送认证的步骤的流程图。
具体实施方式
现在将参考图中所示的多个优选实施例来描述本发明。可以在个人计算 机、包括局域网(LAN)的计算机系统或包括诸如因特网的广域网(WAN) 的计算机网络中使用本发明。在每种情况中原理都是相同的,因此将仅仅描 述本发明在个人计算机中的应用。图1到图4中图示了这种应用,它们图示 了本发明和相应的体系结构中所使用的基本硬件。首先参考图1和图2,个人计算机10包括中央处理单元(CPU)12、存储 器14和硬盘16。计算机10还包括用于诸如例如CD或DVD的光盘的计算 机可读介质的至少一个介质驱动20。存储在存储器14中的是用于向CPU 12 提供用于各种功能的指令的应用软件。具体地,这样的第一功能22包括用于 控制关于计算机可读介质(在此场合下是加载在介质驱动20中的光盘)的读 和写的设备驱动器堆栈。第二功能24是用于控制与计算机10的硬盘16有关 的读和写的存储设备驱动器堆栈。另外,另一功能26被存储在存储器14中, 该功能包括根据本发明的设备驱动器。在此将设备驱动器26称为"桂钩驱动 器",因为在本发明的使用中,其挂钩(hook)到设备驱动器堆栈22和存储设备 驱动器堆栈24中的至少一个中,以便进行以下将描述的监视功能。根据本发明,挂钩驱动器26检测光盘28何时被插入到光驱20中,并在 此后监视光盘28的使用。具体地,挂钩驱动器26监视与光盘28有关的数据 传送和/或访问光盘28的方式,以便确定盘上的数据是播放应用30的正常回 放的对象还是盗用应用32的未授权复制的对象。在正常回放期间,播放器 30通过设备驱动器堆栈22从光盘28读出信息,以通过扬声器和/或显示器输 出。然而,在盗用期间,通过盗用器32复制从光盘28读取的数据并通过存储设备驱动器堆栈24将其传送到本地硬盘16。在检测到盗用器32的盗用时, 挂钩驱动器26就采取步骤以禁止盗用器32访问光盘28和/或防止从光盘28 进一步复制数据。
图3示出了设备驱动器堆栈22的细节和挂钩驱动器26与设备驱动器堆 栈22之间的连接。如图3所示,设备驱动器堆栈22位于计算机10的用户才莫 式42和内核模式44之间的接口 40处。用户模式处理高级行为,比如计算机 中的应用的实现,包括例如Windows应用44、播放应用30或计算机用户需 要的其他应用。内核模式44处理低级行为,比如任务的调度和与驱动器的连 接等。
接口 40已知为小型计算机系统接口 (SCSI),并且用于例如通过设备驱 动器堆栈22将诸如光驱20的硬件连接到计算机10内的硬件。经过接口 40 并通过设备驱动器堆栈22中的一系列层将已知为SCSI请求的请求从 Windows或其他应用44传送到光驱20以在光驱20处实现,该一系列层逐渐 将请求从高级软件语言转换成可应用于以光驱20形式的物理硬件的指令。然 后通过设备驱动器堆栈22并经过接口 40将完成的SCSI请求以相反的方向发 送到Windows应用44,以在CPU 12中处理。
如图3所示,设备驱动器堆栈包括以高级设备对象46、其他设备对象48 (在此情况下包括CD-ROM分类驱动器)和用于将来自CD-ROM分类驱动 器48的指令转换成应用于光驱20的信号的物理设备对象50的形式的三层。 在图3中将挂钩驱动器26表示为驱动器对象52,其挂钩到设备驱动器堆栈 22的最低访问点处(换句话说,设备驱动器堆栈22中与包括光驱20的硬件 连接的级别处)的物理设备对象50中。相对于设备驱动器堆栈22将挂钩驱 动器26 (驱动器对象52 )定位得尽可能低的原因是为了截获来自可能希望读 取光驱20中的光盘28的所述应用和处理的请求或命令。要是相对于设备驱 动器堆栈22将挂钩驱动器26定位在较高级别,则有可能能够将某些命令或 请求布置为绕过挂钩驱动器26并由此避开挂钩驱动器26所提供的监视功能。 图4是示出了位于将计算机10的用户42与内核44分离开的SCSI接口 40处的、并被安排用于接收来自应用44的请求的设备驱动器堆栈22的稍有 不同的表示的进一步视图。在此情况下,设备驱动器堆栈22包括位于上过滤 器驱动器54和下过滤器驱动器56之间的CD-ROM分类驱动器48。下过滤 器驱动器56被连接到物理设备对象50,其通过硬件提取层(HAL) 58将请
9求应用于光驱20。 HAL 58用于从自物理设备对象50接收的请求中提取硬件 信号并将其应用于光驱20,并用于将从光驱20所接收的信号转换成用于传 回到物理设备对象50的完成请求。
所示的挂钩驱动器26被挂钩到设备驱动器堆栈22的物理设备对象50 中,并且包括用于影响挂钩驱动器26和物理设备对象50之间的连接的挂钩 管理器60、指紋读取器62和识别对象64。现在将参考图5到图7描述挂钩 管理器60、指紋读取器62和识别对象64的进一步细节,图5到图7示出了 表示由这些对象的每个进行的步骤的流程图。
图5是表示挂钩管理器60的如下操作的流程图。在步骤500,桂钩驱动 器26访问物理设备对象50,并登记其本身以接收计算机10所并入的或作为 外围设备与计算机IO连接的即插即用(PNP)设备的通知。这种PNP设备包 括光驱20。接下来,在步骤502,挂钩驱动器26从计算机10的操作系统请 求并获得包括光驱20的当前存在的这些设备的列表。在步骤502中对于PNP 设备的通知的请求保持有效,并且在其他设备被连接到计算机10时,将这些 设备的ID供应至挂钩驱动器26。在步骤502已经获得PNP设备的当前列表 后,在步骤504,桂钩驱动器26用其自身功能来代替物理设备对象50所提 供的正常SCSI功能。因此所有未来的SCSI请求将通过挂钩驱动器26。因此, 如步骤506所示,将通过挂钩驱动器26引导供应至光驱20的所有未来的SCSI 请求。另外,在步骤508中,挂钩驱动器26向应用44登记其自身,以接收 介质到达的通知,即光盘28已经被插入光驱20中的通知。如步骤510所示, 现在由挂钩驱动器26处理这些通知。现在完成了挂钩驱动器26的安装。
图6示出了图5中的子例程510中所涉及的步骤的细节。当在步骤600 接收到新光盘28已经被插入光驱20中的通知时,在步骤602中,挂钩驱动 器检查光盘的内容保护(CP)签名或指紋。挂钩驱动器26在步骤604询问 是否已经发现了指紋,并且如果答案是肯定的,则在步骤606中将标记"被 保护"设置为真。如果步骤604的询问的答案为否,则在步骤686挂钩驱动 器将该标记设置为"假"。
现在将参考图7描述认证设备64的第一实施例。认证设备64的实施例 是基于大体积的数据传送表明发生盗用而不是正常回放的假设。例如,这种 大体积的数据可以在从10兆字节到10吉字节的范围。
如图7所示,在步骤700,现在由挂钩驱动器26接收迄今已经在设备驱动器堆栈22中处理的请求。在步骤702中,挂钩驱动器26询问已经接收的 请求是否是读请求。如果答案为否,则挂钩驱动器前进到步骤704并询问该 请求是否是写请求。在答案再次为否的情况下,在步骤706中,挂钩驱动器 26将请求简单地转发到光驱20。如果步骤704中的询问的答案是肯定的,表 明处理打算将任一种类的数据写到硬盘16,挂钩驱动器26前进到步骤708 并获得用于该过程的ID。接下来,在步骤710中,挂钩驱动器26开始将通 过该过程写入的数据量记录到写数据记录中,并且再次前进到步骤706。
回到步骤702,如果该步骤中的询问的答案为是,即由挂钩驱动器26接 收的请求是读请求,则桂钩驱动器26前进到步骤712并通过重新查看图6的 序列的步骤606或步骤608中生成的标记来检查被插入光驱20中的光盘28 是否被保护以防止复制。如果光盘28未被保护,则挂钩驱动器26再一次前 进到步骤706,并简单地将SCSI请求直接发送到光驱20。另一方面,如果光 盘28被保护,则挂钩驱动器26前进到步骤714并获得打算使用光盘28的处 理的ID。接下来,在步骤716,挂钩管理器26询问该处理是否现在正在从光 盘28的视频区读取视频数据。如果不是,则挂钩驱动器26假定处理正在读 取光盘28上的已知为额外素材(bonus material)的内容,即未被限制复制的 广告的、奖励的或其他的这种素材,并在步骤718开始将从这种额外素材读 取的数据量记录在读取额外素材数据记录中。合法的播^:者可以在开始正常 回放之前复制这些额外素材,并且重要的是不阻止(block)这种行为。然后挂 钩驱动器26前进到步骤706。
如果在步骤716中确定处理正在从光盘28的视频区读取视频数据,则挂 钩驱动器26接下来在步骤720检查是否已经永久地阻止处理(如将描述的), 并且在响应为是情况下直接前进到步骤722。如果步骤720的询问的响应为 否,指示未阻止处理,则挂钩驱动器26另外前进到步骤724,并询问正从光 盘28读取的处理是否已经超过了从光盘28的视频区读取的视频数据的读取 阈值,表明正在传送大量数据。挂钩驱动器26为此目的而检查视频数据记录。 如果答案为否,则挂钩驱动器26在步骤726简单地将从^L频区读取的数据量 记录在视频数据记录中,并前进到步骤706。
然而,如果挂钩驱动器26在步骤724确定已经超过了读取阈值,则其前 进到步骤728并重新查看上述用于写数据和用于读取额外素材数据的记录, 并询问是否已经超过了从这些记录得到的第二阈值。将该第二阈值设置为用于写数据记录中的写数据的写阈值和用于读取额外素材数据记录中的读取额
外素材数据量的读阈值之间的差,并表明已经通过该处理将比简单涉及额外 素材的数据量更大的给定数据量写到硬盘16。因此,该第二阈值有效地表示
视频数据写阈值。如果步骤728的询问的答案为否,则挂钩驱动器26前进到 步骤726,并将从视频区读取的数据量记录在视频数据记录中。
另一方面,如果步骤728的询问的答案为是,则挂钩驱动器26前进到步 骤730,并询问是否已经超过了阈值比。该阈值比是写数据记录中的写数据 的当前量和读额外素材数据记录中读取的额外素材数据的当前量之间的差对 视频数据记录中的数据的当前量的比率,并表明正在写入的视频数据量足够 指示盗用,而不仅仅是例如对光盘28上的视频素材的分析。如果步骤730的 询问的答案为否,则挂钩驱动器26前进到步骤726并记录从光盘28的视频 区读取的视频数据。
在步骤732中设置前进阻止标记后,挂钩驱动器26接下来前进到步骤 722,并在步骤706中将原始SCSI请求传送到光驱20之前修改其。
在此假设在盗用的情况下,传送的数据体积将超过读阈值和写阈值两者, 而在正常回;^文情况下,可能超过读阈值,但是不会超过写阈值。因此,如果 步骤728的询问的答案为是,指示已经超过了视频lt据写阈值,则挂钩驱动 器26对于当前处理设置标记"阻止等于真"。该标记表示从挂钩驱动器26来 看,正在发生盗用操作而不是正常回放,因此设备驱动器26随后在步骤722 中修改SCSI请求。相反,如果设备驱动器26在步骤732中发现已经超过了 读阈值对于写阈值和读取的额外数据量的差的比率,则其在正在发生盗用的 假设下再次设置标记"阻止等于真",并修改原始SCSI请求。这种修改可以 包括例如防止所标识的处理进一步访问光驱20中的光盘28,或者通过防止 进一步写入或呈现返回的无用数据来防止从光盘28的进一步复制。
为了确保认证的准确性并防止盗用的错误评估,将读和写阈值设置在相 对高的水平。这意味着再做出决定防止进一步的复制之前可能已经复制了一 定量的数据,并且例如在检测到盗用时已经在光驱20和目标存储设备16之 间传送了几十兆字节。然而,对于典型的DVD而言,IOO兆字节仍然表示仅 仅大约3分钟的内容,并且在DVD上的视频内容的总长度方面,尤其是如果 确保挂钩驱动器26没有干扰正常回放,则允许用户盗用这种量的复制保护的 视频素材并不重要。从图7所示的实施例的描述将认识到,有效的是,挂钩驱动器26对于 SCSI请求不可见,除非光盘28包括表示已被保护以防止复制的指紋,并且 另外,写处理超过了预定写阈值。
图12中图示了认证设备64的第二实施例,该第二实施例是基于在读取 光盘28上的数据期间所采用的导航路径的估计。为了理解本实施例,需要理 解光盘28中所提供的数据结构以及还有将用于读取光盘28上的数据的导航 路径。因此,首先将参考图8和图9描述DVD上所提供的数据结构的具体例 子,并且接下来将参考图10和图11描述分别由合法播放器30和两个不同种 类的盗用器32所采用的用于这种数据结构的导航路径。
首先参考图8, DVD上所提供的数据包括控制数据和内容数据,控制数 据用于管理DVD的读取,即用于确定用于读取DVD上的数据的导航路径, 内容数据包括DVD上的主要内容。图8所示的DVD 28是包括了初始节目链 (PGC ) 800的简单视频DVD,该初始节目链首先被正常播放并且表示接下 来的导航路径。视频管理器(VMG) 802包含各种信息数据,并包括具有主 菜单806的标题菜单804。该DVD还包括两个视频标题组(VTS )808和810, 每个又包括信息文件。VTS1 808包括含有常用版权警告的单一标题812。 VTS2 810包括第一标题814和第二标题816,第一标题814包括用于DVD 上的主要影片的标题,第二标题816包括用于诸如标志(logo)的短视频剪辑或 用于无声黑视频的一对帧的标题。
标题814、 816的每个分别包括一个或多个节目链(PGC) 818、 820。标 题814的PGC 818包括多个单独的节目822,比如PG1、 PG2等……,它们 一般被排列为按顺序播放。节目822的每个包括对相应的视频对象集826的 特定部分进行定址的至少一个指针824。每个视频对象集826被划分成多个 单元(cell) 1/1、单元1/2等......。类似地,节目链820也具有诸如PG1的节目
830,该节目830具有到诸如单元2/1的视频对象集826的特定部分(在本实 例中是到单元834 )的指针832。
图9示出了从图8的导航结构得到的导航序列。在将DVD 28加载到光 驱20中之后,首先呈现VTS1 808和包括版权警告的标题812。其后,呈现 主标题804的主菜单806,并且如果激活了主菜单806上的播放按钮836,则 导航序列前进到VTS2 810中的标题816和单元834中所包括的标志和其他内 容。接下来,导航序列前进到标题814,并播放DVD的主要内容或影片,在这之后导航序列回到主菜单806。
从图8注意,标题816的呈现数据在物理上位于DVD 28上,在主标题 814的呈现数据之后。因此,如图9所示,合法播放器30首先将通过访问在 视频对象集826的末端处的单元834来访问标题816的呈现数据,然后将跳 回到DVD28上的先前物理位置以访问视频对象集826。相反,盗用者将以线 性方式访问DVD上的不同文件,或者首先将访问信息文件,然后,在选择主 标题后,将访问该主标题的呈现数据。此外,盗用者将在访问标题816的呈 现数据前访问主标题814的呈现数据。这可以从图10和图ll得到最好的理 解。
图10示出了合法播放器30的导航路径,指示播放器如何访问分别包含 控制数据或导航信息以及内容数据或视频信息的信息文件。如所示,根据图 9所示的DVD视频上的导航结构所定义的导航路径,播放器30首先访问 VMG 802中的控制数据或导航信息1002,然后访问VTS1 808、 VMG 802中 的VMGM—VOBS,最后访问VTS2 810。当访问VTS2 810时,播放器首先祐二 引导到包括单元2/1的视频对象834,并且接下来到包括单元1/1、 2/1等的视 频对象828。
转向图11,其示出了分别由逐扇区或逐文件访问DVD的第一盗用器32 和首先访问信息文件以获得标题信息然后访问为盗用而选择的标题(假设是 主标题)的内容数据的第二盗用器32所采用的导航路径。这种盗用器公知为 "IFO解析"盗用器。如图ll所示,逐扇区或逐文件盗用器32按照DVD上 的物理顺序,简单地向前通过-见频管理器802、 VTS1 808和VTS2 810的所 有文件。相反,IFO解析盗用器32首先访问视频管理器802以及VTS1和 VTS2 808、 810的每个的控制数据1002,然后接着前进以访问主菜单814的 视频对象828。在这两种情况下,盗用器32遵循与合法播放器30完全不同 的导航路径,并在访问包括单元1/1、 1/2……等的^f见频对象828之后访问包 括单元2/1的视频对象834,或者根本不访问视频对象834。
图12所示的认证设备64的第二实施例用于监视导航路径中的这种反常 (deviation)并相应地控制对DVD的访问。本实施例是基于图8到图11所示的 数据和导航结构。
图12所示的认证设备的第二实施例监视对DVD 28的视频对象828、 834 的访问以便检查盗用。挂钩驱动器26在步骤1200接收SCSI请求,并在步骤1202询问DVD是否被复制保护。如果答案为否,则挂钩驱动器26在步骤1204 中将SCSI请求简单地转发到光驱20。另 一方面,如果确定DVD被复制保护, 则挂钩驱动器26前进到步骤1206并从盘指紋确定应该在包括单元1/1、 1/2 等的视频对象828之前读取包括单元2/1的视频对象834,并获取单元1/1和 单元2/1的位置。
接下来,挂钩驱动器26前进到步骤1208,并询问已经接收的SCSI请求 是否是读请求。如果答案为否,则挂钩驱动器26前进到步骤1204,并如之 前那样将该请求简单地转发到光驱20。然而,如果答案为是,则挂钩驱动器 26在步骤1210获取打算使用DVD 28的处理的ID。挂钩驱动器26前进到步 骤1212并检查是否已经设置了用于该处理的标记"阻止等于真"。如果答案 为否,则挂钩驱动器26前进到步骤1214并将读请求中所请求的盘扇区的物 理扇区地址和发出SCSI请求的处理的处理ID写入存储器14中。挂钩驱动器 26然后前进到步骤1216并检查所请求的扇区是否是单元1/1。如果答案为否, 则挂钩驱动器26如之前那样在步骤1204将该请求筒单地发送到光驱20。另 一方面,如果步骤1216的询问的答案为是,则挂钩驱动器26在步骤1218询 问是否已经访问单元2/1。如果答案为是,则挂钩驱动器26再次在步骤1204 将请求简单转发到光驱20。然而如果步骤1218中的询问的答案为否,表示 当前读数据已经企图访问单元1/1而没有首先访问单元2/1,则挂钩驱动器在 步骤1220为当前处理设置标记"阻止等于真"。当设置了标记"阻止等于真" 时,如步骤1212所确定或如步骤1220的结果,在步骤1204中将修改的请求 发送到光驱20之前,挂钩驱动器26前进到步骤1222并修改原始SCSI请求 例如以防止对DVD的进一步访问或防止从DVD 28的复制。
图12所示的认证设备的实施例被设计用于检测逐扇区/逐文件盗用器和 IFO解析盗用器两者,其中任一个都不在访问VTS2 810中的单元1/1之前访 问单元2/1。当然将认识到,图12的认证设备64是基于图8到图ll所给出 的DVD的具体例子,并且在任何场合下可以适当修改以适合具体光盘上的具 体数据和导航结构。还将认识到,替换的导航路径认证结构是可能的。
图13示出了认证设备64的第三实施例,该第三实施例被设计为基于由 播放器30和光盘28两者处理的用于加密控制光盘28的回放的控制信息的内 容扰动系统(CSS )密钥的解密来检测是否使用了光盘28上的正确导航路径。 当挂钩驱动器26开始监视响应于来自用户应用44的读或写请求而进行CSS解密的路线时,处理在步骤1300开始。为了简便,假设请求是读请求,而在 写请求的情况下处理将类似。挂钩驱动器26前进到步骤1302并询问应用44 是否使得用于认证播放器30以进行^L频回放的一整组认证认可ID ( AGID ) 有效。如果答案为是,则挂钩驱动器26前进到步骤1304,但是如果答案为 否,则挂钩驱动器26在正发生盗用的假设下停止在步骤1306中的读处理。 在步骤1304,桂钩驱动器26询问应用是否正在进行有效CSS认证。如果答 案为否,则应用再次前进到步骤1306。然而,如果答案为是,则挂钩驱动器 26前进到步骤1308并询问应用是否正在使用回放软件中所提供的正确总线 密钥来读取光盘28上所提供的回放认证密钥。如果答案为否,则挂钩驱动器 26前进到步骤1306,并且如果答案为是,则挂钩驱动器前进到步骤1310。 在步骤1310,挂钩驱动器26询问应用是否正在使用回放软件中的正确总线 密钥来读取表示视频标题的光盘28上的标题密钥。如果答案为否,则挂钩驱 动器26前进到步骤1306,并且如果答案为是,则挂钩驱动器26前进到步骤 1312。在此,挂钩驱动器26检查应用是否从光盘28的正确扇区读取标题密 钥。再次,如果步骤1312的答案为否,则挂钩驱动器26前进到步骤1306。 另一方面,如果步骤1312的答案为是,则挂钩驱动器26在步骤1314中假设 播放器30是合法用户,并且允许继续回放。
图14示出了用于监视被发送到光驱20的读请求的频率并因此用于控制 到光盘28的访问的认证设备的第四实施例。在该第四实施例中,挂钩驱动器 26在步骤1400接收SCSI请求,并在步骤1402中检查光盘28上的指紋并确 定光盘是否被复制保护。如果答案为否,则挂钩驱动器26在步骤1404将该 请求简单地转发到光驱20。然而,如果答案为是,则挂钩驱动器26前进到 步骤1406并询问SCSI请求是否是读请求。如果不是,则挂钩驱动器26通过 之前的步骤1404将该请求转发到光驱20。如果步骤1406的结果表示已经接 收到了读请求,则挂钩驱动器26前进到步骤1408并获取打算使用光介质28 的处理的ID。
接下来,在步骤1410,挂钩驱动器26询问是否已经为该具体处理设置 了标记"阻止等于真"。如果为当前处理设置了标记"阻止等于真",则挂钩 驱动器26前进到步骤1420。如果步骤1410的答案为否,则挂钩驱动器26 前进到步骤1412并将读请求中所请求的光盘28上的扇区的物理扇区地址以 及请求的时间写入存储器14中。挂钩驱动器26前进到步骤1414并从所记录的先前读请求的次数来检查对该处理的读请求频率是否已经超过了频率阈
值。如果答案为否,则挂钩驱动器26通过步骤1404将该请求传送到光驱20。 如果答案为是,则挂钩驱动器26在步骤1416中校验由当前处理所读取的最 后的扇区块是否由连续扇区构成。如果答案为否,则挂钩驱动器26前进到步 骤1404并将该请求转发到光驱20。然而,如果答案为是,则挂钩驱动器26 在步骤1418中为当前处理设置标记"阻止等于真,,,并前进到步骤1420。在 步骤1420中,挂钩驱动器26修改原始SCSI请求,例如以防止到光盘28的 进一步访问或者防止光盘28的进一步复制,然后通过步骤1404将修改的请 求发送到光驱20。
图14所示的第四实施例是基于这样的假设合法播放器30在表现可用 于向浏览者呈现的视频、音频和子画面信息的同时按照被设计用于在其回放 緩冲器中维持足够信息的速率来读取光盘28上的扇区。相反,盗用器32将 试图尽可能快地读取包括特定单元的每个扇区以便缩短盗用时间。此外,如 果播放器30正在以高速扫描,则播放器将倾向于跳过某些扇区,而盗用者一 般将试图读取每个单元中的所有信息。因此,通过结合读取频率的估计与读 取顺序的估计,可以确定读取处理是合法播放器30的读取处理还是盗用器 32的读耳又处理。
在图14的实施例的变型中,可完全省略一起估计读顺序,而是简单估计 读频率。在该实例中,在步骤1414的关于是否已经超过读请求频率阈值的询 问得到的答案为是的情况下,将从图14所示的流程序列中删除步骤1416, 相反,序列将直接从步骤1414跳到步骤1418。
上面已经描述了本发明的各种例子。将认识到,在本发明的范围内,多 个变型是可能的。
例如,尽管已经讨论了认证设备64的四种不同形式,但是将认识到,可 以釆用其他变型。此外,根据环境在任何具体的挂钩驱动器26中可以单独地 或组合地使用所描述的认证设备64。
在监视行为样式(如用于访问光盘28上的数据的导航路径中的反常)的 认证设备64的情况下,将认识到,可以由设备64单独地或结合地,或实际 上与其他这样的样式相结合地监视所述样式,以创建更复杂的设备行为模型。
本发明的特定特征是,挂钩驱动器26被有效设计以对正常合法的SCSI 请求可见。所述实施例也被设计为对不具有表示介质被复制保护的指紋的光介质不可见。
此外,所述实施例都检查新插入的光介质是否具有表示介质被保护以防 止复制的指紋,并且挂钩驱动器26仅在这些实例中实现其功能。同样能够在 无论是否出现指紋的每种情况下使用本发明。
此外,所述挂钩驱动器26被主要设计用于监视读请求,但在其他实施例 中,挂钩驱动器26可被设计用于代替地或者也监视其他请求。
上述实施例都是为了保护光介质以防止复制的目的。将认识到,本发明 可以替换地或另外具有其他应用。例如, 一旦已经由认证设备64认证了用户 或处理,则设备可以允许或提供对其他功能的访问,比如合法复制处理或提 供例如声音跟踪文件、游戏或其他特殊供应的在线存储。
权利要求
1. 一种用于监视和控制对计算机可读介质上的数据的访问的设备驱动器,包括接口 ,用于访问用于介质驱动的设备驱动器堆栈;检测器,用于检测所述介质驱动中的计算机可读介质的插入;监视器,用于监视来自所述计算机可读介质的数据传送和用于估计应用的行为特性,其中该应用访问所述计算机可读介质上的数据;以及控制系统,响应于所述监视器而用于在所述行为特性满足预定标准时发出至少一个控制输出。
2. 根据权利要求1所述的设备驱动器,其中所述行为特性包括数据传送 的体积,以及其中所述预定标准包括以下之一超过以及没超过用于所述凄丈据传送的体积的阈值。
3. 根据权利要求2所述的设备驱动器,其中所述阈值的范围是10兆字 节到IO吉字节。
4. 根据权利要求1所述的设备驱动器,其中所述行为特性包括行为样式, 以及其中所述预定标准包括以下之一所选的行为样式的改变以及不改变。
5. 根据权利要求4所述的设备驱动器,其中所述行为样式包括用于读所 述计算机可读介质的导航路径。
6. 根据权利要求1所述的设备驱动器,其中所述行为特性包括控制扰动 系统密钥的解密。
7. 根据权利要求1所述的设备驱动器,其中所述行为特性包括数据传送 的频率,以及其中所述预定标准包括以下之一超过以及没超过用于所述数 据传送的频率的阈值。
8. 根据权利要求1所述的设备驱动器,其中所述控制输出是控制命令。
9. 根据权利要求1所述的设备驱动器,其中所述控制输出是用于以下之 一的指令允许以及禁止对所述计算机可读介质的进一步访问。
10. 根据权利要求1所述的设备驱动器,其中所述控制输出被安排以禁 止来自所述计算机可读介质的进一步的数据传送。
11. 根据权利要求1所述的设备驱动器,其中所述控制输出是认证标志符。
12. 根据权利要求1所述的设备驱动器,其中所述控制输出一皮安排以允 许对其他应用功能的访问。
13. 根据权利要求1所述的设备驱动器,还包括用于将所述设备驱动器 挂钩到所述设备驱动器堆栈的挂钩管理器。
14. 根据权利要求1所述的设备驱动器,还包括指紋读取器,用于读取所述计算机可读介质上的指紋,以确定所述计算机可读介质是否^:保护以防止复制。
15. —种用于监视和控制对计算机可读介质上的数据的访问的方法,包括访问用于介质驱动的设备驱动器堆栈;才企测所述介质驱动中的计算机可读介质的插入; 监视来自所述计算机可读介质的数据传送;基于所监视的数据传送,估计应用的行为特性,其中该应用读取所述计 算机可读介质上的数据;以及当所述行为特性满足预定标准时,发出至少 一个控制输出。
16. 根据权利要求15所述的方法,其中所述监视包括监视数据传送的体 积,并且其中所述估计包括确定所述体积是否超过阈值。
17. 根据权利要求16所述的方法,其中所述阈值的范围是从10兆字节 到IO吉字节。
18. 根据权利要求15所述的方法,其中所述监视包括监视行为样式,以 及其中所述估计包括确定所选择的行为样式中是否存在变化。
19. 根据权利要求18所述的方法,其中所述行为样式包括用于读所述计 算机可读介质的导航路径。
20. 根据权利要求15所述的方法,其中所述监视包括监视控制扰动系统 密钥的解密。
21. 根据权利要求15所述的方法,其中所述监视包括监视数据传送的频 率,以及其中估计包括确定所述频率是否超过阈值。
22. 根据权利要求15所述的方法,其中所述控制输出是控制命令。
23. 根据权利要求15所述的方法,其中所述控制输出是用于以下之一的 指令允许以及禁止对所述计算机可读介质的进一步访问。
24. 根据权利要求15所述的方法,其中所述控制输出禁止来自所述计算机可读介质的进一 步的数据传送。
25. 根据权利要求15所述的方法,其中所述控制输出是认证标志符。
26. 根据权利要求15所述的方法,其中所述控制输出允许对其他应用功 能的访问。
27. 根据权利要求15所述的方法,还包括将所述设备驱动器挂钩到所述 设备驱动器堆栈。
28. 根据权利要求15所述的方法,还包括读取所述计算机可读介质上的 指紋,以确定所述计算机可读介质是否被保护以防止复制。
全文摘要
本发明提供了用于监视和控制对计算机可读介质上的数据的访问的设备驱动器。该设备驱动器包括接口,用于访问用于介质驱动的设备驱动器堆栈;检测器,用于检测所述介质驱动中的计算机可读介质的插入;以及监视器,用于监视从所述计算机可读介质的数据传送。该监视器估计访问所述计算机可读介质上的数据的应用的行为特性,并指示所述行为特性何时满足预定标准。控制系统响应于所述监视,用于当所述行为特性满足预定标准时发出至少一个控制输出。本发明还提供了通过该设备驱动器监视和控制对计算机可读介质上的数据的访问的方法。
文档编号G06F21/00GK101313310SQ200680043579
公开日2008年11月26日 申请日期2006年9月19日 优先权日2005年9月21日
发明者卡门·L·巴齐尔, 奥里·德维尔, 琼尼·B·雷克利斯, 维克多·科夫纳, 马塞尔·H·P·塞尔夫 申请人:麦克罗维西恩欧洲公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1