(57)【特許請求の範囲】
【請求項１】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第１情報に関連した第２情報を記憶する第１記憶部と、
第１メモリ内制御部と、
前記第１情報を記憶する第２記憶部と、
第２メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と、
を有し、
前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、
前記第１メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項２】
前記メモリ装置は、
前記第２記憶部から取得した前記第１情報に基づいて第３情報を生成する生成手段、
をさらに有し、
前記判断手段は、前記第２情報と、前記生成手段によって生成された前記第３情報とを比較することによって、前記第２記憶部の正当性を判断する請求項１に記載のメモリシステム。
【請求項３】
前記第１記憶部は、ＯＴＰ（One Time Programmable）領域を有し、
前記第２情報は、前記ＯＴＰ領域に記憶される請求項１または請求項２に記載のメモリシステム。
【請求項４】
前記第２記憶部は、前記第２情報をさらに記憶し、
前記ＯＴＰ領域に記憶される前記第２情報は、前記情報処理装置の指示に基づいて、前記第２記憶部から読み出され、前記第１記憶部の前記ＯＴＰ領域に書き込まれた情報である請求項３に記載のメモリシステム。
【請求項５】
前記生成手段は、前記第１情報と鍵とを用いて、ＭＡＣ（Message Authentication Code）値を前記第３情報として生成し、
前記第１記憶部は、第１情報と、前記鍵と共通の共通鍵とを用いて予め生成されたＭＡＣ値を前記第２情報として記憶し、
前記判断手段は、前記第１記憶部に記憶されていたＭＡＣ値と、前記生成手段によって生成されたＭＡＣ値とを比較することによって、前記第２記憶部の正当性を判断する請求項２に記載のメモリシステム。
【請求項６】
前記メモリ装置は、前記鍵を外部から読み出し不可能に保持する請求項５に記載のメモリシステム。
【請求項７】
前記生成手段は、前記第１情報を用いて、ハッシュ値を前記第３情報として生成し、
前記第１記憶部は、第１情報を用いて予め生成されたハッシュ値を前記第２情報として記憶し、
前記判断手段は、前記第１記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第２記憶部の正当性を判断する請求項２に記載のメモリシステム。
【請求項８】
前記第１情報は、固有の識別情報である請求項１から請求項７のいずれかに記載のメモリシステム。
【請求項９】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、
第１情報に関連した第２情報を記憶する第１記憶部と、
第１メモリ内制御部と、
前記第１情報を記憶する第２記憶部と、
第２メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と、
を備え、
前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、
前記第１メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリ装置。
【請求項１０】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、
ａ）前記メモリ装置の第１記憶部に記憶された、第１情報に関連する第２情報、および前記メモリ装置の第２記憶部に記憶された前記第１情報を用いて、前記第２記憶部の正当性を判断する工程と、
ｂ）前記ａ）工程において、前記第２記憶部が正当でないと判断された場合、コマンドに応じた動作の実行指示を行わない工程と、
を有し、
前記ａ）工程は、
前記第２記憶部から入力される前記第１情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第１情報を復号化し、復号化した前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する工程と
を有するメモリ装置の動作方法。
【請求項１１】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第１情報を記憶する第１記憶部と、
第１メモリ内制御部と、
第２情報を記憶する第２記憶部と、
第２メモリ内制御部と、
を有し、
前記第１メモリ内制御部は、
前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行う第１指示手段と、
前記第１記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する第１暗号化部と、
前記情報処理装置から受信した、暗号化された前記第２情報を復号化する第１復号化部と、
前記第１記憶部に記憶された前記第１情報と、前記第１復号化部で復号化された前記第２情報とを用いて、前記第２記憶部の正当性を判断する第１判断手段と、
を有し、
前記第２メモリ内制御部は、
前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行う第２指示手段と、
前記第２記憶部から入力される前記第２情報を暗号化し、暗号化した前記第２情報を前記情報処理装置へと伝送する第２暗号化部と、
前記情報処理装置から受信した、暗号化された前記第１情報を復号化する第２復号化部と、
第２復号化部で復号化された前記第１情報と、前記第２記憶部からの前記第１情報とを用いて、前記第１記憶部の正当性を判断する第２判断手段と、
を有し、
前記情報処理装置は、前記第１メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第２メモリ内制御部へと伝送し、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記第１メモリ内制御部へと伝送し、
前記第１指示手段は、前記第１判断手段によって、前記第２記憶部が正当でないと判断された場合、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わず、
前記第２指示手段は、前記第２判断手段によって、前記第１記憶部が正当でないと判断された場合、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項１２】
前記第１情報と前記第２情報とは、互いに共通した、固有の識別情報である請求項１１に記載のメモリシステム。
【請求項１３】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、
第１情報を記憶する第１記憶部と、
第１メモリ内制御部と、
第２情報を記憶する第２記憶部と、
第２メモリ内制御部と、
を有し、
前記第１メモリ内制御部は、
前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行う第１指示手段と、
前記第１記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する第１暗号化部と、
前記情報処理装置から受信した、暗号化された前記第２情報を復号化する第１復号化部と、
前記第１記憶部に記憶された前記第１情報と、前記第１復号化部で復号化された前記第２情報とを用いて、前記第２記憶部の正当性を判断する第１判断手段と
を有し、
前記第２メモリ内制御部は、
前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行う第２指示手段と、
前記第２記憶部から入力される前記第２情報を暗号化し、暗号化した前記第２情報を前記情報処理装置へと伝送する第２暗号化部と、
前記情報処理装置から受信した、暗号化された前記第１情報を復号化する第２復号化部と、
第２復号化部で復号化された前記第１情報と、前記第２記憶部からの前記第１情報とを用いて、前記第１記憶部の正当性を判断する第２判断手段と、
を有し、
前記情報処理装置は、前記第１メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第２メモリ内制御部へと伝送し、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記第１メモリ内制御部へと伝送し、
前記第１指示手段は、前記第１判断手段によって、前記第２記憶部が正当でないと判断された場合、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わず、
前記第２指示手段は、前記第２判断手段によって、前記第１記憶部が正当でないと判断された場合、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わないメモリ装置。
【請求項１４】
情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、
ａ）前記メモリ装置の第１記憶部に記憶された第１情報、および前記メモリ装置の第２記憶部に記憶された第２情報を用いて、前記第２記憶部の正当性を判断する工程と、
ｂ）前記ａ）工程において、前記第２記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、
ｃ）前記メモリ装置の第１記憶部に記憶された第１情報、および前記メモリ装置の第２記憶部に記憶された前記第２情報を用いて、前記第１記憶部の正当性を判断する工程と、
ｄ）前記ｃ）工程において、前記第１記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、
を有し、
前記ａ）工程は、
前記第２記憶部から入力される前記第２情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第２情報を復号化し、復号化した前記第２情報と、前記第１記憶部からの前記第１情報とを用いて、前記第２記憶部の正当性を判断する工程と
を有し、
前記ｃ）工程は、
前記第１記憶部から入力される前記第１情報を暗号化して前記情報処理装置へと伝送する工程と、
前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記メモリ装置へと伝送する工程と、
前記情報処理装置からの暗号化された前記第１情報を復号化し、復号化した前記第１情報と、前記第２記憶部からの前記第２情報とを用いて、前記第１記憶部の正当性を判断する工程と
を有するメモリ装置の動作方法。
【請求項１５】
メモリ装置と、
情報処理を実行する情報処理装置と、
を備え、
前記メモリ装置は、
第１情報を記憶する第１記憶部と、
第１メモリ内制御部と、
前記第１情報に関連した第２情報を記憶する第２記憶部と、
第２メモリ内制御部と、
前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と、
を有し、
前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、
前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、
前記第１メモリ内制御部は、
前記情報処理装置から受信した情報を復号化する復号化部と、
前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、
を有し、
前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わないメモリシステム。
【請求項１６】
前記メモリ装置は、
前記第１記憶部から取得した前記第１情報に基づいて第３情報を生成する生成手段、
をさらに有し、
前記判断手段は、前記第２情報と、前記生成手段によって生成された前記第３情報とを比較することによって、前記第２記憶部の正当性を判断する請求項１５に記載のメモリシステム。
【請求項１７】
前記第１記憶部は、ＯＴＰ（One Time Programmable）領域を有し、
前記第１情報は、前記ＯＴＰ領域に記憶される請求項１５または請求項１６に記載のメモリシステム。
【請求項１８】
前記第２記憶部は、前記第１情報をさらに記憶し、
前記ＯＴＰ領域に記憶される前記第１情報は、前記情報処理装置の指示に基づいて、前記第２記憶部から読み出され、前記第１記憶部の前記ＯＴＰ領域に書き込まれた情報である請求項１７に記載のメモリシステム。
【請求項１９】
前記生成手段は、前記第１情報と鍵とを用いて、ＭＡＣ（Message Authentication Code）値を前記第３情報として生成し、
前記第２記憶部は、第１情報と、前記鍵と共通の共通鍵とを用いて予め生成されたＭＡＣ値を前記第２情報として記憶し、
前記判断手段は、前記第２記憶部に記憶されていたＭＡＣ値と、前記生成手段によって生成されたＭＡＣ値とを比較することによって、前記第２記憶部の正当性を判断する請求項１６に記載のメモリシステム。
【請求項２０】
前記生成手段は、前記第１情報を用いて、ハッシュ値を前記第３情報として生成し、
前記第２記憶部は、第１情報を用いて予め生成されたハッシュ値を前記第２情報として記憶し、
前記判断手段は、前記第２記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第２記憶部の正当性を判断する請求項１６に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の保護技術に関する。
【背景技術】
【０００２】
アプリケーションソフトウェアを記憶したメモリ装置を情報処理装置に装着し、当該情報処理装置において、メモリ装置に記憶されたアプリケーションソフトウェアを実行して所定の機能を実現する技術が知られている。
【０００３】
このようなメモリ装置においては、アプリケーションソフトウェアの読み出しによるメモリ装置の複製を防止するために、セキュリティ機能が搭載されている。例えば、特許文献１では、アプリケーションソフトウェアが暗号化された状態でメモリ装置に記憶され、情報処理装置は、当該アプリケーションソフトウェアを解読するための鍵データを取得することなく、アプリケーションソフトウェアを実行することができないように構成されている。したがって、特許文献１では、適切な鍵データを取得するまでは、メモリ装置の複製が制限されることになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５８８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、暗号化されたアプリケーションソフトウェアに対応する鍵データが特定された場合には、アプリケーションソフトウェアを記憶したメモリ装置が許可無く無断で複製される可能性があった。
【０００６】
このようなメモリ装置が無断で複製される可能性は、アプリケーションソフトウェアを記憶したものに限らず、アプリケーションソフトウェア以外の他のデータ（例えば、アプリケーションソフトウェアの実行に利用するためのデータ）等を記憶したメモリ装置に対しても生じうる。
【０００７】
そこで、本発明は、メモリ装置の複製を困難にすることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るメモリシステムの第１の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第１情報に関連した第２情報を記憶する第１記憶部と、第１メモリ内制御部と、前記第１情報を記憶する第２記憶部と、第２メモリ内制御部と、前記情報処理装置から入力されたコマンドに応じた動作の実行指示を行う指示手段と、を有し、前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、前記第１メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【０００９】
また、本発明に係るメモリシステムの第２の態様は、上記第１の態様であって、前記メモリ装置は、前記第２記憶部から取得した前記第１情報に基づいて第３情報を生成する生成手段、をさらに有し、前記判断手段は、前記第２情報と、前記生成手段によって生成された前記第３情報とを比較することによって、前記第２記憶部の正当性を判断する。
【００１０】
また、本発明に係るメモリシステムの第３の態様は、上記第１の態様または上記第２の態様であって、前記第１記憶部は、ＯＴＰ（One Time Programmable）領域を有し、前記第２情報は、前記ＯＴＰ領域に記憶される。
【００１１】
また、本発明に係るメモリシステムの第４の態様は、上記第３の態様であって、前記第２記憶部は、前記第２情報をさらに記憶し、前記ＯＴＰ領域に記憶される前記第２情報は、前記情報処理装置の指示に基づいて、前記第２記憶部から読み出され、前記第１記憶部の前記ＯＴＰ領域に書き込まれた情報である。
【００１２】
また、本発明に係るメモリシステムの第５の態様は、上記第２の態様であって、前記生成手段は、前記第１情報と鍵とを用いて、ＭＡＣ（Message Authentication Code）値を前記第３情報として生成し、前記第１記憶部は、第１情報と、前記鍵と共通の共通鍵とを用いて予め生成されたＭＡＣ値を前記第２情報として記憶し、前記判断手段は、前記第１記憶部に記憶されていたＭＡＣ値と、前記生成手段によって生成されたＭＡＣ値とを比較することによって、前記第２記憶部の正当性を判断する。
【００１３】
また、本発明に係るメモリシステムの第６の態様は、上記第５の態様であって、前記メモリ装置は、前記鍵を外部から読み出し不可能に保持する。
【００１４】
また、本発明に係るメモリシステムの第７の態様は、上記第２の態様であって、前記生成手段は、前記第１情報を用いて、ハッシュ値を前記第３情報として生成し、前記第１記憶部は、第１情報を用いて予め生成されたハッシュ値を前記第２情報として記憶し、前記判断手段は、前記第１記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第２記憶部の正当性を判断する。
【００１５】
また、本発明に係るメモリシステムの第８の態様は、上記第１の態様から上記第６の態様のいずれかであって、前記第１情報は、固有の識別情報である。
【００１６】
また、本発明に係るメモリ装置の第１の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、第１情報に関連した第２情報を記憶する第１記憶部と、第１メモリ内制御部と、前記第１情報を記憶する第２記憶部と、第２メモリ内制御部と、を備え、前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、前記第１メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【００１７】
また、本発明に係るメモリ装置の動作方法の第１の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、ａ）前記メモリ装置の第１記憶部に記憶された、第１情報に関連する第２情報、および前記メモリ装置の第２記憶部に記憶された前記第１情報を用いて、前記第２記憶部の正当性を判断する工程と、ｂ）前記ａ）工程において、前記第２記憶部が正当でないと判断された場合、コマンドに応じた動作の実行指示を行わない工程とを有し、前記ａ）工程は、前記第２記憶部から入力される前記第１情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第１情報を復号化し、復号化した前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する工程とを有する。
【００１８】
また、本発明に係るメモリシステムの第９の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第１情報を記憶する第１記憶部と、第１メモリ内制御部と、第２情報を記憶する第２記憶部と、第１メモリ内制御部と、を有し、前記第１メモリ内制御部は、前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行う第１指示手段と、前記第１記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する第１暗号化部と、前記情報処理装置から受信した、暗号化された前記第２情報を復号化する第１復号化部と、前記第１記憶部に記憶された前記第１情報と、前記第１復号化部で復号化された前記第２情報とを用いて、前記第２記憶部の正当性を判断する第１判断手段と、を有し、前記第２メモリ内制御部は、前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行う第２指示手段と、前記第２記憶部から入力される前記第２情報を暗号化し、暗号化した前記第２情報を前記情報処理装置へと伝送する第２暗号化部と、前記情報処理装置から受信した、暗号化された前記第１情報を復号化する第２復号化部と、第２復号化部で復号化された前記第１情報と、前記第２記憶部からの前記第１情報とを用いて、前記第１記憶部の正当性を判断する第２判断手段と、を有し、前記情報処理装置は、前記第１メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第２メモリ内制御部へと伝送し、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記第１メモリ内制御部へと伝送し、前記第１指示手段は、前記第１判断手段によって、前記第２記憶部が正当でないと判断された場合、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わず、前記第２指示手段は、前記第２判断手段によって、前記第１記憶部が正当でないと判断された場合、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わない。
【００１９】
また、本発明に係るメモリシステムの第１０の態様は、上記第９の態様であって、前記第１情報と前記第２情報とは、互いに共通した、固有の識別情報である。
【００２０】
また、本発明に係るメモリ装置の第２の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置であって、第１情報を記憶する第１記憶部と、第１メモリ内制御部と、第２情報を記憶する第２記憶部と、第２メモリ内制御部と、を有し、前記第１メモリ内制御部は、前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行う第１指示手段と、前記第１記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する第１暗号化部と、前記情報処理装置から受信した、暗号化された前記第２情報を復号化する第１復号化部と、前記第１記憶部に記憶された前記第１情報と、前記第１復号化部で復号化された前記第２情報とを用いて、前記第２記憶部の正当性を判断する第１判断手段とを有し、前記第２メモリ内制御部は、前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行う第２指示手段と、前記第２記憶部から入力される前記第２情報を暗号化し、暗号化した前記第２情報を前記情報処理装置へと伝送する第２暗号化部と、前記情報処理装置から受信した、暗号化された前記第１情報を復号化する第２復号化部と、第２復号化部で復号化された前記第１情報と、前記第２記憶部からの前記第１情報とを用いて、前記第１記憶部の正当性を判断する第２判断手段と、を有し、前記情報処理装置は、前記第１メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第２メモリ内制御部へと伝送し、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記第１メモリ内制御部へと伝送し、前記第１指示手段は、前記第１判断手段によって、前記第２記憶部が正当でないと判断された場合、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わず、前記第２指示手段は、前記第２判断手段によって、前記第１記憶部が正当でないと判断された場合、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わない。
【００２１】
また、本発明に係るメモリ装置の動作方法の第２の態様は、情報処理を実行する情報処理装置に、情報を供給するメモリ装置の動作方法であって、ａ）前記メモリ装置の第１記憶部に記憶された第１情報、および前記メモリ装置の第２記憶部に記憶された第２情報を用いて、前記第２記憶部の正当性を判断する工程と、ｂ）前記ａ）工程において、前記第２記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第１記憶部に対するコマンドに応じた動作の実行指示を行わない工程と、ｃ）前記メモリ装置の第１記憶部に記憶された第１情報、および前記メモリ装置の第２記憶部に記憶された前記第２情報を用いて、前記第１記憶部の正当性を判断する工程と、ｄ）前記ｃ）工程において、前記第１記憶部が正当でないと判断された場合、前記情報処理装置から入力される、前記第２記憶部に対するコマンドに応じた動作の実行指示を行わない工程とを有し、前記ａ）工程は、前記第２記憶部から入力される前記第２情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第２情報であるときに、前記第２情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第２情報を復号化し、復号化した前記第２情報と、前記第１記憶部からの前記第１情報とを用いて、前記第２記憶部の正当性を判断する工程とを有し、前記ｃ）工程は、前記第１記憶部から入力される前記第１情報を暗号化して前記情報処理装置へと伝送する工程と、前記情報処理装置が、前記メモリ装置からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記メモリ装置へと伝送する工程と、前記情報処理装置からの暗号化された前記第１情報を復号化し、復号化した前記第１情報と、前記第２記憶部からの前記第２情報とを用いて、前記第１記憶部の正当性を判断する工程とを有する。
【００２２】
また、本発明に係るメモリシステムの第１１の態様は、メモリ装置と、情報処理を実行する情報処理装置とを備え、前記メモリ装置は、第１情報を記憶する第１記憶部と、第１メモリ内制御部と、前記第１情報に関連した第２情報を記憶する第２記憶部と、第２メモリ内制御部と、を有し、前記第２メモリ内制御部は、前記第２記憶部から入力される前記第１情報を暗号化し、暗号化した前記第１情報を前記情報処理装置へと伝送する暗号化部を有し、前記情報処理装置は、前記第２メモリ内制御部からの情報を復号化し、復号化した情報が前記第１情報であるときに、前記第１情報を暗号化して前記第１メモリ内制御部へと伝送し、前記第１メモリ内制御部は、前記情報処理装置から受信した情報を復号化する復号化部と、前記復号化部で復号化された前記第１情報と、前記第１記憶部からの前記第２情報とを用いて、前記第２記憶部の正当性を判断する判断手段と、を有し、前記指示手段は、前記判断手段によって、前記第２記憶部が正当でないと判断された場合、前記コマンドに応じた動作の実行指示を行わない。
【００２３】
また、本発明に係るメモリシステムの第１２の態様は、上記第１１の態様であって、前記メモリ装置は、前記第１記憶部から取得した前記第１情報に基づいて第３情報を生成する生成手段をさらに有し、前記判断手段は、前記第２情報と、前記生成手段によって生成された前記第３情報とを比較することによって、前記第２記憶部の正当性を判断する。
【００２４】
また、本発明に係るメモリシステムの第１３の態様は、上記第１１の態様または上記第１２の態様であって、前記第１記憶部は、ＯＴＰ（One Time Programmable）領域を有し、前記第１情報は、前記ＯＴＰ領域に記憶される。
【００２５】
また、本発明に係るメモリシステムの第１４の態様は、上記第１３の態様であって、前記第２記憶部は、前記第１情報をさらに記憶し、前記ＯＴＰ領域に記憶される前記第１情報は、前記情報処理装置の指示に基づいて、前記第２記憶部から読み出され、前記第１記憶部の前記ＯＴＰ領域に書き込まれた情報である。
【００２６】
また、本発明に係るメモリシステムの第１５の態様は、上記第１２の態様であって、前記生成手段は、前記第１情報と鍵とを用いて、ＭＡＣ（Message Authentication Code）値を前記第３情報として生成し、前記第２記憶部は、第１情報と、前記鍵と共通の共通鍵とを用いて予め生成されたＭＡＣ値を前記第２情報として記憶し、前記判断手段は、前記第２記憶部に記憶されていたＭＡＣ値と、前記生成手段によって生成されたＭＡＣ値とを比較することによって、前記第２記憶部の正当性を判断する。
【００２７】
また、本発明に係るメモリシステムの第１６の態様は、上記第１２の態様であって、前記生成手段は、前記第１情報を用いて、ハッシュ値を前記第３情報として生成し、前記第２記憶部は、第１情報を用いて予め生成されたハッシュ値を前記第２情報として記憶し、前記判断手段は、前記第２記憶部に記憶されていたハッシュ値と、前記生成手段によって生成されたハッシュ値とを比較することによって、前記第２記憶部の正当性を判断する。
【発明の効果】
【００２８】
本発明によれば、メモリ装置の複製を困難にすることが可能になる。
【図面の簡単な説明】
【００２９】
【図１】メモリ情報保護システムの外観構成を示す図である。
【図２】メモリ情報保護システムで実行される認証動作の概要を説明するための図である。
【図３】第１実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図４】メッセージ認証コード生成部の詳細構成を示す図である。
【図５】第１実施形態に係るメモリ情報保護システムの初期化動作を説明するための図である。
【図６】第１実施形態に係るメモリ情報保護システムの相手認証動作を説明するための図である。
【図７】第２実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図８】第３実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図９】第３実施形態に係るメモリ情報保護システムの初期化動作を説明するための図である。
【図１０】メモリ情報保護システムの相互認証動作を説明するための図である。
【図１１】第４実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【発明を実施するための形態】
【００３０】
以下、各実施形態について図面を参照して説明する。なお、異なる図面において同一の符号を付した要素は、同一または相応する要素を示すものとする。
【００３１】
＜１．第１実施形態＞
［１−１．構成概要］
図１は、メモリ情報保護システム（単に「メモリシステム」とも称する）１Ａの外観構成を示す図である。図２は、メモリ情報保護システム１Ａで実行される認証動作の概要を説明するための図である。
【００３２】
図１に示されるように、メモリ情報保護システム１Ａは、情報処理装置１０とメモリ装置２０Ａとを有している。
【００３３】
メモリ装置２０Ａは、マスクＲＯＭまたはフラッシュメモリ等の半導体メモリで構成された複数の記憶部を有している。
【００３４】
メモリ装置２０Ａは、これら複数の記憶部のうち少なくとも１つの記憶部に、アプリケーションの実施に用いるアプリケーション情報を記憶している。当該アプリケーション情報には、例えば、一種のコンピュータ装置である情報処理装置１０で実行されるアプリケーションソフトウェアとしてのプログラム、および／またはアプリケーションソフトウェアを実行する際に使用されるデータ等が含まれている。
【００３５】
また、メモリ装置２０Ａは、複数の記憶部のうち、少なくとも２つの記憶部各々に、それぞれ相互に関連した情報（「関連情報」とも称する）を記憶している。
【００３６】
このメモリ装置２０Ａは、例えばカードまたはカートリッジのような態様を有している。当該メモリ装置２０Ａは、情報処理装置１０に脱着自在に構成され、メモリ装置２０Ａは、情報処理装置１０に装着された状態で使用される。
【００３７】
メモリ装置２０Ａに格納された情報を利用する情報処理装置１０には、例えば、パーソナルコンピュータ（パソコン）、ＰＤＡ（Personal Digital Assistant）のような携帯情報端末装置、または画像処理装置が含まれる。また、メモリ装置２０Ａに記憶されたアプリケーションソフトウェアがゲームプログラムである場合は、情報処理装置１０は、据置型ゲーム機または携帯ゲーム機等のゲーム装置本体として機能する。
【００３８】
このようなメモリ情報保護システム１Ａでは、メモリ装置２０Ａにおいて、メモリ装置２０Ａ内の複数の記憶部のうち、少なくとも２つの記憶部各々に記憶された関連情報を用いて、当該少なくとも２つの記憶部に含まれる少なくとも１つの記憶部の正当性を判断する認証動作が行われる。
【００３９】
具体的には、図２に示されるように、メモリ装置２０Ａは、関連情報Ｄ１を記憶する第１半導体メモリ２２１と、関連情報Ｄ２を記憶する第２半導体メモリ２２２とを有している。メモリ装置２０Ａは、第１半導体メモリ２２１に記憶された関連情報Ｄ１と第２半導体メモリ２２２に記憶された関連情報Ｄ２とを用いて、第２半導体メモリ２２２が正当な記憶部であるか否かを判断する認証動作を行う。このような認証動作は「相手認証動作」とも称され、情報処理装置１０において通常の動作が開始される前に実行される。すなわち、当該相手認証動作は、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されるとともに、電源がメモリ装置２０Ａに供給されて、システムとしての動作が開始される時点において実行される。
【００４０】
そして、相手認証動作において、或る記憶部（ここでは第２半導体メモリ２２２）の正当性が確認されなかった場合、メモリ装置２０Ａは、情報処理装置１０から入力されるコマンドを受け付けない。
【００４１】
なお、図２では、図示簡単化のため、メモリ装置２０Ａが２つの半導体メモリ２２１，２２２を記憶部として有している態様を示しているが、当該メモリ装置２０Ａは、２つの半導体メモリ２２１，２２２以外に他の記憶部を有していてもよい。すなわち、この場合、２つの半導体メモリ２２１，２２２と他の記憶部とが、上記複数の記憶部に相当し、相手認証動作に用いられる２つの半導体メモリ２２１，２２２が、上記少なくとも２つの記憶部に相当することになる。
【００４２】
このように、メモリ装置２０Ａは、メモリ装置２０Ａ内の少なくとも１つの記憶部の正当性を判断し、正当性が確認されなかった場合、情報処理装置１０から入力されるコマンドを受け付けない構成である。このため、メモリ装置２０Ａからデータを読み出すには、相手認証を成立させる必要があるため、無断複製者によるメモリ装置２０Ａからのデータの読み出しが困難になり、ひいてはメモリ装置の複製が困難になる。
【００４３】
［１−２．機能ブロック］
次に、メモリ情報保護システム１Ａの機能について詳述する。図３は、第１実施形態に係るメモリ情報保護システム１Ａの機能構成を示すブロック図である。図４は、メッセージ認証コード生成部の詳細構成を示す図である。
【００４４】
図３に示されるように、メモリ情報保護システム１Ａを構成する情報処理装置１０は、全体制御部１００と、メモリ制御部（メモリコントローラ）１１０とを備えている。
【００４５】
全体制御部１００は、マイクロコンピュータとして構成され、主にＣＰＵ、ＲＡＭおよびＲＯＭ等を備える。全体制御部１００は、ＲＯＭ内に格納されたプログラムを読み出し、当該プログラムをＣＰＵで実行することによって、各種機能を実現する。
【００４６】
具体的には、全体制御部１００は、上述のプログラムの実行によって、コマンド生成部１０１を機能的に実現する。
【００４７】
コマンド生成部１０１は、メモリ装置２０Ａへの指令に関する命令コード、若しくは当該命令コードおよびアドレスを含むコマンドを生成する機能を有している。例えば、メモリ装置２０Ａに格納されたデータを読み出す際には、読出命令コードと読出対象となるデータのアドレスとを含むコマンド（「読出コマンド」とも称する）がコマンド生成部１０１によって生成される。また例えば、メモリ装置２０Ａにおいて相手認証動作を実行させる場合は、相手認証動作の実行を指示する相手認証コマンドが生成される。
【００４８】
コマンド生成部１０１で生成されたコマンドは、内部バス１２０を介してメモリ制御部１１０に入力される。
【００４９】
メモリ制御部１１０は、コマンド発行制御部１１１，１１５と、暗号化部１１２，１１６と、復号化部１１３，１１７と、データバッファ１１４，１１８とを有し、メモリ装置２０Ａに対する各種制御を行う。
【００５０】
コマンド発行制御部１１１は、メモリ装置２０Ａ内の第１記憶部２２１に対するコマンドの発行を制御する。また、コマンド発行制御部１１１は、発行するコマンドに応じたデータの出力も制御する。例えば、コマンド発行制御部１１１は、第１記憶部２２１への書込コマンドを発行する場合は、書込対象となるデータをも出力する。
【００５１】
もう一方のコマンド発行制御部１１５は、メモリ装置２０Ａ内の第２記憶部２２２に対するコマンドの発行を制御する。また、コマンド発行制御部１１５は、発行するコマンドに応じたデータの出力も制御する。
【００５２】
暗号化部１１２，１１６は、入力された情報を暗号化して出力する機能を有している。暗号化部１１２によって暗号化された情報は、インターフェース（不図示）を介してメモリ装置２０Ａ内の第１メモリユニット２０１に供給される。また、暗号化部１１６によって暗号化された情報は、インターフェースを介してメモリ装置２０Ａ内の第２メモリユニット２０２に供給される。
【００５３】
復号化部１１３，１１７は、メモリ装置２０Ａから伝送されてきた情報を復号化して出力する機能を有している。すなわち、復号化部１１３は、メモリ装置２０Ａの第１メモリユニット２０１から伝送されてきた情報を復号化し、復号化部１１７は、メモリ装置２０Ａの第２メモリユニット２０２から伝送されてきた情報を復号化する。
【００５４】
データバッファ１１４，１１８は、一時的に情報を記憶する機能を有している。具体的には、データバッファ１１４は、第１記憶部２２１からデータを読み出す際に利用され、復号化部１１３において復号化された読出データは、データバッファ１１４を介して内部バス１２０に転送される。また、データバッファ１１４は、第１記憶部２２１へデータを書き込む際にも利用され、内部バス１２０から転送された書込データは、データバッファ１１４を介してコマンド発行制御部１１１に転送される。
【００５５】
データバッファ１１８は、第２記憶部２２２からデータを読み出す際に利用され、復号化部１１７において復号化された読出データは、データバッファ１１８を介して内部バス１２０に転送される。
【００５６】
一方、上述のような構成を有する情報処理装置１０に装着されるメモリ装置２０Ａは、第１メモリユニット２０１と、第２メモリユニット２０２とを有している。
【００５７】
第１メモリユニット２０１は、第１記憶部２２１と、当該第１記憶部２２１を制御する第１メモリ内制御部２１１とを含み、第２メモリユニット２０２は、第２記憶部２２２と、当該第２記憶部２２２を制御する第２メモリ内制御部２１２とを含んでいる。
【００５８】
第１記憶部２２１は、マスクＲＯＭ、フラッシュメモリ、またはＥＰＲＯＭ等の不揮発性の半導体メモリであって、暗号化されたデータ（暗号化データ）を記憶する通常の記憶領域２４１を有している。また、第１記憶部２２１は、上記通常の記録領域２４１の他に、ＯＴＰ（One Time Programmable）領域２４２をも有している。ＯＴＰ領域２４２は、１回限りの書込みが可能な領域であり、書き込み後はＯＴＰ領域２４２に記憶された情報の消去および書き換えが不可能になる。このようなＯＴＰ領域２４２は、第１記憶部２２１の全記憶領域のうちの一部を、ヒューズタイプの記憶領域として物理的に確保することによって実現してもよく、或いは第１記憶部２２１の全記憶領域のうちの一部を再書き込み不能となるようにメモリ内制御部２１１に制御させることによって実現してもよい。
【００５９】
第１メモリ内制御部２１１は、暗号化部２３１と、復号化部２３２と、コマンド解析部２３３と、メッセージ認証コード生成部２３４と、比較部２３５とを有している。
【００６０】
暗号化部２３１は、第１記憶部２２１から読み出されたデータを暗号化して出力する機能を有している。暗号化部２３１によって暗号化されたデータは、インターフェース（不図示）を介して情報処理装置１０に供給される。
【００６１】
復号化部２３２は、情報処理装置１０から伝送されてきた情報（コマンドおよび書込データ）を復号化して出力する機能を有している。復号化部２３２で復号化された情報は、コマンド解析部２３３に伝送される。
【００６２】
コマンド解析部２３３は、コマンド発行制御部１１１において発行された、第１記憶部２２１に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。例えば、コマンド発行制御部１１１で発行されたコマンドが、第１記憶部２２１からのデータの読出コマンドである場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出信号と読出アドレスデータとを第１記憶部２２１に与える。読出信号および読出アドレスデータを受けた第１記憶部２２１は、読出アドレスに格納されている読出対象のデータを出力する。
【００６３】
なお、コマンド解析部２３３は、メモリ装置２０Ａへの電源供給開始時の初期段階では、第１記憶部２２１に記憶されたデータの読出コマンドを受け付けないように設定されており、相手認証動作によって相手認証が成立した場合に読出コマンドを受け付けるように構成されている。
【００６４】
メッセージ認証コード生成部２３４は、第２記憶部２２２から読み出された固有ＩＤ２Ｕに基づいて、メッセージ認証コード（ＭＡＣ:Message Authentication Code）を生成する機能を有している。
【００６５】
具体的には、メッセージ認証コード生成部２３４は、図４に示されるように、ハードウェア鍵３４１と演算部３４２とを有している。
【００６６】
ハードウェア鍵３４１は、ハードウェアとしてチップ上に実装されている固定的な鍵データである。ハードウェア鍵３４１は、例えば、ハードウェア鍵３４１のビット長に応じた複数のインバータ（ＮＯＴ回路）を用いて、各インバータの入力を、電源電圧（Ｖｃｃ）またはＧＮＤ（接地電位）にクランプすることによって実現することができる。
【００６７】
演算部３４２は、入力されたハードウェア鍵３４１および固有ＩＤ２Ｕに基づいて、所定のＭＡＣ演算を行い、メッセージ認証コード（「ＭＡＣ値」とも称する）を出力する。なお、演算部３４２で実行される所定のＭＡＣ演算の手法としては、例えば、ＳＨＡ−１、ＭＤ５などのハッシュ関数を用いた演算手法、或いは、ＣＢＣ−ＭＡＣ等のブロック暗号アルゴリズムを用いた演算手法を採用することができる。
【００６８】
このように、メッセージ認証コード生成部２３４は、ハードウェア鍵３４１および固有ＩＤ２Ｕを用いて、ＭＡＣ値を生成する生成手段として機能する。
【００６９】
メッセージ認証コード生成部２３４によって生成されたＭＡＣ値は、比較部２３５に出力される。
【００７０】
比較部２３５は、メッセージ認証コード生成部２３４によって生成されたＭＡＣ値と、第１記憶部２２１から取得されるＭＡＣ値とを比較して、比較結果を出力する。詳細には、比較部２３５は、２つのＭＡＣ値が一致する場合は、一致することを示す信号（一致信号）を比較結果として出力し、２つのＭＡＣ値が一致しない場合は、一致しないことを示す信号（不一致信号）を比較結果として出力する。
【００７１】
比較部２３５から出力された比較結果は、コマンド解析部２３３に入力される。２つのＭＡＣ値が一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３３は、情報処理装置１０から入力されるコマンドを受け付けない。
【００７２】
一方、２つのＭＡＣ値が一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【００７３】
第２記憶部２２２は、マスクＲＯＭ、フラッシュメモリ、またはＥＰＲＯＭ等の不揮発性の半導体メモリであって、プログラムおよび／またはデータ等のアプリケーション情報を記憶している。また、第２記憶部２２２は、メモリ装置２０Ａに固有の識別情報である固有ＩＤ（「ユニークＩＤ」または「ＵＩＤ」とも称する）２Ｕと、当該固有ＩＤ２Ｕおよびハードウェア鍵１４１と共通の鍵（共通鍵）を用いて予め生成されるＭＡＣ値２Ｍとをさらに記憶している。固有ＩＤ２ＵおよびＭＡＣ値２Ｍは、工場出荷時等に第２記憶部２２２に予め記憶される。
【００７４】
なお、ＭＡＣ値２Ｍは、固有ＩＤ２Ｕを用いて生成される情報であることから、固有ＩＤ２ＵとＭＡＣ値２Ｍとは、互いに関連した「関連情報」とも称せられる。
【００７５】
第２メモリ内制御部２１２は、復号化部２３６と、コマンド解析部２３７と、暗号化部２３８とを有している。
【００７６】
復号化部２３６は、コマンド発行制御部１１５から発行され、そして暗号化部１１６によって暗号化された暗号化コマンドを復号化する機能を有している。復号化部２３６によって復号化されたコマンドは、コマンド解析部２３７に伝送される。
【００７７】
コマンド解析部２３７は、上記コマンド解析部２３３と同様の機能を有し、第２記憶部２２２に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【００７８】
暗号化部２３８は、第２記憶部２２２から読み出されたデータを暗号化する機能を有している。暗号化部２３８で暗号化された暗号化データは、インターフェースを介して情報処理装置１０に供給される。
【００７９】
［１−３．メモリ情報保護システム１Ａの初期化動作］
ここで、メモリ情報保護システム１Ａの動作について説明する。メモリ情報保護システム１Ａの動作には、電源投入時に実行される初期化動作と、初期化動作終了後に実行される相手認証動作とが存在する。以下では、初期化動作および相手認証動作についてこの順序で説明する。図５は、メモリ情報保護システム１Ａの初期化動作を説明するための図である。
【００８０】
初期化動作は、第２記憶部２２２に記憶されているＭＡＣ値２Ｍを第１記憶部２２１のＯＴＰ領域２４２に格納する動作であり、上述のとおり電源投入時に実行される。
【００８１】
具体的には、初期化動作開始前には、メモリ装置２０Ａが情報処理装置１０に装着されて、メモリ装置２０Ａと情報処理装置１０とが電気的に接続される。そして、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されるとともに、電源が情報処理装置１０からメモリ装置２０Ａに供給されて、初期化動作が開始される。
【００８２】
図５に示されるように、初期化動作では、まず、コマンド生成部１０１が、第２記憶部２２２に記憶されたＭＡＣ値２Ｍの読出コマンドを生成し、生成したＭＡＣ値２Ｍの読出コマンドを、コマンド発行制御部１１５に設定する（図５の（Ｓ１））。
【００８３】
そして、コマンド発行制御部１１５は、ＭＡＣ値２Ｍの読出コマンドを発行する（Ｓ２）。発行されたＭＡＣ値２Ｍの読出コマンドは、暗号化部１１６に伝送される。
【００８４】
暗号化部１１６は、ＭＡＣ値２Ｍの読出コマンドに対して暗号化処理を施す。暗号化部１１６で暗号化された、ＭＡＣ値２Ｍの読出コマンドは、メモリ装置２０Ａの復号化部２３６に伝送される（Ｓ３）。
【００８５】
復号化部２３６は、暗号化されたＭＡＣ値２Ｍの読出コマンドに対して復号化処理を施す。復号化された、ＭＡＣ値２Ｍの読出コマンドは、コマンド解析部２３７に出力される（Ｓ４）。
【００８６】
コマンド解析部２３７は、ＭＡＣ値２Ｍの読出コマンドを解析して、ＭＡＣ値２Ｍの読出信号と読出アドレスデータとを第２記憶部２２２に与え、第２記憶部２２２に記憶されたＭＡＣ値２Ｍの読出動作を実行させる（Ｓ５）。
【００８７】
第２記憶部２２２は、ＭＡＣ値２Ｍの読出動作の実行指示に応じて、記憶しているＭＡＣ値２Ｍを暗号化部２３８に出力する（Ｓ６）。
【００８８】
暗号化部２３８は、第２記憶部２２２から入力されるＭＡＣ値２Ｍに暗号化処理を施す。暗号化されたＭＡＣ値２Ｍは、情報処理装置１０の復号化部１１７に伝送される（Ｓ７）。
【００８９】
復号化部１１７は、暗号化されたＭＡＣ値２Ｍに復号化処理を施す。復号化されたＭＡＣ値２Ｍは、コマンド発行制御部１１１に伝送される（Ｓ８）。
【００９０】
ここで、コマンド生成部１０１は、第１記憶部２２１に設けられたＯＴＰ領域２４２へＭＡＣ値２Ｍを書き込むための書込コマンド（ＭＡＣ値書込コマンド）を生成し、生成したＭＡＣ値書込コマンドを、コマンド発行制御部１１１に設定する（Ｓ９）。
【００９１】
コマンド発行制御部１１１は、ＭＡＣ値書込コマンドを発行する。発行されたＭＡＣ値書込コマンドは、暗号化部１１２に入力される（Ｓ１０）。また、コマンド発行制御部１１１は、第２記憶部２２２から取得したＭＡＣ値２Ｍをも暗号化部１１２に出力する（Ｓ１０）。
【００９２】
暗号化部１１２は、コマンド発行制御部１１１から入力されたＭＡＣ値書込コマンドおよびＭＡＣ値２Ｍに暗号化処理を施す。暗号化されたＭＡＣ値書込コマンドおよびＭＡＣ値２Ｍは、メモリ装置２０Ａの復号化部２３２に伝送される（Ｓ１１）。
【００９３】
復号化部２３２は、暗号化されたＭＡＣ値書込コマンドおよびＭＡＣ値２Ｍに対して復号化処理を施す。復号化された、ＭＡＣ値書込コマンドおよびＭＡＣ値２Ｍは、コマンド解析部２３３に出力される（Ｓ１２）。
【００９４】
コマンド解析部２３３は、ＭＡＣ値書込コマンドを解析して、ＭＡＣ値２ＭをＯＴＰ領域２４２に記憶する書込動作を第１記憶部２２１に実行させる（Ｓ１３）。当該書込動作によって、ＭＡＣ値２Ｍは、第１記憶部２２１のＯＴＰ領域２４２に記憶されることになる。
【００９５】
このように、初期化動作では、情報処理装置１０の指示に基づいて、第２記憶部２２２に記憶されていたＭＡＣ値２Ｍが読み出され、当該ＭＡＣ値２Ｍが第１記憶部２２１のＯＴＰ領域２４２に書き込まれることになる。なお、初期化動作は、情報処理装置１０を起動する際に毎回実行される動作としてもよく、メモリ装置２０Ａに最初に電源が供給されたときに１度だけ実行される動作としてもよい。仮に、初期化動作が情報処理装置１０を起動する際に毎回実行される動作であったとしても、ＯＴＰ領域２４２は、情報の消去および書き換えが不能な記憶領域であるため、最初の初期化動作によってＯＴＰ領域２４２に記憶されたＭＡＣ値２Ｍは変更されない。すなわち、最初の初期化動作以降に実行される初期化動作では、ＯＴＰ領域２４２への再書込は実施されない。
【００９６】
［１−４．メモリ情報保護システム１Ａの相手認証動作］
次に、相手認証動作について詳述する。図６は、メモリ情報保護システム１Ａの相手認証動作を説明するための図である。
【００９７】
メモリ情報保護システム１Ａで実行される相手認証動作は、メモリ装置２０Ａ内の第２記憶部２２２の正当性を判断する動作であり、上記初期化動作終了後に、或いは、初期化動作完了済みのメモリ装置２０Ａを装着して、情報処理装置１０を起動する際に実行される。
【００９８】
具体的には、図６に示されるように、メモリ情報保護システム１Ａの相手認証動作では、まず、コマンド生成部１０１が、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出コマンドを生成し、生成した固有ＩＤ２Ｕの読出コマンドを、コマンド発行制御部１１５に設定する（図６の（Ｎ１））。
【００９９】
そして、コマンド発行制御部１１５は、固有ＩＤ２Ｕの読出コマンドを発行する（Ｎ２）。発行された固有ＩＤ２Ｕの読出コマンドは、暗号化部１１６に伝送される。
【０１００】
暗号化部１１６は、固有ＩＤ２Ｕの読出コマンドに対して暗号化処理を施す。暗号化部１１６で暗号化された、固有ＩＤ２Ｕの読出コマンドは、メモリ装置２０Ａの復号化部２３６に伝送される（Ｎ３）。
【０１０１】
復号化部２３６は、暗号化された固有ＩＤ２Ｕの読出コマンドに対して復号化処理を施す。復号化された、固有ＩＤ２Ｕの読出コマンドは、コマンド解析部２３７に出力される（Ｎ４）。
【０１０２】
コマンド解析部２３７は、固有ＩＤ２Ｕの読出コマンドを解析して、固有ＩＤ２Ｕの読出信号と読出アドレスデータとを第２記憶部２２２に与え、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出動作を実行させる（Ｎ５）。
【０１０３】
第２記憶部２２２は、固有ＩＤ２Ｕの読出動作の実行指示に応じて、記憶している固有ＩＤ２Ｕを暗号化部２３８に出力する（Ｎ６）。
【０１０４】
暗号化部２３８は、第２記憶部２２２から入力される固有ＩＤ２Ｕに暗号化処理を施す。暗号化された固有ＩＤ２Ｕは、情報処理装置１０の復号化部１１７に伝送される（Ｎ７）。
【０１０５】
復号化部１１７は、暗号化された固有ＩＤ２Ｕに復号化処理を施して、復号化された固有ＩＤ２Ｕを取得する。復号化された固有ＩＤ２Ｕは、コマンド発行制御部１１１に伝送される（Ｎ８）。
【０１０６】
ここで、コマンド生成部１０１は、メモリ装置２０Ａにおいて相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部１１１に設定する（Ｎ９）。
【０１０７】
コマンド発行制御部１１１は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部１１２に入力される（Ｎ１０）。また、コマンド発行制御部１１１は、第２記憶部２２２から取得した固有ＩＤ２Ｕをも暗号化部１１２に出力する（Ｎ１０）。
【０１０８】
暗号化部１１２は、コマンド発行制御部１１１から入力された相手認証コマンドおよび固有ＩＤ２Ｕに暗号化処理を施す。暗号化された相手認証コマンドおよび固有ＩＤ２Ｕは、メモリ装置２０Ａの復号化部２３２に伝送される（Ｎ１１）。
【０１０９】
復号化部２３２は、暗号化された相手認証コマンドおよび固有ＩＤ２Ｕに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有ＩＤ２Ｕは、コマンド解析部２３３に出力される（Ｎ１２）。
【０１１０】
コマンド解析部２３３は、相手認証コマンドを解析して、相手認証動作の実行指示をメッセージ認証コード生成部２３４および第１記憶部２２１に対して行う。
【０１１１】
具体的には、コマンド解析部２３３は、第１記憶部２２１に対して、ＯＴＰ領域２４２に記憶されたＭＡＣ値の読出信号を与え、ＯＴＰ領域２４２に記憶されたＭＡＣ値の読出動作を実行させる（Ｎ１５）。
【０１１２】
第１記憶部２２１は、ＭＡＣ値の読出動作の実行指示に応じて、ＯＴＰ領域２４２に記憶しているＭＡＣ値を比較部２３５に出力する（Ｎ１６）。
【０１１３】
また、コマンド解析部２３３は、メッセージ認証コード生成部２３４に対して、第２記憶部２２２から読み出された固有ＩＤ２Ｕを出力する（Ｎ１３）。
【０１１４】
メッセージ認証コード生成部２３４は、固有ＩＤ２Ｕを用いて、当該固有ＩＤ２ＵのＭＡＣ値（メッセージ認証コード）を生成し、生成したＭＡＣ値を比較部２３５に出力する（Ｎ１４）。
【０１１５】
比較部２３５は、メッセージ認証コード生成部２３４によって生成されたＭＡＣ値と、第１記憶部２２１のＯＴＰ領域２４２に記憶されていたＭＡＣ値とを比較して、２つのＭＡＣ値が一致するか否かを示す比較結果を出力する（Ｎ１７）。比較部２３５から出力された比較結果は、コマンド解析部２３３に入力される。
【０１１６】
比較部２３５から出力される比較結果は、相手認証の認証結果を示している。すなわち、２つのＭＡＣ値が一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、２つのＭＡＣ値が一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【０１１７】
このように、比較部２３５は、メモリ装置２０Ａ内の第２記憶部２２２の正当性を判断する判断手段として機能する。
【０１１８】
相手認証が成立した場合、すなわち、第２記憶部２２２が正当であると判断された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【０１１９】
一方、相手認証が成立しなかった場合、すなわち、第２記憶部２２２が正当であると判断されなかった場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３３は、情報処理装置１０から入力されるコマンドを受け付けない。
【０１２０】
このように、メモリ情報保護システム１Ａでは、動作開始時に、メモリ装置２０Ａ内の少なくとも１つの記憶部の正当性を判断する相手認証が行われ、相手認証が成立しなかった場合、メモリ装置２０Ａはコマンドを受け付けなくなるので、メモリ装置２０Ａの第１記憶部２２１からデータを読み出すことが困難になる。
【０１２１】
以上のように、メモリ情報保護システム１Ａは、メモリ装置２０Ａと、情報処理を実行する情報処理装置１０とを備えている。メモリ装置２０Ａは、第１情報（固有ＩＤ）に関連した第２情報（ＭＡＣ値）を記憶する第１記憶部２２１と、第１情報を記憶する第２記憶部２２２と、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行う指示手段（コマンド解析部２３３）と、第１情報および第２情報を用いて、第２記憶部２２２の正当性を判断する判断手段（比較部２３５）とを有している。そして、指示手段は、判断手段によって、第２記憶部２２２が正当でないと判断された場合、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。
【０１２２】
このように、メモリ装置２０Ａは、メモリ装置２０Ａ内の第２記憶部２２２の正当性を判断し、正当性が確認されなかった場合、情報処理装置１０から入力されるコマンドを受け付けない構成である。このため、メモリ装置２０Ａからデータを読み出すには、メモリ装置２０Ａに第２記憶部２２２の正当性を確認させる必要があるため、非正規の情報処理装置を用いてメモリ装置２０Ａからデータを読み出すことが困難になり、ひいては無断複製者によるメモリ装置２０Ａの複製が困難になる。
【０１２３】
＜２．第２実施形態＞
次に、本発明の第２実施形態について説明する。上記第２実施形態に係るメモリ情報保護システム１Ｂは、ＭＡＣ値が予め第１記憶部２２１に記憶されている点以外は、メモリ情報保護システム１Ｂとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図７は、第２実施形態に係るメモリ情報保護システム１Ｂの機能構成を示すブロック図である。
【０１２４】
図７に示されるように、メモリ情報保護システム１Ｂのメモリ装置２０Ｂは、第１記憶部２２１において、相手認証に用いるＭＡＣ値１Ｍを記憶している。
【０１２５】
なお、当該ＭＡＣ値１Ｍは、ＯＴＰ領域等の消去および書き換えが不可能な記憶領域に記憶されることが好ましい。
【０１２６】
このようなメモリ情報保護システム１Ｂによれば、第１記憶部２２１にＭＡＣ値１Ｍが予め記憶されているため、ＭＡＣ値を第１記憶部２２１に記憶させる上記初期化動作を実行する必要がなく、動作を簡素化することができる。また、ＭＡＣ値を第２記憶部２２２に記憶しておく必要もなくなるので、第２記憶部２２２を有効に利用することができる。
【０１２７】
＜３．第３実施形態＞
次に、本発明の第３実施形態について説明する。上記第１実施形態に係るメモリ情報保護システム１Ａは、第２半導体メモリ２２２が正当な記憶部であるか否かを判断する認証動作を行っていたが、第３実施形態に係るメモリ情報保護システム１Ｃは、第２半導体メモリ２２２の正当性を判断する認証動作に加えて、第１半導体メモリ２２１の正当性を判断する相手認証動作をも行う。メモリ情報保護システム１Ｃは、メモリ装置２０Ｃの構造が若干異なる点以外は、メモリ情報保護システム１Ａとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図８は、第３実施形態に係るメモリ情報保護システム１Ｃの機能構成を示すブロック図である。
【０１２８】
［３−１．メモリ情報保護システム１Ｃの構成］
図８に示されるように、メモリ情報保護システム１Ｃのメモリ装置２０Ｃは、第１メモリユニット２０１と、第２メモリユニット２０２とを有している。
【０１２９】
第１メモリユニット２０１は、第１記憶部２２１と、当該第１記憶部２２１を制御する第１メモリ内制御部２１１とを含み、第２メモリユニット２０２は、第２記憶部２２２と、当該第２記憶部２２２を制御する第２メモリ内制御部２１２とを含んでいる。
【０１３０】
第１記憶部２２１は、マスクＲＯＭ、フラッシュメモリ、またはＥＰＲＯＭ等の不揮発性の半導体メモリであって、暗号化されたデータを記憶する通常の記憶領域２４１を有している。また、第１記憶部２２１は、上記通常の記録領域２４１の他に、ＯＴＰ領域２４２をも有している。
【０１３１】
第１メモリ内制御部２１１は、暗号化部２３１と、復号化部２３２と、コマンド解析部２３３と、比較部２３５とを有している。
【０１３２】
コマンド解析部２３３は、コマンド発行制御部１１１において発行された、第１記憶部２２１に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【０１３３】
なお、コマンド解析部２３３は、メモリ装置２０Ａへの電源供給開始時の初期段階では、第１記憶部２２１に記憶されたデータの読出コマンドを受け付けないように設定されており、相手認証動作によって相手認証が成立した場合に読出コマンドを受け付けるように構成されている。
【０１３４】
比較部２３５は、第２記憶部２２２から取得された固有ＩＤ２Ｕと、第１記憶部２２１から取得される固有ＩＤとを比較して、比較結果を出力する。詳細には、比較部２３５は、２つの固有ＩＤが一致する場合は、一致することを示す信号（一致信号）を比較結果として出力し、２つの固有ＩＤが一致しない場合は、一致しないことを示す信号（不一致信号）を比較結果として出力する。
【０１３５】
比較部２３５から出力された比較結果は、コマンド解析部２３３に入力される。２つの固有ＩＤが一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３３は、情報処理装置１０から入力されるコマンドを受け付けない。
【０１３６】
一方、２つの固有ＩＤが一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【０１３７】
第２記憶部２２２は、マスクＲＯＭ、フラッシュメモリ、またはＥＰＲＯＭ等の不揮発性の半導体メモリであって、プログラムおよび／またはデータ等のアプリケーション情報を記憶している。また、第２記憶部２２２は、メモリ装置２０Ｃに固有の識別情報である固有ＩＤ２Ｕをさらに記憶している。固有ＩＤ２Ｕは、工場出荷時等に第２記憶部２２２に予め記憶される。
【０１３８】
第２メモリ内制御部２１２は、復号化部２３６と、コマンド解析部２３７と、暗号化部２３８と、比較部２３９とを有している。
【０１３９】
コマンド解析部２３７は、上記コマンド解析部２３３と同様の機能を有し、第２記憶部２２２に対するコマンドを解析して、当該コマンドに応じた所定動作の実行指示を行う指示手段として機能する。
【０１４０】
比較部２３９は、第１記憶部２２１から取得される固有ＩＤと、第２記憶部２２２から読み出される固有ＩＤ２Ｕとを比較して、比較結果を出力する。詳細には、比較部２３９は、２つの固有ＩＤが一致する場合は、一致することを示す信号（一致信号）を比較結果として出力し、２つの固有ＩＤが一致しない場合は、一致しないことを示す信号（不一致信号）を比較結果として出力する。
【０１４１】
比較部２３９から出力された比較結果は、コマンド解析部２３７に入力される。２つの固有ＩＤが一致しない場合、すなわち比較結果として不一致信号が入力された場合、コマンド解析部２３７は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３７は、情報処理装置１０から入力されるコマンドを受け付けない。
【０１４２】
一方、２つの固有ＩＤが一致する場合、すなわち比較結果として一致信号が入力された場合、コマンド解析部２３７は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【０１４３】
このように、メモリ情報保護システム１Ｃでは、第１メモリユニット２０１において、第２半導体メモリ２２２が正当な記憶部であるか否かを判断する相手認証動作と、第２メモリユニット２０２において、第１半導体メモリ２２１が正当な記憶部であるか否かを判断する相手認証動作とが行われる。なお、メモリ情報保護システム１Ｃでは、第１メモリユニット２０１および第２メモリユニット２０２それぞれにおいて相手認証動作が行われることから、メモリ情報保護システム１Ｃにおいて実行される認証動作は、「相互認証動作」とも称される。
【０１４４】
［３−２．メモリ情報保護システム１Ｃの初期化動作］
ここで、メモリ情報保護システム１Ｃの動作について説明する。メモリ情報保護システム１Ｃの動作には、電源投入時に実行される初期化動作と、初期化動作終了後に実行される相互認証動作とが存在する。以下では、初期化動作および相互認証動作についてこの順序で説明する。図９は、メモリ情報保護システム１Ｃの初期化動作を説明するための図である。
【０１４５】
初期化動作は、第２記憶部２２２に記憶されている固有ＩＤ２Ｕを第１記憶部２２１のＯＴＰ領域２４２に格納する動作であり、上述のとおり電源投入時に実行される。
【０１４６】
具体的には、初期化動作開始前には、メモリ装置２０Ｃが情報処理装置１０に装着されて、メモリ装置２０Ｃと情報処理装置１０とが電気的に接続される。そして、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されるとともに、電源が情報処理装置１０からメモリ装置２０Ｃに供給されて、初期化動作が開始される。
【０１４７】
図９に示されるように、初期化動作では、まず、コマンド生成部１０１は、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出コマンドを生成し、生成した固有ＩＤ２Ｕの読出コマンドを、コマンド発行制御部１１５に設定する（図９の（Ｆ１））。
【０１４８】
そして、コマンド発行制御部１１５は、固有ＩＤ２Ｕの読出コマンドを発行する（Ｆ２）。発行された固有ＩＤ２Ｕの読出コマンドは、暗号化部１１６に伝送される。
【０１４９】
暗号化部１１６は、固有ＩＤ２Ｕの読出コマンドに対して暗号化処理を施す。暗号化部１１６で暗号化された、固有ＩＤ２Ｕの読出コマンドは、メモリ装置２０Ｃの復号化部２３６に伝送される（Ｆ３）。
【０１５０】
復号化部２３６は、暗号化された固有ＩＤ２Ｕの読出コマンドに対して復号化処理を施す。復号化された、固有ＩＤ２Ｕの読出コマンドは、コマンド解析部２３７に出力される（Ｆ４）。
【０１５１】
コマンド解析部２３７は、固有ＩＤ２Ｕの読出コマンドを解析して、固有ＩＤ２Ｕの読出信号と読出アドレスデータとを第２記憶部２２２に与え、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出動作を実行させる（Ｆ５）。
【０１５２】
第２記憶部２２２は、固有ＩＤ２Ｕの読出動作の実行指示に応じて、記憶している固有ＩＤ２Ｕを暗号化部２３８に出力する（Ｆ６）。
【０１５３】
暗号化部２３８は、第２記憶部２２２から入力される固有ＩＤ２Ｕに暗号化処理を施す。暗号化された固有ＩＤ２Ｕは、情報処理装置１０の復号化部１１７に伝送される（Ｆ７）。
【０１５４】
復号化部１１７は、暗号化された固有ＩＤ２Ｕに復号化処理を施す。復号化された固有ＩＤ２Ｕは、コマンド発行制御部１１１に伝送される（Ｆ８）。
【０１５５】
ここで、コマンド生成部１０１は、第１記憶部２２１に設けられたＯＴＰ領域２４２へ固有ＩＤ２Ｕを書き込むための書込コマンド（固有ＩＤ書込コマンド）を生成し、生成した固有ＩＤ書込コマンドを、コマンド発行制御部１１１に設定する（Ｆ９）。
【０１５６】
コマンド発行制御部１１１は、固有ＩＤ書込コマンドを発行する。発行された固有ＩＤ書込コマンドは、暗号化部１１２に入力される（Ｆ１０）。また、コマンド発行制御部１１１は、第２記憶部２２２から取得した固有ＩＤ２Ｕをも暗号化部１１２に出力する（Ｆ１０）。
【０１５７】
暗号化部１１２は、コマンド発行制御部１１１から入力された固有ＩＤ書込コマンドおよび固有ＩＤ２Ｕに暗号化処理を施す。暗号化された固有ＩＤ書込コマンドおよび固有ＩＤ２Ｕは、メモリ装置２０Ｃの復号化部２３２に伝送される（Ｆ１１）。
【０１５８】
復号化部２３２は、暗号化された固有ＩＤ書込コマンドおよび固有ＩＤ２Ｕに対して復号化処理を施す。復号化された、固有ＩＤ書込コマンドおよび固有ＩＤ２Ｕは、コマンド解析部２３３に出力される（Ｆ１２）。
【０１５９】
コマンド解析部２３３は、固有ＩＤ書込コマンドを解析して、固有ＩＤ２ＵをＯＴＰ領域２４２に記憶する書込動作を第１記憶部２２１に実行させる（Ｆ１３）。当該書込動作によって、固有ＩＤ２Ｕは、第１記憶部２２１のＯＴＰ領域２４２に記憶されることになる。
【０１６０】
このように、初期化動作では、情報処理装置１０の指示に基づいて、第２記憶部２２２に記憶されていた固有ＩＤ２Ｕが読み出され、当該固有ＩＤ２Ｕが第１記憶部２２１のＯＴＰ領域２４２に書き込まれることになる。これにより、第１記憶部２２１および第２記憶部２２２それぞれには、互いに共通した、固有の識別情報である固有ＩＤが記憶された状態となる。
【０１６１】
なお、初期化動作は、情報処理装置１０を起動する際に毎回実行される動作としてもよく、メモリ装置２０Ｃに最初に電源が供給されたときに１度だけ実行される動作としてもよい。仮に、初期化動作が情報処理装置１０を起動する際に毎回実行される動作であったとしても、ＯＴＰ領域２４２は、情報の消去および書き換えが不能な記憶領域であるため、最初の初期化動作によってＯＴＰ領域２４２に記憶された固有ＩＤ２Ｕは変更されない。すなわち、最初の初期化動作以降に実行される初期化動作では、ＯＴＰ領域２４２への再書込は実施されない。
【０１６２】
［３−３．メモリ情報保護システム１Ｃの相互認証動作］
次に、相互認証動作について詳述する。図１０は、メモリ情報保護システム１Ｃの相互認証動作を説明するための図である。
【０１６３】
メモリ情報保護システム１Ｃで実行される相互認証動作は、メモリ装置２０Ｃ内の第１記憶部２２１および第２記憶部２２２の正当性をそれぞれ判断する動作であり、上記初期化動作終了後に、或いは、初期化動作完了済みのメモリ装置２０Ｃを装着して、情報処理装置１０を起動する際に実行される。
【０１６４】
具体的には、図１０に示されるように、メモリ情報保護システム１Ｃの相互認証動作では、まず、コマンド生成部１０１が、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出コマンドを生成し、生成した固有ＩＤ２Ｕの読出コマンドを、コマンド発行制御部１１５に設定する（図１０の（Ｅ１））。
【０１６５】
そして、コマンド発行制御部１１５は、固有ＩＤ２Ｕの読出コマンドを発行する（Ｅ２）。発行された固有ＩＤ２Ｕの読出コマンドは、暗号化部１１６に伝送される。
【０１６６】
暗号化部１１６は、固有ＩＤ２Ｕの読出コマンドに対して暗号化処理を施す。暗号化部１１６で暗号化された、固有ＩＤ２Ｕの読出コマンドは、メモリ装置２０Ｃの復号化部２３６に伝送される（Ｅ３）。
【０１６７】
復号化部２３６は、暗号化された固有ＩＤ２Ｕの読出コマンドに対して復号化処理を施す。復号化された、固有ＩＤ２Ｕの読出コマンドは、コマンド解析部２３７に出力される（Ｅ４）。
【０１６８】
コマンド解析部２３７は、固有ＩＤ２Ｕの読出コマンドを解析して、固有ＩＤ２Ｕの読出信号と読出アドレスデータとを第２記憶部２２２に与え、第２記憶部２２２に記憶された固有ＩＤ２Ｕの読出動作を実行させる（Ｅ５）。
【０１６９】
第２記憶部２２２は、固有ＩＤ２Ｕの読出動作の実行指示に応じて、記憶している固有ＩＤ２Ｕを暗号化部２３８に出力する（Ｅ６）。
【０１７０】
暗号化部２３８は、第２記憶部２２２から入力される固有ＩＤ２Ｕに暗号化処理を施す。暗号化された固有ＩＤ２Ｕは、情報処理装置１０の復号化部１１７に伝送される（Ｅ７）。
【０１７１】
復号化部１１７は、暗号化された固有ＩＤ２Ｕに復号化処理を施して、復号化された固有ＩＤ２Ｕを取得する。復号化された固有ＩＤ２Ｕは、コマンド発行制御部１１１に伝送される（Ｅ８）。
【０１７２】
ここで、コマンド生成部１０１は、第１メモリユニット２０１において相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部１１１に設定する（Ｅ９）。
【０１７３】
コマンド発行制御部１１１は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部１１２に入力される（Ｅ１０）。また、コマンド発行制御部１１１は、第２記憶部２２２から取得した固有ＩＤ２Ｕをも暗号化部１１２に出力する（Ｅ１０）。
【０１７４】
暗号化部１１２は、コマンド発行制御部１１１から入力された相手認証コマンドおよび固有ＩＤ２Ｕに暗号化処理を施す。暗号化された相手認証コマンドおよび固有ＩＤ２Ｕは、メモリ装置２０Ｃの復号化部２３２に伝送される（Ｅ１１）。
【０１７５】
復号化部２３２は、暗号化された相手認証コマンドおよび固有ＩＤ２Ｕに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有ＩＤ２Ｕは、コマンド解析部２３３に出力される（Ｅ１２）。
【０１７６】
コマンド解析部２３３は、相手認証コマンドを解析して、相手認証動作の実行指示を比較部２３５および第１記憶部２２１に対して行う。
【０１７７】
具体的には、コマンド解析部２３３は、第１記憶部２２１に対して、ＯＴＰ領域２４２に記憶された固有ＩＤの読出信号を与え、ＯＴＰ領域２４２に記憶された固有ＩＤの読出動作を実行させる（Ｅ１４）。
【０１７８】
第１記憶部２２１は、固有ＩＤの読出動作の実行指示に応じて、ＯＴＰ領域２４２に記憶している固有ＩＤを比較部２３５に出力する（Ｅ１５）。
【０１７９】
また、コマンド解析部２３３は、比較部２３５に対して、第２記憶部２２２から読み出された固有ＩＤ２Ｕを出力する（Ｅ１３）。
【０１８０】
比較部２３５は、第２記憶部２２２から取得された固有ＩＤ２Ｕと、第１記憶部２２１のＯＴＰ領域２４２に記憶されていた固有ＩＤとを比較して、２つの固有ＩＤが一致するか否かを示す比較結果を出力する（Ｅ１６）。比較部２３５から出力された比較結果は、コマンド解析部２３３に入力される。
【０１８１】
比較部２３５から出力される比較結果は、相手認証の認証結果を示している。すなわち、２つの固有ＩＤが一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、２つの固有ＩＤが一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【０１８２】
このように、比較部２３５は、メモリ装置２０Ｃ内の第２記憶部２２２の正当性を判断する判断手段として機能する。
【０１８３】
相手認証が成立した場合、すなわち、第２記憶部２２２が正当であると判断された場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【０１８４】
一方、相手認証が成立しなかった場合、すなわち、第２記憶部２２２が正当であると判断されなかった場合、コマンド解析部２３３は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３３は、情報処理装置１０から入力されるコマンドを受け付けない。
【０１８５】
次に、コマンド生成部１０１は、第１記憶部２２１のＯＴＰ領域２４２に記憶された固有ＩＤの読出コマンドを生成し、生成した固有ＩＤの読出コマンドを、コマンド発行制御部１１１に設定する（図１０の（Ｅ１７））。
【０１８６】
コマンド発行制御部１１１は、ＯＴＰ領域２４２に記憶された固有ＩＤの読出コマンドを発行する。発行された固有ＩＤの読出コマンドは、暗号化部１１２に伝送される（Ｅ１８）。
【０１８７】
暗号化部１１２は、固有ＩＤの読出コマンドに対して暗号化処理を施す。暗号化部１１２で暗号化された、固有ＩＤの読出コマンドは、メモリ装置２０Ｃの復号化部２３２に伝送される（Ｅ１９）。
【０１８８】
復号化部２３２は、暗号化された固有ＩＤの読出コマンドに対して復号化処理を施す。復号化された、固有ＩＤ２Ｕの読出コマンドは、コマンド解析部２３３に出力される（Ｅ２０）。
【０１８９】
コマンド解析部２３３は、固有ＩＤの読出コマンドを解析して、固有ＩＤの読出信号と読出アドレスデータとを第１記憶部２２１に与え、第１記憶部２２１のＯＴＰ領域２４２に記憶された固有ＩＤの読出動作を実行させる（Ｅ２１）。
【０１９０】
第１記憶部２２１は、固有ＩＤの読出動作の実行指示に応じて、記憶している固有ＩＤを暗号化部２３１に出力する（Ｅ２２）。
【０１９１】
暗号化部２３１は、第１記憶部２２１から入力される固有ＩＤに暗号化処理を施す。暗号化された固有ＩＤは、情報処理装置１０の復号化部１１３に伝送される（Ｅ２３）。
【０１９２】
復号化部１１３は、暗号化された固有ＩＤに復号化処理を施して、復号化された固有ＩＤを取得する。復号化された固有ＩＤは、コマンド発行制御部１１５に伝送される（Ｅ２４）。
【０１９３】
ここで、コマンド生成部１０１は、第２メモリユニット２０２において相手認証動作を実行させるための相手認証コマンドを生成し、生成した相手認証コマンドをコマンド発行制御部１１５に設定する（Ｅ２５）。
【０１９４】
そして、コマンド発行制御部１１５は、相手認証コマンドを発行する。発行された相手認証コマンドは、暗号化部１１６に入力される（Ｅ２６）。また、コマンド発行制御部１１５は、第１記憶部２２１から取得した固有ＩＤをも暗号化部１１６に出力する（Ｅ２６）。
【０１９５】
暗号化部１１６は、コマンド発行制御部１１５から入力された相手認証コマンドおよび固有ＩＤに暗号化処理を施す。暗号化された相手認証コマンドおよび固有ＩＤは、メモリ装置２０Ｃの復号化部２３６に伝送される（Ｅ２７）。
【０１９６】
復号化部２３６は、暗号化された相手認証コマンドおよび固有ＩＤに対して復号化処理を施す。復号化された、相手認証コマンドおよび固有ＩＤは、コマンド解析部２３７に出力される（Ｅ２８）。
【０１９７】
コマンド解析部２３７は、相手認証コマンドを解析して、相手認証動作の実行指示を比較部２３９および第２記憶部２２２に対して行う。
【０１９８】
具体的には、コマンド解析部２３９は、第２記憶部２２２に対して、固有ＩＤ２Ｕの読出信号を与え、固有ＩＤ２Ｕの読出動作を実行させる（Ｅ３０）。
【０１９９】
第２記憶部２２２は、固有ＩＤの読出動作の実行指示に応じて、固有ＩＤ２Ｕを比較部２３９に出力する（Ｅ３１）。
【０２００】
また、コマンド解析部２３７は、比較部２３９に対して、第１記憶部２２１から読み出された固有ＩＤを出力する（Ｅ２９）。
【０２０１】
比較部２３９は、第１記憶部２２１から取得された固有ＩＤと、第２記憶部２２２に記憶されていた固有ＩＤ２Ｕとを比較して、２つの固有ＩＤが一致するか否かを示す比較結果を出力する（Ｅ３２）。比較部２３９から出力された比較結果は、コマンド解析部２３７に入力される。
【０２０２】
比較部２３９から出力される比較結果は、相手認証の認証結果を示している。すなわち、２つの固有ＩＤが一致することを示す一致信号が比較結果として出力された場合、相手認証は成立したことになる。一方、２つの固有ＩＤが一致しないことを示す不一致信号が比較結果として出力された場合、相手認証は不成立となる。
【０２０３】
このように、比較部２３９は、メモリ装置２０Ｃ内の第１記憶部２２１の正当性を判断する判断手段として機能する。
【０２０４】
相手認証が成立した場合、すなわち、第１記憶部２２１が正当であると判断された場合、コマンド解析部２３７は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を開始し、情報処理装置１０から入力されるコマンドを受け付けるようになる。
【０２０５】
一方、相手認証が成立しなかった場合、すなわち、第１記憶部２２１が正当であると判断されなかった場合、コマンド解析部２３７は、情報処理装置１０から入力されたコマンドに応じた動作の実行指示を行わない。すなわち、コマンド解析部２３７は、情報処理装置１０から入力されるコマンドを受け付けない。
【０２０６】
このように、メモリ情報保護システム１Ｃでは、動作開始時に、メモリ装置２０Ｃにおいて第２記憶部２２２の正当性を判断する相手認証動作と、第１記憶部２２１の正当性を判断する相手認証動作とを順次に実行することによって、相互認証動作が行われる。そして、相互認証が成立しなかった場合、メモリ装置２０Ｃはコマンドを受け付けなくなるので、非正規の情報処理装置を用いてメモリ装置２０Ｃの第１記憶部２２１および第２記憶部２２２からデータを読み出すことが困難になる。すなわち、無断複製者によるメモリ装置２０Ｃの複製が困難になる。
【０２０７】
また、メモリ情報保護システム１Ｃで実行される相互認証動作では、第１記憶部２２１の正当性と第２記憶部２２２の正当性とが判断されることになるので、無断複製者によるメモリ装置の複製をより一層困難にすることが可能になる。
【０２０８】
＜４．第４実施形態＞
次に、本発明の第４実施形態について説明する。上記第４実施形態に係るメモリ情報保護システム１Ｄは、固有ＩＤが予め第１記憶部２２１に記憶されている点以外は、メモリ情報保護システム１Ｃとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図１１は、第４実施形態に係るメモリ情報保護システム１Ｄの機能構成を示すブロック図である。
【０２０９】
図１１に示されるように、メモリ情報保護システム１Ｄのメモリ装置２０Ｄは、第１記憶部２２１において、相手認証に用いる固有ＩＤ１Ｕを記憶している。
【０２１０】
なお、当該固有ＩＤ１Ｕは、ＯＴＰ領域等の消去および書き換えが不可能な記憶領域に記憶されることが好ましい。
【０２１１】
このようなメモリ情報保護システム１Ｄによれば、第１記憶部２２１に固有ＩＤ１Ｕが予め記憶されているため、固有ＩＤを第１記憶部２２１に記憶させる第３実施形態の上記初期化動作を実行する必要がなく、動作を簡素化することができる。
【０２１２】
＜５．変形例＞
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【０２１３】
例えば、上記第１実施形態では、ＭＡＣ値を記憶した第１記憶部２２１と、固有ＩＤ２Ｕを記憶した第２記憶部２２２とを用いて相手認証を行う態様を例示したが、これに限定されない。
【０２１４】
具体的には、固有ＩＤ２Ｕを記憶した第１記憶部２２１と、ＭＡＣ値を記憶した第２記憶部２２２とを用いて相手認証を行ってもよい。この場合、メモリ装置２０Ａ（２０Ｂ）は、第１記憶部２２１から取得した固有ＩＤ２Ｕを用いてＭＡＣ値を生成するとともに、生成したＭＡＣ値と、第２記憶部２２２から取得したＭＡＣ値とを比較することによって、第２記憶部２２２の正当性を判断する相手認証を行うことになる。
【０２１５】
なお、当該変形例のように、固有ＩＤ２Ｕを記憶した第１記憶部２２１と、ＭＡＣ値を記憶した第２記憶部２２２とを用いて相手認証を行う場合、第１実施形態の初期化動作では、第２記憶部２２２に記憶されている固有ＩＤ２Ｕを、第１記憶部２２１のＯＴＰ領域２４２に記憶する動作が行われる。
【０２１６】
また、上記各実施形態では、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）が情報処理装置１０に着脱可能な構成としていたが、これに限定されない。具体的には、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）と情報処理装置１０との間で行うデータのやりとりを無線通信で行う構成とした場合、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）は、情報処理装置１０に着脱自在に構成される態様でなくてもよい。
【０２１７】
また、上記第１および第２実施形態では、相手認証において認証判断に使用する評価値としてＭＡＣ値を用いていたが、これに限定されない。
【０２１８】
具体的には、ハードウェア鍵１４１を用いることなく、ハッシュ関数を用いた演算処理を固有ＩＤ２Ｕに施して、ハッシュ値を算出し、当該ハッシュ値を評価値として用いて相手認証を行ってもよい。
【０２１９】
より詳細には、第１の変形例に係るメモリ情報保護システムは、相手認証動作開始前には、第１記憶部２２１にハッシュ値を記憶し、第２記憶部２２２に固有ＩＤ２Ｕを記憶している。相手認証動作が開始されると、メモリ装置２０Ａ（２０Ｂ）は、第２記憶部２２２から取得した固有ＩＤ２Ｕを用いてハッシュ値を算出するとともに、第１記憶部２２１からハッシュ値を取得する。そして、情報処理装置１０は、固有ＩＤ２Ｕを用いて算出したハッシュ値と、第１記憶部２２１から取得したハッシュ値とを比較することによって、相手認証を行う。
【０２２０】
またさらに、メモリ装置の第１記憶部２２１および第２記憶部２２２それぞれに記憶された情報（例えば、固有ＩＤ）を相手認証に使用する評価値としてそのまま用いてもよい。
【０２２１】
より詳細には、第２の変形例に係るメモリ情報保護システムでは、メモリ装置の第１記憶部２２１および第２記憶部２２２それぞれに記憶された情報（例えば、固有ＩＤ）を単純に比較することによって、相手認証を行う。
【０２２２】
ただし、上記第１および第２実施形態、第１の変形例、および第２の変形例で実行される各相手認証の信頼性を比較すると、上記第１および第２実施形態に係るメモリ情報保護システム１Ａ，１Ｂで実行される相手認証の信頼性が最も高い。一方、第２の変形例に係るメモリ情報保護システムで実行される相手認証の信頼性が最も低い。
【０２２３】
具体的には、上記第１および第２実施形態のメモリ情報保護システム１Ａ，１Ｂでは、ＭＡＣ値の生成にハードウェア鍵１４１をも用いているため、無断複製者は、相手認証に用いるＭＡＣ値を生成することが困難であり、相手認証の信頼性は高い。
【０２２４】
例えば、固有ＩＤ２Ｕが無断複製者に取得されたとしても、ハードウェア鍵１４１の機密性が保たれている限り、無断複製者は、相手認証に用いるＭＡＣ値を生成することができない。
【０２２５】
これに対して、第１の変形例に係るメモリ情報保護システムでは、固有ＩＤ２Ｕが無断複製者に取得されると、ハッシュ関数のアルゴリズムは一般に公開されているため、無断複製者は、相手認証に用いるハッシュ値を生成することが可能になる。このように相手認証に用いる評価値を無断複製者に取得される可能性が高くなると、相手認証の信頼性は低くなる。
【０２２６】
第２の変形例に係るメモリ情報保護システムは、第２記憶部２２２に記憶された固有ＩＤをそのまま相手認証の評価値として用いる構成であるため、相手認証に用いる評価値が無断複製者に取得される可能性が高く、第２の変形例で実行される相手認証の信頼性は、第１の変形例で実行される相手認証の信頼性よりもさらに低いと言える。
【０２２７】
したがって、無断複製者によるメモリ装置の複製を困難にするためには、信頼性の高い相手認証を採用する方が好ましい。
【０２２８】
なお、上記第１および第２実施形態、第１の変形例、および第２の変形例では、メモリ装置と情報処理装置との間で行われるデータ伝送は、暗号化して行われる。これにより、無断複製者が固有ＩＤ２Ｕを取得する可能性を低くすることができるため、ハッシュ値または固有ＩＤを相手認証の評価値として用いたとしても、相手認証の信頼性を十分確保することができる。
【０２２９】
また、上記第１および第２実施形態では、ＭＡＣ値の生成に用いる鍵として、ハードウェア鍵１４１を例示したが、これに限定されない。
【０２３０】
具体的には、ＭＡＣ値の生成に用いる鍵は、メモリ装置２０Ａ，２０Ｂ内の記憶部に記憶されている態様であってもよい。なお、ＭＡＣ値の生成に用いる鍵は、メモリ装置２０Ａ，２０Ｂ内で管理される鍵であり、外部から読み出し不可能に保持される。
【０２３１】
また、上記第３および第４実施形態では、相互認証に用いる評価値として固有ＩＤを採用していたが、これに限定されない。
【０２３２】
具体的には、相互認証に用いる評価値としてＭＡＣ値を採用してもよい。この場合、第１記憶部２２１および第２記憶部２２２それぞれには、固有ＩＤの他にＭＡＣ値が記憶されることになるとともに、第１メモリ内制御部２１１および第２メモリ内制御部２１２それぞれには、メッセージ認証コード生成部が設けられることになる。
【０２３３】
また、上記各実施形態では、相手認証動作は、情報処理装置１０から発行される相手認証コマンドに応じて実行していたが、これに限定されない。
【０２３４】
具体的には、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）への電源供給に応じて、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）が相手認証動作を能動的に実行する態様としてもよい。
【０２３５】
なお、この場合、メモリ装置２０Ａ（２０Ｂ〜２０Ｄ）が非正規の情報処理装置に装着されたときも、相手認証動作を実行することが可能になるが、非正規の情報処理装置では、固有ＩＤまたはＭＡＣ値の伝送を適切に行うことができないため、相手認証を成立させることができない。
【符号の説明】
【０２３６】
１Ａ，１Ｂ，１Ｃ，１Ｄ  メモリ情報保護システム（メモリシステム）
１０  情報処理装置
１００  全体制御部
１０１  コマンド生成部
１１０  メモリ制御部
１１１，１１５  コマンド発行制御部
２０Ａ〜２０Ｄ  メモリ装置
２０１  第１メモリユニット
２０２  第２メモリユニット
２１１，２１２  メモリ内制御部
２２１  第１記憶部（第１半導体メモリ）
２２２  第２記憶部（第２半導体メモリ）
２３３，２３７，２３９  コマンド解析部
２３４  メッセージ認証コード生成部
２３５，２３９  比較部
Ｄ１，Ｄ２  関連情報
【図１】
0005775397.tif 000002
【図２】
0005775397.tif 000003
【図３】
0005775397.tif 000004
【図４】
0005775397.tif 000005
【図５】
0005775397.tif 000006
【図６】
0005775397.tif 000007
【図７】
0005775397.tif 000008
【図８】
0005775397.tif 000009
【図９】
0005775397.tif 000010
【図１０】
0005775397.tif 000011
【図１１】
0005775397.tif 000012