CN102918865A - 使用虚拟化保护视频内容 - Google Patents
使用虚拟化保护视频内容 Download PDFInfo
- Publication number
- CN102918865A CN102918865A CN2011800262155A CN201180026215A CN102918865A CN 102918865 A CN102918865 A CN 102918865A CN 2011800262155 A CN2011800262155 A CN 2011800262155A CN 201180026215 A CN201180026215 A CN 201180026215A CN 102918865 A CN102918865 A CN 102918865A
- Authority
- CN
- China
- Prior art keywords
- video content
- deciphering
- vmm
- video
- memory
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000013500 data storage Methods 0.000 claims description 7
- 230000011664 signaling Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000000903 blocking effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 244000078534 Vaccinium myrtillus Species 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000003095 Vaccinium corymbosum Nutrition 0.000 description 1
- 235000017537 Vaccinium myrtillus Nutrition 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000021014 blueberries Nutrition 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4627—Rights management associated to the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4437—Implementing a Virtual Machine [VM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
Abstract
一般而言,本公开提供一种被配置成防止对移动设备中的视频内容的未经授权的复制的系统和方法。该方法可使用虚拟化技术来防止对高级视频内容的未经授权的复制。用户OS可在虚拟机中运行。管理程序可被配置成防止应用和/或损坏的OS从视频存储器读取高级视频内容。管理程序可被配置成防止对视频存储器中的视频内容的直接存储器访问。
Description
技术领域
本公开涉及使用虚拟化保护视频内容。
背景技术
移动计算设备可配置成显示视频内容,例如,电影。该视频内容可包括高级视频内容并可通过例如加密之类的方式予以保护。在显示前,受保护的视频内容一般被解密。经解密的(即解除保护的)视频对于未经授权的复制是易受影响的。
附图简述
所要求保护的主题事项的特征和优点将从下面与其一致的对实施例的详细描述中变得清楚,这种描述应当结合附图进行考虑,在附图中:
图1描绘与本公开一致的高层系统框图;
图2描绘图1的系统,该系统示出与本公开一致的虚拟机、虚拟机监视器和/或电路的要素;
图3描绘与本公开一致的配置成防止对视频内容的未经授权的虚拟机访问的示例性操作的流程图;以及
图4描绘与本公开一致的配置成防止对视频内容的直接存储器访问的示例性操作的流程图。
具体实施方式
防止对计算设备中的高级视频内容的未经授权复制的难点在于,在高级视频内容已被解除保护(例如被解密)以用于解码和显示后防止对其进行未经授权的复制。该难点主要由于高级视频内容被通常地保护(例如经加密),但随后被解除保护(例如被解密)以用于显示,并且经解密的视频内容在被显示前可存在于设备中的存储器内。对经解密的视频内容进行复制的尝试可能以软件发起,例如:在计算设备中的处理器上运行的恶意和/或损坏的应用,和/或对包含所解密的视频内容的存储器位置的直接存储器访问。
例如,计算设备可被配置成显示例如电影之类的高级视频内容。该高级视频内容可受到保护(例如被加密),以防止未经授权的复制。当选择高级视频内容以显示时,它可被解除保护(例如经解密)并在显示之前被存储在视频存储器(即帧缓冲器)中。没有额外的预防性措施,经解密的视频内容可从视频存储器中被读取并随后被复制。
电影(即视频文件)可包括排列为一个或多个帧的内容,例如,内容帧。内容帧包括视频内容帧和音频内容帧。视频文件可包括被配置成描述视频文件的元数据(例如,首部)。例如,该元数据包括视频和音频内容帧在视频文件中的位置的指示符。元数据可进一步包括视频内容帧和音频内容帧两者的同步信息。例如,同步信息可包括与每个音频和视频帧相对应的时间。通常,不需要保护元数据,相反,保护可直接针对内容帧。
保护协议(即,加密和解密协议)可包括但不局限于,DES、AES、WAP、WEP和/或TLS。可使用其它保护协议。DES协议可遵循或兼容于由国家标准局(如今的标准和技术国家协会(NIST))在1976年公布的名为FIPS标准FIPSPUB 46的数据加密标准,和/或这种标准的新近版本。AES协议可遵循或兼容于由NIST在2001年11月26日公布的名为US.FIPS PUB 197(FIPS 197)的高级加密标准,和/或这种标准的新近版本。
本公开给出了被配置成防止对移动设备中的高级视频内容的未经授权复制的系统和方法。该方法使用虚拟化技术来(安全地)解密高级视频内容并防止对经解密的视频内容进行未经授权的访问。虚拟化技术一般用来在多个进程(即虚拟机(VM))之间共享计算设备。管理程序——也称虚拟机监视器(VMM)——被配置成管理共享计算设备电路,例如处理器和/或I/O设备。每个VM可能不知道它正在共享计算机设备。VMM被配置成提供对一个VM所使用的资源的隔离和/或保护,使其不被计算设备上执行的其它VM所访问。VMM被配置成工作在VM和电路之间的“层”中。
如本文所述,管理程序被配置成防止应用(例如欺诈或损坏的应用)和/或损坏的OS从视频存储器读取经解密的视频内容,如本文所述。管理程序被配置成防止对视频存储器中的经解密视频内容的直接存储器访问,如本文所述。较为有利地,该方法被配置成使用管理程序以提供保护而不是使用特定硬件来获得这种保护。一些移动设备可以不包括硬件保护。硬件保护可包括从本要求保护发明的受让人、加利福尼亚圣克拉拉的Intel公司获得的针对直接I/O的Intel虚拟化技术(VT-d)。
用户操作系统(OS)被配置成在移动设备上的VM中执行。管理程序被配置成在移动设备上执行并管理由包括用户OS和应用的VM对移动设备资源的访问。视频内容可存储在可由用户OS访问的存储器中。响应于用户选择高级视频内容,管理程序可对视频内容进行解密并将经解密的视频内容注入视频存储器以显示。如本领域内技术人员能够理解的那样,用户OS被配置成使用由用户OS维持的页表来访问存储器。在虚拟化系统中,管理程序被配置成维持页表,该页表将用户虚拟存储器映射至物理存储器。如本文所述的,当视频存储器包含经解密的视频内容时,管理程序被配置成修正OS页表以指向经解密的视频内容以外的数据(例如,假数据)。如此,可防止在VM中执行的用户OS和/或应用访问视频存储器中经解密的视频内容。访问经解密的视频内容的尝试可因此产生经解密的视频内容以外的数据,例如,假数据。
管理程序可进一步保护经解密的视频内容不被直接存储器访问(DMA)。如本文所述的,当DMA被发起时,可从用户OS(例如从设备驱动器)将DMA配置命令提供给将要执行DMA的设备。DMA配置命令尤其包括与DMA拟读取的数据相对应的地址。如本文所述的,管理程序被配置成监视DMA命令并防止对包含经解密视频内容的视频存储器的DMA访问。如此,可通过管理程序防止对经解密的视频内容的DMA访问而不采取硬件安全措施。
图1和图2示出与本公开一致的系统100。例如,系统100可以是移动设备。如本文所述,“移动设备”包括能访问网络(包括互联网)的任何移动设备。例如,移动设备可配置成提供无线互联网访问。如本领域内技术人员能够理解的那样,下面的范畴是非互斥的并因此是重叠的。此外,所给出的示例清单是代表性的而非穷举性的。例如,移动设备可以是“移动互联网设备”,其通常被配置成为用户提供无线互联网访问、娱乐、信息和/或基于位置的服务。移动互联网设备的例子包括例如苹果公司销售的iPad、诺基亚销售的Nokia 810互联网便笺式计算机、Gigabyte科技公司销售的Gigabyte M528 MID以及Yukyung科技公司销售的Viliv MID。又如,移动设备可以是配置成为用户提供无线通话和/或无线互联网访问、信息和/或基于位置的服务的“智能电话”。智能电话的例子包括:例如苹果计算机公司销售的iPhone、行动研究(Researchin Motion)公司销售的黑莓、HTC公司销售的HTC Touch以及摩托罗拉公司销售的Motorola Droid。再如,移动设备可以是通常配置成为用户播放媒体内容(例如,音频和/或视频内容)的“便携式媒体播放器”。便携式媒体播放器的例子包括Archos公司销售的Archos“Gen 5”便携式媒体播放器以及创新科技有限责任公司销售的Zen便携式媒体播放器。另外,移动设备可包括蜂窝电话、个人数字助理(PDA)、手持游戏控制台(例如任天堂DS、索尼电玩站-便携(PSP))、“超移动PC”、“笔记簿”(例如迷你笔记簿、超便携和/或亚笔记簿)、笔记簿电脑和/或本领域内技术人员已知的其它设备。移动设备可配置成显示(即播放)视频内容,该视频内容例如但不仅限于电影。该视频内容可以是受保护的高级(即经加密的)视频内容或者是非高级(即未经加密的)视频内容。
图1示出系统100的高层系统框图,该高层系统框图示出在管理程序“VMM”110和虚拟机“VM”112之间的进程分割。系统100包括耦合于系统存储器104的电路102。管理程序110被配置成在VM 112和电路102之间提供接口,即,为了管理VM 112对电路102的访问。系统存储器104包括管理程序110和虚拟机112。例如,管理程序110可包括DRM模块114,其配置成解除对高级视频内容的保护(例如解密),如本文所述。“DRM”对应于“数字权限管理”并且在本文中对应于访问控制技术,该访问控制技术被配置成保护高级内容,即被配置成防止对高级内容(例如视频和/或音频内容)的未经授权的访问和/或复制。VM 112可包括用户操作系统“用户OS”116以及一个或多个应用118。例如,应用118可包括视频播放器。
转向图2,图2描绘与本公开一致的系统100的示例性系统框图。电路102包括处理器(CPU)120、显示适配器122和显示器124。电路102可包括I/O电路126和/或储存器128。CPU 120可包括多个核处理单元(在下文中称为“多核”或单独称为“核”),并且每个核可被配置成执行多个线程。CPU 120被配置成执行管理程序110和/或包含在VM 112中的进程,例如用户OS 116和/或应用118。
显示适配器122可包括视频存储器142并可包括图形处理单元。视频存储器142可包括帧缓冲器143。在某些移动设备中,视频存储器142和/或帧缓冲器143可被包含在系统存储器104中。显示适配器122被配置成将存储在视频存储器142中的图像数据转换成相应的视频数据以显示在显示器124上。在本文中,“视频内容”包括图像数据和视频数据。视频存储器142被配置成接收和存储来自VM 112和/或VMM 110的图像数据。例如,VM 112和/或VMM 110可使用存储器映射的I/O来访问视频存储器142。显示适配器122被配置成处理图像数据,即,用以将图像数据转换成视频数据以在显示器124上显示,如本领域内技术人员能够理解的那样。视频存储器142和/或帧缓冲器143被配置成在转换成视频数据以显示之前存储图像数据。该图像数据可包括易受未经授权复制的经解密视频内容,如本文所述。
至少一些I/O电路126被配置用于直接存储器访问(DMA),即对存储在存储器中的数据进行访问和转移而不使用CPU 120来转移数据。例如,I/O电路126可包括网络适配器和/或串行端口。储存器128包括有形计算机可读介质,如本文所述。尽管为便于解说被描绘成独立的要素,但储存器128也可包括存储器104。
虚拟机112包括用户OS内核130。内核130包括视频驱动器138并可包括其它设备驱动器140,如本领域内技术人员能够理解的那样。OS内核130包括OS页表133。OS页表133被配置成将VM虚拟存储器映射至真实存储器。在没有虚拟化的系统中,真实存储器对应于物理存储器。在具有虚拟化的系统中,真实存储器可能不对应于物理存储器。在这种情形下,VMM可包括VMM页表以管理从VM虚拟存储器至物理存储器的映射,如本文所述。
虚拟机112可包括视频播放器132。视频播放器132是一种应用,该应用被配置成当被执行时向用户“播放”所选择的视频内容,例如,以在显示器124上向用户显示所选择的电影。虚拟机112可包括一个或多个视频库134,这些视频库134被配置成存储视频内容,即,被配置成存储一个或多个电影和/或其它视频内容,如本领域内技术人员能够理解的那样。例如,用户可通过从例如视频库134选择想要的视频内容和/或起动视频播放机132来“请求”视频内容的显示。虚拟机112可包括例如DRM前端136之类的模块,该模块被配置成提供VM 112和管理程序110之间的通信。例如,DRM前端136可将选择的受保护的高级视频内容从VM 112转移至管理程序110。
OS内核130可包括视频驱动器138,该视频驱动器138被配置成提供OS内核130和显示适配器122之间的接口。OS内核可进一步包括配置成提供VM112和电路102(例如I/O电路126)之间的接口的其它设备驱动器140。在一种典型的虚拟化系统中,即包含管理程序的系统中,管理程序可提供设备驱动器和电路102之间的附加接口,以使管理程序管理在多个VM之间的对电路102的共享。
VMM 110可包括VMM存储器管理器150、VMM页表151和DRM模块152。VMM页表151被配置成将VM虚拟存储器映射至系统物理存储器104。例如,VMM页表151可以是将VM虚拟存储器直接映射至物理存储器的阴影页表。在另一示例中,OS页表可将VM虚拟存储器映射至真实存储器,如本文所述。继续解说该例,VMM页表151可进而被配置成将真实存储器映射至物理存储器。
VMM存储器管理器150被配置成通过例如VM 112来管理对存储器104的分配和/或访问。DRM模块152被配置成对从DRM前端136接收的高级视频内容解除保护(例如解密)。经解密的视频内容可随后被存储在视频存储器142中。DRM模块152可被配置成验证与视频内容相关的策略。例如,该策略可包括视频可显示的次数以及是否已达到该次数。在另一示例中,策略可包括“过期日”,即在那之后视频内容可能无法显示的日期。
与本公开一致地,VMM 110包括视频保护模块154和DMA拦截156。视频保护模块154被配置成从例如DRM模块152接收经解密的视频内容并将经解密的视频内容存储在视频存储器142和/或帧缓冲器143中。视频保护模块154进一步被配置成更新OS页表133以指向包含经解密视频内容以外的数据(例如假数据)的存储器位置,如本文所述。DMA拦截156被配置成监视来自VM 112(例如来自内核130)的DMA配置命令。DMA拦截156进一步被配置成防止对含有经解密视频内容的视频存储器142和/或帧缓冲器143的访问,如本文所述。
图3描绘了一操作流程图200,该操作流程图200被配置成防止对视频内容未经授权的访问和/或复制。例如,流程图200的操作被配置成防止欺诈和/或损坏的应用和/或用户OS(例如用户OS 116)读取存储在视频存储器142中的经解密视频内容。流程图200的第一部分操作可由VM 112执行,例如对包括受保护的高级视频内容和/或非高级视频内容的视频内容的操作。流程图200的第二部分操作可由VMM 110执行,例如与解密视频内容相关联的操作和/或与经解密的视频内容关联的操作。
程序流程可在操作202开始,起动视频播放器。例如,用户可选择视频内容(例如电影)以显示。换句话说,VM 112可接收显示视频内容的请求。响应于用户选择,视频播放器(例如视频播放器132)可开始执行和/或准备显示所选择的视频内容。操作204可包括确定所选择的视频内容是否为受保护的(例如经加密的)视频内容或者非高级视频内容。如果所选择的视频内容不是经加密的视频内容,则该视频内容在操作206被解码并在操作208被存储在视频存储器142中。操作206可包括从储存器128获取视频内容。程序流程随后前进至操作218。
如果所选择的视频内容是受保护的视频内容,则在操作210将该视频内容提供给VMM 110。例如,DRM前端136可将视频内容提供给VMM 110和/或DRM模块152。操作210可包括从储存器128获取视频内容。操作210可包括在DRM前端136和DRM模块152之间的通信,这种通信指示已选择受保护的高级视频内容以显示和/或与所选择的视频内容关联的标识符。操作210可包括将视频内容存储在与VMM 110关联的存储器区域内。
操作212包括对受保护的高级视频内容进行解密和解码。例如,DRM模块152被配置成对视频内容进行解密并被配置为对经解密的视频内容进行解码。在操作214,经解密和解码的视频内容(例如,图像数据)可被存储在视频存储器142(例如,帧缓冲器143)中。例如,视频保护模块可将经解密和解码的图像数据注入到视频存储器142中。
操作216可包括更新OS页表133以指向经解密和经解码的视频内容以外的数据,例如假数据。例如,VMM 110的视频保护模块154可修改OS页表133和/或VMM页表151以使与经解密视频内容对应的OS页表133表项指向包括经解密视频内容以外的数据(例如假数据)的存储器位置。因此,VM 112中的应用118和/或用户OS 116读取视频存储器142的尝试将导致对例如假数据的读取而不是对经解密视频内容的读取。
在操作218,对经解码的视频内容作渲染。例如,可由显示适配器122对经解码的视频内容进行渲染。经解码的视频内容可以是由VM 112存储在视频存储器142和/或帧缓冲器143中的非高级视频内容或者可以是由视频保护模块154注入到视频存储器和/或帧缓冲器143的经解密视频内容。操作220可包括在例如显示器124上显示经渲染的内容。
在操作222确定是否已到达视频内容的结束位置。如果已到达视频内容的结束位置,程序流程可结束224。如果尚未到达视频内容的结束位置,程序流可进至操作204,确定是否保护视频内容。
如此,可防止对经解密的高级视频内容未经授权的复制。视频内容(包括受保护的(例如加密的)高级视频内容和非高级(例如未加密的)视频内容)可由VM 112访问,与受保护的高级视频内容关联的解密操作可由VMM 110执行。可由VM 110来防止VM 112对视频内容142的访问(例如读取),例如通过修改OS页表133以指向包含视频存储器142中经解密的视频内容以外的数据的存储器位置,例如指向含假数据的存储器位置。可能需要附加措施,该附加措施被配置成防止对视频存储器142中经解密视频内容的直接访问(例如DMA)。
例如,用户OS 116可产生DMA配置命令以发起通过设备(例如I/O电路126)的DMA数据转移,并且在该转移中不涉及处理器。继续研究这个例子,OS内核130中的其它设备驱动器140中的设备驱动器可产生DMA配置命令。DMA配置命令可包括一个或多个地址和/或地址指示符,例如指针,所述地址指示符被配置成指定拟转移的数据的位置。DMA配置命令可包括设备特定参数,如本领域内技术人员能够理解的那样。欺诈和/或损坏的设备驱动器可产生DMA配置命令,该DMA配置命令被配置成读取包含经解密的视频内容的视频存储器142和/或帧缓冲器143,由此允许对经解密的视频内容未经授权的访问甚至复制。
图4绘出配置成防止对经解密的视频内容的未经授权访问的操作的另一流程图250。流程图250的操作被配置成防止对视频存储器142中经解密的视频内容的直接存储器访问(DMA)。流程图250的操作可由VMM 110执行。例如,流程图250的操作可至少部分地由DMA拦截模块156执行。
程序流程可从开头252开始。假设在开头252之前,用户已选择了要显示的视频内容,即,已做出了显示视频内容(例如电影)的请求。操作254可包括监视来自VM(例如VM 112)的DMA配置命令。例如,DMA拦截模块156可配置成监视DMA配置命令。
在操作256确定是否已检测到DMA配置命令。如果未检测到DMA配置命令,则程序流程可前进至操作254,监视来自VM的DMA配置命令。如果检测到DMA配置命令,在操作258确定由DMA配置命令所指定的地址是否包括含有经解密的视频内容的视频存储器。如果由DMA配置命令所指定的地址不包括含有经解密的视频内容的视频存储器,则在操作260允许DMA。程序流程随后前进至操作254,监视来自VM的DMA配置命令。如果由DMA配置命令所指定的地址包括含有经解密的视频内容的视频存储器,则在操作262例如由DMA拦截模块156防止对经解密的视频内容的DMA访问。操作264可包括将DMA失败和/或失效发信令给VM 112。程序流程随后可前进至操作254,监视来自VM的DMA配置命令。
如此,能防止通过DMA转移对经解密的视频内容的未经授权的访问和/或复制。可由VMM例如藉由DMA拦截模块156来防止未经授权的复制,而不需要硬件保护。
DMA配置命令可以是设备特定的。例如,如本文所述,I/O电路可包括但不局限于,网络适配器和/或串行端口。每个设备(例如,网络适配器和/或串行端口)可具有关联的DMA配置命令。每个DMA配置命令的格式可依赖于关联的设备。因此,操作258可包括识别关联的设备以识别DMA配置命令的格式,从而有利于确定地址是否包括含有经解密的视频内容的视频存储器的地址。如本领域内技术人员能够理解的,例如移动互联网设备之类的移动设备可包括有限数量的I/O电路,即有限数量的设备,并且这些设备一般不是用户可更改的。因此,DMA拦截模块156可配有关于移动设备上存在哪些I/O电路的“知识”,由此识别DMA配置命令的格式可相对更直接。
与本公开一致的系统和方法被配置成防止对移动设备上的视频内容的未经授权的访问和/或复制。移动设备可以不包括对这种访问和/或复制的硬件保护。该方法被配置成使用虚拟化技术(即,虚拟机和管理程序)来提供在与视频内容(包括经加密和未经加密的视频内容)相关联的进程以及与经解密的高级视频内容相关联的进程之间的隔离。该管理程序被配置成通过修改OS页表以指向经解密视频内容以外的数据(例如假数据)来防止对视频存储器中经解密的视频内容的访问。管理程序被进一步配置成监视DMA配置命令以防止对视频存储器中经解密的视频内容的DMA访问。较为有利地,所披露的系统和方法被配置成防止未经授权的复制而不使用硬件保护。
当然,尽管图3和图4绘出根据一些实施例的示例性操作,但要理解图3和/或图4中绘出的所有操作不是必需的。事实上,在这里完全可以构想到本公开的其它实施例可包含图3和/或图4所示操作和/或附加操作的子组合。因此,针对一个附图中未明确示出的特征和/或操作的权利要求应当认为落在本公开的范围和内容之内。
本文描述的方法的实施例可使用处理器和/或其它可编程器件来实现。为此,本文描述的方法可在其上存储有当由一个或多个处理器执行时实现这些方法的指令的有形计算机可读介质上实现。存储介质可包括任何类型的有形介质,例如,任何类型的盘,包括软盘、光盘、致密盘只读存储器(CD-ROM)、可重写致密盘(CD-RW)以及磁光盘、诸如只读存储器(ROM)、随机存取存储器(RAM)(例如动态和静态RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)的半导体器件、闪存、磁卡或光卡或任何类型适于存储电子指令的介质。
例如,存储器104和/或与电路102关联的存储器可由下列类型存储器中的一种或多种构成:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪存、磁盘存储器和/或光盘存储器。作为附加或替代,存储器104和/或与电路102关联的存储器可包括其它类型和/或之后研发类型的计算机可读存储器。
除非另有具体声明,如从前面的讨论中清楚知道的那样,可以理解说明书全文描述中采用的诸如“操作”、“处理”、“计算”、“推算”、“确定”等术语来指代计算机或计算系统或类似的电子计算设备或装置的动作和/或进程,所述动作和/或进程将计算系统寄存器和/或存储器中由物理量(例如电)表示的数据操纵和/或转换成计算系统的存储器、寄存器或其它这类信息存储、传输或显示设备中的类似地由物理量表示的其它数据。
本文任何实施例中使用的“电路”可单独或以任意组合地包括例如硬线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。
根据一个方面,这里揭示了一种方法。该方法可包括:通过虚拟机(VM)接收一请求以通过移动设备显示视频内容,该虚拟机包括用户操作系统(OS)和OS页表;将视频内容传至虚拟机监视器(VMM);由VMM对视频内容进行解密以得到经解密的视频内容;使用VMM将经解密的视频内容存储在视频存储器中;以及由VMM更新OS页表,以使与视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
根据另一方面,这里揭示了一种物品,该物品包括其上存储有指令的有形存储介质,当由处理器执行所述指令时可导致下列操作:通过虚拟机(VM)接收一请求以通过移动设备显示视频内容,虚拟机包括用户操作系统(OS)和OS页表;将视频内容转移至虚拟机监视器(VMM);由VMM对视频内容解密以得到经解密的视频内容;由VMM将经解密的视频内容存储在视频存储器中;以及由VMM更新OS页表,以使与视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
在又一方面,这里揭示了一种移动设备。该移动设备可包括:处理器;显示器;以及存储器,该存储器被配置成存储虚拟机(VM)以及虚拟机监视器(VMM),该虚拟机包含用户操作系统(OS)和OS页表,其中当在处理器上执行VM和VMM并且VM接收到显示视频内容的请求时,VM使处理器将视频内容转移至VMM;并且VMM使处理器进行:对VMM中的视频内容进行解密以得到经解密的视频内容;将经解密的视频内容存储在视频存储器中;并更新OS页表以使与视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
在这里已采用的术语和表达被用作解说性术语而非限定性术语,并且在使用这些术语和表达时不旨在排除所示出和描述的特征的任何等效物(或其等效部分),并且可以理解许多改型可落在权利要求书的范围内。因此,权利要求书旨在覆盖所有这些等效物。
Claims (23)
1.一种方法,包括:
由虚拟机(VM)接收由移动设备显示视频内容的请求,所述虚拟机包括用户操作系统(OS)和OS页表;
将所述视频内容转移至虚拟机监视器(VMM);
由所述VMM对所述视频内容进行解密以得到经解密的视频内容;
使用所述VMM将所述经解密的视频内容存储在视频存储器中;以及
由所述VMM更新OS页表,以使与所述视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
2.如权利要求1所述的方法,其特征在于,还包括:
由所述VMM监视来自所述VM的DMA(直接存储器访问)配置命令;
使用所述VMM来确定所检测到的DMA配置命令是否包括视频存储器中包含所述经解密的视频内容的地址;以及
如果所述地址包含所述经解密的视频内容,则防止对视频存储器中的地址的访问。
3.如权利要求2所述的方法,其特征在于,还包括如果防止对视频存储器中的地址的访问,则将直接存储器访问失败发信令给所述VM。
4.如权利要求1所述的方法,其特征在于,还包括基于保护策略来确定显示所述视频内容是否被允许。
5.如权利要求1所述的方法,其特征在于,还包括确定所述视频内容是否包括经解密的视频内容。
6.如权利要求1所述的方法,其特征在于,对所述视频内容进行解码并通过所述移动设备显示所述经解码的视频内容。
7.如权利要求1所述的方法,其特征在于,所述VM包括DRM前端并且所述VMM包括视频保护模块和DRM模块。
8.一种物品,包括其上存储有指令的有形存储介质,当所述指令由处理器执行时产生下列操作,包括:
由虚拟机(VM)接收一由移动设备显示视频内容的请求,所述虚拟机包括用户操作系统(OS)和OS页表;
将所述视频内容转移至虚拟机监视器(VMM);
由所述VMM对所述视频内容进行解密以得到经解密的视频内容;
使用所述VMM将所述经解密的视频内容存储在视频存储器中;以及
由所述VMM更新所述OS页表,以使与所述视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
9.如权利要求8所述的物品,其特征在于,所述指令当由所述处理器执行时产生下列附加操作,包括:
由所述VMM监视来自所述VM的DMA(直接存储器访问)配置命令;
使用所述VMM来确定所检测到的DMA配置命令是否包括视频存储器中包含所述经解密的视频内容的地址;以及
如果所述地址包含所述经解密的视频内容,则防止对视频存储器中的地址的访问。
10.如权利要求9所述的物品,其特征在于,所述指令当由所述处理器执行时产生下列附加操作,包括:
如果防止对视频存储器中的地址的访问,则将直接存储器访问失败发信令给所述VM。
11.如权利要求8所述的物品,其特征在于,所述指令当由所述处理器执行时产生下列附加操作,包括:
基于保护策略来确定显示所述视频内容是否被允许。
12.如权利要求8所述的物品,其特征在于,所述指令当由所述处理器执行时产生下列附加操作,包括:
确定所述视频内容是否包括经解密的视频内容。
13.如权利要求8所述的物品,其特征在于,所述指令当由所述处理器执行时产生下列附加操作,包括:
对所述视频内容进行解码并通过所述移动设备显示所述经解码的视频内容。
14.一种移动设备,包括:
处理器;
显示器;以及
存储器,被配置成存储虚拟机(VM)以及虚拟机监视器(VMM),所述虚拟机包含用户操作系统(OS)和OS页表,其中当在所述处理器上执行所述VM和VMM并且所述VM接收到显示视频内容的请求时,
所述VM使所述处理器:
将所述视频内容转移至所述VMM;并且
所述VMM使所述处理器:
对所述视频内容进行解密以得到经解密的视频内容;
将所述经解密的视频内容存储在视频存储器中;以及
更新所述OS页表,以使与所述视频存储器中经解密的视频内容对应的指针指向含有经解密的视频内容以外的数据的存储器位置。
15.如权利要求14所述的系统,其特征在于,所述VMM进一步使所述处理器:
监视来自所述VM的DMA(直接存储器访问)配置命令;
确定所检测到的DMA配置命令是否包括视频存储器中包含所述经解密的视频内容的地址;以及
如果所述地址包含所述经解密的视频内容,则防止对视频存储器中的地址的访问。
16.如权利要求15所述的系统,其特征在于,所述VMM进一步使所述处理器:如果防止对视频存储器中的地址的访问,则将直接存储器访问失败发信令给所述VM。
17.如权利要求14所述的系统,其特征在于,所述VMM进一步使所述处理器基于保护策略来确定显示所述经解密的内容是否被允许。
18.如权利要求14所述的系统,其特征在于,所述VMM进一步使所述处理器确定所述视频内容是否包括经解密的视频内容。
19.如权利要求14所述的系统,其特征在于,所述VM和VMM中的至少一个使所述处理器:
对所述视频内容进行解码;以及
将所述经解码的视频内容显示在显示器上。
20.如权利要求14所述的系统,其特征在于,所述VM包括DRM前端,所述VMM包括视频保护模块和DRM模块。
21.如权利要求1所述的方法,其特征在于,所述移动设备是从下面组中选取的:移动互联网设备、智能电话、便携式媒体播放器、个人数字助理、手持游戏控制台、超移动PC、笔记簿和笔记簿电脑。
22.如权利要求8所述的物品,其特征在于,所述移动设备是从下面组中选取的:移动互联网设备、智能电话、便携式媒体播放器、个人数字助理、手持游戏控制台、超移动PC、笔记簿和笔记簿电脑。
23.如权利要求14所述的移动设备,其特征在于,所述移动设备是从下面组中选取的:移动互联网设备、智能电话、便携式媒体播放器、个人数字助理、手持游戏控制台、超移动PC、笔记簿和笔记簿电脑。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/825,267 US8442224B2 (en) | 2010-06-28 | 2010-06-28 | Protecting video content using virtualization |
US12/825,267 | 2010-06-28 | ||
PCT/US2011/042013 WO2012006015A2 (en) | 2010-06-28 | 2011-06-27 | Protecting video content using virtualization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102918865A true CN102918865A (zh) | 2013-02-06 |
CN102918865B CN102918865B (zh) | 2015-08-19 |
Family
ID=45352576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180026215.5A Active CN102918865B (zh) | 2010-06-28 | 2011-06-27 | 使用虚拟化保护视频内容 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8442224B2 (zh) |
EP (1) | EP2585972B1 (zh) |
JP (1) | JP5572834B2 (zh) |
KR (1) | KR101483839B1 (zh) |
CN (1) | CN102918865B (zh) |
TW (1) | TWI470469B (zh) |
WO (1) | WO2012006015A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491196A (zh) * | 2013-10-09 | 2014-01-01 | 百度在线网络技术(北京)有限公司 | 网页中多媒体地址的获取方法和装置 |
CN104573546A (zh) * | 2013-10-18 | 2015-04-29 | Vixs系统公司 | 具有虚拟客户的处理系统及其使用方法 |
CN105493090A (zh) * | 2015-01-27 | 2016-04-13 | 深圳市大疆创新科技有限公司 | 文件处理方法及装置 |
CN108769741A (zh) * | 2018-06-07 | 2018-11-06 | 上海信颐信息技术有限公司 | 一种防止视频文件非法传播的方法及设备 |
CN109286792A (zh) * | 2014-07-28 | 2019-01-29 | 华为数字技术(成都)有限公司 | 一种监控视频存储方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8442224B2 (en) * | 2010-06-28 | 2013-05-14 | Intel Corporation | Protecting video content using virtualization |
CN102780689B (zh) * | 2011-05-02 | 2015-08-12 | 克利特Ip控股有限责任公司 | 用于远程访问应用程序的渲染服务 |
CA3108026A1 (en) * | 2011-06-13 | 2012-12-27 | Lynx Software Technologies Inc. | Systems and methods of secure domain isolation |
KR101469894B1 (ko) * | 2011-08-12 | 2014-12-08 | 한국전자통신연구원 | 도메인 분리 기반 안전 실행 환경 제공 방법 및 장치 |
US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
US8799900B1 (en) * | 2012-04-17 | 2014-08-05 | Parallels IP Holdings GmbH | Sharing webcam between guest and host OS |
US20140052558A1 (en) * | 2012-06-18 | 2014-02-20 | Redigi, Inc. | Methods and apparatus for sharing digital books and other digital media objects |
FR2997811B1 (fr) * | 2012-11-05 | 2015-01-02 | Viaccess Sa | Dispositif de traitement de contenus multimedia mettant en oeuvre une pluralite de machines virtuelles. |
US10104342B2 (en) | 2013-12-18 | 2018-10-16 | Intel Corporation | Techniques for secure provisioning of a digital content protection scheme |
CN105094942B (zh) * | 2014-04-23 | 2018-09-21 | 华为技术有限公司 | Hsm会话管理方法、管理虚拟机和服务器 |
WO2018118925A1 (en) * | 2016-12-19 | 2018-06-28 | Modulus Media Systems, LLC | Method for capturing and recording high definition video and audio output as broadcast by commercial streaming providers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0961193A2 (en) * | 1998-05-29 | 1999-12-01 | Texas Instruments Incorporated | Secure computing device |
US20060155931A1 (en) * | 2005-01-10 | 2006-07-13 | Microsoft Corporation | System and methods for an overlay disk and cache using portable flash memory |
US20080005171A1 (en) * | 2006-06-30 | 2008-01-03 | Cameron Donald F | Method and system for the protected storage of downloaded media content via a virtualized platform |
US20080126705A1 (en) * | 2006-08-08 | 2008-05-29 | Fabrice Jogand-Coulomb | Methods Used In A Portable Mass Storage Device With Virtual Machine Activation |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552419B2 (en) * | 2004-03-18 | 2009-06-23 | Intel Corporation | Sharing trusted hardware across multiple operational environments |
US7681200B2 (en) * | 2005-07-22 | 2010-03-16 | Microsoft Corporation | Secure hardware desktop buffer composition |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
EP2126694A2 (en) * | 2006-12-22 | 2009-12-02 | VirtualLogix SA | System for enabling multiple execution environments to share a device |
US7673113B2 (en) * | 2006-12-29 | 2010-03-02 | Intel Corporation | Method for dynamic load balancing on partitioned systems |
JP2008242799A (ja) * | 2007-03-27 | 2008-10-09 | Ntt Docomo Inc | コンテンツ保護装置及びコンテンツ保護方法 |
EP2075696A3 (en) * | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
US8646096B2 (en) * | 2007-06-28 | 2014-02-04 | Microsoft Corporation | Secure time source operations for digital rights management |
JP2009081530A (ja) * | 2007-09-25 | 2009-04-16 | Fujifilm Corp | 撮像装置、及び撮影方法 |
US20090204964A1 (en) * | 2007-10-12 | 2009-08-13 | Foley Peter F | Distributed trusted virtualization platform |
JP2009223776A (ja) * | 2008-03-18 | 2009-10-01 | Univ Of Tsukuba | 情報処理システム及び情報処理システム用プログラム並びにクライアント装置のアクセス制御方法 |
JP2009230596A (ja) * | 2008-03-25 | 2009-10-08 | Hitachi Ltd | サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム |
US8468356B2 (en) * | 2008-06-30 | 2013-06-18 | Intel Corporation | Software copy protection via protected execution of applications |
US8213618B2 (en) * | 2008-12-30 | 2012-07-03 | Intel Corporation | Protecting content on client platforms |
US8441494B2 (en) * | 2009-04-23 | 2013-05-14 | Vmware, Inc. | Method and system for copying a framebuffer for transmission to a remote display |
US8635395B2 (en) * | 2009-09-14 | 2014-01-21 | Vmware, Inc. | Method of suspending and resuming virtual machines |
US8442224B2 (en) | 2010-06-28 | 2013-05-14 | Intel Corporation | Protecting video content using virtualization |
-
2010
- 2010-06-28 US US12/825,267 patent/US8442224B2/en active Active
-
2011
- 2011-06-24 TW TW100122251A patent/TWI470469B/zh not_active IP Right Cessation
- 2011-06-27 WO PCT/US2011/042013 patent/WO2012006015A2/en active Application Filing
- 2011-06-27 CN CN201180026215.5A patent/CN102918865B/zh active Active
- 2011-06-27 JP JP2013514421A patent/JP5572834B2/ja not_active Expired - Fee Related
- 2011-06-27 KR KR20127030449A patent/KR101483839B1/ko active IP Right Grant
- 2011-06-27 EP EP11804083.1A patent/EP2585972B1/en not_active Not-in-force
- 2011-11-15 US US13/296,838 patent/US8462945B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0961193A2 (en) * | 1998-05-29 | 1999-12-01 | Texas Instruments Incorporated | Secure computing device |
US20060155931A1 (en) * | 2005-01-10 | 2006-07-13 | Microsoft Corporation | System and methods for an overlay disk and cache using portable flash memory |
US20080005171A1 (en) * | 2006-06-30 | 2008-01-03 | Cameron Donald F | Method and system for the protected storage of downloaded media content via a virtualized platform |
US20080126705A1 (en) * | 2006-08-08 | 2008-05-29 | Fabrice Jogand-Coulomb | Methods Used In A Portable Mass Storage Device With Virtual Machine Activation |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491196A (zh) * | 2013-10-09 | 2014-01-01 | 百度在线网络技术(北京)有限公司 | 网页中多媒体地址的获取方法和装置 |
CN103491196B (zh) * | 2013-10-09 | 2017-01-04 | 百度在线网络技术(北京)有限公司 | 网页中多媒体地址的获取方法和装置 |
CN104573546A (zh) * | 2013-10-18 | 2015-04-29 | Vixs系统公司 | 具有虚拟客户的处理系统及其使用方法 |
CN109286792A (zh) * | 2014-07-28 | 2019-01-29 | 华为数字技术(成都)有限公司 | 一种监控视频存储方法及装置 |
CN109286792B (zh) * | 2014-07-28 | 2020-12-25 | 华为数字技术(成都)有限公司 | 一种监控视频存储方法及装置 |
CN105493090A (zh) * | 2015-01-27 | 2016-04-13 | 深圳市大疆创新科技有限公司 | 文件处理方法及装置 |
CN108769741A (zh) * | 2018-06-07 | 2018-11-06 | 上海信颐信息技术有限公司 | 一种防止视频文件非法传播的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20130007659A (ko) | 2013-01-18 |
KR101483839B1 (ko) | 2015-01-16 |
WO2012006015A2 (en) | 2012-01-12 |
JP2013534001A (ja) | 2013-08-29 |
US8462945B2 (en) | 2013-06-11 |
US20110317831A1 (en) | 2011-12-29 |
WO2012006015A3 (en) | 2012-04-12 |
EP2585972A2 (en) | 2013-05-01 |
US20120057700A1 (en) | 2012-03-08 |
CN102918865B (zh) | 2015-08-19 |
EP2585972A4 (en) | 2014-01-15 |
JP5572834B2 (ja) | 2014-08-20 |
TWI470469B (zh) | 2015-01-21 |
US8442224B2 (en) | 2013-05-14 |
TW201214191A (en) | 2012-04-01 |
EP2585972B1 (en) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102918865B (zh) | 使用虚拟化保护视频内容 | |
US8307215B2 (en) | System and method for an autonomous software protection device | |
US20030133574A1 (en) | Secure CPU and memory management unit with cryptographic extensions | |
US10536274B2 (en) | Cryptographic protection for trusted operating systems | |
CN103988467B (zh) | 确保软件加密技术安全的加密系统和方法 | |
US9507941B2 (en) | Method of verifying integrity of electronic device, storage medium, and electronic device | |
US10372628B2 (en) | Cross-domain security in cryptographically partitioned cloud | |
US10691627B2 (en) | Avoiding redundant memory encryption in a cryptographic protection system | |
US20160292085A1 (en) | Protecting storage from unauthorized access | |
US9256756B2 (en) | Method of encryption and decryption for shared library in open operating system | |
KR20170142672A (ko) | 신뢰실행환경 기반의 컴퓨팅 장치 | |
CN110321729A (zh) | 使用信任域支持虚拟化系统中的存储器分页 | |
US8972745B2 (en) | Secure data handling in a computer system | |
US9772954B2 (en) | Protecting contents of storage | |
CN106326782B (zh) | 一种信息处理方法及电子设备 | |
CN110955904B (zh) | 一种数据加密方法、数据解密方法、处理器及计算机设备 | |
EP4202748A1 (en) | Data oblivious cryptographic computing | |
CN114996725B (zh) | 一种保护开发程序的方法以及处理器 | |
US20170147798A1 (en) | Mobile Device And Method Of Operating Mobile Device | |
CN116346316A (zh) | 密态计算中进程创建期间的进程对象密钥更新 | |
JP2013254240A (ja) | 情報記憶装置及びそのアクセス判定方法 |
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 |