JP5572834B2 - 仮想化を用いた動画コンテンツの保護 - Google Patents

仮想化を用いた動画コンテンツの保護 Download PDF

Info

Publication number
JP5572834B2
JP5572834B2 JP2013514421A JP2013514421A JP5572834B2 JP 5572834 B2 JP5572834 B2 JP 5572834B2 JP 2013514421 A JP2013514421 A JP 2013514421A JP 2013514421 A JP2013514421 A JP 2013514421A JP 5572834 B2 JP5572834 B2 JP 5572834B2
Authority
JP
Japan
Prior art keywords
video content
decrypted
video
vmm
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.)
Expired - Fee Related
Application number
JP2013514421A
Other languages
English (en)
Other versions
JP2013534001A (ja
Inventor
アール. パッセラ、パブロ
エー. ガラルダ、パブロ
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2013534001A publication Critical patent/JP2013534001A/ja
Application granted granted Critical
Publication of JP5572834B2 publication Critical patent/JP5572834B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/462Content 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/4627Rights management associated to the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本願発明は、仮想化を用いた動画コンテンツの保護に関する。
モバイルコンピューティングデバイスは、映画などの動画コンテンツを表示する。動画コンテンツは、プレミア動画コンテンツ(プレミア動画コンテンツ)を含み、暗号化などによって保護され得る。典型的には、保護された動画コンテンツは、表示の前に、解読される。解読された、すなわち保護を解除された動画コンテンツは、不正にコピーされ得る。
本願発明の特徴および利点は、添付の図面を参照し、以下の本願発明の実施形態の詳細な説明によって明らかになる。
図1は、本願発明と互換性のある、上位のシステムを示すブロック図である。 図2は、図1のシステムを示し、本願発明と互換性のある、仮想マシン、仮想マシンモニタ、および/または回路の構成要素を例示する。 図3は、本願発明と互換性のある、仮想マシンによる動画コンテンツへの不正アクセスを阻止する動作の例を示す、フローチャートである。 図4は、本願発明と互換性のある、動画コンテンツへのダイレクトメモリアクセスを阻止する動作の例を示す、フローチャートである。
コンピュータデバイスにおける、プレミア動画コンテンツの不正コピーの阻止における課題は、復号化および表示を目的として、解読などによって保護が解除された後に、プレミア動画コンテンツの不正コピーをいかに阻止するかということである。このような課題が存在する主な理由は、以下のとおりである。つまり、プレミア動画コンテンツは、暗号化などによって通常保護されているが、表示を目的として、解読などによって保護が解除され、表示される前に、その解読された動画コンテンツがデバイス内のメモリに存在するかもしれない、ということである。解読された動画コンテンツをコピーしようとする試みは、コンピュータデバイスのプロセッサ上で動作する悪意のある、および/または悪質なアプリケーションなどのソフトウェアに起因するかもしれず、および/または解読された動画コンテンツを保持するメモリロケーションへのダイレクトメモリアクセスに起因するかもしれない。
例えば、映画などの、プレミア動画コンテンツを表示するようコンピュータデバイスは構成されている。プレミア動画コンテンツは、不正コピーを阻止する目的で、暗号化などにより保護されている。プレミア動画コンテンツが選択され表示されるとき、解読などにより保護が解除され、表示の前にビデオメモリ、すなわちフレームバッファに格納される。追加的な阻止策がとられなければ、解読された動画コンテンツはビデオメモリから読み取られ、その後コピーされ得る。
映画、すなわち動画ファイルは、コンテンツフレームなどの1以上のフレーム内に配置されたコンテンツを含み得る。コンテンツフレームは、動画コンテンツフレームと音声コンテンツフレームとの両方を含む。動画ファイルは、ヘッダーなどのメタデータを含む。ここでメタデータは、動画ファイルを記述するべく構成されたものである。例えば、メタデータは、動画ファイル中の動画コンテンツフレームおよび音声コンテンツフレームのロケーションを示すインジケータを含む。さらにメタデータは、動画コンテンツフレームおよび音声コンテンツフレームの両方の同期情報を含んでもよい。例えば同期情報は、各音声フレームおよび各動画フレームに対応する時間情報を含む。一般的に、メタデータを保護する必要性はなく、むしろ保護の対象はコンテンツフレームである。
保護プロトコル、すなわち暗号化プロトコルおよび解読プロトコルは、DES、AES、WAP、WEPおよび/またはTLSを含むが、これらに限られるわけではない。他の保護プロトコルを用いることも出来る。DESプロトコルは、National Bureau of Standards(現在の名称は、National Institute of Standards and Technology(「NIST」))によってFIPS standard FIPS PUB 46と名付けられ、1976年に発行されたData Encryption Standardに準拠しており、互換性がある。DESプロトコルは、その後のバージョンにも準拠しており、互換性がある。AESプロトコルは、NISTによってU.S.FIPS PUB 197(FIPS 197)と名付けられ、2001年11月26日に発行されたAdvanced Encryption Standardに準拠しており、互換性がある。AESプロトコルは、その後のバージョンにも準拠しており、互換性がある。
本願発明は、モバイルデバイスによる、プレミア動画コンテンツの不正コピーを阻止するシステムおよび方法を提供する。当該方法は、仮想化技術を用い、プレミア動画コンテンツを(確実に)解読し、加えて、解読された動画コンテンツへの不正アクセスを阻止する。典型的に仮想化技術は、複数の処理が、すなわち複数の仮想マシン(「VM」)が、コンピュータデバイスを共有するのに用いられる。仮想マシンモニタ(「VMM」)とも呼ばれるハイパーバイザーは、プロセッサおよび/または入出力装置などのコンピュータデバイス回路の共有を管理する。各VMは、コンピュータデバイスを共有していることには気づかない。VMMは、あるVMが利用しているリソースに対し、同じコンピュータデバイス上で実行される他のVMがアクセス出来ないよう、隔離および/または保護を行う。VMMは、VMと回路との間の「レイヤー」で動作する。
本明細書中で説明するように、ハイパーバイザーは、アプリケーション(有害な、若しくは悪質なアプリケーションなど)および/または悪質なOSが、解読された動画コンテンツをビデオメモリから読み出すのを阻止する。ハイパーバイザーは、ビデオメモリ内の解読された動画コンテンツへのダイレクトメモリアクセスを阻止する。利点の1つは、当該方法が、ハイパーバイザーを用いて保護を行い、当該保護に特別なハードウェアを要しないことである。モバイルデバイスの中には、ハードウェアを用いた保護を行わないものもある。ハードウェアによる保護としては、本願発明の出願人であるIntel Corporation(米国カリフォルニア州サンタクララ市)が提供するIntel Virtualization Technology for Directed I/O(「VT−d」)がある。
ユーザオペレーションシステム(「OS」)は、モバイルデバイス上のVMで実行される。ハイパーバイザーは、ユーザOSおよびアプリケーションを含むVMによるモバイルデバイス内のリソースへのアクセスを管理するべく、モバイルデバイス上で実行される。動画コンテンツは、ユーザOSによってアクセス可能なメモリに格納されてよい。プレミア動画コンテンツがユーザによって選ばれたことに応答して、ハイパーバイザーは動画コンテンツを解読し、ビデオメモリへ解読された表示用の動画コンテンツを転送する。当業者によって理解されるように、ユーザOSは、ユーザOSが有するページテーブルを用いてメモリにアクセスする。仮想化システム内においてハイパーバイザーは、ユーザの仮想メモリを物理メモリにマッピングするページテーブルを有する。本明細書に説明するように、ハイパーバイザーは、ビデオメモリが解読された動画コンテンツを保持しているとき、解読された動画コンテンツ以外の(偽データなどの)他のデータがアクセス先となるよう、OSページテーブルを書き換える。このようにして、VMで実行されるユーザOSおよび/またはアプリケーションによる、ビデオメモリ内の解読された動画コンテンツへのアクセスが阻止される。よって、解読された動画コンテンツにアクセスしようとする試みによって得られるのは、解読された動画コンテンツ以外の偽データなどとなる。
さらにハイパーバイザーは、解読された動画コンテンツをダイレクトメモリアクセス(「DMA」)からも保護し得る。本明細書に説明するように、DMAが開始されると、DMA構成コマンドが、デバイスドライバなどユーザOSから、DMAを実行しようとするデバイスへと発行される。DMA構成コマンドは、DMAが読み出そうとするデータに対応するアドレスなどを含む。本明細書に説明するように、ハイパーバイザーは、DMAコマンドをモニタリングし、解読された動画コンテンツを保持するビデオメモリへのDMAアクセスを阻止する。このようにして、解読された動画コンテンツへのDMAは、ハードウェアによるセキュリティを必要とせず、ハイパーバイザーによって阻止され得る。
図1および2は、本願発明と互換性のあるシステム100を示す。例えば、システム100は、モバイルデバイスであってよい。本明細書で用いられるように「モバイルデバイス」とは、インターネットを含むネットワークにアクセス可能なあらゆるモバイルデバイスを含む。例えば、モバイルデバイスは、インターネットへの無線アクセスを行う。当業者には理解されるように、以下に示すカテゴリは、互いに排他的なものではなく、重複するものもある。さらに、代表例のみを列挙しており、あらゆるものを網羅しているわけではない。例えば、モバイルデバイスは、一般的にインターネットへの無線アクセス、エンターテイメント、情報、および/またはロケーションベースのサービスをユーザに提供する「モバイルインターネットデバイス」であってよい。モバイルインターネットデバイスの例としては、Apple Corporationが提供するiPad、Nokiaから提供されるNokia 810 Internet Tablet、Gigabyte Technology Corporationから提供されるGigabyte M528 MID、およびYukyung Technologies Corporationから提供されるViliv MIDが挙げられる。他の例では、モバイルデバイスは、無線電話技術および/またはインターネットへの無線アクセス、情報、および/またはロケーションベースのサービスをユーザに提供する「スマートフォン」であってよい。スマートフォンの例としては、Apple Computer Corporationから提供されるiPhone、Research in Motionから提供されるBlackberry、HTC Corporationから提供されるHTC Touch、およびMotorola,Inc.から提供されるMotorola Droidなどが挙げられる。さらに他の例では、モバイルデバイスは、一般的に音声および/または動画コンテンツなどのメディアコンテンツをユーザに対し再生する「携帯メディアプレーヤ」であってよい。携帯メディアプレーヤの例としては、Archos,Inc.から提供されるArchos「Gen 5」携帯メディアプレーヤ、およびCreative Technology,LTD.から提供されるZen携帯メディアプレーヤが挙げられる。加えて、モバイルデバイスは、携帯電話、パーソナルデジタルアシスタント(「PDA」)、携帯型ゲーム機(任天堂のDS、ソニーのプレーステーションポータブル(「PSP」)など)、「ウルトラモバイルPC」、「ネットブック」(小型ノートブック、ウルトラポータブルノートブックおよび/またはサブノートブックなど)、ノートブックコンピュータ、および/または当業者に知られる他のデバイスを含む。モバイルデバイスは、映画などを含むがこれに限定されない動画コンテンツを表示、すなわち再生する。動画コンテンツは、保護された、プレミア(すなわち暗号化された)動画コンテンツであってよく、または、不正アクセスを阻止しなくてもよい(すなわち暗号化されていない)動画コンテンツ(ノンプレミア動画コンテンツ)であってよい。
図1は、上位のシステムとしてのシステム100を示すブロック図である。図1は、ハイパーバイザーとしての「VMM」110と仮想マシンとしての「VM」112との間の処理の分担を示す。システム100は、システムメモリ104に接続された回路102を含む。ハイパーバイザー110は、VM112と回路102との間をインターフェース接続し、すなわちVM112による回路102へのアクセスを管理する。システムメモリ104は、ハイパーバイザー110およびVM112を含む。例えば、ハイパーバイザー110は、本明細書に説明するように、プレミア動画コンテンツの保護を解除する(解読などを行う)DRMモジュール114を含む。「DRM」は、「デジタル著作権管理」を意味し、本明細書では、プレミアコンテンツを保護する、すなわちプレミアコンテンツ(動画および/または音声コンテンツなど)への不正アクセスおよびそれらコンテンツの不正コピーを阻止するアクセスコントロール技術に対応して使用される。VM112は、ユーザオペレーションシステムとしての「ユーザOS」116および1以上のアプリケーション118を含んでよい。例えば、アプリケーション118は動画プレーヤを含んでよい。
図2は、本願発明における実施形態に係るシステム100を示すブロック図である。回路102は、プロセッサ(「CPU」)120、ディスプレイアダプタ122、およびディスプレイ124を含む。回路102は、入出力回路126および/または記憶装置128を含んでよい。CPU120は、複数の中央演算処理装置(「コア」という場合がある)を含んでよく、各コアは、複数のスレッドを実行してよい。CPU120は、ハイパーバイザー110を実行し、かつ/あるいはユーザOS116および/またはアプリケーション118などのVM112に含まれる処理を実行する。
ディスプレイアダプタ122は、ビデオメモリ142を含んでよく、かつ、グラフィック処理装置を含んでよい。ビデオメモリ142は、フレームバッファ143含んでよい。モバイルデバイスの実施形態は、ビデオメモリ142および/またはフレームバッファ143を、システムメモリ104に含めてもよい。ディスプレイアダプタ122は、ビデオメモリ142に格納される画像データを、ディスプレイ124への表示用の対応する動画データに変換する。本明細書において、「動画コンテンツ」は、画像データおよび動画データを含む。ビデオメモリ142は、VM112および/またはVMM110から画像データを受信し、格納する。例えば、VM112および/またはVMM110は、メモリマップドI/Oを用いてビデオメモリ142にアクセスしてよい。ディスプレイアダプタ122は、画像データを処理する。すなわち、ディスプレイアダプタ122は、ディスプレイ124に表示されるよう画像データを動画データに変換する。これは当業者の知るところである。ビデオメモリ142および/またはフレームバッファ143は、表示されるよう動画データを変換する前に、画像データを格納する。画像データは、本明細書に説明するように、不正コピーされ得る解読された動画コンテンツを含む。
少なくともいくつかの入出力回路126は、ダイレクトメモリアクセス(DMA)を行う。すなわち、CPU120を用いることなくメモリ内に格納されたデータにアクセスし、転送を行う。例えば、入出力回路126は、ネットワークアダプタおよび/またはシリアルポートを含んでよい。記憶装置128は、本明細書で説明するように、有形のコンピュータ読み取り可能媒体を含んでよい。図解を簡素化するため独立の構成要素として示されているが、記憶装置128は、メモリ104を含んでよい。
VM112は、ユーザOSカーネル130を含んでよい。カーネル130は、ビデオドライバ138を含んでよく、かつ、他のデバイスドライバ140を含んでよい。これは、当業者の知るところである。OSカーネル130は、OSページテーブル133を含む。OSページテーブル133は、VM仮想メモリを実メモリにマッピングする。仮想化を行わないシステムにおいては、実メモリは物理メモリに対応する。仮想化を行うシステムにおいては、実メモリは物理メモリに対応しなくてよい。この場合、本明細書に説明するように、VMMはVMMページテーブルを含み、VM仮想メモリから物理メモリへのマッピングを管理する。
VM112は、動画プレーヤ132を含んでよい。動画プレーヤ132は、実行されると、例えば選択された映画をディスプレイ124にてユーザに対して表示することにより、選択された動画コンテンツをユーザに対し「再生」するアプリケーションである。VM112は、動画コンテンツを格納する、すなわち1以上の映画および/または動画コンテンツを格納する1以上の動画ライブラリ134を含んでよい。これは、当業者の知るところである。例えば、ユーザは、動画ライブラリ134などから所望の動画コンテンツを選択し、かつ/あるいは動画プレーヤ132を起動することにより、動画コンテンツの表示を「リクエスト」する。VM112は、例えばDRMフロントエンド136などのモジュールを含む。モジュールは、VM112とハイパーバイザー110との間の通信を可能にする。例えば、DRMフロントエンド136は、選択され、保護された、プレミア動画コンテンツを、VM112からハイパーバイザー110へと転送する。
OSカーネル130は、OSカーネル130とディスプレイアダプタ122との間をインターフェース接続するビデオドライバ138を含んでよい。OSカーネル130は、さらに、VM112と、入出力回路126などの回路102との間をインターフェース接続する他のデバイスドライバ140を含んでよい。典型的な仮想化されたシステム、すなわちハイパーバイザーを含むシステムにおいては、ハイパーバイザーは、デバイスドライバと回路102との間を追加的にインターフェース接続してもよい。これにより、ハイパーバイザーは、複数のVMによる回路102の共有を管理する。
VMM110は、VMMメモリマネージャ150、VMMページテーブル151、およびDRMモジュール152を含んでよい。VMMページテーブル151は、VM仮想メモリをシステム物理メモリ104へマッピングする。例えば、VMMページテーブル151は、VM仮想メモリを直接物理メモリにマッピングするシャドウページテーブルであってよい。他の例では、本明細書に説明するように、OSページテーブルは、VM仮想メモリを実メモリにマッピングしてよい。本実施形態について引き続き説明すると、VMMページテーブル151は、その後実メモリを物理メモリにマッピングする。
VMMメモリマネージャ150は、VM112などによるメモリ104への割り付けおよび/またはアクセスを管理する。DRMモジュール152は、解読などにより、DRMフロントエンド136から受信した、プレミア動画コンテンツの保護を解除する。解読された動画コンテンツは、その後、ビデオメモリ142に格納されてよい。DRMモジュール152は、動画コンテンツに関するポリシーを確認する。例えば、ポリシーは、動画の表示が許可されている回数、または、その回数に到達しているかどうかなどを含んでよい。他の例では、ポリシーは、「有効期限」、すなわち動画コンテンツの表示がそれ以降は許可されていない日時を含んでよい。
本願発明と互換性のあるVMM110は、動画保護モジュール154およびDMAインターセプトモジュール156を含む。動画保護モジュール154は、例えばDRMモジュール152から解読された動画コンテンツを受信し、ビデオメモリ142および/またはフレームバッファ143に解読された動画コンテンツを格納する。さらに動画保護モジュール154は、本明細書に説明するように、解読された動画コンテンツ以外の偽データなどを保持するメモリロケーションがアクセス先となるよう、OSページテーブル133を更新する。DMAインターセプトモジュール156は、カーネル130などVM112からのDMA構成コマンドをモニタリングする。さらにDMAインターセプトモジュール156は、本明細書に説明するように、解読された動画コンテンツを保持するビデオメモリ142および/またはフレームバッファ143へのアクセスを阻止する。
図3は、動画コンテンツへの不正アクセスおよび/または動画コンテンツの不正コピーを阻止する動作のフローチャート200を示す。例えば、フローチャート200の動作は、有害および/または悪質なアプリケーション、および/またはユーザOS116などのユーザOSが、ビデオメモリ142に格納された解読された動画コンテンツを読み出すのを阻止する。フローチャート200の動作の第1部分は、VM112によって実行されてよい。この動作は、例えば、保護された、プレミア動画コンテンツおよび/またはノンプレミア動画コンテンツを含む動画コンテンツを対象とした動作であってよい。フローチャート200の動作の第2部分は、VMM110によって実行されてよい。この動作は、例えば、動画コンテンツの解読に関する動作、および/または解読された動画コンテンツに関する動作であってよい。
プログラムのフローは、動作202の動画プレーヤの起動から開始されてよい。例えば、ユーザが、映画などの動画コンテンツを表示するよう選択する。すなわち、VM112が、動画コンテンツの表示のリクエストを受信する。ユーザによる選択に応じ、動画プレーヤ132などの動画プレーヤが、実行を開始し、かつ/あるいは選択された動画コンテンツの表示に備える。動作204は、選択された動画コンテンツが保護された(暗号化などが行われている)動画コンテンツであるか、プレミア動画コンテンツであるか、の決定を含んでよい。選択された動画コンテンツが、暗号化された動画コンテンツでない場合、動画コンテンツは、動作206で復号化され、動作208においてビデオメモリ142に格納される。動作206は、記憶装置128からの動画コンテンツの読み出しを含んでよい。プログラムのフローはその後、動作218へ進む。
選択された動画コンテンツが保護された動画コンテンツである場合、動画コンテンツは、動作210において、VMM110に提供されてよい。例えば、DRMフロントエンド136が、動画コンテンツをVMM110および/またはDRMモジュール152へ提供する。動作210は、記憶装置128からの動画コンテンツの読み出しを含んでよい。動作210は、DRMフロントエンド136とDRMモジュール152との間の通信を含んでよい。この通信において、保護された、プレミア動画コンテンツを表示するよう選択されたこと、および/または選択された動画コンテンツの識別子がやり取りされる。動作210は、動画コンテンツのVMM110と関連付けられたメモリ領域への格納を含んでよい。
動作212は、保護された、プレミア動画コンテンツの解読と復号化を含む。例えば、DRMモジュール152は、動画コンテンツの解読を行い、かつ、解読された動画コンテンツの復号化を行ってよい。解読され復号化された画像データなどの動画コンテンツは、動作214において、フレームバッファ143など、ビデオメモリ142内に格納される。例えば、動画保護モジュール154は、解読され復号化された画像データをビデオメモリ142に転送してよい。
動作216は、解読され復号化された動画コンテンツ以外の偽データなどがアクセス先となるよう、OSページテーブル133の更新を含んでよい。例えば、VMM110の動画保護モジュール154は、解読された動画コンテンツに対応するOSページテーブル133のエントリーのアクセス先が、解読された動画コンテンツ以外の偽データなどを保持するメモリロケーションとなるよう、OSページテーブル133および/またはVMMページテーブル151を書き換えてもよい。したがって、VMM112内のアプリケーション118および/またはユーザOS116によるビデオメモリ142から読み出す試みによって、解読された動画コンテンツではなく、偽データなどが読み出されることとなる。
動作218では、復号化された動画コンテンツのレンダリングが行われる。例えば、復号化された動画コンテンツは、ディスプレイアダプタ122によってレンダリングされる。復号化された動画コンテンツは、VM112によってビデオメモリ142および/またはフレームバッファ143に格納された、ノンプレミア動画コンテンツであってよく、若しくは、動画保護モジュール154によってビデオメモリ142および/またはフレームバッファ143に転送された解読された動画コンテンツであってよい。動作220は、レンダリングされたコンテンツの、ディスプレイ124などでの表示を含んでよい。
動作222において、動画コンテンツが終了したか決定される。動画コンテンツが終了した場合、プログラムのフローは終了224する。動画コンテンツが終了していなければ、プログラムフローは動作204へ進み、動画コンテンツが保護されているか決定する。
このようにして、解読された、プレミア動画コンテンツの不正コピーが阻止される。保護された(暗号化などを行われた)、プレミア動画コンテンツおよび(暗号化などの行われていない)ノンプレミア動画コンテンツを含む動画コンテンツは、VM112によってアクセスされ得、保護された、プレミア動画コンテンツに関する解読の処理がVMM110によって行われる。VMM110によって、偽データを保持するメモリロケーションをアクセス先とするなど、ビデオメモリ142内の解読された動画コンテンツ以外のデータを保持するメモリロケーションがアクセス先となるよう、OSページテーブル133を書き換えることにより、VM112は、ビデオメモリ142からの読み出しなどのアクセスを阻止される。ビデオメモリ142内の解読された動画コンテンツへの、DMAなど直接的なアクセスを阻止する追加的な策が所望され得る。
例えば、ユーザOS116がDMA構成コマンドを生成し、入出力回路126などのデバイスによって、プロセッサの介在しない、データのDMA送信を開始する。本実施形態について引き続き説明すると、OSカーネル130内の他のデバイスドライバ140のうちのデバイスドライバが、DMA構成コマンドを開始する。DMA構成コマンドは、1以上のアドレス、および/または、送信されるデータのロケーションを特定する、ポインタなどのアドレスインジケータを含んでよい。当業者には理解されるように、DMA構成コマンドは、デバイス特有のパラメータを含んでよい。有害な、および/または悪質なデバイスドライバは、解読された動画コンテンツを保持するビデオメモリ142および/またはフレームバッファ143から読み出すDMA構成コマンドを生成するかもしれない。このことによって、解読された動画コンテンツへの不正アクセス、および、もしかするとその解読された動画コンテンツの不正コピーが可能となるかもしれない。
図4は、解読された動画コンテンツへの不正アクセスを阻止する動作の、図3とは異なるフローチャート250を示す。フローチャート250の動作は、ビデオメモリ142内の解読された動画コンテンツのDMAを阻止する。フローチャート250の動作は、VMM110によって行われてよい。例えば、フローチャート250の動作は、少なくとも部分的に、DMAインターセプトモジュール156によって行われてよい。
プログラムのフローは、開始252から始まってよい。開始252の前には、ユーザによって、表示する動画コンテンツの選択が済んでいる、すなわち映画などの動画コンテンツの表示のリクエストが済んでいることを前提としている。動作254は、VM112などVMからのDMA構成コマンドのモニタリングを含んでよい。例えば、DMAインターセプトモジュール156は、DMA構成コマンドのモニタリングを行う。
DMA構成コマンドが検知されたかどうかは、動作256で決定する。DMA構成コマンドが検知されない場合、プログラムのフローは、動作254に進み、VMからのDMA構成コマンドのモニタリングを行う。DMA構成コマンドが検知された場合、DMA構成コマンドが特定するアドレスが、解読された動画コンテンツを保持するビデオメモリを含んでいるかどうかが、動作258で決定される。DMA構成コマンドが特定するアドレスが、解読された動画コンテンツを保持するビデオメモリを含まない場合、動作260でDMAが許可される。プログラムのフローは、その後、動作254に進み、VMからのDMA構成コマンドのモニタリングを行う。DMA構成コマンドが特定するアドレスが、解読された動画コンテンツを保持するビデオメモリを含む場合、動作262で、解読された動画コンテンツへのDMAのアクセスが、DMAインターセプトモジュール156などによって阻止される。動作264は、VM112に対するDMA失敗および/またはエラーのシグナリングを含んでよい。プログラムのフローは、その後、動作254に進み、VMからのDMA構成コマンドのモニタリングを行う。
このようにして、DMA送信による解読された動画コンテンツへの不正アクセス、および/または解読された動画コンテンツの不正コピーが阻止される。不正コピーの阻止は、VMMによって、ハードウェアによる保護を要さず、DMAインターセプトモジュール156などを介して行われ得る。
DMA構成コマンドは、デバイス特有のものであってよい。例えば、本明細書に説明するように、入出力回路は、ネットワークアダプタおよび/またはシリアルポートを含んでよく、またこれらに限定されない。ネットワークアダプタおよび/またはシリアルポートなどの各デバイスは、関連付けられたDMA構成コマンドを有してよい。各DMA構成コマンドのフォーマットは、関連付けられたデバイスに依存してよい。したがって、動作258は、関連付けられたデバイスの識別を含んでよい。この識別により、DMA構成コマンドのフォーマットの識別がなされ、アドレスが解読された動画コンテンツを保持するビデオメモリのアドレスを含むかどうかの決定が促される。モバイルインターネットデバイスなどのモバイルデバイスは、一定数の入出力回路、すなわち一定数のデバイスを含んでよく、一般的にユーザは、デバイスを変更出来なくてよい。これは、当業者の知るところである。したがって、DMAインターセプトモジュール156は、モバイルデバイスにどのような入出力回路が存在するかについて「知識」を有した状態で構成されており、このことによって、DMA構成コマンドのフォーマットの識別は、比較的単純なもので済む。
本願発明と互換性のあるシステムおよび方法は、モバイルデバイスによる動画コンテンツへの不正アクセスおよび/または動画コンテンツの不正コピーを阻止する。モバイルデバイスは、そのようなアクセスおよび/またはコピーを阻止するためにハードウェアによる保護を含まなくてよい。方法は、仮想化技術、すなわち仮想マシンおよびハイパーバイザーを用い、動画コンテンツ(暗号化された動画コンテンツおよび暗号化されていない動画コンテンツを含む)に関わる処理と、プレミア動画コンテンツの解読に関わる処理との分離を行う。ハイパーバイザーは、解読された動画コンテンツ以外の偽データなどがアクセス先となるよう、OSページテーブルを書き換えることにより、ビデオメモリ内の解読された動画コンテンツへのアクセスを阻止する。ハイパーバイザーは、さらに、DMA構成コマンドをモニタリングし、ビデオメモリ内の解読された動画コンテンツへのDMAを阻止する。利点の1つは、本願発明のシステムおよび方法が、ハードウェアによる保護を用いることなく、不正コピーを阻止する点である。
当然ではあるが、図3および4はいくつかの実施形態の例示的な動作を示すが、図3および/または図4に示す動作が全て、他の実施形態においても必要となるわけではないことが理解されるであろう。実際、本願発明の他の実施形態では、図3および/または図4に示す動作の部分的な組み合わせ、および/または追加的な動作を含んでよいことが、十分に考慮されている。よって、1つの図面に正確に示されていない特徴および/または動作は、請求項に係る本願発明の範囲および内容に含まれる。
本明細書に説明される方法の実施形態は、プロセッサおよび/または他のプログラム可能なデバイスを用いて実施することが出来る。このことを目的とし、本明細書に説明する方法は、1以上のプロセッサによって実行されたときに当該方法を実施する命令を格納する、有形のコンピュータ読み取り可能媒体で実施されてもよい。記憶媒体の例として、あらゆる形態の有形媒体が含まれる。それらの例としては、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、CD−RW、および光磁気ディスクなど、あらゆる形態のディスク、読み出し専用メモリ(ROM)、動的ランダムアクセスメモリ(RAM)および静的RAMなどのRAM、消去可能プログラム可能型ROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュメモリ、磁気カード、光カードなどのあらゆる形態の半導体デバイス、ならびに、その他電気的命令の格納に適したあらゆる形態の媒体などが含まれる。
例えば、メモリ104および/または回路102に関連付けられたメモリは以下の形態のメモリの1以上を含んでよい。それらメモリの形態としては、半導体ファームウェアメモリ、プログラム可能メモリ、不揮発性メモリ、読み出し専用メモリ、電気的プログラム可能メモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリ、および/または光ディスクメモリが挙げられる。追加的に、あるいは、代替として、メモリ104および/または回路102に関連付けられたメモリは他の、および/または新たに開発された形態のコンピュータ読み取り可能なメモリを含んでよい。
特記しない限り、上述した説明から分かるように、「動作」、「処理」、「演算」、「計算」「決定」などの用語を用いた明細書中の説明は、コンピュータまたはコンピュータシステム、若しくは類似の電気コンピュータデバイスまたは装置による動作および/または処理を示す。これらコンピュータまたはコンピュータシステム、若しくは類似の電気コンピュータデバイスまたは装置は、コンピュータシステムのレジスタおよび/またはメモリ内に格納された電気量などの物理量で表されるデータを、コンピュータシステムのメモリ、レジスタ、若しくは他のそのような情報記憶装置、送信デバイス、またはディスプレイデバイス内で物理量として同様に表される他のデータへと処理および/または変換する。
本明細書中の実施形態で用いられる「回路」は、例えば、配線接続された回路、プログラム可能な回路、状態機械回路、および/またはプログラム可能な回路によって実行される命令を格納するファームウェアを、単独で、若しくはこれらを組み合わせた状態で、含んでよい。
本願発明の一態様は、方法を提供する。当該方法は、モバイルデバイスによって動画コンテンツを表示するように、ユーザオペレーションシステム(「OS」)およびOSページテーブルを有する仮想マシン(「VM」)からリクエストを受ける段階と、動画コンテンツを仮想マシンモニタ(「VMM」)に転送する段階と、動画コンテンツをVMMによって解読し、解読された動画コンテンツを生成する段階と、解読された動画コンテンツをVMMを用いてビデオメモリ内に格納する段階と、ビデオメモリ内の解読された動画コンテンツに対応するポインタの示すアクセス先が、解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、VMMによってOSページテーブルを更新する段階とを備えてよい。
他の態様は、物品を提供する。当該物品は、モバイルデバイスによって動画コンテンツを表示するように、ユーザオペレーションシステム(「OS」)およびOSページテーブルを有する仮想マシン(「VM」)からリクエストを受ける段階と、動画コンテンツを仮想マシンモニタ(「VMM」)に転送する段階と、動画コンテンツをVMMによって解読し、解読された動画コンテンツを生成する段階と、解読された動画コンテンツをVMMを用いてビデオメモリ内に格納する段階と、ビデオメモリ内の解読された動画コンテンツに対応するポインタの示すアクセス先が、解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、VMMによってOSページテーブルを更新する段階とを含む動作を、プロセッサに実行されたときに実施する命令を格納する有形記憶媒体を備えてよい。
さらに他の態様は、モバイルデバイスを提供する。モバイルデバイスは、プロセッサと、ディスプレイと、ユーザオペレーションシステム(「OS」)およびOSページテーブル、ならびに仮想マシンモニタ(「VMM」)を有する仮想マシン(「VM」)を格納するメモリとを備え、VMおよびVMMがプロセッサ上で実行され、VMが動画コンテンツを表示するようリクエストを受けたとき、VMはプロセッサに、動画コンテンツをVMMに転送する段階を実施させ、VMMはプロセッサに、VMM内の動画コンテンツを解読し、解読された動画コンテンツを生成する段階と、解読された動画コンテンツをビデオメモリ内に格納する段階と、ビデオメモリ内の解読された動画コンテンツに対応するポインタの示すアクセス先が、解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、OSページテーブルを更新する段階とを実施させてよい。
本明細書で用いる用語および表現は、説明を目的として用いられ、限定を目的としては用いられていない。そのような用語および表現の使用に関し、示され説明される特徴(もしくはその特徴の一部)と同等なものを排除することを意図されていない。特許請求項の範囲内で、様々な変更が可能であることが理解されるであろう。したがって、請求項はそのような同等物を全て網羅することを意図されている。

Claims (23)

  1. モバイルデバイスによって動画コンテンツを表示するように、ユーザオペレーションシステム(「OS」)およびOSページテーブルを有する仮想マシン(「VM」)からリクエストを受ける段階と、
    前記動画コンテンツを仮想マシンモニタ(「VMM」)に転送する段階と、
    前記動画コンテンツを前記VMMによって解読し、解読された前記動画コンテンツを生成する段階と、
    レンダリングされる前記解読された動画コンテンツを前記VMMを用いてビデオメモリ内に格納する段階と、
    前記ビデオメモリ内の前記解読された動画コンテンツに対応するポインタの示すアクセス先が、前記解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、前記VMMによって前記OSページテーブルを更新する段階と
    を備える方法。
  2. 前記VMMによって前記VMからのDMA(ダイレクトメモリアクセス)構成コマンドをモニタリングする段階と、
    検知されたDMA構成コマンドが前記解読された動画コンテンツを保持する前記ビデオメモリ内のアドレスを含むかどうか、前記VMMを用いて決定する段階と、
    前記アドレスが前記解読された動画コンテンツを保持する場合、前記ビデオメモリ内の前記アドレスへのアクセスを阻止する段階と
    をさらに備える、請求項1に記載の方法。
  3. 前記ビデオメモリ内の前記アドレスへのアクセスが阻止された場合、前記VMに対しDMAの失敗をシグナリングする段階をさらに備える、請求項2に記載の方法。
  4. 前記動画コンテンツの表示が許可されているか保護ポリシーに基づいて決定する段階をさらに備える、請求項1から3のいずれか1項に記載の方法。
  5. 前記動画コンテンツが解読された動画コンテンツを有するかどうか決定する段階をさらに備える、請求項1から4のいずれか1項に記載の方法。
  6. 前記動画コンテンツを復号化し、前記モバイルデバイスによって前記復号化された動画コンテンツを表示する段階をさらに備える、請求項1から5のいずれか1項に記載の方法。
  7. 前記VMがDRMフロントエンドを有し、前記VMMが動画保護モジュールおよびDRMモジュールを有する、請求項1から6のいずれか1項に記載の方法。
  8. コンピュータに、
    モバイルデバイスによって動画コンテンツを表示するように、ユーザオペレーションシステム(「OS」)およびOSページテーブルを有する仮想マシン(「VM」)からリクエストを受ける段階と、
    前記動画コンテンツを仮想マシンモニタ(「VMM」)に転送する段階と、
    前記動画コンテンツを前記VMMによって解読し、解読された前記動画コンテンツを生成する段階と、
    レンダリングされる前記解読された動画コンテンツを前記VMMを用いてビデオメモリ内に格納する段階と、
    前記ビデオメモリ内の前記解読された動画コンテンツに対応するポインタの示すアクセス先が、前記解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、前記VMMによって前記OSページテーブルを更新する段階と
    を実行させるためのプログラム。
  9. 前記VMMによって前記VMからのDMA(ダイレクトメモリアクセス)構成コマンドをモニタリングする段階と、
    検知されたDMA構成コマンドが前記解読された動画コンテンツを保持する前記ビデオメモリ内のアドレスを含むかどうか、前記VMMを用いて決定する段階と、
    前記アドレスが前記解読された動画コンテンツを保持する場合、前記ビデオメモリ内の前記アドレスへのアクセスを阻止する段階と
    をさらに実行させる、請求項8に記載のプログラム。
  10. 前記ビデオメモリ内の前記アドレスへのアクセスが阻止された場合、前記VMに対しDMAの失敗をシグナリングする段階をさらに実行させる、請求項9に記載のプログラム。
  11. 前記動画コンテンツの表示が許可されているか保護ポリシーに基づいて決定する段階をさらに実行させる、請求項8から10のいずれか1項に記載のプログラム。
  12. 前記動画コンテンツが解読された動画コンテンツを有するかどうか決定する段階をさらに実行させる、請求項8から11のいずれか1項に記載のプログラム。
  13. 前記動画コンテンツを復号化し、前記モバイルデバイスによって前記復号化された動画コンテンツを表示する段階をさらに実行させる、請求項8から12のいずれか1項に記載のプログラム。
  14. プロセッサと、
    ディスプレイと、
    ユーザオペレーションシステム(「OS」)およびOSページテーブル、ならびに仮想マシンモニタ(「VMM」)を有する仮想マシン(「VM」)を格納するメモリと
    を備え、
    前記VMおよび前記VMMが前記プロセッサ上で実行され、前記VMが動画コンテンツを表示するようリクエストを受けたとき、
    前記VMは前記プロセッサに、
    前記動画コンテンツを前記VMMに転送する段階
    を実行させ、
    前記VMMは前記プロセッサに、
    前記動画コンテンツを解読し、解読された前記動画コンテンツを生成する段階と、
    レンダリングされる前記解読された動画コンテンツをビデオメモリ内に格納する段階と、
    前記ビデオメモリ内の前記解読された動画コンテンツに対応するポインタの示すアクセス先が、前記解読された動画コンテンツ以外のデータを保持するメモリロケーションとなるよう、前記OSページテーブルを更新する段階と
    を実行させる、モバイルデバイス。
  15. 前記VMMは前記プロセッサに、
    前記VMからのDMA(ダイレクトメモリアクセス)構成コマンドをモニタリングする段階と、
    検知されたDMA構成コマンドが前記解読された動画コンテンツを保持する前記ビデオメモリ内のアドレスを含むかどうか決定する段階と、
    前記アドレスが前記解読された動画コンテンツを保持する場合、前記ビデオメモリ内の前記アドレスへのアクセスを阻止する段階と
    をさらに実行させる、請求項14に記載のモバイルデバイス。
  16. 前記VMMは前記プロセッサに、前記ビデオメモリ内の前記アドレスへのアクセスが阻止された場合、前記VMに対しDMAの失敗をシグナリングする段階をさらに実行させる、請求項15に記載のモバイルデバイス。
  17. 前記VMおよび前記VMMの少なくともいずれかが前記プロセッサに、前記解読されたコンテンツの表示が許可されているか保護ポリシーに基づいて決定する段階をさらに実行させる、請求項14から16のいずれか1項に記載のモバイルデバイス。
  18. 前記VMが前記プロセッサに、前記動画コンテンツが解読された動画コンテンツを有するかどうか決定する段階をさらに実行させる、請求項14から17のいずれか1項に記載のモバイルデバイス。
  19. 前記VMおよび前記VMMの少なくともいずれかが前記プロセッサに、
    前記動画コンテンツを復号化する段階と、
    前記ディスプレイに前記復号化された動画コンテンツを表示する段階と
    をさらに実行させる、請求項14から18のいずれか1項に記載のモバイルデバイス。
  20. 前記VMがDRMフロントエンドを含み、前記VMMが動画保護モジュールおよびDRMモジュールを含む、請求項14から19のいずれか1項に記載のモバイルデバイス。
  21. 前記モバイルデバイスが、モバイルインターネットデバイス、スマートフォン、携帯メディアプレーヤ、パーソナルデジタルアシスタント、携帯型ゲーム機、ウルトラモバイルPC、ネットブック、およびノートブックコンピュータからなる群より選択される、請求項1から7のいずれか1項に記載の方法。
  22. 前記モバイルデバイスが、モバイルインターネットデバイス、スマートフォン、携帯メディアプレーヤ、パーソナルデジタルアシスタント、携帯型ゲーム機、ウルトラモバイルPC、ネットブック、およびノートブックコンピュータからなる群より選択される、請求項8から13のいずれか1項に記載のプログラム。
  23. 前記モバイルデバイスが、モバイルインターネットデバイス、スマートフォン、携帯メディアプレーヤ、パーソナルデジタルアシスタント、携帯型ゲーム機、ウルトラモバイルPC、ネットブック、およびノートブックコンピュータからなる群より選択される、請求項14から20のいずれか1項に記載のモバイルデバイス。
JP2013514421A 2010-06-28 2011-06-27 仮想化を用いた動画コンテンツの保護 Expired - Fee Related JP5572834B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/825,267 2010-06-28
US12/825,267 US8442224B2 (en) 2010-06-28 2010-06-28 Protecting video content using virtualization
PCT/US2011/042013 WO2012006015A2 (en) 2010-06-28 2011-06-27 Protecting video content using virtualization

Publications (2)

Publication Number Publication Date
JP2013534001A JP2013534001A (ja) 2013-08-29
JP5572834B2 true JP5572834B2 (ja) 2014-08-20

Family

ID=45352576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013514421A Expired - Fee Related JP5572834B2 (ja) 2010-06-28 2011-06-27 仮想化を用いた動画コンテンツの保護

Country Status (7)

Country Link
US (2) US8442224B2 (ja)
EP (1) EP2585972B1 (ja)
JP (1) JP5572834B2 (ja)
KR (1) KR101483839B1 (ja)
CN (1) CN102918865B (ja)
TW (1) TWI470469B (ja)
WO (1) WO2012006015A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442224B2 (en) * 2010-06-28 2013-05-14 Intel Corporation Protecting video content using virtualization
US8892883B2 (en) * 2011-05-02 2014-11-18 Crytek Ip Holding Llc Render service for remote access to applications
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.
CN103491196B (zh) * 2013-10-09 2017-01-04 百度在线网络技术(北京)有限公司 网页中多媒体地址的获取方法和装置
US20150113594A1 (en) * 2013-10-18 2015-04-23 Vixs Systems, Inc. Processing system with virtual clients and methods for use therewith
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会话管理方法、管理虚拟机和服务器
CN104144327B (zh) * 2014-07-28 2018-11-16 华为数字技术(成都)有限公司 一种监控视频存储方法及装置
WO2016119125A1 (zh) * 2015-01-27 2016-08-04 深圳市大疆创新科技有限公司 文件处理方法及装置
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
CN108769741A (zh) * 2018-06-07 2018-11-06 上海信颐信息技术有限公司 一种防止视频文件非法传播的方法及设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69942712D1 (de) 1998-05-29 2010-10-14 Texas Instruments Inc Sichere Rechnervorrichtung
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7480761B2 (en) 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
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
US7610310B2 (en) 2006-06-30 2009-10-27 Intel Corporation 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
JP2010514028A (ja) * 2006-12-22 2010-04-30 バーチャルロジックス エスエイ 単一データ処理を共有するために複数の実行環境を有効化するシステム
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

Also Published As

Publication number Publication date
US8462945B2 (en) 2013-06-11
EP2585972A4 (en) 2014-01-15
TW201214191A (en) 2012-04-01
CN102918865B (zh) 2015-08-19
CN102918865A (zh) 2013-02-06
US8442224B2 (en) 2013-05-14
EP2585972B1 (en) 2017-10-18
TWI470469B (zh) 2015-01-21
US20120057700A1 (en) 2012-03-08
US20110317831A1 (en) 2011-12-29
WO2012006015A3 (en) 2012-04-12
KR101483839B1 (ko) 2015-01-16
JP2013534001A (ja) 2013-08-29
EP2585972A2 (en) 2013-05-01
KR20130007659A (ko) 2013-01-18
WO2012006015A2 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
JP5572834B2 (ja) 仮想化を用いた動画コンテンツの保護
CN107077428B (zh) 保护应用秘密的方法、电子系统和计算机存储介质
CN107851163B (zh) 用于i/o数据的完整性、防重放和真实性保证的技术
JP2020529681A (ja) セキュアストレージデバイス
US10922402B2 (en) Securing secret data embedded in code against compromised interrupt and exception handlers
JP5345726B2 (ja) ストリーム・ペイロードを保護しながら復号メディア・ストリームにおいてナビゲーション・データへのソフトウェア・アクセスを可能にする方法及び装置
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
JP2018511956A (ja) セキュアエンクレーブを用いてデータ暗号化を強化するための技術
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
CN110874468A (zh) 应用程序安全保护方法以及相关设备
AU2020287873B2 (en) Systems and methods for processor virtualization
EP3178032B1 (en) Embedding secret data in code
US11829454B2 (en) Method and apparatus for preventing and investigating software piracy
US9398019B2 (en) Verifying caller authorization using secret data embedded in code
US20240045933A1 (en) Method and apparatus for preventing and investigating software piracy

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140605

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140606

R150 Certificate of patent or registration of utility model

Ref document number: 5572834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees