(57)【特許請求の範囲】
【請求項１】
記録媒体と、アクセス装置と、前記記録媒体に接続され、前記アクセス装置に着脱可能に装着される記録媒体コントローラとを備え、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、
前記記録媒体より前記暗号処理プログラムを取得して前記アクセス装置に供給する手段と、
前記アクセス装置から供給される暗号化パスワードに基づいて、前記アクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して前記アクセス装置に供給する手段と、
前記アクセス装置から供給される読み出し指示に従って、前記記録媒体から前記暗号データを取得して前記アクセス装置に供給する読み出し制御手段と、
前記アクセス装置から供給される書き込み指示に従い、前記アクセス装置が生成した当該暗号データを前記アクセス装置から取得して前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記書き込み指示に従うことを拒絶し、
前記アクセス装置は、
前記記録媒体コントローラより前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して前記暗号化パスワードを生成し、当該暗号化パスワードを前記記録媒体コントローラに供給する手段と、
前記記録媒体コントローラが供給した前記暗号化ブート情報を取得して、前記プログラム  取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記読み出し制御手段に、復元された前記ブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する前記読み出し指示を供給し、当該読み出し制御手段が供給した前記暗号データを取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号データを復号化する手段と、
前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、前記記録媒体に記憶させる対象の情報を暗号化して前記暗号データを生成し、自己が生成した当該暗号データを前記記録媒体に格納するため、前記書き込み制御手段に、復元された前記ブート情報が指定する手法によるデータの書き込みを行うことを指示する前記書き込み指示を供給する手段と、を備える、
ことを特徴とする記憶システム。
【請求項２】
記録媒体と、アクセス装置と、前記記録媒体に接続され、前記アクセス装置に着脱可能に装着される記録媒体コントローラと、を備え、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、
前記記録媒体より前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記アクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記アクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記アクセス装置に供給する読み出し制御手段と、
前記アクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記アクセス装置から取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記アクセス装置から取得することを拒絶し、
前記アクセス装置は、
前記読み出し制御手段に前記読み出し指示を供給し、前記読み出し制御手段が供給する復号化された前記暗号データを取得する手段と、
前記記録媒体に記憶させる対象の情報を供給する手段と、を備える、
ことを特徴とする記憶システム。
【請求項３】
記録媒体と、記録媒体コントローラと、を備える記憶装置であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、外部のアクセス装置に着脱可能に装着されるものであって、
前記記録媒体より前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記外部のアクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記外部のアクセス装置に供給する読み出し制御手段と、
前記外部のアクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする記憶装置。
【請求項４】
記録媒体と、記録媒体コントローラと、を備える記憶装置であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、前記暗号処理プログラムを取得して実行する外部のアクセス装置に着脱可能に装着されるものであって、
前記記録媒体が記憶する前記暗号処理プログラムを前記外部のアクセス装置に取得させるプログラム供給手段と、
前記外部のアクセス装置が前記暗号処理プログラムに従ってパスワードを暗号化することにより生成した暗号化パスワードを取得し、取得した前記暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体が記憶する前記暗号化ブート情報を前記外部のアクセス装置に取得させる手段と、
前記外部のアクセス装置から、前記暗号化ブート情報より復元されたブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する読み出し指示を供給されたとき、当該読み出し指示に従い、前記記録媒体から前記暗号データを取得して前記外部のアクセス装置に供給する読み出し制御手段と、
前記外部のアクセス装置が前記記録媒体に記憶させる対象の情報を暗号化して生成した前記暗号データを前記外部のアクセス装置から取得して、当該暗号データを、前記暗号化ブート情報より復元されたブート情報が指定する手法によるデータの書き込みを行うことを指示するものとして前記外部のアクセス装置より供給される書き込み指示に従って、前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記暗号データを前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする記憶装置。
【請求項５】
記録媒体と、外部のアクセス装置に着脱可能に装着される記録媒体コントローラと、を備える記憶装置に記憶されるデータを保護するための記憶データ保護方法であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶し、
前記記録媒体コントローラが、前記記録媒体より前記暗号処理プログラムを取得するプログラム取得ステップと、
前記記録媒体コントローラが、操作者の操作に従ってパスワードを取得するステップと、
前記記録媒体コントローラが、前記プログラム取得ステップで取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定ステップと、
前記決定ステップで前記アクセスを許可すると決定したとき、前記記録媒体コントローラが、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元するステップと、
前記記録媒体コントローラが、前記外部のアクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得ステップで取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記外部のアクセス装置に供給する読み出し制御ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得し、前記プログラム取得ステップで取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御ステップと、より構成されており、
前記読み出し制御ステップで前記記録媒体コントローラは、前記決定ステップで前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御ステップで前記記録媒体コントローラは、前記決定ステップで前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする記憶データ保護方法。
【請求項６】
記録媒体と、外部のアクセス装置に着脱可能に装着される記録媒体コントローラと、を備える記憶装置に記憶されるデータを保護するための記憶データ保護方法であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶し、
前記外部のアクセス装置は、前記暗号処理プログラムを取得して実行するものであって、
前記記録媒体コントローラが、前記記録媒体が記憶する前記暗号処理プログラムを前記外部のアクセス装置に取得させるプログラム供給ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が前記暗号処理プログラムに従ってパスワードを暗号化することにより生成した暗号化パスワードを取得し、取得した前記暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定ステップと、
前記決定ステップで前記アクセスを許可すると決定したとき、前記記録媒体コントローラが、前記記録媒体が記憶する前記暗号化ブート情報を前記外部のアクセス装置に取得させるステップと、
前記外部のアクセス装置から、前記暗号化ブート情報より復元されたブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する読み出し指示を供給されたとき、前記記録媒体コントローラが、当該読み出し指示に従い、前記記録媒体から前記暗号データを取得して前記外部のアクセス装置に供給する読み出し制御ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が前記記録媒体に記憶させる対象の情報を暗号化して生成した前記暗号データを前記外部のアクセス装置から取得して、当該暗号データを、前記暗号化ブート情報より復元されたブート情報が指定する手法によるデータの書き込みを行うことを指示するものとして前記外部のアクセス装置より供給される書き込み指示に従って、前記記録媒体に格納する書き込み制御ステップと、より構成されており、
前記決定ステップで前記アクセスを許可しないと決定したとき、前記読み出し制御ステップで前記記録媒体コントローラは、前記読み出し指示に従うことを拒絶し、
前記決定ステップで前記アクセスを許可しないと決定したとき、前記書き込み制御ステップで前記記録媒体コントローラは、前記暗号データを前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする記憶データ保護方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録媒体を用いた記憶システム、記憶装置及び記憶データ保護方法に関し、特に、データを暗号化して記憶する記憶システム、記憶装置及び記憶データ保護方法に関する。
【０００２】
【従来の技術】
コンピュータ等によりアクセス（データの読み書き及び消去）可能な記録媒体として、ハードディスク装置や、ＭＯ（Magneto-Optical disk）や、フラッシュメモリが用いられている。これらの記録媒体は、データの保存や複数のコンピュータ間のデータの移転などのために利用されている。
これらの記録媒体に記録されたデータを不正なアクセスから保護するため、従来は、データを暗号化した上で記憶するようにしていた。
【０００３】
【発明が解決しようとする課題】
しかし、データを暗号化して記憶する記録媒体にアクセスするためには、そのデータを復号化する必要がある。
このため、このような記録媒体にアクセスするコンピュータ等は、ユーザが所有するすべての記録媒体に記憶されているデータの復号化を行うことを可能とするために、記録媒体を交換する度にプログラムをインストールし直したり、あるいは、ユーザが所有する各記録媒体に記憶されているデータを復号化するために必要なプログラムを予め記憶しておく必要があった。
【０００４】
従って、コンピュータ等の管理やアクセスのための操作が煩雑になり、また、復号化のためのプログラムによりハードディスク装置等の外部記憶装置の記憶領域の効率的な利用が妨げられていた。
【０００５】
この発明は上記実状に鑑みてなされたもので、既存の装置に加えるべき変更が少なく、簡単な操作で、データを暗号化して記憶する記録媒体へのアクセスを処理で行うことができる記憶システム、記憶装置及び記憶データ保護方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点にかかる記憶システムは、
記録媒体と、アクセス装置と、前記記録媒体に接続され、前記アクセス装置に着脱可能に装着される記録媒体コントローラとを備え、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、
前記記録媒体より前記暗号処理プログラムを取得して前記アクセス装置に供給する手段と、
前記アクセス装置から供給される暗号化パスワードに基づいて、前記アクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して前記アクセス装置に供給する手段と、
前記アクセス装置から供給される読み出し指示に従って、前記記録媒体から前記暗号データを取得して前記アクセス装置に供給する読み出し制御手段と、
前記アクセス装置から供給される書き込み指示に従い、前記アクセス装置が生成した当該暗号データを前記アクセス装置から取得して前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記書き込み指示に従うことを拒絶し、
前記アクセス装置は、
前記記録媒体コントローラより前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して前記暗号化パスワードを生成し、当該暗号化パスワードを前記記録媒体コントローラに供給する手段と、
前記記録媒体コントローラが供給した前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記読み出し制御手段に、復元された前記ブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する前記読み出し指示を供給し、当該読み出し制御手段が供給した前記暗号データを取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号データを復号化する手段と、
前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、前記記録媒体に記憶させる対象の情報を暗号化して前記暗号データを生成し、自己が生成した当該暗号データを前記記録媒体に格納するため、前記書き込み制御手段に、復元された前記ブート情報が指定する手法によるデータの書き込みを行うことを指示する前記書き込み指示を供給する手段と、を備える、
ことを特徴とする。
【０００７】
このような記憶システムによれば、アクセス装置は暗号処理プログラムを読み出して実行することにより、暗号データの復号化や暗号データの生成と記録媒体への格納を行う。従って、アクセス装置の管理や操作は簡単になる。また、既存のコンピュータは、実質的に変更を加えられることなくアクセス装置として機能する。
【０００８】
また、記録媒体へのアクセスのための処理がアクセス装置と記録媒体コントローラにより分担され、アクセス装置の処理の負担が軽減される。
【０００９】
また、アクセス装置が記録媒体にアクセスするのに先立って、操作者の認証や、記録媒体の認証が行われる。この結果、記録媒体への不正なアクセスが防止される。
【００１０】
また、本発明の第２の観点にかかる記憶システムは、
記録媒体と、アクセス装置と、前記記録媒体に接続され、前記アクセス装置に着脱可能に装着される記録媒体コントローラと、を備え、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、
前記記録媒体より前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記アクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記アクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記アクセス装置に供給する読み出し制御手段と、
前記アクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記アクセス装置から取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記アクセス装置から取得することを拒絶し、
前記アクセス装置は、
前記読み出し制御手段に前記読み出し指示を供給し、前記読み出し制御手段が供給する復号化された前記暗号データを取得する手段と、
前記記録媒体に記憶させる対象の情報を供給する手段と、を備える、
ことを特徴とする。
【００１１】
このような記憶システムによれば、記録媒体コントローラが暗号処理プログラムを読み出して実行することにより、暗号データの復号化や暗号データの生成と記録媒体への格納を行う。従って、アクセス装置の管理や操作は簡単になる。また、既存のコンピュータは、実質的に変更を加えられることなくアクセス装置として機能する。
【００１２】
また、アクセス装置が記録媒体にアクセスするのに先立って、操作者の認証や、記録媒体の認証が行われる。この結果、記録媒体への不正なアクセスが防止される。
【００１３】
また、本発明の第３の観点にかかる記憶装置は、
記録媒体と、記録媒体コントローラと、を備える記憶装置であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、外部のアクセス装置に着脱可能に装着されるものであって、
前記記録媒体より前記暗号処理プログラムを取得するプログラム取得手段と、
操作者の操作に従ってパスワードを取得する手段と、
前記プログラム取得手段が取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元する手段と、
前記外部のアクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記外部のアクセス装置に供給する読み出し制御手段と、
前記外部のアクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得し、前記プログラム取得手段が取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする。
【００１４】
このような記憶装置によれば、外部のアクセス装置は暗号処理プログラムを読み出して実行することにより、暗号データの復号化や暗号データの生成と記録媒体への格納を行う。従って、外部のアクセス装置の管理や操作は簡単になる。また、既存のコンピュータは、実質的に変更を加えられることなく外部のアクセス装置として機能する。
【００１５】
また、アクセス装置が記録媒体にアクセスするのに先立って、操作者の認証や、記録媒体の認証が行われる。この結果、記録媒体への不正なアクセスが防止される。
【００１６】
また、本発明の第４の観点にかかる記憶装置は、
記録媒体と、記録媒体コントローラと、を備える記憶装置であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶する手段を備え、
前記記録媒体コントローラは、前記暗号処理プログラムを取得して実行する外部のアクセス装置に着脱可能に装着されるものであって、
前記記録媒体が記憶する前記暗号処理プログラムを前記外部のアクセス装置に取得させるプログラム供給手段と、
前記外部のアクセス装置が前記暗号処理プログラムに従ってパスワードを暗号化することにより生成した暗号化パスワードを取得し、取得した前記暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定手段と、
前記決定手段が前記アクセスを許可すると決定したとき、前記記録媒体が記憶する前記暗号化ブート情報を前記外部のアクセス装置に取得させる手段と、
前記外部のアクセス装置から、前記暗号化ブート情報より復元されたブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する読み出し指示を供給されたとき、当該読み出し指示に従い、前記記録媒体から前記暗号データを取得して前記外部のアクセス装置に供給する読み出し制御手段と、
前記外部のアクセス装置が前記記録媒体に記憶させる対象の情報を暗号化して生成した前記暗号データを前記外部のアクセス装置から取得して、当該暗号データを、前記暗号化ブート情報より復元されたブート情報が指定する手法によるデータの書き込みを行うことを指示するものとして前記外部のアクセス装置より供給される書き込み指示に従って、前記記録媒体に格納する書き込み制御手段と、を備え、
前記読み出し制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御手段は、前記決定手段が前記アクセスを許可しないと決定したとき、前記暗号データを前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする。
【００１７】
このような記憶装置によれば、記録媒体コントローラは暗号処理プログラムを読み出して実行することにより、暗号データの復号化や暗号データの生成と記録媒体への格納を行う。従って、外部のアクセス装置の管理や操作は簡単になる。また、既存のコンピュータは、実質的に変更を加えられることなく外部のアクセス装置として機能する。
【００１８】
また、アクセス装置が記録媒体にアクセスするのに先立って、操作者の認証や、記録媒体の認証が行われる。この結果、記録媒体への不正なアクセスが防止される。
【００１９】
また、本発明の第５の観点にかかる記憶データ保護方法は、
記録媒体と、外部のアクセス装置に着脱可能に装着される記録媒体コントローラと、を備える記憶装置に記憶されるデータを保護するための記憶データ保護方法であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶し、
前記記録媒体コントローラが、前記記録媒体より前記暗号処理プログラムを取得するプログラム取得ステップと、
前記記録媒体コントローラが、操作者の操作に従ってパスワードを取得するステップと、
前記記録媒体コントローラが、前記プログラム取得ステップで取得した暗号処理プログラムが表す処理を実行することにより、前記パスワードを暗号化して暗号化パスワードを生成し、当該暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定ステップと、
前記決定ステップで前記アクセスを許可すると決定したとき、前記記録媒体コントローラが、前記記録媒体より前記暗号化ブート情報を取得して、前記プログラム取得手段が取得した暗号処理プログラムを実行することにより、当該暗号化ブート情報を復号化して前記ブート情報を復元するステップと、
前記記録媒体コントローラが、前記外部のアクセス装置から供給される、前記記憶領域内の所定の領域を指定した読み出し指示に従って、前記記録媒体から、復元された前記ブート情報が指定する手法により前記暗号データを取得し、前記プログラム取得ステップで取得した暗号処理プログラムを実行することにより当該暗号データを復号化して前記外部のアクセス装置に供給する読み出し制御ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が供給する、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得し、前記プログラム取得ステップで取得した暗号処理プログラムを実行することによりその情報を暗号化して前記暗号データを生成し、生成した暗号データを、復元された前記ブート情報が指定する手法により前記記録媒体に格納する書き込み制御ステップと、より構成されており、
前記読み出し制御ステップで前記記録媒体コントローラは、前記決定ステップで前記アクセスを許可しないと決定したとき、前記読み出し指示に従うことを拒絶し、
前記書き込み制御ステップで前記記録媒体コントローラは、前記決定ステップで前記アクセスを許可しないと決定したとき、前記記録媒体に記憶させる対象の情報を前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする。
【００２０】
このような記憶データ保護方法によれば、記録媒体コントローラが暗号処理プログラムを実行することにより、暗号データの復号化や暗号データの生成と、記録媒体への暗号データの格納を行う。従って、暗号データへのアクセスを必要としている外部の装置の管理や操作は簡単になる。また、既存のコンピュータは、実質的に変更を加えられることなく、記録媒体コントローラにより復号化された暗号データを取得したり、記録媒体コントローラに記録媒体への暗号データの格納を行わせたりする。
また、本発明の第６の観点にかかる記憶データ保護方法は、
記録媒体と、外部のアクセス装置に着脱可能に装着される記録媒体コントローラと、を備える記憶装置に記憶されるデータを保護するための記憶データ保護方法であって、
前記記録媒体は、暗号化された情報を表す暗号データと、前記記録媒体の記憶領域の構造及び前記記録媒体へのデータの読み書きの手法を指定するパラメータを含むブート情報を暗号化して得られる情報に相当する暗号化ブート情報と、を記憶し、データの暗号化及び前記暗号データの復号化を行う処理を表す暗号処理プログラムを記憶し、
前記外部のアクセス装置は、前記暗号処理プログラムを取得して実行するものであって、
前記記録媒体コントローラが、前記記録媒体が記憶する前記暗号処理プログラムを前記外部のアクセス装置に取得させるプログラム供給ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が前記暗号処理プログラムに従ってパスワードを暗号化することにより生成した暗号化パスワードを取得し、取得した前記暗号化パスワードに基づいて、前記外部のアクセス装置による前記記録媒体へのアクセスを許可するか否かを決定する決定ステップと、
前記決定ステップで前記アクセスを許可すると決定したとき、前記記録媒体コントローラが、前記記録媒体が記憶する前記暗号化ブート情報を前記外部のアクセス装置に取得させるステップと、
前記外部のアクセス装置から、前記暗号化ブート情報より復元されたブート情報が指定する手法により前記記憶領域内の所定の領域を指定してデータの読み出しを行うことを指示する読み出し指示を供給されたとき、前記記録媒体コントローラが、当該読み出し指示に従い、前記記録媒体から前記暗号データを取得して前記外部のアクセス装置に供給する読み出し制御ステップと、
前記記録媒体コントローラが、前記外部のアクセス装置が前記記録媒体に記憶させる対象の情報を暗号化して生成した前記暗号データを前記外部のアクセス装置から取得して、当該暗号データを、前記暗号化ブート情報より復元されたブート情報が指定する手法によるデータの書き込みを行うことを指示するものとして前記外部のアクセス装置より供給される書き込み指示に従って、前記記録媒体に格納する書き込み制御ステップと、より構成されており、
前記決定ステップで前記アクセスを許可しないと決定したとき、前記読み出し制御ステップで前記記録媒体コントローラは、前記読み出し指示に従うことを拒絶し、
前記決定ステップで前記アクセスを許可しないと決定したとき、前記書き込み制御ステップで前記記録媒体コントローラは、前記暗号データを前記外部のアクセス装置から取得することを拒絶する、
ことを特徴とする。
【００２１】
【発明の実施の形態】
以下、この発明の実施の形態を、フラッシュメモリを備えたメモリカードにアクセスするメモリカードシステムを例とし、図面を参照して説明する。
【００２２】
図１は、この発明の実施の形態にかかるメモリカードシステムの物理的構成を示すブロック図である。図示するように、このメモリカードシステムは、メモリカード１と、アクセス装置２とを備える。
メモリカード１は、アクセス装置２が備えるスロットを介して、アクセス装置２に着脱可能に装着される。
【００２３】
メモリカード１は、記憶部１１及びコントローラ１２を備える。記憶部１１及びコントローラ１２は互いに接続されている。
【００２４】
記憶部１１は、例えば、ＥＥＰＲＯＭ（Electrically Erasable/Programable Read Only Memory）等を備える。
記憶部１１は、コントローラ１２が行うアクセスに応答し、アクセス装置２から供給されたデータの記憶と、記憶しているデータのアクセス装置２への供給と、記憶しているデータの消去とを行う。
【００２５】
記憶部１１が有する記憶領域は、例えば、図２に示すように８１９２個のページからなり、各々のページは５２８バイトの記憶容量を有する。ページには連続的に０から８１９１までのページアドレスが付与され、各ページに含まれるメモリセルには、連続的に０から５２７までの番地が与えられている。
【００２６】
各ページは、先頭から１６ページ単位で１つのブロックを構成する。各ブロックは８キロバイトの記憶容量を有し、記憶領域全体は、５１２個のブロックから構成され、先頭から連続的に０から５１１までの物理ブロックアドレスを与えられている。
【００２７】
また、各ページは、図示するように、先頭から５１２バイトの領域を占めるデータ領域と、末尾１６バイトを占める冗長部とから構成される。
データ領域には、本来のデータ（アクセス装置２から供給され書き込まれるデータや、アクセス装置２に供給される対象となるデータ）が格納され、冗長部には、本来のデータの内容が破壊されていないことを確認するためのエラーチェックコード等が格納される。
【００２８】
また、各々のブロックに属する各ページの冗長部には、そのブロックに割り当てられている論理ブロックアドレスの値が格納される。
論理ブロックアドレスは、記憶部１１が後述する動作により読み書きされるときに、コントローラ１２により、データ読み書きの単位として認識される単位である。論理ブロックアドレスが割り当てられているブロックの総量は、記憶部１１が物理的に備えるブロックの総量より小さい所定量、例えば５００個である。
【００２９】
記憶部１１は、メモリカード１のコントローラ１２より、特定のブロックのデータを消去するよう指示されると、当該ブロックに含まれるすべてのメモリセルの記憶内容をリセットする（例えば、記憶部１１がＮＡＮＤ型のフラッシュメモリからなる場合は、各メモリセルの記憶値を「１」とする）。
【００３０】
そして、図２に示すように、記憶部１１の記憶領域を構成する各ブロックのうち先頭から所定の個数のブロックはカード固有情報記憶領域を形成し、その他の各ブロックは一般データ記憶領域を形成する。
【００３１】
カード固有情報記憶領域の記憶内容は、実質的にみて、外部からのアクセスによっては更新することができない。従って、アクセス装置２及びコントローラ１２は、記憶部１１に格納されている情報の内容を更新することを実質的に禁止される。
【００３２】
カード固有情報記憶領域には、メモリカード１の製造者等により、予め暗号化ブート情報、暗号鍵、認証用ドライバ、暗号化パスワード及び暗号化固定データが格納されている。
【００３３】
暗号化ブート情報は、記憶部１１の記憶領域の大きさや構造を表すパラメータや、データの読み書きの手法や速度を指定するパラメータを含むデータであるブート情報を、暗号鍵を用いて暗号化したものである。
【００３４】
暗号鍵は、アクセス装置２が、一般データ記憶領域に格納されている後述の一般データを復号化する後述の処理を行うために用いるものである。また、この暗号鍵は、アクセス装置２が、一般データ記憶領域に一般データとして格納する対象のデータを暗号化する後述の処理を行うためにも用いられる。
認証用ドライバは、アクセス装置２が、暗号鍵を用いて一般データの復号化及びデータの暗号化を行う上述の処理を表すプログラムデータである。
【００３５】
暗号化パスワードは、このメモリカードシステムが実行する後述の初期処理において、このメモリカードシステムのユーザが正規のユーザであるか否かを認証するために用いるパスワードを、暗号鍵を用いて暗号化したものである。
暗号化固定データは、アクセス装置２が記憶する所定の固定データを暗号鍵を用いて暗号化したものである。暗号化固定データは、上述の初期処理において、メモリカード１が正規に製造されたものであるか否かを認証するために用いられる。
【００３６】
一般データ記憶領域には、アクセス装置２が実行する処理を表すプログラムデータのうち認証用ドライバ以外のものや、アクセス装置２が実行する処理において参照されるデータを含む一般データが格納される。
ただし、一般データは、カード固有情報記憶領域に格納されている暗号鍵を用いて暗号化された状態で格納されている。そして、暗号化されている一般データは、アクセス装置２により読み出された後、当該暗号鍵を用いてアクセス装置２により復号化される。
【００３７】
コントローラ１２は、図１に示すように、ＣＰＵ（Central Processing Unit）１２１と、ＲＯＭ（Read Only Memory）１２２と、ＳＲＡＭ（Static Random Access Memory）１２３とを備えている。
ＣＰＵ１２１は、ＲＯＭ１２２、ＳＲＡＭ１２３及び記憶部１１に接続されており、また、アクセス装置２が備えるＰＣＭＣＩＡスロットを介してアクセス装置２に着脱可能に接続されている。
【００３８】
ＣＰＵ１２１は、コントローラ１２の製造者等によって予めＲＯＭ１２２に格納されているプログラムの処理に従って、後述する処理を行う。そして、ＣＰＵ１２１は、アクセス装置２から供給される命令を取得すると、その命令を実行する。ＣＰＵ１２１が実行する命令には、記憶部１１にアクセスする命令が含まれる。
ＲＯＭ１２２には、予め、コントローラ１２の製造者等によって、ＣＰＵ１２１が実行する上述の処理を表すプログラムデータが格納されている。
【００３９】
ＳＲＡＭ１２３は、ＣＰＵ１２１の作業領域として用いられ、また、ＣＰＵ１２１が後述する処理により作成するＢＳＩ（Block Search Index）及びＢＰＴ（Block Pointer Table）を記憶する。
【００４０】
ＢＳＩは、記憶部１１の各ブロックのいずれが空きブロック（すなわち、リセットされた状態にあるブロック）であるかを表す情報を格納する。
ＢＳＩは、コントローラ１２の後述する処理に従って作成され、ＳＲＡＭ１２３に格納される。
【００４１】
記憶部１１のブロックの総数が５１２個であるときのＢＳＩの構造の一例を図３に示す。図示するように、ＢＳＩは、６４バイトのデータからなり、先頭のビットから順に、ブロック０からブロック５１１に１対１に対応し、対応するブロックが空きブロックであるとき”１”、空きブロックでないとき”０”を格納する。
【００４２】
ＢＰＴは、後述する論理ブロックアドレス及び物理ブロックアドレスの対応関係を示す情報を格納するものであり、ＢＳＩが作成される度に後述する処理に従って作成され、ＳＲＡＭ１２３に格納される。
ＢＰＴは、ＳＲＡＭ１２３の記憶領域中の所定の論理的位置を占め、各々の論理ブロックアドレスに対応付けられた物理ブロックアドレスを記憶するための記憶領域を備える。
【００４３】
具体的には、ＢＰＴは、例えば図４に示すデータ構造を有する。
すなわち、例えば論理ブロックアドレスの総数が５００個である場合、ＢＰＴは、図示するように、先頭から１ワード毎に付されたアドレスが１０００ｈ〜１１Ｆ３ｈである、合計５００ワードの記憶領域を備える。
【００４４】
そして、ＢＰＴを形成する記憶領域に付された各々のアドレスは、論理ブロックアドレスと、ＢＰＴを形成する記憶領域に付されたアドレスの最小値（オフセット値）との和に等しい。そして、各々のアドレスを付された１ワードの記憶領域に格納されている内容は、当該アドレスが示す論理ブロックアドレスに対応付けられているブロックの物理ブロックアドレスを表す。
【００４５】
具体的には、例えば図４に示すように、アドレス１００１ｈを付された記憶領域に値”００５Ａｈ”が格納されているとする。この場合、オフセット値が１０００ｈであれば、物理ブロックアドレスが００５Ａｈであるブロックには、論理ブロックアドレスとして０００１ｈが対応付けられている。
【００４６】
ただし、各々のアドレスを付された記憶領域に格納されている内容が所定の値を表す場合（例えば、図示するように、値”０７ＦＦｈ”を表す場合）は、その値を格納している記憶領域のアドレスが示す論理ブロックアドレスには、物理ブロックアドレスが対応付けられていないことを表す。
【００４７】
アクセス装置２は、上述の通りスロットを備える。このスロットは、例えば、ＰＣＭＣＩＡバスを中継するためのＰＣＭＣＩＡスロットからなる。アクセス装置２は、ＯＳ及びアクセス用ドライバを表すプログラムデータを記憶し、電源投入後、ＯＳを実行する。そして、スロットにメモリカード１が装着されたことを検知すると、ＯＳの処理に従って、メモリカード１より認証用ドライバを読み込んで起動する。
【００４８】
認証用ドライバの処理を行うアクセス装置２は、メモリカード１から暗号鍵及び暗号化ブート情報を読み込み、読み込んだ暗号鍵を用いて暗号化ブート情報を復号化することによりブート情報を復元する。そして、認証用ドライバの処理を行うアクセス装置２は、アクセス用ドライバを呼び出して、復元されたブート情報を、アクセス用ドライバの処理に引き渡す。
【００４９】
アクセス用ドライバの処理を行うアクセス装置２は、コントローラ１２に上述した命令を供給したり、記憶部１１に書き込む対象のデータを供給して、コントローラ１２に、記憶部１１へのデータの書き込みを行わせる。そして、自らが供給した命令に従ってコントローラ１２が記憶部１１から読み出して自らに供給したデータを、コントローラ１２より取得する。
すなわち、アクセス装置２は、コントローラ１２を介して記憶部１１へのアクセスを行う。
【００５０】
また、アクセス装置２は、ユーザの操作に従って当該ユーザよりパスワードの供給を受けるための入力手段を備え、また、上述の固定データを記憶する。固定データは、上述の目的のために特に作成されたものである必要はなく、このメモリカードシステムを正規に構成するためのアクセス装置２が記憶している任意のデータであればよく、例えば、ＯＳのプログラムの一部であればよい。
【００５１】
（動作）
次に、このメモリカードシステムの動作を、図５を参照して説明する。
図５は、初期処理を示すフローチャートである。
【００５２】
（初期処理）
アクセス装置２のスロットにメモリカード１が装着された状態でアクセス装置２が起動し、アクセス装置２がＯＳの実行を開始すると、このメモリカードシステムは、図５に示す初期処理を実行する。
【００５３】
初期処理を開始すると、まず、メモリカード１のコントローラ１２のＣＰＵ１２１が、記憶部１１のカード固有情報記憶領域より認証用ドライバを読み出してアクセス装置２に供給する（ステップＳ１０１）。アクセス装置２は、認証用ドライバを供給されると、その認証用ドライバが表す処理を実行する。
【００５４】
なお、アクセス装置２は、自己に供給された認証用ドライバを不揮発性の記憶領域に格納する必要はなく、例えば、アクセス装置２が、ＣＰＵと、ＲＡＭ（Random Access Memory）を備える主記憶部と、を備えるものである場合は、当該ＲＡＭの記憶領域に格納すれば足りる。
【００５５】
アクセス装置２は、認証用ドライバの処理を開始すると、ユーザがアクセス装置２を操作して、自己にパスワードを供給するのを待機する（ステップＳ１０２）。そして、パスワードが供給されると、記憶部１１のカード固有情報記憶領域より暗号鍵を読み出し、その暗号鍵を用いて、自己に供給されたパスワードを暗号化し、暗号化済みのパスワードをＣＰＵ１２１に供給する（ステップＳ１０３）。
【００５６】
ＣＰＵ１２１は、暗号化済みのパスワードを供給されると、記憶部１１のカード固有情報記憶領域より暗号化パスワードを読み出し、読み出された暗号化パスワードが、アクセス装置２から供給された暗号化済みのパスワードと実質的に一致するか否かを判別する（ステップＳ１０４）。
【００５７】
そして、一致しないと判別すると、アクセス装置２に、認証の失敗を表すメッセージを供給する（ステップＳ１０５）。当該メッセージを供給されたアクセス装置２は、正常なメモリカード１が自己のスロットに装着されていないものとして初期処理を終了させる。初期処理を終了後、アクセス装置２が再びメモリカード１が装着されたことを検知すると、このメモリカードシステムは、初期処理をステップＳ１０１より実行する。
【００５８】
一方、一致すると判別すると、ＣＰＵ１２１は、カード固有情報記憶領域より暗号化固定データを読み出して、アクセス装置２へ供給する（ステップＳ１０６）。アクセス装置２は、暗号化固定データを供給されると、その暗号化固定データを復号化し（ステップＳ１０７）、自己が記憶する固定データと実質的に一致するか否かを判別する（ステップＳ１０８）。
【００５９】
そして、一致しないと判別すると、アクセス装置２は、正常なメモリカード１が自己のスロットに装着されていないものとして初期処理を終了させる。一致すると判別すると、認証の成功をＣＰＵ１２１に通知する（ステップＳ１０９）。
【００６０】
ＣＰＵ１２１は、認証の成功を通知されると、ＳＲＡＭ１２３の記憶領域のうち、ＢＰＴ及びＢＳＩを格納する部分の初期化を行う（ステップＳ１１０）。
【００６１】
ステップＳ１１０においてＣＰＵ１２１は、具体的には、ＳＲＡＭ１２３の記憶領域のうちＢＰＴを格納する部分について、１ワード毎に付された上述のアドレスにより示される各区画に、物理ブロックアドレスが対応付けられていないことを示す所定の値（例えば、上述の値”０７ＦＦｈ”）を書き込む。また、ＢＳＩを格納する部分のビットの論理値を、すべて”０”とする。
【００６２】
次に、ＣＰＵ１２１は、記憶部１１の各ブロックのうち、未だ論理ブロックアドレスを読み出されていないブロックであって最も物理ブロックアドレスが若いものを特定し、特定されたブロックに属するページの冗長部より、論理ブロックアドレスを読み出す（ステップＳ１１１）。
【００６３】
そして、ＣＰＵ１２１は、ＢＰＴを格納するためのＳＲＡＭ１２３の記憶領域中、記憶部１１から読み出した論理ブロックアドレスに相当するアドレスを付された部分に、その論理ブロックアドレスを読み出したブロックの物理ブロックアドレスを書き込む（ステップＳ１１２）。これにより、ＢＰＴに、物理ブロックアドレスと論理ブロックアドレスとの対応付けを示す新たな情報が追加される。
【００６４】
次に、ＣＰＵ１２１は、ステップＳ１１１で最後に論理ブロックアドレスを読み出したブロックが空きブロックであるか否かを判別する（ステップＳ１１３）。具体的には、ステップＳ１１１で最後に論理ブロックアドレスを読み出したブロックに属するページの冗長部に、所定の形式の空きブロックコードが格納されているか否かを判別する。
【００６５】
そして、空きブロックでないと判別すると、ＣＰＵ１２１は、処理をステップＳ１１５に移す。一方、空きブロックであると判別すると、ＣＰＵ１２１は、その空きブロックを示す物理ブロックアドレスから、ＢＳＩを格納するためのＳＲＡＭ１２３の記憶領域中、その物理ブロックアドレスを示すビットの位置を算出し、そのビットの論理値を”１”に書き換え（ステップＳ１１４）、処理をステップＳ１１５に移す。
【００６６】
ステップＳ１１５で、ＣＰＵ１２１は、ステップＳ１１１で論理ブロックアドレスを読み出したブロックの次のブロックが存在するか否かを判別し、存在すると判別すると、処理をステップＳ１１１に戻す。存在しないと判別すると、初期処理を正常終了する。
以上説明した初期処理により、メモリカード１−アクセス装置２相互の認証と、アクセス装置２による暗号化ブート情報の読込とが行われ、ＣＰＵ１２１によりＢＳＩ及びＢＰＴが作成される。
【００６７】
（一般データ読み出しの処理）
ステップＳ１１５において初期処理が正常終了して以降、メモリカード１のＣＰＵ１２１は、アクセス装置２より、記憶部１１へのアクセスの指示を受け付ける。
アクセス装置２は、ＣＰＵ１２１に記憶部１１からの一般データの読み出しを指示するときは、一般データの読み出しを指示する命令と、一般データを読み出す対象となる記憶領域を指定する情報とを、ＣＰＵ１２１に供給する。
【００６８】
一般データを読み出す対象の記憶領域を指定する情報としては、具体的には、例えば、記憶部１１の記憶領域の大きさに相当する大きさの仮想の記憶領域を、シリンダ、ヘッド及びセクタの３段階の階層に従って区分した場合の各区画を表すＣＨＳ（Cylinder-Head-Sector）形式の情報が用いられる。なお、アクセス装置２は、例えば、自己が取得したブート情報から、記憶部１１の記憶領域の大きさを取得すればよい。
【００６９】
ただし、一般データを読み出す対象の記憶領域を指定する情報の形式は任意であり、例えば、記憶部１１の記憶領域の大きさに相当する大きさの仮想の記憶領域を５１２バイト毎の区画に分け、各区画に０から始まる連番を付した場合の当該連番、すなわちＬＢＡ（Logic Block Address）形式の情報を用いてもよい。
【００７０】
一般データの読み出しを指示する命令と、一般データを読み出す対象の記憶領域を指定する情報とを供給されたＣＰＵ１２１は、記憶領域を特定する情報を変換して、以下に（Ａ）及び（Ｂ）として表す情報を作成する。
【００７１】
すなわち、ＣＰＵ１２１は、
（Ａ）指定された記憶領域が、記憶部１１の記憶領域のうち、いずれの論理ブロックアドレスを付されたブロックに相当するか、を表す情報と、
（Ｂ）指定された記憶領域が、（Ａ）の情報により表されるブロックの中のどの位置にあるページに相当するか、を表す情報と、
を作成する。なお、（Ａ）の情報が示すブロックの数は１個に限られず、（Ｂ）の情報が示すページの数も１個に限られない。
【００７２】
次に、ＣＰＵ１２１は、（Ａ）の情報が示す論理ブロックアドレスに対応付けられている物理ブロックアドレスを、ＢＰＴより索出する。そして、索出された物理ブロックアドレスと、上述の（Ｂ）の情報とより、読み出す対象のページを特定し、そのページより一般データを読み出す。
【００７３】
読み出された一般データはアクセス装置２に供給される。アクセス装置２は、自己に供給された一般データを認証用ドライバの処理に引き渡し、認証用ドライバに一般データの復号化を指示する。認証用ドライバを実行するアクセス装置２は、初期処理のステップＳ１０３で読み出した暗号鍵を用いて、自己に供給された一般データを復号化し、復号化された一般データを、自己に一般データを供給した処理（すなわち、アクセス用ドライバの処理）に引き渡す。
以上説明した処理により、暗号化されている一般データが記憶部１１から読み出され、復号化される。
【００７４】
（データ書き込みの処理）
また、初期処理の正常終了後において、アクセス装置２は、記憶部１１へのデータの書き込みを指示するときは、まず、書き込み対象のデータを認証用ドライバの処理に引き渡し、当該データの暗号化を指示する。認証用ドライバを実行するアクセス装置２は、ステップＳ１０３で読み出した暗号鍵を用いて当該データを暗号化し、暗号化された書き込み対象のデータを、自己に一般データを供給した処理に引き渡す。
【００７５】
そして、アクセス装置２は、ＣＰＵ１２１に、暗号化された書き込み対象のデータと、自己が取得したブート情報が示す手法による記憶部１１への一般データの書き込みを指示する命令と、データを書き込む対象となる記憶領域を指定する情報とを供給する。
【００７６】
データの書き込みを指示する命令と、暗号化された書き込み対象のデータと、データを書き込む対象となる記憶領域を指定する情報とを供給されたＣＰＵ１２１は、記憶領域を特定する情報を変換して、上述の（Ａ）及び（Ｂ）の情報を作成する。
そして、ＣＰＵ１２１は、ＢＳＩを検索して、（Ａ）の情報が示すブロックの個数と同数の空きブロックの物理ブロックアドレスを索出する。
【００７７】
次に、ＣＰＵ１２１は、（Ａ）の情報が示す論理ブロックアドレスに対応付けられている物理ブロックアドレスをＢＰＴより索出する。そして、ＢＰＴより索出された物理ブロックアドレスを付された各ブロックに属するページを、（Ｂ）の情報が示すページ（書き込み該当ページ）と、その他のページ（非該当ページ）とに分類する。
【００７８】
ただし、（Ａ）の情報が示す論理ブロックアドレスに対応付けられている物理ブロックアドレスが存在しない場合、ＣＰＵ１２１は、ＢＳＩより索出された物理ブロックアドレスが示すブロックに、アクセス装置２より供給された書き込み対象のデータを書き込む。
そして、ＣＰＵ１２１はＢＳＩの内容を変更し、変更後のＢＳＩの内容が、データが書き込まれたブロックが空きブロックであることを表さないようにする。また、ＣＰＵ１２１は、ＢＰＴのうち、物理ブロックアドレスが対応付けられていないことを示す情報が書き込まれている記憶領域に、新たにデータを書き込まれたブロックの物理ブロックアドレスを書き込む。そして、ＢＳＩ及びＢＰＴの内容の変更が完了すると、処理を終了する。
【００７９】
一方、（Ａ）の情報が示す論理ブロックアドレスに対応付けられている物理ブロックアドレスが存在する場合、ＣＰＵ１２１は、索出された物理ブロックアドレスにより示されるブロックと、（Ａ）の情報が示す各ブロックとを１対１に対応付ける。そして、（Ａ）の情報が示す各々のブロックに属するページに記憶されている内容を、当該ブロックに対応付けられたブロック中、先頭からの順番が当該ページと同一であるページに転記する。
ただし、書き込み該当ページであると分類されたページの内容は転記せず、そのページの内容に代えて、アクセス装置２から供給された書き込み対象のデータのうち、その書き込み該当ページに書き込むべきものとして供給された部分を書き込む。
【００８０】
また、ＣＰＵ１２１は、ＢＳＩより索出された各々の空きブロックへのデータの書き込みが完了する毎に、その空きブロックに対応付けられたブロックをリセットし、リセットしたブロックに属するページの冗長部に、空きブロックコードを書き込む。
【００８１】
そして、ＣＰＵ１２１はＢＰＴにアクセスし、変更後のＢＰＴのうち、リセットされたブロックの物理ブロックアドレスが格納されている記憶領域に、書き込みが完了したブロックの物理ブロックアドレスを上書きする。これにより、リセットされたブロックに従前対応付けられていた論理ブロックアドレスは、新たに書き込みが完了したブロックに対応付けられる。
また、ＣＰＵ１２１はＢＳＩにもアクセスし、変更後のＢＳＩの内容が、書き込みが完了したブロックが空きブロックであることを表さないようにし、リセットされたブロックが空きブロックであることを表すようにする。
【００８２】
そして、ＣＰＵ１２１は、ＢＳＩより索出されたすべての空きブロックへのデータの書き込みと、ＢＳＩ及びＢＰＴの変更とが終了すると、書き込みの処理を終了する。
以上説明した処理により、アクセス装置２から供給されたデータが、暗号化された状態で記憶部１１に格納される。また、ＢＳＩの内容が、データの書き込みの結果新たに生じた空きブロック及び消滅した空きブロックを示すよう変更される。一方、ＢＰＴの内容も変更され、新たに空きブロックとなったブロックに割り当てられていた論理ブロックアドレスが、そのブロックに従前から記録されていたデータの転記を受けたブロックに新たに割り当てられる。
【００８３】
（データ消去の処理）
また、アクセス装置２は、記憶部１１に格納されているデータを、同一ブロックに格納されているもの毎に一括して消去するときは、データの消去を指示する命令と、消去の対象となるデータがあるブロックを示す論理ブロックアドレスとを、ＣＰＵ１２１に供給する。
【００８４】
ＣＰＵ１２１は、データの消去を指示する命令と、消去の対象となるデータがあるブロックを示す論理ブロックアドレスとを供給されると、その論理ブロックアドレスに対応付けられている物理ブロックアドレスを、ＢＰＴより索出する。そして、ＣＰＵ１２１は、索出された物理ブロックアドレスにより示されるブロックをリセットし、リセットしたブロックに属するページの冗長部に、空きブロックコードを書き込む。
【００８５】
次に、ＣＰＵ１２１は、ＳＲＡＭ１２３に格納されているＢＳＩの内容を変更し、変更後のＢＳＩの内容が、リセットされたブロックが空きブロックであることを表すようにして、処理を終了する。
【００８６】
以上説明した処理により、記憶部１１に格納されたデータがブロック単位で消去され、消去の結果新たに生じた空きブロックを示す情報がＢＳＩに加えられる。
なお、必ずしもブロック単位で表されない任意の範囲の記憶領域に格納されたデータを消去する場合は、アクセス装置２から供給されたデータを書き込むべきところを、何らの書き込み操作を行わないようにして、上述のデータ書き込みの処理を行えばよい。
【００８７】
なお、メモリカード１の構成は、上述のものに限られない。
例えば、記憶部１１は、ＥＥＰＲＯＭに限らず任意の種類の記憶装置を備えていてもよい。また、記憶部１１の記憶容量や、記憶領域のデータ構造も上述のものに限られない。例えば、記憶部１１の記憶領域中、カード固有情報記憶領域が占める論理的位置は随時変動してもよい。この場合、例えば、記憶部１１やコントローラ１２が、カード固有情報記憶領域の論理的位置を示す情報を初期処理のステップＳ１０１の処理の前にアクセス装置２に供給し、アクセス装置２が、供給された情報が示す論理的位置へのアクセスを行うようにしてもよい。
【００８８】
また、認証用ドライバの処理は、アクセス装置２が行う必要はなく、例えば、コントローラ１２のＣＰＵ１２１が行うようにしてもよい。この場合は、アクセス装置２がメモリカードを装着した状態で起動した直後に、例えばアクセス装置２がＣＰＵ１２１に初期処理の開始を指示し、ＣＰＵ１２１がこの指示に応答して、認証用ドライバのプログラムを記憶部１１から読み出し、認証用ドライバの処理を実行するようにすればよい。
【００８９】
認証用ドライバの処理をＣＰＵ１２１が行う場合、ＣＰＵ１２１は、ステップＳ１０９における認証の成功の通知に代えて、ステップＳ１１５の処理において初期処理を正常終了した後、初期処理の終了をアクセス装置２に通知する処理を行うようにしてもよい。この場合、ＣＰＵ１２１は、初期処理の終了をアクセス装置２に通知して以降、アクセス装置２から、記憶部１１へのアクセスの指示を受け付けるようにすればよい。
【００９０】
また、認証用ドライバの処理をＣＰＵ１２１が行う場合、ＣＰＵ１２１は、記憶部から読み出した一般データを自ら復号化してアクセス装置２に供給すればよい。また、この場合、アクセス装置２は記憶部１１に格納する対象のデータを暗号化することなくＣＰＵ１２１に供給し、ＣＰＵ１２１が当該データを暗号化してから記憶部１１に格納するようにすればよい。
【００９１】
また、認証用ドライバの処理を行うアクセス装置２は、初期処理において認証に失敗したとき、認証に失敗した回数が所定の回数に達したか否かを判別して、達したと判別して以降は、新たにメモリカード１の装着を検出しても初期処理を再開しないようにしてもよい。認証用ドライバの処理をＣＰＵ１２１が行う場合は、初期処理において認証に失敗した回数が所定の回数に達したと判別して以降は、アクセス装置２より初期処理の開始を指示されても、初期処理の再開を拒絶するようにすればよい。
【００９２】
また、このメモリカードシステムは、ユーザの操作によりアクセス装置２に供給されたパスワードを、当該パスワードに基づく認証が成功したか否かに係わらず記憶し、更に、当該パスワードに基づく認証が成功したか否かを表す情報や、当該パスワードが供給された時刻を表す情報を記憶するようにしてもよい。
これにより、不正なユーザによりアクセスが試みられた場合などに、そのアクセスの時刻や、その際に入力されたパスワードなどを参照することが可能となる。
【００９３】
また、このメモリカードシステムは、記憶部１１に格納されている一般データのうち所定の条件に合致するものへのアクセスがアクセス装置２からメモリカード１に指示されたとき、そのアクセスを許可するか否かを決定するため、更にユーザの認証を行ってもよい。
【００９４】
具体的には、例えば、記憶部１１が、ユーザに固有の再認証用パスワードを暗号化したものと、その再認証用パスワードを用いた認証に成功したときアクセスを許可すべき対象の一般データを示す再認証対象指定データとを記憶する。
そして、ＣＰＵ１２１は、アクセス装置２から一般データへのアクセスの指示があったとき、アクセスの対象である一般データが、再認証対象指定データにより示されるものに該当するか否かを判別する。該当すると判別したとき、アクセス装置２又はＣＰＵ１２１は、ユーザがアクセス装置２を操作して再認証用パスワードを入力するのを待機し、入力された再認証用パスワードを、ステップＳ１０３で読み込んだ暗号鍵を用いて暗号化する。そして、暗号化された再認証用パスワードが、記憶部１１に予め格納されている暗号化済みの再認証用パスワードと一致するか否かを判別し、一致すると判別すると、ＣＰＵ１２１は、アクセス装置２がアクセスの対象として指定した当該一般データにアクセスするものとする。
【００９５】
以上、この発明の実施の形態を説明したが、この発明の記憶システムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、メモリカード１を装着するスロットを備えるパーソナルコンピュータに、上述のアクセス装置２の動作を実行するためのプログラムを格納した媒体（フロッピーディスク、ＣＤ−ＲＯＭ等）から該プログラムをインストールすることにより、上述の処理を実行する記憶システムを構成することができる。
【００９６】
また、コンピュータにプログラムを供給するための媒体は、通信媒体（通信回線、通信ネットワーク、通信システムのように、一時的且つ流動的にプログラムを保持する媒体）でも良い。例えば、通信ネットワークの掲示板（ＢＢＳ）に該プログラムを掲示し、これをネットワークを介して配信してもよい。
そして、このプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００９７】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分をのぞいたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【００９８】
【発明の効果】
以上説明したように、この発明によれば、既存の装置に加えるべき変更が少なく、簡単な操作で、データを暗号化して記憶する記録媒体へのアクセスを行うことができる記憶システム、記憶装置及び記憶データ保護方法が実現される。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるメモリカードシステムの構成を示すブロック図である。
【図２】記憶部の記憶領域の論理的構造を模式的に示す図である。
【図３】ＢＳＩのデータ構造を模式的に示す図である。
【図４】ＢＰＴの構成の一例を示す図である。
【図５】初期処理を示すフローチャートである。
【符号の説明】
１          メモリカード
１１        記憶部
１２        コントローラ
１２１      ＣＰＵ
１２２      ＲＯＭ
１２３      ＳＲＡＭ
２          アクセス装置
【図１】
0003730432.tif 000002
【図２】
0003730432.tif 000003
【図３】
0003730432.tif 000004
【図４】
0003730432.tif 000005
【図５】
0003730432.tif 000006