(57)【要約】【課題】  記憶制御装置を搭載しない物理構造を有しつつも、非常に強固なセキュリティ性を実現できるデータフォーマット構造を有したカード型記憶メディアを用いる通信システムを提供する。【解決手段】  着脱式記憶メディア１１の装着スロット１６を有した周辺装置に、その着脱式記憶メディア１１に書き込むデータファイルの暗号化を行なう暗号化論理回路と、その着脱式記憶メディアから読み出された（暗号化済の）データファイルの復号化を行な復号化論理回路とを搭載する。暗号化および復号化に必要な秘密鍵を、データメディア１１と別の秘密鍵メディア１２に記憶し、これを用いて周辺装置側で暗号化／復号化を行なうようにする。【選択図】  図１２
2008052514.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、該ホスト装置に接続される該ホスト装置の通信対象となる周辺装置であって、着脱式記憶メディアがスロットに着脱可能に装着され、前記周辺装置との間の通信イベントに基づいて該着脱式記憶メディアに対してデータアクセスを行なう記憶装置として構成された周辺装置とを備え、かつ、該周辺装置に、
前記ホスト装置側から非暗号化状態のデータファイルを受信するデータファイル受信手段と、
受信した前記データファイルを暗号化する暗号化論理回路と、
該暗号化されたデータファイルを前記着脱式記憶メディアに書き込む書込み手段と、
前着脱式記憶メディア内の暗号化されたデータファイルを読み出す読出し手段と、
読み出された前記データファイルを復号化する復号化論理回路と、
復号化された前記データファイルを前記ホスト装置に送信するデータファイル送信手段と、
を備えたことを特徴とする通信システム。
【請求項２】
前記周辺装置は、前記着脱式記憶メディアの装着スロットとして、前記暗号化されたデータファイルを記憶するデータメディアを装着するためのデータメディア用スロットと、前記データファイルの暗号化ないし復号化に使用する秘密鍵の情報を記憶した秘密鍵メディアを装着するための秘密鍵メディア用スロットとを独立に備え、
前記暗号化論理回路及び前記復号化論理回路は、前記秘密鍵メディア用スロットに装着された前記秘密鍵メディアから前記秘密鍵を読み出し、該秘密鍵を用いて前記データファイルの暗号化ないし複合化を実行する請求項１記載の通信システム。
【請求項３】
前記周辺装置は、各々種別の異なる着脱式記憶メディアを装着するための複数の装着スロットを備え、前記秘密鍵メディア用スロットと前記データメディア用スロットとが、互いに種別の異なる着脱式記憶メディアの装着用スロットとして構成されている請求項２記載の通信システム。
【請求項４】
前記データメディアは、
ファイル単位による記憶データの読出し、書込み及び消去が可能とされた実データ記憶エリアと、該実データ記憶エリア内における各データファイルの占有エリアと、データファイルに占有されない空きエリアと、それらエリアの前記実データ記憶エリア内での位置を特定可能に記述されたファイル管理情報を記憶する実ファイル管理情報記憶エリアとが、予め定められたメディアフォーマットに従い形成された実メディアエリアを有するとともに、前記実データ記憶エリアに、記憶内容が全て暗号化された状態で書きまれるセキュリティエリアと、前記暗号化がなされないノーマルエリアとが分割形成されるとともに、前記ノーマルエリアに非暗号化状態で格納されるデータファイルをノーマルファイル、前記セキュリティエリアに暗号化状態で格納されるデータファイルをセキュリティファイルとして、
前記実ファイル管理情報記憶エリアには、前記ノーマルエリアにおける前記ノーマルファイルの前記占有エリアの位置と、該ノーマルファイルに占有されない前記空きエリアの位置とを特定するとともに、前記実メディアエリアの先頭を基準とする第一のエリア座標系に従って記述されたノーマルファイル管理情報が記憶されるようになっており、
前記セキュリティファイルを格納するとともに、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた仮想データ記憶エリアと、該仮想データ記憶エリア内における各セキュリティファイルの占有エリア位置と、該セキュリティファイルに占有されない空きエリア位置とを少なくとも特定可能に記述されたファイル管理情報を記憶する仮想ファイル管理情報記憶エリアとが、前記実データ記憶エリアと前記実ファイル管理情報記憶エリアとの形成形態を規定する前記メディアフォーマットと同一のフォーマットに従い形成された仮想メディアエリアが前記セキュリティエリアに形成され、
前記仮想ファイル管理情報記憶エリアは、前記仮想メディアエリアを独立した別のデータメディアとみなして、前記仮想データ記憶エリア内にて前記セキュリティファイルの占有エリア及び空きエリアを位置特定するためのファイル管理情報が、前記仮想メディアエリアの先頭を基準とする第二のエリア座標系に従って記述されるようになっており、
前記セキュリティエリアの先頭には、前記仮想メディアエリアとは別に、前記第一のエリア座標系に従って記述されたファイル管理情報を前記第二のエリア座標系でのファイル管理情報に変換するためのエリア座標変換情報と、ヘッダエリア内の固定領域に書き込まれ前記セキュリティエリアへのアクセスを認証するための暗号化された認証照合情報とを格納するためのヘッダエリアが形成され、
前記セキュリティファイルを含む前記セキュリティエリア内の情報を一括して暗号化することにより、前記実データ記憶エリア上にて仮想単一ファイルとして扱われるマクロセキュリティファイルが形成されるようになっており、該マクロセキュリティファイルの前記実データ記憶エリア上での記憶位置を特定するマクロセキュリティファイル記憶位置情報が前記実データ記憶エリア外に書き込まれるもの、として構成され、
前記周辺装置は、
前記データメディア用スロットに装着された前記データメディアへのアクセスモードを、前記ノーマルエリアにのみアクセスが可能なノーマルモードと、前記セキュリティエリアにアクセスが可能なセキュリティモードとのいずれかに設定するアクセスモード設定手段と、
前記データメディアから前記マクロセキュリティファイル記憶位置情報を読み出すことにより、該データメディア内のマクロセキュリティファイルの位置を特定し、前記ヘッダエリアの先頭に位置する暗号化された前記認証照合情報を読み出すとともに、前記秘密鍵メディア用スロットに装着された前記秘密鍵メディア内の前記秘密鍵により前記復号化論理回路が復号化した前記認証照合情報に基づいて、前記データメディアへの前記ホスト装置側からのアクセス権を認証する認証手段と、
前記認証手段による認証結果が受理認証であった場合にのみ、前記アクセスモード設定手段に対し前記アクセスモードを前記セキュリティモードに設定させるアクセスモード設定制御手段と、
前記セキュリティモードに移行した場合に、当該セキュリティモードの適用対象となる装着中のデータメディアを別のデータメディアとして仮想認識させるためのメディア仮想交換情報を前記周辺装置から前記ホスト装置に送信するメディア仮想交換情報送信手段と、
前記メディア仮想交換情報の送信後の、前記ホスト装置側からの前記セキュリティエリアへのデータアクセス時において、前記アクセス対象となるセキュリティファイルの前記第二のエリア座標系にて記述された前記仮想ファイル管理情報を取得し、前記エリア座標変換情報を用いて前記第一のエリア座標系にて記述されたファイル管理情報に変換するファイル管理情報変換手段と、
当該変換後のファイル管理情報を用いて前記セキュリティエリアへのデータアクセスを、ファイル書込時には当該ファイルを前記暗号化論理回路により暗号化しつつ書き込み、ファイル読出し時には当該ファイルを前記復号化論理回路により復号化しつつ読み出すセキュリティエリアアクセス手段と、が設けられてなる請求項２又は請求項３に記載の通信システム。
【請求項５】
前記データメディア内において前記ヘッダエリアには、予め定められた照合用元データを暗号化した状態で前記認証照合情報として格納する認証照合情報格納領域が設けられ、
前記周辺装置には、前記照合用元データをセキュリティーマスター情報として記憶するセキュリティーマスター情報記憶手段が設けられるとともに、前記認証手段は、前記秘密鍵メディアから前記秘密鍵を読み出し、該秘密鍵により前記認証照合情報を復号化した情報を照合対象情報として、該照合対象情報が前記セキュリティーマスター情報と照合一致した場合に受理認証とし、照合不一致の場合に棄却認証とするものである請求項４記載の通信システム。
【請求項６】
前記データメディアは、前記実メディアエリアが一定サイズの複数のセクタに区分され、データファイルの読出し、書込み及び消去が該セクタ単位でなされるとともに、前記ファイルの占有エリアと空きエリアとの位置を特定するためのエリア座標系が一連の前記セクタを個々に特定するために連続番号で各前記セクタに付与されたセクタ番号を用いて規定され、
前記セキュリティエリアは、前記実データ記憶エリア内にて前記セクタ番号の連続した連続エリアとして形成され、
前記実ファイル管理情報記憶エリアにおいて前記ノーマルファイル管理情報は、前記ノーマルファイルの占有セクタ番号と、該ノーマルファイルに占有されない空きセクタ番号とを、前記実メディアエリアの先頭セクタ番号を基準として定めた前記第一のエリア座標系として第一のセクタ番号列を用いて記述され、
前記仮想ファイル管理情報記憶エリアにおいて前記ファイル管理情報は、前記セキュリティファイルの占有セクタ番号と、該セキュリティファイルに占有されない空きセクタ番号とを、前記仮想メディアエリアの先頭セクタ番号を基準として定めた前記第二のエリア座標系として第二のセクタ番号列を用いて記述したものであり、
前記エリア座標変換情報は、前記実データ記憶エリアの先頭セクタ位置から前記仮想データ記憶エリアの先頭セクタ位置に至るオフセットセクタ数を特定可能なオフセット情報を含むものであり、
前記メディア仮想交換情報の送信後に、前記セキュリティエリアの前記ヘッダを除いた部分のセキュリティセクタ数を、仮想的な前記別のデータメディアのセクタ数として前記ホスト装置に通知するセクタ数通知手段と、
前記ホスト装置側からの前記セキュリティエリアへのデータアクセス時において、前記ホスト装置側から受け取る前記第二のセクタ番号列を用いて記述されたアクセス対象ファイルのセクタ番号を、前記オフセット情報を用いて前記第一のセクタ番号列を用いて記述された前記アクセス対象ファイルのセクタ番号に変換する前記ファイル管理情報変換手段としてのセクタ番号変換手段とを備え、
前記セキュリティエリアアクセス手段は、当該変換後のセクタ番号にて前記セキュリティエリアへのデータアクセスを行なう請求項４又は請求項５に記載の通信システム。
【請求項７】
前記データメディアは、
前記実ファイル管理情報記憶エリアが前記実データ記憶エリアの先頭側に隣接するセクタエリアに設けられており、
前記仮想メディアエリア内において、前記仮想ファイル管理情報記憶エリアが前記仮想データ記憶エリアの先頭側に隣接するセクタエリアに設けられており、
前記セキュリティエリア内にて、前記ヘッダエリアが前記仮想メディアエリアの先頭側に隣接するセクタエリアに設けられたものである請求項６記載の通信システム。
【請求項８】
前記データメディアは、前記認証照合情報が、前記秘密鍵で予め定められた情報を暗号化した照合情報であって当該秘密鍵自身には照合適合しない情報として、前記ヘッダエリアの先頭に一定バイト数にて記憶されるものである請求項７記載の通信システム。
【請求項９】
前記データメディアの前記ヘッダエリアには、前記仮想データ記憶エリアのセクタ数を特定するための仮想データ記憶エリアセクタ数情報が記憶されている請求項７又は請求項８に記載の通信システム。
【請求項１０】
前記データメディアの前記ノーマルエリアが前記セキュリティエリアの前後に分割した形で形成され、前記仮想データ記憶エリアセクタ数情報に基づいて前記セキュリティエリアの後に続く前記ノーマルエリアが特定可能とされてなる請求項９記載の通信システム。
【請求項１１】
前記データメディアの前記メディアフォーマットは、前記実データ記憶エリア及び前記実ファイル管理情報記憶エリアと該実ファイル管理情報記憶エリアの先頭側に隣接したブートセクタとがメディア内に１つのみのパーティションエリアを構成する形で、ＡＮＳＩに準拠したハードディスクフォーマットをエミュレーションする形で定められ、前記ブートセクタは、当該パーティションエリアをブートディスクとして使用するためのイニシャルプログラムローダーの格納セクタとして確保されるとともに、前記実ファイル管理情報記憶エリアには、その先頭側から、前記ノーマルファイルの占有セクタ番号をファイル名と対応付けて記憶するファイルアロケーションテーブルの格納セクタと、前記ノーマルファイルのルートディレクトリの格納セクタとが確保され、さらに、
前記実メディアエリアの先頭セクタが、前記パーティションエリアにて前記イニシャルプログラムローダーの有無を検索し、これを起動するためのマスターブートプログラムと、メディア内のパーティション情報を記憶したパーティションテーブルとを格納するためのマスターブートレコードセクタとして確保され、
前記マクロセキュリティファイル記憶位置情報として該マクロセキュリティファイルの占有セクタ番号が、前記マスターブートレコードセクタ、前記ブートセクタ及び前記ファイルアロケーションテーブルのいずれかに書き込まれる請求項６ないし請求項１０のいずれか１項に記載の通信システム。
【請求項１２】
前記データメディアの前記パーティションエリアを前記ブートディスクとして使用しない前提にて、前記マスターブートレコードセクタにおいて前記マスターブートプログラムの格納用として確保された空き領域に、前記マクロセキュリティファイルの占有セクタ番号が書き込まれる請求項１１記載の通信システム。
【請求項１３】
前記データメディアの前記パーティションエリアを前記ブートディスクとして使用しない前提にて、前記ブートセクタにおいて前記イニシャルプログラムローダーの格納用として確保された空き領域に、前記マクロセキュリティファイルの占有セクタ番号が書き込まれる請求項１１記載の通信システム。
【請求項１４】
前記データメディアの前記マクロセキュリティファイルの占有セクタ番号が、該マクロセキュリティファイルに固有に定められた固定ファイル名と対応付けた形で、前記ファイルアロケーションテーブルに書き込まれる請求項１１記載の通信システム。
【請求項１５】
請求項１ないし請求項１４のいずれか１項に記載の通信システムを構成する前記周辺装置であって、
前記着脱式記憶メディアを装着するためのスロットと、
前記ホスト装置側から非暗号化状態のデータファイルを受信するデータファイル受信手段と、
受信した前記データファイルを暗号化する暗号化論理回路と、
該暗号化されたデータファイルを前記着脱式記憶メディアに書き込む書込み手段と、
前着脱式記憶メディア内の暗号化されたデータファイルを読み出す読出し手段と、
読み出された前記データファイルを復号化する復号化論理回路と、
復号化された前記データファイルを前記ホスト装置に送信するデータファイル送信手段と、
を備えたことを特徴とする周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、着脱式記憶メディアを使用する通信システム及びそれに使用する周辺装置に関する。
【背景技術】
【０００２】
【特許文献１】特開２００２−９２７４５号公報
【特許文献２】特開２００６−１８３４５号公報
【０００３】
近年、フラッシュメモリなどの不揮発性メモリがカード型にパッケージングされたいわゆるメモリーカード（カード型記憶メディア：記録メディアの一例）が広く知られている。このメモリーカードは、デジタルカメラや携帯音楽プレーヤーなどのデジタル機器に用いられるデータの記憶メディアとして急速に普及している。メモリーカードの仕様は統一されておらず、例えば、コンパクトフラッシュ（登録商標、以下「ＣＦ」と略称する）、スマートメディア（登録商標、以下「ＳＭ」と略称する）、メモリースティック（登録商標、以下「ＭＳ」と略称する）、ＳＤメモリーカード（登録商標、以下「ＳＤ」と略称する）など、種々のものが市場に出回っている。これらメモリーカードは、ＰＣなどに接続されてメモリーカードの読み書きを行なうメモリーカードリーダライタ（周辺装置の一例、以下「リーダライタ」と略称する）を用いることで、ＰＣから上記メモリーカードへのアクセスが可能となる。これにより、ＰＣとメモリーカードとの間でデータ通信が行なえるようになる。逆にいえば、これらのメモリーカードは、リーダライタに装着されることによって初めてデータ通信が可能となるものであって、能動的な通信機能部（例えばプロトコル解析部やデータ送受信部）や記憶制御装置は自身には搭載されず、リーダライタ側に依存する。
【０００４】
上記のメモリーカードには、ＰＣに内蔵されたカードリーダドライブを介してソフトウェア処理により暗号化したパスワードを書き込むようにし、ＰＣ側でそのパスワードを読み出して、ユーザーが入力したパスワードと照合して認証を行なうようにしたものが知られている（特許文献１）。他方、記憶制御装置を搭載し、補助記憶装置としての機能を兼ね備えた着脱式記憶メディアとして、いわゆるＵＳＢメモリが知られている（特許文献２）。このＵＳＢメモリの中には、その記憶制御装置内に暗号化／復号化の論理回路を搭載し、ファイルアロケーションテーブル（ＦＡＴ）の記憶内容を保護できるようにしたものが知られている（特許文献２）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１及び特許文献２のいずれにおいても、メモリに書き込まれる肝心のデータファイルには暗号化が一切施されず、セキュリティ性や不正アクセスによるデータ破壊などへの対策が必ずしも強固とはいえない問題がある。また、特許文献２の構成の場合、暗号化ロジックを備えた専用のメディア（例えば、上記のごとくセキュリティ用のロジックを搭載した特殊なＵＳＢメモリ）を用いなければセキュリティ機能を享受できず、一般的な構造のメモリーカードには適用不能な技術である。さらに、格納するファイル別に暗号化履歴とＦＡＴ上の各ファイルの格納セクタ情報とを対応付けていちいちＰＣ側に記録する必要があり、記録の残っているＰＣでしか復号化ができない大きな欠点がある。また、暗号化されたファイルがあるかどうかを履歴上で検索し、対応する暗号化ＦＡＴ領域を選択的に復号化する処理を行なわなければならず、処理プログラムの複雑化を招く。そもそも、記憶メディア１つ１つに暗号化／復号化の論理回路を搭載せねばならないので、記憶メディアの単価高騰につながることはいうまでもない。
【０００６】
なお、ユーザーがＰＣ上で専用ソフトウェアにより記憶するべきデータファイルをファイル毎に暗号化してから、通常のファイルと同様にメモリーカードに書き込む方法もあるが、この方法は保存するファイル数が多い場合には大変な手間がかかり、大容量化が進むメモリーカードにおいては現実的な方法といえない。
【０００７】
本発明の課題は、着脱式記憶メディア自身には特に暗号化等の暗号化／復号化の論理回路を搭載せずとも、非常に強固なセキュリティ性を実現できるデータフォーマット構造を該着脱式記憶メディアに付与できる通信システムと、それに使用する周辺装置とを提供することにある。
【課題を解決するための手段及び発明の効果】
【０００８】
上記課題を解決するために、本発明の通信システムは、
ホスト装置と、該ホスト装置に接続される該ホスト装置の通信対象となる周辺装置であって、着脱式記憶メディアがスロットに着脱可能に装着され、前記周辺装置との間の通信イベントに基づいて該着脱式記憶メディアに対してデータアクセスを行なう記憶装置として構成された周辺装置とを備え、かつ、該周辺装置に、
前記ホスト装置側から非暗号化状態のデータファイルを受信するデータファイル受信手段と、
受信した前記データファイルを暗号化する暗号化論理回路と、
該暗号化されたデータファイルを前記着脱式記憶メディアに書き込む書込み手段と、
前着脱式記憶メディア内の暗号化されたデータファイルを読み出す読出し手段と、
読み出された前記データファイルを復号化する復号化論理回路と、
復号化された前記データファイルを前記ホスト装置に送信するデータファイル送信手段と、を備えたことを特徴とする。
【０００９】
また、本発明の周辺装置は、上記本発明の通信システムを構成する周辺装置であって、
着脱式記憶メディアを装着するためのスロットと、
前記ホスト装置側から非暗号化状態のデータファイルを受信するデータファイル受信手段と、
受信した前記データファイルを暗号化する暗号化論理回路と、
該暗号化されたデータファイルを前記着脱式記憶メディアに書き込む書込み手段と、
前着脱式記憶メディア内の暗号化されたデータファイルを読み出す読出し手段と、
読み出された前記データファイルを復号化する復号化論理回路と、
復号化された前記データファイルを前記ホスト装置に送信するデータファイル送信手段と、を備えたことを特徴とする。
【００１０】
上記本発明の構成では、着脱式記憶メディアの装着スロットを有した周辺装置側に、その着脱式記憶メディアに書き込むデータファイルの暗号化を行なう暗号化論理回路と、その着脱式記憶メディアから読み出された（暗号化済の）データファイルの復号化を行な復号化論理回路とを搭載した。これにより、データファイルが全てメディアに暗号化した状態で書き込まれるので高いセキュリティ性が実現するとともに、データファイル読み書きの際に発生する暗号化ないし復号化の演算処理が全て周辺装置側の論理回路にて実行されるので、暗号化／復号化の処理に時間がかからず、データ読み書きのアクセス時間に及ぶ影響も少ない。また、周辺装置側の制御を司るＣＰＵから暗号化／復号化の論理回路が分離されるので、該ＣＰＵに演算負担がかからず軽量化を図ることができる。さらに、記憶メディア１つ１つに暗号化／復号化の論理回路を搭載する必要がなくなり、記憶メディアの単価も削減できる。
【００１１】
なお、本発明の適用対象となる着脱式記憶メディアは暗号化／復号化の論理回路を搭載しない着脱式記憶メディアであればよく、例えば、（記憶制御装置を有さない）カード型記憶メディアとすることができる。また、暗号化／復号化の論理回路は搭載しないが記憶制御装置は一体的に組み込まれた着脱式記憶メディアであってもよい。
【００１２】
周辺装置は、着脱式記憶メディアの装着スロットとして、暗号化されたデータファイルを記憶するデータメディアを装着するためのデータメディア用スロットと、データファイルの暗号化ないし復号化に使用する秘密鍵の情報を記憶した秘密鍵メディアを装着するための秘密鍵メディア用スロットとを独立に備えたものとして構成できる。この場合、暗号化回路及び復号化回路は、秘密鍵メディア用スロットに装着された秘密鍵メディアから秘密鍵を読み出し、該秘密鍵を用いてデータファイルの暗号化ないし複合化を実行するものとして構成することができる。
【００１３】
暗号化および復号化に必要な秘密鍵を、データメディアと別の秘密鍵メディアに記憶し、これを用いて周辺装置側で暗号化／復号化を行なうようにすることで、データメディアへの暗号化／復号化を伴うデータファイルの書込ないし読出しが、秘密鍵メディアを保持するユーザーにのみ許可される形となり、セキュリティ性が高められる。また、周辺装置側での秘密鍵の取得にホスト装置との通信処理が関与せず、暗号化／復号化の一連の処理を周辺装置側で完結させることができるので、ホスト装置側での秘密鍵（例えば、パスワード等）の入力や周辺装置側への送信、さらには秘密鍵を用いた周辺装置側での認証結果のホスト装置側への送信などが不要となり、処理の簡略化を図ることができる。
【００１４】
ところで、着脱式記憶メディアには種々の規格が存在し、周辺装置の中には、各々種別の互いに異なる着脱式記憶メディアを装着するための複数の装着スロットを備えたものが存在する。そのような場合、秘密鍵メディア用スロットとデータメディア用スロットとは、互いに種別の異なる着脱式記憶メディアの装着用スロットとして構成することができる。例えば、デジタルカメラや携帯電話などに使用する着脱式記憶メディアは、保有する機種に応じて適合するものをユーザーが選んで使用することになる。この場合、機種の買い替え等が生じない限り、データ記録用の着脱式記憶メディアも固定された種別のものが使用されるケースが多い。この場合、ユーザーは、普段使わない着脱式記憶メディアを秘密鍵メディアとして使用することで、データ記録用に通常使用している着脱式記憶メディアとの間でスロットが競合する不具合を回避することができる。
【００１５】
上記のデータメディアは以下のような構成のものを採用することができる。すなわち、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた実データ記憶エリアと、該実データ記憶エリア内における各データファイルの占有エリアと、データファイルに占有されない空きエリアと、それらエリアの実データ記憶エリア内での位置を特定可能に記述されたファイル管理情報を記憶する実ファイル管理情報記憶エリアとが、予め定められたメディアフォーマットに従い形成された実メディアエリアを有するとともに、実データ記憶エリアに、記憶内容が全て暗号化された状態で書きまれるセキュリティエリアと、暗号化がなされないノーマルエリアとを分割形成する。以下、ノーマルエリアに非暗号化状態で格納されるデータファイルをノーマルファイル、セキュリティエリアに暗号化状態で格納されるデータファイルをセキュリティファイルとして定義する。
【００１６】
実ファイル管理情報記憶エリアには、ノーマルエリアにおけるノーマルファイルの占有エリアの位置と、該ノーマルファイルに占有されない空きエリアの位置とを特定するとともに、実メディアエリアの先頭を基準とする第一のエリア座標系に従って記述されたノーマルファイル管理情報が記憶される。また、セキュリティファイルを格納するとともに、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた仮想データ記憶エリアと、該仮想データ記憶エリア内における各セキュリティファイルの占有エリア位置と、該セキュリティファイルに占有されない空きエリア位置とを少なくとも特定可能に記述されたファイル管理情報を記憶する仮想ファイル管理情報記憶エリアとが、実データ記憶エリアと実ファイル管理情報記憶エリアとの形成形態を規定するメディアフォーマットと同一のフォーマットに従い形成された仮想メディアエリアをセキュリティエリアに形成する。仮想ファイル管理情報記憶エリアは、仮想メディアエリアを独立した別のデータメディアとみなして、仮想データ記憶エリア内にてセキュリティファイルの占有エリア及び空きエリアを位置特定するためのファイル管理情報が、仮想メディアエリアの先頭を基準とする第二のエリア座標系に従って記述される。
【００１７】
また、セキュリティエリアの先頭には、仮想メディアエリアとは別に、第一のエリア座標系に従って記述されたファイル管理情報を第二のエリア座標系でのファイル管理情報に変換するためのエリア座標変換情報と、ヘッダエリア内の固定領域に書き込まれセキュリティエリアへのアクセスを認証するための暗号化された認証照合情報とを格納するためのヘッダエリアを形成する。さらに、セキュリティファイルを含むセキュリティエリア内の情報を一括して暗号化することにより、実データ記憶エリア上にて仮想単一ファイルとして扱われるマクロセキュリティファイルが形成されるようになっており、該マクロセキュリティファイルの実データ記憶エリア上での記憶位置を特定するマクロセキュリティファイル記憶位置情報が実データ記憶エリア外に書き込まれる。
【００１８】
上記のデータメディアの使用を前提として、周辺装置は、データメディア用スロットに装着されたデータメディアへのアクセスモードを、ノーマルエリアにのみアクセスが可能なノーマルモードと、セキュリティエリアにアクセスが可能なセキュリティモードとのいずれかに設定するアクセスモード設定手段と、
データメディアからマクロセキュリティファイル記憶位置情報を読み出すことにより、該データメディア内のマクロセキュリティファイルの位置を特定し、ヘッダエリアの先頭に位置する暗号化された認証照合情報を読み出すとともに、秘密鍵メディア用スロットに装着された秘密鍵メディア内の秘密鍵により復号化論理回路が復号化した認証照合情報に基づいて、データメディアへのホスト装置側からのアクセス権を認証する認証手段と、
認証手段による認証結果が受理認証であった場合にのみ、アクセスモード設定手段に対しアクセスモードをセキュリティモードに設定させるアクセスモード設定制御手段と、
セキュリティモードに移行した場合に、当該セキュリティモードの適用対象となる装着中のデータメディアを別のデータメディアとして仮想認識させるためのメディア仮想交換情報を周辺装置からホスト装置に送信するメディア仮想交換情報送信手段と、
メディア仮想交換情報の送信後の、ホスト装置側からのセキュリティエリアへのデータアクセス時において、アクセス対象となるセキュリティファイルの第二のエリア座標系にて記述された仮想ファイル管理情報を取得し、エリア座標変換情報を用いて第一のエリア座標系にて記述されたファイル管理情報に変換するファイル管理情報変換手段と、
当該変換後のファイル管理情報を用いてセキュリティエリアへのデータアクセスを、ファイル書込時には当該ファイルを暗号化論理回路により暗号化しつつ書き込み、ファイル読出し時には当該ファイルを復号化論理回路により復号化しつつ読み出すセキュリティエリアアクセス手段と、を有するものとして構成することができる。
【００１９】
上記構成によると、データメディアの記憶エリアが、周知のファイルシステムによるデータファイルへのアクセスが可能となるように、データ記憶エリアと、該データ記憶エリア内における各データファイルの占有エリアと、データファイルに占有されない空きエリアと、それらエリアのデータ記憶エリア内での位置を特定可能に記述されたファイル管理情報を記憶するファイル管理情報記憶エリアとに区画される。そして、そのデータ記憶エリアの内部に、セキュリティファイル専用の仮想メディアエリアが形成される。本発明においては、現実のデータメディアの上記データ記憶エリアとファイル管理情報記憶エリアとを含む全記憶領域を、この仮想メディアエリアと区別するために「実メディアエリア」と称し、上記のデータ記憶エリアとファイル管理情報記憶エリアとをそれぞれ、「実データ記憶エリア」及び「実ファイル管理情報記憶エリア」と称する。この仮想メディアエリアが、実データ記憶エリア内に別途形成されたヘッダエリアとともにセキュリティエリアを形成するとともに、該セキュリティエリア内の全情報が一括して暗号化され、実メディアエリアから見たときに単一のマクロセキュリティファイルが形成されるようになっている。実データ記憶エリア内のセキュリティエリア外の領域には、暗号化されたノーマルファイルの格納エリア（ノーマルエリア）として使用される。マクロセキュリティファイルの実データ記憶エリア上の格納位置は、マクロセキュリティファイル記憶位置情報として実データ記憶エリア外に書き込まれる。
【００２０】
ヘッダエリアには、セキュリティエリアへのアクセスを認証するための認証照合情報が（暗号化された形で）その先頭に格納される。ホスト装置側からセキュリティエリアへアクセスしようとした場合に、セキュリティエリアの先頭にある固定領域の情報を認証照合情報として読み込んで認証処理を行ない、認証受理であれば、セキュリティエリアにおけるセキュリティファイルの読出しないし書き込みのためのアクセスが許可される。このとき重要な点は、セキュリティエリアへのアクセスが認証受理により許可されるに伴い周辺装置からホスト装置（ＰＣ）にメディア仮想交換情報を、実際に装着されているメディアが、仮想メディアエリアに実体が一致する新しいメディアに、（実際には交換はなされていないが）仮想的に交換されたものとしてホスト装置に認識させることにある。つまり、仮想ファイル管理情報はセキュリティファイルの格納位置を示す情報でありながら、実ファイル管理情報記憶エリアではなく、実データ記憶エリア内に書き込まれているファイルの一部をなす情報として記録されているので、同じメディアとして認識され続ける以上、セキュリティファイルの在り処を示すファイル管理情報として読み出すことができない。従って、実メディアエリア上では正規のファイル管理情報として認識されない仮想ファイル管理情報を、セキュリティファイル用のファイル管理情報として認識させるために、上記の仮想メディアエリアを新しいメディアとして認識させることが必要となる。
【００２１】
ノーマルファイルについては、実ファイル管理情報記憶エリアに、ノーマルエリアにおける各ノーマルファイルの占有エリアの位置と空きエリアの位置とを特定するノーマルファイル管理情報が、実メディアエリアの先頭を基準とする第一のエリア座標系に従って記述され、ホスト装置側からはこのノーマルファイル管理情報を直接用いてノーマルエリアへのアクセスが可能である。一方、仮想メディアエリアについては、上記のごとくホスト装置においては交換された新しいメディアとして認識されるが、実際はメディア交換はなされておらず、実体は同じメディアの実データ記憶エリアの一部を新しいメディアに見せかけているに過ぎない。そして、ここに書き込まれるセキュリティファイルを管理する仮想ファイル管理情報は、新メディアに交換されたと認識する周辺装置からは、該新メディアに相当する仮想メディアエリアの先頭を基準とした第二のエリア座標系に従って記述されていなければならないが、メディアへのアクセス動作を直接行なう周辺装置側から見れば、実際には交換されていないメディアの実メディアエリアへのアクセスに何ら変わりはなく、ノーマルファイルと同様に、第一のエリア座標系に従って記述されたファイル管理情報を用いなければならない。
【００２２】
そこで、セキュリティエリアの前述のヘッダエリアに、第一のエリア座標系に従って記述されたファイル管理情報を第二のエリア座標系でのファイル管理情報に変換するためのエリア座標変換情報を格納しておき、セキュリティエリアへのアクセスイベントが発生する場合は、仮想メディアエリア（つまり、新メディア）から第二のエリア座標系で記述されたファイル管理情報を用いてアクセス位置を認識し、上記エリア座標変換情報によりその仮想ファイル管理情報を実際のメディアのアクセス位置を示す第一のエリア座標系で記述されたファイル管理情報に逐次変換して周辺装置に与えるようにする（この変換の演算は、ＯＳ上で動作するアプリケーションによりホスト装置側で行なうようにすることも、周辺装置側で行なうようにすることも、いずれも可能である）。
【００２３】
以上の結果、上記構成では、以下のような効果が達成される。
（１）ノーマルモードでは、セキュリティエリアの全体が（複数のセキュリティファイルが格納されていても）暗号化された１つのマクロセキュリティファイルにしか見えず、内容解読が非常に困難であり、セキュリティ性を実現できる。また、マクロセキュリティファイル内への誤アクセス等によるデータ破壊も生じにくい。
（２）復号化するべきセキュリティエリアの開始位置（マクロセキュリティファイルの書込位置）が、マクロセキュリティファイル記憶位置情報としてデータメディア内の決められた領域に書き込まれており、認証用の認証照合情報がその先頭に固定して記述されているので、マクロセキュリティファイル自体がどのような内部データ構造になっているかが暗号化により識別できないにも拘わらず、認証照合情報自体はホスト装置側で決められたシーケンスによりデータメディアから問題なく読み出すことができる。つまり、そのデータメディアに固有の認証ロジックを搭載する必要がなくなり、結果として、データメディアが、暗号化／復号化の論理回路を搭載しない着脱式メディアであるにも拘わらず、高度なセキュリティ性が実現する。また、その認証結果を受けてマクロセキュリティファイルの予め定められた必要部分（例えば、後述の（仮想）ファイルアロケーションテーブル）を一括して復号化すればよいので、特許文献１のような暗号化履歴の記録や、その暗号化履歴の検索を行なわずとも、復号化を簡単に行なうことができる。
【００２４】
上記データメディアは以下のように構成することができる。すなわち、実メディアエリアが一定サイズの複数のセクタに区分され、データファイルの読出し、書込み及び消去が該セクタ単位でなされるとともに、ファイルの占有エリアと空きエリアとの位置を特定するためのエリア座標系が一連のセクタを個々に特定するために連続番号で各セクタに付与されたセクタ番号を用いて規定されたものとする。セキュリティエリアは、実データ記憶エリア内にてセクタの連続した連続エリアとして形成され、実ファイル管理情報記憶エリアにおいてノーマルファイル管理情報は、ノーマルファイルの占有セクタ番号と、該ノーマルファイルに占有されない空きセクタ番号とを、実メディアエリアの先頭セクタ番号を基準として定めた第一のエリア座標系として第一のセクタ番号列を用いて記述したものとする。仮想ファイル管理情報記憶エリアにおいてファイル管理情報は、セキュリティファイルの占有セクタ番号と、該セキュリティファイルに占有されない空きセクタ番号とを、仮想メディアエリアの先頭セクタ番号を基準として定めた第二のエリア座標系として第二のセクタ番号列を用いて記述したものとする。エリア座標変換情報は、実データ記憶エリアの先頭セクタ位置から仮想データ記憶エリアの先頭セクタ位置に至るオフセットセクタ数を特定可能なオフセット情報を含むものとする。
【００２５】
この場合の通信システムは、
メディア仮想交換情報の送信後に、セキュリティエリアのヘッダを除いた部分のセキュリティセクタ数を、仮想的な別のデータメディアのセクタ数としてホスト装置に通知するセクタ数通知手段と、
ホスト装置側からのセキュリティエリアへのデータアクセス時において、ホスト装置側から受け取る第二のセクタ番号列を用いて記述されたアクセス対象ファイルのセクタ番号を、オフセット情報を用いて第一のセクタ番号列を用いて記述されたアクセス対象ファイルのセクタ番号に変換するファイル管理情報変換手段としてのセクタ番号変換手段とを備え、セキュリティエリアアクセス手段は、当該変換後のセクタ番号にてセキュリティエリアへのデータアクセスを行なうものとして構成する。
この構成により、オフセットセクタ数を減算することで、第一のセクタ番号を第二のセクタ番号に簡単に変換でき、仮想メディアエリアを新しいメディアとして認識するためのセクタ変換処理のアルゴリズムを大幅に簡略化できる。
【００２６】
また、このようなセクタ構造を採用する場合、前述の（２）の作用効果を達成するためには、実ファイル管理情報記憶エリアは実データ記憶エリアの先頭側に隣接するセクタエリアに設けられており、仮想メディアエリア内において、仮想ファイル管理情報記憶エリアが仮想データ記憶エリアの先頭側に隣接するセクタエリアに設けられており、セキュリティエリア内にて、ヘッダエリアが仮想メディアエリアの先頭側に隣接するセクタエリアに設けられた構成とする必要がある。
【００２７】
次に、認証照合情報は、暗号化キーで予め定められた情報を暗号化した照合情報であって当該暗号化キー自身には照合適合しない情報として、ヘッダエリアの先頭に一定バイト数にて記憶しておくことが望ましい。この構成によると、パスワード等の暗号化キーがメディア内に直接書き込まれないので、セキュリティ性をより高めることができる。
【００２８】
また、セキュリティエリアの末尾セクタ（つまり、セキュリティエリアの大きさ）を特定するために、ヘッダエリアには、仮想データ記憶エリアのセクタ数を特定するための仮想データ記憶エリアセクタ数情報を記憶しておく必要がある。この仮想データ記憶エリアセクタ数情報を、ホスト装置からの指令値（例えば所望によりユーザーが入力する情報に基づいて設定される）により書換え可能としておけば、メディア内に設定されるセキュリティエリアの大きさを自由に変更することができる。また、ノーマルエリアがセキュリティエリアの前後に分割した形で形成されている場合は、仮想データ記憶エリアセクタ数情報に基づいてセキュリティエリアの後に続くノーマルエリアを特定することが可能となる。
【００２９】
次に、前述のメディアフォーマットは、実データ記憶エリア及び実ファイル管理情報記憶エリアと該実ファイル管理情報記憶エリアの先頭側に隣接したブートセクタとがメディア内に１つのみのパーティションエリアを構成する形で、ＡＮＳＩ（American National Standard Institute）に準拠したハードディスクフォーマットをエミュレーションする形で定めることができる。該ハードディスクフォーマットでは、ブートセクタは、当該パーティションエリアをブートディスクとして使用するためのイニシャルプログラムローダー（ＩＰＬ）の格納セクタとして確保される。この場合、実ファイル管理情報記憶エリアには、その先頭側から、ノーマルファイルの占有セクタ番号をファイル名と対応付けて記憶するファイルアロケーションテーブル（ＦＡＴ）の格納セクタと、ノーマルファイルのルートディレクトリ（ＲＤ）の格納セクタとが確保される。実メディアエリアの先頭セクタは、上記パーティションエリアにてイニシャルプログラムローダーの有無を検索し、これを起動するためのマスターブートプログラムと、メディア内のパーティション情報を記憶したパーティションテーブルとを格納するためのマスターブートレコードセクタ（ＭＢＲ）として確保される。この方式を採用すると、ＡＮＳＩにより広範に普及しているハードディスクの規格インフラをデータメディアにもそっくり適用でき、そのデータファイルの読み書き制御に係るソフトウェア開発の負担を大幅に軽減することができる。この場合、マクロセキュリティファイル記憶位置情報として該マクロセキュリティファイルの占有セクタ番号（連続セクタなので、特定セクタ（例えば、先頭セクタ）だけを特定できるものであってもよい）を、マスターブートレコードセクタ、ブートセクタ及びファイルアロケーションテーブルのいずれかに書き込んでおけばよい。
【００３０】
ホスト装置から、データメディア（周辺装置（記憶装置））へのデータアクセスは、ＯＳ上で動作するファイルシステムを利用してデータファイル単位でアクセスを行なう第一方式の他、例えばＳＣＳＩ通信を応用した後述の付加情報通信機構を用いることにより、データファイルを構成しない独立データの形にてセクタ単位でアクセスする第二方式も可能である。
【００３１】
この場合、記憶エリアとして定義されていないパーティションエリアをブートディスクとして使用しない前提では、マスターブートレコードセクタにおいてマスターブートプログラムの格納用として確保された空き領域（つまり、使用するメディアにシステム起動ディスクの機能を持たせない場合は、マスターブートプログラムを搭載する必要がない）に、マクロセキュリティファイルの占有セクタ番号（マクロセキュリティファイル記憶位置情報）を書き込むことができる。また、パーティションエリアをブートディスクとして使用しない前提にて、ブートセクタにおいては、イニシャルプログラムローダーも搭載の必要がないから、その格納用として確保された空き領域に、マクロセキュリティファイルの占有セクタ番号を書き込むこともできる。いずれの方式も、第二方式を採用することで容易に実現できる。
【００３２】
一方、第一方式を前提とする場合は、マクロセキュリティファイルの占有セクタ番号を、該マクロセキュリティファイルに固有に定められた固定ファイル名と対応付けた形で、ファイルアロケーションテーブルに書き込んでおくこともできる。つまり、ノーマルモードでもファイルとして顕在化できるように、マクロセキュリティファイルにファイル名を付けてファイルアロケーションテーブル（ノーマルモード用のもの）に登録しておくことで、ＯＳ上のファイルシステムからマクロセキュリティファイルの格納位置を容易に特定できる。
【００３３】
認証照合情報を、暗号化キーで予め定められた情報を暗号化した照合情報であって当該暗号化キー自身には照合適合しない情報としてデータメディア内に書き込むための具体的な方式として、次のようなものを例示できる。すなわち、前述のヘッダエリアに、予め定められた照合用元データを、マスター暗号化キーで暗号化した状態で認証照合情報として格納する認証用照合情報格納領域を設ける。周辺装置には、照合用元データをセキュリティーマスター情報として記憶するセキュリティーマスター情報記憶手段を設け、認証手段は、秘密鍵メディアから秘密鍵を読み出し、該秘密鍵により認証照合情報を復号化した情報を照合対象情報として、該照合対象情報がセキュリティーマスター情報と照合一致した場合に受理認証とし、照合不一致の場合に棄却認証とするものとする。秘密鍵と暗号化とを組み合わせた照合処理により、データ保護をより確実に図ることができる。また、上記の方式では、周辺装置側に個々のユーザーのパスワード登録部を設ける必要がなく、また、記憶メディアには秘密鍵が直接書き込まれない（直接書き込まれるのは、秘密鍵で照合用元データを暗号化した情報である）のでより安全性が高い。なお、秘密鍵として、暗号化キーと復号化キーとを兼ねたものを使用することができる。
【発明を実施するための最良の形態】
【００３４】
以下、適宜図面を参照して本発明の実施形態に係る通信システム１について説明する。図１Ａおよび図１Ｂは通信システム１に適用されるマルチリーダライタ２（記憶装置：周辺装置の一例）の斜視図、図２はマルチリーダライタ２の概略構成を示すブロック図、図６は通信システム１に適用されるＰＣ３（ホスト装置の一例）の概略構成を示すブロック図である。なお、以下に説明する通信システム１の構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。
【００３５】
図１Ａに示すように、マルチリーダライタ２は、その前面に着脱可能なカード型記憶メディア（着脱式記憶メディア）として、第１メモリーカード１１（例えばコンパクトフラッシュ（ＣＦ：登録商標））を挿入するための第１スロット１６と、第２メモリーカード１２（例えばスマートメディア（ＳＭ：登録商標））を挿入するための第２スロット１７と、第３メモリーカード１３（例えばメモリースティック（ＭＳ：登録商標））を挿入するための第３スロット１８と、第４メモリーカード１４（例えばＳＤメモリーカード（ＳＤ：登録商標））を挿入するための第４スロット１９とを備えている。なお、本実施形態では、周辺装置としてマルチリーダライタ２を例示して説明するが、シングルスロットタイプのリーダライタにも適用可能である。第１〜第４メモリーカード１１〜１４は、ＰＣ３によるデータの書き込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。
【００３６】
上記４つのスロット１６〜１９のうち、予め定められた１つのものが（対応する種別のメモリーカードを使用した）秘密鍵カード（秘密鍵メディア）用の装着スロットとされ、残余のスロットの任意のものを、実際にデータファイルを読み書きするためのデータカード（データメディア）用の装着スロットとして使用する。本実施形態では、図１２に示すように、第二メモリーカード１２（ＳＭ）を秘密鍵カードとして使用し、第１メモリーカード１１（ＣＦ）をデータカードとして使用する場合を例にとるが、もちろん、これに限定されるものではない。
【００３７】
マルチリーダライタ２はＵＳＢ／ＳＣＳＩ型周辺機器として構成され、その背面には、図１Ｂ及び図２に示すように、ＵＳＢケーブル２５（図２参照）を接続するためのＵＳＢ端子２４が設けられている。また、本実施形態では、主通信プロトコルとしてＳＣＳＩ−２のプロトコルが採用されているものとする。図２に示すように、マルチリーダライタ２は、その内部に、各構成部を制御するＣＰＵ２７と、制御プログラムや種々のデータ等を格納するＲＯＭ２８と、ＣＰＵ２７による演算の作業エリアとなるＲＡＭ２９と、入出力制御ＬＳＩ３１と、ＵＳＢチップ３２とを備え、これらがバス３３を介して相互にデータ転送が可能なように接続されている。マルチリーダライタ２は、該マルチリーダライタ２が接続されるＰＣ３との間で、ＳＣＳＩプロトコルに従うデータ通信を行なう。
【００３８】
具体的には、ＲＯＭ２８には、ＳＣＳＩプロトコルに基づいて作成された通信制御プログラムと、ＰＣ３から送信されたデータ（ＣＤＢ）を解析するために用いられる解析データのテーブルリストが格納され、ＣＰＵ２７は、リーダライタ２がＳＣＳＩ対応機器のターゲットとして機能するための、受信したＳＣＳＩコマンドに対応した通信イベントの実行制御処理を行なう。
【００３９】
ＳＣＳＩプロトコルに従い、ＰＣ３はホスト装置として通信イベントの起動決定権が与えられ、該ＰＣ３（ホスト装置：イニシエータ）に接続されるマルチリーダライタ２は、ＰＣ３（ホスト装置）の通信対象（ターゲット）となる。そして、通信イベントを実行命令するためのＳＣＳＩコマンドがＰＣ３（ホスト装置）からマルチリーダライタ２（周辺装置）に向けて順次発行される一方、発行されたコマンドを受領したマルチリーダライタ２（周辺装置）が当該ＳＣＳＩコマンドに対応するデータ処理を逐次実行し、その実行結果に応じた応答情報をホスト装置側に返信する。また、ＳＣＳＩコマンドの発行方向は、ＰＣ３（ホスト装置）側からマルチリーダライタ２（周辺装置）側への一方向に規制されている。
【００４０】
次に、ＵＳＢチップ３２には、各外部メモリ入出力制御部５１〜５４に共通して設けられたコマンド・データ・ステータス送受信部（以下、単に「送受信部」という；転送要素送受信部）３４１と、ＵＳＢ端子（通信バス接続端子）２４に接続されたＵＳＢプロトコルエンジン（プロトコルエンジン部）３２１と、転送通信処理の制御を司るＵＳＢコントロール部（制御指令部）３３１とが集積されてなる。
【００４１】
ここで、ＵＳＢプロトコルエンジン（プロトコルエンジン部）３２１と、ＵＳＢコントロール部（制御指令部）３３１とで構成される部分が通信制御部に該当し、また、この通信制御部と、ＵＳＢ端子（通信バス接続端子）２４とで構成される部分がシリアル通信部に該当する。
【００４２】
各ＵＳＢコントロール部３３１は、対応するＵＳＢプロトコルエンジン３２１にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続されている。また、送受信部３４１は、ＵＳＢプロトコルエンジン３２１に対し、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン３２１への入力用エンドポイントと、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン３２１からの出力用エンドポイントとを介して入出力経路が分離された形で接続されている。
【００４３】
ＵＳＢプロトコルエンジン３２１とＵＳＢコントロール部３３１とで構成される通信制御部は、それぞれ、ＰＣ側から、送受信部３４１の特定情報と、該送受信部３４１に対応するエンドポイントの特定情報とを受信して、該送受信部３４１をターゲットデバイスとしてポーリングすることにより、データアクセス先が外部メモリ入出力制御部５１〜５４であることと、データ送受信の方向とを特定する。なお、当然のことであるが、ターゲットデバイスとなる送受信部３４１側からホスト装置であるＰＣ３を逆ポーリングすることは、ＵＳＢプロトコルでは許されていない。
【００４４】
送受信部（転送要素送受信部）３４１は、ＵＳＢプロトコルエンジン３２１との間でＳＣＳＩプロトコルに従い送受信するものである。ここで、転送要素とは、ＰＣ３との間でＵＳＢバスを介してやり取りされる、通信イベントの内容を特定するコマンド（ＳＣＳＩコマンド）と、通信イベント処理実行に対応して周辺装置側から返信される応答情報（ステータス）とを含む（ＳＣＳＩコマンドに特定された処理内容が、メモリーカードに記憶されたデータの送受信に関係するデータアクセス処理であった場合は、そのデータも転送要素となる）。
【００４５】
ＣＰＵ２７は、送受信部３４１が受信したＳＣＳＩコマンドを解析するコマンド解析ステップと、該ＳＣＳＩコマンドに特定された内容の通信イベントを、対象となる外部メモリ入出力制御部５１〜５４（つまり、リーダライタ２をターゲットとした場合、それに含まれている複数のロジカルユニット）との間で行なうイベント実行ステップと、ステータスを送受信部３４１に送信させるステータス送信ステップと、をこの順序で実行する。
【００４６】
次に、ＰＣ３は、図６に示すように、各構成部を制御するＣＰＵ４１と、ＲＯＭ４２と、ＲＡＭ４３と、各種ソフトウェアプログラムやデータが格納されたＨＤＤ４４と、ビデオコントロールＬＳＩ４５と、ＵＳＢチップ４６と、ビデオ端子４７と、複数の入出力ポートを有するＵＳＢ端子４８などを備え、これらがバス４９を介して相互にデータ転送が可能なように接続されている。これら各部はいわゆるマザーボードと呼ばれるメイン制御基板に一体的に組み込まれている。ビデオ端子４７にはビデオケーブルを介してディスプレイ５６が接続されている。ＵＳＢ端子４８はＵＳＢハブ機能を有する。このＵＳＢ端子４８には、キーボード５７及びマウス５８等の入力手段が接続されており、さらに、マルチリーダライタ２が接続されている。
【００４７】
ＲＯＭ４２には、マルチリーダライタ２へ送信されるデータであって、マルチリーダライタ２のＣＰＵ２７に所定の処理を実行させる指示データが格納されている。該指示データはテーブルリスト化された状態でＨＤＤ４４又はＲＯＭ４２に格納されている。また、ＨＤＤ４４のプログラム格納エリアには、ＰＣ３のオペレーションシステムであるＷｉｎｄｏｗｓ２０００（登録商標）のＳＰ３（以下「ＷＩＮ２０００」と称する）や、マルチリーダライタ２へのデータの書き込み及び読み出しを可能とするためのＲ／Ｗアプリケーションなどのソフトウェアプログラムが格納されている。これらソフトウェアプログラムがＣＰＵ４１によって読み出されて所定の演算処理がなされることにより、各アプリケーションがＰＣ３において動作可能となる。また、上記プログラム格納エリアには、マルチリーダライタ２との間でＳＣＳＩプロトコルに従うデータ通信プログラムが格納されている。本実施形態では、ＷＩＮ２０００が搭載されたＰＣ３を例示して説明するが、Ｌｉｎｕｘシリーズ、ＭａｃＯＳシリーズなどのＯＳが搭載されたものであってもよい。もちろん、Ｗｉｎｄｏｗｓ２０００のＳＰ３をＳＰ４や、ＷｉｎｄｏｗｓＸＰ（登録商標）に代替することも可能である。
【００４８】
次に、図２においてマルチリーダライタ２のＲＯＭ２８には、前述の認証手段の機能を実現するための認証ファームウェアが格納されている。カード型記憶メディアへのアクセスモードは、ノーマルエリアにのみアクセスが可能なノーマルモードと、セキュリティエリアにアクセスが可能なセキュリティモードとのいずれかに設定されるものであり、該認証ファームウェアは、認証手段による認証結果が受理認証であった場合にのみ、アクセスモードをセキュリティモードに設定する処理も行なう。
【００４９】
図５に示すように、第一メモリーカード１１（以下、データカード１１ともいう）は、カード型記憶メディアとして構成されたものであり、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた実データ記憶エリア３０８と、該実データ記憶エリア３０８内における各データファイルの占有エリアと、データファイルに占有されない空きエリアとを少なくとも、それらエリアのデータ記憶エリア内での位置を特定可能に記述されたファイル管理情報を記憶する実ファイル管理情報記憶エリア３０７とが、予め定められたメディアフォーマットに従い形成された実メディアエリア３００を有する。実データ記憶エリア３０８には、記憶内容が全て暗号化された状態で書きまれるセキュリティエリア４００と、暗号化がなされないノーマルエリア３０９とが分割形成されている。以下、ノーマルエリア３０９に非暗号化状態で格納されるデータファイルをノーマルファイル、セキュリティエリア４００に暗号化状態で格納されるデータファイルをセキュリティファイルと称する。
【００５０】
実ファイル管理情報記憶エリア３０７には、ノーマルエリア３０９におけるノーマルファイルの占有エリアの位置と、該ノーマルファイルに占有されない空きエリアの位置とを特定するとともに、実メディアエリア３００の先頭を基準とする第一のエリア座標系に従って記述されたノーマルファイル管理情報が記憶されるようになっている。また、セキュリティエリア４００には仮想メディアエリア４２０が形成されている。該仮想メディアエリア４２０には、セキュリティファイルを格納するとともに、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた仮想データ記憶エリア４０７と、該仮想データ記憶エリア４０７内における各セキュリティファイルの占有エリア位置と、該セキュリティファイルに占有されない空きエリア位置とを少なくとも特定可能に記述されたファイル管理情報を記憶する仮想ファイル管理情報記憶エリア４０７とが、実データ記憶エリア３０８と実ファイル管理情報記憶エリア３０７との形成形態を規定するメディアフォーマットと同一のフォーマットに従い形成されている。
【００５１】
仮想ファイル管理情報記憶エリア４０７は、仮想メディアエリア４２０を独立した別のカード型記憶メディアとみなして、仮想データ記憶エリア４０７内にてセキュリティファイルの占有エリア及び空きエリアを位置特定するためのファイル管理情報が、仮想メディアエリア４２０の先頭を基準とする第二のエリア座標系に従って記述されるようになっている。セキュリティエリア４００の先頭には、仮想メディアエリア４２０とは別に、第一のエリア座標系に従って記述されたファイル管理情報を第二のエリア座標系でのファイル管理情報に変換するためのエリア座標変換情報と、ヘッダエリア４０１内の固定領域に書き込まれセキュリティエリア４００へのアクセスを認証するための認証照合情報とを格納するためのヘッダエリア４０１が形成されている。
【００５２】
そして、セキュリティファイルを含むセキュリティエリア４００内の情報を一括して暗号化することにより、実データ記憶エリア３０８上にて仮想単一ファイルとして扱われるマクロセキュリティファイルが形成されるようになっており、該マクロセキュリティファイルの実データ記憶エリア３０８上での記憶位置を特定するマクロセキュリティファイル記憶位置情報が実データ記憶エリア３０８外に書き込まれている。
【００５３】
動作の概要を以下に説明する。リーダライタ２（周辺装置）に装着されたメモリーカード１１へのアクセスモードは、ノーマルエリア３０９にのみアクセスが可能なノーマルモードと、セキュリティエリア４００にアクセスが可能なセキュリティモードとのいずれかに設定される。そして、データカード１１からマクロセキュリティファイル記憶位置情報が読み出されることにより、該データカード１１内のマクロセキュリティファイルの位置が特定され、ヘッダエリア４０１の先頭に位置する認証照合情報が読み出され、該認証照合情報に基づいて、データカード１１へのＰＣ３側からのアクセス権が認証される。
【００５４】
そして、上記の認証結果が受理認証であった場合にのみ、アクセスモードがセキュリティモードに設定され、セキュリティモードに移行した場合に、当該セキュリティモードの適用対象となる装着中のデータカード１１を別のカード型記憶メディアとして仮想認識させるためのメディア仮想交換情報がリーダライタ２からＰＣ３に送信される。メディア仮想交換情報の送信後の、ＰＣ３側からのセキュリティエリア４００へのデータアクセス時において、アクセス対象となるセキュリティファイルの第二のエリア座標系にて記述された仮想ファイル管理情報が取得され、エリア座標変換情報を用いて第一のエリア座標系にて記述されたファイル管理情報に変換される。そして、当該変換後のファイル管理情報を用いてセキュリティエリア４００へのデータアクセスが、ファイル書込時には当該ファイルを暗号化しつつ書き込み、ファイル読出し時には当該ファイルを復号化しつつ読み出す形で実施される。
【００５５】
上記データカード１１は、実メディアエリア３００が一定サイズの複数のセクタに区分され、データファイルの読出し、書込み及び消去が該セクタ単位でなされるとともに、ファイルの占有エリアと空きエリアとの位置を特定するためのエリア座標系が一連のセクタを個々に特定するために連続番号で各セクタに付与されたセクタ番号を用いて規定されている。セキュリティエリア４００は、実データ記憶エリア３０８内にてセクタの連続した連続エリアとして形成される。実ファイル管理情報記憶エリア３０７においてノーマルファイル管理情報は、ノーマルファイルの占有セクタ番号と、該ノーマルファイルに占有されない空きセクタ番号とを、実メディアエリア３００の先頭セクタ番号を基準として定めた第一のエリア座標系として第一のセクタ番号列（セクタ０〜セクタＭＡＸ）を用いて記述したものとされる。また、仮想ファイル管理情報記憶エリア４０７においてファイル管理情報は、セキュリティファイルの占有セクタ番号と、該セキュリティファイルに占有されない空きセクタ番号とを、仮想メディアエリア４２０の先頭セクタ番号を基準として定めた第二のエリア座標系として第二のセクタ番号列（セクタ０’〜セクタＭＡＸ’）を用いて記述したものとされる。図６に示すように、エリア座標変換情報は、実データ記憶エリア３０８の先頭セクタ位置から仮想データ記憶エリア４０７の先頭セクタ位置に至るオフセットセクタ数である。
【００５６】
後述するごとく、メディア仮想交換情報の送信後に、セキュリティエリア４００のヘッダエリア４０１を除いた部分のセキュリティセクタ数が、仮想的な別のカード型記憶メディアのセクタ数としてＰＣ３に通知される。ＰＣ３側からのセキュリティエリア４００へのデータアクセス時において、ＰＣ３側から受け取る第二のセクタ番号列を用いて記述されたアクセス対象ファイルのセクタ番号が、オフセット情報を用いて第一のセクタ番号列を用いて記述されたアクセス対象ファイルのセクタ番号に変換される。そして、当該変換後のセクタ番号にてセキュリティエリア４００へのデータアクセスが行なわれる。
【００５７】
実ファイル管理情報記憶エリア３０７は、実データ記憶エリア３０８の先頭側に隣接するセクタエリアに設けられている。また、仮想メディアエリア４２０内において、仮想ファイル管理情報記憶エリア４０７は、仮想データ記憶エリア４０７の先頭側に隣接するセクタエリアに設けられている。そして、セキュリティエリア４００内にて、ヘッダエリア４０１は、仮想メディアエリア４２０の先頭側に隣接するセクタエリアに設けられている。
【００５８】
認証照合情報は、後に詳述する通り、秘密鍵により予め定められた情報を暗号化した照合情報であって上記秘密鍵自身には照合適合しない情報として、ヘッダエリア４０１の先頭のチェックセクタに一定バイト数にて記憶されている。また、セキュリティエリア４００の末尾セクタ（つまり、セキュリティエリア４００の大きさ）を特定するために、ヘッダエリア４０１には、セキュリティセクタ数（仮想データ記憶エリア４０７のセクタ数を特定するための仮想データ記憶エリアセクタ数情報）が記憶されている。なお、このセキュリティセクタ数を、ＰＣ３からの指令値（例えば所望によりユーザーが入力する情報に基づいて設定される）により書換え可能としておけば、メディア内に設定されるセキュリティエリア４００の大きさを自由に変更することができる。また、ノーマルエリア３０９がセキュリティエリア４００の前後に分割した形で形成されている場合は、仮想データ記憶エリア４０７セクタ数情報に基づいてセキュリティエリア４００の後に続くノーマルエリア３０９を特定することが可能となる。
【００５９】
次に、前述のメディアフォーマットは、実データ記憶エリア３０８及び実ファイル管理情報記憶エリア３０７と該実ファイル管理情報記憶エリア３０７の先頭側に隣接したブートセクタ３０４とがメディア内に１つのみのパーティションエリア３１０を構成する形で、ＡＮＳＩ（American National Standard Institute）に準拠したハードディスクフォーマットをエミュレーションする形で定められている。
【００６０】
該ハードディスクフォーマットでは、ブートセクタ３０４は、当該パーティションエリア３１０をブートディスクとして使用するためのイニシャルプログラムローダー（ＩＰＬ）の格納セクタとして確保される。この場合、実ファイル管理情報記憶エリア３０７には、その先頭側から、ノーマルファイルの占有セクタ番号をファイル名と対応付けて記憶するファイルアロケーションテーブル（ＦＡＴ）の格納セクタ３０５と、ノーマルファイルのルートディレクトリ（ＲＤ）の格納セクタと３０６が形成される。実メディアエリア３００の先頭セクタは、マスターブートプログラム（ブートストラップローダともいう）と、メディア内のパーティション情報を記憶したパーティションテーブルとを格納するためのマスターブートレコード（ＭＢＲ）セクタ３０２として確保される。
【００６１】
図７は、マスターブートレコードセクタ３０２の構造を示すもので、上記のハードディスクフォーマットを踏襲したものであるから、ＯＳのブートシーケンスに必要なエリアが以下のごとく形成されている。すなわち、仮に、このメモリーカードのパーティションエリア３１０がブートドライブ（つまり、起動ディスク）として設定されている場合、マスターブートレコードセクタ３０２の先頭には、前述のマスターブートプログラムの格納エリア３０２Ａと、パーティションテーブル３０２Ｂの格納エリアがそれぞれ形成されている。また、符号３０２は、マスターブートレコードセクタ３０２の有効性を識別するためのシグネチャである。一方、ブートセクタ３０４は、先頭から、イニシャルプログラム開始位置へのジャンプを指令するジャンプコードの格納エリア３０４Ｊと、パーティション内のフォーマット情報の格納エリア３０４Ｂと、ブートプログラムの格納エリア３０４Ａとがこの順序で形成されている（符号３０４Ｃは、ブートセクタの有効性を識別するためのシグネチャである。
【００６２】
ＯＳのブートシーケンスでは、ＰＣ２が立ち上がったあとＢＩＯＳが読み込まれ、続いてマスターブートレコードセクタ３０２へのアクセスが行なわれて、マスターブートプログラムが実行される。これにより、上記パーティションエリア３１０にてイニシャルプログラムローダーの有無が検索され、イニシャルプログラムローダーが見つかればこれを起動する。イニシャルプログラムローダーはＯＳ起動の起点となるもので、ハードウェアのチェックを行なった後、ＯＳの読み込みを行なうべく動作するものである。
【００６３】
しかし、本実施形態では、メモリーカードは起動ディスクとして使用されず、マスターブートプログラムの格納エリア３０２Ａも、ブートプログラムの格納エリア３０４Ａもブートプログラムも空き領域としての活用が可能である。
【００６４】
次に、セキュリティ参照情報は、図１２に示すように、装着される第二メモリーカード１２（以下、秘密鍵カード１２ともいう）に記憶された秘密鍵であり、第二スロット１２に秘密鍵カード１２を装着することにより、マルチリーダライタ２（周辺装置）自身が読み取って取得されるものである。
【００６５】
図４は秘密鍵カード１２のセクタ構造を示すものであり、実データ記憶エリア３０８内にセキュリティエリアが形成されない点を除き、データカード１１と同様のセクタ構造を有している。
【００６６】
図５に戻り、データカード１１のセキュリティエリアには書込対象データこの秘密鍵により暗号化した状態で書き込まれる。他方、セキュリティエリア内の暗号化された読出し対象データは、秘密鍵により復号化して読み出される。この暗号化／復号化のファームウェアはマルチリーダライタ２のＲＯＭ２８内に格納される。また、暗号化／復号化のロジックとしては、周知のアルゴリズム（例えばＤＥＳ（Data Encryption Standard）、トリプルＤＥＳ、ＡＥＳ（Advanced Encryption Standard）等）を採用できる。
【００６７】
上記の暗号化／復号化のファームウェアは、データの暗号化／復号化を直接行なうものではなく、暗号化／復号化の演算そのものは、周知の暗号化／復号化アルゴリズムを実行する論理演算回路によって実行し、ファームウェアは該論理演算回路への被処理データの転送処理と、処理済データの取得処理を行なうのみとされている。具体的には、図２においてアドレスバス及びデータバスに、暗号化論理演算を行なうハードウェアロジックである暗号化論理回路６と、復号化論理演算を行なうハードウェアロジックである復号化論理回路７とが、暗号化／復号化用バッファＲＡＭ５を介して接続されている。暗号化／復号化のファームウェアの実行により、暗号化／復号化の処理対象となるデータが暗号化／複合化用バッファＲＡＭ５を介して暗号化論理回路６もしくは復号化論理回路７に送られ、ここで、暗号化もしくは復号化の演算が行なわれて、暗号化／復号化用バッファＲＡＭ５を介して処理済データとして順次取得される。なお、暗号化／復号化のアルゴリズムは前述のごとく、ＤＥＳ、トリプルＤＥＳ、ＡＥＳ等の周知のアルゴリズムが採用され、暗号化論理回路６もしくは復号化論理回路７のハードウェア構成も当該アルゴリズムに適合した構成とされるが、周知であるので詳細な説明は略する。
【００６８】
図６に戻り、セキュリティエリア４００の先頭には、前述のごとく、１ないし数セクタのヘッダが設けられている。このヘッダには、予め定められた照合用元データ（本実施形態では、このデータを一定長の固定データとしているが、必要に応じて内容を変更できるようにしてもよい）を、マスター暗号化キー（つまり、正しい秘密鍵）で暗号化した状態で認証照合情報として格納するチェックセクタ（認証照合情報格納エリア）が形成されている。マルチリーダライタ２には、上記の照合用元データをセキュリティーマスター情報として保有する。照合用元データは、例えば上記の暗号化／復号化のファームウェアに組み込んだ形で、ＲＯＭ２８に記憶しておくことができる。そして、秘密鍵カード１２から読み取った秘密鍵で認証照合情報を復号化した情報を照合対象情報として、該照合対象情報が、マルチリーダライタ２側の照合用元データ（セキュリティーマスター情報）と照合一致した場合に受理認証とし、照合不一致の場合に棄却認証とする処理が行なわれる。
【００６９】
セキュリティエリアの仮想データ記憶エリア４０７内には、データファイル（仮想データ記憶エリア４０７のサイズが許す限り、複数個のデータファイルの格納が可能である）が秘密鍵にて暗号化された状態で書きまれる。このセキュリティエリアはセクタの連続した連続エリアとして確保されており、当該セキュリティエリア内に格納された暗号化済のデータファイルの集合をマクロセキュリティファイルとして取り扱うために、当該マクロセキュリティファイルを定義するための情報として、前述のオフセットセクタ数と、セセキュリティセクタ数がヘッダ部に記憶されている。
【００７０】
マルチリーダライタ２（周辺装置）は、秘密鍵による認証が受理認証となった場合にセキュリティモードに移行し、当該セキュリティモードの適用対象となる装着中のメモリーカードを別のメモリーカードとして仮想認識させるための仮想交換情報をＰＣ３（ホスト装置）に送信する。つまり、実際にはメモリーカードは交換されていないが、認証受理によりアクセス許可することとなったセキュリティエリアを、仮想的に独立した新しいメモリーカードとしてＰＣ３に認識させるために、メディア交換通知を発行し、これをＳＣＳＩのユニット・アテンション・コンディションに反映させる。ＰＣ３側ではファイルシステムにより、このメディア交換通知を取得する。
【００７１】
この場合、セキュリティセクタ数も合わせて、仮想的な別カード型記憶メディアのセクタ数としてＰＣ３（ホスト装置）に通知する。ＰＣ３は、実際には同じメモリーカードのセキュリティーセクタエリアを、交換された新しいメモリーカードの実データ記憶エリアであると認識する。この場合、ＰＣ３側では、セキュリティエリアの先頭セクタはその新しい仮想メモリーカードの先頭セクタとして把握されるので、アクセスのためのセクタ番号も、当然、仮想メモリーカードの先頭セクタを基準としたもの（第二のセクタ番号列）が指定されることとなる。
【００７２】
しかし、実際には、メモリーカードは交換されておらず、ＰＣ３が新カードの実データ記憶エリアの先頭として認識するセクタは、実際のメモリーカードの実データ記憶エリアの先頭からはオフセットセクタ数だけ下がった位置にあるセキュリティーセクタエリアの先頭セクタである。従って、マルチリーダライタ２は、セキュリティモードでは、ＰＣ３（ホスト装置）側からのセキュリティエリアへのデータアクセス時において、ＰＣ３（ホスト装置）側から受け取るアクセス対象セクタ番号をセキュリティセクタ数でオフセットする形で、セキュリティエリアへの実アクセスセクタ番号（第一のセクタ番号列での表示）に変換し、当該変換後の実アクセスセクタ番号にてセキュリティエリアへのデータアクセスを行なうこととなる。
【００７３】
図９は、マルチリーダライタ２側のセキュリティ処理の流れをそれぞれ示すものである。Ｓ１４０１ではアクセスモードを初期モードとしてノーマルモードに設定し、メモリーカードの交換状態に遷移する。Ｓ１４０２では、秘密鍵カード１２が第二スロット１７に装着されているかどうかを確認する。ＹｅｓであればＳ１４０３でデータカード１１が第二スロット１７以外のスロット（ここでは、第一スロット１６）に装着されているかどうかを確認し、装着がなければＳ１４０２に戻る。また、データカード１１が装着されていればＳ１４０５に進み、そのデータカード１１にセキュリティエリアがあるかどうかを判定する。セキュリティエリアなしであればＳ１４０６に進んでＳ１４０２に戻る。
【００７４】
セキュリティエリアがあるかどうかの判定は、マクロセキュリティファイル記憶位置情報（マクロセキュリティファイルの占有セクタ番号：連続セクタなので、特定セクタ（例えば、先頭セクタ）だけを特定できるものであってもよい）の有無により判定する。この場合、マクロセキュリティファイルの占有セクタ番号を、該マクロセキュリティファイルに固有に定められた固定ファイル名と対応付けた形で、ファイルアロケーションテーブル３０５に書き込んでおく。そして、ＯＳ上のファイルシステムからマクロセキュリティファイルのファイル名を読み込み、ファイルアロケーションテーブル３０５内でそのファイル名と対応付けて記憶されているセクタ番号（の先頭のもの）を、チェックセクタ位置として取得する。マクロセキュリティファイルのファイル名は固定的に定めてもよいし、ユーザーがカスタマイズできるようにしてもよい。
【００７５】
他方、セキュリティエリアがあればＳ１４０７に進み、秘密鍵カード１２から読み取った秘密鍵で前述のチェックセクタの復号化を行ない、Ｓ１４０８でこれを照合用元データと照合して、照合不一致であれば棄却認証としてＳ１４０２に戻る。他方、照合一致であれば受理認証とし、Ｓ１４１１でセキュリティモードを設定するとともに、ＰＣ３に前述の仮想新カードとして認識させるためのメモリーカードの交換状態に遷移する。Ｓ１４１２では、秘密鍵カード１２が抜かれたかどうかを確認し、秘密鍵カード１２が抜かれていればＳ１４０１へ返る。秘密鍵カード１２が抜かれていない場合はＳ１４１３へ進み、データカード１１が抜かれたかどうかの確認を行なう。抜かれていなければＳ１４１２へ返る。また、抜かれていればＳ１４０１へ返る。
【００７６】
図４において、秘密鍵カード１２内には、秘密鍵の書込み場所を以下のいずれかの方法により確保することができる。
（１）マスターブートレコードセクタ３０２において、マスターブートプログラムの格納用として確保された空き領域３０２Ａの固定的に定められたセクタに秘密鍵を書き込む。リーダライタ２側ではＲＯＭ２８にそのセクタ番号を記憶しておくことで、秘密鍵が記憶された該セクタに自発的にアクセスすることができる。
（２）ブートセクタ３０４において、ブートプログラムの格納用として確保された空き領域３０４Ａの固定的に定められたセクタに秘密鍵を書き込む。リーダライタ２側ではＲＯＭ２８にそのセクタ番号を記憶しておくことで、秘密鍵が記憶された該セクタに自発的にアクセスすることができる。
【００７７】
（３）秘密鍵を書き込んだデータファイルを、秘密鍵カード１２の実データ記憶エリア３０８に書き込んでおく。リーダライタ２側では、ＲＯＭ２８に、このデータファイルを開くアプリケーションを搭載しておき、該アプリケーション経由で上記データファイルにアクセスして秘密鍵を読み取る。
【００７８】
図１０は、データカード１１へのデータファイル書込み時におけるマルチリーダライタ２の動作の流れを示すものであり、Ｔ１０１でＰＣ３からデータファイルのセクタデータを受信し、Ｔ１０２で秘密鍵カード１２が第二スロット１７に挿入されているかどうかを確認する。挿入されていればＴ１０３に進み、秘密鍵カード１２から秘密鍵を読み込む。Ｔ１０４では、その秘密鍵を暗号化論理回路６に入力し、該暗号化論理回路６でセクタデータを暗号化するとともに、Ｔ１０５ではその暗号化されたセクタデータをデータカード１１のセキュリティエリアに書き込む。また、Ｔ１０２で秘密鍵カード１２が第二スロット１７に挿入されていなければＴ２０５に進み、セクタデータを（暗号化論理回路６を通さずに：つまり、非暗号化状態で）データカード１１のノーマルエリアに書き込む。
【００７９】
図１１は、データカード１１からのデータファイル読み出し時におけるマルチリーダライタ２の動作の流れを示すものであり、ＰＣ３からデータファイルのセクタデータの送信要求を受信すると、Ｔ２０１でデーカード１１から（暗号化された状態の）セクタデータを読み込む。Ｔ２０２で秘密鍵カード１２が第二スロット１７に挿入されているかどうかを確認する。挿入されていればＴ２０３に進み、秘密鍵カード１２から秘密鍵を読み込む。Ｔ２０４では、その秘密鍵を復号化論理回路７に入力し、読み出したセクタデータを該復号化論理回路７で復号化するとともに、Ｔ２０５ではその復号化されたセクタデータをＰＣに送信する。また、Ｔ２０２で秘密鍵カード１２が第二スロット１７に挿入されていなければＴ２０５に進み、セクタデータを（復号化論理回路７を通さずに）ＰＣに送信する。
【００８０】
図５において、セキュリティエリア４００は、ヘッダエリア４０１と仮想メディアエリア４２０との全体が、いずれも、セクタ単位で暗号化ないし復号化がなされる（つまり、隣接する複数のセクタにまたがった暗号化はなされない）。従って、暗号化されたデータの復号化も個々のセクタ毎に行なうことができる。この場合、セキュリティエリア４００（ヘッダエリア４０１）の先頭のチェックセクタも暗号化が施されているが、前述のごとく、このチェックセクタだけは、マクロセキュリティファイル記憶位置情報（マクロセキュリティファイルの占有セクタ番号）から特定可能であり、ここからセキュリティエリア４００は連続セクタとして形成されているので、チェックセクタの復号化と照合認証が無時に終了すれば、以下は、以降のセクタを順次復号化してゆけばよい。そして、セキュリティエリア４００内のファイルアロケーションテーブル４０５のセクタの復号化が終了すれば、その内容をＰＣ２側で解析することにより個々のセキュリティファイルのセクタ番号を特定でき、読出し対象となるファイルのセクタ（ただし、セクタ番号は前述のごとくオフセット変換する）を暗号化状態のまま読み出しつつ順次復号化してＰＣ３に転送する。また、書込時には、各セクタに書き込むデータを、復号化状態のままＰＣ３からリーダライタ２へ転送し、順次暗号化して対応するセクタ（ただし、セクタ番号は前述のごとくオフセット変換する）に書き込む。
【００８１】
なお、上述した実施形態は本発明の一例に過ぎず、本発明の要旨を変更しない範囲で、実施形態を適宜変更することができる。例えば、カード型記憶メディアに代え、暗号化／復号化の論理回路は搭載しないが記憶制御装置は一体的に組み込まれた着脱式記憶メディア（例えばＵＳＢメモリ）を用いることもできる。
【図面の簡単な説明】
【００８２】
【図１Ａ】本発明に適用されるマルチリーダライタの一例を正面側から見た斜視図。
【図１Ｂ】同じく背面側から見た斜視図。
【図２】マルチリーダライタの電気的構成の一例を示すブロック図。
【図３】本発明の通信システムに適用されるＰＣの概略構成を示すブロック図。
【図４】秘密鍵カードのセクタ構造の概念図。
【図５】データカードのセクタ構造の概念図。
【図６】図５の要部説明図。
【図７】マスターブートレコードセクタの概念図。
【図８】イニシャルプログラムローダー格納用セクタの概念図。
【図９】マルチリーダライタ側の状態遷移タスクの流れを示すフローチャート。
【図１０】同じくデータカードへのデータ書込時の処理の流れを示すフローチャート。
【図１１】同じくデータカードへのデータ読出し時の処理の流れを示すフローチャート。
【図１２】秘密鍵カードを用いた本発明の適用形態の一例を使用方法とともに示す説明図。
【符号の説明】
【００８３】
１  通信システム
２  マルチリーダライタ（周辺装置）
３  ＰＣ（ホスト装置）
６  暗号化論理回路
７  復号化論理回路
１１  第１メモリーカード（カード型記憶メディア：データカード）
１２  第２メモリーカード（カード型記憶メディア：秘密鍵カード）
１３  第３メモリーカード（カード型記憶メディア）
１４  第４メモリーカード（カード型記憶メディア）
２１  液晶ディスプレイ（表示部）
２７  ＣＰＵ（認証手段、アクセスモード設定手段、アクセスモード設定制御手段、アクセスモード報告通信手段、ファイル管理情報変換手段、セキュリティエリアアクセス手段、セクタ数通知手段、セクタ番号変換手段）
【図１Ａ】
2008052514.tif 000003
【図１Ｂ】
2008052514.tif 000004
【図２】
2008052514.tif 000005
【図３】
2008052514.tif 000006
【図４】
2008052514.tif 000007
【図５】
2008052514.tif 000008
【図６】
2008052514.tif 000009
【図７】
2008052514.tif 000010
【図８】
2008052514.tif 000011
【図９】
2008052514.tif 000012
【図１０】
2008052514.tif 000013
【図１１】
2008052514.tif 000014
【図１２】
2008052514.tif 000015