説明

メモリ装置およびメモリ装置の制御方法

【課題】メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能な技術を提供する。
【解決手段】メモリ装置20Aは、所定情報を記憶した記憶部200と、情報の暗復号化に用いる鍵情報を生成する鍵生成部212Aと、情報処理装置10への出力情報を鍵情報に基づいて暗号化し、情報処理装置10からの暗号化された入力情報を鍵情報に基づいて復号化するデータ変換回路213と、入力情報を判別し当該入力情報に応じた所定動作の実行指示を行うコマンド判別部214とを備え、コマンド判別部214は、所定情報の読出コマンドが入力情報に含まれていた場合、鍵生成部212Aに対して鍵情報の生成指示を行うとともに、記憶部200に対して読出コマンドに応じた読出指示を行い、鍵生成部212Aは、読出指示に応じた記憶部200による所定情報の読出期間中にコマンド判別部214からの生成指示に応じて新たな鍵情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報を暗号化するための処理技術に関する。
【背景技術】
【0002】
半導体メモリ等のメモリ装置を、当該メモリ装置に対して外部装置にあたる情報処理装置に装着し、当該メモリ装置に記憶されたソフトウェアプログラムまたはデータ等の情報を利用して、情報処理装置において所定の機能を実現する技術が知られている。
【0003】
このようなメモリ装置においては、メモリ装置に記憶された情報の機密性を確保するためのセキュリティ機能を搭載したものがある。例えば、特許文献1には、半導体メモリ内に暗号化回路を追加して、半導体メモリから出力される信号に対して、より複雑な暗号化を施す技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−219852号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、このように、メモリ装置から出力される情報に対して、より複雑な暗号化を行うことによれば、暗号化に要する処理時間が長くなり、当該メモリ装置に記憶された情報を利用する外部装置のスループットの低下を招来してしまう可能性がある。
【0006】
そこで、本発明は、メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記鍵生成手段に対して前記鍵情報の生成指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記鍵生成手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記生成指示に応じて新たな鍵情報を生成する。
【0008】
また、本発明の第2の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記記憶手段は、前記読出指示に応じて情報の読出を開始すると、読出処理を実行中であることを示す読出開始信号を前記データ変換手段に送信し、前記データ変換手段は、前記読出開始信号の受信に応じて、前記新たな鍵情報を用いて鍵情報の更新を行う。
【0009】
また、本発明の第3の側面は、メモリ装置であって、所定情報を記憶した記憶手段と、情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段とを備え、前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記データ変換手段に対して、前記鍵情報の更新指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、前記データ変換手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記更新指示に応じて前記新たな鍵情報を用いた鍵情報の更新を行う。
【発明の効果】
【0010】
本発明によれば、メモリ装置に記憶された情報を利用する外部装置のスループットの低下を防ぐことが可能になる。
【図面の簡単な説明】
【0011】
【図1】メモリ情報保護システムの外観構成を示す図である。
【図2】第1実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図3】メモリ装置の動作を示すフローチャートである。
【図4】第2実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図5】変形例に係るメモリ情報保護システムの機能構成を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照して説明する。
【0013】
<1.第1実施形態>
[1−1.構成概要]
図1は、メモリ情報保護システム1Aの外観構成を示す図である。
【0014】
図1に示されるように、メモリ情報保護システム1Aは、情報処理装置10とメモリ装置20Aとを有している。
【0015】
メモリ装置20Aは、汎用マスクROM等のメモリアレイ内に、プログラムおよび/またはデータ等の情報(「記憶情報」または「格納情報」とも称する)を記憶している。当該記憶情報は、例えば、一種のコンピュータ装置である情報処理装置10で実行されるアプリケーションソフトウェアとしてのデータおよび/または、そのアプリケーションソフトウェアで使用されるデータ等である。このメモリ装置20Aは、例えばカードまたはカートリッジのような態様を有し、メモリ装置20Aに対する外部装置としての情報処理装置10に脱着自在となっていて、メモリ装置20Aは、情報処理装置10に装着された状態で使用される。
【0016】
メモリ装置20Aに格納された記憶情報を利用する情報処理装置10には、例えば、パーソナルコンピュータ(パソコン)、PDA(Personal Digital Assistant)のような携帯情報端末装置、または画像処理装置が含まれる。
【0017】
このようなメモリ情報保護システム1Aでは、暗号化された入力情報としてコマンド(暗号化コマンド)が情報処理装置10からメモリ装置20Aに供給されると、メモリ装置20Aでは、暗号化コマンドが復号化され、コマンドによって指定された処理が実行される。
【0018】
[1−2.機能ブロック]
次に、メモリ情報保護システム1Aの機能について詳述する。図2は、第1実施形態に係るメモリ情報保護システム1Aの機能構成を示すブロック図である。
【0019】
図2に示されるように、メモリ情報保護システム1Aを構成する情報処理装置10は、所定の指令およびアドレスを含むコマンドを生成し、当該コマンドを暗号化して外部に出力する。そして、この暗号化されたコマンドをメモリ装置20Aに与えることにより、情報処理装置10はメモリ装置20Aに対するデータ読出し、書込み等の制御を行う。特に、情報処理装置10がメモリ装置20Aから所定のデータを読出す場合には、情報処理装置10は、読出指令と読出対象となるデータのアドレスとを含むコマンドを生成する。そして、情報処理装置10は、このコマンドを暗号化して出力しメモリ装置20Aに与える。ここでの暗号化は予め設定された方式で行われるようになっており、これを復号化するための鍵情報がメモリ装置20A側で生成される。
【0020】
メモリ情報保護システム1Aを構成するメモリ装置20Aは、記憶部(記憶手段)200と、メモリ内制御部210Aと、インターフェース部220とを備えている。
【0021】
記憶部200は、マスクROMのような不揮発性メモリであって、機密保護又は不正読出からの保護対象となるプログラムおよび/またはデータ等を記憶している。なお、当該記憶部200は、マスクROMに限定されず、フラッシュメモリ、EP−ROMまたはハードディスク(HD)等であってもよい。
【0022】
メモリ内制御部210Aは、ハードウェア鍵211と、鍵生成部(鍵生成手段)212Aと、データ変換回路(データ変換手段)213と、コマンド判別部(指示手段)214とを有している。
【0023】
ハードウェア鍵211は、ハードウェアとしてチップ上に実装されている固定的なデータである。ハードウェア鍵211は、例えば、ハードウェア鍵211のビット長に応じた複数のインバータ(NOT回路)を用いて、当該インバータの入力を、電源電圧(Vcc)またはGND(接地電位)にクランプすることによって実現することができる。
【0024】
鍵生成部212Aは、所定タイミングごとに演算処理を実行して、情報の暗復号化に用いる鍵情報を新たに生成する機能を有している。具体的には、情報処理装置10の電源投入後に情報処理装置10から発行される初期化コマンドを検出すると、鍵生成部212Aは、ハードウェア鍵211に基づいて初期鍵情報を生成する(鍵生成部212Aの初期化)。また、鍵生成部212Aは、鍵情報を構成するビット列をシフトさせるシフト手段を有して構成され、コマンド判別部214からの鍵生成指示に応じて初期鍵情報を順次にシフトさせることによって、新たな鍵情報を生成する。
【0025】
シフト手段としては、例えば、シフトレジスタを採用することができる。シフト手段としてシフトレジスタを採用した場合、鍵生成指示を受ける度にクロックがシフトレジスタに入力されるとともに、当該クロックの入力に応じて、ハードウェア鍵211のビット列がシフトレジスタに順次入力されるように鍵生成部212Aを構成してもよい。
【0026】
なお、初期鍵情報の生成には、例えば、疑似乱数生成回路を用いることができる。鍵生成部212Aが疑似乱数生成回路を有する構成とした場合、ハードウェア鍵211に基づいて疑似乱数生成回路で疑似乱数が生成され、生成された疑似乱数が初期鍵情報として用いられる。
【0027】
データ変換回路213は、インターフェース部220を介して受信した暗号化コマンドに対して、鍵生成部212Aで生成された鍵情報を用いた所定の演算処理を施すことによって、暗号化コマンドを復号化する機能を有している。データ変換回路213によって復号化されたコマンドは、コマンド判別部214に供給される。なお、暗号化の方式としては、例えば、ストリーム暗号方式またはブロック暗号方式を採用することができる。
【0028】
また、データ変換回路213は、記憶部200から読み出されたデータを鍵生成部212Aで生成された鍵情報を利用して暗号化し、暗号化データを生成する機能も有している。データ変換回路213で暗号化された暗号化データは、インターフェース部220を介して情報処理装置10に供給される。
【0029】
コマンド判別部214は、復号化された入力情報(ここでは、コマンド)を判別して、当該入力情報に応じた所定動作の実行指示を行う。例えば、データ変換回路213によって復号化された情報処理装置10からの入力情報に、記憶部200からのデータの読出コマンドが含まれていた場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出指令信号(読出信号)と読出アドレスデータとを記憶部200に与える。
【0030】
また、コマンド判別部214は、読出コマンドの検出に応じて、鍵生成部212Aに対して鍵情報の生成指示を行う指示手段としても機能する。
【0031】
コマンド判別部214から鍵生成指示信号が出力されると、鍵生成部212Aでは、新たな鍵情報が生成される。そして、鍵生成部212Aにおいて新たな鍵情報が生成されると、情報の暗復号化を行うデータ変換回路213では、生成された新たな鍵情報を暗復号化に用いる鍵情報とする鍵情報の更新が行われる。
【0032】
このように、メモリ装置20Aでは、鍵生成部212Aによる鍵生成処理およびデータ変換回路213における鍵情報の更新処理が、読出コマンドの受信に同期した鍵生成指示に応じて順次に実行されることになる。これによれば、鍵生成部212Aおよびデータ変換回路213で実行される一連の処理(「鍵更新処理」とも称する)は、記憶部200からのデータ読出のための待ち時間(「読出期間」または「レイテンシー期間」とも称する)において実行されることになるので、上記鍵更新処理に関する処理時間の増大に起因した情報処理装置10およびメモリ情報保護システム1Aのスループットの低下を防ぐことが可能になる。
【0033】
なお、上記では、鍵生成部212Aがシフト手段を有し、当該シフト手段で鍵情報をシフトさせて新たな鍵情報を生成する場合について例示したが、これに限定されない。具体的には、鍵生成部212Aは、暗号化回路を有し、ハードウェア鍵211をストリーム暗号方式またはブロック暗号方式で暗号化して新たな鍵情報を生成する構成としてもよい。
【0034】
このような構成を採用した場合、鍵生成部212Aおよびデータ変換回路213で実行される一連の処理では、鍵生成部212Aは、ハードウェア鍵211に対して第1段階の暗号化処理を行って鍵情報を生成し、データ変換回路213は、鍵情報を用いてコマンドを暗号化する第2段階の暗号化処理を行っているとも表現することができる。
【0035】
[1−3.メモリ装置20Aの動作]
次に、メモリ装置20Aの動作について説明する。図3は、メモリ装置20Aの動作を示すフローチャートである。なお、メモリ装置20Aは、CPUのような処理手段を含むものではなく、ハードウェアとしての回路による動作であるが、ここでは、便宜的にフローで示すものとする。
【0036】
メモリ装置20Aは、情報処理装置10に装着されることによって、インターフェース部220を介して情報処理装置10と電気的に接続される。そして、情報処理装置10の電源投入に応じて、情報処理装置10が起動されると、電源がメモリ装置20Aに供給されて、メモリ装置20Aの動作が開始される。
【0037】
図3に示されるように、メモリ装置20Aに電源供給が開始されると、ステップSP101では、コマンド判別部214によって、初期化コマンドの入力の有無が判定される。コマンド判別部214は、初期化コマンドの入力を検出すると、鍵生成部212Aに対して初期化指示を行う。
【0038】
ステップSP102では、コマンド判別部214からの初期化指示に応じて鍵生成部212Aの初期化が行われ、ハードウェア鍵211に基づいて初期鍵情報が生成される。
【0039】
ステップSP103では、初期鍵情報を用いてデータ変換回路213の初期化が行われる。これにより、データ変換回路213では、初期鍵情報を用いたデータの暗復号化を行うことが可能になる。
【0040】
一方、メモリ装置20Aでは、ステップSP104において暗号化コマンドが入力されると、動作工程は、ステップSP105に移行される。
【0041】
ステップSP105では、データ変換回路213によって初期鍵情報を用いて暗号化コマンドの復号化が行われる。
【0042】
ステップSP106では、コマンド判別部214によって復号化されたコマンドの判別が行われ、情報処理装置10からのコマンドが読出コマンドであるか否かが判定される。情報処理装置10から入力されたコマンドが読出コマンドでなかった場合は、コマンド判別部214によって当該コマンドに応じた所定動作の実行指示が行われる。そして、動作工程はステップSP107に移行され、入力されたコマンドに基づいた読出処理以外の他の処理が実行される。
【0043】
一方、情報処理装置10から入力されたコマンドが読出コマンドであった場合は、コマンド判別部214は、記憶部200に対して読出指令信号と読出アドレスデータとを与えるとともに、鍵生成部212Aに対して鍵情報の生成指示を行う。これにより、メモリ装置20Aでは、読出指令に応じたデータの読出処理と鍵情報の生成指示に応じた一連の鍵更新処理とが並列して実行されることになる。
【0044】
まず、記憶部200で実行されるデータの読出処理について説明する。
【0045】
読出指令信号が与えられると、動作工程は、ステップSP108に移行され、読出対象となったデータの読出処理が記憶部200において実行される。データの読出処理が開始されると、記憶部200からデータ変換回路213に対して、記憶部200においてデータの読出処理が実行されていることを示す信号(「読出開始信号」とも称する)が送信される。そして、記憶部200においてデータの読出処理が完了すると、記憶部200からデータ変換回路213に対してデータの読出処理が完了したことを示す信号(「読出完了信号」とも称する)が送信される。このように、データ変換回路213では、記憶部200から入力される読出開始信号および読出完了信号に基づいて、データ読出のための待ち時間(レイテンシー期間)の始期および終期を把握することが可能になる。
【0046】
次に、鍵生成部212Aおよびデータ変換回路213において実行される一連の鍵更新処理について説明する。
【0047】
コマンド判別部214から鍵情報の生成指示が、鍵生成部212Aに対して与えられると、動作工程は、ステップSP109に移行され、鍵生成部212Aでは、新たな鍵情報が生成される。
【0048】
新たな鍵情報が生成されると、動作工程はステップSP110に移行され、データ変換回路213では、新たな鍵情報を用いて初期化が行われ鍵情報が更新される。データ変換回路213の初期化により、鍵情報が更新されると、データ変換回路213では新たな鍵情報を用いた暗復号化を行うことが可能になる。
【0049】
このような一連の鍵更新処理(ステップSP109、ステップSP110)は、データ読出のためのレイテンシー期間によって実行されることになる。
【0050】
レイテンシー期間終了後のステップSP111では、データ変換回路213によって、記憶部200から読み出されたデータが、更新された鍵情報を用いて暗号化される。
【0051】
そして、ステップSP112では、暗号化された読出データが、インターフェース部220を介して情報処理装置10へと出力される。
【0052】
以上のように、メモリ装置20Aは、情報を記憶した記憶部200と、情報の暗復号化に用いる鍵情報を生成する鍵生成部212Aと、外部装置としての情報処理装置10への出力情報を鍵情報に基づいて暗号化するとともに、情報処理装置10からの暗号化された入力情報を鍵情報に基づいて復号化するデータ変換回路213と、入力情報を判別し当該入力情報に応じた所定動作の実行指示を行うコマンド判別部214とを備えている。そして、コマンド判別部214は、記憶部200からの情報の読出コマンドが入力情報に含まれていた場合、鍵生成部212Aに対して鍵情報の生成指示を行うとともに、記憶部200に対して読出コマンドに応じた読出指示を行う。鍵生成部212Aは、読出指示に応じた記憶部200による所定情報の読出期間中に、コマンド判別部214からの生成指示に応じて新たな鍵情報を生成する。
【0053】
このようなメモリ装置20Aでは、メモリ装置20Aから出力される情報の暗号化に関連した一連の鍵更新処理が、記憶部200からのデータの読出期間中において実行されるので、メモリ装置に記憶された情報を利用する外部装置(ここでは、情報処理装置10)のスループットの低下を防ぐことが可能になる。
【0054】
<2.第2実施形態>
次に、本発明の第2実施形態について説明する。上記第2実施形態に係るメモリ情報保護システム1Bは、ハードウェア鍵211を有していない点以外は、メモリ情報保護システム1Aとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。図4は、第2実施形態に係るメモリ情報保護システム1Bの機能構成を示すブロック図である。
【0055】
図4に示されるように、メモリ情報保護システム1Bのメモリ装置20Bは、記憶部(記憶手段)200と、メモリ内制御部210Bと、インターフェース部220とを備えている。
【0056】
メモリ内制御部210Bは、鍵生成部212Bと、データ変換回路213と、コマンド判別部214とを有している。
【0057】
鍵生成部212Bは、所定タイミングごとに演算処理を実行して、情報の暗復号化に用いる鍵情報を新たに生成する機能を有している。鍵生成部212Bは、例えば、疑似乱数生成回路を有して構成され、ハードウェア鍵等によらず、鍵生成部212B内で鍵情報が生成される。鍵生成部212Bが疑似乱数生成回路を有する構成とした場合、疑似乱数生成回路では、コマンド判別部214からの鍵生成指示に応じて疑似乱数が生成され、生成された当該疑似乱数が鍵情報として用いられる。このように、鍵生成部212Bでは、鍵生成指示を受ける度に新たな鍵情報が生成されることになる。
【0058】
データ変換回路213は、インターフェース部220を介して受信した暗号化コマンドに対して、鍵生成部212Bで生成された鍵情報を用いた所定の演算処理を施すことによって、暗号化コマンドを復号化する機能を有している。データ変換回路213によって復号化されたコマンドは、コマンド判別部214に供給される。なお、暗号化の方式としては、例えば、ストリーム暗号方式またはブロック暗号方式を採用することができる。
【0059】
また、データ変換回路213は、記憶部200から読み出されたデータを鍵生成部212Bで生成された鍵情報を利用して暗号化し、暗号化データを生成する機能も有している。データ変換回路213で暗号化された暗号化データは、インターフェース部220を介して情報処理装置10に供給される。
【0060】
コマンド判別部214は、復号化されたコマンドを判別して、当該コマンドに応じた所定動作の実行指示を行う。例えば、データ変換回路213によって復号化された情報処理装置10からのコマンドが、記憶部200からのデータの読出コマンドである場合は、当該読出コマンドから読出命令コードと読出アドレスデータとを抽出して、読出指令信号(読出信号)と読出アドレスデータとを記憶部200に与える。
【0061】
また、コマンド判別部214は、読出コマンドの検出に応じて、鍵生成部212Bに対して鍵情報の生成指示を行う指示手段としても機能する。
【0062】
読出コマンドの受信に基づいたコマンド判別部214からの鍵生成指示信号が出力されると、鍵生成部212Bでは、新たな鍵情報が生成される。そして、鍵生成部212Bにおいて新たな鍵情報が生成されると、情報の暗復号化を行うデータ変換回路213では、生成された新たな鍵情報を用いた鍵情報の更新が行われる。
【0063】
このように、メモリ装置20Bでは、鍵生成部212Bによる鍵生成処理およびデータ変換回路213における鍵情報の更新処理が、読出コマンドの受信に同期した鍵生成指示に応じて順次に実行されることになる。これによれば、鍵生成部212Bおよびデータ変換回路213で実行される一連の鍵更新処理は、記憶部200からのデータ読出のためのレイテンシー期間において実行されることになるので、上記鍵更新処理に関する処理時間の増大に起因したメモリ情報保護システム1Bのスループットの低下を防ぐことが可能になる。
【0064】
<3.変形例>
以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【0065】
例えば、上記各実施形態では、鍵生成部212A,212Bによる鍵生成処理と、データ変換回路213における鍵情報の更新処理とが、レイテンシー期間において順次に実行される場合について例示したが、これに限定されない。具体的には、レイテンシー期間において、いずれか一方の処理(鍵生成処理または鍵情報の更新処理)を実行する構成としてもよく、このような構成を採用した場合においても情報処理装置10のスループットの低下を防ぐことができる。
【0066】
なお、レイテンシー期間において鍵生成処理を行わず、鍵情報の更新処理を実行する構成とした場合は、当該鍵情報の更新処理は、記憶部200からの読出開始信号の受信に応じて開始すればよい。
【0067】
また、レイテンシー期間において鍵生成処理を行わず、鍵情報の更新処理を実行する構成とした場合において、データ変換回路213における鍵情報の更新処理をコマンド判別部214からの指示に応じて実行するようにしてもよい。図5は、変形例に係るメモリ情報保護システム1Hの機能構成を示すブロック図である。
【0068】
具体的には、図5のメモリ装置20Hにおけるコマンド判別部214Hは、読出コマンドの検出に応じて、データ変換回路213に対して鍵情報の更新指示を行う機能を有している。このようなメモリ装置20Hを用いた場合は、鍵情報の更新処理は、指示手段としてのコマンド判別部214Hから鍵情報の更新指示に応じて開始される。
【0069】
また、上記各実施形態では、一回のレイテンシー期間において、鍵生成部212A,212Bで新たな鍵情報が生成された後に、当該新たな鍵情報を用いてデータ変換回路213で鍵情報の更新処理が実行される場合について例示したが、これに限定されない。
【0070】
具体的には、一回のレイテンシー期間で実行される鍵生成処理と、鍵情報の更新処理とは、その順序を入れ替えて実行してもよく、或いは並行(並列)して実行してもよい。
【0071】
例えば、二つの処理の実行順序を入れ替える場合、すなわち鍵情報の更新処理を実行した後に、鍵生成処理を実行する場合は、データ変換回路213は、記憶部200からの読出開始信号の受信に応じて鍵情報の更新処理を開始し、当該更新処理終了後に鍵生成部212A,212Bで新たな鍵情報を生成する。
【0072】
また、二つの処理を並行して実行する場合は、鍵生成部212A,212Bは、コマンド判別部214からの鍵生成指示に応じて鍵生成処理を開始し、データ変換回路213は、記憶部200からの読出開始信号の受信に応じて鍵情報の更新処理を開始する構成とすればよい。
【0073】
なお、当該変形例のように、鍵情報の更新処理を実行した後に、鍵生成処理を実行する場合、および鍵情報の更新処理と鍵生成処理とを並行して実行する場合は、鍵情報の更新処理に用いられる新たな鍵情報には、前回のレイテンシー期間において生成された鍵情報が用いられる。
【符号の説明】
【0074】
1A,1B,1H メモリ情報保護システム
10 情報処理装置
20A,20B,20H メモリ装置
200 記憶部
210A,210B メモリ内制御部
211 ハードウェア鍵
212A,212B 鍵生成部
213 データ変換回路
214 コマンド判別部
220 インターフェース部

【特許請求の範囲】
【請求項1】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記鍵生成手段に対して前記鍵情報の生成指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記鍵生成手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記生成指示に応じて新たな鍵情報を生成するメモリ装置。
【請求項2】
前記データ変換手段は、前記新たな鍵情報を用いて鍵情報の更新を行う請求項1に記載のメモリ装置。
【請求項3】
前記鍵情報の更新は、前記読出期間中に行われる請求項2に記載のメモリ装置。
【請求項4】
前記鍵生成手段は、
前記生成指示を受ける度に、前記鍵情報を構成するビット列をシフトさせて、前記新たな鍵情報を生成するシフト手段を有する請求項1から請求項3のいずれかに記載のメモリ装置。
【請求項5】
前記シフト手段は、シフトレジスタを含む請求項4に記載のメモリ装置。
【請求項6】
ハードウェアとして実装された固定的なハードウェア鍵、
をさらに備え、
前記指示手段は、前記外部装置からの初期化コマンドの入力に応じて前記鍵生成手段に対して初期化指示を行い、
前記鍵生成手段は、前記初期化指示に応じて、前記ハードウェア鍵を用いて初期鍵情報を生成し、
前記新たな鍵情報は、前記生成指示に応じて、前記初期鍵情報を構成するビット列を順次にシフトさせて取得される請求項4または請求項5に記載のメモリ装置。
【請求項7】
前記鍵生成手段は、
前記生成指示を受ける度に、ストリーム暗号方式またはブロック暗号方式を用いて前記新たな鍵情報を生成する請求項1から請求項3のいずれかに記載のメモリ装置。
【請求項8】
ハードウェアとして実装された固定的なハードウェア鍵、
をさらに備え、
前記鍵生成手段は、前記ストリーム暗号方式または前記ブロック暗号方式で暗号化を行い、前記ハードウェア鍵に基づいて前記鍵情報を生成する請求項7に記載のメモリ装置。
【請求項9】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記記憶手段は、前記読出指示に応じて情報の読出を開始すると、読出処理を実行中であることを示す読出開始信号を前記データ変換手段に送信し、
前記データ変換手段は、前記読出開始信号の受信に応じて、前記新たな鍵情報を用いて鍵情報の更新を行うメモリ装置。
【請求項10】
所定情報を記憶した記憶手段と、
情報の暗復号化に用いる鍵情報を生成する鍵生成手段と、
外部装置への出力情報を前記鍵情報に基づいて暗号化するとともに、前記外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化するデータ変換手段と、
前記データ変換手段によって復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う指示手段と、
を備え、
前記鍵生成手段は、所定タイミングで新たな鍵情報を生成し、
前記指示手段は、前記所定情報の読出コマンドが前記入力情報に含まれていた場合、前記データ変換手段に対して、前記鍵情報の更新指示を行うとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示を行い、
前記データ変換手段は、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記更新指示に応じて前記新たな鍵情報を用いた鍵情報の更新を行うメモリ装置。
【請求項11】
a)外部装置への出力情報を、情報の暗復号化に用いる鍵情報に基づいて暗号化するとともに、外部装置からの暗号化された入力情報を前記鍵情報に基づいて復号化する工程と、
b)前記a)工程において復号化された前記入力情報を判別し、当該入力情報に応じた所定動作の実行指示を行う工程と、
c)新たな鍵情報を生成する工程と、
を備え、
前記b)工程では、記憶手段に記憶された所定情報を読み出すための読出コマンドが前記入力情報に含まれていた場合、前記c)工程の実行指示が行われるとともに、前記記憶手段に対して前記読出コマンドに応じた読出指示が行われ、
前記c)工程では、前記読出指示に応じた前記記憶手段による前記所定情報の読出期間中に、前記新たな鍵情報が生成されるメモリ装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−258666(P2010−258666A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−105131(P2009−105131)
【出願日】平成21年4月23日(2009.4.23)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】