(57)【特許請求の範囲】
【請求項１】
ＩＣカードにおいて、
固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、
アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段と、
を有することを特徴とするＩＣカード。
【請求項２】
前記制御手段は、前記不揮発性メモリに記憶されている前記第１の定義情報により定義されている第１のファイルのうち１つの第１のファイルをカレントファイルに設定する設定手段と、
前記設定手段により設定されているカレントファイルとしての第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、特定のデータファイルとしての第２のファイルを、前記カレントファイルとしての第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、前記カレントファイルとしての第１のファイルのリンク先となる第１のファイルの固有情報を有する第２の定義情報で定義される第２のファイルと、から検索する検索手段と、を有する、
ことを特徴とする前記請求項１に記載のＩＣカード。
【請求項３】
前記検索手段は、前記設定手段により設定されているカレントファイルとしての第１のファイルに従属する第２のファイルから特定のデータファイルとしての第２のファイルを検索し、この検索により前記カレントファイルとしての第１のファイルに前記特定のデータファイルとしての第２のファイルが存在しない場合、前記カレントファイルとしての第１のファイルのリンク先の第１のファイルに従属する第２のファイルから前記特定のデータファイルとしての第２のファイルを検索する、
ことを特徴とする前記請求項２に記載のＩＣカード。
【請求項４】
前記リンク情報には、当該第１のファイルに他の第１のファイルをリンクさせない場合、リンクしているファイルがないことを示す情報が記憶される、
ことを特徴とする前記請求項１、２または３に記載のＩＣカード。
【請求項５】
前記リンク情報には、当該第１のファイルに他の複数の第１のファイルをリンクさせる場合、リンク先となる複数の第１のファイルの固有情報が記憶される、
ことを特徴とする前記請求項４に記載のＩＣカード。
【請求項６】
前記不揮発性メモリと前記制御手段とを有するＩＣチップと、前記ＩＣチップが埋設された筐体と、からなることを特徴とする前記請求項１、２、３、４または５に記載のＩＣカード。
【請求項７】
ＩＣカードにおいて、
固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、
アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段と、
外部からコマンドを受信する通信手段とを有し、
前記制御手段は、前記通信手段により外部から第１のファイルを他の第１のファイルにリンクさせるコマンドを受信した場合、リンク元の第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての第１のファイルの固有情報を付加する付加手段を有する、
ことを特徴とするＩＣカード。
【請求項８】
さらに、前記コマンドを受信した場合に、キー情報による認証処理を行う認証手段を有し、
前記付加手段は、前記認証手段による認証処理が成功した場合、リンク元の第１のファイルの定義情報のリンク情報にリンク先としての第１のファイルの固有情報を付加する、
ことを特徴とする前記請求項７に記載のＩＣカード。
【請求項９】
前記不揮発性メモリと前記制御手段と前記通信手段とを有するＩＣチップと、前記ＩＣチップが埋設された筐体と、からなることを特徴とする前記請求項７または８に記載のＩＣカード。
【請求項１０】
ＩＣカードにおいて、
固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、
アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段と、を有し、
前記制御手段は、前記第１のファイルをロックする際、ロックする第１のファイルを定義する定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、リンク先の第１のファイルもロックする、
ことを特徴とするＩＣカード。
【請求項１１】
前記第１の定義情報は、さらに、当該第１のファイルのロック状態を示すロックステータスを有し、
前記制御手段は、前記リンク情報にリンク先となる第１のファイルが示されている第１のファイルをロックする場合、ロックする第１のファイルの定義情報におけるロックステータスをロック状態にするとともに、ロックする第１のファイルのリンク先となる第１のファイルの定義情報におけるロックステータスをロック状態にする、
ことを特徴とする前記請求項１０に記載のＩＣカード。
【請求項１２】
前記制御手段は、
前記不揮発性メモリに記憶されている前記第１の定義情報により定義されている第１のファイルのうち１つの第１のファイルをカレントファイルに設定する設定手段と、
前記設定手段により設定されるカレントファイルの定義情報にリンク先の第１のファイルを示す情報が付加されている場合、前記カレントファイルとしての第１のファイルとリンク先の第１のファイルとがともにロック状態でない場合にのみ、カレントファイルとしての第１のファイルに従属する第２のファイルと、前記カレントファイルとしての第１のファイルのリンク先の第１のファイルに従属する第２のファイルとにアクセス可能とするアクセス制御手段と、を有する、
ことを特徴とする前記請求項１０に記載のＩＣカード。
【請求項１３】
前記不揮発性メモリと前記制御手段とを有するＩＣチップと、前記ＩＣチップが埋設された筐体と、からなることを特徴とする前記請求項１０、１１または１２に記載のＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、ＩＣチップおよび不揮発性メモリを内蔵したＩＣカードに関する。
【０００２】
【従来の技術】
従来、携帯可能電子装置としてのＩＣカードは、書き込みおよび書き換えが可能なメモリとしての不揮発性メモリや制御素子としてのＣＰＵなどを有するＩＣチップが内蔵されている。このようなＩＣカードでは、外部からのデータの入出力を行う手段を備えている。
【０００３】
上記のようなＩＣカードのメモリでは、データが階層構造で管理される。例えば、最も上の階層としてマスタファイル（ＭＦ）がある。このＭＦの下の階層にデディケイテッドファイル（ＤＦ）がある。さらに、このＤＦの下の階層にエレメンタリーファイル（ＥＦ）がある。
【０００４】
ＩＣカードのメモリ内で、異なるＤＦ間（仮に、ＤＦ−Ａ，ＤＦ−Ｂとする）でＥＦを共有する場合、ＥＦのリンク機能を用いてＥＦの共有化を行っていた。すなわち、具体的には、ＥＦ１を共有する場合、ＤＦ−Ａ内に実データの格納されたＥＦ１を創生する。そして、ＤＦ−Ｂ内では、定義情報のみで実データを持たない、ＥＦ１にリンクする命令のみで構成されるＥＦ（リンクＥＦ）２を創生する。これにより、どちらのＤＦから参照しても、ＤＦ−Ａ内の実データの格納されたＥＦ１を参照できるようにしている。
【０００５】
上記の技術のように、ＤＦ−ＡとＤＦ−Ｂ間で実データ量が少なく、かつ複数のＥＦをリンクする場合、リンクの目的の１つである共通データを共有化することでメモリ（ＥＥＰＲＯＭ）内に格納する実データ量を減らす事が出来る。
【０００６】
しかしながら、各々のリンクしたＥＦに対して定義情報が必要であるため、その効果は小さい。このため、データをリンク（共有化）させる場合に、メモリ内に格納するデータ量を大幅に減量することができる携帯可能電子装置が要望されている。
【０００７】
【発明が解決しようとする課題】
上記したように、メモリ内に格納するデータ量を大幅に減量することができるＩＣカードが要望されているもので、データをリンクさせる場合に、メモリ内に格納するデータ量を大幅に減量することができるＩＣカードを提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明の一形態としてのＩＣカードは、固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段とを有する。
【００１０】
この発明の一形態としてのＩＣカードは、固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段と、外部からコマンドを受信する通信手段とを有し、前記制御手段は、前記通信手段により外部から第１のファイルを他の第１のファイルにリンクさせるコマンドを受信した場合、リンク元の第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての第１のファイルの固有情報を付加する付加手段を有する。
【００１１】
この発明の一形態としてのＩＣカードは、固有な識別子を示す固有情報およびリンク先を示すリンク情報を有する第１のファイルを定義する第１の定義情報と、前記第１の定義情報により定義される何れかの第１のファイルの固有情報を有するデータファイルとしての第２のファイルを定義する第２の定義情報と、前記第２の定義情報により定義されるデータファイルとしての第２のファイルに格納されるデータと、を記憶する不揮発性メモリと、アクセス対象とする第１のファイルを定義する第１の定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、アクセス対象とする第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルと、アクセス対象とする第１のファイルのリンク先としての他の第１のファイルの固有情報を有する第２の定義情報で定義されている第２のファイルとにアクセスする制御手段とを有し、前記制御手段は、前記第１のファイルをロックする際、ロックする第１のファイルを定義する定義情報のリンク情報にリンク先としての他の第１のファイルの固有情報が含まれている場合、リンク先の第１のファイルもロックする。
【００１３】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
【００１４】
この実施の形態は、本発明の携帯可能電子装置をＩＣカードに適用したものである。図１は、携帯可能電子装置としてのＩＣカード１１を利用したＩＣカードシステムの全体構成を概略的に示す図である。
【００１５】
このＩＣカードシステムは、ＩＣカード１１、カードリーダ／ライタ１２、端末１３、キーボード１４、ＣＲＴ１５、プリンタ１６から構成されている。上記ＩＣカード１１は、カードリーダ／ライタ１２を介して端末１３と接続される。また、上記端末１３は、キーボード１４、ＣＲＴディスプレイ１５、およびプリンタ１６とを接続される。
【００１６】
上記カードリーダライタ１２は、コネクタ（コンタクト部）等の接触式あるいはアンテナを用いた無線式（非接触式）で構成される。このカードリーダライタ１２は、上記端末１３の制御に基いてＩＣカード１１とのデータのやり取りを行う。上記キーボード１４は、コマンドやその他のデータを入力する。上記ＣＲＴディスプレイ１５は、各種データを表示したり、操作案内などを表示する。上記プリンタ１６は、処理結果などの各種データを印刷出力する。
【００１７】
図２は、ＩＣカード１１の構成を概略的に示すものである。ＩＣカード１１は、制御素子（ＣＰＵ）１０１、データメモリ１０２、ワーキングメモリ１０３、プログラムメモリ１０４、コンタクト部１０５などから構成されている。これらのうち、制御素子１０１、データメモリ１０２、ワーキングメモリ１０３、プログラムメモリ１０４（図２の破線内の部分）は、ＩＣチップ１００で構成されている。上記ＩＣチップ１００と上記コンタクト部１０５とは一体的にＩＣモジュール化されて、プラスチックカードなどで形成されるＩＣカード１１の本体内に埋設されている。
【００１８】
上記制御素子１０１は、例えばＣＰＵで構成され、ＩＣカード全体を制御する制御部として機能する。
【００１９】
上記データメモリ１０２は、記憶内容の消去が可能な不揮発性のメモリである。このデータメモリ１０２は、各種データの記憶に使用され、たとえば、ＥＥＰＲＯＭなどで構成されている。
【００２０】
上記ワーキングメモリ１０３は、上記制御素子１０１が処理を行う際の処理データを一時的に保持するためのメモリである。このワーキングメモリ１０３は、たとえば、ＲＡＭなどの揮発性メモリで構成される。
【００２１】
上記プログラムメモリ１０４は、制御素子１０１によりＩＣカードを制御するための制御用のプログラムなどが記憶される。このプログラムメモリ１０４は、たとえば、マスクＲＯＭで構成される。
【００２２】
上記コンタクト部１０５は、上記カードリーダ／ライタ１２との電気的な接触を得るための接触部分である。
【００２３】
なお、ＩＣカード１１は、上記コンタクト部１０５の代わりにアンテナを用いることにより、アンテナとＩＣチップとから構成される非接触式の無線カードや無線タグとして用いるようにしても良い。このようにコンタクト部１０５の代わりにアンテナを用いる場合、上記カードリーダライタ１２は、アンテナを用いた非接触式のもので構成される。
【００２４】
次に、上記データメモリ１０２に記憶されるデータの構成を図３に示す。データメモリ１０２は、キー情報２０１、ＤＦ（デディケイテッドファイル；第１のファイル）定義情報２０２、２０５、…，ＥＦ（エレメンタリーファイル；第２のファイル）定義情報２０３、２０４…、およびＥＦデータエリア２０６、２０７で構成される。
【００２５】
上記キー情報２０１は、アクセス権を確立するための情報である。このキー情報２０１により照合あるいは認証を行う。ＤＦ定義情報（ＤＦ１）２０２は、ＤＦ１の定義情報である。ＤＦ定義情報（ＤＦ２）２０５は、ＤＦ２の定義情報である。ＥＦ定義情報（ＥＦ１−１）２０３は、ＤＦ１配下のＥＦ１−１のＥＦ定義情報である。ＥＦ定義情報（ＥＦ１−２）２０４は、ＤＦ１配下のＥＦ１−２のＥＦ定義情報である。データエリア（ＥＦ１−２）２０６は、ＥＦ定義情報（ＥＦ１−２）２０４によって定義されるデータ格納エリアである。データエリア（ＥＦ１−１）２０７は、ＥＦ定義情報（ＥＦ１−１）２０３によって定義されるデータ格納エリアである。
【００２６】
図４は、ＤＦ定義情報３００（２０２、２０５）の構成例を示す図である。
【００２７】
ＤＦ定義情報３００は、ファイル識別子３０１、ＤＦ名３０２、アクセス条件３０３、リンク情報３０４、ＤＦ固有番号３０５、ロックステータス３０６、およびファイルチェックバイト３０７から構成されている。
【００２８】
上記ファイル識別子３０１は、ファイルの種類毎にユニークな情報である。このファイル識別子３０１により処理対象のファイルが検索される。上記ＤＦ名３０２は、ＤＦ名が格納されている。上記アクセス条件３０３は、ＤＦのアクセス条件が格納されている。
【００２９】
上記リンク情報３０４は、リンクするＤＦの有無あるいはリンクするＤＦを示す情報が格納される。このリンク情報３０４は、例えば，リンクするＤＦが無い通常のＤＦの場合、００という情報が設定され、リンクするＤＦを有する場合、アクセス対象（リンク先）となるＤＦのＤＦ固有番号が設定される。また、リンク先のＤＦは、複数設定するようにしても良い。この場合、複数のリンク先のＤＦの固有番号をそれぞれリンク情報として設定する。これにより、１つのＤＦに対して複数のＤＦにリンクさせることができる。
【００３０】
上記ＤＦ固有番号３０５は、ＤＦごとに固有な番号が設定される。このＤＦ固有番号は、ＤＦごとに異なっており、ＤＦの創生時に内部的に設定される。００以外の番号であり、上記ロックステータス３０６は、ＤＦのロック状態を示している。例えば、ＦＦ（特定値）の場合は、ＤＦがロックしていない通常の状態を示す。上記ファイルチェックバイト３０７は創成されたＤＦの正当性をチェックするためにファイル識別子からファイルチェックバイトまでに対して排他的論理和（ｅｘｃｌｕｓｉｖｅ−ＯＲ）をとったときにゼロとなる値が設定される。
【００３１】
図５はＥＦ定義情報４００（２０３、２０４）の構成を示す。
【００３２】
ＥＦ定義情報４００は、ファイル識別子４０１、ＤＦ固有番号４０２、ＥＦ−ＩＤ４０３、サイズ４０４、データエリア先頭アドレス４０５、アクセス条件４０６、およびファイルチェックバイト４０７などから構成されている。
【００３３】
上記ファイル識別子４０１は、ファイルの種類毎にユニークな情報である。このファイル識別子４０１は、ファイルの検索する。上記ＤＦ固有番号４０２は、ＥＦが属しているＤＦのＤＦ固有番号が格納されている。上記ＥＦ−ＩＤ４０３は、ＥＦの識別番号が格納されている。上記サイズ４０４は、データエリアのサイズが格納されている。上記データエリア先頭アドレス４０５は、データエリアの先頭アドレスが格納されている。アクセス条件４０６は、ＥＦのアクセス条件が格納されている。ファイルチェックバイト４０７は創成されたＥＦの正当性をチェックするためにファイル識別子からファイルチェックバイトまでに対して排他的論理和（ｅｘｃｌｕｓｉｖｅ−ＯＲ）をとったときにゼロとなる値が設定される。
【００３４】
図６は、上記ワーキングメモリ１０３内の構成を示す図である。
【００３５】
上記ワーキングメモリ１０３には、ステータスフラグ５０１、およびカレントＤＦ定義情報５０２を有している。
【００３６】
上記ステータスフラグ５０１は、アクセス権が確立されたことを示すフラグである。このステータスフラグ５０１は、上記キー４０１の照合あるいは認証によって設定される。上記カレントＤＦ定義情報５０２は、カレントＤＦ（現在有効ＤＦ）の定義情報である。
【００３７】
図７は、リンクするＤＦを設定する際に用いるＤＦリンクコマンド６００のコマンドフォーマットを示す図である。
【００３８】
このＤＦリンクコマンド６００は、コマンドヘッダ６０１、リンク先ＤＦ名６０２から成り立っている。コマンドヘッダ６０１には、ＤＦリンクコマンドであることを示す情報が格納される。また、リンク先ＤＦ名６０２には、カレントＤＦ定義情報５０２で指定されるカレントＤＦとリンクさせるＤＦを示すＤＦ名が格納される。
【００３９】
このＤＦリンクコマンド６００を端末１３からカードリーダライタ１２を介してＩＣカード１１が受信すると、ＩＣカード１１の制御素子１０１はカレントＤＦとリンク先ＤＦ名６０２で指定されるＤＦとをリンクさせる。
【００４０】
図８は、ＤＦ（ファイル）を選択する際に用いられるＤＦ選択コマンド７００のコマンドフォーマットを示す図である。
【００４１】
このＤＦ選択コマンド７００は、コマンドヘッダ７０１、ＤＦ名７０２から構成される。コマンドヘッダ７０１には、ＤＦ選択コマンド７００であることを示す情報が格納される。また、ＤＦ名７０２には、カレントＤＦとして選択するＤＦ名が格納されている。
【００４２】
このＤＦ選択コマンド７００を端末１３からＩＣカード１１が受信すると、ＩＣカード１１の制御素子１０１はＤＦ名７０２で指定されたＤＦをカレントＤＦとして選択する。
【００４３】
図９は、ＤＦをロックする際に用いられるＤＦロックコマンド８００のコマンドフォーマットを示す図である。このＤＦロックコマンド８００は、ＤＦロックコマンドであることを示す情報が格納されるコマンドヘッダから構成されている。
【００４４】
このＤＦロックコマンド８００を端末１３からＩＣカード１１が受信すると、ＩＣカード１１の制御素子１０１はカレントＤＦをロックする。
【００４５】
図１０は、ＤＦのロック状態をロックから解除（アンロック）にする際に用いられるＤＦアンロックコマンド９００のコマンドフォーマットを示す図である。このＤＦアンロックコマンド９００は、ＤＦアンロックコマンドであることを示す情報が格納されるコマンドヘッダから構成されている。
【００４６】
このＤＦアンロックコマンド９００を端末１３からＩＣカード１１が受信すると、ＩＣカード１１の制御素子１０１はカレントＤＦをアンロックする。
【００４７】
また、上記ＤＦリンクコマンド６００、ＤＦロックコマンド８００、あるいはＤＦロックコマンド９００は、カレントＤＦに対するコマンドである。このため、コマンド実行したいＤＦを上記ＤＦ選択コマンド７００により選択してカレントＤＦとした後に、それぞれのコマンドを実行する。
【００４８】
次に、上記ＤＦリンクコマンド６００を用いた際の処理について図１１に示すフローチャートを参照しつつ説明する。
【００４９】
まず、ＩＣカード１１がカードリーダライタ１２を介して上記端末１３からのＤＦリンクコマンド６００を受信する（ステップ１）。すると、ＩＣカード１１の制御素子１０１は、ワーキングメモリ１０３内のステータスフラグ５０１によりアクセス権が確立されているか否かを判断する（ステップ２）。
【００５０】
この判断によりアクセス権が確立されていると判断した場合、制御素子１０１は、受信したＤＦリンクコマンド６００が、図７に示すように、適切なコマンドフォーマットとなっているかを判断する。つまり、制御素子１０１はコマンドヘッダ６０１およびリンク先ＤＦ名６０２が適切な値であるかを判断する（ステップ３）。
【００５１】
この判断により受信したＤＦリンクコマンド６００が適切なコマンドフォーマットとなっていると判断した場合、制御素子１０１は、リンク先ＤＦ６０２によりカレントＤＦ自身に対してリンクしようとしていないかを判断する（ステップ４）。
【００５２】
この判断によりカレントＤＦ自身にリンクしようとしていないと判断すると、制御素子１０１は、コマンドのデータ部で指定されるＤＦの固有番号２０５をワーキングメモリ上のカレントＤＦ定義情報５０２上にあるリンク情報２０４に設定する（ステップ５）。
【００５３】
さらに、制御素子１０１は、ファイルチェックバイト２０７の再計算を行う（ステップ６）。これにより再計算されたファイルチェックバイトの値は、ワーキングメモリ上のカレントＤＦ定義情報５０２に設定される。そして、制御素子１０１は、ワーキングメモリ上のカレントＤＦ定義情報５０２をデータメモリ内のカレントＤＦに対応するＤＦ定義情報に書き込む（ステップ７）。
【００５４】
上記ステップ１〜７までの処理が正常に終了した場合、制御素子１０１は、端末１３に対して処理の正常終了を示すステータスを出力し（ステップ８）、コマンド待ち状態の状態となる（ステップ９）。
【００５５】
また、上記ステップ２で、アクセス権が確立されていないと判断された場合、上記ステップ３で、コマンドフォーマットが適切でないと判断された場合、あるいは、上記ステップ４にて、カレントＤＦ自身に対してリンクしようとしていると判断した場合、制御素子１０１は、端末１３に対して処理がエラーとなったことを示すステータスを出力し（ステップ１０）、コマンド待ち状態となる（ステップ９）。
【００５６】
上記のように、外部からのリンク先を設定するＤＦリンクコマンドに応じて、カレントＤＦにリンク先のＤＦを設定する。これにより、ＤＦに対してリンク先のＤＦを設定できる。
【００５７】
また、上記のようなＤＦリンクコマンドにおいてリンク先がカレントＤＦ自身になっていないかを判断し、カレントＤＦ自身がリンク先になっている場合に、処理をエラーとするようになっている。これにより、カレントＤＦ自身がリンク先に設定されてしまうことを防ぐことができる。
【００５８】
次に、ＥＦを参照するコマンドを受信した場合のＥＦの検索（ファイルサーチ）処理について図１２に示すフローチャートを参照しつつ説明する。
【００５９】
まず、ＩＣカード１１が端末１３からカードリーダライタ１２を介してＥＦを参照するコマンドを受信する（ステップ２１）。すると、ＩＣカード１１の制御素子１０１は、ＥＦのＩＤを元に、カレントＤＦ配下に該当するＥＦがあるかを検索する（ステップ２２）。
【００６０】
この検索の結果、該当するＥＦがカレントＤＦの配下にある場合、制御素子１０１は、検索したＥＦを参照して受信したコマンド処理を実行する（ステップ２３）。
【００６１】
また、カレントＤＦ配下に該当するＥＦがない場合、制御素子１０１は、カレントＤＦにリンクＤＦが設定されているか否かを判断する。つまり、制御素子１０１は、カレントＤＦのリンク情報が００であるか否かを判断する（ステップ２４）。この判断によりリンク情報が００の場合、カレントＤＦがリンクするＤＦがないことを示すため、該当するＥＦ（ファイル）なしのステータスワードを端末１３に出力する（ステップ２５）。
【００６２】
また、カレントＤＦ定義情報５０２のリンク情報が００でない場合、カレントＤＦはリンクＤＦである。このため、制御素子１０１は、リンク情報内に格納されているＤＦ固有番号を持つＤＦを判断する。そして、制御素子１０１は、リンク情報に示されるＤＦ固有番号のＤＦ内に該当するＥＦがあるか検索する（ステップ２６）。この検索の結果、該当するＥＦがない場合、該当するＥＦ（ファイル）なしのステータスワードを端末１３に出力する（ステップ２５）。
【００６３】
また、リンクするＤＦ内に該当するＥＦがある場合、制御素子１０１は、該当するＥＦを参照して受信したコマンド処理を実行し（ステップ２７）、コマンド待ち状態になる（ステップ２８）。
【００６４】
上記のように、外部からのコマンドに従ってＥＦを参照する場合に、まず、カレントＤＦの配下に該当するＥＦがあるかを検索し、さらに、該当するＥＦが無くカレントＤＦがリンクＤＦである場合に、リンク先のＤＦの配下に該当するＥＦがあるかを検索するようにしたものである。
【００６５】
これにより、カレントＤＦを優先して配下のＥＦを検索し、該当するコマンドがない場合に、リンクするＤＦ配下のＥＦを検索でき、リンクが設定されているＤＦに対しては、カレントＤＦとリンク先のＤＦとの配下のＥＦを参照できる。
【００６６】
次に、ＤＦ選択コマンドを受信した場合のコマンド処理を図１３に示すフローチャートを参照しつつ説明する。
【００６７】
まず、ＩＣカード１１が端末１３からカードリーダライタ１２を介してＤＦ選択コマンド７００を受信する（ステップ３１）。すると、ＩＣカード１１の制御素子１０１は、通常のＤＦ選択処理として、ＤＦ選択コマンド７００のＤＦ名７０２のＤＦをカレントＤＦとして設定する処理を行う（ステップ３２）。そして、この通常のＤＦ選択処理が正常終了か否かを制御素子１０１が判断する（ステップ３３）。このＤＦ選択処理が正常終了すると、上記ＤＦ選択コマンド７００のＤＦ名７０２で示されるＤＦのＤＦ定義情報３００がカレントＤＦ定義情報５０２としてワーキングメモリ１０３に格納される。
【００６８】
制御素子１０１は、上記判断により通常のＤＦ選択処理が正常終了したと判断した場合、選択したＤＦのＤＦ定義情報５０２内のリンク情報３０４が００か否かを判断する（ステップ３４）。
【００６９】
この判断によりリンク情報３０４が００でないと判断した場合、つまり、選択したＤＦにリンクするＤＦが設定されている（リンクＤＦ）と判断した場合、リンク情報３０４内に格納されているＤＦ固有番号のＤＦを判定する。リンク情報３０４によりリンク先のＤＦを判定すると、制御素子１０１は、リンク先のＤＦ定義情報３００で示されるロックステータス３０６を判定する。
【００７０】
そして、制御素子１０１は、リンク先のＤＦのロックステータスと、選択したＤＦ、つまり、カレントＤＦ定義情報５０２で示されるＤＦのロックステータスとをＡＮＤ演算する（ステップ３５）。
【００７１】
制御素子１０１は、このＡＮＤ演算の結果をカレントＤＦ定義情報５０２のロックステータスとしてワーキングメモリ（ＲＡＭ）１０３に設定する（ステップ３６）。
【００７２】
制御素子１０１は、カレントＤＦ定義情報５０２のロックステータスを設定すると、ＤＦの選択処理が正常に終了したことを示すステータスワードを端末１３に出力し（ステップ３７）、コマンド待ち状態となる（ステップ３８）。
【００７３】
また、上記ステップ３３で、ＤＦ選択処理が正常終了しなかった場合、つまりコマンド処理に異常があった場合、コマンド処理を終了し、エラーを示すステータスワードを端末１３に出力し（ステップ３７）、コマンド待ち状態となる（ステップ３８）。
【００７４】
また、上記ステップ３４で、リンク情報が００であると判断した場合、つまり、選択したＤＦにリンクするＤＦが設定されていない場合、制御素子１０１は、コマンド処理の正常終了を示すステータスワードを端末１３に出力し（ステップ３７）、コマンド待ち状態になる（ステップ３８）。
【００７５】
上記のように、カレントＤＦとしてＤＦを選択する際に、選択するＤＦがリンクＤＦである場合、リンク先のロックステータスを参照し、リンク先のロックステータスと、選択するＤＦのロックステータスとをＡＮＤ演算し、カレントＤＦのロックステータスとして設定するようにしたものである。
【００７６】
これにより、カレントとするＤＦがリンクＤＦである場合、カレントＤＦのロックあるいはアンロックの状態をリンク先のＤＦの状態に基いて設定できる。
【００７７】
また、ロックしていない状態（アンロック）を示すロックステータスとしてＦＦを用いると、カレントＤＦのロックステータスとリンク先のロックステータスとが両方ＦＦでない限り、ＡＮＤ演算の結果がＦＦとならない。すなわち、カレントＤＦとリンク先のＤＦとが両方アンロックの場合にのみカレントＤＦがアンロックとなる。これにより、リンク先の状態に応じてカレントＤＦのロック状態を制御できる。
【００７８】
次に、ＩＣカード１１がＤＦロックコマンド８００あるいはＤＦアンロックコマンド９００を受信した場合のコマンド処理を図１４に示すフローチャートを参照しつつ説明する。
【００７９】
まず、ＩＣカード１１が端末１３からカードリーダライタ１２を介して、ＤＦロックコマンド８００あるいはＤＦアンロックコマンド９００を受信する（ステップ４１）。すると、ＩＣカード１１の制御素子１０１は、ワーキングメモリ１０３内のステータスフラグ５０１によりアクセス権が確立されているかを判断する。
【００８０】
この判断によりアクセス権が確立されいると判断する場合、端末１３から受信したコマンドのフォーマットが適切なフォーマットのコマンドとなっているか否かを判断する（ステップ４３）。
【００８１】
この判断によりコマンドのフォーマットが適切であると判断した場合、制御素子１０１は、カレントＤＦがリンクＤＦか否かを判断する。すなわち、制御素子１０１は、カレントＤＦ定義情報５０２を参照してリンク情報が００であるか否かを判断する（ステップ４４）。
【００８２】
この判断によりリンク情報が００でないと判断した場合、制御素子１０１は、リンク情報内に格納されているＤＦ固有番号のＤＦを参照することによりリンク先のＤＦ定義情報を判定する。制御素子１０１は、リンク先のＤＦ定義情報を判定すると、そのリンク先のＤＦ定義情報のロックステータスに受信したコマンドのステータスを設定する（ステップ４５）。
【００８３】
すなわち、受信したコマンドがロックコマンドであれば、ロック状態を示すステータスを設定し、アンロックコマンドであれば、アンロック状態を示すステータス（例えば、ＦＦ）を設定する。
【００８４】
そして、制御素子１０１は、コマンド処理が正常終了したことを示すステータスワードを端末１３に出力し（ステップ４６）、コマンド待ち状態となる（ステップ４７）。
【００８５】
また、上記ステップ４４で、カレントＤＦのリンク情報が００であると判断した場合、制御素子１０１は、カレントＤＦ定義情報５０２のロックステータスに受信したコマンドのステータスを設定する。
【００８６】
すなわち、受信したコマンドがロックコマンドであれば、ロック状態を示すステータスを設定し、アンロックコマンドであれば、アンロック状態を示すステータスを設定する。
【００８７】
そして、制御素子１０１は、コマンド処理が正常終了したことを示すステータスワードを端末１３に出力し（ステップ４６）、コマンド待ち状態となる（ステップ４７）。
【００８８】
上記ステップ４２で、アクセス権が確立されていないと判断した場合、制御素子１０１は、コマンド処理のエラーを示すステータスワードを端末１３に出力し（ステップ４６）、コマンド待ち状態となる（ステップ４７）。
【００８９】
また、上記ステップ４３で、コマンドのフォーマットが適切できないと判断した場合、制御素子１０１は、コマンド処理のエラーを示すステータスワードを端末１３に出力し（ステップ４６）、コマンド待ち状態となる（ステップ４７）。
【００９０】
上記のように、ＩＣカードがロックコマンドあるいはアンロックコマンドを受信した際に、カレントＤＦがリンクＤＦである場合、リンク先のロックステータスをコマンドに応じた状態に変更するようにしたものである。
【００９１】
これにより、カレントＤＦとなっているリンクＤＦをロックあるいはアンロックする場合に、リンク先のＤＦのロックステータスをコマンドの内容に基いて一括して変更できる。よって、カレントＤＦへのロックコマンドに伴ってリンク先のＤＦがロックされ、リンク先のＤＦの配下のＥＦは、リンク先のＤＦを直接カレントＤＦとしてもＤＦをロックすることができる。また、カレントＤＦへのアンロックコマンドに伴ってリンク先のＤＦがアンロックされ、リンク先のＤＦをアンロックする場合に、このＤＦを一旦カレントＤＦとしてアンロックする必要がない。
【００９２】
図１５は、上記のように、ＤＦがリンクしている場合の各ファイルの構成を示す図である。図１５に示す例では、最上階層のマスターファイル（ＭＦ）１４０１の次の階層にＤＦ１１４０２、ＤＦ２１４０５が存在する。ここで、ＤＦ１がリンク参照元のＤＦとし、ＤＦ２１４０５がリンクＤＦとする。また、ＤＦ１１４０２の配下してＤＦ１の次の階層には、ＥＦ−ＩＤが０００１のＥＦ１−１１４０３とＥＦ−ＩＤが０００２のＥＦ１−２１４０４とが存在している。また、ＤＦ２１４０５配下としてＤＦ２の次の階層には、ＥＦ−ＩＤが０００１のＥＦ２−１１４０６が存在している。
【００９３】
すなわち、上記のような場合、ＤＦ１１４０２配下には、ＥＦ−ＩＤが０００１のＥＦ１−１１４０３と、ＥＦ−ＩＤが０００２のＥＦ１−２１４０４との２つＥＦが存在する。さらに、見かけ上、ＤＦ２１４０５配下には、ＥＦ−ＩＤが０００１のＥＦ２−１１４０６と、リンク先のＤＦ１１４０２の配下でＥＦ−ＩＤが０００２であるＥＦ１−２１４０４との２つのＥＦが存在するように見える。従って、ＤＦ２１４０５がカレントＤＦである場合に、ＥＦ２−１１４０６とＥＦ１−１１４０４とが参照される。
【００９４】
上記のように、ＤＦの定義情報にリンク先のＤＦを示すリンク情報を設定し、リンクするＤＦが設定されているＤＦがカレントになった場合に、リンク先のＤＦに属するＥＦをも利用できるようにしたものである。
【００９５】
これにより、他のＤＦに属するＥＦにリンクするためのＥＦを作成する必要がなく、リンク先のＥＦを示すＥＦを作成する必要がなく、データメモリに記憶するデータ量を減少させることができる。
【００９６】
なお、上記した実施の形態では、リンク先のＤＦが１段の場合について説明したが、リンクするＤＦが複数段であっても良い。すなわち、カレントＤＦからのリンク先のＤＦがさらに他のＤＦにリンクするようにしても良い。
【００９７】
【発明の効果】
以上詳述したように、この発明によれば、データをリンクさせる際に、メモリ内に格納するデータ量を大幅に減量することができるＩＣカードを提供できる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係わるＩＣカードシステムを説明するための概略構成を示す図。
【図２】ＩＣカードの構成を概略的に示す図。
【図３】データメモリ内の構成を説明するための図。
【図４】ＤＦの定義情報の構成を示す図。
【図５】ＥＦの定義情報の構成を示す図。
【図６】ワーキングメモリ内の構成を説明するための図。
【図７】ＤＦリンクコマンドの構成を示す図。
【図８】ＤＦ選択コマンドの構成を示す図。
【図９】ロックコマンドの構成を示す図。
【図１０】アンロックコマンドの構成を示す図。
【図１１】ＤＦリンクコマンドを受信した際の処理を説明するためのフローチャート。
【図１２】ＥＦを参照する際の処理を説明するためのフローチャート。
【図１３】ＤＦ選択コマンドを受信した際の処理を説明するためのフローチャート。
【図１４】ＤＦロックコマンドあるいはＤＦアンロックコマンドを受信した際の処理を説明するためのフローチャート。
【図１５】ＭＦ、ＤＦ、およびＥＦの管理構造を説明するための図。
【符号の説明】
１１…ＩＣカード
１２…カードリーダライタ
１３…端末
１０１…制御素子
１０２…データメモリ
１０３…ワーキングメモリ
３００…ＤＦ定義情報
４００…ＥＦ定義情報
５０１…ステータスフラグ
５０２…カレントＤＦ定義情報
６００…ＤＦリンクコマンド
７００…ＤＦ選択コマンド
８００…ＤＦロックコマンド
９００…ＤＦアンロックコマンド
【図１】
0003782261.tif 000002
【図２】
0003782261.tif 000003
【図３】
0003782261.tif 000004
【図４】
0003782261.tif 000005
【図５】
0003782261.tif 000006
【図６】
0003782261.tif 000007
【図７】
0003782261.tif 000008
【図８】
0003782261.tif 000009
【図９】
0003782261.tif 000010
【図１０】
0003782261.tif 000011
【図１１】
0003782261.tif 000012
【図１２】
0003782261.tif 000013
【図１３】
0003782261.tif 000014
【図１４】
0003782261.tif 000015
【図１５】
0003782261.tif 000016