(57)【要約】【課題】カードコンテントのインストール順に，カードコンテントが有する出力対象のデータを出力できるＩＣカードを提供する。【解決手段】ＩＣカード１は，カードコンテント１７のインストール順を示すインデックス番号等を含むリファレンス情報を記憶したリファレンステーブル１５と，リファレンス情報が記憶されているリファレンステーブル１５の要素番号をカードコンテントのインストール順に記述したインデックステーブル１６と，カードコンテント１７の削除やカードコンテント１７のインストールが実行されると，リファレンステーブル１５とインデックステーブル１６を更新するカードコンテントマネージャ１０と，インデックステーブル１６に記憶されたリファレンステーブル１５の要素番号を先頭から順に用い，カードコンテント１７が有するデータを並べたリスト形式のデータを出力するリスト出力コマンド１１を備える。【選択図】図２
2018163529.tif 000002
【特許請求の範囲】
【請求項１】
カードコンテンツのインストール順を示すインデックス番号とカードコンテンツにアクセスするための情報を含むリファレンス情報を，ＮＶＭにインストールされたカードコンテントごとに記憶したリファレンステーブルと，前記リファレンス情報が記憶されている前記リファレンステーブルの要素番号をカードコンテントのインストール順に記述したインデックステーブルと，カードコンテントがＮＶＭにインストールされると，インストールされたカードコンテントに割り振る前記インデックス番号を決定し，決定した前記インデックス番号を含む前記リファレンス情報を前記リファレンステーブルに追加する処理と，前記インデックステーブルの末尾に，前記リファレンス情報を追加した前記リファレンステーブルの要素の要素番号を追加する処理を実行し，カードコンテントが削除されると，ＮＶＭから削除されたカードコンテントの前記リファレンス情報を前記リファレンステーブルから削除する処理と，前記リファレンス情報を削除した前記リファレンステーブルの要素の要素番号を前記インデックステーブルから削除した後，前記リファレンステーブルの要素番号を削除することで空要素になった前記インデックステーブルの要素を詰める処理を実行するカードコンテントマネージャと，前記インデックステーブルに記憶された要素番号に対応する前記リファレンステーブルの要素から前記リファレンス情報を取得し，この前記リファレンス情報を利用してカードコンテントにアクセスして出力対象のデータを取得する処理を，前記インデックステーブルの先頭の要素から順次実行することで，カードコンテンツのインストール順に，カードコンテントに係る出力対象のデータを並べたリスト形式のデータを生成し，前記リスト形式のデータを出力するリスト出力コマンドを備えたことを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＩＣチップ（半導体集積回路）を実装したカード媒体であるＩＣカードに関する。
【背景技術】
【０００２】
モバイル端末が備えるＮＦＣ（Near Field Communication）チップを経由して，モバイル端末に装着されているＩＣカード（ＵＩＭと称されることもある）にインストールされたアプリケーションにアクセス可能にするＮＦＣ対応が進んでいる。ＮＦＣに対応したＩＣカードには複数のカードコンテント（例えば，アプリケーションインスタンスや実行可能ファイルなど）が実装され，金融関係を中心に設立したＧＰ（Global Platform）では，カードコンテントのインストールにＴＳＭ（Trusted Service Manager）サーバを利用することが規定されている。
【０００３】
ＴＳＭサーバは，新たなサービスをＩＣカードに追加する際，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するコマンドを利用して，モバイル端末のキャリア網経由で，ＩＣカードに実装されたカードコンテントそれぞれが有する出力対象のデータのリストをＩＣカードから取得する。
【０００４】
例えば，ＧＰが制定した非特許文献１の規格に準拠したＩＣカードは，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するコマンドとしてGet Status Commandをサポートする。非特許文献１の規格に準拠したＩＣカードでは，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力する順序は任意ではなく， 非特許文献１に関連する非特許文献２に係る規格では，カードコンテントのインストール順に，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力することが要求されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Global Platform Card Specification Version 2.2 March 2006
【非特許文献２】Mapping Guidelines of Existing GP v2.1.1 Implementation on v2.2.1
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＣカードのＮＶＭ（Non-volatile memory）にカードコンテントをインストール順で配置できれば，カードコンテントのインストール順に，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力することは容易に実施可能である。しかし，ＵＩＭに実装されているカードコンテントが削除された後，ＮＶＭから削除されたカードコンテントが配置されていた領域内に新たなカードコンテントがインストールされると，カードコンテントはインストール順でＮＶＭに配置されないため，カードコンテントのインストール順に，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力するには何らかの工夫が必要になる
【０００７】
そこで，本発明は，カードコンテントがインストール順でＮＶＭに配置されていない状態であっても，カードコンテントのインストール順に，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータを出力できるＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する本発明は，カードコンテンツのインストール順を示すインデックス番号とカードコンテンツにアクセスするための情報を含むリファレンス情報を，ＮＶＭにインストールされたカードコンテントごとに記憶したリファレンステーブルと，前記リファレンス情報が記憶されている前記リファレンステーブルの要素番号をカードコンテントのインストール順に記述したインデックステーブルと，カードコンテントがＮＶＭにインストールされると，インストールされたカードコンテントに割り振る前記インデックス番号を決定し，決定した前記インデックス番号を含む前記リファレンス情報を前記リファレンステーブルに追加する処理と，前記インデックステーブルの末尾に，前記リファレンス情報を追加した前記リファレンステーブルの要素の要素番号を追加する処理を実行し，カードコンテントが削除されると，ＮＶＭから削除されたカードコンテントの前記リファレンス情報を前記リファレンステーブルから削除する処理と，前記リファレンス情報を削除した前記リファレンステーブルの要素の要素番号を前記インデックステーブルから削除した後，前記リファレンステーブルの要素番号を削除することで空要素になった前記インデックステーブルの要素を詰める処理を実行するカードコンテントマネージャと，前記インデックステーブルに記憶された要素番号に対応する前記リファレンステーブルの要素から前記リファレンス情報を取得し，この前記リファレンス情報を利用してカードコンテントにアクセスして出力対象のデータを取得する処理を，前記インデックステーブルの先頭の要素から順次実行することで，カードコンテンツのインストール順に，カードコンテントに係る出力対象のデータを並べたリスト形式のデータを生成し，前記リスト形式のデータを出力するリスト出力コマンドを備えたことを特徴とするＩＣカードである。
【発明の効果】
【０００９】
本発明に係るＩＣカードによれば，カードコンテントの削除やカードコンテントのインストールが実行されると，カードコンテントマネージャが，カードコンテントの削除やカードコンテントのインストールの実行結果に基づいて，リファレンステーブルとインデックステーブルを更新するので，カードコンテントの削除やカードコンテントのインストールが実行された後であっても，インデックステーブルでは，リファレンス情報を記憶しているリファレンステーブルの要素番号がインストール順で並ぶことになる。よって，リスト出力コマンドが，インデックステーブルの先頭から順に，インデックステーブルに記憶されているリファレンステーブルの要素番号を用い，カードコンテントが有する出力対象のデータを取得して出力すれば，カードコンテントがインストール順でＮＶＭに配置されていない状態であっても，カードコンテントのインストール順に，ＩＣカードに実装されているカードコンテントそれぞれが有する出力対象のデータが出力されることになる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るＩＣカードのハードウェア構成を説明する図。
【図２】本実施形態に係るＩＣカードのブロック図。
【図３】リファレンステーブルを説明する図。
【図４】インデックステーブルを説明する図。
【図５】ＩＣカードの動作を説明する図。
【図６】カードコンテントを削除するときの動作を説明する図。
【図７】カードコンテントを追加するときの動作を説明する図。
【図８】カードコンテントそれぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する図。
【図９】リファレンステーブルを更新する処理の内容を説明する図。
【図１０】インデックステーブルを更新する処理の内容を説明する図。
【発明を実施するための形態】
【００１１】
ここから，本発明の好適な実施形態を記載する。なお，以下の記載は本発明の技術的範囲を束縛するものでなく，理解を助けるために記述するものである。
【００１２】
図１は，本実施形態に係るＩＣカード１のハードウェア構成を説明する図である。本実施形態に係るＩＣカード１は，プラスチックなどのカード基材にＩＣチップ２を埋め込んだカード媒体である。図１では，コンタクト端子２ａを介して外部のホスト装置と物理的に接触して通信する接触型としてＩＣカード１を図示しているが，ＩＣカード１は，リーダライタと非接触で通信する非接触型であってもよい。また，図１では，ＩＣカード１の外形は，ISO/IEC 7816のＩＤ−１型であるが， ETSI TS 102 221等で規格化されている小型の形態（Plug-in UICC，Mini-UICC，4FF）でもよい。
【００１３】
図１に図示したように，ＩＣカード１に埋め込まれるＩＣチップ２は，データの入出力を行うＩ／Ｏ２４，各種演算を行うＣＰＵ(Central Processing Unit)２０,一時的にデータを記憶する際に用いるメモリであるＲＡＭ(Random Access Memory)２２,ＩＣカード１が備えるコマンドのプログラムなどを記憶するＲＯＭ（Read-Only Memory）２１に加え，データを記憶する電気的に書き換え可能なメモリであるＮＶＭ２３を備える。
【００１４】
図２は，本実施形態に係るＩＣカード１のブロック図である。図２で図示したように，本実施形態に係るＩＣカード１は，ＩＣカード１のＣＰＵ２０を動作させるコンピュータプログラムとして，インストールコマンド１３，削除コマンド１２，リスト出力コマンド１１およびカードコンテントマネージャ１０をＲＯＭ２１に記憶する。インストールコマンド１３は，ＮＶＭ２３にカードコンテント１７をインストールする処理を実行するコマンドで，削除コマンド１２は，ＮＶＭ２３からカードコンテント１７を削除する処理を実行するコマンドである。リスト出力コマンド１１は，ＮＶＭ２３にインストールされたカードコンテント１７それぞれが有する出力対象のデータをリスト形式で出力する処理を実行するコマンドで，本実施形態に係るリスト出力コマンド１１は，カードコンテンツのインストール順に，カードコンテント１７それぞれが有する出力対象のデータを出力する。カードコンテントマネージャ１０は，ＮＶＭ２３にインストールされたカードコンテント１７に係る情報を管理する処理を少なくとも実行する。なお，インストールコマンド１３，削除コマンド１２およびリスト出力コマンド１１を記憶させるメモリはＮＶＭ２３でもよい。
【００１５】
本実施形態に係るＩＣカード１のＮＶＭ２３には，カードコンテント１７として，複数の実行可能ファイル１７ａ（以下，「ＥＬＦ１７ａ」と記す。「ＥＬＦ１７ａ」は，Executable Load Fileの略。）と複数のアプリケーションインスタンス１７ｂ（以下，「ＡＰ」と記す。「ＡＰ」は，Application instanceの略。）がインストールされている。一つのＥＬＦ１７ａは，ＡＰ１７ｂが利用するためのプログラムとなる少なくとも一つの実行可能モジュールを含み，ＡＰ１７ｂは，ＥＬＦ１７ａに含まれる一つの実行可能モジュールと，アプリケーションデータから構成されている。
【００１６】
図２において，［］で括って記載している番号は，カードコンテント１７がＮＶＭ２３にインストールされた順番を示すインデックス番号で，これ以降，カードコンテント１７に割り振られているインデックス番号を［］で括って記載する。ＩＣカード１のＮＶＭ２３には，カードコンテント１７として，ＥＬＦ１７ａとＡＰ１７ｂがインストールされるため，ＥＬＦ１７ａにはＥＬＦ１７ａ用のインデックス番号が割り振られ，ＡＰ１７ｂにはＡＰ１７ｂ用のインデックス番号が割り振られる。
【００１７】
図２に従えば，ＩＣカード１は，ＥＬＦ１７ａとして，最初にＮＶＭ２３にインストールされたＥＬＦ１７ａであるＥＬＦ１７ａ［１］，４番目にＮＶＭ２３にインストールされたＥＬＦ１７ａであるＥＬＦ１７ａ［４］，および，５番目にＮＶＭ２３にインストールされたＥＬＦ１７ａであるＥＬＦ１７ａ［５］の３つがＮＶＭ２３にインストールされている。なお，２番目にＮＶＭ２３にインストールされたＥＬＦ１７ａ［２］，および，３番目にＮＶＭ２３にインストールされたＥＬＦ１７ａ［３］はＮＶＭ２３から削除されており，図２では図示されていない。また，図２に従えば，ＩＣカード１は，ＡＰ１７ｂとして，最初にＮＶＭ２３にインストールされたＡＰ１７ｂであるＡＰ１７ｂ［１］，３番目にＮＶＭ２３にインストールされたＡＰ１７ｂであるＡＰ１７ｂ［３］，４番目にＮＶＭ２３にインストールされたＡＰ１７ｂであるＡＰ１７ｂ［４］，および，６番目にＮＶＭ２３にインストールされたＡＰ１７ｂであるＡＰ１７ｂ［６］の４つがＮＶＭ２３にインストールされている。なお，２番目にＮＶＭ２３にインストールされたＡＰ１７ｂ［２］，および，５番目にＮＶＭ２３にインストールされたＡＰ１７ｂ［５］はＮＶＭ２３から削除されており，図２では図示されていない。
【００１８】
また，本実施形態に係るＩＣカード１は，カードコンテント１７の管理に用いるレジストリ１４をＮＶＭ２３に記憶し，このレジストリ１４は，カードコンテント１７にアクセスするときに参照されるリファレンステーブル１５と，カードコンテント１７のインストール順に，ＩＣカードに実装されているカードコンテント１７それぞれが有する出力対象のデータを出力するときに参照されるインデックステーブル１６を，カードコンテント１７の種別ごとに有する。
【００１９】
ＩＣカード１が有するレジストリ１４に含まれるリファレンステーブル１５について説明する。図３は，リファレンステーブル１５を説明する図である。
【００２０】
図３（ａ）はリファレンステーブル１５の構成を説明する図で，リファレンステーブル１５は，ＮＶＭ２３にインストールしたカードコンテンツのインデックス番号とカードコンテンツのエントリー情報を含むリファレンス情報を要素の値として記憶する配列型のテーブルで，リファレンステーブル１５には，ＮＶＭ２３にインストールしたカードコンテント１７ごとにリファレンス情報が記憶される。リファレンス情報に含まれるインデックス番号は，カードコンテント１７がＮＶＭ２３にインストールされた順番を示すデータである。リファレンス情報に含まれるエントリー情報は，ＮＶＭ２３にインストールしたカードコンテント１７にアクセスするための情報で，例えば，ＮＶＭ２３にインストールしたカードコンテント１７の先頭アドレスである。なお，本実施形態に係るＩＣカード１は，カードコンテント１７して，ＥＬＦ１７ａとＡＰ１７ｂをＮＶＭ２３に記憶するため，本実施形態に係るＩＣカード１のレジストリ１４には，ＥＬＦ用リファレンステーブル１５ａとＡＰ用リファレンステーブル１５ｂが含まれている。
【００２１】
カードコンテント１７の削除やカードコンテント１７のインストールが実行されたとき，リファレンステーブル１５はカードコンテントマネージャ１０によって更新される。カードコンテント１７の削除が実行されると，カードコンテントマネージャ１０は，削除されたカードコンテント１７のリファレンス情報をリファレンステーブル１５から削除する。また，カードコンテント１７のインストールが実行されると，カードコンテントマネージャ１０は，インストールされたカードコンテント１７のリファレンス情報をリファレンステーブル１５に追加する。
【００２２】
図３（ｂ）は，図２に基づくＥＬＦ用リファレンステーブル１５ａを説明する図である。図２では，ＥＬＦ１７ａ［１］，ＥＬＦ１７ａ［４］およびＥＬＦ１７ａ［５］がＩＣカード１のＮＶＭ２３にインストールされているため，図４（ｂ）で図示したＥＬＦ用リファレンステーブル１５ａには，ＥＬＦ１７ａ［１］，ＥＬＦ１７ａ［４］およびＥＬＦ１７ａ［５］それぞれのリファレンス情報が記憶されている。図３（ｂ）では，ＥＬＦ１７ａ［１］に係るリファレンス情報は最初の要素（要素番号が「１」の要素）に記憶され，ＥＬＦ１７ａ［５］に係るリファレンス情報は２番目の要素（要素番号が「２」の要素）に記憶され，そして，ＥＬＦ１７ａ［４］に係るリファレンス情報は４番目の要素（要素番号が「４」の要素）に記憶されている。
【００２３】
図３（ｂ）において，ＥＬＦ１７ａのリファレンス情報がＥＬＦ１７ａのインストール順に並んでおらず，また，ＥＬＦ１７ａのリファレンス情報が書き込まれている要素の間に空要素が存在するのは，新たなＥＬＦ１７ａをＮＶＭ２３にインストールすると，カードコンテントマネージャ１０によって，ＥＬＦ１７ａのリファレンス情報が書き込まれていない最初の要素に，新たにインストールされたＥＬＦ１７ａのリファレンス情報が書き込まれるためである。
【００２４】
図３（ｃ）は，図２に基づくＡＰ用リファレンステーブル１５ｂを説明する図である。図２では，ＡＰ１７ｂ［１］，ＡＰ１７ｂ［３］，ＡＰ１７ｂ［４］およびＡＰ１７ｂ［６］がＩＣカード１のＮＶＭ２３にインストールされているため，図３（ｃ）で図示したＡＰ用リファレンステーブル１５ｂには，ＡＰ１７ｂ［１］，ＡＰ１７ｂ［３］，ＡＰ１７ｂ［４］およびＡＰ１７ｂ［６］それぞれのリファレンス情報が記憶されている。図３（ｃ）では，ＡＰ１７ｂ［１］に係るリファレンス情報は最初の要素（要素番号が「１」の要素）に記憶され，ＡＰ１７ｂ［４］に係るリファレンス情報は２番目の要素（要素番号が「２」の要素）に記憶され，ＡＰ１７ｂ［３］に係るリファレンス情報は３番目の要素（要素番号が「３」の要素）に記憶され，そして，ＡＰ１７ｂ［６］に係るリファレンス情報は５番目の要素（要素番号が「５」の要素）に記憶されている。
【００２５】
ＥＬＦ用リファレンステーブル１５ａと同様に，図３（ｃ）において，ＡＰ１７ｂのリファレンス情報がＡＰ１７ｂのインストール順に並んでおらず，また，ＡＰ１７ｂのリファレンス情報が書き込まれている要素の間に空要素が存在するのは，新たなＡＰ１７ｂをＮＶＭ２３にインストールすると，カードコンテントマネージャ１０によって，ＡＰ１７ｂのリファレンス情報が書き込まれていない最初の要素に，新たにインストールされたＡＰ１７ｂのリファレンス情報が書き込まれるためである。
【００２６】
ＩＣカード１が有するレジストリ１４に含まれるインデックステーブル１６について説明する。図４は，インデックステーブル１６を説明する図である。
【００２７】
図４（ａ）はインデックステーブル１６の構成を説明する図で，インデックステーブル１６は，リファレンス情報を記憶しているリファレンステーブル１５の要素番号を要素の値として記憶する配列型のテーブルで，インデックステーブル１６には，先頭から順に，リファレンス情報を記憶しているリファレンステーブル１５の要素番号がカードコンテント１７のインストール順で記述される。
【００２８】
カードコンテント１７の削除やカードコンテント１７のインストールが実行されたとき，インデックステーブル１６はカードコンテントマネージャ１０によって更新される。カードコンテント１７の削除が実行されると，カードコンテントマネージャ１０は，削除したコンテンツのリファレンス情報を記憶していたリファレンステーブル１５の要素の要素番号をインデックステーブル１６から削除した後，リファレンステーブル１５の要素番号を削除することで空要素になったインデックステーブル１６の要素を詰める処理を実行する。また，カードコンテント１７のインストールが実行されると，カードコンテントマネージャ１０は，インストールしたカードコンテント１７のリファレンス情報を記憶させたリファレンステーブル１５の要素番号を，インデックステーブル１６の末尾（リファレンステーブル１５の要素番号を記憶していない先頭の要素になる）に追加する。カードコンテント１７の削除やカードコンテント１７のインストールが実行されると，カードコンテントマネージャ１０がこのようにインデックステーブル１６を更新することで，カードコンテント１７の削除やカードコンテント１７のインストールが実行された後であっても，インデックステーブル１６では，カードコンテント１７のリファレンス情報を記憶しているリファレンステーブル１５の要素番号がカードコンテント１７のインストール順で並ぶことになる。よって，インデックステーブル１６の先頭から順に，インデックステーブル１６に記憶されているリファレンステーブルの要素番号を用いてカードコンテント１７が有する出力対象のデータを取得して出力すれば，カードコンテント１７がインストール順でＮＶＭ２３に配置されていない状態であっても，カードコンテント１７のインストール順に，ＩＣカード１に実装されているカードコンテント１７それぞれが有する出力対象のデータを出力できる。
【００２９】
図４（ｂ）は，ＥＬＦ用インデックステーブル１６ａを説明する図である。図３（ｂ）で図示したＥＬＦ用リファレンステーブル１５ａには，ＥＬＦ１７ａ［１］のリファレンス情報が最初の要素に，ＥＬＦ１７ａ［５］のリファレンス情報が２番目の要素に，そして，ＥＬＦ１７ａ［４］のリファレンス情報が４番目の要素に記憶されているため，図４（ｂ）で図示したＥＬＦ用インデックステーブル１６ａでは１行目から３行目までに，リファレンス情報を記憶しているＥＬＦ用インデックステーブル１６ａの要素番号がＥＬＦ１７ａのインストール順に記憶され，ＥＬＦ用インデックステーブル１６ａの内容は「１，４，２」になっている。
【００３０】
図４（ｃ）は，ＡＰ用インデックステーブル１６ｂを説明する図である。図３（ｃ）で図示したＡＰ用リファレンステーブル１５ｂには，ＡＰ１７ｂ［１］のリファレンス情報が最初の要素に，ＡＰ１７ｂ［４］のリファレンス情報が２番目の要素に，ＡＰ１７ｂ［３］のリファレンス情報が３番目の要素に，そして，ＡＰ１７ｂ［６］のリファレンス情報が５番目の要素記憶されているため，図４（ｃ）で図示したＡＰ用インデックステーブル１６ｂでは１行目から４行目までに，リファレンス情報を記憶しているＡＰ用リファレンステーブル１５ｂの要素番号がＡＰ１７ｂのインストール順に記憶され，ＡＰ用リファレンステーブル１５ｂの内容は「１，３，２，５」になっている。
【００３１】
ＩＣカード１が備えるコマンドについて説明する。ＩＣカード１が備えるインストールコマンド１３は，カードコンテント１７をＮＶＭ２３にインストールするためのコマンドである。非特許文献１の規格では，カードコンテント１７をＮＶＭ２３にインストールするコマンドとして，ＥＬＦ１７ａをＮＶＭ２３にインストールするためのコマンドと，ＡＰ１７ｂをＮＶＭ２３にインストールするためのコマンドが定義されている。また，ＩＣカード１が備える削除コマンド１２は，カードコンテント１７をＮＶＭ２３から削除するためのコマンドである。また，ＩＣカード１が備えるリスト出力コマンド１１は，カードコンテント１７のインストール順に，ＩＣカードに実装されているカードコンテント１７それぞれが有する出力対象のデータを出力するコマンドである。
【００３２】
ＩＣカード１が備えるカードコンテントマネージャ１０について説明する。ＩＣカード１が備えるカードコンテントマネージャ１０は，ＩＣカード１に実装されたオペレーティングシステムが有する機能の一つで，ＮＶＭ２３にインストールされたカードコンテント１７に係る情報を管理する処理として，カードコンテント１７の追加またはカードコンテント１７の削除が実行されると，これらの内容に基づいて，リファレンステーブル１５およびインデックステーブル１６を更新する処理を実行する。なお，本実施形態において，削除コマンド１２とインストールコマンド１３が，リファレンステーブル１５とインデックステーブル１６を更新せず，カードコンテントマネージャ１０がリファレンステーブル１５とインデックステーブル１６を更新するように構成しているのは，ＩＣカード１に実装されているＩＣチップ２が有するリソース（例えば，ＮＶＭ２３）は，オペレーティングシステムによって管理されるからである。
【００３３】
図５は，ＩＣカード１の動作を説明する図，図６は，カードコンテント１７を削除するときの動作を説明する図，図７は，カードコンテント１７をインストールするときの動作を説明する図，図８は，カードコンテント１７それぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する図，図９は，リファレンステーブル１５を更新する処理の内容を説明する図，図１０は，インデックステーブル１６を更新する処理の内容を説明する図である。
【００３４】
ＩＣカード１は，図外の端末装置からコマンドＡＰＤＵを受信すると（Ｓ１），ＩＣカード１が受信したコマンドＡＰＤＵを解析して，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドを特定し（Ｓ２），ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドを実行して（Ｓ３），図５の手順は終了する。なお，図５で図示した処理を実行するプログラムは，ＩＣカード１に実装されたオペレーティングシステムになる。
【００３５】
本実施形態に係るＩＣカード１は，図２で図示した以外の複数のコマンドを備えることになるが，ここでは，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドが，図２で図示した３つのコマンド，すなわち，インストールコマンド１３，削除コマンド１２およびリスト出力コマンド１１の場合についてのみ説明する。
【００３６】
図６を参照して，カードコンテント１７を削除するときの動作を説明する。図５のＳ２において，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドが削除コマンド１２の場合，図５のＳ３において，ＩＣカード１は，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドとして削除コマンド１２を実行する（Ｓ１０）。
【００３７】
削除コマンド１２は，削除コマンド１２のコマンドＡＰＤＵで指定されたカードコンテント１７をＮＶＭ２３から削除する（Ｓ１１）。カードコンテント１７をＮＶＭ２３から削除する具体的な処理の内容は任意であるが，例えば，カードコンテント１７をＮＶＭ２３から削除する処理として，削除コマンド１２のコマンドＡＰＤＵで指定されたカードコンテント１７が配置されているＮＶＭ２３の領域すべてを初期値に書き換える処理が実行される。
【００３８】
削除コマンド１２は，削除コマンド１２のコマンドＡＰＤＵで指定されたカードコンテント１７をＮＶＭ２３から削除すると，カードコンテントマネージャ１０を呼び出し，カードコンテントマネージャ１０は，削除コマンド１２がＮＶＭ２３から削除したカードコンテント１７の種別に対応するリファレンステーブル１５から，削除コマンド１２がＮＶＭ２３から削除したカードコンテント１７のリファレンス情報を削除することで，ＮＶＭ２３から削除したカードコンテント１７の種別に対応するリファレンステーブル１５を更新する（Ｓ１２）。
【００３９】
次に，カードコンテントマネージャ１０は，削除コマンド１２がＮＶＭ２３から削除したカードコンテント１７の種別に対応するインデックステーブル１６から，削除コマンド１２がＮＶＭ２３から削除したカードコンテント１７のリファレンス情報を記憶していたリファレンステーブル１５の要素の要素番号を削除した後，リファレンステーブル１５の要素番号を削除することで空要素になったインデックステーブル１６の要素を詰める処理を実行することで，削除コマンド１２がＮＶＭ２３から削除したカードコンテント１７の種別に対応するインデックステーブル１６を更新する（Ｓ１３）。
【００４０】
次に，カードコンテントマネージャ１０はインデックステーブル１６を更新すると，削除コマンド１２に処理を戻し，削除コマンド１２は，削除コマンド１２のレスポンスを図外の端末装置へ送信し（Ｓ１４），図６の手順は終了する。
【００４１】
図９（ａ）は，ＥＬＦ１７ａを削除する前のＥＬＦ用リファレンステーブル１５ａで，図９（ａ）で図示したＥＬＦ用リファレンステーブル１５ａには，ＥＬＦ１７ａ［１］のリファレンス情報が最初の要素に，ＥＬＦ１７ａ［２］のリファレンス情報が２番目の要素に，ＥＬＦ１７ａ［３］のリファレンス情報が３番目の要素に，そして，ＥＬＦ１７ａ［４］のリファレンス情報が４番目の要素にそれぞれ書き込まれている。
【００４２】
図９（ｂ）は，ＥＬＦ１７ａを削除した後のＥＬＦ用リファレンステーブル１５ａである。カードコンテントマネージャ１０は，ＥＬＦ１７ａ［２］がＮＶＭ２３から削除されると，２番目の要素に書き込まれているＥＬＦ１７ａ［２］のリファレンス情報を削除し，更に，ＥＬＦ１７ａ［３］がＮＶＭ２３から削除されると，３番目の要素に書き込まれているＥＬＦ１７ａ［３］のリファレンス情報を削除することで，図９（ａ）で図示したＥＬＦ用リファレンステーブル１５ａは，図９（ｂ）で図示しＥＬＦ用リファレンステーブル１５ａに更新される。
【００４３】
図１０（ａ）は，ＥＬＦ１７ａを削除する前のＥＬＦ用インデックステーブル１６ａである。図１０（ａ）で図示したＥＬＦ用インデックステーブル１６ａには，ＥＬＦ１７ａ［１］のリファレンス情報が記憶されているリファレンステーブル１５の要素番号（ここでは，「１」）が最初の要素に，ＥＬＦ１７ａ［２］のリファレンス情報が記憶されているリファレンステーブル１５の要素番号（ここでは，「２」）が２番目の要素に，ＥＬＦ１７ａ［３］のリファレンス情報が記憶されているリファレンステーブル１５の要素番号（ここでは，「３」）が３番目の要素に，そして，ＥＬＦ１７ａ［４］のリファレンス情報が記憶されているリファレンステーブル１５の要素番号（ここでは，「４」）が４番目の要素に書き込まれている。
【００４４】
図１０（ｂ）は，ＥＬＦ１７ａを削除した後のＥＬＦ用インデックステーブル１６ａである。カードコンテントマネージャ１０は，ＮＶＭ２３から削除されたＥＬＦ１７ａ［２］のリファレンス情報をＥＬＦ用インデックステーブル１６ａから削除すると，ＮＶＭ２３から削除されたＥＬＦ１７ａ［２］のリファレンス情報を記憶していたＥＬＦ用リファレンステーブル１５ａの要素番号（ここでは，「２」になる）をＥＬＦ用インデックステーブル１６ａから削除した後，削除したＥＬＦ用リファレンステーブル１５ａの要素番号を記憶し空要素になったＥＬＦ用インデックステーブル１６ａの要素（ここでは，要素番号が「２」の要素）を詰める処理を行い，２番目の要素以降に記憶されているＥＬＦ用リファレンステーブル１５ａの要素番号（ここでは，「３」，「４」）それぞれをここでは上方向にシフトさせる。更に，カードコンテントマネージャ１０は，ＮＶＭ２３から削除されたＥＬＦ１７ａ［３］のリファレンス情報をＥＬＦ用インデックステーブル１６ａから削除すると，ＮＶＭ２３から削除されたＥＬＦ１７ａ［３］のリファレンス情報を記憶していたＥＬＦ用リファレンステーブル１５ａの要素番号（ここでは，「３」になる）をＥＬＦ用インデックステーブル１６ａから削除した後，ＥＬＦ用リファレンステーブル１５ａの要素番号を削除したＥＬＦ用インデックステーブル１６ａの要素（ここでは，要素番号が「３」の要素）を詰める処理を行い，３番目の要素以降に記憶されているＥＬＦ用リファレンステーブル１５ａの要素番号（ここでは「４」）をシフトさせることで，図１０（ａ）で図示したＥＬＦ用インデックステーブル１６ａは，図１０（ｂ）で図示したＥＬＦ用インデックステーブル１６ａに更新され，その内容は「１，４」になる。
【００４５】
図７を参照して，カードコンテント１７をインストールするときの動作を説明する。図５のＳ２において，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドがインストールコマンド１３の場合，図５のＳ３において，ＩＣカード１は，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドとしてインストールコマンド１３を実行する（Ｓ２０）。
【００４６】
インストールコマンド１３は，インストールコマンド１３のコマンドＡＰＤＵに含まれるデータをＮＶＭ２３に書き込むことで，カードコンテント１７をＮＶＭ２３にインストールする（Ｓ２１）。なお，インストールコマンド１３は，インストールコマンド１３のコマンドＡＰＤＵに含まれるデータをＮＶＭ２３に書き込む領域は，この時点で他のカードコンテント１７が書き込まれていない領域になる。
【００４７】
インストールコマンド１３は，インストールコマンド１３のコマンドＡＰＤＵで指定されたカードコンテント１７をＮＶＭ２３から削除すると，カードコンテントマネージャ１０を呼び出し，カードコンテントマネージャ１０は，インストールされたカードコンテント１７に割り振るインストール番号を決定する（Ｓ２２）。インストールされたカードコンテント１７に割り振るインストール番号を決定する手法は任意であるが，本実施形態に係るカードコンテントマネージャ１０は，カードコンテント１７がＮＶＭ２３にインストールされた順番を示すインデックス番号をカウンタするためのカウンタをカードコンテント１７の種別ごとに有し，インストールコマンド１３から呼び出されると，インストールコマンド１３がＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するカウンタを一つだけカウントアップし，インストールコマンド１３がＮＶＭ２３にインストールしたカードコンテント１７のインデックス番号として，カウントアップ後のカウンタの値を取得する。
【００４８】
次に，カードコンテントマネージャ１０は，Ｓ２２で決定したインデックス番号，ＮＶＭ２３にインストールしたカードコンテント１７のエントリー情報（例えば，先頭アドレス）を含むリファレンス情報を生成する（Ｓ２３）。
【００４９】
次に，カードコンテントマネージャ１０は，インストールコマンド１３がＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するリファレンステーブル１５からリファレンス情報が書き込まれていない要素を検索し，リファレンス情報が書き込まれていない最初の要素に，Ｓ２３で生成したリファレンス情報を書き込むことで，インストールコマンド１３ＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するリファレンステーブル１５を更新する（Ｓ２４）。
【００５０】
カードコンテントマネージャ１０は，インストールコマンド１３がＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するリファレンステーブル１５を更新すると，ＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するインデックステーブル１６から，リファレンステーブル１５の要素番号を記憶していない要素を検索し，リファレンステーブル１５の要素番号を記憶していない先頭の要素に，Ｓ２４において，カードコンテント１７のリファレンス情報を記憶させたリファレンステーブル１５の要素番号を記憶させることで，インストールしたカードコンテント１７のリファレンス情報を記憶させたリファレンステーブル１５の要素番号をインデックステーブル１６の末尾に追加し，ＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するインデックステーブル１６を更新する（Ｓ２５）。
【００５１】
カードコンテントマネージャ１０は，インストールコマンド１３がＮＶＭ２３にインストールしたカードコンテント１７の種別に対応するインデックステーブル１６を更新すると，インストールコマンド１３に処理を戻し，インストールコマンド１３は，Ｉ／Ｏ２４を利用して，インストールコマンド１３のレスポンスを図外の端末装置へ送信し（Ｓ２６），図７の手順は終了する。
【００５２】
図９（ｃ）は，ＥＬＦ１７ａをインストールした後のＥＬＦ用リファレンステーブル１５ａである。カードコンテントマネージャ１０は，ＥＬＦ１７ａ［５］がＮＶＭ２３にインストールされると，ＥＬＦ用リファレンステーブル１５ａからリファレンス情報が書き込まれていない要素を検索し，リファレンス情報が書き込まれていない最初の要素（ここでは，２番目の要素）に，ＮＶＭ２３にインストールしたＥＬＦ１７ａ［５］のリファレンス情報を書き込むことで，図９（ｂ）で図示したＥＬＦ用リファレンステーブル１５ａは，図９（ｃ）で図示したＥＬＦ用リファレンステーブル１５ａに更新される。
【００５３】
図１０（ｃ）は，ＥＬＦ１７ａをインストールした後のＥＬＦ用インデックステーブル１６ａである。カードコンテントマネージャ１０は，ＮＶＭ２３にインストールしたＥＬＦ１７ａ［５］のリファレンス情報をＥＬＦ用リファレンステーブル１５ａに追加すると，ＮＶＭ２３にインストールしたＥＬＦ１７ａ［５］のリファレンス情報を追加したＥＬＦ用リファレンステーブル１５ａの要素番号を，リファレンステーブル１５の要素番号（ここでは，「２」になる）を記憶していないＥＬＦ用インデックステーブル１６ａの最初の要素（ここでは，３番目の要素）に追加することで，図１０（ｂ）で図示したＥＬＦ用インデックステーブル１６ａは，図１０（ｃ）で図示したＥＬＦ用インデックステーブル１６ａに更新され，その内容は「１，４，２」になる。
【００５４】
図８を参照して，カードコンテント１７それぞれが有する出力対象のデータをリスト形式で出力するときの動作を説明する。図５のＳ２において，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドがリスト出力コマンド１１の場合，ＩＣカード１は，図５のＳ３において，ＩＣカード１が受信したコマンドＡＰＤＵに対応するコマンドとしてリスト出力コマンド１１を実行する。
【００５５】
リスト出力コマンド１１は，ＩＣカード１のＮＭＶ２３に実装されているカードコンテント１７それぞれが有する出力対象のデータを，カードコンテント１７のインストール順に並べたリスト形式のデータをＲＡＭ２２に生成する処理（Ｓ３０）を実行する。
【００５６】
リスト形式のデータをＲＡＭ２２に生成する処理（Ｓ３０）において，リスト出力コマンド１１は，インデックステーブル１６の最初から順次実行するループ処理（Ｓ３００）を実行する。ループ処理（Ｓ３００）において，リスト出力コマンド１１は，ループ回数に対応したインデックステーブル１６の要素に記憶されているリファレンステーブル１５の要素番号を取得する（Ｓ３０１）。例えば，ループ回数が１回目の場合，インデックステーブル１６の最初の要素に記憶されているリファレンステーブル１５の要素番号を取得し，ループ回数が２回目の場合，インデックステーブル１６の２番目の要素に記憶されているリファレンステーブル１５の要素番号を取得する。次に，リスト出力コマンド１１は，インデックステーブル１６から取得したリファレンステーブル１５の要素番号に対応する要素に記憶されているリファレンス情報を取得し（Ｓ３０２），リファレンステーブル１５から取得したリファレンス情報に含まれるエントリー情報を参照して，カードコンテント１７にアクセスする（Ｓ３０３）。そして，リスト出力コマンド１１は，アクセスしたカードコンテント１７から出力対象のデータを取得してＲＡＭ２２に格納する（Ｓ３０４）。なお，ループ処理（Ｓ３００）は，ループ回数に対応したインデックステーブル１６の行にリファレンステーブル１５の要素番号が記憶されていない場合に終了する。
【００５７】
リファレンス情報が記憶されているリファレンステーブル１５の要素番号がカードコンテント１７のインストール順で記述されているため，図１０で示したループ処理（Ｓ３０）をリスト出力コマンド１１が実行することで，ＩＣチップ２のＲＡＭ２２には，カードコンテント１７が有する出力対象のデータをカードコンテント１７のインストール順に並べたリスト形式のデータが生成される。
【００５８】
リスト出力コマンド１１は，ループ処理（Ｓ３０）を実行して，カードコンテント１７が有する出力対象のデータをカードコンテント１７のインストール順に並べたリスト形式のデータをＲＡＭ２２に生成すると，Ｉ／Ｏ２４を利用して，リスト出力コマンド１１のレスポンスとして，ＲＡＭ２２に形成したリスト形式のデータを先頭から出力して（Ｓ３１），図１０の手順は終了する。例えば，出力対象のデータをライフサイクルに係るデータとしたとき，図４（ｂ）で図示したＥＬＦ用インデックステーブル１６ａに基づけば，ＥＬＦ１７ａ［１］のライフサイクルに係るデータ，ＥＬＦ１７ａ［４］のライフサイクルに係るデータ，そして，ＥＬＦ１７ａ［５］のライフサイクルに係るデータが順に出力されることになる。
【符号の説明】
【００５９】
１    ＩＣカード
１０  カードコンテントマネージャ
１１  リスト出力コマンド
１２  削除コマンド
１３  インストールコマンド
１５  リファレンステーブル
１５ａ  ＥＬＦ用リファレンステーブル
１５ｂ  ＡＰ用リファレンステーブル
１６  インデックステーブル
１６ａ  ＥＬＦ用インデックステーブル
１６ｂ  ＡＰ用インデックステーブル
１７  カードコンテント
１７ａ  ＥＬＦ（Executable Load File）
１７ｂ  ＡＰ（Application instance）
２３    ＮＶＭ
【図１】
2018163529.tif 000003
【図２】
2018163529.tif 000004
【図３】
2018163529.tif 000005
【図４】
2018163529.tif 000006
【図５】
2018163529.tif 000007
【図６】
2018163529.tif 000008
【図７】
2018163529.tif 000009
【図８】
2018163529.tif 000010
【図９】
2018163529.tif 000011
【図１０】
2018163529.tif 000012