JP5579274B2 - プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法 - Google Patents

プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法 Download PDF

Info

Publication number
JP5579274B2
JP5579274B2 JP2012543134A JP2012543134A JP5579274B2 JP 5579274 B2 JP5579274 B2 JP 5579274B2 JP 2012543134 A JP2012543134 A JP 2012543134A JP 2012543134 A JP2012543134 A JP 2012543134A JP 5579274 B2 JP5579274 B2 JP 5579274B2
Authority
JP
Japan
Prior art keywords
file
memory area
storage device
virtual file
host
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
JP2012543134A
Other languages
English (en)
Other versions
JP2013513863A5 (ja
JP2013513863A (ja
Inventor
イュード コーエン
エーヤル イッタ
ローラ グリン
ウリ ペルツ
イリ マオール
ヨナタン ハレビ
アブラハム シュムエル
Original Assignee
サンディスク アイエル リミティド
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 サンディスク アイエル リミティド filed Critical サンディスク アイエル リミティド
Publication of JP2013513863A publication Critical patent/JP2013513863A/ja
Publication of JP2013513863A5 publication Critical patent/JP2013513863A5/ja
Application granted granted Critical
Publication of JP5579274B2 publication Critical patent/JP5579274B2/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
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Description

メモリカードのような記憶装置は、デジタルオーディオ(例:音楽)および/またはビデオ(例:映画)などのコンテンツを記憶するために、しばしば用いられる。コンテンツを不正アクセスから守るために、認証されたホストのみがアクセスできる、記憶装置内のプライベートメモリ領域に、コンテンツを記憶することができる。一般的には、認証のために、ホストは自己の認証情報を記憶装置に示す。ホストが認証されると、記憶装置はホストに対して、プライベートメモリ領域内に記憶されたコンテンツにアクセスすることを許可する。このセキュリティシステムは、認証されていないホストが、プライベートメモリ領域内に記憶されたコンテンツにアクセスすることを防止するが、認証されたホストが、ウイルスや他の悪質なソフトウェアを有している場合には、問題が発生しうる。このような状況において、認証されたホストがプライベートメモリ領域へのアクセスを一たび許可されると、ホスト上の悪質なソフトウェアは、プライベートメモリ領域内に記憶されたデータに対して不正行為を実行するために、そのアクセスを利用することができる。
本発明の形態は特許請求の範囲によって規定されるものであり、このセクションの何れの記載も特許請求の範囲の限定事項と解釈すべきではない。
例として、以下に記載された実施形態は、プライベート領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを使用する、記憶装置および方法に広く関連する。一実施形態では、記憶装置は、パブリックメモリ領域内の仮想ファイルにアクセスするためのリクエストを、ホストから受信する。仮想ファイルは、プライベートメモリ領域内に記憶された複数の保護ファイルに関連している。記憶装置は、プライベートメモリ領域内に記憶された複数の保護ファイルの1つへのアクセスを選択してホストに提供することによって、リクエストに対して応答する。記憶装置は、仮想ファイルへのアクセスのための追加リクエストをホストから受信する。記憶装置は、プライベートメモリ領域内に記憶された複数の保護ファイルの別の1つへのアクセスを選択してホストに提供することによって、追加リクエストに応答する。
他の実施形態も提供される。各実施形態は、単独または組み合わせて一緒に用いることができる。添付した図を参照して、様々な実施形態について説明する。
一実施形態のホストおよび記憶装置のブロック図である。
一実施形態のホストおよび記憶装置のブロック図である。
一実施形態のホストのブロック図である。
一実施形態の記憶装置のブロック図である。
一実施形態のログイン処理のフロー図である。 一実施形態のログイン処理のフロー図である。
一実施形態のログイン後の読み出し処理のフロー図である。 一実施形態のログイン後の読み出し処理のフロー図である。
一実施形態のログインなしの読み出し処理のフロー図である。 一実施形態のログインなしの読み出し処理のフロー図である。
一実施形態の通常ファイルにアクセスするための処理のフロー図である。
範囲外のデータにアクセスするとともに追加データでファイルをパディングするための、一実施形態の処理のフロー図である。 範囲外のデータにアクセスするとともに追加データでファイルをパディングするための、一実施形態の処理のフロー図である。
一実施形態のファイルの実際の長さを判断する処理のフロー図である。 一実施形態のファイルの実際の長さを判断する処理のフロー図である。
暗号化を用いた一実施形態の保護処理のフロー図である。 暗号化を用いた一実施形態の保護処理のフロー図である。
カウンタを用いた一実施形態の保護処理のフロー図である。 カウンタを用いた一実施形態の保護処理のフロー図である。
スライドウインドウを用いた一実施形態の保護処理のフロー図である。 スライドウインドウを用いた一実施形態の保護処理のフロー図である。
データレートコントロールのための一実施形態の処理のフロー図である。 データレートコントロールのための一実施形態の処理のフロー図である。
コンテンツを追加する一実施形態の処理のフロー図である。 コンテンツを追加する一実施形態の処理のフロー図である。
序論
以下の実施形態は、プライベート領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを使用する、記憶装置および方法に広く関連する。これらの実施形態では、パブリックメモリ領域は、プライベートメモリ領域内の複数の保護ファイルへのゲートウェイとしての役割を果たす、仮想ファイルを含んでいる。(例えば、仮想ファイルの論理ブロックアドレスへのアクセスの試行から、)ホストが仮想ファイルにアクセスを試行していることを記憶装置内のコントローラが検出した場合、コントローラは複数の保護ファイルがあれば、何れがホストへ供給されるべきかを判断する。
これらの実施形態に関連する、幾つかの利点が存在する。例えば、(多くの携帯機器および携帯電話で用いられるような)Java(登録商標)および他の定義済みのアプリケーション・プログラミング・インターフェース(APIs)は、ファイルベース・コマンド(file-based commands)のみを許可し、記憶装置を制御してプライベートメモリ領域内の特定の保護ファイルへアクセスするために使用することができるローレベル・コマンド(low-level commands)を使用しない。一部の記憶装置は、プライベートメモリ領域の全体へのホストアクセスを許可することができるため、ホスト上の悪質なソフトウェアがプライベート記憶領域への当該オープンアクセスを利用した場合には、不正なアクションにつながることがある。プライベート記憶領域外への保護ファイルのストリーミングをサポートする独自仕様のAPIが書き込まれることがあるが、比較的少ないモバイル機器がそのようなAPIを許可していた。適切な保護ファイルへのアクセスの選択及びホストへの提供を記憶装置内のコントローラが管理する状態において、Java(登録商標)で用いられるファイルベース・コマンド、および、他の定義済みのAPIsは、仮想ファイルにアクセスするために用いることができるため、プライベートメモリ領域内の保護ファイルに対して、パブリックメモリ領域内の仮想ファイルをゲートウェイとして使用することで、この問題を克服できる。このようにして、これらの実施形態は、保護された方法で記憶装置に対するデータのストリーミング入力及び出力をコントロールすることができる記憶装置を可能としながら、多数のホスト上や異なるオペレーティングシステム上で用いることができる、一般的な解決方法を提供する。
典型的な仮想ファイルの実施形態
図面を参照する。図1は、実施形態の記憶装置100と通信する、ホスト50のブロック図である。ここでは、「通信する」の文言は、本明細書に図示・記述された(または図示・記述されていない)1つ以上の要素と、直接にまたは間接に通信することを意味する。ホスト50は、例えば、専用のコンテンツプレーヤ、携帯電話、パーソナルコンピュータ(PC)、ゲーム機器、パーソナル・デジタル・アシスタント(PDA)、キオスク(a kiosk)、およびテレビシステムなどの好適な形態をとることができるが、これらの形態に限られない。記憶装置100も、例えば、携帯式、かつ着脱式のメモリカード(例:フラッシュ記憶カード)、ユニバーサル・シリアル・バス(USB)デバイス、および半導体ドライブなどの好適な形態をとることができるが、これらの形態に限られない。記憶装置100が取り外し可能にホスト50に接続されることで、ユーザが記憶装置100を様々なホストに使用することができることが好ましい。
図1に示されるように、記憶装置100は、コントローラ110とメモリ120とを備えている。コントローラ110は、何らかの適切な方法によって実装されていてもよい。例えば、コントローラ110は、マイクロプロセッサまたはプロセッサ、および、コンピュータで読み取り可能な媒体の形態をとることができる。コンピュータで読み取り可能な媒体は、例えば、(マイクロ)プロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理制御装置、および埋め込みマイクロコントローラによって実行可能な、コンピュータで読み取り可能なプログラムコード(例:ソフトウェアまたはファームウェア)を記憶している。コントローラの例としては、以下のマイクロコントローラが挙げられるが、これらに限定されない:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicon Labs C8051F320。コントローラで使用することができる多数の要素の例は、以下の実施形態で記述されるとともに、関連する図面に図示される。コントローラ110は、メモリ制御論理の一部として実装することもできる。
また図1に図示されるように、記憶装置100は、何らかの好適な形態をとることができるメモリ120を備えている。一実施形態では、メモリ120は半導体(例:フラッシュ)メモリの形態をとっている。メモリ120は、1回のみプログラム可能、複数回プログラム可能、または多数回プログラム可能、とすることができる。しかしながら、光メモリや磁気メモリなどの、他のメモリ形態を用いることもできる。図1において単一要素として記載されているが、コントローラ110および/またはメモリ120は、幾つかの要素で構成されていても良い。図1では、メモリ120は、パブリックメモリ領域130およびプライベートメモリ領域140を備えている。この実施形態では、パブリックメモリ領域130およびプライベートメモリ領域140は、1つのメモリ装置の異なるパーティションである。しかしながら他の実施形態では、パブリックメモリ領域130およびプライベートメモリ領域140は、異なるメモリ装置である。パブリックメモリ領域130は、制限なく広くアクセス可能である。一方、プライベートメモリ領域140は、認証されたエンティティによってのみアクセス可能とされ、一般にはホストには見えない(例:隠しパーティション)。従って、プライベートメモリ領域140は、認証されたエンティティのみにアクセスされるべき複数のコンテンツファイル(ここでは、ファイル1〜N)を記憶するために、用いられることができる。「コンテンツファイル」は、デジタルビデオ(音声が付随するか否かに関わらない)(例:映画、テレビ番組の一話、ニュースプログラム、など)、オーディオ(例:歌、ポッドキャスト、一つのまたは一連のサウンド、オーディオブック、など)、静止画または動画(例:写真、コンピュータで生成された表示、など)、テキスト(図が付随するか否かに関わらない)(例:記事、テキストファイル、など)、ビデオゲームまたは他のソフトウェア、および、これらの2つ以上の形態が組み合わされたマルチメディアによる態様などの、何らかの好適な形態をとることができる。しかし、これらの形態に限定されない。「コンテンツ、」「コンテンツファイル、」および「ファイル」の文言は、この明細書では区別せずに用いられることがある。プライベートメモリ領域140に記憶されたファイルは、「保護ファイル」と呼ばれることがある。
この実施形態では、パブリックメモリ領域130は仮想ファイル150を収容している。仮想ファイル150は、パブリックメモリ領域130についてのファイル・アロケーション・テーブル(FAT)内に割り当て論理ブロックアドレスとして存在するが、何れのデータも含んでおらず、実際にアクセス可能ではないという意味で、「仮想」である。仮想ファイル150に対して、何れの物理記憶ロケーションもパブリックメモリ領域130内に割り当てられないことがある。(しかしながら、以下に記述するように一部の実施形態では、仮想ファイル150に対して、比較的小さな量の物理記憶ロケーション(例:15MB)が、パブリックメモリ領域130内に割り当てられることがある。)しかしながら仮想ファイル150は、パブリックメモリ領域130内のFATテーブルに仮想ファイル150が割り当てられた論理ブロックアドレスを有するため、仮想ファイル150はホスト50に対して通常ファイルとして現れることができる。
この実施形態では、仮想ファイル150は、プライベートメモリ領域140内の複数の保護ファイル1〜Nに対するゲートウェイとしての機能を果たす。すなわち、(例えば、読み出しコマンドで定められた論理ブロックアドレスから、)仮想ファイル150へのアクセス試行が行われたことをコントローラ110が認識した場合、コントローラ110は、仮想ファイル150自身へのアクセスをホスト50に提供することに代えて、特別な動作を行う。例えば、仮想ファイル150にアクセスするためのリクエストをコントローラ110がホスト50から受信した場合に、コントローラ110は、プライベートメモリ領域140内に記憶された複数の保護ファイル1〜Nのうちの1つを選択することができるとともに、選択された保護ファイルへのアクセスをホスト50に提供することによってリクエストに応答することができる。同一の仮想ファイル150が後にアクセスされた場合、コントローラ110は、複数の保護ファイル1−Nのうちの異なる1つへのアクセスを選択して提供することができる。例えば、仮想ファイル150が「audio.MP3」と名付けられており、プライベートメモリ領域140に記憶された20曲のプレイリストに関連付けられている場合には、ホスト50が「audio.MP3」へのアクセスを要求するたびに、コントローラ110はプレイリスト上の他の曲へのアクセスを選択して提供することができる。
仮想ファイル150に対するホストリクエストをコントローラ110に取り扱わせることができるための、何れの好適な実装態様を用いることができる。例えば、図2の一実施形態では、プライベートメモリ領域140内の保護コンテンツをコントローラ110が取り扱う方法(例:何の保護コンテンツにいつアクセスするか)を決定するルールの集合を、アプリケーション(またはカプレット(caplet)160)が記憶する。当該実施形態では、ハッカーによってルールの集合が改ざんされることを防止するために、カプレット160はプライベートメモリ領域140内に記憶される。コントローラ110は、仮想ファイル150にアクセスするためのホスト50からのリクエストにどのように反応するかを決定するために、カプレット160内のルールの集合を使用する。プライベートメモリ領域140は、複数の保護ファイル1〜Nと仮想ファイル150とを関連付ける、データベース170も記憶している。このようにして、データベース170は、複数の保護ファイル1〜Nのプレイリストとして機能する。一実施形態では、データベース170は、複数の保護ファイル1〜Nとともに記憶装置100に予め組み込まれている。データベース170が暗号化される場合、カプレット160にデータベース170の暗号を解読するためのキーを保持することができる。
作動中、記憶装置100の電源が投入されると、ホスト50による仮想ファイル150へのアクセス試行を制御するために、データベース170に従って、カプレット160はコントローラ110をプログラムする。例えばコントローラ110は、仮想ファイル150にアクセスするリクエストに応答して、データベース170に基づいて、複数の保護ファイル1〜Nのうちの1つへのアクセスを選択して提供することができる。他の例として、コントローラ110は、ホスト50が認証されるか認証されないかを判断することができるとともに、その結果に応じてコンテンツの異なるタイプへのアクセスを提供することができる。記憶装置100が、認証されるかどうか分からない多様なホストで使用することができる携帯メモリカードである場合に、このような形態が好ましい。従って、ホスト50が認証されたプレイヤである場合には、コントローラ110は、保護コンテンツへのアクセスを提供することによって、仮想ファイル150にアクセスするためのホスト50からのリクエストに応答することができる。さもなければコントローラ110は、代替ファイルへのアクセスを提供することによって、ホストリクエストに応答することができる。このように、ルールの集合は、ホスト50上のアプリケーションが認証された場合に、コントローラ110が保護ファイル(例:映画)へのアクセスを提供すべきことを規定することができる。さもなければコントローラ110は、パブリックメモリ領域130またはプライベートメモリ領域140に記憶された、代替ファイル(例:映画についての予告)へのアクセスを提供することができる。このように、仮想ファイル150にアクセスするための類似したホストリクエストは、ホスト50が認証されたエンティティであるか否かに基づいて、コントローラ110によって異なった取り扱いを受けることができる。
(例:ユーザがログインしていない場合、または、ユーザが記憶装置100に認証されていない場合に、記憶装置100が専用のコマーシャル(a dedicated commercial)を返信することができる)。もちろん、これは単なる一例であり、他のルールおよび条件を用いることもできる。例えば、時間、ユーザについての情報、ホストが記憶装置100にログインしているか、およびどのようにログインしているか、または、他の何らかの好適な条件、に基づいて、ファイルの選択を行うことができる。これらの例に見られるように、仮想ファイル150を異なる状況下においては異なるように取り扱うことができる。そして、パブリックメモリ領域130内の1つの仮想ファイル150を、プライベートメモリ領域140内の1つ以上の保護ファイルへのアクセスを提供するために用いることができる。
図2へ戻り、この実施形態において、ホスト50は、ホストアプリケーション60およびメディアプレイヤ(ここでは、Java(登録商標)プレイヤ70)を動作させる。以下に記述するように、ホストアプリケーション60は、Java(登録商標)プレイヤ70を制御するとともに、記憶装置100のコントローラ110へ追加の指令も送信する。上述したように、本実施形態では、(例えば「audio.MP3」という名前の)仮想ファイル150が、プライベートメモリ領域140内に記憶された複数の保護ファイル1〜Nに関連付けられている。ホスト50が「audio.MP3」へのアクセスをリクエストするたびに、コントローラ110は、複数の保護ファイル1〜Nの異なる1つへのアクセスを選択して提供することができる。本実施形態では、仮想ファイル150のサイズは、プライベートメモリ領域140内の最大の保護ファイルのサイズと少なくとも同じである。選択された保護コンテンツが仮想ファイル150のサイズよりも小さい場合には、50内のJava(登録商標)プレイヤ70が誤動作しないように、コントローラ110はコンテンツを有効データでパディングすることができる。例えば、保護ファイルがオーディオファイルである場合には、コントローラ110は、無音のMP3フレームまたは予期されるヘッダ情報などの有効データで、オーディオファイルを急いでパディングすることができる。これは、異なるホスト・キャッシュ・アヘッド機構(host cache-ahead mechanisms)をサポートすることができるように実行される。コントローラ110がパディングされたデータを再生することを防止するために、コントローラ110は、ファイルの実際の再生長さをホスト50へ報知することができる。ホスト50は、パディングされたデータに到達する前に、ファイルの再生を停止することができる。
Java(登録商標)プレイヤ70が、オーディオファイルであるとみなした仮想ファイル150を読み出すために、JSR−135プロトコルを用いてリクエストをコントローラ110へ送信する例を考える。記憶装置100内のコントローラ110は、(例えば、リクエストで特定された論理ブロックアドレスから、)仮想ファイル150にアクセスするために試行が行われたことを検出する。そして、カプレット160内のルールに基づいて、コントローラ110は、Java(登録商標)プレイヤ70に曲Aへのアクセスを選択して提供する。コントローラ110はまた、ホストアプリケーション60に曲Aの実際のサイズを報知する。上述したように、曲Aの実際のサイズは、仮想ファイル150のサイズよりも小さくてもよい。ホストアプリケーション60は再生を監視し、曲Aが完了したときに、データのストリーミングを停止して次の曲へスキップするために、JSR−75プロトコルを用いてコントローラ110へコマンドを送信する。(JSR−135プロトコルは、この種類のコマンドをサポートしていない。)このコマンドに応答して、次の曲(曲B)を指し示すために、コントローラ110はデータベース170をアップデートする。ホストアプリケーション60は、仮想ファイル150へのアクセスを再びリクエストするように、Java(登録商標)プレイヤ70へ指示する。しかしながら今度は、コントローラ110は、Java(登録商標)プレイヤ70へ曲B(曲Aではない)へのアクセスを選択して提供する。上述したプロセスは、Java(登録商標)プレイヤ70が追加の曲の再生をリクエストし続けるように、繰り返される。
これらの実施形態で用いることができる、多くの代替手段が存在する。例えば、一実施形態では、記憶装置100が予め組み込まれた保護ファイルを探してアクセスするためにかかる時間を最小化するために、および、予め組み込まれた保護ファイルの詳細(例:トラック名、アーティスト名、アルバム名、トラック時間、など)を展開するためにかかる時間を最小化するために、記憶装置100は、予め組み込まれた保護ファイルを再生するための「専用のファイルシステム」を使用する。このようにして、コントローラ110のオーバーヘッドに保護ファイルへのゲートウェイ機能の提供が含まれているにもかかわらず、仮想ファイル150にアクセスするための時間は、他の種類のファイルにアクセスするための時間と略同一となるはずである。この専用のファイルシステムを実行するために、連続する論理ブロックアドレス(LBA)順で、プライベートメモリ領域140内に保護ファイルを予め組み込むことができる。続いて、ファイル時間などの他の関連するデータとともに、保護ファイルの各々についての正確な開始LBAを規定するための作業の間に、テーブルを生成することができる。そのようなテーブルを読み出すことは、必要な情報を集めるためにファイルを開くことよりも速いため、この専用のファイルシステムを使用することで、応答時間がより早くなる。
上記の記述から理解されるように、「専用のファイルシステム」は、予め組み込まれた異なるコンテンツを探索してアクセスするために要求される時間を減少させるために使用することができる。これは、独特な方法である、再生に必要なデータのみを保存するための専用の構造(例:テーブル)を規定することによって、実行することができる。このデータは、製品固有の要件に従って、異なる製品の間で変化させることができる(例:トラック名、アーティスト名、アルバム名、トラック時間、など)。このデータ構造は、前に特定された他のデータと一緒の各ファイルに対する正確な開始LBAに位置するデータを格納するテーブルとともに、連続するLBA順で、記憶装置100内の保護された場所に予め組み込むことができる。テーブル内の全ての項目は、テーブル内のエントリーキーを用いて識別することができる特定のファイルを、表すことができる。特定のファイルにアクセスするリクエストによって、テーブル内でファイルが探索され、関連するデータが読み出される。例えば、仮想ファイル150を用いて曲を最初から再生するには、ファイルの開始LBAの情報、曲の実際の時間、および表示されるアルバム名を必要とすることがある。ファイルを取り扱うこのような方法は、FATテーブルを取り扱ってコンテンツを解析するために必要な時間に比して、ファイルの探索および再生のために要求される時間を、著しく減少させることができる。
より速い応答時間を提供するための他の代替手段として、記憶装置100は、「合成コマンド」の使用をサポートすることもできる。合成コマンドは、例えば、仮想ファイルの状態および再生される曲の両方を変更するような、再生システムの異なる側面を制御する2つ以上のコマンドを包含する1つのコマンドである。合成コマンドの使用は、高速な応答時間が要求されるオーディオストリーミングのような環境において、特に望ましい。例えば、合成コマンドは、「チャンネルのスキップ」、および、「2曲先へスキップ」または「曲をスキップして一時停止」を指定することができる。多くの状況において、同時に複数のモード変更を発生させる必要がある場合がある。例えば、「曲の再生、一時停止モードへ移行、その後次の曲へスキップ」のシーケンスは、スキップが起きた後に、次の曲をすぐに開始することを要求することがある。このケースでは、この変更を行うために、バスを介して2つのコマンドが送信されることが必要とされる。他の例では、仮想ファイルの状態および再生される曲の両方を変更するなど、システムの異なる側面が同時に制御されることが必要とされる場合がある。この場合も同様に、本着想は、記憶装置100の状態変化を取り扱うための必要時間、および、コマンドをホスト50から記憶装置100へ送信して返信されるためにかかる時間を、減少させることにある。
他の代替手段では、パブリックメモリ領域130内の実際のメモリを仮想ファイル150に割り当てる代わりに、拡張された記憶領域としてホスト50に対して自身をエミュレートするパブリックメモリ領域130を有することで、メモリ消費を減少させることができる。これにより、記憶装置のプライベートメモリ領域140に対するホストリクエストであるかのように、拡張された(エミュレートされた)記憶領域に対するホストリクエストが、コントローラ110で処理される。その結果、仮想ファイル150は、パブリックメモリ領域130内の実メモリを消費しない。これにより、貴重なメモリを消費することなく、大きなファイル(例:映画)を記憶することが可能となる。例えば、仮想ファイル150が15MBであり、パブリックメモリ領域130が30MBである状況を考える。上述の技術を用いることにより、記憶装置100は、自身が45MBのパブリックメモリ領域130を有していると認識することができる。ここで、30MBは物理アドレスにマッピングされ、15MBはマッピングされない。
上述した例は、記憶装置外への保護ファイルの読み出しに関連するものである。しかし別の実施形態では、ホスト50がコンテンツ追加のために認証された場合には、プライベートメモリ領域140に新しいコンテンツを追加するために、仮想ファイル150が用いられる。例えばユーザが曲を購入する場合、新しいコンテンツを空き領域に追加し、その後、プライベートメモリ領域140に新しい曲データを書き込むために仮想ファイル150を使用するために、ホストアプリケーション70はプライベートメモリ領域140を制御することができる。他の例では、記憶されているコマーシャルを、新しいコマーシャルにアップデートすることができる。これは、仮想ファイル150をこのプライベートファイルにリンクさせ、その後、仮想ファイルに書き込むことでそのコンテンツを変更することで、実現することができる。記憶装置100は書き込みコマンド(write command)を傍受することができ、書き込み処理をプライベートメモリ領域140上の正しい位置へ導くことができる。これにより、アップデートされたコンテンツおよび購入されたコンテンツを保持するように、安全な方法で、プライベートメモリ領域140をアップデートすることができる。
さらに、追加の代替手段は、コピー防止機能に関する。仮想ファイル150はパブリックメモリ領域130内でアクセス可能であるため、任意のホストからの単純なコピーコマンドによって、仮想ファイル150は容易にコピーすることができる。以下の代替手段は、仮想ファイル150のコピー防止に用いることができる。従って、プライベートメモリ領域140内に記憶された保護コンテンツへのアクセスが、コンテンツへのアクセスが許可された認証済みのエンティティのみに与えられることが、保証される。もしくはホスト50は、仮想ファイル150を、パブリックメモリ領域130内の他のアドレスレンジへ単純にコピーすることができ、保護されたコンテンツに自由にアクセスすることができる。
コピー防止機構のある一例では、仮想ファイル150の読み出し処理によって記憶装置100から送出される保護コンテンツを暗号化する、暗号化方式を使用する。ホストアプリケーション60と記憶装置100との間に認証処理が適用されるたびに(例:ログイン中)アップデートされるセッションキー(a session key)用いることで、暗号化を行うことができる。セッションキーは、ホスト50および記憶装置100の両方に知られている。そのため、記憶装置100は、保護コンテンツを暗号化するためにセッションキーを用いることができる。そして、ホスト50は、保護コンテンツを復号化するためにセッションキーを用いることができる。このようなセッションキーの使用方法は、記憶装置100とホストアプリケーション60との間の安全な通信路を形成する。
コピー防止機構の他の例では、ホスト50によって読み出されたセクタをカウントするために、記憶装置100内のカウンタを使用する。カウンタが0に到達すると、記憶装置100はサイレントオーディオのバッファの送信を開始することができる。適切な認証の後、ホスト50は、カウンタを増加させるように、再生時間中に記憶装置100へ指示することができる。カウンタを設定するこの処理は、ファイルの読み出しの間(例:曲の再生の間)に行うことができる。ファイルをコピーする試行が行われた場合、記憶装置100はその試行を検知し、ホスト50へ不正データの返送を開始することができる。ハッカーは、カウンタが増加することなしには曲のある程度(例:5MBの曲のうちの、1MBのオーディオ)しか読み出せないため、曲のコピーが防止される。
コピー防止機構の他の例では、ホスト50から仮想ファイル150への読み出し処理のパターンを検査した後に、記憶装置100によってデータレートコントロール(「DRC」)が実行される。これらの読み出し処理が期待したように発生しない場合(例:高速ファイルアクセスによって、仮想ファイル150のコピーが行われていることを、記憶装置100が検出する場合)には、記憶装置100は不正データを返送することや、読み出し処理を実行させないことができる。このように、記憶装置100は、記憶装置100から読み出される保護ファイルに、データレートコントロールを実行することができる。記憶装置100への適正な認証があった後に、現在のホスト50の特定の特性を適合させるように、ホスト50は記憶装置DRC機構を構成することができる。
コピー防止方法の一例として、「スライドウインドウ(sliding window)」も使用することができる。この機構では、記憶装置100は、特定のLBA範囲内のみの実データを読み出すことを、ホスト50に許可する。このLBA範囲の外のデータへアクセスすると、サイレントオーディオのバッファが返送される。ホスト50は、適正な認証の後に、許可された範囲を再設定することができる。許可された範囲が移動するため、この機構はここでは「スライドウインドウ」と呼ばれる。上記のカウンタの概念は、スライドウインドウ(例:現在のところ、1から500までコピー)として用いることができる。または、仮想ファイル150内の特定の位置からのみのデータの再生が、許可されるとすることができる。
他の実施形態では、ネイティブ・メディア・プレイヤ(native media players)からの再生に対して、仮想ファイル150を用いることができる。これは、コンテンツのプレイリストの各々に対して比較的大きい仮想ファイルを用いることによって、行うことができる。この仮想ファイルは、オンザフライ方式でソング・アフター・ソング(song-after-song)を連結することができる。記憶装置100は、ホスト・ネイティブ・プレイヤ(host native player)に表示されるコンテンツの各チャンネルに対して、ID3タグ(an ID3 tag)を供給することもできる。このようにして、ホスト(例:ハンドセット)の各々や、利用可能なオペレーティングシステムで、記憶装置100を用いることができる。この解決方法は、(例えば、早送り/巻き戻し/プログレスバーのドラッグ、の操作をユーザが試行した場合を検出することで)曲をスキップする操作を検知する手段を記憶装置に持たせることで、強化することができる。
記憶装置および処理フローの例
上述したように、これらの実施形態の記憶装置は、何らかの適切な方法で実現することができる。以下の段落および参照図面は、実施態様の一例を示している。この実施態様は単なる一例であり、この明細書に図示および記載されている詳細は、そうであると明示されていない限り、請求項の解釈ではないことを理解されたい。
図面に戻り、図3Aおよび図3Bは、ある実施形態の記憶装置300およびホスト350のブロック図である。まず図3Bについて説明すると、記憶装置300は、コントローラ310およびメモリ320を備える。コントローラ310は、メモリ320と接続するためのメモリインタフェース311と、ホスト350と接続するためのホストインターフェース312を備える。コントローラ310は、中央演算装置(CPU)313、暗号化および/または復号化処理を行うために作動する暗号エンジン314、リードアクセスメモリ(RAM)315、記憶装置300の基本操作のためのファームウェア(ロジック)を記憶する読み取り専用メモリ(ROM)316、および、暗号化/復号化処理のために用いられるデバイスに特有なキーを記憶する不揮発性メモリ(NVM)317、をさらに備えている。デバイスに特有のキーの記憶は、記憶装置内の他のメモリ領域に記憶することができることに留意されたい。図3Bに図示される複数の要素は、他の好適な態様で実現することができる。
この実施形態では、メモリ320は、ホスト350上のファイルシステムによって管理されるパブリックパーティション325と、コントローラ310によって内部で管理される隠し保護システム領域335を備えている。隠し保護システム領域335は、上述したように、コンテンツ暗号キー(CEKs)340、コンテンツ、データベース、およびカプレット342を記憶している。隠し保護システム領域335は、(ホストコントローラ360ではなく)コントローラ310によって内部で管理されるため、「隠されて」いる。また隠し保護システム領域335は、その領域335に記憶されたオブジェクトが、コントローラ310の不揮発性メモリ317に記憶された固有のキーで暗号化されているため、「保護されて」いる。(記憶装置ハードウェア固有キーは、コントローラ310の不揮発性メモリ317内、または、記憶装置300内の他の領域に記憶することができる。)従って、その領域335に記憶されたオブジェクトにアクセスするために、コントローラ310は、暗号エンジン314および不揮発性メモリ317に記憶されたキーを用いて暗号化されたオブジェクトを復号化することができる。記憶装置300は、サンディスク・コーポレーションによるTrustedFlash(登録商標)プラットフォームで製造された製品ファミリーのうちの、安全な製品形式であることが好ましい。パブリックパーティション325は、仮想ファイル330を備えている。
図3Aのホスト350へ戻り、ホスト350は、記憶装置300と接続するための記憶装置インターフェース361を有するコントローラ360を備えている。コントローラ360はまた、中央演算装置(CPU)363、暗号化および/または復号化処理を行うために作動する暗号エンジン364、リードアクセスメモリ(RAM)365、および、読み取り専用メモリ(ROM)366を備えている。ボックス360内の各要素は、ホストシステムの全体の中で、個別の複数のチップとして実現されてもよいことに留意されたい。
ホスト350は、コンテンツエンジン371、ファイルシステムAPI372、コンテンツデコーダAPI373、およびホスト証明書374を備えるアプリケーション370も備えている。
記憶装置300およびホスト350は、記憶装置インターフェース361およびホストインターフェース312を介して、互いに通信する。データの安全な転送を含んだ処理のために、記憶装置300内の暗号エンジン314およびホスト350内の暗号エンジン364は、互いに相互認証をするために用いられ、キー交換を行うことが好ましい。相互認証処理は、ホスト350および記憶装置300に、固有の証明書IDの交換を要求する。相互認証が完了した後、記憶装置350とホスト300の間の通信のための安全な通信路を確立するために、セッションキーが用いられることが好ましい。
図4Aから図14Bは、図3Aおよび図3B内のメモリデバイス300およびホスト350を用いた実施形態の、幾つかの例示的なプロセスフローのフロー図である。具体的には、図4Aおよび図4Bは、一実施形態のログイン処理のフロー図である。図5Aおよび図5Bは、一実施形態の、ログイン後の読み出し処理(reading-after-log-in process)のフロー図である。図6Aおよび図6Bは、一実施形態の、ログインなしの読み出し処理(reading-without-log-in process)のフロー図である。図7は、一実施形態の通常ファイルにアクセスするための処理のフロー図である。図8Aおよび図8Bは、範囲外のデータにアクセスするとともに追加データでファイルをパディングするための、一実施形態の処理のフロー図である。図9Aおよび図9Bは、一実施形態のファイルの実際の長さを判断する処理のフロー図である。図10Aおよび図10Bは、暗号化を用いた一実施形態の保護処理のフロー図である。図11Aおよび図11Bは、カウンタを用いた一実施形態の保護処理のフロー図である。図12Aおよび図12Bは、スライドウインドウを用いた一実施形態の保護処理のフロー図である。図13Aおよび図13Bは、データレートコントロールのための一実施形態の処理のフロー図である。図14Aおよび図14Bは、コンテンツを追加する一実施形態の処理のフロー図である。
結論
前述の詳細な説明は、発明の定義としてではなく、本発明がとりうる選択された形態の例として理解されることを意図している。以下の請求項およびその等価物のみが、クレームされた発明の範囲を定義することを目的としている。最後に、本明細書で記載された望ましい実施形態の何れの側面も、単独または組み合わせて使用できることに留意されたい。

Claims (30)

  1. パブリックメモリ領域内の仮想ファイルを使用して、プライベートメモリ領域内の複数の保護ファイルにアクセスする方法であって、
    前記方法は、
    パブリックメモリ領域およびプライベートメモリ領域を有する記憶装置のコントローラに以下のステップを実行させる、方法。
    (a)前記パブリックメモリ領域内の仮想ファイルにアクセスするために、ホストからのリクエストを受信するステップ。
    ここで前記仮想ファイルは、前記プライベートメモリ領域内に記憶された複数の保護ファイルに関連している。
    (b)前記プライベートメモリ領域内に記憶された前記複数の保護ファイルの1つへのアクセスを選択して前記ホストに提供することによって、前記仮想ファイルへのアクセスについての前記リクエストに対して応答するステップ。
    (c)前記仮想ファイルへのアクセスのための追加リクエストを前記ホストから受信するステップ。
    ここで前記コントローラは、前記プライベートメモリ領域内に記憶された前記複数の保護ファイルの別の1つへのアクセスを選択して前記ホストに提供することによって、前記追加リクエストに応答する。
  2. 前記コントローラがどのようにして前記プライベートメモリ領域内の前記複数の保護ファイルを管理するかを判断するルールの集合を記憶しているアプリケーションを実行するステップの後に、前記コントローラが(a)〜(c)を実行する、請求項1に記載の方法。
  3. 前記ホストが前記記憶装置に対して認証されている場合に、(b)〜(c)が実行され、
    前記ホストが前記記憶装置に対して認証されていない場合に、専用のコマーシャル(a dedicated commercial)を供給することによって、前記コントローラが前記リクエストに応答する、請求項1または2に記載の方法。
  4. 前記仮想ファイルのサイズが、最大の保護ファイルのサイズと少なくとも同じである、請求項1〜3の何れか1項に記載の方法。
  5. 選択された前記保護ファイルのサイズを、前記ホストへ供給するステップをさらに備える、請求項4に記載の方法。
  6. 前記選択された保護ファイルの前記サイズは、前記仮想ファイルの前記サイズよりも小さく、
    前記方法は、サイズの差に対応するために、前記保護ファイルをデータでパディングするステップをさらに備える、請求項4または5に記載の方法。
  7. 前記仮想ファイルは、前記パブリックメモリ領域内の物理領域に割り当てられる、請求項1〜6の何れか1項に記載の方法。
  8. 前記仮想ファイルは、前記パブリックメモリ領域内の物理領域に割り当てられない、請求項1〜6の何れか1項に記載の方法。
  9. 前記保護ファイルは、専用のファイルシステムを用いてアクセスされる、請求項1〜8の何れか1項に記載の方法。
  10. 前記ホストからの前記リクエストは、2つ以上のコマンドの複合コマンドを備えている、請求項1〜9の何れか1項に記載の方法。
  11. 以下のステップのうちの少なくとも1つを実行するステップをさらに備える、請求項1〜10の何れか1項に記載の方法。
    修正データを前記仮想ファイルに書き込むことによって、前記プライベートメモリ領域に記憶された保護ファイルを修正するステップ。
    新しい保護ファイルを前記仮想ファイルに書き込むことによって、前記プライベートメモリ領域へ前記新しい保護ファイルを追加するステップ。
  12. 前記保護ファイルは暗号化されている、請求項1〜11の何れか1項に記載の方法。
  13. 前記仮想ファイルがコピーされることを防止するために、カウンタを使用するステップをさらに備える、請求項1〜12の何れか1項に記載の方法。
  14. 前記仮想ファイルがコピーされることを防止するために、データレートコントロール機構を使用するステップをさらに備える、請求項1〜13の何れか1項に記載の方法。
  15. 前記仮想ファイルがコピーされることを防止するために、スライドウインドウを使用するステップをさらに備える、請求項1〜14の何れか1項に記載の方法。
  16. パブリックメモリ領域と、
    プライベートメモリ領域と、
    前記パブリックメモリ領域および前記プライベートメモリ領域と通信するコントローラと、を備え、
    前記コントローラが、以下の動作を行うように構成されている、記憶装置。
    (a)前記パブリックメモリ領域内の仮想ファイルにアクセスするために、ホストからのリクエストを受信する。
    ここで前記仮想ファイルは、前記プライベートメモリ領域内に記憶された複数の保護ファイルに関連している。
    (b)前記プライベートメモリ領域内に記憶された前記複数の保護ファイルの1つへのアクセスを選択して前記ホストに提供することによって、前記仮想ファイルへのアクセスについての前記リクエストに対して応答する。
    (c)前記仮想ファイルへのアクセスのための追加リクエストを前記ホストから受信する。
    ここで前記コントローラは、前記プライベートメモリ領域内に記憶された前記複数の保護ファイルの別の1つへのアクセスを選択して前記ホストに提供することによって、前記追加リクエストに応答するように構成されている。
  17. 前記コントローラがどのようにして前記プライベートメモリ領域内の前記複数の保護ファイルを管理するかを判断するルールの集合を記憶しているアプリケーションを実行するステップの後に、前記コントローラが(a)〜(c)を実行するように動作する、請求項16に記載の記憶装置。
  18. 前記ホストが前記記憶装置に対して認証されている場合に、(b)〜(c)が実行され、
    前記ホストが前記記憶装置に対して認証されていない場合に、専用のコマーシャル(a dedicated commercial)を供給することによって、前記コントローラが前記リクエストに応答するように動作する、請求項16または17に記載の記憶装置。
  19. 前記仮想ファイルのサイズが、最大の保護ファイルのサイズと少なくとも同じである、請求項16〜18の何れか1項に記載の記憶装置。
  20. 選択された前記保護ファイルのサイズを前記ホストへ供給するように、前記コントローラがさらに動作する、請求項19に記載の記憶装置。
  21. 前記選択された保護ファイルの前記サイズは、前記仮想ファイルの前記サイズよりも小さく、
    前記コントローラは、サイズの差に対応するために、前記保護ファイルをデータで膨らませるようにさらに動作する、請求項19または20に記載の記憶装置。
  22. 前記仮想ファイルは、前記パブリックメモリ領域内の物理領域に割り当てられる、請求項16〜21の何れか1項に記載の記憶装置。
  23. 前記仮想ファイルは、前記パブリックメモリ領域内の物理領域に割り当てられない、請求項16〜21の何れか1項に記載の記憶装置。
  24. 前記保護ファイルは、専用のファイルシステムを用いてアクセスされる、請求項16〜23の何れか1項に記載の記憶装置。
  25. 前記ホストからの前記リクエストは、2つ以上のコマンドの複合コマンドを備えている、請求項16〜24の何れか1項に記載の記憶装置。
  26. 前記コントローラが、以下の動作のうちの少なくとも1つを実行するようにさらに動作する、請求項16〜25の何れか1項に記載の記憶装置。
    修正データを前記仮想ファイルに書き込むことによって、前記プライベートメモリ領域に記憶された保護ファイルを修正する。
    新しい保護ファイルを前記仮想ファイルに書き込むことによって、前記プライベートメモリ領域へ前記新しい保護ファイルを追加する。
  27. 前記保護ファイルは暗号化されている、請求項16〜26の何れか1項に記載の記憶装置。
  28. 前記仮想ファイルがコピーされることを防止するために、カウンタを使用するように前記コントローラがさらに動作する、請求項16〜27の何れか1項に記載の記憶装置。
  29. 前記仮想ファイルがコピーされることを防止するために、データレートコントロール機構を使用するように前記コントローラがさらに動作する、請求項16〜28の何れか1項に記載の記憶装置。
  30. 前記仮想ファイルがコピーされることを防止するために、スライドウインドウを使用するように前記コントローラがさらに動作する、請求項16〜29の何れか1項に記載の記憶装置。
JP2012543134A 2009-12-09 2010-11-19 プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法 Expired - Fee Related JP5579274B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/634,470 US9092597B2 (en) 2009-12-09 2009-12-09 Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
US12/634,470 2009-12-09
PCT/US2010/057438 WO2011071678A1 (en) 2009-12-09 2010-11-19 Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area

Publications (3)

Publication Number Publication Date
JP2013513863A JP2013513863A (ja) 2013-04-22
JP2013513863A5 JP2013513863A5 (ja) 2013-10-31
JP5579274B2 true JP5579274B2 (ja) 2014-08-27

Family

ID=43639109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012543134A Expired - Fee Related JP5579274B2 (ja) 2009-12-09 2010-11-19 プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法

Country Status (7)

Country Link
US (1) US9092597B2 (ja)
EP (1) EP2510430B1 (ja)
JP (1) JP5579274B2 (ja)
KR (1) KR20120117747A (ja)
CN (1) CN102656550B (ja)
TW (1) TW201131467A (ja)
WO (1) WO2011071678A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI413898B (zh) * 2009-09-15 2013-11-01 Phison Electronics Corp 資料保護方法與系統、儲存裝置及儲存裝置控制器
US9092597B2 (en) 2009-12-09 2015-07-28 Sandisk Technologies Inc. Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
JP5018919B2 (ja) * 2010-03-19 2012-09-05 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置、コンテンツ管理方法およびコンテンツ管理プログラム
US8301694B2 (en) * 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
US8301715B2 (en) * 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
WO2013095565A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Systems and methods for providing anti-malware protection on storage devices
US9390278B2 (en) * 2012-09-14 2016-07-12 Freescale Semiconductor, Inc. Systems and methods for code protection in non-volatile memory systems
CN103678959A (zh) * 2013-11-12 2014-03-26 杭州晟元芯片技术有限公司 一种基于移动存储设备的数据保护方法
US10073972B2 (en) 2014-10-25 2018-09-11 Mcafee, Llc Computing platform security methods and apparatus
US9690928B2 (en) 2014-10-25 2017-06-27 Mcafee, Inc. Computing platform security methods and apparatus
US20160360417A1 (en) * 2014-11-17 2016-12-08 Solid State System Co., Ltd. Storage device with access control device and method for accessing storage device
JP6478800B2 (ja) * 2015-05-18 2019-03-06 三菱電機株式会社 デジタルコンテンツ編集装置、デジタルコンテンツ再生装置、デジタルコンテンツ復号装置、デジタルコンテンツ暗号化復号システムおよびデジタルコンテンツ暗号化復号方法
CN105763745A (zh) * 2016-04-26 2016-07-13 努比亚技术有限公司 一种数据保护方法、装置及移动终端
US10474391B2 (en) 2017-09-05 2019-11-12 Western Digital Technologies, Inc. Storage system and method for executing file-based firmware commands and collecting response data
US10318438B1 (en) * 2017-12-07 2019-06-11 Nuvoton Technology Corporation Secure memory access using memory read restriction
US11023601B2 (en) * 2018-04-20 2021-06-01 Rohde & Schwarz Gmbh & Co. Kg System and method for secure data handling
CN109992539B (zh) * 2019-03-13 2023-03-10 苏州盛科通信股份有限公司 双主机协同工作装置
CN113591139A (zh) * 2021-10-08 2021-11-02 北京海誉动想科技股份有限公司 文件访问控制方法与装置

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
US6574618B2 (en) 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6466944B1 (en) 1999-12-02 2002-10-15 Novell, Inc. Method for creation, management, and use of files containing multiple virtual data streams using standard file system APIs
US20060161725A1 (en) 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US7376740B1 (en) 2000-06-13 2008-05-20 Microsoft Corporation Phone application state management mechanism
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
GB2373067A (en) 2000-11-29 2002-09-11 Ruslan Gennadievich Fedorovsky File transfer method and system using segmented transfer and targeted content
US20060129933A1 (en) 2000-12-19 2006-06-15 Sparkpoint Software, Inc. System and method for multimedia authoring and playback
US20020157010A1 (en) 2001-04-24 2002-10-24 International Business Machines Corporation Secure system and method for updating a protected partition of a hard drive
US20060167985A1 (en) 2001-04-26 2006-07-27 Albanese Michael J Network-distributed data routing
US6941456B2 (en) * 2001-05-02 2005-09-06 Sun Microsystems, Inc. Method, system, and program for encrypting files in a computer system
US7395436B1 (en) * 2002-01-31 2008-07-01 Kerry Nemovicher Methods, software programs, and systems for electronic information security
US20030212542A1 (en) 2002-05-08 2003-11-13 Amikai, Inc. Platform-independent automated machine translation system
US6732171B2 (en) 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US7181744B2 (en) 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
GB2404486A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
JP4342242B2 (ja) 2003-08-15 2009-10-14 日本電信電話株式会社 セキュアファイル共有方法および装置
JP4241485B2 (ja) 2004-04-15 2009-03-18 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラムおよび記録媒体
US20050240993A1 (en) 2004-04-22 2005-10-27 Treadwell William S Methodology, system and computer readable medium for streams-based packet filtering
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7730482B2 (en) * 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
US20050281404A1 (en) 2004-06-17 2005-12-22 Matsushita Electric Industrial Co., Ltd. Scalable streaming media authentication
JP5013477B2 (ja) 2004-11-09 2012-08-29 トムソン ライセンシング 別個の記憶媒体上のコンテンツの結合
US20060129496A1 (en) 2004-12-14 2006-06-15 Motorola, Inc. Method and apparatus for providing digital rights management
US7529816B2 (en) 2005-06-03 2009-05-05 Hewlett-Packard Development Company, L.P. System for providing multi-path input/output in a clustered data storage network
JP4613739B2 (ja) 2005-08-01 2011-01-19 ソニー株式会社 情報処理装置、情報処理方法、および情報記録媒体、並びにコンピュータ・プログラム
US7634629B2 (en) 2005-12-19 2009-12-15 Intel Corporation Mechanism to control access to a storage device
JP2007257047A (ja) 2006-03-20 2007-10-04 Sony Corp 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、データ構造、並びに、記録媒体の製造方法
EP1840512B1 (en) 2006-03-31 2013-03-06 Research In Motion Limited Method and apparatus for providing map locations in user applications using URL strings
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US20070288535A1 (en) 2006-06-13 2007-12-13 Hitachi, Ltd. Long-term data archiving system and method
US7957751B2 (en) 2006-08-02 2011-06-07 Telecommunication Systems, Inc. Personal location code
US8874145B2 (en) 2006-08-02 2014-10-28 Telecommunication Systems, Inc. Personal location code broker
JP4598857B2 (ja) * 2006-09-11 2010-12-15 パナソニック株式会社 Icカード、およびそのアクセス制御方法
JP2008107965A (ja) 2006-10-24 2008-05-08 Sony Corp 情報処理装置、情報処理方法、プログラム、プログラム記録媒体
US8171502B2 (en) 2006-11-29 2012-05-01 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US20080189554A1 (en) * 2007-02-05 2008-08-07 Asad Ali Method and system for securing communication between a host computer and a secure portable device
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US8566695B2 (en) 2007-03-30 2013-10-22 Sandisk Technologies Inc. Controlling access to digital content
WO2008135969A1 (en) 2007-05-03 2008-11-13 Sandisk Il Ltd. Storage device and method for data-smuggling
US7636825B2 (en) 2007-05-03 2009-12-22 Sandisk Il Ltd. Storage device for data-smuggling
CN101315674B (zh) * 2007-05-31 2010-11-03 深圳市江波龙电子有限公司 保护及访问存储卡发行数据的方法
US20090119782A1 (en) 2007-11-07 2009-05-07 Sandisk Il Ltd. Method and device for digital rights protection
US8037110B2 (en) 2007-12-27 2011-10-11 Microsoft Corporation Business data access client for online/offline client use
US8315950B2 (en) 2007-12-31 2012-11-20 Sandisk Technologies Inc. Powerfully simple digital media player and methods for use therewith
TWI366096B (en) * 2008-01-04 2012-06-11 Fineart Technology Co Ltd Common storage device accessed by personal information and using method thereof
US7899793B2 (en) * 2008-01-09 2011-03-01 Hitachi, Ltd. Management of quality of services in storage systems
US8332951B2 (en) * 2008-02-12 2012-12-11 International Business Machines Corporation Section based security for a sectioned surface-based computing device
JP4346670B1 (ja) 2008-05-20 2009-10-21 株式会社東芝 電子装置およびコンテンツデータ提供方法
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US20100274772A1 (en) * 2009-04-23 2010-10-28 Allen Samuels Compressed data objects referenced via address references and compression references
US8090690B2 (en) * 2009-05-27 2012-01-03 MiMedia LLC Systems and methods for data upload and download
US7984122B2 (en) 2009-06-04 2011-07-19 Microsoft Corporation Dedicated processor core request
US9092597B2 (en) 2009-12-09 2015-07-28 Sandisk Technologies Inc. Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
US8301694B2 (en) 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
US8301715B2 (en) 2010-05-20 2012-10-30 Sandisk Il Ltd. Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device

Also Published As

Publication number Publication date
CN102656550B (zh) 2015-04-08
TW201131467A (en) 2011-09-16
EP2510430B1 (en) 2018-05-23
CN102656550A (zh) 2012-09-05
KR20120117747A (ko) 2012-10-24
EP2510430A1 (en) 2012-10-17
US9092597B2 (en) 2015-07-28
JP2013513863A (ja) 2013-04-22
WO2011071678A1 (en) 2011-06-16
US20110138487A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP5579274B2 (ja) プライベートメモリ領域内の複数の保護ファイルにアクセスするためにパブリックメモリ領域内の仮想ファイルを用いる記憶装置および方法
US8301694B2 (en) Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
EP2572309B1 (en) Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
RU2597512C2 (ru) Возобновляемый сеанс конфиденциального просмотра
WO2009005719A2 (en) Method of storing and accessing header data from memory
WO2006008909A1 (ja) 記憶媒体処理方法、記憶媒体処理装置及びプログラム
JP2013513863A5 (ja)
EP2425369B1 (en) Memory device and method for adaptive protection of content
JP2010533910A (ja) デジタル情報メモリカード暗号化構造及び方法
JP4592804B2 (ja) 鍵管理装置および鍵管理システム
CN103617127B (zh) 带分区的存储装置及存储器分区的方法
JP2008541219A (ja) データ更新可能な可変サイズを有するシステム領域を具備したフラッシュメモリのデータ構造、フラッシュメモリを有するusbメモリ装置、及びシステム領域を制御する方法
US10331365B2 (en) Accessing a serial number of a removable non-volatile memory device
JP2010041393A (ja) 複合記憶媒体モジュール、端末装置、記憶再生システム
JP2010510575A (ja) コンテンツをライセンスとリンクさせる方法および装置
JP2010509887A (ja) セッションチケットに基づいてコンテンツにアクセスするための方法および装置
TW200809503A (en) Apparatus and method for digital content protection and universally play using hidden data area
JP2006277754A (ja) 記憶装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140708

R150 Certificate of patent or registration of utility model

Ref document number: 5579274

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