(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項２】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項３】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
を含むことを特徴とする異常検知方法。
【請求項４】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
を含むことを特徴とする異常検知方法。
【請求項５】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
を実行させることを特徴とする異常検知プログラム。
【請求項６】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
を実行させることを特徴とする異常検知プログラム。
【請求項７】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるＩＣカードであって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
を備えることを特徴とするＩＣカード。
【請求項８】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるＩＣカードであって、
前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、
前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
を備えることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれのアプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれのアプリケーションプログラムから呼び出し可能な共通プログラムを記憶するＩＣチップ等の電子情報記憶媒体の技術分野に関する。
【背景技術】
【０００２】
近年、例えば複数の決済事業者それぞれから提供された複数の決済用アプリケーションプログラムがインストールされたＩＣチップが搭載される携帯情報端末が普及している。このような複数のアプリケーションプログラムが動作するＩＣチップでは、アプリケーションプログラム間にはセキュリティ侵害が発生しないようアプリケーションファイアーウォールが設けられている。例えば特許文献１には、同じ半導体回路上で複数のアプリケーションプログラムを動作させる場合に、各アプリケーションプログラムが、他のアプリケーションプログラムによって影響を受けることを防止できるデータ処理方法が開示されている。
【０００３】
ところで、アプリケーションファイアーウォールの機能として、例えば、アプリケーションファイアーウォールを管理するファイアーウォール管理部が、アプリケーションプログラムによるデータ記憶領域へのアクセスを監視し、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムによりアクセスされた場合、異常を検知する機能が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２４４８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＩＣチップ上で動作するそれぞれのアプリケーションプログラムから呼び出し可能な共通プログラムがＩＣチップにインストールされている場合において、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合、従来のファイアーウォール管理部は、これを異常として検知することはできなかった。
【０００６】
そこで、本発明は、上記問題等に鑑みてなされたものであり、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することが可能な電子情報記憶媒体、異常検知方法、及び異常検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
【０００９】
請求項３に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を含むことを特徴とする。請求項４に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を含むことを特徴とする。
【００１０】
請求項５に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を実行させることを特徴とする。請求項６に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を実行させることを特徴とする。
【００１１】
請求項７に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるＩＣカードであって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。請求項８に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるＩＣカードであって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することができる。
【図面の簡単な説明】
【００１３】
【図１】ＩＣチップＣの概要構成例を示す図である。
【図２】（Ａ）は、フラッシュメモリ５における記憶領域の一部を示す図であり、（Ｂ）は、設定された対応付け情報の一例を示す図である。
【図３】コア２における監視処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、マイクロプロセッサであるコアを複数備えるＩＣチップに対して本発明を適用した場合の実施の形態である。
【００１５】
先ず、図１を参照して、本実施形態に係るＩＣチップの概要構成について説明する。図１は、ＩＣチップＣの概要構成例を示す図である。ＩＣチップＣは、本発明の電子情報記憶媒体及びコンピュータの一例である。なお、ＩＣチップＣは、キャッシュカード、電子マネーカード、クレジットカード、社員カード等に搭載されて使用される。或いは、ＩＣチップＣは、スマートフォンや携帯電話機等の通信機器に組み込まれる。ＩＣチップＣは、通信機器の回路基板上に直接組み込んで構成するようにしてもよい。
【００１６】
ＩＣチップＣは、図１に示すように、コア１、コア２、コプロセッサ３、ＲＡＭ（Random Access Memory）４、フラッシュメモリ５、ＲＯＭ（Read Only Memory）６、及びＩ／Ｏ回路７を備えて構成される。コア１、コア２、コプロセッサ３、ＲＡＭ４、フラッシュメモリ５、ＲＯＭ６、及びＩ／Ｏ回路７は、バス８に接続されている。
【００１７】
コア１，２は、並列処理が可能になっており、それぞれ、演算器１１，２１、内部メモリ１２，２２、プログラムカウンタ１３，２３、及び割込みコントローラ１４，２４を備える。演算器１１，２１は、それぞれ、命令レジスタ及びデコーダを備える。内部メモリ１２，２２は、それぞれ、複数のデータレジスタを備える。プログラムカウンタ１３，２３は、アプリケーションプログラムを構成する複数の命令コードのうち、次に実行されるべき命令コードが記憶されているプログラムメモリ上のアドレスを保持する。割込みコントローラ１４と割込みコントローラ２４とは、バス８を介さずにデータ送受信可能に構成されている。なお、コア１は、本発明における実行手段の一例である。コア２は、本発明における設定手段、処理手段、特定手段、判定手段、及び異常検知手段の一例である。コプロセッサ１１は、例えばコア１からの指令に従って、暗号鍵（復号鍵）を用いて暗号化演算及び復号演算を行う。
【００１８】
フラッシュメモリ５は、不揮発性メモリであり、コア１及びコア２に実行させるＯＳ及びアプリケーションプログラム（以下、「プログラムという」）等を記憶する。フラッシュメモリ５は、記憶手段の一例である。図２（Ａ）は、フラッシュメモリ５における記憶領域の一部を示す図である。図２（Ａ）に示すように、フラッシュメモリ５は、プログラム記憶領域ＭＰＡ，ＭＰＢ、共通プログラム記憶領域ＭＰＣ、及びデータ記憶領域ＭＤＡ，ＭＤＢを有する。ここで、プログラム記憶領域ＭＰＡは、プログラムＡを記憶する領域であり、プログラム記憶領域ＭＰＢは、プログラムＡとは異なるプログラムＢを記憶する領域である。プログラムＡとプログラムＢとは互いにセキュリティ侵害が禁止されるプログラムである。共通プログラム記憶領域ＭＰＣは、プログラムＡ，Ｂから呼び出し可能な共通プログラム（共通ライブラリ）を記憶する領域である。共通プログラムは、プログラムＡ，Ｂが共通して使う汎用的な関数等を定義した部品プログラムである。データ記憶領域ＭＤＡは、プログラムＡに対して割り当てられた領域であり、プログラムＡにより用いられるデータＡが記憶される。データ記憶領域ＭＤＢは、プログラムＢに対して割り当てられた領域であり、プログラムＢにより用いられるデータＢが記憶される。このように、それぞれのプログラムＡ，Ｂに対して個別にデータ記憶領域ＭＤＡ，ＭＤＢが割り当てられている。データ記憶領域の割り当ては、例えば、それぞれのプログラムがインストールされるときに行われる。データ記憶領域ＭＤＡ，ＭＤＢには、暗号鍵や個人情報等が記憶される。なお、フラッシュメモリ５の代わりに、「Electrically Erasable Programmable Read-Only Memory」を適用しても構わない。フラッシュメモリ５に記憶されるプログラムやデータの一部がＲＯＭ６に記憶されてもよい。
【００１９】
Ｉ／Ｏ回路７は、外部端末とのインターフェイスを担う。接触式のＩＣチップＣの場合、Ｉ／Ｏ回路７には、例えば、Ｃ１〜Ｃ８の８個の端子が備えられている。例えば、Ｃ１端子は電源端子、Ｃ２端子はリセット端子、Ｃ３端子はクロック端子、Ｃ５端子はグランド端子、Ｃ７端子は外部端末との間で通信を行うための端子である。一方、非接触式のＩＣチップＣの場合、Ｉ／Ｏ回路７には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部端末の例としては、ＩＣカード発行機、ＡＴＭ、改札機、認証用ゲート等が挙げられる。或いは、ＩＣカード１が通信機器に組み込まれる場合、外部端末には通信機器の機能を担う制御部が該当する。
【００２０】
コア１は、外部端末から受信されたコマンドに応じて、例えばプログラムＡまたはプログラムＢを実行する。例えばプログラムＡ（つまり、プログラムＡを構成する命令コード）が実行される場合、演算器１１は、プログラムカウンタ１３が指し示すアドレスに記憶されている命令コードを、フラッシュメモリ５内のプログラム記憶領域ＭＰＡから命令レジスタにフェッチ（取得）する。なお、例えばプログラムＡから共通プログラムが呼び出された場合、演算器１１は、プログラムカウンタ１３が指し示すアドレスに記憶されている命令コードを、共通プログラム記憶領域ＭＰＣから命令レジスタにフェッチ（取得）する。この場合、共通プログラム（つまり、共通プログラムを構成する命令コード）が実行されることになる。そして、演算器１１は、取得した命令コードをデコーダによって解釈（デコード）する。解釈した命令コードが読み出し命令を示す場合、演算器１１は、内部メモリ１２のデータレジスタに記憶されている読み出し先アドレス（つまり、データ記憶領域ＭＤＡにおけるアドレス）に記憶されているデータ（データＡ中のデータ）を読み出し（つまり、データ記憶領域ＭＤＡにアクセス）、当該読み出したデータを当該データレジスタに書き込む処理を行う。解釈した命令コードが演算命令を示す場合、演算器１１は、内部メモリ１２の複数のデータレジスタに記憶されている複数のデータを用いて演算（例えば、暗号化演算や四則演算等）処理を行い、演算結果を何れかのデータレジスタに書き込む処理を行う。また、解釈した命令コードが書き込み命令を示す場合、演算器１１は、内部メモリ１２のデータレジスタに記憶されているデータ（例えば、演算結果）を、同データレジスタに記憶されている書き込み先アドレス（つまり、データ記憶領域ＭＤＡにおけるアドレス）に書き込む処理（つまり、データ記憶領域ＭＤＡにアクセス）を行う。そして、プログラムカウンタ１３は、演算器１１により命令コードが実行されるたびに、例えば所定バイトずつ上記アドレスを進める。
【００２１】
一方、コア２は、コア１によりプログラムＡ、プログラムＢ、または共通プログラムが実行されている間、例えば、割込みコントローラ２４から割込みコントローラ１４を介して内部メモリ１２のデータレジスタに記憶されているアドレスを取得し、コア１によるデータ記憶領域へのアクセスを監視する監視処理を行う。この監視処理において、コア２は、コア１により実行されているプログラムが共通プログラムである場合、当該共通プログラムを呼び出したプログラム（プログラムＡまたはプログラムＢ）を特定する。そして、コア２は、コア１により実行されている共通プログラムによりアクセスされるデータ記憶領域が、上記特定したプログラムに対して割り当てられたデータ記憶領域であるか否かを判定する。例えば、特定したプログラムがプログラムＡである場合、共通プログラムによりアクセスされるデータ記憶領域が、当該プログラムＡに割り当てられたデータ記憶領域ＭＤＡであるか否かが判定される。そして、コア２は、上記特定したプログラムに対して割り当てられたデータ記憶領域でないと判定した場合、異常を検知し、エラー処理を行う。
【００２２】
次に、図２（Ｂ）及び図３を参照し、本実施形態に係るＩＣチップＣの動作例について説明する。なお、以下の動作例の前提として、例えば、コア２は、プログラム記憶領域ＭＰＡ，ＭＰＢのフラッシュメモリ５におけるアドレスと、プログラムＡ，Ｂに対して個別に割り当てられたデータ記憶領域ＭＤＡ，ＭＤＢのフラッシュメモリ５におけるアドレスとをプログラムＡ，Ｂ毎に対応付ける対応付け情報を例えばプログラムＢがインストールされるときに設定し、設定された対応付け情報をフラッシュメモリ５に書き込むようになっている。図２（Ｂ）は、設定された対応付け情報の一例を示す図である。さらに、コア２は、共通プログラム記憶領域ＭＰＣのフラッシュメモリ５におけるアドレスを示す共通プログラム記憶領域情報を例えばプログラムＢがインストールされるときに設定し、設定された共通プログラム記憶領域情報をフラッシュメモリ５に書き込むようになっている。図３は、コア２における監視処理の一例を示すフローチャートである。図３に示す監視処理は、例えば、外部端末から受信されたコマンドに応じてコア１によりプログラムの実行を開始されたときに開始される。図３に示す処理が開始されると、コア２は、割込みコントローラ２４から割込みコントローラ１４を介してコア１のプログラムカウンタ１３の値（命令コードのアドレス）を取得して確認する（ステップＳ１）。
【００２３】
次いで、コア２は、コア１のプログラムカウンタ１３の値（命令コードのアドレス）が、上記設定された対応付け情報に含まれているか否かを判定する（ステップＳ２）。図２（Ｂ）の例の場合、コア１のプログラムカウンタ１３の値が、アドレス０ｘ１０００−０ｘ１ｘｘｘまたは０ｘ２０００−０ｘ２ｘｘｘに含まれているか否かが判定される。コア２は、コア１のプログラムカウンタ１３の値が対応付け情報に含まれていると判定した場合（ステップＳ２：ＹＥＳ）、コア１により実行されているプログラムを特定し、当該プログラムを示す識別情報をＲＡＭ４の所定の記憶領域に記憶し（ステップＳ３）、ステップＳ４へ進む。このように実行中のプログラムを示す識別情報が記憶される処理は、ステップＳ４及びＳ５を介して所定時間間隔で繰り返し行われることになり、当該プログラムを示す識別情報はその都度上書きされてもよい。一方、コア２は、コア１のプログラムカウンタ１３の値が対応付け情報に含まれていないと判定した場合（ステップＳ２：ＮＯ）、コア１のプログラムカウンタ１３の値（命令コードのアドレス）が、上記設定された共通プログラム記憶領域情報に含まれているか否かを判定する（ステップＳ６）。例えば、コア１のプログラムカウンタ１３の値が、アドレス０ｘ３０００−０ｘ３ｘｘｘに含まれているか否かが判定される。コア２は、上記設定された共通プログラム記憶領域情報に含まれていると判定した場合（ステップＳ６：ＹＥＳ）、コア１により実行されているプログラムが共通プログラムであるとして、ステップＳ７に進む。一方、コア２は、上記設定された共通プログラム記憶領域情報に含まれていないと判定した場合（ステップＳ６：ＮＯ）、ステップＳ９へ進む。このような構成によれば、例えば、後から追加でインストールされた脆弱なプログラムが共通プログラムであると判断されてしまうことで、データ記憶領域ＭＤＡまたはＭＤＢへのアクセスを許してしまうことを防ぐごとができる。ただし、後から脆弱なプログラムがインストールされないように担保されたＩＣチップＣの場合、コア２は、コア１のプログラムカウンタ１３の値が対応付け情報に含まれていないと判定した場合（ステップＳ２：ＮＯ）、コア１により実行されているプログラムが共通プログラムであるとして、ステップＳ７へ進むように構成しても構わない。
【００２４】
ステップＳ４では、コア２は、ステップＳ３で特定したプログラムによりアクセスされるデータ記憶領域は正常であるか否かを判定する。例えば、コア２は、割込みコントローラ２４から割込みコントローラ１４を介して内部メモリ１２のデータレジスタに記憶されているアドレスを取得する。そして、コア２は、当該取得したアドレスが、上記対応付け情報において、ステップＳ３で特定したプログラムを記憶するプログラム記憶領域のアドレスに対応付けられている場合、特定されたプログラムによりアクセスされるデータ記憶領域は正常であると判定される。コア２は、ステップＳ３で特定したプログラムによりアクセスされるデータ記憶領域が正常でないと判定した場合（ステップＳ４：ＮＯ）、ステップＳ９へ進む。一方、コア２は、ステップＳ３で特定したプログラムによりアクセスされるデータ記憶領域が正常であると判定した場合（ステップＳ４：ＹＥＳ）、ステップＳ５へ進む。ステップＳ５では、コア２は、コア１によるプログラムの実行が終了するか否かを判定する。コア２は、コア１によるプログラムの実行が終了しないと判定した場合（ステップＳ５：ＮＯ）、ステップＳ１に戻り、監視処理を継続する。一方、コア２は、コア１によるプログラムの実行が終了すると判定した場合（ステップＳ５：ＹＥＳ）、監視処理を終了する。
【００２５】
ステップＳ７では、コア２は、直前に記憶された（直前のステップＳ３で記憶された）識別情報が示すプログラムを、共通プログラムを呼び出したプログラムとして特定する。次いで、コア２は、上記識別情報が示すプログラムが呼び出した共通プログラムによりアクセスされるデータ記憶領域は正常であるか否かを判定する（ステップＳ８）。つまり、コア２は、コア１により実行されている共通プログラムによりアクセスされるデータ記憶領域が、上記ステップＳ７で特定したプログラムに対して割り当てられたデータ記憶領域であるか否かを判定する。例えば、コア２は、割込みコントローラ２４から割込みコントローラ１４を介して内部メモリ１２のデータレジスタに記憶されているアドレスを取得する。そして、コア２は、当該取得したアドレス（つまり、共通プログラムによりアクセスされるデータ記憶領域のアドレス）が、上記対応付け情報において、ステップＳ７で特定したプログラムを記憶するプログラム記憶領域のアドレスに対応付けられていない場合、当該共通プログラムによりアクセスされるデータ記憶領域は正常でないと判定される。コア２は、共通プログラムによりアクセスされるデータ記憶領域が正常でないと判定した場合（ステップＳ８：ＮＯ）、ステップＳ９へ進む。一方、コア２は、共通プログラムによりアクセスされるデータ記憶領域が正常あると判定した場合（ステップＳ８：ＹＥＳ）、ステップＳ５へ移行する。
【００２６】
ステップＳ９では、コア２は、異常を検知し、エラー処理を行う。このエラー処理では、例えば、コア２は、コア１へ停止命令を与え、監視処理を停止する。コア１は、コア２からの停止命令を受けると、異常検知されたこと示す応答を外部端末へ出力し、プログラムの実行を停止する。こうして、ＩＣチップＣの動作が停止する。
【００２７】
以上説明したように、上記実施形態によれば、コア２は、コア１により実行されているプログラムが共通プログラムである場合、当該共通プログラムを呼び出したプログラムを特定し、当該共通プログラムによりアクセスされるデータ記憶領域が、上記特定したプログラムに対して割り当てられたデータ記憶領域であるとき、異常を検知するように構成したので、例えばプログラムＡに対して固有に割り当てられたデータ記憶領域に対して、他のプログラムＢにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することができる。
【００２８】
なお、上記実施形態では、２つのコアを備えるＩＣチップを例にとって説明したが、３つ以上のコアを備えるＩＣチップに対しても本発明は適用できる。また、上記実施形態では、２つのアプリケーションプログラムがインストールされたＩＣチップを例にとって説明したが、３つ以上のアプリケーションプログラムがインストールされたＩＣチップに対しても本発明は適用できる。また、上記実施形態では、コア１がアプリケーションプログラムを実行し、コア２が監視処理を実行するように構成したが、コア２がアプリケーションプログラムを実行し、コア１が監視処理を実行するように構成してもよい。また、上記実施形態では、本発明の電子情報記憶媒体の一例としてＩＣチップ１Ｃを例にとって説明したが、本発明は、組込み型のマイクロチップ等に対しても適用できる。
【符号の説明】
【００２９】
１，２  コア
３  コプロセッサ
４  ＲＡＭ
５  フラッシュメモリ
６  ＲＯＭ
７  Ｉ／Ｏ回路
８  バス
Ｃ  ＩＣチップ
【図１】
0006493672.tif 000002
【図２】
0006493672.tif 000003
【図３】
0006493672.tif 000004