(57)【要約】【課題】同一セッション中は１つのアプリケーションのみが動作し、これにより、複数のアプリケーションが同一セッション中に動作することができなくなり、共有データなどが参照後に書換えられことを防止できる携帯可能電子装置を提供する。【解決手段】少なくとも２つ以上のアプリケーションをサポートしているＩＣカード（携帯可能電子装置）において、初期応答データの出力後に最初に入力されたコマンドに対応するアプリケーションのみを当該ＩＣカードが非活性化されるまで有効とする。【選択図】    図７
2004334747.tif 000002
【特許請求の範囲】
【請求項１】
活性化されると初期応答データを外部へ出力し、かつ、外部からコマンドが入力されると、このコマンドに対応した所定の処理を実行してその処理結果を外部へ出力するもので、少なくとも２つ以上のアプリケーションが登録されている携帯可能電子装置において、
前記初期応答データの出力後に最初に入力されたコマンドに対応するアプリケーションのみを、当該携帯可能電子装置が非活性化されるまで有効とする手段を具備したことを特徴とする携帯可能電子装置。
【請求項２】
前記初期応答データの出力後に入力されたコマンドが登録されている全てのアプリケーションに対応しない場合は、登録されている全てのアプリケーションに対応しているコマンドが入力されるまでアプリケーションの確定は行なわないことを特徴とする請求項１記載の携帯可能電子装置。
【請求項３】
活性化されると初期応答データを外部へ出力し、かつ、外部からコマンドが入力されると、このコマンドに対応した所定の処理を実行してその処理結果を外部へ出力するもので、少なくとも２つ以上のアプリケーションが登録されている携帯可能電子装置において、
前記初期応答データの出力後にコマンドが入力されると、動作アプリケーションがあるか否かを示すアプリケーションフラグを確認するフラグ確認手段と、
このフラグ確認手段による確認の結果、前記アプリケーションフラグが未設定状態にある場合、前記入力されたコマンドがあらかじめ登録されたアプリケーションのコマンドに対応しているか否かをチェックするコマンドチェック手段と、
このコマンドチェック手段によるチェックの結果、前記入力されたコマンドがあらかじめ登録されたアプリケーションのコマンドに対応している場合、前記アプリケーションフラグを設定状態にセットし、対応するコマンドの処理を実行する第１の処理手段と、
前記フラグ確認手段による確認の結果、前記アプリケーションフラグが設定状態にある場合、その設定されたアプリケーションに前記入力されたコマンドが登録されているか否かを確認するコマンド確認手段と、
このコマンド確認手段による確認の結果、設定されたアプリケーションに前記入力されたコマンドが登録されている場合、対応するコマンドの処理を実行する第２の処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、外部から入力されるリセット信号により活性化されると、初期応答データを外部へ出力し、その後、外部からコマンドが入力されると、このコマンドに対応した所定の処理を実行してその処理結果を外部へ出力する、いわゆるＩＣカードと称される携帯可能電子装置に係り、特に少なくとも２つ以上のアプリケーションが登録されている携帯可能電子装置に関する。
【０００２】
【従来の技術】
一般に、この種のＩＣカードは、書込み、書換え可能な不揮発性メモリおよびこれらを制御するＣＰＵなどの制御素子を有し、外部との間でデータの入出力を行なうもので、様々な分野（金融機関、行政機関、医療機関、通信業界など）において利用されており、このため複数のアプリケーションをサポートしているものが多用されつつある。
【０００３】
【発明が解決しようとする課題】
従来、複数のアプリケーションをサポートしているＩＣカードにあっては、同一セッション（活性化から非活性化までの間）中に、複数のアプリケーションが混在して動作可能であった。このため、各アプリケーションで共有しているデータをアクセスする場合、たとえば、あるアプリケーションがデータを参照した後に、もう一方のアプリケーションで当該データの書換えを行ない、そのため、セッション中にデータが統一されず、誤動作を起す危険性がある。
【０００４】
そこで、本発明は、同一セッション中は１つのアプリケーションのみが動作し、これにより、複数のアプリケーションが同一セッション中に動作することができなくなり、共有データ等が参照後に書換えられことを防止できる携帯可能電子装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の携帯可能電子装置は、活性化されると初期応答データを外部へ出力し、かつ、外部からコマンドが入力されると、このコマンドに対応した所定の処理を実行してその処理結果を外部へ出力するもので、少なくとも２つ以上のアプリケーションが登録されている携帯可能電子装置において、前記初期応答データの出力後に最初に入力されたコマンドに対応するアプリケーションのみを、当該携帯可能電子装置が非活性化されるまで有効とする手段を具備したことを特徴とする。
【０００６】
また、本発明の携帯可能電子装置は、活性化されると初期応答データを外部へ出力し、かつ、外部からコマンドが入力されると、このコマンドに対応した所定の処理を実行してその処理結果を外部へ出力するもので、少なくとも２つ以上のアプリケーションが登録されている携帯可能電子装置において、前記初期応答データの出力後にコマンドが入力されると、動作アプリケーションがあるか否かを示すアプリケーションフラグを確認するフラグ確認手段と、このフラグ確認手段による確認の結果、前記アプリケーションフラグが未設定状態にある場合、前記入力されたコマンドがあらかじめ登録されたアプリケーションのコマンドに対応しているか否かをチェックするコマンドチェック手段と、このコマンドチェック手段によるチェックの結果、前記入力されたコマンドがあらかじめ登録されたアプリケーションのコマンドに対応している場合、前記アプリケーションフラグを設定状態にセットし、対応するコマンドの処理を実行する第１の処理手段と、前記フラグ確認手段による確認の結果、前記アプリケーションフラグが設定状態にある場合、その設定されたアプリケーションに前記入力されたコマンドが登録されているか否かを確認するコマンド確認手段と、このコマンド確認手段による確認の結果、設定されたアプリケーションに前記入力されたコマンドが登録されている場合、対応するコマンドの処理を実行する第２の処理手段とを具備している。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図１は、本実施の形態に係る携帯可能電子装置としてのＩＣカードを取扱うＩＣカードシステムの構成例を示すものである。このＩＣカードシステムでは、ＩＣカード１０１はカードリーダ・ライタ１０２を介してパーソナルコンピュータなどの端末装置１０３と接続され、さらに端末装置１０３と接続されたホストコンピュータ１０４とも通信可能に構成されている。
【０００８】
図２は、ＩＣカード１０１の構成例を示すもので、全体的な制御を司る制御手段としてのＣＰＵなどの制御素子２０１、記憶内容が書換え可能な記憶手段としての不揮発性のデータメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、および、カードリーダ・ライタ１０２との通信を行なうための通信部２０５によって構成されていて、これらは１つのＩＣチップ（あるいは、複数のＩＣチップ）で構成されている。このＩＣチップはＩＣカード内に埋設されており、接触式の場合にはＩＣカード表面の接点部分（通信部２０５）を介してカードリーダ・ライタ１０２と電気的に接続するようになっている。
【０００９】
データメモリ２０２は、各種データの記憶に使用されるもので、たとえば、ＥＥＰＲＯＭなどの書込み、書換え可能な不揮発性メモリで構成されている。
ワーキングメモリ２０３は、制御素子２０１が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、ＲＡＭなどで構成される。
プログラムメモリ２０４は、たとえば、マスクＲＯＭで構成されており、制御素子２０１の制御プログラムや各種アプリケーションプログラムなどを記憶するものである。
通信部２０５は、外部装置であるカードリーダ・ライタ１０２との通信を行なうためのもので、接触式の場合はＩＣカード表面に設けられた接点部分であり、非接触式の場合はアンテナを含む無線通信部である。
【００１０】
図３は、プログラムメモリ２０４の構成を示している。プログラムメモリ２０４は、制御素子２０１の制御プログラムや複数のアプリケーションプログラムが格納されるプログラム領域３０１、複数のアプリケーションのコマンド・コントロール・テーブル（ＣＣＴ）、たとえば、第１アプリケーションのコマンド・コントロール・テーブル３０２、および、第２アプリケーションのコマンド・コントロール・テーブル３０３の各領域から構成されている。
【００１１】
図４は、コマンド・コントロール・テーブル３０２，３０３の構成例を示している。このコマンド・コントロール・テーブル３０２，３０３には、コマンド電文の命令コード（ＣＬＡ／ＩＮＳ）、および、対応するプログラムが格納されているプログラム領域３０１のアドレス（プログラム格納アドレス）がそれぞれ登録されている。なお、図４（ａ）は第１アプリケーションのコマンド・コントロール・テーブル３０２を示し、図４（ｂ）は第２アプリケーションのコマンド・コントロール・テーブル３０３を示している。
【００１２】
図５は、動作アプリケーションフラグの構成を示しており、この動作アプリケーションフラグはワーキングメモリ２０３内に設けられている。動作アプリケーションが未設定の場合は図５（ａ）のように全て「０」のデータがセットされ、動作アプリケーションが設定されると図５（ｂ）のようにアプリケーションが識別できる情報（アプリケーション名）がセットされる。
【００１３】
図６は、ＩＣカード１０１に入力されるコマンド電文の構成例を示している。このコマンド電文は、たとえば、命令コード（ＣＬＡ／ＩＮＳ）とパラメータデータ（Ｐ１／Ｐ２／Ｌｃ／Ｄａｔａ／Ｌｅ）で構成されている。なお、Ｌｅ、Ｄａｔａ部については存在しないコマンド電文もある。
【００１４】
次に、上記のような構成において、ＩＣカード１０１の動作を図７に示すフローチャートを参照して説明する。
制御素子２０１は、カードリーダ・ライタ１０２からのリセット信号（ＲＳＴ信号）がオフになると（ステップＳ１）、初期応答データ（ＡＴＲ）をカードリーダ・ライタ１０２へ出力し（ステップＳ２）、コマンド受信待ち状態となる（ステップＳ３）。
【００１５】
コマンド受信待ち状態において、カードリーダ・ライタ１０２からのコマンドを受信すると、制御素子２０１は、ワーキングメモリ２０３内の動作アプリケーションフラグを確認する（ステップＳ４）。
この確認の結果、動作アプリケーションフラグが未設定の場合、制御素子２０１は、入力されたコマンドの命令コード（ＣＬＡ／ＩＮＳ）があらかじめプログラムメモリ２０４内に登録された各アプリケーションのコマンド・コントロール・テーブルに登録された命令コード（ＣＬＡ／ＩＮＳ）か否かをチェックする（ステップＳ５〜Ｓ７）。このチェックは、登録されている全てのアプリケーションのコマンド・コントロール・テーブル、この例ではコマンド・コントロール・テーブル３０２，３０３に対して実行される。
【００１６】
こうして全てのコマンド・コントロール・テーブル３０２，３０３をサーチしてコマンドが見つからなかった場合、すなわち、入力されたコマンドの命令コード（ＣＬＡ／ＩＮＳ）が各アプリケーションのコマンド・コントロール・テーブル３０２，３０３に登録された命令コード（ＣＬＡ／ＩＮＳ）と一致しなかった場合、制御素子２０１は、コマンド未定義を意味するステータスをカードリーダ・ライタ１０２へ出力し（ステップＳ８）、処理を終了する。
【００１７】
全てのコマンド・コントロール・テーブル３０２，３０３をサーチしてコマンドが見つかった場合、すなわち、入力されたコマンドの命令コード（ＣＬＡ／ＩＮＳ）が各アプリケーションのコマンド・コントロール・テーブル３０２，３０３に登録された命令コード（ＣＬＡ／ＩＮＳ）と一致した場合、制御素子２０１は、ワーキングメモリ２０３内の動作アプリケーションフラグをセットする（ステップＳ９）。この場合は、コマンドが見つかったアプリケーションが識別できる情報（アプリケーション名）をセットする。
【００１８】
次に、制御素子２０１は、入力されたコマンドに対する処理を実行する（ステップＳ１０）。すなわち、コマンド・コントロール・テーブル３０２，３０３内の入力されたコマンドの命令コード（ＣＬＡ／ＩＮＳ）と一致する命令コード（ＣＬＡ／ＩＮＳ）に対応するプログラム格納先アドレスに格納されたプログラムを実行する。コマンド実行後、制御素子２０１は、コマンド実行結果のステータスをカードリーダ・ライタ１０２へ出力し（ステップＳ１１）、コマンド受信待ち状態（ステップＳ３）に戻る。
【００１９】
コマンド受信待ち状態において、カードリーダ・ライタ１０２から再度、コマンドを受信すると、制御素子２０１は、ワーキングメモリ２０３内の動作アプリケーションフラグを確認する（ステップＳ４）。この場合、動作アプリケーションフラグが設定されているので、制御素子２０１は、設定された内容のアプリケーションのコマンド・コントロール・テーブルに対し、入力されたコマンドの命令コード（ＣＬＡ／ＩＮＳ）が登録されているか否かをチェックする（ステップＳ１２）。
【００２０】
このチェックの結果、コマンドが見つかった場合、制御素子２０１は、入力されたコマンドに対する処理を実行し（ステップＳ１０）、コマンド実行後、コマンド実行結果のステータスをカードリーダ・ライタ１０２へ出力し（ステップＳ１１）、コマンド受信待ち状態（ステップＳ３）に戻る。
【００２１】
ステップＳ１２のチェックの結果、設定された内容のアプリケーションのコマンド・コントロール・テーブルにコマンドが登録されていない場合、制御素子２０１は、コマンド未定義を意味するステータスをカードリーダ・ライタ１０２へ出力し（ステップＳ１３）、処理を終了する。
【００２２】
このように、初期応答データの出力後に最初に入力されたコマンドに対応するアプリケーションのみを当該ＩＣカードが非活性化されるまで有効とすることができるので、同一セッション（活性化から非活性化までの間）中は１つのアプリケーションのみが動作する。これにより、複数のアプリケーションが同一セッション中に動作することができなくなり、共有データなどが参照後に書換えられことを防止できるものである。
【００２３】
【発明の効果】
以上詳述したように本発明によれば、同一セッション中は１つのアプリケーションのみが動作し、これにより、複数のアプリケーションが同一セッション中に動作することができなくなり、共有データなどが参照後に書換えられことを防止できる携帯可能電子装置を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＩＣカードを取扱うＩＣカードシステムの構成を示すブロック図。
【図２】ＩＣカードの構成を概略的に示すブロック図。
【図３】プログラムメモリの構成を概略的に示す模式図。
【図４】アプリケーションのコマンド・コントロール・テーブルの構成を概略的に示す模式図。
【図５】動作アプリケーションフラグの構成を示す図。
【図６】ＩＣカードに入力されるコマンド電文の構成例を示す図。
【図７】ＩＣカードの動作を説明するフローチャート。
【符号の説明】
１０１…ＩＣカード（携帯可能電子装置）、１０２…カードリーダ・ライタ、１０３…端末装置、１０４…ホストコンピュータ、２０１…制御素子、２０２…データメモリ、２０３…ワーキングメモリ、２０４…プログラムメモリ、２０５…通信部、３０１…プログラム領域、３０２…第１アプリケーションのコマンド・コントロール・テーブル、３０３…第２アプリケーションのコマンド・コントロール・テーブル。
【図１】
2004334747.tif 000003
【図２】
2004334747.tif 000004
【図３】
2004334747.tif 000005
【図４】
2004334747.tif 000006
【図５】
2004334747.tif 000007
【図６】
2004334747.tif 000008
【図７】
2004334747.tif 000009