説明

半導体装置、半導体装置の制御方法および半導体装置の制御プログラム

【課題】本発明は、レーザー攻撃を受けた場合であっても、自身が管理する範囲外のデータをアクセスすることを防止することが可能な半導体装置等を提供することを目的とする。
【解決手段】アプリケーションプログラムが選択される選択手段(131)と、記憶領域情報を取得する記憶領域情報取得手段(132)と、記憶領域情報が前記半導体装置(101)の前記記憶領域内か否かを判断し、記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断手段(133)と、記憶領域情報が前記半導体装置(101)の記憶領域内であって、記憶領域情報が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、チェック情報を追加し、アプリケーションプログラムに対応する記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定手段(134)と、を備える構成である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、本発明は、たとえば、書込み、書換え可能な不揮発性メモリおよびCPU(セントラル・プロセッシング・ユニット)などの制御素子を有するIC(集積回路)チップを内蔵し、外部装置から入力されるコマンド(命令)に基づき、各種処理を実行するICカードなどの半導体装置、半導体装置の制御方法および半導体装置の制御プログラムに関する。
【背景技術】
【0002】
最近、携帯可能電子装置として、不揮発性メモリとしてのEEPROM、揮発性メモリとしてのRAM、これらのメモリに対してアクセス(データの読出しおよびまたは書込み等)を行なう制御素子としてのCPU、および、CPUの動作用プログラム等を格納したROMを有し、外部から供給されるコマンド(命令)に基づきデータの書込みや読出し等を行なう手段を備えたICチップを内蔵したICカードが各産業方面で利用されている。
【0003】
一般に、この種のICカードは、外部装置(ICカードリーダ・ライタ)からのデータ
書込みコマンドを受信すると、当該コマンドに付加されたデータを不揮発性メモリのコマ
ンドで指定された領域に書込むようになっている。
【0004】
また、外部装置からのデータ読出しコマンドを受信すると、対象となるデータを不揮発
性メモリから検索し、該当したデータが存在する場合、当該データをその先頭からデータ
長分、読出すようになっている。
【0005】
近年、クレジットカード、キャッシュカードなど、高いセキュリティが必要とされる分
野を対象に、磁気カードに変わってICチップを搭載したICカードの普及が始まっている。このようなICチップを搭載したICカードは、外部の機器と接触もしくは非接触でデータの読み書きをするようになされる。また、データの授受を第3者に読み取られた際に解読を困難にするため、外部の機器とデータの読み書きする際にデータを暗号化して読み書きするようになされる。
【0006】
しかし、放射、フラッシュ、光、レーザー、グリッチ、またはそれ以外による攻撃によりプログラム命令の実行が妨げられる事態が発生している。こうした攻撃は、実行される命令を変更し、結果としてプログラムの特定部分の不実行または不正確な実行を生じる。
【0007】
プログラムを実行すると、たとえばレーザー、グリッチ、または電磁放射による攻撃が、プロセッサによって実行される命令コードを変更し、たとえばどの命令codopも、codop 00h(6805ではBRSET0、8051およびAVRではNOP)にコンバートする。すなわち、プログラム命令は、動作不能な命令で置き換えられる。したがって、コードの特定のセクションは、実行に失敗し、または不規則に実行し、たとえばスマートカード向けのオペレーティングシステムにおけるセキュリティ処理シーケンスではなく、動作不能な命令の実行となる。攻撃は、プロセッサ動作を妨げ、プログラムメモリ内での時機を失したジャンプを引き起こす場合がある。
【0008】
そこで、最近、ICカードの偽造や改竄のために内部の不揮発性メモリのデータを不
正に読出すなどのいわゆる、タンパ攻撃への対策のため様々な対応策(耐タンパ対策)が
考えられている。その中で、不揮発性メモリに書込まれるデータを二重化することで、デ
ータが改竄されたことを検知する手法がある(たとえば、特許文献1参照)。
【0009】
また、命令コードそのものに対するチェックを実施する方法がある(たとえば、特許文献2参照)。
【特許文献1】特開平4−339614号公報
【特許文献2】特表2007−513422号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかし、攻撃技術の進歩によりコード自体は正常であるにも関わらず、メモリアクセスのタイミングで読み書きの対象アドレスを変化させる攻撃を行うことが可能となっている(レーザー攻撃)。
【0011】
したがって、データの読み書きを行う際に悪意のある第三者が外部からアドレスを攻撃しアドレスを変化させた場合、自身が管理する範囲外のデータをアクセスする可能性がある。
【0012】
そこで、本発明は、レーザー攻撃を受けた場合であっても、データへアクセスする場合にデータを管理するメモリ管理処理を経由すること、さらにメモリ管理処理がデータへアクセスする際に、指定されたアドレスがアクセス可能な領域であることを確認することにより、自身が管理する範囲外のデータをアクセスすることを防止することが可能な半導体装置、半導体装置の制御方法および半導体装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するため、本発明は次のような構成を採用する。
【0014】
すなわち、請求項1に係る発明は、少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置(101)において、前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択手段(131)と、前記選択手段(131)によって選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得手段(132)と、前記記憶領域情報によって示される記憶領域が前記半導体装置(101)の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断手段(133)と、前記記憶領域情報判断手段(133)によって、前記記憶領域情報によって示される前記記憶領域が前記半導体装置(101)の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定手段(134)と、を備えることを特徴とする。
【0015】
また、請求項2に係る発明は、請求項1に記載の半導体装置(101)おいて、前記記憶領域情報取得手段(132)が、前記選択手段(131)によって選択された前記アプリケーションプログラムから読み出し記憶領域情報を取得した場合に、前記記憶領域情報設定手段(134)によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックする設定記憶領域情報チェック手段(135)と、前記設定記憶領域情報チェック手段(135)によって前記設定記憶領域情報が書き換えられていないことがチェックされた場合に、前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段(131)によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるかを判定する読み出し記憶領域情報チェック手段(136)と、前記読み出し記憶領域情報チェック手段(136)によって、前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段(131)によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれていると判定された場合に、前記読み出し記憶領域情報に対応する記憶領域のデータ情報を読み出すデータ情報読出手段(137)と、を更に備えることを特徴とする。
【0016】
さらに、請求項3に係る発明は、請求項1に記載の半導体装置(101)おいて、前記記憶領域情報取得手段(134)が、前記選択手段(131)によって選択された前記アプリケーションプログラムから更新記憶領域情報を取得した場合に、前記記憶領域情報設定手段(134)によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックする設定記憶領域情報チェック手段(135)と、前記設定記憶領域情報チェック手段(135)によって前記設定記憶領域情報が書き換えられていないことがチェックされた場合に、前記更新記憶領域情報によって示される前記記憶領域が前記選択手段(131)によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるかを判定する更新記憶領域情報チェック手段(138)と、前記更新記憶領域情報チェック手段(138)によって、前記更新記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれていると判定された場合に、前記更新記憶領域情報に対応する前記記憶領域の前記データ情報を更新するデータ情報更新手段(139)と、を更に備えることを特徴とする。
【0017】
さらに、請求項4に係る発明は、請求項2に記載の半導体装置(101)おいて、前記データ情報読出手段(137)が前記データ情報をバイト単位で読み出す毎に、前記設定記憶領域情報チェック手段(135)は、前記記憶領域情報設定手段(134)によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックし、前記読み出し記憶領域情報チェック手段(136)は前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段(131)によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるか否かを判定することを特徴とする。
【0018】
さらに、請求項5に係る発明は、請求項3に記載の半導体装置(101)おいて、前記データ情報更新手段(139)が前記データ情報をバイト単位で更新する毎に、前記設定記憶領域情報チェック手段(135)は、前記記憶領域情報設定手段(134)によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックし、前記更新記憶領域情報チェック手段(138)は前記更新記憶領域情報によって示される前記記憶領域が前記選択手段(131)によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるか否かを判定することを特徴とする。
【0019】
さらに、請求項6に係る発明は、少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置(101)の制御方法において、前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択工程(131)と、前記選択工程(131)において選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得工程(132)と、前記記憶領域情報によって示される記憶領域が前記半導体装置(101)の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断工程(133)と、前記記憶領域情報判断工程(133)において、前記記憶領域情報によって示される前記記憶領域が前記半導体装置(101)の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定工程(134)と、を備えることを特徴とする。
【0020】
さらに、請求項7に係る発明は、少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置(101)に含まれるコンピュータを、前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択手段(131)、前記選択手段(131)によって選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得手段(132)、前記記憶領域情報によって示される記憶領域が前記半導体装置(101)の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断手段(133)、前記記憶領域情報判断手段(133)によって、前記記憶領域情報によって示される前記記憶領域が前記半導体装置(101)の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定手段(134)として機能させることを特徴とする。
【0021】
さらに、請求項8に係わる発明では、請求項1乃至4の何れか一項に記載の前記半導体装置(101)はIC(Integrate Circuit)チップ(102)を搭載したICカード(101)であることを特徴とする。
【発明の効果】
【0022】
本発明によれば、アプリケーションプログラム毎のアクセス可能領域を示す情報に対してレーザー攻撃をされた場合であっても、アクセス可能領域を示す情報にチェック情報が付加されており、チェック情報が正当でない場合にはアクセス可能領域を設定しないので、レーザー攻撃による誤動作を回避することが可能になる。
【0023】
また、本発明によれば、データアクセスアドレスに対してレーザー攻撃をされた場合であっても、そのレーザー攻撃を検知することが可能となり、重要なデータを読み出されることなくプログラムが正常に動作するので、レーザー攻撃による重要なデータの読み出し動作を回避することが可能になる。
【0024】
さらに、本発明によれば、データアクセスアドレスに対してレーザー攻撃をされた場合であっても、そのレーザー攻撃を検知することが可能となり、重要なデータを更新される(書き換えられる)ことなくプログラムが正常に動作するので、レーザー攻撃による重要なデータの更新(書き換え)動作を回避することが可能になる。
【0025】
さらに、本発明によれば、データアクセスアドレスに対してレーザー攻撃をされた場合であっても、より確実にそのレーザー攻撃を検知することが可能となり、重要なデータを読み出される(あるいは書き換えられる)ことなくプログラムが正常に動作し、安全性が高まるので、レーザー攻撃による重要なデータの読み出し(書き換え)動作を確実に回避することが可能になる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明を実施するための最良の形態について説明する。
【0027】
但し、本発明は多くの異なる態様で実施することが可能であり、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態の記載内容に限定して解釈されるものではない。なお、実施の形態を説明するための全図において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。
【0028】
(実施形態)
本実施の形態では、本発明におけるレーザー攻撃を阻止する機能を実現するための装置構成及び、フローチャートについて説明する。
【0029】
図1に本発明におけるレーザー攻撃を阻止する機能を搭載する対象であるデータ情報を処理する半導体装置であるICチップを含むICカードのブロック図を示す。
【0030】
図1において、ICカード101は、演算回路106、アナログ部115を有する。演算回路106は、CPU102(Central Processing Unit;中央処理装置ともいう。またMPU(microprocessor)ともいう。)、ROM103(Read Only Memory;読み出し専用メモリともいう)、RAM104(Random Access Memory;ランダムアクセスメモリともいう)、補助演算装置124、フラッシュメモリ等の不揮発性メモリ125、コントローラ105を有する。また、アナログ部115は、アンテナ107、共振回路108、電源回路109、リセット回路110、クロック生成回路111、復調回路112、変調回路113、電源管理回路114を有する。また、コントローラ105は、CPUインターフェース116(CPUIF)、制御レジスタ117、コード抽出回路118、符号化回路119より構成される。なお、図1では、説明の簡略化のため通信信号として、受信信号120と送信信号121とに分けて示したが、実際には両者は重ね合わされており、ICカード101及びリーダライタ装置の間で同時に送受信される。受信信号120は、アンテナ107と共振回路108とで受信された後、復調回路112により復調される。また、送信信号121は、変調回路113により変調された後、アンテナ107より送信される。なお、受信信号及び送信信号とは、ICカード側を主体とした表現であり、ICカードが外部からの信号を受信、外部に信号を送信するものであることを付記する。本明細書においては、リーダライタよりICカードが受信する信号、換言すればリーダライタが送信する信号のことを外部からの信号といい、外部からの信号をICカードが受信及びリーダライタが送信することを外部からの信号の送受信という。
【0031】
なお、図1は非接触の場合について説明しているが、「アナログ部(115)+コード抽出回路(118)+符号化回路(119)」を「入出力部」と考えれば、図1の全体は接触ICカードと考えることができる。このように、本実施形態は非接触ICカードとしてだけではなく接触ICカードの実施形態と考えることもできる。
【0032】
また、ROM103は、リーダライタから受信した受信データを処理する際に機能するプログラム(レーザー攻撃阻止プログラムである本実施形態に係わるメモリ管理処理プログラム、プログラムA、プログラムBおよびプログラムC)が格納され、RAM104にはプログラムが機能した際の処理データが格納される。ROM103にはマスクROM等があり、RAM104にはスタティック型メモリ(SRAM)やダイナミック型メモリ(DRAM)等があり、不揮発性メモリ125にはNAND型フラッシュメモリ、NOR型フラッシュメモリ等のフラッシュメモリがある。不揮発性メモリ125には、履歴等のデータ、暗証番号等の情報が記憶され、レーザー攻撃の対象となり得るデータが記憶(格納)されている。
【0033】
また、リーダライタから受信した受信データを処理する際に機能するプログラム(レーザー攻撃阻止プログラムである本実施形態に係わるメモリ管理処理プログラム、プログラムA150、プログラムB151およびプログラムC152)が不揮発性メモリ125に格納されていてもよい(本実施形態ではこの場合について説明する)。
【0034】
さらに、記憶領域に設けられるべきROM103および/またはRAM104の代わりに記憶領域を不揮発性メモリ125で構成することも可能である。
【0035】
例えば、レーザー攻撃から情報を保護する本実施形態に係わるメモリ管理処理プログラム、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152に不具合が発生した場合には外部からいつでも自由にメモリ管理処理プログラム、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152を書き換え可能に構成することができる。
【0036】
また図2には、ROM103または不揮発性メモリ125に記憶されている、メモリ管理処理プログラム、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152のブロック図を示す。メモリ管理処理プログラム、はCPU102上で実行されるので、図2には、CPU102上に展開された選択部131、記憶領域情報取得部132、記憶領域情報判断部133、記憶領域情報設定部134、設定記憶領域情報チェック部135、読み出し記憶領域情報チェック部136、データ情報読出部137、更新記憶領域情報チェック部138、データ情報更新部139、としてのメモリ管理処理プログラムの各機能ブロックを示した。
【0037】
メモリ管理処理プログラム、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152の動作については、後述するフローチャートでさらに詳細に説明することにする。
【0038】
また、後述するフローチャートで説明される不揮発性メモリ125領域に記憶されるレーザー攻撃の対象となるデータ情報(履歴等)と暗証番号情報等の情報は図2においてアプリケーションプログラムAデータ150d、アプリケーションプログラムB151dデータおよびアプリケーションプログラムCデータ152dとして示した。
【0039】
RAM104は、送信データレジスタ203、受信データレジスタ204を有する。送信データレジスタ203は、ICカードが送信するデータを格納する機能を有する。受信データレジスタ204は、ICカードが受信したデータを格納する機能を有する。RAM104は、ROM103に比べて情報量が少ないため、その面積は小さい。
【0040】
また、リーダライタからICカードに送信される信号、換言するとICカードが受信する信号の構成の一例について説明する。受信信号は、SOF(Start Of Frame;フレームの開始)、フラグ、コマンド、データ、CRC(cyclic redundancy check、巡回冗長検査ともいう)、EOF(End Of Frame;フレームの終了)を有する信号である。SOF,EOFは単に信号の開始と終了を示すものである。フラグはASK、FSK等の変調の種類の情報を有する。データには、暗号解読するデータが含まれる。CRCはデータの誤認を防止するためにデータより生成される固有のコードの情報を有する。
【0041】
なお、本発明でいうコンピュータとは、記憶部、制御部等を備えた情報処理装置をいい、ICカード101では、CPU102、不揮発性メモリ125等を備えて構成される。
【0042】
また、本発明に係るICカード101は、上述のような構成を有することにより、処理されるべきプログラムであるアプリケーションプログラムを選択し、アプリケーションプログラムがアクセスすべき記憶領域情報を取得し、記憶領域情報がICカード101上のメモリ空間であり他のアプリケーションプログラムがアクセスする範囲と重複しない場合には、記憶領域情報に記憶領域情報の改竄を判定するためのチェック情報を追加して設定記憶領域情報としてアプリケーションプログラムのデータアクセス範囲を設定する。
【0043】
また、アプリケーションプログラムがそのアプリケーションプログラムの設定記憶領域情報をアクセスする場合には、設定記憶領域情報が改竄されていなかをチェックし、更にアプリケーションプログラムがアクセスしようとする記憶領域情報(読み出し記憶領域情報、更新記憶領域情報)が、そのアプリケーションプログラムの設定記憶領域情報の範囲内か否かをチェックしてから、アプリケーションプログラムのアクセスを許可する機能を有している。
【0044】
ここで、当該機能を発揮するための構成について、図2に示す機能ブロック図を用いて説明する。本発明におけるレーザー攻撃を阻止する機能を搭載する対象であるデータ情報を処理する半導体装置であるICチップを含むICカード101は、選択部131、記憶領域情報取得部132、記憶領域情報判断部133、記憶領域情報設定部133、設定記憶領域情報チェック部134、読み出し記憶領域情報チェック部136、データ情報読出部137、更新記憶領域情報チェック部138、データ情報更新部139、を含んで構成される。
【0045】
選択部131は、アプリケーションプログラムの選択情報に基づいてアプリケーションプログラムが選択される機能を有する。
【0046】
アプリケーションプログラムの選択情報は、上位の関数から与えられ、または受信信号120、およびICカード101のアンテナを介して入力されてもよい。
【0047】
また、アプリケーションプログラムとはICカード101上で記憶されているアプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152を示し、アプリケーションプログラムの選択情報に基づき、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152の何れかが実行される場合と、複数のアプリケーションプログラムが選択され、時分割的に実行される場合とがある。
【0048】
記憶領域情報取得部132は、選択部131によって選択された前記アプリケーションプログラムから記憶領域情報を取得する機能を有する。
【0049】
この実施形態におけるアプリケーションプログラムは、処理の対象となるアプリケーションプログラムデータの読み出し、または更新をするプログラムであるので、処理の対象となるアプリケーションプログラムデータのアドレス範囲情報を示す記憶領域情報を取得する。
【0050】
記憶領域情報判断部133は、記憶領域情報によって示される記憶領域(アドレス範囲)が半導体装置であるICカード101の記憶領域内(ROM103、RAM104、不揮発メモリ125のデータを示すアドレス範囲内)か否かを判断し、記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する。
【0051】
ICカード101の記憶領域内(ROM103、RAM104、不揮発メモリ125のデータを示すアドレス範囲内)であるか否かを判断するのは、ICカード101の記憶領域外を記憶領域情報が示す場合には、プログラムが(故意、悪意等によって改竄され)暴走する可能性があるため、暴走を未然に防ぐ目的がある。
【0052】
記憶領域情報によって示される記憶領域が他のアプリケーションの記憶領域を含んでいるか否かを判断するのは、例えば、アプリケーションプログラムA150のデータ領域はアプリケーションプログラムAデータ150dであり、アプリケーションプログラムA150はアプリケーションプログラムAデータ150dしかアクセスできないことになっているからである。
【0053】
アプリケーションプログラムA150から記憶領域情報取得部132が取得した記憶領域情報がアプリケーションプログラムAデータ150d以外のアプリケーションプログラムBデータ151dまたはアプリケーションプログラムCデータ152d等のデータ領域をアクセスするものである場合には、記憶領域情報が改竄されている可能性があるので範囲外へのアクセスを防ぐために、他のアプリケーションの前記記憶領域を含んでいるか否かを判断する。
【0054】
記憶領域情報設定部134は、記憶領域情報判断部133によって、記憶領域情報によって示される記憶領域が半導体装置の記憶領域内であって、記憶領域情報によって示される記憶領域が他のアプリケーションの記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する機能を有する。
【0055】
すなわち、記憶領域情報設定部134は、記憶領域情報がICカード101の記憶領域内(ROM103、RAM104、不揮発メモリ125のデータを示すアドレス範囲内)であり、他のアプリケーションの記憶領域を含んでいないと判断された場合には、記憶領域情報が改竄されておらず、正当であると判断し、記憶領域情報をそのアプリケーションプログラムの設定記憶領域情報として設定し、設定記憶領域情報に基づいて以降のアプリケーションプログラムのアクセス範囲をチェックする。
【0056】
また、アプリケーションプログラムは、処理の対象となるアプリケーションプログラムデータの読み出し、または更新をするプログラムであるので、改竄されないように処理の対象となるアプリケーションプログラムデータのアドレス範囲情報を示す取得した記憶領域情報にチェックサム方式やCRC方式(Cyclic Redundancy Check)、パリティチェック方式等によるチェック情報を付加する。
【0057】
これらのチェック情報は、アプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152のそれぞれのアプリケーションプログラム毎に設定されたアプリケーションプログラムAデータ150dのアドレス範囲である設定記憶領域情報、アプリケーションプログラムB151dデータのアドレス範囲である設定記憶領域情報およびアプリケーションプログラムCデータ152dのアドレス範囲である設定記憶領域情報が改竄されたか否かをチェックするために用いられる。
【0058】
設定記憶領域情報チェック部135は、記憶領域情報取得部132が、選択部131によって選択されたアプリケーションプログラムから読み出し記憶領域情報を取得した場合に、記憶領域情報設定部134によって設定された設定記憶領域情報に追加されたチェック情報を用いて設定記憶領域情報が書き換えられていないかをチェックする機能を有する。
【0059】
このように設定記憶領域情報チェック部135は、アプリケーションプログラムからデータ領域へのアクセスがある度に、チェック情報を用いて設定記憶領域情報が書き換えられていないかをチェックし、設定記憶領域情報の改竄を事前に察知し、重要な他のデータ領域のデータ情報が読み出し、または、更新されないようにしている。
【0060】
読み出し記憶領域情報チェック部136は、設定記憶領域情報チェック部135によって設定記憶領域情報が書き換えられていないことがチェックされた場合に、読み出し記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれるか否かを判定する機能を有する。
【0061】
このように、読み出し記憶領域情報チェック部136は、読み出し記憶領域情報によって示される記憶領域が、その選択されたアプリケーションプログラムがアクセスすることが許容されている記憶領域(設定記憶領域情報)内のデータをアクセスするものか否かを判定し、読み出し記憶領域情報がアクセスすることが許容されている記憶領域(設定記憶領域情報)内の場合にのみ、そのアクセスを許容する。
【0062】
例えば、アプリケーションプログラムA150の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムAデータ150dであり、アプリケーションプログラムB151の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムBデータ151dであり、アプリケーションプログラムC152の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムCデータ152dである。
【0063】
データ情報読出部137は、読み出し記憶領域情報チェック部136によって、読み出し記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される前記記憶領域に含まれていると判定された場合に、前記読み出し記憶領域情報に対応する記憶領域のデータ情報を読み出す機能を有する。
【0064】
更新記憶領域情報チェック部138は、設定記憶領域情報チェック部135によって設定記憶領域情報が書き換えられていないことがチェックされた場合に、更新記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれるかを判定する機能を有する。
【0065】
このように、更新設定記憶領域情報チェック部138は、更新記憶領域情報によって示される記憶領域が、その選択されたアプリケーションプログラムがアクセスすることが許容されている記憶領域(設定記憶領域情報)内のデータをアクセスするものか否かを判定し、更新記憶領域情報がアクセスすることが許容されている記憶領域(設定記憶領域情報)内の場合にのみ、そのアクセスを許容する。
【0066】
例えば、アプリケーションプログラムA150の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムAデータ150dであり、アプリケーションプログラムB151の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムBデータ151dであり、アプリケーションプログラムC152の設定記憶領域情報が示す設定記憶領域のデータはアプリケーションプログラムCデータ152dであり、それぞれのデータが、それぞれのアプリケーションプログラムのアクセス許容範囲である。
【0067】
データ情報更新部139は、更新記憶領域情報チェック部138によって、更新記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれていると判定された場合に、更新記憶領域情報に対応する記憶領域のデータ情報を更新する(書き換える)機能を有する。
【0068】
[実施例1]
次に、図2におけるCPU102でのレーザー攻撃を阻止する機能をもつメモリ管理処理プログラムの動作の一部を、図3のフローチャートと対応させながら説明する。
【0069】
図3は、本実施形態のメモリ管理処理プログラムの一部であるアプリケーションプログラムが設定記憶領域情報によって示される記憶領域を設定する動作を示すフローチャートである。
【0070】
より、具体的には、処理されるべきプログラムであるアプリケーションプログラムを選択し、アプリケーションプログラムがアクセスすべき記憶領域情報を取得し、記憶領域情報がICカード101上のメモリ空間であり他のアプリケーションプログラムがアクセスする範囲と重複しない場合には、記憶領域情報に記憶領域情報の改竄を判定するためのチェック情報を追加して設定記憶領域情報としてアプリケーションプログラムのデータアクセス範囲を設定する処理について説明する。
【0071】
ステップS1において、ICカード101上のメモリ空間にあるアプリケーションプログラムA150、アプリケーションプログラムB151およびアプリケーションプログラムC152の何れかの実行が指示される。
【0072】
ステップS2において、メモリ管理処理プログラムにおいて実現される機能である選択部131は、アプリケーションプログラムの選択情報に基づいてアプリケーションプログラムを選択する。
【0073】
ステップS3において、記憶領域情報取得部132は、選択部131によって選択されたアプリケーションプログラムから記憶領域情報を取得する。
【0074】
ステップS4において、記憶領域情報判断部133は、ステップS3において取得した記憶領域情報によって示される記憶領域(アドレス範囲)がICカード101の記憶領域内(ROM103、RAM104、不揮発メモリ125のデータを示すアドレス範囲内)であるか否かを判断するとともに、記憶領域が他のアプリケーションプログラムの記憶領域を含んでいるか否かを判断する。
【0075】
記憶領域情報によって示される記憶領域が、ICカード101の記憶領域内であるとともに、他のアプリケーションプログラムの記憶領域を含んでいない場合(ステップS4:YES)にはステップS5に進み、記憶領域情報によって示される記憶領域が、ICカード101の記憶領域内でないか、または、他のアプリケーションプログラムの記憶領域を含んでいる場合(ステップS4:NO)にはステップS7に進む。
【0076】
ステップS5において、記憶領域情報設定部134は、記憶領域情報にチェック情報を追加するとともに、ステップ3において取得したアプリケーションプログラムの記憶領域情報に基づいて設定記憶領域を設定する。
【0077】
ステップS6において、メモリ管理処理プログラムは、記憶領域情報が異常であることを、メモリ管理処理プログラムを呼び出したアプリケーションプログラムに通知する。
【0078】
このように図3に関わる動作によれば、アプリケーションプログラムのアクセス可能範囲である設定記憶領域の改竄を防止することが可能になる。また、記憶領域情報が異常であることを、メモリ管理処理プログラムを呼び出したプログラムに通知することが可能になる。
【0079】
[実施例2]
次に、図2におけるCPU102でのレーザー攻撃を阻止する機能をもつメモリ管理処理プログラムの動作の一例を、図4のフローチャートと対応させながら説明する。
【0080】
図4は、本実施形態のメモリ管理処理プログラムの一部であるアプリケーションプログラムの読み出し記憶領域情報がアクセス可能な範囲にあるか否かをチェックする動作を示すフローチャートである。
【0081】
具体的には、アプリケーションプログラムがそのアプリケーションプログラムの設定記憶領域情報をアクセスする場合には、設定記憶領域情報が改竄されていなかをチェックし、更にアプリケーションプログラムがアクセスしようとする記憶領域情報(読み出し記憶領域情報)が、そのアプリケーションプログラムの設定記憶領域情報の範囲内か否かをチェックしてから、アプリケーションプログラムのアクセスを許可する機能を有している。
【0082】
ステップS10において、ICカード101上のメモリ空間にあるアプリケーションプログラムA150、アプリケーションプログラムB151またはアプリケーションプログラムC152によってデータ情報の読み出し処理が指示される。
【0083】
ステップS11において、選択部131は、アプリケーションプログラムの選択情報に基づいてアプリケーションプログラムを選択し、記憶領域情報取得部132は、選択部131によって選択されたアプリケーションプログラムから読み出し記憶領域情報を取得する。
【0084】
ステップS12において、設定記憶領域情報チェック部135は、記憶領域情報設定部134によって設定された設定記憶領域情報に追加されたチェック情報を用いて設定記憶領域情報が書き換えられていないかをチェックする。
【0085】
設定記憶領域情報が書き換えられていない場合(ステップS12:YES)にはステップS13に進み、設定記憶領域情報が書き換えられている場合(ステップS12:NO)にはステップS17に進む。
【0086】
ステップS13において、読み出し記憶領域情報チェック部136は、読み出し記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれるか否かを判定する。
【0087】
読み出し記憶領域情報によって示される記憶領域が選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれる場合(ステップS13:YES)の場合にはステップS14に進み、読み出し記憶領域情報によって示される記憶領域が選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれない場合(ステップS13:NO)の場合にはステップS17に進む。
【0088】
ステップS14において、データ情報読出部137は、読み出し記憶領域情報に対応する記憶領域のデータ情報を読み出す。
【0089】
ステップS15において、データ情報読出部137は、ステップS14で読み出したデータ情報をステップS12で選択されたアプリケーションプログラムに通知する。
【0090】
ステップS16において、メモリ管理処理プログラムはデータの読み出し処理を終了する。
【0091】
ステップS17において、メモリ管理処理プログラムは、設定記憶領域情報の異常(改竄されている)、または、読み出し記憶領域情報が異常(アクセスが許可された範囲外をアクスしようとしている)であることを、メモリ管理処理プログラムを呼び出したアプリケーションプログラムに通知する。
【0092】
このように図4に関わる動作によれば、アプリケーションプログラムのアクセス可能範囲である設定記憶領域の改竄を察知することが可能になる。また、読み出し記憶領域情報が異常であることを、メモリ管理処理プログラムを呼び出したプログラムに通知することが可能になる。
【0093】
[実施例3]
次に、図2におけるCPU102でのレーザー攻撃を阻止する機能をもつメモリ管理処理プログラムの動作の一例を、図5のフローチャートと対応させながら説明する。
【0094】
図5は、本実施形態のメモリ管理処理プログラムの一部であるアプリケーションプログラムの更新記憶領域情報がアクセス可能な範囲にあるか否かをチェックする動作を示すフローチャートである。
【0095】
具体的には、アプリケーションプログラムがそのアプリケーションプログラムの設定記憶領域情報をアクセスする場合には、設定記憶領域情報が改竄されていなかをチェックし、更にアプリケーションプログラムがアクセスしようとする記憶領域情報(更新記憶領域情報)が、そのアプリケーションプログラムの設定記憶領域情報の範囲内か否かをチェックしてから、アプリケーションプログラムのアクセスを許可する機能を有している。
【0096】
ステップS20において、ICカード101上のメモリ空間にあるアプリケーションプログラムA150、アプリケーションプログラムB151またはアプリケーションプログラムC152によってデータ情報の更新処理が指示される。
【0097】
ステップS21において、選択部131は、アプリケーションプログラムの選択情報に基づいてアプリケーションプログラムを選択し、記憶領域情報取得部132は、選択部131によって選択されたアプリケーションプログラムから更新記憶領域情報を取得する。
【0098】
ステップS22において、設定記憶領域情報チェック部135は、記憶領域情報設定部134によって設定された設定記憶領域情報に追加されたチェック情報を用いて設定記憶領域情報が書き換えられていないかをチェックする。
【0099】
設定記憶領域情報が書き換えられていない場合(ステップS22:YES)にはステップS23に進み、設定記憶領域情報が書き換えられている場合(ステップS22:NO)にはステップS27に進む。
【0100】
ステップS23において、更新記憶領域情報チェック部138は、更新記憶領域情報によって示される記憶領域が選択部131によって選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれるか否かを判定する。
【0101】
更新記憶領域情報によって示される記憶領域が選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれる場合(ステップS23:YES)の場合にはステップS24に進み、更新記憶領域情報によって示される記憶領域が選択されたアプリケーションプログラムに対応する設定記憶領域情報によって示される記憶領域に含まれない場合(ステップS23:NO)の場合にはステップS26に進む。
【0102】
ステップS24において、データ情報更新部139は、更新記憶領域情報に対応する記憶領域のデータ情報を更新する。
【0103】
また、データ情報更新部139は、ステップS24で読み出したデータ情報をステップS22で選択されたアプリケーションプログラムに通知し、アプリケーションプログラムにおいて更新したデータ情報が正しいかをチェックしてもよい。
【0104】
ステップS25において、メモリ管理処理プログラムはデータ情報の更新処理を終了する。
【0105】
ステップS26において、メモリ管理処理プログラムは、設定記憶領域情報の異常(改竄されている)、または、更新記憶領域情報が異常(アクセスが許可された範囲外をアクスしようとしている)であることを、メモリ管理処理プログラムを呼び出したアプリケーションプログラムに通知する。
【0106】
このように図5に関わる動作によれば、アプリケーションプログラムのアクセス可能範囲である設定記憶領域の改竄を察知することが可能になる。また、更新記憶領域情報が異常であることを、メモリ管理処理プログラムを呼び出したプログラムに通知することが可能になる。
【0107】
なお、本実施例は、本明細書中の他の実施の形態の記載とも適宜組み合わせて実施することが可能である。
【0108】
[本実施形態の概念の説明]
図6を用いて、本実施形態の概念について説明する。
(1)アプリケーション選択後にアプリケーションプログラムAは、自身が管理するアプリケーションプログラムAデータのメモリ範囲情報をメモリ管理処理へ通知する。そしてメモリ範囲情報にはチェックコード等の改竄を判定できるような情報を付加しておく。
【0109】
(2)アクセス可能範囲の設定
メモリ管理処理は、指定されたメモリ範囲情報(チェックコード等のチェック情報を含む)をアクセス可能範囲として内部へ保持する。
【0110】
(3)データ読み出し(またはデータの更新)
アプリケーションプログラムAは、読み出す(または更新する)データのアドレスを指定しメモリ管理処理を経由しデータへアクセスする。
【0111】
(4)アクセス可能範囲判定
メモリ管理処理は、内部で保持しているアクセス可能範囲が改竄されていないことを確認する。続いて指定されたアドレスがアクセス可能範囲内であるかを判定する。
ここでアクセス可能範囲が改竄されているか、またはアドレスがアクセス可能範囲外であることを確認した場合は次のステップへ進まず異常動作として異常動作情報をアプリケーションプログラムA通知する。
【0112】
(5)データアクセス
指定されたアドレスからデータの読み出し、または更新を行う。
【0113】
(6)読み出しデータ取得
(3)にてデータ読み出しを指定した場合は、読み出したデータをアプリケーションに通知する。
【0114】
本発明によれば、レーザー攻撃を阻止する機能を有するICチップを備えたICカードにおいて、メモリ管理処理を備えることにより、レーザー攻撃によって内部情報を取り出すことが殆ど不可能になり、セキュリティを高めることが出来る。また、レーザー攻撃を阻止する機能を有するICチップにおいて、レーザー攻撃を阻止する方法が変更になることに伴う仕様の変更があった場合にも、ICチップのマスク設計の段階から作り直す必要がない。そのため、製造コストの削減及び製造時間の短縮ができる。また、マスク設計の変更によって再度作り直したICチップに不具合が生じているといった懸念もない。
【0115】
さらに、従来においては、レーザー攻撃を阻止する機能を有するICチップを製造する際においては、レーザー攻撃を阻止する回路を搭載することもあった。しかしながら、本発明を採用することで、レーザー攻撃を阻止する機能を読み出し専用メモリまたは不揮発性メモリにプログラムとして格納することにより、別途レーザー攻撃を阻止する機能を備えた回路を設ける場合より、ICチップを小型化することができる。そのため、ICチップの軽量化、1枚の基板から作製できるICチップの数の増加に伴うコストの削減、またレーザー攻撃を阻止する機能を備えた回路の分だけ、トランジスタ数が減少することによる歩留まりの向上に貢献することができる。
【0116】
以上のように、本発明の半導体装置は物品であればどのようなものにでも設けて使用し
てもよく、ほかにも免許証、保険証、定期券、キャッシュカード、クレジットカード、電
子キー、電子マネー等に使用することができる。
【0117】
なお、図3乃至図5における動作手順を、ハードディスク等の記録媒体に予め記録しておき、或いはインターネット等のネットワークを介して予め記録しておき、これを汎用のマイクロコンピュータ等により読み出して実行することにより、当該汎用のマイクロコンピュータ等を実施形態に係わるCPUとして機能させることも可能である。
【0118】
さらに、本発明は上記実施例に限定されるものではなく、本発明の要旨の範囲内において種々変更可能である。
【0119】
さらに、本明細書に記載および図示されている実施形態は具体例としてのものであるに過ぎず、本発明の範囲を限定するものと考えるべきではないと理解すべきである。本発明の精神および範囲にしたがって上述以外の変更および修正を施すことも可能である。
【図面の簡単な説明】
【0120】
【図1】本発明の実施形態に係る半導体装置(101)の全体を示すブロック図である。
【図2】本発明の実施形態に係るメモリ管理処理の機能概要を示す図である。
【図3】本発明の実施形態に係るメモリ管理処理の実施例1の動作を示すフローチャートである。
【図4】本発明の実施形態1に係るメモリ管理処理の実施例2の動作を示すフローチャートである。
【図5】本発明の実施形態1に係るメモリ管理処理の実施例3の動作を示すフローチャートである。
【図6】本発明に係わる実施形態の概念を示す図である。
【符号の説明】
【0121】
101 ICカード
102 CPU102
103 ROM
104 RAM
105 コントローラ
106 演算回路
107 アンテナ
108 共振回路
109 電源回路
112 復調回路
113 変調回路
114 電源管理回路
115 アナログ部
125 フラッシュメモリ等の不揮発性メモリ
131 選択部
132 記憶領域情報取得部
133 記憶領域情報判断部
134 記憶領域情報設定部
135 設定記憶領域情報チェック部
136 読み出し記憶領域情報チェック部
137 データ情報読出部
138 更新記憶領域情報チェック部
139 データ情報更新部

【特許請求の範囲】
【請求項1】
少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置において、
前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択手段と、
前記選択手段によって選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得手段と、
前記記憶領域情報によって示される記憶領域が前記半導体装置の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断手段と、
前記記憶領域情報判断手段によって、前記記憶領域情報によって示される前記記憶領域が前記半導体装置の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定手段と、
を備えることを特徴とする半導体装置。
【請求項2】
請求項1に記載の半導体装置おいて、
前記記憶領域情報取得手段が、前記選択手段によって選択された前記アプリケーションプログラムから読み出し記憶領域情報を取得した場合に、前記記憶領域情報設定手段によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックする設定記憶領域情報チェック手段と、
前記設定記憶領域情報チェック手段によって前記設定記憶領域情報が書き換えられていないことがチェックされた場合に、前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるかを判定する読み出し記憶領域情報チェック手段と、
前記読み出し記憶領域情報チェック手段によって、前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれていると判定された場合に、前記読み出し記憶領域情報に対応する記憶領域のデータ情報を読み出すデータ情報読出手段と、
を更に備えることを特徴とする半導体装置。
【請求項3】
請求項1に記載の半導体装置おいて、
前記記憶領域情報取得手段が、前記選択手段によって選択された前記アプリケーションプログラムから更新記憶領域情報を取得した場合に、前記記憶領域情報設定手段によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックする設定記憶領域情報チェック手段と、
前記設定記憶領域情報チェック手段によって前記設定記憶領域情報が書き換えられていないことがチェックされた場合に、前記更新記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるかを判定する更新記憶領域情報チェック手段と、
前記更新記憶領域情報チェック手段によって、前記更新記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれていると判定された場合に、前記更新記憶領域情報に対応する前記記憶領域の前記データ情報を更新するデータ情報更新手段と、
を更に備えることを特徴とする半導体装置。
【請求項4】
請求項2に記載の半導体装置おいて、
前記データ情報読出手段が前記データ情報をバイト単位で読み出す毎に、前記設定記憶領域情報チェック手段は、前記記憶領域情報設定手段によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックし、前記読み出し記憶領域情報チェック手段は前記読み出し記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるか否かを判定することを特徴とする半導体装置。
【請求項5】
請求項3に記載の半導体装置おいて、
前記データ情報更新手段が前記データ情報をバイト単位で更新する毎に、前記設定記憶領域情報チェック手段は、前記記憶領域情報設定手段によって設定された前記設定記憶領域情報に追加された前記チェック情報を用いて前記設定記憶領域情報が書き換えられていないかをチェックし、前記更新記憶領域情報チェック手段は前記更新記憶領域情報によって示される前記記憶領域が前記選択手段によって選択された前記アプリケーションプログラムに対応する前記設定記憶領域情報によって示される前記記憶領域に含まれるか否かを判定することを特徴とする半導体装置。
【請求項6】
少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置の制御方法において、
前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択工程と、
前記選択行程において選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得工程と、
前記記憶領域情報によって示される記憶領域が前記半導体装置の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断工程と、
前記記憶領域情報判断工程において、前記記憶領域情報によって示される前記記憶領域が前記半導体装置の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定工程と、
を備えることを特徴とする半導体装置の制御方法。
【請求項7】
少なくとも2つ以上のアプリケーションプログラムを備えるデータ情報を処理する半導体装置に含まれるコンピュータを、
前記アプリケーションプログラムの選択情報に基づいて前記アプリケーションプログラムが選択される選択手段、
前記選択手段によって選択された前記アプリケーションプログラムから記憶領域情報を取得する記憶領域情報取得手段、
前記記憶領域情報によって示される記憶領域が前記半導体装置の前記記憶領域内か否かを判断し、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいるか否かを判断する記憶領域情報判断手段、
前記記憶領域情報判断手段によって、前記記憶領域情報によって示される前記記憶領域が前記半導体装置の前記記憶領域内であって、前記記憶領域情報によって示される前記記憶領域が他のアプリケーションの前記記憶領域を含んでいないと判断された場合には、前記記憶領域情報にチェック情報を追加し、前記アプリケーションプログラムに対応する前記記憶領域情報を設定記憶領域情報として設定する記憶領域情報設定手段、
として機能させることを特徴とする半導体装置の制御プログラム。
【請求項8】
請求項1乃至4の何れか一項に記載の前記半導体装置はIC(Integrate Circuit)チップを搭載したICカードであることを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−128571(P2010−128571A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−299697(P2008−299697)
【出願日】平成20年11月25日(2008.11.25)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】