(57)【要約】【課題】 マルチアプリケーションＩＣカードにおいて、アプリケーション間のメッセージ処理の細かな制御内容（同じ業種に属するアプリケーション間でのみメッセージ処理が行なえる等）を容易に設定することができるマルチアプリケーションＩＣカードおよびＩＣカード用プログラムを提供することを目的とする。【解決手段】  マルチアプリケーションＩＣカードに実装されるアプリケーション４０が有するＡＤＦ情報には、アプリケーション間のメッセージ処理の制御内容を設定する制御情報が含まれる。同じくマルチアプリケーションＩＣカードに実装されるメッセージマネージャは、アプリケーション間のメッセージ処理を実行する際、前記制御情報の内容に基づいてアプリケーション間のメッセージ処理を制御する。【選択図】      図１
2006058920.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを書き換え可能なメモリに実装できるマルチアプリケーションＩＣカードにおいて、
前記マルチアプリケーションＩＣカードに実装されたそれぞれの前記アプリケーションは、前記アプリケーションごとにアプリケーション間のメッセージ処理を制御する情報である制御情報を有し、
前記制御情報に基づいて前記アプリケーション間のメッセージ処理を制御するメッセージマネージャを実装していることを特徴とするマルチアプリケーションＩＣカード。
【請求項２】
前記制御情報は、前記アプリケーションをグルーピングするための情報であるグループ番号を含み、前記メッセージマネージャは同じ前記グループ番号を有するアプリケーション間でのみメッセージ処理を許可する手段を備えていることを特徴とする請求項１に記載のマルチアプリケーションＩＣカード。
【請求項３】
前記制御情報は、前記アプリケーションに対するアクセス条件を意味する論理番号を含み、前記メッセージマネージャは、前記論理番号の大小に基づいてメッセージ処理を制御する手段を備えていることを特徴とする請求項１または請求２記載のマルチアプリケーションＩＣカード。
【請求項４】
マルチアプリケーションＩＣカードのメモリに実装され、メッセージを送る側である第１のアプリケーションと、同じく前記メモリに実装され、メッセージを受け取る側である第２のアプリケーション間のメッセージ処理を制御するＩＣカード用プログラムであって、前記第１、第２のアプリケーションがそれぞれ有する前記制御情報を取得するステップ、前記第１、第２のアプリケーションの前記制御情報を比較するステップ、前記制御情報の比較結果に基づいてメッセージ処理を制御するステップを含むことを特徴とするＩＣカード用プログラム。
【請求項５】
請求項４に記載のＩＣカード用プログラムであって、前記制御情報は前記グループ番号を含み、前記制御情報を比較するステップは、前記第１、２のアプリケーションが有するそれぞれの前記グループ番号を比較する手順を含むことを特徴とするＩＣカード用プログラム。
【請求項６】
請求項４または請求項５に記載のＩＣカード用プログラムであって、前記制御情報は論理番号を含み、前記制御情報を比較するステップは、前記第１、２のアプリケーションが有するそれぞれの前記論理番号の大小を比較する手順を含むことを特徴とするＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションをメモリに実装するマルチアプリケーションＩＣカードに関し、更に詳しくは、マルチアプリケーションＩＣカードに実装されたアプリケーション間のメッセージ処理を制御する技術に関する。
【背景技術】
【０００２】
近年のメモリの高密度化に伴い、マルチアプリケーションＩＣカードが普及し始めている。マルチアプリケーションＩＣカードとは、複数のアプリケーションを書き換え可能なメモリに実装することができるＩＣカードで、ＩＣチップが備えているＲＯＭ（Read Only Memory）に基本処理を行うマルチアプリケーションオペレーティングシステム（Operating System、以下ＯＳと記す）を実装し、同じくＩＣチップが備えている電気的に消去・書き換えができるＲＯＭ（Electrically Erasable Programmable Read Only Memory、以下ＥＥＰＲＯＭと記す）等の書き換え可能なメモリに一つまたは複数のアプリケーションを実装する。
【０００３】
複数のアプリケーションを１枚のマルチアプリケーションＩＣカードに実装することで、マルチアプリケーションＩＣカードの利便性は高まるが、一方、任意のアプリケーションを一枚のマルチアプリケーションＩＣカードに実装できることで新たな問題も発生する。その一つの問題が、マルチアプリケーションＩＣカードに実装されたアプリケーション間のメッセージ処理である。
【０００４】
例えば、カード保有者を認証するためのＰＩＮ（Personal Identification Number）を認証する機能は、マルチアプリケーションＩＣカードに実装されたそれぞれのアプリケーションが兼ね備えるのではなく、マルチアプリケーションＩＣカード内においては、一つのみ兼ね備えていることが望ましい。マルチアプリケーションＩＣカードに実装されたそれぞれのアプリケーションが前記ＰＩＮ認証機能を兼ね備えていると、アプリケーションを実装するために必要なメモリが増加してしまう。
【０００５】
このような問題を解決するために、特許文献１は、マルチアプリケーションＩＣカードにおいて、マルチアプリケーションＩＣカード内に実装されたアプリケーション間のメッセージ処理をセキュアに行なうマルチアプリケーションＩＣカードを開示している。
【特許文献１】特開２００１−５２７６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１で開示された内容によって、アプリケーション間のメッセージ処理をセキュアに実行できるマルチアプリケーションＩＣカードを実現できる。しかし、特許文献１においては、前記アプリケーション間のメッセージ処理をセキュアに実行するために必要なマルチアプリケーションＩＣカードの構造（例えばメモリ）を開示しているに過ぎず、前記アプリケーション間のメッセージ処理の制御内容を詳細に設定することはできない。
【０００７】
例えば、マルチアプリケーションＩＣカードに実装されるアプリケーションには、他のアプリケーションからのメッセージ処理を禁止しているアプリケーションもあるし、ある特定の業種に属するアプリケーション間でのみ、アプリケーション間のメッセージ処理を許可したい場合もある。
【０００８】
このようなメッセージ処理の制御に係わる詳細な内容は、予め実装するアプリケーションが既知であり、かつ固定であれば、マルチアプリケーションＩＣカード上で実現することは容易であるが、新たに未知のアプリケーションを追加する場合には、他のアプリケーションとの相互関係が不明瞭であるため、前記詳細な内容をマルチアプリケーションＩＣカード上で実現することは大変困難であった。
【０００９】
上述の問題を鑑みて、本発明は、複数のアプリケーションをメモリに実装できるマルチアプリケーションＩＣカードにおいて、アプリケーション間のメッセージ処理の細かな制御内容（同じ業種に属するアプリケーション間でのみメッセージ処理が行なえる等）を容易に設定することができるマルチアプリケーションＩＣカードおよびＩＣカード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決する第１の発明に係わるマルチアプリケーションＩＣカードにおいては、マルチアプリケーションＩＣカードに実装された各アプリケーションは、アプリケーション間のメッセージ処理を制御する情報である制御情報を有し、前記制御情報に基づいてアプリケーション間のメッセージ処理を制御するメッセージマネージャを実装していることを特徴としている。各アプリケーションが前記制御情報を有することで、アプリケーション間のメッセージ処理の細かな条件を前記制御情報で設定できる。
【００１１】
更に、第２の発明は、前記制御情報には、アプリケーションをグルーピングするための情報であるグループ番号が含まれ、前記メッセージマネージャは同じ前記グループ番号を有するアプリケーション間でのみメッセージ処理を許可する手段を備えていることを特徴とする。
【００１２】
更に、第３の発明は、前記制御情報には、アプリケーションに対するアクセス条件を意味する論理番号が含まれ、前記メッセージマネージャは、前記論理番号の大小に基づいてメッセージ処理を制御する手段を備えていることを特徴とする。
【００１３】
前記制御情報が前記グループ番号を含むことで、業種ごとに前記グループ番号を定めれば、業種間でのみ、アプリケーション間のメッセージ処理が行なえるようになる。また、前記制御情報が前記論理番号を含むことで、簡単に、アプリケーション間のメッセージ処理の制御内容を設定できる。
【００１４】
更に、第４の発明は、マルチアプリケーションＩＣカードのメモリに実装され、メッセージを送る側である第１のアプリケーションと、同じく前記メモリに実装され、メッセージを受け取る側である第２のアプリケーション間のメッセージ処理を制御するＩＣカード用プログラムであって、前記第１、第２のアプリケーションがそれぞれ有する前記制御情報を取得するステップ、前記第１、第２のアプリケーションの前記制御情報を比較するステップ、前記制御情報の比較結果に基づいてメッセージ処理を制御するステップを含むことを特徴とするＩＣカード用プログラムである。
【００１５】
更に、第５の発明は、第４の発明に記載のＩＣカード用プログラムであって、前記制御情報は前記グループ番号を含み、前記制御情報を比較するステップは、前記第１、２のアプリケーションが有するそれぞれの前記グループ番号を比較する手順を含むことを特徴とするＩＣカード用プログラムである。
【００１６】
更に、第６の発明は、第４の発明または第５の発明に記載のＩＣカード用プログラムであって、前記制御情報は前記論理番号を含み、前記制御情報を比較するステップは、前記第１、第２のアプリケーションが有するそれぞれの前記論理番号の大小を比較する手順を含むことを特徴とするＩＣカード用プログラムである。
【００１７】
第４の発明から第６の発明に記載したＩＣカード用プログラムを、マルチアプリケーションＩＣカードに実装することで、第１の発明から第３の発明に記載したマルチアプリケーションＩＣカードを実現できる。
【発明の効果】
【００１８】
これまで述べた本発明によれば、複数のアプリケーションをメモリに実装できるマルチアプリケーションＩＣカードにおいて、前記アプリケーションが前記制御情報を有することで、前記制御情報にて前記アプリケーション間のメッセージ処理の細かな内容を設定することができる。そして、前記メッセージマネージャをメモリに実装することで、前記マルチアプリケーションＩＣカードは前記制御情報に基づいて前記アプリケーション間のメッセージ処理を制御できる。また、前記制御情報が前記グループ番号を含むことで、前記マルチアプリケーションＩＣカードに実装される前記アプリケーションを業種ごとにグルーピングできる。加えて、前記制御情報が前記論理番号を含むことで、前記アプリケーション間のメッセージ処理の細かな内容を容易に設定することができる。
【発明を実施するための最良の形態】
【００１９】
（マルチアプリケーションＩＣカードの説明）
本発明の実施の形態について、図を参照しながら詳細に説明する。図１は、本発明を適用したマルチアプリケーションＩＣカードの階層構造を説明するための図である。図１に示したように、本実施の形態に係わるマルチアプリケーションＩＣカードの階層構造は、ハードウェア層１、ＯＳ層２、アプリケーション層３の３層構造である。
【００２０】
図１において、ハードウェア層１はＩＣチップ１０で、ＯＳ層２としてＩＣチップ１０のＲＯＭにマルチアプリケーションＯＳ２０が実装され、アプリケーション層３としてＩＣチップ１０のＥＥＰＲＯＭに複数のアプリケーション４０およびメッセージマネージャアプリケーション３０（以下、メッセージマネージャと略す）が実装されている。
【００２１】
アプリケーション４０はある用途ために設計されたソフトウェアである。通常、ＥＥＰＲＯＭに実装されるアプリケーション４０は、マルチアプリケーションＯＳ２０が対応している中間言語で記述されることが一般的である。例えば、クレジットカードとして用いられる場合は、クレジット会社で規格化されているクレジットアプリケーションがＥＥＰＲＯＭに実装される。
【００２２】
ＥＥＰＲＯＭに実装されるアプリケーション４０は、アプリケーション４０のエントリーポイントとなるＡＤＦ（Application Definition File）を有している。図２は、ＡＤＦが有するデータを説明するための図である。ＡＤＦはデータを有し、前記データには、アプリケーションを識別するための情報であるアプリケーション識別子５０（Application IDentifer、以下ＡＩＤと略す）と、アプリケーション間のメッセージ処理を規定する制御情報５１が含まれる。
【００２３】
ＡＩＤ５０とはアプリケーション４０を識別するための情報で、ＩＳＯ７８１６規格で規格されたＤＦ名称（DF Name）がＡＩＤ５０に該当する。
【００２４】
制御情報５１とは２バイトの情報で、制御情報５１で、ＡＩＤ５０で示されるアプリケーション４０のアプリケーション間のメッセージ処理の制御内容を細かく設定できる。ここで、メッセージとは命令情報とデータとから成り、メセージを送信するアプリケーション４０は、処理を依頼するデータを含むメッセージを作成し、メッセージマネージャ３０を介して、指定したアプリケーション４０にメッセージを受け渡す。指定されたアプリケーション４０は、前記メッセージを処理する際は、受け渡されたメッセージから命令情報およびデータを取得し、命令情報に対応した処理を実行する。
【００２５】
図３は制御情報５１を説明するための図である。制御情報５１の上位バイトは、アプリケーション４０のグループを示す情報であるグループ番号５１ａで、制御情報の下位バイトは、アプリケーション４０に対するアクセス条件を意味する論理番号５１ｂである。
【００２６】
グループ番号５１ａとは、ＥＥＰＲＯＭに実装される複数のアプリケーション４０をグルーピングするために使用される情報で、アプリケーション４０は、制御情報５１のグループ番号５１ａでグルーピングされる。同じグループ番号５１ａを有するアプリケーション４０は、同じグループ（例えば業種）に属するアプリケーション４０と判断され、同じグループに属するアプリケーション間、すなわち同じグループ番号５１ａを有するアプリケーション間でのみ、アプリケーション間のメッセージ処理が許可される。
【００２７】
論理番号５１ｂとは、アプリケーション４０に対するアクセス条件を意味する情報である。図４は、論理番号５１ｂによるアプリケーション間のメッセージ処理の制御を説明するための図である。図４に示したように、論理番号５１ｂが「１」であるアプリケーション４０ａから論理番号５１ｂが「２」であるアプリケーション４０ｂにはメッセージ処理を委託できるが、論理番号５１ｂが「２」であるアプリケーション４０ｂから論理番号５１ｂが「１」であるアプリケーション４０ａにはメッセージ処理を委託できない。同じく、論理番号５１ｂが「２」であるアプリケーション４０ｂから論理番号５１ｂが「３」であるアプリケーション４０ｃにはメッセージ処理を委託できるが、論理番号５１ｂが「３」であるアプリケーション４０ｃから論理番号５１ｂが「２」であるアプリケーション４０ｂにはメッセージ処理を委託できない。
【００２８】
このように、メッセージ処理を委託するアプリケーション４０が有する論理番号５１ｂよりも大きい論理番号５１ｂを有する他のアプリケーション４０に対してはメッセージ処理を委託できるが、論理番号５１ｂの小さい他のアプリケーション４０に対してはメッセージ処理を委託できない。
【００２９】
前述したアプリケーション５１ｂが有する制御情報５１に基づいて、アプリケーション間のメッセージ処理を制御するＩＣカード用プログラムがメッセージマネージャ３０である。メッセージマネージャ３０は、上述したアプリケーション４０が有する制御情報５１を参照して、アプリケーション間のメッセージ処理を制御するプログラムで、マルチアプリケーションＯＳ２０とアプリケーション４０間のミドルウェア的な役割を果たす。アプリケーション４０が他のアプリケーション４０にメッセージ処理を依頼する場合は、メッセージマネージャ３０を経由して、他のアプリケーション４０にメッセージ処理が送信される。
【００３０】
図５は、メッセージマネージャ３０の動作を説明するための図である。図５は、アプリケーションＡからアプリケーションＢに対し、メッセージマネージャ３０を介してメッセージ処理を委託する際の動作について説明した図である。
【００３１】
アプリケーションＡからアプリケーションＢに対してメッセージ処理を委託する際は、アプリケーションＡからメッセージマネージャ３０に、処理を委託するメッセージに加え、アプリケーションＢのＡＩＤ５０が送信される（Ｔ１）。
【００３２】
メッセージマネージャ３０は、アプリケーションＢのＡＤＦ５０から制御情報５１を取得し、取得した制御情報５１のグループ番号５１ａが、アプリケーションＡのグループ番号５１ａと等しいことを確認する（Ｔ２）。アプリケーションＡ，Ｂのグループ番号５１ａが等しければ、次に論理番号５１ｂを比較する（Ｔ３）。
【００３３】
アプリケーションＡ，Ｂのグループ番号５１ａが等しく、かつ、アプリケーションＡの論理番号５１ｂよりも、アプリケーションＢの論理番号５１ｂが大きい場合は、メッセージマネージャ３０はアプリケーションＢにメッセージを送信する（Ｔ４）。送信されたメッセージはアプリケーションＢで処理される（Ｔ５）。そして、メッセージが処理された結果は、アプリケーションＢからメッセージマネージャ３０に返送され（Ｔ６）、メッセージマネージャ３０からアプリケーションＡに前記処理結果は返送される（Ｔ７）。
【００３４】
（ＩＣカード用プログラム）
ここから、本発明に係わるＩＣカード用プログラムについて説明する。上述したマルチアプリケーションＩＣカードにおいて、本発明に係わるＩＣカード用プログラムはメッセージマネージャ３０としてＥＥＰＲＯＭに実装されている。
【００３５】
図６は、本実施の形態に係わるＩＣカード用プログラム、すなわちメッセージマネージャ３０の動作手順を示したフロー図である。最初のステップＳ１は、メッセージ処理を委託する側のアプリケーション４０が、メッセージマネージャ３０にメッセージ処理を委託される側のアプリケーションのＡＩＤ５０と、処理を委託するメッセージとを送信するステップである。
【００３６】
次のステップＳ２は、メッセージマネージャ３０が伝送されたＡＩＤ５０で示されるアプリケーション４０の制御情報５１を取得するステップである。メッセージマネージャ３０は制御情報５１を取得すると、メッセージ処理を委託したアプリケーション４０のグループ番号５１ａと、取得した制御情報５１に含まれるグループ番号５１ａとを比較する（ステップＳ３）。取得した制御情報５１に含まれるグループ番号５１ａが、メッセージ処理を委託したアプリケーション４０のグループ番号５１ａと一致する場合はステップＳ４に進み、一致しない場合はステップＳ６に進み、メッセージ処理の委託を中止する。
【００３７】
ステップ４では、メッセージマネージャ３０は、メッセージ処理を委託したアプリケーション４０の論理番号５１ｂと、ステップＳ２で取得した制御情報５１に含まれる論理番号５１ｂとを比較する。取得した制御情報５１に含まれる論理番号５１ｂが、メッセージ処理を委託したアプリケーション４０の論理番号５１ｂよも大きい場合はステップ５に進み、小さい場合はステップ６に進み、メッセージ処理に委託を中止する。
【００３８】
ステップ５では、メッセージマネージャ３０は伝送されたＡＩＤ５０で特定されるアプリケーション４０にメッセージ処理を委託する。ステップ５にて、アプリケーション間のメッセージ処理を制御する方法の手順は終了する。
【図面の簡単な説明】
【００３９】
【図１】マルチアプリケーションＩＣカードの階層構造を説明する図。
【図２】ＡＤＦが有する情報を説明する図。
【図３】制御情報を説明する図。
【図４】論理番号に基づくメッセージ処理の制御を説明する図。
【図５】メッセージマネージャの動作を説明する図。
【図６】ＩＣカード用プログラムの動作手順を示したフロー図。
【符号の説明】
【００４０】
１０  ＩＣチップ
２０  マルチアプリケーションＯＳ
３０  メッセージマネージャ
４０  アプリケーション
５０  ＡＩＤ
５１  制御情報
５１ａ  グループ番号
５１ｂ  論理番号
【図１】
2006058920.tif 000003
【図２】
2006058920.tif 000004
【図３】
2006058920.tif 000005
【図４】
2006058920.tif 000006
【図５】
2006058920.tif 000007
【図６】
2006058920.tif 000008