説明

携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システム

【課題】 より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供する。
【解決手段】 一実施形態に係る携帯可能電子装置は、レコード構造でレコードデータを記憶する記憶部と、外部機器から送信されたコマンドを受信する受信部と、前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
ICカードは、ICカードを処理する処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3571840号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ICカードは、例えば、アプリケーションなどに用いられるデータなどをレコード構造で不揮発性メモリに記憶する。レコード構造で記憶されているデータ(レコードデータ)を読み出す場合、処理装置は、例えば、レコード番号(またはレコード識別子)を指定することにより、レコードデータを読み出す。また、処理装置は、例えば、全てのレコードを指定し、レコードデータを読み出す。
【0007】
また、ICカードにより記憶されているレコードデータのうち、所定の条件に当てはまるデータの件数を確認する場合、処理装置は、全てのレコードを読出し、条件に一致するデータを含むレコードの数を確認する必要がある。この為、コマンドの発行回数及び処理時間などが増加し、処理端末による処理が複雑化するという課題がある。
【0008】
そこで、より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
一実施形態に係る携帯可能電子装置は、レコード構造でレコードデータを記憶する記憶部と、外部機器から送信されたコマンドを受信する受信部と、前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備する。
【図面の簡単な説明】
【0010】
【図1】図1は、一実施形態に係るICカード処理システムの構成例について説明するための図である。
【図2】図2は、一実施形態に係るICカードの構成例について説明するための図である。
【図3】図3は、一実施形態に係るレコードデータの例について説明するための図である。
【図4】図4は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図5】図5は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図6】図6は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図7】図7は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図8】図8は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図9】図9は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図10】図10は、一実施形態に係るICカード処理システムの処理の例について説明するための図である。
【図11】図11は、一実施形態に係るICカードの処理の例について説明するための図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0012】
本実施形態に係る携帯可能電子装置(ICカード)20及びICカードを処理する処理装置(端末装置)10は、例えば、接触通信、及び/または非接触通信の機能を備える。これにより、ICカード20及び端末装置10は、互いにデータの送受信を行うことができる。
【0013】
図1は、一実施形態に係るICカード処理システム1の構成例を示す。
ICカード処理システム1は、ICカード20を処理する端末装置10と、ICカード20と、を備える。
【0014】
端末装置10は、CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、ディスプレイ18、及び電源部19を備える。CPU11、ROM12、RAM13、不揮発性メモリ14、カードリーダライタ15、操作部17、及びディスプレイ18は、それぞれバスを介して互いに接続されている。
【0015】
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM12又は不揮発性メモリ14に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ15を介してICカード20とコマンド及びレスポンスの送受信を行う。
【0016】
ROM12は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。RAM13は、ワーキングメモリとして機能する揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM13は、カードリーダライタ15を介して外部の機器と送受信するデータを一時的に格納する。また、RAM13は、CPU11が実行するプログラムを一時的に格納する。
【0017】
不揮発性メモリ14は、例えばEEPROM、FRAMなどを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【0018】
カードリーダライタ15は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ15は、接触通信、または非接触通信によりICカード20とデータの送受信を行う。
【0019】
接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、ICカード20が装着されるスロットと、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
【0020】
スロットにICカード20が装着される場合、カードリーダライタ15の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ15は、スロットに装着されるICカード20に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【0021】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ15は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【0022】
カードリーダライタ15は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ15は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置10は、通信可能範囲に存在するICカード20に対してデータを非接触で送信することができる。
【0023】
さらに、カードリーダライタ15のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ15は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置10は、ICカード20から送信された元のデータを取得することができる。
【0024】
操作部17は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。操作部17は、生成した操作信号をCPUに入力する。これにより、CPU11は、操作者により入力された操作に基づいて処理を実行することができる。
【0025】
ディスプレイ18は、CPU11、または図示されないグラフィックコントローラなどの表示処理モジュールから入力される映像を表示するための信号に基づいて種々の情報を表示する。
【0026】
電源部19は、端末装置10の各部に電力を供給する。電源部19は、例えば、商用電源より電力を受け取り、所定の電圧に変換し、端末装置10の各部に供給する。
【0027】
図2は、一実施形態に係るICカード20の構成例を示す。
図2に示すように、ICカード20は、例えば、矩形状の本体21と、本体21内に内蔵されたICモジュール22とを備える。ICモジュール22は、ICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22内に形成されている。
【0028】
なお、本体21は、少なくとも通信部24が配設されるICモジュール22を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【0029】
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32などを備える。通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、電源部31、及びロジック部32は、バスを介して互いに接続されている。
【0030】
通信部24は、端末装置(外部機器)10のカードリーダライタ15と通信を行うためのインターフェースである。通信部24は、接触通信、または非接触通信により、端末装置10とデータの送受信を行う。
【0031】
接触通信のインターフェースとして用いられる場合、通信部24は、カードリーダライタ15の接触端子と接続されるコンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりICモジュール22の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置10と接触可能に形成されている。
【0032】
コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれ端子として機能する。通信部24は、コンタクトパターンを介してカードリーダライタ15とデータの送受信を行うことができる。
【0033】
また、非接触通信のインターフェースとして用いられる場合、通信部24は、信号処理部とアンテナとを備える。
【0034】
信号処理部は、端末装置10に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置10に送信するデータの変調(増幅)を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【0035】
アンテナは、例えば、ICモジュール22内に所定の形状で配設される金属線により構成される。ICカード20は、端末装置10に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ICカード20は、端末装置10に対してデータを送信することができる。また、ICカード20は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置10から送信されるデータを認識する。
【0036】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信部24は、2値の論理データを取得する。通信部24は、解析したデータをバスを介してCPU25に送信する。
【0037】
CPU25は、ICカード20全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置10から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【0038】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0039】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介して端末装置10から受信したデータを一時的に格納する。またRAM27は、通信部24を介して端末装置10に送信するデータを一時的に格納する。またさらに、RAM27は、CPU25が実行するプログラムを一時的に格納する。
【0040】
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ28は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0041】
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0042】
電源部31は、端末装置10の各部に電力を供給する。ICカード20が接触通信を行う構成を備える場合、電源部31は、通信部24のコンタクトパターンを介してカードリーダライタ15から供給される電力をICカード20の各部に供給する。
【0043】
また、ICカード20が非接触通信を行う構成を備える場合、カードリーダライタ15のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部31は、動作クロックを生成する。電源部31は、発生させた電力及び動作クロックをICカード20の各部に電力を供給する。ICカード20の各部は、電力の供給を受けた場合、動作可能な状態になる。
【0044】
ロジック部32は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部32は、端末装置10からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置10から相互認証コマンドを受信する場合、ロジック部32は、乱数を生成し、生成した乱数をCPU25に伝送する。
【0045】
また、不揮発性メモリ28は、レコード構造でデータを記憶する記憶部28aを備えている。記憶部28aは、例えば、図3により示されるデータを記憶する。例えば、ICカード20がIC旅券として用いられる場合、図3により示されるように、記憶部28aは、レコード構造で出入国情報を記憶する。
【0046】
レコード構造には、固定長順編成構造、可変長順編成構造、または固定長循環順編成構造などの種類が存在する。レコード構造で記憶されるデータは、少なくとも、レコード番号(レコード識別子)と、データの本体とを有する。
【0047】
図3に示される例では、記憶部28aは、Tag Length Value(TLV)構造のデータをデータの本体として記憶している。即ち、記憶部28aは、レコード番号、データ種別(Tag)、データの長さ(Length)、及びデータ値(Value)を記憶する。
【0048】
TLVデータオブジェクトのTagは、ICカード20のCPU25にTLVデータオブジェクトを識別させる為の情報である。Lengthは、TLVデータオブジェクトのValueのデータ長を示す情報である。Valueは、TLVデータオブジェクトのデータ本体である。
【0049】
出入国情報を記憶する場合、記憶部28aは、Valueとして、入出を示す情報(入出情報)、国コード(国記号)、場所コード、及び登録日付を記憶する。
【0050】
入出情報は、1byteのデータである。例えば、入出情報の論理値が「0」である場合、入出情報は、入国を示す。また、入出情報の論理値が「1」である場合、入出情報は、出国を示す。
【0051】
国記号は、3byteのデータである。国記号は、例えば、国際標準規格ISO/IEC3166−2により規定される国コードを示す。
【0052】
場所コードは、3byteのデータである。場所コードは、例えば、「成田」、「羽田」などの場所を示す情報が各国毎にコード化されたものである。なお、本実施形態では、場所コードについて具体的な値を示さない。
【0053】
登録日付は、8byteのデータである。登録日付は、当該出入国情報がICカード20の不揮発性メモリ28に書き込まれた時刻を示すタイムスタンプである。登録日付は、例えば「yyyymmdd」の形式で書き込まれる。
【0054】
図3に示される例によると、レコード番号が「01」であるレコードには、入出情報として「1」=出国、国記号として「392」=日本、場所コードとして「xxx」、登録日付として「20091222」が記録されている。
【0055】
また、端末装置10は、入出情報の値と、「入国」及び「出国」とが対応付けられたテーブルを予め備える。また、端末装置10は、国記号の値と、国名を示す情報とが対応付けられたテーブルを予め備える。また、端末装置10は、場所コードの値と、場所を示す情報とが対応付けられたテーブルを予め備える。またさらに、端末装置10は、登録日付の値に基づいて、出入国情報が記録された時刻を特定する為の手法(またはテーブル)を予め備える。
【0056】
端末装置10は、ICカード20からレコードを読み出した場合、読み出した各情報の値に基づいて、予め記憶している各テーブルを参照することにより、入出情報、国名、場所名、及び登録日付を特定することができる。
【0057】
さらに、端末装置10は、図4に示されるコマンドをICカード20に送信することにより、所定の条件に当てはまるレコードの件数、レコード番号、及び/またはデータをICカード20から読み出すことが出来る。
【0058】
図4に示されるコマンドは、「CLA」301、「INS」302、「P1」303、「P2」304、「Lc」305、「Data」306、及び「Le」307を有する。
【0059】
「CLA」301は、コマンドの層別を示すclass byteである。「INS」302は、コマンドの種別を示すinstruction byteである。「P1」303及び「P2」304は、「INS」302に応じたパラメータを示すparameter byteである。
【0060】
「Lc」305は、「Data」306のデータの長さ(バイト数)を示すlength field for cording number Ncである。「Data」306は、当該コマンドのデータ本体を示すcommand data fieldである。「Le」307は、当該コマンドに対するレスポンスのデータ長を示すlength field for cording number Neである。
【0061】
さらに、「Data」306は、図5に示されるように、複数のTLVデータオブジェクトを含む。
【0062】
図5は、「Data」306に含まれるデータを示す。図5に示されるように、「Data」306は、Tag401、Len402、抽出対象403、Tag404、Len405、抽出条件406、Tag407、Len408、オフセット409、Tag410、Len411、比較対象データレングス412、Tag413、Len414、及び比較対象データ415を含む。
【0063】
即ち、「Data」306は、抽出対象403を含むTLVデータオブジェクト、抽出条件406を含むTLVデータオブジェクト、オフセット409を含むTLVデータオブジェクト、比較対象データレングス412を含むTLVデータオブジェクト、及び比較対象データ415を含むTLVデータオブジェクトを有する。なお、抽出対象403、抽出条件406、オフセット409、比較対象データレングス412、及び比較対象データ415がそれぞれ固定長である場合、「Data」306は、TLVデータオブジェクトのValueのみを含む構成であってもよい。
【0064】
抽出対象403は、例えば、件数、データ、またはレコード番号などの、抽出する対象を示す情報である。
【0065】
抽出条件406は、例えば、比較対象データ415と一致、比較対象データ415より小さい、比較対象データ415より大きい、比較対象データ415以下、または比較対象データ415以上などの、抽出条件を示す情報である。
【0066】
オフセット409、比較対象データ415と比較するデータの位置を示す情報である。例えば、オフセット409は、レコードの先頭からのバイト数、または、レコードのValueの先頭からのバイト数などを示す。
【0067】
比較対象データレングス412は、比較対象と比較するデータ長(バイト数)を示す情報である。
【0068】
比較対象データ415は、ICカード20のレコードのデータと比較する為の対象データである。
【0069】
即ち、ICカード20は、オフセット409により示される位置から、比較対象データレングス412により示されるバイト数のデータを参照データとして特定し、参照データと比較対象データ415と比較する。さらに、ICカード20は、抽出対象403、及び抽出条件406が示す対象及び条件に基づいて、情報の抽出を行う。
【0070】
なお、端末装置10及びICカード20は、図6に示されるテーブルに基づいて、抽出対象403及び抽出条件406の生成及び解析を行う。
【0071】
例えば、抽出条件に当てはまるレコードのデータ全てを読み出す場合、端末装置10は、抽出対象403として「0」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出対象403が「0」である場合、当該コマンドが、抽出条件に当てはまるレコードのデータ全てを読み出すことを指示するコマンドであると認識する。
【0072】
また、例えば、抽出条件に当てはまるレコードの番号を読み出す場合、端末装置10は、抽出対象403として「1」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出対象403が「1」である場合、当該コマンドが、抽出条件に当てはまるレコードの番号を読み出すことを指示するコマンドであると認識する。
【0073】
また、例えば、抽出条件に当てはまるレコードの件数を読み出す場合、端末装置10は、抽出対象403として「2」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出対象403が「2」である場合、当該コマンドが、抽出条件に当てはまるレコードの件数を読み出すことを指示するコマンドであると認識する。
【0074】
また、比較対象データ415と一致する参照データを含むレコードを抽出する場合、端末装置10は、抽出条件406として「0」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出条件406が「0」である場合、当該コマンドの比較対象データ415と一致する参照データを含むレコードを抽出する。
【0075】
また、比較対象データ415より小さい参照データを含むレコードを抽出する場合、端末装置10は、抽出条件406として「1」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出条件406が「1」である場合、当該コマンドの比較対象データ415より小さい参照データを含むレコードを抽出する。
【0076】
また、比較対象データ415より大きい参照データを含むレコードを抽出する場合、端末装置10は、抽出条件406として「2」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出条件406が「2」である場合、当該コマンドの比較対象データ415より大きい参照データを含むレコードを抽出する。
【0077】
また、比較対象データ415以下の参照データを含むレコードを抽出する場合、端末装置10は、抽出条件406として「3」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出条件406が「3」である場合、当該コマンドの比較対象データ415以下の参照データを含むレコードを抽出する。
【0078】
また、比較対象データ415以上の参照データを含むレコードを抽出する場合、端末装置10は、抽出条件406として「4」をセットする。ICカード20は、受信したコマンドの「Data」306の抽出条件406が「4」である場合、当該コマンドの比較対象データ415以上の参照データを含むレコードを抽出する。
【0079】
即ち、ICカード20は、参照データと比較対象データとを比較し、比較結果が抽出条件を満たす場合、参照データを含むレコードデータを抽出する。この場合、ICカード20は、一致、小なり、大なり、以下、及び以上のうちのいずれかの抽出条件に基づいて、レコードデータを抽出する。
【0080】
図7乃至図10は、ICカード20が受信するコマンドの例を示す。
例えば、図7に示されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」を有する。また、この「Data」は、抽出対象701、抽出条件702、オフセット703、比較対象データレングス704、及び比較対象データ705を含む。図7に示される例では、抽出対象701が「0」であり、抽出条件702が「2」であり、オフセット703が「8」であり、比較対象データレングス704が「6」であり、比較対象データ705が「201008」である。
【0081】
図7に示されるコマンドを受信する場合、ICカード20は、各レコードの8バイト目から6バイトのデータを参照データとして特定する。さらに、ICカード20は、比較対象データ=「201008」より大きい参照データを含むレコードを全て読みだし、読み出したレコードデータをデータ本体としてレスポンスを生成する。さらに、ICカード20は、生成したレスポンスを端末装置10に送信する。即ち、ICカード20は、2010年9月以降に記録された出入国情報を端末装置10に送信する。
【0082】
また、例えば、図8に示されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」を有する。また、この「Data」は、抽出対象801、抽出条件802、オフセット803、比較対象データレングス804、及び比較対象データ805を含む。図8に示される例では、抽出対象801が「1」であり、抽出条件802が「0」であり、オフセット803が「1」であり、比較対象データレングス804が「1」であり、比較対象データ805が「1」である。
【0083】
図8に示されるコマンドを受信する場合、ICカード20は、各レコードの1バイト目から1バイトのデータを参照データとして特定する。さらに、ICカード20は、比較対象データ=「1」と一致する参照データを含むレコードのレコード番号を読みだし、読み出したレコード番号をデータ本体としてレスポンスを生成する。さらに、ICカード20は、生成したレスポンスを端末装置10に送信する。即ち、ICカード20は、入出情報が出国である出入国情報のレコード番号を端末装置10に送信する。
【0084】
また、例えば、図9に示されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」を有する。また、この「Data」は、抽出対象901、抽出条件902、オフセット903、比較対象データレングス904、及び比較対象データ905を含む。図9に示される例では、抽出対象901が「2」であり、抽出条件902が「0」であり、オフセット903が「1」であり、比較対象データレングス904が「4」であり、比較対象データ905が「0528」である。
【0085】
図9に示されるコマンドを受信する場合、ICカード20は、各レコードの1バイト目から4バイトのデータを参照データとして特定する。さらに、ICカード20は、比較対象データ=「0528」と一致する参照データを含むレコードの件数を読みだし、読み出したレコードの件数をデータ本体としてレスポンスを生成する。さらに、ICカード20は、生成したレスポンスを端末装置10に送信する。即ち、ICカード20は、入出情報が「0」=入国であり、国記号が「528」=オランダである出入国情報の件数を端末装置10に送信する。これにより、ICカード20は、オランダに入国した回数を端末装置10に通知することが出来る。
【0086】
また、例えば、図10に示されるコマンドは、「CLA」、「INS」、「P1」、「P2」、「Lc」、「Data」、及び「Le」を有する。また、この「Data」は、抽出対象1001、抽出条件1002、オフセット1003、比較対象データレングス1004、比較対象データ1005、抽出条件1006、オフセット1007、比較対象データレングス1008、及び比較対象データ1009を含む。このように、複数の抽出条件がコマンドに含まれていても良い。
【0087】
図10に示される例では、抽出対象1001が「2」であり、抽出条件1002が「0」であり、オフセット1003が「1」であり、比較対象データレングス1004が「4」であり、比較対象データ1005が「0528」であり、抽出条件1006が「2」であり、オフセット1007が「8」であり、比較対象データレングス1008が「4」であり、比較対象データ1009が「2010」である。
【0088】
図10に示されるコマンドを受信する場合、ICカード20は、各レコードの1バイト目から4バイトのデータを第1の参照データとして特定する。また、ICカード20は、各レコードの8バイト目から4バイトのデータを第2の参照データとして特定する。
【0089】
さらに、ICカード20は、比較対象データ=「0528」と一致する第1の参照データを含むレコードを抽出する。さらに、ICカード20は、抽出したレコードのうち、比較対象データ=「2010」より大きい第2の参照データを含むレコードの件数を読みだし、読み出したレコードの件数をデータ本体としてレスポンスを生成する。さらに、ICカード20は、生成したレスポンスを端末装置10に送信する。
【0090】
これにより、ICカード20は、2011年以降にオランダに入国した回数を端末装置10に通知することが出来る。
【0091】
図11は、ICカード20の処理の例を示す。
まず、端末装置10は、抽出対象、抽出条件、及び比較対照データを決定し、図4及び図5に示されるようなコマンドを生成する。端末装置10は、生成したコマンドをICカード20に送信する。
【0092】
ICカード20は、端末装置10から送信されたコマンドを受信する(ステップS11)。 次に、ICカード20は、受信したコマンドの解析を行う(ステップS12)。これにより、ICカード20は、コマンドにより指定される抽出対象、抽出条件、オフセット、比較対照データレングス、及び比較対照データを認識する。
【0093】
さらに、ICカード20は、初期化処理を行う(ステップS13)。即ち、ICカード20は、RAM27(バッファ)のクリア、及び、抽出されたレコードが書き込まれるバッファ上のアドレス(抽出レコードアドレス)を登録する。
【0094】
次に、ICカード20は、レコードデータを参照する不揮発性メモリ28上のアドレス(参照レコードアドレス)を登録する(ステップS14)。この場合、ICカード20は、あるレコードの先頭のレコードを参照するように参照レコードアドレスを登録する。例えば、コマンドによりEFなどのファイルが指定されている場合、ICカード20は、コマンドにより指定されたファイルの中の先頭のレコードを参照するように参照レコードアドレスを登録する。
【0095】
なお、具体的には、参照レコードアドレス及び抽出レコードアドレスは、RAM27、または不揮発性メモリ28上に記憶されることにより登録される。
【0096】
ICカード20は、オフセット、及び比較対象データレングスに基づいて、参照データを特定する(ステップS15)。即ち、ICカード20は、参照レコードアドレスが示すレコードの先頭からオフセットが示す位置から比較対象データレングスが示す長さのデータを参照データと特定する。
【0097】
ICカード20は、参照データが、抽出条件に該当するか否かを判断する(ステップS16)。即ち、ICカード20は、参照データと比較対象データとの関係が、抽出条件を満たすか否かを判断する。
【0098】
例えば、抽出条件が「0」である場合、ICカード20は、比較対象データと参照データとが一致するか否かを判断する。抽出条件が「1」である場合、ICカード20は、参照データが比較対象データより小さいか否かを判断する。抽出条件が「2」である場合、ICカード20は、参照データが比較対象データより大きいか否かを判断する。抽出条件が「3」である場合、ICカード20は、参照データが比較対象データ以下であるか否かを判断する。抽出条件が「4」である場合、ICカード20は、参照データが比較対象データ以上であるか否かを判断する。
【0099】
参照データが抽出条件を満たすと判断した場合、ICカード20は、参照しているレコードのデータをバッファにコピーする(ステップS17)。即ち、ICカード20は、参照レコードアドレスにより示されるレコードデータを、RAM27上の抽出レコードアドレスにより示される位置にコピーする。この場合、ICカード20は、抽出レコードアドレスをレコード1つ分進める。また、参照データが抽出条件を満たさないと判断した場合、ICカード20は、処理を行わずにステップS18に移行する。
【0100】
ICカード20は、後続のレコードが存在するか否か判断する。(ステップS18)。後続のレコードが存在すると判断した場合、ICカード20は、参照レコードアドレスをレコード1つ分進める(ステップS19)。即ち、ICカード20は、次のレコードを参照するように参照レコードアドレスを更新する。ICカード20は、レコードの数だけステップS15乃至ステップS19の処理を繰り返し行う。
【0101】
後続のレコードが存在しないと判断した場合、ICカード20は、次の抽出条件が存在するか否か判断する(ステップS20)。即ち、ICカード20は、コマンドを受信した際に認識した抽出条件のうち、上記のステップS15乃至ステップS19の処理に用いられていない抽出条件が存在するか否か判断する。次の抽出条件が存在すると判断した場合、ICカード20は、ステップS14に移行し、次の抽出条件に基づいて、ステップS14乃至ステップS19の処理を行う。
【0102】
次の抽出条件が存在しないと判断した場合、ICカード20は、抽出対象を確認する(ステップS21)。即ち、ICカード20は、受信したコマンドの抽出対象の値に基づいて、レコードデータ自体、レコードの番号、及びレコードの件数のうちのどれを抽出するのかを判断する。
【0103】
レコードデータ自体を抽出する場合、即ち、抽出対象の値が「0」である場合、ICカード20は、RAM27にコピーしたレコードデータに基づいてレスポンスを生成する(ステップS22)。即ち、ICカード20は、RAM27により記憶されているレコードデータ自体をレスポンスのデータ本体としてレスポンスを生成する。
【0104】
また、レコード番号を抽出する場合、即ち、抽出対象の値が「1」である場合、ICカード20は、RAM27にコピーしたレコードのレコード番号に基づいてレスポンスを生成する(ステップS23)。即ち、ICカード20は、RAM27により記憶されているレコードのレコード番号をレスポンスのデータ本体としてレスポンスを生成する。
【0105】
レコードの件数を抽出する場合、即ち、抽出対象の値が「2」である場合、ICカード20は、RAM27にコピーしたレコードの件数に基づいてレスポンスを生成する(ステップS24)。即ち、ICカード20は、RAM27により記憶されているレコードの件数をカウントし、件数をレスポンスのデータ本体としてレスポンスを生成する。
【0106】
ICカード20は、生成したレスポンスを端末装置10に送信する(ステップS25)。これにより、ICカード20は、端末装置10により指定される条件に適合したレコードのレコードデータ、レコード番号、またはレコードの件数を端末装置10に伝送することができる。
【0107】
この構成によると、端末装置10は、ICカード20に記憶されているレコードデータを読み出すことなく条件に適合するレコードを探すことができる。これにより、コマンドの発行回数及び処理時間などを抑えることができ、端末装置10の処理を簡易化することができる。この結果、より簡易で且つ高速に処理を行うことができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することができる。
【0108】
なお、上記の実施形態では、出入国情報は、入出情報、国記号、場所コード、及び登録日付を有する構成として説明したが、この構成に限定されない。出入国情報は、如何なる情報であってもよい。さらに、レコード構造で記憶されているレコードデータは、出入国情報に限られるものではなく、如何なるものであっても、上記の実施形態を実施することができる。
【0109】
また、上記の実施形態では、端末装置10からICカード20に送信されるコマンドは、抽出対象、抽出条件、オフセット、比較対象データレングス、及び比較対象データを備える構成として説明したが、この構成に限定されない。抽出対象、抽出条件、及び参照データの位置がICカード20に予め設定されている場合、端末装置10は、少なくとも比較対象データを含むコマンドをICカード20に送信すればよい。この場合、ICカード20は、受信したコマンドの比較対象データと、予め設定される抽出対象、抽出条件、及び参照データとに基づいて、抽出処理を行うことができる。
【0110】
また、上記の実施形態では、端末装置10からICカード20に送信されるコマンドが、複数の抽出条件を含む例について説明したが、ICカード20は、複数の抽出条件のAND(論理積)に基づいて抽出処理を行う構成であっても、OR(論理和)に基づいて抽出処理を行う構成であってもよい。
【0111】
また、上記の実施形態では、端末装置10からICカード20に送信されるコマンドが、複数の抽出条件を含む例について説明したが、上記の実施形態に限定されない。例えば、コマンドは、それぞれ1つの抽出対象、抽出条件、オフセット、及び比較対象データレングスと、複数の比較対象データとを含む構成であってもよい。この場合、ICカード20は、例えば、2つの比較対象データのいずれかと一致する参照データを含むレコードを同時に抽出することができる。
【0112】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0113】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0114】
1…ICカード処理システム、10…端末装置、11…CPU、12…ROM、13…RAM、14…不揮発性メモリ、15…カードリーダライタ、17…操作部、18…ディスプレイ、19…電源部、20…ICカード、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、28a…記憶部、31…電源部。

【特許請求の範囲】
【請求項1】
レコード構造でレコードデータを記憶する記憶部と、
外部機器から送信されたコマンドを受信する受信部と、
前記受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、
前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、
前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、
を具備する携帯可能電子装置。
【請求項2】
前記解析部は、前記コマンドに基づいて、抽出条件を取得し、
前記抽出部は、前記抽出条件と前記比較対象データとに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する、
請求項1に記載の携帯可能電子装置。
【請求項3】
前記解析部は、前記コマンドに基づいて前記レコードデータの中から比較に用いる参照データを特定し、
前記抽出部は、特定された前記参照データと前記比較対象データとを比較し、比較結果が前記抽出条件を満たす場合、前記参照データを含む前記レコードデータを抽出する、
請求項2に記載の携帯可能電子装置。
【請求項4】
前記抽出部は、一致、小なり、大なり、以下、及び以上のうちのいずれかの抽出条件に基づいて、前記レコードデータを抽出する請求項3に記載の携帯可能電子装置。
【請求項5】
前記コマンド処理部は、前記抽出部により抽出された前記レコードデータのデータ本体、レコード番号、またはレコードデータの件数のいずれかに基づいて、前記コマンドに対するレスポンスを生成する、請求項2に記載の携帯可能電子装置。
【請求項6】
前記コマンド処理部は、前記解析部による前記コマンドの解析結果に基づいて、前記外部機器に送信するレスポンスの生成に用いる抽出対象を前記データ本体、前記レコード番号と、及び前記レコードデータの件数から判断する、請求項5に記載の携帯可能電子装置。
【請求項7】
前記抽出部は、前記解析部により複数の前記抽出条件が取得された場合、複数の前記抽出条件の論理和、または論理積に基づいて、前記レコードデータを抽出する、
請求項2に記載の携帯可能電子装置。
【請求項8】
前記各部を備えるICモジュールと、
前記ICモジュールが配設される本体と、
を具備する請求項1に記載の携帯可能電子装置。
【請求項9】
携帯可能電子装置を処理する携帯可能電子装置の処理装置であって、
比較対象データを含むコマンドを生成するコマンド生成部と、
前記コマンド生成部により生成された前記コマンドを前記携帯可能電子装置に送信する送信部と、
前記携帯可能電子装置から送信されたレスポンスを受信する受信部と、
を具備する携帯可能電子装置の処理装置。
【請求項10】
携帯可能電子装置と、前記携帯可能電子装置を処理する携帯可能電子装置の処理装置とを備える携帯可能電子装置処理システムであって、
前記処理装置は、
比較対象データを含むコマンドを生成するコマンド生成部と、
前記コマンド生成部により生成された前記コマンドを前記携帯可能電子装置に送信する第1の送信部と、
前記携帯可能電子装置から送信されたレスポンスを受信する第1の受信部と、
を具備し、
前記携帯可能電子装置は、
レコード構造でレコードデータを記憶する記憶部と、
前記処理装置から送信されたコマンドを受信する第2の受信部と、
前記第2の受信部により受信された前記コマンドを解析し、比較対象データを取得する解析部と、
前記解析部により取得された前記比較対象データに基づいて、前記記憶部により記憶されている前記レコードデータを抽出する抽出部と、
前記抽出部の結果に基づいて、前記コマンドに対するレスポンスを生成するコマンド処理部と、
前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する第2の送信部と、
を具備する携帯可能電子装置処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−194698(P2012−194698A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−57134(P2011−57134)
【出願日】平成23年3月15日(2011.3.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】