(57)【要約】【課題】  利便性の高いＩＣカード、及びＩＣカードの制御方法を提供する。【解決手段】  一実施形態に係るＩＣカードは、記憶部に記憶されているファイルの選択を指示する選択コマンドを受信した場合、選択コマンドで指示されたファイルを選択し、選択されたファイルに対応するファイル制御情報を検索し、選択されたファイルに対応するファイル制御情報が記憶部内に存在しない場合、選択されたファイルの上位の階層のファイルに対応するファイル制御情報を検索し、検索したファイル制御情報により選択されたファイルのファイル制御情報を再構成し、再構成されたファイル制御情報を通信部により外部機器に送信するファイル制御情報再構成部と、を具備する。【選択図】      図１１
2015133074.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から送信されたコマンドに基づいて処理を実行するＩＣカードであって、
階層構造の複数のファイルを備える記憶部と、
前記外部機器と通信する通信部と、
前記記憶部に記憶されているファイルの選択を指示する選択コマンドを受信した場合、前記選択コマンドで指示されたファイルを選択し、選択されたファイルに対応するファイル制御情報を検索し、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しない場合、選択されたファイルの上位の階層のファイルに対応するファイル制御情報を検索し、検索したファイル制御情報により選択されたファイルのファイル制御情報を再構成し、再構成された前記ファイル制御情報を前記通信部により前記外部機器に送信するファイル制御情報再構成部と、
を具備するＩＣカード。
【請求項２】
前記ファイル制御情報は、アクセス条件を有し、
前記ファイル制御情報再構成部は、検索したファイル制御情報の前記アクセス条件により選択されたファイルのファイル制御情報を再構成する、
請求項１に記載のＩＣカード。
【請求項３】
前記ファイル制御情報は、ライフサイクルステータスを有し、
前記ファイル制御情報再構成部は、検索したファイル制御情報の前記ライフサイクルステータスにより選択されたファイルのファイル制御情報を再構成する、
請求項１に記載のＩＣカード。
【請求項４】
前記ファイル制御情報再構成部は、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しない場合、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しないことを前記外部機器に送信する請求項１に記載のＩＣカード。
【請求項５】
前記ファイル制御情報再構成部は、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しない場合、再構成された前記ファイル制御情報と、前記ファイル制御情報が選択されたファイルではない他のファイルに対応するファイル制御情報から再構成されたものであることを示す情報とを前記通信部により前記外部機器に送信する、請求項１に記載のＩＣカード。
【請求項６】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項７】
階層構造の複数のファイルを備える記憶部と、前記外部機器と通信する通信部と、を具備し、外部機器から送信されたコマンドに基づいて処理を実行するＩＣカードの制御方法であって、
前記記憶部に記憶されているファイルの選択を指示する選択コマンドを受信した場合、前記選択コマンドで指示されたファイルを選択し、選択されたファイルに対応するファイル制御情報を検索し、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しない場合、選択されたファイルの上位の階層のファイルに対応するファイル制御情報を検索し、検索したファイル制御情報により選択されたファイルのファイル制御情報を再構成し、再構成された前記ファイル制御情報を前記通信部により前記外部機器に送信する、
ＩＣカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、及びＩＣカードの制御方法に関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができる不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、ＩＣカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【０００４】
また、ＩＣカードは、不揮発性メモリ内に階層状のファイル構造を有する。ファイル構造は、複数のファイルを有する。さらに、ＩＣカードは、各ファイル毎にファイルの種別、サイズ、及びアクセス条件などを示すファイル制御情報（ＦＣＩ：Ｆｉｌｅ  ｃｏｎｔｒｏｌ  Ｉｎｆｏｒｍａｔｉｏｎ）をファイル構造内に有する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１１４７４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなＩＣカードは、選択中のファイルに対応したＦＣＩを読み出し、ＩＣカードに送信する。しかし、ＦＣＩが対応付けられていないファイルがファイル構造内に存在する場合がある。このような場合、ＩＣカードは、ファイルに対応したＦＣＩを処理装置に提出できないという課題がある。
【０００７】
そこで、利便性の高いＩＣカード、及びＩＣカードの制御方法を提供する。
【課題を解決するための手段】
【０００８】
一実施形態に係るＩＣカードは、外部機器から送信されたコマンドに基づいて処理を実行するＩＣカードであって、階層構造の複数のファイルを備える記憶部と、前記外部機器と通信する通信部と、前記記憶部に記憶されているファイルの選択を指示する選択コマンドを受信した場合、前記選択コマンドで指示されたファイルを選択し、選択されたファイルに対応するファイル制御情報を検索し、選択されたファイルに対応するファイル制御情報が前記記憶部内に存在しない場合、選択されたファイルの上位の階層のファイルに対応するファイル制御情報を検索し、検索したファイル制御情報により選択されたファイルのファイル制御情報を再構成し、再構成された前記ファイル制御情報を前記通信部により前記外部機器に送信するファイル制御情報再構成部と、を具備する。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るＩＣカード処理システムの構成例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの例について説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードの例について説明するための図である。
【図４】図４は、一実施形態に係るＩＣカードの例について説明するための図である。
【図５】図５は、一実施形態に係るＩＣカードの例について説明するための図である。
【図６】図６は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図７】図７は、一実施形態に係るＩＣカードに送信されるコマンドの例について説明するための図である。
【図８】図８は、一実施形態に係るＩＣカードから処理装置に送信されるレスポンスの例について説明するための図である。
【図９】図９は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図１０】図１０は、一実施形態に係るＩＣカードに送信されるコマンドの例について説明するための図である。
【図１１】図１１は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【図１２】図１２は、一実施形態に係るＩＣカードの例について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、一実施形態に係るＩＣカード、及びＩＣカードの制御方法について詳細に説明する。
【００１１】
本実施形態に係る携帯可能電子装置（ＩＣカード）２０及びＩＣカード２０を処理する処理装置（端末装置）１０は、例えば、接触通信、及び／または非接触通信の機能を備える。これにより、ＩＣカード２０及び端末装置１０は、互いにデータの送受信を行うことができる。
【００１２】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード２０を処理する端末装置１０と、ＩＣカード２０と、を備える。
【００１３】
端末装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、ディスプレイ１８、及び電源部１９を備える。ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、カードリーダライタ１５、操作部１７、及びディスプレイ１８は、それぞれバスを介して互いに接続されている。
【００１４】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１２又は不揮発性メモリ１４に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１５を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１５】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１３は、カードリーダライタ１５を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００１６】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭ、ＦＲＡＭ（登録商標）などを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【００１７】
カードリーダライタ１５は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１５は、接触通信、または非接触通信によりＩＣカード２０とデータの送受信を行う。
【００１８】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、ＩＣカード２０が装着されるスロットと、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。
【００１９】
スロットにＩＣカード２０が装着される場合、カードリーダライタ１５の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１５は、スロットに装着されるＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２０】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１５は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２１】
カードリーダライタ１５は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１５は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、通信可能範囲に存在するＩＣカード２０に対してデータを非接触で送信することができる。
【００２２】
さらに、カードリーダライタ１５のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１５は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、ＩＣカード２０から送信された元のデータを取得することができる。
【００２３】
操作部１７は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部１７は、生成した操作信号をＣＰＵ１１に入力する。これにより、ＣＰＵ１１は、操作者により入力された操作に基づいて処理を実行することができる。
【００２４】
ディスプレイ１８は、ＣＰＵ１１、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
【００２５】
電源部１９は、端末装置１０の各部に電力を供給する。電源部１９は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置１０の各部に供給する。
【００２６】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備える。ＩＣモジュール２２は、ＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２内に形成されている。
【００２７】
なお、本体２１は、少なくとも通信部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００２８】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２などを備える。通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部３１、及びロジック部３２は、バスを介して互いに接続されている。
【００２９】
通信部２４は、端末装置（外部機器）１０のカードリーダライタ１５と通信を行うためのインターフェースである。通信部２４は、例えばUniversal Asynchronous Receiver Transmitter（ＵＡＲＴ）などである。
【００３０】
接触通信のインターフェースとして用いられる場合、通信部２４は、カードリーダライタ１５の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２２の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能に形成されている。
【００３１】
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部２４は、コンタクトパターンを介してカードリーダライタ１５とデータの送受信を行うことができる。
【００３２】
また、非接触通信のインターフェースとして用いられる場合、通信部２４は、信号処理部とアンテナとを備える。
【００３３】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３４】
アンテナは、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３５】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部２４は、２値の論理データを取得する。通信部２４は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００３６】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置１０から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３７】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３８】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１０から受信したデータを一時的に格納する。またＲＡＭ２７は、通信部２４を介して端末装置１０に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００３９】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ２８は、ＩＣカード２０の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００４０】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４１】
電源部３１は、端末装置１０の各部に電力を供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部３１は、通信部２４のコンタクトパターンを介してカードリーダライタ１５から供給される電力をＩＣカード２０の各部に供給する。
【００４２】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１５のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４３】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、端末装置１０からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、ロジック部３２は、相互認証処理に係る演算処理を実行する。
【００４４】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０を発行する発行装置は、一次発行において、ＩＣカード２０にコマンド（初期化コマンド）を送信することにより、ＩＣカード２０の不揮発性メモリ２８の初期化を行う。これにより、端末装置１０は、ＩＣカード２０の不揮発性メモリ２８内にＩＣカード２０の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
【００４５】
発行装置は、例えば、ＩＳＯ／ＩＥＣ７８１６により規定されているファイル構造を不揮発性メモリ２８内に創成する。上記の初期化が行われた不揮発性メモリ２８は、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などを有する。
【００４６】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００４７】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
【００４８】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４９】
図３は、不揮発性メモリ２８内のメモリマップの概略を示す。また、図４は、ＤＦまたはＥＦの定義情報が格納されているファイル定義情報と、ＥＦ領域との相関を示す。
【００５０】
不揮発性メモリ２８は、システム領域と、ユーザ領域とを有する。ユーザ領域は、ファイル定義情報、空き領域、及びＥＦが格納されている領域（ＥＦ領域）を備える。ＥＦ領域は、ＥＦのデータ管理情報と、ＥＦのデータ本体とが格納されている。
【００５１】
例えば、図４は、図３のファイル定義情報とＥＦ領域との例を示す。図４の例によると、ファイル定義情報は、「ＭＣＫ  ＥＦ定義情報」、「ＭＦ定義情報」、「ＤＦ１定義情報」、「ＤＦ２定義情報」、「ＥＦ１定義情報」、及び「ＥＦ２定義情報」などを備える。
【００５２】
「ＤＦ１定義情報」及び「ＤＦ２定義情報」などのＤＦ定義情報は、ファイル名、及びファイルＩＤ（ＤＦ−ＩＤ）などを示す情報を有する。さらに、ＤＦの下層に設けられたＤＦのＤＦ定義情報は、親のＤＦを示す情報（親情報）をさらに有する。例えば、ＤＦ定義情報は、ＤＦのＤＦ−ＩＤを親情報として有する。
【００５３】
「ＥＦ１定義情報」及び「ＥＦ２定義情報」などのＥＦ定義情報は、親のＤＦを示す情報（親情報）、特殊ＩＤ、ＥＦ−ＩＤ、ＥＦ開始アドレス、ＥＦデータサイズ、及びレコード種別などの情報を有する。例えば、ＥＦ定義情報は、ＤＦのＤＦ−ＩＤを親情報として有する。ＥＦ開始アドレスは、ユーザ領域上でＥＦのデータ本体が格納されている位置を示す情報である。ＥＦデータサイズは、ＥＦのデータ本体の容量を示す情報である。
【００５４】
また、図４の例によると、ＥＦ領域は、「ＥＦ１データ管理情報」、「ＥＦ１データ本体」、「ＥＦ２データ管理情報」、及び「ＥＦ２データ本体」などを有する。
【００５５】
「ＥＦ１データ管理情報」及び「ＥＦ２データ管理情報」などのＥＦデータ管理情報は、対応するＥＦにデータが書き込まれているか否かを示すレコード制御情報などの、対応するＥＦに関する情報が格納される領域である。さらに、レコード制御情報は、対応するＥＦに書き込まれているデータの長さを示す情報を有する。
【００５６】
「ＥＦ１データ本体」及び「ＥＦ２データ本体」などのＥＦデータ本体は、例えばＦＣＩ、暗号鍵、ＩＣカード２０の所有者の情報などのデータ本体が格納される領域である。
【００５７】
図５は、不揮発性メモリ２８が有するファイルの構成（ファイルツリー）の例を示す。不揮発性メモリ２８は、上記のように階層構造の複数のファイルを備える。不揮発性メモリ２８は、ＭＦ５０１と、ＭＦ５０１の下位にＤＦ５０２を有する。さらに、不揮発性メモリ２８は、ＤＦ５０２の下位にＥＦ５０３、ＥＦ５０４、及びＤＦ５０５を有する。さらに、不揮発性メモリ２８は、ＤＦ２の下位にＥＦ５０６を有する。なお、ＤＦ５０２の下位のＥＦ５０４がＤＦ５０２に対応するＦＣＩを格納している。ＦＣＩは、例えばＤＦ名（ＤＦ＿Ｎａｍｅ）、ファイル識別子（Ｆｉｌｅ  Ｉｄｅｎｔｉｆｅｒ）、アクセス条件（例えばsecurity attribute in compact formatなど）、及びフェーズ情報などを備える。また、ＤＦ５０５に対応するＦＣＩは、不揮発性メモリ２８内には格納されていない。
【００５８】
アクセス条件は、例えば、既に外部からの認証コマンドに応じた認証（外部認証）が完了しているか否かを示す情報である。例えば、外部認証が済の状態である場合、端末装置１０は、ＩＣカード２０にアクセスすることができる。フェーズ情報は、例えば、Ｌｉｆｅ  ｃｙｃｌｅ  ｓｔａｔｕｓなどの情報であり、ＩＣカード２０が初期段階の「製造フェーズ」、情報の書き込みが行われた「発行フェーズ」、発行が完了した「運用フェーズ」のいずれであるかを示す情報である。
【００５９】
図６は、ＤＦを選択するためのセレクトコマンドを受信した場合のＩＣカード２０の動作の例を示す。ＩＣカード２０は、端末装置１０から送信されたセレクトコマンドを受信する（ステップＳ１１）。例えば、ＩＣカード２０は、図７に示されるようなセレクトコマンドを受信する。
【００６０】
図７のセレクトコマンドは、ＩＣカード２０にＤＦを選択させるためのコマンドである。セレクトコマンドは、ＩＳＯ／ＩＥＣ７８１６−３に規定されているCommand Application Protocol Data Unit(C-APDU)形式のコマンドである。
【００６１】
セレクトコマンドは、コマンドヘッダとコマンドボディとを有する。コマンドヘッダは、クラスバイト「ＣＬＡ」、コマンド種別「ＩＮＳ」、パラメータ「Ｐ１」及び「Ｐ２」などを有する。コマンドボディは、データフィールドの長さ「Ｌｃ」、データフィールド「Ｄａｔａ」、及び予想されるレスポンスのデータ長「Ｌｅ」などを有する。
【００６２】
「ＣＬＡ」は、コマンドの層別を示すｃｌａｓｓ  ｂｙｔｅである。「ＩＮＳ」は、コマンドの種別を示すｉｎｓｔｒｕｃｔｉｏｎ  ｂｙｔｅである。「Ｐ１」及び「Ｐ２」は、「ＩＮＳ」に応じたパラメータを示すｐａｒａｍｅｔｅｒ  ｂｙｔｅである。「Ｌｃ」は、「Ｄａｔａ」のデータの長さ（バイト数）を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎｕｍｂｅｒ  Ｎｃである。「Ｄａｔａ」は、当該コマンドのデータ本体を示すｃｏｍｍａｎｄ  ｄａｔａ  ｆｉｅｌｄである。「Ｌｅ」は、当該コマンドに対するレスポンスのデータ長を示すｌｅｎｇｔｈ  ｆｉｅｌｄ  ｆｏｒ  ｃｏｒｄｉｎｇ  ｎ
ｕｍｂｅｒ  Ｎｅである。
【００６３】
なお、図７のセレクトコマンドは、ＩＣカード２０に選択させるＤＦのＤＦ−ＩＤ（２ｂｙｔｅｓ）またはＤＦ名称（１〜１６ｂｙｔｅｓ）を「Ｄａｔａ」内に有する。さらに、セレクトコマンドは、選択したファイルのＦＣＩを出力するようにＩＣカード２０に要求する為のデータを有していてもよい。例えば、セレクトコマンドは、「Ｐ２」の第３ビットと第４ビットとのうちのいずれかが「０」である場合、ＩＣカード２０にＦＣＩの出力を要求することができる。
【００６４】
ＩＣカード２０は、図７のセレクトコマンドを受信した場合、「Ｄａｔａ」に格納されたＤＦ−ＩＤまたはＤＦ名称に対応するＤＦを選択する（ステップＳ１２）。即ち、セレクトコマンドを受信した場合、ＩＣカード２０は、受信したセレクトコマンドをＲＡＭ２７に格納する。さらに、ＩＣカード２０は、ＲＡＭ２７に格納したセレクトコマンドに応じてファイル選択処理を実行する。この場合、ＩＣカード２０は、ＤＦ定義情報を参照し、セレクトコマンドの「Ｄａｔａ」に格納されたＤＦ−ＩＤまたはＤＦ名称が一致するＤＦを検索し、検索したＤＦを選択する。
【００６５】
ＩＣカード２０は、セレクトコマンドに応じてファイルを選択できたか否かに基づいてＳｔａｔｕｓ  Ｂｙｔｅｓを生成する。例えば正常にファイルを選択することができた場合、ＩＣカード２０は、正常終了を示すＳｔａｔｕｓ  Ｂｙｔｅｓ（例えばＳＷ９０００）をレスポンスの一部として生成する。
【００６６】
ＩＣカード２０は、選択したＤＦを作業中ＤＦに設定する（ステップＳ１３）。さらに、ＩＣカード２０は、ＦＣＩの出力を要求するデータがセレクトコマンドに含まれているか否か判断する。これにより、ＩＣカード２０は、端末装置１０からＦＣＩの出力が要求されているか否か判定する（ステップＳ１４）。
【００６７】
ＦＣＩの出力が要求されている場合、ＩＣカード２０は、ＦＣＩを不揮発性メモリ２８内から検索する検索処理を実行する（ステップＳ１５）。これにより、ＩＣカード２０は、ステップＳ１２で選択したファイルに対応したＦＣＩを読み出す。
【００６８】
ＩＣカード２０は、読み出したＦＣＩをレスポンスに付加し、レスポンスを端末装置１０に送信する（ステップＳ１６）。この場合、ＩＣカード２０は、図８に示されるようなレスポンスを端末装置１０に送信する。
【００６９】
ＩＣカード２０は、レスポンスをＲＡＭ２７上の一時的な記憶領域（レスポンスバッファ）にレスポンスを生成する。ＩＣカード２０は、レスポンスバッファに生成したレスポンスを端末装置１０に送信する。
【００７０】
図８のレスポンスは、ＩＳＯ／ＩＥＣ７８１６−３に規定されているResponse Application Protocol Data Unit(R-APDU)形式のレスポンスである。レスポンスは、正常終了、警告終了、実行異常、及び検査異常などを処理結果として端末装置１０に通知する為の「Ｓｔａｔｕｓ  Ｂｙｔｅｓ（２ｂｙｔｅｓ）」を有する。さらに、コマンドの「Ｐ２」の第３ビットと第４ビットとのうちのいずれかが「０」である場合、即ち、コマンドによりＦＣＩの出力が要求されている場合、レスポンスは、ＦＣＩが付加される「Ｄａｔａ」のフィールドを備えていてもよい。
【００７１】
端末装置１０は、図８のレスポンスを受信することにより、ＩＣカード２０における処理結果と、ＩＣカード２０で選択されたファイルに対応したＦＣＩを認識することができる。なお、ＩＣカード２０は、ＦＣＩの出力が要求されていなかった場合、Ｓｔａｔｕｓ  Ｂｙｔｅｓをレスポンスとして端末装置１０に送信する。
【００７２】
図９は、ＥＦを選択するためのセレクトコマンドを受信した場合のＩＣカード２０の動作の例を示す。ＩＣカード２０は、端末装置１０から送信されたセレクトコマンドを受信する（ステップＳ２１）。例えば、ＩＣカード２０は、図１０に示されるようなセレクトコマンドを受信する。
【００７３】
図１０のセレクトコマンドは、ＩＣカード２０にＥＦを選択させるためのコマンドである。コマンドのフォーマットは、図７に示されたセレクトコマンドと同様である。図１０のセレクトコマンドは、ＩＣカード２０に選択させるＥＦのＥＦ−ＩＤを「Ｄａｔａ」内に有する。さらに、セレクトコマンドは、選択したファイルのＦＣＩを出力するようにＩＣカード２０に要求する為のデータを有していてもよい。
【００７４】
ＩＣカード２０は、図１０のセレクトコマンドを受信した場合、「Ｄａｔａ」に格納されたＥＦ−ＩＤに対応するＥＦを選択する（ステップＳ２２）。即ち、セレクトコマンドを受信した場合、ＩＣカード２０は、受信したセレクトコマンドをＲＡＭ２７に格納する。さらに、ＩＣカード２０は、ＲＡＭ２７に格納したセレクトコマンドに応じてファイル選択処理を実行する。この場合、ＩＣカード２０は、ＥＦ定義情報を参照し、セレクトコマンドの「Ｄａｔａ」に格納されたＥＦ−ＩＤが一致するＥＦを選択する。ＩＣカード２０は、選択したＥＦのＥＦ開始アドレスをＥＦ定義情報から読み出し、ＥＦ開始アドレスに基づいてＥＦを検索し、選択する。
【００７５】
ＩＣカード２０は、セレクトコマンドに応じてファイルを選択できたか否かに基づいてＳｔａｔｕｓ  Ｂｙｔｅｓを生成する。例えば正常にファイルを選択することができた場合、ＩＣカード２０は、正常終了を示すＳｔａｔｕｓ  Ｂｙｔｅｓ（例えばＳＷ９０００）をレスポンスの一部として生成する。
【００７６】
ＩＣカード２０は、選択したＥＦを作業中ＥＦに設定する（ステップＳ２３）。さらに、ＩＣカード２０は、ＦＣＩの出力を要求するデータがセレクトコマンドに含まれているか否か判断する。これにより、ＩＣカード２０は、端末装置１０からＦＣＩの出力が要求されているか否か判定する（ステップＳ２４）。
【００７７】
ＦＣＩの出力が要求されている場合、ＩＣカード２０は、ＦＣＩを不揮発性メモリ２８内から検索する検索処理を実行する（ステップＳ２５）。これにより、ＩＣカード２０は、ステップＳ２２で選択したファイルに対応したＦＣＩを読み出す。
【００７８】
ＩＣカード２０は、読み出したＦＣＩをレスポンスに付加し、レスポンスを端末装置１０に送信する（ステップＳ２６）。この場合も、ＩＣカード２０は、図８に示されるようなレスポンスを端末装置１０に送信する。
【００７９】
端末装置１０は、図８のレスポンスを受信することにより、ＩＣカード２０における処理結果と、ＩＣカード２０で選択されたファイルに対応したＦＣＩを認識することができる。なお、ＩＣカード２０は、ＦＣＩの出力が要求されていなかった場合、Ｓｔａｔｕｓ  Ｂｙｔｅｓをレスポンスとして端末装置１０に送信する。
【００８０】
図１１は、ＩＣカード２０のＦＣＩ検索処理の例を示す。例えば、図６のステップＳ１５、または図９のステップＳ２５でＩＣカード２０は、図１１に示されるＦＣＩ検索処理を行う。
【００８１】
ＩＣカード２０は、作業中のファイルのＦＣＩを検索する（ステップＳ３１）。即ち、ＩＣカード２０は、選択中のＤＦまたはＥＦに対応するＦＣＩを不揮発性メモリ２８から検索する。ＩＣカード２０は、ステップＳ３１の処理結果に応じて作業中のファイルのＦＣＩが存在するか否か判断する（ステップＳ３２）。
【００８２】
作業中のファイルのＦＣＩが存在しない場合、ＩＣカード２０は、上位階層がＭＦであるか否か判断する（ステップＳ３３）。上位階層がＭＦである場合、ＩＣカード２０は、ＦＣＩ検索処理を終了する。この場合、ファイルに対応するＦＣＩが存在しない旨をレスポンスで端末装置１０に送信する。
【００８３】
上位階層がＭＦではない場合、ＩＣカード２０は、１つ上位の階層のファイルを検索対象に設定する（ステップＳ３４）。ＩＣカード２０は、検索対象として設定されたファイルに対応するＦＣＩを不揮発性メモリ２８内から検索する（ステップＳ３５）。即ち、ＩＣカード２０は、検索対象として設定されたファイルに対応するＦＣＩを不揮発性メモリ２８内から検索する（ステップＳ３５）。即ち、ＩＣカード２０は、１つ上位の階層のファイルに対応するＦＣＩを不揮発性メモリ２８内から検索する。ＩＣカード２０は、検索したＦＣＩを読み出す。
【００８４】
ＩＣカード２０は、ステップＳ３５の処理結果に応じて検索対象のファイルのＦＣＩが存在するか否か判断する（ステップＳ３６）。検索対象のファイルのＦＣＩが存在しない場合、ＩＣカード２０は、ステップＳ３３の処理に移行する。即ち、ＩＣカード２０は、上位階層がＭＦになるまでステップＳ３３〜ステップＳ３６の処理を繰り返し実行する。
【００８５】
検索対象のファイルのＦＣＩが存在する場合、ＩＣカード２０は、レスポンスバッファに生成されているレスポンスに既にＦＣＩが設定されているか否か判断する（ステップＳ３７）。即ち、ＩＣカード２０は、レスポンスバッファに生成されているレスポンスの「Ｄａｔａ」にＦＣＩが付加されているか否か判断する。
【００８６】
レスポンスに既にＦＣＩが設定されている場合、ＩＣカード２０は、読み出したＦＣＩを継承し、継承したＦＣＩをレスポンスバッファに生成されているレスポンスの「Ｄａｔａ」に追加する（ステップＳ３８）。
【００８７】
また、レスポンスに既にＦＣＩが設定されていない場合、ＩＣカード２０は、読み出したＦＣＩを継承し、継承したＦＣＩをレスポンスバッファに生成されているレスポンスの「Ｄａｔａ」に設定する（ステップＳ３９）。ＩＣカード２０は、ステップＳ３８及びステップＳ３９でＦＣＩの継承を行った場合、ステップＳ３３に移行する。即ち、ＩＣカード２０は、上位階層がＭＦになるまでステップＳ３３〜ステップＳ３９の処理を繰り返し実行する。
【００８８】
また、上記のステップＳ３２で作業中のファイルのＦＣＩが存在すると判断した場合、ＩＣカード２０は、ＦＣＩを読み出し、読み出したＦＣＩをレスポンスバッファの「Ｄａｔａ」に設定する（ステップＳ４０）。
【００８９】
ステップＳ３８及びステップＳ３９で、ＩＣカード２０は、読み出されたＦＣＩの一部の情報を抽出し、抽出した情報を作業中のファイルに適用可能なＦＣＩとして継承する。上記したように、ＦＣＩは、例えばＤＦ名（ＤＦ＿Ｎａｍｅ）、ファイル識別子（Ｆｉｌｅ  Ｉｄｅｎｔｉｆｅｒ）、アクセス条件、及びフェーズ情報などを備える。このうちのアクセス条件、及びフェーズ情報は、下位のファイルに共通して適用可能な情報である。
【００９０】
この為、例えば、ＩＣカード２０は、ステップＳ３５で読み出されたＦＣＩからアクセス条件、及びフェーズ情報を抽出する。ＩＣカード２０は、抽出したアクセス条件、及びフェーズ情報を作業中のファイルに適用可能なＦＣＩ、またはＦＣＩの一部として継承する。なお、ＩＣカード２０は、アクセス条件とフェーズ情報とのうちのいずれかを作業中のファイルに適用可能なＦＣＩ、またはＦＣＩの一部として継承する構成であってもよい。
【００９１】
即ち、ＩＣカード２０は、レスポンスに既にＦＣＩが設定されている場合、読み出したＦＣＩからアクセス条件及びフェーズ情報を抽出し、抽出したアクセス条件及びフェーズ情報をレスポンスバッファに生成されているレスポンスの「Ｄａｔａ」に追加する。また、レスポンスに既にＦＣＩが設定されていない場合、ＩＣカード２０は、読み出したＦＣＩからアクセス条件及びフェーズ情報を抽出し、抽出したアクセス条件及びフェーズ情報をレスポンスバッファに生成されているレスポンスの「Ｄａｔａ」に設定する。
【００９２】
このように、ＩＣカード２０は、選択したファイルに対応するＦＣＩが存在しない場合、選択したファイルの上位のファイルに対応するＦＣＩから所定の情報を抽出し、抽出した情報を用いて選択ファイルに対応するＦＣＩを再構成する。これにより、ＩＣカード２０は、選択中のファイルにＦＣＩが対応付けられていない場合であっても、上位のファイルのＦＣＩを継承し、継承したＦＣＩを端末装置１０に提出することができる。この結果、より利便性の高いＩＣカード、及びＩＣカードの制御方法を提供することができる。
【００９３】
また、このような構成によると、ＦＣＩが共通する下位の各ファイルにＦＣＩが対応付けられている必要が無い。この為、不揮発性メモリ２８内の容量を節約することができる。
【００９４】
また、上記した方法によりアクセス条件を上位のファイルから継承した場合、端末装置１０が下位のファイルにアクセスする為の認証を端末装置１０とＩＣカード２０との間で再度行う必要がなくなる。この結果、ＩＣカード２０は、より簡易な処理で端末装置１０が下位の階層のファイルへアクセスすることを許可することができる。
【００９５】
また、ＩＣカード２０は、選択中のファイルにＦＣＩが対応付けられておらず、且つ上位のファイルに対応したＦＣＩを継承した場合、その旨を端末装置１０にレスポンスで通知する構成であってもよい。例えば、ＩＣカード２０は、上位のファイルに対応したＦＣＩを継承した場合、レスポンスのＳｔａｔｕｓ  Ｂｙｔｅｓによりその旨を端末装置１０に通知することができる。具体的には、端末装置１０とＩＣカード２０とでＦＣＩを上位ファイルから継承したことを示す情報と、所定の値とが対応付けられたテーブルを有する。ＩＣカード２０は、Ｓｔａｔｕｓ  Ｂｙｔｅｓに上記の所定の値を設定することにより、位のファイルに対応したＦＣＩを継承したことを端末装置１０に通知することができる。
【００９６】
また、ＩＣカード２０は、ステップＳ３８及びステップＳ３９で上位のファイルから継承したＦＣＩを不揮発性メモリ２８内に保存する構成であってもよい。
【００９７】
図１２は、上位のファイルから継承したＦＣＩを不揮発性メモリ２８内に保存した後の不揮発性メモリ２８が有するファイルの構成（ファイルツリー）の例を示す。図１２は、図５で示されたファイルの構成例で、ＤＦ５０５に対応するＦＣＩを上位のＤＦ５０２内のファイルから継承した場合の例を示す。
【００９８】
この場合、ＩＣカード２０は、上位のＤＦ５０２内のＥＦ５０４からＦＣＩを継承し、ＤＦ５０５に対応するＦＣＩを再構成する。さらに、ＩＣカード２０は、再構成したＦＣＩを格納するためのＥＦ５０７をＤＦ５０５の下位に生成する。ＩＣカード２０は、再構成したＦＣＩをＥＦ５０７に格納する。このような構成によると、ＩＣカードは、ファイルが選択される毎にＦＣＩを上位のファイルから継承する必要が無くなる。
【００９９】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１００】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０１】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…カードリーダライタ、１７…操作部、１８…ディスプレイ、１９…電源部、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、３１…電源部、３２…ロジック部。
【図１】
2015133074.tif 000003
【図２】
2015133074.tif 000004
【図３】
2015133074.tif 000005
【図４】
2015133074.tif 000006
【図５】
2015133074.tif 000007
【図６】
2015133074.tif 000008
【図７】
2015133074.tif 000009
【図８】
2015133074.tif 000010
【図９】
2015133074.tif 000011
【図１０】
2015133074.tif 000012
【図１１】
2015133074.tif 000013
【図１２】
2015133074.tif 000014