JP4139674B2 - IC card and command processing method in IC card - Google Patents

IC card and command processing method in IC card Download PDF

Info

Publication number
JP4139674B2
JP4139674B2 JP2002329036A JP2002329036A JP4139674B2 JP 4139674 B2 JP4139674 B2 JP 4139674B2 JP 2002329036 A JP2002329036 A JP 2002329036A JP 2002329036 A JP2002329036 A JP 2002329036A JP 4139674 B2 JP4139674 B2 JP 4139674B2
Authority
JP
Japan
Prior art keywords
command
card
processing
application
application programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002329036A
Other languages
Japanese (ja)
Other versions
JP2004164261A (en
Inventor
崇 萩庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2002329036A priority Critical patent/JP4139674B2/en
Publication of JP2004164261A publication Critical patent/JP2004164261A/en
Application granted granted Critical
Publication of JP4139674B2 publication Critical patent/JP4139674B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数のアプリケーションプログラム(以下、単にアプリケーションという)を実行可能なICカードに関し、特に、連続で実行する複数のアプリケーションにおけるコマンドの処理方法に関するものである。
【0002】
【従来の技術】
従来、JavaCard(登録商標)やMultosのような複数のアプリケーションプログラムを実行可能なICカードは、ISO7816−4に従い、国内および世界中で重複がないように登録制により付与されるAIDという5〜16バイトの固有の識別子を付けてアプリケーションを一意に特定し、そのAIDによりアプリケーションを選択してから、続く処理を指示するという手順を取っている。
【0003】
例えば、クレジットの支払い処理とポイント加算処理を行うには、まず、端末装置が、「SELECT FILE xxxx」(xxxxは、クレジットアプリケーションを示すAID)というコマンドをICカードに送信し、ICカードが、クレジットアプリケーションを選択し、次に、認証コマンドや支払いコマンドを端末装置からICカードに送信すると、ICカードは、それらのコマンドの実行制御を、選択済みのクレジットアプリケーションに移動するという手順になる。
【0004】
ISO7816−4において、コマンド実行の制御は、選択されているアプリケーションに対して移動するため、クレジットの支払い処理に続いてポイント加算処理を行うには、新たにポイントアプリケーションを選択し直して、ポイント加算コマンドを端末装置からカードに送信する必要がある。
【0005】
つまり、必ず連続して複数のアプリケーションで処理したい同一のコマンドにおいても、アプリケーションが異なる場合は、その都度、アプリケーションの選択コマンドの送信、および選択したアプリケーションへのコマンドへの実行制御の移動を行わなければならない。
【0006】
また、近い将来、ICカードは、携帯電話、携帯情報端末(PDA:Personal Digital Assistant)、情報家電などの様々な機器を介してネットワーク、特にインターネットに接続し、インターネットの標準的なプロトコルであるTCP/IP(プロトコルの詳細については、非特許文献1を参照)による通信を行うことが予想されており、従来のように端末装置の要求にICカードが応えるだけでなく、ICカードに搭載されたアプリケーションがインターネットに接続しにいくようになる。
【0007】
しかしながら、ICカードで使用されるISO規格の下位層(ISO7816−3)は、半二重の通信プロトコルであるため、ICカード側から送信を開始することは想定されておらず、ICカードは、必ず端末装置側からコマンドを受信し、ICカード内部の処理結果を端末装置に返信する仕組みとなっている。
【0008】
ICカードからネットワークへ送信したい場合には、まず端末装置から定期的に「送信するかどうか(ネットワークと通信を行うかどうか)」をICカードへ問い合わせし(ポーリング)、それに応える形でICカードが通信を開始する方式が、IETF(Internet Engineering Task Force)に対して提案されている(例えば、非特許文献2参照。)。
【0009】
【非特許文献1】
Postel, J.、“Transmission Control Protocol”、RFC 793、1981年9月
【非特許文献2】
Mobile-Mind社、“IP and ARP over ISO 7816”、[online]、2001年1月、[平成14年10月12日検索]、インターネット<URL:http://www.scdk.com/draft-guthery-ip7816-01.txt>
【0010】
しかしながら、ポーリング方式は、例えば、10個のアプリケーションを実行可能なICカードの場合、各々のアプリケーションに対してポーリングを発行する必要があるため、ポーリングのコマンドを処理するために選択コマンドを10回発行するし、ポーリングのコマンドも10回送信する必要があり、通信コストと処理時間が掛るという問題がある。
【0011】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、複数のアプリケーションを連続して実行可能なICカードにおいて、コマンド発行回数を減らし、処理時間を減らすことを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するために、本発明の第1の態様は、端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードにおいて、複数のアプリケーションプログラムにより実行される処理コマンドを格納するマルチキャストコマンドと、該ICカードが実行可能なアプリケーションプログラムを管理する管理テーブルと、前記処理コマンドを実行する複数のアプリケーションプログラムを順次選択し、前記選択された複数のアプリケーションプログラムを順次指定し前記処理コマンド実行の制御を該アプリケーションプログラムに移動する制御移動手段と、前記処理コマンドを実行した複数のアプリケーションプログラムの各々の実行結果データを一時的に保持するレスポンス保持領域と、前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信するレスポンス送信手段とを設けたものである。
【0013】
本発明の第2の態様は、上述の第1の態様に係るICカードにおいて、前記制御移動手段が、前記マルチキャストコマンドの中のクラスバイトおよび命令種類と呼ばれるコマンド識別情報により、複数のアプリケーションプログラムにおいて実行するマルチキャストコマンドと特定のアプリケーションプログラムにおいて実行する通常コマンドとを識別するようにしたものである。
【0014】
本発明の第3の態様は、上述の第1または2の態様に係るICカードにおいて、前記管理テーブルに、アプリケーションプログラムを一意に特定可能なアプリケーション識別情報を設け、前記制御移動手段が、予め定めた規則に従い、前記アプリケーション識別情報が前記マルチキャストコマンドに格納されているアプリケーションプログラムを指定する指定情報と一致する複数のアプリケーションプログラムを順次選択し、処理コマンド実行の制御を順次移動するようにしたものである。
【0015】
本発明の第4の態様は、端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードにおけるコマンドの処理方法において、該ICカードにおいて実行可能なアプリケーションプログラムを管理テーブルに記憶する段階と、前記端末装置が、複数のアプリケーションプログラムにより実行する処理コマンドを格納するマルチキャストコマンドをICカードへ送信する段階と、前記マルチキャストコマンドに基づき、連続実行する複数のアプリケーションプログラムを順次選択し前記処理コマンド実行の制御を選択された該アプリケーションプログラムに移動する段階と、前記処理コマンドを実行した各々のアプリケーションプログラムが、実行結果データを一時的にレスポンス保持領域へ保持する段階と、前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信する段階とを行うようにしたものである。
【0016】
本発明の第5の態様は、上述の第4の態様に係るICカードにおけるコマンド方法において、前記処理コマンドが、複数のアプリケーションプログラムに対して通信開始要求があるかどうかを確認するための処理コマンドであり、前記処理コマンドにより各々のアプリケーションプログラムが、通信開始要求の有無を一時的にレスポンス保持領域へ保持する段階を行うようにしたものである。
【0017】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明のICカード内部の概要構成図である。ICカード1は、I/O制御部2、CPU3、記憶手段4、プログラム格納部5、作業用メモリ6を備えている。
【0018】
I/O制御部2は、ICカード1がICカード用リーダ/ライタ7と通信を行うためのインタフェースである。
【0019】
CPU3は、プログラム格納部5内に記録している様々なアプリケーションを実行するものである。アプリケーションを実行する際に、必要に応じて記憶手段4や作業用メモリ6を使用する。
【0020】
記憶手段4は、実際には不揮発メモリであるEEPROM(Electrically Erasable Programmable Read-Only Memory)であり、様々なデータを記憶し、保持するのに使用する。記憶手段4は、その一部にアプリケーションの管理テーブル8を記憶する領域を備えている。
【0021】
管理テーブル8は、OSまたはカードマネージャ(アプリケーションの選択、インストール、削除、メモリ管理などを行う一種のアプリケーション。OSの一部に組み込まれている場合もある)が、アプリケーションの管理用に使用し、アプリケーション毎のAIDを記憶するものである。
【0022】
プログラム格納部5は、OSおよびCPU3が実行可能なAIDに対応するアプリケーション本体を記憶するものである。OSやカード製造時に予めアプリケーションを記録するROM(Read Only Memory)か、アプリケーションをロードして使用することが可能なEEPROMがある。
【0023】
プログラム格納部5は、制御移動手段9およびレスポンス送信手段10を記憶する。制御移動手段9およびレスポンス送信手段10は、OSやカードマネージャの一部、またはOSやカードマネージャと緊密に連携するアプリケーションである。
【0024】
制御移動手段9は、端末装置から受信する同一のコマンドを実行する複数のアプリケーションを順次選択し、該コマンドの実行制御を該アプリケーションに移動するものである。
【0025】
複数のアプリケーションにおいて、アプリケーションを選択し、実行制御を移動する順番は、管理テーブル8の記憶順序でもよいし、別途用意する優先順位を設定するテーブルの順序でもよいし、現在選択されているアプリケーションを最優先にしてもよい。
【0026】
各々のアプリケーションは、コマンドを実行した結果を一時的にレスポンス保持領域へ記憶する。レスポンス送信手段10は、複数のアプリケーションによる同一コマンドの実行が全て終了した後に、レスポンス保持領域に保持する実行結果を前記端末装置に送信するものである。
【0027】
ここで、ICカード1が実行するコマンドおよび該コマンドに対するレスポンスについて説明する。
【0028】
図2は、ISO7816−4により規定されている端末装置からICカード1へ送られるAPDUコマンドの構造を示すものである。
【0029】
APDUコマンドの先頭のCLAは、クラスバイトと呼ばれるものであり、該コマンドの内容がISO7816−4に準拠するか否かを表し、INSは、コマンドコードと呼ばれるコマンドの種類を表すものであり、P1およびP2がコマンドに与えるパラメータを表し、Lcはデータの長さを表す。
【0030】
APDUコマンドは、図2の形式の他に、Lc以下を省略する、データ部の後ろにLeと呼ばれるICカードからの返信の長さを付ける、付けない、という複数の構造を用いることが可能である。
【0031】
また、図3は、ISO7816−4により規定されているICカード1から端末装置からへ送られるレスポンスデータの構造を示すものである。
【0032】
レスポンスデータは、アプリケーションの処理結果と、2バイトのステータスワード(SW1、SW2)から構成されており、アプリケーションからOSを経由して端末装置に送信される。
【0033】
本発明においては、構造やコーディングはISO7816−4のAPDUコマンドに準拠するが、当該コマンドが複数のアプリケーションにより実行されるコマンドであるという、意味的に拡張したマルチキャストコマンドを定義する。図4にマルチキャストコマンドの構造を示す。
【0034】
マルチキャストコマンドは、例えば、CLAが「0xD0(0xは、16進表記。以下、同じ)」、INSが「0x00」、データ部にアプリケーションが実行すべきコマンド(以下、処理コマンドという)を格納することにより、定義する。
【0035】
更に、マルチキャストコマンドは、P1またはP2を使用するかどうかで、2種類のマルチキャストコマンドを定義することが可能である。
【0036】
例えば、P2の値を「0x00」に設定し、データ部に通常のAPDUコマンドそのものを格納することにより、管理テーブル8に記憶されている全てのアプリケーションが、該APDUコマンドを実行するようにする。
【0037】
マルチキャストコマンドのデータ部に格納するAPDUコマンドから、CLA、INSなどのヘッダー情報を省略して、通常のAPDUコマンドのデータ部だけを格納することにより、通信量を減らすことも可能である。
【0038】
P2にAIDの長さを格納、すなわちP2の値が「0x00」以外の場合は、該マルチキャストコマンドのデータ部の処理コマンドの先頭にAIDを格納し、管理テーブル8に記憶しているAIDが、処理コマンドの先頭からAID長で指定された長さのAIDと部分一致する全てのアプリケーションが、該処理コマンドを実行するようにする。
【0039】
また、マルチキャストコマンドにより、複数のアプリケーションが処理コマンドを実行した結果を一括して送信するためのレスポンス保持領域の構造を、図5に示す。
【0040】
レスポンス保持領域には、コマンドの実行結果を格納するISO7816−4におけるレスポンスの領域に、アプリケーション毎の区別をつけるために、AID長と、AIDと、該アプリケーションの処理結果と、SWとを一組にして、順次記憶する。アプリケーション毎の区別がつくのであれば、AID以外の情報を用いてもよい。
【0041】
以下、図6のフローチャートに従い、複数のアプリケーションを実行可能なICカード1が、支払い処理とポイント加算処理を連続して行う場合を例に、アプリケーションを選択し、処理コマンドを実行する手順を説明する。
【0042】
図7に、ICカード1において、クレジット処理と入退室管理の2つの業務を実現する複数のアプリケーションを管理する管理テーブル8の例を示す。
【0043】
図7は、クレジットカードの決済機能(AIDが「0x01 02 03 04 05 01」)、ポイント管理機能(AIDが「0x01 02 03 04 05 02」)、入退室管理(AIDが「0x05 06 07 08 09 0A」)の3つのアプリケーションをICカード1が実行可能であることを示している。
【0044】
また、図7は、クレジットカードでの支払い金額に応じてポイントを加算するなど、関連する複数のアプリケーションが連続実行することを示すように、クレジットカードの決済機能とポイント管理機能が、「0x01 02 03 04
05」というAIDの上5桁を共通にすることも示している。
【0045】
また、入退室管理(AIDが「0x05 06 07 08 09 0A」)は、一つのアプリケーションであるが、いくつかあるドアゲートを開閉する認証処理と、どのドアをいつ開閉したかの記録を保存する機能などを備えるものとする。
【0046】
ICカード1は、端末装置から電源の供給を受け、OS部を起動し、APDUコマンドの受信まで待機する。以下の説明においては、APDUコマンドがICカードに届く過程などは、端末装置などのネットワーク機器の処理であるから説明を省略する。
【0047】
ICカード1がAPDUコマンドを受信すると、制御移動手段9は、CLAおよびINSを参照して、マルチキャストコマンドであるか否かを判定する。
【0048】
受信したAPDUコマンドが、マルチキャストコマンドではなく、通常のAPDUコマンドであった場合、制御移動手段9は、INSが選択コマンド(SELECT FILE:実際の値は「0xA4」)かどうか判定する。
【0049】
クレジットカードの決済機能を選択する選択コマンドは、図8(a)に示す、INSに選択コマンドを、P1およびP2にAIDを用いてアプリケーションを選択することを示す「0x04 00」を、データ部に決済機能のAID「0x01 02 03 04 05 01」を、Lcにデータ部の長さ、すなわちAIDの長さ「6バイト」を格納したAPDUコマンドとなる。
【0050】
次に、INSが選択コマンドである場合、制御移動手段9は、P1、P2、Lc、およびデータ部に格納されているAID「0x01 02 03 04 05 01」に基づいて管理テーブル8を参照し、決済機能が存在するか否かを確認する。
【0051】
決済機能が管理テーブル8に存在する場合、制御移動手段9は、決済機能を選択し、選択済みのマークを付け、次に、選択済み決済機能に制御を移す。
【0052】
決済機能は、自分の処理結果(例えば、「選択OK」を示すコード)をOSへ返し、OSは決済機能のレスポンスを端末装置に送信し、コマンド受信待ち状態に戻る。
【0053】
受信したAPDUコマンドが、図8(b)に示すマルチキャストコマンドの場合、P2の値が「0x05」であり、データ部の先頭にAIDが格納されいることを示しているから、制御移動手段9は、データ部の先頭に格納されているAIDの5バイト分「0x01 02 03 04 05」と、処理コマンド「DEBIT 100yen」を取り出す。
【0054】
制御移動手段9は、5バイトの「0x01 02 03 04 05」を用いて管理テーブル8を検索し、まず、上5桁が「0x01 02 03 04 05」である決済機能を選択し、選択済みのマークを付け、次に、選択済みの決済機能に処理コマンド「DEBIT 100yen」を渡し、制御を移す。
【0055】
決済機能は、受け取った処理コマンド「DEBIT 100yen」により、100円の支払い処理を行い、AID長と、AIDと、例えば「支払い終了」などのコード(ここでは、Null「0x00」とする)と、SWを一組にして、レスポンス保持領域に記憶する。この時のレスポンス保持領域を図9(a)に示す。
【0056】
制御移動手段9は、決済機能が終了した後、再び管理テーブル8を検索し、上5桁が「0x01 02 03 04 05」であるポイント管理を選択し、選択済みのマークを付け、次に、選択済みのポイント管理に処理コマンド「DEBIT 100yen」を渡し、制御を移す。
【0057】
ポイント管理は、受け取った処理コマンド「DEBIT 100yen」により、例えば支払い金額100円の10%、すなわち10ポイントを加算し、AID長と、AIDと、例えばポイント残高10(「0x0A」)と、SWを一組にして、レスポンス保持領域に記憶する。この時のレスポンス保持領域を図9(b)に示す。
【0058】
更に、制御移動手段9は、ポイント管理が終了した後、再び管理テーブル8を検索し、上5桁が「0x01 02 03 04 05」のAIDを有するアプリケーションを探すが、入退室管理は「0x05 06 07 08 09」であるから、処理コマンド「DEBIT 100yen」を実行する全てのアプリケーションが終了したことになるので、検索の終了をレスポンス送信手段10へ通知する。
【0059】
レスポンス送信手段10は、決済処理、およびポイント管理の処理結果を保持する図9(b)の状態のレスポンス保持領域を、OSを介して端末装置に送信する。
【0060】
マルチキャストコマンド、制御移動手段9、およびレスポンス送信手段10を用いることにより、従来、「決済機能の選択」、「決済機能の実行」、「ポイント管理の選択」、および「ポイント加算」という4回のコマンド処理を、「アプリケーションの選択」と、「複数アプリケーションの順次実行」という2回のコマンドの処理で行うことが可能になる。
【0061】
また、異なる実施の形態として、IPアドレスを備え、TCP/IPの通信プロトコルを搭載したICカード1が、一定時間が経過した後に、入退室管理のサーバにICカード1内に記憶しているログを保管する通信の開始を行う場合の動作について説明する。
【0062】
上述したように、ICカード1側から通信を開始することはできないため、端末装置が一定間隔でポーリング(例えば、Lcを「0x00」とし、データ部に何も格納せずに、何もしない命令とする)を行い、ICカード1が通信を行うかどうかを確認する。
【0063】
端末装置は、複数のアプリケーションに対して一括でポーリングを行うため、APDUコマンドに、マルチキャストコマンドを示すCLAおよびINSと、ポーリングの命令とを格納した「0xD0 00 00 00 00」をICカード1へ送信する。
【0064】
ICカード1は、受信した選択したAPDUコマンドが、マルチキャストコマンドであり、Lcの値が「0x00」であるから、制御移動手段9は、該APDUコマンドが、複数のアプリケーションに対するポーリングコマンドであると判定する。
【0065】
制御移動手段9は、P2が「0x00」であるから管理テーブル8に記憶している全てのアプリケーションを対象として、ポーリングを試みる。
【0066】
まず、管理テーブル8に記憶している最初のアプリケーションである決済機能を選択し、選択済みのマークを付け、選択済みの決済機能に制御を移す。
【0067】
決済機能が通信を行う必要がない場合、決済機能は、AID長と、自身のAIDと、例えばSW1、およびSW2が「0x90 00」をレスポンス保持領域に記憶し、制御を返す。
【0068】
制御移動手段9は、決済機能がレスポンスを返した後、管理テーブル8の次のアプリケーションであるポイント管理を選択し、選択済みのマークを付け、選択済みのポイント管理に制御を移す。
【0069】
ポイント管理も通信を行う必要がない場合、ポイント管理は、決済機能と同様に、AID長と、自身のAIDと、例えばSW1、およびSW2が「0x90 00」をレスポンス保持領域に記憶し、制御を返す。
【0070】
制御移動手段9は、ポイント管理がレスポンスを返した後、更に、管理テーブル8の次のアプリケーションである入退室管理を選択し、選択済みのマークを付け、選択済みの入退室管理に制御を移す。
【0071】
入退室管理は、現在時刻をチェックし、前回通信から一定時間が経過している場合、AID長と、自身のAIDと、例えば、SW1およびSW2が「0x91
00」をレスポンス保持領域に記憶させ、制御を返す。
【0072】
更に、制御移動手段9は、入退室管理が制御を戻した後、再び管理テーブル8を検索するが、管理テーブル8には、次のアプリケーションがないので、ポーリングを行う全てのアプリケーションが終了したことを、レスポンス送信手段10へ通知する。
【0073】
レスポンス送信手段10は、レスポンス保持領域を、OSを介して端末装置に送信する。
【0074】
端末装置は、レスポンスを受信し、「0x91 00」を返したAID「0x05 06 07 08 09 0A」が通信を開始する要求を出したことを検知し、該AIDの入退室管理に対して、コマンドを発行し、以降の処理を継続させることが可能になる。
【0075】
以上、本発明を実施の形態に基づいて詳細に説明してきたが、本発明によるICカードおよびICカードにおけるコマンド処理方法は、上述の実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更が可能なことは当然のことである。
【0076】
【発明の効果】
以上のとおり、本発明に係るICカードおよびICカードにおけるコマンド処理方法によれば、ICカードが実行可能な全てのアプリケーション、または一部のアプリケーションにおいて、受信した一つのコマンドを連続して実行することができるため、アプリケーションの選択回数、および通信回数を減らすことが可能となる。
【0077】
また、各々のアプリケーションのコマンド実行結果も一括して端末装置に送信することにより、通信回数と通信量を減らすことが可能になる。
【0078】
また、ISO7816−3と互換性を保ったまま、ICカード側からの通信開始に対して、一度のポーリングで通信開始要求があるかどうかを確認することができ、仮想的な全二重通信により、各々のアプリケーションに対するポーリングの回数を減らすことが可能になる。
【図面の簡単な説明】
【図1】 本発明のICカード内部の概要構造図である。
【図2】 ISO7816−4におけるAPDUコマンドの構成を示す説明図である。
【図3】 ISO7816−4におけるレスポンスの構成を示す説明図である。
【図4】 本発明のマルチキャストコマンドの構成を示す説明図である。
【図5】 本発明のレスポンス保持領域の構造を示す説明図である。
【図6】 本発明のICカードにおけるコマンド処理方法を示すフローチャートである。
【図7】 本発明の管理テーブルの例である。
【図8】 本発明のマルチキャストコマンドの例である。
【図9】 本発明のレスポンス保持領域の例である。
【符号の説明】
1 ICカード
2 I/O制御部
3 CPU
4 記憶手段
5 プログラム格納部
6 作業用メモリ
7 ICカード用リーダ/ライタ
8 管理テーブル
9 制御移動手段
10 レスポンス送信手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an IC card capable of executing a plurality of application programs (hereinafter simply referred to as applications), and more particularly to a method of processing commands in a plurality of applications executed in succession.
[0002]
[Prior art]
Conventionally, an IC card capable of executing a plurality of application programs such as JavaCard (registered trademark) and Multis is in accordance with ISO 7816-4, which is called AID 5-16 which is given by a registration system so that there is no duplication in the country and the world An application is uniquely identified by attaching a unique identifier of a byte, an application is selected by its AID, and a subsequent process is instructed.
[0003]
For example, in order to perform a credit payment process and a point addition process, first, the terminal device transmits a command “SELECT FILE xxx” (xxx is AID indicating a credit application) to the IC card, and the IC card When an application is selected and then an authentication command or a payment command is transmitted from the terminal device to the IC card, the IC card moves the execution control of those commands to the selected credit application.
[0004]
In ISO7816-4, command execution control moves to the selected application. Therefore, in order to perform point addition processing following credit payment processing, a point application is newly selected and point addition is performed. The command needs to be transmitted from the terminal device to the card.
[0005]
In other words, even in the same command that you want to be processed by multiple applications continuously, if the applications are different, you must send the application selection command and transfer execution control to the command to the selected application each time. I must.
[0006]
In the near future, IC cards will connect to networks, especially the Internet, through various devices such as mobile phones, personal digital assistants (PDAs), and information appliances. / IP (For details of the protocol, see Non-Patent Document 1) It is expected that communication is performed, and not only the IC card responds to the request of the terminal device as in the past, but it is mounted on the IC card. The application goes to connect to the Internet.
[0007]
However, since the ISO standard lower layer (ISO7816-3) used in the IC card is a half-duplex communication protocol, it is not assumed that transmission starts from the IC card side. The system always receives a command from the terminal device side and returns the processing result inside the IC card to the terminal device.
[0008]
When sending from the IC card to the network, first, the terminal device periodically inquires the IC card whether to send (whether to communicate with the network) (polling), and the IC card responds accordingly. A method for starting communication has been proposed for Internet Engineering Task Force (IETF) (see Non-Patent Document 2, for example).
[0009]
[Non-Patent Document 1]
Postel, J., “Transmission Control Protocol”, RFC 793, September 1981 [Non-Patent Document 2]
Mobile-Mind, “IP and ARP over ISO 7816”, [online], January 2001, [October 12, 2002 search], Internet <URL: http://www.scdk.com/draft- guthery-ip7816-01.txt>
[0010]
However, in the polling method, for example, in the case of an IC card that can execute 10 applications, it is necessary to issue polling to each application, so that a selection command is issued 10 times to process the polling command. However, the polling command needs to be transmitted 10 times, and there is a problem that communication cost and processing time are required.
[0011]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described problems, and an object of the present invention is to reduce the number of command issuances and reduce the processing time in an IC card capable of continuously executing a plurality of applications.
[0012]
[Means for Solving the Problems]
To achieve the above object, according to a first aspect of the present invention, a processing command is received from a terminal device, the processing command is executed in an application program, and execution result data of the processing command is transmitted to the terminal device. In the IC card, a multicast command that stores processing commands executed by a plurality of application programs, a management table that manages application programs that can be executed by the IC card, and a plurality of application programs that execute the processing commands are sequentially selected. Control moving means for sequentially designating the selected plurality of application programs and transferring control of execution of the processing command to the application program; and execution of each of the plurality of application programs that have executed the processing command. A response holding area that temporarily holds result data; and a response transmission unit that sends execution result data held in the response holding area to the terminal device after all execution of processing commands by the plurality of application programs is completed. It is provided.
[0013]
According to a second aspect of the present invention, in the IC card according to the first aspect described above, the control moving means uses a plurality of application programs based on command identification information called a class byte and an instruction type in the multicast command. A multicast command to be executed and a normal command to be executed in a specific application program are identified.
[0014]
According to a third aspect of the present invention, in the IC card according to the first or second aspect described above, application management information that can uniquely identify an application program is provided in the management table, and the control moving means is predetermined. In accordance with the rules, the application identification information sequentially selects a plurality of application programs that match the designation information for designating the application program stored in the multicast command, and the process command execution control is sequentially moved. is there.
[0015]
According to a fourth aspect of the present invention, there is provided a command processing method in an IC card that receives a processing command from a terminal device, executes the processing command in an application program, and transmits execution result data of the processing command to the terminal device. Storing an application program executable in the IC card in a management table, transmitting a multicast command storing a processing command to be executed by a plurality of application programs to the IC card, and the multicast command A step of sequentially selecting a plurality of application programs to be continuously executed and moving control of execution of the processing command to the selected application program; and each application program that has executed the processing command. The RAM temporarily stores the execution result data in the response holding area, and the execution result data held in the response holding area after the execution of all the processing commands by the plurality of application programs is completed in the terminal device. The transmission stage is performed.
[0016]
According to a fifth aspect of the present invention, in the command method in the IC card according to the fourth aspect described above, the processing command is used to confirm whether or not there is a communication start request for a plurality of application programs. In accordance with the processing command, each application program performs a step of temporarily holding the presence / absence of a communication start request in the response holding area.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described based on the illustrated embodiments. FIG. 1 is a schematic configuration diagram of the inside of an IC card according to the present invention. The IC card 1 includes an I / O control unit 2, a CPU 3, a storage unit 4, a program storage unit 5, and a work memory 6.
[0018]
The I / O control unit 2 is an interface for the IC card 1 to communicate with the IC card reader / writer 7.
[0019]
The CPU 3 executes various applications recorded in the program storage unit 5. When the application is executed, the storage unit 4 and the working memory 6 are used as necessary.
[0020]
The storage means 4 is an EEPROM (Electrically Erasable Programmable Read-Only Memory) which is actually a nonvolatile memory, and is used to store and hold various data. The storage unit 4 includes an area for storing the application management table 8 in a part thereof.
[0021]
The management table 8 is used by the OS or card manager (a kind of application for selecting, installing, deleting, memory management, etc., which may be incorporated in a part of the OS) for application management. The AID for each application is stored.
[0022]
The program storage unit 5 stores an application main body corresponding to an AID executable by the OS and the CPU 3. There is a ROM (Read Only Memory) in which an application is recorded in advance when an OS or a card is manufactured, or an EEPROM in which an application can be loaded and used.
[0023]
The program storage unit 5 stores the control movement unit 9 and the response transmission unit 10. The control transfer unit 9 and the response transmission unit 10 are applications that cooperate closely with a part of the OS or the card manager or with the OS or the card manager.
[0024]
The control movement unit 9 sequentially selects a plurality of applications that execute the same command received from the terminal device, and moves the execution control of the command to the application.
[0025]
Among a plurality of applications, the order of selecting an application and moving the execution control may be the storage order of the management table 8, the order of a table for setting a priority prepared separately, or the currently selected application. You may give top priority.
[0026]
Each application temporarily stores the result of executing the command in the response holding area. The response transmission means 10 transmits the execution result held in the response holding area to the terminal device after all execution of the same command by a plurality of applications is completed.
[0027]
Here, a command executed by the IC card 1 and a response to the command will be described.
[0028]
FIG. 2 shows the structure of an APDU command sent from the terminal device defined by ISO 7816-4 to the IC card 1.
[0029]
The CLA at the head of the APDU command is called a class byte and indicates whether or not the content of the command conforms to ISO7816-4. INS indicates the type of command called a command code. P1 And P2 represents a parameter given to the command, and Lc represents a data length.
[0030]
In addition to the format shown in FIG. 2, the APDU command can use a plurality of structures in which Lc and the following are omitted, the length of a reply from an IC card called Le is added after the data portion, and no response is added. is there.
[0031]
FIG. 3 shows the structure of response data sent from the IC card 1 defined by ISO 7816-4 to the terminal device.
[0032]
The response data is composed of the processing result of the application and a 2-byte status word (SW1, SW2), and is transmitted from the application to the terminal device via the OS.
[0033]
In the present invention, the structure and coding conforms to the APDU command of ISO7816-4, but a semantically extended multicast command is defined that the command is a command executed by a plurality of applications. FIG. 4 shows the structure of the multicast command.
[0034]
As for the multicast command, for example, CLA is “0xD0 (0x is hexadecimal notation; the same applies hereinafter)”, INS is “0x00”, and a command to be executed by the application (hereinafter referred to as a processing command) is stored in the data portion. Define by
[0035]
Furthermore, it is possible to define two types of multicast commands depending on whether P1 or P2 is used.
[0036]
For example, by setting the value of P2 to “0x00” and storing the normal APDU command itself in the data part, all the applications stored in the management table 8 execute the APDU command.
[0037]
By omitting header information such as CLA and INS from the APDU command stored in the data part of the multicast command and storing only the data part of the normal APDU command, it is possible to reduce the amount of communication.
[0038]
When the length of the AID is stored in P2, that is, when the value of P2 is other than “0x00”, the AID is stored at the head of the processing command in the data part of the multicast command, and the AID stored in the management table 8 is All applications that partially match the AID having the length specified by the AID length from the top of the processing command are to execute the processing command.
[0039]
Further, FIG. 5 shows the structure of a response holding area for collectively transmitting the results of execution of processing commands by a plurality of applications using a multicast command.
[0040]
In the response holding area, a set of AID length, AID, processing result of the application, and SW is set in order to distinguish the response area in ISO7816-4 storing the command execution result for each application. Are stored in sequence. Information other than AID may be used as long as each application can be distinguished.
[0041]
In the following, the procedure for selecting an application and executing a processing command will be described with reference to the flowchart of FIG. .
[0042]
FIG. 7 shows an example of a management table 8 for managing a plurality of applications for realizing two tasks of credit processing and entrance / exit management in the IC card 1.
[0043]
FIG. 7 shows a credit card settlement function (AID is “0x01 02 03 04 05 01”), a point management function (AID is “0x01 02 03 04 05 02”), and entrance / exit management (AID is “0x05 06 07 08 09) 0A ") indicates that the IC card 1 can execute the three applications.
[0044]
In addition, FIG. 7 shows that the credit card settlement function and the point management function are “0x01 02” to indicate that a plurality of related applications are continuously executed, such as adding points according to the payment amount with the credit card. 03 04
It also shows that the first five digits of the AID “05” are shared.
[0045]
In addition, entrance / exit management (AID is “0x05 06 07 08 09 0A”) is a single application, but it has a function to save the authentication process for opening and closing some door gates and the record of which doors were opened and closed. Etc. shall be provided.
[0046]
The IC card 1 is supplied with power from the terminal device, activates the OS unit, and waits for reception of an APDU command. In the following description, the process of the APDU command reaching the IC card is a process of a network device such as a terminal device, and the description thereof will be omitted.
[0047]
When the IC card 1 receives the APDU command, the control moving unit 9 refers to CLA and INS and determines whether it is a multicast command.
[0048]
When the received APDU command is not a multicast command but a normal APDU command, the control moving unit 9 determines whether the INS is a selection command (SELECT FILE: actual value is “0xA4”).
[0049]
The selection command for selecting the payment function of the credit card is “0x04 00” in FIG. 8A indicating that the application is selected using the selection command for INS and the AID for P1 and P2, in the data portion. The APDU command in which the AID “0x01 02 03 04 05 01” of the settlement function is stored in Lc is the length of the data portion, that is, the length of AID “6 bytes”.
[0050]
Next, when INS is a selection command, the control moving unit 9 refers to the management table 8 based on P1, P2, Lc, and the AID “0x01 02 03 04 05 01” stored in the data part, Check whether there is a payment function.
[0051]
If the settlement function exists in the management table 8, the control transfer means 9 selects the settlement function, puts the selected mark on it, and then transfers control to the selected settlement function.
[0052]
The settlement function returns its processing result (for example, a code indicating “selection OK”) to the OS, and the OS transmits a response of the settlement function to the terminal device and returns to a command reception waiting state.
[0053]
When the received APDU command is the multicast command shown in FIG. 8B, the value of P2 is “0x05”, indicating that the AID is stored at the beginning of the data part. Then, “0x01 02 03 04 05” for 5 bytes of AID stored at the head of the data part and the processing command “DEBIT 100yen” are taken out.
[0054]
The control moving means 9 searches the management table 8 using “0x01 02 03 04 05” of 5 bytes, first selects a settlement function whose first five digits are “0x01 02 03 04 05”, and has already been selected. Then, the processing command “DEBIT 100 yen” is passed to the selected settlement function, and control is transferred.
[0055]
The payment function performs a payment process of 100 yen by the received processing command “DEBIT 100yen”, an AID length, an AID, and a code such as “payment end” (here, “Null“ 0x00 ”), A set of SWs is stored in the response holding area. The response holding area at this time is shown in FIG.
[0056]
After the settlement function is completed, the control moving means 9 searches the management table 8 again, selects the point management whose first 5 digits are “0x01 02 03 04 05”, puts the selected mark, The processing command “DEBIT 100yen” is passed to the selected point management, and control is transferred.
[0057]
For the point management, for example, 10% of the payment amount of 100 yen, that is, 10 points is added by the received processing command “DEBIT 100 yen”, AID length, AID, for example, point balance 10 (“0x0A”), and SW are added. One set is stored in the response holding area. The response holding area at this time is shown in FIG.
[0058]
Further, after the point management is completed, the control moving unit 9 searches the management table 8 again and searches for an application having the AID of “0x01 02 03 04 05” in the first five digits, but the entry / exit management is “0x05 06”. 07 08 09 ”, all the applications that execute the processing command“ DEBIT 100yen ”have been completed, so the response transmission means 10 is notified of the end of the search.
[0059]
The response transmission means 10 transmits the response holding area in the state of FIG. 9B holding the processing result of the settlement processing and the point management to the terminal device via the OS.
[0060]
Conventionally, by using the multicast command, the control moving means 9 and the response transmitting means 10, four times of “selection of payment function”, “execution of payment function”, “selection of point management”, and “point addition” are conventionally performed. The command processing can be performed by two command processings of “application selection” and “sequential execution of a plurality of applications”.
[0061]
As another embodiment, the log stored in the IC card 1 in the entry / exit management server after the IC card 1 having the IP address and equipped with the TCP / IP communication protocol has been passed for a certain period of time. The operation when starting communication to store the data will be described.
[0062]
As described above, since communication cannot be started from the IC card 1 side, the terminal device polls at regular intervals (for example, Lc is set to “0x00”, nothing is stored in the data part, and nothing is performed) To check whether the IC card 1 performs communication.
[0063]
Since the terminal device polls a plurality of applications at once, “0xD0 00 00 00 00” in which CLA and INS indicating a multicast command and a polling command are stored in the APDU command is transmitted to the IC card 1. To do.
[0064]
The IC card 1 determines that the selected APDU command received is a multicast command and the value of Lc is “0x00”, so that the control moving means 9 is a polling command for a plurality of applications. To do.
[0065]
The control moving unit 9 tries to poll all applications stored in the management table 8 because P2 is “0x00”.
[0066]
First, the settlement function which is the first application stored in the management table 8 is selected, a selected mark is added, and control is transferred to the selected settlement function.
[0067]
When the payment function does not need to communicate, the payment function stores the AID length, its own AID, and SW1 and SW2, for example, “0x9000” in the response holding area, and returns control.
[0068]
After the settlement function returns a response, the control transfer means 9 selects point management which is the next application in the management table 8, puts a selected mark, and transfers control to the selected point management.
[0069]
If the point management does not need to be communicated, the point management stores the AID length, its own AID, for example, SW1 and SW2 “0x9000” in the response holding area in the same manner as the payment function, and performs control. return.
[0070]
After the point management returns a response, the control movement means 9 further selects entry / exit management, which is the next application of the management table 8, puts the selected mark, and transfers control to the selected entry / exit management. .
[0071]
The entrance / exit management checks the current time, and when a certain time has passed since the previous communication, the AID length, its own AID, for example, SW1 and SW2 are “0x91”.
00 ”is stored in the response holding area, and control is returned.
[0072]
Further, the control moving means 9 searches the management table 8 again after the entrance / exit management returns the control, but since there is no next application in the management table 8, all the applications that perform polling have ended. Is sent to the response transmission means 10.
[0073]
The response transmission unit 10 transmits the response holding area to the terminal device via the OS.
[0074]
The terminal device receives the response, detects that the AID “0x05 06 07 08 09 0A” that has returned “0x91 00” has issued a request to start communication, and issues a command to the entry / exit management of the AID Can be issued and the subsequent processing can be continued.
[0075]
As described above, the present invention has been described in detail based on the embodiments. However, the IC card and the command processing method in the IC card according to the present invention are not limited to the above-described embodiments, and the gist of the present invention. It goes without saying that various changes can be made without departing from the scope of the invention.
[0076]
【The invention's effect】
As described above, according to the IC card and the command processing method in the IC card according to the present invention, the received one command is continuously executed in all applications or a part of applications that can be executed by the IC card. Therefore, the number of application selections and the number of communication can be reduced.
[0077]
In addition, the command execution result of each application is also transmitted to the terminal device at a time, so that the number of communication and the communication amount can be reduced.
[0078]
In addition, while maintaining compatibility with ISO 7816-3, it is possible to confirm whether or not there is a communication start request with a single poll for the start of communication from the IC card side. It is possible to reduce the number of polling for each application.
[Brief description of the drawings]
FIG. 1 is a schematic structural diagram inside an IC card of the present invention.
FIG. 2 is an explanatory diagram showing a configuration of an APDU command in ISO 7816-4.
FIG. 3 is an explanatory diagram showing a response structure in ISO7816-4.
FIG. 4 is an explanatory diagram showing a configuration of a multicast command according to the present invention.
FIG. 5 is an explanatory diagram showing a structure of a response holding area according to the present invention.
FIG. 6 is a flowchart showing a command processing method in the IC card of the present invention.
FIG. 7 is an example of a management table of the present invention.
FIG. 8 is an example of a multicast command of the present invention.
FIG. 9 is an example of a response holding area according to the present invention.
[Explanation of symbols]
1 IC card 2 I / O control unit 3 CPU
4 Storage means 5 Program storage section 6 Work memory 7 IC card reader / writer 8 Management table 9 Control movement means 10 Response transmission means

Claims (5)

端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードであって、
複数のアプリケーションプログラムにより実行される処理コマンドを格納するマルチキャストコマンドと、
該ICカードが実行可能なアプリケーションプログラムを管理する管理テーブルと、
前記処理コマンドを実行する複数のアプリケーションプログラムを順次選択し、前記処理コマンド実行の制御を該アプリケーションプログラムに移動する制御移動手段と、
前記処理コマンドを実行した複数のアプリケーションプログラムの各々の実行結果データを一時的に保持するレスポンス保持領域と、
前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信するレスポンス送信手段と、
を備えることを特徴とするICカード。
An IC card that receives a processing command from a terminal device, executes the processing command in an application program, and transmits execution result data of the processing command to the terminal device,
A multicast command for storing processing commands executed by a plurality of application programs;
A management table for managing application programs executable by the IC card;
A control moving means for sequentially selecting a plurality of application programs for executing the processing commands, and for transferring control of the processing command execution to the application programs;
A response holding area for temporarily holding execution result data of each of the plurality of application programs that executed the processing command;
A response transmission means for transmitting execution result data held in the response holding area to the terminal device after execution of processing commands by the plurality of application programs is completed;
An IC card comprising:
請求項1記載のICカードであって、
前記制御移動手段が、
前記マルチキャストコマンドの中のクラスバイト、および命令種類と呼ばれるコマンド識別情報により、複数のアプリケーションプログラムにおいて実行するマルチキャストコマンドと、特定のアプリケーションプログラムにおいて実行する通常コマンドとを識別する、
ことを特徴とするICカード。
The IC card according to claim 1, wherein
The control moving means is
Identifying a multicast command to be executed in a plurality of application programs and a normal command to be executed in a specific application program by class identification in the multicast command and command identification information called an instruction type.
IC card characterized by that.
請求項1または2記載のICカードであって、
前記管理テーブルが、
アプリケーションプログラムを一意に特定可能なアプリケーション識別情報を備え、
前記制御移動手段が、
予め定めた規則に従い、前記アプリケーション識別情報が、前記マルチキャストコマンドに格納されているアプリケーションプログラムを指定する指定情報と一致する複数のアプリケーションプログラムを順次選択し、処理コマンド実行の制御を順次移動する、
ことを特徴とするICカード。
The IC card according to claim 1 or 2,
The management table is
With application identification information that can uniquely identify the application program,
The control moving means is
In accordance with a predetermined rule, the application identification information sequentially selects a plurality of application programs that match the designation information designating the application program stored in the multicast command, and sequentially moves the control of processing command execution.
IC card characterized by that.
端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードにおけるコマンドの処理方法であって、
該ICカードにおいて実行可能なアプリケーションプログラムを管理テーブルに記憶する段階と、
前記端末装置が、複数のアプリケーションプログラムにより実行する処理コマンドを格納するマルチキャストコマンドをICカードへ送信する段階と、
前記マルチキャストコマンドに基づき、連続実行する複数のアプリケーションプログラムを順次選択し、前記処理コマンド実行の制御を選択された該アプリケーションプログラムに移動する段階と、
前記処理コマンドを実行した各々のアプリケーションプログラムが、実行結果データを一時的にレスポンス保持領域へ保持する段階と、
前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信する段階と、
を設けたことを特徴とするICカードにおけるコマンド処理方法。
A command processing method in an IC card that receives a processing command from a terminal device, executes the processing command in an application program, and transmits execution result data of the processing command to the terminal device,
Storing an application program executable in the IC card in a management table;
Transmitting a multicast command storing a processing command to be executed by a plurality of application programs to the IC card by the terminal device;
Sequentially selecting a plurality of application programs to be continuously executed based on the multicast command, and moving control of the processing command execution to the selected application program;
Each application program that has executed the processing command temporarily holds execution result data in a response holding area;
A step of transmitting execution result data held in the response holding area to the terminal device after execution of processing commands by the plurality of application programs is completed;
A command processing method in an IC card, comprising:
請求項4に記載のICカードにおけるコマンド処理方法であって、
前記処理コマンドが、
複数のアプリケーションプログラムに対して通信開始要求があるかどうかを確認するための処理コマンドであり、
前記処理コマンドにより、各々のアプリケーションプログラムが、通信開始要求の有無を一時的にレスポンス保持領域へ保持する段階、
を設けたことを特徴とするICカードにおけるコマンド処理方法。
A command processing method for an IC card according to claim 4,
The processing command is
It is a processing command to check whether there is a communication start request for multiple application programs,
In response to the processing command, each application program temporarily holds the presence or absence of a communication start request in the response holding area;
A command processing method in an IC card, comprising:
JP2002329036A 2002-11-13 2002-11-13 IC card and command processing method in IC card Expired - Fee Related JP4139674B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002329036A JP4139674B2 (en) 2002-11-13 2002-11-13 IC card and command processing method in IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002329036A JP4139674B2 (en) 2002-11-13 2002-11-13 IC card and command processing method in IC card

Publications (2)

Publication Number Publication Date
JP2004164261A JP2004164261A (en) 2004-06-10
JP4139674B2 true JP4139674B2 (en) 2008-08-27

Family

ID=32807153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002329036A Expired - Fee Related JP4139674B2 (en) 2002-11-13 2002-11-13 IC card and command processing method in IC card

Country Status (1)

Country Link
JP (1) JP4139674B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4641157B2 (en) * 2004-07-06 2011-03-02 大日本印刷株式会社 Multi-application IC card and application program
JP5066853B2 (en) * 2006-07-10 2012-11-07 富士電機リテイルシステムズ株式会社 Communication device
JP2010009467A (en) * 2008-06-30 2010-01-14 Toshiba Corp Information storage medium, information processing system, and command method
FR2935511B1 (en) * 2008-08-28 2010-12-10 Oberthur Technologies METHOD OF EXCHANGING DATA BETWEEN TWO ELECTRONIC ENTITIES
JP4948610B2 (en) * 2010-02-04 2012-06-06 株式会社エヌ・ティ・ティ・ドコモ Communication control device and program
CN102893235B (en) * 2010-04-30 2016-03-23 富士通株式会社 Signal conditioning package and power consumption supervisory routine
US9575777B2 (en) 2011-03-08 2017-02-21 Sony Corporation Information processing device for performing contactless communication with an external device using multiple communication standards
JP2013069108A (en) * 2011-09-22 2013-04-18 Toshiba Corp Ic card, portable electronic device and ic card control method
JP6459361B2 (en) 2014-09-30 2019-01-30 ブラザー工業株式会社 Image processing apparatus and control program
US11248904B2 (en) * 2017-03-29 2022-02-15 Rutgers, The State University Of New Jersey Systems and methods for real time measurement of surface curvature and thermal expansion of small samples

Also Published As

Publication number Publication date
JP2004164261A (en) 2004-06-10

Similar Documents

Publication Publication Date Title
US9854383B2 (en) Method and system for managing multiple applications in near field communication
JP4139674B2 (en) IC card and command processing method in IC card
CN106470049B (en) NFC device and near field communication method with multiple safety elements
KR100928416B1 (en) Reader control system
US20070223696A1 (en) Secure Device and Relay Terminal
EP2442254A2 (en) Near field communication device and method for near field communication
KR100971896B1 (en) Communication terminal, user data transferring system and user data transferring method
EP2453391A1 (en) IC card, mobile electronic device and data processing method in IC card
CN101098527B (en) Thread controller for processing simultaneously data transmission conversation of individual token
US9021504B2 (en) Method and device for automatically selecting an application that can be implemented by said device
JP2018152130A (en) Communication device and communication system
CN106033551B (en) Data analysis method, apparatus and system
US20080284572A1 (en) Data control system, control server, data control method, and program
CN102112992A (en) Communication device, communication method, and program
JP4184751B2 (en) IC card and application program selection method in IC card
JP2008139923A (en) Ic card having shared object, access management method to shared object and ic card program
JP4283611B2 (en) IC card remote control system
US20100250838A1 (en) Portable data carrier comprising a web server
EP1383293A2 (en) Connection information management system for managing connection information used in communications between IC cards
JP5476820B2 (en) Client terminal and program
CN108668271B (en) Intelligent card number transfer method and device
JP5971713B2 (en) IC card
CN110930213A (en) Service data processing method and device, computer equipment and storage medium
JP6948021B2 (en) Electronic information storage media, information processing methods, and information processing programs
JP4620418B2 (en) Real-time command processing method, IC card, and embedded terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071018

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080609

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees