(57)【特許請求の範囲】
【請求項１】
複数ビットからなる識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、
外部装置から送られ、少なくとも検索する識別子のビット長と検索する識別子を含み、第２データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットを指定するコマンドを受信する受信手段と、
この受信手段により前記コマンドを受信すると、当該コマンドにて上位あるいは下位の複数ビットを一部分として指定された識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、
この制御情報判断手段により前記一部分を指定された識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第２データ表現形式のデータから検索する検索手段と、
この検索手段により検索された当該識別子の一部分を指定された第２データ表現形式の識別子を出力する出力手段と、
を具備する携帯可能電子装置。
【請求項２】
複数ビットからなる識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、
外部装置から送られ、少なくとも検索する識別子のビット長と検索する識別子を含み、第１データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットおよび第２データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットを指定するコマンドを受信する受信手段と、
この受信手段により前記コマンドを受信すると、当該コマンドにて上位あるいは下位の複数ビットを一部分として指定された識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、
この制御情報判断手段により前記一部分を指定された識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第１データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索するとともに、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第２データ表現形式のデータから検索する検索手段と、
この検索手段により検索された当該識別子の一部分を指定された第１データ表現形式の識別子および第２データ表現形式の識別子を出力する出力手段と、
を具備する携帯可能電子装置。
【請求項３】
複数ビットからなる識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、
外部装置から送られ、少なくとも検索する識別子のビット長と検索する識別子を含み、第２データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットを指定するコマンドを受信する受信手段と、
この受信手段により前記コマンドを受信すると、当該コマンドにて上位あるいは下位の複数ビットを一部分として指定された識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、
この制御情報判断手段により前記一部分を指定された識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第２データ表現形式のデータから検索する検索手段と、
を具備する携帯可能電子装置。
【請求項４】
複数ビットからなる識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、
外部装置から送られ、少なくとも検索する識別子のビット長と検索する識別子を含み、第１データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットおよび第２データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットを指定するコマンドを受信する受信手段と、
この受信手段により前記コマンドを受信すると、当該コマンドにて上位あるいは下位の複数ビットを一部分として指定された識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、
この制御情報判断手段により前記一部分を指定された識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第１データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索するとともに、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第２データ表現形式のデータから検索する検索手段と、
を具備する携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカードなどの携帯可能電子装置に関する。
【背景技術】
【０００２】
近年、携帯可能な電子装置として、書込み、書換え可能な不揮発性のデータメモリとそれを制御するためのＣＰＵ（セントラル・プロセッシング・ユニット）を有し、外部からのデータの入出力を行なう手段を備えたＩＣ（集積回路）チップを内蔵した、いわゆるＩＣカードが産業各方面で開発されている。
【０００３】
ＩＣカードは、従来までの磁気カード等と比較すると、磁気カードは個々のアプリケーションに対応した枚数を保持する必要があったが、１枚に複数のアプリケーションプログラムを保持することができるという利点がある。すなわち、銀行などの金融機関でキャッシュカード等として使用されるＩＣカード、スポーツやレジャー施設での個人認証用のＩＤカード、パチンコ店等の遊技場におけるプリペイドカードなどを同一の１枚のＩＣカードにより実現できる。
【０００４】
この種のＩＣカードは、利用アプリケーションの運用時に必要なデータなどがファイル形式でデータメモリに記憶されており、それぞれのファイルは複数のアプリケーションのそれぞれに対応している。個々のファイルは、外部装置からアプリケーション識別名などを入力することにより、選択的に対応するファイルのみが使用可能な状態となるようになっている。アプリケーションを選択した後、データの読出しや書換えなどの運用処理が行なわれる。
【０００５】
一般に、ＩＣカード内のデータは、識別子と長さとデータ値とから構成されていて、識別子によっては、いわゆる入れ子構造になっているものもある。このような入れ子構造は、たとえば、ＩＳＯ／ＩＥＣ７８１６−４  Ａｎｎｅｘ．Ｄで構造化されたタグフィールド（Ｔａｇ  ｆｉｅｌｄ）などが定義されている。  
また、入れ子構造になっていないデータを直接、読出し、追加、書換え、削除することが可能である。
【０００６】
上述した従来技術においては、既知の識別子のデータを操作することは可能である。しかし、識別子の部分的な情報しか持たない場合、未知の部分に関して総当りで操作を試みなければならない。また、ネットワーク環境を介する場合、ＩＣカードへの送受信回数を減らすことが要求される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平３−２２４０４７号公報
【特許文献２】特開平１１−２８２９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、入れ子構造になっているデータをデータ構造解析なしで容易に検出することが可能な携帯可能電子装置を提供することである。
【課題を解決するための手段】
【０００９】
実施形態に係る携帯可能電子装置は、複数ビットからなる識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、このメモリに記憶された各データに対応して設けられ、対応するデータを制御するための情報で、少なくとも当該制御情報に対応するデータの識別子を示す情報から構成される制御情報を記憶している制御情報記憶手段と、外部装置から送られ、少なくとも検索する識別子のビット長と検索する識別子を含み、第２データ表現形式の識別子の一部分として当該識別子の上位あるいは下位の複数ビットを指定するコマンドを受信する受信手段と、この受信手段により前記コマンドを受信すると、当該コマンドにて上位あるいは下位の複数ビットを一部分として指定された識別子と一致する制御情報が前記制御情報記憶手段内にあるか否かを判断する制御情報判断手段と、この制御情報判断手段により前記一部分を指定された識別子と一致する制御情報があると判断された場合、前記受信手段により受信されたコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第２データ表現形式のデータから検索する検索手段と、この検索手段により検索された当該識別子の一部分を指定された第２データ表現形式の識別子を出力する出力手段とを具備する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る携帯可能電子装置としてのＩＣカードを用いたＩＣカードシステムの構成を概略的に示すブロック図。
【図２】実施形態に係るＩＣカードの構成を概略的に示すブロック図。
【図３】実施形態に係るデータメモリに複数のアプリケーションを構成した場合のファイル構造の概念図。
【図４】実施形態に係るメモリに格納される入れ子構造データの一例を示す図。
【図５】実施形態に係るデータ管理情報を説明するための図。
【図６】実施形態に係る制御情報により所定のアドレスに設定されるデータのフォーマットを示す図。
【図７】第１の実施形態に係る第１識別子部分指定検索コマンドの構成を示す図。
【図８】第１の実施形態に係る第１識別子部分指定検索コマンドに対するレスポンスデータの構成を示す図。
【図９】第１の実施形態に係る出力するレスポンスデータが格納されるレスポンス用データメモリの構成を示す図。
【図１０】第１の実施形態に係る第１識別子部分指定検索コマンドに対する処理の流れについて説明するフローチャート。
【図１１】第２の実施形態に係る第２識別子部分指定検索コマンドの構成を示す図。
【図１２】第２の実施形態に係る第２識別子部分指定検索コマンドに対する処理の流れについて説明するフローチャート。
【図１３】第２の実施形態に係る第２識別子部分指定検索コマンドに対する処理の流れについて説明するフローチャート。
【図１４】第２の実施形態に係るアドレスとデータ長管理情報との整合性の確認およびデータ有無を判定する状態を説明する図。
【図１５】第３の実施形態に係る識別子部分指定検索コマンドの構成を示す図。
【図１６】第３の実施形態に係る出力するレスポンスデータが格納されるレスポンス用データメモリの構成を示す図。
【図１７】第３の実施形態に係る識別子部分指定検索コマンドに対する処理の流れについて説明するフローチャート。
【図１８】第３の実施形態に係る識別子部分指定検索コマンドに対する処理の流れについて説明するフローチャート。
【発明を実施するための形態】
【００１１】
以下、実施形態に係る携帯可能電子装置について図面を参照して説明する。  
図１は、本実施形態に係る携帯可能電子装置としてのＩＣカードを用いたＩＣカードシステムの構成を概略的に示すものである。図１において、このＩＣカードシステムは、ＩＣカード１に対しデータの読出しや書込みを行なう外部装置としてのリーダライタ２、リーダライタ２が接続された上位装置としてのパーソナルコンピュータ（以降、単にパソコンと略称する）３から構成されている。パソコン３は、インターネット、公衆電話網、ＩＳＤＮなどの公衆通信網４を介して外部の情報センタ５へ接続するように構成されている。
【００１２】
パソコン３は、演算部６としてＣＰＵ６ａと主記憶装置としてのメモリ６ｂとを有している。また、パソコン３は、表示手段としてのディスプレイ７、入力手段としてのキーボード８、記憶手段としてのハードディスク装置（ＨＤＤ）９を有している。
【００１３】
ディスプレイ７は、操作手順や作動状態をオペレータに知らせるものである。キーボード８は、オペレータによって操作入力されるものである。ハードディスク装置９には、機密情報である複数のファイル、たとえば、第１電子データファイルＦ１、第２電子データファイルＦ２、第３電子データファイルＦ３などが格納されている。そして、リーダライタ２を介して、パソコン３とＩＣカード１との間で各種データ交換が行なわれるようになっている。
【００１４】
リーダライタ２は、図示しない内部メモリや送信手段などを有していて、ＩＣカード１に対するデータの読取り、書込み（送受信）などを接触あるいは非接触で行なうものである。接触式ＩＣカードを用いる場合には、リーダライタ２に接触式ＩＣカードを挿入するためのＩＣカード挿入部（図示せず）が設けられ、無線式ＩＣカードを用いる場合には、リーダライタ２と無線式ＩＣカードとの間を通信するための通信部（図示せず）が設けられる。
【００１５】
ＩＣカード１は、たとえば、図２に示すように、カード本体１ａの表面に設けられた磁気ストライプ部１１、リーダライタ２と信号の授受を行なう受信手段および出力手段としての通信部１２、および、１つ（あるいは複数）のＩＣチップ１３から構成されている。
【００１６】
通信部１２は、無線式ＩＣカード１の場合にはアンテナ部として構成され、リーダライタ２から送信された変調波を非接触で受信したり外部へ変調波を発信したりするようになっている。また、この通信部１２で受信した変調波から内部回路に供給するための電源やクロックを生成するようになっている。また、接触式ＩＣカード１の場合にはコンタクト部として構成され、リーダライタ２に設けられたＩＣカード端子部（図示しない）と接触することにより電源やクロックを得るようになっている。
【００１７】
ＩＣチップ１３は、制御素子としてのＣＰＵ１４、記憶手段してのデータメモリ１５、ワーキングメモリ１６、プログラムメモリ１７から構成され、通信部１２と接続された状態で一体的にＩＣモジュール化されて、ＩＣカード本体１ａ内に収納（埋設）されている。
【００１８】
ＣＰＵ１４は、本実施形態のポイントである後述するファイルを選択する処理を実行する他、各種の判定処理や判断処理およびメモリへの書込みや読出しなどのデータ処理を行なう制御部である。
【００１９】
データメモリ１５は、アプリケーションデータなどの各種データの記憶に使用され、たとえば、ＥＥＰＲＯＭ（エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ）などの消去（書換え）可能な不揮発性メモリで構成されている。
【００２０】
ワーキングメモリ１６は、ＣＰＵ１４が処理を行なう際の処理データを一時的に保持するための作業用のメモリであり、たとえば、ＲＡＭ（ランダム・アクセス・メモリ）などの揮発性メモリで構成されている。
【００２１】
プログラムメモリ１７は、たとえば、マスクＲＯＭ（リード・オンリ・メモリ）などの書換え不可能な固定メモリで構成されており、上述するような各基本機能を実現するサブルーチンを備えたＣＰＵ１４の制御プログラムなどを記憶している。
【００２２】
なお、ＩＣカード１に登録されているアプリケーションとしては、たとえば、クレジット、ポイントシステム、ＩＤカードなどが挙げられる。
【００２３】
データメモリ１５には、たとえば、図３に示すように、複数のアプリケーションに関する情報がファイル構造で記憶されている。このファイル構造は、ＩＳＯ／ＩＥＣ７８１６−４に基づき、色々なフォルダの種類を持ったディレクトリのツリー構造になっており、複数のアプリケーションが登録可能である。
【００２４】
すなわち、図３に示すように、最上位がＭＦ（Ｍａｓｔｅｒ  Ｆｉｌｅ）２１で、その配下に各アプリケーションごとに設定されるフォルダとしてＤＦ（Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ）２２，２３，２４が設けられ、さらに、それらの配下に実際にアプリケーションで使われるユーザデータの格納に使用されるＥＦ（Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ）２５，２６，２７，２８が設けられている構成になっている。
【００２５】
また、ＭＦ２１の配下には、アクセス権を確立するためのキーの格納に使用されるキーＥＦ２９が設けられている。なお、ＤＦは搭載しているアプリケーションに相当する数だけ設けられる。
【００２６】
本実施の形態では、ＩＣカード１には、たとえば、クレジット系としてＸ社向けの１つのアプリケーションが、ポイント系としてＡ社、Ｂ社向けの２つのアプリケーションがそれぞれ格納されている。
【００２７】
そして、本実施の形態では、ＤＦ２２（以後、ＤＦ１とも称す）には、たとえば、クレジットＸ社向けアプリケーション用ファイルとしてＤＦ名が「クレジットＸ社」と設定され、その配下には、クレジットＸ社向けアプリケーションで使用されるＥＦ２５（以後、ＥＦ１−１とも称す）、ＥＦ２６（以後、ＥＦ１−２とも称す）という２つのファイルが存在する。
【００２８】
また、ＤＦ２３（以後、ＤＦ２とも称す）には、たとえば、ポイントＡ社系向けアプリケーション用ファイルとしてＤＦ名が「ポイントＡ社系」と設定され、その配下には、ポイントＡ社系向けアプリケーションで使用されるＥＦ２７（以後、ＥＦ２−１とも称す）、ＥＦ２８（以後、ＥＦ２−２とも称す）という２つのファイルが存在する。このうち、ＥＦ２−１は共通データ、ＥＦ２−２はポイントＡ社系内のそれぞれのデータが格納されている。
【００２９】
ＥＦ２−２に格納されるデータは、たとえば、図４に示すような入れ子構造を持つデータである。すなわち、図４（ａ）に示すように、ポイントＸのデータとして、ポイントＸ識別子（Ｅ１）１０１とポイントＸのデータ長１０２とポイントＸの値１１２とから構成される第２データ表現形式のデータが格納される。上記ポイントＸの値１１２は、上記第２データ表現形式と同じ第１データ表現形式のデータ、すなわち、ポイント値識別子（ＤＦ０１）１０３とポイント値長１０４とポイント値１０５とから構成されるデータ１１３、ポイント上限値識別子（ＤＦ０２）１０６とポイント上限値長１０７とポイント上限値１０８とから構成されるデータ１１４、ポイント最終更新日識別子（ＤＦ０３）１０９とポイント最終更新日値長１１０とポイント最終更新日値１１１とから構成されるデータ１１５が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。
【００３０】
また、図４（ｂ）に示すように、ポイントＹのデータとして、ポイントＹ識別子（Ｅ２）１２１とポイントＹのデータ長１２２とポイントＹの値１２３とから構成される第２データ表現形式のデータが格納される。上記ポイントＹの値１２３は、上記第２データ表現形式と同じ第１データ表現形式のデータ、すなわち、ポイント値識別子（ＤＦ０１）１２４とポイント値長１２５とポイント値１２６とから構成されるデータ１２７、ポイント上限値識別子（ＤＦ０２）１２８とポイント上限値長１２９とポイント上限値１３０とから構成されるデータ１３１が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。
【００３１】
また、図４（ｃ）に示すように、ポイントＺのデータとして、ポイントＺ識別子（Ｅ３）１４１とポイントＺのデータ長１４２とポイントＺの値１４３とから構成される第２データ表現形式のデータが格納される。上記ポイントＺの値１４３は、上記第２データ表現形式と同じ第１データ表現形式のデータ、すなわち、ポイント値識別子（ＤＦ０１）１４４とポイント値長１４５とポイント値１４６とから構成されるデータ１４７、ポイント上限値識別子（ＤＦ０２）１４８とポイント上限値長１４９とポイント上限値１５０とから構成されるデータ１５１、ポイント最終更新日識別子（ＤＦ０３）１５２とポイント最終更新日値長１５３とポイント最終更新日値１５４とから構成されるデータ１５５が並設されて構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。
【００３２】
さらに、図４（ｄ）に示すように、ポイントＰのデータとして、ポイントＰ識別子（Ｅ４）１６１とポイントＰのデータ長１６２とポイントＰの値１６３とから構成される第２データ表現形式のデータが格納される。上記ポイントＰの値１６３は、上記第２データ表現形式と同じ第１データ表現形式のデータ、すなわち、ポイント値識別子（ＤＦ０１）１６４とポイント値長１６５とポイント値１６６とから構成されるデータ１６７から構成される。このようなデータ構造をいわゆる入れ子構造と呼ばれている。
【００３３】
図５は、データ識別子を指定することにより読出し・書換え等が行なわれるデータを管理するデータ管理情報を示しており、たとえば、データメモリ１５に格納されている。このデータ管理情報は、データ数領域２００、制御情報領域２０１、空き領域２０２から構成される。データ数領域２００には、制御情報領域２０１に記憶されたデータの数（制御情報の数）を示す情報が記憶される。制御情報領域２０１には、データ（入れ子構造のデータについては第１階層のデータ）の数に応じた数の制御情報２０１ａ，２０１ｂ，…が記憶される。
【００３４】
制御情報領域２０１内の制御情報２０１ａ，２０１ｂ，…は、各データ（入れ子構造のデータについては第１階層のデータ）に対応して設けられる。図５に示す例では、各制御情報２０１ａ，２０１ｂ，…は、データ識別子情報２１０、設定アドレス情報２１１、設定可能サイズ情報２１２、および、セキュリティ条件情報２１３から構成されている。
【００３５】
データ識別子情報２１０は、外部装置から指定された識別子と当該データ識別子情報とを比較し、両者が一致した場合に本情報を後続の処理に使用する。設定アドレス情報２１１は、当該データがカード内のデータメモリ１５のどのアドレスに配置されているかを示す情報である。設定可能サイズ情報２１２は、設定可能なサイズを示す情報であり、本情報の範囲内であれば当該データは可変長にて設定可能である。セキュリティ条件情報２１３は、当該データに対して読出しや書込みを行なう場合に設定されているべきセキュリティ条件である。  
なお、上記データ管理情報の詳細は、たとえば、特開平１１−２８２９８９号公報に記載されているので、それを参照されたい。
【００３６】
図６は、制御情報により所定のアドレスに設定されるデータのフォーマットを示している。データは、制御情報の設定アドレス情報２１１の示すデータメモリ１５上のアドレスに設定されている。図６において、２２０はデータの長さを示すデータ管理情報、２２１はデータの本体部分である。２２２は当該データの正当性管理情報であり、たとえば、データ管理情報２２０およびデータ２２１の排他的論理和などによりデータの正当性の確認に使用される。
【００３７】
図７は、リーダライタ２からＩＣカード１に対して供給される第１識別子部分指定検索コマンドを指示するための命令データ（第１識別子部分指定検索コマンド）の構成を示している。第１識別子部分指定検索コマンドは、コマンドヘッダ部３０１、コマンドヘッダ部３０１のデータ長を示すＬｃ部３０６、データ部３０７、および、データ部３０７のデータ長を示すＬｅ部３０８から構成されている。データ部３０７は、検索する識別子のビット長と検索する識別子とから構成される。
【００３８】
コマンドヘッダ部３０１は、コマンドの分類部（ＣＬＡ：ｃｌａｓｓ）３０２、命令部（ＩＮＳ：ｉｎｓｔｒｕｃｔｉｏｎ）３０３、および、パラメータデータ（Ｐ１、Ｐ２）３０４，３０５から構成されている。
【００３９】
ＩＣカード１のＣＰＵ１４は、この第１識別子部分指定検索コマンドのデータ部３０７に含まれた検索する識別子のビット長と検索する識別子とから、指定された識別子を検索して出力する。
【００４０】
図８は、リーダライタ２から送られた第１識別子部分指定検索コマンドを実行した後、ＩＣカード１がリーダライタ２へ出力するレスポンスデータの構成を示している。このレスポンスデータは、第１識別子部分指定検索コマンドで指定された識別子のＣＰＵ１４による検索結果（指定された識別子を含む識別子情報）がセットされるデータ部４０１、および、処理結果を示すステータスコードがセットされるステータスコード部４０２，４０３から構成されている。
【００４１】
上記データ部４０１には、第１識別子部分指定検索コマンドに対する検索結果がセットされる。ここでは、上記データ部４０１には、第１識別子部分指定検索コマンドで部分指定された第１階層のデータの識別子を示す情報がセットされる。
【００４２】
すなわち、たとえば、図４におけるポイント識別子の「００００  ００００  １１１０  ００１ｘ  ｂ」と一致する識別子を検索する場合は、第１識別子部分指定検索コマンドのデータ部３０７に”０Ｆ００Ｅ２”がセットされる。  
以上のようにセットされた第１識別子部分指定検索コマンドを受信した場合、ＣＰＵ１４は、データ部４０１に「Ｅ２  Ｅ３」をセットし、ステータスコード部４０２，４０３に「正常終了のステータスコード」をセットしたレスポンスデータを出力する。
【００４３】
図９は、出力するレスポンスデータが格納されるレスポンス用データメモリの構成を示しており、たとえば、データメモリ１５内に設けられている。このレスポンス用データメモリは、レスポンスデータ長管理情報が格納される領域５０１、および、レスポンスデータが格納される領域５０２から構成されている。  
このレスポンス用データメモリに格納されるデータは、図８に示すデータ部４０１にセットされるデータである。レスポンスデータ長管理情報５０１は、レスポンスデータ５０３の長さ情報である。
【００４４】
次に、このような構成において第１識別子部分指定検索コマンドに対する処理について図１０に示すフローチャートを参照して説明する。  
ＩＣカード１のＣＰＵ１４は、受信されたコマンドがそのコマンドヘッダ部３０１に基づいて第１識別子部分指定検索コマンドであると判断すると、図５のデータ管理情報から＃１の制御情報２０１ａを読出す（ステップＳ１００）。
【００４５】
次に、読出した制御情報２０１ａ内のデータ識別子情報２１０で示す識別子が第１識別子部分指定検索コマンドのデータ部３０７で部分指定されている識別子と一致するか否かを確認する（ステップＳ１０１）。確認の結果、両識別子が一致する場合はステップＳ１０２へ、両識別子が一致しない場合はステップＳ１０３へ進む。
【００４６】
ステップＳ１０２では、当該識別子をレスポンス用データメモリのレスポンスデータ長管理情報５０１をオフセットしたアドレスのレスポンスデータ５０２に保存し、レスポンスデータ長管理情報５０１に識別子の長さ分加算する。この処理終了後、ステップＳ１０３へ進む。
【００４７】
ステップＳ１０３では、図５のデータ管理情報に次の制御情報があるか否かを確認し、次の制御情報がある場合はステップＳ１０４へ、次の制御情報がない場合はステップＳ１０５へ進む。  
ステップＳ１０４では、図５のデータ管理情報から次の制御情報２０１ｂを読出し、ステップＳ１０１に戻って上記同様な動作を繰り返す。
【００４８】
ステップＳ１０５では、上記レスポンス用データメモリのレスポンスデータ５０２に保存されているデータのうち、レスポンスデータ長管理情報５０１で指定されている長さを結果とするレスポンスデータと正常終了の応答ステータスをリーダライタ２へ出力する。
【００４９】
次に、第２の実施形態について説明する。  
図１１は、リーダライタ２からＩＣカード１に対して供給される第２識別子部分指定検索コマンドを指示するための命令データ（第２識別子部分指定検索コマンド）の構成を示している。第２識別子部分指定検索コマンドは、コマンドヘッダ部６０１、コマンドヘッダ部６０１のデータ長を示すＬｃ部６０６、データ部６０７、および、データ部６０７のデータ長を示すＬｅ部６０８から構成されている。データ部６０７は、検索する識別子のビット長と検索する識別子とから構成される。
【００５０】
コマンドヘッダ部６０１は、コマンドの分類部（ＣＬＡ：ｃｌａｓｓ）６０２、命令部（ＩＮＳ：ｉｎｓｔｒｕｃｔｉｏｎ）６０３、および、パラメータデータ（Ｐ１、Ｐ２）６０４，６０５から構成されている。
【００５１】
ＩＣカード１のＣＰＵ１４は、この第２識別子部分指定検索コマンドのコマンドヘッダ部６０１のＰ１部６０４とＰ２部６０５、データ部６０７に含まれた検索する識別子のビット長と検索する識別子とから、指定された識別子を検索して出力する。
【００５２】
パラメータデータ（Ｐ１、Ｐ２）６０４，６０５は、データ部６０７にセットされるデータ識別子がどのデータ識別子の中に存在しているかを示している。すなわち、たとえば、図４におけるポイントＸのデータ内の「１１０１  １１１１  ００００  ００１ｘ  ｂ」と一致する識別子を検索する場合は、Ｐ１部６０４、Ｐ２部６０５に「００Ｅ１」がセットされ、データ部６０７に「０ＦＤＦ０２」がセットされる。
【００５３】
以上のようにセットされた第２識別子部分指定検索コマンドを受信した場合、ＣＰＵ１４は、データ部４０１に「ＤＦ０２  ＤＦ０３」をセットし、ステータスコード部４０２，４０３に「正常終了のステータスコード」をセットしたレスポンスデータを出力する。
【００５４】
次に、このような構成において第２識別子部分指定検索コマンドに対する処理について図１２および図１３に示すフローチャートを参照して説明する。  
ＩＣカード１のＣＰＵ１４は、受信されたコマンドがそのコマンドヘッダ部６０１に基づいて第２識別子部分指定検索コマンドであると判断すると、図５のデータ管理情報からＰ１部６０４、Ｐ２部６０５で指定されている識別子と一致する制御情報２０１を検索する（ステップＳ２００）。一致する制御情報２０１を特定できなかった場合はステップＳ２０１へ、特定できた場合はステップＳ２０２へ進む。ステップＳ２０１では、制御情報未登録の応答ステータスをリーダライタ２へ出力する。
【００５５】
ステップＳ２０２では、制御情報２０１内の設定アドレス情報２１１が示すアドレスのデータを１バイト（Ｂｙｔｅ）読込む。次に、この読込んだデータを確認し（ステップＳ２０３）、次のデータも識別子の一部であると確認された場合は、ステップＳ２０４へ進み、次のデータを１バイト読込む。
【００５６】
ステップＳ２０３の確認の結果、次のデータも識別子の一部でないと確認された場合、読込んだ識別子が第２識別子部分指定検索コマンドのデータ部６０７で部分指定されている識別子と一致するか否かをチェックし（ステップＳ２０５）、一致する場合はステップＳ２０６へ進み、一致しない場合はステップＳ２０７へ進む。
【００５７】
ステップＳ２０６では、当該識別子をレスポンス用データメモリのレスポンスデータ長管理情報５０１をオフセットしたアドレスのレスポンスデータに保存し、レスポンスデータ長管理情報５０１に識別子の長さ分加算する。この処理終了後、ステップＳ２０７へ進む。
【００５８】
ステップＳ２０７では、次のデータを１バイト読込み、読込んだ値をデータ長とし、次の識別子に相当するアドレスを求める。次に、ステップＳ２０７で求められた次の識別子に相当するアドレスとデータ長管理情報２２０との整合性を確認し（ステップＳ２０８）、異常である場合はステップＳ２０９へ進み、正常でかつ次の第２階層のデータは存在しないと判断した場合はステップＳ２１０へ、正常でかつ次の第２階層のデータが存在すると判断した場合はステップＳ２１１へ進む。
【００５９】
なお、ステップＳ２０８において異常であると判断する状態としては、たとえば、求められたアドレスがデータ長管理情報２２０で指定されたデータ長のアドレスの範囲を超えている場合などがある（図１４参照）。
【００６０】
ステップＳ２０９では、データ検索異常の応答ステータスをリーダライタ２へ出力する。ステップＳ２１０では、レスポンスデータ用メモリのレスポンスデータ領域５０２に格納されているデータのうち、レスポンスデータ長管理情報５０１で指定されている長さを結果とするレスポンスデータと異常無しの応答ステータスをリーダライタ２へ出力する。
【００６１】
ステップＳ２１１では、ステップＳ２０７で求められた次の識別子に相当するアドレスのデータを１バイト読込む。次に、この読込んだデータを確認し（ステップＳ２１２）、次のデータも識別子の一部であると確認された場合は次のデータを１バイト読込み（ステップＳ２１３）、ステップＳ２０５へ戻る。ステップＳ２１２の確認の結果、次のデータも識別子の一部でないと確認された場合、ステップＳ２０５へ戻る。
【００６２】
次に、第３の実施形態について説明する。  
図１５は、リーダライタ２からＩＣカード１に対して供給される識別子部分指定検索コマンドを指示するための命令データ（識別子部分指定検索コマンド）の構成を示している。識別子部分指定検索コマンドは、コマンドヘッダ部７０１、コマンドヘッダ部７０１のデータ長を示すＬｃ部７０６、データ部７０７、および、データ部７０７のデータ長を示すＬｅ部７０８から構成されている。データ部７０７は、検索する第１識別子のビット長と検索する第１識別子および検索する第２識別子のビット長と検索する第２識別子から構成される。
【００６３】
コマンドヘッダ部７０１は、コマンドの分類部（ＣＬＡ：ｃｌａｓｓ）７０２、命令部（ＩＮＳ：ｉｎｓｔｒｕｃｔｉｏｎ）７０３、および、パラメータデータ（Ｐ１、Ｐ２）７０４，７０５から構成されている。
【００６４】
ＩＣカード１のＣＰＵ１４は、この識別子部分指定検索コマンドのデータ部７０７に含まれた検索する第１識別子のビット長と検索する第１識別子および検索する第２識別子のビット長と検索する第２識別子から、指定された識別子を検索して出力する。
【００６５】
すなわち、たとえば、図４におけるポイント識別子の「００００  ００００  １１１０  ００１ｘ  ｂ」と一致する第１識別子の「１１０１  １１１１  ００００  ００１ｘ  ｂ」と一致する第２識別子を検索する場合は、識別子部分指定検索コマンドのデータ部７０７に「０Ｆ００Ｅ２  ０ＦＤＦ０２」がセットされる。
【００６６】
以上のようにセットされた識別子部分指定検索コマンドを受信した場合、ＣＰＵ１４は、データ部４０１に「Ｅ２  ０２  ＤＦ０２  Ｅ３  ０４  ＤＦ０２  ＤＦ０３  Ｅ４  ００」をセットし、ステータスコード部４０２，４０３に「正常終了のステータスコード」をセットしたレスポンスデータを出力する。
【００６７】
図１６は、出力するレスポンスデータが格納されるレスポンス用データメモリの構成を示しており、たとえば、データメモリ１５内に設けられている。このレスポンス用データメモリは、レスポンスデータ長管理情報が格納される領域８０１、第１識別子データ長アドレス情報が格納される領域８０２、および、レスポンスデータが格納される領域８０３から構成されている。
【００６８】
このレスポンス用データメモリに格納されるデータは、図８に示すデータ部４０１にセットされるデータである。レスポンスデータ長管理情報８０１は、レスポンスデータ８０３の長さ情報である。第１識別子データ長アドレス情報８０２は、検索処理中の第１識別子のデータ長を格納するレスポンス用データメモリ内のアドレス情報である。
【００６９】
次に、このような構成において識別子部分指定検索コマンドに対する処理について図１７および図１８に示すフローチャートを参照して説明する。  
ＩＣカード１のＣＰＵ１４は、受信されたコマンドがそのコマンドヘッダ部７０１に基づいて識別子部分指定検索コマンドであると判断すると、図５のデータ管理情報から＃１の制御情報２０１ａを読出す（ステップＳ３００）。
【００７０】
次に、読出した制御情報２０１ａ内のデータ識別子情報２１０で示す識別子が識別子部分指定検索コマンドのデータ部４０７で部分指定されている識別子と一致するか否かを確認する（ステップＳ３０１）。確認の結果、両識別子が一致する場合はステップＳ３０２へ、両識別子が一致しない場合はステップＳ３０３へ進む。
【００７１】
ステップＳ３０２では、当該識別子をレスポンス用データメモリのレスポンスデータ長管理情報８０１をオフセットしたアドレスのレスポンスデータ８０３に保存し、その後ろをデータ長として「０」を保存するとともに、レスポンスデータ長管理情報８０１に識別子の長さとデータ長分加算する。また、レスポンス用データメモリの第１識別子データ長アドレス情報８０２に保存した識別子のデータ長のアドレスを保存する。この処理終了後、ステップＳ３１０へ進む。
【００７２】
ステップＳ３０３では、図５のデータ管理情報に次の制御情報があるか否かを確認し、次の制御情報がある場合はステップＳ３０４へ、次の制御情報がない場合はステップＳ３０５へ進む。  
ステップＳ３０４では、図５のデータ管理情報から次の制御情報２０１ｂを読出し、ステップＳ３０１に戻って上記同様な動作を繰り返す。
【００７３】
ステップＳ３０５では、上記レスポンス用データメモリのレスポンスデータ８０３に保存されているデータのうち、レスポンスデータ長管理情報８０１で指定されている長さを結果とするレスポンスデータと正常終了の応答ステータスをリーダライタ２へ出力する。
【００７４】
ステップＳ３１０では、制御情報２０１内の設定アドレス情報２１１が示すアドレスのデータを１バイト読込む。次に、この読込んだデータを確認し（ステップＳ３１１）、次のデータも識別子の一部であると確認された場合は、ステップＳ３１２へ進み、次のデータを１バイト読込む。
【００７５】
ステップＳ３１１の確認の結果、次のデータも識別子の一部でないと確認された場合、読込んだ識別子が識別子部分指定検索コマンドのデータ部７０７で部分指定されている識別子と一致するか否かをチェックし（ステップＳ３１３）、一致する場合はステップＳ３１４へ進み、一致しない場合はステップＳ３１５へ進む。
【００７６】
ステップＳ３１４では、当該識別子をレスポンス用データメモリのレスポンスデータ長管理情報８０１をオフセットしたアドレスのレスポンスデータに保存し、レスポンスデータ長管理情報８０１に識別子の長さ分加算する。また、レスポンス用データメモリの第１識別子データ長アドレス情報８０２のアドレスのデータに識別子の長さ分加算する。この処理終了後、ステップＳ３１５へ進む。
【００７７】
ステップＳ３１５では、次のデータを１バイト読込み、読込んだ値をデータ長とし、次の識別子に相当するアドレスを求める。次に、ステップＳ３１５で求められた次の識別子に相当するアドレスとデータ長管理情報２２０との整合性を確認し（ステップＳ３１６）、異常である場合はステップＳ３１７へ進み、正常でかつ次の第２階層のデータは存在しないと判断した場合はステップＳ３０３に戻り、正常でかつ次の第２階層のデータが存在すると判断した場合はステップＳ３１８へ進む。
【００７８】
なお、ステップＳ３１６において異常であると判断する状態としては、たとえば、求められたアドレスがデータ長管理情報２２０で指定されたデータ長のアドレスの範囲を超えている場合などがある（図１４参照）。
【００７９】
ステップＳ３１７では、データ検索異常の応答ステータスをリーダライタ２へ出力する。ステップＳ３１８では、ステップＳ３１５で求められた次の識別子に相当するアドレスのデータを１バイト読込む。次に、この読込んだデータを確認し（ステップＳ３１９）、次のデータも識別子の一部であると確認された場合は次のデータを１バイト読込み（ステップＳ３２０）、ステップＳ３１３へ戻る。ステップＳ３１９の確認の結果、次のデータも識別子の一部でないと確認された場合、ステップＳ３１３へ戻る。
【００８０】
なお、上記例では、識別子が１バイト長または２バイト長のみで構成されるデータで説明を行なったが、３バイト以上の識別子が含まれる場合も同様である。また、本例では、長さ情報が１バイト長のみで構成されるデータで説明を行なったが、たとえば、ＩＳＯ／ＩＥＣ７８１６−４  Ａｎｎｅｘ．Ｄで記載されているような、長さ情報が１バイト以上で表現される場合も同様である。
【００８１】
以上述べた少なくとも１つの実施形態の携帯可能電子装置によれば、第２データ表現形式の識別子、あるいは、第１データ表現形式の識別子および第２データ表現形式の識別子を出力することで、ＴＬＶ入れ子構造になっているデータの中のデータ構造を解析なしで容易に検出することが可能になる。
【００８２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【００８３】
以下に、本願出願の当所の特許請求の範囲に記載された発明を付記する。
【００８４】
［１］識別子と長さと値とから構成されるデータを記憶したメモリと、
外部装置から受信したコマンドにて当該識別子の一部分を指定された識別子を前記メモリ内のデータから検索し、当該一部分を指定された識別子を出力する制御手段と、
を具備したことを特徴とする携帯可能電子装置。
【００８５】
［２］識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
外部装置から受信したコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索し、当該一部分を指定された第２データ表現形式の識別子を出力する制御手段と、
を具備したことを特徴とする携帯可能電子装置。
【００８６】
［３］識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、
外部装置から受信したコマンドにて当該識別子の一部分を指定された第１データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索するとともに、前記受信したコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索し、当該一部分を指定された第１データ表現形式の識別子および第２データ表現形式の識別子を出力する制御手段と、
を具備したことを特徴とする携帯可能電子装置。
【００８７】
［４］識別子と長さと値とから構成されるデータを記憶したメモリと、外部装置から受信したコマンドにて当該識別子の一部分を指定された識別子を前記メモリ内のデータから検索し、当該一部分を指定された識別子を出力する制御手段とを有したＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【００８８】
［５］識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索し、当該一部分を指定された第２データ表現形式の識別子を出力する制御手段とを有したＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【００８９】
［６］識別子と長さと値とから構成されるデータの表現形式を第１データ表現形式とし、前記値に第１データ表現形式で表現されるデータが少なくとも１つ以上並設されてなる第２データ表現形式のデータを記憶したメモリと、外部装置から受信したコマンドにて当該識別子の一部分を指定された第１データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索するとともに、前記受信したコマンドにて当該識別子の一部分を指定された第２データ表現形式の識別子を前記メモリ内の第１データ表現形式のデータから検索し、当該一部分を指定された第１データ表現形式の識別子および第２データ表現形式の識別子を出力する制御手段とを有したＩＣモジュールと、
このＩＣモジュールを収納したＩＣカード本体と、
を具備したことを特徴とするＩＣカード。
【符号の説明】
【００９０】
１…ＩＣカード（携帯可能電子装置）、１ａ…ＩＣカード本体、２…リーダライタ（外部装置）、３…パーソナルコンピュータ、１１…磁気ストライプ部、１２…通信部、１３…ＩＣチップ、１４…ＣＰＵ（制御手段）、１５…データメモリ、１６…ワーキングメモリ、１７…プログラムメモリ。
【図１】
0005301018.tif 000002
【図２】
0005301018.tif 000003
【図３】
0005301018.tif 000004
【図４】
0005301018.tif 000005
【図５】
0005301018.tif 000006
【図６】
0005301018.tif 000007
【図７】
0005301018.tif 000008
【図８】
0005301018.tif 000009
【図９】
0005301018.tif 000010
【図１０】
0005301018.tif 000011
【図１１】
0005301018.tif 000012
【図１２】
0005301018.tif 000013
【図１３】
0005301018.tif 000014
【図１４】
0005301018.tif 000015
【図１５】
0005301018.tif 000016
【図１６】
0005301018.tif 000017
【図１７】
0005301018.tif 000018
【図１８】
0005301018.tif 000019