JP2015508527A - 安全なダイレクトメモリアクセス - Google Patents

安全なダイレクトメモリアクセス Download PDF

Info

Publication number
JP2015508527A
JP2015508527A JP2014548764A JP2014548764A JP2015508527A JP 2015508527 A JP2015508527 A JP 2015508527A JP 2014548764 A JP2014548764 A JP 2014548764A JP 2014548764 A JP2014548764 A JP 2014548764A JP 2015508527 A JP2015508527 A JP 2015508527A
Authority
JP
Japan
Prior art keywords
destination
dma
address
memory
addresses
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
JP2014548764A
Other languages
English (en)
Other versions
JP5908991B2 (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 JP2015508527A publication Critical patent/JP2015508527A/ja
Application granted granted Critical
Publication of JP5908991B2 publication Critical patent/JP5908991B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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]
    • 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
    • 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
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/0013Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers wherein the measure concerns not the entire record carrier, but a specific physical or logical area of one or more record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

ダイレクトメモリアクセス(DMA)動作の開始に応答して安全な宛先アドレス範囲を確立するための例が開示される。この例はまた、ソースメモリから暗号化されたコンテンツとして取得される復号化されたコンテンツが、この宛先メモリに関する宛先メモリアドレスが安全な宛先アドレス範囲内であるかどうかに基づいて、宛先メモリに置かれることを許可することも含む。【選択図】図1

Description

著作権保護され得るストリーミング映像または音声コンテンツの閲覧および/または傾聴のために演算デバイスの使用が増え続けている。また、解像度の増えた映像/音声コンテンツがストリーミングされるにつれ、演算デバイスは保護されたコンテンツを一時的に記憶する必要があり得る。著作権保護されたコンテンツの所有者は、演算デバイスにストリーミングされたときに、そのコンテンツが著作権侵害されないこと、あるいは自由に複製されないことを確保するために、演算デバイスに要件を置き得る。これらの要件は、保護された再生を実行するように演算デバイスを構成することを含み得る。典型的に、保護された再生は、保護されたコンテンツの復号化と、復号化されたコンテンツを安全なメモリに置いて、演算デバイスのユーザに最終的に出力することを含む。しかしながら、安全なメモリ内にある間、復号化されたコンテンツは、演算デバイスのためのホストアプリケーション(例えば、オペレーティングシステム)にとってアクセス可能ではない。
演算プラットフォーム例を示す。
宛先マネージャの構成例のブロック図を示す。
安全なDMA動作の処理略図例を示す。
別の安全なDMA動作の処理略図例を示す。
安全なDMA動作の動作例の流れ図を示す。
システム例を示す。
本開示において企図されているように、保護された再生は、保護されたコンテンツの復号化と復号化されたコンテンツを安全なメモリへ置くことを含む。いくつかの例では、安全な処理装置(SEP)サブシステムは、安全なダイレクトメモリアクセス(DMA)動作を提供し得る。安全なDMA動作は、「隠れたDMA動作」と称され得る。現在の隠れたDMA動作は、ソースメモリから暗号化されたコンテンツを取得すること、および復号化されたコンテンツを安全な宛先メモリ内へ置くことを含む。これらの現在の隠れたDMA動作については、演算デバイスのためのホストまたはオペレーティングシステムは、復号化されたコンテンツがどの宛先アドレスに置かれるかに関しての制御を典型的に有する。しかしホストまたはオペレーティングシステムは、悪意のあるアプリケーションまたは符号によってハイジャックされ得る。このように、悪意のあるアプリケーションは、オペレーティングシステムをハイジャックし、復号化されたコンテンツを安全でない宛先メモリのための宛先アドレスへ方向転換し得る。悪意のあるアプリケーションまたは可能性としていずれのアプリケーションも、次いで、復号化されたコンテンツを自由に複製し得る。
いくつかの例では、安全なDMA動作のための技法が実装される。これらの例として、DMA動作の開始に応答して、安全な宛先アドレス範囲が確立され得る。DMA動作は、ソースメモリにおいて維持される暗号化されたコンテンツを取得することと、その暗号化されたコンテンツを復号化することと、その復号化されたコンテンツを安全な宛先メモリに置くこととを含み得る。安全な宛先アドレス範囲が確立されると、宛先DMAテーブルが受け取られ得るが、これは安全な宛先メモリと関連する1または複数の宛先アドレスを含むものである。復号化されたコンテンツが安全な宛先メモリに置かれることを許容することは、安全な宛先アドレス範囲内にある1または複数の宛先アドレスに基づき得る。
図1は演算プラットフォーム100の例を示す。図1に示されるように、演算プラットフォーム100は安全な処理(SEP)サブシステム110、オペレーティングシステム120、共有メモリ130、ソースメモリ140、安全な宛先メモリ150、映像/音声サブシステム160、中央処理装置(CPU)170、通信(コム)180、およびアプリケーション190を含む。また、図1に示されるように、いくつかのインターフェースが、演算プラットフォーム100の要素を相互接続および/または通信可能に連結し得る。例えば、ユーザインターフェース115およびインターフェース125は、ユーザ(不図示)および/またはアプリケーション190がオペレーティングシステム120に連結することを許可し得る。また、インターフェース135は、オペレーティングシステム120が、SEPサブシステム110、共有メモリ130、ソースメモリ140、安全な宛先メモリ150、映像/音声サブシステム160、またはコム180等の、演算プラットフォーム100の要素への、少なくとも限定されたアクセスを有することを許可し得る。インターフェース154は、演算プラットフォーム100のハードウェアおよび/またはファームウェア要素が、例えばシステムバスまたは他のタイプの内部通信チャネルを介して、通信可能に互いに連結することを許可し得る。
いくつかの例では、図1に示されるように、SEPサブシステム110は、宛先マネージャ112、隠れたDMAモジュール114、および安全なプロセッサ116を含み得る。宛先マネージャ112、隠れたDMAモジュール114、および安全なプロセッサ116は、隠れたDMA動作を実施するように構成された論理および/または特徴を含み得る。隠れたDMA動作は、ソースメモリ(例えば、ソースメモリ140)において維持される暗号化されたコンテンツを取得することと、暗号化されたコンテンツを復号化することと、復号化されたコンテンツを安全な宛先メモリ(例えば、安全な宛先メモリ150)に置くこととを含み得る。
いくつかの例によれば、オペレーティングシステム120は、SEPサブシステム110と協働して、アプリケーション190が要請した可能性のあるコンテンツの保護された再生を許可し得る。これらの例として、アプリケーション190のユーザは、演算プラットフォーム100に添付または連結された表示装置上で、ストリーミング映像を見る(例えば、ネットワーク資源または媒体サーバーを介して)ことを希望し得る。オペレーティングシステム120は、例えば、アプリケーション190がコム180を活用して、保護されたコンテンツをソースメモリ140に流すことを許可し得る。さらに以下に記述されるが、オペレーティングシステム120および/またはアプリケーション190は、暗号化されたコンテンツストリームの保護された再生を許可するために、SEPサブシステム110の要素によって実装される隠れたDMA動作を開始し得る。
いくつかの例によれば、共有メモリ130は、演算プラットフォーム100のさまざまな要素(例えば、オペレーティングシステム120、SEPサブシステム110、アプリケーション190等)によって活用される多種多様なメモリ媒体を含み得る。これらの実装に関しては、共有メモリ130は、1または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、ランダム・アクセス・メモリ(RAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、またはスタティックRAM(SRAM)を含み得るが、これらに限定されない。
いくつかの例では、ソースメモリ140および安全な宛先メモリ150は、1または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、RAM、ROM、または他のスタティックもしくはダイナミック記憶媒体を含むが、これらに限定されない、多種多様なメモリ媒体も含み得る。
いくつかの例によれば、映像/音声サブシステム160は、演算プラットフォーム100を含む演算デバイスのユーザに映像/音声出力を提供するための、演算プラットフォーム100の要素を含み得る。これらの要素は、音声/映像コントローラ、グラフィックプロセッサ等を含み得る。いくつかの例では、映像/音声サブシステム160は、安全な宛先メモリ150に関連する1または複数のメモリアドレスから映像/音声コンテンツを取得するように、オペレーティングシステム120によって指示され得る。
いくつかの例によれば、CPU170は、演算プラットフォーム100のための中央処理装置として実装され得る。CPU170は、1または複数のプロセッサコアを有する、あるいは任意の数のプロセッサコアを有する任意の数のプロセッサを有する、1または複数の処理ユニットを含み得る。CPU170は、例えば、マルチ処理ユニット、縮小命令セットコンピュータ(RISC)、パイプラインを有するプロセッサ、複合命令セットコンピュータ(CISC)、デジタル信号プロセッサ(DSP)等の、任意のタイプの処理ユニットを含み得る。
いくつかの例では、コム180は、演算プラットフォーム100が演算プラットフォーム100に対して遠方にある要素と外部的に通信を行うこと(例えば、ストリーミング保護されたコンテンツを要請および受信すること)を可能とする論理および/または特徴を含み得る。これらの論理および/または特徴は、その1または複数の有線または無線ネットワークを介して、有線および/または無線通信チャネルを介して通信することを含み得る。そのようなネットワークを通じて通信を行うに際し、コム180は、任意のバージョンの1または複数の適用可能な通信またはネットワーク標準に従って動作し得る。
前述のように、インターフェース154は、演算プラットフォーム100のハードウェアおよび/またはファームウェア要素が通信可能に互いに連結することを許可し得る。いくつかの例によれば、通信チャネルインターフェース154は、1または複数のプロトコルまたは標準に従って動作し得る。これらのプロトコルまたは標準は、1または複数の業界標準(後代および異形を含む)において記述され得、例えば、アイ・スクウェア・シー(IC)仕様、システム・マネージメント・バス(SMBus)仕様、アクセラレーテッド・グラフィックス・ポート(AGP)仕様、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIエクスプレス)仕様、ユニバーサル・シリアル・バス(USB)仕様、またはシリアル・アドバンスド・テクノロジー・アタッチメント(SATA)仕様に関連するものである。しかしながら、本開示は前述の標準および関連プロトコルのみに限定されない。
いくつかの例では、演算プラットフォーム100は、少なくとも演算デバイスの一部であり得る。演算デバイスの例としては、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトラ・ラップトップ・コンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDA組合せ、テレビ、高機能デバイス(例えば、スマートフォン、高機能タブレット、または高機能テレビ)、モバイル・インターネット・デバイス(MID)、メッセージングデバイス、データ通信デバイス等が挙げられ得る。
図2は、宛先マネージャ112に関する体系例のブロック図を示す。図1において演算プラットフォーム100について上述されたように、SEPサブシステム110は、宛先マネージャ112を含み得る。いくつかの例では、宛先マネージャ112は、安全なDMA動作を容易化するために構成または準備された、特徴および/または論理を含む。
図2の宛先マネージャ112の例としては、宛先論理210、制御論理220、メモリ230、および入力/出力(I/O)インターフェース240が挙げられる。図2において示されるように、宛先論理210は制御論理220、メモリ230、およびI/Oインターフェース240と連結され得る。宛先論理210は、1または複数の開始特徴211、範囲特徴213、設定特徴215、検証特徴217、もしくは表示特徴219、またはそれらの任意の妥当な組合せを含み得る。
いくつかの例では、図2に描写される要素は、本開示において記述されるように、宛先マネージャ112を支持または可能化するように構成される。所与の宛先マネージャ112は、図2に描写されるいくつかの、すべての、またはそれより多くの要素を含み得る。例えば、宛先論理210および制御論理220は、宛先マネージャ112の特徴を実装するために、多種多様な論理デバイスまたは実行可能コンテンツを別々にまたは集合的に代表し得る。論理デバイスの例としては、1または複数のマイクロプロセッサ、マイクロコントローラ、プロセッサ回路、安全なプロセッサ、フィールドプログラム式ゲートアレイ(FPGA)、アプリケーション固有集積回路(ASIC)、隠退したスレッドもしくはマルチコア/マルチスレッドマイクロプロセッサのコア、またはそれらの組合せが挙げられ得る。
いくつかの例では、図2に示されるように、宛先論理210は、開始特徴211、範囲特徴213、設定特徴215、検証特徴217、または表示特徴219を含む。宛先論理210は、動作を実施するために1または複数のこれらの特徴を使用するように構成され得る。例えば、開始特徴211は、隠れたDMA動作を始めるために、オペレーティングシステムまたはアプリケーションによる要請の開始に応答し得る。範囲特徴213は、安全な宛先メモリ内への復号化されたコンテンツを置くための安全な宛先アドレス範囲を確立し得る。設定特徴215は、ソースメモリから安全な宛先メモリへの保護されたコンテンツの移動を支援するために、隠れたDMAモジュールにおいてソースおよび宛先レジスタを設定し得る。検証特徴217は、安全な宛先メモリと関連する宛先アドレスが安全な宛先アドレス範囲内にあるかどうかを判定し得る。表示特徴219は、隠れたDMA動作が、安全な宛先アドレスの範囲外にある1または複数の宛先アドレスの理由により停止された場合は、誤った指示をオペレーティングシステムまたはアプリケーションに送り得る。
いくつかの例では、制御論理220は、宛先マネージャ112の全体的動作を制御するように構成され得る。前述のように、制御論理220は、任意の多種多様な論理デバイスまたは実行可能コンテンツを代表し得る。いくつかの例として、制御論理220は、宛先マネージャ112の制御を実装するために、実行可能コンテンツまたは命令と一体で動作するように構成され得る。いくつかの代替例では、制御論理220の特徴および機能性は、宛先論理210内で実装され得る。
いくつかの例によれば、メモリ230は、制御論理220および/または宛先論理210による使用のために実行可能コンテンツまたは命令を記憶するように準備され得る。実行可能コンテンツまたは命令は、宛先マネージャ112の特徴または要素を実装または活動化するために使用され得る。以下にさらに記述されるが、メモリ230はまた、安全な宛先アドレス範囲を確立すること、ならびに隠れたDMAモジュール114等のDMAモジュールにおいてソースおよび宛先レジスタを設定することに関連する情報を少なくとも一時的に維持するようにも準備され得る。メモリ230はまた、安全な宛先メモリと関連する宛先アドレスを検証することに関連する情報を一時的に記憶するようにも準備され得る。
メモリ230は、1または複数の揮発性メモリ、非揮発性メモリ、フラッシュメモリ、プログラム式変数または状態、RAM、ROM、または他のスタティックもしくはダイナミック記憶媒体を含むが、これらに限定されない、多種多様なメモリ媒体を含み得る。
いくつかの例では、I/Oインターフェース240は、ローカル通信媒体、または図1に描かれる宛先マネージャ112と演算プラットフォーム100の要素との間のリンクを介して、インターフェースを提供し得る。I/Oインターフェース240は、ローカル通信媒体またはリンク(例えば、IC、SMBus、AGP、PCIエクスプレス、USB、SATA、等)を介して通信するために、さまざまな通信プロトコルに従って動作するインターフェースを含み得る。
図3は、安全なDMA動作の処理例300を示す。いくつかの例では、図1に示される、または図2に記述される宛先マネージャ112は、処理300を容易化するために論理および/または特徴を含み得る。また、図1に示される、隠れたDMAモジュール114、安全なプロセッサ116、オペレーティングシステム120、共有メモリ130、ソースメモリ140、安全な宛先メモリ150、またはアプリケーション190もまた、処理300の少なくともいくつかの動作を実装するように構成され得る。これらの例は、処理300を実装するために前述の要素だけには限定されない。
処理例3.1(分散/収集リスト)から開始し、オペレーティングシステム120および/またはアプリケーション190は、分散/収集リストを生成または構築するように構成され得る。いくつかの例では、分散/収集リストはそれぞれ暗号化されたおよび復号化されたコンテンツに関してソースおよび宛先アドレスを表示し得る。これらの例として、アプリケーション190のユーザは、演算プラットフォーム100に連結された表示装置上でストリーミング映像を見ることを希望し得る。オペレーティングシステム120は、例えばアプリケーション190が暗号化されたコンテンツをソースメモリ140に向けることを許可し得る。オペレーティングシステム120および/またはアプリケーション190は、次に、ソースメモリ140内にソースアドレスのリストを生成し、暗号化されたコンテンツがどこで維持されているかを表示し得る。オペレーティングシステム120および/またはアプリケーション190は、安全な宛先メモリ150に関連する宛先アドレスのリストを生成し、復号化されたコンテンツがどこに置かれるかも表示し得る。ソースまたは宛先リストは、分散/収集リストとも呼ばれ得、暗号化された/復号化されたコンテンツがソースメモリ140および/または安全な宛先メモリ150の非隣接部分から取得し得る可能性を反映する。また、これらの例として、オペレーティングシステム120および/またはアプリケーション190は、分散/収集リストを共有メモリ130内に少なくとも一時的に置き得る。
処理例3.2(隠れたDMA動作の開始)へと続き、オペレーティングシステム120および/またはアプリケーション190は、隠れたDMA動作を開始し得る。いくつかの例では、SEPサブシステム110における宛先マネージャ112は、隠れたDMA動作を始めるために、開始(例えば、開始特徴211を介して)に応答するために論理および/または特徴を含み得る。これらの例として、共有メモリ130内の分散/収集リストの存在は、オペレーティングシステム120および/またはアプリケーション190の隠れたDMA動作を開始する意図を表示し得る。
処理例3.3(正当な宛先範囲レジスタを設定)へと続き、宛先マネージャ112は隠れたDMA動作の開始に応答して、隠れたDMAモジュール114(例えば、範囲特徴213を介して)において維持される正当な宛先範囲レジスタを設定するために論理および/または特徴を含み得る。いくつかの例では、隠れたDMAモジュール114において維持される正当な宛先範囲レジスタは、復号化されたコンテンツが安全な宛先メモリ150に置かれ得る、安全な宛先アドレス範囲を確立するように設定され得る。これらの例に関し、宛先マネージャ112は隠れたDMAモジュール114において維持される、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾レジスタを設定し得る。例えば、それらのレジスタによって表示される先頭アドレスと終端アドレスとにある、またはその間にある、宛先アドレスは、安全な宛先アドレス範囲内であり、「正当な宛先アドレス」として見なされ得る。
処理例3.4(設定ソースおよび宛先レジスタの設定)へと続き、宛先マネージャ112は、共有メモリ130から分散/収集リストを受け取るため、ならびに分散/収集リストに基づいて隠れたDMAモジュール114において維持されるソースおよび宛先アドレスレジスタを設定する(例えば、設定特徴215を介して)ことを始めるために、論理および/または特徴を含み得る。いくつかの例では、前述のように、分散/収集リストはソースメモリ140において維持される暗号化されたコンテンツに関連するソースアドレスを含み、また復号化されたコンテンツを安全な宛先メモリ150に置くための宛先アドレスも含む。
処理例3.5(検証)へと続き、隠れたDMAモジュール114は、分散/収集リスト内に含まれる宛先アドレスを自動的に検証するように構成される。いくつかの例では、隠れたDMAモジュール114は、宛先マネージャ112が各宛先アドレスレジスタの設定を試みると、個々の宛先アドレスを別個に検証し得る。例えば、隠れたDMAモジュール114は、各宛先アドレスが安全な宛先アドレス範囲内であるかどうかを自動的に確認するように構成され得る。
処理例3.6(不当な宛先アドレスの場合はエラーを表示)へと移動し、隠れたDMAモジュール114は、所与の宛先アドレスは安全な宛先アドレス範囲内ではないことを判定するために構成され得る。いくつかの例では、隠れたDMAモジュール114は、所与の宛先アドレスが不当であると判定し得、そして隠れたDMAモジュール114は、レジスタ設定処理を停止し、エラー信号を宛先マネージャ112へ送り得る。
処理例3.7(エラー/検証されない場合は隠れたDMA動作を停止)へと続き、宛先マネージャ112は、隠れたDMA動作を停止させる(例えば検証特徴217を介して)ように構成される論理および/または特徴を含み得る。いくつかの例では、隠れたDMA動作の停止時に、宛先マネージャ112は、オペレーティングシステム120および/またはアプリケーション190にエラーメッセージまたは表示を送り得る。これらの例として、エラーメッセージは、不当な宛先アドレスが分散/収集リスト内に含まれたことを表示し得る。
処理例3.8(すべての宛先アドレスが検証された場合、隠れたDMA動作を完了させる)へと移動し、隠れたDMAモジュール114は、次に、前述のように設定されたソースアドレスレジスタに基づき、ソースメモリ140から暗号化されたコンテンツの移動を始め得る。いくつかの例では、ソースメモリ140から取得された暗号化されたコンテンツは、安全なプロセッサ116によって復号化され得、次に、やはり前述のように設定され、検証された宛先アドレスレジスタに基づき、隠れたDMAモジュール114によって安全な宛先メモリ150内へ置かれる。
処理例3.9(正当な宛先範囲レジスタを消去)へと続き、宛先マネージャ112は、前述のように、隠れたDMAモジュール114において設定された正当な宛先範囲レジスタを消去し得る。いくつかの例では、正当な宛先範囲レジスタは、隠れたDMA動作の完了に基づいて消去され得る。いくつかの他の例では、正当な宛先範囲レジスタは、エラーメッセージ(例えば、不当な宛先アドレス)に続いて、オペレーティングシステム120および/またはアプリケーション190が隠れたDMA動作を行う努力を断念した場合は、やはり消去され得る。これらの例として、宛先マネージャ112は、新規または修正済み分散/収集リストが時間の所与の期間(例えば、数秒または数分)内に生成されない場合には、オペレーティングシステム120および/またはアプリケーション190は、隠れたDMA動作を行う努力を断念したと想定し得る。
処理例3.10(隠れたDMA動作の成功)へと移動し、宛先マネージャ112は、隠れたDMA動作の成功を表示するために(例えば、表示特徴219を介して)論理および/または特徴を含み得る。いくつかの例では、隠れたDMA動作の成功は、分散/収集リスト内に表示されたソース/宛先アドレスに従い、ソースメモリ140と安全な宛先メモリ150との間の保護されたコンテンツの移動を含み得る。これらの例として、すべての宛先アドレスは、安全な宛先アドレス範囲内であることが判定され、したがって、復号化されたコンテンツが安全な宛先メモリ150内に置かれる前に検証された。
図4は、別の安全なDMA動作の処理例400を示す。いくつかの例では、図1に示される、または図2に記述されるように、宛先マネージャ112は処理400を容易化すために論理および/または特徴を含み得る。また、隠れたDMAモジュール114、安全なプロセッサ116、オペレーティングシステム120、共有メモリ130、ソースメモリ140、図1に示される安全な宛先メモリ150またはアプリケーション190は、処理400の少なくともいくつかの動作を実装するようにも構成され得る。各例は、処理400を実装するための前述の要素にのみは限定されない。
処理例4.1(ソースDMAテーブル)から始めて、オペレーティングシステム120および/またはアプリケーション190は、ソースDMAテーブルを生成または構築するように構成され得る。いくつかの例では、宛先マネージャ112は、処理300のために前述のように分散/収集リストに含められるソース/宛先アドレスを維持するための十分なメモリ資源を有しないかもしれない。したがってこれらの例として、宛先マネージャ112は、共有メモリ130を活用してソース/宛先アドレスを維持し得る。暗号化されたコンテンツに関する1または複数のソースアドレスを表示するソースDMAテーブルのみが、オペレーティングシステム120および/またはアプリケーション190によって構築され、共有メモリ130内に置かれる。宛先アドレスを保護するために、宛先マネージャ112は、以下に記述するように、宛先DMAテーブルを生成または構築し得る。
処理例4.2(隠れたDMA動作の開始)へと続き、オペレーティングシステム120および/またはアプリケーション190は、隠れたDMA動作を開始し得る。いくつかの例では、SEPサブシステム110における宛先マネージャ112は、隠れたDMA動作を始めるための開始に応答して(例えば、開始特徴211を介して)論理および/または特徴を含み得る。これらの例に関して、共有メモリ130内のソースDMAテーブルの存在は、オペレーティングシステム120および/またはアプリケーション190の隠れたDMA動作の開始意図を表示し得る。
処理例4.3(宛先DMAテーブル/共有メモリフラグ)へと続き、宛先マネージャ112は、宛先DMAテーブルを構築し(例えば、開始特徴211を介して)、宛先DMAテーブルを共有メモリ130の一部分に置くように構成される論理および/または特徴を含み得る。また、宛先マネージャ112は、共有メモリ130の部分にフラグを立て、その部分の隠れたDMA動作との関連を表示し得る。いくつかの例では、共有メモリ130の部分にフラグを立てることは、これらの宛先アドレスがこれから検証されることをも表示し得る。
処理例4.4(正当な宛先範囲の設定)へと続き、宛先マネージャ112は、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定するように(例えば、範囲特徴213を介して)構成される論理および/または特徴を含み得る。いくつかの例では、処理300における場合と異なり、宛先マネージャ112は、安全な宛先アドレス範囲を確立するために隠れたDMAモジュール114においてレジスタを設定しない。その代わり、これらの例として、宛先マネージャ112は、それ自身が正当な宛先先頭および終端アドレス、安全なメモリ(例えば、メモリ230)を維持し得る。
処理例4.5(宛先アドレスを安全なメモリに複製)へと続き、宛先マネージャ112は、共有メモリ130内に維持される宛先DMAテーブルから宛先アドレスを複製し得る。いくつかの例では、1または複数の宛先アドレスが宛先マネージャ112の自身のもの、安全なメモリ(例えば、メモリ230)へ複製され得る。
処理例4.6(検証)へと続き、宛先マネージャ112は、その安全なメモリへ複製される宛先アドレス(例えば、検証特徴217を介して)を検証するための論理および/または特徴を含み得る。前述のように、宛先マネージャ112は、宛先アドレスの検証の必要性を表示するために、共有メモリ130の部分にフラグを立てる。いくつかの例では、フラグは、宛先マネージャ112に対して1または複数の複製された宛先アドレスの検証をチェックするように表示する。これらの例として、宛先マネージャ112は、1または複数の複製された宛先アドレスが安全な宛先アドレス範囲内であるかどうかを確認することによって、正当性を判定し得る。
処理例4.7(宛先アドレスが正当でない場合は、隠れたDMA動作を停止する)へと移動し、宛先マネージャ112は、共有メモリ130から複製された少なくとも1つの宛先アドレスが安全な宛先アドレス範囲内ではない場合には、隠れたDMA動作を停止し得る。いくつかの例では、安全な宛先アドレス範囲内ではない少なくとも1つの宛先アドレスは、不当な宛先アドレスとして帰結し得る。これらの例として、宛先マネージャ112はエラーメッセージをオペレーティングシステム120および/またはアプリケーション190に送り(例えば、表示特徴219を介して)、不当な宛先アドレスを表示する、論理および/または特徴を含み得る。
処理例4.8(隠れたDMAレジスタを設定)へと移動して、宛先マネージャ112は、ソースおよび宛先レジスタを隠れたDMAモジュール114においてプログラムまたは設定し得る。いくつかの例では、宛先マネージャ112は、宛先アドレスの検証に続き、これらのレジスタを設定し得る。これらの例として、ソースレジスタは、共有メモリ130内に維持されるソースDMAテーブルに従って設定され得、宛先レジスタは、共有メモリ130内に維持される宛先アドレスに従って設定され得る。
処理例4.9(隠れたDMA動作の成功)に移動して、宛先マネージャ112は、隠れたDMA動作の成功を表示し得る。いくつかの例では、隠れたDMA動作の成功は、ソースおよび宛先DMAテーブル内に表示されるソース/宛先アドレスに従い、ソースメモリ140と安全な宛先メモリ150との間の保護されたコンテンツの移動を含み得る。これらの例として、すべての宛先アドレスは、安全な宛先アドレス範囲内であると判定され、したがって、復号化されたコンテンツが安全な宛先メモリ150内に置かれる前に検証された。
処理例4.10(共有メモリフラグの除去)へと移動し、宛先マネージャ112は、隠れたDMA動作と部分の関連を表示するフラグを、共有メモリ130の部分から除去し得る。いくつかの例では、フラグの除去は、その後の隠れたDMA動作において、メモリの当該部分が新規ソースまたは宛先DMAテーブルで上書きされ得ることを表示し得る。いくつかの他の例では、エラーメッセージ(例えば、不当な宛先アドレス)に従ってオペレーティングシステム120および/またはアプリケーション190が隠れたDMA動作を行う努力を断念した場合は、共有メモリフラグも消去され得る。これらの例として、宛先マネージャ112は、隠れたDMA動作の再試行に対する要請が時間の所与の期間内に(例えば、数秒または数分)受け取れなかった場合は、オペレーティングシステム120および/またはアプリケーション190は隠れたDMA動作を行う努力を断念したと想定し得る。
図5は、安全なDMA動作の動作例の流れ図を示す。いくつかの例では、図1に示されるように演算プラットフォーム100の要素は、図5に描かれる流れ図に関連する動作例を示すように使用され得る。図1および図2に示されるように、宛先マネージャ112は動作例を示すようにも使用され得る。しかし記述された方法は、演算プラットフォーム100上の実装または宛先マネージャ112には限定されない。
開始からブロック510(隠れたDMA動作の開始)へ移動し、オペレーティングシステム120および/またはアプリケーション190は、処理300または処理400に関して前述されたように、隠れたDMA動作を開始し得る。いくつかの例では、SEPサブシステム110における宛先マネージャ112は、隠れたDMA動作を始めるための開始(例えば、開始特徴211を介して)に応答するために論理および/または特徴を含み得る。
ブロック510からブロック520(安全な宛先アドレス範囲の確立)へと移動し、宛先マネージャ112は、安全な宛先アドレス範囲を確立するように(例えば、範囲特徴213を介して)構成された論理および/または特徴を含み得る。いくつかの例では、宛先マネージャ112は隠れたDMAモジュール114において維持される正当な宛先範囲レジスタの設定によって安全な宛先アドレス範囲を確立し得る。これらの例に関して、処理300と類似して、宛先マネージャ112は、隠れたDMAモジュール114において維持される正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタを設定し得る。他の例では、宛先マネージャ112は範囲レジスタの設定なしで、安全な宛先を確立し得る。これらの例として、処理400と類似して、宛先マネージャ112は正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定し、これらのアドレスを自分自身の、安全なメモリ(例えば、メモリ230)、に維持し得る。
ブロック520からブロック530(宛先DMAテーブルを受け取る)に進み、宛先マネージャ112は、宛先DMAテーブルを受け取るように(例えば、検証特徴217を介して)構成された論理および/または特徴を含み得る。いくつかの例では、宛先マネージャ112はオペレーティングシステム120および/またはアプリケーション190によって生成される分散/収集リストを介して宛先DMAテーブルを受け取り得る。他の例では、宛先DMAテーブルは共有メモリ130のフラグが立てられた部分に維持され得る。これらの他の例として、宛先マネージャ112は、宛先DMAテーブルを生成し、共有メモリのその部分にフラグを立てた可能性がある。宛先DMAテーブルは、次に、共有メモリ130のこのフラグを立てた部分から受け取られ得る。
ブロック530から決定ブロック540(宛先アドレス正当?)へ進み、宛先マネージャ112は受け取ったDMAテーブル(例えば、検証特徴217を介して)に含まれる宛先アドレスを検証するように構成された論理および/または特徴を含み得る。いくつかの例では、宛先マネージャは、正当性を、宛先アドレスが前述のように確立された安全な宛先アドレス範囲内であるかどうかに基づき得る。宛先アドレスが安全な宛先アドレス範囲内ではない場合には、宛先アドレスは不当であると見なされ、処理はブロック550に移動する。さもなければ、処理はブロック570に移動する。
決定ブロック540からブロック550(隠れたDMA動作の停止)に移動し、宛先マネージャ112は、隠れたDMA動作を停止したか、または隠れたDMA動作が停止されたかどうかを判定するように構成された論理および/または特徴を含み得る。いくつかの例では、処理300と類似して、隠れたDMAモジュール114はエラー信号を宛先マネージャ112に送って、1または複数の宛先アドレスが不当であることを表示し得る。これらの例として、宛先マネージャ112は、エラー信号に基づいて隠れたDMA動作が停止されたと判定する。他の例では、処理400と類似して、宛先マネージャ112は、1または複数の宛先アドレスが不当であるというそれ自身の判定に基づき、隠れたDMA動作を停止し得る。
ブロック550からブロック560(誤った指示を送る)に進み、宛先マネージャ112は、誤った指示をオペレーティングシステム120および/またはアプリケーション190へ送るように(例えば、表示特徴219を介して)構成された論理および/または特徴を含み得る。いくつかの例では、宛先マネージャ112は、隠れたDMA動作を再開するためにオペレーティングシステム120および/またはアプリケーション190をある時間の期間待ち、そして、隠れたDMA動作が再開始されていない場合には、正当な宛先範囲レジスタを消去するか、共有メモリフラグを除去し得る。処理は次に終了に至る。
決定ブロック540からブロック570(隠れたDMA動作の継続を許可)へと移動し、宛先マネージャ112は、隠れたDMA動作が継続することを許可するように構成された論理および/または特徴を含み得る。いくつかの例では、隠れたDMAモジュール114はここで適用可能ソースおよび宛先アドレスレジスタセットを有し得る。これらの例として、ソースメモリ140から取得された暗号化されたコンテンツを安全なプロセッサ116によって復号化し、そして、設定ソースおよび宛先アドレスレジスタセットに基づき、隠れたDMAモジュール114によって安全な宛先メモリ150内に置かれ得る。
ブロック570から決定ブロック580(隠れたDMA動作完了?)へと続き、宛先マネージャ112は、ソースメモリ140から取得されたすべての暗号化されたコンテンツが安全なプロセッサ116によって復号化され、隠れたDMAモジュール114によって安全な宛先メモリ150内へその後に置かれたと判定するように構成される論理および/または特徴を含み得る。すべての暗号化されたコンテンツが復号化されなかった場合には、処理は決定ブロック540に戻る。さもなければ、正当な宛先範囲レジスタは消去されるか、または共有メモリフラグが除去され、処理は終了に至る。
図6は、演算デバイスに関するシステム例600の図である。図6はシステム600を示す図であり、さまざまな要素を含み得る。例えば、図6は、システム600はプロセッサ602、チップセット604、入力/出力(I/O)デバイス606、ランダム・アクセス・メモリ(RAM)(ダイナミックRAM(DRAM)等)608、および読み取り専用メモリ(ROM)610、およびさまざまなプラットフォーム構成要素614(例えば、扇風機、直交流送風機、ヒートシンク、DTMシステム、冷却システム、筐体、換気口等)を含み得ることを示す。これらの要素は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せにより実装され得る。実施形態は、しかしながら、これらの要素に限定されない。
図6に示されるように、I/Oデバイス606、RAM608、およびROM610は、チップセット604を介してプロセッサ602と連結される。チップセット604は、バス612によりプロセッサ602と連結され得る。したがって、バス612は多数のラインを含み得る。さまざまな例では、チップセット604はプロセッサ602と一体化、またはそれと共にパッケージ化され得る。他の例が記述され、請求される。
プロセッサ602は1または複数のプロセッサコアを含む中央処理装置であり得、そして任意の数のプロセッサコアを含む任意の数のプロセッサを有し得る。プロセッサ602は、任意のタイプの処理ユニットを含み得、それらは例えば、CPU、マルチ処理ユニット、縮小命令セットコンピュータ(RISC)、パイプラインを有するプロセッサ、複合命令セットコンピュータ(CISC)、デジタル信号プロセッサ(DSP)、等である。
示されてはいないが、システム600はさまざまなインターフェース回路を含み得、それらは、イーサネット(登録商標)インターフェースおよび/または汎用シリアルバス(USB)インターフェース、等である。いくつかの例示的実施形態では、I/Oデバイス606は、データおよびコマンドをシステム600に入力するためのインターフェース回路と接続された1または複数の入力デバイスを含み得る。例えば、入力デバイスは、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、トラックバー、音声認識システム、等を含み得る。同様に、I/Oデバイス606は、情報をオペレータに出力するためのインターフェース回路に接続された1または複数の出力デバイスを含み得る。例えば、出力デバイスは、1または複数の表示装置、印刷機、スピーカ、および/または所望により他の出力デバイスを含み得る。例えば、出力デバイスの1つは表示装置であり得る。表示装置はブラウン管(CRT)、液晶ディスプレー(LCD)、または任意の他のタイプの表示装置であり得る。
システム600はネットワークへの接続を介して、他のデバイスとデータを交換するための有線または無線ネットワークインターフェースをも有し得る。ネットワーク接続は任意のタイプのネットワーク接続であり得、例えば、イーサネット(登録商標)接続、デジタル・サブスクライバ・ライン(DSL)、電話回線、同軸ケーブル、等である。ネットワークは任意のタイプのネットワークであり得、例えば、インターネット、電話ネットワーク、ケーブルネットワーク、無線ネットワーク、パケット交換ネットワーク、回線切替ネットワーク、および/または等である。
さまざまな例は、ハードウェア要素、ソフトウェア要素、または両者の組合せを使用して実装され得る。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタ、等)、集積回路、アプリケーション固有集積回路(ASIC)、プログラム式論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラム式ゲートアレイ(FPGA)、論理ゲート、レジスタ、セミコンダクタデバイス、チップ、マイクロチップ、チップセット、等を含み得る。ソフトウェアの例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せを含み得る。ある例がハードウェア要素および/またはソフトウェア要素を使用して実装されるかどうかの判定は、任意の数の要因により変わり得、これは例えば、望ましい演算レート、パワーレベル、熱耐久性、処理サイクル予算、入力データレート、出力データレート、メモリ資源、データバス速度および他の設計または性能上の制約である。
少なくとも1つの例の1または複数の態様は、機械可読媒体上に記憶される代表的命令によって実装され得、これはプロセッサ内のさまざまな論理を代表し、そして機械によって読み取られたとき、機械に対してここに記述される技法を実施するために論理を組立てるようにさせる。「IPコア」として知られるそのような代表は、有形の機械可読媒体上に記憶され、そしてさまざまな顧客または製造施設へ供給されて、実際に論理またはプロセッサを形成する組立機械にロードされる。
さまざまな例は、ハードウェア要素、ソフトウェア要素、または両者の組合せを使用して実装され得る。いくつかの例では、ハードウェア要素は、デバイス、構成要素、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタ、等)、集積回路、アプリケーション固有集積回路(ASIC)、プログラム式論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラム式ゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、セミコンダクタデバイス、チップ、マイクロチップ、チップセット、等を含み得る。いくつかの例では、ソフトウェア要素は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せを含み得る。ある例が、ハードウェア要素および/またはソフトウェア要素を使用して実装されるかどうかの判定は、任意の数の要因に従って変わり得、例えば、望ましい演算レート、パワーレベル、熱耐久性、処理サイクル予算、入力データレート、出力データレート、メモリ資源、データバス速度、および所与の実装に望まれる他の設計または性能制約である。
いくつかの例は、製造の品物を含み得る。製造の品物は、論理を記憶するための非一時的記憶媒体を含み得る。いくつかの例では、非一時的記憶媒体は、電子データを記憶可能な1または複数のタイプのコンピュータ可読記憶媒体を含み得、これには、揮発性メモリまたは非揮発性メモリ、除去可能または非除去可能メモリ、消去可能または非消去可能メモリ、書き換え可能または非書き換え可能メモリ、等が含まれる。いくつかの例では、論理はさまざまなソフトウェア要素を含み得、例えば、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、符号、または任意のそれらの組合せである。
いくつかの例に従って、製造の品物は、コンピュータまたはシステムによって実行されたとき、コンピュータまたはシステムに対して記述された例に従って方法および/または動作を実施するようにさせる命令を記憶または維持する非一時的記憶媒体を含み得る。この命令は、任意の好適タイプのコードを含み得、例えば、ソースコード、コンパイル済みコード、解釈済コード、実行可能コード、スタティックコード、ダイナミックコード、等である。命令は、コンピュータに対して一定の機能を実施するように命じるための、事前定義コンピュータ言語、方法、または構文に従って実装され得る。命令は、任意の好適なハイレベル、ローレベル、オブジェクト指向、視覚的、コンパイル済み、および/または解釈済プログラミング言語を使用して実装され得る。
いくつかの例は、派生物と共に、表現「1つの例では」または「ある例」を使用して記述され得る。この用語は、例と共に記述された特定の特徴、構造、または特性は少なくとも1つの例に含まれることを意味する。明細書中のさまざまな場所において「1つの例では」という句の出現は、必ずしもすべてが同一例を参照しているのではない。
いくつかの例は、その派生物と共に、「連結され」および「接続され」という表現を使用して記述され得る。これらの用語は、必ずしも互いの同義語として意図されているのではない。例えば、用語「接続され」および/または「連結され」を使用する記述は、2つ以上の要素が互いに直接的な物理的または電気的接触にあることを表示し得る。用語「連結され」は、しかしながら、2つ以上の要素が互いに直接的には接触していないが、しかし依然として協働しているまたは互いに作用していることも意味し得る。
本開示の要約は、37C.F.R.セクション1.72(b)に従って提供されることが強調されており、これは、読者が技術的開示の本質を素早く確かめることを可能とするための要約を要求している。それは請求項の範囲および意味を解釈または限定するために使用されないという理解の下で提示されている。さらに、先行する発明を実施するための形態において、さまざまな特徴が、開示を合理化する目的で1つの例の中にグループ化されていることを見ることができる。開示のこの方法は、請求された例は、各請求項において明示的に列挙されたよりも多くの特徴を必要とするという意図を反映しているものとして解釈されるべきではない。むしろ、以下の請求項が反映するように、発明の主題的事項は単一の開示例の全特徴より少ないところにある。したがって、以下の請求項はここにおいて発明を実施するための形態に組込まれ、各請求項は別の例として独自に立つ。付属請求項において、用語「含んでいる」および「その中で」は、それぞれ用語「備えている」および「その中における」と同等な平易な英語として使用される。さらに、用語「第1の」、「第2の」、「第3の」等は、単に表示として使用され、その目的物に対する数字的要件を課することは意図されていない。
主題は、構造的特徴および/または方法論的活動特有の言語で記述されてきたが、付属請求項において定義された主題は、必ずしも現実の特定の特徴または作用に限定されないことを理解されるべきである。むしろ、前述の特定の特徴および作用は請求項を実装する形式例として開示され得る。
主題は、構造的特徴および/または方法論的活動特有の言語で記述されてきたが、付属請求項において定義された主題は、必ずしも現実の特定の特徴または作用に限定されないことを理解されるべきである。むしろ、前述の特定の特徴および作用は請求項を実装する形式例として開示され得る。
本明細書によれば、以下の各項目に記載の構成もまた開示される。
[項目1]
ホストコンピューティングデバイスにおいて実装される方法であって、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ダイレクトメモリアクセス(DMA)動作(DMA動作)の開始に応答して、安全な宛先アドレス範囲を確立することと、
前記安全な宛先メモリと関連する1または複数の宛先アドレスを受け取ることと、
前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツが置かれることを許可することと、を含む、方法。
[項目2]
正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を、前記DMA動作を実装するDMAモジュールに設定することによって、前記安全な宛先アドレス範囲を確立することを含む、項目1に記載の方法。
[項目3]
前記DMA動作の完了に応答して、前記正当な宛先先頭アドレスレジスタおよび前記正当な宛先末尾アドレスレジスタを再設定することを含む、項目2に記載の方法。
[項目4]
前記1または複数の宛先アドレスを受け取ることは、前記DMA動作を要請するアプリケーションによって生成される分散/収集リストの一部として宛先DMAテーブルを受け取ることを含み、前記分散/収集リストは前記ソースメモリに関連する1または複数のソースアドレスも含む、項目1に記載の方法。
[項目5]
前記分散/収集リストに基づき、前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定することと、前記DMAモジュールが、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させることとを含む、項目4に記載の方法。
[項目6]
前記DMAモジュールが前記少なくとも1つの宛先アドレスが不当な宛先アドレスであることを表示するために、前記DMAモジュールが誤った指示をコントローラに送ることを含む、項目5に記載の方法。
[項目7]
前記DMA動作を実装するDMAモジュールに関するコントローラと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記1または複数の宛先アドレスを受け取ることを含み、前記1または複数の宛先アドレスは前記コントローラによって構築され、前記コントローラは前記メモリの前記部分にフラグを立て、前記部分の前記DMA動作との関連を表示し、前記コントローラは、正当な宛先先頭アドレスを設定し、正当な宛先末尾アドレスを設定して、前記安全な宛先アドレス範囲を確立する、項目1に記載の方法。
[項目8]
前記コントローラが前記メモリから1または複数のソースアドレスを受け取ることを含み、前記1または複数のソースアドレスは前記DMA動作を要請するアプリケーションによって構築され、前記コントローラは前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、前記DMAモジュールにおいて、ソースアドレスおよび宛先アドレスレジスタを設定し、前記コントローラは、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、項目7に記載の方法。
[項目9]
前記安全な宛先範囲外である前記少なくとも1つの宛先アドレスに応答して、前記コントローラが、前記DMA動作を要請する前記アプリケーションに誤った指示を送ることを含む、項目8に記載の方法。
[項目10]
前記コントローラが前記メモリから1または複数のソースアドレスを受け取ることを含み、前記1または複数のソースアドレスは前記DMA動作を要請するアプリケーションによって構築され、前記コントローラは、前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、また前記1または複数の宛先アドレスの中からのすべての前記宛先アドレスが前記安全な宛先アドレス範囲内であるかどうかに基づき、ソースアドレスおよび宛先アドレスレジスタを前記DMAモジュールにおいて設定する、項目7に記載の方法。
[項目11]
プロセッサ回路と、
前記プロセッサ回路に通信可能に連結されるメモリユニットとを備え、前記メモリユニットは、暗号化されたコンテンツをソースメモリから移動させ、前記暗号化されたコンテンツを復号化し、前記復号化されたコンテンツを安全な宛先メモリに置くダイレクトメモリアクセス(DMA)動作(DMA動作)の開始に応答して、安全な宛先アドレス範囲を確立するように、前記プロセッサ回路上で動作可能な宛先マネージャを記憶するように準備され、前記宛先マネージャは、前記安全な宛先メモリに関連する1または複数の宛先アドレスを受け取り、前記復号化されたコンテンツが、前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づいて、前記安全な宛先メモリに置かれることを許可するようにも動作可能である、装置。
[項目12]
前記安全な宛先メモリに置かれた前記復号化されたコンテンツの映像コンテンツ部分を視覚的に再生するための表示装置を備える、項目11に記載の装置。
[項目13]
前記安全な宛先アドレス範囲を確立するために、前記DMA動作を実装するDMAモジュールにおいて、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定する前記宛先マネージャを備える、項目11に記載の装置。
[項目14]
前記DMA動作を要請するアプリケーションによって生成される分散/収集リストとして宛先DMAテーブル内に前記1または複数の宛先アドレスを受け取る前記宛先マネージャを備え、前記分散/収集リストは前記ソースメモリと関連する1または複数のソースアドレスも含む、項目13に記載の装置。
[項目15]
前記分散/収集リストに基づき前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、また前記安全な宛先アドレス範囲の外にある前記1または複数の宛先アドレスの中からの少なくとも1つの宛先アドレスを表示する、前記DMAモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、前記宛先マネージャを備える、項目14に記載の装置。
[項目16]
前記宛先マネージャとオペレーティングシステムとの間で共有されるメモリの一部分から前記1または複数の宛先アドレスを受け取り、また前記1または複数の宛先アドレスを構築し、前記DMA動作との前記部分の関連を表示する前記メモリの前記部分にフラグを立てる、前記宛先マネージャを備える、項目11に記載の装置。
[項目17]
前記安全な宛先アドレス範囲を確立するために、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、項目16に記載の装置。
[項目18]
前記DMA動作を実装するDMAモジュールにおいて維持されるレジスタにおいて、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、項目16に記載の装置。
[項目19]
前記メモリから1または複数のソースアドレスを受け取る前記宛先マネージャを備え、前記1または複数のソースアドレスは、前記DMA動作を要請するアプリケーションによって構築され、前記宛先マネージャは、前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づいて、前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、前記宛先マネージャはまた、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づいて、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、項目17に記載の装置。
[項目20]
不当な宛先アドレスである前記少なくとも1つの宛先アドレスに応答して、前記DMA動作を要請する前記アプリケーションに誤った指示を送る、前記宛先マネージャを備える、項目19に記載の装置。
[項目21]
実行されたときに、ホストコンピューティングデバイスのダイレクトメモリアクセス(DMA)システム(DMAシステム)に、
ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、DMA動作の開始に応答して、安全な宛先アドレス範囲を確立する手順と、
前記安全な宛先メモリと関連する1または複数の宛先アドレスを受け取る手順と、
前記復号化されたコンテンツを、前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づき、前記安全な宛先メモリに置く手順と、を実行させる命令を含む記憶媒体を備える製品。
[項目22]
前記DMAシステムに、
前記DMA動作を実装するDMAモジュールにおける正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定することによって、前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、項目21に記載の製品。
[項目23]
前記DMAシステムに、
前記1または複数の宛先アドレスを、前記DMA動作を要請するアプリケーションによって生成される分散/収集リストの一部としてDMAテーブル内に受け取る手順であって、前記分散/収集リストは前記ソースメモリに関連する1または複数のソースアドレスも含む、手順と、を実行させる前記命令を含む、項目22に記載の製品。
[項目24]
前記DMAシステムに、
前記分散/収集リストに基づき、前記DMAモジュールのソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記1または複数の宛先アドレスのうち前記安全な宛先アドレス範囲外にある少なくとも1つの宛先アドレスを指示する前記DMAモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させる前記命令を含む、項目23に記載の製品。
[項目25]
前記DMAシステムに、
前記DMAシステムと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記1または複数の宛先アドレスを受け取る手順であって、前記1または複数の宛先アドレスは前記DMAシステムによって構築される、手順と、
前記メモリの前記部分にフラグを立てて、前記部分の前記DMA動作との関連を表示する手順と、
を実行させる前記命令を含む、項目21に記載の製品。
[項目26]
前記DMAシステムに、
正当な宛先末尾アドレスを設定することにより前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、項目25に記載の製品。
[項目27]
前記DMAシステムに、
前記DMA動作を要請するアプリケーションによって構築される1または複数のソースアドレスを前記メモリから受け取る手順と、
前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、ソースアドレスおよび宛先アドレスレジスタを設定する手順と、
前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
を実行させる前記命令を含む、項目26に記載の製品。
[項目28]
前記DMAシステムに、
前記少なくとも1つの宛先アドレスが前記安全な宛先範囲外であることに基づき、前記DMA動作を要請する前記アプリケーションに誤った指示を送る手順と、
を実行させる前記命令を含む、項目27に記載の製品。

Claims (28)

  1. ホストコンピューティングデバイスにおいて実装される方法であって、
    ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、ダイレクトメモリアクセス(DMA)動作(DMA動作)の開始に応答して、安全な宛先アドレス範囲を確立することと、
    前記安全な宛先メモリと関連する1または複数の宛先アドレスを受け取ることと、
    前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づき、前記安全な宛先メモリに前記復号化されたコンテンツが置かれることを許可することと、を含む、方法。
  2. 正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を、前記DMA動作を実装するDMAモジュールに設定することによって、前記安全な宛先アドレス範囲を確立することを含む、請求項1に記載の方法。
  3. 前記DMA動作の完了に応答して、前記正当な宛先先頭アドレスレジスタおよび前記正当な宛先末尾アドレスレジスタを再設定することを含む、請求項2に記載の方法。
  4. 前記1または複数の宛先アドレスを受け取ることは、前記DMA動作を要請するアプリケーションによって生成される分散/収集リストの一部として宛先DMAテーブルを受け取ることを含み、前記分散/収集リストは前記ソースメモリに関連する1または複数のソースアドレスも含む、請求項2または3に記載の方法。
  5. 前記分散/収集リストに基づき、前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定することと、前記DMAモジュールが、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させることとを含む、請求項4に記載の方法。
  6. 前記DMAモジュールが前記少なくとも1つの宛先アドレスが不当な宛先アドレスであることを表示するために、前記DMAモジュールが誤った指示をコントローラに送ることを含む、請求項5に記載の方法。
  7. 前記DMA動作を実装するDMAモジュールに関するコントローラと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記1または複数の宛先アドレスを受け取ることを含み、前記1または複数の宛先アドレスは前記コントローラによって構築され、前記コントローラは前記メモリの前記部分にフラグを立て、前記部分の前記DMA動作との関連を表示し、前記コントローラは、正当な宛先先頭アドレスを設定し、正当な宛先末尾アドレスを設定して、前記安全な宛先アドレス範囲を確立する、請求項1に記載の方法。
  8. 前記コントローラが前記メモリから1または複数のソースアドレスを受け取ることを含み、前記1または複数のソースアドレスは前記DMA動作を要請するアプリケーションによって構築され、前記コントローラは前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、前記DMAモジュールにおいて、ソースアドレスおよび宛先アドレスレジスタを設定し、前記コントローラは、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、請求項7に記載の方法。
  9. 前記安全な宛先範囲外である前記少なくとも1つの宛先アドレスに応答して、前記コントローラが、前記DMA動作を要請する前記アプリケーションに誤った指示を送ることを含む、請求項8に記載の方法。
  10. 前記コントローラが前記メモリから1または複数のソースアドレスを受け取ることを含み、前記1または複数のソースアドレスは前記DMA動作を要請するアプリケーションによって構築され、前記コントローラは、前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、また前記1または複数の宛先アドレスの中からのすべての前記宛先アドレスが前記安全な宛先アドレス範囲内であるかどうかに基づき、ソースアドレスおよび宛先アドレスレジスタを前記DMAモジュールにおいて設定する、請求項7から9のいずれか一項に記載の方法。
  11. プロセッサ回路と、
    前記プロセッサ回路に通信可能に連結されるメモリユニットとを備え、前記メモリユニットは、暗号化されたコンテンツをソースメモリから移動させ、前記暗号化されたコンテンツを復号化し、前記復号化されたコンテンツを安全な宛先メモリに置くダイレクトメモリアクセス(DMA)動作(DMA動作)の開始に応答して、安全な宛先アドレス範囲を確立するように、前記プロセッサ回路上で動作可能な宛先マネージャを記憶するように準備され、前記宛先マネージャは、前記安全な宛先メモリに関連する1または複数の宛先アドレスを受け取り、前記復号化されたコンテンツが、前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づいて、前記安全な宛先メモリに置かれることを許可するようにも動作可能である、装置。
  12. 前記安全な宛先メモリに置かれた前記復号化されたコンテンツの映像コンテンツ部分を視覚的に再生するための表示装置を備える、請求項11に記載の装置。
  13. 前記安全な宛先アドレス範囲を確立するために、前記DMA動作を実装するDMAモジュールにおいて、正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定する前記宛先マネージャを備える、請求項11または12に記載の装置。
  14. 前記DMA動作を要請するアプリケーションによって生成される分散/収集リストとして宛先DMAテーブル内に前記1または複数の宛先アドレスを受け取る前記宛先マネージャを備え、前記分散/収集リストは前記ソースメモリと関連する1または複数のソースアドレスも含む、請求項13に記載の装置。
  15. 前記分散/収集リストに基づき前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、また前記安全な宛先アドレス範囲の外にある前記1または複数の宛先アドレスの中からの少なくとも1つの宛先アドレスを表示する、前記DMAモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、前記宛先マネージャを備える、請求項14に記載の装置。
  16. 前記宛先マネージャとオペレーティングシステムとの間で共有されるメモリの一部分から前記1または複数の宛先アドレスを受け取り、また前記1または複数の宛先アドレスを構築し、前記DMA動作との前記部分の関連を表示する前記メモリの前記部分にフラグを立てる、前記宛先マネージャを備える、請求項11から15のいずれか一項に記載の装置。
  17. 前記安全な宛先アドレス範囲を確立するために、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、請求項16に記載の装置。
  18. 前記DMA動作を実装するDMAモジュールにおいて維持されるレジスタにおいて、正当な宛先先頭アドレスおよび正当な宛先末尾アドレスを設定する、前記宛先マネージャを備える、請求項16または17に記載の装置。
  19. 前記メモリから1または複数のソースアドレスを受け取る前記宛先マネージャを備え、前記1または複数のソースアドレスは、前記DMA動作を要請するアプリケーションによって構築され、前記宛先マネージャは、前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づいて、前記DMAモジュールにおいてソースアドレスおよび宛先アドレスレジスタを設定し、前記宛先マネージャはまた、前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づいて、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止させる、請求項18に記載の装置。
  20. 不当な宛先アドレスである前記少なくとも1つの宛先アドレスに応答して、前記DMA動作を要請する前記アプリケーションに誤った指示を送る、前記宛先マネージャを備える、請求項19に記載の装置。
  21. 実行されたときに、ホストコンピューティングデバイスのダイレクトメモリアクセス(DMA)システム(DMAシステム)に、
    ソースメモリから暗号化されたコンテンツを取得することと、前記暗号化されたコンテンツを復号化することと、前記復号化されたコンテンツを安全な宛先メモリに置くこととを含む、DMA動作の開始に応答して、安全な宛先アドレス範囲を確立する手順と、
    前記安全な宛先メモリと関連する1または複数の宛先アドレスを受け取る手順と、
    前記復号化されたコンテンツを、前記安全な宛先アドレス範囲内にある前記1または複数の宛先アドレスに基づき、前記安全な宛先メモリに置く手順と、を実行させる命令を含む記憶媒体を備える製品。
  22. 前記DMAシステムに、
    前記DMA動作を実装するDMAモジュールにおける正当な宛先先頭アドレスレジスタおよび正当な宛先末尾アドレスレジスタの両方を設定することによって、前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、請求項21に記載の製品。
  23. 前記DMAシステムに、
    前記1または複数の宛先アドレスを、前記DMA動作を要請するアプリケーションによって生成される分散/収集リストの一部としてDMAテーブル内に受け取る手順であって、前記分散/収集リストは前記ソースメモリに関連する1または複数のソースアドレスも含む、手順と、を実行させる前記命令を含む、請求項22に記載の製品。
  24. 前記DMAシステムに、
    前記分散/収集リストに基づき、前記DMAモジュールのソースアドレスおよび宛先アドレスレジスタを設定する手順と、
    前記1または複数の宛先アドレスのうち前記安全な宛先アドレス範囲外にある少なくとも1つの宛先アドレスを指示する前記DMAモジュールからの誤った指示に基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
    を実行させる前記命令を含む、請求項23に記載の製品。
  25. 前記DMAシステムに、
    前記DMAシステムと前記ホストコンピューティングデバイスのオペレーティングシステムとの間で共有されるメモリの一部分から、前記1または複数の宛先アドレスを受け取る手順であって、前記1または複数の宛先アドレスは前記DMAシステムによって構築される、手順と、
    前記メモリの前記部分にフラグを立てて、前記部分の前記DMA動作との関連を表示する手順と、
    を実行させる前記命令を含む、請求項21に記載の製品。
  26. 前記DMAシステムに、
    正当な宛先末尾アドレスを設定することにより前記安全な宛先アドレス範囲を確立する手順と、を実行させる前記命令を含む、請求項25に記載の製品。
  27. 前記DMAシステムに、
    前記DMA動作を要請するアプリケーションによって構築される1または複数のソースアドレスを前記メモリから受け取る手順と、
    前記1または複数のソースアドレスおよび前記1または複数の宛先アドレスの両方に基づき、ソースアドレスおよび宛先アドレスレジスタを設定する手順と、
    前記1または複数の宛先アドレスのうちの少なくとも1つの宛先アドレスが前記安全な宛先アドレス範囲外にあることに基づき、前記ソースアドレスおよび宛先アドレスレジスタの前記設定を停止する手順と、
    を実行させる前記命令を含む、請求項26に記載の製品。
  28. 前記DMAシステムに、
    前記少なくとも1つの宛先アドレスが前記安全な宛先範囲外であることに基づき、前記DMA動作を要請する前記アプリケーションに誤った指示を送る手順と、
    を実行させる前記命令を含む、請求項27に記載の製品。
JP2014548764A 2011-12-21 2011-12-21 安全なダイレクトメモリアクセス Active JP5908991B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/066592 WO2013095461A1 (en) 2011-12-21 2011-12-21 Secure direct memory access

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016060767A Division JP6274623B2 (ja) 2016-03-24 2016-03-24 安全なダイレクトメモリアクセス

Publications (2)

Publication Number Publication Date
JP2015508527A true JP2015508527A (ja) 2015-03-19
JP5908991B2 JP5908991B2 (ja) 2016-04-26

Family

ID=48669108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014548764A Active JP5908991B2 (ja) 2011-12-21 2011-12-21 安全なダイレクトメモリアクセス

Country Status (5)

Country Link
US (3) US9311458B2 (ja)
EP (1) EP2795503A4 (ja)
JP (1) JP5908991B2 (ja)
CN (1) CN104040510B (ja)
WO (1) WO2013095461A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047668A (ja) * 2019-09-19 2021-03-25 京セラドキュメントソリューションズ株式会社 画像形成装置、データ通信方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US9846789B2 (en) 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
US9298375B2 (en) * 2013-02-27 2016-03-29 Vmware, Inc. Method and apparatus for returning reads in the presence of partial data unavailability
FR3035528B1 (fr) * 2015-04-22 2017-05-26 Thales Sa Procede de controle systematique des adresses de zones memoire dans le cadre d'un transfert par acces direct
US10552619B2 (en) * 2015-07-20 2020-02-04 Intel Corporation Technologies for secure trusted I/O access control
US9959418B2 (en) * 2015-07-20 2018-05-01 Intel Corporation Supporting configurable security levels for memory address ranges
KR102407917B1 (ko) 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
US10225247B2 (en) 2015-12-14 2019-03-05 Intel Corporation Bidirectional cryptographic IO for data streams
US10241706B2 (en) * 2016-05-20 2019-03-26 Renesas Electronics Corporation Semiconductor device and its memory access control method
US10332302B2 (en) 2017-04-17 2019-06-25 Intel Corporation Scatter gather engine
US10949546B2 (en) * 2017-08-02 2021-03-16 Samsung Electronics Co., Ltd. Security devices, electronic devices and methods of operating electronic devices
FR3077893B1 (fr) * 2018-02-14 2020-09-11 St Microelectronics Rousset Systeme de controle d'acces a une memoire
FR3094507A1 (fr) 2019-03-29 2020-10-02 Stmicroelectronics (Grenoble 2) Sas Accès direct en mémoire
FR3098613A1 (fr) * 2019-07-09 2021-01-15 STMicroelectronics (Grand Ouest) SAS Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant
KR20210018130A (ko) * 2019-08-06 2021-02-17 주식회사 아이씨티케이 홀딩스 프로세서, 프로세서의 동작 방법 및 이를 포함한 전자 장치
WO2021025490A1 (ko) * 2019-08-06 2021-02-11 주식회사 아이씨티케이 홀딩스 프로세서, 프로세서의 동작 방법 및 이를 포함한 전자 장치
CN114385529A (zh) 2020-10-16 2022-04-22 瑞昱半导体股份有限公司 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
CN114385528A (zh) * 2020-10-16 2022-04-22 瑞昱半导体股份有限公司 直接记忆体存取控制器、使用其之电子装置以及操作其的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
JP2003529963A (ja) * 1999-09-02 2003-10-07 クリプターグラフィー リサーチ インコーポレイテッド デジタルコンテンツの著作権侵害を防止するための方法と装置
JP2004523015A (ja) * 2000-06-30 2004-07-29 インテル・コーポレーション 安全なメモリ区分を使用した安全な実行のための方法および装置
JP2004295353A (ja) * 2003-03-26 2004-10-21 Matsushita Electric Ind Co Ltd メモリデバイス
JP2005092344A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体装置
JP2006350782A (ja) * 2005-06-17 2006-12-28 Fujitsu Ltd プロセッサ及びシステム
JP2009080515A (ja) * 2007-09-25 2009-04-16 Panasonic Corp セキュアなロードシーケンスを提供する方法および装置
JP2011048615A (ja) * 2009-08-27 2011-03-10 Renesas Electronics Corp データプロセッサ
US20110078760A1 (en) * 2008-05-13 2011-03-31 Nxp B.V. Secure direct memory access

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP3661235B2 (ja) * 1995-08-28 2005-06-15 株式会社日立製作所 共有メモリシステム、並列型処理装置並びにメモリlsi
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US6105080A (en) * 1997-12-30 2000-08-15 Lsi Logic Corporation Host adapter DMA controller with automated host reply capability
US6629152B2 (en) * 1998-06-29 2003-09-30 International Business Machines Corporation Message passing using shared memory of a computer
US6202106B1 (en) * 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
US6775750B2 (en) * 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
JP3705354B2 (ja) 2001-07-24 2005-10-12 日本電気株式会社 情報処理システムのioアクセス制御方法およびプログラム
US6748499B2 (en) * 2001-11-15 2004-06-08 International Business Machines Corporation Sharing memory tables between host channel adapters
FR2834361B1 (fr) * 2001-12-28 2004-02-27 Bull Sa Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
JP3971941B2 (ja) * 2002-03-05 2007-09-05 三洋電機株式会社 データ記憶装置
US7296154B2 (en) * 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US7478235B2 (en) * 2002-06-28 2009-01-13 Microsoft Corporation Methods and systems for protecting data in USB systems
JP2004078683A (ja) * 2002-08-20 2004-03-11 Toshiba Corp コンピュータシステムおよび共有メモリ制御方法
US20050033979A1 (en) * 2003-08-08 2005-02-10 Hyser Chris D. Method and system for secure direct memory access
US7454787B2 (en) * 2004-01-13 2008-11-18 Hewlett-Packard Development Company, L.P. Secure direct memory access through system controllers and similar hardware devices
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
JP2005309847A (ja) * 2004-04-22 2005-11-04 Sharp Corp データ処理装置
US7484016B2 (en) * 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US7734926B2 (en) * 2004-08-27 2010-06-08 Microsoft Corporation System and method for applying security to memory reads and writes
JP4533713B2 (ja) * 2004-09-30 2010-09-01 株式会社東芝 情報処理装置およびデータ転送制御方法
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
GB2422926B (en) * 2005-02-04 2008-10-01 Advanced Risc Mach Ltd Data processing apparatus and method for controlling access to memory
JP4591163B2 (ja) 2005-04-07 2010-12-01 パナソニック株式会社 バスアクセス制御装置
US7941860B2 (en) * 2005-05-13 2011-05-10 Intel Corporation Apparatus and method for content protection using one-way buffers
US7779254B1 (en) * 2005-12-21 2010-08-17 Rockwell Collins, Inc. Mechanism to enhance and enforce multiple independent levels of security in a microprocessor memory and I/O bus controller
JP4902644B2 (ja) * 2006-04-24 2012-03-21 パナソニック株式会社 データ処理装置、データ処理方法、データ処理プログラム、およびそのデータ処理プログラムを記録した記録媒体、並びに集積回路
US7433977B2 (en) * 2006-11-28 2008-10-07 Telefonaktiebolaget Lm Ericsson (Publ) DMAC to handle transfers of unknown lengths
US7620749B2 (en) 2007-01-10 2009-11-17 International Business Machines Corporation Descriptor prefetch mechanism for high latency and out of order DMA device
US8464069B2 (en) * 2007-02-05 2013-06-11 Freescale Semiconductors, Inc. Secure data access methods and apparatus
US8001390B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
US8200985B2 (en) * 2007-09-20 2012-06-12 Broadcom Corporation Method and system for protecting data
US8478959B1 (en) * 2007-11-13 2013-07-02 Nvidia Corporation Method and system for protecting content in graphics memory
US8127131B2 (en) * 2008-04-10 2012-02-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for efficient security domain translation and data transfer
JP5452988B2 (ja) * 2008-06-17 2014-03-26 パナソニック株式会社 メモリ制御装置、コンテンツ再生装置、制御方法及び記録媒体
CN102257484A (zh) * 2008-12-18 2011-11-23 Nxp股份有限公司 单式存储器结构中安全存储路径的建立
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8621301B2 (en) * 2009-03-04 2013-12-31 Alcatel Lucent Method and apparatus for virtual in-circuit emulation
US8819399B1 (en) * 2009-07-31 2014-08-26 Google Inc. Predicated control flow and store instructions for native code module security
US8561183B2 (en) * 2009-07-31 2013-10-15 Google Inc. Native code module security for arm instruction set architectures
US9087200B2 (en) * 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution
US8706923B2 (en) * 2010-09-14 2014-04-22 Texas Instruments Incorported Methods and systems for direct memory access (DMA) in-flight status
US8631170B2 (en) * 2010-09-16 2014-01-14 Red Hat Israel, Ltd. Memory overcommit by using an emulated IOMMU in a computer system with a host IOMMU
US9003077B2 (en) * 2011-09-30 2015-04-07 Oracle International Corporation Sharing IOMMU mappings across devices in a DMA group
US8615614B2 (en) * 2011-11-30 2013-12-24 Freescale Semiconductor, Inc. Message passing using direct memory access unit in a data processing system
US8844054B2 (en) * 2012-04-06 2014-09-23 Wayne Odom System, method, and device for communicating and storing and delivering data
US8910307B2 (en) * 2012-05-10 2014-12-09 Qualcomm Incorporated Hardware enforced output security settings
US9152577B2 (en) * 2012-08-17 2015-10-06 Broadcom Corporation Security central processing unit management of a transcoder pipeline
US9785576B2 (en) * 2014-03-27 2017-10-10 Intel Corporation Hardware-assisted virtualization for implementing secure video output path
JP6476098B2 (ja) * 2015-09-15 2019-02-27 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
JP2003529963A (ja) * 1999-09-02 2003-10-07 クリプターグラフィー リサーチ インコーポレイテッド デジタルコンテンツの著作権侵害を防止するための方法と装置
JP2004523015A (ja) * 2000-06-30 2004-07-29 インテル・コーポレーション 安全なメモリ区分を使用した安全な実行のための方法および装置
JP2004295353A (ja) * 2003-03-26 2004-10-21 Matsushita Electric Ind Co Ltd メモリデバイス
JP2005092344A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体装置
JP2006350782A (ja) * 2005-06-17 2006-12-28 Fujitsu Ltd プロセッサ及びシステム
JP2009080515A (ja) * 2007-09-25 2009-04-16 Panasonic Corp セキュアなロードシーケンスを提供する方法および装置
US20110078760A1 (en) * 2008-05-13 2011-03-31 Nxp B.V. Secure direct memory access
JP2011048615A (ja) * 2009-08-27 2011-03-10 Renesas Electronics Corp データプロセッサ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047668A (ja) * 2019-09-19 2021-03-25 京セラドキュメントソリューションズ株式会社 画像形成装置、データ通信方法
JP7327029B2 (ja) 2019-09-19 2023-08-16 京セラドキュメントソリューションズ株式会社 画像形成装置、データ通信方法

Also Published As

Publication number Publication date
US20130283391A1 (en) 2013-10-24
CN104040510B (zh) 2017-05-17
EP2795503A4 (en) 2015-08-26
JP5908991B2 (ja) 2016-04-26
US9311458B2 (en) 2016-04-12
US10185680B2 (en) 2019-01-22
US20180101488A1 (en) 2018-04-12
US20170004100A1 (en) 2017-01-05
WO2013095461A1 (en) 2013-06-27
EP2795503A1 (en) 2014-10-29
US9792234B2 (en) 2017-10-17
CN104040510A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
JP5908991B2 (ja) 安全なダイレクトメモリアクセス
JP6871957B2 (ja) エミュレートされたエンドポイントコンフィグレーション
TWI590096B (zh) 來自程序的返回目標限制返回指令、處理器、方法、及系統
US8769295B2 (en) Computing system feature activation mechanism
JP6049702B2 (ja) バッファメモリのアドレス範囲ルールを使用したハードウェアベースのセキュアなデータ処理のための装置および方法
US9811676B1 (en) Systems and methods for securely providing information external to documents
WO2014121713A1 (zh) 一种网址拦截处理的方法、装置和系统
US9104841B2 (en) Methods and systems for executing protected content
JP2014523046A5 (ja)
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
WO2020042769A1 (zh) 图像信息的传输方法、装置、存储介质及电子设备
CN110244963B (zh) 数据更新方法、装置及终端设备
TWI526869B (zh) 用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體
EP3221814B1 (en) Transparent execution of secret content
US20200342110A1 (en) Firmware retrieval and analysis
CN114189553A (zh) 一种流量回放方法、系统及计算设备
JP6274623B2 (ja) 安全なダイレクトメモリアクセス
RU2606877C1 (ru) Система и способ обработки данных в исполняемой на компьютере системе
TWI705345B (zh) 實現數位版權管理的方法、用戶端設備及系統
US11283604B2 (en) Sharing encrypted data with enhanced security by removing unencrypted metadata
WO2019114812A1 (zh) 一种阻止恶意代码编译的方法、存储介质及电子装置
CN107430656B (zh) 用于os级驱动器的系统管理模式信任建立
US10248567B2 (en) Cache coherency for direct memory access operations
WO2023065985A1 (zh) 热水器烟道风险预测方法、装置、计算机设备及介质
US20230237161A1 (en) Detection of and protection against cross-site scripting vulnerabilities in web application code

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151225

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: 20160126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160324

R150 Certificate of patent or registration of utility model

Ref document number: 5908991

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250