通信媒体、ICカード、コマンド実行方法
【課題】柔軟なコマンド処理を実行することができる通信媒体を提供することである。
【解決手段】通信媒体は、記憶手段と、受信手段と、実行手段とを備える。前記記憶手段は、ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する。前記受信手段は、前記コマンドを受信する。前記実行手段は、前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する。
【解決手段】通信媒体は、記憶手段と、受信手段と、実行手段とを備える。前記記憶手段は、ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する。前記受信手段は、前記コマンドを受信する。前記実行手段は、前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信媒体、ICカード、及びコマンド実行方法に関する。
【背景技術】
【0002】
近年、ICカードと称される携帯可能電子装置(通信媒体)の普及が目覚ましい。例えば、ICカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使用されている。
【0003】
ICカードは、データの書き込み、書き換え可能な不揮発性のデータメモリ及びCPUなどの制御素子を有するIC(集積回路)チップを内蔵する。また、ICカードリーダライタ等のICカード処理装置は、ICカードに対してリードコマンドを送信しICカードからデータを読み出したり、ICカードに対してライトコマンドを送信しICカードに対してデータを書き込んだりする。
【0004】
ICカードは、想定される多数の機能に対応するためのコマンド処理をサポートするように構成される。ICカード処理装置は、ICカードに対してコマンドを送信し、ICカードは、コマンドを受信し、コマンドのパラメータによるオプション選択により、コマンド処理を選択する。
【0005】
ICカードは、上記したように構成されるため、コマンドにより誤った指定がなされた場合、ICカードは、指定された通りに、誤ったコマンド処理を実行してしまうことがある。また、ICカードは、上記したように構成されているため、特定のアプリケーションにおいては、不要な機能までサポートしていることになり、特定のアプリケーションの処理負荷が重くなることがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−132315号公報
【特許文献2】特開2002−49904号公報
【特許文献3】特許第3899223号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、柔軟なコマンド処理を実行することができる通信媒体、ICカード、コマンド実行方法を提供することである。
【課題を解決するための手段】
【0008】
実施形態の通信媒体は、記憶手段と、受信手段と、実行手段とを備える。前記記憶手段は、ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する。前記受信手段は、前記コマンドを受信する。前記実行手段は、前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する。
【図面の簡単な説明】
【0009】
【図1】実施形態に係るICカードシステムの概略構成の一例を示す図である。
【図2】実施形態に係るICカードの概略構成の一例を示す図である。
【図3】実施形態に係るICカードのデータメモリのデータ構造の一例を示す図である。
【図4】実施形態に係るファイル創生コマンドのフォーマットの一例を示す。
【図5】実施形態に係るCommand data field (Data)に格納されるデータの一例を示す図である。
【図6】実施形態に係る読み出しコマンドのフォーマットの一例を示す図である。
【図7】実施形態に係るプログラムメモリに格納される各プログラムコードの一例を示す図である。
【図8】実施形態に係るファイル創生コマンドのコマンド処理の一例を示すフローチャートである。
【図9】実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。
【図10】実施形態に係るプログラムコード或いは設定値を変更、削除するための修正コマンドの一例を示す図である。
【図11】実施形態に係る修正コマンドのCommand data field (Data)に格納されるデータの一例を示す図である。
【図12】実施形態に係るデータメモリのデータ構造の一例を示す図である。
【図13】実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施形態について図面を参照して説明する。
【0011】
図1は、実施形態に係るICカードシステム(別称、スマートカードシステム)の概略構成の一例を示す図である。図1に示すように、ICカードシステムは、ICカード(通信媒体)101、カードリーダ・ライタ102、端末103、キーボード104、ディスプレイ105、プリンタ106を備える。ICカード101は、カードリーダ/ライタ102を介して、端末103と接続可能に構成されている。端末103は、キーボード104、ディスプレイ105、プリンタ106と接続する。これにより、端末1は、カードリーダ・ライタ102を介して、ICカード101と通信可能となり、端末1(カードリーダ・ライタ102)は、ICカード101に対してデータを送信したり、ICカード101からのデータを受信したりすることができる。
【0012】
図2は、実施形態に係るICカード101の概略構成の一例を示す図である。図2に示すように、ICカード101は、プラスチック等のカード本体により構成され、1以上のICチップ200(ICモジュール)を備える。例えば、1以上のICチップ200は、ICカード101のカード本体に埋設されている。1以上のICチップ200が、制御素子201、データメモリ(不揮発性メモリ)202、ワーキングメモリ203、プログラムメモリ204、通信部205、アドレス監視回路206を備えている。
【0013】
制御素子201は、例えば、CPU等の制御素子により構成され、コマンドに対応する処理を実行する実行手段として機能する。つまり、制御素子201は、端末1(カードリーダ・ライタ102)から送信されるコマンドを解釈し、コマンドに対応する処理を実行したり、端末2に対してコマンド実行結果(応答)の返信を制御したりする。データメモリ202は、記憶内容が消去可能な不揮発性のデータメモリであり、各種データの記憶に使用され、例えばEEPROMで構成されている。ワーキングメモリ203は、制御素子201により処理されるデータ及び処理されたデータを一時的に保持するためのメモリであり、例えばRAMで構成される。プログラムメモリ204は、例えばマスクROMで構成され、制御素子201のプログラムなどを記憶する。通信部205は、カード本体の表面に配置された端子、及びカード本体の内部に埋設されたアンテナのうちの少なくとも一方を含み、端子又はアンテナを介してカードリーダ・ライタ102と通信する。
【0014】
図3は、実施形態に係るICカード101のデータメモリ202のデータ構造の一例を示す図である。ここでは、データメモリ202は、ファイルを制御するために使用される定義情報を格納するための定義情報領域を含む。例えば、上記ファイルは、アプリケーションを実行するためのファイルである。定義情報は、EF(Elementary File)識別情報302、EF−ID303、データアドレス304、データサイズ305、プログラムアドレス306、プログラムサイズ307を含む。
【0015】
また、データメモリ202は、EFのデータ本体(ファイル)が格納されるデータ領域308を含む。なお、本実施形態では、EFを例に挙げて説明するが、EFに替えてDF(Dedicated File)であってもかまわない。また、データメモリ202は、プログラム領域309を含む。プログラム領域309は、プログラムコードを格納する。このプログラムコードは、EFを参照するコマンド処理を実行する前に、実行するプログラムコードである。
【0016】
定義情報領域について説明する。EF識別情報302は、EFであることを識別するための情報である。EF−ID303は、外部からEFを参照する際に使用するEFの識別情報である。データアドレス304は、データ領域308の先頭アドレスを示す。データサイズ305は、データ領域308のサイズを示す情報である。プログラムアドレス306は、プログラム領域309の先頭アドレスを示す。プログラムサイズ307は、プログラム領域309のサイズを示す情報である。プログラム領域の先頭アドレスが、未設定である場合、すなわち、プログラムアドレス306が‘FFFFFFFF’を示す場合、プログラム領域309が設定されていないことを示す。また、プログラムサイズ307が‘0000’を示す場合、プログラム領域309にプログラムが設定されていないことを示す。上記二つのケースでは、何れも、プログラム領域309にプログラムが設定されていないものとして、処理される。
【0017】
図4は、実施形態に係るファイル創生コマンドのフォーマットの一例を示す。図4に示すように、ファイル創生コマンドは、ISO/IEC 7816-4のClass byte(CLA)401、ISO/IEC 7816-4のInstruction byte (INS)402、ISO/IEC 7816-4のParameter byte (P1)403、ISO/IEC 7816-4のParameter byte (P2)404、ISO/IEC 7816-4のLc field(Lc)405、ISO/IEC 7816-4のCommand data field (Data)406を含む。
【0018】
図5は、実施形態に係るCommand data field (Data)406に格納されるデータの一例を示す図である。図5に示すように、例えば、Command data field (Data)406は、ファイル創生情報503及びプログラム情報506を含む。さらに詳しく説明すると、Command data field (Data)406は、ファイル創生情報503を識別するためのTag501、ファイル創生情報503の長さを示す情報Len502、及びファイル創生情報503を含み、さらに、プログラム情報506を識別するためのTag504、プログラム情報506の長さを示す情報Len505、及びプログラム情報506を含む。
【0019】
ファイル創生情報503は、EF識別情報302、EF−ID303、EF−ID303、データアドレス304、データサイズ305、プログラムアドレス306、プログラムサイズ307などの定義情報領域に格納される情報を含む。プログラム情報506は、プログラム領域に格納するためのプログラムコードを含む。プログラム情報506は、プログラムではなく、設定値を含むこともある。
【0020】
図6は、実施形態に係る読み出しコマンドのフォーマットの一例を示す図である。図6に示すように、読み出しコマンドは、ISO/IEC 7816-4のClass byte(CLA)601、ISO/IEC 7816-4のInstruction byte (INS)602、ISO/IEC 7816-4のParameter byte (P1)603、ISO/IEC 7816-4のParameter byte (P2)604、ISO/IEC 7816-4のLe field(Le)605を含む。
【0021】
図7は、実施形態に係るプログラムメモリ204に格納される各プログラムコードの一例を示す図である。図7に示すように、プログラムメモリ204は、ファイル創生コマンドのプログラムコード702、読み出しコマンドのプログラムコード(コマンド実行情報)703を含む。
【0022】
図8は、実施形態に係るファイル創生コマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からのファイル創生コマンドを受信し、制御素子201は、ファイル創生コマンドのコマンド処理を開始する(ST801)。
【0023】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST802)。つまり、制御素子201は、ファイル創生コマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST802)。
【0024】
P1、P2の値が正しければ(ST802、YES)、さらに制御素子201は、データフォーマットチェック処理を実行する(ST803)。つまり、制御素子201は、図5に示すTag501、Len502、Tag504、Len505が正しいか否かをチェックする。
【0025】
Tag501、Len502、Tag504、Len505が正しければ(ST803、YES)、さらに制御素子201は、ファイル創生情報チェック処理を実行する(ST804)。つまり、制御素子201は、ファイル創生情報503に含まれたEF識別情報、EF−IDの妥当性をチェックする。
【0026】
制御素子201が、パラメータチェック処理、データフォーマットチェック処理、ファイル創生情報チェックの何れかにおいて異常を検出すると(ST802、NO)(ST803、NO)(ST804、NO)、異常終了応答を実行する(ST809)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0027】
ファイル創生情報503に含まれたEF識別情報、EF−IDの妥当性が確認されれば(ST804、YES)、制御素子201は、ファイル創生情報503を定義情報領域に格納するために、ファイル創生情報503の形式変換処理を実行する(ST805)。さらに、制御素子201は、形式変換処理されたファイル創生情報503(つまり定義情報)を定義情報領域に書き込む(ST806)。さらに制御素子201は、プログラム情報506をプログラム領域309へ書き込む(ST807)。そして、制御素子201は、正常終了処理を実行する(ST808)。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、ファイル創生コマンドのコマンド処理を終了する(ST810)。
【0028】
図9は、実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からの読み出しコマンドを受信し、制御素子201は、読み出しコマンドのコマンド処理を開始する(ST901)。
【0029】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST902)。つまり、制御素子201は、読み出しコマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST902)。P1、P2の値が正しければ(ST902、YES)、さらに制御素子201は、定義情報取得処理を実行する(ST903)。例えば、読み出しコマンドは、EF−IDを含み、制御素子201は、読み出しコマンドに含まれたEF−IDに基づき、データメモリ202に記憶された定義情報を取得する。つまり、制御素子201は、読み出しコマンドに含まれたEF−IDと同じEF−IDを含む定義情報を取得する。
【0030】
なお、制御素子201が、パラメータチェック処理、定義情報取得処理の何れかにおいて異常を検出すると(ST902、NO)(ST903、NO)、異常終了応答を実行する(ST908)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0031】
異常が検出されなければ(ST902、YES)(ST903、YES)、制御素子201は、定義情報中のプログラムアドレス306をチェックする(ST904)。プログラムアドレス306が、‘FFFFFFFF’を示す場合(ST904、YES)、制御素子201は、EF毎に設定されるプログラムが存在しない(未登録)と判定し、プログラムメモリ204内の読み出しコマンドプログラムコード(コマンド実行情報)703に基づくコマンド処理を実行する(ST907)。
【0032】
プログラムアドレス306が、‘FFFFFFFF’以外を示す場合(ST904、NO)、制御素子201は、定義情報中のプログラムサイズ307をチェックする(ST905)。プログラムサイズ307が‘0000’以外を示す場合(ST905、NO)、制御素子201は、プログラム領域309にプログラムが存在する(登録済み)と判定し、プログラム領域309に格納されたプログラムを実行する(ST906)。
【0033】
制御素子201は、プログラム領域309に格納されたプログラムの実行後、プログラムメモリ204内のコマンド処理を実行する(ST907)。そして、制御素子201は、正常終了応答を実行する。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、読み出しコマンドのコマンド処理を終了する(ST910)。
【0034】
図10は、実施形態に係るプログラムコード或いは設定値を変更、削除するための修正コマンド(変更コマンド)の一例を示す図である。図10に示すように、修正コマンドは、ISO/IEC 7816-4のClass byte(CLA)1001、ISO/IEC 7816-4のInstruction byte (INS)1002、ISO/IEC 7816-4のParameter byte (P1)1003、ISO/IEC 7816-4のParameter byte (P2)1004、ISO/IEC 7816-4のLc field(Lc)1005、ISO/IEC 7816-4のCommand data field (Data)1006を含む。
【0035】
図11は、実施形態に係る修正コマンドのCommand data field (Data)1006に格納されるデータの一例を示す図である。図11に示すように、Command data field (Data)1006は、更新プログラム情報1103を識別するためのTag1101、更新プログラム情報1103の長さを示す情報Len1102、更新プログラム情報1103を含む。更新プログラム情報1103は、プログラム領域309に格納されるプログラムコード(更新用のプログラムコード)を含む。この更新プログラム情報1103は、プログラムコードではなく、設定値(更新用の設定値)を含むこともある。
【0036】
ICカード101の通信部205が、上記修正コマンドを受信すると、制御素子201は、修正コマンドを解釈し、修正コマンドに含まれた更新プログラム情報1103に含まれたプログラムコード(更新用のプログラムコード)を、プログラム領域309に書き込み、プログラム領域309のプログラムコードを更新(変更)する。これにより、ICカード101は、プログラム領域309のプログラムコードを更新することができ、更新されたプログラムコードを実行することができる。
【0037】
また、修正コマンドが、ISO/IEC 7816-4のLc field(Lc)1005、及びISO/IEC 7816-4のCommand data field (Data)1006を含まない場合、修正コマンドは、プログラム領域309に格納されているプログラムコードあるいは設定値を削除する。
【0038】
ICカード101の通信部205が、上記修正コマンドを受信すると、制御素子201は、修正コマンドを解釈し、修正コマンドにISO/IEC 7816-4のLc field(Lc)1005、及びISO/IEC 7816-4のCommand data field (Data)1006が含まれていなければ、制御素子201は、プログラム領域309のプログラムコードあるいは設定値を削除する。これにより、ICカード101は、プログラム領域309のプログラムコードあるいは設定値を削除することができる。つまり、ICカード101は、不要になったプログラムコードに基づく処理を省略することができる。
【0039】
図12は、実施形態に係るデータメモリ202のデータ構造の一例を示す図である。図12に示すように、データメモリ202は、ファイルを制御するために使用される定義情報領域を含む。定義情報領域は、EF(Elementary File)識別情報1202、EF−ID1203、データアドレス1204、データサイズ1205、設定値アドレス1206、設定値サイズ1207を含む。
【0040】
また、データメモリ202は、EFのデータ本体が格納されるデータ領域1208を含む。なお、本実施形態では、EFを例に挙げて説明するが、EFに替えてDF(Dedicated File)であってもかまわない。また、データメモリ202は、設定値領域1209を含む。設定値領域1209は、プログラムコードを格納する。このプログラムコードは、EFを参照するコマンド処理を実行する前に、実行するプログラムコードである。
【0041】
定義情報領域について説明する。EF識別情報1202は、EFであることを識別するための情報である。EF−ID1203は、外部からEFを参照する際に使用するEFの識別情報である。データアドレス1204は、データ領域1208の先頭アドレスを示す。データサイズ1205は、データ領域1208のサイズを示す情報である。設定値アドレス1206は、設定値領域1209の先頭アドレスを示す。設定値サイズ1207は、設定値領域1209のサイズを示す情報である。設定値領域の先頭アドレスが、未設定である場合、すなわち、設定値アドレス1206が‘FFFFFFFF’を示す場合、設定値領域1209が設定されていないことを示す。また、設定値サイズ1207が‘0000’を示す場合、設定値領域1209に設定値が設定されていないことを示す。上記二つのケースでは、いずれも、設定値領域1209に設定値が設定されていないものとして、処理される。
【0042】
図13は、実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からの読み出しコマンドを受信し、制御素子201は、読み出しコマンドのコマンド処理を開始する(ST1301)。
【0043】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST1302)。つまり、制御素子201は、読み出しコマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST1302)。P1、P2の値が正しければ(ST1302、YES)、さらに制御素子201は、定義情報取得処理を実行する(ST1303)。
【0044】
なお、制御素子201が、パラメータチェック処理、定義情報取得処理の何れかにおいて異常を検出すると(ST1302、NO)(ST1303、NO)、異常終了応答を実行する(ST1308)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0045】
異常が検出されなければ(ST1302、YES)(ST1303、YES)、制御素子201は、定義情報中の設定値アドレス1206をチェックする(ST1304)。設定値アドレス1206が、‘FFFFFFFF’を示す場合(ST1304、YES)、制御素子201は、EF毎に設定される設定値が存在しないと判定し、プログラムメモリ204内の読み出しコマンドプログラムコード(コマンド実行情報)703に基づくコマンド処理を実行する(ST1307)。
【0046】
設定値アドレス1206が、‘FFFFFFFF’以外を示す場合(ST1304、NO)、制御素子201は、定義情報中の設定値サイズ1307をチェックする(ST1305)。設定値サイズ1207が‘0000’以外を示す場合(ST1305、NO)、制御素子201は、設定値領域1209に設定値が存在すると判定し、設定値領域1209に格納された設定値を参照してプログラムメモリ204内のコマンド処理を実行する(ST1306)。
【0047】
制御素子201は、設定値領域1209に格納された設定値を参照したコマンド処理の実行後、プログラムメモリ204内のコマンド処理を実行する(ST1307)。そして、制御素子201は、正常終了応答を実行する。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、読み出しコマンドのコマンド処理を終了する(ST1310)。
【0048】
以下、上記説明した本実施形態についてまとめる。
【0049】
外部からの指示を解釈し、実行し、その結果を返信するICカード101は、ICカード101の内部のアプリケーション毎あるいはファイル毎に、これらを操作するコマンド処理の一部を関連付けて登録し、前記コマンドの実行中に、登録されたコマンド処理の一部を呼び出して実行する。
【0050】
さらにICカード101は、コマンド処理の一部が未登録の場合は、既定の処理(コマンド処理)を実行する。
【0051】
また、ICカード101は、ICカード101の内部のアプリケーション毎あるいはファイル毎に、これらを操作するコマンド処理の一部が、手続きではなく、参照数値で構成され、前記コマンドの実行中に上記参照数値を参照し、コマンド処理の一部を呼び出して実行する。
【0052】
また、ICカード101は、関連付けて登録可能なコマンド処理の一部、あるいは数値で構成される参照の対象は、専用コマンドで登録・変更・削除可能である。
【0053】
以上により、ICカード101は、コマンド処理において、アプリケーション毎あるいはファイル毎に、同じコマンドであっても、コマンド処理を追加、変更できる。つまり、EF単位で、コマンド処理を追加、変更することができるため、EF毎に異なるコマンド処理を容易に実装できる。その結果として、不必要な処理まで、あらかじめ作り込んでおく必要がなくなり、必要最小限のコマンド処理を実装可能とする。すべてのオプション機能を作り込む必要がなくなるので、例えば、誤った指定をした場合に、処理を中断することが可能となる。さらに、特定のアプリケーションにおいては、不必要なオプション選択のための処理が不要になるため、処理の効率化が図れる。
【0054】
なお、上記したモジュールとは、ハードウェアで実現するものであっても良いし、CPU等を使ってソフトウェアで実現するものであってもよい。
【0055】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0056】
101…ICカード(通信媒体)、102…カードリーダ・ライタ、103…端末、104…キーボード、105…ディスプレイ、106…プリンタ、200…ICチップ、201…制御素子、202…データメモリ(不揮発性メモリ)、203…ワーキングメモリ、204…プログラムメモリ、205…通信部、206…アドレス監視回路
【技術分野】
【0001】
本発明の実施形態は、通信媒体、ICカード、及びコマンド実行方法に関する。
【背景技術】
【0002】
近年、ICカードと称される携帯可能電子装置(通信媒体)の普及が目覚ましい。例えば、ICカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使用されている。
【0003】
ICカードは、データの書き込み、書き換え可能な不揮発性のデータメモリ及びCPUなどの制御素子を有するIC(集積回路)チップを内蔵する。また、ICカードリーダライタ等のICカード処理装置は、ICカードに対してリードコマンドを送信しICカードからデータを読み出したり、ICカードに対してライトコマンドを送信しICカードに対してデータを書き込んだりする。
【0004】
ICカードは、想定される多数の機能に対応するためのコマンド処理をサポートするように構成される。ICカード処理装置は、ICカードに対してコマンドを送信し、ICカードは、コマンドを受信し、コマンドのパラメータによるオプション選択により、コマンド処理を選択する。
【0005】
ICカードは、上記したように構成されるため、コマンドにより誤った指定がなされた場合、ICカードは、指定された通りに、誤ったコマンド処理を実行してしまうことがある。また、ICカードは、上記したように構成されているため、特定のアプリケーションにおいては、不要な機能までサポートしていることになり、特定のアプリケーションの処理負荷が重くなることがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−132315号公報
【特許文献2】特開2002−49904号公報
【特許文献3】特許第3899223号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、柔軟なコマンド処理を実行することができる通信媒体、ICカード、コマンド実行方法を提供することである。
【課題を解決するための手段】
【0008】
実施形態の通信媒体は、記憶手段と、受信手段と、実行手段とを備える。前記記憶手段は、ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する。前記受信手段は、前記コマンドを受信する。前記実行手段は、前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する。
【図面の簡単な説明】
【0009】
【図1】実施形態に係るICカードシステムの概略構成の一例を示す図である。
【図2】実施形態に係るICカードの概略構成の一例を示す図である。
【図3】実施形態に係るICカードのデータメモリのデータ構造の一例を示す図である。
【図4】実施形態に係るファイル創生コマンドのフォーマットの一例を示す。
【図5】実施形態に係るCommand data field (Data)に格納されるデータの一例を示す図である。
【図6】実施形態に係る読み出しコマンドのフォーマットの一例を示す図である。
【図7】実施形態に係るプログラムメモリに格納される各プログラムコードの一例を示す図である。
【図8】実施形態に係るファイル創生コマンドのコマンド処理の一例を示すフローチャートである。
【図9】実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。
【図10】実施形態に係るプログラムコード或いは設定値を変更、削除するための修正コマンドの一例を示す図である。
【図11】実施形態に係る修正コマンドのCommand data field (Data)に格納されるデータの一例を示す図である。
【図12】実施形態に係るデータメモリのデータ構造の一例を示す図である。
【図13】実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施形態について図面を参照して説明する。
【0011】
図1は、実施形態に係るICカードシステム(別称、スマートカードシステム)の概略構成の一例を示す図である。図1に示すように、ICカードシステムは、ICカード(通信媒体)101、カードリーダ・ライタ102、端末103、キーボード104、ディスプレイ105、プリンタ106を備える。ICカード101は、カードリーダ/ライタ102を介して、端末103と接続可能に構成されている。端末103は、キーボード104、ディスプレイ105、プリンタ106と接続する。これにより、端末1は、カードリーダ・ライタ102を介して、ICカード101と通信可能となり、端末1(カードリーダ・ライタ102)は、ICカード101に対してデータを送信したり、ICカード101からのデータを受信したりすることができる。
【0012】
図2は、実施形態に係るICカード101の概略構成の一例を示す図である。図2に示すように、ICカード101は、プラスチック等のカード本体により構成され、1以上のICチップ200(ICモジュール)を備える。例えば、1以上のICチップ200は、ICカード101のカード本体に埋設されている。1以上のICチップ200が、制御素子201、データメモリ(不揮発性メモリ)202、ワーキングメモリ203、プログラムメモリ204、通信部205、アドレス監視回路206を備えている。
【0013】
制御素子201は、例えば、CPU等の制御素子により構成され、コマンドに対応する処理を実行する実行手段として機能する。つまり、制御素子201は、端末1(カードリーダ・ライタ102)から送信されるコマンドを解釈し、コマンドに対応する処理を実行したり、端末2に対してコマンド実行結果(応答)の返信を制御したりする。データメモリ202は、記憶内容が消去可能な不揮発性のデータメモリであり、各種データの記憶に使用され、例えばEEPROMで構成されている。ワーキングメモリ203は、制御素子201により処理されるデータ及び処理されたデータを一時的に保持するためのメモリであり、例えばRAMで構成される。プログラムメモリ204は、例えばマスクROMで構成され、制御素子201のプログラムなどを記憶する。通信部205は、カード本体の表面に配置された端子、及びカード本体の内部に埋設されたアンテナのうちの少なくとも一方を含み、端子又はアンテナを介してカードリーダ・ライタ102と通信する。
【0014】
図3は、実施形態に係るICカード101のデータメモリ202のデータ構造の一例を示す図である。ここでは、データメモリ202は、ファイルを制御するために使用される定義情報を格納するための定義情報領域を含む。例えば、上記ファイルは、アプリケーションを実行するためのファイルである。定義情報は、EF(Elementary File)識別情報302、EF−ID303、データアドレス304、データサイズ305、プログラムアドレス306、プログラムサイズ307を含む。
【0015】
また、データメモリ202は、EFのデータ本体(ファイル)が格納されるデータ領域308を含む。なお、本実施形態では、EFを例に挙げて説明するが、EFに替えてDF(Dedicated File)であってもかまわない。また、データメモリ202は、プログラム領域309を含む。プログラム領域309は、プログラムコードを格納する。このプログラムコードは、EFを参照するコマンド処理を実行する前に、実行するプログラムコードである。
【0016】
定義情報領域について説明する。EF識別情報302は、EFであることを識別するための情報である。EF−ID303は、外部からEFを参照する際に使用するEFの識別情報である。データアドレス304は、データ領域308の先頭アドレスを示す。データサイズ305は、データ領域308のサイズを示す情報である。プログラムアドレス306は、プログラム領域309の先頭アドレスを示す。プログラムサイズ307は、プログラム領域309のサイズを示す情報である。プログラム領域の先頭アドレスが、未設定である場合、すなわち、プログラムアドレス306が‘FFFFFFFF’を示す場合、プログラム領域309が設定されていないことを示す。また、プログラムサイズ307が‘0000’を示す場合、プログラム領域309にプログラムが設定されていないことを示す。上記二つのケースでは、何れも、プログラム領域309にプログラムが設定されていないものとして、処理される。
【0017】
図4は、実施形態に係るファイル創生コマンドのフォーマットの一例を示す。図4に示すように、ファイル創生コマンドは、ISO/IEC 7816-4のClass byte(CLA)401、ISO/IEC 7816-4のInstruction byte (INS)402、ISO/IEC 7816-4のParameter byte (P1)403、ISO/IEC 7816-4のParameter byte (P2)404、ISO/IEC 7816-4のLc field(Lc)405、ISO/IEC 7816-4のCommand data field (Data)406を含む。
【0018】
図5は、実施形態に係るCommand data field (Data)406に格納されるデータの一例を示す図である。図5に示すように、例えば、Command data field (Data)406は、ファイル創生情報503及びプログラム情報506を含む。さらに詳しく説明すると、Command data field (Data)406は、ファイル創生情報503を識別するためのTag501、ファイル創生情報503の長さを示す情報Len502、及びファイル創生情報503を含み、さらに、プログラム情報506を識別するためのTag504、プログラム情報506の長さを示す情報Len505、及びプログラム情報506を含む。
【0019】
ファイル創生情報503は、EF識別情報302、EF−ID303、EF−ID303、データアドレス304、データサイズ305、プログラムアドレス306、プログラムサイズ307などの定義情報領域に格納される情報を含む。プログラム情報506は、プログラム領域に格納するためのプログラムコードを含む。プログラム情報506は、プログラムではなく、設定値を含むこともある。
【0020】
図6は、実施形態に係る読み出しコマンドのフォーマットの一例を示す図である。図6に示すように、読み出しコマンドは、ISO/IEC 7816-4のClass byte(CLA)601、ISO/IEC 7816-4のInstruction byte (INS)602、ISO/IEC 7816-4のParameter byte (P1)603、ISO/IEC 7816-4のParameter byte (P2)604、ISO/IEC 7816-4のLe field(Le)605を含む。
【0021】
図7は、実施形態に係るプログラムメモリ204に格納される各プログラムコードの一例を示す図である。図7に示すように、プログラムメモリ204は、ファイル創生コマンドのプログラムコード702、読み出しコマンドのプログラムコード(コマンド実行情報)703を含む。
【0022】
図8は、実施形態に係るファイル創生コマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からのファイル創生コマンドを受信し、制御素子201は、ファイル創生コマンドのコマンド処理を開始する(ST801)。
【0023】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST802)。つまり、制御素子201は、ファイル創生コマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST802)。
【0024】
P1、P2の値が正しければ(ST802、YES)、さらに制御素子201は、データフォーマットチェック処理を実行する(ST803)。つまり、制御素子201は、図5に示すTag501、Len502、Tag504、Len505が正しいか否かをチェックする。
【0025】
Tag501、Len502、Tag504、Len505が正しければ(ST803、YES)、さらに制御素子201は、ファイル創生情報チェック処理を実行する(ST804)。つまり、制御素子201は、ファイル創生情報503に含まれたEF識別情報、EF−IDの妥当性をチェックする。
【0026】
制御素子201が、パラメータチェック処理、データフォーマットチェック処理、ファイル創生情報チェックの何れかにおいて異常を検出すると(ST802、NO)(ST803、NO)(ST804、NO)、異常終了応答を実行する(ST809)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0027】
ファイル創生情報503に含まれたEF識別情報、EF−IDの妥当性が確認されれば(ST804、YES)、制御素子201は、ファイル創生情報503を定義情報領域に格納するために、ファイル創生情報503の形式変換処理を実行する(ST805)。さらに、制御素子201は、形式変換処理されたファイル創生情報503(つまり定義情報)を定義情報領域に書き込む(ST806)。さらに制御素子201は、プログラム情報506をプログラム領域309へ書き込む(ST807)。そして、制御素子201は、正常終了処理を実行する(ST808)。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、ファイル創生コマンドのコマンド処理を終了する(ST810)。
【0028】
図9は、実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からの読み出しコマンドを受信し、制御素子201は、読み出しコマンドのコマンド処理を開始する(ST901)。
【0029】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST902)。つまり、制御素子201は、読み出しコマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST902)。P1、P2の値が正しければ(ST902、YES)、さらに制御素子201は、定義情報取得処理を実行する(ST903)。例えば、読み出しコマンドは、EF−IDを含み、制御素子201は、読み出しコマンドに含まれたEF−IDに基づき、データメモリ202に記憶された定義情報を取得する。つまり、制御素子201は、読み出しコマンドに含まれたEF−IDと同じEF−IDを含む定義情報を取得する。
【0030】
なお、制御素子201が、パラメータチェック処理、定義情報取得処理の何れかにおいて異常を検出すると(ST902、NO)(ST903、NO)、異常終了応答を実行する(ST908)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0031】
異常が検出されなければ(ST902、YES)(ST903、YES)、制御素子201は、定義情報中のプログラムアドレス306をチェックする(ST904)。プログラムアドレス306が、‘FFFFFFFF’を示す場合(ST904、YES)、制御素子201は、EF毎に設定されるプログラムが存在しない(未登録)と判定し、プログラムメモリ204内の読み出しコマンドプログラムコード(コマンド実行情報)703に基づくコマンド処理を実行する(ST907)。
【0032】
プログラムアドレス306が、‘FFFFFFFF’以外を示す場合(ST904、NO)、制御素子201は、定義情報中のプログラムサイズ307をチェックする(ST905)。プログラムサイズ307が‘0000’以外を示す場合(ST905、NO)、制御素子201は、プログラム領域309にプログラムが存在する(登録済み)と判定し、プログラム領域309に格納されたプログラムを実行する(ST906)。
【0033】
制御素子201は、プログラム領域309に格納されたプログラムの実行後、プログラムメモリ204内のコマンド処理を実行する(ST907)。そして、制御素子201は、正常終了応答を実行する。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、読み出しコマンドのコマンド処理を終了する(ST910)。
【0034】
図10は、実施形態に係るプログラムコード或いは設定値を変更、削除するための修正コマンド(変更コマンド)の一例を示す図である。図10に示すように、修正コマンドは、ISO/IEC 7816-4のClass byte(CLA)1001、ISO/IEC 7816-4のInstruction byte (INS)1002、ISO/IEC 7816-4のParameter byte (P1)1003、ISO/IEC 7816-4のParameter byte (P2)1004、ISO/IEC 7816-4のLc field(Lc)1005、ISO/IEC 7816-4のCommand data field (Data)1006を含む。
【0035】
図11は、実施形態に係る修正コマンドのCommand data field (Data)1006に格納されるデータの一例を示す図である。図11に示すように、Command data field (Data)1006は、更新プログラム情報1103を識別するためのTag1101、更新プログラム情報1103の長さを示す情報Len1102、更新プログラム情報1103を含む。更新プログラム情報1103は、プログラム領域309に格納されるプログラムコード(更新用のプログラムコード)を含む。この更新プログラム情報1103は、プログラムコードではなく、設定値(更新用の設定値)を含むこともある。
【0036】
ICカード101の通信部205が、上記修正コマンドを受信すると、制御素子201は、修正コマンドを解釈し、修正コマンドに含まれた更新プログラム情報1103に含まれたプログラムコード(更新用のプログラムコード)を、プログラム領域309に書き込み、プログラム領域309のプログラムコードを更新(変更)する。これにより、ICカード101は、プログラム領域309のプログラムコードを更新することができ、更新されたプログラムコードを実行することができる。
【0037】
また、修正コマンドが、ISO/IEC 7816-4のLc field(Lc)1005、及びISO/IEC 7816-4のCommand data field (Data)1006を含まない場合、修正コマンドは、プログラム領域309に格納されているプログラムコードあるいは設定値を削除する。
【0038】
ICカード101の通信部205が、上記修正コマンドを受信すると、制御素子201は、修正コマンドを解釈し、修正コマンドにISO/IEC 7816-4のLc field(Lc)1005、及びISO/IEC 7816-4のCommand data field (Data)1006が含まれていなければ、制御素子201は、プログラム領域309のプログラムコードあるいは設定値を削除する。これにより、ICカード101は、プログラム領域309のプログラムコードあるいは設定値を削除することができる。つまり、ICカード101は、不要になったプログラムコードに基づく処理を省略することができる。
【0039】
図12は、実施形態に係るデータメモリ202のデータ構造の一例を示す図である。図12に示すように、データメモリ202は、ファイルを制御するために使用される定義情報領域を含む。定義情報領域は、EF(Elementary File)識別情報1202、EF−ID1203、データアドレス1204、データサイズ1205、設定値アドレス1206、設定値サイズ1207を含む。
【0040】
また、データメモリ202は、EFのデータ本体が格納されるデータ領域1208を含む。なお、本実施形態では、EFを例に挙げて説明するが、EFに替えてDF(Dedicated File)であってもかまわない。また、データメモリ202は、設定値領域1209を含む。設定値領域1209は、プログラムコードを格納する。このプログラムコードは、EFを参照するコマンド処理を実行する前に、実行するプログラムコードである。
【0041】
定義情報領域について説明する。EF識別情報1202は、EFであることを識別するための情報である。EF−ID1203は、外部からEFを参照する際に使用するEFの識別情報である。データアドレス1204は、データ領域1208の先頭アドレスを示す。データサイズ1205は、データ領域1208のサイズを示す情報である。設定値アドレス1206は、設定値領域1209の先頭アドレスを示す。設定値サイズ1207は、設定値領域1209のサイズを示す情報である。設定値領域の先頭アドレスが、未設定である場合、すなわち、設定値アドレス1206が‘FFFFFFFF’を示す場合、設定値領域1209が設定されていないことを示す。また、設定値サイズ1207が‘0000’を示す場合、設定値領域1209に設定値が設定されていないことを示す。上記二つのケースでは、いずれも、設定値領域1209に設定値が設定されていないものとして、処理される。
【0042】
図13は、実施形態に係る読み出しコマンドのコマンド処理の一例を示すフローチャートである。ICカード101通信部205は、端末1(カードリーダ・ライタ102)からの読み出しコマンドを受信し、制御素子201は、読み出しコマンドのコマンド処理を開始する(ST1301)。
【0043】
例えば、最初に、制御素子201は、パラメータチェック処理を実行する(ST1302)。つまり、制御素子201は、読み出しコマンドに含まれたP1、P2の値が正しいかどうかをチェックする(ST1302)。P1、P2の値が正しければ(ST1302、YES)、さらに制御素子201は、定義情報取得処理を実行する(ST1303)。
【0044】
なお、制御素子201が、パラメータチェック処理、定義情報取得処理の何れかにおいて異常を検出すると(ST1302、NO)(ST1303、NO)、異常終了応答を実行する(ST1308)。例えば、制御素子201は、異常終了応答の実行に対応して、ISO/IEC 7816-4のstatus bytesでエラーを出力する。
【0045】
異常が検出されなければ(ST1302、YES)(ST1303、YES)、制御素子201は、定義情報中の設定値アドレス1206をチェックする(ST1304)。設定値アドレス1206が、‘FFFFFFFF’を示す場合(ST1304、YES)、制御素子201は、EF毎に設定される設定値が存在しないと判定し、プログラムメモリ204内の読み出しコマンドプログラムコード(コマンド実行情報)703に基づくコマンド処理を実行する(ST1307)。
【0046】
設定値アドレス1206が、‘FFFFFFFF’以外を示す場合(ST1304、NO)、制御素子201は、定義情報中の設定値サイズ1307をチェックする(ST1305)。設定値サイズ1207が‘0000’以外を示す場合(ST1305、NO)、制御素子201は、設定値領域1209に設定値が存在すると判定し、設定値領域1209に格納された設定値を参照してプログラムメモリ204内のコマンド処理を実行する(ST1306)。
【0047】
制御素子201は、設定値領域1209に格納された設定値を参照したコマンド処理の実行後、プログラムメモリ204内のコマンド処理を実行する(ST1307)。そして、制御素子201は、正常終了応答を実行する。例えば、制御素子は、正常終了処理の実行に対応して、ISO/IEC 7816-4のstatus bytesを出力する。以上で、制御素子201は、読み出しコマンドのコマンド処理を終了する(ST1310)。
【0048】
以下、上記説明した本実施形態についてまとめる。
【0049】
外部からの指示を解釈し、実行し、その結果を返信するICカード101は、ICカード101の内部のアプリケーション毎あるいはファイル毎に、これらを操作するコマンド処理の一部を関連付けて登録し、前記コマンドの実行中に、登録されたコマンド処理の一部を呼び出して実行する。
【0050】
さらにICカード101は、コマンド処理の一部が未登録の場合は、既定の処理(コマンド処理)を実行する。
【0051】
また、ICカード101は、ICカード101の内部のアプリケーション毎あるいはファイル毎に、これらを操作するコマンド処理の一部が、手続きではなく、参照数値で構成され、前記コマンドの実行中に上記参照数値を参照し、コマンド処理の一部を呼び出して実行する。
【0052】
また、ICカード101は、関連付けて登録可能なコマンド処理の一部、あるいは数値で構成される参照の対象は、専用コマンドで登録・変更・削除可能である。
【0053】
以上により、ICカード101は、コマンド処理において、アプリケーション毎あるいはファイル毎に、同じコマンドであっても、コマンド処理を追加、変更できる。つまり、EF単位で、コマンド処理を追加、変更することができるため、EF毎に異なるコマンド処理を容易に実装できる。その結果として、不必要な処理まで、あらかじめ作り込んでおく必要がなくなり、必要最小限のコマンド処理を実装可能とする。すべてのオプション機能を作り込む必要がなくなるので、例えば、誤った指定をした場合に、処理を中断することが可能となる。さらに、特定のアプリケーションにおいては、不必要なオプション選択のための処理が不要になるため、処理の効率化が図れる。
【0054】
なお、上記したモジュールとは、ハードウェアで実現するものであっても良いし、CPU等を使ってソフトウェアで実現するものであってもよい。
【0055】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0056】
101…ICカード(通信媒体)、102…カードリーダ・ライタ、103…端末、104…キーボード、105…ディスプレイ、106…プリンタ、200…ICチップ、201…制御素子、202…データメモリ(不揮発性メモリ)、203…ワーキングメモリ、204…プログラムメモリ、205…通信部、206…アドレス監視回路
【特許請求の範囲】
【請求項1】
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する記憶手段と、
前記コマンドを受信する受信手段と、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する実行手段と、
を備えた通信媒体。
【請求項2】
前記実行手段は、前記定義情報に基づき前記プログラムの登録を検出した場合、前記コマンドの受信に対応して、前記定義情報に基づき前記プログラムを実行し、且つ前記コマンド実行情報に基づき前記コマンド処理を実行する請求項1記載の通信媒体。
【請求項3】
前記実行手段は、前記定義情報に基づき前記プログラムの未登録を検出した場合、前記コマンドの受信に対応して、前記コマンド実行情報に基づき前記コマンド処理を実行する請求項1又は2記載の通信媒体。
【請求項4】
前記受信手段は、ファイル創生コマンドを受信し、
前記実行手段は、前記ファイル創生コマンドを解釈し、前記記憶手段に対して前記定義情報及び前記プログラムを書き込む請求項1乃至3の何れか1項記載の通信媒体。
【請求項5】
前記受信手段は、変更コマンドを受信し、
前記実行手段は、前記変更コマンドを解釈し、前記変更コマンドに含まれた変更プログラムに基づき前記記憶手段に記憶された前記プログラムを変更する請求項1乃至4の何れか1項記載の通信媒体。
【請求項6】
前記記憶手段は、書き換え可能な不揮発性のデータメモリ、及び書き換え不能なプログラムメモリを備え、
前記データメモリは、前記定義情報及び前記プログラムを記憶し、
前記プログラムメモリは、前記コマンド実行情報を記憶する請求項1乃至5の何れか1項記載の通信媒体。
【請求項7】
ICモジュールが埋め込まれたカード本体により構成されるICカードであって、
前記ICモジュールは、
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する記憶手段と、
前記コマンドを受信する受信手段と、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する実行手段と、
を備えたICカード。
【請求項8】
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する通信媒体に適用可能なコマンド実行方法であって、
コマンドを受信し、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行するコマンド実行方法。
【請求項1】
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する記憶手段と、
前記コマンドを受信する受信手段と、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する実行手段と、
を備えた通信媒体。
【請求項2】
前記実行手段は、前記定義情報に基づき前記プログラムの登録を検出した場合、前記コマンドの受信に対応して、前記定義情報に基づき前記プログラムを実行し、且つ前記コマンド実行情報に基づき前記コマンド処理を実行する請求項1記載の通信媒体。
【請求項3】
前記実行手段は、前記定義情報に基づき前記プログラムの未登録を検出した場合、前記コマンドの受信に対応して、前記コマンド実行情報に基づき前記コマンド処理を実行する請求項1又は2記載の通信媒体。
【請求項4】
前記受信手段は、ファイル創生コマンドを受信し、
前記実行手段は、前記ファイル創生コマンドを解釈し、前記記憶手段に対して前記定義情報及び前記プログラムを書き込む請求項1乃至3の何れか1項記載の通信媒体。
【請求項5】
前記受信手段は、変更コマンドを受信し、
前記実行手段は、前記変更コマンドを解釈し、前記変更コマンドに含まれた変更プログラムに基づき前記記憶手段に記憶された前記プログラムを変更する請求項1乃至4の何れか1項記載の通信媒体。
【請求項6】
前記記憶手段は、書き換え可能な不揮発性のデータメモリ、及び書き換え不能なプログラムメモリを備え、
前記データメモリは、前記定義情報及び前記プログラムを記憶し、
前記プログラムメモリは、前記コマンド実行情報を記憶する請求項1乃至5の何れか1項記載の通信媒体。
【請求項7】
ICモジュールが埋め込まれたカード本体により構成されるICカードであって、
前記ICモジュールは、
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する記憶手段と、
前記コマンドを受信する受信手段と、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行する実行手段と、
を備えたICカード。
【請求項8】
ファイルを記憶し、前記ファイルを制御するための定義情報を記憶し、前記定義情報により指定されるプログラムを記憶し、コマンドに対応するコマンド処理を実行するためのコマンド実行情報を記憶する通信媒体に適用可能なコマンド実行方法であって、
コマンドを受信し、
前記コマンドを解釈し、前記定義情報に基づき前記プログラムを実行し、前記コマンド実行情報に基づき前記コマンド処理を実行するコマンド実行方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−198696(P2012−198696A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−61668(P2011−61668)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]