(57)【要約】【課題】複数のアプリケーションを記憶するＩＣチップ等の電子情報記憶媒体であって、外部機器から要求情報を受信した場合に、それぞれのアプリケーションの性能を充分に発揮できるような非接触通信に関するプロトコル情報を含む応答情報を外部機器に送信することができる電子情報記憶媒体を提供する。【解決手段】アプリケーションの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶しておき、応用分野情報を含む要求情報を外部機器から受信した場合に、当該要求情報に含まれる応用分野情報に対応するプロトコル情報を含む応答情報を外部機器に送信する。【選択図】図１１
2020123017.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、
前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、
前記応用分野情報を含む要求情報を前記外部機器から受信する受信手段と、
前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項２】
請求項１に記載の電子情報記憶媒体であって、
前記プロトコル情報は、前記通信における上限となるデータ転送速度を示す速度情報を含むことを特徴とする電子情報記憶媒体。
【請求項３】
請求項１又は２に記載の電子情報記憶媒体であって、
前記プロトコル情報は、前記通信における上限となるフレームサイズを示すサイズ情報を含むことを特徴とする電子情報記憶媒体。
【請求項４】
請求項１乃至３の何れか一項に記載の電子情報記憶媒体を含むＩＣカード。
【請求項５】
複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、を備える電子情報記憶媒体による通信方法であって、前記応用分野情報を含む要求情報を前記外部機器から受信する受信工程と、
前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信工程と、
を含むことを特徴とする通信方法。
【請求項６】
複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、を備える電子情報記憶媒体に含まれるコンピュータを、
前記応用分野情報を含む要求情報を前記外部機器から受信する受信手段、
前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信手段、
として機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部機器と非接触による通信を行う電子情報記憶媒体の技術分野に関する。
【背景技術】
【０００２】
非接触通信が可能なＩＣカード（「非接触ＩＣカード」）はリーダ・ライタなどの非接触通信端末と非接触通信を行うことにより、非接触ＩＣカードにインストールされたアプリケーション・プログラム（「アプリケーション」）に応じて様々なサービスをユーザに提供する。
【０００３】
通信方式がＴｙｐｅＢである非接触ＩＣカードと非接触通信端末が通信を開始する場合、ＩＳＯ／ＩＥＣ１４４４３−３で定められた初期化及び衝突防止処理手順に従って、非接触ＩＣカードと非接触通信端末間の通信を確立する。具体的には、非接触通信端末は継続的に要求情報（例えば、ＲＥＱＢ（Request Command,Type B）コマンド）を送信しており、ユーザが非接触通信端末に非接触ＩＣカードを近づけることにより要求情報を非接触ＩＣカードが受信した場合に、非接触ＩＣカードはインストールされているアプリケーションに関するアプリケーション情報や非接触通信を行う際のプロトコルに関するプロトコル情報を含む応答情報（例えば、ＡＴＱＢ（Answer to Request,Type B）レスポンス）を非接触通信端末に送信する。
【０００４】
要求情報には、非接触通信端末が通信相手を選別するために用いるＡＦＩ（Application Family Identifier：応用分野識別子（応用分野には交通、金融、身元確認、電気通信、医薬、マルチメディア、ゲーム、データ記憶等がある））が含まれており、非接触ＩＣカードは要求情報を受信した際に自らが保持するＡＦＩとリクエストコマンドに含まれるＡＦＩが一致するか否かを判定し、一致したと判定した場合にのみ通信に関するプロトコル情報を含む応答情報を非接触通信端末に送信する。これにより、非接触通信端末は自らが指定したＡＦＩを保持する非接触ＩＣカードが無線通信可能な範囲に存在することを認識し、以降、具体的なサービスの提供のための無線通信を応答情報に含まれるプロトコル情報に従って行うことができる。
【０００５】
ところが、非接触通信端末が指定したＡＦＩと同一のＡＦＩを保持する非接触ＩＣカードが通信可能な範囲に複数存在する場合（例えば、同一のＡＦＩを保持する非接触ＩＣカードが複数枚重なった状態で非接触通信端末に近づけられる場合）には、非接触通信端末は通信相手を一つに特定することができずに通信及びサービスの提供をできない。
【０００６】
そこで、特許文献１には、ＡＦＩに加えて国識別子を要求情報に含めるとともに、非接触ＩＣカードもＡＦＩに加えて国識別子を保持することとし、非接触ＩＣカードは、受信したＡＦＩ及び国識別子が、自らが保持するＡＦＩ及び国識別子と一致する場合にのみ応答情報を非接触通信端末に送信する技術が開示されている。当該技術により、非接触通信端末はＡＦＩ及び国識別子の双方が一致する非接触ＩＣカードとのみ通信を行うこととなることから、非接触通信端末が通信相手を一つに特定できる可能性が高まる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許５７８４２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、近年では、複数のアプリケーションがインストールされた非接触ＩＣカードが増えてきており、例えば、ＡＦＩが異なる交通系のアプリケーションと金融系のアプリケーションが一つの非接触ＩＣカードにインストールされることもある。こうしたマルチアプリケーション対応の非接触ＩＣカードは、インストールされているアプリケーションの何れかのＡＦＩと要求情報に含まれるＡＦＩとが一致した場合に、応答情報を非接触通信端末に送信するが、当該応答情報に含まれるプロトコル情報には所定値が固定的に設定される。この所定値は、インストールされている各アプリケーションの処理能力に応じて定まり、一般的には、処理能力が最も低いアプリケーションに応じた値に決定される。そのため、処理能力が最も低いアプリケーション以外のアプリケーションが処理を実行する場合には、当該アプリケーションの性能を充分に発揮できるプロトコルによる通信を行えず、ユーザの利便性を低下させる恐れがある。
【０００９】
そこで、本発明は、ＩＣカードに含まれるＩＣチップ等の電子情報記憶媒体であって、非接触通信端末等の外部機器から要求情報を受信した場合に、複数のアプリケーションのそれぞれの性能を充分に発揮できるようなプロトコル情報を含む応答情報を外部機器に送信することができる電子情報記憶媒体等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に記載の発明は、複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、前記応用分野情報を含む要求情報を前記外部機器から受信する受信手段と、前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信手段と、を備えることを特徴とする。
【００１１】
請求項２に記載の発明は、請求項１に記載の電子情報記憶媒体であって、前記プロトコル情報は、前記通信における上限となるデータ転送速度を示す速度情報を含むことを特徴とする。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載の電子情報記憶媒体であって、前記プロトコル情報は、前記通信における上限となるフレームサイズを示すサイズ情報を含むことを特徴とする。
【００１３】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の電子情報記憶媒体を含むＩＣカードである。
【００１４】
請求項５に記載の発明は、複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、を備える電子情報記憶媒体による通信方法であって、前記応用分野情報を含む要求情報を前記外部機器から受信する受信工程と、前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信工程と、を含むことを特徴とする。
【００１５】
請求項６に記載の発明は、複数のアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、前記アプリケーションプログラム記憶手段が記憶する前記アプリケーションプログラムの応用分野を示す応用分野情報毎に、外部機器と通信を行う際のプロトコルを示すプロトコル情報を対応付けて記憶するプロトコル記憶手段と、を備える電子情報記憶媒体に含まれるコンピュータを、前記応用分野情報を含む要求情報を前記外部機器から受信する受信手段、前記プロトコル記憶手段が記憶する前記プロトコル情報であって、前記受信した要求情報に含まれる前記応用分野情報に対応する前記プロトコル情報を含む応答情報を前記外部機器に送信する送信手段、として機能させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、アプリケーションプログラムの応用分野を示す応用分野情報毎に外部機器と通信を行う際のプロトコルを示すプロトコル情報が対応付けて記憶されており、外部機器から要求情報を受信した場合に、当該要求情報に含まれる応用分野情報に対応するプロトコル情報を含む応答情報が外部機器に送信される。したがって、アプリケーションに対応する応用分野情報毎に、当該アプリケーションの処理能力に応じたプロトコル情報を対応付けて記憶させておくことにより、複数のアプリケーションのそれぞれの性能を充分に発揮できるようなプロトコル情報を含む応答情報を外部機器に送信することができる。
【図面の簡単な説明】
【００１７】
【図１】（Ａ）は、本実施形態に係る通信システムＳの構成例を示す図であり、（Ｂ）は、ＩＣカード１の構成例を示すブロック図である。
【図２】通信方式がＴｙｐｅＢである場合のＩＣカード１と外部機器２の通信開始時における初期化及び衝突防止処理のコマンドシーケンス例を示すブロック図である。
【図３】ＲＥＱＢの構成例を示す図である。
【図４】ＡＴＱＢの構成例を示す図である。
【図５】ＡＴＱＢのＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａの構成例を示す図である。
【図６】ＡＴＱＢのＰｒｏｔｏｃｏｌ  Ｉｎｆｏの構成例を示す図である。
【図７】本実施形態に係るＩＣカード１にインストールされているアプリケーションの一例を示す図である。
【図８】本実施形態に係るＡＦＩ毎に、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏを保持する初期応答情報設定テーブルの一例とその概要を示す図である。
【図９】本実施形態に係る通信システムＳの動作例（ＡＦＩ「１０」の場合）を示すシーケンス図である。
【図１０】本実施形態に係る通信システムＳの動作例（ＡＦＩ「００」の場合）を示すシーケンス図である。
【図１１】本実施形態に係るＩＣカード１によるＲＥＱＢ受信時処理の一例を示すフローチャートである。
【図１２】変形例２におけるＲＥＱの構成例を示す図である。
【図１３】変形例２におけるＡＴＱの構成例を示す図である。
【図１４】変形例２におけるＡＴＱのリクエストデータの構成例を示す図である。
【図１５】変形例２におけるリクエストデータを保持する初期応答情報設定テーブルの一例を示す図である。
【図１６】変形例２におけるＩＣカード１によるＲＥＱ受信時処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ＩＣカード１と外部機器２とを含む通信システムＳにおいて、ＩＣカード１に搭載されるＩＣチップ１ａに対して本発明を適用した場合の実施の形態である。
【００１９】
図１（Ａ）に示すように、本実施形態に係る通信システムＳはＩＣカード１と、リーダ・ライタ等の外部機器２とを含み、ＩＣカード１と外部機器２は非接触による無線通信を行う。なお、本実施形態では、非接触通信の通信規格がＴｙｐｅＢである場合について説明する。
【００２０】
［１．ＩＣカード１の構成］
図１（Ｂ）に示すように、ＩＣカード１は、ＩＣチップ１ａとアンテナ１ｂを含む。アンテナ１ｂはコイル式アンテナであり、アンテナ１ｂと外部機器２のコイル式アンテナ（図示しない）が近接することにより、外部機器２からＩＣカード１に電力が供給されたり、ＩＣカード１と外部機器２の間で電気信号（コマンド／レスポンス）が授受されたりする。
【００２１】
ＩＣチップ１ａは、ＣＰＵ（Central Processing Unit）１０、ＲＡＭ（Random Access Memory）１１、ＲＯＭ（Read Only Memory）１２、不揮発性メモリ１３、及びＩ／Ｏ回路１４を備えて構成される。ＣＰＵ１０は、ＲＯＭ１２又は不揮発性メモリ１３に記憶された各種プログラムを実行するプロセッサ（コンピュータ）である。なお、Ｉ／Ｏ回路１４は、変復調回路等を含んで構成され、外部機器２とのインターフェースを担う。これにより、ＩＣチップ１ａは、外部機器２との間で非接触通信を行うことができる。
【００２２】
不揮発性メモリ１３には、例えばフラッシュメモリ又は「Electrically Erasable Programmable Read-Only Memory」などを適用することができる。不揮発性メモリ１３は、ＯＳ、各種アプリケーション、図１１に示す処理を実行するためのプログラム等を記憶する。なお、ＯＳについては、その一部を不揮発性メモリ１３が記憶し、その他の部分をＲＯＭ１２が記憶することとしてもよい。
【００２３】
ここで、図２−図６を用いて、ＩＳＯ／ＩＥＣ１４４４３−３で定められたＩＣカード１と外部機器２の通信開始時における初期化及び衝突防止処理のコマンドシーケンスについて説明する。まず、外部機器２は、常時、ＲＥＱＢコマンド（以下、「ＲＥＱＢ」という場合がある）を送信しており、外部機器２の動作磁界内にＴｙｐｅＢのＩＣカード１が入ると、ＩＣカード１はＲＥＱＢを受信する（ステップＳ１）。
【００２４】
図３に示すように、ＲＥＱＢは５バイトからなり、第１バイトにはタグ情報として「０ｘ０５」が格納され、第２バイトにはＡＦＩが格納され、第３バイトにはＰＡＲＡＭが格納され、第４バイト、第５バイトには、ＣＲＣ＿Ｂ（Cyclic Redundancy Check Error Detection Code B）が格納される。ＡＦＩは外部機器２が対象とするアプリケーションがインストールされているＩＣカード１を選択するために用いられ、一致するＡＦＩを持つＩＣカード１のみがＲＥＱＢに応答することができる。例えば、外部機器２がクレジット決済サービスを提供する場合であれば金融を示すＡＦＩが格納され、一致するＡＦＩを保持するＩＣカード１のみがＲＥＱＢに応答する。ＰＡＲＡＭには、衝突防止処理に使用するパラメータが格納される。ＣＲＣ＿Ｂは、そのフレーム内の全てのビット（ビット数）から計算される巡回冗長検査符号である。
【００２５】
ＩＣカード１は、ＲＥＱＢを受信すると、第２バイトに格納されているＡＦＩが自ら保持するＡＦＩと一致するか否かを判定し、一致する場合にＡＴＱＢレスポンス（以下、「ＡＴＱＢ」という場合がある）を外部機器２に送信する（ステップＳ２）。
【００２６】
図４に示すように、ＡＴＱＢは１４バイトからなり、第１バイトにはタグ情報として「０ｘ５０」が格納され、第２バイト〜第５バイトにはＰＵＰＩ（Pseudo Unique PICC Identifier）が格納され、第６バイト〜第９バイトにはＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａが格納され、第１０バイト〜第１２バイトには、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏが格納され、第１３バイト、第１４バイトには、ＣＲＣ＿Ｂが格納される。
【００２７】
ＰＵＰＩは仮のカード識別情報であり、衝突防止処理中に外部機器２が特定のＩＣカード１にコマンドを送信するために使用される。外部機器２がＡＴＱＢを受信すると、対応するＨＬＴＢ（コマンド）（Halt Command, Type B）で応答してＩＣカード１を停止させるか、一致するＡＴＴＲＩＢ（コマンド）で応答してＣＩＤ（Card Identifer）を割り当て、ＩＣカード１をアクティブ状態にする。ＩＣカード１は、アクティブ状態になるとトランザクションの準備が完了し、以降、通信が完了するまで他の機器からのＲＥＱＢ、ＡＴＴＲＩＢコマンド及びＨＬＴＢコマンドを無視する。
【００２８】
図５に示すように、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａは４バイトからなり、ＩＣカード１にどのようなアプリケーションがインストールされているかを外部機器２に伝えるための情報が格納される。Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａは、後述するＡＤＣ（Application Data Coding）の値に従って規定され、ＣＲＣ＿Ｂ圧縮符号化（CRC_B compressing coding）又は個別の符号化が適用される。ＣＲＣ＿Ｂ圧縮符号化が適用される場合、第１バイトにはＡＦＩ（ＲＥＱＢの第２バイトに格納されているＡＦＩと同値）が格納される。第２バイト、第３バイトには当該ＡＦＩに一致するＩＣカード１内のアプリケーションのＡＩＤ（Application Identifier Code）であって、ＩＳＯ／ＩＥＣ７８１６−５で定義されているＡＩＤについてＣＲＣ＿Ｂの計算をした結果を示す値が格納される。第４バイトにはＩＣカード１内のアプリケーション数が格納される。
【００２９】
図６に示すように、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏは３バイトからなり、第１バイトには許容ビット伝送速度が格納される。第２バイトのビット０〜ビット３にはプロトコルタイプが格納され、第２バイトのビット４〜ビット７には最大フレームサイズが格納される。第３バイトのビット０〜ビット１にはＦＯ（Flame Option）が格納され、第３バイトのビット２〜ビット３にはＡＤＣが格納され、第３バイトのビット４〜ビット７にはＦＷＩ（Flame Waiting Time Integer）が格納される。許容ビット伝送速度は、106kbps（kbits per second）、212kbps、424kbps、848kbpsの何れの速度で通信可能であるかを示す値である。プロトコルタイプは、ＩＣカード１がＩＳＯ／ＩＥＣ１４４４３−４に準拠しているか否かを示す値である。最大フレームサイズは、ＩＣカード１が受信可能な最大フレーム長を示す値である。
【００３０】
ＦＯは、ＩＣカード１によるＣＩＤ又はＮＡＤ（Node Address(per 14443-4)）のサポートを示す値である。ＡＤＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａの内容を規定しており、ＣＲＣ＿Ｂ圧縮符号化又は個別の符号化の何れを適用するかを示す値である。ＣＲＣ＿Ｂ圧縮符号化が適用されている場合には図５を用いて上述した値がＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａに格納される。一方、個別の符号化が適用されている場合には、Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａには任意の情報が格納される。ＦＷＩは、外部機器２が送信した最後のフレームからＩＣカード１が応答を開始するまでの最大時間であるＦＷＴ（Flame Waiting Time）を定義するための値である。
【００３１】
次に、図７を用いてＩＣカード１にインストールされているアプリケーション（不揮発性メモリ１３に書き込まれているアプリケーション）について説明する。ＩＣカード１には、ＡＰ１、ＡＰ２及びＡＰ３の３つのアプリケーションがインストールされている。ＡＰ１は、全ての応用分野に該当する（換言すれば、分類無し）のアプリケーションである。ＡＰ２は、交通系アプリケーションであり、例えば、交通機関の運賃等の支払サービスを提供するアプリケーションである。ＡＰ３は、金融系アプリケーションであり、例えば、クレジットカード決済サービスを提供するアプリケーションである。
【００３２】
次に、図８を用いて、不揮発性メモリ１３が記憶する初期応答情報設定テーブルについて説明する。初期応答情報設定テーブルは、ＩＣカード１にインストールされている全てのアプリケーションのＡＦＩ毎に、ＡＴＱＢのＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏに格納される値を保持する。すなわち、外部機器２から受信したＲＥＱＢの第２バイトに含まれるＡＦＩと一致するＡＦＩに対応付けられているＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏが、それぞれＡＴＱＢの第６バイト〜第９バイト及び第１０バイト〜第１２バイトにセットされる。
【００３３】
初期応答情報設定テーブルは、ＡＦＩ「０ｘ００」と対応付けてＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａとして「０ｘ００  ０ｘ１２  ０ｘ３４  ０ｘ０３」を記憶し、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏとして「０ｘ００  ０ｘ８１  ０ｘ９１」を記憶する。ＡＦＩ「０ｘ００」は、全ての応用分野に該当し（換言すれば、分類無し）、ＡＰ１からＡＰ３に適用される。また、ＡＦＩ「０ｘ００」に対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏは、許容ビット伝送速度が106kbpsであること、最大フレームサイズが256byteであること、ＡＤＣがＣＲＣ＿Ｂ圧縮符号化であることを示している。なお、一部のシステム（例えば、クレジット仕様(EMV Contactless)に係るシステム等）では、ＲＥＱＢの第２バイト（ＡＦＩ）に「０ｘ００」を使用して通信を開始することがあり、その場合に、ＡＦＩ「０ｘ００」に対応するＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏを含むＡＴＱＢが送信されることになる。このようなケースでは、通信開始時にＡＦＩによりＩＣカードを選別せず、通信確立後に実行するＳＥＬＥＣＴコマンドにおいて必要な機能（ＡＰ１〜ＡＰ３）がＩＣカードに搭載されているか否かを確認することとなる。
【００３４】
また、初期応答情報設定テーブルは、ＡＦＩ「０ｘ１０」と対応付けてＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａとして「０ｘ１０  ０ｘ５６  ０ｘ７８  ０ｘ０１」を記憶し、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏとして「０ｘ７７  ０ｘ８１  ０ｘ９１」を記憶する。ＡＦＩ「０ｘ１０」は、交通系の応用分野に該当し、ＡＰ２に適用される。また、ＡＦＩ「０ｘ１０」に対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏは、許容ビット伝送速度が106kbps、212kbps、424kbps、848kbpsであること、最大フレームサイズが256byteであること、ＡＤＣがＣＲＣ＿Ｂ圧縮符号化であることを示している。
【００３５】
更に、初期応答情報設定テーブルは、ＡＦＩ「０ｘ２０」と対応付けてＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａとして「０ｘ００  ０ｘ００  ０ｘ００  ０ｘ００」を記憶し、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏとして「０ｘ００  ０ｘＡ１  ０ｘ９５」を記憶する。ＡＦＩ「０ｘ２０」は、金融系の応用分野に該当し、ＡＰ３に適用される。また、ＡＦＩ「０ｘ２０」に対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏは、許容ビット伝送速度が106kbpsであること、最大フレームサイズが1024byteであること、ＡＤＣが独自の符号化であることを示している。
【００３６】
なお、許容ビット伝送速度や最大フレームサイズはアプリケーションの処理性能等に応じて決定される。図８の例では、ＡＦＩが「０ｘ１０」であるＡＰ２が実行される場合には、ＩＣカード１と外部機器２の間で最大848kbpsの速度で通信が行われ、ＡＦＩが「０ｘ００」であるＡＰ１やＡＦＩが「０ｘ２０」であるＡＰ３が実行される場合には、最大106kbpsの速度で通信が行われる。つまり、ＡＰ２はＡＰ１やＡＰ３よりも高速通信に対応可能な処理性能を有しているため、ＡＰ１やＡＰ３よりも許容ビット伝送速度が高く設定されている。また、ＡＦＩが「０ｘ２０」であるＡＰ３が実行される場合には、ＩＣカード１と外部機器２の間で最大フレームサイズ「1024byte」で通信が行われ、ＡＦＩが「０ｘ００」であるＡＰ１やＡＦＩが「０ｘ１０」であるＡＰ２が実行される場合には、最大フレームサイズ「256byte」で通信が行われる。つまり、ＡＰ３はＡＰ１やＡＰ２よりも大きなデータの通信に対応可能な処理性能を有しているため、ＡＰ１やＡＰ２よりも最大フレームサイズが大きく設定されている。これにより、インストールされているアプリケーションのそれぞれの性能を充分に発揮できるようなＰｒｏｔｏｃｏｌ  Ｉｎｆｏを含むＡＴＱＢを外部機器２に送信することができる。
【００３７】
次に、図９、図１０を用いて、ＲＥＱＢの第２バイト（ＡＦＩ）が「０ｘ００」である場合及び「０ｘ１０」である場合における、ＩＣカード１と外部機器２の通信開始時における初期化及び衝突防止処理のコマンドシーケンスについて説明する。
【００３８】
図９に示すように、ＩＣカード１が、第２バイト（ＡＦＩ）が「０ｘ１０」であるＲＥＱＢを外部機器２から受信すると（ステップＳ１Ａ）、ＩＣカード１は、初期応答情報設定テーブルにおいてＡＦＩ「０ｘ１０」と対応付けて記憶されているＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ「０ｘ１０  ０ｘ５６  ０ｘ７８  ０ｘ０１」と、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏ「０ｘ７７  ０ｘ８１  ０ｘ９１」を含むＡＴＱＢを生成し、外部機器２に送信する（ステップＳ２Ａ）。
【００３９】
図１０に示すように、ＩＣカード１が、第２バイト（ＡＦＩ）が「０ｘ００」であるＲＥＱＢを外部機器２から受信すると（ステップＳ１Ｂ）、ＩＣカード１は、初期応答情報設定テーブルにおいてＡＦＩ「０ｘ００」と対応付けて記憶されているＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ「０ｘ００  ０ｘ１２  ０ｘ３４  ０ｘ０３」と、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏ「０ｘ００  ０ｘ８１  ０ｘ９１」を含むＡＴＱＢを生成し、外部機器２に送信する（ステップＳ２Ｂ）。
【００４０】
次に、図１１のフローチャートを用いて、ＩＣカード１を構成するＩＣチップ１ａのＣＰＵ１０によるＲＥＱＢ受信時処理について説明する。
【００４１】
まず、ＣＰＵ１０は、外部機器２からＲＥＱＢを受信すると（ステップＳ１０１）、ＲＥＱＢに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致するか否かを判定する（ステップＳ１０２）。ＣＰＵ１０は、ＲＥＱＢに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致しないと判定した場合には（ステップＳ１０２：ＮＯ）、ＲＥＱＢ受信時処理を終了する。一方、ＣＰＵ１０は、ＲＥＱＢに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致すると判定した場合には（ステップＳ１０２：ＹＥＳ）、次いで、初期応答情報設定テーブルから当該ＡＦＩに対応するＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏを取得する（ステップＳ１０３）。
【００４２】
次に、ＣＰＵ１０は、ステップＳ１０３の処理で取得したＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ及びＰｒｏｔｏｃｏｌ  Ｉｎｆｏをそれぞれ外部機器２に送信するＡＴＱＢの第６バイト〜第９バイト及び第１０バイト〜第１２バイトにセットする（ステップＳ１０４）。
【００４３】
次に、ＣＰＵ１０は、外部機器２に送信するＡＴＱＢの他の項目（すなわち、第１バイト〜第５バイト、第１３バイト、第１４バイト）にセットすべき情報をセットし（ステップＳ１０５）、ＡＴＱＢを外部機器２に送信し（ステップＳ１０６）、ＲＥＱＢ受信時処理を終了する。
【００４４】
以上説明したように、本実施形態のＩＣチップ１ａは、不揮発性メモリ１３（「アプリケーションプログラム記憶手段」、「プロトコル記憶手段」の一例）が、複数のアプリケーションを記憶し、当該アプリケーションプログラムの応用分野を示すＡＦＩ（「応用分野情報」）毎に、外部機器２と通信を行う際のプロトコルを示すＰｒｏｔｏｃｏｌ  Ｉｎｆｏ（「プロトコル情報」の一例）を対応付けて記憶し、ＣＰＵ１０（「受信手段」、「送信手段」の一例）が、ＡＦＩを含むＲＥＱＢ（「要求情報」の一例）を外部機器２から受信し、不揮発性メモリ１３が記憶するＰｒｏｔｏｃｏｌ  Ｉｎｆｏであって、受信したＲＥＱＢに含まれるＡＦＩに対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏを含むＡＴＱＢ（「応答情報」の一例）を外部機器２に送信する。
【００４５】
したがって、本実施形態のＩＣチップ１ａによれば、アプリケーションの応用分野を示すＡＦＩ毎に外部機器２と通信を行う際のプロトコルを示すＰｒｏｔｏｃｏｌ  Ｉｎｆｏが対応付けて記憶されており、外部機器２からＲＥＱＢを受信した場合に、当該ＲＥＱＢに含まれるＡＦＩに対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏを含むＡＴＱＢが外部機器２に送信される。よって、アプリケーションに対応するＡＦＩ毎に、当該アプリケーションの処理能力に応じたＰｒｏｔｏｃｏｌ  Ｉｎｆｏを対応付けて記憶させておくことにより、複数のアプリケーションのそれぞれの性能を充分に発揮できるようなＰｒｏｔｏｃｏｌ  Ｉｎｆｏを含むＡＴＱＢを外部機器２に送信することができる。
【００４６】
また、本実施形態のＩＣチップ１ａにおいて、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏは、外部機器２との通信における許容ビット伝送速度（「上限となるデータ転送速度を示す速度情報」の一例）を含む。これにより、アプリケーションのそれぞれの性能を充分に発揮できるような許容ビット伝送速度を含むＡＴＱＢを外部機器２に送信することができる。
【００４７】
また、本実施形態のＩＣチップ１ａにおいて、Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏは、外部機器２との通信における最大フレームサイズ（「上限となるフレームサイズを示すサイズ情報」の一例）を含む。これにより、アプリケーションのそれぞれの性能を充分に発揮できるような最大フレームサイズを含むＡＴＱＢを外部機器２に送信することができる。
【００４８】
［６．変形例］
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
【００４９】
［６．１．変形例１］
上記実施形態では、初期応答情報設定テーブルにより、ＡＴＱＢにセットするＡｐｐｌｉｃａｔｉｏｎ  Ｄａｔａと、Ｐｒｏｔｏｃｏｌ  ＩｎｆｏをＡＦＩと対応付けて記憶することとしたが、これに代えて、初期応答情報設定テーブルにより、Ｐｒｏｔｏｃｏｌ  ＩｎｆｏのみをＡＦＩと対応付けて記憶することとしてもよい。
【００５０】
変形例１では、ＣＰＵ１０は、図１１のステップＳ１０３の処理で、初期応答情報設定テーブルからＡＦＩに対応するＰｒｏｔｏｃｏｌ  Ｉｎｆｏを取得し、ステップＳ１０４の処理で、当該Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏを外部機器２に送信するＡＴＱＢの第１０バイト〜第１２バイトにセットする（ステップＳ１０４）。そして、ＣＰＵ１０は、ステップＳ１０５の処理で、外部機器２に送信するＡＴＱＢの他の項目（すなわち、第１バイト〜第９バイト、第１３バイト、第１４バイト）にセットすべき情報をセットし（ステップＳ１０５）、ＡＴＱＢを外部機器２に送信し（ステップＳ１０６）、ＲＥＱＢ受信時処理を終了する。変形例１によれば、初期応答情報設定テーブルのデータサイズを小さくすることができる。
【００５１】
［６．２．変形例２］
上記実施形態では、通信方式がＴｙｐｅＢである場合について説明したが、変形例２では通信方式がＦｅｌｉＣａ（登録商標）である場合について説明する。以下、変形例２では、上記実施形態との差異点を中心に説明する。Ｆｅｌｉｃａの場合、ＲＥＱＢ（コマンド）の代わりにＲＥＱ（コマンド）が外部機器２からＩＣカード１に送信され、ＡＴＱＢの代わりにＡＴＱ（レスポンス）がＩＣカード１から外部機器２に送信される。以下、図１２〜図１４を用いてＲＥＱ及びＡＴＱについて説明し、図１５を用いて変形例２における初期応答情報設定テーブルについて説明し、図１６を用いて変形例２におけるＲＥＱ受信時処理について説明する。なお、変形例２は、ＪＩＳ  Ｘ  ６３１９−４：２０１６に従う場合の例である。
【００５２】
図１２に示すように、ＲＥＱは５バイトからなり、第１バイトにはコマンドコードとして「０ｘ００」が格納され、第２バイト、第３バイトにはシステムコードが格納され、第４バイトにはリクエストコードが格納され、第５バイトにはタイムスロット数が格納される。システムコードの１バイト目は固定値「０ｘＡＡ」が格納され、システムコードの２バイト目には、ＡＦＩが格納される。リクエストコードには、「０ｘ００」、「０ｘ０１」、「０ｘ０２」が格納され、「０ｘ００」はリクエストデータを含まない応答を要求することを意味し、「０ｘ０１」はＲＥＱにシステムコードを含めた応答を要求することを意味し、「０ｘ０２」は、ＲＥＱに伝送能力情報を含めた応答を要求することを意味する。なお、本願では、リクエストコードとして「０ｘ０２」が格納される。タイムスロット数には、衝突を回避するためにＩＣカード１が対応すべきタイムスロットの最大値を符号化したものが格納される。
【００５３】
図１３に示すように、ＲＥＱのリクエストコードに「０ｘ０２」が格納されていた場合のＡＴＱは１９バイトからなり、第１バイトにはレスポンスコードとして「０ｘ０１」が格納され、第２バイト〜第９バイトにはＰＩＣＣ（proximity IC card）識別子が格納され、第１０バイト〜第１７バイトには応答時間記述子が格納され、第１８バイト、第１９バイトにはリクエストデータが格納される。ＰＩＣＣ識別子は、「０ｘ０２ＦＥ」（２バイト）とＰＩＣＣ識別番号（６バイト）により構成される。応答時間記述子は、コマンドに対するＩＣカード１の応答時間の算出に使われる８バイトの情報である。
【００５４】
図１４は、ＲＥＱのリクエストコードに「０ｘ０２」が格納されていた場合のＡＴＱにおけるリクエストデータの一例を示す図である。リクエストデータは２バイトからなり、第１バイトには固定値（「０ｘ００」）が格納される。２バイト目は伝送能力情報を示し、ビット７は、伝送速度自動検出能力の有無を示し、ビット６〜ビット４は、固定値（１１１ｂ）が格納され、ビット３〜ビット０は、それぞれ、ｆｃ／８（1695kbps）、ｆｃ／１６（848kbps）、ｆｃ／３２（424kbps）、ｆｃ／６４（212kbps）の伝送速度対応能力を示す（「１」が格納されていれば対応可能であることを意味する）。
【００５５】
図１５は、変形例２における、不揮発性メモリ１３が記憶する初期応答情報設定テーブルの一例である。初期応答情報設定テーブルは、ＩＣカード１にインストールされている全てのアプリケーションのＡＦＩ毎に、ＡＴＱのリクエストデータに格納される値を保持する。すなわち、外部機器２から受信したＲＥＱの第３バイトに含まれるＡＦＩと一致するＡＦＩに対応付けられているリクエストデータが、それぞれＡＴＱの第１８バイト、第１９バイトにセットされる。
【００５６】
変形例２における初期応答情報設定テーブルは、ＡＦＩ「０ｘＦＦ」と対応付けてリクエストデータ「０ｘ００  ０ｘ０１（0000 0000 0000 0001b）」を記憶し、ＡＦＩ「０ｘ１１」と対応付けてリクエストデータ「０ｘ００  ０ｘ０３（0000 0000 0000 0011b）」を記憶し、ＡＦＩ「０ｘ２１」と対応付けてリクエストデータ「０ｘ００  ０ｘ０１（0000 0000 0000 0001b）」を記憶する。リクエストデータ「０ｘ００  ０ｘ０１」は、ＩＣカード１がｆｃ／６４（212kbps）の伝送速度に対応することを意味し、リクエストデータ「０ｘ００  ０ｘ０３」は、ＩＣカード１がｆｃ／６４（212kbps）及びｆｃ／３２（424kbps）の伝送速度に対応することを意味する。なお、変形例２においても初期応答情報設定テーブルは、ＩＣカード１にインストールされているアプリケーションのＡＦＩ毎にリクエストデータを記憶することとする。
【００５７】
次に、図１６のフローチャートを用いて、ＩＣカード１を構成するＩＣチップ１ａのＣＰＵ１０によるＲＥＱ受信時処理について説明する。
【００５８】
まず、ＣＰＵ１０は、外部機器２からＲＥＱを受信すると（ステップＳ２０１）、ＲＥＱに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致するか否かを判定する（ステップＳ２０２）。ＣＰＵ１０は、ＲＥＱに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致しないと判定した場合には（ステップＳ２０２：ＮＯ）、ＲＥＱ受信時処理を終了する。一方、ＣＰＵ１０は、ＲＥＱに含まれるＡＦＩと、初期応答情報設定テーブルのＡＦＩが一致すると判定した場合には（ステップＳ２０２：ＹＥＳ）、次いで、ＡＴＱの第１バイト〜第１７バイトの項目をセットする（ステップＳ２０３）。
【００５９】
次に、ＣＰＵ１０は、ＲＥＱに含まれるリクエストコードが「０ｘ０２」であるか否かを判定する（ステップＳ２０４）。ＣＰＵ１０は、リクエストコードが「０ｘ０２」であると判定した場合には（ステップＳ２０４：ＹＥＳ）、初期応答情報設定テーブルからＲＥＱに含まれるＡＦＩに対応するリクエストデータを取得し（ステップＳ２０５）、当該取得したリクエストデータを外部機器２に送信するＡＴＱの第１８バイト〜第１９バイトにセットし（ステップＳ２０６）、次いで、ＡＴＱを外部機器２に送信し（ステップＳ２１０）、ＲＥＱ受信時処理を終了する。
【００６０】
一方、ＣＰＵ１０は、リクエストコードが「０ｘ０２」ではないと判定した場合には（ステップＳ２０４：ＮＯ）、次いで、ＲＥＱに含まれるリクエストコードが「０ｘ０１」であるか否かを判定する（ステップＳ２０７）。ＣＰＵ１０は、リクエストコードが「０ｘ０１」であると判定した場合には（ステップＳ２０７：ＹＥＳ）、ＩＣカード１に設定されているシステムコードを取得し（ステップＳ２０８）、当該取得したシステムコードを外部機器２に送信するＡＴＱの第１８バイト〜第１９バイトにセットし（ステップＳ２０９）、次いで、ＡＴＱを外部機器２に送信し（ステップＳ２１０）、ＲＥＱ受信時処理を終了する。
【００６１】
ＣＰＵ１０は、ステップＳ２０７の処理においてリクエストコードが「０ｘ０１」ではない（「０ｘ００」である）と判定した場合には（ステップＳ２０７：ＮＯ）、リクエストデータを持たない１７バイトのＡＴＱを外部機器２に送信し（ステップＳ２１０）、ＲＥＱ受信時処理を終了する。
【００６２】
以上説明したように、変形例２におけるＩＣチップ１ａは、不揮発性メモリ１３（「アプリケーションプログラム記憶手段」、「プロトコル記憶手段」の一例）が、複数のアプリケーションを記憶し、当該アプリケーションプログラムの応用分野を示すＡＦＩ（応用分野情報）毎に、外部機器２と通信を行う際の伝送能力情報（「プロトコル情報」の一例）を含むリクエストデータを対応付けて記憶し、ＣＰＵ１０（「受信手段」、「送信手段」の一例）が、ＡＦＩを含むＲＥＱ（「要求情報」の一例）を外部機器２から受信し、不揮発性メモリ１３が記憶するリクエストデータであって、受信したＲＥＱに含まれるＡＦＩに対応するリクエストデータを含むＡＴＱ（「応答情報」の一例）を外部機器２に送信する。
【００６３】
したがって、本実施形態のＩＣチップ１ａによれば、アプリケーションの応用分野を示すＡＦＩ毎に外部機器２と通信を行う際の伝送能力情報を含むリクエストデータが対応付けて記憶されており、外部機器２からＲＥＱを受信した場合に、当該ＲＥＱに含まれるＡＦＩに対応するリクエストデータを含むＡＴＱが外部機器２に送信される。よって、アプリケーションに対応するＡＦＩ毎に、当該アプリケーションの処理能力に応じた伝送能力情報を含むリクエストデータを対応付けて記憶させておくことにより、複数のアプリケーションのそれぞれの性能を充分に発揮できるような伝送能力情報を含むＡＴＱを外部機器２に送信することができる。
【符号の説明】
【００６４】
１  ＩＣカード
１ａ  ＩＣチップ
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  不揮発性メモリ
１４  Ｉ／Ｏ回路
１ｂ  アンテナ
２  外部機器
【図１】
2020123017.tif 000003
【図２】
2020123017.tif 000004
【図３】
2020123017.tif 000005
【図４】
2020123017.tif 000006
【図５】
2020123017.tif 000007
【図６】
2020123017.tif 000008
【図７】
2020123017.tif 000009
【図８】
2020123017.tif 000010
【図９】
2020123017.tif 000011
【図１０】
2020123017.tif 000012
【図１１】
2020123017.tif 000013
【図１２】
2020123017.tif 000014
【図１３】
2020123017.tif 000015
【図１４】
2020123017.tif 000016
【図１５】
2020123017.tif 000017
【図１６】
2020123017.tif 000018