(57)【特許請求の範囲】
【請求項１】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、
前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、
前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、
前記通信部を通じてレコードを削除する削除コマンドを受信した場合、前記削除コマンドに従って、前記第２記憶部が格納するレコードを削除するレコード削除部と、
前記レコード削除部が前記第２記憶部が格納する前記レコードを削除すると、前記レコードに対応するアプリケーションを物理的に削除するアプリケーション削除部と、
を備えるＩＣカード。
【請求項２】
前記ステータスは、ロック、論理的無効、又は、論理的削除の少なくとも１つを含む、
前記請求項１に記載のＩＣカード。
【請求項３】
前記レコードは、ＡＩＤ、アプリ名、管理者名、利用開始日、有効期限、又は、電子署名の少なくとも１つを含む、
前記請求項１又は２に記載のＩＣカード。
【請求項４】
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを送受信する通信部と、アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、前記通信部を通じてレコードを削除する削除コマンドを受信した場合、前記削除コマンドに従って、前記第２記憶部が格納するレコードを削除するレコード削除部と、前記レコード削除部が前記第２記憶部が格納する前記レコードを削除すると、前記レコードに対応するアプリケーションを物理的に削除するアプリケーション削除部と、を備えるモジュールと、
前記モジュールを内蔵した本体と、
を備えるＩＣカード。
【請求項５】
外部装置からのコマンドを実行する携帯可能電子装置であって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、
前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、
前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、
前記通信部を通じてレコードを削除する削除コマンドを受信した場合、前記削除コマンドに従って、前記第２記憶部が格納するレコードを削除するレコード削除部と、
前記レコード削除部が前記第２記憶部が格納する前記レコードを削除すると、前記レコードに対応するアプリケーションを物理的に削除するアプリケーション削除部と、
を備える携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及び、プログラムコードに関する。
【背景技術】
【０００２】
ＩＣカードなどの携帯可能電子装置は、アプリケーションの種別をＰＥＳ（Ｐａｙｍｅｎｔ  Ｓｙｓｔｅｍ  Ｅｎｖｉｒｏｍｅｎｔ）と呼ばれるＤＦに当該アプリケーションのレコードとして格納する。従来、ＩＣカードは、アプリケーションのステータスの変更、又は、削除を行う場合には、アプリケーションのステータスを変更又はアプリケーションを削除した後に、ＰＥＳ内のレコードを変更又は削除する必要があるという課題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−５０４８６２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の課題を解決するために、レコードを変更することでレコードに関連するアプリケーションの管理を行うことができるＩＣカード、携帯可能電子装置、及び、プログラムコードを提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、ＩＣカードは、通信部と、第１記憶部と、第２記憶部と、更新部と、変更部と、レコード削除部と、アプリケーション削除部と、を備える。通信部は、外部装置とデータを送受信する。第１記憶部は、アプリケーションを格納する。第２記憶部は、前記アプリケーションのステータス設定を含むレコードを格納する。更新部は、前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する。変更部は、前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する。レコード削除部は、前記通信部を通じてレコードを削除する削除コマンドを受信した場合、前記削除コマンドに従って、前記第２記憶部が格納するレコードを削除する。アプリケーション削除部は、前記レコード削除部が前記第２記憶部が格納する前記レコードを削除すると、前記レコードに対応するアプリケーションを物理的に削除する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係るＩＣカード処理システムの構成例を示す図である。
【図２】図２は、実施形態に係るＩＣカードの構成例を示すブロック図である。
【図３】図３は、実施形態に係るＩＣカードのＮＶＭのファイル構造の構成例を示すブロック図である。
【図４】図４は、実施形態に係るＩＣカードのＮＶＭが格納するアプリケーションの構成例を示す図である。
【図５】図５は、実施形態に係るＩＣカードのアプリケーションリストが格納するレコードの構成例を示す図である。
【図６】図６は、実施形態に係るＩＣカードのレコードが格納するデータの構成例を示す図である。
【図７】図７は、実施形態に係るＩＣカード処理システムのインストールファイルである。
【図８】図８は、実施形態に係るＩＣカードのＯＳの動作例を示すフローチャートである。
【図９】図９は、実施形態に係るＩＣカードのＯＳの動作例を示すフローチャートである。
【図１０】図１０は、実施形態に係る管理アプリケーションの動作例を示すフローチャートである。
【図１１】図１１は、実施形態に係るＩＣカードのＯＳの動作例を示すフローチャートである。
【図１２】図１２は、実施形態に係るＩＣカードのＯＳの動作例を示すフローチャートである。
【図１３】図１３は、実施形態に係る管理アプリケーションの動作例を示すフローチャートである。
【図１４】図１４は、実施形態に係るＩＣカードのＯＳの動作例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施形態について、図面を参照して説明する。  
図１は、ＩＣカード処理システム１０の構成例について説明するためのブロック図である。図１が示すように、ＩＣカード処理システム１０は、ＩＣカード処理装置１（外部装置）、及び、ＩＣカード２（携帯可能電子装置）などから構成される。
【０００８】
図１が示す構成例において、ＩＣカード処理装置１は、基本的な構成として、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４、カードリーダライタ１５、操作部１６、及び、ディスプレイ１７などを有する。これらの各部は、データバスを介して互いに接続されている。なお、ＩＣカード処理装置１は、図１が示すような構成の他に、必要に応じた構成を具備したり特定の構成を除外したりしてもよい。
【０００９】
ＣＰＵ１１は、ＩＣカード処理装置１全体の動作を制御する機能を有する。ＣＰＵ１１は、内部キャッシュおよび各種のインターフェースなどを備えても良い。ＣＰＵ１１は、内部メモリ、ＲＯＭ１２あるいはＮＶＭ１４に予め記憶したプログラムを実行することにより種々の処理を実現する。
【００１０】
ＣＰＵ１１は、カードリーダライタ１５によりＩＣカード２へコマンドを送信する機能、ＩＣカード２から受信するレスポンスなどのデータを基に種々の処理を行う機能などを有する。たとえば、ＣＰＵ１１は、カードリーダライタ１５を介して、操作部１６などに入力されたデータ又は所定のデータなどを含む書き込みコマンドをＩＣカード２に送信することにより、ＩＣカード２に当該データの書き込み処理を要求する制御を行う。
【００１１】
なお、ＣＰＵ１１がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、ＣＰＵ１１は、ハードウエア回路により実行される機能を制御する。
【００１２】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどが記憶された不揮発性のメモリである。ＲＯＭ１２に記憶される制御プログラム及び制御データは、予めＩＣカード処理装置１の仕様に応じて組み込まれる。ＲＯＭ１２は、たとえば、ＩＣカード処理装置１の回路基板を制御するプログラム（例えば、ＢＩＯＳ）などを格納している。
【００１３】
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、ＣＰＵ１１からの命令に基づき種々のアプリケーションプログラムを格納している。また、ＲＡＭ１３は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【００１４】
ＮＶＭ１４は、データの書き込み及び書き換えが可能な不揮発性のメモリである。ＮＶＭ１４は、例えば、ハードディスク、ＳＳＤ、ＥＥＰＲＯＭ又はフラッシュメモリなどにより構成される。ＮＶＭ１４は、ＩＣカード処理装置１の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。
【００１５】
カードリーダライタ１５は、ＩＣカード２との通信を行うためのインターフェース装置である。カードリーダライタ１５は、ＩＣカード２の通信方式に応じたインターフェースにより構成される。たとえば、ＩＣカード２が接触型のＩＣカードである場合、カードリーダライタ１５は、ＩＣカード２のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
【００１６】
また、ＩＣカード２が非接触型のＩＣカードである場合、カードリーダライタ１５は、ＩＣカード２との無線通信を行うためのアンテナおよび通信制御部などにより構成される。カードリーダライタ１５では、ＩＣカード２に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。
【００１７】
このような機能によってカードリーダライタ１５は、ＣＰＵ１１による制御に基づいてＩＣカード２に対する電源供給、ＩＣカード２の活性化（起動）、クロック供給、リセット制御、種々のコマンドの送信、及び送信したコマンドに対する応答（レスポンス）の受信などを行なう。
【００１８】
操作部１６は、ＩＣカード処理装置１の操作者によって、種々の操作指示が入力される。操作部１６は、操作者に入力された操作指示のデータをＣＰＵ１１へ送信する。操作部１６は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。また、操作部１６は、生態情報の入力を受け付けてもよい。
【００１９】
ディスプレイ１７は、ＣＰＵ１１の制御により種々の情報を表示する表示装置である。ディスプレイ１７は、たとえば、液晶モニタなどである。
【００２０】
次に、ＩＣカード２について説明する。  
ＩＣカード２は、ＩＣカード処理装置１などの上位装置から電力などの供給を受けて活性化される（動作可能な状態になる）ようになっている。例えば、ＩＣカード２が接触型の通信によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が接触型のＩＣカードで構成される場合、ＩＣカード２は、通信インターフェースとしてのコンタクト部を介してＩＣカード処理装置１からの動作電源及び動作クロックの供給を受けて活性化される。
【００２１】
また、ＩＣカード２が非接触型の通信方式によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が非接触式のＩＣカードで構成される場合、ＩＣカード２は、通信インターフェースとしてのアンテナ及び変復調回路などを介してＩＣカード処理装置１からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【００２２】
次に、ＩＣカード２の構成例について説明する。  
図２は、実施形態に係るＩＣカード２の構成例を概略的に示すブロック図である。  
ＩＣカード２は、プラスチックなどで形成されたカード状の本体Ｃを有する。ＩＣカード２は、本体Ｃ内にモジュールＭが内蔵されている。モジュールＭは、１つまたは複数のＩＣチップＣａと通信部としての外部インターフェース（通信インターフェース）とが接続された状態で一体的に形成され、ＩＣカード２の本体Ｃ内に埋設されている。
【００２３】
図２に示す構成例において、ＩＣカード２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＮＶＭ２４、及び、通信部２５などを備えている。これらの各部は、データバスを介して互いに接続されている。また、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、およびＮＶＭ２４は、１つ又は複数のＩＣチップＣａにより構成され、通信部２５に接続された状態でモジュールＭを構成している。
【００２４】
ＣＰＵ２１は、ＩＣカード２全体の制御を司る制御部として機能する。ＣＰＵ２１は、ＲＯＭ２２あるいはＮＶＭ２４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。たとえば、ＣＰＵ２１は、ＲＯＭ２２に記憶されているプログラムを実行することにより、ＩＣカード２の動作制御あるいはＩＣカード２の運用形態に応じた種々の処理を行う。
【００２５】
なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、ＣＰＵ２１は、ハードウエア回路により実行される機能を制御する。
【００２６】
ＲＯＭ２２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２２は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２に組み込まれる。即ち、ＲＯＭ２２に記憶される制御プログラム及び制御データは、予めＩＣカード２の仕様に応じて組み込まれる。
【００２７】
ＲＡＭ２３は、揮発性のメモリである。ＲＡＭ２３は、ＣＰＵ２１の処理中のデータなどを一時的に格納する。たとえば、ＲＡＭ２３は、計算用バッファ、受信用バッファ及び送信用バッファとして機能する。計算用バッファとしては、ＣＰＵ２１が実行する種々の演算処理の結果などを一時的に保持する。受信用バッファとしては、通信部２５を介してＩＣカード処理装置１から受信するコマンドデータなどを保持する。送信用バッファとしては、通信部２５を介してＩＣカード処理装置１へ送信するメッセージ（レスポンスデータ）などを保持する。また、ＲＡＭ２３は、動作状態を示すフラグを記憶する。
【００２８】
ＮＶＭ２４は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。ＮＶＭ２４は、ＩＣカード２の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。例えば、ＮＶＭ２４では、プログラムファイル及びデータファイルなどが作成される。作成された各ファイルは、制御プログラム及び種々のデータなどが書き込まれる。
【００２９】
通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との通信を行うためのインターフェースである。ＩＣカード２が接触型のＩＣカードとして実現される場合、通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、ＩＣカード２が非接触型のＩＣカードとして実現される場合、通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
【００３０】
図３は、ＮＶＭ２４に格納されるファイルの構造例を示す図である。  
図３が示すように、ＮＶＭ２４は、ＭＦ（Master File）、ＤＦ(Dedicated File)および、ＥＦ(Elementary File)などからなる階層構造を有する複数のファイル群が定義される。
【００３１】
図３が示す例では、最上階層のＭＦ１０１（マスターファイル）の下の階層には、ＤＦ１０２乃至１０４が存在する。たとえば、１つのＤＦは、ＩＣカード２が具備する１つのアプリケーションを実現するためのデータが格納される。ＩＣカードが複数のアプリケーションによって複数の機能を実現している場合は、ＮＶＭ２４は、各アプリケーションに対応する複数のＤＦを格納しても良い。また、ＤＦの下の階層に、さらに他のＤＦが存在してもよい。
【００３２】
また、図３が示す例では、ＤＦ１０２乃至１０４の下の階層に、それぞれＥＦ１１２乃至１１４が存在している。ＥＦ１１２乃至１１４は、各種のデータを格納するためのデータファイルである。ＥＦ１１２乃至１１４には、所定のデータ構造のうち何れかのデータ構造でデータが格納される。たとえば、ＥＦ１１２乃至１１４は、識別子（タグ（Tag））、長さ情報（レングス(Length)）、および、データ部（バリュー（Value））が順に連結されるＴＬＶ構造のオブジェクトデータが格納されるファイルであっても良いし、バイナリーデータを記憶するファイルであっても良い。
【００３３】
ここでは、ＤＦ１０２乃至１０４は、それぞれ１つのＥＦを格納する。ＤＦ１０２乃至１０４は、複数のＥＦを格納してもよい。ＤＦ１０２乃至１０４が格納するＥＦの個数は、特定の個数に限定されるものではない。
【００３４】
なお、ＮＶＭ２４は、ＭＦがなく各ファイルが横並びである構造であってもよい。たとえば、ＮＶＭ２４のファイル構造は、Ｊａｖａ（登録商標）Ｃａｒｄのように階層構造を持たなくともよい。
【００３５】
なお、ＮＶＭ２４に格納されるファイル構造は、特定の構造に限定されるものではない。
【００３６】
次に、ＮＶＭ２４が格納するアプリケーションについて説明する。  
図４は、ＮＶＭ２４が格納するアプリケーションを示すブロック図である。  
ここでは、ＮＶＭ２４は、ＤＦ１０２乃至１０４にアプリケーションを格納しているものとする。
【００３７】
ＮＶＭ２４は、ＤＦ１０２及び１０３（請求項１、７及び９の第１記憶部、又は、請求項５、８及び９の記憶部に対応）にそれぞれ通常アプリケーション３１及び３２を格納する。また、ＮＶＭ２４は、ＤＦ１０４（第２記憶部に対応）に管理アプリケーション３３を格納する。
【００３８】
通常アプリケーション３１は、ＩＣカード２の所定の機能を実現するためのアプリケーションである。たとえば、通常アプリケーション３１は、ＩＣカード処理装置１からのコマンドに従って、認証処理を実行する。また、たとえば、通常アプリケーション３１は、ＩＣカード処理装置１からのコマンドに従って、特定の領域にデータを書き込む処理を実行する。通常アプリケーション３１が実現する機能は、特定の機能に限定されるものではない。
【００３９】
通常アプリケーション３１は、ＩＣカード２の発行時にＮＶＭ２４に格納されてもよい。また、通常アプリケーション３１は、ＩＣカード２の運用に応じて追加されたものであってもよい。
【００４０】
通常アプリケーション３１は、ＡＩＤ３１ａ、アプリケーションデータ３１ｂ及びコード３１ｃなどから構成される。なお、ＡＩＤ３１ａ、アプリケーションデータ３１ｂ及びコード３１ｃは、ＥＦ１１２に格納されてもよい。また、ＡＩＤ３１ａ、アプリケーションデータ３１ｂ及びコード３１ｃは、ＤＦ１０２にある複数個のＥＦにそれぞれ格納されてもよい。
【００４１】
ＡＩＤ３１ａは、通常アプリケーション３１を識別する識別子である。たとえば、ＡＩＤ３１ａは、数値、文字列又は両者の組合せなどであってもよい。
【００４２】
アプリケーションデータ３１ｂは、通常アプリケーション３１を実行するために必要なデータである。たとえば、通常アプリケーション３１が決済機能を実現する場合、アプリケーションデータ３１ｂは、ＩＣカード２にチャージされる金額などを示す。
【００４３】
また、アプリケーションデータ３１ｂは、通常アプリケーション３１が生成するデータであってもよい。
【００４４】
コード３１ｃは、通常アプリケーション３１のプログラムコードである。コード３１ｃは、通常アプリケーション３１が実現する内容に応じたプログラムコードである。
【００４５】
通常アプリケーション３２は、通常アプリケーション３１と同様であるので説明を省略する。
【００４６】
次に、管理アプリケーション３３について説明する。  
管理アプリケーション３３は、通常アプリケーション３１及び３２などを管理するためのアプリケーションである。前述の通り、管理アプリケーション３３は、ＤＦ１０４に格納される。即ち、管理アプリケーション３３は、管理アプリケーション３３が管理するアプリケーション（たとえば、通常アプリケーション３１又は３２）と同階層に格納される。同階層とは、ＭＦ１０１からの同一の深度にあるＤＦであることを示す。また、管理アプリケーション３３は、管理アプリケーション３３が管理するアプリケーションと異なる階層に格納されてもよい。
【００４７】
管理アプリケーション３３は、ＩＣカード２の発行時にＮＶＭ２４に格納されてもよい。また、管理アプリケーション３３は、通常アプリケーション３１又は３２がインストールされたのちに、ＮＶＭ２４に格納されてもよい。
【００４８】
図４が示すように、管理アプリケーション３３は、ＡＩＤ３３ａ、アプリケーションリスト３３ｂ、及び、コード３４ｂなどを備える。
【００４９】
ＡＩＤ３３ａは、管理アプリケーション３３を識別する識別子である。
【００５０】
アプリケーションリスト３３ｂは、通常アプリケーション３１及び３２に対応するレコードを格納する。レコードについては、後述する。
【００５１】
コード３３ｃは、管理アプリケーション３３のプログラムコードである。コード３３ｃは、管理アプリケーション３３の機能を実現するためのプログラムコードである。管理アプリケーション３３が実現する機能について後述する。
【００５２】
次に、アプリケーションリスト３３ｂが格納するレコードについて説明する。  
図５は、アプリケーションリスト３３ｂが格納するレコードを示すブロック図である。
【００５３】
アプリケーションリスト３３ｂは、ＮＶＭ２４が格納するアプリケーションに対応するレコードを格納する。アプリケーションリスト３３ｂは、ＮＶＭ２４が格納するアプリケーションの一部に対応するレコードを格納してもよい。
【００５４】
図５が示すように、アプリケーションリスト３３ｂは、レコード４１及び４２などを格納する。
【００５５】
レコード４１及び４２は、通常アプリケーション３１及び３２にそれぞれ関する情報を格納する。
【００５６】
ここでは、アプリケーションリスト３３ｂは、２つのレコードを格納するが、アプリケーションリスト３３ｂが格納するレコードの個数は、特定の個数に限定されるものではない。
【００５７】
次に、レコードについて説明する。  
図６は、レコードが格納するデータについて説明するための図である。
【００５８】
図６は、レコード４１の構成例を示す。
【００５９】
図６が示すように、レコード４１は、ＡＩＤ５１、アプリ名５２、管理者名５３、利用開始日５４、有効期限５５、ステータス設定５６、及び、電子署名５７などを備える。
【００６０】
ＡＩＤ５１は、レコード４１が対応するアプリケーションを識別する識別子である。ＡＩＤ５１は、ＡＩＤ３３ａに対応する。ＡＩＤ５１は、ＡＩＤ３３ａと同一であってもよいし、異なってもよい。
【００６１】
アプリ名５２は、レコード４１が対応する通常アプリケーション３１の名称である。アプリ名５２は、利用者がＩＣカード２からレコード４１を取得した際にレコード４１に対応するアプリケーションの表示用の文字列などである。
【００６２】
管理者名５３は、レコード４１が対応する通常アプリケーション３１を管理している管理者の名称である。管理者名５３は、通常アプリケーション３１をインストールした者の名称であってもよいし、通常アプリケーション３１を発行している者の名称であってもよい。
【００６３】
利用開始日５４は、レコード４１が対応する通常アプリケーション３１の利用が開始する日付である。
【００６４】
有効期限５５は、レコード４１が対応する通常アプリケーション３１の利用が終了する日付である。また、有効期限５５は、利用開始日５４からの期間を示してもよい。
【００６５】
ステータス設定５６は、レコード４１が対応する通常アプリケーション３１のステータスを示す。ステータスは、アプリケーションの状態を示す。たとえば、ステータスは、「ロック」、「終了（論理的無効化）」、又は、「消去（論理的削除）」などである。
【００６６】
「ロック」は、アプリケーションが利用不可能な状態であることを示す。
【００６７】
「終了」は、アプリケーションが無効化されている状態であることを示す。無効化されている状態とは、アプリケーションのコードは実行できないがアプリケーションのデータなどは利用可能である状態を示す。
【００６８】
「消去」は、アプリケーションが論理的に消去されたことを示す。たとえば、消去は、ＮＶＭ２４の論理領域からアプリケーションに対応する記録が消去された状態を示す。
【００６９】
なお、ステータスは、他の状態を示してもよい。ステータスが示す状態は、特定の構成に限定されるものではない。
【００７０】
電子署名５７は、レコード４１が改ざんされていないことを示す署名である。
【００７１】
次に、ＩＣカード２のＯＳが実現する機能について説明する。  
ＩＣカード２のＯＳが実現する機能は、ＣＰＵ２１がＲＯＭ２２又はＮＶＭ２４などが格納するコード又はデータなどを用いて実現する。
【００７２】
ＩＣカード２のＯＳは、通信部２５を通じてアプリケーションリスト３３ｂ内のレコードを更新するコマンド（更新コマンド）を受信した場合に、当該コマンドに従って当該レコードを書き換える機能を有する（更新部に対応）。たとえば、ＩＣカード処理装置１は、所定のレコード（たとえば、レコード４１）のステータス設定（たとえば、ステータス設定５６）を更新するコマンドをＩＣカード２へ送信する。ＩＣカード２のＯＳは、通信部２５を通じて当該コマンドを受信すると、当該コマンドに従って、ステータス設定を更新する。
【００７３】
ＩＣカード２のＯＳは、通信部２５を通じてアプリケーションリスト３３ｂ内のレコードを削除するコマンド（削除コマンド）を受信した場合に、当該コマンドに従って当該レコードを削除する機能を有する（レコード削除部に対応）。たとえば、ＩＣカード処理装置１は、所定のレコード（たとえば、レコード４１）を削除するコマンドをＩＣカード２へ送信する。ＩＣカード２のＯＳは、通信部２５を通じて当該コマンドを受信すると、当該コマンドに従って、レコードを削除する。
【００７４】
ＩＣカード２のＯＳは、管理アプリケーションから前記アプリケーションのステータスを変更する変更命令を受信した場合に、前記変更命令に従ってアプリケーションのステータスを変更する機能を有する（変更部）。たとえば、管理アプリケーション３３が所定のアプリケーションをロックさせる変更命令をＯＳへ送信すると、ＩＣカード２のＯＳは、当該変更命令に従って、当該所定のアプリケーションをロックする。この場合、たとえば、ＩＣカード２のＯＳは、当該変更命令に従って、当該所定のアプリケーションがロックされていることを示すフラグを立てる。
【００７５】
また、管理アプリケーション３３が所定のアプリケーションを論理的に無効にする変更命令（終了させる命令）をＯＳに送信すると、ＩＣカード２のＯＳは、当該変更命令に従って、所定のアプリケーションを論理的に無効する。この場合、たとえば、ＩＣカード２のＯＳは、当該変更命令に従って、所定のアプリケーションが論理的に無効になったことを示すフラグを立てる。
【００７６】
また、管理アプリケーション３３が所定のアプリケーションを論理的に削除する変更命令をＯＳに送信すると、ＩＣカード２のＯＳは、当該変更命令に従って、所定のアプリケーションを論理的に削除する。この場合、たとえば、ＩＣカード２のＯＳは、当該変更命令に従って、所定のアプリケーションに対応する論理領域に当該所定のアプリケーションのデータが削除されたことを示すフラグを立てる。
【００７７】
また、ＩＣカード２のＯＳは、管理アプリケーションからアプリケーションを物理的に削除する削除命令を受信した場合に、削除命令に従ってアプリケーションを物理的に削除する機能を有する（アプリケーション削除部に対応）。管理アプリケーション３３が所定のアプリケーションを物理的に削除する削除命令をＯＳに送信すると、ＩＣカード２のＯＳは、当該削除命令に従って、所定のアプリケーションを物理的に削除する。この場合、たとえば、ＩＣカード２のＯＳは、削除命令に従って、所定のアプリケーションに対応する論理領域及び物理領域を削除する。
【００７８】
次に、管理アプリケーション３３が実現する機能について説明する。  
管理アプリケーション３３が実現する機能は、ＣＰＵ２１がコード３３ｃを実行することで実現される。
【００７９】
管理アプリケーション３３は、レコード（たとえば、レコード４１）のステータス設定（たとえば、ステータス設定５６）が変更されたことを検知する機能を有する。たとえば、管理アプリケーション３３は、ＯＳが管理アプリケーション３３のアプリケーションリスト３３ｂへアクセスしたことを検知する。
【００８０】
また、管理アプリケーション３３は、レコード（たとえば、レコード４１）のステータス設定（たとえば、ステータス設定５６）が変更された場合に、ステータス設定に従って、当該レコードに対応するアプリケーション（たとえば、通常アプリケーション３１）のステータスを変更させる変更命令をＯＳへ送信する。たとえば、管理アプリケーション３３は、レコードのステータス設定が「ロック」に変更されると、当該レコードに対応するアプリケーションをロックさせる変更命令をＯＳへ送信する。
【００８１】
また、管理アプリケーション３３は、レコードのステータス設定が「終了」に変更されると、当該レコードに対応するアプリケーションを終了（論理的無効）させる変更命令をＯＳへ送信する。
【００８２】
また、管理アプリケーション３３は、レコードのステータス設定が「削除」に変更されると、当該レコードに対応するアプリケーションを論理的に削除させる変更命令をＯＳへ送信する。
【００８３】
また、管理アプリケーション３３は、レコード（たとえば、レコード４１）が削除されたことを検知する機能を有する。たとえば、管理アプリケーション３３は、ＯＳが管理アプリケーション３３のアプリケーションリスト３３ｂからレコードを削除したことを検知する。
【００８４】
また、管理アプリケーション３３は、レコード（たとえば、レコード４１）が削除されると、当該レコードに対応するアプリケーション（たとえば、通常アプリケーション３１）を削除させる削除命令をＯＳへ送信する。
【００８５】
なお、管理アプリケーション３３が他のアプリケーションよりも後にＮＶＭ２４にインストールされる場合、管理アプリケーション３３は、他のアプリケーションに関する情報（たとえば、ＡＩＤ、アプリ名、管理者名、利用開始日、有効期限、ステータス、及び、電子署名など）を収集する機能を有する。たとえば、管理アプリケーション３３は、ＰＳＥなどを参照して他のアプリケーションに関する情報を収集する。また、管理アプリケーション３３は、アプリケーションに関する情報から当該アプリケーションに対応するレコードを生成し、アプリケーションリスト３３ｂに格納する。
【００８６】
次に、アプリケーションをインストールするためのインストールファイルについて説明する。  
図７は、インストールファイルの構成例を説明するためのブロック図である。  
インストールファイル６０は、アプリケーションをインストールするためにＩＣカード処理装置１がＩＣカード２へ送信するファイルである。
【００８７】
図７が示すように、インストールファイル６０は、アプリケーションデータ６１及びコード６２などから構成される。
【００８８】
アプリケーションデータ６１は、アプリケーションを実行するために必要なデータである。
【００８９】
コード６２は、アプリケーションのプログラムコードである。
【００９０】
なお、インストールファイル６０は、アプリケーションデータ６１を格納しなくともよい。
【００９１】
次に、ＩＣカード２のＣＰＵ２１がアプリケーションをインストールする動作例について説明する。  
図８は、ＣＰＵ２１がアプリケーションをインストールする動作例について説明するためのフローチャートである。
【００９２】
なお、ＣＰＵ２１は、ＩＣカード２のＯＳの動作としてアプリケーションをインストールしてもよい。
【００９３】
まず、ＣＰＵ２１は、通信部２５を通じて、インストールファイル６０をＩＣカード処理装置１から受信したか判定する（ステップＳ１１）。インストールファイル６０を受信していないと判定すると（ステップＳ１１、ＮＯ）、ＣＰＵ２１は、ステップＳ１１へ戻る。
【００９４】
インストールファイル６０を受信したと判定すると（ステップＳ１１、ＹＥＳ）、ＣＰＵ２１は、受信されたインストールファイル６０からアプリケーションデータ６１及びコード６２を抽出する（ステップＳ１２）。
【００９５】
アプリケーションデータ６１及びコード６２を抽出すると、ＣＰＵ２１は、ＮＶＭ２４にコード６２を書き込む（ステップＳ１３）。
【００９６】
コード６２を書き込むと、ＣＰＵ２１は、コード６２を格納するＤＦ内の所定の領域にアプリケーションデータ６１を書き込む（ステップＳ１４）。
【００９７】
アプリケーションデータ６１を書き込むと、ＣＰＵ２１は、インストールファイル６０からアプリケーションに関する情報を抽出する（ステップＳ１６）。たとえば、ＣＰＵ２１は、アプリケーションデータ６１又はコード６２から当該情報を抽出する。また、インストールファイル６０がアプリケーションデータ６１又はコード６２に加えて当該情報を格納し、ＣＰＵ２１は、インストールファイル６０から当該情報を取得してもよい。
【００９８】
アプリケーションに関する情報を抽出すると、ＣＰＵ２１は、抽出された情報をアプリケーションに対応するレコードとしてアプリケーションリスト３３ｂに書き込む（ステップＳ１６）
抽出された情報をアプリケーションリスト３３ｂに書き込むと、ＣＰＵ２１は、動作を終了する。
【００９９】
次に、ＩＣカード２がアプリケーションのステータスを変更する動作例について説明する。  
まず、所定のレコードのステータス設定を更新するコマンドを受信した際におけるＩＣカード２のＯＳの動作例について説明する。  
図９は、所定のレコードのステータス設定を更新するコマンドを受信した際におけるＩＣカード２のＯＳの動作例を説明するためのフローチャートである。  
ここでは、ＩＣカード処理装置１は、所定のレコードのステータス設定を更新するコマンドをＩＣカード２へ送信するものとする。
【０１００】
まず、ＩＣカード２のＯＳは、通信部２５を通じて、所定のレコードのステータス設定を変更するコマンドを受信したか判定する（ステップＳ２１）。当該コマンドを受信していないと判定すると（ステップＳ２１、ＮＯ）、ＯＳは、ステップＳ２１に戻る。
【０１０１】
当該コマンドを受信したと判定すると（ステップＳ２１、ＹＥＳ）、ＯＳは、当該コマンドの認証処理を実行する（ステップＳ２２）。
【０１０２】
認証処理に成功すると（ステップＳ２３、ＹＥＳ）、ＯＳは、当該コマンドに従って、アプリケーションリスト３３ｂ内のレコードのステータス設定を更新する（ステップＳ２４）。
【０１０３】
認証処理に失敗した場合（ステップＳ２３、ＮＯ）、又は、レコードのステータス設定を更新した場合（ステップＳ２４）、ＯＳは、動作を終了する。
【０１０４】
次に、アプリケーションリスト３３ｂ内のステータス設定が更新された際における管理アプリケーション３３の動作例について説明する。  
図１０は、アプリケーションリスト３３ｂ内のステータス設定が更新された際における管理アプリケーション３３の動作例を説明するためのフローチャートである。
【０１０５】
まず、管理アプリケーション３３は、アプリケーションリスト３３ｂが格納するレコードのステータス設定が更新されたか判定する（ステップＳ３１）。レコードのステータス設定が更新されていないと判定すると（ステップＳ３１、ＮＯ）、管理アプリケーション３３は、ステップＳ３１へ戻る。
【０１０６】
レコードのステータス設定が更新されたと判定すると（ステップＳ３１、ＹＥＳ）、管理アプリケーション３３は、更新されたステータス設定に従って、当該レコードに対応するアプリケーションのステータスを変更する変更命令をＯＳに送信する（ステップＳ３２）。
【０１０７】
当該変更命令をＯＳに送信すると、管理アプリケーション３３は、動作を終了する。
【０１０８】
次に、変更命令を受信した際におけるＩＣカード２のＯＳの動作例について説明する。  
図１１は、変更命令を受信した際におけるＩＣカード２のＯＳの動作例を説明するためのフローチャートである。
【０１０９】
まず、ＯＳは、アプリケーションのステータスを変更する変更命令を受信したか判定する（ステップＳ４１）。当該変更命令を受信していないと判定すると（ステップＳ４１、ＮＯ）、ＯＳは、ステップＳ４１へ戻る。
【０１１０】
当該変更命令を受信したと判定すると（ステップＳ４１、ＹＥＳ）、ＯＳは、当該変更命令に従って、当該アプリケーションのステータスを変更する（ステップＳ４２）。
【０１１１】
当該アプリケーションのステータスを更新すると、ＯＳは、動作を終了する。
【０１１２】
次に、ＩＣカード２がアプリケーションを物理的に削除する動作例について説明する。  
まず、所定のレコードを削除するコマンドを受信した際におけるＩＣカード２のＯＳの動作例について説明する。  
図１２は、所定のレコードを削除するコマンドを受信した際におけるＩＣカード２のＯＳの動作例を説明するためのフローチャートである。  
ここでは、ＩＣカード処理装置１は、所定のレコードを削除するコマンドをＩＣカード２へ送信するものとする。
【０１１３】
まず、ＩＣカード２のＯＳは、通信部２５を通じて、所定のレコードを削除するコマンドを受信したか判定する（ステップＳ５１）。当該コマンドを受信していないと判定すると（ステップＳ５１、ＮＯ）、ＯＳは、ステップ５１に戻る。
【０１１４】
当該コマンドを受信していないと判定すると（ステップＳ５１、ＮＯ）、ＯＳは、当該コマンドの認証処理を実行する（ステップＳ５２）。
【０１１５】
認証処理に成功すると（ステップＳ５３、ＹＥＳ）、ＯＳは、当該コマンドに従って、アプリケーションリスト３３ｂ内のレコードを削除する（ステップＳ５４）。
【０１１６】
認証処理に失敗した場合（ステップＳ５３、ＮＯ）、又は、アプリケーションリスト３３ｂ内のレコードを削除した場合（ステップＳ５４）、ＯＳは、動作を終了する。
【０１１７】
次に、アプリケーションリスト３３ｂ内のレコードが削除された際における管理アプリケーション３３の動作例について説明する。  
図１３は、アプリケーションリスト３３ｂ内のレコードが削除された際における管理アプリケーション３３の動作例を説明するためのフローチャートである。
【０１１８】
まず、管理アプリケーション３３は、アプリケーションリスト３３ｂが格納するレコードが削除されたか判定する（ステップＳ６１）。レコードが削除されていないと判定する（ステップＳ６１、ＮＯ）、管理アプリケーション３３は、ステップＳ６１へ戻る。
【０１１９】
レコードが削除されたと判定すると（ステップＳ６１、ＹＥＳ）、管理アプリケーション３３は、当該レコードに対応するアプリケーションを物理的に削除する削除命令をＯＳに送信する（ステップＳ６２）。
【０１２０】
当該削除命令をＯＳに送信すると、管理アプリケーション３３は、動作を終了する。
【０１２１】
次に、削除命令を受信した際におけるＩＣカード２のＯＳの動作例について説明する。  
図１４は、削除命令を受信した際におけるＩＣカード２のＯＳの動作例を説明するためのフローチャートである。
【０１２２】
まず、ＯＳは、アプリケーションを物理的に削除する削除命令を受信したか判定する（ステップＳ７１）。当該削除命令を受信していないと判定する（ステップＳ７１、ＮＯ）、ＯＳは、ステップＳ７１へ戻る。
【０１２３】
当該削除命令を受信したと判定する（ステップＳ７１、ＮＯ）、ＯＳは、当該変更命令に従って、当該アプリケーションを物理的に削除する（ステップＳ７２）。たとえば、ＯＳは、当該アプリケーションに対応する論理領域及び物理領域を削除する。
【０１２４】
当該アプリケーションを物理的に削除すると、ＯＳは、動作を終了する。
【０１２５】
なお、ＩＣカード２のＣＰＵ２１は、アプリケーションリスト３３ｂが格納するレコードをＩＣカード処理装置１へ送信する機能を有してもよい。たとえば、ＣＰＵ２１は、通信部２５を通じてＩＣカード処理装置１からレコードを取得する取得コマンドを受信する。ＣＰＵ２１は、当該取得コマンドに従って、通信部２５を通じて、レコードを含むレスポンスをＩＣカード処理装置１へ送信してもよい。
【０１２６】
以上のように構成されたＩＣカード処理システムは、アプリケーションリストのレコードを書き換え又は削除することで、アプリケーションのステータスの変更又はアプリケーションの削除を行うことができる。その結果、ＩＣカード処理システムは、アプリケーションリストが格納するレコードを用いてアプリケーションを管理することができる。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、
前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、
前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、
を備えるＩＣカード。
［Ｃ２］
前記通信部を通じてレコードを削除する削除コマンドを受信した場合、前記削除コマンドに従って、前記第２記憶部が格納するレコードを削除するレコード削除部と、
前記レコード削除部が前記第２記憶部が格納する前記レコードを削除すると、前記レコードに対応するアプリケーションを物理的に削除するアプリケーション削除部と、
を備える、
前記Ｃ１に記載のＩＣカード。
［Ｃ３］
前記ステータスは、ロック、論理的無効、又は、論理的削除の少なくとも１つを含む、
前記Ｃ１又は２に記載のＩＣカード。
［Ｃ４］
前記レコードは、ＡＩＤ、アプリ名、管理者名、利用開始日、有効期限、又は、電子署名の少なくとも１つを含む、
前記Ｃ１乃至３の何れか１項に記載のＩＣカード。
［Ｃ５］
前記第２記憶部は、前記第１記憶部と同階層にある、
前記Ｃ１乃至４の何れか１項に記載のＩＣカード。
［Ｃ６］
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する記憶部と、
前記アプリケーションのステータスを含むレコードを更新する更新部と、
管理アプリケーションから前記アプリケーションのステータスを変更する変更命令を受信した場合に、前記変更命令に従って前記アプリケーションの前記ステータスを変更する変更部と、
を備えるＩＣカード。
［Ｃ７］
前記管理アプリケーションから前記アプリケーションを物理的に削除する削除命令を受信した場合に、前記削除命令に従って前記アプリケーションを物理的に削除するアプリケーション削除部を備える、
前記Ｃ６に記載のＩＣカード。
［Ｃ８］
前記レコードは、前記記憶部と同階層に格納される、
前記Ｃ６又は７に記載のＩＣカード。
［Ｃ９］
外部装置からのコマンドを実行するＩＣカードであって、
外部装置とデータを送受信する通信部と、アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、を備えるモジュールと、
前記モジュールを内蔵した本体と、
を備えるＩＣカード。
［Ｃ１０］
外部装置からのコマンドを実行するＩＣカードであって、
外部装置からのコマンドを実行するＩＣカードであって、外部装置とデータを送受信する通信部と、アプリケーションを格納する記憶部と、前記アプリケーションのステータスを含むレコードを更新する更新部と、管理アプリケーションから前記アプリケーションのステータスを変更する変更命令を受信した場合に、前記変更命令に従って前記アプリケーションの前記ステータスを変更する変更部と、を備えるモジュールと、
前記モジュールを内蔵した本体と、
を備えるＩＣカード。
［Ｃ１１］
外部装置からのコマンドを実行する携帯可能電子装置であって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する第１記憶部と、
前記アプリケーションのステータス設定を含むレコードを格納する第２記憶部と、
前記通信部を通じてレコードのステータス設定を更新する更新コマンドを受信した場合、前記更新コマンドに従って、前記第２記憶部が格納する前記レコードの前記ステータス設定を更新する更新部と、
前記更新部が前記レコードの前記ステータス設定を更新すると、前記ステータス設定に従って、前記アプリケーションのステータスを変更する変更部と、
を備える携帯可能電子装置。
［Ｃ１２］
外部装置からのコマンドを実行する携帯可能電子装置であって、
外部装置とデータを送受信する通信部と、
アプリケーションを格納する記憶部と、
前記アプリケーションのステータスを含むレコードを更新する更新部と、
管理アプリケーションから前記アプリケーションのステータスを変更する変更命令を受信した場合に、前記変更命令に従って前記アプリケーションの前記ステータスを変更する変更部と、
を備える携帯可能電子装置。
［Ｃ１３］
ＩＣカード２が格納するアプリケーションを管理するプログラムコードであって、
アプリケーションリスト内においてレコードが格納するステータス設定が更新されたことを検知するコードと、
前記ステータス設定が更新されたことを検知すると、前記ステータス設定に従って、前記レコードに対応するアプリケーションのステータスを変更する変更命令を送信するコードと、
を備えるプログラムコード。
［Ｃ１４］
前記アプリケーションリスト内においてレコードが削除されたことを検知するコードと、
前記レコードが削除されたことを検知すると、前記レコードに対応するアプリケーションを物理的に削除する削除命令を送信するコードと、
を備える、
前記Ｃ１３に記載のプログラムコード。
【符号の説明】
【０１２８】
１…ＩＣカード処理装置、２…ＩＣカード、１０…ＩＣカード処理システム、１１…ＣＰＵ、１５…カードリーダライタ、２１…ＣＰＵ、２３…ＲＡＭ、２４…ＮＶＭ、２５…通信部、３３…管理アプリケーション、３３ｂ…アプリケーションリスト、３３ｃ…コード、Ｍ…モジュール、Ｃ…本体。
【図１】
0006426411.tif 000002
【図２】
0006426411.tif 000003
【図３】
0006426411.tif 000004
【図４】
0006426411.tif 000005
【図５】
0006426411.tif 000006
【図６】
0006426411.tif 000007
【図７】
0006426411.tif 000008
【図８】
0006426411.tif 000009
【図９】
0006426411.tif 000010
【図１０】
0006426411.tif 000011
【図１１】
0006426411.tif 000012
【図１２】
0006426411.tif 000013
【図１３】
0006426411.tif 000014
【図１４】
0006426411.tif 000015