CN1432923A - 保护视频卡的方法和系统 - Google Patents

保护视频卡的方法和系统 Download PDF

Info

Publication number
CN1432923A
CN1432923A CN03103302A CN03103302A CN1432923A CN 1432923 A CN1432923 A CN 1432923A CN 03103302 A CN03103302 A CN 03103302A CN 03103302 A CN03103302 A CN 03103302A CN 1432923 A CN1432923 A CN 1432923A
Authority
CN
China
Prior art keywords
data
video card
storer
memory
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN03103302A
Other languages
English (en)
Other versions
CN100458739C (zh
Inventor
格伦·F·埃文斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1432923A publication Critical patent/CN1432923A/zh
Application granted granted Critical
Publication of CN100458739C publication Critical patent/CN100458739C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Abstract

本文介绍了用于保护视频卡或图形卡上使用和处理的数据的方法和系统。在各种实施例中,可以将计划由视频卡使用的数据加密以便数据被提供到视频卡和计算机系统之间的总线(例如PCI或AGP总线)时任何时候都可将数据加密。例如,当数据从视频卡上的存储器移到系统的存储器,例如当它被映射到系统的物理存储器时,以及进行相反操作时,数据处于加密形式并因此受到保护。

Description

保护视频卡的方法和系统
技术领域
本发明涉及使用视频卡处理视频的方法和系统。
背景技术
通常,内容作者,如电影工作室或在网络上发布内容的用户,在发布视频内容时,将对用户查看它的方式设置限制。此内容通常可以在诸如个人计算机之类的计算机上查看或呈现。每年一些无道德的个人和机构总是花费大量的时间、精力和金钱试图偷窃或以别的方式不正当地获得此类视频内容。
其中一个攻击点可以是将查看或呈现此类视频内容的计算机。即,流氓程序或设备可以并且常常试图不正当地获得诸如个人计算机之类的计算机上接收的视频内容。在其他计算机组件中,这种攻击可以针对处理视频内容的视频卡和/或向视频卡和从视频卡传输视频内容的总线。
图1显示了包括总线连接器102的示范视频卡或图形卡100,总线连接器102插入到典型计算机上的端口中。视频卡100还包括监视器连接器104,例如15针插头,该连接器通过电缆连接到监视器。视频卡100可以包括数字视频输出插座106,该插座可以用于向LCD和平面控制板监视器等等发送视频图像。
现代视频卡包括四个主要组件:图形处理单元(GPU)108、视频存储器110、随机存取存储器数字到模拟转换器(RAMDAC)112,以及可以包括在视频BIOS114中的驱动程序软件。
GPU108是专用图形处理芯片,用于控制分辨率、颜色深度,以及与在监视器屏幕上呈现图像相关的所有元素等各个方面。计算机的中央处理单元或CPU(未显示)发送一组图形指令和数据,它们由图形卡的专用驱动程序进行解释并由卡的GPU108执行。GPU108执行诸如位图传输和绘制、窗口大小和位置调整、线条绘制、字体缩放和多边形绘制之类的操作。GPU108在硬件中处理这些任务的速度比在系统的CPU上运行的软件的速度快得多。然后GPU将帧数据写入帧缓冲器,或板载视频存储器110。GPU大大地减少了系统的CPU的工作负载。
保存视频图像的存储器也被称为帧缓冲器,通常在视频卡上实现。在此示例中,帧缓冲器是在视频卡上以存储器110的形式实现的。早期的系统是以标准DRAM实现视频存储器的。然而,此要求对数据进行持续不断的刷新,以防止丢失,并且无法在此刷新过程中进行修改。所造成的结果,特别是在现代图形卡需求的非常快的时钟速度下,是性能严重下降。
在视频卡上实现视频存储器的一个优点是,可以为其特定的任务进行自定义,的确,这已经导致新的存储器技术的推广:
·视频RAM(VRAM):一个特殊类型的双端口DRAM,它可以同时被写入和读取。它要求的刷新没有普通的DRAM那么频繁,因此,执行效果好得多;
·Windows RAM(WRAM):由Matrox Millennium使用,也是双端口,并且运行速度比传统的VRAM更快;
·EDO DRAM:它提供的带宽比DRAM大,比普通DRAM计时更准确,并且更有效地管理读/写周期;
·SDRAM:类似于EDO RAM,只是存储器和图形芯片在使用锁定数据的时钟上运行,可使SDRAM比普通EDO RAM运行速度更快;
·与SDRAM相同,而且还支持区块写入和每位写入,它们在支持这些增强功能的图形芯片上产生更好的性能;以及
·DRDRAM:直接RDRAM是全新的,通用存储器体系结构,它的体系结构比传统的DRAM性能改善20倍。
某些设计将图形电路集成到主板本身,并使用系统的一部分RAM作为帧缓冲器。这叫做“统一存储器体系结构,使用它的原因只是为了降低成本,并可能导致图形性能下降。
视频存储器帧缓冲器中的信息是出现在屏幕上的作为数字位图存储的图像。但在视频存储器包含数字信息的同时,其输出介质—监视器—可能使用模拟信号。模拟信号不仅仅要求“开”或“关”信号,因为它用于确定在它们扫描监视器的上下扫描时在哪里、何时以及以什么强度激发电子枪。这就是如下文所述的RAMDAC112发挥作用的地方。某些RAMDAC还支持针对诸如LCD监视器之类的数字显示器的数字视频接口(DVI)。在这样的配置中,RAMDAC将内部数字表示转换为数字显示器可以理解的形式。
RAMDAC扮演着“显示转换器”的角色,因为它将内部数字数据转换为显示器可以理解的形式。
尽管安装在视频卡上的视频存储器的总量可能不会由特定分辨率用完,额外的存储器常常用于为GPU108缓存信息。例如,对通常使用的图形项—如文本字体和图标或图像—的缓存,可以使图形子系统不必在每次写入新字母或移动图标时加载这些项,从而改善了性能。缓存的图像可用于将那些将要被GPU呈现的图像序列排成队,从而腾出CPU用以执行其他任务。
RAMDAC112每秒读取视频存储器的内容许多次,将它转换为信号,并通过视频电缆发送到监视器。对于模拟显示器,通常有一个数字到模拟转换器(DAC),以使CRT使用的三个主要颜色中的每一种颜色创建一个完整的颜色范围。对于数字显示器,RAMDAC输出单个RGB数据流以便由输出设备解释和显示。计划的结果是创建单个像素的颜色所必需的混合。RAMDAC112转换信息可以达到的速率,以及GPU108本身的设计,决定了图形卡可以支持的刷新频率的范围。RAMDAC112还决定给定分辨率中可用的颜色数量,具体情况视其内部体系结构而定。
总线连接器102可以支持用于与视频卡连接的一个或多个总线。例如,加速图形端口(AGP)总线可以使视频卡直接访问系统存储器。直接存储器访问帮助使峰值带宽比外围组件互连(PCI)总线高许多倍。这可以使系统的CPU在视频卡上的GPU访问系统存储器时执行其他任务。
在操作期间,板载视频存储器中包含的数据可以被提供到计算机的系统存储器并可以对其进行管理,好像它是系统的存储器的组成部分。这包括诸如计算机的存储器管理使用的虚拟存储器管理技术之类的东西。此外,视频卡上的图形操作需要系统的存储器中包含的数据时,数据可以通过诸如PCI或AGP总线之类的总线发送到视频卡并存储在板载视频存储器110上。在那里,如上文所述,数据可以由GPU108进行访问和操作。
当数据被从系统存储器传输到视频卡上的视频存储器以及进行相反操作时,连接到PCI总线的PCI设备在进行数据传输时“侦听”数据。PCI总线还使视频存储器对系统的其余部分“可见”,好像它像系统存储器一样存在。结果,PCI设备可以获得PCI总线并直接将视频存储器的内容复制到另一个设备。如果PCI设备与传入视频同步,则它可以潜在地捕获所有内容。
一旦内容位于视频卡上的视频存储器中,以前有两种方案保护该内容。
第一,仍可以访问视频存储器,但内容以受保护、加密的形式进行存储,以使它无法被流氓设备和应用程序进行读取。尽管这可以防止数据被读取,但是这也要求数据不断地以加密形式维护。如果视频卡(即,GPU)希望处理数据,它必须以原子方式在读取、处理时进行解密并在每次写回视频存储器时重新加密。对于视频数据,解压缩的数据会要求300mb每秒以上才能显示。相应地,加密器/解密器必须以这些高数据速率运行。通常,多个视频流将被处理到单个输出流中。例如,画中画(PIP)或多信道显示会将八个信道混合到单个显示中。这将要求八个同时的解密器和一个加密器以每秒300mb的速率运行,总数为大约为2.4GB每秒。因此,这种方法由于计算要求较高不十分理想。
第二,可以简单地使视频存储器中的内容或数据不可访问。由于PCI和AGP总线的设计,这通常不可能,因为视频存储器被映射到物理存储器,即,它好像是普通的系统存储器。因此,任何PCI设备都可以访问视频存储器,然后可以获得PCI总线并执行数据传输,而无需CPU的知识。因此,由于存储器控制器或GPU无法可靠地确定谁正在访问存储器,因此这种方法不非常理想。
相应地,本发明是由于与提供安全的视频处理系统和方法关联的想法而产生的。
发明内容
本文介绍了用于保护视频卡或图形卡上使用和处理的数据的方法和系统。在各种实施例中,可以将计划由视频卡使用的数据加密以便数据被提供到视频卡和计算机系统之间的总线(例如PCI或AGP总线)时随时将数据加密。例如,当数据从视频卡上的存储器移到系统的存储器,例如,当它被映射到系统的物理存储器时,以及进行相反操作时,数据处于加密形式并因此受到保护。
当加密数据从系统的存储器传输到视频卡以便让视频卡上的图形处理单元(GPU)处理时,可以将其解密并放入视频卡上的受保护的存储器中。
在一个实施例中,视频卡具有受保护的存储器的部分。加密/解密密钥对与每个受保护的存储器部分关联。当加密数据被接收到视频卡上时,数据被用与解密数据将被写入其中的受保护的存储器部分关联的解密密钥自动解密。然后GPU可以自由地对解密数据进行操作。如果数据将被移到物理上不在视频卡上的未保护的存储器部分或存储器,则可以用关联的加密密钥将数据加密,然后移动。由于数据可以在传输时被加密,因此没有必要在发送图像之前缓存整个加密的图像。
在另一个实施例中,加密数据被接收到视频卡并放入未保护的存储器部分。然后数据可以被解密到视频卡上的存储器的受保护部分。然后GPU可以对解密数据进行操作。如果数据将被移到视频卡的存储器的未保护部分或从视频卡移到系统存储器,则数据可以被重新加密。
因此,各种实施例可以通过确保数据任何时候都被放到可能被攻击的总线(例如PCI总线或AGP总线)来保护数据,数据被加密,从而受到保护。
附图说明
图1是显示计划在计算机系统中使用的示范视频卡或图形卡的各种组件的方框图。
图2是根据描述的实施例可以使用视频卡的示范计算机系统的方框图。
图3是描述根据描述的一个实施例的方法中的步骤的流程图。
图4是描述根据描述的一个实施例的方法中的步骤的流程图。
图5是显示根据一个实施例的示范视频卡或图形卡的各种组件的方框图。
图6是显示图5的视频卡的各种组件的方框图。
图7是描述根据描述的一个实施例的方法中的步骤的流程图。
图8是对了解描述的实施例的某些方面有用的方框图。
图9是描述根据一个实施例的方法中的步骤的流程图。
图10是显示根据一个实施例的视频卡的各种组件的方框图。
具体实施方式
示范计算机系统
图2说明了一个适当的计算环境200的示例,在该计算环境中可以实现下文所述的系统和相关方法。
可以理解,计算环境200只是一个适当的计算环境的示例,不对媒体处理系统的使用范围或功能暗示任何限制。计算环境200不应被解释为与示范计算环境200中所示的任何一个组件或组件组合有任何相关的依赖关系或要求。
描述的各种实施例可以应用于很多其他一般用途或特殊用途的计算系统环境或配置。可以适合用于媒体处理系统的已知的计算系统、环境和/或配置包括,但不仅限于,个人计算机、服务器计算机、瘦客户端、胖客户端、手提或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费类电子产品、网络PC、小型机、大型机、包括上述系统或设备中的任何系统或设备的分布式计算环境等等。
在某些情况下,在由计算机执行诸如程序模块之类的计算机可执行指令的一般环境中,可以很好地描述系统和相关的方法。一般来讲,程序模块包括例程、程序、对象、组件和执行特定任务或实现特定抽象数据类型的数据结构。实施例还可以在那些任务可以由通过通信网络链接在一起的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
根据图2说明的实施例,显示的计算系统200包括一个或多个处理器或处理单元202、系统存储器204、以及连结包括系统存储器204在内的各种系统组件与处理器202的总线206。
总线206用于代表多种类型的总线结构中的任何一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构中的任何一种体系结构的处理器或本地总线。作为示例,而不仅限于,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强的ISA(EISA)总线、视频电子产品标准协会(VESA)本地总线,以及外围组件互连(PCI)总线,也就是通常所说的附加板总线。
计算机200通常包括各种计算机可读的媒体。这样的媒体可以是计算机200可进行本地和/或远程访问的任何可用的媒体,并包括易失性和非易失性媒体、可移动和非可移动媒体。
在图2中,系统存储器204包括易失性形式的计算机可读的媒体,如随机存取存储器(RAM)210,和/或非易失性存储器,如只读存储器(ROM)208。ROM208中存储了基本输入/输出系统(BIOS)212,里面包含帮助在计算机200内的各个元件之间如在启动过程中传输信息的基本例程。RAM210通常包含处理单元202立即可访问和/或目前正在对其进行操作的数据和/或程序模块。
计算机200还可以进一步包括其他可移动/非可移动的、易失性/非易失性计算机存储媒体。只作为示例,图2说明了硬盘驱动器228,未显示,通常叫做“硬盘”,用于从非可移动、非易失性磁性媒体读取和向其中写入,磁盘驱动器230,例如,“软盘”,用于从可移动、非易失性磁盘232读取和向其中写入,光盘驱动器234,如CD-ROM、DVD-ROM或其他光学媒体,用于从可移动、非易失性光盘236读取或向其中写入。硬盘驱动器228、磁盘驱动器230和光盘驱动器234都由一个或多个接口226连接到总线206。
驱动器以及与它们关联的计算机可读的媒体为计算机200非易失性地存储计算机可读的指令、数据结构、程序模块和其他数据。虽然此处描述的示范环境使用了硬盘228、可移动磁盘232和可移动光盘236,但是那些精通本技术的人应该理解,可以存储计算机可访问的数据的其他类型的计算机可读的媒体,如磁带、闪存卡、数字视盘、随机存取存储器(RAM)、只读存储器(ROM)等等,也可以在示范操作环境中使用。
许多程序模块可以存储在硬盘228、磁盘232、光盘236、ROM208或RAM210上,包括,作为示例,而不仅限于,操作系统214、一个或多个应用程序216,例如,多媒体应用程序224,其他程序模块218,以及程序数据220。用户可以通过诸如键盘238和指针设备240(如“鼠标”)之类的输入设备将命令和信息输入到计算机200中。其他输入设备可以包括音频/视频输入设备253、麦克风、游戏杆、游戏板、碟形卫星天线、串行端口、扫描仪等等(未显示)。这些和其他输入设备通过连接到总线206的输入接口处理单元,但也可以通过其他接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。
监视器256或其他类型的显示设备也通过诸如视频适配器或视频/图形卡244之类的接口连接到总线206。除了监视器外,个人计算机还包括其他外围输出设备(未显示),如扬声器和打印机,它们可以通过输出外围接口246进行连接。
计算机200可以使用与一台或多台远程计算机,如远程计算机250的逻辑连接在一个网络环境中运行。远程计算机250可以包括此处涉及计算机时所描述的许多或全部元件和功能。
如图2所示,计算系统200通过局域网(LAN)251一般广域网(WAN)252与诸如远程计算机250之类的远程设备连接。这样的网络环境在办公室、企业计算机网络、Intranet以及因特网中是常见的。
当计算机200在一个LAN网络环境中使用时,它通过适当的网络接口或适配器248连接到LAN251。当计算机200在一个WAN网络环境中使用时,它通常包括一个调制解调器254或其他用于在WAN252上建立通信的装置。调制解调器254可以是内置的,也可以是外置的,可以通过用户输入接口242或其他相应的机制连接到系统总线206。
在网络环境中,涉及个人计算机200时所描述的程序模块,或者它的一部分,可以存储在远程存储设备中。作为示例,而不仅限于,图2说明了驻留在远程计算机250的存储设备上的远程应用程序216。可以理解,显示和描述的网络连接是示范性的,也可以使用在计算机之间建立通信链接的其他装置。
概述
在下文所述的实施例中,可以将计划由视频卡使用的数据加密以便数据被提供到视频卡和计算机系统之间的总线(例如PCI或AGP总线)时随时将数据加密。这是有利的,因为捕获到总线的窥探设备或流氓应用程序无法访问未加密形式的数据。如此,当数据从视频卡上的视频存储器移到系统的存储器,例如,当它被映射到系统的物理存储器时,以及进行相反操作时,数据处于加密形式并因此受到保护。
当加密数据从系统的存储器传输到视频卡以便让图形处理单元(GPU)处理时,可以将其解密并放入视频卡上的受保护的存储器中。如此,GPU可以对未加密的数据执行操作—执行GPU最适合执行的操作。
在下文所述的实施例中,描述了两种具体的情况:每当数据在视频卡和计算机系统之间的总线上传输时就通过加密来保护数据。可以理解,具体描述的实施例只是示例,在不偏离权利要求中的主题的精神和范围的情况下,也可以对具体的实施例作出修改。
图3是描述根据一个实施例的方法中的步骤的流程图。该方法可以以任何适当的硬件、软件、固件或它们的组合来实现。在此特定的示例中,该方法描述了当数据从视频卡移到系统或系统存储器时执行的示范处理步骤。
步骤300在视频卡上提供未加密的数据。此数据是通常由视频卡的GPU处理的数据并在视频卡的存储器中提供。步骤302将视频卡上的未加密的数据加密。此步骤可以为响应将数据传输到系统的存储器的请求来实现。例如,CPU可以发出一个将数据从视频卡移到系统的存储器的指令。或者,GPU可以确定它不再需要数据,因此启动向系统的存储器传输数据的操作。可以使用任何适当的加密技术将视频卡上的数据加密。然后,步骤304通过视频卡和系统之间的总线发送加密数据。示范总线可以是PCI总线和AGP总线。步骤306将加密数据提供到系统存储器。
在上文描述的过程中,从视频卡移到系统的存储器的数据经过加密,从而试图捕获总线以及窃取或复制数据的任何窥探设备或流氓应用程序将只能接收到加密的数据,而该数据对窥探设备或流氓应用程序来说,将在数学上是无法解密的。
图4是描述根据一个实施例的方法中的步骤的流程图。该方法可以以任何适当的硬件、软件、固件或它们的组合来实现。在此特定的示例中,该方法描述了当数据从系统或系统存储器移到视频卡时执行的示范处理步骤。
步骤400在系统存储器中提供数据。这样的数据通常是由视频卡利用以便进行处理的数据。该数据可以在系统存储器中作为经过加密的或者未加密的数据提供。步骤402可以将数据加密(如果它在系统存储器中是未加密的),并可以将数据发送到系统存储器和视频卡之间的总线。此步骤可以为响应处理视频卡上的数据的请求来实现。步骤404接收视频卡上的加密数据。然后,步骤406将视频卡上的加密数据解密,步骤408将解密数据提供到视频存储器,以便由GPU进行处理。
在上文描述的过程中,从系统的存储器移到视频卡的数据经过加密,从而试图捕获总线以及窃取或复制数据的任何窥探设备或流氓应用程序将只能接收到加密的数据,而该数据对窥探设备或流氓应用程序来说,将在数学上是无法解密的。
第一个示范性视频卡实施例
图5显示了根据一个实施例的示范视频卡或图形卡500。卡500包括插入到典型的计算机上的端口的总线连接器502。视频卡500还包括监视器连接器504,例如15针插头,该连接器通过电缆连接到监视器。视频卡500可以包括,但不一定包括数字视频输出插座506,例如DVI,可以用于将视频图像发送到数字显示器等等。
与图1的视频卡类似,视频卡500包括图形处理单元(GPU)508、视频存储器510、随机存取存储器数字到模拟转换器(RAMDAC)512、可以包括在视频BIOS514的驱动程序软件。
GPU508是专用图形处理芯片,用于控制分辨率、颜色深度,以及与在监视器屏幕上呈现图像相关的所有元素等各个方面。存储器控制器,有时集成到GPU中,对视频卡上的存储器进行管理。计算机的中央处理单元或CPU(未显示)发送一组图形指令和数据,它们由图形卡的专用驱动程序进行解释并由卡的GPU508执行。GPU508执行诸如位图传输和绘制、窗口大小和位置调整、线条绘制、字体缩放和多边形绘制之类的操作。然后GPU可以将帧数据写入帧缓冲器,或板载视频存储器510。
视频存储器帧缓冲器中的信息是出现在屏幕上的作为数字位图存储的图像。如上文所述,利用RAMDAC512将数字位图转换为可以在监视器上呈现的形式。
除了这些组件之外,在此实施例中,视频卡500还包括存储器控制器516和密钥管理器518。视频卡还可以包括解密器520。这些组件可以以任何适当的硬件、软件、固件或它们的组合来实现。
存储器控制器516接收视频卡上的加密数据并将数据解密到视频存储器510的受保护区域或部分。解密数据现在处于可以被GPU508操作的状态。存储器控制器还可以负责确保在视频卡上的受保护区域之间或具有兼容的保护级别的区域之间进行数据传输。即,在处理视频卡上的数据期间GPU508将多次对视频存储器中的数据进行操作,例如,通过执行混合操作,并导致结果数据被写入到不同的视频存储器位置。在此情况下,可能有不受保护的或以不同的级别保护的视频存储器的区域。在这种情况下,存储器控制器可以确保在视频卡内进行数据传输,以便确保保护未加密的数据。下面将更详细地描述这是如何进行的示例。
密钥管理器518可以控制用于将视频卡上的数据加密和解密的加密与解密密钥。在一个实施例中,密钥管理器518包括单独的芯片。密钥管理器518与存储器控制器链接,并可以用各种加密/解密密钥对存储器控制器进行编程。优选情况下,密钥管理器518和存储器控制器516之间的通信通过加密的经过身份验证的通信信道进行,从而可以确保密钥管理器是可以对存储器控制器进行编程的唯一实体。
视频卡500还可以包括被配置为或可配置为将数据解密的解密器520。例如,在某些情况下,视频卡上未加密的数据可以被写入到不受保护的存储器区域。例如,这样的数据可以被写入所谓的“主表面”或桌面表面,该表面包含被RAMDAC512用来在监视器上呈现图像的数据。在这种情况下,保护未加密的数据以使它不受到攻击是理想的。相应地,当数据从受保护的存储器区域移到未保护存储器区域时,存储器控制器516可以将数据加密。在此示例中,密钥管理器518跟踪并知道哪些密钥与未保护的存储器区域中的加密数据关联。当加密数据将被提供到RAMDAC512时,密钥管理器便可以指示解密器520使用哪一个密钥或哪些密钥来将加密数据解密。然后,加密数据被提供到解密器520,进行解密,然后提供到RAMDAC512以便进一步进行处理。
或者,可以省去解密器,RAMDAC512可以被配置为执行解密功能。在这种情况下,密钥管理器518可以指示RAMDAC使用哪些密钥来进行解密。
图6中的600更详细地显示了根据一个实施例的视频卡500(图5)的选定的组件。那里,存储器控制器516包括解密模块602,该模块被配置为从总线(在此示例PCI或AGP)接收加密数据并将数据解密到视频存储器510中。此外,提供了存储器保护表604和等效的决策表606。
在此示例中,存储器保护表604包括表部分604a,该部分包含将加密/解密密钥对与视频存储器510的单个部分关联的条目。例如,加密/解密密钥对E1/D1与存储器部分608关联,加密/解密密钥对E2/D2与存储器部分610关联。当视频存储器中的解密数据将被从视频卡写入到系统存储器时,或当视频卡上的数据将通过总线(例如PCI或AGP总线)提供的任何其他时间,CPU可以使数据用表部分604a中的加密密钥中的一个进行加密。然后,加密数据可以放到总线并提供到系统存储器中。当存储器控制器516从系统存储器接收已经用密钥E1加密的加密数据,解密模块602可以定位关联的解密密钥D1并将数据解密到存储器部分608。
视频存储器510可以有许多受保护部分。在本示例中,有四个受保护部分,以608-614表示。这些受保护部分中的未加密的数据可以由GPU508(图5)以通常的方式进行处理。视频存储器的受保护部分可以被访问控制列表保护。例如,存储器保护表604包括可以为视频存储器的各个部分定义访问控制列表的表部分604b。视频存储器的每个部分可以在其关联的访问控制列表中定义哪些实体可以访问存储器部分。如此,访问控制列表的每个存储器部分中包含那些实体之外的实体的任何访问企图都将被存储器控制器拒绝。
还要注意,视频存储器510可以包括不受保护的部分。在此示例中,部分616-624不受保护。相应地,没有与这些存储器部分关联的加密/解密密钥对。
图7是描述根据一个实施例的方法中的步骤的流程图。该方法可以以任何适当的硬件、软件、固件或它们的组合来实现。在说明的示例中,该方法至少可以部分地用诸如结合图6描述的系统之类的系统来实现。
步骤700提供一个或多个密钥对。每个密钥对包括加密密钥和关联的解密密钥。步骤702将密钥对与视频存储器的单个部分关联。可以利用任何适当的方式将密钥对与视频存储器部分关联。在图6的示例中,使用了具有多个不同条目的存储器保护表。单个表条目对应于特定的密钥对,并且每个表条目与视频存储器的部分关联。
步骤704使用密钥对的加密密钥将未加密的数据加密。例如,如果视频存储器中的未加密的数据将被写入系统存储器,CPU可以使该数据用加密密钥进行加密,该加密密钥与数据所在的视频存储器部分关联。然后,步骤706通过总线将加密数据发送到系统存储器。
跟随在步骤702之后的步骤708使用密钥对的解密密钥将加密数据解密。例如,假设数据用加密密钥进行加密,然后提供到系统的存储器。如果GPU需要加密数据,则数据可以由CPU发送到视频卡。在接收到加密数据之后,存储器控制器可以定位与用于将数据加密的加密密钥关联的解密密钥,并使用该解密密钥将数据解密。然后,步骤710可以将数据提供到与解密密钥关联的视频存储器部分。如此,每当数据通过一个或多个系统总线提供时,都会受到保护。
提供了等效的决策表606(图6)并由存储器控制器516用来确保在存储器510的视频卡内进行数据传输并且使数据得到保护。
作为示例,请看图8。GPU处理视频卡上的数据时,它将数据从一个存储器位置移到另一个位置。例如,当GPU执行混合操作时,它可以获取视频卡上两个不同存储器部分的数据,将数据混合,然后将结果混合数据写入到视频存储器的所有不同部分。这由GPU操作800以图形方式表示。这里假设GPU执行的操作具有两个输入和一个输出。每一个输入对应于存储在视频存储器的受保护部分的数据。在此示例中,一个输入存储在视频存储器的与加密密钥E1关联的受保护部分,另外一个输入存储在视频存储器的与加密密钥E2关联的受保护部分(因此是E1和E2输入)。一旦执行了操作,结果输出数据将被存储在视频存储器的与加密密钥E4关联的受保护部分。现在,GPU无论在哪里执行诸如此类的存储器传输,存储器控制器516都可以确保知道数据来自哪里以及该数据将存储在哪里。然后,存储器控制器将检查以确保视频存储器的将要存储输出数据的部分在给数据提供的保护级别方面与发出成分数据的存储器部分提供的保护级别是一致的。
在此示例中,保护一致性可以通过确定包含输入数据的存储器部分关联的密钥是否等效于与将要保存输出数据的存储器部分关联的密钥或与之相同来实施。在此示例中,可以基于与存储器部分关联的限制来确定是否等效—即—在不同的存储器部分之间是否有相同的保护级别?如果两个不同的程序具有两个不同的内容,则密钥可能不等效。例如,假设每个内容是用不同的密钥加密的,并且与密钥关联的程序无法共享内容。在此示例中,加密密钥不等效。
确定与各个存储器部分关联的密钥是否等效的一种方法是使用诸如表606之类的等效的决策表。那里,该表定义了包含每一密钥的条目的矩阵。一个矩阵单元格中的“X”表示密钥是等效的。例如,首先请看密钥E1,此密钥等效于密钥E1、E2和E4。如此,如图6所示,数据可以在存储器部分608、610和614之间自由地传输。然而,密钥E1不等效于密钥E3。如此,无法将数据从存储器部分608传输到存储器部分612。在图8的示例中,由于输入数据来自存储器部分608和610,结果数据将存储在存储器部分614,等效不是一个问题,因此可以进行操作。
图9是描述根据一个实施例的方法中的步骤的流程图。该方法可以以任何适当的硬件、软件、固件或它们的组合来实现。在说明的示例中,该方法至少可以部分地用诸如结合图6描述的系统之类的系统来实现。
步骤900从视频卡上的视频存储器部分读取数据。此步骤可以由GPU实现。步骤902记录与从中读取数据的视频存储器部分关联的密钥对。此步骤可以由存储器控制器实现。步骤904确定记录的密钥对是否等效于与充当由于GPU的操作产生的输出数据的目标的视频存储器部分关联的密钥对。如果密钥对等效,则步骤906将输出数据提供到视频存储器目标部分。另一方面,如果密钥对不等效,则步骤908查找具有等效密钥对的视频存储器目标部分,或者步骤910可能将空白数据输出到指定的存储器目标。
第二个示范性视频卡实施例
图10显示了根据另一个实施例的示范视频卡或图形卡1000。这里,图的一部分被称为“视频卡”,图的另一部分被称为“系统”。这样的表示分别用于指定视频卡和系统上的那些组件。图的“系统”一侧包括CPU1002和系统存储器1004。还要注意,在系统存储器1004内有计划在视频卡1000上使用的数据1006。
在此实施例中,驻留在系统存储器1004中的数据1006是未加密的。CPU1002被配置为每当数据通过总线发送到视频卡时将数据加密。这样的操作通常是由被称为“加密存储器传输”的CPU操作完成的。如此,现在加密数据将被放入视频存储器510的未保护部分624。在此示例中,数据可以由CPU用加密密钥E1进行加密。
回想一下,GPU508被配置为处理未加密的数据。相应地,当GPU508需要处理视频存储器510的未保护部分的加密数据时,数据应该被解密。在此实施例中,GPU508包含解密功能,该功能在图中由解密模块602表示。密钥管理器518与GPU508链接,并可以用适当的解密密钥对GPU进行编程。当然,密钥管理器和GPU之间的通信可以通过经过身份验证的链接进行。
相应地,当GPU希望对视频存储器中的加密数据1006进行操作时,它可以访问加密数据,并将它解密到视频存储器的受保护部分—这里是受保护部分614。解密可以通过被称为“解密存储器传输”的操作来进行。现在,此数据和其他数据位于视频存储器的受保护部分,GPU可以自由地以通常的方式对其进行操作。
在此实施例中,存储器控制器516可以通过访问控制列表(未明确显示)控制对视频存储器的受保护部分的访问,从而对存储器实施保护。如此,每当诸如GPU508(或它的组成部分)之类的实体希望访问受保护的视频存储器部分时,它都可以通过存储器控制器516获得访问。访问控制列表可以描述数据具有什么类型的保护以及哪些实体可以访问它。例如,访问控制列表可以定义GPU的哪些部分可以访问受保护的存储器以及“拥有”受保护的存储器并因此具有访问权的一个或多个应用程序。
现在,当视频存储器的受保护部分中的数据被移到视频存储器的未保护部分时,可以将它加密。例如,假设存储器部分614中的数据将被移到未保护存储器部分620,在此示例中,该部分对应于将被RAMDAC处理以便呈现的桌面表面。GPU508可以通过存储器控制器516访问受保护的存储器部分,并执行加密存储器传输操作以将数据加密到存储器部分620。当加密数据将被提供到RAMDAC以便进行处理时,密钥管理器518可以与解密器520进行通信,并给解密器提供适当的解密密钥,以便将存储器部分620中的加密数据解密。在将数据解密之后,解密器520可以将数据提供到RAMDAC以便以通常的方式进行处理。
还要注意,存储器控制器516还包括等效的决策表(未明确指定)。此表在概念上类似于结合图6和8讨论的表。然而,这里该表用于确保当数据将要在视频存储器510的每一个存储器部分之间传输时,与视频存储器510的每一个存储器部分关联的访问控制列表都是等效的。例如,假设存储器部分614中的数据将被传输到存储器部分620。相应地,在此示例中,存储器控制器516将检查以确保与存储器部分614关联的访问控制列表等效于与存储器部分620关联的访问控制列表。如果如此,便可以执行数据传输。
结束语
上文描述的各个实施例可以确保可以将计划由视频卡使用的数据加密以便数据被提供到视频卡和计算机系统之间的总线(例如PCI或AGP总线)时随时将数据加密。如此,捕获到总线的窥探设备或流氓应用程序无法访问未加密形式的数据,因此也无法窃取这些这些数据。相应地,可以为将要被系统的视频卡处理的内容提供另一个保护级别。
虽然本发明是以结构功能和/或方法步骤所特有的语言描述的,可以理解,在所附的权利要求书中定义的本发明不一定仅限于描述的特定功能或步骤。特定功能和步骤可以作为实现权利要求所述的发明的优选的形式来描述。

Claims (84)

1.一种方法,包括:
将存储在视频卡存储器之外的存储器中的数据加密;
将加密的数据通过总线传输到视频卡;
在视频卡上将加密数据解密,所说的解密在需要处理加密数据的卡上独立于图形处理单元GPU进行;以及
在视频卡存储器中存储解密的数据。
2.根据权利要求1所述的方法,其特征在于,解密操作是每当加密数据传输到视频卡时自动执行的。
3.根据权利要求1所述的方法,其特征在于,存储操作包括将解密数据存储在视频存储器的受保护的部分。
4.根据权利要求1所述的方法,其特征在于,解密操作是由视频卡上的存储器控制器执行的。
5.根据权利要求1所述的方法进一步包括,当未加密的数据在视频卡上的不同的视频存储器部分之间传输时,确保视频存储器部分具有兼容的保护级别。
6.根据权利要求1所述的方法,其特征在于,解密操作包括使用解密密钥将加密数据解密,该解密密钥与将要存储未加密的数据的存储器部分关联。
7.一个或多个计算机可读的媒体,上面具有计算机可读的指令,当由一个或多个处理器执行这些指令时,使一个或多个处理器:
将存储在视频卡存储器之外的存储器中的数据加密;
将加密的数据通过总线传输到视频卡;
在需要处理加密数据的卡上独立于图形处理单元GPU在视频卡上将加密数据解密;以及
在视频卡存储器中存储解密的数据。
8.根据权利要求7所述的一个或多个计算机可读的媒体,其特征在于,每当加密数据传输到视频卡时,指令使一个或多个处理器自动将加密数据解密。
9.一种方法,包括:
在视频卡存储器中提供未加密的数据;
将视频卡的未加密的数据加密;以及
传输加密数据使其离视频卡。
10.根据权利要求9所述的方法,其特征在于,提供操作包括将未加密的数据提供到受保护的视频存储器部分。
11.根据权利要求10所述的方法,其特征在于,存储器部分用访问控制列表进行保护。
12.根据权利要求9所述的方法,其特征在于,提供操作包括将未加密的数据提供到视频存储器部分,该部分具有关联的加密/解密密钥对,该密钥对可用于对所说的视频存储器部分提供的数据分别进行加密和解密。
13.根据权利要求9所述的方法,其特征在于,加密操作在未加密的数据将离开视频卡提供到系统存储器的任何时候进行。
14.根据权利要求9所述的方法,其特征在于,加密操作在未加密的数据将提供到在视频卡和计算机系统的中央处理单元之间连接的总线的任何时候进行,视频卡包括计算机系统的组成部分。
15.一个或多个计算机可读的媒体,上面具有计算机可读的指令,当由一个或多个处理器执行这些指令时,使一个或多个处理器:
在视频卡存储器中提供未加密的数据;
当未加密的数据将离开视频卡被提供到计算机系统的存储器之间的总线的任何时候,在视频卡上将未加密的数据加密;以及
将加密数据传输到总线。
16.一个视频卡,包括:
图形处理单元GPU,用于处理将要呈现在监视器上的数据;
操作上与图形处理单元关联的存储器,用于保存将要被或已经被GPU处理的数据;
显示转换器,用于将数字数据转换为信号,以便用于在监视器上呈现数据;以及
存储器控制器,被配置为接收加密数据,并将加密数据解密到存储器的受保护区域。
17.根据权利要求16所述的视频卡,其特征在于,配置了存储器控制器以确保在视频卡上的受保护的存储器区域之间进行未加密的数据传输。
18.根据权利要求17所述的视频卡,其特征在于,配置了存储器控制器以确保受保护的存储器区域具有兼容的保护级别。
19.根据权利要求18所述的视频卡,其特征在于,存储器控制器至少部分地基于与单个受保护的存储器区域关联的访问控制列表确定兼容性。
20.根据权利要求18所述的视频卡,其特征在于,存储器控制器至少部分地基于与单个受保护的存储器区域关联的一个或多个加密密钥确定兼容性。
21.根据权利要求16所述的视频卡,进一步包括密钥管理器,用于控制一个或多个加密/解密密钥对,密钥对用于将视频卡上的数据分别进行加密和解密。
22.根据权利要求21所述的视频卡,其特征在于,密钥管理器包括单个集成电路芯片。
23.根据权利要求21所述的视频卡,其特征在于,密钥管理器与存储器控制器在通信上链接,并被配置为编程存储器控制器,以便将视频卡上的数据加密和解密。
24.根据权利要求16所述的视频卡,其特征在于,存储器控制器被配置为将存储在视频卡上的存储器的受保护区域的未加密的数据加密,以使加密数据可以移到视频卡上的存储器的未保护区域。
25.根据权利要求24所述的视频卡,进一步包括解密器,该解密器在操作上与视频卡上的存储器关联,并被配置为从存储器接收加密数据并将该加密数据解密,以使解密数据可以提供到显示转换器以便进行处理。
26.根据权利要求25所述的视频卡,进一步包括密钥管理器,用于控制一个或多个加密/解密密钥对,这些密钥对用于将视频卡上的数据分别进行加密和解密,密钥管理器被配置为指示解密器使用哪一个密钥将加密数据解密。
27.根据权利要求16所述的视频卡,其特征在于,存储器控制器包括存储器保护表,该表具有一个或多个表条目,单个表条目至少将一个加密/解密密钥对与要保存数据的存储器区域关联,存储器区域上的数据可以使用与该存储器区域关联的密钥对进行加密和解密。
28.根据权利要求16所述的视频卡,其特征在于,存储器控制器包括一个或多个访问控制列表,单个访问控制列表与存储器的单个区域相关联,并定义哪些实体可以访问特定的存储器区域。
29.一种方法,包括:
在视频卡上提供图形处理单元GPU,用于处理将要在监视器上呈现的数据;
在视频卡上提供存储器,该存储器在操作上与GPU关联,用于保存将要被或已经被GPU处理的数据;
提供显示转换器,用于将数字数据转换为信号,以便用于在监视器上呈现数据;以及
提供存储器控制器,被配置为接收加密数据,并将加密数据解密到存储器的受保护区域。
30.根据权利要求29所述的方法,其特征在于,提供了存储器控制器以确保在视频卡的受保护的存储器区域之间进行未加密的数据传输。
31.根据权利要求30所述的方法,其特征在于,存储器控制器可以确保受保护的存储器区域具有兼容的保护级别。
32.根据权利要求31所述的方法,其特征在于,存储器控制器至少部分地基于与单个受保护的存储器区域关联的访问控制列表确定兼容性。
33.根据权利要求31所述的方法,其特征在于,存储器控制器至少部分地基于与单个受保护的区域关联的一个或多个加密密钥确定兼容性。
34.根据权利要求29所述的方法进一步包括在视频卡上提供密钥管理器,用于控制一个或多个加密/解密密钥对,这些密钥对用于将视频卡上的数据分别进行加密和解密。
35.根据权利要求34所述的方法,其特征在于,提供密钥管理器的操作包括提供集成电路芯片。
36.根据权利要求34所述的方法,其特征在于,提供密钥管理器的操作包括将密钥管理器与存储器控制器链接,以使密钥管理器可以控制存储器控制器,以便将视频卡上的数据加密和解密。
37.根据权利要求29所述的方法,其特征在于,提供存储器控制器包括提供存储器控制器,该存储器控制器被配置为将存储在视频卡上的存储器的受保护区域的未加密的数据加密,以使加密数据可以移到视频卡上的存储器的未保护区域。
38.根据权利要求37所述的方法进一步包括提供解密器,该解密器在操作上与视频卡上的存储器关联,并被配置为从存储器接收加密数据并将加密数据解密,以使解密数据可以提供到显示转换器以便进行处理。
39.根据权利要求38所述的方法进一步包括提供密钥管理器,用于控制一个或多个加密/解密密钥对,这些密钥对用于将视频卡上的数据分别进行加密和解密,密钥管理器被配置为指示解密器使用哪一个密钥将加密数据解密。
40.根据权利要求29所述的方法,其特征在于,提供存储器控制器包括提供存储器控制器,该存储器控制器包括存储器保护表,该表具有一个或多个表条目,单个表条目至少将一个加密/解密密钥对与要保存数据的存储器区域关联,存储器区域上的数据可以使用与该存储器区域关联的密钥对进行加密和解密。
41.根据权利要求29所述的方法,其特征在于,提供存储器控制器包括提供存储器控制器,该存储器控制器包括一个或多个访问控制列表,单个访问控制列表与存储器的单个区域相关联,并定义哪些实体可以访问特定的存储器区域。
42.一种方法,包括:
提供一个或多个密钥对,单个密钥对包括可用于将数据加密的加密密钥,以及可用于将用加密密钥加密的数据解密的解密密钥;以及
将单个密钥对与存储器的单个部分关联,所述单个部分包括视频卡存储器的部分。
43.根据权利要求42所述的方法,其特征在于,所说的提供和关联操作是在视频卡上执行的。
44.根据权利要求42所述的方法,其特征在于,所说的关联操作包括定义视频卡上的表,该表具有单个条目,这些条目将单个密钥对与存储器的单个部分关联。
45.根据权利要求44所述的方法,其特征在于,表是作为视频卡上的存储器控制器的一部分定义的。
46.根据权利要求42所述的方法,进一步包括使用加密密钥将存储在存储器的关联部分的数据加密。
47.根据权利要求46所述的方法,其特征在于,使用操作是在从视频卡传输数据之前执行的。
48.根据权利要求46所述的方法,其特征在于,使用操作是在将数据传输到视频卡上的存储器的未保护部分之前执行的。
49.根据权利要求42所述的方法,进一步包括使用解密密钥将通过视频卡外部的总线接收的加密数据解密。
50.根据权利要求49所述的方法,进一步包括将解密数据提供到与用于将加密数据解密的解密密钥关联的存储器的部分。
51.一种方法,包括:
将数据提供到视频卡上的存储器的第一部分,存储器的第一部分具有第一级别的保护;
对数据进行操作以提供视频卡上的结果数据;
确定视频卡上的存储器的第二部分是否具有与第一保护级别兼容的保护级别;以及
如果第一和第二个保护级别是兼容的,则将结果数据提供到视频卡上的存储器的第二部分。
52.根据权利要求51所述的方法,其特征在于,保护级别至少部分地由与第一和第二个存储器部分关联的加密密钥定义。
53.根据权利要求51所述的方法,其特征在于,保护级别至少部分地由与第一和第二个存储器部分关联的访问控制列表定义。
54.根据权利要求51所述的方法,其特征在于,操作行为是由包括视频卡的组成部分的图形处理单元执行的。
55.根据权利要求51所述的方法,其特征在于,结果数据不同于提供到视频卡上的存储器的第一部分的数据。
56.一种方法,包括:
从视频卡上的存储器的一个或多个部分读取数据,存储器的单个部分具有关联的加密/解密密钥对;
记录与从中读取数据的存储器部分关联的密钥对;
对从存储器的一个或多个部分读取的数据进行操作以提供输出数据;
确定与从中读取数据的存储器部分关联的密钥对是否等效于与充当输出数据的目标的视频存储器部分关联的密钥对;以及
如果密钥对等效,则将输出数据提供到目标视频存储器部分。
57.一种方法,包括:
将存储在视频卡存储器之外的存储器中的数据加密;
将加密的数据通过总线传输到视频卡;
将加密数据放入视频卡上的存储器的未保护部分;
将视频卡上的加密数据解密;以及
将解密数据放入视频卡上的存储器的一个受保护部分。
58.根据权利要求57所述的方法,其特征在于,解密操作是由视频卡上的图形处理单元执行的。
59.根据权利要求57所述的方法进一步包括对视频卡上的图形处理单元进行编程,具有解密功能,足以能使图形处理单元将驻留在视频卡的未保护存储器部分的加密数据进行解密。
60.根据权利要求59所述的方法,其特征在于,编程操作是由视频卡上的密钥管理器执行的,密钥管理器被配置为管理一个或多个加密/解密密钥。
61.根据权利要求60所述的方法,其特征在于,密钥管理器包括集成电路芯片。
62.根据权利要求57所述的方法进一步包括使用存储器控制器保护视频卡上的存储器的受保护部分。
63.根据权利要求62所述的方法,其特征在于,保护操作是至少部分地使用一个或多个访问控制列表执行的,访问控制列表为视频存储器的受保护部分定义保护。
64.根据权利要求62所述的方法,其特征在于,保护操作包括确保当未加密的数据将在视频卡上的不同受保护视频存储器部分之间进行传输时,受保护视频存储器部分具有兼容的保护级别。
65.根据权利要求57所述的方法,进一步包括在所说的放置操作之后:
对视频存储器的受保护部分的数据进行操作以提供结果数据;
将结果数据加密;以及
将加密结果数据放在视频存储器的受保护部分。
66.根据权利要求65所述的方法,其特征在于,所说的将结果数据加密和放置结果数据的操作至少部分地由视频卡上的图形处理单元执行。
67.根据权利要求66所述的方法进一步包括:
使用视频卡上的解密器将加密结果数据解密;以及
在所说的对加密结果数据解密之后,将解密结果数据提供到显示转换器以便进一步进行处理。
68.一种视频卡,包括:
图形处理单元GPU,用于处理将要在监视器上呈现的数据,GPU包括加密与解密功能,足以将视频卡上的数据加密和解密;
在操作上与GPU关联的存储器,用于保存将要被或已经被GPU处理的数据,该存储器包括受保护和未保护的部分;
显示转换器,用于将数字数据转换为模拟信号,以便用于在监视器上呈现数据;以及
存储器控制器,被配置为保护视频存储器的受保护的部分。
69.根据权利要求68所述的视频卡,其特征在于,存储器控制器包括一个或多个访问控制列表,访问控制列表用于保护存储器的受保护部分。
70.根据权利要求69所述的视频卡,其特征在于,访问控制列表定义可以访问视频存储器的受保护部分的实体。
71.根据权利要求68所述的视频卡进一步包括视频卡上的密钥管理器,被配置为用加密/解密功能对GPU进行编程。
72.根据权利要求68所述的视频卡,其特征在于,GPU被配置为将存储器的未保护部分的数据解密到存储器的受保护部分。
73.根据权利要求68所述的视频卡,其特征在于,GPU被配置为将存储器的受保护部分的数据加密到存储器的未保护部分。
74.一种方法,包括:
在视频卡上提供图形处理单元GPU,用于处理将要在监视器上呈现的数据,GPU包括加密与解密功能,足以将视频卡上的数据进行加密和解密;
在视频卡上提供存储器,该存储器在操作上与GPU关联,用于保存将要被或已经被GPU处理的数据,存储器包括受保护和未保护部分;
在视频卡上提供显示转换器,用于将数字数据转换为信号,以便用于在监视器上呈现数据;以及
在视频卡上提供存储器控制器,被配置为保护视频存储器的受保护部分。
75.根据权利要求74所述的方法,其特征在于,提供存储器控制器包括提供存储器控制器,该存储器控制器包括一个或多个访问控制列表,访问控制列表用于保护存储器的受保护部分。
76.根据权利要求75所述的方法,其特征在于,访问控制列表定义可以访问视频存储器的受保护部分的实体。
77.根据权利要求74所述的方法进一步包括在视频卡上提供密钥管理器,被配置为用加密/解密功能对GPU进行编程。
78.根据权利要求74所述的方法,其特征在于,提供GPU包括提供这样的GPU,被配置为将存储器的未保护部分的数据解密到存储器的受保护部分。
79.根据权利要求74所述的方法,其特征在于,提供GPU包括提供这样的GPU,被配置为将存储器的未保护部分的数据加密到存储器的未保护部分。
80.一种方法,包括:
将加密数据接收到视频卡的未保护存储器部分,加密数据将由卡上的图形处理单元(GPU)处理;
将加密数据解密到视频卡的受保护的存储器部分;以及
将视频卡的受保护的存储器部分中的未加密的数据加密到视频卡的受保护的存储器部分。
81.根据权利要求80所述的方法,其特征在于,加密和解密操作是由GPU执行的。
82.根据权利要求80所述的方法,其特征在于,存储器控制器使用一个或多个访问控制列表保护受保护的存储器部分,访问控制列表用于定义哪些实体可以访问受保护的存储器部分。
83.根据权利要求80所述的方法进一步包括当数据离开视频卡并提供到连接到计算机系统的中央处理单元CPU时随时将视频卡上的数据加密。
84.根据权利要求80所述的方法进一步包括当数据离开视频卡并提供到连接到计算机系统的存储器时随时将视频卡上的数据加密。
CNB031033024A 2002-01-16 2003-01-15 保护视频卡的方法和系统 Expired - Fee Related CN100458739C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/052,840 2002-01-16
US10/052,840 US7065651B2 (en) 2002-01-16 2002-01-16 Secure video card methods and systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2008101795848A Division CN101441694B (zh) 2002-01-16 2003-01-15 保护视频卡的方法和系统

Publications (2)

Publication Number Publication Date
CN1432923A true CN1432923A (zh) 2003-07-30
CN100458739C CN100458739C (zh) 2009-02-04

Family

ID=21980235

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2008101795848A Expired - Fee Related CN101441694B (zh) 2002-01-16 2003-01-15 保护视频卡的方法和系统
CNB031033024A Expired - Fee Related CN100458739C (zh) 2002-01-16 2003-01-15 保护视频卡的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2008101795848A Expired - Fee Related CN101441694B (zh) 2002-01-16 2003-01-15 保护视频卡的方法和系统

Country Status (8)

Country Link
US (7) US7065651B2 (zh)
EP (1) EP1345435B1 (zh)
JP (2) JP4504623B2 (zh)
CN (2) CN101441694B (zh)
AT (1) ATE438260T1 (zh)
BR (1) BR0300072A (zh)
DE (1) DE60328554D1 (zh)
ES (1) ES2327325T3 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461140C (zh) * 2005-12-15 2009-02-11 威盛电子股份有限公司 支持多个图形处理单元的方法与系统
CN101017557B (zh) * 2006-02-08 2013-04-24 辉达公司 用于密码处理的图形处理单元
US8738929B2 (en) 2002-06-24 2014-05-27 Microsoft Corporation Auxiliary functionality for pixel data

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020057795A1 (en) * 2000-11-10 2002-05-16 Spurgat Jeffrey Jonathan Content protection through the audio and video decrypting and decoding device
US20040030929A1 (en) * 2001-11-06 2004-02-12 Depeng Bi Digital audio and video distribution transmission and playback
US7065651B2 (en) * 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
JP2003271457A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd データ記憶装置
US7515173B2 (en) * 2002-05-23 2009-04-07 Microsoft Corporation Head pose tracking system
EP1376492A1 (en) * 2002-06-24 2004-01-02 Canal + Technologies Secure software customisation for smartcard
US6797998B2 (en) * 2002-07-16 2004-09-28 Nvidia Corporation Multi-configuration GPU interface device
US6993132B2 (en) * 2002-12-03 2006-01-31 Matsushita Electric Industrial Co., Ltd. System and method for reducing fraud in a digital cable network
US7293178B2 (en) * 2002-12-09 2007-11-06 Microsoft Corporation Methods and systems for maintaining an encrypted video memory subsystem
KR20060031846A (ko) * 2003-07-04 2006-04-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 복제방지된 소프트웨어 실행장치
US7706777B2 (en) * 2003-09-23 2010-04-27 Broadcom Corporation Secure user interface in a shared resource environment
JP2005165738A (ja) * 2003-12-03 2005-06-23 Fusionsys:Kk 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
KR20050075877A (ko) * 2004-01-16 2005-07-25 삼성전자주식회사 데이터 재전송 장치 및 방법
DE102004010203B4 (de) * 2004-03-02 2007-05-10 Siemens Ag Verfahren, Vorrichtung und Computerprogramm zur Erstellung einer Projektierung für ein Bediengerät einer Automatisierungskomponente
US7265759B2 (en) 2004-04-09 2007-09-04 Nvidia Corporation Field changeable rendering system for a computing device
US20050246803A1 (en) * 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
US20060020785A1 (en) * 2004-06-30 2006-01-26 Grawrock David W Secure distribution of a video card public key
US8402283B1 (en) * 2004-08-02 2013-03-19 Nvidia Corporation Secure content enabled drive system and method
US8359332B1 (en) 2004-08-02 2013-01-22 Nvidia Corporation Secure content enabled drive digital rights management system and method
US7475190B2 (en) * 2004-10-08 2009-01-06 International Business Machines Corporation Direct access of cache lock set data without backing memory
US20060083172A1 (en) * 2004-10-14 2006-04-20 Jordan Patrick D System and method for evaluating the performance of an automotive switch fabric network
US7623552B2 (en) * 2004-10-14 2009-11-24 Temic Automotive Of North America, Inc. System and method for time synchronizing nodes in an automotive network using input capture
US7593429B2 (en) * 2004-10-14 2009-09-22 Temic Automotive Of North America, Inc. System and method for time synchronizing nodes in an automotive network using input capture
US7593344B2 (en) * 2004-10-14 2009-09-22 Temic Automotive Of North America, Inc. System and method for reprogramming nodes in an automotive switch fabric network
US7599377B2 (en) * 2004-10-15 2009-10-06 Temic Automotive Of North America, Inc. System and method for tunneling standard bus protocol messages through an automotive switch fabric network
US7613190B2 (en) * 2004-10-18 2009-11-03 Temic Automotive Of North America, Inc. System and method for streaming sequential data through an automotive switch fabric
US8751825B1 (en) 2004-12-15 2014-06-10 Nvidia Corporation Content server and method of storing content
US8346807B1 (en) 2004-12-15 2013-01-01 Nvidia Corporation Method and system for registering and activating content
US8875309B1 (en) 2004-12-15 2014-10-28 Nvidia Corporation Content server and method of providing content therefrom
US8788425B1 (en) 2004-12-15 2014-07-22 Nvidia Corporation Method and system for accessing content on demand
GB0427973D0 (en) * 2004-12-21 2005-01-26 Falanx Microsystems As Microprocessor systems
US7312801B2 (en) * 2005-02-25 2007-12-25 Microsoft Corporation Hardware accelerated blend modes
US8893299B1 (en) 2005-04-22 2014-11-18 Nvidia Corporation Content keys for authorizing access to content
US7710741B1 (en) * 2005-05-03 2010-05-04 Nvidia Corporation Reconfigurable graphics processing system
JP4743596B2 (ja) * 2005-06-07 2011-08-10 株式会社リコー 画像処理装置、方法、プログラムおよび記録媒体
US7725739B2 (en) * 2005-07-15 2010-05-25 Microsoft Corporation Securing sensitive data in memory
TWI264983B (en) * 2005-07-27 2006-10-21 Asustek Comp Inc Interface card with a control chip
US8219829B2 (en) * 2005-12-08 2012-07-10 Intel Corporation Scheme for securing locally generated data with authenticated write operations
US8001374B2 (en) * 2005-12-16 2011-08-16 Lsi Corporation Memory encryption for digital video
EP1809085A1 (en) * 2006-01-16 2007-07-18 Lih Duo International Co., Ltd. VGA interface card
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
US8648867B2 (en) * 2006-09-25 2014-02-11 Neurala Llc Graphic processor based accelerator system and method
US7870336B2 (en) * 2006-11-03 2011-01-11 Microsoft Corporation Operating system protection against side-channel attacks on secrecy
DE112006004173T5 (de) * 2006-12-15 2009-11-12 Agere Systems, Inc. Schutz eines programmierbaren Speichers gegen unberechtigte Veränderung
CN101636726B (zh) 2007-01-05 2013-10-30 Divx有限责任公司 包含连续播放的视频分配系统
US8588421B2 (en) * 2007-01-26 2013-11-19 Microsoft Corporation Cryptographic key containers on a USB token
EP2137662A1 (en) 2007-03-13 2009-12-30 Nxp B.V. Encryption and decryption of a dataset in at least two dimensions
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8019151B2 (en) * 2007-06-11 2011-09-13 Visualization Sciences Group, Inc. Methods and apparatus for image compression and decompression using graphics processing unit (GPU)
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
EP2223232A4 (en) 2007-11-16 2015-02-25 Sonic Ip Inc Hierarchical and reduced index structures for multimedia files
US8171309B1 (en) * 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US7966465B2 (en) * 2008-01-17 2011-06-21 Broadcom Corporation Method and system for secure code encryption for PC-slave devices
US9418220B1 (en) * 2008-01-28 2016-08-16 Hewlett Packard Enterprise Development Lp Controlling access to memory using a controller that performs cryptographic functions
US8826037B2 (en) * 2008-03-13 2014-09-02 Cyberlink Corp. Method for decrypting an encrypted instruction and system thereof
US8646052B2 (en) * 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US20090252323A1 (en) * 2008-04-03 2009-10-08 Simon Cooper Methods, techniques and system for maintaining security on computer systems
US8156565B2 (en) * 2008-04-28 2012-04-10 Microsoft Corporation Hardware-based protection of secure data
US8393008B2 (en) * 2008-05-21 2013-03-05 Microsoft Corporation Hardware-based output protection of multiple video streams
US8373708B2 (en) * 2008-07-30 2013-02-12 Nvidia Corporation Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
US8319780B2 (en) * 2008-07-30 2012-11-27 Nvidia Corporation System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8736626B2 (en) * 2008-08-26 2014-05-27 Matrox Graphics Inc. Method and system for cryptographically securing a graphics system
US8782433B2 (en) * 2008-09-10 2014-07-15 Inside Secure Data security
WO2010033497A1 (en) 2008-09-18 2010-03-25 Marvell World Trade Ltd. Preloading applications onto memory at least partially during boot up
US8571216B2 (en) 2008-12-01 2013-10-29 Apple Inc. Eliminating plaintext video from external memory
US8443211B2 (en) * 2009-01-05 2013-05-14 Marvell World Trade Ltd. Hibernation or suspend using a non-volatile-memory device
US8352679B2 (en) * 2009-04-29 2013-01-08 Empire Technology Development Llc Selectively securing data and/or erasing secure data caches responsive to security compromising conditions
US8726043B2 (en) * 2009-04-29 2014-05-13 Empire Technology Development Llc Securing backing storage data passed through a network
US8924743B2 (en) 2009-05-06 2014-12-30 Empire Technology Development Llc Securing data caches through encryption
US8799671B2 (en) * 2009-05-06 2014-08-05 Empire Technology Development Llc Techniques for detecting encrypted data
US9589159B2 (en) * 2009-06-26 2017-03-07 Intel Corporation Creating secure communication channels between processing elements
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
AU2010354051B2 (en) * 2010-05-27 2014-07-10 Landmark Graphics Corporation Method and system of rendering well log values
GB2483166B (en) 2010-08-27 2013-10-23 Fxi Technologies As Electronic devices
US20120079270A1 (en) * 2010-09-29 2012-03-29 Navin Patel Hardware-Assisted Content Protection for Graphics Processor
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US20120216048A1 (en) * 2011-02-17 2012-08-23 Nikos Kaburlasos System, method and computer program product for application-agnostic audio acceleration
US8516271B2 (en) * 2011-03-11 2013-08-20 Hewlett-Packard Development Company, L. P. Securing non-volatile memory regions
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
WO2013012436A1 (en) 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Reset vectors for boot instructions
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9767840B2 (en) * 2011-08-18 2017-09-19 Apple Inc. Securing protected content during video playback
US9955195B2 (en) 2011-08-30 2018-04-24 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
TWI581267B (zh) * 2011-11-02 2017-05-01 諾瓦晶片加拿大公司 快閃記憶體模組及記憶體子系統
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
TWI453586B (zh) * 2011-12-02 2014-09-21 Giga Byte Tech Co Ltd 顯示卡及其資訊儲存方法
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US20140012704A1 (en) 2012-07-05 2014-01-09 Google Inc. Selecting a preferred payment instrument based on a merchant category
US9743017B2 (en) 2012-07-13 2017-08-22 Lattice Semiconductor Corporation Integrated mobile desktop
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US8931108B2 (en) 2013-02-18 2015-01-06 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9092767B1 (en) 2013-03-04 2015-07-28 Google Inc. Selecting a preferred payment instrument
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
WO2014204615A2 (en) 2013-05-22 2014-12-24 Neurala, Inc. Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence
WO2014190208A2 (en) 2013-05-22 2014-11-27 Neurala, Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
EP3028145A1 (en) 2013-07-31 2016-06-08 Marvell World Trade Ltd. Parallelizing boot operations
US9223724B2 (en) 2013-09-09 2015-12-29 Kabushiki Kaisha Toshiba Information processing device
US10049048B1 (en) * 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
WO2015102564A1 (en) * 2013-12-30 2015-07-09 Empire Technology Developement LLC Information rendering scheme
US9519758B2 (en) * 2014-02-04 2016-12-13 Pegasus Media Security, Llc System and process for monitoring malicious access of protected content
US9858572B2 (en) 2014-02-06 2018-01-02 Google Llc Dynamic alteration of track data
US9626566B2 (en) 2014-03-19 2017-04-18 Neurala, Inc. Methods and apparatus for autonomous robotic control
EP3120300A4 (en) 2014-03-19 2017-11-22 Neurala Inc. Methods and apparatus for autonomous robotic control
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9158921B1 (en) * 2014-05-12 2015-10-13 Freescale Semiconductor, Inc. Secure boot on deep sleep wake-up
MX2016015022A (es) 2014-08-07 2018-03-12 Sonic Ip Inc Sistemas y metodos para proteger corrientes de bits elementales que incorporan tejas codificadas independientemente.
CN104880330A (zh) * 2014-08-14 2015-09-02 深圳市亚泰光电技术有限公司 一种机械故障监测系统及方法
FR3030827B1 (fr) 2014-12-19 2017-01-27 Stmicroelectronics (Grenoble 2) Sas Procede et dispositif de traitement securise de donnees cryptees
WO2016112112A1 (en) 2015-01-06 2016-07-14 Sonic Ip, Inc. Systems and methods for encoding and sharing content between devices
KR101897959B1 (ko) 2015-02-27 2018-09-12 쏘닉 아이피, 아이엔씨. 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법
US10102391B2 (en) 2015-08-07 2018-10-16 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9767320B2 (en) 2015-08-07 2017-09-19 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
EP3427435A1 (en) 2016-03-08 2019-01-16 Marvell World Trade Ltd. Methods and apparatus for secure device authentication
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN109117656A (zh) * 2018-08-27 2019-01-01 惠州Tcl移动通信有限公司 一种自动保存信息数据的方法、存储介质及移动终端
WO2020191406A1 (en) 2019-03-21 2020-09-24 Divx, Llc Systems and methods for multimedia swarms
US11439010B2 (en) * 2020-02-05 2022-09-06 Nvidia Corporation Via pattern for framebuffer interfaces
US20230094658A1 (en) * 2021-09-24 2023-03-30 Apple Inc. Protected access to rendering information for electronic devices

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160491A (ja) * 1984-01-31 1985-08-22 Toshiba Corp Icカードとicカード発行装置
CA1238427A (en) 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US4962533A (en) 1989-02-17 1990-10-09 Texas Instrument Incorporated Data protection for computer systems
ES2081735B1 (es) 1990-04-27 1996-10-01 Scandic Int Pty Ltd Aparato y metodo para la validacion de tarjetas inteligentes.
JPH04182885A (ja) * 1990-11-19 1992-06-30 Nippon Telegr & Teleph Corp <Ntt> 機密保護機能付きicカード
US5297206A (en) 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5321749A (en) * 1992-09-21 1994-06-14 Richard Virga Encryption device
US5572235A (en) 1992-11-02 1996-11-05 The 3Do Company Method and apparatus for processing image data
US5577125A (en) 1993-06-14 1996-11-19 International Business Machines Corporation Graphical manipulation of encryption
CA2191331C (en) 1994-05-26 2005-12-20 Mark Stephen Anderson Secure computer architecture
US5881287A (en) * 1994-08-12 1999-03-09 Mast; Michael B. Method and apparatus for copy protection of images in a computer system
US5537467A (en) 1994-08-23 1996-07-16 Bell Communications Research, Inc. Method for forwarding a call to a temporarily utilized portable telephone
EP0715241B1 (en) * 1994-10-27 2004-01-14 Mitsubishi Corporation Apparatus for data copyright management system
ES2357472T3 (es) * 1995-06-29 2011-04-26 Igt Sistema de juego electrónico de casino con mayor capacidad de juego, de autenticación y de seguridad.
US5727062A (en) 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US5859920A (en) 1995-11-30 1999-01-12 Eastman Kodak Company Method for embedding digital information in an image
US5719937A (en) 1995-12-06 1998-02-17 Solana Technology Develpment Corporation Multi-media copy management system
JPH09259044A (ja) * 1996-03-21 1997-10-03 Fuji Xerox Co Ltd 機密保護機能付き情報処理装置および機密保護方法
US6055314A (en) * 1996-03-22 2000-04-25 Microsoft Corporation System and method for secure purchase and delivery of video content programs
US5825879A (en) * 1996-09-30 1998-10-20 Intel Corporation System and method for copy-protecting distributed video content
GB9704638D0 (en) 1997-03-06 1997-04-23 Lsi Logic Corp Digital video broadcasting
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US5898779A (en) 1997-04-14 1999-04-27 Eastman Kodak Company Photograhic system with selected area image authentication
JPH10293722A (ja) * 1997-04-17 1998-11-04 Taisei Corp データ保護装置
US6047342A (en) * 1998-03-31 2000-04-04 Apple Computer, Inc. PC processing card for decoding operations
KR100296958B1 (ko) 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
JP4051510B2 (ja) * 1998-07-16 2008-02-27 ソニー株式会社 データ記憶装置およびデータ記憶方法
US6330624B1 (en) * 1999-02-09 2001-12-11 International Business Machines Corporation Access limiting to only a planar by storing a device public key only within the planar and a planar public key only within the device
US20020012432A1 (en) * 1999-03-27 2002-01-31 Microsoft Corporation Secure video card in computing device having digital rights management (DRM) system
ID27746A (id) * 1999-05-28 2001-04-26 Matsushita Electric Ind Co Ltd Kartu semikonduktor, peralatan playback, peralatan perekaman, metoda playback, metoda perekaman, dan media perekaman dapat dibaca kombuter
US6731756B1 (en) 1999-06-21 2004-05-04 Elisar Software Corporation, Inc. Method for securing video images
JP2001103280A (ja) * 1999-09-30 2001-04-13 Canon Inc 情報処理方法とその装置
GB9923804D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co Electronic commerce system
JP3725384B2 (ja) 1999-11-24 2005-12-07 富士通株式会社 認証装置、認証方法及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体
US7007304B1 (en) 2000-09-20 2006-02-28 Intel Corporation Method and apparatus to improve the protection of information presented by a computer
US6859832B1 (en) * 2000-10-16 2005-02-22 Electronics For Imaging, Inc. Methods and systems for the provision of remote printing services over a network
JP4153653B2 (ja) * 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
JP2002229859A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ディスク記憶装置及び同装置に適用する認証方法
US7184546B2 (en) 2001-02-13 2007-02-27 Arkion S.L. Method based on an algorithm capable of being graphically implemented to be used for the generation of filtering of data sequences and crytographic applications
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
US7055038B2 (en) 2001-05-07 2006-05-30 Ati International Srl Method and apparatus for maintaining secure and nonsecure data in a shared memory system
US6848046B2 (en) * 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US7007025B1 (en) 2001-06-08 2006-02-28 Xsides Corporation Method and system for maintaining secure data input and output
US20030017846A1 (en) * 2001-06-12 2003-01-23 Estevez Leonardo W. Wireless display
US6925180B2 (en) * 2001-09-27 2005-08-02 Sony Corporation PC card recorder
US7594265B2 (en) 2001-11-14 2009-09-22 Ati Technologies, Inc. System for preventing unauthorized access to sensitive data and a method thereof
US7065651B2 (en) * 2002-01-16 2006-06-20 Microsoft Corporation Secure video card methods and systems
US7206940B2 (en) * 2002-06-24 2007-04-17 Microsoft Corporation Methods and systems providing per pixel security and functionality
US7202875B2 (en) 2005-04-22 2007-04-10 Microsoft Corporation Palette-based, multi-tint, named color methods and systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738929B2 (en) 2002-06-24 2014-05-27 Microsoft Corporation Auxiliary functionality for pixel data
CN100461140C (zh) * 2005-12-15 2009-02-11 威盛电子股份有限公司 支持多个图形处理单元的方法与系统
CN101017557B (zh) * 2006-02-08 2013-04-24 辉达公司 用于密码处理的图形处理单元

Also Published As

Publication number Publication date
US20030135742A1 (en) 2003-07-17
US20050154903A1 (en) 2005-07-14
EP1345435B1 (en) 2009-07-29
US20050125619A1 (en) 2005-06-09
CN100458739C (zh) 2009-02-04
JP2009283007A (ja) 2009-12-03
ES2327325T3 (es) 2009-10-28
US7197648B2 (en) 2007-03-27
US7337328B2 (en) 2008-02-26
DE60328554D1 (de) 2009-09-10
US20050166042A1 (en) 2005-07-28
CN101441694B (zh) 2011-11-09
US20050152547A1 (en) 2005-07-14
US7272726B2 (en) 2007-09-18
US20050160285A1 (en) 2005-07-21
US20050154902A1 (en) 2005-07-14
US7302586B2 (en) 2007-11-27
JP4804565B2 (ja) 2011-11-02
US7065651B2 (en) 2006-06-20
ATE438260T1 (de) 2009-08-15
US7337329B2 (en) 2008-02-26
EP1345435A3 (en) 2005-01-05
BR0300072A (pt) 2003-09-02
US7299365B2 (en) 2007-11-20
EP1345435A2 (en) 2003-09-17
JP4504623B2 (ja) 2010-07-14
CN101441694A (zh) 2009-05-27
JP2003289500A (ja) 2003-10-10

Similar Documents

Publication Publication Date Title
CN1432923A (zh) 保护视频卡的方法和系统
CN100350395C (zh) 保护视频卡输出的系统和方法
US7206940B2 (en) Methods and systems providing per pixel security and functionality
JP4522645B2 (ja) セキュアコンテンツを暗号的に保護する方法およびシステム
US20130166922A1 (en) Method and system for frame buffer protection
CN1822018A (zh) 在内容权限管理系统中的灵活性特许许可体系结构
US8373708B2 (en) Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
CN1609810A (zh) 向有高保证执行环境的系统的可信代理提供安全输入/输出
US8850222B2 (en) Electronic apparatus, display driving apparatus, and digital content display method thereof
CN1304915C (zh) 计算机硬盘数据加密方法及其装置
US20050262340A1 (en) Methods and systems in a computer network for enhanced electronic document security
US20100026690A1 (en) System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
KR20040000348A (ko) 비디오 카드 출력을 보호하기 위한 시스템 및 방법
CN1920846A (zh) 应用程序在线认证与记录系统及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090204

Termination date: 20200115