(57)【要約】【課題】コールドブートアタックのようなセキュリティ攻撃の防止を可能にした半導体記憶装置を提供する。【解決手段】複数のメモリセルを含むメモリセルアレイと、メモリセルアレイへのデータの入出力を制御する入出力制御回路と、外部装置から提供された認証コードを記憶する記憶部と、外部から読み出し制御信号が入力されると、入出力制御回路から受け取るデータを暗号化して出力する入出力インターフェース回路とを有する。入出力インターフェース回路は、認証コードに一致する解除コードが上記の外部装置から入力された場合にのみ、入出力制御回路から受け取るデータを暗号化せずに出力する。【選択図】図１
2012093906.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリセルアレイと、
前記メモリセルアレイへのデータの入出力を制御する入出力制御回路と、
外部装置から提供された認証コードを記憶する第１の記憶部と、
外部から読み出し制御信号が入力されると、前記入出力制御回路から受け取るデータを暗号化して出力する入出力インターフェース回路と、を有し、
前記入出力インターフェース回路は、
前記認証コードに一致する解除コードが前記外部装置から入力された場合にのみ、前記入出力制御回路から受け取るデータを暗号化せずに出力する、半導体記憶装置。
【請求項２】
請求項１記載の半導体記憶装置において、
前記入出力インターフェース回路は、
待機状態からの復帰時、または電源供給の開始時に、前記読み出し制御信号が入力されると、前記入出力制御回路から受け取るデータを暗号化して出力する、半導体記憶装置。
【請求項３】
請求項１または２に記載の半導体記憶装置において、
前記入出力インターフェース回路は、
外部から入力される解除コードが前記認証コードと一致しない場合、前記メモリセルアレイに格納されたデータを前記入出力制御回路に消去させる、半導体記憶装置。
【請求項４】
請求項１から３のいずれか１項記載の半導体記憶装置において、
前記入出力インターフェース回路は、
入力される前記解除コードを格納するための第２の記憶部と、
前記データを暗号化するための乱数を生成する乱数発生回路と、
前記データを暗号化するか否かを判定する比較回路と、
前記データの暗号化を解除するための制御信号である暗号化解除信号を前記比較回路から受信する場合、前記入出力制御回路から受信するデータをそのまま出力し、前記暗号化解除信号を前記比較回路から受信しない場合、乱数発生回路で生成された乱数を用いて、前記入出力制御回路から受信するデータを暗号化して出力する演算回路と、を有し、
前記比較回路は、
前記第２の記憶部に格納された解除コードと前記第１の記憶部に格納された認証コードとを比較し、該解除コードと該認証コードが一致する場合、前記暗号化解除信号を前記演算回路に送信し、該解除コードと該認証コードが一致しない場合、前記メモリセルアレイに格納されたデータの消去を指示するための信号を前記入出力制御回路に送信する、半導体記憶装置。
【請求項５】
請求項４記載の半導体記憶装置において、
前記乱数発生回路は、
前記認証コードが前記第１の記憶部に格納されると、該認証コードを初期値として擬似乱数を生成する、半導体記憶装置。
【請求項６】
請求項４または５に記載の半導体記憶装置において、
前記外部装置は、前記読み出し制御信号を前記入出力インターフェース回路に送信して、前記メモリセルアレイからデータの読み出しを行う制御装置であり、
前記入出力インターフェース回路は、
待機状態に遷移する際、前記認証コードを前記外部装置から受信すると、該認証コードを前記第１の記憶部に格納し、前記待機状態からの復帰時または電源供給の開始時に、前記解除コードを前記外部装置から受信すると、該解除コードを前記第２の記憶部に格納する、半導体記憶装置。
【請求項７】
複数のメモリセルを含むメモリセルアレイと、該メモリセルアレイへのデータの入出力を制御する入出力制御回路と、外部装置から提供された認証コードを記憶する記憶部と、前記入出力制御回路から受け取るデータを外部に出力する入出力インターフェース回路とを有する半導体記憶装置による情報処理方法であって、
外部から読み出し制御信号が入力されると、前記データに対する暗号化処理を解除するための解除コードが外部から入力されたか否かを判定し、
外部から解除コードが入力されない場合、前記入出力制御回路から受け取るデータを暗号化して出力し、前記認証コードに一致する解除コードが前記外部装置から入力された場合にのみ、前記入出力制御回路から受け取るデータを暗号化せずに出力する、情報処理方法。
【請求項８】
請求項７記載の情報処理方法において、
待機状態からの復帰時、または電源供給の開始時に、前記読み出し制御信号が入力されると、前記入出力制御回路から受け取るデータを暗号化して出力する、情報処理方法。
【請求項９】
請求項７または８に記載の情報処理方法において、
外部から入力される解除コードが前記認証コードと一致しない場合、前記メモリセルアレイに格納されたデータを前記入出力制御回路に消去させる、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置および情報処理方法に関する。
【背景技術】
【０００２】
近年の半導体プロセス技術の発達により、半導体記憶装置の記憶容量は増加の一途をたどっている。また、半導体記憶装置の大規模容量化、高速動作化、および低下価格化に伴って、さまざまな製品が半導体記憶装置を搭載するようになっている。そのため、コンピュータを始めとする様々な製品において、半導体記憶装置は重要な役割を果している。半導体記憶装置のうち、代表的なものとして、ダイナミックランダムアクセスメモリ（以下では、ＤＲＡＭと表記する）が知られている。
【０００３】
２００８年２月２１日に、プリンストン大学のセキュリティ研究者チームにより、半導体記憶装置のうち、ＤＲＡＭに固有な特性を利用したセキュリティ解除手法が存在すると発表されている（非特許文献１参照）。特に「コールドブートアタック」と呼ばれる直接攻撃により、暗号鍵を格納したＤＲＡＭ製品がセキュリティ上の問題を有する可能性があることが報告されている。
【０００４】
コールドブートアタックとは、非特許文献１に開示されているように、ＤＲＡＭに固有な特性を利用した、ハードウエアへの直接的なセキュリティ攻撃手法である。以下に、この攻撃手法を詳しく説明する。
【０００５】
パーソナルコンピューター（以下では、ＰＣと表記する）は、一定時間コマンドが入力されない場合、消費電力を抑制するためにスリープモードやハイパネーションモードといった、いわゆる「待機モード」に遷移する。このうちスリープモードでは、待機状態から高速復帰を可能にするために、半導体記憶装置は、記憶領域にデータを保持させたまま待機状態に入る。コールドブートアタックは、このスリープモード中に半導体記憶装置に対して電源遮断した後、半導体記憶装置がＤＲＡＭであっても、一定時間(数分間)、メモリセルがデータを保持していることを利用して、データを不正に読み出す手法である。その対策として、セキュリティアタックに用いられるプログラムも英語圏を中心に広くインターネット上で公開されている。セキュリティソフトウエアによる対応策も提案されてはいるが、より強固なセキュリティ対策が望まれる。
【０００６】
セキュリティ攻撃に対する防御機能を有する半導体記憶装置として、半導体不揮発性メモリが特許文献１に開示されている。特許文献１に開示されている方法は、メモリ部に格納されたデータを読み出す際、使用者によりコードが入力されると、入力されたコードが暗証コード記憶領域に予め格納された暗証コードと一致した場合にのみ、データ出力回路を動作させ、メモリ部に格納されたデータの読み出しを可能にするものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１２５８３２号公報
【非特許文献】
【０００８】
【非特許文献１】J. Alex Halderman,外８名, "Lest We Remember: Cold Boot Attacks on Encryption Keys", released February 21, 2008 and published in Proc. 2008 USENIX Security Symposium，［平成２２年１０月１９日検索］、インターネット＜ＵＲＬ：http: //citp.princeton.edu.nyud.net/pub/coldboot.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に開示された方法では、半導体不揮発性メモリのメモリ部からデータを読み出すためのコードをユーザ自身が入力している。そのため、ユーザがメモに残したコードを悪意のある第三者が盗み見たり、ユーザがコードを入力しているところを、悪意のある第三者に見られたりすると、悪意のある第三者によりデータが不正に読み出されてしまう可能性があった。
【００１０】
ＤＲＡＭのような、揮発性の半導体記憶装置では、一般的には、その特性から電源供給を停止するとメモリに格納されたデータは消えてしまうと考えられていたので、コールドブートアタックのようなセキュリティ攻撃に対する方法は、現在のところ提案されていない。また、特許文献１に開示された方法は、電源供給を停止してもメモリに格納されたデータが消えないという特性を有する、不揮発性の半導体記憶装置にのみ可能な方法であり、揮発性の半導体記憶装置へのコールドブートアタックのようなセキュリティ攻撃に対して、そのまま適用できない。
【課題を解決するための手段】
【００１１】
本発明の半導体記憶装置は、
複数のメモリセルを含むメモリセルアレイと、
前記メモリセルアレイへのデータの入出力を制御する入出力制御回路と、
外部装置から提供された認証コードを記憶する第１の記憶部と、
外部から読み出し制御信号が入力されると、前記入出力制御回路から受け取るデータを暗号化して出力する入出力インターフェース回路と、を有し、
前記入出力インターフェース回路は、
前記認証コードに一致する解除コードが前記外部装置から入力された場合にのみ、前記入出力制御回路から受け取るデータを暗号化せずに出力する構成である。
【００１２】
また、本発明の情報処理方法は、複数のメモリセルを含むメモリセルアレイと、該メモリセルアレイへのデータの入出力を制御する入出力制御回路と、外部装置から提供された認証コードを記憶する記憶部と、前記入出力制御回路から受け取るデータを外部に出力する入出力インターフェース回路とを有する半導体記憶装置による情報処理方法であって、
外部から読み出し制御信号が入力されると、前記データに対する暗号化処理を解除するための解除コードが外部から入力されたか否かを判定し、
外部から解除コードが入力されない場合、前記入出力制御回路から受け取るデータを暗号化して出力し、前記認証コードに一致する解除コードが前記外部装置から入力された場合にのみ、前記入出力制御回路から受け取るデータを暗号化せずに出力するものである。
【００１３】
本発明では、メモリセルアレイに対する、強制的な、データの読み出し指示があっても、予め外部装置から提供された認証コードに一致する解除コードが入力されなければ、データを暗号化して出力する。第三者が正規の解除コードをその制御装置から取得することは困難なため、暗号化されたデータが解読される可能性が低い。
【発明の効果】
【００１４】
本発明によれば、コールドブートアタック等のセキュリティ攻撃に対して、記憶領域に格納された情報の秘匿性をより高くすることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の半導体記憶装置の一構成例を示すブロック図である。
【図２】図１に示した入出力インターフェース回路の一構成例を示すブロック図である。
【図３】本実施形態の半導体記憶装置がスリープモードに遷移する場合の動作手順を示すフローチャートである。
【図４】本実施形態の半導体記憶装置がスリープモードからノーマルモードに復帰する場合の動作手順を示すフローチャートである。
【図５】本実施形態の半導体記憶装置において、電源が切られた後、再度起動する場合の通常の動作手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
本実施形態の半導体記憶装置の構成を説明する。本実施形態では、半導体記憶装置が揮発性の半導体記憶装置であるものとする。図１は本実施形態の半導体記憶装置の一構成例を示すブロック図である。
【００１７】
本実施形態の半導体記憶装置１は、入出力インターフェース回路２と、行デコーダ３と、メモリセルアレイ４と、列デコーダ５と、入出力（ＩＯ）制御回路６とを有する。入出力インターフェース回路２には、ＭＰＵ（Micro-Processing Unit）３０が接続されている。本実施形態では、ＭＰＵ３０は半導体記憶装置１の正規のユーザが使用するＭＰＵとする。
【００１８】
メモリセルアレイ４は、複数のメモリセル４０がマトリクス状に配置されている。図１に示すメモリセルアレイ４には、２N×２M個のメモリセル４０が設けられている。Ｎ行の信号線とＭ列の信号線が交差しており、各交差点にメモリセル４０が配置されている。
【００１９】
ＩＯ制御回路６は、ＭＰＵ３０から入出力インターフェース回路２を介して入力されるデータ（Ｄｉｎ）をメモリセルアレイ４に出力し、メモリセルアレイ４から読み出したデータ（Ｄｏｕｔ）を入出力インターフェース回路２介してＭＰＵ３０に送信する。
【００２０】
入出力インターフェース回路２は、行および列を指定するためのアドレス信号がＭＰＵ３０から入力されると、行の情報を行デコーダ３に通知し、列の情報を列デコーダ５に通知する。また、入出力インターフェース回路２は、データの書き込みを指示する旨の制御信号である書き込み制御信号と書き込み対象のデーがＭＰＵ３０から入力されると、データをＩＯ制御回路６に転送し、ＩＯ制御回路６にデータをメモリセルアレイ４に書き込ませる。
【００２１】
行デコーダ３は、入出力インターフェース回路２から通知される行の情報にしたがって、メモリセルアレイ４におけるＮ行の信号線のうち、いずれか１つの行を特定する。列デコーダ５は、入出力インターフェース回路２から通知される列の情報にしたがって、メモリセルアレイ４におけるＭ列の信号線のうち、いずれか１つの列を特定する。これにより、アドレス信号で指定された行と列に位置するメモリセル４０のデータが読み出し可能な状態になる。
【００２２】
本実施形態における入出力インターフェース回路２では、上述の構成の他に、次のような構成を備えている。
【００２３】
図２は図１に示した入出力インターフェース回路の一構成例を示すブロック図である。図２では、ＭＰＵ３０がメモリセルアレイ４から入出力インターフェース回路２を介してデータを読み出す際のデータおよび制御信号の流れをわかりやすく説明するために、入出力インターフェース回路２以外の構成も図に示している。
【００２４】
入出力インターフェース回路２は、乱数発生回路７と、演算回路１１と、比較回路９と、認証コード格納回路１２と、解除コード格納回路１０とを有する。
【００２５】
認証コード格納回路１２は、接続先の装置がＭＰＵ３０であることを認証するための認証コードを記憶する記憶部である。認証コード格納回路１２は、新たな認証コードが入力されると、既に記憶していた認証コードを消去して、新しく入力された認証コードを記憶するとともに、新しい認証コードおよびこの認証コードを擬似乱数の初期値に更新する旨の情報を含む乱数初期値設定信号を乱数発生回路７に送信する。
【００２６】
解除コード格納回路１０は、データの暗号化を解除するためのコードである解除コードを記憶する記憶部である。解除コード格納回路１０は、半導体記憶装置１がスリープモードなどの待機状態からの復帰時、または半導体記憶装置１への電源供給開始時に、解除コードがＭＰＵ３０から入力されると、解除コードを保存する。認証コード格納回路１２および解除コード格納回路１０は、揮発性の記憶部である。
【００２７】
乱数発生回路７は、メモリセルアレイ４から出力されるデータを暗号化するための乱数を生成する回路である。乱数発生回路７は、認証コード格納回路１２から乱数初期値設定信号を受信すると、その信号に含まれている認証コードを初期値として擬似乱数を生成する。本実施形態では、乱数発生回路７で生成される乱数が擬似乱数の場合で説明するが、純粋な乱数であってもよい。
【００２８】
入出力インターフェース回路２は、データの読み出しを指示する旨の制御信号である読み出し制御信号がＭＰＵ３０から入力されると、読み出し制御信号をＩＯ制御回路６に転送し、ＩＯ制御回路６に対して、メモリセルアレイ４に格納されたデータを演算回路１１に送信させる。なお、読み出し制御信号が入力される際に、アドレス信号がＭＰＵ３０から入力される場合には、アドレス信号で指定されたメモリセル４０に蓄えられたデータが出力対象となる。
【００２９】
演算回路１１は、半導体記憶装置１がスリープモードなどの待機状態からの復帰時または半導体記憶装置１への電源供給開始時に、データの暗号化を解除するための制御信号１３である暗号化解除信号を比較回路９から受信する場合、ＩＯ制御回路６から受信するデータをそのまま外部に出力し、暗号化解除信号を比較回路９から受信しない場合、乱数発生回路７で生成された擬似乱数を用いて、ＩＯ制御回路６から受信するデータを暗号化して外部に出力する。
【００３０】
比較回路９は、解除コードが外部から入力されると、解除コードと予め登録された認証コードとを比較し、その比較結果にしたがって、演算回路１１の動作を制御する。具体的には、比較回路９は、解除コード格納回路１０に格納された解除コードと認証コード格納回路１２に格納された認証コードとを比較し、その結果、解除コードと認証コードが一致する場合、暗号化解除信号を演算回路１１に送信し、解除コードと認証コードが一致しない場合、メモリセルアレイ４に格納されたデータの消去を指示するための制御信号１４であるデータ消去信号をＩＯ制御回路６に送信する。また、解除コードと認証コードが一致しない場合、入出力インターフェース回路２は、解除コード格納回路１０に格納された解除コードを新たな認証コードとして認証コード格納回路１２に上書き保存する。
【００３１】
なお、半導体記憶装置がスリープモードに遷移した際、通常、メモリセルアレイ４に格納されたデータを保持するための電力供給を継続するが、データの読み出しおよび書き込みに関する回路への電力供給を低減することで、消費電力を抑制している。本実施形態の半導体記憶装置１では、スリープモードに遷移した際、メモリセルアレイ４のデータ保持のための電力供給だけでなく、認証コード格納回路１２に格納された認証コードを保持するために、認証コード格納回路１２にも電力供給が行われる。
【００３２】
次に、ＭＰＵ３０の構成を説明する。本実施形態では、本発明の情報処理方法に関連する部分について詳細に説明し、一般的なＭＰＵが備えている構成についての詳細な説明を省略する。
【００３３】
ＭＰＵ３０は、メモリセルアレイ４からのデータの読み出し、または、メモリセルアレイ４へのデータの書き込みの制御を行う制御装置の一例である。
【００３４】
ＭＰＵ３０は、半導体記憶装置１をスリープモードに遷移させる際に、認証コードを生成して半導体記憶装置１に送信し、半導体記憶装置１をスリープモードから復帰させる際に、既に送信した認証コードに一致する解除コードを半導体記憶装置１に送信する。また、ＭＰＵ３０は、半導体記憶装置１への電源供給開始時に、新規に解除コードを生成して半導体記憶装置１に送信する。このような処理を、ＭＰＵ３０に設けられた演算部（不図示）に実行させるためのプログラムが、ＭＰＵ３０に設けられた不揮発性メモリ（不図示）に予め格納されていればよい。ＭＰＵに対して、本実施形態の情報処理方法を実行するために特別な構成を追加する必要はない。
【００３５】
次に、本実施形態の半導体記憶装置１の動作を、図３〜図５を参照して説明する。本実施形態の半導体記憶装置１がスリープモードに遷移する場合の動作手順を、図３を参照して説明する。
【００３６】
半導体記憶装置１は、スリープモードに遷移する旨の指示をＭＰＵ３０から受け取ると（ステップ１０１）、ＭＰＵ３０から認証コードが送られてくるのを待つ（ステップ１０２)。半導体記憶装置１はＭＰＵ３０から認証コードを受け取ると、認証コードを認証コード格納回路１２に格納し（ステップ１０３）、認証コードの受信を確認することで、スリープモードに遷移する（ステップ１０４）。認証コードは、乱数発生回路７において、擬似乱数生成のための初期値として利用される。
【００３７】
次に、半導体記憶装置１がスリープモードからノーマルモードに復帰する場合の動作手順を、図４を参照して説明する。ノーマルモードとは、半導体記憶装置１へのデータの書き込み要求、および半導体記憶装置１からのデータの読み出し要求のうち、いずれの要求がＭＰＵ３０からあっても、すぐに応答可能な状態である。
【００３８】
スリープモードに遷移した半導体記憶装置１は、ノーマルモードへの復帰命令をＭＰＵ３０から受け取ると(ステップ１２１)、ＭＰＵ３０から解除コードが送られてくるのを待つ(ステップ１２２)。半導体記憶装置１は、ＭＰＵ３０から解除コードを受信しなければ、スリープモードからノーマルモードへは正常に復帰しない。
【００３９】
ここで、コールドブートアタックが行われた場合、解除コードが入力されずに、強制的に、読み出し制御信号が半導体記憶装置１に入力されると考えられる。この場合、半導体記憶装置１は、解除コードを受信せずに（ステップ１２３）、読み出し制御信号にしたがって、メモリセルアレイ４に格納されたデータを読み出してくるが、乱数発生回路７で生成された乱数を用いて、データを演算回路１１で暗号化して出力する（ステップ１２４）。その後、一定の時間が経過しても解除コードを受信しなければ、例えば、解除コードが４ケタの番号であれば、半導体記憶装置１は、ＭＰＵ３０で生成し得ない「００００」の解除コードが入力されたものとして、ステップ１２５に進む。
【００４０】
ステップ１２２において、半導体記憶装置１がＭＰＵ３０から解除コードを受信すると半導体記憶装置１は、受信した解除コードを解除コード格納回路１０に格納し、認証コード格納回路１２に格納されている認証コードと解除コード格納回路１０に格納されている解除コードが一致するか否かを、比較回路９で判定する(ステップ１２５)。
【００４１】
ステップ１２５における、比較回路９による判定の結果、解除コードと認証コードが一致した場合、演算回路１１に対して、データの暗号化処理を解除させ（ステップ１２６）、ノーマルモードモードに遷移する（ステップ１２７）。一方、ステップ１２５における判定の結果、解除コードと認証コードが一致しない場合、比較回路９からデータ消去信号がＩＯ制御回路６に送信され、メモリセルアレイ４で保持されているデータは全て消去される(ステップ１２８)。半導体記憶装置１がメモリセルアレイ４に対して行うデータ消去方法として、例えば、メモリセルアレイ４の全てのメモリセルにゼロデータを書き込む方法があるが、その他の方法であってもよい。
【００４２】
このようにして、コールブートアタック等のセキュリティ攻撃により、スリープモードに遷移中の半導体記憶装置１が、正規のユーザが使用するＭＰＵ３０ではない、他のＭＰＵからアクセスを受けたとしても、メモリセルアレイ４に保持されているデータの不正な読み出しを防止することができる。
【００４３】
ステップ１２８でメモリセルアレイ４のデータを全て消去した後、半導体記憶装置１はＭＰＵ３０から入力された解除コードを新たな認証コードとして認証コード格納回路１２に格納する(ステップ１２９)。続いて、半導体記憶装置１は、演算回路１１に対して、データの暗号化処理を解除させた後(ステップ１２６)、ノーマルモードに遷移する(ステップ１２７)。
【００４４】
なお、図４に示すステップ１２２と１２３の順序が逆であってもよい。この場合、半導体記憶装置１は、ステップ１２３で読み出し制御信号の有無を判定した後、ステップ１２２の判定を行い、解除コードを受信しない場合、ステップ１２４に進み、解除コードを受信した場合、ステップ１２５に進めばよい。
【００４５】
次に、半導体記憶装置１が、コールドブートアタックのようなセキュリティ攻撃を受けることなく、通常の手順にしたがって、ＭＰＵ３０の制御により外部からの電源供給が停止した後、再度ＭＰＵ３０の制御により起動する場合の手順を、図５を参照して説明する。
【００４６】
ＭＰＵ３０の制御により半導体記憶装置１への電源供給が開始されると（ステップ１４１）、半導体記憶装置１はＭＰＵ３０から解除コードが送られてくるのを待つ（ステップ１４２)。
【００４７】
半導体記憶装置１がＭＰＵ３０から解除コードを受信しても、電源立ち上げ後は、認証コード格納回路１２に保持されているデータは一意に定まっていない。そのため、図４で説明したステップ１２５の判定で認証コードと解除コードが一致せず、メモリセルアレイ４のデータは全て消去される(ステップ１４３)。続いて、半導体記憶装置１は、ＭＰＵ３０から受信した解除コードを認証コードとして認証コード格納回路１２に格納した後(ステップ１４４)、演算回路１１の暗号化処理を解除し(ステップ１４５）、通常の初期化シーケンスへ移行する(ステップ１４６)。
【００４８】
通常の手順にしたがって、半導体記憶装置の電源を立ち上げても、本実施形態の半導体記憶装置１が通常の半導体記憶装置と同様に動作可能であることを、図５を参照して説明した。ここで、不正にデータを読み出そうとする第三者が、半導体記憶装置１への電源供給を一旦停止させた後、半導体記憶装置１を自分のＰＣに装着し、半導体記憶装置１に対して電源供給を開始させて、データを読み出そうとした場合にも対応可能であることを説明する。
【００４９】
ステップ１４１の後、不正にデータを読み出そうとする第三者が、ＰＣを操作して、メモリセルアレイ４から消去されずに、残されたデータを強制的に読み出す旨の指示をＰＣに入力すると、ＭＰＵが読み出し制御信号を半導体記憶装置１に送信する。この場合、半導体記憶装置１は、図４に示したステップ１２３の判定を行い、仮にメモリセルアレイ４にデータが残っていたとしても、解除コードを受信していないので、データを暗号化してＰＣに出力する。メモリセルアレイ４にデータが残っていない場合、または一定の時間が経過しても解除コードを受信しない場合、半導体記憶装置１は、図５に示すステップ１４３〜１４６の処理を行う。
【００５０】
このようにして、本実施形態の半導体記憶装置および情報処理方法では、電源供給を完全に停止した後に行われるセキュリティ攻撃を防止するだけでなく、通常動作を妨げることなく、初期化シーケンスへ移行することが可能である。
【００５１】
本実施形態の半導体記憶装置では、メモリセルアレイに対する、強制的な、データの読み出し指示があっても、予め決められた外部装置から提供された認証コードに対応する解除コードが入力されなければ、データを暗号化して出力する。半導体記憶装置がコールドブートアタック等のセキュリティ攻撃を受けても、データが暗号化されて出力され、悪意のある第三者が正規の解除コードをその制御装置から取得することは難しいため、暗号化されたデータを解読するのは困難となる。また、半導体記憶装置の待機状態からの復帰時や電源供給開始時に、データの読み出し指示があったとき、メモリセルアレイにデータが残っていたとしても、データが暗号化されて出力される。そのため、コールドブートアタック等のセキュリティ攻撃に対して、記憶領域に格納された情報の秘匿性をより高めることができる。
【００５２】
また、本実施形態の半導体記憶装置では、待機状態に遷移する際に、ＭＰＵから認証コードが入力されるため、待機状態への制御を行ったＭＰＵのみが半導体記憶装置が保持しているデータの暗号化を解除することが可能である。そのため、コールドブートアタックにより、他のＭＰＵが半導体記憶装置に対してデータ読み出しの制御を行おうとしても、データの読み出しは困難となる。悪意のある第三者が、半導体記憶装置に解除コードを入力しても、解除コードが認証コードと一致しなければ、メモリセルアレイのデータが全て消去される。
【００５３】
さらに、本実施形態では、乱数発生回路７が擬似乱数を生成する際に用いられる初期値がＭＰＵによって、半導体記憶装置がスリープモードに入る度に更新される。これが、いわゆるワンタイムパスワードとして機能するため、特許文献１に開示された、コードが固定された場合の技術と比較して、悪意のある第三者からのセキュリティ攻撃に対して、情報の秘匿性をより高めることができる。
【００５４】
なお、本実施形態の半導体記憶装置および情報処理方法は、揮発性の半導体記憶装置に限らず、不揮発性の半導体記憶装置など、その他の半導体記憶装置にも適用可能であり、その適用範囲を限定するものではない。
【産業上の利用可能性】
【００５５】
本発明の半導体記憶装置は、高い情報秘匿性を必要とする電子機器への搭載に最適である。
【符号の説明】
【００５６】
１    半導体記憶装置
２    入出力インターフェース回路
３    行デコーダ
４    メモリセルアレイ
５    列デコーダ
６    ＩＯ制御回路
７    乱数発生回路
９    比較回路
１０    解除コード格納回路
１１    演算回路
１２    認証コード格納回路
４０    メモリセル
【図１】
2012093906.tif 000003
【図２】
2012093906.tif 000004
【図３】
2012093906.tif 000005
【図４】
2012093906.tif 000006
【図５】
2012093906.tif 000007