(57)【要約】【課題】複数のレコードに対して効率良くアクセスできるＩＣカードおよび携帯可能電子装置を提供することを目的とする。【解決手段】実施形態によれば、ＩＣカードは、通信部と、メモリと、制御部と、を有する。通信部は、外部装置と通信する。メモリは、データ列からなるレコードを格納する複数のレコードファイルと、レコードファイルに格納されているレコードを示す情報を格納したレコードを格納する参照レコードファイルとを記憶する。制御部は、通信部により外部装置から参照レコードファイルのレコードを指定するコマンドを受信した場合、受信したコマンドで指定された参照レコードファイルのレコードの情報が示すレコードファイルのレコードをアクセス対象としてコマンドを実行する。【選択図】図２
2014182639.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信する通信部と、
データ列からなるレコードを格納する複数のレコードファイルと、前記レコードファイルに格納されているレコードを示す情報を格納したレコードを格納する参照レコードファイルとを記憶するメモリと、
前記通信部により外部装置から前記参照レコードファイルのレコードを指定するコマンドを受信した場合、前記受信したコマンドで指定された前記参照レコードファイルのレコードの情報が示す前記レコードファイルのレコードをアクセス対象としてコマンドを実行する制御部と、
を有するＩＣカード。
【請求項２】
前記レコードファイルと前記参照レコードファイルとはデータ構造が同じである、
前記請求項１に記載のＩＣカード。
【請求項３】
前記参照レコードファイルの各レコードに格納する情報は、前記レコードファイルを識別する情報と前記レコードファイル内のレコードを識別する情報とを含む、
前記請求項１又は２の何れか１項に記載のＩＣカード。
【請求項４】
前記メモリは、データ領域の先頭アドレスとファイル内の各レコードの長さを示す情報とを含む各ファイルのファイル定義情報を記憶し、
前記制御部は、前記参照レコードファイルのレコードが示すアクセス対象のレコードを格納するレコードファイルの先頭アドレスと、当該レコードファイルの先頭アドレスから前記アクセス対象のレコードまでの長さとに基づいて、アクセス対象のレコードのアドレスを計算する、
前記請求項１乃至３の何れか１項に記載のＩＣカード。
【請求項５】
前記メモリは、前記参照レコードファイルであるか否かを示す種別情報を含む各ファイルのファイル定義情報を記憶し、
前記制御部は、前記参照レコードファイルのレコードが示すアクセス対象のレコードを格納するレコードファイルの先頭アドレスと、当該レコードファイルの先頭アドレスから前記アクセス対象のレコードまでの長さとに基づいて、アクセス対象のレコードのアドレスを計算する、
前記請求項１乃至４の何れか１項に記載のＩＣカード。
【請求項６】
前記制御部は、前記参照レコードファイルのレコードの読出しを要求するコマンドを受信した場合、前記受信したコマンドで指定された前記参照レコードファイルのレコードの情報が示す前記レコードファイルのレコードを読み出す、
前記請求項１乃至５の何れか１項に記載のＩＣカード。
【請求項７】
前記制御部は、前記参照レコードファイルのレコードの読出しを要求するコマンドを受信した場合、前記受信したコマンドで指定された前記参照レコードファイルのレコードの情報が示す前記レコードファイルのレコードを読み出す、
前記請求項１乃至６の何れか１項に記載のＩＣカード。
【請求項８】
外部装置と通信する通信部と、データ列からなるレコードを格納する複数のレコードファイルと、前記レコードファイルに格納されているレコードを示す情報を格納したレコードを格納する参照レコードファイルとを記憶するメモリと、前記通信部により外部装置から前記参照レコードファイルのレコードを指定するコマンドを受信した場合、前記受信したコマンドで指定された前記参照レコードファイルのレコードの情報が示す前記レコードファイルのレコードをアクセス対象としてコマンドを実行する制御部と、を備えるモジュールと、
前記モジュールを具備する本体と、
を備えるＩＣカード。
【請求項９】
外部装置と通信する通信部と、
データ列からなるレコードを格納する複数のレコードファイルと、前記レコードファイルに格納されているレコードを示す情報を格納したレコードを格納する参照レコードファイルとを記憶するメモリと、
前記通信部により外部装置から前記参照レコードファイルのレコードを指定するコマンドを受信した場合、前記受信したコマンドで指定された前記参照レコードファイルのレコードの情報が示す前記レコードファイルのレコードをアクセス対象としてコマンドを実行する制御部と、
を有する携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカードおよび携帯可能電子装置に関する。
【背景技術】
【０００２】
ＩＣカードなどの携帯可能電子装置は、ＣＰＵなどのデータ処理機構および書き換え可能な不揮発性メモリを有し、外部装置からのコマンドを解釈及び実行して、その処理結果を外部装置に提示する。従来のＩＣカードは、レコードと称するデータ列を格納したレコードファイルを不揮発性メモリに記憶することができる。しかしながら、複数のレコードファイルに分散して格納した複数のレコードをアクセス対象とする処理を実行する場合、処理が煩雑となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−７２９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態では、複数のレコードに対して効率良くアクセスできるＩＣカードおよび携帯可能電子装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、ＩＣカードは、通信部と、メモリと、制御部と、を有する。通信部は、外部装置と通信する。メモリは、データ列からなるレコードを格納する複数のレコードファイルと、レコードファイルに格納されているレコードを示す情報を格納したレコードを格納する参照レコードファイルとを記憶する。制御部は、通信部により外部装置から参照レコードファイルのレコードを指定するコマンドを受信した場合、受信したコマンドで指定された参照レコードファイルのレコードの情報が示すレコードファイルのレコードをアクセス対象としてコマンドを実行する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係るＩＣカードとＩＣカード処理装置とを有するＩＣカードシステムの構成例を示す図である。
【図２】図２は、実施形態に係るＩＣカードの構成例を示すブロック図である。
【図３】図３は、実施形態に係るＩＣカード内の不揮発性メモリに格納されているデータの構成例を示す図である。
【図４】図４は、実施形態に係るＩＣカードの不揮発性メモリが記憶するファイルの管理構造の例を示す図である。
【図５】図５は、実施形態に係るＩＣカードに適用可能なコマンドフォーマットの例である。
【図６】図６は、実施形態に係るＩＣカードの不揮発性メモリのユーザ領域におけるデータ格納領域を概念的に示す図である。
【図７】図７は、実施形態に係るＩＣカードの不揮発性メモリのユーザ領域に格納されるＥＦ定義情報のデータテーブルの例を示す図である。
【図８】図８は、実施形態に係るＩＣカードの不揮発性メモリに記憶する参照レコードＥＦに格納されるレコードの例を示す図である。
【図９】図９は、実施形態に係るＩＣカードがＳＥＬＥＣＴコマンドを受信した場合の処理の流れを説明するためのフローチャートである。
【図１０】図１０は、実施形態に係るＩＣカードがＲＥＡＤ  ＲＥＣＯＲＤコマンドを受信した場合の処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、第１実施形態について、図面を参照して説明する。  
図１は、第１実施形態に係る携帯可能電子装置としてのＩＣカード２と、ＩＣカード２と通信を行う外部装置としてのＩＣカード処理装置１の構成について説明するためのブロック図である。
【０００８】
ＩＣカード２は、外部装置から与えられるコマンドを処理し、その処理結果をレスポンスとして出力する携帯可能電子装置である。ＩＣカード２は、たとえば、運用形態として、クレジットカード、キャッシュカード、ＩＤカード、ストアードフェアカード、電子マネーカードなどが想定される。また、ＩＣカード処理装置１は、ＩＣカード２に対して処理を要求するコマンドを供給し、ＩＣカード２からの処理結果を示すレスポンスを受信する装置である。ＩＣカード処理装置１は、たとえば、運用形態として、クレジットカード処理機、自動テラーマシン（ＡＴＭ）、個人認証装置、あるいは、通行制御装置などが想定される。
【０００９】
まず、ＩＣカード処理装置１の構成について説明する。  
図１に示す構成例において、ＩＣカード処理装置１は、制御部１０、および、カードリーダライタ１５、操作部１７、および、ディスプレイ１８を有する。また、制御部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、および、不揮発性メモリ１４を有する。たとえば、制御部１０は、パーソナルコンピュータ（ＰＣ）により構成されるようにしても良い。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７及びディスプレイ１８は、それぞれバスを介して互いに接続される。
【００１０】
ＣＰＵ１１は、ＩＣカード処理装置１全体の制御を司る。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラムを実行することにより種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２とコマンド及びレスポンスの送受信を行う。
【００１１】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１２】
不揮発性メモリ１４は、例えば、ＥＥＰＲＯＭなどの書き換え可能な不揮発性メモリにより構成する。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１３】
カードリーダライタ１５は、ＩＣカード２との通信を行うためのインターフェース装置である。カードリーダライタ１５は、ＩＣカード２の通信方式に応じたインターフェースにより構成される。たとえば、ＩＣカード２が接触型のＩＣカードである場合、カードリーダライタ１５は、ＩＣカード２のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
【００１４】
また、ＩＣカード２が非接触型のＩＣカードである場合、カードリーダライタ１５は、ＩＣカード２との無線通信を行うためのアンテナおよび通信制御部などにより構成される。カードリーダライタ１５では、ＩＣカード２に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ１５は、制御部１０のＣＰＵ１１による制御に基づいてＩＣカード２の活性化（起動）、種々のコマンドの送信、及び送信したコマンドに対する応答（レスポンス）の受信などを行なう。
【００１５】
操作部１７は、ＩＣカード処理装置１の操作者によって、種々の操作指示が入力される。操作部１７は、操作者に入力された操作指示のデータをＣＰＵ１１へ送信する。操作部１７は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。
【００１６】
ディスプレイ１８は、ＣＰＵ１１の制御により種々の情報を表示する表示装置である。ディスプレイ１８は、たとえば、液晶表示装置である。  
次に、ＩＣカード２について説明する。  
ＩＣカード２は、ＩＣカード処理装置１などの上位機器から電力などの供給を受けて活性化される（動作可能な状態になる）ようになっている。例えば、ＩＣカード２が接触型の通信によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が接触型のＩＣカードで構成される場合、ＩＣカード２は、通信インターフェースとしてのコンタクト部を介してＩＣカード処理装置１からの動作電源及び動作クロックの供給を受けて活性化される。
【００１７】
また、ＩＣカード２が非接触型の通信方式によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が非接触式のＩＣカードで構成される場合、ＩＣカード２は、通信インターフェースとしてのアンテナ及び変復調回路などを介してＩＣカード処理装置１からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【００１８】
次に、ＩＣカード２の構成例について説明する。  
図２は、実施形態に係るＩＣカード２の構成例を概略的に示すブロック図である。  
ＩＣカード２は、プラスチックなどで形成されたカード状の本体Ｃを有する。ＩＣカード２は、本体Ｃ内にモジュールＭが内蔵されている。モジュールＭは、１つまたは複数のＩＣチップＣａと通信部としての外部インターフェース（通信インターフェース）とが接続された状態で一体的に形成され、ＩＣカード２の本体Ｃ内に埋設されている。
【００１９】
図２に示す構成例において、ＩＣカード２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性メモリ２４、通信部２５を備えている。これらの各部は、データバスを介して互いに接続されている。また、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、および不揮発性メモリ２４は、１つ又は複数のＩＣチップＣａにより構成され、通信部２５に接続された状態でモジュールＭを構成している。
【００２０】
ＣＰＵ２１は、ＩＣカード２全体の制御を司る制御部として機能する。ＣＰＵ２１は、ＲＯＭ２２あるいは不揮発性メモリ２４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。たとえば、ＣＰＵ２１は、ＲＯＭ２２に記憶されているプログラムを実行することにより、ＩＣカード２の動作制御あるいはＩＣカード２の運用形態に応じた種々の処理を行う。なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、ＣＰＵ２１は、ハードウエア回路により実行される機能を制御する。
【００２１】
ＲＯＭ２２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２２は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２に組み込まれる。即ち、ＲＯＭ２２に記憶される制御プログラム及び制御データは、予めＩＣカード２の仕様に応じて組み込まれる。
【００２２】
ＲＡＭ２３は、揮発性のメモリである。ＲＡＭ２３は、ＣＰＵ２１の処理中のデータなどを一時的に格納する。たとえば、ＲＡＭ２３は、計算用バッファ、受信用バッファ、送信用バッファなどとして機能する。計算用バッファとしては、ＣＰＵ２１が実行する種々の演算処理の結果などを一時的に保持する。受信用バッファとしては、通信部２５を介してＩＣカード処理装置１から受信するコマンドを保持する。送信用バッファとしては、通信部２５を介してＩＣカード処理装置１へ送信するデータを保持する。
【００２３】
不揮発性メモリ２４は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２４は、ＩＣカード２の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。例えば、不揮発性メモリ２４では、プログラムファイル及びデータファイルなどが作成される。作成された各ファイルは、制御プログラム及び種々のデータなどが書き込まれる。
【００２４】
通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との通信を行うためのインターフェースである。ＩＣカード２が接触型のＩＣカードとして実現される場合、通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、ＩＣカード２が非接触型のＩＣカードとして実現される場合、通信部２５は、ＩＣカード処理装置１のカードリーダライタ１５との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
【００２５】
次に、ＩＣカード２の不揮発性メモリ２４におけるデータ領域の構成について説明する。  
図３は、ＩＣカード２内の不揮発性メモリ２４における記憶領域の構成例を示す図である。  
図３に示す構成例において、不揮発性メモリ２４は、システム領域２４ａ及びユーザ領域２４ｂなどを有するデータメモリとして機能する。
【００２６】
システム領域２４ａは、ＩＣカード２の基本的な動作を実行するためのデータが格納されている。システム領域２４ａに格納されるデータは、ＩＣカード２の仕様に応じて設定される情報であり、たとえば、フェーズ情報、ＡＴＲ情報、及び、ファイル管理テーブルなどを含む情報である。フェーズ情報は、ＩＣカード２の製造、発行、運用、運用終了などのＩＣカード２のフェーズを示す。ＡＴＲ情報は、ＩＣカード２が活性化した後、外部装置に出力する初期応答を示す。ファイル管理テーブルは、ファイルのＩＤ、先頭アドレスおよび種別などを示す情報を格納する。なお、システム領域２４ａに格納されるデータは、特定の構成に限定されるものではない。
【００２７】
ユーザ領域２４ｂは、定義情報領域およびデータ格納領域などを有する。不揮発性メモリ２４に記憶する各ファイルは、定義情報領域に記憶されるファイル定義情報と定義情報領域のファイル定義情報で定義されるデータ格納領域のデータエリアに記憶されるデータ（ファイルデータ）とにより構成される。たとえば、ＩＣカード２では、フォルダに相当するＤＦ(Dedicated File)、および、データファイルに相当するＥＦ(Elementary File)を階層構造で管理する。この場合、ＤＦは、ユーザ領域２４ｂの定義情報領域に記憶されるＤＦ定義情報で定義される。ＥＦは、ユーザ領域２４ｂの定義情報領域に記憶されるＥＦ定義情報とそのＥＦ定義情報で定義されるユーザ領域２４ｂのデータ格納領域におけるデータエリアとにより構成される。
【００２８】
次に、不揮発性メモリ２４が記憶するファイルについて説明する。  
図４は、不揮発性メモリ２４が記憶するファイルの管理構造の例を示す図である。  
図４に示す例では、不揮発性メモリ２４には、ＭＦ（Master File）３１、ＤＦ３２、３３、および、ＥＦ３４〜３６などの複数のファイルを記憶する。これらのファイルは、階層構造で管理される。また、各ファイルは、ユーザ領域２４ｂに記憶する定義情報によって定義される。なお、図４に示すようなファイル構造およびファイル定義は、たとえば、ＩＣカードの国際的な標準規格であるＩＳＯ／ＩＥＣ  ７８１６−４などで規定されている。
【００２９】
図４に示す構成例において、最上階層のＭＦ３１の次の階層には、ＤＦ３２（ＤＦ名：Ａ）、及びＤＦ３３（ＤＦ名：Ｂ）が存在する。たとえば、１つのＤＦは、当該ＩＣカード２が具備する１つのアプリケーションを実現するためのデータが格納される。複数のアプリケーションによって複数の機能を実現しているＩＣカード２は、各アプリケーションに対応する複数のＤＦを不揮発性メモリ２４内に設けるようにして良い。
【００３０】
また、図４に示す構成例において、ＤＦ３２（ＤＦ名（ＤＦ  ｎａｍｅ）：Ａ）の配下としてＤＦ３２の次の階層には、ＥＦ３４（ＥＦＩＤ（Ｓｈｏｒｔ  ＥＦＩＤ）：０ａ、先頭アドレス：ｍ）、および、ＥＦ３５（ＥＦＩＤ：０ｂ、先頭アドレス：ｎ）が存在している。また、ＤＦ３３（ＤＦ名：Ｂ）の配下としてＤＦ３３の次の階層には、ＥＦ３６（ＥＦＩＤ：０ｃ、先頭アドレス：ｏ）、および、ＥＦ３７（ＥＦＩＤ：０ｄ、先頭アドレス：ｐ）が存在している。
【００３１】
ＤＦ３２及びＤＦ３３配下の各ＥＦ３４〜３６は、個々のアプリケーションで使われるデータを格納するデータファイルである。各ＥＦ３４〜３６は、たとえば、ＩＳＯ／ＩＥＣ７８１６−４で規定されるＥＦ（Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ）である。各ＥＦは、それぞれのＥＦ定義情報で定義される。各ＥＦのＥＦ定義情報は、各ＥＦの種別（ファイル種別）を示すファイル種別情報が設定されている。つまり、各ＥＦは、ＥＦ定義情報のファイル種別情報により種別が判別される。
【００３２】
なお、本実施形態では、各ＥＦのファイル種別として、レコード単位でデータ列を格納するレコードＥＦ、および、後述する参照レコードＥＦを想定して説明するものとする。ただし、ファイル種別としては、レコードＥＦ、及び参照レコードＥＦ以外を示すものを設定するようにしても良い。
【００３３】
レコードＥＦは、レコードと称するバイト列（データ列）を１つ以上格納したファイルである。レコードＥＦに格納する各レコードは、当該レコードＥＦ内で各レコードに割り振られるレコード番号またはレコードＩＤにより指定される。また、参照レコードＥＦのデータ構造は、レコードＥＦと同様である。このため、参照レコードＥＦに対しては、通常のレコードＥＦと同様なコマンドで処理（アクセス）を要求できる。
【００３４】
参照レコードＥＦの各レコードには、実際のデータ列ではなく、他のレコードＥＦ内に存在するレコードを指定する情報が格納される。すなわち、参照レコードＥＦのレコードをアクセス対象に指定するコマンドを受信した場合、制御素子２１は、指定された参照レコードＥＦのレコードが示す他の通常のレコードＥＦにおけるレコードを実際のアクセス対象として処理を実行する。
【００３５】
次に、ＩＣカード処理装置１がＩＣカード２に処理を要求するコマンドについて説明する。  
図５は、ＩＳＯ／ＩＥＣ７８１６−４で規定されるＩＣカードのコマンドフォーマットの例である。  
図５に示す構成例において、コマンドは、クラスバイト（ＣＬＡ）、インストラクションバイト（ＩＮＳ）、パラメータバイト（Ｐ２、Ｐ２）、Ｌｃフィールド、コマンドデータフィールド、および、Ｌｅフィールドにより構成する。
【００３６】
クラスバイト（ＣＬＡ）は、コマンドの種別を示す。インストラクションバイト（ＩＮＳ）は、コマンドを示す。パラメータバイト（Ｐ２、Ｐ２）は、コマンドオプション指定を示す。Ｌｃフィールドは、後続のコマンドデータフィールドの長さを示す。コマンドデータフィールドは、コマンド処理に使用するデータを示す。Ｌｅフィールドは、コマンドへの応答として返されるレスポンスデータの最大長を示す。
【００３７】
ＩＣカード処理装置１からのコマンドを受信した場合、ＩＣカード２の制御素子（ＣＰＵ）２１は、図４に示すフォーマットに従って受信したコマンドを解析し、受信したコマンドが要求する処理内容を認識し、コマンドが要求する処理を実行する。
【００３８】
次に、不揮発性メモリ２４のユーザ領域２４ｂにおける各ＥＦのデータについて説明する。
【００３９】
図６は、不揮発性メモリ２４のユーザ領域２４ｂにおけるデータ格納領域を概念的に示す図である。図６では、罫線で囲まれたセルを１つのＥＦのデータとして表現している。図６に示すデータ格納領域には、先頭アドレス「ｍ」、「ｎ」、「ｏ」、「ｐ」から各ＥＦのデータが記憶される。図６に示す先頭アドレスから開始される各ＥＦのデータエリアは、各ＥＦのＥＦ定義情報で定義される。
【００４０】
１つのＥＦのデータ領域には、当該ＥＦのデータ領域の先頭アドレスから当該ＥＦの定義情報で指定されるレコード長分ずつ各レコードが格納される。従って、ＩＣカード２の制御素子２１は、各ＥＦの先頭アドレスと各レコードのデータ長とから各レコードが存在するアドレスを計算し、各アドレスにアクセスする。
【００４１】
次に、不揮発性メモリ２４に記憶する各ファイルの定義情報について説明する。  
図７は、不揮発性メモリ２４のユーザ領域２４ｂに格納されるＥＦ定義情報のデータテーブルの例を示す図である。図７に示す定義情報は、図４に示す各ファイル３２〜３７に対する定義情報の例であるものとする。
【００４２】
図７に示すテーブルは、ＤＦ名、ＥＦＩＤ、ＥＦレコード領域（データ領域）の先頭アドレス、ファイル種別情報、および、当該ＥＦ内の各レコードのレコード長などを格納するデータフィールドで構成される。ＤＦ名は、各ＥＦが属するフォルダを示す情報である。ＥＦＩＤは、ＥＦを識別するための情報である。ＥＦレコード領域の先頭アドレスは、不揮発性メモリ２４のユーザ領域２４ｂにおいてＥＦのデータが記憶されるデータエリア（レコード領域）の先頭アドレスを示す情報である。ファイル種別情報は、ＥＦのファイル種別を示す情報である。レコード長は、各レコードの長さを示す情報である。
【００４３】
図７に示すテーブルを参照すれば、各ＥＦは、ＥＦＩＤ、不揮発性メモリ２４におけるデータの先頭アドレス、ファイル種別、および、各レコードのレコード長が判別される。本実施形態においては、ＥＦのファイル種別は、レコードＥＦ又は参照レコードＥＦである場合を想定して説明する。また、レコードＥＦは、ファイル種別情報が「０ｙ」であり、参照レコードＥＦはファイル種別情報が「０ｚ」であるものとする。
【００４４】
図７に示す例において、ＥＦＩＤが「０ａ」、「０ｂ」及び「０ｄ」の各ＥＦ（ＥＦ、３４、３５、３７）は、ファイル種別情報が「０ｙ」のレコードＥＦであり、ＥＦＩＤが「０ｃ」のＥＦ（ＥＦ３６）は、ファイル種別情報が「０ｚ」の参照レコードＥＦである。参照レコードＥＦは、レコードＥＦと同様なデータ構造で、各レコードには、実際のレコードを参照する情報が格納される。
【００４５】
また、図７に示す構成例では、ファイル種別情報が「０ｚ」である場合、つまり、参照レコードＥＦである場合、各レコードは、固定長（所定の長さ）となっているものとする。このため、図７に示すテーブルでは、ファイル種別情報が「０ｚ」である参照レコードＥＦの各レコードについては、レコード長を示す情報が省略されている。
【００４６】
図７に示す例において、ＤＦ名が「Ａ」のＤＦは、図４に示すＤＦ３２であり、配下にＥＦＩＤが「０ａ」のＥＦとＥＦＩＤが「０ｂ」のＥＦがある。ＥＦＩＤが「０ａ」のＥＦは、図４に示すＤＦ３２の配下にあるＥＦ３４であり、不揮発性メモリ２４のユーザ領域２４ｂにおけるＥＦ３４のデータエリアの先頭アドレスが「ｍ」である。ＥＦＩＤが「０ａ」のＥＦは、ファイル種別情報が「０ｙ」であり、レコードＥＦである。また、ＥＦＩＤが「０ａ」のＥＦは、３つのレコードを格納し、各レコードのレコード長は、「２０」「６０」「８０」となっている。
【００４７】
たとえば、レコード読出要求（ＲＥＡＤ  ＲＥＣＯＲＤ）コマンドにおいてＥＦＩＤを「０ａ」、および、レコード番号を「＃０１」を指定した場合、制御素子２１は、カレントＤＦのＤＦ名が「Ａ」で、ＥＦＩＤが「０ａ」のＥＦのレコード番号「＃０１」のレコードからデータを読み出す。この場合、レコード番号が「＃０１」のレコード長が「２０バイト」であるため、制御素子２１は、ＥＦＩＤが「０ａ」のＥＦのデータ領域の先頭アドレス「ｍ」から２０バイト分のデータを指定されたレコードとして読み出す。
【００４８】
また、図７に示す例において、ＤＦ名が「Ｂ」のＤＦは、図４に示すＤＦ３３であり、配下にＥＦＩＤが「０ｃ」のＥＦとＥＦＩＤが「０ｄ」のＥＦがある。ＥＦＩＤが「０ｃ」のＥＦは、図４に示すＤＦ３３の配下にあるＥＦ３６であり、不揮発性メモリ２４のユーザ領域２４ｂにおけるＥＦ３６のデータエリアの先頭アドレスが「ｏ」である。ＥＦＩＤが「０ｃ」のＥＦは、ファイル種別情報が「０ｚ」であり、ファイル種別が参照レコードＥＦである。また、ＥＦＩＤが「０ｃ」のＥＦは、当該ＥＦ内の各レコード（他のレコードＥＦが格納するレコードを指定する情報からなるレコード）を固定長のデータとして格納する。
【００４９】
図８は、参照レコードＥＦに格納されるレコードの例を示す図である。  
図８に示すレコードは、図７に示すＥＦＩＤが「０ｃ」のＥＦ（参照レコードＥＦ）に格納されるレコードを想定している。図８に示す例において、参照レコードＥＦの各レコードは、ＤＦ名（ＤＦ名）、ＥＦＩＤ（ＥＦＩＤ）、および、レコード番号からなるデータである。また、参照レコードＥＦの各レコードは、固定長で構成される。
【００５０】
たとえば、図７に示すファイル種別情報が「０ｚ」であった場合、制御素子２１は、当該ＥＦが参照レコードＥＦであると認識する。参照レコードＥＦであると認識すると、制御素子２１は、図８に示すような各レコードに格納したデータが示す他のレコードＥＦのレコードを特定する。たとえば、アクセス対象とする参照レコードＥＦのレコードとして図８の上段に示すレコードが指定された場合、制御素子２１は、ＤＦ名が「Ａ」、ＥＦＩＤが「０ａ」、レコード番号が「＃０１」を実際にアクセスするレコードであると判定する。この場合、制御素子２１は、図７を参照してＤＦ名が「Ａ」、ＥＦＩＤが「０ａ」、レコード番号が「＃０１」の先頭アドレスが「ｍ」であり、レコード長が「２０バイト」であると判定する。
【００５１】
次に、上記のように構成されるＩＣカード２が参照レコードＥＦにアクセスする場合の処理について説明する。  
図９は、ＩＣカード２における選択要求（ＳＥＬＥＣＴ）コマンドに対する処理の流れを説明するためのフローチャートである。  
外部装置としてのＩＣカード処理装置１からの電源供給を受けたＩＣカード２の制御素子２１は、初期化及びプロトコル活性化処理を実行する。初期化及びプロトコル活性化処理が完了すると、ＩＣカード２の制御素子２１は、ＩＣカード処理装置１からのコマンドが受付け可能な状態となる。この状態においてＩＣカード処理装置１からのＳＥＬＥＣＴコマンドを受信した場合（ステップＳ１０）、ＩＣカード２の制御素子２１は、受信したコマンドを図４に示すようなコマンドフォーマットに従って解析する。制御素子２１は、受信したコマンドに対する解析結果により、選択要求（ＳＥＬＥＣＴ）コマンドであることと選択すべきファイルを示す情報とを識別する。
【００５２】
受信したコマンドがＤＦ名を指定するＳＥＬＥＣＴコマンドである場合、制御素子２１は、ＳＥＬＥＣＴコマンドで指定されたＥＦ名と一致するＤＦ名のユーザ領域２４ｂにおけるＤＦ定義情報から検索する（ステップＳ１１）。ＳＥＬＥＣＴコマンドで指定されたＥＦ名のＤＦ定義情報を検出すると、制御素子２１は、検出したＤＦ名が「Ａ」のＤＦの位置を示すポインタを取り出し、ＲＡＭ２３に確保したカレント情報の記憶領域にカレントＤＦポインタを設定する（ステップＳ１２）。
【００５３】
ＳＥＬＥＣＴコマンドに応じてカレントＤＦポインタを設定すると、制御素子２１は、ＳＥＬＥＣＴコマンドに応じた処理が正常終了したことを示すレスポンスをＩＣカード処理装置１へ送信し、処理を終了する（ステップＳ１３）。ＳＥＬＥＣＴコマンドに対するレスポンスをＩＣカード処理装置１へ送信した後、当該ＩＣカード２の制御素子２１は、ＩＣカード処理装置１からのコマンド受信待ちとなって待機する。
【００５４】
次に、ＩＣカード２がレコード読出要求（ＲＥＡＤ  ＲＥＣＯＲＤ）コマンドを受信した場合の処理について説明する。  
図１０は、ＩＣカード２がレコード読出要求（ＲＥＡＤ  ＲＥＣＯＲＤ）コマンドを受信した場合の処理の流れを説明するためのフローチャートである。  
ＲＥＡＤ  ＲＥＣＯＲＤコマンドを受信すると、制御素子（ＣＰＵ）２１は、コマンドフォーマットに基づいて受信したコマンドを解析する。制御素子２１は、受信したコマンドに対する解析結果に基づいて受信したコマンドがＲＥＡＤ  ＲＥＣＯＲＤであると認識する（ステップＳ２１）。受信したコマンドがＲＥＡＤ  ＲＥＣＯＲＤコマンドであると認識すると、制御素子２１は、受信したＲＥＡＤ  ＲＥＣＯＲＤコマンドからアクセス対象（読出し対象）とするＥＦＩＤとレコード番号とを読み取る（ステップＳ２２）。
【００５５】
ＲＥＡＤ  ＲＥＣＯＲＤコマンドがアクセス対象として指定するＥＦのＥＦＩＤを読み取ると、制御素子２１は、指定されたＥＦＩＤをもとにカレントＤＦの配下である各ＥＦのＥＦ定義情報を検索する。指定されたＥＦＩＤのＥＦ定義情報を検出すると、制御素子２１は、検出したＥＦ定義情報を参照して指定されたＥＦＩＤのＥＦのファイル種別情報を読み出す（ステップＳ２３）。
【００５６】
ファイル種別情報を読み出すと、制御素子２１は、指定されたＥＦが参照レコードＥＦであるか否かを判断する（ステップＳ２４）。ファイル種別が参照レコードＥＦでないと判断した場合（ステップＳ２４、ＮＯ）、制御素子２１は、ファイル種別に応じてＲＥＡＤ  ＲＥＣＯＲＤコマンドに対する処理を実行する（ステップＳ２５）。
【００５７】
ファイル種別が参照レコードＥＦであると判断した場合（ステップＳ２４、ＹＥＳ）、制御素子２１は、指定された参照レコードＥＦにおいて受信したＲＥＡＤ  ＲＥＣＯＲＤコマンドで指定されたレコード番号のレコードを読み出す（ステップ２６）。受信コマンドで指定された参照レコードＥＦのレコードを読み出すと、制御素子２１は、読み出したレコードから実際のアクセス対象のデータを示すＤＦ名、ＥＦＩＤおよびレコード番号を抽出する（ステップＳ２７）。参照レコードＥＦのレコードから抽出するＤＦ名、ＥＦＩＤ及びレコード番号は、実際のアクセス対象とするデータとしてのレコードを示す情報である。
【００５８】
受信コマンドで指定された参照レコードＥＦのレコードからＤＦ名およびＥＦＩＤを抽出すると、制御素子２１は、抽出したＤＦ名およびＥＦＩＤが示すＥＦのＥＦ定義情報を特定する（ステップＳ２８）。ＥＦ定義情報を特定すると、制御素子２１は、当該ＥＦ定義情報から当該ＥＦの先頭アドレスを特定する（ステップＳ２９）。さらに、制御素子２１は、受信コマンドで指定された参照レコードＥＦのレコードから抽出したレコード番号に基づいて、ＥＦの先頭アドレスから抽出したレコード番号のレコード（アクセス対象とするデータ）までの長さを判定する（ステップＳ３０）。たとえば、当該レコード番号よりも若いレコード番号の全レコードのレコード長を加算した値がＥＦの先頭アドレスから抽出したレコード番号のレコード（アクセス対象とするデータ）までの長さとなる。
【００５９】
ＥＦの先頭アドレスおよびＥＦの先頭から当該レコードまでの長さを決定すると、制御素子２１は、アクセス対象となるデータ（レコード）の読出しアドレスを計算する（ステップＳ３１）。たとえば、制御素子２１は、ＥＦの先頭アドレスとＥＦの先頭から当該レコードまでの長さとを加算することにより、アクセス対象となるデータ（レコード）の先頭アドレスを計算する。また、制御素子２１は、受信コマンドで指定された参照レコードＥＦのレコードで特定するＥＦのＥＦ定義情報を参照することによりアクセス対象となるレコードのレコード長を特定する。
【００６０】
アクセス対象となるデータ（レコード）の読出しアドレスを計算すると、制御素子２１は、計算したアドレスからデータを読み出す（ステップＳ３２）。制御素子２１は、読み出したデータを受信したＲＥＡＤ  ＲＥＣＯＲＤコマンドに対するレスポンスデータにセットし、読み出したデータをセットしたレスポンスデータをＩＣカード処理装置１へ送信し（ステップＳ３３）、ＲＥＡＤ  ＲＥＣＯＲＤコマンドに対する処理を終了する（ステップＳ３４）。
【００６１】
上述の処理では、ＲＥＡＤ  ＲＥＣＯＲＤコマンドを受信した場合の処理の流れについて説明したが、図１０に示すようなアクセス制御は、ＲＥＡＤ  ＲＥＣＯＲＤコマンド以外の別の種類のコマンドにも適用できる。たとえば、レコードへのデータの書込みを要求するコマンドについても、図１０に示すようなアクセス制御が実施できる。たとえば、図１０に示す処理手順において、ステップＳ３２の処理をコマンドで指定されたデータの書込み或いは書換えに変更し、ステップＳ３３の処理を書込み処理の結果を示すレスポンスデータの返信とすれば、レコードへのデータの書込みを要求するコマンドに対して、参照レコードＥＦのレコードが示す別のレコードＥＦのレコードにデータを書き込む処理が実現できる。
【００６２】
上記のように、実施形態に係るＩＣカードは、ＭＦまたはＤＦ配下に複数レコードＥＦが存在する場合、個々のファイル定義とは別に、複数のレコードデータの参照先を一括して格納する参照レコードＥＦを定義する機能を有する。参照レコードＥＦでは、複数のレコードＥＦに格納されている複数のレコードのデータを１つのＥＦで管理できる。
【００６３】
これにより、実施形態に係るＩＣカードおよびＩＣカード処理装置は、分散してＩＣカード内のメモリに記憶しているデータ群に対する処理の手続きを簡素化できる。また、実施形態に係るＩＣカードおよびＩＣカード処理装置は、１つの参照レコードＥＦを選択することで複数のレコードＥＦに配置されたレコードデータを参照してファイル操作するこが可能となり、処理手続きが簡素化できる。
【００６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６５】
Ｃ…本体、Ｍ…モジュール、Ｃａ…ＩＣチップ、１…ＩＣカード処理装置、２…ＩＣカード、１０…制御部、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、２１…制御素子（ＣＰＵ）、２２…ＲＯＭ、２３…ＲＡＭ、２４…不揮発性メモリ、２４ａ…システム領域、２４ｂ…ユーザ領域、２５…通信部。
【図１】
2014182639.tif 000003
【図２】
2014182639.tif 000004
【図３】
2014182639.tif 000005
【図４】
2014182639.tif 000006
【図５】
2014182639.tif 000007
【図６】
2014182639.tif 000008
【図７】
2014182639.tif 000009
【図８】
2014182639.tif 000010
【図９】
2014182639.tif 000011
【図１０】
2014182639.tif 000012