(57)【要約】【課題】 ＩＣカードに実装された複数のアプリケーションが、データファイルを共有化できるＩＣカードを提供する。【解決手段】ＩＣカードのＥＥＰＲＯＭ２４には、アプリケーションＡのＤＦとアプリケーションＢのＤＦが創生され、それぞれのＤＦの下階層には、共有ファイルと同じファイル番号を有するダミーファイルＡ、Ｂが創生されている。ダミーファイルＡ，Ｂはファイル管理情報のみで構成されるデータファイルで、このファイル管理情報には、共有領域に記憶されている共有ファイルのアドレス情報が含まれる。アプリケーションＡが共有ファイルにアクセスするときは、ダミーファイルＡからアドレス情報を取得し、取得したアドレス情報で示されるアドレスにアクセスすることで、共有ファイルにアクセスできる。また、同様にして、アプリケーションＢも共有ファイルにアクセスできる。【選択図】図６
2007114979.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを実装したＩＣカードにおいて、前記ＩＣカードの書換え可能な不揮発性メモリには、前記アプリケーション間で共有化するデータファイルである共有ファイルを格納する共有領域が設けられ、前記共有ファイルを共有する各々の前記アプリケーションは、前記共有領域に記憶された前記共有ファイルにアクセスするためのデータファイルであるダミーファイルを有し、前記ダミーファイルには、前記共有領域に記憶された前記共有ファイルのアドレスを示すアドレス情報が記憶され、前記共有ファイルを共有する前記アプリケーションが、前記ダミーファイルに記憶された前記アドレス情報で示されるアドレスにアクセスすることで、前記共有ファイルにアクセスすることを特徴とするＩＣカード。
【請求項２】
請求項１のＩＣカードにおいて、前記ＩＣカードに記憶されるデータファイルには、前記ダミーファイルと前記ダミーファイル以外のデータファイルを識別するためのファイル属性情報が設けられ、前記共有ファイルを共有する前記アプリケーションは、データファイルの前記ファイル属性情報が、前記ダミーファイルを示す情報であった場合のみ、前記ダミーファイルに記憶された前記アドレス情報で示されるアドレスにアクセスすることで、前記共有ファイルにアクセスすることを特徴とするＩＣカード。
【請求項３】
複数のアプリケーションを実装し、前記アプリケーション間で共有化するデータファイルである共有ファイルを格納する共有領域が、前記ＩＣカードの書換え可能な不揮発性メモリに設けられたＩＣカードのＣＰＵを動作させるためのＩＣカード用プログラムであって、
ステップ１）前記共有領域に記憶された前記共有ファイルにアクセスするためのデータファイルであるダミーファイルにアクセスするステップ、
ステップ２）前記ダミーファイルから、前記共有領域に記憶された前記共有ファイルのアドレスを示すアドレス情報を取得するステップ、
ステップ３）前記ダミーファイルから取得した前記アドレス情報で示されるアドレスにアクセスし、前記共有ファイルにアクセスするステップ、
を順に実行する手順を含むことを特徴とするＩＣカード用プログラム。
【請求項４】
請求項３のＩＣカード用プログラムにおいて、前記ステップ１）を実行する前に、
前記ダミーファイルと前記ダミーファイル以外のデータファイルを識別するためのファイル属性情報をアクセスするデータファイルから取得し、アクセスするデータファイルが前記ダミーファイルであるか確認するステップを実行し、
アクセスするデータファイルが前記ダミーファイルである場合にのみ、前記ステップ１）以降のステップを実行することを特徴とするＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションが実装されたＩＣカードにおいて、複数のアプリケーション間でデータファイルを共有することができるＩＣカード及びＩＣカードプログラムに関する。
【背景技術】
【０００２】
複数のアプリケーションを一枚のＩＣカードに実装したＩＣカードが普及し、一枚のＩＣカードに実装された複数のアプリケーション間で同一のデータを共有化したい要望が増えている。
【０００３】
例えば、社員証をＩＣカード化した場合、社内ＬＡＮ（Local Area Network）へのログイン用のアプリケーションと社内食堂の決済用のアプリケーション間では、従業員の社員番号などの個人情報を共有化することで、ＩＣカードのメモリ容量を節約できる。
【０００４】
一枚のＩＣカードに実装された複数のアプリケーション間で同一のデータを共有化する一つの発明として、特許文献１において、委任特性を備えたＩＣカードが開示されている。ＩＣカードが委任特性を備えることで、異なるアプリケーション間でデータの交換が可能になる。
【０００５】
しかしながら、特許文献１の技術を実現するために、委任する側のアプリケーションと委任される側のアプリケーションとがそれぞれ利用するデータ空間を割当てることができる大きさの揮発性メモリを、ＩＣカードは備えていなければならない問題がある。
【０００６】
Ｊａｖａ（登録商標）やＭｕｌｔｏｓ（登録商標）に代表されるプラットフォーム型のＯＳが実装されたマルチアプリケーションＩＣカードには、ハイエンドのＩＣチップが実装されることが多く、このＩＣチップは、委任する側のアプリケーションと委任される側のアプリケーションとがそれぞれ利用するデータ空間を割当てることができる大きさの揮発性メモリ容量を備えることが多い。
【０００７】
これに対し、アプリケーションのプログラムコードを読出し専用のメモリに実装する専用ＩＣカード（ＮａｉｔｉｖｅＩＣカードとも呼ばれる）には、ローエンドのＩＣチップが実装されることが多く、このＩＣチップは、委任する側のアプリケーションと委任される側のアプリケーションとがそれぞれ利用するデータ空間を割当てられるほどの揮発性メモリを備えず、特許文献１の技術を実現することが困難である場合が多かった。
【特許文献１】特表２００１−５２７６７４公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、上述の問題を鑑みて、本発明は、ＩＣカードに実装されたＩＣチップの揮発性メモリなどのメモリ容量が小さくても、１枚のＩＣカードに実装された複数のアプリケーション間でデータを共有化することのできるＩＣカード、および、ＩＣカードプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した問題を解決する第１の発明は、複数のアプリケーションを実装したＩＣカードにおいて、前記ＩＣカードの書換え可能な不揮発性メモリには、前記アプリケーション間で共有化するデータファイルである共有ファイルを格納する共有領域が設けられ、前記共有ファイルを共有する各々の前記アプリケーションは、前記共有領域に記憶された前記共有ファイルにアクセスするためのデータファイルであるダミーファイルを有し、前記ダミーファイルには、前記共有領域に記憶された前記共有ファイルのアドレスを示すアドレス情報が記憶され、前記共有ファイルを共有する前記アプリケーションが、前記ダミーファイルに記憶された前記アドレス情報で示されるアドレスにアクセスすることで、前記共有ファイルにアクセスすることを特徴とするＩＣカードである。
【００１０】
第１の発明のＩＣカードにおいて、前記ＩＣカードに記憶されるデータファイルには、前記ダミーファイルと前記ダミーファイル以外のデータファイルを識別するためのファイル属性情報が設けられ、前記共有ファイルを共有する前記アプリケーションは、データファイルの前記ファイル属性情報が、前記ダミーファイルを示す情報であった場合のみ、前記ダミーファイルに記憶された前記アドレス情報で示されるアドレスにアクセスすることで、前記共有ファイルにアクセスすることを特徴とすることが望ましい。
【００１１】
また、第２の発明は、複数のアプリケーションを実装し、前記アプリケーション間で共有化するデータファイルである共有ファイルを格納する共有領域が、前記ＩＣカードの書換え可能な不揮発性メモリに設けられたＩＣカードのＣＰＵを動作させるためのＩＣカード用プログラムであって、
ステップ１）前記共有領域に記憶された前記共有ファイルにアクセスするためのデータファイルであるダミーファイルにアクセスするステップ、
ステップ２）前記ダミーファイルから、前記共有領域に記憶された前記共有ファイルのアドレスを示すアドレス情報を取得するステップ、
ステップ３）前記ダミーファイルから取得した前記アドレス情報で示されるアドレスにアクセスし、前記共有ファイルにアクセスするステップ、
を順に実行する手順を含むことを特徴とするＩＣカード用プログラムである。
【００１２】
第２の発明のＩＣカード用プログラムにおいて、前記ステップ１）を実行する前に、
前記ダミーファイルと前記ダミーファイル以外のデータファイルを識別するためのファイル属性情報をアクセスするデータファイルから取得し、アクセスするデータファイルが前記ダミーファイルであるか確認するステップを実行し、
アクセスするデータファイルが前記ダミーファイルである場合にのみ、前記ステップ１）以降のステップを実行することを特徴とするＩＣカード用プログラムである。
【発明の効果】
【００１３】
上述した本発明によれば、前記共有ファイルを共有するアプリケーションが、前記アドレス情報を記憶する前記ダミーファイルを備えることで、複数のアプリケーションがそれぞれ利用するデータ空間をＩＣカードの揮発性メモリに割当てることなく、１枚のＩＣカードに実装されたアプリケーション間でデータを共有化することができる。
【００１４】
また、前記ダミーファイルと前記ダミーファイル以外のデータファイルを識別するためのファイル属性情報に従い処理を変更することで、前記共有ファイルと前記共有ファイル以外のデータファイルを区別して処理することができる。
【発明を実施するための最良の形態】
【００１５】
ここから、本発明を適用したマルチアプリケーションＩＣカードについて、図を参照しながら詳細に説明する。
【００１６】
本発明に係るマルチアプリケーションＩＣカードには、ＩＳＯ／ＩＥＣ７８１６規格やＥＭＶ規格などのファイルシステムに準拠したオペレーティングシステム（以下、ＯＳ：Operating System）が実装され、実装された複数のアプリケーション間で、特定のデータファイルを共有化できる。
【００１７】
図１は、本発明に係るＩＣカードの外観図である。図１で示したように、ＩＣカード１はキャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ＩＣカード１には、ＩＣチップ２０がモールドされたＩＣモジュール１ａが実装されている。
【００１８】
図１においては、ＩＣカード１を接触ＩＣカードとして図示しているが、本発明は何らＩＣカード１の通信方式に依存するものではなく、無線でデータ通信する非接触ＩＣカード、または、接触データ通信と非接触データ通信の２つの通信機能を備えたデュアルインターフェースＩＣカードであってもよい。
加えて、ＩＣカード１は、ＩＣモジュール１ａの近辺を短冊状に切り取った形状をしているＳＩＭ（Subscriber Identity Module）であってもよい。
【００１９】
図２は、ＩＣカードに埋め込まれるＩＣチップ２０のブロック図である。ＩＣチップ２０には、演算機能およびＩＣチップ２０が具備するデバイスを制御する機能を備えた中央演算装置２１（CPU：Central Processing Unit）、揮発性メモリとしてランダムアクセスメモリ２２（RAM：Random Access Memory）、読み出し専用の不揮発性メモリ２３（ROＭ：Read Only Memory、）、電気的に書換え可能な不揮発性メモリとしてＥＥＰＲＯＭ２４（EEPROM：Electrically Erasable Programmable Read-Only Memoryの略）、および、外部の端末装置とデータ通信するためのＩ／Ｏ回路２５が、ＢＵＳ２６に接続されている。
【００２０】
本発明は、ＩＣカード１に実装されるＩＣチップ２０の仕様をなんら限定するものではなく、ＩＣカード１の用途に適した仕様のＩＣチップ２０を選択することができる。
例えば、ＲＯＭ２３およびＥＥＰＲＯＭ２４の容量については限定しないし、書換え可能な不揮発性メモリはフラッシュメモリ等のＥＥＰＲＯＭ以外のメモリであっても構わない。また、ＩＣチップ２０は、暗号演算回路などの図示していない他のデバイスを備えていても構わない。
【００２１】
図３は、ＩＣカード１のＥＥＰＲＯＭ２４に記憶されたファイルの論理構成図である。ＩＣカード１にはアプリケーションＡ及びアプリケーションＢとが実装され、アプリケーションＡのＤＦ（Definition File）と、アプリケーションＢのＤＦが創生されている。
【００２２】
アプリケーションＡのＤＦの下階層には、アプリケーションＡが利用するデータファイルとして、アプリケーションＢと共有化されるデータファイルである共有ファイルに、アプリケーションＡがアクセスするときに使用されるデータファイルであるダミーファイルＡと、アプリケーションＡのみが使用するデータファイルである非共有ファイルＡとが創生されている。
【００２３】
アプリケーションＢのＤＦの下階層には、アプリケーションＢが利用するデータファイルとして、アプリケーションＡと共有化されるデータファイルである共有ファイルに、アプリケーションＢがアクセスするときに使用されるデータファイルであるダミーファイルＢと、アプリケーションＢのみが使用するデータファイルである非共有ファイルＢとが創生されている。
【００２４】
加えて、アプリケーションＡのＤＦ及びアプリケーションＢのＤＦとは独立して、共有ファイルが創生されている。
【００２５】
図４は、非共有ファイルＡ、Ｂおよび共有ファイルの構造を説明する図で、これらのデータファイルは、データファイルを管理するための情報であるファイル管理情報と、データ本体から構成される。
データファイルのファイル管理情報には、データファイルを識別するファイル識別情報（例えば、ファイル番号）に加え、データファイルとダミーファイルとを識別するファイル属性情報、データファイルの構造（例えば、レコード形式）を示すファイル構造情報、データ本体の長さを示すデータ長情報、データファイルのセキュリティ情報などが記憶される。
【００２６】
図５は、ダミーファイルＡ、Ｂの構造を説明する図で、これらのダミーファイルは、データ本体を有さず、ファイル管理情報のみで構成され、ダミーファイルのファイル管理情報には、共有ファイルのファイル識別情報、データファイルとダミーファイルとを識別するファイル属性情報に加え、共有ファイルが記憶されているアドレスを示すアドレス情報が含まれる。
【００２７】
共有ファイルのアドレスを示すアドレス情報は、共有ファイルの物理アドレスを絶対的にもしくは相対的に示されている。共有ファイルの物理アドレスを絶対的に示す場合は、共有ファイルの先頭アドレスなどの情報が利用できる。また、共有ファイルの物理アドレスは、共有ファイルが記憶される共有領域の先頭アドレスから共有ファイルの先頭アドレスまでのオフセット値で相対的に表すこともできる。
【００２８】
図６は、ＩＣカード１の不揮発性メモリ（ＲＯＭ２３とＥＥＰＲＯＭ２４）の概略マップを説明する図である。図６に示したように、ＩＣカード１のＥＥＰＲＯＭ２４には、アプリケーションＡのＤＦに関連付けて、ダミーファイルＡと非共有ファイルＡとが記憶されている。また、アプリケーションＢのＤＦに関連付けて、ダミーファイルＢと非共有ファイルＢとが記憶されている。
【００２９】
加えて、ＥＥＰＲＯＭ２４には、共有ファイルを記憶するための領域である共有領域が、ＩＣカードのＯＳによって論理的に設けられ、この共有領域に共有ファイルは記憶されている。なお、上述しているように、共有ファイルが記憶されているアドレスは、ダミーファイルＡおよびダミーファイルＢのファイル管理情報で示されている。
【００３０】
例えば、アプリケーションＡが共有ファイルにアクセスするときは、アプリケーションＡが有するダミーファイルＡのファイル管理情報を参照することで、アプリケーションＡは共有領域に記憶されている共有ファイルのアドレスを知ることができ、アプリケーションＡはこのアドレスにアクセスすることで、共有領域に記憶されている共有ファイルにアクセスできる。
そして、アプリケーションＡが共有ファイルを更新（例えば、新規レコードの追加）したときは、更新した内容は、共有ファイルのファイル管理情報に反映される。
【００３１】
アプリケーションＢが共有ファイルにアクセスするときも、上述した内容と同じ手順で、アプリケーションＢは共有ファイルにアクセスできる。すなわち、アプリケーションＡとアプリケーションＢがそれぞれ、共有ファイルのアドレス情報を備えることで、共有領域に記憶された共有ファイルには、アプリケーションＡ及びアプリケーションＢからアクセス可能になる。
【００３２】
図６に示したように、ＩＣカード１のＲＯＭ２３には、ファイルシステム用などＯＳの機能を実現するためのプログラム、アプリケーションＡの機能およびアプリケーションＢの機能を実現するためプログラム、アプリケーションのＤＦ・データファイルなどを創生するＩＣカード発行用のプログラムなどのプログラムが記憶されている、
【００３３】
ここから、ＩＣカード１のＲＯＭ２３に記憶されたプログラムの中で、共有ファイルを創生するプログラム、アプリケーションが共有ファイルにアクセスするためのプログラムについてそれぞれ説明する。
【００３４】
図７は、共有ファイルを創生する手順を示したフロー図である。この手順の最初のステップＳ１は、ＩＣカード１が、データファイルを創生するコマンドを受信するステップである。このステップが実行される前に、ＩＣカード１は、図外の端末装置からＩＳＯ／ＩＥＣ７８１６規格のＳＥＬＥＣＴコマンドなど、アプリケーションのＤＦを選択するコマンドを受信し、ＩＣカード１に創生されたアプリケーションのＤＦの中から、データファイルが創生されるアプリケーションのＤＦが選択される。
【００３５】
ＤＦが選択された後、ＩＣカード１がデータファイルを創生するコマンドを受信すると、ＲＯＭ２３に記憶されたＩＣカード発行用のプログラムの中から、データファイルを創生するプログラム（これ以降、データファイル創生プログラムと記す）が実行される。
【００３６】
次のステップＳ２は、創生するデータファイルが共有ファイルであるか否かによって処理が分岐するステップである。創生するデータファイルが共有ファイルであるか否かは、データファイルを創生するコマンドのパラメータによって示され、データファイル創生プログラムは、このパラメータによって処理を分岐し、共有ファイルを創生する場合は、ステップＳ３に進み、非共有ファイルを創生する場合はステップＳ７に進む。
【００３７】
非共有ファイルを創生する場合に実行されるステップＳ７は、データファイル創生プログラムは、選択されているＤＦに関連付けてデータファイルを創生し、この手順は終了する。
【００３８】
共有ファイルを創生する場合に実行されるステップＳ３は、データファイル創生プログラムが創生する共有ファイルが創生済みであるか確認するステップである。
このステップにおいて、創生する共有ファイルのファイル識別情報は、データファイルを創生するコマンドのパラメータによって示され、データファイル創生プログラムは、ＩＣカード１のＥＥＰＲＯＭ２４に設けられた共有領域に、ファイル識別情報で識別される共有ファイルが創生されているか確認する。
【００３９】
共有ファイルが未創生である場合はステップＳ４に進み、ステップＳ４において、データファイル創生プログラムは共有領域に共有ファイルを創生し、ステップＳ６に進む。共有ファイルが創生済みである場合はステップＳ５に進み、ステップＳ５において、データファイル創生プログラムは共有ファイルが記憶されているアドレスを取得し、ステップＳ６に進む。
【００４０】
ステップＳ６は、選択されているＤＦに関連付けてダミーファイルが創生されるステップである。このステップでは、ステップＳ４で共有領域に共有ファイルを創生したアドレス、または、ステップＳ５で取得した共有ファイルのアドレスに基づいて、選択されているＤＦに関連付けてダミーファイルは創生される。このステップをもって、この手順は終了する。
【００４１】
次に、共有ファイルにアクセスする手順について説明する。図８は、共有ファイルにアクセスする手順を示したフロー図である。
この手順の最初のステップＳ１０は、アクセスするデータファイルが選択されるステップである。このステップでは、上述したＳＥＬＥＣＴコマンドもしくは他のコマンドのパラメータによって、選択するデータファイルのファイル識別情報は示される。
【００４２】
次のステップＳ１１は、選択されたデータファイルが共有ファイルであるか確認するステップである。このステップにおいては、アプリケーションは、ステップＳ１０で選択したデータファイルのファイル管理情報のファイル属性情報を参照することで、アクセスするデータファイルがダミーファイルであるか否かを確認することができる。
【００４３】
アクセスするデータファイルが非共有ファイルである場合には、ステップＳ１４で選択された非共有ファイルにアクセスし、この手順は終了する。
【００４４】
アクセスするデータファイルがダミーファイルである場合には、ステップＳ１２において、ダミーファイルのファイル管理情報からアドレス情報を取得する。そして、ステップＳ１３において、このアドレス情報で示されるアドレスにアクセスし、アドレス情報で示されるアドレスに記憶されている共有ファイルにアクセスする。このステップをもってこの手順は終了する。
【図面の簡単な説明】
【００４５】
【図１】ＩＣカードの外観図。
【図２】ＩＣカードに埋め込まれるＩＣチップのブロック図。
【図３】ＩＣカードのファイルの論理構成図。
【図４】データファイルＡ、Ｂおよび共有ファイルの構造を説明する図。
【図５】ダミーファイルＡ、Ｂの構造を説明する図。
【図６】ＩＣカード１の不揮発性メモリの概略マップを説明する図。
【図７】共有ファイルを創生する手順を示したフロー図。
【図８】共有ファイルにアクセスする手順を示したフロー図。
【符号の説明】
【００４６】
１  ＩＣカード
２０  ＩＣチップ
２１  ＣＰＵ
２２  ＲＡＭ
２３  ＲＯＭ
２４  ＥＥＰＲＯＭ
２５  Ｉ／Ｏ回路
【図１】
2007114979.tif 000003
【図２】
2007114979.tif 000004
【図３】
2007114979.tif 000005
【図４】
2007114979.tif 000006
【図５】
2007114979.tif 000007
【図６】
2007114979.tif 000008
【図７】
2007114979.tif 000009
【図８】
2007114979.tif 000010