説明

ICカード用ICモジュール、ICカード及びICカードのプログラム

【課題】ロード、インストールなどの処理にかかる時間を短縮することが可能なICカード用ICモジュール、ICカード及びそのプログラムを提供する。
【解決手段】コンテンツを記憶するEEPROMと、外部から命令信号を入力するI/Fと、I/Fから入力した命令信号に応じてEEPROMに記憶されているコンテンツについて処理を行うCPUとを備えるICカード用ICモジュールにおいて、EEPROMは、所定のコンテンツを仮状態で記憶し、CPUは、EEPROMに仮状態で記憶されているコンテンツについて、このコンテンツがEEPROMに記憶されていないものとして処理を行い、このコンテンツのロード命令を受信した場合(S230〜S260)に、記憶状態を通常の状態に切り替え(S300)、従来のように命令に従ってコンテンツをロードしたときと同一の状態とすることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主にICカードに搭載されるICカード用ICモジュール、ICカード及びICカード用ICモジュールに実行させるICカードのプログラムに関するものである。
【背景技術】
【0002】
近年、半導体製造技術の発達によりICカード用ICチップのCPUが高速化し、メモリの記憶容量が増大している。この半導体製造技術の発達に伴い、ICカード向けのアプリケーションが高機能化し、アプリケーションのサイズも大きくなっている。
また、従来、ICカード上のアプリケーションは、ICカードの発行工場内でロード、インストールされるのが一般的であったが、近年、携帯電話機に装着するタイプのICカードやICカードの店頭即時発行サービスなどの登場でICカードを発行する状況が多様化し、ICカードがユーザへ渡った後にアプリケーションをロード、インストールする状況があらたに生まれている。例えば、カード発行後の新プログラムを、ネットワークを通じてダウンロードしてインストールする作業を安全に円滑に行うICカードプログラムダウンロードシステムがある(例えば、特許文献1参照。)
【0003】
図9は、ICカード10−2にアプリケーションを搭載する手順を説明するための図である。
ICカード10−2にアプリケーションを搭載するには、ロード及びインストールの各処理を行う。ICカード用に作成されたアプリケーションをカード内へロードするためには、先ず、ICカードの内部表現に合致したフォーマット(バイナリデータ)へアプリケーションを変換する。そしてこのバイナリデータは、ICカードの通信プロトコルによる制限に合わせて適切なサイズに分割され(#10)、分割された各バイナリデータは、データ送信用の各コマンド(命令)に含められて次々とICカード10−2へ送信される(#20)。この分割された全てのデータをICカード内へ取り込む処理をロードと呼ぶ。ICカード10−2は、このロードされたファイルを基にしてデータを加工し、アプリケーションの実体をICカード内で生成してインストールを行う(#30)。ICカード10−2は、インストールの処理において、通常、アプリケーションが機能するために必要となるオブジェクトを用途に合わせてEEPROMやRAM上に確保し、初期化を実施する。
【0004】
図10は、アプリケーションの基となるロードファイルを外部装置20−2からICカード10−2へロードする場合に、ICカード10−2及び外部装置20−2のCPUが行う処理の流れを示すフローチャートである。なお、以下の処理の流れは、ICカードの標準仕様であるGlobalPlatformにおける処理の流れに沿っている(図11において同じ。)。
図10に示すように、S1000及びS1100において、ICカード10−2及び外部装置20−2は、通信可能な状態にある。外部装置20−2は、選択コマンド(Selectコマンド)をICカード10−2へ送信し、アプリケーションの管理を行うオペレーティングシステムの機能を有するカードマネージャのアプリケーションの選択を指示し(S1010)、カードマネージャが選択される(S1110)。
外部装置20−2及びICカード10−2は、互いに相手の正当性を認証する相互認証を行い(S1020,S1120)、認証ができた場合には、外部装置20−2からICカード10−2へロードのためのInstallコマンド(Install[for load]コマンド)をICカード10−2へ送信し、ロードファイルの識別子、パラメータなどを指定し、ロードファイルのハッシュ値を提供し、ロードファイルのロードの準備を指示する(S1030)。ICカードは、命令を受信し、命令に応じた処理を行い(S1130)、処理結果(応答)を外部装置20−2へ返信する(S1140)。外部装置20−2は、OKの応答を受信した場合には、1つのコマンドで送信できるサイズに分割されたロードファイルを繰り返しICカード10−2へ送信する(S1040,S1050)。全ての分割したロードファイルの転送が終了した場合には、ICカード10−2は、ハッシュ値に基づいて、正常にロードファイルがロードされたかを検証する(S1160,S1170)。正常にロードできた場合には、ICカード10−2は、カードコンテントを管理するための管理情報を更新し(S1180)、結果を外部装置20−2へ通知し(S1070,S1190)、ICカード10−2及び外部装置20−2は、処理を終了する(S1080,S1200)。
【0005】
図11は、アプリケーションをICカード10−2へインストールする場合に、ICカード10−2及び外部装置20−2のCPUが行う処理の流れを示すフローチャートである。
図11に示すように、ICカード10−2及び外部装置20−2は、S1300からS1320まで、S1400からS1420までにおいて、図10のS1000からS1020まで、S1100からS1120までと同様に処理を行う。
S1330において、外部装置20−2からICカード10−2へインストールのためのInstallコマンド(Install[for install]コマンド)を送信し、基となるロードファイル、アプリケーションの識別子、パラメータなどを指定し、アプリケーションのインストールを命令する。ICカード10−2は、命令を受信し(S1430)、指定されたロードファイルを基にアプリケーションを構成するプログラムやデータなどのオブジェクトをEEPROMにコピーしてオブジェクトを生成し、専用領域をRAM上に確保する(S1440)。ICカード10−2は、アプリケーションの初期化を実施し(S1450)、管理情報を更新する(S1460)。ICカード10−2から外部装置20−2へ処理結果を通知し(S1340,S1470)、処理を終了する(S1350,S1480)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−13728号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
従って、対象となるアプリケーションのサイズが大きくなると、それだけ分割数(コマンド数)が増加しロードにかかる時間が長くなるという問題があった。また、アプリケーションが高機能化することによって、インストール時に作成するオブジェクトの数が増え、インストール時間が長くなるという問題があった。
特に、ユーザ自らがアプリケーションをロード、インストールする場合には、処理時間の長期化により、ユーザの負担を増大し、問題が顕著になるおそれがあった。
【0008】
本発明の課題は、データの取り込み、生成などの処理にかかる時間を短縮することが可能なICカード用ICモジュール、ICカード及びそのプログラムを提供することである。
【課題を解決するための手段】
【0009】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施例に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、データを記憶する記憶手段と、外部から命令信号を入力する命令入力手段と、前記命令入力手段によって入力された命令信号に応じて前記記憶手段に記憶されているデータについて処理を行い、応答信号を生成する処理手段と、前記処理手段によって生成された応答信号を外部へ出力する応答出力手段とを備えるICカード用ICモジュールにおいて、前記記憶手段は、所定のデータを仮状態で記憶し、前記処理手段は、前記記憶手段に仮状態で記憶されている所定のデータについて、この所定のデータが前記記憶手段に記憶されていないものとして処理を行い、前記記憶手段に仮状態で記憶されている所定のデータの外部からの取り込み、又は、生成が必要となった場合に、この所定のデータを、通常の状態で前記記憶手段に記憶するように記憶状態を切り替える記憶状態切り替え手段を備えることを特徴とするICカード用ICモジュールである。
【0010】
請求項2の発明は、請求項1に記載のICカード用ICモジュールにおいて、前記記憶手段は、所定のファイル、所定のアプリケーション又は所定のオブジェクトを仮状態で記憶すること、を特徴とするICカード用ICモジュールである。
【0011】
請求項3の発明は、請求項1又は請求項2に記載のICカード用ICモジュールにおいて、前記記憶状態切り替え手段は、前記記憶手段に通常の状態で記憶されているデータについて削除を命令する命令信号が前記命令入力手段によって入力された場合に、このデータを仮状態で前記記憶手段に記憶するように記憶状態を切り替えること、を特徴とするICカード用ICモジュールである。
【0012】
請求項4の発明は、請求項3に記載のICカード用ICモジュールにおいて、前記記憶状態切り替え手段は、前記記憶手段に通常の状態で記憶されているアプリケーションについて削除を命令する命令信号が前記命令入力手段によって入力された場合に、このアプリケーションを一般化するとともに、記憶状態の切り替えを行うこと、を特徴とするICカード用ICモジュールである。
【0013】
請求項5の発明は、請求項1から請求項4までのいずれか1項に記載のICカード用ICモジュールにおいて、前記記憶手段に記憶されている各データが仮状態で記憶されているか否かを示す記憶状態情報を記憶する記憶状態情報記憶手段を備え、前記記憶状態切り替え手段は、前記記憶状態情報記憶手段に記憶されている記憶状態情報を書き換え、記憶状態を切り替えること、を特徴とするICカード用ICモジュールである。
【0014】
請求項6の発明は、請求項1から請求項5までのいずれか1項に記載のICカード用ICモジュールにおいて、前記処理手段は、前記記憶手段において空き領域を確保する必要が生じた場合に、仮状態で所定のデータを記憶している記憶領域を空き領域として確保すること、を特徴とするICカード用ICモジュールである。
【0015】
請求項7の発明は、請求項6に記載のICカード用ICモジュールにおいて、前記記憶手段は、複数のデータを仮状態で記憶し、前記処理手段は、前記記憶手段において空き領域を確保する必要が生じた場合に、前記記憶手段に仮状態で記憶されている各データの属性に基づいて、いずれのデータが記憶されている記憶領域を空き領域として確保するかを選択するデータ選択手段を有すること、を特徴とするICカード用ICモジュールである。
【0016】
請求項8の発明は、請求項7に記載のICカード用ICモジュールにおいて、前記データ選択手段は、前記記憶手段に仮状態で記憶されている各データのサイズ、種類又は仮状態の履歴のうちのいずれか一又は複数を含む各データの属性に基づいてデータを選択すること、を特徴とするICカード用ICモジュールである。
【0017】
請求項9の発明は、請求項1から請求項8までのいずれか1項に記載のICカード用ICモジュールにおいて、前記処理手段は、前記命令入力手段によってデータのロード命令の命令信号が入力された場合に、このデータと同一のデータが前記記憶手段に仮状態で記憶されているか否かを判定するロード済みデータ存否判定手段を有し、前記記憶状態切り替え手段は、前記ロード済みデータ存否判定手段が肯と判定した場合に、前記同一のファイルを通常の状態で前記記憶手段に記憶するように記憶状態を切り替えること、を特徴とするICカード用ICモジュールである。
【0018】
請求項10の発明は、請求項1から請求項9までのいずれか1項に記載のICカード用ICモジュールにおいて、前記処理手段は、前記命令入力手段によってデータのインストール命令の命令信号が入力された場合に、このデータからインストールされたインストール済みのデータが前記記憶手段に仮状態で記憶されているか否かを判定するインストール済みデータ存否判定手段を有し、前記記憶状態切り替え手段は、前記インストール済みデータ存否判定手段が肯と判定した場合に、前記インストール済みのデータを通常の状態で前記記憶手段に記憶するように記憶状態を切り替えること、を特徴とするICカード用ICモジュールである。
【0019】
請求項11の発明は、請求項1から請求項10までのいずれか1項に記載のICカード用ICモジュールと、ICカード基材とを備えるICカードである。
【0020】
請求項12の発明は、ICカード用ICモジュールに実行させるICカードのプログラムであって、請求項1から請求項10までのいずれか1項に記載のICカード用ICモジュールの各手段の機能を実行するための手順を備えていることを特徴とするICカードのプログラムである。
【発明の効果】
【0021】
本発明によるICカード用ICモジュール、ICカード及びそのプログラムによれば、以下の効果を得ることが可能となる。
(1)外部から入力された命令信号に応じて処理を行う場合に、記憶手段に仮状態で記憶されている、ファイル、アプリケーション、オブジェクトなどの所定のデータについて、この所定のデータが記憶されていないものとして処理を行うことによって、応答信号からは仮状態で記憶されている所定のデータの存在を認識することができず、ICカード用ICモジュール内で外部装置などに対して秘匿してデータを記憶し、管理することが可能となる。また、ICカード用ICモジュールに命令信号を与える外部装置は、この仮状態で記憶されているデータを意識することなく、処理を行うことができ、汎用性、実用性が高い。更に、仮状態で記憶されている所定のデータについて、ロードなどの外部からの取り込み、又は、インストールなどの生成が必要となった場合に、通常の状態へ記憶状態を切り替えることによって、取り込みの処理、生成の処理にかかる時間を短縮することが可能となる。また、必要性があいまいなデータを仮状態で予め取り込んで記憶し、必要であれば、通常の状態に切り替えることが可能となる。
(2)削除命令を入力した場合に、削除命令の対象となるデータの記憶状態を仮状態へ切り替えることによって、従来の削除処理の処理後の状態と同様の状態が外部から認識され、再びこのデータの取り込み、又は、生成の必要が生じた場合には、記憶状態を切り替えることにより、容易に再利用することができる。また、アプリケーションについての削除命令を入力した場合に、アプリケーションを一般化することによって、再びこのアプリケーションを通常の状態に切り替えたときに、初期状態から使用することが可能となる。更に、クレジットアプリケーションのデータとして記録された利用者氏名、カード番号などの個人化された情報を消去し、一般化を行うことによって、セキュリティを維持することが可能となる。
(3)空き領域を確保する必要が生じた場合に、仮状態で所定のデータを記憶している記憶領域を空き領域として確保することによって、必要性があいまいなデータを予め取り込んで仮状態で記憶し、必要であれば、通常の状態に切り替え、空き領域を確保する必要があれば、その記憶領域を空き領域として優先的に確保することができ、記憶領域を効率的に使用することが可能となる。
(4)仮状態で記憶しているデータのサイズ、種類、記憶状態切り替え手段による記憶状態切り替え履歴などの属性に基づいて、いずれのデータが記憶されている記憶領域を空き領域として確保するかを選択することによって、比較的必要性の低いデータの記憶領域を空き領域として確保するなど、記憶領域をより効率的に使用することが可能となる。
(5)データのロード命令を入力した場合に、このデータと同一のデータを仮状態で記憶しているときに、このデータの記憶状態を通常の状態に切り替えることによって、従来のようにロード命令に従ってデータをロードした場合と同一の状態とすることができ、処理にかかる時間を短縮することが可能となる。また、ICカード用ICモジュールに対してデータのロード命令を行う外部装置は、従来と略同様の処理を行うことによって、従来と同じ処理結果を得ることができ、外部装置に大きな改変を加えることなく、本発明を実現することができ、汎用性及び実現性が高い。
(6)データのインストール命令を入力した場合に、このデータからインストールされたインストール済みのデータが仮状態で記憶されているときに、このデータの記憶状態を通常の状態に切り替えることによって、従来のようにインストール命令に従ってデータをインストールしたときと同一の状態とすることができ、処理にかかる時間を短縮することが可能となる。また、ICカード用ICモジュールに対してデータのインストール命令を行う外部装置に大きな改変を加えることなく、本発明を実現することができ、汎用性及び実現性が高い。
【図面の簡単な説明】
【0022】
【図1】ICカード用ICモジュール及びICカードの構成を示すブロック図である。
【図2】RAM14及びEEPROM16のメモリマップを説明するための図である。
【図3】EEPROM16に記憶されているコンテンツの管理情報を説明するための図である。
【図4】コンテンツのステイトの遷移を説明するための図である。
【図5】ICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートである。
【図6】ICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートである。
【図7】ICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートである。
【図8】ICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートである。
【図9】ICカード10−2にアプリケーションを搭載する手順を説明するための図である。
【図10】従来のロード処理の流れを示すフローチャートである。
【図11】従来のインストール処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0023】
本発明は、データの取り込み、生成などの処理にかかる時間を短縮するという目的を、データを記憶する記憶部と、外部から命令信号を入力する命令入力部と、命令入力部によって入力された命令信号に応じて記憶部に記憶されているデータについて処理を行い、応答信号を生成する処理部と、処理部によって生成された応答信号を外部へ出力する応答出力部とを備えるICカード用ICモジュールにおいて、記憶部は、所定のデータを仮状態で記憶し、処理部は、記憶部に仮状態で記憶されている所定のデータについて、この所定のデータが記憶部に記憶されていないものとして処理を行い、記憶部に仮状態で記憶されている所定のデータの外部からの取り込み、又は、生成が必要となった場合に、この所定のデータを、通常の状態で記憶部に記憶するように記憶状態を切り替える記憶状態切り替え部を備えることを特徴とすることによって実現する。
【実施例】
【0024】
以下、図面などを参照して、本発明の実施例をあげて、さらに詳しく説明する。
図1は、本発明によるICカード用ICモジュール及びICカードの構成を示すブロック図である。なお、前述した背景技術と同様な機能を果たす部分には、同一の符号又は末尾に統一した符号を付して、重複する説明や図面を適宜省略する。
図1に示すように、ICカードシステム1は、ICカード10と、ICカード10を着脱可能に装着することができ、装着されているICカード10と通信を行うことが可能な外部装置である携帯電話機20とを備え、新たにアプリケーションなどのカード用のコンテンツをICカード10に搭載(ロード、インストール)するシステムである。
【0025】
ICカード10は、携帯電話機20に装着することができるSIM、UIMなどのICカードである。ICカード10は、携帯電話機20に装着された場合に携帯電話機20と通信を行うことができ、携帯電話機20からコマンド(命令)を受信し、このコマンドに応じて処理を行い、処理結果をレスポンス(応答)として携帯電話機20へ返信する携帯型の情報処理装置である。ICカード10は、カード基材(図示しない。)に、I/F11と、I/F11に接続されているICチップ12などが搭載されている。本実施例いおけるICカード用ICモジュールは、ICチップ12及びI/F11であって、ICモジュールとは、ICチップと、ICチップ及び外部との入出力を媒介する入出力インターフェースなどのICチップの周辺機器とを備えるモジュール(ICカードを構成する部分で、機能的にまとまった部分。)である。
I/F11は、外部との信号の入出力を行い、携帯電話機20及びICチップ12間の通信を媒介する入出力インターフェースである。I/F11は、例えば、ICカード10が接触式の通信を行う場合には、携帯電話機20との接触式通信における接点となる接触端子などである。なお、ICカード10は、携帯電話機20と通信を行うことができれば、接触式ICカード、非接触式ICカード、接触/非接触式ICカードのいずれであってもよく、その通信方式は、限定されない。
【0026】
ICチップ12は、I/F11に接続されているCPU13と、CPU13に接続されているRAM14、ROM15及びEEPROM16などとを備えている。
CPU13は、ICカード10全体を制御する中央処理演算装置である。
RAM14、ROM15及びEEPROM16は、データを記憶する記憶装置である。RAM14は、CPU13が処理を行う作業領域として使用される揮発性メモリであり、ROM15は、CPU13の動作のもととなるオペレーティングシステムなどの基本プログラムを記憶する不揮発性の読み出し専用メモリである。また、EEPROM16は、アプリケーションなどのプログラム、利用者の個人情報などのプログラムの実行に必要なデータを記憶する随時書き換え可能な不揮発性メモリである。なお、ICチップ12が備える書き換え可能な不揮発性メモリは、EEPROMに限定されず、フラッシュメモリなど他の書き換え可能な不揮発性メモリであってもよい。
【0027】
図2は、RAM14及びEEPROM16のメモリマップを説明するための図である。
図2に示すように、EEPROM16には、標準サービス1のロードファイルL1及びアプリケーションA1、オプションサービス1のロードファイルLO1及びアプリケーションAO1、オプションサービス2のロードファイルLO2などのコンテンツが記憶されている。
標準サービス1、オプションサービス1、オプションサービス2は、クレジット、ポイントなど各コンテンツのサービスの種類を示し、標準サービス1は、ICカード10に標準に搭載され、ICカード10の利用者が利用可能なサービスであり、オプションサービス1及びオプションサービス2は、ICカード10のユーザが選択して利用できるサービスである。なお、オプションサービス1,2は、ユーザが利用する蓋然性の高いサービス(例えば、クレジット、ポイントなど。)とすることが望ましい。
【0028】
標準サービス1のロードファイルL1は、ICカード10の発行前に予め工場などでICカード10にロードされ、EEPROM16に記憶されている。また、標準サービス1のアプリケーションA1は、ICカード10の発行前にロードファイルL1を基にしてICカード10にインストールされたアプリケーションであって、EEPROM16に記憶されている。
ロードファイルLO1及びロードファイルLO2は、ICカード10の発行前に静的にロードされ、EEPROM16に静的状態で記憶されている。同様に、アプリケーションAO1は、発行前に静的にインストールされる。静的なロード、インストールとは、ICカード10の内部に対してロード、インストール処理を行った場合と略同様の状態をEEPROM16及びRAM14上に作成する処理である。静的なロードの方法は、通常のロード命令によってファイルをロードして(図10参照。)、ICカード10にロードされたファイルを指定して削除命令を行ってもよいし(後述する図7参照。)、通常のロード命令とは異なる特別なロード命令によって静的なロードを行ってもよい。静的なインストールについても同様である。
【0029】
静的にロード、インストールされたオプションサービス1のロードファイルLO1及びアプリケーションAO1、オプションサービス2のロードファイルLO2は、静的な状態でEEPROM16に記憶される。
静的な状態とは、カード外部に対してその存在を明かさず、カード外部との命令及び応答の送受信では、その存在を認識することが出来ない静的状態(存在しないと認識される状態)である。例えば、静的な状態で記憶されているファイルを選択する選択命令が外部からあった場合には、ICカード10は、エラーの応答を返す。従って、カード外部の携帯電話機20からは、静的なコンテンツが使用している領域は空き領域と認識される。
また、RAM14には、アプリケーションA1、アプリケーションAO1が専用するための領域AR1,AOR1が確保され、アプリケーションAO1の専用領域AOR1は、静的な状態で確保されている。
【0030】
図3は、EEPROM16に記憶されているコンテンツの管理情報を説明するための図である。
図3に示すように、コンテンツの管理情報は、各コンテンツを管理するための情報であって、コンテンツの種類、識別子、ハッシュ値(ロードファイル)、STATICフラグ、サービスの種類、ステイトなどを含んでいる。
識別子は、ICカード10内で各コンテンツを識別するための識別情報である。
STATICフラグは、コンテンツが静的な状態で記憶されているか、記憶状態を示すフラグであって、静的な状態で記憶されている場合にフラグが立てられる。フラグがオフのコンテンツは、本来の目的に使用可能な通常の状態で記憶されている。
静的な状態のロードファイルLO1,LO2の識別子は割り当てられておらず、静的な状態のアプリケーションの識別子は、このアプリケーションのインストールもとであるロードファイルのハッシュ値が割り当てられている。なお、静的な状態のアプリケーションの識別子は、そのインストールもとであるロードファイルと関連づけることができれば、なくてもよい。
ステイトは、コンテンツの状態(ステイト)を示す情報である。
【0031】
図4は、コンテンツのステイトの遷移を説明するための図であって、図4(a)は、ロードファイルの状態遷移、図4(b)は、アプリケーションの状態遷移を示している。
図4(a)に示すように、ロードファイルは、「PRELOADED」及び「LOADED」間でステイトが遷移する。「LOADED」は、ICカード10へのロード命令に応じて処理を行った結果、正しく処理された場合のロードファイルの状態であり、「PRELOADED」は、ICカード10に静的にロードされたロードファイルの状態である。
カード外部から「PRELOADED」のロードファイルと同一のロードファイルについて、ロード命令が発行された場合に、「PRELOADED」のロードファイルのステイトは、「LOADED」に遷移する(後述する図5参照。)。
また、カード外部から「LOADED」のロードファイルの削除命令を受信した場合には、このロードファイルのステイトは、「LOADED」から「PRELOADED」へ遷移し、管理情報が更新される(後述する図7参照。)。なお、「LOADED」のステイトは、GlobalPlatformが定めるロードファイルのライフサイクル管理における「LOADED」のステイトと同義である。
【0032】
また、図4(b)に示すように、アプリケーションは、主に「AP_READY」、「INSTALLED」、「SELECTABLE」及び「PERSONALIZED」間でステイトが遷移する。「INSTALLED」は、ICカード10へのロード命令に応じて、ICカード10内のロードファイルを基に生成したアプリケーションの状態である。「AP_READY」は、ICカード10に静的にインストールされたアプリケーションの状態である。「LOCKED」は、ICカード発行者の権限により遷移されるステイトであって、アプリケーションを利用できない状態である。
【0033】
カード外部から「AP_READY」のアプリケーションの基となるロードファイルと同一のロードファイルについて、インストール命令が発行された場合に、「AP_READY」のアプリケーションのステイトは、「INSTALLED」に遷移する(後述する図6参照。)。なお、インストール命令のパラメータによっては、「AP_READY」から「SELECTABLE」に遷移する。「SELECTABLE」は、選択対象となることができる状態である。また、「PERSONALIZED」は、アプリケーションに対してユーザ情報などの個人化を実施して実際に機能できる状態であって、サービスに使用できる状態である。
【0034】
ステイトを変える命令に応じて「INSTALLED」、「SELECTABLE」のステイトは、「PERSONALIZED」に遷移する。また、ユーザIDや暗号鍵を取得するなど、状態変更の所定の条件が満たされた場合に、ICカード10がステイトを自動的に変更してもよい。
また、カード外部からアプリケーションの削除命令を受信した場合には、ICカード10は、アプリケーションの一般化(個人化情報の消去)を実施し、ステイトを「PERSONALIZED」から「AP_READY」へ変え、静的状態のアプリケーションの削除を実施する(後述する図7参照。)。なお、「INSTALLED」、「SELECTABLE」「PERSONALIZED」及び「LOCKED」は、GlobalPlatformが定めるロードファイルのライフサイクル管理におけるステイトである。
【0035】
EEPROM16は、また、優先割り当て領域管理情報を記憶している。
優先割り当て領域管理情報は、カード外部からロード命令を受けた場合やカード上のアプリケーションからメモリ領域確保要求が発生した場合など、新たにデータを書き込むことができるメモリ領域を確保する必要がある場合に、いずれのメモリ領域を割り当てるかを決定するもととなる情報である。最も優先的に割り当てられる領域は、ICカード上のいかなるコンテンツ(静的なコンテンツも含む。)にも使用されておらず、新たにデータを書き込むことが可能な領域(空き領域)であり、この空き領域が枯渇し、なおも空き領域を確保する必要が生じた場合に、コンテンツなどのデータを静的な状態で記憶しているメモリ領域が空き領域として割り当てられる。なお、静的状態のコンテンツを記憶している領域が割り当てられた場合には、このコンテンツについての管理情報が削除され、この領域に対して新たに情報が上書きされ、コンテンツは無効(利用不可能な状態)とされる。
【0036】
また、優先割り当て領域管理情報は、無効化優先順位管理情報を含んでいる。無効化優先順位管理情報は、各静的状態のコンテンツを無効化する優先順位を決定するための情報であって、コンテンツのサイズ、種類、STATICフラグの書き換え履歴など、優先順位を決定する要素となる各コンテンツの属性、各属性が優先順位に影響する度合いなどを含んでいる。
CPU13は、空き領域を確保する必要が生じた場合に、いずれの静的状態のコンテンツを無効化するか(いずれのコンテンツのメモリ領域を空き領域として使用するか)を無効化優先順位管理情報に基づいて決定する。例えば、CPU13は、各属性及び影響度合に基づいて、不足しているメモリ領域のサイズと近いサイズの静的状態のコンテンツを削除したり、アプリケーションをロードファイルに優先して削除したり、また、STATICフラグが今までにオフに書き換えられたことのないコンテンツ(使用されたことがないコンテンツ)を削除する。なお、優先順位を決定する要素となる静的状態のコンテンツの属性、各属性が優先順位に影響する度合いは、任意に設定することが可能である。
【0037】
図1に示すように、携帯電話機20は、CPU、メモリ、アンテナなどの通信インターフェース、ディスプレイなどの表示部、キーボードなどの入力部、装着しているICカード10との通信を媒介するリーダライタなど(図示しない。)を有し、電話機能を備える携帯型の通信端末装置である。携帯電話機20は、インターネットのサイトからダウンロードすることなどによって、ICカード10用のコンテンツを取得し、ICカード10へロードする。
【0038】
図5は、本発明によるICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートであり、アプリケーションの基となるロードファイルをICカードへロードする処理を示している。以下、ICカード10及び携帯電話機20のCPU13の処理を中心に説明する。
図5に示すように、携帯電話機20及びICカード10は、S100からS130まで、S200からS230までにおいて、図10のS1000からS1030まで、S1100からS1130までの外部装置20−2及びICカード10−2の処理と同様に処理を行う。
S230において、ICカード10は、ロードのコマンドを受信し、携帯電話機20から提供されるロードファイルのハッシュ値と同一のハッシュ値を持ち、静的状態(STATICフラグがオン)のロードファイルを、管理情報(図3参照。)を参照して検索する(S240)。ICカード10は、検索結果を携帯電話機20へ通知し(S140,S250)、同一のハッシュ値の静的状態のロードファイルがない場合には(S150,S260)、ICカード10及び携帯電話機20は、従来(図10のS1050〜S1080、S1150〜S1200)と同様に処理を行う(S160〜S190、S270〜S320)。
同一のハッシュ値の静的状態のロードファイルがある場合には、ICカード10は、このロードファイルの識別子を携帯電話機20から指定された識別子とし、STATICフラグをオフに切り替え、ステイトを「PRELOADED」から「LOADED」に切り替えるなど、管理情報を更新し(S260,S300)、静的状態のロードファイルを、このロードファイルを通常のロード処理を行った状態とする。ICカード10は処理結果を携帯電話機20へ通知し(S180,S310)、処理を終了する(S190,S320)。
【0039】
図6は、本発明によるICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートであり、アプリケーションをICカード10へインストールする処理を示している。以下、ICカード10及び携帯電話機20のCPU13の処理を中心に説明する。
図6に示すように、携帯電話機20は、図11の外部装置20−2と同様に処理を行う(S400〜S450、図11のS1300〜S1350)。ICカード10は、S500からS530までにおいて、図11のICカード10−2のS1400からS1430までと同様に処理を行う。
S530において、ICカード10は、インストールのコマンドを受信し、携帯電話機20によって識別子で指定されるロードファイルを基とする静的状態のアプリケーションを、管理情報を参照して検索する(S540、図3参照。)。ICカード10は、アプリケーションを検出できない場合には、従来(S1440〜S1480)と同様に処理を行う(S550〜S600)。
アプリケーションを検出した場合には、このアプリケーションの識別子を携帯電話機20から指定された識別子とし、STATICフラグをオフに切り替え、ステイトを「AP_READY」から「INSTALLED」(又は「SELECTABLE」)に切り替えるなど、管理情報を更新し、静的状態のアプリケーションを、このロードファイルを通常のインストール処理を行った状態とする(S550,S580)。ICカード10は処理結果を携帯電話機20へ通知し(S440,S590)、処理を終了する(S450,S600)。
【0040】
図7は、本発明によるICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートであり、コンテンツを削除する処理を示している。以下、ICカード10及び携帯電話機20のCPU13の処理を中心に説明する。
図7に示すように、携帯電話機20及びICカード10は、S700からSS720まで、S800からS820までにおいて、図6のS400からS420まで、S500からS520までと同様に処理を行う。
S730において携帯電話機20は、DeleteコマンドをICカード10へ送信し、削除の対象となる、通常の状態で記憶されているコンテンツを指定し、削除を命令する。ICカード10は、この命令を受け(S830)、指定されたコンテンツのSTATICフラグをオンに切り替え、ステイトを切り替えるなど、管理情報を更新し(アプリケーションであれば、個人情報を消去し、一般化する。)、削除対象のコンテンツを静的状態とし、携帯電話機20からは認識されない状態とする(S840)。ICカード10は、処理結果を携帯電話機20へ通知し(S740,S850)、処理を終了する(S750,S860)。
【0041】
図8は、本発明によるICカード用ICモジュール及びICカードの動作、ICカードのプログラムを示すフローチャートであり、メモリ領域を確保する処理を示している。以下、ICカード10のCPU13の処理を中心に説明する。
図8に示すように、ICカード10は、カード外部からロード命令を受けた場合やカード上のアプリケーションからメモリ領域確保要求が発生した場合など、メモリ領域を確保する必要が発生した場合(S910)に、いかなるコンテンツにも使用されていないメモリ領域(空き領域)が十分にあるかを判定する(S920)。十分にある場合には、その空き領域を使用する領域として確保する(S960,S970)。
十分な空き領域がなく、空き領域を確保する必要が生じた場合には、ICカード10は、無効化優先順位管理情報に基づいて、削除する静的状態のコンテンツを選択する(S920,S930)。ICカード10は、選択したコンテンツに使用しているEEPROM16のメモリ領域(又は、RAM14及びEEPROM16のメモリ領域)をクリアにし(S940)、このコンテンツに関する管理情報を削除し、管理情報を更新する(S950)。ICカード10は、この静的状態のコンテンツが使用していたメモリ領域を、空き領域として確保する(S960,S970)。
【0042】
このように本実施例によれば、ICカード10は、ロードファイル、アプリケーションなどのコンテンツを静的状態で記憶し、ロード命令やインストール命令などを携帯電話機20から受信するなど、静的状態で記憶しているこれらのコンテンツの取り込み、生成が必要となった場合には、そのコンテンツの管理情報を書き換え、ロード、インストールしたときと同一の状態とするため、データの取り込み、生成などの処理にかかる時間を短縮することが可能となった。
また、携帯電話機20は、ICカード10に対してロード命令、インストール命令を送信するなど、従来の外部装置20−2と略同様の処理を行うことによって、従来と同じ処理結果を得ることができるため、外部装置側に大きな改変を加えることなく、本発明を実現することができ、汎用性及び実現性が高い。
【0043】
更に、ICカード10は、空き領域を確保する必要が生じた場合には、静的な状態でコンテンツを記憶している領域を空き領域として確保することができ、EEPROM16の記憶領域を効率的に使用することが可能となった。特に、静的な状態で記憶しているコンテンツのサイズ、種類、記憶状態切り替え手段による記憶状態切り替え履歴などのコンテンツの属性に基づいて、無効化するファイルを選択することによって、不必要なコンテンツを無効化し、必要なコンテンツをそのまま残すことが可能となった。例えば、全く使用しないコンテンツを静的に記憶している領域を空き領域として使用することが可能となった。
【0044】
更にまた、ICカード10は、命令及び応答の送受信では、外部からその存在が認識されない静的な状態でコンテンツをEEPROM16に記憶することによって、ICカード10主導で、静的な状態で記憶しているコンテンツを管理することができ、ICカード10に命令を送信する携帯電話機20は、この静的な状態で記憶されているコンテンツを意識することなく、処理を行うことが可能となった。
また、ICカード10は、削除命令が携帯電話機20からあった場合に、削除命令の対象となるコンテンツのSTATICフラグをオンに切り替えるため、携帯電話機20から見て従来の削除処理の処理後の状態と同様の状態とすることができ、また、再びこのコンテンツを使用する必要が生じた場合には、STATICフラグをオフ切り替えることにより、容易に再使用することが可能となった。
【0045】
(変形例)
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ICチップ12をカード基材に搭載したICカード10を例示したが、携帯電話機20などの外部装置と通信を行うことができれば、ICチップ12を搭載する対象は、カード基材に限定されない。従って、ICカード10の代わりに、ICチップ12を搭載したICタグであってもよい。
また、ICカード10が通信を行う相手は、携帯電話機20に限定されず、ATM、店頭端末など、他の外部装置であってもよい。
【0046】
ICカード10は、ロード済みのロードファイル、インストール済みのアプリケーションなどのコンテンツを静的に記憶しているが、静的に記憶するデータは、これらに限定されない。
また、ICカード10は、コンテンツ単位で管理情報を記憶しているが、ファイル単位でもよく、意味を有するひとまとまりのデータであれば、管理するデータの単位は、限定されない。
【0047】
ICカード10は、コンテンツなどのデータについて、静的状態(仮状態)又は通常の状態などの記憶状態を示すスタティックフラグで管理しているが、これに加え、空き領域として利用できる空き状態をスタティックフラグで示してもよく、記憶状態は、これらに限定されない。例えば、ICカード10が、静的状態のコンテンツが使用していたメモリ領域を、空き領域として確保する(S960,S970)場合に、このコンテンツの記憶状態を空き状態としてもよい。
【符号の説明】
【0048】
1 ICカードシステム
10 ICカード
11 I/F
12 ICチップ
13 CPU
14 RAM
15 ROM
16 EEPROM
20 携帯電話機

【特許請求の範囲】
【請求項1】
データを記憶する記憶手段と、
外部から命令信号を入力する命令入力手段と、
前記命令入力手段によって入力された命令信号に応じて前記記憶手段に記憶されているデータについて処理を行い、応答信号を生成する処理手段と、
前記処理手段によって生成された応答信号を外部へ出力する応答出力手段とを備えるICカード用ICモジュールにおいて、
前記記憶手段は、所定のデータを仮状態で記憶し、
前記処理手段は、前記記憶手段に仮状態で記憶されている所定のデータについて、この所定のデータが前記記憶手段に記憶されていないものとして処理を行い、
前記記憶手段に仮状態で記憶されている所定のデータの外部からの取り込み、又は、生成が必要となった場合に、この所定のデータを、通常の状態で前記記憶手段に記憶するように記憶状態を切り替える記憶状態切り替え手段を備えること
を特徴とするICカード用ICモジュール。
【請求項2】
請求項1に記載のICカード用ICモジュールにおいて、
前記記憶手段は、所定のファイル、所定のアプリケーション又は所定のオブジェクトを仮状態で記憶すること、
を特徴とするICカード用ICモジュール。
【請求項3】
請求項1又は請求項2に記載のICカード用ICモジュールにおいて、
前記記憶状態切り替え手段は、前記記憶手段に通常の状態で記憶されているデータについて削除を命令する命令信号が前記命令入力手段によって入力された場合に、このデータを仮状態で前記記憶手段に記憶するように記憶状態を切り替えること、
を特徴とするICカード用ICモジュール。
【請求項4】
請求項3に記載のICカード用ICモジュールにおいて、
前記記憶状態切り替え手段は、前記記憶手段に通常の状態で記憶されているアプリケーションについて削除を命令する命令信号が前記命令入力手段によって入力された場合に、このアプリケーションを一般化するとともに、記憶状態の切り替えを行うこと、
を特徴とするICカード用ICモジュール。
【請求項5】
請求項1から請求項4までのいずれか1項に記載のICカード用ICモジュールにおいて、
前記記憶手段に記憶されている各データが仮状態で記憶されているか否かを示す記憶状態情報を記憶する記憶状態情報記憶手段を備え、
前記記憶状態切り替え手段は、前記記憶状態情報記憶手段に記憶されている記憶状態情報を書き換え、記憶状態を切り替えること、
を特徴とするICカード用ICモジュール。
【請求項6】
請求項1から請求項5までのいずれか1項に記載のICカード用ICモジュールにおいて、
前記処理手段は、前記記憶手段において空き領域を確保する必要が生じた場合に、仮状態で所定のデータを記憶している記憶領域を空き領域として確保すること、
を特徴とするICカード用ICモジュール。
【請求項7】
請求項6に記載のICカード用ICモジュールにおいて、
前記記憶手段は、複数のデータを仮状態で記憶し、
前記処理手段は、前記記憶手段において空き領域を確保する必要が生じた場合に、前記記憶手段に仮状態で記憶されている各データの属性に基づいて、いずれのデータが記憶されている記憶領域を空き領域として確保するかを選択するデータ選択手段を有すること、
を特徴とするICカード用ICモジュール。
【請求項8】
請求項7に記載のICカード用ICモジュールにおいて、
前記データ選択手段は、前記記憶手段に仮状態で記憶されている各データのサイズ、種類又は仮状態の履歴のうちのいずれか一又は複数を含む各データの属性に基づいてデータを選択すること、
を特徴とするICカード用ICモジュール。
【請求項9】
請求項1から請求項8までのいずれか1項に記載のICカード用ICモジュールにおいて、
前記処理手段は、前記命令入力手段によってデータのロード命令の命令信号が入力された場合に、このデータと同一のデータが前記記憶手段に仮状態で記憶されているか否かを判定するロード済みデータ存否判定手段を有し、
前記記憶状態切り替え手段は、前記ロード済みデータ存否判定手段が肯と判定した場合に、前記同一のファイルを通常の状態で前記記憶手段に記憶するように記憶状態を切り替えること、
を特徴とするICカード用ICモジュール。
【請求項10】
請求項1から請求項9までのいずれか1項に記載のICカード用ICモジュールにおいて、
前記処理手段は、前記命令入力手段によってデータのインストール命令の命令信号が入力された場合に、このデータからインストールされたインストール済みのデータが前記記憶手段に仮状態で記憶されているか否かを判定するインストール済みデータ存否判定手段を有し、
前記記憶状態切り替え手段は、前記インストール済みデータ存否判定手段が肯と判定した場合に、前記インストール済みのデータを通常の状態で前記記憶手段に記憶するように記憶状態を切り替えること、
を特徴とするICカード用ICモジュール。
【請求項11】
請求項1から請求項10までのいずれか1項に記載のICカード用ICモジュールと、
ICカード基材と
を備えるICカード。
【請求項12】
ICカード用ICモジュールに実行させるICカードのプログラムであって、
請求項1から請求項10までのいずれか1項に記載のICカード用ICモジュールの各手段の機能を実行するための手順を備えていること
を特徴とするICカードのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−150730(P2011−150730A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2011−96132(P2011−96132)
【出願日】平成23年4月22日(2011.4.22)
【分割の表示】特願2005−163532(P2005−163532)の分割
【原出願日】平成17年6月3日(2005.6.3)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】