(57)【要約】【課題】共通のコマンドセットを使用する非マルチアプリケーションＯＳを搭載したＩＣカードにおいて、安価にマルチアプリケーションＩＣカードを実現する。【解決手段】複数のアプリケーションが使用する共通のコマンドセット（３）が搭載されたＩＣカードにおいて、前記共通のコマンドセットの中から各アプリケーションが使用するコマンドセットを規定したコマンドテーブルが備えられ、各アプリケーションはコマンドテーブルを指定するためのデータを保持するようにしたものである。【選択図】　　　　図１
2004013586.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションが使用する共通のコマンドセットが搭載されたＩＣカードにおいて、前記共通のコマンドセットの中から各アプリケーションが使用するコマンドセットを規定したコマンドテーブルが備えられ、各アプリケーションはコマンドテーブルを指定するためのデータを保持していることを特徴とするコマンドセット指定機能を有するＩＣカード。
【請求項２】
アプリケーションが保持するコマンドテーブルにないコマンドセットを使用するとき、アプリケーションに他のコマンドテーブルを書き込むことにより他のコマンドセットが使用可能であることを特徴とする請求項１記載のＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は異なるコマンド体系をもつアプリケーションを同時に複数搭載することができるＩＣカードに関する。
【０００２】
【従来の技術】
複数のアプリケーションを搭載することが可能なＩＣカードとしては、図７、図８に示す２つのタイプのものが存在する。
図７は複数のアプリケーションが共通のコマンドセットを実行するタイプのＩＣカードである。
ハードウェア１上に各アプリケーションやデータの管理、コマンドの解読や実行、全体の制御をつかさどるＯＳ２が搭載され、さらに各アプリケーションが共通に使用するコマンドセット３が搭載され、これらＯＳやコマンドセットはＩＣカードのＲＯＭに格納される。搭載されるアプリケーション１、アプリケーション２はそれぞれが使用するデータ１、データ２と共に、不揮発性メモリに格納され、各アプリケーション間はファイヤウォール４でデータ間の不可侵性が保持され、各アプリケーションは共通のコマンドセット３から必要なコマンドを選択して実行するようにＯＳ２（以下では非マルチアプリケーションＯＳという）により制御される。
【０００３】
図８は個々のアプリケーションが個々のコマンドセットを実行するタイプのＩＣカードを示す図である。
このＩＣカードはＭＵＬＴＯＳ、ＪａｖａＣａｒｄ、Ｗｉｎｄｏｗｓ　ｆｏｒ　Ｓｍａｒｔ　Ｃａｒｄｓ等のマルチアプリケーションＯＳ２がＲＯＭに書き込まれたＩＣカードで、各アプリケーションはデータと共に自身が実行するコマンドセットを有しており、各アプリケーション間はファイヤウォール４で隔離されている。
【０００４】
【発明が解決しようとする課題】
ところで、マルチアプリケーションＯＳが搭載された図８のタイプのＩＣカードは、多くの機能を実現するためのハードウェア資源を備えている必要があるため高価である。
一方、非マルチアプリケーションＯＳが搭載された図７のタイプのＩＣカードは、ハードウェア資源が小さいため安価であるが、共通のコマンドセットを使用するため、ファイヤウォール４によりデータ間の不可侵性は保持されるとはいえ、図８のものに比較すると、アプリケーション間でのデータの秘密保持に問題がある。
【０００５】
【課題を解決するための手段】
本発明は上記課題を解決しようとするもので、共通のコマンドセットを使用する非マルチアプリケーションＯＳを搭載したＩＣカードにおいて、安価にマルチアプリケーションＩＣカードを実現しようとするものである。
【０００６】
ＩＣカードのアプリケーションは、その用途に応じて様々な仕様が定義されており、規格上は同一であっても、その体系は用途に応じて異なっているケース、例えばコマンドコーディングの差異、またはレコード構造の差異がある。通常、これらの異なる体系の仕様を持つアプリケーションは、同一のＩＣカード上に搭載されることはないのであるが、カード発行者の意向に従った複数のアプリケーションの組み合わせによっては必要と考えられる場合がある。
【０００７】
本発明は複数のアプリケーションが共通のコマンドセットを実行できる非マルチアプリケーションＯＳを搭載したＩＣカードにおいて、個々のアプリケーションがそれぞれのコマンドセットを実行するマルチアプリケーションＯＳタイプのＩＣカードに対しても、コマンドセットを共通に設定することで互換性を持たせるようにしたものである。
【０００８】
図１は共通のコマンドセットを有する本発明のＩＣカードを説明する図で、３つのアプリケーションを搭載したケースを示しており、図２はコマンドテーブルを説明する図である。
上記したように、各アプリケーションが独自のコマンドセットを持つマルチアプリケーションＯＳのＩＣカードでは、各アプリケーションがそれぞれのコマンドセットを持っており、各アプリケーションが必要とするコマンドを過不足なく搭載しておく必要があり、そのためアプリケーション間でコマンドの重複もあり得ることになる。
【０００９】
一方、本発明においては、全アプリケーション用に共通のコマンドセットを搭載しているＩＣカードにおいて、マルチアプリケーションＯＳと同様の挙動を行わせるために、コマンドセットデータの一部として、コマンドテーブルを保持し、搭載しているコマンド集合の部分集合（コマンドセット）を各アプリケーションが使用するために、例えば、図２に示すように、コマンドテーブル１、コマンドテーブル２のようにラベルにより識別する。即ち、ハードウェア１上にＯＳ２、共通のコマンドセット３を搭載し、これに搭載されるアプリケーション１、アプリケーション２、アプリケーション３にはそれぞれデータ１、データ２、データ３と共に使用するコマンドを指定するコマンドテーブル番号を書き込んでおく。ここでは、各コマンドテーブルで規定するコマンドは次の通りである。
コマンドテーブル１
コマンド１：読出し（国内規格）
コマンド２：書込み（国内規格）
コマンド３：パスワード照合（国内規格）
コマンド５：書込み（独自仕様）
コマンドテーブル２：
コマンド３：パスワード照合（国内仕様）
コマンド４：読出し（国際規格）
コマンド５：書込み（独自仕様）
コマンドテーブル３：
コマンド１：読出し（国内規格）
コマンド２：書込み（国内規格）
コマンド３：パスワード照合（国内規格）
コマンド４：読出し（国際規格）
コマンド５：書込み（独自仕様）
各アプリケーションはこれらのコマンドテーブルを指定することにより、あらかじめ用意されているコマンドテーブルで規定されたコマンドセットを使用することができる。
【００１０】
このように、各アプリケーションが共通に使用するコマンドセットとコマンドテーブルを予めＲＯＭやＩＣカード、メモリ等に書き込んでおき、各アプリケーションには共通のコマンドセットの中で使用するコマンドセットを決めているコマンドテーブルを指定することで、マルチアプリケーションＯＳを搭載したＩＣカードと同等の機能を実現することが可能である。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
図３は２つのアプリケーションを搭載したＩＣカードの初期状態を説明する図、図４は３つのアプリケーション３を搭載した例を示す図である。
【００１２】
図３において、共通のコマンドセット３にはコマンド１〜５が用意され、コマンドセットデータの一部として、図２に示したようなコマンドテーブルが用意され、共通のコマンドセットのうちの特定のコマンドを使用するアプリケーション１、アプリケーション２が搭載されている。アプリケーション１、アプリケーション２はそれぞれデータ１、データ２とともに、コマンドテーブル番号１、２を書き込み、共通のコマンドセットのうち、図２に示すコマンドテーブル１、コマンドテーブル２で規定されるコマンドのみを実行することができる。
【００１３】
次に、図３のＩＣカードに、さらにアプリケーション３を追加するケースを想定し、追加するアプリケーション３がコマンドテーブル３に記載されているコマンドセットを用いる仕様であるとすると、図４に示すように、アプリケーション３のデータ（データ３とする）を搭載するとき、データの一部としてコマンドテーブル番号３を指定する（書き込む）ことにより、データのみの搭載で図２に示したコマンドテーブル３で規定されたコマンドセットを持つことができる。
【００１４】
次に、共通のコマンドセットに搭載されていないコマンドテーブルを使用する場合について説明する。
図５に示すアプリケーション３が、コマンドテーブル３のコマンドセット以外に、ＩＣカードに搭載されていないコマンドテーブル４のコマンドセット（この例では、コマンド５のみからなる）も使用する場合を想定する。図２に示したようにＩＣカードには、コマンドテーブル１〜３しか搭載されておらず、このような場合には、図５に示すように、データ搭載と同時にその一部としてコマンドテーブル４を書き込み、このコマンドテーブル４をアプリケーションの保持するデータから指定することにより、コマンドテーブル４で規定されるコマンドセットを実行することができる。
【００１５】
図６は共通のコマンドセットに搭載されていないコマンドテーブルとコマンドを使用する場合の例を示している。
アプリケーション３がコマンドテーブル３のコマンドセット以外に使用したいコマンドテーブル５（コマンド１、２、６のセットを規定）は、共通のコマンドセットに搭載されておらず、またコマンド６は共通のコマンドセットに記載されていない。このような場合には、データ搭載と同時にその一部としてコマンドテーブル５を書き込むと共に、アプリケーションの一部としてコマンド６を搭載し、コマンドテーブル５にはコマンド６の搭載箇所を記載しておく。アプリケーションは保持するデータからコマンドテーブル５を指定してコマンドを実行する。
【００１６】
【発明の効果】
以上のように本発明によれば、共通のコマンドセットを使用する非マルチアプリケーションＯＳを搭載したＩＣカードにおいて、マルチアプリケーションＯＳを模倣した動作が可能で、マルチアプリケーションＯＳにおいてアプリケーションを追加削除する際の動作が非マルチアプリケーションＯＳを搭載したＩＣカードにおいて実行可能となる。そのため、比較的高価であったマルチアプリケーションＩＣカードを安価に実現することが可能になる。また、マルチアプリケーションＯＳの場合、アプリケーションの追加削除はコマンドセットとデータの両方を搭載、削除しなければならないのに対して、本発明によれば既存のコマンドセットを使用しながらにして、必要なコマンドだけ実行可能とし、不要なコマンドを実行不可に設定することが可能になる。また、新規コマンドを必要とするアプリケーションの追加の際も必要なコマンドのみをアプリケーションの一部として追加し、さらにコマンドテーブルを書き換える、または追加するだけでアプリケーションの追加が可能となる。
【図面の簡単な説明】
【図１】本発明のＩＣカードを説明する図である。
【図２】コマンドセットの例を示す図である。
【図３】２つのアプリケーションを搭載したＩＣカードの初期状態を説明する図である。
【図４】アプリケーション３を搭載した例を示す図である。
【図５】データ３からコマンドテーブル４を指定する場合の説明図である。
【図６】コマンドテーブル５からコマンド１、２及び６を指定する場合の説明図である。
【図７】従来の複数のアプリケーションを搭載することが可能なＩＣカードを説明する図である。
【図８】従来の複数のアプリケーションを搭載することが可能なＩＣカードを説明する図である。
【符号の説明】
１…ハードウエア、２…ＯＳ、３…コマンドセット、４…ファイヤウォール。
【図１】
2004013586.tif 000003
【図２】
2004013586.tif 000004
【図３】
2004013586.tif 000005
【図４】
2004013586.tif 000006
【図５】
2004013586.tif 000007
【図６】
2004013586.tif 000008
【図７】
2004013586.tif 000009
【図８】
2004013586.tif 000010