保护回放内容的制作方法

文档序号:6468998阅读:227来源:国知局
专利名称:保护回放内容的制作方法
技术领域
一般来说,本发明涉及在具有图形处理器的计算机上进行回放。
背景技术
可接收各种类型的安全内容以便在计算机上回放。例如,可在计 算机系统上接收按次付费视频或专有内容以供回放。数字通用光盘
(DVD)内容也可在计算机上播放。内容可以加密方式到达,因此不能 在往接收计算机的路途中轻易被截取。
但是, 一旦内容到达计算机,则可对它解密以供回放。 一旦经过 解密,则可能被计算机系统上的恶意软件访问,并且被未经授权的实 体盗用。可通过这种方式制作软件、DVD光盘、游戏、3见频和其它 内容的未经授权副本。

发明内容
本发明一方面提供一种方法,所述方法包括给图形引擎提供存 储器,使得只能由所述图形引擎在所述图形引擎的至少一种模式中访 问所述存储器。
本发明另一方面提供一种设备,所述设备包括解密引擎;图形 引擎,包括与所述解密引擎耦合的渲染器引擎;以及与所述渲染器引 擎耦合的存储器,所述存储器具有只能由所述图形引擎访问所述存储 器的模式。
本发明再一方面提供一种存储指令的计算机可读介质,所述指令 可由处理器执行以使存储器能够在一种模式中只被图形硬件访问。 本发明又一方面提供一种系统,所述系统包括处理器;与所述处理器耦合的存储器;加密引擎;以及与所述加密引擎耦合的图形引 擎,所述存储器具有所述存储器只能由所述图形引擎进行访问的模 式。


图1是本发明的一种实施例的系统图示;
图2是根据本发明一种实施例的受保护执行模式的图示;
图3是一种实施例的流程图;以及
图4是一种实施例的系统图示。
具体实施例方式
参照图1,计算机系统IO可接收加密内容。计算机系统10可包 括图形引擎。图形引擎是与计算机的中央处理器无关地执行图形处理 任务的硬件。图形引擎可包括图形协处理器、图形加速器、显示适配 器或图形适配器。
加密内容可包括任何种类的加密素材,包括图形、视频、静止图 像、文本、游戏、软件或数据。加密信息可从包括用于解密的密钥的 应用(application) 14到达。到来的数据可存储在存储器12的无保 护存储器部分12a中。在一种实施例中,存储器12可与图形引擎关 联。虽然存储器12示为具有受保护和无保护区域的一个存储器,但 是也可使用分离的存储器。存储器12可包括集成或外部存储控制器。 在一种实施例中,存储器12是系统存储器。
如图l所示,加密素材存储在緩冲器或表面(surface) 16。即使 存储器12a未受保护,但因为信息仍然经过加密,所以保持了安全性。
当需要加密内容时,可通过引擎18从无保护存储器12a的加密 表面16读取。在一种实施例中,引擎18可以是加密/解密引擎。在 一种实施例中,引擎18可实现由华盛顿D.C.的美国国家标准及技术 研究所(NIST)开发的高级加密标准(Advanced Encryption Standard:
6AES)。引擎18可负责使用如密钥Kl所示的密钥对加密内容进行解密。
但是,不是存储解密信息,引擎18而是将它传递到作为图形引擎的组成部分、用于处理供显示的内容的渲染器(renderer)引擎20。
在渲染供显示的图形信息的过程中,渲染器引擎20存储各种信息。它可将信息存储在被盗存储器12b的緩冲器或表面22。防止被盗存储器12b被授权实体之外的任何实体进行访问。虽然它以未加密方式将信息存储在表面22,但是,采取渲染器引擎20的形式的硬件防止非图形引擎硬件对该信息的访问。
存储器12b可被基本输入/输出系统"盗用"。本文所使用的"被盗存储器"描述对操作系统不可用的存储器。它可包括用于分类或者用于例如查询工作空间存储器的哈希(hashing)操作的緩沖器,或者用作进行分配以存储例如锁定、事务处理上下文(context)和连接信息等的内部数据结构的通用存储器的那些緩沖器。被盗存储器对操作系统是不被识别的。因此,操作系统以及运行于操作系统的应用(application)无法访问被盗存储器。而是,仅允许图形引擎的组件使用图形引擎驱动器(driver)来访问被盗存储器。
在另一种实施例中,存储器12b还可通过基于页表的保护进行保护,其中页表由不同于操作系统的可信实体进行操纵。也可使用其它形式的受保护存储器。
最初,应用14鉴别计算机系统IO的图形引擎硬件,并且与那个硬件交换会话密钥。 一旦会话被建立,应用14在将数据发送给硬件之前对数据进行加密。 一旦会话被建立,应用14则向常规无保护存储器12a输出加密数据。
作为图形引擎的组成部分的引擎18从无保护存储器12a读取数据,并进行解密且将结果写入受保护存储器12b。受保护存储器12b由硬件执行。只有例如引擎18、渲染器引擎20或者子图形(sprite)或覆盖引擎26等图形引擎硬件可访问被盗存储器12b。图形硬件不允许将解密数据写入无保护存储器。
在受保护信息的硬件处理期间,数据驻留在受保护存储器12b中。受保护存储器12b在启动时由系统基本输入/输出系统(BIOS)创建,BIOS设置称作被盗存储器的后备存储器(aside memory),以便定位中间緩沖器。 一旦BIOS分配该受保护存储器并将受保护存储器的参数存储在硬件寄存器中,则寄存器被锁定以防止通过操纵受保护存储器边界对数据的访问。图形引擎驱动器在回放受保护内容时分配受保护存储器中的表面。这些表面或緩冲器称作受保护表面。硬件具有特定机制以确保受保护存储器对在系统10上运行的任何软件或者对非图形硬件装置是不可访问的。应用将确保受保护存储器在将内容交付到该硬件之前被正确建立。
图形引擎硬件还具有受保护执行模式,它确保没有图形操作能够使将来自受保护存储器的数据被复制到无保护存储器。这种模式允许在硬件处理期间保护数据,而无需校验软件提交的图形命令或操作。否则,软件驱动器可能已经被损坏,并且可能尝试获得受保护数据。
注意,在一种实施例中,显示表面24不能被合成代理(compositing agent) 28访问。合成是操作系统上的软件组件。合成控制如何将用户正使用的不同窗口合并到最终显示中。合成为各种图像分配緩沖器,然后将它们合并以及将硬件指向合并的图像。合成代理的一种示例是Microsoft Vista操作系统上的Aero合成。
合成代理运行于计算机的中央处理器而不是图形引擎。因此阻止它访问受保护存储器12b。
.在其它实施例中,通过可信合成,显示引擎30可用于所有数据显示。但是,在可信合成中,合成代理可指导图形引擎将緩冲器合成到 一起以产生可使用常规显示引擎来显示的所得屏幕緩冲器。
图形引擎硬件改为使用子图形或覆盖引擎26来输出图形引擎数据供显示。显示器34显示来自显示引擎和子图形覆盖引擎的组合数据。因此,对于合成代理没有必要访问被盗存储器12b。合成代理28对显示引擎30进行馈送。来自显示引擎30的输出与来自子图形或覆盖引擎26的输出相结合,以便在显示器34上提供显示。在一种实施例中,来自被盗存储器12b的视频绕过合成代理28,并且直接去往覆盖引擎26。在组合器32和显示器34之间提供内容保护,如密钥K2所示。
参照图2,非保护上下文38使写入能够被任意位置定向。因此,无保护存储器12a中的任何内容均可在任何位置写入。为了从非保护上下文38转变到受保护上下文40,图形引擎驱动器将命令插入命令緩沖器,以便使图形引擎硬件进入受保护上下文模式。在受保护上下文模式中,读取可从受保护或者无保护表面进行。写入必须仅去往受保护表面。在一种实施例中,对写入的限制可通过与存储器12关联的存储控制器来实现。为了返回到非保护模式,图形引擎硬件执行清除命令,以便脱离受保护上下文模式。
清除命令删除可能暂时存储在图形引擎硬件、如渲染器引擎20中的任何受保护信息。这防止在硬件已经转到非保护上下文42之后访问不再用于图形引擎硬件的临时数据。
显示硬件34可使用新钩子(hook)以便能够从受保护存储器进行读取。该体系结构可为应用14提供指定允许显示平面的哪些访问受保护存储器的机制。典型的显示引擎具有多个显示平面,它们可生成存储器访问并且通过显示管线送出数据。
根据本发明的某些实施例,用于安全回放内容的基础设施提供使应用在向图形引擎发送数据之前安全鉴别图形引擎的机制。还可提供使应用向硬件发送数据的安全加密信道。在某些实施例中,数据可在硬件处理期间受到保护,因为中间緩冲器对在计算机上运行的任何软件以及对图形引擎装置之外的任何硬件装置是不可访问的。
在某些实施例中,机制防止内容泄露,而无需校验潜在恶意软件发出的图形命令。某些实施例还提供使显示器读出最终可显示的緩存并将它发送给可受高带宽数字内容保护(HDCP)保护的图形子系统的
9方式。参见HDCP规范,Rev.1.3, 2006年12月21日,可从DigitalContent Protection LLC, Beaverton, OR 97006获得。
在某些实施例中,高密度数字视频盘(HD-DVD)可需要比标准数字视频盘明显更高的保护。HD-DVD盘可包含加密内容。媒体播放器应用可包含高级访问内容系统(Advanced Access Content System:AACS)密钥,该密钥根据来自AACS许可管理员的许可证获得,该许可证允许它们对来自光盘的内容进行解密,然后再对它进行处理。参见AACSLA, LLC, Beaverton, Oregon, 97006。但是,当它们在往显示器的途中将数据向下游传递给图形引擎时,内容始终保持为受保护。在某些实施例中,那种保护可由图1所示的系统提供。
参照图3,在一种实施例中,保护^^式44可通过硬件来实现。但是,也可考虑软件和固件实现。当通过软件或固件来实现时,指令可存储在例如半导体存储器的计算机可读介质中。最初,图形引擎驱动器插入命令以使图形硬件进入受保护上下文,如框46所示。 一旦处于保护模式,如48所示,菱形框50的校验确定写入是否针对受保护表面。如果不是,则阻止该写入,如52所示。否则,执行写入,如框54所示。可执行从受保护或无保护表面的读取,如框56所示。
菱形框58的校验确定是否存在退出受保护上下文的请求。如果没有,则流程重复查找要执行的更多写入和读取。如果是,则执行图形引擎清除命令,如框60所示。菱形框61的校验确定是否存在对受保护存储器的读取。在这里,在退出受保护上下文之前读取被图形硬件阻止(框63)。
因此,在操作系统进行访问的应用不访问受保护存储器,该存储器对操作系统是未知的。其它组件可以只经由受保护存储器的存储控制器来设法访问它,所述存储控制器阻止非图形引擎硬件进行的访问。
接下来参照图4,计算机系统62可具有通过总线66与存储器中心(hub) 68耦合的一个或多个中央处理器64。在一种实施例中,存
10储器中心充当系统存储器70的存储控制器。在一种实施例中,系统存储器70可实现图1的实施例的存储器12。因此,在某些实施例中,系统存储器可具有受保护和无保护部分。图形引擎72与存储器中心64耦合。在某些实施例中,图形引擎可包括渲染器引擎20、解密引擎18、显示引擎30和子图形或覆盖引擎26。在某些实施例中,显示器74可对应于图1的显示器34。
因此,系统62的操作系统可无法访问系统存储器70的被盗存储器部分。非图形引擎装置也可无法访问该区域。因此,在某些实施例中,在内容被解密供图形引擎72使用时盗用内容的能力可被限制或避免。
本说明中提到"一种实施例"或"实施例"表示结合该实施例所述的具体特征、结构或特性包含在本发明所包含的至少一种实现中。因
此,词语"一种实施例"或"在一种实施例中"的出现不一定都表示相同的实施例。此外,具体特征、结构或特性可通过与所述具体实施例不同的其它适当形式来构建,并且所有这类形式均可包含在本申请的权利要求书中。
既然结合有限数量的实施例对本发明进行了说明,那么本领域的技术人员会明白来自这些实施例的大量修改和变更。所附权利要求书旨在涵盖落入本发明实质精神和范围中的所有此类修改和变更。
ii
权利要求
1. 一种方法,包括给图形引擎提供存储器,使得只能由所述图形引擎在所述图形引擎的至少一种模式中访问所述存储器。
2. 如权利要求1所述的方法,包括使用被盗存储器作为所述存 储器。
3. 如权利要求2所述的方法,包括提供包括包含所述被盗存储 器的第一部分以及不是被盗存储器的第二部分的存储器。
4. 如权利要求3所述的方法,包括使在操作系统上运行的应用 能够访问所述第二部分。
5. 如权利要求4所述的方法,包括使所述应用能够将加密内容 存储在所述第二部分中。
6. 如权利要求2所述的方法,包括提供所述图形引擎的受保护 操作模式和非保护操作模式,其中,在所述受保护模式中信息只能向 所述被盗存储器写入,而在所述非保护模式中信息可在任何位置写 入。
7. 如权利要求6所述的方法,包括在从所述受保护模式转变到 所述非保护模式时删除所述图形引擎中的緩冲器。
8. 如权利要求2所述的方法,包括提供显示引擎和子图形引擎, 并且通过所述子图形引擎而不通过所述显示引擎访问所述被盗存储 器。
9. 如权利要求8所述的方法,包括使在操作系统上运行的应用 能够访问所述显示引擎。
10. 如权利要求3所述的方法,包括提供对所述第二部分中所存 储的内容进行解密并提供所述解密内容用于在所述第一部分上的存 储的解密引擎。
11. 一种设备,包括解密引擎;图形引擎,包括与所述解密引擎耦合的渲染器引擎;以及 与所述渲染器引擎耦合的存储器,所述存储器具有只能由所述图 形引擎访问所述存储器的模式。
12. 如权利要求11所述的设备,其中,所述存储器包括受保护 区域和非受保护区域,所述受保护区域只能在所述模式中由所述图形 引擎进行访问。
13. 如权利要求11所述的设备,其中,所述存储器包括被盗存 储器。
14. 如权利要求13所述的设备,包括受保护操作模式和非保护 操作模式,其中,在所述受保护模式中信息只能被写入所述被盗存储 器,而在所述非保护模式中信息可在任何位置写入。
15. 如权利要求11所述的设备,包括显示引擎和子图形引擎, 所述存储器仅从所述子图形引擎而不从所述显示引擎可访问。
16. 如权利要求15所述的设备,包括与所述显示引擎耦合的aero 合成,阻止所述aero合成访问所述存储器。
17. 如权利要求11所述的设备,包括存储装置,所述存储装置 与所述解密引擎耦合,所述存储装置存储加密内容,而所述存储器存 储解密内容。
18. —种存储指令的计算机可读介质,所述指令可由处理器执行以使存储器能够在一种模式中只被图形硬件访问。
19. 如权利要求18所述的介质,还存储建立不向操作系统识别 所述存储器的所述存储器的指令。
20. 如权利要求18所述的介质,还存储建立两种不同操作模式 的指令,在一种模式中,写入可被定向到任何位置,而在另一种模式 中,写入只能被定向到受保护表面。
21. 如权利要求20所述的介质,包括在退出所述受保护模式之前清除图形硬件中的緩冲器。
22. —种系统,包括 处理器;与所述处理器耦合的存储器; 加密引擎;以及与所述加密引擎耦合的图形引擎,所述存储器具有所述存储器只 能由所述图形引擎进行访问的模式。
23. 如权利要求22所述的系统,其中,所述存储器是系统存储器。
24. 如权利要求22所述的系统,包括存储控制器,所述存储控 制器防止除所述图形引擎之外对所述存储器的部分的访问。
25. 如权利要求24所述的系统,其中,所述存储器的所述部分 是被盗存储器。
全文摘要
图形引擎可包括均与显示器连接的解密装置、渲染器和子图形或覆盖引擎。在一种实施例中,存储器可具有受保护和非保护部分。应用可将加密内容存储在所述存储器的非保护部分。解密装置可访问加密素材,对该素材解密,并将它提供给图形引擎的渲染器引擎。然后,图形引擎可使用存储器的受保护部分来处理解密素材。只有图形装置能以至少一种模式访问存储器的受保护部分,从而防止外部源的访问。另外,受保护存储器可以是被盗存储器,它对操作系统是不能识别的,从而使该被盗存储器对在操作系统运行的应用是不可访问的。
文档编号G06T1/60GK101477676SQ20081018975
公开日2009年7月8日 申请日期2008年12月30日 优先权日2007年12月31日
发明者A·斯里尼瓦斯, B·文布, G·格劳恩克, M·拉马多斯, S·萨哈西文, S·贾努斯, W·甘地 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1