(57)【要約】【課題】発行者や所有者によってアプリケーションを任意に追加あるいは実行可能に設定すること可能なＩＣカードなどの携帯可能電子装置において、たとえば、競合他社のアプリケーションを追加することや実行可能に設定することを防止することが可能な携帯可能電子装置およびＩＣカードを提供する。【解決手段】外部装置からの指示で動作するアプリケーションを追加可能なＪａｖａカードなどのＩＣカードにおいて、特定のアプリケーションを追加した場合、あらかじめ定められた別の特定のアプリケーションを追加できないように制御する。【選択図】      図４
2008269077.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、
特定のアプリケーションを追加した場合、あらかじめ定められた別の特定のアプリケーションを追加できないように制御する手段を具備したことを特徴とする携帯可能電子装置。
【請求項２】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、
複数のアプリケーションのうちいずれかのアプリケーションを実行可能状態とした場合、他の残りのアプリケーションの少なくとも一部を、その後の外部装置からの指示で実行可能状態とはできないように制御する手段を具備したことを特徴とする携帯可能電子装置。
【請求項３】
外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、
外部装置から入力されるアプリケーションの追加要求と、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報とを受信する受信手段と、
この受信手段によりアプリケーションの追加要求と追加不許可情報あるいは複数の追加不許可候補情報とを受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段と、
前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項４】
前記受信手段により受信する追加不許可情報あるいは複数の追加不許可候補情報は、当該アプリケーションのプログラム名を指定するコマンド、当該アプリケーションのデータ名を指定するコマンド、あるいは、当該アプリケーションのプログラムをロードするコマンドに付加されている情報であることを特徴とする請求項３記載の携帯可能電子装置。
【請求項５】
外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、
追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を含む関数群が登録されている第１の登録手段と、
この第１の登録手段に登録されている関数群を用いてアプリケーションを実行する実行手段と、
この実行手段にアプリケーションを実行する際、前記第１の登録手段に登録されている追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を用いて、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を登録する第２の登録手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項６】
外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、
外部装置から入力される登録要求および当該登録要求に付加された追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を受信する受信手段と、
この受信手段により登録要求および追加不許可情報あるいは複数の追加不許可候補情報を受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項７】
外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、
追加を不許可とするアプリケーションを示す追加不許可情報および追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、
外部装置から入力されるアプリケーションの追加要求を受信する受信手段と、
この受信手段によりアプリケーションの追加要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、
この判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションとして登録されている場合、当該アプリケーションの追加を不許可とする第１の処理手段と、
前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第２の処理手段と、
前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている追加不許可候補情報を追加を許可とするアプリケーションを示す追加許可情報に登録し直し、かつ、当該追加不許可候補情報と同じグループの他の追加不許可候補情報を追加を不許可とするアプリケーションを示す追加不許可情報に登録し直した後、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第３の処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項８】
前記判断手段は、当該アプリケーションのプログラム名の指定、あるいは、当該アプリケーションのデータ名の指定を行なう際に、前記登録手段の登録内容を参照することにより、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されているか否かを判断することを特徴とする請求項７記載の携帯可能電子装置。
【請求項９】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、
外部装置から入力されるアプリケーションを実行可能にする要求と、実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、
この受信手段によりアプリケーションを実行可能にする要求と実行可能不許可情報あるいは複数の実行可能不許可候補情報とを受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段と、
前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項１０】
前記受信手段により受信する実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報は、当該アプリケーションのプログラム名を指定するコマンドに付加されている情報であることを特徴とする請求項９記載の携帯可能電子装置。
【請求項１１】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、
外部装置から入力される登録要求および当該登録要求に付加された実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、
この受信手段により登録要求および実行可能不許可情報あるいは複数の実行可能不許可候補情報を受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項１２】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、
実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、
外部装置から入力されるアプリケーションを実行可能にする要求を受信する受信手段と、
この受信手段によりアプリケーションを実行可能にする要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、
この判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションとして登録されている場合、当該アプリケーションを実行可能を不許可とする第４の処理手段と、
前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第５の処理手段と、
前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている実行可能不許可候補情報を実行を可能とするアプリケーションを示す実行可能許可情報に登録し直し、かつ、当該実行可能不許可候補情報と同じグループの他の実行可能不許可候補情報を実行可能を不許可とするアプリケーションを示す実行可能不許可情報に登録し直した後、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第６の処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項１３】
前記判断手段は、当該アプリケーションのプログラム名の指定を行なう際に、前記登録手段の登録内容を参照することにより、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されているか否かを判断することを特徴とする請求項１２記載の携帯可能電子装置。
【請求項１４】
外部装置からの指示で動作するアプリケーションを追加可能なＩＣカードにおいて、
外部装置から入力されるアプリケーションの追加要求と、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報とを受信する受信手段と、この受信手段によりアプリケーションの追加要求と追加不許可情報あるいは複数の追加不許可候補情報とを受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段と、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう処理手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【請求項１５】
外部装置からの指示で動作するアプリケーションを追加可能なＩＣカードにおいて、
追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を含む関数群が登録されている第１の登録手段と、この第１の登録手段に登録されている関数群を用いてアプリケーションを実行する実行手段と、この実行手段にアプリケーションを実行する際、前記第１の登録手段に登録されている追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を用いて、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を登録する第２の登録手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【請求項１６】
外部装置からの指示で動作するアプリケーションを追加可能なＩＣカードにおいて、
外部装置から入力される登録要求および当該登録要求に付加された追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を受信する受信手段と、この受信手段により登録要求および追加不許可情報あるいは複数の追加不許可候補情報を受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【請求項１７】
外部装置からの指示で動作するアプリケーションを追加可能なＩＣカードにおいて、
追加を不許可とするアプリケーションを示す追加不許可情報および追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、外部装置から入力されるアプリケーションの追加要求を受信する受信手段と、この受信手段によりアプリケーションの追加要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、この判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションとして登録されている場合、当該アプリケーションの追加を不許可とする第１の処理手段と、前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第２の処理手段と、前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている追加不許可候補情報を追加を許可とするアプリケーションを示す追加許可情報に登録し直し、かつ、当該追加不許可候補情報と同じグループの他の追加不許可候補情報を追加を不許可とするアプリケーションを示す追加不許可情報に登録し直した後、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第３の処理手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【請求項１８】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となるＩＣカードにおいて、
外部装置から入力されるアプリケーションを実行可能にする要求と、実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、この受信手段によりアプリケーションを実行可能にする要求と実行可能不許可情報あるいは複数の実行可能不許可候補情報とを受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段と、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう処理手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とする携帯可能電子装置。
【請求項１９】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となるＩＣカードにおいて、
外部装置から入力される登録要求および当該登録要求に付加された実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、この受信手段により登録要求および実行可能不許可情報あるいは複数の実行可能不許可候補情報を受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【請求項２０】
外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となるＩＣカードにおいて、
実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、外部装置から入力されるアプリケーションを実行可能にする要求を受信する受信手段と、この受信手段によりアプリケーションを実行可能にする要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、この判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションとして登録されている場合、当該アプリケーションを実行可能を不許可とする第４の処理手段と、前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第５の処理手段と、前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている実行可能不許可候補情報を実行を可能とするアプリケーションを示す実行可能許可情報に登録し直し、かつ、当該実行可能不許可候補情報と同じグループの他の実行可能不許可候補情報を実行可能を不許可とするアプリケーションを示す実行可能不許可情報に登録し直した後、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第６の処理手段とを有して構成されるＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、書込み、書換え可能な不揮発性メモリおよびＣＰＵなどの制御素子を有したＩＣチップを内蔵し、外部装置から入力されるコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、外部装置から入力されるアプリケーションを不揮発性メモリにインストール（ロード）し、このインストールしたアプリケーションを実行することが可能なＩＣカードなどの携帯可能電子装置およびＩＣカードに関する。
【背景技術】
【０００２】
最近、たとえば、電子マネーやクレジットカードなどとして注目されているＩＣカードは、書込み、書換えが可能な不揮発性メモリおよびこれを管理、制御するためのＣＰＵなどの制御素子を有したＩＣチップがプラスチック板などで構成されるカードの内部に埋設されている構造となっている。
【０００３】
このようなＩＣカードは、通常、カード内のアプリケーション（アプリケーションプログラム）がＩＣカード（ＩＣチップ）の製造メーカ独自の言語で作成され、そのうえＲＯＭ（リード・オンリ・メモリ）に記憶されていたために、ＩＣカード（ＩＣチップ）の提供者以外が、アプリケーションを（一般言語で）作成することや、アプリケーションを追加したり削除したりすることが不可能である。
【０００４】
そこで、これらの不都合を解決するために、いわゆるＪａｖａカード（登録商標）と称されるＩＣカードが開発されている（たとえば、特許文献１参照）。Ｊａｖａカードは、一般的なＩＣカードのＯＳ（オペレーティングシステム）の上にバーチャルマシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）をのせたＩＣカードであり、その特徴は、Ｊａｖａ言語でアプリケーション（アプレット）を作成することが可能で、カード発行者などの権限を持った人であれば、Ｊａｖａカード内のアプリケーションを追加（実行可能に設定）したり削除したりすることが可能であることにある。
【０００５】
たとえば、従来のＪａｖａカードへのアプリケーションの追加は、２つのインストールコマンドとロードコマンドなどにより行なわれ、そのシーケンスは以下の通りである。  
まず、Ｊａｖａカードには、上位装置からの第１のインストールコマンドにより追加するアプリケーションのプログラムの名前（プログラムＩＤ）が宣言される。これにより、Ｊａｖａカードでは、追加するアプリケーションのプログラムの名前が設定される。
【０００６】
次に、Ｊａｖａカードには、上位装置からのロードコマンドにより第１のインストールコマンドによって名前が宣言されたアプリケーションのプログラム（追加するアプリケーションのプログラム）が転送される。このロードコマンドは複数回実施され、アプリケーションのプログラム全体がＪａｖａカードに転送される。これにより、Ｊａｖａカードでは、追加するアプリケーションのプログラムが第１のインストールコマンドで宣言された名前で追加（作成）される。
【０００７】
次に、Ｊａｖａカードには、上位装置からの第２のインストールコマンドによりアプリケーションのデータの名前（データＩＤ）が宣言される。これにより、Ｊａｖａカードでは、上記ロードコマンドにてロードされたアプリケーションのデータの名前が追加（作成）される。  
これらのコマンドによってＪａｖａカードには、アプリケーションがインストールされ、実行可能状態となるようになっている。
【０００８】
このようなＪａｖａカードに関する技術として、たとえば、特許文献１や特許文献２に開示されている技術が公知である。
【特許文献１】特開２０００−３４８１４６号公報
【特許文献２】特開２００６−１１３７４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記したようなＪａｖａカードが広く普及した場合、カード発行者は個人のＪａｖａカード内のアプリケーションを管理することは、とても困難であると考えられる。なぜなら、膨大な数のアプリケーションが存在すること、アプリケーションの追加や削除の権限をカード発行者でない別の機関に委譲できるために、任意にアプリケーションの追加や削除ができることなどからである。
【００１０】
このような状況では、アプリケーションに関して問題が発生する。すなわち、アプリケーションの追加や削除が任意に可能な場合には、アプリケーション提供者にとって、同業他社のアプリケーションも任意に追加することが可能となることである。特に、アプリケーション提供者が、Ｊａｖａカードによって、顧客に優先的に使用していただきたい場合などには、不都合が発生する。
【００１１】
たとえば、Ｊａｖａカードを使用して買物をした際に、Ｊａｖａカードに複数のクレジット会社のアプリケーションが存在すると、アプリケーションが選択する順番は、上位装置としてのホスト装置（カードリーダライタなど）もしくはシステムに依存してしまう。特に、選択される順番の低いアプリケーションは、順番の高いアプリケーションが存在すると、使用されなくなってしまう。このため、順番の低いアプリケーション提供者が、順番の高いアプリケーションの追加を不許可にすることが可能な技術が強く要望されている。
【００１２】
これまで、Ｊａｖａカードについて言及してきたが、各種カードメーカが作成したＪａｖａカード以外の通常のＩＣカードにおいても、アプリケーションの追加や削除機能の代わりに、アプリケーションを実行可能状態に設定するということで、同様にアプリケーションの実行を制限することが可能な技術が強く要望されている。
【００１３】
そこで、本発明は、発行者や所有者によってアプリケーションを任意に追加あるいは実行可能に設定すること可能なＩＣカードなどの携帯可能電子装置において、たとえば、競合他社のアプリケーションを追加することや実行可能に設定することを防止することが可能な携帯可能電子装置およびＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、特定のアプリケーションを追加した場合、あらかじめ定められた別の特定のアプリケーションを追加できないように制御する手段を具備したことを特徴とする。
【００１５】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、複数のアプリケーションのうちいずれかのアプリケーションを実行可能状態とした場合、他の残りのアプリケーションの少なくとも一部を、その後の外部装置からの指示で実行可能状態とはできないように制御する手段を具備したことを特徴とする。
【００１６】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、外部装置から入力されるアプリケーションの追加要求と、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報とを受信する受信手段と、この受信手段によりアプリケーションの追加要求と追加不許可情報あるいは複数の追加不許可候補情報とを受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段と、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう処理手段とを具備している。
【００１７】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、外部装置から入力される登録要求および当該登録要求に付加された追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を受信する受信手段と、この受信手段により登録要求および追加不許可情報あるいは複数の追加不許可候補情報を受信した場合、これら受信した追加不許可情報あるいは複数の追加不許可候補情報を登録する登録手段とを具備している。
【００１８】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を含む関数群が登録されている第１の登録手段と、この第１の登録手段に登録されている関数群を用いてアプリケーションを実行する実行手段と、この実行手段にアプリケーションを実行する際、前記第１の登録手段に登録されている追加を不許可とするアプリケーションを設定する関数あるいは追加を不許可とするアプリケーションの候補を複数設定する関数を用いて、追加を不許可とするアプリケーションを示す追加不許可情報あるいは追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報を登録する第２の登録手段とを具備している。
【００１９】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを追加可能な携帯可能電子装置において、追加を不許可とするアプリケーションを示す追加不許可情報および追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、外部装置から入力されるアプリケーションの追加要求を受信する受信手段と、この受信手段によりアプリケーションの追加要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、この判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションとして登録されている場合、当該アプリケーションの追加を不許可とする第１の処理手段と、前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションあるいは追加を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第２の処理手段と、前記判断手段による判断の結果、当該アプリケーションが追加を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている追加不許可候補情報を追加を許可とするアプリケーションを示す追加許可情報に登録し直し、かつ、当該追加不許可候補情報と同じグループの他の追加不許可候補情報を追加を不許可とするアプリケーションを示す追加不許可情報に登録し直した後、前記受信手段により追加要求を受信したアプリケーションの追加処理を行なう第３の処理手段とを具備している。
【００２０】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、外部装置から入力されるアプリケーションを実行可能にする要求と、実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、この受信手段によりアプリケーションを実行可能にする要求と実行可能不許可情報あるいは複数の実行可能不許可候補情報とを受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段と、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう処理手段とを具備している。
【００２１】
また、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、外部装置から入力される登録要求および当該登録要求に付加された実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報とを受信する受信手段と、この受信手段により登録要求および実行可能不許可情報あるいは複数の実行可能不許可候補情報を受信した場合、これら受信した実行可能不許可情報あるいは複数の実行可能不許可候補情報を登録する登録手段とを具備している。
【００２２】
さらに、本発明の携帯可能電子装置は、外部装置からの指示で動作するアプリケーションを複数有し、これら各アプリケーションは外部装置からの指示で選択的に実行可能状態となる携帯可能電子装置において、実行可能を不許可とするアプリケーションを示す実行可能不許可情報あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補情報のうち少なくともいずれか一方が登録されている登録手段と、外部装置から入力されるアプリケーションを実行可能にする要求を受信する受信手段と、この受信手段によりアプリケーションを実行可能にする要求を受信した場合、前記登録手段の登録内容を参照することにより、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されているか否かを判断する判断手段と、この判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションとして登録されている場合、当該アプリケーションを実行可能を不許可とする第４の処理手段と、前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションあるいは実行可能を不許可とするアプリケーションの候補として登録されていない場合、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第５の処理手段と、前記判断手段による判断の結果、当該アプリケーションが実行可能を不許可とするアプリケーションの候補として登録されている場合、当該アプリケーションに対応する前記登録手段に登録されている実行可能不許可候補情報を実行を可能とするアプリケーションを示す実行可能許可情報に登録し直し、かつ、当該実行可能不許可候補情報と同じグループの他の実行可能不許可候補情報を実行可能を不許可とするアプリケーションを示す実行可能不許可情報に登録し直した後、前記受信手段により実行可能にする要求を受信したアプリケーションの実行可能にする処理を行なう第６の処理手段とを具備している。
【発明の効果】
【００２３】
本発明によれば、発行者や所有者によってアプリケーションを任意に追加あるいは実行可能に設定すること可能なＩＣカードなどの携帯可能電子装置において、たとえば、競合他社のアプリケーションを追加することや実行可能に設定することを防止することが可能な携帯可能電子装置およびＩＣカードを提供できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本実施の形態に係る携帯可能電子装置としてのＩＣカードの一例としてＪａｖａカードのハードウエア構成を概略的に示すものである。このＪａｖａカード（以下、ＩＣカードと称す）１は、全体的な管理、制御を司るＣＰＵ（セントラル・プロセッシング・ユニット）１１、ＣＰＵ１１の制御用プログラムなどが格納されたＲＯＭ（リード・オンリ・メモリ）１２、ワーキングメモリとしてのＲＡＭ（ランダム・アクセス・メモリ）１３、上位装置２と通信を行なうための通信ユニット（ＵＡＲＴ）１４、各種データやアプリケーションを記憶する不揮発性メモリ（ＮＶ（ＥＥＰＲＯＭ））１５、および、演算の補助を行なうコプロセッサ（Ｃｏ−Ｐｒｏ）１６を有して構成される。
【００２５】
ＣＰＵ１１は、全体的な管理や制御を司るもので、制御プログラム等に基づいて動作し、種々の処理を行なう処理手段や判断手段として機能する。ＲＯＭ１２は、ＣＰＵ１１の制御用プログラムなどが格納される不揮発性メモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。通信ユニット１４は、送受信手段として機能し、上位装置（カードリーダライタなど）２との通信を制御する。
【００２６】
不揮発性メモリ１５は、各種データやアプリケーション（アプリケーションプログラム）を記憶する書き換え可能な不揮発性メモリであり、後述する作成不許可管理テーブルが設けられている。上記作成不許可管理テーブルは、登録手段として機能し、後述する追加不許可情報や追加不許可候補情報などを記憶する。コプロセッサ１６は、暗号化あるいは復号化などの演算の補助を行なう。
【００２７】
図２は、上述したＩＣカード１のソフトウエア構成を模式的に示すものである。ＩＣカード１のソフトウエア構成は、ハードウエア（Ｈ／Ｗ）層２１、ＯＳ（オペレーティングシステム）層２２、および、アプリケーション（アプレット）層２３から構成される。アプリケーション層２３が最上位に位置し、ＯＳ層２２が上記Ｈ／Ｗ層２１の上位に位置するように構成されている。
【００２８】
Ｈ／Ｗ層２１は、前述した通信ユニット１４、不揮発性メモリ１５、コプロセッサ１６などのハードウエアからなるもので、ＯＳ層２２のカードＯＳ３１により制御される。  
ＯＳ層２２は、バーチャルマシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）３２、Ｉ．Ｓ．Ｄ（Ｉｓｓｕｅｒ  Ｓｅｃｕｒｉｔｙ  Ｄｏｍａｉｎ）３３、および、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）群３４といったモジュールがカードＯＳ３１にのった状態となっている。
【００２９】
バーチャルマシン３２は、ＩＣカード１を動作させるための環境設定などを示すモジュールである。Ｉ．Ｓ．Ｄ３３は、アプリケーション層２３の各アプリケーション（アプレット）を管理するモジュールである。ＡＰＩ群３４は、アプリケーションで使用される関数としてのＡＰＩを示すモジュールであり、アプリケーションにより使用される各種の関数を登録する登録手段として機能する。
【００３０】
アプリケーション層２３は、たとえば、複数のアプリケーション（アプリケーションＡ、アプリケーションＢ）を有する。アプリケーション層２３の各アプリケーションは、ＡＰＩ群３４を使用して種々の処理を実現するものであり、各アプリケーションの実体は不揮発性メモリ１５等に記憶される。
【００３１】
次に、上記のように構成されるＩＣカード１でのアプリケーションの追加、実行の処理動作について説明する。
【００３２】
上記のように構成されたＩＣカード１では、アプリケーションを追加することを許可しないため、追加を不許可とするアプリケーションを示す追加不許可情報としての作成不許可ＩＤや、追加を不許可とするアプリケーションの候補を示す複数の追加不許可候補情報としての作成不許可候補ＩＤをあらかじめ登録しておき、その作成不許可ＩＤや複数の作成不許可候補ＩＤに基づき特定のアプリケーションを追加することを不許可とするようになっている。
【００３３】
すなわち、ＩＣカード１では、作成不許可ＩＤや複数の作成不許可候補ＩＤを登録する登録処理と、その登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断し、その判断結果に基づきアプリケーションの追加処理を制御する判断処理とを行なうようになっている。
【００３４】
作成不許可ＩＤや複数の作成不許可候補ＩＤを登録する登録処理では、たとえば、作成（追加）を許可しないアプリケーションのプログラム名（以下、プログラムＩＤと称す）あるいはアプリケーションのデータ名（以下、データＩＤと称す）を作成不許可ＩＤとして、また、いずれか１つだけを許可して他を許可しない複数のアプリケーションのプログラムＩＤあるいはアプリケーションのデータＩＤを作成不許可候補ＩＤとして、不揮発性メモリ１５内の作成不許可管理テーブルに登録する。この作成不許可管理テーブルは、ＯＳ層２２のカードＯＳ３１により管理される。
【００３５】
ここに、アプリケーションのプログラムＩＤとは、アプリケーションを実行するためのプログラムの名前を示すものであり、たとえば、プログラムコードなどを示す。また、アプリケーションのデータＩＤとは、アプリケーション自体の名前を示すものである。
【００３６】
登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断し、その判断結果に基づきアプリケーションの追加処理を制御する判断処理では、たとえば、アプリケーションを追加する（または、実行可能にする）際に、そのアプリケーションのプログラムＩＤと作成不許可管理テーブル内に登録されている作成不許可ＩＤあるいは作成不許可候補ＩＤと比較し、作成不許可ＩＤと完全に一致した場合、あるいは、作成不許可ＩＤと一部分（たとえば、ＩＤの頭部からあらかじめ定められた部分まで）が一致した場合には、そのアプリケーションの追加を異常終了させ、作成不許可候補ＩＤと完全に一致した場合、あるいは、作成不許可候補ＩＤと一部分が一致した場合には、一致しなかった他の作成不許可候補ＩＤを作成不許可ＩＤに再登録した後、処理を継続させる。
【００３７】
作成不許可ＩＤと複数の作成不許可候補ＩＤを管理する作成不許可管理テーブルの一例を図３に示す。作成不許可管理テーブルはフラグとＩＤとで構成される。図３において、既にアプリケーションＡ，Ｄは作成不許可ＩＤとして登録されている。アプリケーションＢ，Ｃは候補１のグループの作成不許可候補ＩＤとして、アプリケーションＥ，Ｆは候補２のグループの作成不許可候補ＩＤとして、それぞれ登録されている場合を示している。
【００３８】
ＯＳ層２２のカードＯＳ３１は、作成不許可ＩＤは１つずつ、作成不許可候補ＩＤは候補グループずつ、登録を実施する。図３の場合には、アプリケーションＡ、アプリケーションＢとＣ、アプリケーションＤ、アプリケーションＥとＦ、の４グループに分けて登録されたことを示している。
【００３９】
作成不許可候補ＩＤは、いずれかがアプリケーションとして追加されると、他方が作成不許可ＩＤとなる。図３の場合、アプリケーションＢが追加された場合、アプリケーションＢのフラグが「許可」に更新され、他方となるアプリケーションＣのフラグが「不許可」に更新される。つまり、それ以降、アプリケーションＢのＩＤは追加（削除）が可能であるが、アプリケーションＣはアプリケーションＡ，Ｄと同様に追加が不可能となる。なお、上記例の場合、候補２のアプリケーションＥ，Ｆには影響はない。
【００４０】
以下、作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理を具体的な動作例により説明する。  
作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録するタイミングは、以下に示す５つのパターンが考えられる。  
１．第１のインストールコマンドでの登録  
２．ロードコマンドでの登録  
３．第２のインストールコマンドでの登録  
４．アプリケーション実行中での登録  
５．特殊コマンドでの登録  
まず、第１のパターン（第１のインストールコマンドでの登録）について図４に示すフローチャートを参照して説明する。  
アプリケーションをＩＣカード１に追加する場合、上位装置２は、追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドをＩＣカード１へ送信する。この第１のインストールコマンドには、作成不許可ＩＤあるいは複数の作成不許可候補ＩＤが付加されているものとする。すなわち、上位装置２は、アプリケーションを追加する場合、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加された第１のインストールコマンドをＩＣカード１へ送信する。
【００４１】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第１のインストールコマンドを受信し、受信した第１のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ１）。カードＯＳ３１は、第１のインストールコマンドを受信すると、当該アプリケーションのプログラムＩＤを定義するとともに、当該第１のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されているか否かを判断する（ステップＳ２）。
【００４２】
この判断の結果、受信した第１のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されている場合、カードＯＳ３１は、そのＩＤとフラグを作成不許可管理テーブルに登録する（ステップＳ３）。登録後は、残りのインストール処理を実施する（ステップＳ４）。
【００４３】
ステップＳ２における判断の結果、受信した第１のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されていない場合、カードＯＳ３１は、ステップＳ３をジャンプしてステップＳ４に進み、残りのインストール処理を続行する。
【００４４】
第１のインストールコマンドに対するアプリケーションのプログラムＩＤの定義および作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録が終了すると、カードＯＳ３１は、当該第１のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ５）。
【００４５】
第１のインストールコマンドが正常に終了した旨のステータスを受信した上位装置２は、次に、当該アプリケーションのプログラムの実体（プログラムを構成するデータ）をロードするロードコマンドを当該ＩＣカード１へ送信する。ロードコマンドは、当該アプリケーションのデータ量や上位装置２とＩＣカード１との通信能力等に応じて複数回実施される。ＩＣカード１は、上位装置２からのロードコマンドを受信するごとに、当該アプリケーションのプログラムを不揮発性メモリ１５に記憶（ロード）し、その処理結果を上位装置２へ返送する（ステップＳ６）。
【００４６】
このような動作によってアプリケーションのプログラムのロードが終了すると、カードＯＳ３１は、複数のロードコマンドによりロードされたアプリケーションのプログラムを、第１のインストールコマンドによって定義されたプログラムＩＤの１つのアプリケーションとしてアプリケーション層２３に追加（作成）する（ステップＳ７）。これは、ハードウエア的には、上記アプリケーションが不揮発性メモリ１５に記憶されたことを示す。
【００４７】
アプリケーションのプログラムの追加が終了すると、カードＯＳ３１は、当該ロードコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ８）。
【００４８】
ロードコマンドに対する処理が正常終了した旨のステータスを受信した上位装置２は、次に、ロードしたアプリケーションのデータＩＤを宣言する第２のインストールコマンドをＩＣカード１へ送信する。
【００４９】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第２のインストールコマンドを受信し、受信した第２のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ９）。カードＯＳ３１は、ステップＳ７でアプリケーション層２３に追加された当該アプリケーションのデータを追加し、そのデータＩＤを定義する（ステップＳ１０）。  
第２のインストールコマンドに対するアプリケーションのデータの追加が終了すると、カードＯＳ３１は、当該第２のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ１１）。
【００５０】
このように、第１のパターンによれば、アプリケーションをＩＣカード１に追加する上位装置２は、アプリケーションのプログラムＩＤをＩＣカード１に宣言する第１のインストールコマンドにおいて作成不許可ＩＤ（複数の作成不許可候補ＩＤ）をＩＣカード１に送信し、ＩＣカード１は、第１のインストールコマンドに対して作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の有無を確認し、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されている場合には、そのＩＤとフラグを作成不許可管理テーブルに登録するものである。
【００５１】
次に、第２のパターン（ロードコマンドでの登録）について図５に示すフローチャートを参照して説明する。  
アプリケーションをＩＣカード１に追加する場合、上位装置２は、追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドをＩＣカード１へ送信する。
【００５２】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第１のインストールコマンドを受信し、受信した第１のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える。カードＯＳ３１は、当該アプリケーションのプログラムＩＤを定義する（ステップＳ２１）。
【００５３】
第１のインストールコマンドに対するアプリケーションのプログラムＩＤの定義が終了すると、カードＯＳ３１は、当該第１のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ２２）。
【００５４】
第１のインストールコマンドが正常に終了した旨のステータスを受信した上位装置２は、次に、当該アプリケーションのプログラムの実態（プログラムを構成するデータ）をロードするロードコマンドを当該ＩＣカード１へ送信する。ロードコマンドは、当該アプリケーションのデータ量や上位装置２とＩＣカード１との通信能力等に応じて複数回実施される。
【００５５】
また、これらのロードコマンドの何れか１つには、作成不許可ＩＤあるいは複数の作成不許可候補ＩＤが付加されているものとする。すなわち、上位装置２は、アプリケーションを追加する場合、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されたロードコマンド（複数回ロードコマンドを実施する場合には何れか１つのロードコマンド）をＩＣカード１へ送信する（ステップＳ２３）。
【００５６】
なお、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）は、複数のロードコマンドのうちどのロードコマンドに含めるようにしてもよく、たとえば、最初のロードコマンドや最後のロードコマンドに含めるようにすればよい。
【００５７】
カードＯＳ３１は、ロードコマンドを受信すると、当該ロードコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されているか否かを判断する（ステップＳ２４）。この判断の結果、受信したロードコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されている場合、カードＯＳ３１は、そのＩＤとフラグを作成不許可管理テーブルに登録する（ステップＳ２５）。
【００５８】
ステップＳ２４における判断の結果、受信したロードコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されていない場合、カードＯＳ３１は、上位装置２からのロードコマンドを受信するごとに、当該アプリケーションのプログラムを不揮発性メモリ１５に記憶（ロード）し、その処理結果を上位装置２へ返送する（ステップＳ２３）。
【００５９】
このような動作によってアプリケーションのプログラムのロードが終了すると、カードＯＳ３１は、複数のロードコマンドによりロードされたアプリケーションのプログラムを、第１のインストールコマンドによって定義されたプログラムＩＤの１つのアプリケーションとしてアプリケーション層２３に追加（作成）する（ステップＳ２６）。これは、ハードウエア的には、上記アプリケーションが不揮発性メモリ１５に記憶されたことを示す。
【００６０】
アプリケーションのプログラムの追加が終了すると、カードＯＳ３１は、当該ロードコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ２７）。
【００６１】
ロードコマンドに対する処理が正常終了した旨のステータスを受信した上位装置２は、次に、ロードしたアプリケーションのデータＩＤを宣言する第２のインストールコマンドをＩＣカード１へ送信する。
【００６２】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第２のインストールコマンドを受信し、受信した第２のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ２８）。カードＯＳ３１は、ステップＳ７でアプリケーション層２３に追加された当該アプリケーションのデータを追加し、そのデータＩＤを定義する（ステップＳ２９）。  
第２のインストールコマンドに対するアプリケーションのデータの追加が終了すると、カードＯＳ３１は、当該第２のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ３０）。
【００６３】
このように、第２のパターンによれば、アプリケーションをＩＣカード１に追加する上位装置２は、アプリケーションのプログラムをロードするロードコマンドにおいて作成不許可ＩＤ（複数の作成不許可候補ＩＤ）をＩＣカード１に送信し、ＩＣカード１は、ロードコマンドに対して作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の有無を確認し、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されている場合には、そのＩＤとフラグを作成不許可管理テーブルに登録するものである。
【００６４】
次に、第３のパターン（第２のインストールコマンドでの登録）について図６に示すフローチャートを参照して説明する。  
アプリケーションをＩＣカード１に追加する場合、上位装置２は、追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドをＩＣカード１へ送信する。
【００６５】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第１のインストールコマンドを受信し、受信した第１のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える。カードＯＳ３１は、当該アプリケーションのプログラムＩＤを定義する（ステップＳ４１）。
【００６６】
第１のインストールコマンドに対するアプリケーションのプログラムＩＤの定義が終了すると、カードＯＳ３１は、当該第１のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ４２）。
【００６７】
第１のインストールコマンドが正常に終了した旨のステータスを受信した上位装置２は、次に、当該アプリケーションのプログラムの実態（プログラムを構成するデータ）をロードするロードコマンドを当該ＩＣカード１へ送信する。ロードコマンドは、当該アプリケーションのデータ量や上位装置２とＩＣカード１との通信能力等に応じて複数回実施される。ＩＣカード１は、上位装置２からのロードコマンドを受信するごとに、当該アプリケーションのプログラムを不揮発性メモリ１５に記憶（ロード）し、その処理結果を上位装置２へ返送する（ステップＳ４３）。
【００６８】
このような動作によってアプリケーションのプログラムのロードが終了すると、カードＯＳ３１は、複数のロードコマンドによりロードされたアプリケーションのプログラムは、第１のインストールコマンドによって定義されたプログラムＩＤの１つのアプリケーションとしてアプリケーション層２３に追加（作成）される（ステップＳ４４）。これは、ハードウエア的には、上記アプリケーションが不揮発性メモリ１５に記憶されたことを示す。
【００６９】
アプリケーションのプログラムの追加が終了すると、カードＯＳ３１は、当該ロードコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ４５）。
【００７０】
ロードコマンドに対する処理が正常終了した旨のステータスを受信した上位装置２は、次に、ロードしたアプリケーションのデータＩＤを宣言する第２のインストールコマンドをＩＣカード１へ送信する。この第２のインストールコマンドには、作成不許可ＩＤあるいは複数の作成不許可候補ＩＤが付加されているものとする。すなわち、上位装置２は、アプリケーションを追加する場合、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加された第２のインストールコマンドをＩＣカード１へ送信する。
【００７１】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第２のインストールコマンドを受信し、受信した第２のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ４６）。カードＯＳ３１は、第２のインストールコマンドを受信すると、当該第２のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されているか否かを判断する（ステップＳ４７）。
【００７２】
この判断の結果、受信した第２のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されている場合、カードＯＳ３１は、そのＩＤとフラグを作成不許可管理テーブルに登録する（ステップＳ４８）。
【００７３】
作成不許可管理テーブルへの登録が終了すると、カードＯＳ３１は、ステップＳ４４でアプリケーション層２３に追加された当該アプリケーションのデータを追加し、そのデータＩＤを定義する（ステップＳ４９）。
【００７４】
ステップＳ４７における判断の結果、受信した第２のインストールコマンドに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加されていない場合、カードＯＳ３１は、ステップＳ４８の処理を行なわずに残りの処理を実施する。
【００７５】
第２のインストールコマンドに対する作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録およびアプリケーションのデータの追加が終了すると、カードＯＳ３１は、当該第２のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ５０）。
【００７６】
このように、第３のパターンによれば、アプリケーションをＩＣカード１に追加する上位装置２は、アプリケーションのデータＩＤをＩＣカード１に宣言する第２のインストールコマンドにおいて作成不許可ＩＤ（複数の作成不許可候補ＩＤ）をＩＣカード１に送信し、ＩＣカード１は、第２のインストールコマンドに対して作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の有無を確認し、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が含まれている場合には、そのＩＤとフラグを作成不許可管理テーブルに登録するものである。
【００７７】
次に、第４のパターン（アプリケーション実行中での登録）について図７に示すフローチャートを参照して説明する。  
いま、上位装置２がアプリケーションの実行を要求するコマンドをＩＣカード１へ送信したものとする。これに対してＩＣカード１は、上位装置２からのアプリケーションの実行を要求するコマンドを受信し（ステップＳ６１）、カードＯＳ３１によりアプリケーション層２３の当該アプリケーションに対して実行の指示を行なう。これにより、アプリケーション層２３のアプリケーションの実行が開始される（ステップＳ６２）。
【００７８】
アプリケーション層２３のアプリケーションは、アプリケーションの追加が不許可である場合、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録処理を行なう。この作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録処理では、当該アプリケーションがＯＳ層２２のＡＰＩ群３４に対して当該アプリケーション自身の作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録処理を行なうためのＡＰＩを呼び出す（ステップＳ６３）。ここに、ＡＰＩ群３４はアプリケーションで使用される関数などを示すＡＰＩからなり、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録処理を行なうためのＡＰＩはあらかじめ設定されているものとする。
【００７９】
アプリケーションから呼び出されたＡＰＩは、カードＯＳ３１に対して作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録の要求を行なう。カードＯＳ３１では、ＡＰＩにより指定された作成不許可ＩＤ（複数の作成不許可候補ＩＤ）とフラグを作成不許可管理テーブルに登録する（ステップＳ６４）。
【００８０】
この登録が正常に終了すると、カードＯＳ３１は、ＡＰＩを介して当該アプリケーションに作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録が正常終了した旨を通知する（ステップＳ６５）。この作成不許可ＩＤ（複数の作成不許可候補ＩＤ）の登録が正常終了した旨の通知を受けると、当該アプリケーションは、当該アプリケーションの本体となる残りのプログラムを実行する（ステップＳ６６）。
【００８１】
このように、第４のパターンによれば、アプリケーションの実行中において、当該アプリケーション自身が作成不許可ＩＤ（複数の作成不許可候補ＩＤ）を作成不許可管理テーブルに登録するものである。
【００８２】
次に、第５のパターン（特殊コマンドでの登録）について図８に示すフローチャートを参照して説明する。  
たとえば、カードの発行時や運用時に、上位装置２は、作成不許可管理テーブルへの登録を目的とした特殊コマンドをＩＣカード１へ送信する。この特殊コマンドには、作成不許可ＩＤあるいは複数の作成不許可候補ＩＤが付加されているものとする。すなわち、上位装置２は、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）を登録する場合、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）が付加された特殊コマンドをＩＣカード１へ送信する。
【００８３】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により特殊コマンドを受信し、受信した特殊コマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ７１）。カードＯＳ３１は、特殊コマンドを受信すると、当該特殊コマンドに付加された作成不許可ＩＤ（複数の作成不許可候補ＩＤ）とフラグを作成不許可管理テーブルに登録する（ステップＳ７２）。  
この登録が終了すると、カードＯＳ３１は、当該特殊コマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ７３）。
【００８４】
このように、第５のパターンによれば、カードの発行時や運用時に、作成不許可管理テーブルへの登録を目的とした特殊コマンドで、作成不許可ＩＤ（複数の作成不許可候補ＩＤ）を作成不許可管理テーブルに登録するものである。
【００８５】
次に、作成不許可管理テーブルに登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断し、その判断結果に基づきアプリケーションの追加処理を制御する判断処理を具体的な動作例により説明する。  
登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断するタイミングは、以下に示す３つのパターンが考えられる。  
６．第１のインストールコマンドでの判断  
７．第２のインストールコマンドでの判断  
８．特殊コマンドでの判断  
まず、第６のパターン（第１のインストールコマンドでの判断）について図９に示すフローチャートを参照して説明する。  
アプリケーションをＩＣカード１に追加する場合、上位装置２は、追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドをＩＣカード１へ送信する。この第１のインストールコマンドには、追加するアプリケーションのプログラムＩＤが付加されているものとする。
【００８６】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第１のインストールコマンドを受信し、受信した第１のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ８１）。カードＯＳ３１は、第１のインストールコマンドを受信すると、当該第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤに基づき作成不許可管理テーブルを検索することにより、第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤと完全に一致するか、あるいは、一部分が一致するプログラムＩＤが登録されているか否かを判断する（ステップＳ８２）。
【００８７】
ここで、一部一致とは、第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤの一部と作成不許可管理テーブルに登録されているプログラムＩＤの一部分とが一致することで、プログラムＩＤが同じアプリケーションであることが判断できる場合である。たとえば、第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤの上位部分が作成不許可管理テーブルに登録されているプログラムＩＤの上位部分と一意に一致すれば、両者が一致したと判断するものである。
【００８８】
ステップＳ８２における判断の結果、第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていると判断した場合、カードＯＳ３１は、当該プログラムＩＤと対応するフラグを確認し（ステップＳ８３）、当該フラグが「不許可」の場合には、第１のインストールコマンドの処理を中止して、異常を示すレスポンス（ステータスワード）を上位装置２へ返送する（ステップＳ８４）。
【００８９】
ステップＳ８３における確認の結果、当該フラグが「候補」の場合、カードＯＳ３１は、当該フラグと対応するプログラムＩＤを「許可」に登録し直し、その後、同じ候補グループの他のフラグを全て「不許可」に登録し直す（ステップＳ８５）。登録し直し後、残りのインストール処理を続行する（ステップＳ８６）。
【００９０】
ステップＳ８２における判断の結果、第１のインストールコマンドにより指定されたアプリケーションのプログラムＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていないと判断した場合、あるいは、ステップＳ８３における確認の結果、当該フラグが「許可」の場合、カードＯＳ３１は、ステップＳ８５をジャンプしてステップＳ８６に進み、残りのインストール処理を続行する。
【００９１】
第１のインストールコマンドに対するアプリケーションのプログラムＩＤの定義が終了すると、カードＯＳ３１は、当該第１のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ８７）。
【００９２】
第１のインストールコマンドが正常に終了した旨のステータスを受信した上位装置２は、次に、当該アプリケーションのプログラムの実体（プログラムを構成するデータ）をロードするロードコマンドを当該ＩＣカード１へ送信する。ロードコマンドは、当該アプリケーションのデータ量や上位装置２とＩＣカード１との通信能力等に応じて複数回実施される。ＩＣカード１は、上位装置２からのロードコマンドを受信するごとに、当該アプリケーションのプログラムを不揮発性メモリ１５に記憶（ロード）し、その処理結果を上位装置２へ返送する（ステップＳ８８）。
【００９３】
このような動作によってアプリケーションのプログラムのロードが終了すると、カードＯＳ３１は、複数のロードコマンドによりロードされたアプリケーションのプログラムを、第１のインストールコマンドによって定義されたプログラムＩＤの１つのアプリケーションとしてアプリケーション層２３に追加（作成）する（ステップＳ８９）。これは、ハードウエア的には、上記アプリケーションが不揮発性メモリ１５に記憶されたことを示す。
【００９４】
アプリケーションのプログラムの追加が終了すると、カードＯＳ３１は、当該ロードコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ９０）。
【００９５】
ロードコマンドに対する処理が正常終了した旨のステータスを受信した上位装置２は、次に、ロードしたアプリケーションのデータＩＤを宣言する第２のインストールコマンドをＩＣカード１へ送信する。
【００９６】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第２のインストールコマンドを受信し、受信した第２のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ９１）。カードＯＳ３１は、ステップＳ７でアプリケーション層２３に追加された当該アプリケーションのデータを追加し、そのデータＩＤを定義する（ステップＳ９２）。  
第２のインストールコマンドに対するアプリケーションのデータの追加が終了すると、カードＯＳ３１は、当該第２のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ９３）。
【００９７】
このように、第６のパターンによれば、上位装置２から追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドを受信した際に、当該アプリケーションのプログラムＩＤと作成不許可管理テーブルに登録されている作成不許可ＩＤ（複数の作成不許可候補ＩＤ）と比較し、作成不許可ＩＤと完全に一致あるいは一部分が一致した場合には、そのアプリケーションの追加を異常終了させ、作成不許可候補ＩＤと完全に一致あるいは一部分が一致した場合には、作成不許可候補ＩＤを作成許可ＩＤに再登録し直した後、一致しなかった他の作成不許可候補ＩＤを作成不許可ＩＤに再登録し直した上で、処理を続行するものである。
【００９８】
次に、第７のパターン（第２のインストールコマンドでの判断）について図１０に示すフローチャートを参照して説明する。  
アプリケーションをＩＣカード１に追加する場合、上位装置２は、追加するアプリケーションのプログラムＩＤを宣言する第１のインストールコマンドをＩＣカード１へ送信する。
【００９９】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第１のインストールコマンドを受信し、受信した第１のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える。カードＯＳ３１は、当該アプリケーションのプログラムＩＤを定義する（ステップＳ１０１）。
【０１００】
第１のインストールコマンドに対するアプリケーションのプログラムＩＤの定義が終了すると、カードＯＳ３１は、当該第１のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ１０２）。
【０１０１】
第１のインストールコマンドが正常に終了した旨のステータスを受信した上位装置２は、次に、当該アプリケーションのプログラムの実態（プログラムを構成するデータ）をロードするロードコマンドを当該ＩＣカード１へ送信する。ロードコマンドは、当該アプリケーションのデータ量や上位装置２とＩＣカード１との通信能力等に応じて複数回実施される。ＩＣカード１は、上位装置２からのロードコマンドを受信するごとに、当該アプリケーションのプログラムを不揮発性メモリ１５に記憶（ロード）し、その処理結果を上位装置２へ返送する（ステップＳ１０３）。
【０１０２】
このような動作によってアプリケーションのプログラムのロードが終了すると、カードＯＳ３１は、複数のロードコマンドによりロードされたアプリケーションのプログラムは、第１のインストールコマンドによって定義されたプログラムＩＤの１つのアプリケーションとしてアプリケーション層２３に追加（作成）される（ステップＳ１０４）。これは、ハードウエア的には、上記アプリケーションが不揮発性メモリ１５に記憶されたことを示す。
【０１０３】
アプリケーションのプログラムの追加が終了すると、カードＯＳ３１は、当該ロードコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ１０５）。
【０１０４】
ロードコマンドに対する処理が正常終了した旨のステータスを受信した上位装置２は、次に、ロードしたアプリケーションのデータＩＤを宣言する第２のインストールコマンドをＩＣカード１へ送信する。この第２のインストールコマンドには、追加するアプリケーションのデータＩＤが付加されているものとする。
【０１０５】
これに対してＩＣカード１は、Ｈ／Ｗ層２１のＵＡＲＴ１４により第２のインストールコマンドを受信し、受信した第２のインストールコマンドをＯＳ層２２のカードＯＳ３１へ与える（ステップＳ１０６）。カードＯＳ３１は、第２のインストールコマンドを受信すると、当該第２のインストールコマンドにより指定されたアプリケーションのデータＩＤに基づき作成不許可管理テーブルを検索することにより、第２のインストールコマンドにより指定されたアプリケーションのデータＩＤと完全に一致するか、あるいは、一部分が一致するプログラムＩＤが登録されているか否かを判断する（ステップＳ１０７）。
【０１０６】
この判断の結果、第２のインストールコマンドにより指定されたアプリケーションのデータＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていると判断した場合、カードＯＳ３１は、当該プログラムＩＤと対応するフラグを確認し（ステップＳ１０８）、当該フラグが「不許可」の場合には、第２のインストールコマンドの処理を中止して、異常を示すレスポンス（ステータスワード）を上位装置２へ返送する（ステップＳ１０９）。
【０１０７】
ステップＳ１０８における確認の結果、当該フラグが「候補」の場合、カードＯＳ３１は、当該フラグと対応するプログラムＩＤを「許可」に登録し直し、その後、同じ候補グループの他のフラグを全て「不許可」に登録し直す（ステップＳ１１０）。
【０１０８】
ステップＳ１０７における判断の結果、第２のインストールコマンドにより指定されたアプリケーションのデータＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていないと判断した場合、あるいは、ステップＳ１０８における確認の結果、当該フラグが「許可」の場合、カードＯＳ３１は、ステップＳ１１０の処理を行なわずに残りの処理を実施する。
【０１０９】
第２のインストールコマンドに対するアプリケーションのデータＩＤの定義が終了すると、カードＯＳ３１は、ステップＳ１０４でアプリケーション層２３に追加された当該アプリケーションのデータを追加し、そのデータＩＤを定義する（ステップＳ１１１）。
【０１１０】
第２のインストールコマンドに対するアプリケーションのデータの追加が終了すると、カードＯＳ３１は、当該第２のインストールコマンドに対する処理が正常に終了したことを示すステータスを上位装置２へ返送する（ステップＳ１１２）。
【０１１１】
このように、第７のパターンによれば、上位装置２から追加するアプリケーションのデータＩＤを宣言する第２のインストールコマンドを受信した際に、当該アプリケーションのデータＩＤと作成不許可管理テーブルに登録されている作成不許可ＩＤ（複数の作成不許可候補ＩＤ）と比較し、作成不許可ＩＤと完全に一致あるいは一部分が一致した場合には、そのアプリケーションの追加を異常終了させ、作成不許可候補ＩＤと完全に一致あるいは一部分が一致した場合には、作成不許可候補ＩＤを作成許可ＩＤに再登録し直した後、一致しなかった他の作成不許可候補ＩＤを作成不許可ＩＤに再登録し直した上で、処理を続行するものである。
【０１１２】
次に、第８のパターン（特殊コマンドでの判断）について参照して説明する。  
上述した第６、第７のパターンの処理は、Ｊａｖａカードを前提としたコマンドによる処理であるが、各種カードメーカが作成したＪａｖａカード以外のＩＣカードにおいても、搭載された複数のアプリケーションを選択的に実行可能状態に設定／移行させる特殊コマンドにおいて、同様の判断処理が実施される。
【０１１３】
具体的には、上位装置は、アプリケーションを実行可能状態に設定／移行させる特殊コマンドにおいて、当該アプリケーションのプログラムＩＤをＩＣカードへ送信する。特殊コマンドを受信したカードＯＳは、前述した第６のパターンと同様に、特殊コマンド内のアプリケーションのプログラムＩＤに基づき作成不許可管理テーブルを検索することにより、特殊コマンドにより指定されたアプリケーションのプログラムＩＤと完全に一致するか、あるいは、一部分が一致するプログラムＩＤが登録されているか否かを判断する。
【０１１４】
この判断の結果、特殊コマンドにより指定されたアプリケーションのプログラムＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていると判断した場合、カードＯＳは、当該プログラムＩＤと対応するフラグを確認し、当該フラグが「不許可」の場合には、特殊コマンドの処理を中止して、異常を示すレスポンス（ステータスワード）を上位装置へ返送する。
【０１１５】
上記確認の結果、当該フラグが「候補」の場合、カードＯＳは、当該フラグと対応するプログラムＩＤを「許可」に登録し直し、その後、同じ候補グループの他のフラグを全て「不許可」に登録し直す。登録し直し後、残りの処理を続けて、当該アプリケーションを実行可能状態に設定する。
【０１１６】
上記判断の結果、特殊コマンドにより指定されたアプリケーションのプログラムＩＤと完全一致あるいは一部分一致するプログラムＩＤが作成不許可管理テーブルに登録されていないと判断した場合、あるいは、上記確認の結果、当該フラグが「許可」の場合、カードＯＳは、残りの処理を続けて、当該アプリケーションを実行可能状態に設定する。
【０１１７】
なお、第８のパターンの場合、作成不許可管理テーブルに登録される情報は、第１〜第７のパターンの場合の作成不許可ＩＤ（複数の作成不許可候補ＩＤ）に代えて、実行可能を不許可とするアプリケーションを示す実行可能不許可ＩＤ（実行可能不許可情報）あるいは実行可能を不許可とするアプリケーションの候補を示す複数の実行可能不許可候補ＩＤ（実行可能不許可候補情報）となる。  
このように、第８のパターンによれば、Ｊａｖａカード以外のＩＣカードにおいても第６のパターンと同様の判断処理が可能である。
【０１１８】
なお、Ｊａｖａカード以外のＩＣカードにおける実行可能不許可ＩＤ（複数の実行可能不許可候補ＩＤ）の作成不許可管理テーブルへの登録は、前述した第１のパターンあるいは第５のパターンに準じた登録処理により行なわれる。以下、それについて要部のみを簡単に説明する。
【０１１９】
まず、第１のパターンに準じた登録処理では、上位装置は、アプリケーションを実行可能状態に設定／移行させるコマンドにおいて、当該アプリケーションのプログラムＩＤとともに実行可能不許可ＩＤ（複数の実行可能不許可候補ＩＤ）をＩＣカードへ送信する。当該コマンドを受信したカードＯＳは、当該コマンドに付加された実行可能不許可ＩＤ（複数の実行可能不許可候補ＩＤ）とフラグを作成不許可管理テーブルに登録する。
【０１２０】
次に、第５のパターンに準じた登録処理では、たとえば、カードの発行時や運用時に、上位装置は、作成不許可管理テーブルへの登録を目的とした特殊コマンドにおいて、実行可能不許可ＩＤ（複数の実行可能不許可候補ＩＤ）をＩＣカードへ送信する。当該特殊コマンドを受信したカードＯＳは、当該特殊コマンドに付加された実行可能不許可ＩＤ（複数の実行可能不許可候補ＩＤ）とフラグを作成不許可管理テーブルに登録する。
【０１２１】
以上説明した第１〜第５のパターンと第６〜第８のパターンとを組み合わせることによって、ＩＣカードにアプリケーションの追加（作成）を不許可する情報とともに、登録されたアプリケーションが追加、もしくは、実行可能状態への設定／移行を制限できる。  
したがって、特に競合他社のアプリケーションを追加することや実行可能に設定することを防止することが可能となる。たとえば、順番の低いアプリケーション提供者が順番の高いアプリケーションの追加を不許可にすることが可能となる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の本実施の形態に係る携帯可能電子装置としてのＩＣカードの一例としてＪａｖａカードのハードウエア構成を概略的に示すブロック図。
【図２】Ｊａｖａカードのソフトウエア構成を模式的に示す図。
【図３】作成不許可管理テーブルの構成を示す図。
【図４】作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理の第１のパターンを説明するためのフローチャート。
【図５】作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理の第２のパターンを説明するためのフローチャート。
【図６】作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理の第３のパターンを説明するためのフローチャート。
【図７】作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理の第４のパターンを説明するためのフローチャート。
【図８】作成不許可ＩＤや複数の作成不許可候補ＩＤを作成不許可管理テーブルに登録する登録処理の第５のパターンを説明するためのフローチャート。
【図９】登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断する判断処理の第６のパターンを説明するためのフローチャート。
【図１０】登録された作成不許可ＩＤや複数の作成不許可候補ＩＤを判断する判断処理の第７のパターンを説明するためのフローチャート。
【符号の説明】
【０１２３】
１…Ｊａｖａカード（ＩＣカード、携帯可能電子装置）、２…上位装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…通信ユニット（ＵＡＲＴ）、１５…不揮発性メモリ（ＮＶ（ＥＥＰＲＯＭ））、１６…コプロセッサ（Ｃｏ−Ｐｒｏ）、２１…ハードウエア層、２２…ＯＳ層、２３…アプリケーション層、３１…カードＯＳ、３２…バーチャルマシン、３３…ＩＳＤ、３４…ＡＰＩ群。
【図１】
2008269077.tif 000003
【図２】
2008269077.tif 000004
【図３】
2008269077.tif 000005
【図４】
2008269077.tif 000006
【図５】
2008269077.tif 000007
【図６】
2008269077.tif 000008
【図７】
2008269077.tif 000009
【図８】
2008269077.tif 000010
【図９】
2008269077.tif 000011
【図１０】
2008269077.tif 000012