(57)【要約】【課題】不正アクセスが発生した場合であっても、セキュリティデータが格納された重要データ領域の位置をも特定されることがないようにして、セキュリティデータを保護することを可能にしたメモリデータ保護装置を提供する。【解決手段】メモリ空間１５０に不正アクセス用領域１５５を設け、その不正アクセス用領域１５５に物理アドレスを割り付ける。アクセス権限判定部１３０及びアクセス可否判定回路１４１において、ＣＰＵ１１０が実行しようとする実行プログラムのセキュリティデータへのアクセスが正常アクセスであるか不正アクセスであるかを判定する。そのアクセスが不正アクセスであると判定された場合には、アクセスしようとするセキュリティデータの論理アドレスを前記不正アクセス用領域１５５に割り付けられた物理アドレスにマッピングを変更する。その後、マッピング変更後の前記不正アクセス用領域１５５においてデータ処理を行う。【選択図】図３
2007323149.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティデータが格納されたメモリと、
前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、
前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、
前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、
前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、
前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、このアクセスしようとしているセキュリティデータの論理アドレスをそのセキュリティデータが格納されている領域とは異なるメモリ空間上の領域にマッピングを変更するマッピング変更部とを備えた
ことを特徴とするメモリデータ保護装置。
【請求項２】
前記請求項１記載のメモリデータ保護装置において、
前記メモリ内のセキュリティデータは、
前記セキュリティデータへのアクセス権限がないプログラムからのアクセスが制限されたアクセス制限領域に格納される
ことを特徴とするメモリデータ保護装置。
【請求項３】
前記請求項２記載のメモリデータ保護装置において、
前記マッピング変更部は、
前記メモリのアクセス制限領域に格納されたセキュリティデータの論理アドレスを、前記アクセス制限領域以外の非アクセス制限領域に格納されたデータの物理アドレスにマッピングを変更する
ことを特徴とするメモリデータ保護装置。
【請求項４】
前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、
メモリ空間上に不正アクセス用領域を設けて、その不正アクセス用領域に物理アドレスを割り付け、
前記マッピング変更部は、
前記メモリに格納されたセキュリティデータの論理アドレスを、前記不正アクセス用領域の物理アドレスにマッピングを変更する
ことを特徴とするメモリデータ保護装置。
【請求項５】
前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、
メモリ空間上に不正アクセス用レジスタを設けて、その不正アクセス用レジスタに物理アドレスを割り付け、
前記マッピング変更部は、
前記メモリに格納されたセキュリティデータの論理アドレスを、前記不正アクセス用レジスタの物理アドレスにマッピングを変更する
ことを特徴とするメモリデータ保護装置。
【請求項６】
前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、
信号の出力を所定の時間ウェイトさせるウェイト回路と、
所定のビット数の乱数を発生させる乱数発生回路とをさらに備え、
前記マッピング変更部は、
前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＲｅａｄ処理アクセスであった場合には、前記乱数発生回路において発生した乱数を前記ＣＰＵに出力し、
前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、前記ＣＰＵから出力されるメモリ制御信号のタイミングに合わせて、前記ウェイト回路によってウェイトさせたアックナリッジ信号を前記ＣＰＵに出力する
ことを特徴とするメモリデータ保護装置。
【請求項７】
前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、
信号の出力を所定の時間ウェイトさせるウェイト回路を備えると共に、
前記ＲＯＭの内部に、ダミーデータが格納されたダミーデータ領域をさらに備え、
前記マッピング変更部は、
前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＲｅａｄ処理アクセスであった場合には、前記メモリに格納されたセキュリティデータの論理アドレスを前記ダミーデータ領域の物理アドレスにマッピングを変更して、前記ダミーデータ領域内のダミーデータを前記ＣＰＵに出力し、
前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、前記ＣＰＵから出力されるメモリ制御信号のタイミングに合わせて、前記ウェイト回路によってウェイトさせたアックナリッジ信号を前記ＣＰＵに出力する
ことを特徴とするメモリデータ保護装置。
【請求項８】
セキュリティデータが格納されたメモリと、
前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、
前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、
前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、
前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、
前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、このアクセスしようとしているセキュリティデータを所定のデータに書き換える又は消去するデータ変更部とを備えた
ことを特徴とするメモリデータ保護装置。
【請求項９】
セキュリティデータが格納されたメモリと、
前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、
前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、
前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、
前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、
前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、その不正アクセスを記憶する不正アクセス記憶部と、
前記不正アクセス記憶部に記憶した不正アクセスを外部に通知する不正アクセス通知部とを備えた
ことを特徴とするメモリデータ保護装置。
【請求項１０】
前記請求項９記載のメモリデータ保護装置において、
前記不正アクセス記憶部は、前記メモリ内に設けられた不正アクセス回数記憶領域であり、
前記不正アクセス通知部は、前記不正アクセス回数記憶領域に記憶した不正アクセス回数と前記メモリ内に格納された不正アクセス規定回数とを比較して、前記不正アクセス回数が前記不正アクセス規定回数以上の回数となったときに、前記不正アクセス回数記憶領域に記憶した不正アクセスを外部に通知する
ことを特徴とするメモリデータ保護装置。
【請求項１１】
ＩＣカードに搭載されるＩＣカード用ＬＳＩであって、
前記請求項１〜１０の何れか一項に記載のメモリデータ保護装置を備えた
ことを特徴とするＩＣカード用ＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードに使用されるＬＳＩなどのように、セキュリティデータが格納されたメモリに対してアクセス制御を行うことにより、セキュリティ機能を高めたメモリデータ保護装置及びＩＣカード用ＬＳＩに関するものである。
【背景技術】
【０００２】
セキュリティデータが格納されるメモリを搭載したＩＣカード用ＬＳＩは、電子乗車券やクレジットカード等の用途に用いられている。
【０００３】
ＩＣカード用ＬＳＩには、通常、アプリケーションや制御プログラムを格納するＲＯＭと、動作中に生じるデータを一時的に格納するＳＲＡＭと、電源が切れてもデータを保持する不揮発性メモリとが搭載されている。これらのメモリには、個人のプライバシに関わる情報や金銭情報等のデータが格納されており、セキュリティの確保が重要な課題である。
【０００４】
従来、セキュリティ機能を高めた半導体集積回路として、例えば、特許文献１に記載される技術がある。この技術は、メモリ上の任意のアドレス範囲をＲｅａｄ禁止領域やＷｒｉｔｅ禁止領域として予め設定し、各々の領域に対して禁止されているアクセスが発生した場合には、メモリへのアクセス制御信号の生成を禁止して、メモリへのアクセスを不可能にすることにより、セキュリティの確保を実現している。
【特許文献１】特開２００５−２５３４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記特許文献１記載の技術では、アクセス制御信号の生成を禁止してメモリへのアクセスを不可能にするため、不正な読み込みや不正な書き込み等の不正アクセスが発生した場合には、メモリに格納されたデータのＲｅａｄ処理やＷｒｉｔｅ処理が行われないが、その保護されたメモリ領域がセキュリティデータの格納された重要データ領域であると判断されて、重要データ領域の位置が特定される可能性がある。このように重要データ領域の位置が特定されると、メモリへのプロービングにより、メモリに保存されているセキュリティデータが改竄され、ＬＳＩを不正動作させることによる動作解析が可能となり、データを安全な状態に保っているとは言えない。
【０００６】
本発明は、前記の課題に着目してなされたものであり、その目的は、不正アクセスが発生した場合であっても、セキュリティデータが格納された重要データ領域の位置をも特定されることがないようにして、セキュリティデータを保護することを可能にしたメモリデータ保護装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記の目的を達成するために、本発明では、不正アクセスがあった場合には、セキュリティデータが格納された重要データ領域にアクセスするのではなく、全く別の領域にアクセスしたり、又はセキュリティデータそのものを削除したり、不正アクセス後は、その不正アクセスを外部通知するようにする。
【０００８】
具体的に、請求項１記載の発明のメモリデータ保護装置は、セキュリティデータが格納されたメモリと、前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、このアクセスしようとしているセキュリティデータの論理アドレスをそのセキュリティデータが格納されている領域とは異なるメモリ空間上の領域にマッピングを変更するマッピング変更部とを備えたことを特徴とする。
【０００９】
請求項２記載の発明は、前記請求項１記載のメモリデータ保護装置において、前記メモリ内のセキュリティデータは、前記セキュリティデータへのアクセス権限がないプログラムからのアクセスが制限されたアクセス制限領域に格納されることを特徴とする。
【００１０】
請求項３記載の発明は、前記請求項２記載のメモリデータ保護装置において、前記マッピング変更部は、前記メモリのアクセス制限領域に格納されたセキュリティデータの論理アドレスを、前記アクセス制限領域以外の非アクセス制限領域に格納されたデータの物理アドレスにマッピングを変更することを特徴とする。
【００１１】
請求項４記載の発明は、前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、メモリ空間上に不正アクセス用領域を設けて、その不正アクセス用領域に物理アドレスを割り付け、前記マッピング変更部は、前記メモリに格納されたセキュリティデータの論理アドレスを、前記不正アクセス用領域の物理アドレスにマッピングを変更することを特徴とする。
【００１２】
請求項５記載の発明は、前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、メモリ空間上に不正アクセス用レジスタを設けて、その不正アクセス用レジスタに物理アドレスを割り付け、前記マッピング変更部は、前記メモリに格納されたセキュリティデータの論理アドレスを、前記不正アクセス用レジスタの物理アドレスにマッピングを変更することを特徴とする。
【００１３】
請求項６記載の発明は、前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、信号の出力を所定の時間ウェイトさせるウェイト回路と、所定のビット数の乱数を発生させる乱数発生回路とをさらに備え、前記マッピング変更部は、前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＲｅａｄ処理アクセスであった場合には、前記乱数発生回路において発生した乱数を前記ＣＰＵに出力し、前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、前記ＣＰＵから出力されるメモリ制御信号のタイミングに合わせて、前記ウェイト回路によってウェイトさせたアックナリッジ信号を前記ＣＰＵに出力することを特徴とする。
【００１４】
請求項７記載の発明は、前記請求項１〜３の何れか一項に記載のメモリデータ保護装置において、信号の出力を所定の時間ウェイトさせるウェイト回路を備えると共に、前記ＲＯＭの内部に、ダミーデータが格納されたダミーデータ領域をさらに備え、前記マッピング変更部は、前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＲｅａｄ処理アクセスであった場合には、前記メモリに格納されたセキュリティデータの論理アドレスを前記ダミーデータ領域の物理アドレスにマッピングを変更して、前記ダミーデータ領域内のダミーデータを前記ＣＰＵに出力し、前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、前記ＣＰＵから出力されるメモリ制御信号のタイミングに合わせて、前記ウェイト回路によってウェイトさせたアックナリッジ信号を前記ＣＰＵに出力することを特徴とする。
【００１５】
請求項８記載の発明のメモリデータ保護装置は、セキュリティデータが格納されたメモリと、前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、このアクセスしようとしているセキュリティデータを所定のデータに書き換える又は消去するデータ変更部とを備えたことを特徴とする。
【００１６】
請求項９記載の発明のメモリデータ保護装置は、セキュリティデータが格納されたメモリと、前記メモリ内のセキュリティデータへのアクセス権限があるプログラム及びそのアクセス権限がないプログラムが格納されたＲＯＭと、前記ＲＯＭ内のプログラムを実行するＣＰＵとを備えた半導体集積回路において、前記メモリ内のセキュリティデータを漏洩から保護するメモリデータ保護装置であって、前記ＣＰＵが実行しようとする実行プログラムの前記メモリ内のセキュリティデータへのアクセス権限を判定するアクセス権限判定部と、前記アクセス権限判定部の判定結果、及び前記実行プログラムがアクセスしようとするデータの論理アドレスに基づいて、前記実行プログラムが前記メモリ内のセキュリティデータにアクセスできるか否かを判定するアクセス可否判定部と、前記アクセス可否判定部により前記実行プログラムによる前記メモリ内のセキュリティデータへのアクセスが拒否されているとき、その不正アクセスを記憶する不正アクセス記憶部と、前記不正アクセス記憶部に記憶した不正アクセスを外部に通知する不正アクセス通知部とを備えたことを特徴とする。
【００１７】
請求項１０記載の発明は、前記請求項９記載のメモリデータ保護装置において、前記不正アクセス記憶部は、前記メモリ内に設けられた不正アクセス回数記憶領域であり、前記不正アクセス通知部は、前記不正アクセス回数記憶領域に記憶した不正アクセス回数と前記メモリ内に格納された不正アクセス規定回数とを比較して、前記不正アクセス回数が前記不正アクセス規定回数以上の回数となったときに、前記不正アクセス回数記憶領域に記憶した不正アクセスを外部に通知することを特徴とする。
【００１８】
請求項１１記載のＩＣカード用ＬＳＩは、ＩＣカードに搭載されるＩＣカード用ＬＳＩであって、前記請求項１〜１０の何れか一項に記載のメモリデータ保護装置を備えたことを特徴とする。
【００１９】
以上により、請求項１〜７及び１１記載の発明では、ＣＰＵにおいて実行した実行プログラムがメモリ内のセキュリティデータへのアクセス権限がないと共に、その実行プログラムが前記セキュリティデータにアクセスしようとするときには、実行プログラムがアクセスしようとしたセキュリティデータの論理アドレスをそのセキュリティデータとは異なるメモリ空間上の領域にマッピングを変更するので、実行プログラムはセキュリティデータにアクセスするのではなく、マッピングが変更された領域にアクセスすることとなり、セキュリティデータへのアクセスが不可能になる。また、マッピングを変更してＲｅａｄ処理やＷｒｉｔｅ処理を行うので、セキュリティデータが格納された重要データ領域の位置が特定されることを防止することが可能となる。
【００２０】
請求項８及び１１記載の発明では、ＣＰＵにおいて実行した実行プログラムがメモリ内のセキュリティデータへのアクセス権限がないと共に、その実行プログラムが前記セキュリティデータにアクセスしようとするときには、実行プログラムがアクセスしようとしたセキュリティデータをメモリから消去又は書き換えるので、セキュリティデータ自体へのアクセスが不可能になると共に、セキュリティデータ自体が消去されている又は書き換えられているので、セキュリティデータが格納された重要データ領域の位置が特定されることを防止することが可能となる。
【００２１】
請求項９〜１１記載の発明では、ＣＰＵにおいて実行した実行プログラムがメモリ内のセキュリティデータへのアクセス権限がないと共に、その実行プログラムが前記セキュリティデータにアクセスしようとするときにはその不正アクセスを記憶し、記憶した不正アクセスが外部に通知されるので、メモリデータ保護装置と外部とのデータのやり取りを不可能にすることにより、セキュリティデータへのアクセス制御を確実に行うことが可能となる。
【発明の効果】
【００２２】
以上説明したように、請求項１〜１１記載の発明のメモリデータ保護装置及びＩＣカード用ＬＳＩによれば、メモリに格納されるセキュリティデータへのアクセス権限を、ＣＰＵにおいて実行される実行プログラムによって設定して、セキュリティデータへのアクセスを制御するので、メモリへのアクセス制御を確実に実現してセキュリティデータを保護することができ、耐タンパ性の向上を図ることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態のメモリデータ保護装置を図面に基づいて説明する。
【００２４】
（第１の実施形態）
図１は、本発明の第１の実施形態のメモリデータ保護装置におけるメモリデータ保護方法の概略処理フローを示した図である。
【００２５】
同図において、ＣＰＵが実行しようとする実行プログラムからメモリ内のデータへのアクセスが発生すると（ステップＳ１）、前記実行プログラムのメモリ内のセキュリティデータへのアクセス権限を判定する（ステップＳ２）。ここで、本発明のメモリデータ保護装置に備えたＲＯＭには、セキュリティデータへのアクセス権限があるライブラリ等のＡＰＩプログラムと、そのアクセス権限がないアプリケーション等のＯＳプログラムとが格納されており、前記ステップＳ２においては、ＣＰＵがＲＯＭ内から読み出した実行プログラムが前記ＡＰＩプログラム及び前記ＯＳプログラムの何れのプログラムであるかを判断してアクセス権限を判定する。
【００２６】
前記ステップＳ２において判定した前記実行プログラムのアクセス権限及び、前記実行プログラムがアクセスしようとするメモリ内のデータの論理アドレスに基づいて、前記実行プログラムがそのアクセスしようとするデータにアクセス可能か否かを判定する（ステップＳ３）。ここで、アクセスしようとするデータがセキュリティデータ以外のデータの場合は、前記実行プログラムのアクセス権限に依らず、そのデータへのアクセスは許可される。アクセスしようとするデータがセキュリティデータの場合は、前記実行プログラムにアクセス権限があるときにはそのセキュリティデータへのアクセスは許可され、前記実行プログラムにアクセス権限がないときにはその実行プログラムのアクセスは不正アクセスと判断されて、セキュリティデータへのアクセスは拒否される。
【００２７】
前記ステップＳ３において、アクセス許可と判定された場合には、前記実行プログラムがアクセスしようとするデータの論理アドレスを、そのデータの物理アドレスにマッピングしてＲｅａｄ処理やＷｒｉｔｅ処理といったデータ処理を行う（ステップＳ４）。
【００２８】
前記ステップＳ３において、アクセス拒否と判定された場合には、前記実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを、そのセキュリティデータとは異なるメモリ空間上の領域にマッピングを変更する（ステップＳ５）。その後、マッピング変更後のデータに対してＲｅａｄ処理やＷｒｉｔｅ処理といったデータ処理を行う（ステップＳ６）。
【００２９】
上記のステップＳ１〜ステップＳ６の処理フローによって、ＣＰＵが実行しようとする実行プログラムのセキュリティデータへのアクセス権限及び、前記実行プログラムがアクセスしようとするデータがセキュリティデータであるか否かに基づいて、メモリ内のデータへのアクセス制御を行う。
【００３０】
メモリ内のセキュリティデータへの不正アクセスが発生した場合には、このセキュリティデータの物理アドレスへのマッピングを変更して、マッピング変更後のデータに対してデータ処理を行うので、メモリに格納されたセキュリティデータへのアクセス制御を確実に実現することが可能となる。また、マッピングを変更した後に、実際にＲｅａｄ処理やＷｒｉｔｅ処理を行うので、セキュリティデータが格納されたメモリ領域の位置を特定されることを防止して、セキュリティデータをより確実に保護することが可能となる。
【００３１】
図２は、本実施形態のメモリデータ保護装置のメモリ空間を示した模式図である。
【００３２】
同図において、メモリデータ保護装置内にＲＯＭ、ＳＲＡＭ（メモリ）及び不揮発性メモリ（メモリ）が備えられる場合には、メモリ空間１５０にはＲＯＭ、ＳＲＡＭ、不揮発性メモリの各々に対応したＲＯＭ領域１５１、ＳＲＡＭ領域１５２、外部メモリ領域１５３が設けられて物理アドレスが割り当てられる。
【００３３】
メモリである前記ＳＲＡＭ及び前記不揮発性メモリにはセキュリティデータが格納され、前記セキュリティデータは、そのセキュリティデータへのアクセス権限がないプログラム、つまり前記ＲＯＭのＯＳプログラム領域内の実行プログラムからのアクセスが制限されるアクセス制限領域に格納される。前記セキュリティデータへのアクセス権限に拘わらず、前記ＲＯＭの実行プログラムがアクセス可能なデータは前記アクセス制限領域以外の非アクセス制限領域に格納される。前記ＳＲＡＭ及び前記不揮発性メモリと同様に前記ＲＯＭに関しても、そのＲＯＭ内のデータへのアクセス権限によってアクセス制限領域と非アクセス制限領域とに区別されている。
【００３４】
尚、同図に示すように、アクセス制限領域や非アクセス制限領域は、連続した物理アドレスが割り当てられている必要はなく、不連続に物理アドレスが与えられていてもよいのは勿論である。
【００３５】
以下に具体的に説明する本発明のメモリデータ保護装置は、前記ＳＲＡＭ及び前記不揮発性メモリに格納されたセキュリティデータを漏洩から保護するメモリデータ保護装置に関するものである。
【００３６】
図３は、本実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００３７】
同図において、メモリデータ保護装置１００は、ＣＰＵ１１０と、メモリブロック１２０と、アクセス権限判定部１３０と、アクセス制御部１４０とを備えている。前記メモリブロック１２０において、１２１はＲＯＭ、１２２はＳＲＡＭ（メモリ）、１２３は不揮発性メモリ（メモリ）である。Ｒ−ＡＤは前記ＲＯＭ１２１内のデータへの論理アドレス、Ｓ−ＡＤは前記ＳＲＡＭ１２２内のデータへの論理アドレス、Ｘ−ＡＤは前記不揮発性メモリ１２３内のデータへの論理アドレス、ＭＣＳはメモリ制御信号である。ＡＢはプログラムアドレスバス、ＤＢはプログラムデータバスであり、前記プログラムアドレスバスＡＢ及び前記プログラムデータバスＤＢを介して、前記ＣＰＵ１１０は前記ＲＯＭ１２１に格納されたプログラムを実行する。
【００３８】
前記アクセス権限判定部１３０の内部には、実行プログラムアドレスデコード回路１３１とモード設定回路１３２とを備え、前記アクセス制御部１４０の内部には、アクセス可否判定回路（アクセス可否判定部）１４１と、メモリ空間アドレスデコード回路（マッピング変更部）１４２と、メモリ制御回路１４３とを備えている。
【００３９】
１５０は、図２と同様に、本実施形態のメモリデータ保護装置のメモリ空間を模式的に示しており、メモリ空間１５０に不正アクセス用領域１５５が設けられ、その不正アクセス用領域１５５に物理アドレスが割り当てられている。また、前記不正アクセス用領域１５５には予め設定した乱数値が格納されている。
【００４０】
本実施形態のメモリデータ保護装置の動作について、以下に説明する。
【００４１】
ＣＰＵ１１０がＲＯＭ１２１内のプログラムを実行しようとするとき、その実行プログラムの論理アドレスがプログラムアドレスバスＡＢを介してアクセス権限判定部１３０に入力される。
【００４２】
アクセス権限判定部１３０では、実行プログラムアドレスデコード回路１３１において、前記実行プログラムの論理アドレスをその実行プログラムの物理アドレスにデコードする。その後、デコードした実行プログラムの物理アドレスをモード設定回路１３２に入力し、前記実行プログラムがメモリ１２２、１２３内のセキュリティデータへのアクセス権限があるＡＰＩプログラムであるか、そのアクセス権限がないＯＳプログラムであるかを判定してアクセス権限信号ＡＡＳをアクセス制御部１４０に出力する。
【００４３】
アクセス制御部１４０では、メモリ制御信号ＭＣＳ、前記アクセス権限信号ＡＡＳ及び、前記実行プログラムがアクセスしようとするデータの論理アドレスＲ−ＡＤ、Ｓ−ＡＤ、Ｘ−ＡＤをアクセス可否判定回路１４１に入力し、前記実行プログラムがそのアクセスしようとしているデータにアクセス可能か否かを判定してアクセス可否信号ＡＤＳを出力する。
【００４４】
前記実行プログラムが前記メモリ１２２、１２３内のセキュリティデータへのアクセス権限がないＯＳプログラム領域内のプログラムであり、且つその実行プログラムが前記メモリ１２２、１２３のアクセス制限領域にアクセスしようとしている場合には、前記アクセス可否信号ＡＤＳは、前記実行プログラムによるセキュリティデータへのアクセスを拒否するアクセス可否信号ＡＤＳを出力する。その他の場合、例えば、実行プログラムがＯＳプログラム領域内のプログラムであり且つ前記メモリ１２２、１２３内の非アクセス制限領域に格納されたデータにアクセスしようとしている場合には、アクセスを許可するアクセス可否信号ＡＤＳを出力する。前記アクセス可否判定回路１４１から出力されるアクセス可否信号ＡＤＳがアクセス拒否を示す場合、前記実行プログラムのセキュリティデータへのアクセスは不正アクセスと判断される。
【００４５】
前記アクセス可否判定回路１４１から出力されたアクセス可否信号ＡＤＳは、メモリ空間アドレスデコード回路１４２に入力され、前記アクセス可否信号ＡＤＳに基づいて、前記実行プログラムがアクセスしようとしているデータの論理アドレスＲ−ＡＤ、Ｓ−ＡＤ、Ｘ−ＡＤのマッピングを行う。
【００４６】
前記アクセス可否信号ＡＤＳによって、前記アクセスしようとしているデータへのアクセスが許可される場合には、アクセスしようとしているデータの論理アドレスをそのデータの物理アドレスにマッピングして、前記実行プログラムがアクセスしようとしているデータの物理アドレスをアクセスアドレスＭＡとしてメモリ制御回路１４３に出力する。前記アクセスしようとしているデータへのアクセスが拒否される場合には、そのアクセスしようとしているデータ、つまりメモリ１２２、１２３のアクセス制限領域内のセキュリティデータの論理アドレスをメモリ空間１５０に設けられた不正アクセス用領域１５５の物理アドレスにマッピングを変更して、前記不正アクセス用領域１５５の物理アドレスをアクセスアドレスＭＡとしてメモリ制御回路１４３に出力する。
【００４７】
メモリ制御回路１４３は、メモリ制御信号ＭＣＳ及び前記メモリ空間アドレスデコード回路１４２から出力されたアクセスアドレスＭＡに基づいて、メモリ空間１５０へのアクセス制御信号ＡＣＳを出力してデータの処理を行う。
【００４８】
不正アクセスがＲｅａｄ処理アクセスの場合は、ＣＰＵ１１０には不正アクセス用領域１５５に予め設定された乱数値が読み込まれる。不正アクセスがＷｒｉｔｅ処理アクセスの場合は、不正アクセス用領域１５５に値を上書きして格納する。データのＲｅａｄ処理やＷｒｉｔｅ処理が終了した際には、メモリ制御回路１４３はＣＰＵ１１０にアックナリッジ信号ＡＣＮを出力することにより、処理の終了を伝える。
【００４９】
図３においては、ＣＰＵ１１０が実行しようとする実行プログラムがＯＳプログラムであり、そのＯＳプログラムが外部メモリ領域１５３のアクセス制限領域内にアクセスしようとしているが、アクセス可否判定回路１４１において不正アクセスと判断されて、そのアクセスしようとするセキュリティデータへのアクセスが拒否されたので、メモリ空間アドレスデコード回路１４２において、アクセスしようとしたデータの論理アドレスを不正アクセス用領域１５５に割り当てられた物理アドレスにマッピングを変更してアクセスアドレスＭＡを設定し、メモリ制御回路１４３によってそのマッピング変更後の前記不正アクセス用領域１５５にアクセスをしている。
【００５０】
上記のように、メモリ空間１５０に不正アクセス用領域１５５を設け、不正アクセスが発生した際には、実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを前記不正アクセス用領域１５５に割り付けられた物理アドレスにマッピングを変更することによって、前記不正アクセス用領域１５５においてＲｅａｄ処理やＷｒｉｔｅ処理が行われることとなり、セキュリティデータが格納されたアクセス制限領域の位置を特定されることなく、そのセキュリティデータを漏洩から確実に保護することが可能となる。
【００５１】
尚、本実施形態では、物理メモリ空間１５０に不正アクセス用領域１５５を設けて、その不正アクセス用領域１５５の物理アドレスにマッピングを行ったが、メモリ１２２、１２３やＲＯＭ１２１の非アクセス制限領域にマッピングを行うことによっても、前記メモリ１２２、１２３内のセキュリティデータを漏洩から保護することが可能となる。
【００５２】
（第２の実施形態）
図４は、本発明の第２の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００５３】
本実施形態のメモリデータ保護装置２００が図３に示した第１の実施形態のメモリデータ保護装置１００と異なる点は、メモリ空間１５０に１個の不正アクセス用レジスタ２５０を備えている点のみである。その他の構成については、第１の実施形態と同様であるので、その説明は省略する。
【００５４】
メモリ空間１５０に設けた不正アクセス用レジスタ２５０には、予め設定した乱数値が格納されている。アクセス制御部１４０内のアクセス可否判定回路１４１において不正アクセスと判断された場合、メモリ空間アドレスデコード回路１４２は、実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを前記不正アクセス用レジスタ２５０に割り付けた物理アドレスにマッピングを変更して、前記不正アクセス用レジスタ２５０の物理アドレスをアクセスアドレスＭＡとしてメモリ制御回路１４３に出力する。
【００５５】
前記メモリ制御回路１４３は、前記不正アクセス用レジスタ２５０の物理アドレスにアクセスするようにアクセス制御信号ＡＣＳを出力し、前記アクセス制御信号ＡＣＳに基づいて、前記不正アクセス用レジスタ２５０内のデータに対してＲｅａｄ処理やＷｒｉｔｅ処理を実行する。
【００５６】
不正アクセスがＲｅａｄ処理アクセスの場合は、ＣＰＵ１１０には不正アクセス用レジスタ２５０に予め設定された乱数値が読み込まれる。不正アクセスがＷｒｉｔｅ処理アクセスの場合は、不正アクセス用レジスタ２５０に値を上書きして格納する。データのＲｅａｄ処理やＷｒｉｔｅ処理が終了した際には、メモリ制御回路１４３はＣＰＵ１１０にアックナリッジ信号を出力することにより、処理の終了を伝える。
【００５７】
上記のように、メモリ空間１５０に不正アクセス用レジスタ２５０を設け、不正アクセスが発生した際には、この不正アクセス用レジスタ２５０にアクセスするように物理アドレスのマッピングを変更して、Ｒｅａｄ処理やＷｒｉｔｅ処理を行うので、メモリ１２２、１２３内のアクセス制限領域の位置を特定されることなく、セキュリティデータを確実に保護することが可能となる。
【００５８】
また、本実施形態では、不正アクセス用レジスタ２５０を１つ設けたので、不正アクセス用に必要となる物理アドレスは１つであり、狭いメモリ空間のＣＰＵであっても適用できる。但し、不正アクセス用レジスタ２５０は１個に限定されず、複数個備えていてもよい。
【００５９】
（第３の実施形態）
図５は、本発明の第３の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００６０】
本実施形態のメモリデータ保護装置３００が図３に示した第１の実施形態のメモリデータ保護装置１００と異なる点は、メモリ制御回路３５０の内部にウェイト回路３５１と乱数発生回路３５２とを備えている点のみである。その他の構成については、第１の実施形態のメモリデータ保護装置と同様であるので、その説明は省略する。
【００６１】
アクセス制御部１４０内のアクセス可否判定回路１４１において不正アクセスと判断された場合、メモリ空間アドレスデコード回路１４２は、実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを前記メモリ制御回路３５０に伝える。
【００６２】
前記実行プログラムのセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、ＣＰＵ１１０から入力されるメモリ制御信号ＭＣＳ及び前記メモリ空間アドレスデコード回路１４２から入力される実行プログラムがアクセスしようとするセキュリティデータの論理アドレスから該当するメモリでの処理のタイミングに合わせて、前記ウェイト回路３５１によって通常のＷｒｉｔｅ処理アクセスに要する時間だけウェイトさせたアックナリッジ信号ＡＣＮを前記ＣＰＵ１１０に返すことによって、前記ＣＰＵ１１０にはＷｒｉｔｅ処理が行われたと認識させる。一方、前記実行プログラムによるアクセスがＲｅａｄ処理アクセスであった場合には、ＣＰＵ１１０から入力されるメモリ制御信号ＭＣＳ及び前記メモリ空間アドレスデコード回路１４２から入力される実行プログラムがアクセスしようとするセキュリティデータの論理アドレスから該当するメモリでの処理のタイミングに合わせて、前記ウェイト回路３５１によって通常のＲｅａｄ処理アクセスに要する時間だけウェイトさせた乱数発生信号ＲＧＳを乱数発生回路３５２に出力し、前記乱数発生回路３５２において発生させた乱数をＣＰＵ１１０に返すことによってＲｅａｄ処理を行う。
【００６３】
上記のように、ウェイト回路３５１と乱数発生回路３５２とをさらに備え、これらを用いて実際にＲｅａｄ処理やＷｒｉｔｅ処理を行ったように見せかけることによって、メモリ１２２、１２３内のアクセス制限領域の位置を特定されることなく、セキュリティデータを確実に保護することが可能となる。
【００６４】
また、メモリ１２２、１２３内のデータにマッピングを変更せずにデータ処理を行うので、セキュリティデータをより確実に保護することが可能となる。
【００６５】
尚、本実施形態のメモリデータ保護装置では、同一のセキュリティデータに複数回の不正なＲｅａｄ処理アクセスがあった場合には、ＣＰＵ１１０に読み出されるデータが毎回異なるが、新たに乱数記憶部を設けて不正なＲｅａｄ処理アクセスの際にＣＰＵ１１０に返した値を記憶することにより、同一のセキュリティデータへの不正なＲｅａｄアクセスに対して同一の値をＣＰＵ１１０に返すことが可能となる。
【００６６】
本実施形態では、メモリ空間は何ら変更がないので、このメモリ空間に余裕がない場合に採用して有効である。
【００６７】
（第４の実施形態）
図６は、本発明の第４の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００６８】
本実施形態のメモリデータ保護装置４００が図５に示した第３の実施形態のメモリデータ保護装置３００と異なる点は、ＲＯＭ１２１の内部にダミーデータ領域４５５を設けている点のみである。その他の構成については、第３の実施形態と同様であるので、その説明は省略する。
【００６９】
前記ＲＯＭ１２１に設けたダミーデータ領域４５５には、予め設定したダミーデータが格納されている。アクセス制御部１４０内のアクセス可否判定回路１４１において不正アクセスと判断された場合、その不正アクセスがＲｅａｄ処理アクセスであったときには、メモリ空間アドレスデコード回路１４２は実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを前記ダミーデータ領域４５５に割り付けた物理アドレスにマッピングを変更して、前記ダミーデータ領域４５５の物理アドレスをアクセスアドレスＭＡとしてメモリ制御回路４５０に出力する。前記メモリ制御回路４５０内のウェイト回路４５１は、前記アクセスアドレスＭＡを受けた後に、ＣＰＵ１１０から入力されるメモリ制御信号ＭＣＳのタイミングに合わせて、前記ウェイト回路３５１によってＲｅａｄ処理アクセスに応じた時間だけウェイトさせたアクセス制御信号ＡＣＳを出力して、前記ダミーデータ領域４５５の物理アドレスであるアクセスアドレスＭＡにアクセスし、前記ダミーデータ領域４５５内のダミーデータを読み出す。
【００７０】
前記実行プログラムのセキュリティデータへのアクセスがＷｒｉｔｅ処理アクセスであった場合には、上記の第３の実施形態と同様に、メモリ空間アドレスデコード回路１４２は実行プログラムがアクセスしようとするセキュリティデータの論理アドレスを前記メモリ制御回路４５０に出力し、前記ウェイト回路３５１によってＷｒｉｔｅ処理アクセスに応じた時間だけウェイトさせたアックナリッジ信号ＡＣＮを前記ＣＰＵ１１０に返す。
【００７１】
上記のように、前記ＲＯＭ１２１内にダミーデータ領域４５５を備え、不正なＲｅａｄアクセスが発生した際には前記ダミーデータ領域４５５内のダミーデータを読み出すことによって、複数回の不正なＲｅａｄアクセスがあった場合でも、同一のセキュリティデータへの不正なＲｅａｄアクセスに対して同一の値をＣＰＵ１１０に返すことが可能となる。前記ＲＯＭ１２１の空き領域に前記ダミーデータ領域４５５を設けることによって、前記ＲＯＭ１２１を有効に利用できる。
【００７２】
（第５の実施形態）
図７は、本発明の第５の実施形態のメモリデータ保護装置におけるメモリデータ保護方法の他の概略処理フローを示した図である。
【００７３】
同図において、ステップＳ１〜ステップＳ４の処理については図１のフロー図と同様であるので、その説明は省略する。
【００７４】
ステップＳ３において、アクセス拒否と判断された場合には、実行プログラムがアクセスしようとするセキュリティデータを削除したり、不正アクセスを記憶してその記憶した不正アクセスを外部に通知したりすることにより、メモリデータの保護を行う（ステップＳ７）。
【００７５】
上記の処理によって、不正アクセスが発生した場合には、実行プログラムがアクセスしようとしたセキュリティデータをメモリから消去することによってそのセキュリティデータ自体へのアクセスを不可能にしたり、記憶した不正アクセスを外部に通知したりしてメモリデータ保護装置と外部とのデータのやり取りを不可能にするので、セキュリティデータへのアクセス制御を確実に行い、セキュリティデータを保護することができる。
【００７６】
図８は、本実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００７７】
同図において、メモリデータ保護装置５００は、ＣＰＵ１１０と、メモリブロック１２０と、アクセス権限判定部１３０と、アクセス制御部５５０とを備えている。前記メモリブロック１２０において、１２１はＲＯＭ、１２２はＳＲＡＭ（メモリ）、１２３は不揮発性メモリ（メモリ）である。Ｒ−ＡＤは前記ＲＯＭ１２１内のデータへの論理アドレス、Ｓ−ＡＤは前記ＳＲＡＭ１２２内のデータへの論理アドレス、Ｘ−ＡＤは前記不揮発性メモリ１２３内のデータへの論理アドレス、ＭＣＳはメモリ制御信号である。ＡＢはプログラムアドレスバス、ＤＢはプログラムデータバスであり、前記プログラムアドレスバスＡＢ及び前記プログラムデータバスＤＢを介して、前記ＣＰＵ１１０は前記ＲＯＭ１２１に格納されたプログラムを実行する。
【００７８】
前記アクセス権限判定部１３０の内部には、実行プログラムアドレスデコード回路１３１とモード設定回路１３２とを備え、前記アクセス制御部５５０の内部には、アクセス可否判定回路（アクセス可否判定部）１４１と、メモリ制御回路（データ変更部）５５５とを備えている。
【００７９】
本実施形態のメモリデータ保護装置の動作について、以下に説明する。
【００８０】
ＣＰＵ１１０がＲＯＭ１２１内のプログラムを実行しようとするとき、その実行プログラムの論理アドレスがプログラムアドレスバスＡＢを介してアクセス権限判定部１３０に入力される。
【００８１】
アクセス権限判定部１３０では、実行プログラムアドレスデコード回路１３１において、前記実行プログラムの論理アドレスをその実行プログラムの物理アドレスにデコードする。その後、デコードした実行プログラムの物理アドレスをモード設定回路１３２に入力し、前記実行プログラムがメモリ１２２、１２３内のセキュリティデータへのアクセス権限があるＡＰＩプログラムであるか、そのアクセス権限がないＯＳプログラムであるかを判定してアクセス権限信号ＡＡＳをアクセス制御部５５０に出力する。
【００８２】
アクセス制御部５５０では、メモリ制御信号ＭＣＳ、前記アクセス権限信号ＡＡＳ及び、前記実行プログラムがアクセスしようとするデータの論理アドレスＲ−ＡＤ、Ｓ−ＡＤ、Ｘ−ＡＤをアクセス可否判定回路１４１に入力し、前記実行プログラムがそのアクセスしようとしているデータにアクセス可能か否かを判定してアクセス可否信号ＡＤＳをメモリ制御回路５５５に出力する。
【００８３】
前記アクセス可否信号ＡＤＳによって、前記実行プログラムによる前記アクセスしようとしているセキュリティデータへのアクセスが拒否される場合、つまり不正アクセスと判断された場合には、前記メモリ制御回路５５５は、前記実行プログラムがアクセスしようとしているセキュリティデータを消去するためのメモリ消去信号ＭＥＳを出力する。前記メモリ消去信号ＭＥＳが出力されることによって、メモリ内に格納されたセキュリティデータはすべてのビットに「０」値又は「１」値が上書きされて、セキュリティデータが書き換えられる。
【００８４】
上記のように、不正アクセスが発生した場合には、メモリに格納されているセキュリティデータを所定のデータに書き換えることにより、元のセキュリティデータ自体が消去されて、そのセキュリティデータへのアクセスが不可能になるので、不正アクセスが繰り返し行われた場合であっても、メモリデータを確実に保護することが可能となる。
【００８５】
（第６の実施形態）
図９は、本発明の第６の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００８６】
同図において、メモリデータ保護装置６００は、ＣＰＵ１１０と、メモリブロック１２０と、アクセス権限判定部１３０と、アクセス制御部６５０とを備えている。前記メモリブロック１２０において、１２１はＲＯＭ、１２２はＳＲＡＭ（メモリ）、１２３は不揮発性メモリ（メモリ）である。Ｒ−ＡＤは前記ＲＯＭ１２１内のデータへの論理アドレス、Ｓ−ＡＤは前記ＳＲＡＭ１２２内のデータへの論理アドレス、Ｘ−ＡＤは前記不揮発性メモリ１２３内のデータへの論理アドレス、ＭＣＳはメモリ制御信号である。ＡＢはプログラムアドレスバス、ＤＢはプログラムデータバスであり、前記プログラムアドレスバスＡＢ及び前記プログラムデータバスＤＢを介して、前記ＣＰＵ１１０は前記ＲＯＭ１２１に格納されたプログラムを実行する。
【００８７】
前記アクセス権限判定部１３０の内部には、実行プログラムアドレスデコード回路１３１とモード設定回路１３２とを備え、前記アクセス制御部６５０の内部には、アクセス可否判定回路（アクセス可否判定部）１４１と、メモリ制御回路６５１と、比較器（不正アクセス通知部６５２とを備えている。また、前記不揮発性メモリ１２３のアクセス制限領域内には不正アクセス発生フラグ領域（不正アクセス記憶部）６５５が設けられている。
【００８８】
本実施形態のメモリデータ保護装置の動作について、以下に説明する。
【００８９】
ＣＰＵ１１０がＲＯＭ１２１内のプログラムを実行しようとするとき、その実行プログラムの論理アドレスがプログラムアドレスバスＡＢを介してアクセス権限判定部１３０に入力される。
【００９０】
アクセス権限判定部１３０では、実行プログラムアドレスデコード回路１３１において、前記実行プログラムの論理アドレスをその実行プログラムの物理アドレスにデコードする。その後、デコードした実行プログラムの物理アドレスをモード設定回路１３２に入力し、前記実行プログラムがメモリ１２２、１２３内のセキュリティデータへのアクセス権限があるＡＰＩプログラムであるか、そのアクセス権限がないＯＳプログラムであるかを判定してアクセス権限信号ＡＡＳをアクセス制御部６５０に出力する。
【００９１】
アクセス制御部６５０では、メモリ制御信号ＭＣＳ、前記アクセス権限信号ＡＡＳ及び、前記実行プログラムがアクセスしようとするデータの論理アドレスＲ−ＡＤ、Ｓ−ＡＤ、Ｘ−ＡＤをアクセス可否判定回路１４１に入力し、前記実行プログラムがそのアクセスしようとしているデータにアクセスできるか否かを判定してアクセス可否信号ＡＤＳをメモリ制御回路６５１に出力する。
【００９２】
前記アクセス可否信号ＡＤＳによって、前記実行プログラムによる前記アクセスしようとしているセキュリティデータへのアクセスが拒否される場合、つまり不正アクセスと判断された場合には、前記メモリ制御回路６５１は不正アクセス信号ＩＡＳを不正アクセス発生フラグ領域６５５に出力して、前記不正アクセス発生フラグ領域６５５において不正アクセスを記憶する。ここで、例えば、通常、前記不正アクセス発生フラグ領域６５５にＬｏｗの値が書き込まれている場合には、前記不正アクセス信号ＩＡＳによって不正アクセス発生フラグ領域６５５にＨｉｇｈの値を書き込む。
【００９３】
ここで、前記不正アクセス発生フラグ領域６５５は、不正アクセスによって読み出しされないように、不揮発性メモリ１２３のアクセス制限領域内に設けられているが、前記不正アクセス発生フラグ領域６５５には物理アドレスが設定されているので、不正アクセスがあった場合にはこの特定の物理アドレスにアクセス可能となるように前記メモリ制御回路６５１において前記不正アクセス信号ＩＡＳを出力して、前記不正アクセス発生フラグ領域６５５に不正アクセスを記憶する。
【００９４】
外部との通信を行う際に、前記不正アクセス発生フラグ領域６５５に書き込まれたＬｏｗの値又はＨｉｇｈの値と、予め入力されるＨｉｇｈの値とを比較器６５２に入力し、その２つの入力が一致した場合には、不正アクセスを外部に通知する。例えば、外部の読み取り装置に不正アクセスを通知することによって、その後の通信を行えない状態にする。
【００９５】
上記のように、不正アクセスが発生した場合には、その不正アクセスを外部に通知することにより、メモリデータ保護装置と外部とのデータのやり取りを不可能にしてメモリデータを読み出すことが禁止されるので、セキュリティデータへのアクセス制御を確実に実現してセキュリティデータを保護することが可能となる。
【００９６】
（第７の実施形態）
図１０は、本発明の第７の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【００９７】
本実施形態のメモリデータ保護装置７００が図９に示した第６の実施形態のメモリデータ保護装置６００と異なる点は、アクセス制御部７５０の内部にカウンター回路７５１を備えると共に、不揮発性メモリ１２３のアクセス制限領域の内部に、不正アクセス回数記憶領域７５５と、不正アクセス規定回数記憶領域７５６とを備えている点のみである。その他の構成については、第６の実施形態と同様であるので、その説明は省略する。
【００９８】
アクセス制御部７５０内のアクセス可否判定回路１４１から出力されたアクセス可否信号ＡＤＳはカウンター回路７５１に入力され、前記カウンター回路７５１において不正アクセス回数をカウントし、その不正アクセス回数ＮＯＩがメモリ制御回路７５２に出力される。前記メモリ制御回路７５２は前記不正アクセス回数ＮＯＩをメモリ内の不正アクセス回数記憶領域７５５に出力して、前記不正アクセス回数記憶領域７５５において不正アクセス回数ＮＯＩを記憶する。この不正アクセス回数ＮＯＩは、不正アクセスによってセキュリティデータやその格納領域が不正に判別特定できない程度の少ない回数である。
【００９９】
ここで、前記不正アクセス回数記憶領域７５５はアクセス制限領域内に設けられているが、上記の第６の実施形態と同様に、不正アクセスがあった場合には前記不正アクセス回数記憶部７５５の物理アドレスにアクセス可能となるように前記メモリ制御回路７５２を制御して、不正アクセス回数ＮＯＩを記憶する。
【０１００】
外部との通信を行う際に、前記不正アクセス回数ＮＯＩと、不正アクセス規定回数記憶領域７５６に予め設定された不正アクセス規定回数ＮＯＢとを比較器７５３に入力し、前記不正アクセス回数ＮＯＩが前記不正アクセス規定回数ＮＯＢ以上の回数（ＮＯＩ≧ＮＯＢ）となった場合には、不正アクセスをリセット回路（図示せず）に通知することによって、メモリデータ保護装置７００をリセットして以後の動作を停止させる。
【０１０１】
上記のように、不正アクセス規定回数ＮＯＢ以上の不正アクセスが発生した場合には、メモリデータ保護装置７００の動作をリセットして以後の動作を不可能にすることによって、メモリデータ保護装置と外部とのデータのやり取りを不可能にしてメモリデータを読み出すことが禁止されるので、セキュリティデータへのアクセス制御を確実に実現してセキュリティデータを保護することが可能となる。
【０１０２】
また、不正アクセス規定回数ＮＯＢを設定してその不正アクセス規定回数ＮＯＢ未満の不正アクセス回数であればメモリデータ保護装置７００をリセットしないことにより、セキュリティデータが格納されたアクセス制限領域の位置を特定されることをより一層防止し、セキュリティデータを漏洩から保護することが可能となる。
【０１０３】
尚、本発明の第１〜第７の実施形態に示したメモリデータ保護装置は、各々、単独で回路を構成してもよいが、組み合わせることによって、より一層セキュリティが向上する。例えば、本発明の第１〜第４の実施形態の何れか一つのメモリデータ保護装置と、第７の実施形態のメモリデータ保護装置とを組み合わせることによって、不正アクセスが発生した場合にはセキュリティデータとは異なるデータにマッピングを行い、不正アクセス回数が不正アクセス規定回数以上の回数となったときに、メモリデータ保護装置をリセットして、以後の動作を不可能にすることが可能である。
【産業上の利用可能性】
【０１０４】
以上説明したように、本発明は、メモリへのアクセス制御を確実に実現してセキュリティデータを保護することができるので、特にＩＣカード用ＬＳＩに搭載されるメモリデータ保護装置として有用である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施形態のメモリデータ保護装置におけるメモリデータ保護方法の概略処理フローを示すフロー図である。
【図２】同メモリデータ保護装置のメモリ空間を示す模式図である。
【図３】同メモリデータ保護装置の全体構成を示すブロック図である。
【図４】本発明の第２の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【図５】本発明の第３の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【図６】本発明の第４の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【図７】本発明の第５の実施形態のメモリデータ保護装置におけるメモリデータ保護方法の他の概略処理フローを示すフロー図である。
【図８】同メモリデータ保護装置の全体構成を示すブロック図である。
【図９】本発明の第６の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【図１０】本発明の第７の実施形態のメモリデータ保護装置の全体構成を示すブロック図である。
【符号の説明】
【０１０６】
１００、２００、３００、
４００、５００、６００、７００    メモリデータ保護装置
１１０                              ＣＰＵ
１２０                              メモリブロック
１２１                              ＲＯＭ
１２２                              ＳＲＡＭ（メモリ）
１２３                              不揮発性メモリ（メモリ）
１３０                              アクセス権限判定部
１３１                              実行プログラムアドレスデコード回路
１３２                              モード設定回路
１４０、５５０、６５０、７５０      アクセス制御部
１４１                              アクセス可否判定回路（アクセス可否判定部）
１４２                              メモリ空間アドレスデコード回路
（マッピング変更部）
１４３、３５０、
４５０、６５１、７５２            メモリ制御回路
１５０                              メモリ空間
１５１                              ＲＯＭ領域
１５２                              ＳＲＡＭ領域
１５３                              外部メモリ領域
１５５                              不正アクセス用領域
２５０                              不正アクセス用レジスタ
３５１、４５１                      ウェイト回路
３５２                              乱数発生回路
４５５                              ダミーデータ領域
５５５                              メモリ制御回路（データ変更部）
６５２、７５３                      比較器（不正アクセス通知部）
６５５                              不正アクセス発生フラグ領域
（不正アクセス記憶部）
７５１                              カウンター
７５５                              不正アクセス回数記憶領域
（不正アクセス記憶部）
７５６                              不正アクセス規定回数記憶領域
ＡＢ                                プログラムアドレスバス
ＤＢ                                プログラムデータバス
Ｒ−ＡＤ                            ＲＯＭ内のデータへの論理アドレス
Ｓ−ＡＤ                            ＳＲＡＭ内のデータへの論理アドレス
Ｘ−ＡＤ                            不揮発性メモリ内のデータへの論理アドレス
ＡＡＳ                              アクセス権限信号
ＡＣＮ                              アックナリッジ信号
ＡＣＳ                              アクセス制御信号
ＡＤＳ                              アクセス可否信号
ＭＡ                                アクセスアドレス
ＭＣＳ                              メモリ制御信号
ＲＧＳ                              乱数発生信号
ＭＥＳ                              メモリ消去信号
ＩＡＳ                              不正アクセス信号
ＮＯＩ                              不正アクセス回数
ＮＯＢ                              不正アクセス規定回数
【図１】
2007323149.tif 000003
【図２】
2007323149.tif 000004
【図３】
2007323149.tif 000005
【図４】
2007323149.tif 000006
【図５】
2007323149.tif 000007
【図６】
2007323149.tif 000008
【図７】
2007323149.tif 000009
【図８】
2007323149.tif 000010
【図９】
2007323149.tif 000011
【図１０】
2007323149.tif 000012