(57)【要約】【課題】機密情報データに誤りがある場合にのみメモリが不良と判定するメモリ検査装置及びメモリ検査方法を提供すること。【解決手段】暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査装置である。メモリ検査装置は、メモリに格納された機密情報データを暗号化し、かつ、外部から入力された、機密情報データに基づいて予め生成され暗号化された暗号化チェック用データを復号する暗復号演算部と、メモリの機密情報データに基づいて第１のチェック用データを生成するチェック演算部と、第１のチェック用データと、暗号化チェック用データを復号した第２のチェック用データとを比較する比較部と、第１のチェック用データと第２のチェック用データとが一致しない場合に、メモリの機密情報データを暗号化した暗号化機密情報データの出力制御を行う入出力制御部を備える。【選択図】図１
2008226314.tif 000002
【特許請求の範囲】
【請求項１】
暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、前記機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査装置であって、
前記メモリに格納された前記機密情報データを暗号化し、かつ、外部から入力された、前記機密情報データに基づいて予め生成され暗号化された暗号化チェック用データを復号する暗復号演算部と、
前記メモリに格納された前記機密情報データに基づいて第１のチェック用データを生成するチェック演算部と、
前記チェック演算部が生成した前記第１のチェック用データと、前記暗復号演算部が前記暗号化チェック用データを復号して得られた第２のチェック用データとを比較する比較部と、
前記暗号化チェック用データの入力制御、かつ、前記第１のチェック用データと前記第２のチェック用データとが一致しない場合に、前記メモリに格納された前記機密情報データを前記暗復号演算部が暗号化して得られた暗号化機密情報データの出力制御を行う入出力制御部と、
を備えたことを特徴とするメモリ検査装置。
【請求項２】
請求項１に記載のメモリ検査装置であって、
前記第１のチェック用データと前記第２のチェック用データとが一致する場合、前記入出力制御部は所定の信号を出力することを特徴とするメモリ検査装置。
【請求項３】
請求項１に記載のメモリ検査装置であって、
前記暗復号演算部は、共通鍵を用いて前記機密情報データの暗号化及び前記暗号化チェック用データの復号を行うことを特徴とするメモリ検査装置。
【請求項４】
暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、前記機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査方法であって、
前記機密情報データに基づいて予め生成され暗号化された暗号化チェック用データを復号し、
前記メモリに格納された前記機密情報データに基づいて第１のチェック用データを生成し、
前記第１のチェック用データと、前記暗号化チェック用データを復号して得られた第２のチェック用データとを比較し、
前記第１のチェック用データと前記第２のチェック用データとが一致しない場合に、前記メモリに格納された前記機密情報データを暗号化し、
前記機密情報データを暗号化して得られた暗号化機密情報データを出力することを特徴とするメモリ検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査装置及びメモリ検査方法に関する。
【背景技術】
【０００２】
機密情報データが格納された不揮発メモリを検査する従来の方法では、機密情報データをチェックするための機密ＣＲＣデータを算出し、同じ不揮発メモリに格納されている期待値データと算出された機密ＣＲＣデータとを比較して、一致/不一致を判定することにより、不揮発メモリの良/不良を判定している（特許文献１参照）。
【０００３】
【特許文献１】特開２００１−３４４９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記説明した特許文献１に開示の検査方法では、機密ＣＲＣデータと期待値とを比較した結果、両者が一致しないため不揮発メモリが不良と判定された場合に、機密情報データ及び期待値データのどちらに誤りがあるかは判別されない。すなわち、期待値データを内部に記憶する不揮発メモリの検査では、期待値データに誤りがある場合にも不揮発メモリが不良と判定される。このため、機密情報データに誤りがある場合にのみ不揮発メモリが不良と判定する検査方法が望まれていた。
【０００５】
なお、不揮発メモリに期待値データを格納するためには機密情報データと同じ大きさの領域を必要とする。このため、機密情報データが増加すると期待値データも同様に増加し、不揮発メモリにはこれら増加したデータを格納するための領域が必要となる。この場合、不揮発メモリの回路面積やコストが増加してしまう。
【０００６】
本発明の目的は、機密情報データに誤りがある場合にのみメモリが不良と判定するメモリ検査装置及びメモリ検査方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、前記機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査装置であって、前記メモリに格納された前記機密情報データを暗号化し、かつ、外部から入力された、前記機密情報データに基づいて予め生成され暗号化された暗号化チェック用データを復号する暗復号演算部と、前記メモリに格納された前記機密情報データに基づいて第１のチェック用データを生成するチェック演算部と、前記チェック演算部が生成した前記第１のチェック用データと、前記暗復号演算部が前記暗号化チェック用データを復号して得られた第２のチェック用データとを比較する比較部と、前記暗号化チェック用データの入力制御、かつ、前記第１のチェック用データと前記第２のチェック用データとが一致しない場合に、前記メモリに格納された前記機密情報データを前記暗復号演算部が暗号化して得られた暗号化機密情報データの出力制御を行う入出力制御部と、を備えたメモリ検査装置を提供する。
【０００８】
上記メモリ検査装置では、前記第１のチェック用データと前記第２のチェック用データとが一致する場合、前記入出力制御部は所定の信号を出力する。
【０００９】
上記メモリ検査装置では、前記暗復号演算部は、共通鍵を用いて前記機密情報データの暗号化及び前記暗号化チェック用データの復号を行う。
【００１０】
本発明は、暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリを、前記機密情報データに基づいて生成されたチェック用データを用いて検査するメモリ検査方法であって、前記機密情報データに基づいて予め生成され暗号化された暗号化チェック用データを復号し、前記メモリに格納された前記機密情報データに基づいて第１のチェック用データを生成し、前記第１のチェック用データと、前記暗号化チェック用データを復号して得られた第２のチェック用データとを比較し、前記第１のチェック用データと前記第２のチェック用データとが一致しない場合に、前記メモリに格納された前記機密情報データを暗号化し、前記機密情報データを暗号化して得られた暗号化機密情報データを出力するメモリ検査方法を提供する。
【発明の効果】
【００１１】
本発明に係るメモリ検査装置及びメモリ検査方法によれば、期待値としての暗号化チェック用データが外部から入力されるため、メモリに格納されている機密情報データに誤りがある場合のみ、メモリが不良と判定することができる。また、暗号化チェック用データが外部から入力されるため、メモリにはチェック用データを格納しておく必要はない。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。
【００１３】
図１は、一実施形態のメモリ検査装置を示すブロック図である。図１は、検査対象である不揮発メモリ（ＲＯＭ）１０がメモリ検査装置にセットされた状態を示す。図１に示すように、メモリ検査装置は、セレクタ２１〜２７と、入出力制御回路（ＩＯＣＮＴ）３１と、暗復号演算回路（ＣＡＬＣ）３２と、チェック演算回路（ＣＲＣ）３３と、比較回路（ＣＯＭＰ）３４と、共通鍵部（ＫＥＹ）３５と、論理回路ブロック（ＬＯＧＩＣ）４０とを備える。メモリ検査装置がＲＯＭ１０をテストする際、メモリ検査装置は外部端子ＣＬＫから供給されるクロックに同期して動作する。ＲＯＭ１０には、個人情報や、マイクロコード、秘密鍵、パスワード等の機密情報データが格納されており、ＲＯＭ１０に格納されている機密情報データは、暗号化されない限り外部より読み出し不可能である。
【００１４】
セレクタ２１〜２７は、入力Ｓが“Ｌ”（ロウレベル）のときは入力端子Ａに入力された信号を出力し、入力Ｓが“Ｈ”（ハイレベル）のときは入力端子Ｂに入力された信号を出力する。テストを実行しない通常時のテスト信号ＴＥＳＴは“Ｌ”であるため、セレクタ２３，２４，２６，２７は、入力端子Ａに入力された信号を出力する。なお、セレクタ２３，２４，２６，２７の入力端子Ａに入力される信号は、図１には示されていない別のブロックから供給される。一方、テストを実行するテスト時のテスト信号ＴＥＳＴは“Ｈ”であるため、セレクタ２３，２４，２６，２７は入力端子Ｂに入力された信号を出力する。なお、セレクタ２３，２４の入力端子Ｂに入力される信号はセレクタ２１，２２の出力信号である。
【００１５】
セレクタ２１の入力端子ＢにはＲＯＭ１０のアドレス入力端子ＡＤＤからの信号が入力され、セレクタ２２の入力端子Ｂにはリードイネーブル入力端子ＲＥＮからの信号が入力される。セレクタ２６の入力端子Ｂにはセレクタ２５の出力信号が入力され、セレクタ２６の出力信号は暗復号演算回路（ＣＡＬＣ）３２のデータ入力ＤＩＮに供給される。セレクタ２７の入力端子ＢにはＲＯＭ１０のＤＯから信号が入力され、セレクタ２７の出力信号はチェック演算回路（ＣＲＣ）３３のデータ入力ＤＩＮに供給される。
【００１６】
セレクタ２１，２２の入力Ｓには、入出力制御回路（ＩＯＣＮＴ）３１のレディ出力信号ＲＤＹ＿ＡＤＤが供給される。レディ出力信号ＲＤＹ＿ＡＤＤが“Ｌ”のとき、セレクタ２１，２２は入力端子Ａに入力された信号を出力する。セレクタ２１の入力端子Ａには入出力制御回路（ＩＯＣＮＴ）３１の出力信号ＡＯＵＴが入力され、セレクタ２２の入力端子Ｂには入出力制御回路（ＩＯＣＮＴ）３１の出力信号ＲＥＮが入力される。したがって、この場合、セレクタ２３の入力端子Ｂには信号ＡＯＵＴが入力され、セレクタ２４の入力端子Ｂには信号ＲＥＮが入力される。一方、入出力制御回路（ＩＯＣＮＴ）３１のレディ出力信号ＲＤＹ＿ＡＤＤが“Ｈ”のとき、セレクタ２１，２２は入力端子Ｂに入力された信号を出力する。したがって、この場合、セレクタ２３の入力端子Ｂには信号ＲＯＭ１０のアドレス入力端子ＡＤＤからの信号が入力され、セレクタ２４の入力端子Ｂにはリードイネーブル入力端子ＲＥＮからの信号が入力される。
【００１７】
セレクタ２５の入力Ｓには、比較回路（ＣＯＭＰ）３４の出力信号ＲＥＳＵＬＴが供給される。信号ＲＥＳＵＬＴが“Ｌ”のとき、セレクタ２５は入力端子Ａに入力された信号を出力する。セレクタ２５の入力端子Ａには外部端子ＣＲＣからの信号（暗号化機密ＣＲＣデータ）が入力されるため、信号ＲＥＳＵＬＴが“Ｌ”のとき、セレクタ２６の入力端子Ｂには、セレクタ２５から出力された外部端子ＣＲＣからの信号（暗号化機密ＣＲＣデータ）が入力される。一方、比較回路（ＣＯＭＰ）３４の出力信号ＲＥＳＵＬＴが“Ｈ”のとき、セレクタ２５は入力端子Ｂに入力された信号を出力する。セレクタ２５の入力端子ＢにはＲＯＭ１０のＤＯから信号が入力されるため、信号ＲＥＳＵＬＴが“Ｈ”のとき、セレクタ２６の入力端子Ｂには、セレクタ２５から出力されたＲＯＭ１０のＤＯからの信号が入力される。
【００１８】
入出力制御回路（ＩＯＣＮＴ）３１は、テスト時に外部端子から入力されるアドレス信号、暗号化機密ＣＲＣデータ信号、及び外部端子から出力する暗号化機密情報データに対する入出力制御に応じて、暗復号演算回路（ＣＡＬＣ）３２、チェック演算回路（ＣＲＣ）３３、及び比較回路（ＣＯＭＰ）３４を制御する。入出力制御回路（ＩＯＣＮＴ）３１は、外部端子ＡＤＤのレディ出力信号ＲＤＹ＿ＡＤＤ、外部端子ＣＲＣのレディ出力信号ＲＤＹ＿ＣＲＣ、アクノリッジ入力信号ＡＣＫ＿ＡＤＤ、アクノリッジ入力信号ＡＣＫ＿ＣＲＣ、暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃ、チェック演算回路（ＣＲＣ）３３へのイネーブル出力信号ｅｎ＿ｃｒｃ、暗復号演算回路（ＣＡＬＣ）３２からの演算処理終了入力信号ｄｏｎｅ＿ｃａｌｃ、チェック演算回路（ＣＲＣ）３３からの演算処理終了入力信号ｄｏｎｅ＿ｃｒｃ、比較回路（ＣＯＭＰ）３４へのイネーブル出力信号ｅｎ＿ｃｏｍｐ、比較回路（ＣＯＭＰ）３４からの比較結果入力信号ＲＥＳＵＬＴ、外部端子ＡＤＤからの入力信号ＡＩＮ、ＲＯＭ１０へのアドレス出力信号ＡＯＵＴ、リードイネーブル信号ＲＥＮ、及び外部端子ＲＯＭＤＯのバリッド出力信号ＶＡＬＩＤを処理する。
【００１９】
レディ出力信号ＲＤＹ＿ＡＤＤ，ＲＤＹ＿ＣＲＣは、外部端子ＡＤＤ，ＣＲＣからのデータ入力を許可するときは“Ｈ”であり、データ入力を許可しないときは“Ｌ”である。レディ出力信号ＲＤＹ＿ＡＤＤ，ＲＤＹ＿ＣＲＣは、テスト開始直後、又は比較回路（ＣＯＭＰ）３４によるＲＯＭ１０の良判定後（比較回路（ＣＯＭＰ）３４へのイネーブル出力信号ｅｎ＿ｃｏｍｐが“Ｈ”→“Ｌ”への遷移時、比較回路（ＣＯＭＰ）３４から出力される比較結果入力信号ＲＥＳＵＬＴが“Ｌ”となる。）、又は比較回路（ＣＯＭＰ）３４によるＲＯＭ１０の不良判定後（比較回路（ＣＯＭＰ）３４へのイネーブル出力信号ｅｎ＿ｃｏｍｐが“Ｈ”→“Ｌ”への遷移時、比較回路（ＣＯＭＰ）３４から出力される比較結果入力信号ＲＥＳＵＬＴが“Ｈ”となる。）のときは、外部端子ＲＯＭＤＯからの全有効データが出力後に“Ｈ”となり、レディ出力信号ＲＤＹ＿ＡＤＤ，ＲＤＹ＿ＣＲＣが“Ｈ”のとき外部端子ＡＤＤ，ＣＲＣから全データが入力された後（アクノリッジ入力信号ＡＣＫ＿ＡＤＤ，ＡＣＫ＿ＣＲＣが“Ｌ”→“Ｈ”に遷移時）、“Ｌ”になる。
【００２０】
チェック演算回路（ＣＲＣ）３３へのイネーブル出力信号ｅｎ＿ｃｒｃは、レディ出力信号ＲＤＹ＿ＡＤＤが“Ｈ”であり、アクノリッジ入力信号ＡＣＫ＿ＡＤＤが“Ｌ”→“Ｈ”に遷移したとき、すなわち、外部端子ＡＤＤからの信号入力が開始されたとき、アサート（“Ｈ”）する。一方、イネーブル出力信号ｅｎ＿ｃｒｃは、アクノリッジ入力信号ＡＣＫ＿ＡＤＤが“Ｈ”→“Ｌ”へ遷移したとき、すなわち、外部端子ＡＤＤからの信号入力が完了したとき、ネゲート（“Ｌ”）する。
【００２１】
暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃは、レディ出力信号ＲＤＹ＿ＣＲＣが“Ｈ”であり、アクノリッジ入力信号ＡＣＫ＿ＣＲＣが“Ｈ”→“Ｌ”に遷移したとき、すなわち、外部端子ＣＲＣからの信号入力が終了したとき、アサート（“Ｈ”）する。イネーブル出力信号ｅｎ＿ｃａｌｃは、暗復号演算回路（ＣＡＬＣ）３２からの演算処理終了信号ｄｏｎｅ＿ｃａｌｃが“Ｈ”のとき、すなわち、外部端子ＣＲＣから入力された暗号化機密ＣＲＣデータの復号が完了したとき、ネゲート（“Ｌ”）する。また、暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃは、比較回路（ＣＯＭＰ）３４からの比較結果入力信号ＲＥＳＵＬＴが“Ｈ”に遷移した後、アサート（“Ｈ”）し、ＲＯＭ１０の該当領域分の暗号化が終了後、ネゲート（“Ｌ”）する。
【００２２】
比較回路（ＣＯＭＰ）３４へのイネーブル信号ｅｎ＿ｃｏｍｐは、入出力制御回路（ＩＯＣＮＴ）３１が、比較回路（ＣＯＭＰ）３４からの比較結果入力信号ＲＥＳＵＬＴが“Ｌ”であり、暗復号演算回路（ＣＡＬＣ）３２からの演算処理完了入力信号ｄｏｎｅ＿ｃａｌｃが“Ｈ”（すなわち、外部端子ＣＲＣからの入力データの演算処理が完了した。）であり、チェック演算回路（ＣＲＣ）３３からの演算処理終了入力信号ｄｏｎｅ＿ｃｒｃが“Ｈ”（すなわち、ＲＯＭ１０の該当領域の機密情報データのチェック演算が完了した。）であると検知したとき、アサート（“Ｈ”）し、１サイクル後、ネゲート（“Ｌ”）する。
【００２３】
入出力制御回路（ＩＯＣＮＴ）３１は、チェック演算回路（ＣＲＣ）３３へのイネーブル出力信号ｅｎ＿ｃｒｃが“Ｈ”の間、外部端子ＡＤＤからの入力信号ＡＩＮをモニターし、ＲＯＭ１０のテスト領域情報（テスト開始アドレスとテスト終了アドレス）を格納する。ＲＯＭ１０へのアドレス出力信号ＡＯＵＴ、リードイネーブル信号ＲＥＮは、比較回路（ＣＯＭＰ）３４からの比較結果入力信号ＲＥＳＵＬＴが“Ｈ”であり、暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃが“Ｈ”の場合、それぞれＲＯＭ１０のＡＤＤ、ＲＥＮに供給される。
【００２４】
バリッド出力信号ＶＡＬＩＤは、外部端子ＲＯＭＤＯへ出力するデータが有効データの場合は“Ｈ”であり、無効データの場合は“Ｌ”である。また、バリッド出力信号ＶＡＬＩＤは、比較回路（ＣＯＭＰ）３４からの比較結果入力信号ＲＥＳＵＬＴが“Ｈ”であり、暗復号演算回路（ＣＡＬＣ）３２からの演算終了入力信号ｄｏｎｅ＿ｃａｌｃが“Ｌ”→“Ｈ”へ遷移したとき、暗復号演算回路（ＣＡＬＣ）３２の出力信号ＤＯＵＴを外部端子ＲＯＭＤＯに出力する間は“Ｈ”となり、当該出力が完了すると“Ｌ”になる。
【００２５】
暗復号演算回路（ＣＡＬＣ）３２は、ＲＯＭ１０に格納された機密情報データの暗号化、及び外部端子ＣＲＣから入力された暗号化機密ＣＲＣデータの復号を行う。暗復号演算回路（ＣＡＬＣ）３２は、データ入力信号ＤＩＮ、共通鍵入力信号ｋｅｙ、イネーブル入力信号ｅｎ、モード入力信号ｍｏｄｅ、演算処理終了出力信号ｄｏｎｅ、及びデータ出力信号ＤＯＵＴを処理する。データ入力信号ＤＩＮは、セレクタ２６の出力信号である。鍵入力信号ｋｅｙは、共通鍵部（ＫＥＹ）３５から出力された共通鍵に関するデータである。暗復号演算回路（ＣＡＬＣ）３２は、イネーブル入力信号ｅｎが“Ｈ”のときに暗号化及び復号の演算処理を行い、“Ｌ”のときは当該演算処理を行わない。暗復号演算回路（ＣＡＬＣ）３２は、モード入力信号ｍｏｄｅが“Ｈ”のときに暗号化処理を選択し、“Ｌ”のときに復号処理を選択する。データ入力信号ｍｏｄｅは、比較回路（ＣＯＭＰ）３４の比較結果出力信号ＲＥＳＵＬＴである。演算終了出力信号ｄｏｎｅは、暗復号演算回路（ＣＡＬＣ）３２による演算処理が終了すると“Ｈ”になり、１サイクル後“Ｌ”になる。データ出力信号ＤＯＵＴは、演算結果を示す信号である。
【００２６】
チェック演算回路（ＣＲＣ）３３は、ＲＯＭ１０から読み出した機密情報データに対する機密ＣＲＣデータを算出する。チェック演算回路（ＣＲＣ）３３は、データ入力信号ＤＩＮ、イネーブル入力信号ｅｎ、演算終了出力信号ｄｏｎｅ、及びデータ出力信号ＤＯＵＴを処理する。データ入力信号ＤＩＮは、セレクタ２５の出力信号である。チェック演算回路（ＣＲＣ）３３は、イネーブル信号ｅｎが“Ｈ”のときにチェック演算処理を行い、“Ｌ”のときはチェック演算処理を行わない。演算出力信号ｄｏｎｅは、チェック演算処理が終了すると“Ｈ”になり、１サイクル後、“Ｌ”になる。データ出力信号ＤＯＵＴは、チェック演算処理の結果得られた機密ＣＲＣデータを示す。
【００２７】
比較回路（ＣＯＭＰ）３４は、チェック演算回路（ＣＲＣ）３３によるチェック演算処理で得られた機密ＣＲＣデータ（データ出力信号ＤＯＵＴ）と、暗復号演算回路（ＣＡＬＣ）３２による復号処理で得られた機密ＣＲＣデータとを比較する。比較回路（ＣＯＭＰ）３４は、データ入力信号ＤＩＮ１，ＤＩＮ２、イネーブル入力信号ｅｎ、及び比較結果出力信号ＲＥＳＵＬＴを処理する。データ入力信号ＤＩＮ１は、暗復号演算回路（ＣＡＬＣ）３２から出力されたデータ出力信号ＤＯＵＴであり。データ入力信号ＤＩＮ２は、チェック演算回路（ＣＲＣ）３３から出力されたデータ出力信号ＤＯＵＴである。比較回路（ＣＯＭＰ）３４は、イネーブル入力信号ｅｎが“Ｈ”のとき、データ入力信号ＤＩＮ１，ＤＩＮ２のデータを比較し、“Ｌ”のときは当該比較を行なわない。比較結果出力信号ＲＥＳＵＬＴは、データ入力信号ＤＩＮ１，ＤＩＮ２のデータが一致するとき“Ｌ”であり、一致しないときは“Ｈ”である。
【００２８】
共通鍵部（ＫＥＹ）３５は、暗復号演算回路（ＣＡＬＣ）３２での暗復号演算に用いられる共通鍵に関するデータを記憶する。論理回路ブロック（ＬＯＧＩＣ）４０は、通常モードで用いられる回路である。
【００２９】
図２は、図１に示すメモリ検査装置のテスト時の動作を示すタイミングチャートである。ＲＯＭ１０のテストを行うモードにするため、“Ｈ”のテスト信号ＴＥＳＴを外部端子ＴＥＳＴから入力する。次に、外部端子ＣＲＣのアクノリッジ入力信号ＡＣＫ＿ＣＲＣをクロック信号ＣＬＫの立下り時に“Ｈ”にし、同時に、ＲＯＭ１０のテストを行う領域分の暗号化機密ＣＲＣデータをクロックの立下りに同期させ、外部端子ＣＲＣより入力する。すると、暗復号演算回路（ＣＡＬＣ）３２のデータ入力ＤＩＮに、クロック信号ＣＬＫの立上り毎に、データが供給される。最後の暗号化機密ＣＲＣデータが入力された際、外部端子ＣＲＣのアクノリッジ入力ＡＣＫ＿ＣＲＣをクロック信号ＣＬＫの次の立下りで“Ｌ”にする。すると、入力制御回路３１のレディ出力信号ＲＤＹ＿ＡＤＤが“Ｌ”、暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃが“Ｈ”になり、暗復号演算回路（ＣＡＬＣ）３２による暗号化機密ＣＲＣデータの復号処理が開始される。
【００３０】
暗号化機密ＣＲＣデータの入力終了後、リードイネーブル入力端子ＲＥＮからの信号とＲＯＭ１０のアドレス入力端子ＡＤＤのアクノリッジ入力信号ＡＣＫ＿ＡＤＤをクロック信号ＣＬＫの立下り時に“Ｈ”にし、同時にＲＯＭ１０のテストを実施する領域のアドレス入力信号をクロックの立下りに同期させ、ＲＯＭ１０のアドレス入力端子ＡＤＤより入力する。すると、チェック演算回路（ＣＲＣ）３３のデータ入力ＤＩＮへ、クロック信号ＣＬＫの立上り毎に、ＲＯＭ１０のＤＯより機密情報データが読み出される。また、入出力制御回路（ＩＯＣＮＴ）３１のイネーブル出力信号ｅｎ＿ｃｒｃが“Ｈ”になり、チェック演算回路（ＣＲＣ）３３によりＲＯＭ１０のＤＯより読み出された機密情報データに対応する機密ＣＲＣデータの生成（チェック演算処理）が開始される。
【００３１】
最後のアドレスが入力されたとき、ＲＯＭ１０のアドレス入力端子ＡＤＤのアクノリッジ入力信号ＡＣＫ＿ＡＤＤをクロック信号ＣＬＫの立下りで“Ｌ”にする。外部端子ＡＤＤ，ＣＲＣからのデータ入力が完了後、入出力制御回路（ＩＯＣＮＴ）３１が、入出力制御回路（ＩＯＣＮＴ）３１に入力される演算処理終了入力信号ｄｏｎｅ＿ｃａｌｃ及び演算処理終了入力信号ｄｏｎｅ＿ｃｒｃが“Ｈ”へ遷移したことを検知した後、比較回路（ＣＯＭＰ）３４へのイネーブル出力信号ｅｎ＿ｃｏｍｐを“Ｈ”にする。比較回路（ＣＯＭＰ）３４は、暗復号演算回路（ＣＡＬＣ）３２が暗号化機密ＣＲＣデータを復号して得られた機密ＣＲＣデータと、チェック演算回路（ＣＲＣ）３３がＲＯＭ１０から読み出した機密情報データをチェック演算処理して得られた機密ＣＲＣデータとを比較し、これらのデータが一致する場合は、ＲＯＭ１０を良と判定し、“Ｌ”の出力信号ＲＥＳＵＬＴを出力し、これらのデータが一致しない場合は、ＲＯＭ１０を不良と判定し、“Ｈ”の出力信号ＲＥＳＵＬＴを出力する。
【００３２】
これらのデータが一致する場合、入出力制御回路（ＩＯＣＮＴ）３１は、“Ｌ”の出力信号ＲＥＳＵＬＴに応じてレディ出力信号ＲＤＹ＿ＡＤＤ，ＲＤＹ＿ＣＲＣを“Ｈ”にし、次のテストのための準備が完了したことを示す。一方、不一致の場合、入出力制御回路（ＩＯＣＮＴ）３１は、“Ｈ”の出力信号ＲＥＳＵＬＴに応じて暗復号演算回路（ＣＡＬＣ）３２へのイネーブル出力信号ｅｎ＿ｃａｌｃを“Ｈ”にし、暗復号演算回路（ＣＡＬＣ）３２が、ＲＯＭ１０の該当アドレス領域（入力制御回路３１に格納されているＲＯＭ１０のテスト開始アドレスから終了アドレスまで）の機密情報データの暗号化を開始する。暗復号演算回路（ＣＡＬＣ）３２からの演算処理終了入力信号ｄｏｎｅ＿ｃａｌｃが“Ｈ”になるたび、入出力制御回路（ＩＯＣＮＴ）３１は外部端子ＲＯＭＤＯのバリッド出力信号ＶＡＬＩＤを“Ｈ”にし、有効データ分、外部端子ＲＯＭＤＯより暗号化機密情報データを出力する。出力完了後、入出力制御回路（ＩＯＣＮＴ）３１は外部端子ＲＯＭＤＯのバリッド出力信号ＶＡＬＩＤを“Ｌ”にする。テスト実行者は、外部端子ＲＯＭＤＯより、該当アドレス分の暗号化機密情報データが出力されたかを確認する。全データ出力後、レディ出力信号ＲＤＹ＿ＡＤＤ，ＲＤＹ＿ＣＲＣが“Ｈ”になり、次のテスト準備が完了した事を示す。以降、他のＲＯＭのアドレス領域のテストを実行するか、終了する。
【００３３】
機密情報データを格納するＲＯＭ１０として、ＲＯＭの代わりにFuse等の他の不揮発デバイスであっても良い。また、暗復号演算回路（ＣＡＬＣ）３２が行う暗号化は、ＤＥＳやＡＥＳ、Ｍｕｌｔｉ２、Ｔｒｉｐｌｅ ＤＥＳ等の共通鍵暗号方式であれば方式は問わない。
【産業上の利用可能性】
【００３４】
本発明に係るメモリ検査装置は、暗号化されない限り外部より読み出し不可能な機密情報データを記憶するメモリの検査装置等として有用である。
【図面の簡単な説明】
【００３５】
【図１】一実施形態のメモリ検査装置を示すブロック図
【図２】図１に示すメモリ検査装置のテスト時の動作を示すタイミングチャート
【符号の説明】
【００３６】
１０  ＲＯＭ
２１〜２７  セレクタ
３１  入出力制御回路（ＩＯＣＮＴ）
３２  暗復号演算回路（ＣＡＬＣ）
３３  チェック演算回路（ＣＲＣ）
３４  比較回路（ＣＯＭＰ）
３５  共通鍵部（ＫＥＹ）
４０  論理回路ブロック（ＬＯＧＩＣ）
【図１】
2008226314.tif 000003
【図２】
2008226314.tif 000004