(57)【要約】【課題】メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能な技術を提供する。【解決手段】メモリ装置２０Ａは、所定情報を記憶した記憶部２００と、情報の暗復号化に用いる鍵情報を生成する鍵生成部２１２Ａと、情報処理装置１０への出力情報を鍵情報に基づいて暗号化し、情報処理装置１０からの暗号化された入力情報を鍵情報に基づいて復号化するデータ変換回路２１３と、入力情報を判別し当該入力情報に応じた所定動作の実行指示を行うコマンド判別部２１４とを備え、コマンド判別部２１４は、所定情報の読出コマンドが入力情報に含まれていた場合、鍵生成部２１２Ａに対して鍵情報の生成指示を行うとともに、記憶部２００に対して読出コマンドに応じた読出指示を行い、鍵生成部２１２Ａは、読出指示に応じた記憶部２００による所定情報の読出期間中にコマンド判別部２１４からの生成指示に応じて新たな鍵情報を生成する。【選択図】図２
2010258666.tif 000002
【特許請求の範囲】
【請求項１】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記鍵生成手段に対して前記鍵情報の生成指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記鍵生成手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記生成指示に応じて新たな鍵情報を生成するメモリ装置。
【請求項２】
前記データ変換手段は、前記新たな鍵情報を用いて鍵情報の更新を行う請求項１に記載のメモリ装置。
【請求項３】
前記鍵情報の更新は、前記読出期間中に行われる請求項２に記載のメモリ装置。
【請求項４】
前記鍵生成手段は、
前記生成指示を受ける度に、前記鍵情報を構成するビット列をシフトさせて、前記新たな鍵情報を生成するシフト手段を有する請求項１から請求項３のいずれかに記載のメモリ装置。
【請求項５】
前記シフト手段は、シフトレジスタを含む請求項４に記載のメモリ装置。
【請求項６】
ハードウェアとして実装された固定的なハードウェア鍵、
をさらに備え、
前記指示手段は、前記外部装置からの初期化コマンドの入力に応じて前記鍵生成手段に対して初期化指示を行い、
前記鍵生成手段は、前記初期化指示に応じて、前記ハードウェア鍵を用いて初期鍵情報を生成し、
前記新たな鍵情報は、前記生成指示に応じて、前記初期鍵情報を構成するビット列を順次にシフトさせて取得される請求項４または請求項５に記載のメモリ装置。
【請求項７】
前記鍵生成手段は、
前記生成指示を受ける度に、ストリーム暗号方式またはブロック暗号方式を用いて前記新たな鍵情報を生成する請求項１から請求項３のいずれかに記載のメモリ装置。
【請求項８】
ハードウェアとして実装された固定的なハードウェア鍵、
をさらに備え、
前記鍵生成手段は、前記ストリーム暗号方式または前記ブロック暗号方式で暗号化を行い、前記ハードウェア鍵に基づいて前記鍵情報を生成する請求項７に記載のメモリ装置。
【請求項９】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記記憶手段は、前記読出指示に応じて情報の読出を開始すると、読出処理を実行中であることを示す読出開始信号を前記データ変換手段に送信し、
前記データ変換手段は、前記読出開始信号の受信に応じて、前記新たな鍵情報を用いて鍵情報の更新を行うメモリ装置。
【請求項１０】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記データ変換手段に対して、前記鍵情報の更新指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記データ変換手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記更新指示に応じて前記新たな鍵情報を用いた鍵情報の更新を行うメモリ装置。
【請求項１１】
ａ）外部装置への出力情報を、情報の暗復号化に用いる鍵情報に基づいて暗号化するとともに、外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化する工程と、
ｂ）前記ａ）工程において復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う工程と、
ｃ）新たな鍵情報を生成する工程と、
を備え、
前記ｂ）工程では、記憶手段に記憶された所定情報を読み出すための読出コマンドが前記入力情報に含まれていた場合、前記ｃ）工程の実行指示が行われるとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示が行われ、
前記ｃ）工程では、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記新たな鍵情報が生成されるメモリ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を暗号化するための処理技術に関する。
【背景技術】
【０００２】
半導体メモリ等のメモリ装置を、当該メモリ装置に対して外部装置にあたる情報処理装置に装着し、当該メモリ装置に記憶されたソフトウェアプログラムまたはデータ等の情報を利用して、情報処理装置において所定の機能を実現する技術が知られている。
【０００３】
このようなメモリ装置においては、メモリ装置に記憶された情報の機密性を確保するためのセキュリティ機能を搭載したものがある。例えば、特許文献１には、半導体メモリ内に暗号化回路を追加して、半導体メモリから出力される信号に対して、より複雑な暗号化を施す技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２１９８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、このように、メモリ装置から出力される情報に対して、より複雑な暗号化を行うことによれば、暗号化に要する処理時間が長くなり、当該メモリ装置に記憶された情報を利用する外部装置のスループットの低下を招来してしまう可能性がある。
【０００６】
そこで、本発明は、メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記鍵生成手段に対して前記鍵情報の生成指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記鍵生成手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記生成指示に応じて新たな鍵情報を生成する。
【０００８】
また、本発明の第２の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記記憶手段は、前記読出指示に応じて情報の読出を開始すると、読出処理を実行中であることを示す読出開始信号を前記データ変換手段に送信し、前記データ変換手段は、前記読出開始信号の受信に応じて、前記新たな鍵情報を用いて鍵情報の更新を行う。
【０００９】
また、本発明の第３の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記データ変換手段に対して、前記鍵情報の更新指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記データ変換手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記更新指示に応じて前記新たな鍵情報を用いた鍵情報の更新を行う。
【発明の効果】
【００１０】
本発明によれば、メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能になる。
【図面の簡単な説明】
【００１１】
【図１】メモリ情報保護システムの外観構成を示す図である。
【図２】第１実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図３】メモリ装置の動作を示すフローチャートである。
【図４】第２実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図５】変形例に係るメモリ情報保護システムの機能構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。
【００１３】
＜１．第１実施形態＞
［１−１．構成概要］
図１は、メモリ情報保護システム１Ａの外観構成を示す図である。
【００１４】
図１に示されるように、メモリ情報保護システム１Ａは、情報処理装置１０とメモリ装置２０Ａとを有している。
【００１５】
メモリ装置２０Ａは、汎用マスクＲＯＭ等のメモリアレイ内に、プログラムおよび／またはデータ等の情報（「記憶情報」または「格納情報」とも称する）を記憶している。当該記憶情報は、例えば、一種のコンピュータ装置である情報処理装置１０で実行されるアプリケーションソフトウェアとしてのデータおよび／または、そのアプリケーションソフトウェアで使用されるデータ等である。このメモリ装置２０Ａは、例えばカードまたはカートリッジのような態様を有し、メモリ装置２０Ａに対する外部装置としての情報処理装置１０に脱着自在となっていて、メモリ装置２０Ａは、情報処理装置１０に装着された状態で使用される。
【００１６】
メモリ装置２０Ａに格納された記憶情報を利用する情報処理装置１０には、例えば、パーソナルコンピュータ（パソコン）、ＰＤＡ（Personal Digital Assistant）のような携帯情報端末装置、または画像処理装置が含まれる。
【００１７】
このようなメモリ情報保護システム１Ａでは、暗号化された入力情報としてコマンド（暗号化コマンド）が情報処理装置１０からメモリ装置２０Ａに供給されると、メモリ装置２０Ａでは、暗号化コマンドが復号化され、コマンドによって指定された処理が実行される。
【００１８】
［１−２．機能ブロック］
次に、メモリ情報保護システム１Ａの機能について詳述する。図２は、第１実施形態に係るメモリ情報保護システム１Ａの機能構成を示すブロック図である。
【００１９】
図２に示されるように、メモリ情報保護システム１Ａを構成する情報処理装置１０は、所定の指令およびアドレスを含むコマンドを生成し、当該コマンドを暗号化して外部に出力する。そして、この暗号化されたコマンドをメモリ装置２０Ａに与えることにより、情報処理装置１０はメモリ装置２０Ａに対するデータ読出し、書込み等の制御を行う。特に、情報処理装置１０がメモリ装置２０Ａから所定のデータを読出す場合には、情報処理装置１０は、読出指令と読出対象となるデータのアドレスとを含むコマンドを生成する。そして、情報処理装置１０は、このコマンドを暗号化して出力しメモリ装置２０Ａに与える。ここでの暗号化は予め設定された方式で行われるようになっており、これを復号化するための鍵情報がメモリ装置２０Ａ側で生成される。
【００２０】
メモリ情報保護システム１Ａを構成するメモリ装置２０Ａは、記憶部（記憶手段）２００と、メモリ内制御部２１０Ａと、インターフェース部２２０とを備えている。
【００２１】
記憶部２００は、マスクＲＯＭのような不揮発性メモリであって、機密保護又は不正読出からの保護対象となるプログラムおよび／またはデータ等を記憶している。なお、当該記憶部２００は、マスクＲＯＭに限定されず、フラッシュメモリ、ＥＰ−ＲＯＭまたはハードディスク（ＨＤ）等であってもよい。
【００２２】
メモリ内制御部２１０Ａは、ハードウェア鍵２１１と、鍵生成部（鍵生成手段）２１２Ａと、データ変換回路（データ変換手段）２１３と、コマンド判別部（指示手段）２１４とを有している。
【００２３】
ハードウェア鍵２１１は、ハードウェアとしてチップ上に実装されている固定的なデータである。ハードウェア鍵２１１は、例えば、ハードウェア鍵２１１のビット長に応じた複数のインバータ（ＮＯＴ回路）を用いて、当該インバータの入力を、電源電圧（Ｖｃｃ）またはＧＮＤ（接地電位）にクランプすることによって実現することができる。
【００２４】
鍵生成部２１２Ａは、所定タイミングごとに演算処理を実行して、情報の暗復号化に用いる鍵情報を新たに生成する機能を有している。具体的には、情報処理装置１０の電源投入後に情報処理装置１０から発行される初期化コマンドを検出すると、鍵生成部２１２Ａは、ハードウェア鍵２１１に基づいて初期鍵情報を生成する（鍵生成部２１２Ａの初期化）。また、鍵生成部２１２Ａは、鍵情報を構成するビット列をシフトさせるシフト手段を有して構成され、コマンド判別部２１４からの鍵生成指示に応じて初期鍵情報を順次にシフトさせることによって、新たな鍵情報を生成する。
【００２５】
シフト手段としては、例えば、シフトレジスタを採用することができる。シフト手段としてシフトレジスタを採用した場合、鍵生成指示を受ける度にクロックがシフトレジスタに入力されるとともに、当該クロックの入力に応じて、ハードウェア鍵２１１のビット列がシフトレジスタに順次入力されるように鍵生成部２１２Ａを構成してもよい。
【００２６】
なお、初期鍵情報の生成には、例えば、疑似乱数生成回路を用いることができる。鍵生成部２１２Ａが疑似乱数生成回路を有する構成とした場合、ハードウェア鍵２１１に基づいて疑似乱数生成回路で疑似乱数が生成され、生成された疑似乱数が初期鍵情報として用いられる。
【００２７】
データ変換回路２１３は、インターフェース部２２０を介して受信した暗号化コマンドに対して、鍵生成部２１２Ａで生成された鍵情報を用いた所定の演算処理を施すことによって、暗号化コマンドを復号化する機能を有している。データ変換回路２１３によって復号化されたコマンドは、コマンド判別部２１４に供給される。なお、暗号化の方式としては、例えば、ストリーム暗号方式またはブロック暗号方式を採用することができる。
【００２８】
また、データ変換回路２１３は、記憶部２００から読み出されたデータを鍵生成部２１２Ａで生成された鍵情報を利用して暗号化し、暗号化データを生成する機能も有している。データ変換回路２１３で暗号化された暗号化データは、インターフェース部２２０を介して情報処理装置１０に供給される。
【００２９】
コマンド判別部２１４は、復号化された入力情報（ここでは、コマンド）を判別して、当該入力情報に応じた所定動作の実行指示を行う。例えば、データ変換回路２１３によって復号化された情報処理装置１０からの入力情報に、記憶部２００からのデータの読出コマンドが含まれていた場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出指令信号（読出信号）と読出アドレスデータとを記憶部２００に与える。
【００３０】
また、コマンド判別部２１４は、読出コマンドの検出に応じて、鍵生成部２１２Ａに対して鍵情報の生成指示を行う指示手段としても機能する。
【００３１】
コマンド判別部２１４から鍵生成指示信号が出力されると、鍵生成部２１２Ａでは、新たな鍵情報が生成される。そして、鍵生成部２１２Ａにおいて新たな鍵情報が生成されると、情報の暗復号化を行うデータ変換回路２１３では、生成された新たな鍵情報を暗復号化に用いる鍵情報とする鍵情報の更新が行われる。
【００３２】
このように、メモリ装置２０Ａでは、鍵生成部２１２Ａによる鍵生成処理およびデータ変換回路２１３における鍵情報の更新処理が、読出コマンドの受信に同期した鍵生成指示に応じて順次に実行されることになる。これによれば、鍵生成部２１２Ａおよびデータ変換回路２１３で実行される一連の処理（「鍵更新処理」とも称する）は、記憶部２００からのデータ読出のための待ち時間（「読出期間」または「レイテンシー期間」とも称する）において実行されることになるので、上記鍵更新処理に関する処理時間の増大に起因した情報処理装置１０およびメモリ情報保護システム１Ａのスループットの低下を防ぐことが可能になる。
【００３３】
なお、上記では、鍵生成部２１２Ａがシフト手段を有し、当該シフト手段で鍵情報をシフトさせて新たな鍵情報を生成する場合について例示したが、これに限定されない。具体的には、鍵生成部２１２Ａは、暗号化回路を有し、ハードウェア鍵２１１をストリーム暗号方式またはブロック暗号方式で暗号化して新たな鍵情報を生成する構成としてもよい。
【００３４】
このような構成を採用した場合、鍵生成部２１２Ａおよびデータ変換回路２１３で実行される一連の処理では、鍵生成部２１２Ａは、ハードウェア鍵２１１に対して第１段階の暗号化処理を行って鍵情報を生成し、データ変換回路２１３は、鍵情報を用いてコマンドを暗号化する第２段階の暗号化処理を行っているとも表現することができる。
【００３５】
［１−３．メモリ装置２０Ａの動作］
次に、メモリ装置２０Ａの動作について説明する。図３は、メモリ装置２０Ａの動作を示すフローチャートである。なお、メモリ装置２０Ａは、ＣＰＵのような処理手段を含むものではなく、ハードウェアとしての回路による動作であるが、ここでは、便宜的にフローで示すものとする。
【００３６】
メモリ装置２０Ａは、情報処理装置１０に装着されることによって、インターフェース部２２０を介して情報処理装置１０と電気的に接続される。そして、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されると、電源がメモリ装置２０Ａに供給されて、メモリ装置２０Ａの動作が開始される。
【００３７】
図３に示されるように、メモリ装置２０Ａに電源供給が開始されると、ステップＳＰ１０１では、コマンド判別部２１４によって、初期化コマンドの入力の有無が判定される。コマンド判別部２１４は、初期化コマンドの入力を検出すると、鍵生成部２１２Ａに対して初期化指示を行う。
【００３８】
ステップＳＰ１０２では、コマンド判別部２１４からの初期化指示に応じて鍵生成部２１２Ａの初期化が行われ、ハードウェア鍵２１１に基づいて初期鍵情報が生成される。
【００３９】
ステップＳＰ１０３では、初期鍵情報を用いてデータ変換回路２１３の初期化が行われる。これにより、データ変換回路２１３では、初期鍵情報を用いたデータの暗復号化を行うことが可能になる。
【００４０】
一方、メモリ装置２０Ａでは、ステップＳＰ１０４において暗号化コマンドが入力されると、動作工程は、ステップＳＰ１０５に移行される。
【００４１】
ステップＳＰ１０５では、データ変換回路２１３によって初期鍵情報を用いて暗号化コマンドの復号化が行われる。
【００４２】
ステップＳＰ１０６では、コマンド判別部２１４によって復号化されたコマンドの判別が行われ、情報処理装置１０からのコマンドが読出コマンドであるか否かが判定される。情報処理装置１０から入力されたコマンドが読出コマンドでなかった場合は、コマンド判別部２１４によって当該コマンドに応じた所定動作の実行指示が行われる。そして、動作工程はステップＳＰ１０７に移行され、入力されたコマンドに基づいた読出処理以外の他の処理が実行される。
【００４３】
一方、情報処理装置１０から入力されたコマンドが読出コマンドであった場合は、コマンド判別部２１４は、記憶部２００に対して読出指令信号と読出アドレスデータとを与えるとともに、鍵生成部２１２Ａに対して鍵情報の生成指示を行う。これにより、メモリ装置２０Ａでは、読出指令に応じたデータの読出処理と鍵情報の生成指示に応じた一連の鍵更新処理とが並列して実行されることになる。
【００４４】
まず、記憶部２００で実行されるデータの読出処理について説明する。
【００４５】
読出指令信号が与えられると、動作工程は、ステップＳＰ１０８に移行され、読出対象となったデータの読出処理が記憶部２００において実行される。データの読出処理が開始されると、記憶部２００からデータ変換回路２１３に対して、記憶部２００においてデータの読出処理が実行されていることを示す信号（「読出開始信号」とも称する）が送信される。そして、記憶部２００においてデータの読出処理が完了すると、記憶部２００からデータ変換回路２１３に対してデータの読出処理が完了したことを示す信号（「読出完了信号」とも称する）が送信される。このように、データ変換回路２１３では、記憶部２００から入力される読出開始信号および読出完了信号に基づいて、データ読出のための待ち時間（レイテンシー期間）の始期および終期を把握することが可能になる。
【００４６】
次に、鍵生成部２１２Ａおよびデータ変換回路２１３において実行される一連の鍵更新処理について説明する。
【００４７】
コマンド判別部２１４から鍵情報の生成指示が、鍵生成部２１２Ａに対して与えられると、動作工程は、ステップＳＰ１０９に移行され、鍵生成部２１２Ａでは、新たな鍵情報が生成される。
【００４８】
新たな鍵情報が生成されると、動作工程はステップＳＰ１１０に移行され、データ変換回路２１３では、新たな鍵情報を用いて初期化が行われ鍵情報が更新される。データ変換回路２１３の初期化により、鍵情報が更新されると、データ変換回路２１３では新たな鍵情報を用いた暗復号化を行うことが可能になる。
【００４９】
このような一連の鍵更新処理（ステップＳＰ１０９、ステップＳＰ１１０）は、データ読出のためのレイテンシー期間によって実行されることになる。
【００５０】
レイテンシー期間終了後のステップＳＰ１１１では、データ変換回路２１３によって、記憶部２００から読み出されたデータが、更新された鍵情報を用いて暗号化される。
【００５１】
そして、ステップＳＰ１１２では、暗号化された読出データが、インターフェース部２２０を介して情報処理装置１０へと出力される。
【００５２】
以上のように、メモリ装置２０Ａは、情報を記憶した記憶部２００と、情報の暗復号化に用いる鍵情報を生成する鍵生成部２１２Ａと、外部装置としての情報処理装置１０への出力情報を鍵情報に基づいて暗号化するとともに、情報処理装置１０からの暗号化された入力情報を鍵情報に基づいて復号化するデータ変換回路２１３と、入力情報を判別し当該入力情報に応じた所定動作の実行指示を行うコマンド判別部２１４とを備えている。そして、コマンド判別部２１４は、記憶部２００からの情報の読出コマンドが入力情報に含まれていた場合、鍵生成部２１２Ａに対して鍵情報の生成指示を行うとともに、記憶部２００に対して読出コマンドに応じた読出指示を行う。鍵生成部２１２Ａは、読出指示に応じた記憶部２００による所定情報の読出期間中に、コマンド判別部２１４からの生成指示に応じて新たな鍵情報を生成する。
【００５３】
このようなメモリ装置２０Ａでは、メモリ装置２０Ａから出力される情報の暗号化に関連した一連の鍵更新処理が、記憶部２００からのデータの読出期間中において実行されるので、メモリ装置に記憶された情報を利用する外部装置（ここでは、情報処理装置１０）のスループットの低下を防ぐことが可能になる。
【００５４】
＜２．第２実施形態＞
次に、本発明の第２実施形態について説明する。上記第２実施形態に係るメモリ情報保護システム１Ｂは、ハードウェア鍵２１１を有していない点以外は、メモリ情報保護システム１Ａとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図４は、第２実施形態に係るメモリ情報保護システム１Ｂの機能構成を示すブロック図である。
【００５５】
図４に示されるように、メモリ情報保護システム１Ｂのメモリ装置２０Ｂは、記憶部（記憶手段）２００と、メモリ内制御部２１０Ｂと、インターフェース部２２０とを備えている。
【００５６】
メモリ内制御部２１０Ｂは、鍵生成部２１２Ｂと、データ変換回路２１３と、コマンド判別部２１４とを有している。
【００５７】
鍵生成部２１２Ｂは、所定タイミングごとに演算処理を実行して、情報の暗復号化に用いる鍵情報を新たに生成する機能を有している。鍵生成部２１２Ｂは、例えば、疑似乱数生成回路を有して構成され、ハードウェア鍵等によらず、鍵生成部２１２Ｂ内で鍵情報が生成される。鍵生成部２１２Ｂが疑似乱数生成回路を有する構成とした場合、疑似乱数生成回路では、コマンド判別部２１４からの鍵生成指示に応じて疑似乱数が生成され、生成された当該疑似乱数が鍵情報として用いられる。このように、鍵生成部２１２Ｂでは、鍵生成指示を受ける度に新たな鍵情報が生成されることになる。
【００５８】
データ変換回路２１３は、インターフェース部２２０を介して受信した暗号化コマンドに対して、鍵生成部２１２Ｂで生成された鍵情報を用いた所定の演算処理を施すことによって、暗号化コマンドを復号化する機能を有している。データ変換回路２１３によって復号化されたコマンドは、コマンド判別部２１４に供給される。なお、暗号化の方式としては、例えば、ストリーム暗号方式またはブロック暗号方式を採用することができる。
【００５９】
また、データ変換回路２１３は、記憶部２００から読み出されたデータを鍵生成部２１２Ｂで生成された鍵情報を利用して暗号化し、暗号化データを生成する機能も有している。データ変換回路２１３で暗号化された暗号化データは、インターフェース部２２０を介して情報処理装置１０に供給される。
【００６０】
コマンド判別部２１４は、復号化されたコマンドを判別して、当該コマンドに応じた所定動作の実行指示を行う。例えば、データ変換回路２１３によって復号化された情報処理装置１０からのコマンドが、記憶部２００からのデータの読出コマンドである場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出指令信号（読出信号）と読出アドレスデータとを記憶部２００に与える。
【００６１】
また、コマンド判別部２１４は、読出コマンドの検出に応じて、鍵生成部２１２Ｂに対して鍵情報の生成指示を行う指示手段としても機能する。
【００６２】
読出コマンドの受信に基づいたコマンド判別部２１４からの鍵生成指示信号が出力されると、鍵生成部２１２Ｂでは、新たな鍵情報が生成される。そして、鍵生成部２１２Ｂにおいて新たな鍵情報が生成されると、情報の暗復号化を行うデータ変換回路２１３では、生成された新たな鍵情報を用いた鍵情報の更新が行われる。
【００６３】
このように、メモリ装置２０Ｂでは、鍵生成部２１２Ｂによる鍵生成処理およびデータ変換回路２１３における鍵情報の更新処理が、読出コマンドの受信に同期した鍵生成指示に応じて順次に実行されることになる。これによれば、鍵生成部２１２Ｂおよびデータ変換回路２１３で実行される一連の鍵更新処理は、記憶部２００からのデータ読出のためのレイテンシー期間において実行されることになるので、上記鍵更新処理に関する処理時間の増大に起因したメモリ情報保護システム１Ｂのスループットの低下を防ぐことが可能になる。
【００６４】
＜３．変形例＞
以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【００６５】
例えば、上記各実施形態では、鍵生成部２１２Ａ，２１２Ｂによる鍵生成処理と、データ変換回路２１３における鍵情報の更新処理とが、レイテンシー期間において順次に実行される場合について例示したが、これに限定されない。具体的には、レイテンシー期間において、いずれか一方の処理（鍵生成処理または鍵情報の更新処理）を実行する構成としてもよく、このような構成を採用した場合においても情報処理装置１０のスループットの低下を防ぐことができる。
【００６６】
なお、レイテンシー期間において鍵生成処理を行わず、鍵情報の更新処理を実行する構成とした場合は、当該鍵情報の更新処理は、記憶部２００からの読出開始信号の受信に応じて開始すればよい。
【００６７】
また、レイテンシー期間において鍵生成処理を行わず、鍵情報の更新処理を実行する構成とした場合において、データ変換回路２１３における鍵情報の更新処理をコマンド判別部２１４からの指示に応じて実行するようにしてもよい。図５は、変形例に係るメモリ情報保護システム１Ｈの機能構成を示すブロック図である。
【００６８】
具体的には、図５のメモリ装置２０Ｈにおけるコマンド判別部２１４Ｈは、読出コマンドの検出に応じて、データ変換回路２１３に対して鍵情報の更新指示を行う機能を有している。このようなメモリ装置２０Ｈを用いた場合は、鍵情報の更新処理は、指示手段としてのコマンド判別部２１４Ｈから鍵情報の更新指示に応じて開始される。
【００６９】
また、上記各実施形態では、一回のレイテンシー期間において、鍵生成部２１２Ａ，２１２Ｂで新たな鍵情報が生成された後に、当該新たな鍵情報を用いてデータ変換回路２１３で鍵情報の更新処理が実行される場合について例示したが、これに限定されない。
【００７０】
具体的には、一回のレイテンシー期間で実行される鍵生成処理と、鍵情報の更新処理とは、その順序を入れ替えて実行してもよく、或いは並行（並列）して実行してもよい。
【００７１】
例えば、二つの処理の実行順序を入れ替える場合、すなわち鍵情報の更新処理を実行した後に、鍵生成処理を実行する場合は、データ変換回路２１３は、記憶部２００からの読出開始信号の受信に応じて鍵情報の更新処理を開始し、当該更新処理終了後に鍵生成部２１２Ａ，２１２Ｂで新たな鍵情報を生成する。
【００７２】
また、二つの処理を並行して実行する場合は、鍵生成部２１２Ａ，２１２Ｂは、コマンド判別部２１４からの鍵生成指示に応じて鍵生成処理を開始し、データ変換回路２１３は、記憶部２００からの読出開始信号の受信に応じて鍵情報の更新処理を開始する構成とすればよい。
【００７３】
なお、当該変形例のように、鍵情報の更新処理を実行した後に、鍵生成処理を実行する場合、および鍵情報の更新処理と鍵生成処理とを並行して実行する場合は、鍵情報の更新処理に用いられる新たな鍵情報には、前回のレイテンシー期間において生成された鍵情報が用いられる。
【符号の説明】
【００７４】
１Ａ，１Ｂ，１Ｈ  メモリ情報保護システム
１０  情報処理装置
２０Ａ，２０Ｂ，２０Ｈ  メモリ装置
２００  記憶部
２１０Ａ，２１０Ｂ  メモリ内制御部
２１１  ハードウェア鍵
２１２Ａ，２１２Ｂ  鍵生成部
２１３  データ変換回路
２１４  コマンド判別部
２２０  インターフェース部
【図１】
2010258666.tif 000003
【図２】
2010258666.tif 000004
【図３】
2010258666.tif 000005
【図４】
2010258666.tif 000006
【図５】
2010258666.tif 000007