(57)【要約】【課題】  起動させた複数のアプリケーションを切替えて使用する際、ＳＥＬＣＴコマンドを送信することなく切替えができ、かつ、アプリケーションがＲＡＭに記憶したデータが消去されることのないマルチアプリケーションＩＣカードを提供する。【解決手段】  ＩＣカード１０に送信されたコマンドは、コマンド解析部１１０で解析され、コマンドを処理するアプリケーション１２０が特定された後、コマンド記憶部１１１に記憶される。アプリケーション切替え部１３０は、時間計測手段１３１を用いて時間を計測し、計測した時間に受信したコマンドの処理を、アプリケーションを切替えることで、コマンド解析部１１０が特定したアプリケーション１２０に処理させる。なお、アプリケーション１２０を切替える際は、実行中のアプリケーションが使用していたデータはＲＡＭに退避・復帰される。【選択図】      図３
2006172271.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを起動させた状態で動作するマルチアプリケーションＩＣカードであって、前記マルチアプリケーションＩＣカードは、外部装置から送信されたコマンドを解析し、前記コマンドを処理する前記アプリケーションを特定するコマンド解析部と、前記コマンドを処理する前記アプリケーションを切替え、前記コマンド解析部が特定した前記アプリケーションに前記コマンドの処理を委託する動作を一定時間間隔で行うアプリケーション切替え部と、を備えていることを特徴とするマルチアプリケーションＩＣカード。
【請求項２】
請求項１に記載のマルチアプリケーションＩＣカードにおいて、前記コマンドの構造はＩＳＯ７８１６規格で定められたコマンドＡＰＤＵであって、前記コマンド解析部は前記コマンドＡＰＤＵのＣＬＡバイトを解析することで、前記コマンドを処理する前記アプリケーションを特定することを特徴とするマルチアプリケーションＩＣカード。
【請求項３】
請求項１または請求項２に記載のマルチアプリケーションＩＣカードにおいて、前記マルチアプリケーションＩＣカードは揮発性メモリを備え、前記揮発性メモリには、実行中の前記アプリケーションが使用するワーク領域と、前記ワーク領域のデータを退避させるための領域である退避領域が配置され、前記アプリケーション切替え部は、前記アプリケーションを切替え際は、少なくとも切替える前の前記アプリケーションが使用していた前記ワーク領域のデータを前記退避領域に退避し、少なくとも切り替え後の前記アプリケーションの前記退避領域のデータを前記ワーク領域に復帰させる動作を行うことを特徴とするマルチアプリケーションＩＣカード。
【請求項４】
請求項１から請求項３のいずれかに記載のマルチアプリケーションＩＣカードに備えられた前記コマンド解析部もしくは前記アプリケーション切替え部として、マルチアプリケーション型ＩＣカードに実装されたＩＣチップを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションを一枚のＩＣカードに実装できるマルチアプリケーションＩＣカードおよびＩＣカード用プログラムに関し、更に詳しくは、複数のアプリケーションを起動しアプリケーションを切替えて使用するマルチアプリケーションＩＣカードおよびＩＣカード用プログラムに関する。
【背景技術】
【０００２】
従来、ＩＣカードは、一つのアプリケーションを一枚のＩＣカードに実装し、単一の機能のみを果たすものが多かったが、ＩＣカード用チップの高機能化を受けて、複数のアプリケーションを一枚のＩＣカードに実装できるマルチアプリケーションＩＣカードが主流になりつつある。
【０００３】
マルチアプリケーションＩＣカードとは、ＩＣカード発行会社やＩＣカードの所有者が、一枚のＩＣカードに複数のアプリケーションを追加・削除できるＩＣカードで、ＩＣカードの基本処理を行うマルチアプリケーションオペレーティングシステム（以下ＯＳ；Operating System）をＲＯＭ（Read Only Memory）に格納し、アプリケーションを書換え可能なメモリ（例えば、ＥＥＰＲＯＭ；Electronically Erasable and Programmable Read Only Memory）に格納する。
【０００４】
複数のアプリケーションを一枚のマルチアプリケーションＩＣカードに実装した場合、当然のことながら、一枚のマルチアプリケーションＩＣカードに実装された複数のアプリケーションを起動させ、起動させた複数のアプリケーションを切り替えて使用するケースが生じる。例えば、一枚のマルチアプリケーションＩＣカードにクレジットアプリケーションとポイントアプリケーションを実装し、クレジットアプリケーションの処理を行いながら、ポイントアプリケーションを処理するケースである。
【０００５】
本出願人は、マルチアプリケーションＩＣカードにおいて、複数のアプリケーションを切り替えて使用する際に、それぞれのアプリケーションが有するセキュリティステータスを退避・復帰させることで、アプリケーションを切り替えた場合でもアプリケーションを最初から処理することがなく、上位システム側からすると、処理速度を向上させることのできるマルチアプリケーションＩＣカード及びその処理方法を、既に特許文献１において開示している。
【特許文献１】特開２００１−３０７０４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術を適用したマルチアプリケーションＩＣカードであっても、複数のアプリケーションを起動させ、アプリケーションを切り替えて使用するときは、切替える前のアプリケーションが使用し、揮発性メモリ（例えば、ＲＡＭ；Random Access Memory）に記憶・保持していたセキュリティステータスを除くデータは消去されてしまう場合がある。また、アプリケーションを切替える際は、「ＳＥＬＣＴコマンド」と呼ばれるコマンドをリーダライタからＩＣカードに送信することが必ず必要であり、システム全体として処理時間がかかってしまう。
【０００７】
そこで、本発明は、複数のアプリケーションを起動させ、アプリケーションを切り替えて使用するときにおいても、切替える前のアプリケーションが使用し、ＲＡＭに記憶されているデータ（セキュリティステータスを含む）が消去されてしまうことがなく、また、アプリケーションを切替える際は、「ＳＥＬＣＴコマンド」と呼ばれるコマンドをリーダライタからＩＣカードに送信するが不必要なマルチアプリケーションＩＣカードおよびＩＣカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決する第１の発明は、複数のアプリケーションを起動させた状態で動作するマルチアプリケーションＩＣカードであって、前記マルチアプリケーションＩＣカードは、外部装置から送信されたコマンドを解析し、前記コマンドを処理する前記アプリケーションを特定するコマンド解析部と、前記コマンドを処理する前記アプリケーションを切替え、前記コマンド解析部が特定した前記アプリケーションに前記コマンドの処理を委託する動作を一定時間間隔で行うアプリケーション切替え部と、を備えていることを特徴とするマルチアプリケーションＩＣカードである。
【０００９】
第１の発明において、前記コマンドの構造はＩＳＯ７８１６規格で定められたコマンドＡＰＤＵである場合は、前記コマンド解析部は前記コマンドＡＰＤＵのＣＬＡバイトを解析することで、前記コマンドを処理する前記アプリケーションを特定することができる。
【００１０】
第１の発明において、更に好ましい形態は、前記マルチアプリケーションＩＣカードは揮発性メモリを備え、前記揮発性メモリには、実行中の前記アプリケーションが使用するワーク領域と、前記ワーク領域のデータを退避させるための領域である退避領域が配置され、前記アプリケーション切替え部は、前記アプリケーションを切替える際は、少なくとも切替える前の前記アプリケーションが使用していた前記ワーク領域のデータを前記退避領域に退避させ、少なくとも切り替え後の前記アプリケーションの前記退避領域のデータを前記ワーク領域に復帰させる動作を行うことを特徴とするマルチアプリケーションＩＣカードである。
【００１１】
更に、第２の発明は、第１の発明に記載の前記コマンド解析部もしくは前記アプリケーション切替え部として、マルチアプリケーション型ＩＣカードに実装されたＩＣチップを機能させるためのプログラムである。
【発明の効果】
【００１２】
上述した第１の本発明によれば、複数のアプリケーションを起動させ、アプリケーションを切り替えて使用するときにおいても、外部装置から送信されたコマンドを処理するアプリケーションは前記コマンド解析部で特定され、前記アプリケーションの切替えは前記アプリケーション切替え部で自動的に行われるため、アプリケーションを切替える際に、「ＳＥＬＣＴコマンド」と呼ばれるコマンドをリーダライタからＩＣカードに送信する必要はなくなる。
【００１３】
更に、第１の発明の好ましい形態によれば、切替える前のアプリケーションが使用し前記ワーク領域に記憶されたデータは前記退避領域に退避されるため、前記アプリケーションを切替えても、切替える前のアプリケーションが使用し、揮発性メモリに記憶していたデータが消えることはない。
【００１４】
更に、第２の発明のプログラムをマルチアプリケーションＩＣカードに実装することで、第１の発明のマルチアプリケーションＩＣカードを提供できる。
【発明を実施するための最良の形態】
【００１５】
本発明を適用したマルチアプリケーションＩＣカード（以下、単にＩＣカードと略す）について、図を参照しながら詳細に説明する。図１は、本発明を適用したＩＣカード１０を説明する図である。図１（ａ）はＩＣカード１０の斜視図である。図１（ａ）で示したように、ＩＣカード１０はキャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにＩＣモジュールがエンベットされた接触型ＩＣカードで、ＩＣカードには複数のアプリケーションを追加・削除できるマルチアプリケーションＯＳが実装されている。
【００１６】
図１（ｂ）はＩＣカード１０にエンベットされるＩＣモジュール２０を説明する図である。ＩＣモジュール２０はカード表面端子２１と樹脂でモールドされたＩＣチップ３０を備え、カード表面端子２１と外部装置とが電気的に接触することで、外部装置であるリーダライタとＩＣチップ３０間で電力供給やコマンド・レスポンスメッセージのデータ通信を行う。
【００１７】
図２は、ＩＣモジュール２０に内蔵されるＩＣチップ３０のハードウェア構造図である。図２に示したように、ＩＣチップ３０には、中央演算装置３１（Central Processing Unit、以下ＣＰＵと記す）、読み出し専用メモリ３２（Read Only Memory、以下ROMと記す）、書換え可能なメモリとしてＥＥＰＲＯＭ３４（Electrically Erasable Programmable Read-Only Memoryの略）、揮発性メモリとしてランダムアクセスメモリ３３（Random Access Memory、以下ＲＡＭと記す）およびリーダライタとカード表面端子２１を介してデータ通信するためのＩ／Ｏ回路３５、指定された時間を計測するタイマー回路３６が少なくとも備なえられている。
【００１８】
なお、本発明は、ＩＣチップ３０の仕様を限定するものではなく、用途に適した仕様のＩＣチップ３０を選択することができる。例えばＲＯＭ３２およびＥＥＰＲＯＭ３４の容量について限定はしないし、書換え可能なメモリは強誘電体メモリまたはフラッシュメモリ等のＥＥＰＲＯＭ以外のメモリであっても構わない。またＩＣチップ３０は暗号演算回路やコプロセッサ回路等の図示していない他のデバイスを備えていても構わない。
【００１９】
加えて、本実施の形態においてはＩＣカード１０を接触型ＩＣカードとしているが、ＩＣカード１０はアンテナコイルを内蔵し非接触で外部装置とデータ通信する非接触型ＩＣカード、または接触によるデータ通信と非接触によるデータ通信の２つの通信機能を兼ね備えたデュアルインターフェース型ＩＣカードであってもよく、ＩＣカード１０の形状はＳＩＭ（Subscriber Identity Module）形状であってもよい。
【００２０】
図３は、図１のＩＣカード１０の機能ブロック図である。図１のＩＣカード１０は、複数のアプリケーション１２０（ここでは、アプリケーションＡ、Ｂの２つ）と、アプリケーション１２０を選択し実行させる選択コマンド（例えば、ＩＳＯ７８１６規格のＳＥＬＥＣＴコマンド）を含み、マルチアプリケーションＯＳに備えられたコマンドの集合であるシステムコマンド１２１と、アプリケーション１２０を切替えて実行させる機能を備えたアプリケーション切替え部１３０と、Ｉ／Ｏ回路３５を操作して、ＩＣカード１０とリーダライタ４０間でコマンド・レスポンスメッセージのデータ通信する機能を備えた伝送制御部１００と、伝送制御部１００がリーダライタ４０から受信したコマンドを解析し、バッファであるコマンド記憶部１１１に格納する機能を備えたコマンド解析部１１０と、を備えている。
【００２１】
図３に記載している各要素は、ＣＰＵ３１に一連の処理を実行させるために設計されたプログラムで、ＩＣチップ３０に備えられた各デバイスを制御することで、それぞれの要素が有する機能を実現する。なお、コマンド記憶部１１１とは、ＩＣチップ３０に備えられた書き換え可能なメモリの領域に設けられたバッファで、本実施の形態においてはＲＡＭ３３の一部の領域をコマンド記憶部１１１として使用する。
【００２２】
図４は、図３の各要素が使用するＲＡＭ３３の領域を説明する図である。ＲＡＭ３３には、伝送制御部１００が使用する伝送制御部領域３３０と、コマンド解析部１１０が使用するコマンド解析部領域３３１と、アプリケーション切替え部１３０が使用するアプリケーション切替え部３３２領域と、実行中のアプリケーション１２０が使用するワーク領域３３３と、アプリケーション切替え部１３０がアプリケーション１２０を切替える際に、ワーク領域３３３のデータを退避させる退避領域３３４とを含んでいる。
【００２３】
図３において、アプリケーション１２０とはある用途のために設計されたプログラムであり、ＥＥＰＲＯＭ３４には利用者が必要とする複数のアプリケーション１２０（図３では、アプリケーションＡ、Ｂの２つ）がロードされる。リーダライタ４０からシステムコマンド１２１に含まれる選択コマンドが送信されると、送信された選択コマンドで特定されるアプリケーション１２０が起動し、アプリケーション１２０はリーダライタ４０から送信されるアプリケーション１２０のコマンドを処理する。
【００２４】
システムコマンド１２１とは、ＥＥＰＲＯＭ３４に実装されるアプリケーション１２０に依存しないコマンドで、マルチアプリケーションＯＳに備えられているコマンドである。システムコマンド１２１には、アプリケーション１２０を選択・起動させる選択コマンドが含まれる。
【００２５】
伝送制御部１００とは、定められた通信プロトコル（例えば、ＩＳＯ７８１６規格で定められたＴ１プロトコル）で、コマンドの受信およびレスポンスメッセージの送信を行う機能を有したプログラムで、伝送制御部１００はマルチアプリケーションＯＳに備えられている。伝送制御部１００はコマンドを受信すると、通信プロトコルを解析し、受信したコマンドに誤りがなければ、通信プロトコルに関すデータを削除し、コマンドをＲＡＭ３３の伝送制御部領域３３０の所定アドレスに記憶する。また、レスポンスメッセージを送信するときは、ＲＡＭ３３の伝送制御部領域３３０の所定アドレスに記憶されたレスポンスメッセージに通信プロトコルのデータを付加して送信する。
【００２６】
コマンド解析部１１０とは、伝送制御部１００が受信したコマンドを解析し、アプリケーション１２０で実行されるコマンドをコマンド記憶部１１１に格納する機能を有したプログラムで、コマンド解析部１１０はマルチアプリケーションＯＳに備えられている。コマンド解析部１１０は、伝送制御部１００が受信したコマンドを受取ると、このコマンドがシステムコマンド１２１のコマンドであるか確認し、システムコマンド１２１のコマンドであれば、システムコマンド１２１に処理を委託する。
【００２７】
伝送制御部１００からコマンド解析部１１０に受け渡されたコマンドが、システムコマンド１２１の選択コマンドである場合は、コマンド解析部１１０は以下に述べる特別な処理を行う。まず、コマンド解析部１１０は選択コマンドに含まれアプリケーション１２０を特定するデータ（ここでは、ＡＩＤ；Application Identification）に論理番号を付加し、コマンド解析部１１０はＡＩＤと論理番号をＲＡＭ３３のコマンド解析部領域３３１に記憶する保存する。
【００２８】
図５は、コマンド解析部１１０がＲＡＭ３３に保持するＡＩＤと論理番号を説明するための図である。論理番号の初期値は「０」で、選択コマンドを受信し、未選択であるアプリケーション１２０を選択するごとに論理番号は「＋１」だけインクリメントされる。図５は、アプリケーションＡを選択した後にアプリケーションＢを選択したときに、コマンド解析部１１０が保持するＡＩＤと論理番号とを示している。図５に示したように、コマンド解析部１１０はアプリケーションＡに対しては論理番号として「００ｈ」（ｈ：１６進表記）を、アプリケーションＢに対しては論理番号として「０１ｈ」を付加している。
【００２９】
そして、コマンド解析部１１０はＡＩＤと論理番号をＲＡＭ３３に格納した後、システムコマンド１２１を呼び出し選択コマンドを実行する。また、選択コマンドが実行される際は、コマンド解析部１１０がアプリケーション１２０に付加した論理番号は、選択コマンドを処理するときにアプリケーション１２０に伝達され、選択されたアプリケーション１２０は伝達された論理番号をＲＡＭ３３のワーク領域３３３に記憶・保持する。
【００３０】
伝送制御部１００から受け渡されたコマンドがシステムコマンド１２１に含まれていない場合、コマンド解析部１１０は、コマンドに含まれるコマンドヘッダ（例えば、ＩＳＯ７８１６規格に記載されたＣＬＡバイト）や、コマンドと共に送信されたアプリケーション１２０を識別するデータ（例えば、ＩＳＯ７８１６に記載されたＡＩＤ；Application Identification）などを解析して、コマンドを処理するアプリケーション１２０を特定し、特定したアプリケーション１２０の論理番号を付加し、コマンドをコマンド記憶部１１１に記憶する。
【００３１】
コマンド解析部１１０がコマンドを解析する一例を、図６を参照して説明する。図６は、ＩＳＯ７８１６規格で定められたコマンドＡＰＤＵを示した図である。コマンドＡＰＤＵ５０において、最初の２バイト（ＣＬＡバイト５１、ＩＮＳバイト５２）はコマンドを識別するデータとして用いられ、例えば、この規格ではＣＬＡバイト５１の８ビット目で、コマンドＡＰＤＵで示されるコマンドがＩＳＯ７８１６規格に準拠しているか否かを示すビットとして使用される。
【００３２】
このＣＬＡバイト５１を利用して、コマンド解析部１１０はリーダライタ４０から受信したコマンドを処理するアプリケーション１２０を特定できる。例えば、図３において、アプリケーションＡがＩＳＯ７８１６規格に準拠したコマンドを使用するアプリケーションで、アプリケーションＢがＩＳＯ７８１６規格に非準拠のコマンドを使用するアプリケーションであるとすると、コマンド解析部１１０は上述したＣＬＡバイト５１の８ビット目を参照することで、送信されたコマンドＡＰＤＵ５０を処理するアプリケーション１２０が、アプリケーションＡであるかアプリケーションＢであるかを特定できる。
【００３３】
図３において、アプリケーション切替え部１３０とは、マルチアプリケーションＯＳとアプリケーション１２０の間に位置しミドルウェア的な働きをするプログラムで、リーダライタ４０から受信したコマンドの処理を委託するアプリケーション１２０を切替える機能を有し、この機能はマルチアプリケーションＯＳに備えられている。
【００３４】
アプリケーション切替え部１３０は、アプリケーション１２０にコマンド処理を委託するタイミングとなる時間を計測する時間計測手段１３１を備えている。時間計測手段１３１とは、アプリケーション切替え部１３０からの指示に従い時間を計測する手段で、本実施の形態においてはタイマー回路３６で実現される。
【００３５】
アプリケーション切替え部１３０は、時間計測手段１３１に計測する時間に対応するカウンタ値をセットし、時間計測手段１３１を起動させる。時間計測手段１３１がセットされたカウンタ値をカウントすると、時間計測手段１３１は信号（ここでは、タイマー割込み信号）が発生し、タイマー割込み信号が発生した情報はアプリケーション切替え部１３０に伝達される。
【００３６】
アプリケーション切替え部１３０が実行すると、アプリケーション切替え部１３０は時間計測手段１３１を動作させて一定時間の計測を開始した後、伝送制御部１００を呼び出してリーダライタ４０からのコマンド受信待ちとする。そして、一定時間が経過した後、コマンド記憶部１１１に記憶されたコマンドを確認し、コマンドが記憶されている場合は、記憶されているコマンドの処理を委託するアプリケーション１２０を切り替えながら、受信したコマンドに対応するアプリケーション１２０に処理を委託する。
【００３７】
アプリケーション切替え部１３０がアプリケーション１２０を切替える動作について説明する。図７は、図３で示したアプリケーションＡ、Ｂをアプリケーション切替え部１３０が切替える動作の手順を示したフロー図で、既にアプリケーションＡが選択済みであるとする。
【００３８】
アプリケーション切替え部１３０がアプリケーションＡからアプリケーションＢに切替えるときは（ステップＳ１０）、実行中であるアプリケーションＡを再開させるために必要なデータであるプログラム実行データ（例えば、ＣＰＵのレジスタデータ等）とワーク領域３３３を含むデータを退避領域３３４に退避させる（ステップＳ１１）。そして、アプリケーションＡのデータを退避した後に、退避領域３３４に退避してあるアプリケーションＢのデータを所定のアドレスに復帰させ（ステップＳ１２）、アプリケーションＢの処理を再開させる（ステップＳ１３）。そして、アプリケーションＢからアプリケーションＡに処理を切替える際は（ステップＳ１４）、アプリケーションＢのデータを退避領域３３４に退避し（ステップＳ１５）、退避領域３３４に退避してあるアプリケーションＡのデータを所定のアドレスに復帰させ（ステップＳ１６）、アプリケーションＡの処理を再開させる（ステップＳ１７）。上述した手順を繰り返すことで、アプリケーション切替え部１３０はコマンドを処理するアプリケーション１２０を切替える。
【００３９】
上述した手順でアプリケーション切替え部１３０がアプリケーション１２０を切替えると、アプリケーション１２０は、コマンド記憶部１１１に記憶されている論理番号とアプリケーション１２０が保持している論理番号が一致することを確認する。論理番号が一致していれば、アプリケーション１２０はコマンドの処理を行う。論理番号が一致していなければ、アプリケーション１２０はアプリケーション切替え部１３０に処理を戻し、アプリケーション切替え部１３０はアプリケーション１２０を切替えて、次のアプリケーション１２０にコマンド記憶部１１１に記憶されているコマンドの処理を委託する。
【００４０】
ここから、図１のＩＣカード１０の動作手順を説明する。図８はＩＣカード１０の一連の動作を示したフロー図で、図９は時間計測手段１３１のタイマー割込み信号が発生したときのフロー図である。
【００４１】
図８を参照しながら、図１のＩＣカード１０の動作について詳細に説明する。最初のステップは、複数のアプリケーション１２０が起動するステップＳ２０である。ＩＣカード１０の伝送制御部１００が選択コマンドを受信するごとに、システムコマンド１２１の選択コマンドが実行され、マルチアプリケーションＯＳから選択コマンドで示されるアプリケーション１２０に処理が移行し、アプリケーション１２０は起動する。アプリケーション１２０が起動すると、アプリケーション１２０の初期化処理を実行した後、アプリケーション１２０はコマンドを受け付ける状態で処理を停止し、マルチアプリケーションＯＳに備えられたアプリケーション切替え部１３０が実行する。
【００４２】
次のステップは、アプリケーション切替え部１３０が時間計測手段１３１に計測する時間をセットし、時間計測手段１３１を起動させるステップＳ２１である。本実施の形態においては、アプリケーション切替え部１３０はタイマー回路３６に計測する時間に相当するカウンタ値をセットし、タイマー回路３６を起動させる。
【００４３】
次のステップは、ＩＣカード１０をリーダライタからコマンドを受信するモードに設定するステップＳ２２である。アプリケーション切替え部１３０は時間計測手段１３１を起動させると伝送制御部１００を呼び出し、伝送制御部１００はＩ／Ｏ回路を操作するなどして、ＩＣカード１０はコマンドを受信するモードにセットされる。
【００４４】
ステップＳ２１で起動した時間計測手段１３１のタイマー割込みが発生するまで、ＩＣカード１０はコマンドを受信するモードに留まり、タイマー割込みが発生すると、Ｊ２の処理に移行する。なお、ステップＳ２２のコマンドを受信するモードにおいて、伝送制御部１００がアプリケーション１２０のコマンドを受信すると、受信したコマンドは上述したようにコマンド記憶部１１１に格納される。
【００４５】
図９は、図８においてタイマー割込み信号が発生したときの動作を示したフロー図である。時間計測手段１１１のタイマー割込み信号が発生すると、コマンドを受診するモードが解除され、処理はアプリケーション切替え部１３０に移行する（ステップＳ３０）。
【００４６】
アプリケーション切替え部１３０は、コマンドを受診するモード中に受診したコマンドがコマンド記憶部１１１に記憶されているか確認する（ステップＳ３１）。コマンドが記憶されている場合はステップＳ３２に進み、コマンドが記憶されていない場合は、図８のＪ１に進む。
【００４７】
コマンドがコマンド記憶部１１１に記憶されている場合は、実行処理部はコマンドの受付け待ち状態で停止しているアプリケーション１２０を再開させ、再開させたアプリケーション１２０は、記憶されたコマンドが処理できるか確認する（ステップＳ３２）。コマンドが処理できない場合はステップＳ３４に進み、コマンドが処理できる場合はステップＳ３５に進む（ステップＳ３３）。
【００４８】
ステップＳ３３においてコマンド処理ができない場合のステップＳ３４においては、上述したアプリケーション切替え部１３０は上述した動作でアプリケーション１２０を切替えて、スステップＳ３２の戻る。そして、前述の手順を繰り返しても、どのアプリケーション１２０でもコマンド記憶部１１１に記憶されたコマンドが処理できない場合は、アプリケーション切替え部１３０はＩＣカード１０をミュートさせ、すべてのコマンド受信を停止させる（ステップＳ３６）。
【００４９】
ステップＳ３３においてコマンド処理ができる場合のステップＳ３５においては、アプリケーション１２０はコマンド記憶部１３１に記憶されたコマンドを処理し、レスポンスをＲＡＭ３３に格納した後、伝送制御部１００を呼び出しレスポンスは送信される。レスポンスを送信した後はＪ１に戻り、次のコマンドを受診するモードに設定される。
【図面の簡単な説明】
【００５０】
【図１】マルチアプリケーションＩＣカードの斜視図。
【図２】ＩＣチップの構造を示した図。
【図３】マルチアプリケーションＩＣカードのブロック図。
【図４】ＲＡＭの使用状態を説明する図。
【図５】ＲＡＭに記憶される論理番号とＡＩＤを説明する図。
【図６】コマンドＡＰＤＵを説明する図。
【図７】アプリケーションの切替え動作フロー図。
【図８】マルチアプリケーションＩＣカードの動作フロー図。
【図９】タイマー割込みが発生したときの動作フロー図。
【符号の説明】
【００５１】
１０  マルチアプリケーションＩＣカード
１００  伝送制御部
１１０  コマンド解析部
１１１  コマンド記憶部
１２０  アプリケーション
１２１  システムコマンド
１３０  アプリケーション切替え部
１３１  時間計測手段
３０  ＩＣチップ
３３  ＲＡＭ
３６  タイマー回路
４０  リーダライタ
【図１】
2006172271.tif 000003
【図２】
2006172271.tif 000004
【図３】
2006172271.tif 000005
【図４】
2006172271.tif 000006
【図５】
2006172271.tif 000007
【図６】
2006172271.tif 000008
【図７】
2006172271.tif 000009
【図８】
2006172271.tif 000010
【図９】
2006172271.tif 000011