JP6493672B2 - 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード - Google Patents

電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード Download PDF

Info

Publication number
JP6493672B2
JP6493672B2 JP2015084172A JP2015084172A JP6493672B2 JP 6493672 B2 JP6493672 B2 JP 6493672B2 JP 2015084172 A JP2015084172 A JP 2015084172A JP 2015084172 A JP2015084172 A JP 2015084172A JP 6493672 B2 JP6493672 B2 JP 6493672B2
Authority
JP
Japan
Prior art keywords
program
address
storage area
application program
common
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015084172A
Other languages
English (en)
Other versions
JP2016206747A (ja
Inventor
山田 真生
真生 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2015084172A priority Critical patent/JP6493672B2/ja
Publication of JP2016206747A publication Critical patent/JP2016206747A/ja
Application granted granted Critical
Publication of JP6493672B2 publication Critical patent/JP6493672B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれのアプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれのアプリケーションプログラムから呼び出し可能な共通プログラムを記憶するICチップ等の電子情報記憶媒体の技術分野に関する。
近年、例えば複数の決済事業者それぞれから提供された複数の決済用アプリケーションプログラムがインストールされたICチップが搭載される携帯情報端末が普及している。このような複数のアプリケーションプログラムが動作するICチップでは、アプリケーションプログラム間にはセキュリティ侵害が発生しないようアプリケーションファイアーウォールが設けられている。例えば特許文献1には、同じ半導体回路上で複数のアプリケーションプログラムを動作させる場合に、各アプリケーションプログラムが、他のアプリケーションプログラムによって影響を受けることを防止できるデータ処理方法が開示されている。
ところで、アプリケーションファイアーウォールの機能として、例えば、アプリケーションファイアーウォールを管理するファイアーウォール管理部が、アプリケーションプログラムによるデータ記憶領域へのアクセスを監視し、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムによりアクセスされた場合、異常を検知する機能が知られている。
特開2002−244868号公報
しかしながら、ICチップ上で動作するそれぞれのアプリケーションプログラムから呼び出し可能な共通プログラムがICチップにインストールされている場合において、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合、従来のファイアーウォール管理部は、これを異常として検知することはできなかった。
そこで、本発明は、上記問題等に鑑みてなされたものであり、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することが可能な電子情報記憶媒体、異常検知方法、及び異常検知プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
請求項2に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
請求項3に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を含むことを特徴とする。請求項4に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を含むことを特徴とする。
請求項5に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を実行させることを特徴とする。請求項6に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、を実行させることを特徴とする。
請求項7に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるICカードであって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。請求項8に記載の発明は、複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるICカードであって、前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、を備えることを特徴とする。
本発明によれば、あるアプリケーションプログラムに対して固有に割り当てられたデータ記憶領域に対して、他のアプリケーションプログラムにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することができる。
ICチップCの概要構成例を示す図である。 (A)は、フラッシュメモリ5における記憶領域の一部を示す図であり、(B)は、設定された対応付け情報の一例を示す図である。 コア2における監視処理の一例を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、マイクロプロセッサであるコアを複数備えるICチップに対して本発明を適用した場合の実施の形態である。
先ず、図1を参照して、本実施形態に係るICチップの概要構成について説明する。図1は、ICチップCの概要構成例を示す図である。ICチップCは、本発明の電子情報記憶媒体及びコンピュータの一例である。なお、ICチップCは、キャッシュカード、電子マネーカード、クレジットカード、社員カード等に搭載されて使用される。或いは、ICチップCは、スマートフォンや携帯電話機等の通信機器に組み込まれる。ICチップCは、通信機器の回路基板上に直接組み込んで構成するようにしてもよい。
ICチップCは、図1に示すように、コア1、コア2、コプロセッサ3、RAM(Random Access Memory)4、フラッシュメモリ5、ROM(Read Only Memory)6、及びI/O回路7を備えて構成される。コア1、コア2、コプロセッサ3、RAM4、フラッシュメモリ5、ROM6、及びI/O回路7は、バス8に接続されている。
コア1,2は、並列処理が可能になっており、それぞれ、演算器11,21、内部メモリ12,22、プログラムカウンタ13,23、及び割込みコントローラ14,24を備える。演算器11,21は、それぞれ、命令レジスタ及びデコーダを備える。内部メモリ12,22は、それぞれ、複数のデータレジスタを備える。プログラムカウンタ13,23は、アプリケーションプログラムを構成する複数の命令コードのうち、次に実行されるべき命令コードが記憶されているプログラムメモリ上のアドレスを保持する。割込みコントローラ14と割込みコントローラ24とは、バス8を介さずにデータ送受信可能に構成されている。なお、コア1は、本発明における実行手段の一例である。コア2は、本発明における設定手段、処理手段、特定手段、判定手段、及び異常検知手段の一例である。コプロセッサ11は、例えばコア1からの指令に従って、暗号鍵(復号鍵)を用いて暗号化演算及び復号演算を行う。
フラッシュメモリ5は、不揮発性メモリであり、コア1及びコア2に実行させるOS及びアプリケーションプログラム(以下、「プログラムという」)等を記憶する。フラッシュメモリ5は、記憶手段の一例である。図2(A)は、フラッシュメモリ5における記憶領域の一部を示す図である。図2(A)に示すように、フラッシュメモリ5は、プログラム記憶領域MPA,MPB、共通プログラム記憶領域MPC、及びデータ記憶領域MDA,MDBを有する。ここで、プログラム記憶領域MPAは、プログラムAを記憶する領域であり、プログラム記憶領域MPBは、プログラムAとは異なるプログラムBを記憶する領域である。プログラムAとプログラムBとは互いにセキュリティ侵害が禁止されるプログラムである。共通プログラム記憶領域MPCは、プログラムA,Bから呼び出し可能な共通プログラム(共通ライブラリ)を記憶する領域である。共通プログラムは、プログラムA,Bが共通して使う汎用的な関数等を定義した部品プログラムである。データ記憶領域MDAは、プログラムAに対して割り当てられた領域であり、プログラムAにより用いられるデータAが記憶される。データ記憶領域MDBは、プログラムBに対して割り当てられた領域であり、プログラムBにより用いられるデータBが記憶される。このように、それぞれのプログラムA,Bに対して個別にデータ記憶領域MDA,MDBが割り当てられている。データ記憶領域の割り当ては、例えば、それぞれのプログラムがインストールされるときに行われる。データ記憶領域MDA,MDBには、暗号鍵や個人情報等が記憶される。なお、フラッシュメモリ5の代わりに、「Electrically Erasable Programmable Read-Only Memory」を適用しても構わない。フラッシュメモリ5に記憶されるプログラムやデータの一部がROM6に記憶されてもよい。
I/O回路7は、外部端末とのインターフェイスを担う。接触式のICチップCの場合、I/O回路7には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末との間で通信を行うための端子である。一方、非接触式のICチップCの場合、I/O回路7には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部端末の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICカード1が通信機器に組み込まれる場合、外部端末には通信機器の機能を担う制御部が該当する。
コア1は、外部端末から受信されたコマンドに応じて、例えばプログラムAまたはプログラムBを実行する。例えばプログラムA(つまり、プログラムAを構成する命令コード)が実行される場合、演算器11は、プログラムカウンタ13が指し示すアドレスに記憶されている命令コードを、フラッシュメモリ5内のプログラム記憶領域MPAから命令レジスタにフェッチ(取得)する。なお、例えばプログラムAから共通プログラムが呼び出された場合、演算器11は、プログラムカウンタ13が指し示すアドレスに記憶されている命令コードを、共通プログラム記憶領域MPCから命令レジスタにフェッチ(取得)する。この場合、共通プログラム(つまり、共通プログラムを構成する命令コード)が実行されることになる。そして、演算器11は、取得した命令コードをデコーダによって解釈(デコード)する。解釈した命令コードが読み出し命令を示す場合、演算器11は、内部メモリ12のデータレジスタに記憶されている読み出し先アドレス(つまり、データ記憶領域MDAにおけるアドレス)に記憶されているデータ(データA中のデータ)を読み出し(つまり、データ記憶領域MDAにアクセス)、当該読み出したデータを当該データレジスタに書き込む処理を行う。解釈した命令コードが演算命令を示す場合、演算器11は、内部メモリ12の複数のデータレジスタに記憶されている複数のデータを用いて演算(例えば、暗号化演算や四則演算等)処理を行い、演算結果を何れかのデータレジスタに書き込む処理を行う。また、解釈した命令コードが書き込み命令を示す場合、演算器11は、内部メモリ12のデータレジスタに記憶されているデータ(例えば、演算結果)を、同データレジスタに記憶されている書き込み先アドレス(つまり、データ記憶領域MDAにおけるアドレス)に書き込む処理(つまり、データ記憶領域MDAにアクセス)を行う。そして、プログラムカウンタ13は、演算器11により命令コードが実行されるたびに、例えば所定バイトずつ上記アドレスを進める。
一方、コア2は、コア1によりプログラムA、プログラムB、または共通プログラムが実行されている間、例えば、割込みコントローラ24から割込みコントローラ14を介して内部メモリ12のデータレジスタに記憶されているアドレスを取得し、コア1によるデータ記憶領域へのアクセスを監視する監視処理を行う。この監視処理において、コア2は、コア1により実行されているプログラムが共通プログラムである場合、当該共通プログラムを呼び出したプログラム(プログラムAまたはプログラムB)を特定する。そして、コア2は、コア1により実行されている共通プログラムによりアクセスされるデータ記憶領域が、上記特定したプログラムに対して割り当てられたデータ記憶領域であるか否かを判定する。例えば、特定したプログラムがプログラムAである場合、共通プログラムによりアクセスされるデータ記憶領域が、当該プログラムAに割り当てられたデータ記憶領域MDAであるか否かが判定される。そして、コア2は、上記特定したプログラムに対して割り当てられたデータ記憶領域でないと判定した場合、異常を検知し、エラー処理を行う。
次に、図2(B)及び図3を参照し、本実施形態に係るICチップCの動作例について説明する。なお、以下の動作例の前提として、例えば、コア2は、プログラム記憶領域MPA,MPBのフラッシュメモリ5におけるアドレスと、プログラムA,Bに対して個別に割り当てられたデータ記憶領域MDA,MDBのフラッシュメモリ5におけるアドレスとをプログラムA,B毎に対応付ける対応付け情報を例えばプログラムBがインストールされるときに設定し、設定された対応付け情報をフラッシュメモリ5に書き込むようになっている。図2(B)は、設定された対応付け情報の一例を示す図である。さらに、コア2は、共通プログラム記憶領域MPCのフラッシュメモリ5におけるアドレスを示す共通プログラム記憶領域情報を例えばプログラムBがインストールされるときに設定し、設定された共通プログラム記憶領域情報をフラッシュメモリ5に書き込むようになっている。図3は、コア2における監視処理の一例を示すフローチャートである。図3に示す監視処理は、例えば、外部端末から受信されたコマンドに応じてコア1によりプログラムの実行を開始されたときに開始される。図3に示す処理が開始されると、コア2は、割込みコントローラ24から割込みコントローラ14を介してコア1のプログラムカウンタ13の値(命令コードのアドレス)を取得して確認する(ステップS1)。
次いで、コア2は、コア1のプログラムカウンタ13の値(命令コードのアドレス)が、上記設定された対応付け情報に含まれているか否かを判定する(ステップS2)。図2(B)の例の場合、コア1のプログラムカウンタ13の値が、アドレス0x1000−0x1xxxまたは0x2000−0x2xxxに含まれているか否かが判定される。コア2は、コア1のプログラムカウンタ13の値が対応付け情報に含まれていると判定した場合(ステップS2:YES)、コア1により実行されているプログラムを特定し、当該プログラムを示す識別情報をRAM4の所定の記憶領域に記憶し(ステップS3)、ステップS4へ進む。このように実行中のプログラムを示す識別情報が記憶される処理は、ステップS4及びS5を介して所定時間間隔で繰り返し行われることになり、当該プログラムを示す識別情報はその都度上書きされてもよい。一方、コア2は、コア1のプログラムカウンタ13の値が対応付け情報に含まれていないと判定した場合(ステップS2:NO)、コア1のプログラムカウンタ13の値(命令コードのアドレス)が、上記設定された共通プログラム記憶領域情報に含まれているか否かを判定する(ステップS6)。例えば、コア1のプログラムカウンタ13の値が、アドレス0x3000−0x3xxxに含まれているか否かが判定される。コア2は、上記設定された共通プログラム記憶領域情報に含まれていると判定した場合(ステップS6:YES)、コア1により実行されているプログラムが共通プログラムであるとして、ステップS7に進む。一方、コア2は、上記設定された共通プログラム記憶領域情報に含まれていないと判定した場合(ステップS6:NO)、ステップS9へ進む。このような構成によれば、例えば、後から追加でインストールされた脆弱なプログラムが共通プログラムであると判断されてしまうことで、データ記憶領域MDAまたはMDBへのアクセスを許してしまうことを防ぐごとができる。ただし、後から脆弱なプログラムがインストールされないように担保されたICチップCの場合、コア2は、コア1のプログラムカウンタ13の値が対応付け情報に含まれていないと判定した場合(ステップS2:NO)、コア1により実行されているプログラムが共通プログラムであるとして、ステップS7へ進むように構成しても構わない。
ステップS4では、コア2は、ステップS3で特定したプログラムによりアクセスされるデータ記憶領域は正常であるか否かを判定する。例えば、コア2は、割込みコントローラ24から割込みコントローラ14を介して内部メモリ12のデータレジスタに記憶されているアドレスを取得する。そして、コア2は、当該取得したアドレスが、上記対応付け情報において、ステップS3で特定したプログラムを記憶するプログラム記憶領域のアドレスに対応付けられている場合、特定されたプログラムによりアクセスされるデータ記憶領域は正常であると判定される。コア2は、ステップS3で特定したプログラムによりアクセスされるデータ記憶領域が正常でないと判定した場合(ステップS4:NO)、ステップS9へ進む。一方、コア2は、ステップS3で特定したプログラムによりアクセスされるデータ記憶領域が正常であると判定した場合(ステップS4:YES)、ステップS5へ進む。ステップS5では、コア2は、コア1によるプログラムの実行が終了するか否かを判定する。コア2は、コア1によるプログラムの実行が終了しないと判定した場合(ステップS5:NO)、ステップS1に戻り、監視処理を継続する。一方、コア2は、コア1によるプログラムの実行が終了すると判定した場合(ステップS5:YES)、監視処理を終了する。
ステップS7では、コア2は、直前に記憶された(直前のステップS3で記憶された)識別情報が示すプログラムを、共通プログラムを呼び出したプログラムとして特定する。次いで、コア2は、上記識別情報が示すプログラムが呼び出した共通プログラムによりアクセスされるデータ記憶領域は正常であるか否かを判定する(ステップS8)。つまり、コア2は、コア1により実行されている共通プログラムによりアクセスされるデータ記憶領域が、上記ステップS7で特定したプログラムに対して割り当てられたデータ記憶領域であるか否かを判定する。例えば、コア2は、割込みコントローラ24から割込みコントローラ14を介して内部メモリ12のデータレジスタに記憶されているアドレスを取得する。そして、コア2は、当該取得したアドレス(つまり、共通プログラムによりアクセスされるデータ記憶領域のアドレス)が、上記対応付け情報において、ステップS7で特定したプログラムを記憶するプログラム記憶領域のアドレスに対応付けられていない場合、当該共通プログラムによりアクセスされるデータ記憶領域は正常でないと判定される。コア2は、共通プログラムによりアクセスされるデータ記憶領域が正常でないと判定した場合(ステップS8:NO)、ステップS9へ進む。一方、コア2は、共通プログラムによりアクセスされるデータ記憶領域が正常あると判定した場合(ステップS8:YES)、ステップS5へ移行する。
ステップS9では、コア2は、異常を検知し、エラー処理を行う。このエラー処理では、例えば、コア2は、コア1へ停止命令を与え、監視処理を停止する。コア1は、コア2からの停止命令を受けると、異常検知されたこと示す応答を外部端末へ出力し、プログラムの実行を停止する。こうして、ICチップCの動作が停止する。
以上説明したように、上記実施形態によれば、コア2は、コア1により実行されているプログラムが共通プログラムである場合、当該共通プログラムを呼び出したプログラムを特定し、当該共通プログラムによりアクセスされるデータ記憶領域が、上記特定したプログラムに対して割り当てられたデータ記憶領域であるとき、異常を検知するように構成したので、例えばプログラムAに対して固有に割り当てられたデータ記憶領域に対して、他のプログラムBにより呼び出された共通プログラムからアクセスされた場合であっても、異常を検知することができる。
なお、上記実施形態では、2つのコアを備えるICチップを例にとって説明したが、3つ以上のコアを備えるICチップに対しても本発明は適用できる。また、上記実施形態では、2つのアプリケーションプログラムがインストールされたICチップを例にとって説明したが、3つ以上のアプリケーションプログラムがインストールされたICチップに対しても本発明は適用できる。また、上記実施形態では、コア1がアプリケーションプログラムを実行し、コア2が監視処理を実行するように構成したが、コア2がアプリケーションプログラムを実行し、コア1が監視処理を実行するように構成してもよい。また、上記実施形態では、本発明の電子情報記憶媒体の一例としてICチップ1Cを例にとって説明したが、本発明は、組込み型のマイクロチップ等に対しても適用できる。
1,2 コア
3 コプロセッサ
4 RAM
5 フラッシュメモリ
6 ROM
7 I/O回路
8 バス
C ICチップ

Claims (8)

  1. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
    前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
    前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
    を備えることを特徴とする電子情報記憶媒体。
  2. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体であって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
    前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
    前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
    を備えることを特徴とする電子情報記憶媒体。
  3. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
    前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
    前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
    を含むことを特徴とする異常検知方法。
  4. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備える電子情報記憶媒体における異常検知方法であって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
    前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
    前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
    を含むことを特徴とする異常検知方法。
  5. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定ステップと、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
    前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
    前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
    を実行させることを特徴とする異常検知プログラム。
  6. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるコンピュータに、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定ステップと、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定ステップにより設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理ステップと、
    前記処理ステップにより前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定ステップと、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定ステップにより特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定ステップと、
    前記特定ステップにより特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知ステップと、
    を実行させることを特徴とする異常検知プログラム。
  7. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるICカードであって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定し、且つ前記共通プログラム記憶領域の前記記憶手段におけるアドレスを示す共通プログラム記憶領域情報を設定する設定手段と、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
    前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合で、且つ前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記共通プログラム記憶領域情報に含まれている場合に、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
    前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
    を備えることを特徴とするICカード。
  8. 複数のアプリケーションプログラムそれぞれを記憶する複数のプログラム記憶領域と、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた複数のデータ記憶領域と、それぞれの前記アプリケーションプログラムから呼び出し可能な共通プログラムを記憶する共通プログラム記憶領域と、を有する記憶手段と、何れかの前記プログラムを実行する実行手段と、を備えるICカードであって、
    前記プログラム記憶領域の前記記憶手段におけるアドレスと、それぞれの前記アプリケーションプログラムに対して個別に割り当てられた前記データ記憶領域の前記記憶手段におけるアドレスとを前記アプリケーションプログラム毎に対応付ける対応付け情報を設定する設定手段と、
    前記実行手段のプログラムカウンタが示すアドレスが、前記設定手段により設定された前記対応付け情報に含まれているか否かを判定し、前記アドレスが前記対応付け情報に含まれている場合、前記実行手段により実行されている前記アプリケーションプログラムを示す識別情報を記憶する処理を所定時間間隔で繰り返し行う処理手段と、
    前記処理手段により前記アドレスが前記対応付け情報に含まれていないと判定された場合、前記実行手段により実行されているプログラムが前記共通プログラムであるとして、直前に記憶された前記識別情報が示す前記アプリケーションプログラムを、当該共通プログラムを呼び出した前記アプリケーションプログラムとして特定する特定手段と、
    前記実行手段により実行されている前記共通プログラムによりアクセスされるデータ記憶領域の前記記憶手段におけるアドレスが、前記対応付け情報において、前記特定手段により特定された前記アプリケーションプログラムを記憶するプログラム記憶領域の前記記憶手段におけるアドレスに対応付けられていない場合、前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定する判定手段と、
    前記特定手段により特定された前記アプリケーションプログラムに対して割り当てられたデータ記憶領域でないと判定された場合、異常を検知する異常検知手段と、
    を備えることを特徴とするICカード。
JP2015084172A 2015-04-16 2015-04-16 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード Active JP6493672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015084172A JP6493672B2 (ja) 2015-04-16 2015-04-16 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015084172A JP6493672B2 (ja) 2015-04-16 2015-04-16 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード

Publications (2)

Publication Number Publication Date
JP2016206747A JP2016206747A (ja) 2016-12-08
JP6493672B2 true JP6493672B2 (ja) 2019-04-03

Family

ID=57489782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015084172A Active JP6493672B2 (ja) 2015-04-16 2015-04-16 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード

Country Status (1)

Country Link
JP (1) JP6493672B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4115152C2 (de) * 1991-05-08 2003-04-24 Gao Ges Automation Org Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung
JPH1173372A (ja) * 1997-08-27 1999-03-16 Hideo Takeda コンピュータ・ウィルスによる不正アクセス検出方法
JP2000076135A (ja) * 1998-08-27 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> プロセッサのメモリ保護方法及びプロセッサのメモリを保護されたicカード
FR2811096A1 (fr) * 2000-06-28 2002-01-04 St Microelectronics Sa Microprocesseur securise comprenant un systeme d'attribution de droits a des librairies

Also Published As

Publication number Publication date
JP2016206747A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
JP5200664B2 (ja) メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム
US9183400B2 (en) IC card and IC card control method
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
US10824710B2 (en) Method and device for authenticating application that requests access to memory
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
KR20170102285A (ko) 보안 요소
JP6493672B2 (ja) 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード
JP6396119B2 (ja) Icモジュール、icカード、及びicカードの製造方法
JP6424633B2 (ja) 電子情報記憶媒体、異常検知方法、及びプログラム
JP6828548B2 (ja) 電子情報記憶媒体、icカード、改竄チェック方法及び改竄チェック用プログラム
US7806319B2 (en) System and method for protection of data contained in an integrated circuit
JP3234959B2 (ja) マイクロコンピュータおよびこれを内蔵するカード
WO2007020758A1 (ja) Icカード用lsi
JP6340935B2 (ja) Icチップ、異常検知処理方法、及びプログラム
JP6160326B2 (ja) 情報記憶媒体、情報書き込み方法、及び書き込みプログラム
JP6379852B2 (ja) 電子情報記録媒体、プロセッサモジュールの処理方法、及びプロセッサモジュールの処理プログラム
JP7247638B2 (ja) 電子情報記憶媒体、icカード、改竄チェック方法、及びプログラム
JP6358019B2 (ja) 演算装置、演算方法、及び演算プログラム
JP2013097524A (ja) Icチップ、データ保護方法、データ保護プログラム、icカード及び記録媒体
JP6326835B2 (ja) 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム
JP6119345B2 (ja) Icチップ、icカード、検証処理方法、及び検証処理プログラム
JP6421662B2 (ja) 電子情報記憶媒体、アクセス制限方法、及びアクセス制限プログラム
JP2008129697A (ja) Icカードおよびメモリ間のデータ転送制御方法
JP6424473B2 (ja) 演算装置、演算方法、及び演算処理プログラム
JP6398449B2 (ja) 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190219

R150 Certificate of patent or registration of utility model

Ref document number: 6493672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150