説明

取り外し可能な不揮発性補助記憶装置

【課題】ファイルシステムやキャッシュシステムを採用している電子機器においてCPRM等の制御情報を利用できるようにする。
【解決手段】コントローラ203は不揮発性メモリ領域202に記憶されたファームウェアからなる制御プログラムは、予め定められた異なるメモリブロックA1、A2、A3、・・・Anの読み出しアクセスがあったときに、状態1に遷移して、肯定応答を電子機器に送出する。状態1でメモリブロックBの書き込みがあったときに、書き込みデータに秘密の情報を連結してハッシュ演算を施して揮発性メモリ204の所定のレジストリに内容データを書き込む。この後、状態2に遷移する。状態2で、メモリブロックCの読み出しがあったときに、揮発性メモリ204に保管している演算結果に、第2不揮発性メモリ領域202に記憶されている特定のデータを結合して電子機器100に供給する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、取り外し可能な不揮発性補助記憶装置のアクセス技術に関する。
【背景技術】
【0002】
SDメモリカード(商標)等の取り外し可能な不揮発性補助記憶装置(メモリカードとも呼ぶ)が、パーソナルコンピュータ、デジタルカメラ、携帯電話機、プリンタ、複写機、テレビジョン受像機、ゲーム機等の電子機器に広く利用されている。このような不揮発性補助記憶装置では、非ユーザデータ領域に制御情報、例えば、CPRM(Content Protection for Recordable Media)のメディアID等が保持され、認証や暗号等に用いられている。ところで、慣用的な電子機器、例えば携帯電話機は、一般的なファイルシステムおよびキャッシュシステムを採用しており、かつ、CPRM等の制御情報を取得する特別な仕組みを採用していないため、そのままでは、不揮発性補助記憶装置に保持されている制御情報を利用した認証や暗復号を行うことができない。
【0003】
なお、この発明と関連する特許文献としては特許文献1がある。この特許文献は、CPRMに基づく相互認証に成功した後にSDメモリカードのプロテクト領域に保持されているアプリケーション用の復号鍵を電子機器にコピーし、コピー後にSDメモリカードのアプリケーション用の復号鍵を削除して他の電子機器で不正に利用されないようにすることを提案している。
【0004】
なお、上述の従来技術やその問題点は、この発明の背景の一部を説明するためにのみ説明している。この発明は上述の従来技術や問題点に限定されるものではない点に留意されたい。
【特許文献1】特開2006−079449号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
この発明は、以上の事情を考慮してなされたものであり、ファイルシステムやキャッシュシステムを採用している電子機器においてCPRM等の制御情報を利用できるようにすることを目的としている。
【課題を解決するための手段】
【0006】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【0007】
すなわち、この発明の一側面によれば、上述の目的を達成するために、本体に取り外し可能な補助記憶装置に、予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに予め定められたデータを読み出す要求があったと判別する判別手段を設けている。補助記憶装置は典型的には半導体素子、典型的にはフラッシュメモリを用いたものであるが、これに限定されず、ハードディスク等を用いたものでもよい。
【0008】
この構成によれば、特定のデータの読み出しを通常のメモリアクセスに偽装させて間接的に指定することができる。読み出しアクセスのアドレスが異なっているのでキャッシュシステムに読み出しアクセスがブロックされない。
【0009】
この構成において、予め定められた複数の異なるアドレスと複数のファイル名とを対応付けたファイルシステムを介してファイルのアクセスを受けることが好ましい。典型的には、補助記憶装置の制御プログラムが、予め定められた複数のファイル名の読み出しと予め定められたアドレスの読み出しとを対応付ける。
【0010】
また、上記肯定的な応答を受け取った上記読取装置は補助記憶装置本体に対してチャレンジ・レスポンス認証用のチャレンジデータを送り、上記補助記憶装置本体は、レスポンスデータと関連して上記予め定められたデータを上記読取装置に送出することが好ましい。典型的には、チャレンジデータの転送は予め定められたアドレスへの偽装的な書き込みにより行われ、レスポンスデータ等は予め定められたアドレスからの偽装的な読み出しにより行われる。
【0011】
予め定められたデータは、典型的には、ユーザデータ領域以外の領域に記憶されている。SDメモリカード(商標)の場合、予め定められたデータは典型的にはメディアIDであるが、これに限定されない。
【0012】
また、予め定められたデータはユーザデータ領域に記憶されてもよい。
【0013】
また、この発明の他の側面によれば、補助記憶装置用の読取装置に、本体に着脱自在に結合されている補助記憶装置から予め定められたデータを読み取るときに、上記補助記憶装置の予め定められた複数の異なるアドレスに順次に読み出しアクセスを行うアクセス制御手段を設けている。読取装置は典型的には電子機器本体または電子機器のアダプタである。
【0014】
この構成によれば、予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに予め定められたデータを読み出す要求があったと判別する判別手段を含む補助記憶装置とともに使用して特定のデータの読み出しを通常のメモリアクセスにより間接的に指定することができる。読み出しアクセスのアドレスが異なっているのでキャッシュシステムに読み出しアクセスがブロックされない。
【0015】
また、この発明のさらに他の側面によれば、補助記憶装置と上記補助記憶装置を着脱可能に結合させる読取装置とを含む情報処理装置において、上記読取装置は、上記補助記憶装置から予め定められたデータを読み取るときに、当該補助記憶装置の予め定められた複数の異なるアドレスに順次に読み出しアクセスを行い、上記補助記憶装置は、上記予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに上記予め定められたデータを読み出す要求があったと判別する判別手段を有し、上記判別手段の判別結果に基づいて上記予め定められたデータを上記読取装置に送信するようにしている。
【0016】
この構成によれば、特定のデータの読み出しを通常のメモリアクセスに偽装させて間接的に指定することができる。読み出しアクセスのアドレスが異なっているのでキャッシュシステムに読み出しアクセスがブロックされない。
【0017】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【0018】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【0019】
この発明によれば、特定のデータの読み出しを通常のメモリアクセスにより間接的に指定することができる。読み出しアクセスのアドレスが異なっているのでキャッシュシステムに読み出しアクセスがブロックされない。
【発明を実施するための最良の形態】
【0020】
以下、この発明の実施例について説明する。
【0021】
図1は、この実施例の情報処理システムを全体として示しており、この図において、電子機器100はメモリカードインタフェース100Aを具備し、このメモリカードインタフェース100Aにメモリカード200を着脱自在に装着する。電子機器100は典型的には図2にも示すように携帯電話機110であるが、これに限定されず、種々の情報端末、家電製品、TVゲーム機、携帯ゲーム機、デジタルカメラ、プリンタ、複写機等のオフィス製品、パーソナルコンピュータ、その他、ファイルシステムおよびキャッシュシステムを具備する製品であってよい。電子機器100は典型的にはメモリカード200に記憶されている制御情報をアクセスするための標準に対応する仕組み、例えばCPRM対応の仕組みを具備しないが、付加的にそのような仕組みを伴ってもよい。メモリカード200は典型的にはSDメモリカードであるが、これに限定されず、フラッシュメモリやハードディスクを具備する任意の形態の着脱可能な補助記憶装置であってよい。
【0022】
この実施例では以下に説明するように異なるアドレスに対応付けられた異なるファイルをアクセスすることによりメモリカードの非ユーザデータ領域に記憶された制御データを読み出す。
【0023】
図2は、電子機器100(図1)の一例としての携帯電話機110を全体として示しており、この図において、携帯電話機110は、CPU10、RAM11、ROM12、メモリカードインタフェース100A、キーボードを含む入力部13、液晶パネルを含む表示部14、音声処理部15、データ処理部16、アンテナを含む無線送受信部17、マイクロホン/スピーカ18、バスシステム19等を含んで構成される。
【0024】
マイクロホン/スピーカ18、音声処理部15、および無線送受信部17により通話が実現される。データ処理部16はブラウザやメール処理等の各種の処理に伴う付随的なデータ処理を行う。入力部13のキーボード等を用いて電話番号やテキストの入力が行われる。表示部14の液晶パネルはテキスト、画像等の表示を行う。CPU10はRAM(主メモリ)11とともにオペレーティングシステム等のシステムプログラムやミドルウェアプログラムやアプリケーションプログラムを実行する。アプリケーションプログラム(単にアプリケーションと呼ぶこともある)20は破線で示すようにファイルシステム21を用いてメモリカード200をアクセスする。キャッシュシステム(キャッシュメモリともいう)22は以前に読み出したデータを一時記憶する。キャッシュシステム22は、メモリカードインタフェース100Aからメモリカード200が挿入または離脱したときに初期化される。ROM12は典型的にはフラッシュメモリであり、ブートプログラム、オペラーティングシステム、ミドルウェアプログラム、アプリケーションプログラム、その他各種データを記憶する。ミドルウェアプログラム、アプリケーションプログラム、その他各種データは、メモリカード200に記憶されてもよい。ファイルシステム21は任意のものでよく、典型的にはFAT16またはFAT32であり、メモリカード200はそれに対応した構造体(マスターブートレコード、そのパーティション情報、FAT、ルートディレクトリ[ディレクトリ情報]等)を含む。
【0025】
図3はメモリカード200の構成例を示しており、典型的にはSDメモリカードであるが、これに限定されない。メモリカード200は第1不揮発性メモリ領域201、第2不揮発性メモリ領域202、コントローラ203、揮発性メモリ204、外部インタフェース205を含む。これら各部はパッケージに封入されている。第1不揮発性メモリ領域(ユーザデータ領域とも呼ぶ)201は、外部インタフェース205およびコントローラ203を介して電子機器100(図1参照。外部機器ともいう)からデータの保存場所としてアクセス可能なものである。第2不揮発性メモリ領域202は、ファイルシステム21を介しては外部機器からデータの保存場所としてはアクセスできないものである。第2不揮発性メモリ領域202は、特別の標準に基づく認証によって書き込み可能なプロテクト領域と書き込み不可能なシステム領域を含む。コントローラ203は不揮発性メモリ領域202に記憶されたファームウェアにより各種の制御を行う。揮発性メモリ204は、バッファやレジスタ等を形成する。外部機器から送られた各種の指示や情報は外部インタフェース205を介してコントローラ203に送られ、演算処理を含む各種の処理が実行される。
【0026】
第2不揮発性メモリ領域202は、ファイルシステム21を実現する各種構造体およびテーブルを含む。
【0027】
この例では、コントローラ203は不揮発性メモリ領域202に記憶されたファームウェアからなる制御プログラムは、以下のような動作を行う。なお、詳細は後述する。
(1)予め定められた異なるメモリブロックA1、A2、A3、・・・Anの読み出しアクセスがあったときに、準備状態(状態1)に遷移して、肯定応答を電子機器(外部機器、または読出装置とも呼ぶ)に送出する。なお、初期状態では状態0である。
(2)準備状態(状態1)でメモリブロックBの書き込みがあったときに、書き込みデータに秘密の情報を連結してハッシュ演算を施して揮発性メモリ204の所定のレジストリ(変数)に内容データを書き込む。この後、状態2に遷移する。
(3)状態2で、メモリブロックCの読み出しがあったときに、揮発性メモリ204に保管している演算結果に、第2不揮発性メモリ領域202に記憶されている特定のデータ(典型的にはメモリカードに一意に割り当てられた固有のデータ)を結合して電子機器に供給する。
【0028】
図4および図5は、電子機器100(携帯電話機110)のデータの読み出し書き込みの動作例を示している。アプリケーションプログラム20がオペレーティングシステム/ミドルウェア(単にオペレーティングシステムと呼ぶこともある)21Aのファイルアクセス用APIを用いてメモリカード200内のファイルを読み込む場合、典型的には、図4のように動作する。図4の右向きの矢印はすべて読み取り要求の発行であり、左向きの矢印は要求の完了および読み込んだデータの伝送である。下向きの矢印は、オペレーティングシステム/ミドルウェア21Aが以降のファイル読み取りを高速化するために用いるキャッシュシステム22への書き込みである。
【0029】
他方、読み込もうとしたファイルのデータが既にオペレーティングシステム/ミドルウェア21Aの管理するキャッシュシステム22内に存在する場合には、図4ではなく図5のように動作する。図5の右向きの矢印は読み取り要求の発行であり、左向きの矢印は要求の完了および読み込んだデータの伝送、下向きの矢印はキャッシュシステム22の検索、上向きの矢印はキャッシュシステム22からのデータ転送である。この場合、アプリケーションプログラム20が発行した読み取り要求は、メモリカード200へは伝送されない。
【0030】
図6〜図9は、アプリケーションプログラム20によるメモリカード200へのデータアクセスの基本的な動作例をそれぞれ示す。
【0031】
図6はファイル読み出し準備の動作例を示し、その詳細は以下のとおりである。
[ステップ1]:アプリケーションプログラム20はオペレーティングシステム21Aに対してファイル読み出し準備用のAPI呼び出しを行う(openシステムコール)。
[ステップ2]:オペレーティングシステム21Aはディレクトリ情報をキャッシュシステム22において探索する。ディレクトリ情報が見つかればステップ5に進み、見つからなければステップ3に進む。
[ステップ3]:ディレクトリ情報をメモリカード(デバイスともいう)から読み込む(readコマンド)。読み込むべきデータのアドレスはLBA(ロジカルブロックアドレス)と呼ばれる数値で指定される。つぎにステップ4に進む。
[ステップ4]:ディレクトリ情報をキャッシュシステム22に保存する。
[ステップ5]:準備完了状態をアプリケーションに通知する。
【0032】
図7はファイル読み出しの動作例を示し、その詳細は以下のとおりである。
[ステップ1]:アプリケーションプログラム20はオペレーティングシステム21Aに対してファイル読み出しを要求する(readシステムコール)。オペレーティングシステム21Aはディレクトリ情報を元にファイル内のデータの位置(アドレス)を算出する。
[ステップ2]:オペレーティングシステム21Aはファイル内のデータをキャッシュシステム22において探索する。ファイル内のデータが見つかればステップ5に進み、見つからなければステップ3に進む。
[ステップ3]:ファイル内のデータをメモリカード(デバイスともいう)から読み込む(readコマンド)。読み込むべきデータのアドレスはLBAと呼ばれる数値で指定される。つぎにステップ4に進む。
[ステップ4]:ファイル内のデータをキャッシュシステム22に保存する。
[ステップ5]:オペレーティングシステム21Aは読み込んだデータをアプリケーションに返す。
【0033】
図8はファイル書き込み準備の動作例を示し、その詳細は以下のとおりである。
[ステップ1]:アプリケーションプログラム20はオペレーティングシステム21Aに対してファイル書き込み準備用のAPI呼び出しを行う(openシステムコール)。
[ステップ2]:オペレーティングシステム21Aはディレクトリ情報をキャッシュシステム22において探索する。ディレクトリ情報が見つかればステップ5に進み、見つからなければステップ3に進む。
[ステップ3]:ディレクトリ情報をメモリカード(デバイスともいう)から読み込む(readコマンド)。読み込むべきデータのアドレスはLBAと呼ばれる数値で指定される。つぎにステップ4に進む。
[ステップ4]:ディレクトリ情報をキャッシュシステム22に保存する。
[ステップ5]:準備完了状態をアプリケーションに通知する。
【0034】
図9はファイル書き込みの動作例を示し、その詳細は以下のとおりである。
[ステップ1]:アプリケーションプログラム20はオペレーティングシステム21Aに対してファイル書き込みを要求する(writeシステムコール)。オペレーティングシステム21Aはディレクトリ情報を元にファイル内のデータの位置(アドレス)を算出する。
[ステップ2]:オペレーティングシステム21Aはファイル内のデータをメモリカード(デバイスともいう)に書き込む(writeコマンド)。書き込むアドレスはLBAと呼ばれる数値で指定される。つぎにステップ4に進む。
[ステップ3]:書き込んだデータをキャッシュシステム22に保存する。
[ステップ4]:オペレーティングシステム21Aは書き込み完了をアプリケーションプログラム20に返す。
【0035】
この実施例では、アプリケーションプログラム20が、第2不揮発性メモリ領域202に記憶されている特定のデータ(典型的にはメモリカードに一意に割り当てられた固有のデータ)を取得する場合、予め定められた異なるファイルF_A1、F_A2、・・・、F_Anの読み出し要求を出力しこれら要求をオペレーティングシステム/ミドルウェア21Aに出力する。オペレーティングシステム/ミドルウェア21Aは、これらファイルの読み出し要求を受け取ったときには予め定められた異なるメモリブロックA1、A2、・・・、Anの読み出し要求をデバイスドライバ23およびメモリカードインタフェース100Aを介してメモリカード200に出力する。アプリケーションプログラム20は、最後のファイルF_Anの読み出しに応じてOKメッセージ(肯定応答)が返されたら、チャレンジデータを内容とするファイルF_Bの書き込み要求をオペレーティングシステム/ミドルウェア21Aに送る。オペレーティングシステム/ミドルウェア21Aは、これに応じてメモリブロックBへの書き込みをデバイスドライバ23およびメモリカードインタフェース100Aを介してメモリカード200に出力する。この後、アプリケーションプログラム20は、ファイルF_Cの読み出し要求をオペレーティングシステム/ミドルウェア21Aに送る。オペレーティングシステム/ミドルウェア21Aは、これに応じて、メモリブロックCの読み出し要求をデバイスドライバ23およびメモリカードインタフェース100Aを介してメモリカード200に出力する。アプリケーションプログラム20はオペレーティングシステム/ミドルウェア21AからファイルF_CとしてメモリブロックCのデータを受け取る。このデータは、チャレンジデータに秘密情報を結合したものをハッシュ演算したレスポンスデータに、上述の特定のデータを組み合わせたもの例えば連結したものである。アプリケーションプログラム20は該当する、チャレンジデータ、秘密情報、ハッシュ関数を保持しており、受け取ったデータのレスポンス部分が、これらチャレンジデータ、秘密情報、ハッシュ関数から真正に生成されたものかどうかを検証し、検証が成功したら、特定のデータを真正なものとして取得する。
【0036】
なお、A1≠A2≠・・・≠An≠B≠Cであり、F_A1≠F_A2≠・・・≠F_An≠F_B≠F_Cである。
【0037】
なお、アプリケーションプログラム20が特定のデータの取り出しを要求したときに、オペレーティングシステム/ミドルウェア21AがファイルF_A1、F_A2、・・・、F_An、F_B、F_Cの読み出しまたは書き込み要求を出力し、チャレンジ・レスポンスの認証を行って、真正な特定のデータを取得してアプリケーションプログラム20へ返すようにしてもよい。
【0038】
つぎに、この実施例の動作例を説明する。この例では、第2不揮発性メモリ領域202に記憶されている特別のデータ(補助記憶装置に一意に割り当てられた固有のデータ)の読み出しがアプリケーションプログラム20等から指示されたときの動作を示す。
【0039】
図10は読み出しが成功したときの全体の流れを示し、図11は読み出しが失敗したときに流れを示す。
【0040】
図10において、処理の詳細は以下のとおりである。
[ステップS10]:電子機器(読取装置)100からメモリカード200に対して特定のメモリブロックA1、A2、・・・、Anの読取アクセスが順次に行われる。ただし、A1≠A2≠・・・≠Anである。
[ステップS11]:メモリカード200の制御プログラムはステップ10のメモリブロックの読取要求を判別して状態1に遷移する。
[ステップS12]:状態1に遷移したのち、メモリブロックAnの読み出しデータとしてOKメッセージ(肯定応答)を返す。
[ステップS13]:電子機器100はOKメッセージを受信して確認する。
[ステップS14]:電子機器100はOKメッセージを成功裏に確認したのちメモリブロックBにチャレンジ(例えば乱数)を書き込み要求する。ただし、A1≠A2≠・・・≠An≠Bである。
[ステップS15]:メモリカード200の制御プログラムは、チャレンジに、電子機器100と共有している秘密情報を連結してハッシュ関数でハッシュ値を演算し、このハッシュ値(レスポンスデータ)を揮発性メモリに記憶する。
[ステップS16]:メモリカード200の制御プログラムは状態2に遷移する。
[ステップS17]:電子機器100からメモリカード200にメモリブロックCの読み出し要求を行う。ただし、A1≠A2≠・・・≠An≠B≠Cである。
[ステップS18]:レスポンスデータに特定のデータ(例えばメディアID)を連結して電子機器100に返す。
[ステップS19]:電子機器100はハッシュ値をチャレンジデータおよび秘密情報から計算し、レスポンスデータと比較し、一致したら、レスポンスデータとともに送られてきた特定のデータを真正なデータとして格納する。
【0041】
なお、図10において四角のノード1、2はそれぞれOKメッセージの確認の失敗、およびレスポンスデータの認証の失敗の処理を示す。電子機器100はこれに基づいて失敗処理を行い(ステップS20、S21)、アプリケーションプログラムにエラーを返す(S22)。
【0042】
図12は、以上の処理を実行する構成を模式的に示すものである。図12において、電子機器100は読取アクセスシーケンス処理部111、検証部112、データ記憶部113等を有する。メモリカード200は判別部121、証明部122、データ記憶部123等を有する。、電子機器100の読取アクセスシーケンス処理部111、検証部112、データ記憶部113は、電子機器100(携帯電話機110)のハードウェア資源(CPU、ROM、RAM等)およびソフトウェア114を協働させて実現される。ソフトウェア114は典型的にはオペレーティングシステム、ミドルウェア等であるが、これに限定されない。ソフトウェア114は各種記録媒体または通信手段を介して供給してよい。メモリカード200の判別部121、証明部122、データ記憶部123は、メモリカード200のハードウェア(コントローラ、各種メモリ等)とソフトウェア124とを協働させて実現される。ソフトウェア124は典型的には第2不揮発性メモリ202に記憶されている制御用のファームウェアであるが、これに限定されない。
【0043】
電子機器100の読取アクセスシーケンス処理部111は、メモリカード200に対して特定のメモリブロックA1、A2、・・・、Anの読取アクセスを順次に行う(ステップS10)。メモリカード200の判別部121は、ステップ10のメモリブロックの読取要求を判別して状態1に遷移し(ステップS11)、メモリブロックAnの読み出しデータとしてOKメッセージ(肯定応答)を電子機器100に返す(ステップS12)。電子機器100の検証部112は、OKメッセージを成功裏に確認したのちメモリブロックBにチャレンジ(例えば乱数)を書き込み要求する(ステップS14)。メモリカード200の証明部122は、チャレンジに、電子機器100と共有している秘密情報を連結してハッシュ関数でハッシュ値を演算し、このハッシュ値(レスポンスデータ)をメモリ記憶部123に記憶する(ステップS15)、状態2に遷移する(ステップS16)。電子機器100の検証部112がメモリカード200にメモリブロックCの読み出し要求を行い(ステップS17)、これに応じて、メモリカード200の証明部122がレスポンスデータに特定のデータ(例えばメディアID)を連結して電子機器100に返す(ステップS18)。電子機器100の検証部112はハッシュ値をチャレンジデータおよび秘密情報から計算し、レスポンスデータと比較し、一致したら、レスポンスデータとともに送られてきた特定のデータを真正なデータとしてデータ記憶部113に格納する(ステップS19)。このデータは例えばアプリケーションプログラム20により用いられるが(例えば暗復号処理[メモリカード200に格納されている暗号化済みコンテンツの復号、または暗号済み鍵の復号]、認証処理)、これに限定されない。
【0044】
この実施例では、異なる複数のファイル名を用いた読み出し手順で特定のデータの取り出しをメモリカードに指示するようにしたので、この手順がキャッシュシステムにより阻止されることがない。
【0045】
エラーが生じた場合には、キャッシュシステムに読取データが残存している場合もあるので、メモリカードの着脱を行い、キャッシュシステムをリセットするようにユーザに指示することが好ましい。メモリカード200をメモリカードインタフェース100Aから挿脱するとメモリカードインタフェース100Aがこれを判別し、その検知信号によりキャッシュシステムをリセットする。
【0046】
この実施例では、異なるアドレスを持つメモリブロックA1、A2、A3、…An、B、Cに対応したファイルを用いることによって、OSまたはミドルウェア内のファイルシステム用のキャッシュシステムがあっても、支障なく、特定のデータを取り出すことが可能となる。アドレス列(A1,A2,…,An)を長くすることによってメモリカード内のコントローラを独自の動作状態に遷移させるための指示が確率的には偶然に発行されないようにできる。また、ハッシュ値などを用いたチャレンジ・レスポンス認証を用いて、通常のメモリカードを用いて偽のデータを電子機器(外部機器、読取装置)に引き渡すことを困難にできる。
【0047】
以上で実施例の説明を終了する。
【0048】
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。上述実施例では、メモリブロックA1、A2、・・・、Anの読み出しののちにチャレンジ・レスポンスの認証を行いつつ特定のデータを電子機器側に返すようにしたが、メモリブロックAnの読み出し時に特定のデータを返すようにしてもよい。特定のデータは典型的にはメディアIDであるが、メモリカードを一意に特定する任意の識別情報であってよく、また、メモリカードを一意に特定する識別情報でなくてもよい。例えば、一群のメモリカードまたはすべてのメモリカードに共通したデータでもよい。特定のデータは非ユーザデータ領域でなくユーザデータ領域に記憶されていてもよい。また、ファイル名に基づいてキャッシュする場合には、異なるファイルF_A1、F_A2、・・・、F_Anの読み出し要求に対して同一のメモリブロックAの読み出し要求または異なるメモリブロックA1、A2、・・・、Anが順次にメモリカードに送られるようにして、これに基づいてメモリカードが特定のデータの読み出し指示であると判別してもよい。また、OS等が、読み出しアドレス(ファイル)のパターンがA1、A2、・・・、Anのシーケンス(F_A1、F_A2、・・・、F_Anのシーケンス)と一致するかどうかを監視し、合致しないと判断したら通常のファイルシステムとして通常の読み出しアドレス(ファイル情報)に基づいてメモリブロックをアクセスし、最終的にパターンが一致した時点でメモリブロックA1、A2、・・・、Anのアクセス要求をメモリカードに出力するようにしてもよい。キャッシュシステムに一時記憶されていないデータをアクセスするシーケンスであればよく、データアドレスで一時記憶される場合にはデータアドレスを異ならせ、ファイル名で一時記憶される場合にはファイル名を異ならせ、それらデータアドレスまたはファイル名に対応するデータアドレスのアクセスがあったときに補助記憶装置側で特定のデータの読み出し指示、またはこれに関連する準備的な指示であることを判別できればよい。
【図面の簡単な説明】
【0049】
【図1】この発明の実施例の電子機器およびメモリカードからなる情報処理システムを全体として示す図である。
【図2】図1の電子機器の一例としての携帯電話機の構成例を説明するブロック図である。
【図3】図1のメモリカードの構成例を模式的に示す図である。
【図4】図1の情報処理システムにおける読み出しアクセスの態様(キャッシュデータなし)を説明する図である。
【図5】図1の情報処理システムにおける読み出しアクセスの態様(キャッシュデータあり)を説明する図である。
【図6】アプリケーションプログラムによるメモリカードへの読み出しの準備動作例を説明する図である。
【図7】アプリケーションプログラムによるメモリカードへの読み出し動作例を説明する図である。
【図8】アプリケーションプログラムによるメモリカードへの書き込みの準備動作例を説明する図である。
【図9】アプリケーションプログラムによるメモリカードへの書き込み動作例を説明する図である。
【図10】実施例の動作例(成功した場合)を説明する図である。
【図11】実施例の動作例(失敗した場合)を説明する図である。
【図12】実施例の要部構成を模式的に示すブロック図である。
【符号の説明】
【0050】
10 CPU
11 RAM
12 ROM
13 入力部
14 表示部
15 音声処理部
16 データ処理部
17 無線送受信部
18 マイクロホン/スピーカ
19 バスシステム
20 アプリケーションプログラム
21 ファイルシステム
21A オペレーティングシステム/ミドルウェア
22 キャッシュシステム
23 デバイスドライバ
100 電子機器
100A メモリカードインタフェース
110 携帯電話機
111 読取アクセスシーケンス処理部
112 検証部
113 データ記憶部
114 ソフトウェア
121 判別部
122 証明部
123 データ記憶部
124 ソフトウェア
200 メモリカード
201 第1不揮発性メモリ領域
202 第2不揮発性メモリ領域
203 コントローラ
204 揮発性メモリ
205 外部インタフェース

【特許請求の範囲】
【請求項1】
予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに予め定められたデータを読み出す要求があったと判別する判別手段を有する、取り外し可能な補助記憶装置。
【請求項2】
予め定められた複数の異なるアドレスと複数のファイル名とを対応付けたファイルシステムを介してファイルのアクセスを受ける請求項1記載の取り外し可能な補助記憶装置。
【請求項3】
上記判別手段が上述の要求があったと判別したときに肯定的な応答を読取装置に送信する請求項1または2記載の補助記憶装置。
【請求項4】
上記肯定的な応答を受け取った上記読取装置は補助記憶装置本体に対してチャレンジ・レスポンス認証用のチャレンジデータを送り、上記補助記憶装置本体は、レスポンスデータと関連して上記予め定められたデータを上記読取装置に送出する請求項3記載の補助記憶装置。
【請求項5】
上記予め定められたデータはユーザデータ領域以外の領域に記憶されている請求項1〜4のいずれかに記載の補助記憶装置。
【請求項6】
上記予め定められたデータはユーザデータ領域に記憶されている請求項1〜4のいずれかに記載の補助記憶装置。
【請求項7】
本体に着脱自在に結合されている補助記憶装置から予め定められたデータを読み取るときに、上記補助記憶装置の予め定められた複数の異なるアドレスに順次に読み出しアクセスを行う補助記憶装置用の読取装置。
【請求項8】
予め定められた複数の異なるアドレスと複数のファイル名とを対応付けたファイルシステムを介して上記補助記憶装置に記憶されているファイルのアクセスを行う請求項7記載の補助記憶装置用の読取装置。
【請求項9】
補助記憶装置と上記補助記憶装置を着脱可能に結合させる読取装置とを含む情報処理装置において、
上記読取装置は、上記補助記憶装置から予め定められたデータを読み取るときに、当該補助記憶装置の予め定められた複数の異なるアドレスに順次に読み出しアクセスを行い、
上記補助記憶装置は、上記予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに上記予め定められたデータを読み出す要求があったと判別する判別手段を有し、上記判別手段の判別結果に基づいて上記予め定められたデータを上記読取装置に送信する情報処理装置。
【請求項10】
プロセッサを、予め定められた複数の異なるアドレスに順次に読み出しアクセスがあったときに予め定められたデータを読み出す要求があったと判別する判別手段として機能させる、取り外し可能な補助記憶装置用プログラム。
【請求項11】
プロセッサを、装置本体に着脱自在に結合されている補助記憶装置から予め定められたデータを読み取るときに、当該補助記憶装置の予め定められた複数の異なるアドレスに順次に読み出しアクセスを行うアクセス制御手段として機能させる読取装置用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−117784(P2010−117784A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−289079(P2008−289079)
【出願日】平成20年11月11日(2008.11.11)
【出願人】(596027900)株式会社インフォシティ (7)
【Fターム(参考)】