(57)【要約】【課題】  タイミング規定値が異なる複数の通信プロトコルを１枚のＩＣカードに実装した場合であっても、アプリケーションに適した通信プロトコルに自動的に切替えることができ、かつメモリを有効に活用できるＩＣカードを提供する。【解決手段】  ＩＣカードが有する通信プロトコルモジュール３０は、動作するときのタイミング規定値を決定する動作タイミングパラメータ３０ａを有している。選択コマンド３１がアプリケーション３２を選択し実行するときは、動作タイミングパラメータ３０ａをアプリケーション３２が有するアプリケーションタイミングパラメータ３２ａに更新する。更新後の通信プロトコルモジュール３０のタイミング的な振る舞いは、更新された動作タイミングパラメータ３０ａによって規定される。よって、メモリには、複数のアプリケーションタイミングパラメータ３２ａのみを実装すればよく、メモリを有効に活用できる。【選択図】      図３
2006209172.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを有するＩＣカードであって、前記ＩＣカードは、前記アプリケーションを選択し実行する選択部と、外部装置とデータ通信する通信プロトコル部とを備え、前記通信プロトコル部は、前記通信プロトコルが動作するときのタイミング規定値を決定するタイミングパラメータを書換え可能なメモリに記憶し、前記アプリケーションは前記アプリケーションが対応する前記通信プロトコルに対応した前記タイミングパラメータを有し、前記選択部は前記アプリケーションを選択し実行する際に、前記書換え可能なメモリに記憶された前記タイミングパラメータを、選択し実行する前記アプリケーションが有する前記タイミングパラメータに更新することを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードにおいて、前記通信プロトコルは前記タイミングパラメータのデフォルト値を有し、前記選択部は選択し実行する前記アプリケーションが前記タイミングパラメータを有さない場合は、前記通信プロトコル部が有する前記タイミングパラメータを前記デフォルト値に更新することを特徴とするＩＣカード。
【請求項３】
ＩＣカードに実装されるプログラムであって、ＩＣカードに請求項１または請求項２に記載した前記選択部の機能および前記通信プロトコル部の機能を実現するためのＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クレジットカードサイズのプラスチックカードに半導体集積回路を埋め込んだＩＣカードに関し、更に詳しくは、仕様の異なる複数の通信プロトコルを実装できるＩＣカードに関する。
【背景技術】
【０００２】
従来、ＩＣカードは、１つのアプリケーションを１枚のＩＣカードに実装していたため、ＩＣカードに実装される通信プロトコルも１つの通信プロトコルを実装さえすればよかった。しかし、近年のＩＣカード用チップの高機能化を受けて、複数のアプリケーションを１枚のＩＣカードに実装できるマルチアプリケーションＩＣカードが主流になりつつあるため、複数のシステムに対応すべく、複数の通信プロトコルをも１枚のマルチアプリケーションＩＣカードに実装できることが要求されている。
【０００３】
例えば、ＩＳＯ７８１６規格と金融決済系規格（例えば、ＥＭＶ規格）では、同様な通信プロトコル（例えば、ブロック伝送通信プロトコル）にも関わらず、若干、通信プロトコルの仕様は異なる。このため、アプリケーションとして、ＩＳＯ７８１６規格に準拠したアプリケーションと金融決済系規格（例えば、ＥＭＶ規格）に準拠したアプリケーションの２つを１枚のマルチアプリケーションＩＣカードに実装するときは、２つの異なる通信プロトコルも１枚のマルチアプリケーションＩＣカードに実装する必要がある。
【０００４】
１枚のＩＣカードに複数の異なる通信プロトコルを実装できる技術として、本出願人は既に、特許文献１の発明を開示している。特許文献１は、ＩＣカードに第１、第２の通信プロトコルを実装し、リーダライタから送信される選択データによって、前記第１、第２の通信プロトコルを切替えるものである。
【０００５】
しなしながら、上述した技術においては、ＩＣカードが利用される上位システムは、ＩＣカードの通信プロトコルを切替えるために、ＩＣカードが有する通信プロトコルの切替え手順を予め把握している必要がある。例えば、特許文献１においては、上位システムは、通信プロトコルを切替える手順として、選択データを送信する手順を知っていなければならず、この手順を知らない上位システムでは、通信プロトコルを切替えることができずトラブルが発生してしまう問題がある。
【０００６】
また、上述した金融決済系規格の通信プロトコルとＩＳＯ７８１６規格の通信プロトコルとでは、通信プロトコルの仕様の差分はタイミング規定値（例えば、キャラクター待ち時間等）のみであり、２つの通信プロトコルのプログラムコードすべてをメモリ（例えばＲＯＭ、Read Only Memory）に実装することは、メモリを有効に活用できない問題もある。
【特許文献１】特開２００２−３０４６０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明は上述の問題を鑑みて、タイミング規定値が異なる複数の通信プロトコルを１枚のＩＣカードに実装した場合、上位システムがＩＣカードに備えられている通信プロトコルの切替え手順を予め把握していなくても、アプリケーションに対応して通信プロトコルが自動的に切り替わることができ、かつメモリを有効に活用できるＩＣカードおよびＩＣカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する第１の発明は、複数のアプリケーションを有するＩＣカードであって、前記ＩＣカードは、前記アプリケーションを選択し実行する選択部と、外部装置とデータ通信する通信プロトコル部とを備え、前記通信プロトコル部は、前記通信プロトコルが動作するときのタイミング規定値を決定するタイミングパラメータを書換え可能なメモリに記憶し、前記アプリケーションは前記アプリケーションが対応する前記通信プロトコルに対応した前記タイミングパラメータを有し、前記選択部は前記アプリケーションを選択し実行する際に、前記書換え可能なメモリに記憶された前記タイミングパラメータを、選択し実行する前記アプリケーションが有する前記タイミングパラメータに更新することを特徴とするＩＣカードである。
【０００９】
好ましくは、第１の発明のＩＣカードにおいて、前記通信プロトコルは前記タイミングパラメータのデフォルト値を有し、前記選択部は選択し実行する前記アプリケーションが前記タイミングパラメータを有さない場合は、前記通信プロトコル部が有する前記タイミングパラメータを前記デフォルト値に更新することが望ましい。
【００１０】
更に、上述した課題を解決する第２の発明は、ＩＣカードに実装されるプログラムであって、第１の発明に記載した前記選択部及び前記通信プロトコル部を実現するためのＩＣカード用プログラムである。
【発明の効果】
【００１１】
上述した本発明によれば、タイミング規定値が異なる複数の通信プロトコルを１枚のＩＣカードに実装した場合であっても、前記タイミングパラメータが前記アプリケーションに対応した値に自動的に更新されるため、上位システムは通信プロトコルの切り替え手順を意識する必要はなくなり、アプリケーションが動作するときに通信プロトコルの差異によって生じるトラブルを無くすことができる。
【００１２】
また、本発明によれば、タイミング規定値が異なる複数の通信プロトコルを１枚のＩＣカードに実装した場合においても、複数の通信プロトコルをメモリに実装する必要はなく、複数の前記タイミングパラメータのみをメモリに実装すればよく、メモリを有効に活用することができる。加えて、前記通信プロトコル部が前記デフォルト値を有することで、例え前記タイミングパラメータを有さないアプリケーションが実装された場合でも、ＩＣカードは支障なく動作する。
【発明を実施するための最良の形態】
【００１３】
本発明を適用したマルチアプリケーションＩＣカード（以下、単にＩＣカードと略す）について、図を参照しながら詳細に説明する。図１は、本発明を適用したＩＣカード１０を説明する図である。図１（ａ）はＩＣカード１０の斜視図である。図１（ａ）で示したように、ＩＣカード１０はキャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにＩＣモジュール１１がエンベットされた接触型ＩＣカードである。
【００１４】
図２は、ＩＣモジュール１１に内蔵されるＩＣチップ２０のハードウェア構造図である。図２に示したように、ＩＣチップには、中央演算装置２１（Central Processing Unit、以下ＣＰＵと記す）、読み出し専用メモリ２２（Read Only Memory、以下ROMと記す）、書換え可能なメモリとしてＥＥＰＲＯＭ２４（Electrically Erasable Programmable Read-Only Memoryの略）、揮発性メモリとしてランダムアクセスメモリ２３（Random Access Memory、以下ＲＡＭと記す）およびリーダライタとデータ通信するためのＩ／Ｏ回路２５、指定された時間を計測するタイマー回路２６が少なくとも備なえられている。
【００１５】
なお、本発明は、ＩＣチップ２０の仕様を限定するものではなく、用途に適した仕様のＩＣチップ２０を選択することができる。例えばＲＯＭ２２およびＥＥＰＲＯＭ２４の容量について限定はしないし、書換え可能なメモリは強誘電体メモリまたはフラッシュメモリ等のＥＥＰＲＯＭ以外のメモリであっても構わない。また、ＩＣチップ２０は暗号演算回路やコプロセッサ回路等の図示していない他のデバイスを備えていても構わない。
【００１６】
加えて、本実施の形態においてはＩＣカードを接触型ＩＣカードとしているが、ＩＣカードはアンテナコイルを内蔵し非接触でリーダライタとデータ通信する非接触型ＩＣカード、または接触によるデータ通信と非接触によるデータ通信の２つの通信機能を兼ね備えたデュアルインターフェース型ＩＣカードであってもよく、ＩＣカードの形状はＳＩＭ（Subscriber Identity Module）形状であってもよい。
【００１７】
図３は、本発明に係わり、ＩＣカード１０に実装されるソフトウェアのブロック図である。本実施の形態においてはソフトウェアとして、２つのアプリケーション３２（アプリケーションＡとアプリケーションＢ）と、オペレーティングシステム（Operating System、以下ＯＳ）が有する選択コマンド３１と、通信プロトコルモジュール３０を備えている。
【００１８】
上述した各プログラムは、ＣＰＵ２１に１連の処理を実行させるために設計されたプログラムで、ＩＣチップ２０に備えられた各デバイスを制御することで、それぞれのプログラムが有する機能は実現される。
【００１９】
通信プロトコルモジュール３０とは、Ｉ／Ｏ回路２５を操作し、リーダライタ４０とデータ通信するためのプログラムで、ＲＯＭ２２に実装されている。本実施の形態の形態においては、通信プロトコルモジュール３０は、動作時のタイミング規定値を決定するデータとして動作タイミングパラメータ３０ａを有し、動作タイミングパラメータ３０ａはＩＣチップ２０の揮発性メモリであるＲＡＭ２３に記憶される。
【００２０】
通信プロトコルモジュール３０が動作するときは、通信プロトコルモジュール３０は、タイマー回路２６を利用して、ＲＡＭ２３に記憶された動作タイミングパラメータ３０ａに基づく時間を計測する。よって、ＲＡＭ２３に記憶される動作タイミングパラメータ３０ａを変更することで、通信プロトコルモジュール３０はタイミング的に異なった振る舞いを行うことができる。
【００２１】
なお、通信プロトコルモジュール３０は動作タイミングパラメータ３０ａのデフォルト値３０ｂ（以下、単にデフォルト値と記す）を有し、ＩＣカード１０が活性化された時は、通信プロトコルモジュール３０は動作タイミングパラメータ３０ａをデフォルト値３０ｂに設定する。なお、デフォルト値３０ｂはＲＯＭ２２またはＥＥＰＲＯＭ２４に記憶される。
【００２２】
アプリケーション３２とはある用途のために設計されたプログラムで、ＥＥＰＲＯＭ２４には複数のアプリケーション３２が実装される。図３では、ＥＥＰＲＯＭ２４に２つのアプリケーション３２（アプリケーションＡ、Ｂ）が実装されているが、本発明はＥＥＰＲＯＭ２４に実装されるアプリケーション３２の数を何ら規定するものではない。また、アプリケーション３２はプログラムのすべてもしくは一部がＲＯＭ２２に実装される場合もあり得る。
【００２３】
図３に示したように、上位システムが対応している通信プロトコルのタイミング規定値に適合するために、アプリケーション３２はアプリケーションタイミングパラメータ３２ａを有する。アプリケーションタイミングパラメータ３２ａは、例えば、アプリケーション３２が定義されるＤＦ（Dedicated File）が有する１つのデータとして記憶され、アプリケーション３２が選択し実行される時に後述する選択コマンド３１によって、動作タイミングパラメータ３０ａとしてＲＡＭ２３に設定される。
【００２４】
選択コマンド３１とはＯＳが有するシステムコマンドに含まれ、アプリケーション３２を選択し実行する機能を備え、ＲＯＭ２２に実装されている。リーダライタ４０からＩＣカード１０に送信される選択コマンド３１には、少なくともアプリケーション３２を識別するためのアプリケーション識別情報（例えば、ＩＳＯ７８１６規格のＡＩＤ、Application IDentification）が含まれる。
【００２５】
選択コマンド３１がリーダライタ４０からＩＣカード１０に伝送されると、選択コマンド３１に含まれるアプリケーション識別情報に従い、ＩＣカード１０に実装されたアプリケーション３２は選択し実行される。
【００２６】
選択コマンド３１がアプリケーション３２を選択し実行する際は、選択コマンド３１は、選択されたアプリケーション３２のアプリケーションタイミングパラメータ３２ａをＤＦ等から探索し、アプリケーションタイミングパラメータ３２ａを有している場合は、動作タイミングパラメータ３０ａを探索したアプリケーションタイミングパラメータ３２ａに更新する。なお、アプリケーションタイミングパラメータ３２ａを有しないアプリケーション３２が選択された場合、選択コマンド３１は、動作タイミングパラメータ３０ａを上述したデフォルト値３０ｂに設定する。
【００２７】
例えば、図３においては、アプリケーション３２としてアプリケーション（Ａ）が選択された場合は、選択コマンド３１によって、通信プロトコルモジュール３０の動作タイミングパラメータ３０ａは、アプリケーション（Ａ）が有するアプリケーションタイミングパラメータ３２ａに更新される。また、アプリケーション３２としてアプリケーション（Ｂ）が選択された場合は、アプリケーション（Ｂ）はアプリケーションタイミングパラメータ３２ａを有さないので、動作タイミングパラメータ３０ａはデフォルト値３０ｂに更新される。
【００２８】
図４は、動作タイミングパラメータ３０ａを更新する動作手順を示したフロー図である。動作手順の最初のステップにおいて、ＩＣカード１０は活性化される（ステップＳ１０）。ＩＣカード１０の活性化はＩＳＯ７８１６規格の手順に従い活性化される。次のステップでは、ＩＣカード１０はリーダライタ４０から選択コマンド３１を受信する（ステップＳ１１）。ＩＣカード１０が選択コマンド３１を受信すると、受信した選択コマンド３１に含まれるアプリケーション識別情報に基づき、アプリケーション３２は選択し実行される。
【００２９】
アプリケーション３２が選択し実行される際は、選択コマンド３１は、アプリケーション識別情報で特定されるアプリケーション３２が有するアプリケーションタイミングパラメータ３２ａを探索する（ステップＳ１２）。アプリケーションタイミングパラメータ３２ａがある場合はステップＳ１４に進み、アプリケーションタイミングパラメータ３２ａがない場合はステップＳ１５に進む（ステップＳ１３）。
【００３０】
アプリケーションタイミングパラメータ３２ａがある場合は、選択コマンド３１は、通信プロトコルモジュール３０がＲＡＭ２３に記憶している動作タイミングパラメータ３０ａを、探索したアプリケーションタイミングパラメータ３２ａに更新して、処理を終了する（ステップＳ１４）。アプリケーションタイミングパラメータ３２ａがない場合は、選択コマンド３１は、通信プロトコルモジュール３０がＲＡＭ２３に記憶している動作タイミングパラメータ３０ａをデフォルト値３０ｂに更新して、処理を終了する（ステップＳ１５）。
【００３１】
ステップＳ１４もしくはステップＳ１５以降の通信プロトコルモジュール３０の振る舞いは、更新された動作タイミングパラメータ３０ａによって規定される。
【図面の簡単な説明】
【００３２】
【図１】ＩＣカードの斜視図。
【図２】ＩＣチップのハードウェアブロック図。
【図３】ＩＣカードのソフトウェアブロック図。
【図４】動作タイミングパラメータを更新する手順を示したフロー図。
【符号の説明】
【００３３】
１０  ＩＣカード
２２  ＲＯＭ
２３  ＲＡＭ
２４  ＥＥＰＯＲＭ
３０  通信プロトコルモジュール
３０ａ  動作タイミングパラメータ
３０ｂ  動作タイミングパラメータのデフォルト値
３１  選択コマンド
３２  アプリケーション
３２ａ  アプリケーションタイミングパラメータ
【図１】
2006209172.tif 000003
【図２】
2006209172.tif 000004
【図３】
2006209172.tif 000005
【図４】
2006209172.tif 000006