説明

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

【課題】 より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供する。
【解決手段】 携帯可能電子装置2は、データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部28を有する。携帯可能電子装置2は、処理装置1より受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定し、データフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定し、決定した数のレコードデータを前記記憶部28から読み出す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)及びROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816−1、2に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
また、ICカードは、例えば、ISO/IEC7816−4で規定されるファイル構造を不揮発性メモリに有している。即ち、不揮発性メモリは、Master File(MF)、Dedicated File(DF)、及びElementary File(EF)などのファイルの階層構造を有している。
【0005】
また、EFは、ISO/IEC7816−4で規定される透過構造(Transparent structure)、固定長順編成レコード構造(Linear structure with records of fixed size)、可変長順編成レコード構造(Linear structure with records of variable size)、固定長循環順編成レコード構造(Cyclic structure with records of fixed size)、及びTLV構造(TLV structure)のうちのいずれかにより構成される。
【0006】
またさらに、上記した各構造のうちのレコード構造を有するEFに格納されているデータの読出しを指示するREAD RECORD(S)コマンドがISO/IEC7816−4により規定されている。このREAD RECORD(S)コマンドにより、ICカードは、「指定した1レコードのみの読出し」、「指定したレコードから最終レコードまでの全レコードの読出し」、及び、「最終レコードから指定したレコードまでの全レコードの読出し」などの処理を実行する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第3359934号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記したREAD RECORD(S)コマンドを用いてデータの読み出しを行う場合、パラメータにより読み出し対象の1レコードを指定することができる。しかし、読み出し対象のレコードが複数存在する場合、1レコードを読み出す毎にコマンドの送受信を行う必要がある。この場合、処理効率が悪く、処理に時間がかかるという問題がある。
【0009】
また、「指定したレコードから最終レコードまでの全レコードの読出し」、または「最終レコードから指定したレコードまでの全レコードの読出し」を行う事により複数のレコードデータを読み出す場合、必要でないデータを読み出す為、効率が悪いという問題がある。
【0010】
例えば、買い物の利用履歴データを100件のレコードファイルに格納する場合、全てのデータではなく、最近10件の利用履歴などを読み出したい、という場合が考えられる。この場合、現行の規格にのみ準拠したICカードの処理装置は、例えば、「指定した1レコードのみの読出し」機能を使用して、指定するレコード番号を変えながらREAD RECORD(S)コマンドをICカードに送信する。この場合、ICカード及びICカードの処理装置は、コマンド及びレスポンスの送受信を繰り返す必要があるという問題がある。
【0011】
また、ICカード処理装置は、「最終レコードから指定したレコードまでの全レコードの読出し」、または「指定したレコードから最終レコードまでの全レコードの読出し」機能を使用して、複数のデータを読み出し、必要なデータのみを抽出する。この場合、処理装置は、不要なデータの読み出し、及び、抽出を行う必要がある為、効率が悪いという問題がある。
【0012】
そこで、本発明の目的は、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することにある。
【課題を解決するための手段】
【0013】
本発明の一実施形態としての携帯可能電子装置は、携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、前記処理装置とデータの送受信を行う送受信部と、データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、前記読出レコード数決定部により決定した数のレコードデータを前記記憶部から読み出す読出部と、を具備する。
【0014】
また、本発明の一実施形態としての携帯可能電子装置の処理装置は、携帯可能電子装置を処理する処理装置であって、前記携帯可能電子装置とデータの送受信を行う送受信部と、1つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、を具備する。
【0015】
また、本発明の一実施形態としての携帯可能電子装置の処理システムは、携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを備える携帯可能電子装置の処理システムであって、前記処理装置は、前記携帯可能電子装置とデータの送受信を行う第1の送受信部と、1つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、を具備し、前記携帯可能電子装置は、前記処理装置とデータの送受信を行う第2の送受信部と、データを格納するレコードを複数備えるレコード構造のデータを記憶し、前記各レコード毎にレコード番号を記憶する記憶部と、前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードから前記読出レコード数決定部により決定した数のレコード番号の連続するレコードのレコードデータを前記記憶部から読み出す読出部と、を具備する。
【発明の効果】
【0016】
この発明の一形態によれば、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の第1の実施形態に係るICカード処理システムの構成例について説明するためのブロック図である。
【図2】図2は、図1に示す端末装置の構成例について説明するためのブロック図である。
【図3】図3は、図1に示すICカードの構成例について説明するためのブロック図である。
【図4】図4は、図3に示す不揮発性メモリのファイル構造について説明するための説明図である。
【図5】図5は、図4に示すEF内のデータの構造について説明するための説明図である。
【図6】図6は、図5に示すレコード構造を有するデータを読み出すためのコマンドの例について説明するための説明図である。
【図7】図7は、図3に示すICカードにおいて行われる処理について説明するためのフローチャートである。
【図8】図8は、本発明の第2の実施形態に係るICカード処理システムにおいて端末装置からICカードに送信されるコマンドの例について説明するための説明図である。
【図9】図9は、第2の実施形態に係るICカードにおいて行われる処理について説明するためのフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0019】
図1は、本発明の第1の実施形態に係るICカード処理システム10の構成例について説明するためのブロック図である。
図1に示すようにICカード処理システム10は、携帯可能電子装置の処理装置(端末装置)1と携帯可能電子装置(ICカード)2とを備えている。端末装置1とICカード2とは、互いに種々のデータの送受信を行う。
【0020】
図2は、図1に示す端末装置の構成例について説明するためのブロック図である。図2に示すように、端末装置1は、制御部11、ディスプレイ12、キーボード13、カードリーダライタ14、及び記憶部15などを有している。
【0021】
制御部11は、CPU、ROM、及びRAMなどを備える。制御部11は、端末装置1全体の動作を制御する。
ディスプレイ12は、制御部11の制御により種々の情報を表示する。キーボード13は、端末装置1の操作者による操作を操作信号として受け取る。
【0022】
カードリーダライタ14は、ICカード2と通信を行うためのインターフェース装置である。カードリーダライタ14は、ICカード2に対して、電源供給、クロック供給、リセット制御、及びデータの送受信を行う。即ち、カードリーダライタ14は、送受信部として機能する。
【0023】
制御部11は、カードリーダライタ14によりICカード2に対して種々のコマンドを入力する。ICカード2は、例えば、カードリーダライタ14からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0024】
また、制御部11は、ICカード2に読み取りコマンドを送信することにより、ICカード2からデータを読み出す。制御部11は、ICカード2から受信したデータに基づいて種々の処理を行う。
【0025】
上記のカードリーダライタ14は、ICカード2とデータの送受信を行う。例えば、カードリーダライタ14は、接触通信によりICカード2とデータの送受信を行う。この場合、カードリーダライタ14は、ICカード2のコンタクトパターンと接続するための図示しない接触端子を備えている。また、例えば、カードリーダライタ14は、非接触通信によりICカード2とデータの送受信を行う。この場合、カードリーダライタ14は、図示しない信号処理部、送受信回路、及びアンテナなどを備えている。
【0026】
信号処理部は、ICカード2との間で送受信するデータの符号化、復号、変調、及び復調を行なう。なお、信号処理部は、所定の通信プロトコルの規格に基づいて上記の信号処理を行う。即ち、信号処理部は、送受信を行うデータに対して、通信プロトコルの規格に基づいて変調処理、及び符号化処理を行う。送受信回路は、信号処理部により変調されたデータ、及び、アンテナにより受信したデータを増幅する。
【0027】
アンテナは、送信するデータに応じて磁界を発生させることにより、ICカード2に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてICカード2から送信されるデータを認識する。
【0028】
制御部11は、上記の接触通信、または非接触通信によりICカード2にコマンドを送信することにより、ICカード2に種々の動作を実行させる。
【0029】
図3は、図1に示すICカード2の構成例について説明するためのブロック図である。
【0030】
図3に示すように、ICカード2は、カード状の本体21と、本体21内に内蔵されたICモジュール22とを備えている。ICモジュール22は、1つ又は複数のICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22に形成されている。
【0031】
ICチップ23は、通信部24、CPU25、ROM26、RAM27、及び不揮発性メモリ28などを備えている。
【0032】
通信部24は、端末装置1のカードリーダライタ14と通信を行うためのインターフェースである。通信部24は、送受信部として機能する。
CPU25は、ICカード2全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、カードリーダライタ14から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【0033】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。CPU25は、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0034】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介して端末装置1から受信したデータを一時的に格納する。また、RAM27は、CPU25が実行するプログラムを一時的に格納する。また、RAM27は、カレントレコードを記憶する記憶部27aを備えている。CPU25は、最後にアクセスしたレコードの番号を記憶部27aに格納する。即ち、CPU25は、記憶部27aを参照することにより、最終アクセスレコードを認識する。
【0035】
不揮発性メモリ28は、記憶部として機能する。不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ28は、ICカード2の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0036】
たとえば、不揮発性メモリ28には、ファイル創成により図4に示すようなファイルが生成される。
【0037】
図4は、図3に示す不揮発性メモリ28のファイル構造について説明するための説明図である。
図4に示すように、不揮発性メモリ28は、MFを有している。MFの下位には、EF1及びEF2が置かれている。
【0038】
EF1及びEF2は、不揮発性メモリ28に記憶されたデータをファイル単位で管理するためのファイルである。EF1は、データ1を、EF2は、データ2をそれぞれ管理する。EF1には、ISO/IEC7816規格で定義されるShort EF identifier(SFI)=1が設定されている。また、EF2には、SFI=2が設定されている。
【0039】
図5は、図4に示すEF内のデータの構造について説明するための説明図である。
図5に示すように、データ1及びデータ2は、レコード構造により記録されている。本実施形態では、データ1及びデータ2は、レコード番号=1乃至10のレコードにより構成されると仮定して説明する。なお、データ1及びデータ2は、固定長順編成レコード構造、可変長順編成レコード構造、及び固定長循環順編成レコード構造の何れかにより構成されている。
【0040】
図5に示すように、データを構成する複数のレコードは、それぞれレコード番号を有する。レコード番号は、連続する固有の整数である。
【0041】
データが順編成レコード構造により構成される場合、レコード番号は、追記、または書込みした順番で付与される。すなわち、最初に生成されたレコードは、レコード番号=1が付与される。
【0042】
また、データが循環順編成レコード構造により構成される場合、レコード番号は、順編成レコード構造と逆の順で付与される。即ち、最後に生成されたレコードは、レコード番号=1が付与される。また、古いレコードには、逐次生成の順番に応じたレコード番号が付与される。
【0043】
図6は、図5に示すレコード構造を有するデータを読み出すためのコマンドの例について説明するための説明図である。
【0044】
図6に示すREAD RECORD(S)コマンドは、本実施形態に係るICカードの処理端末がICカードに対して送信するコマンドである。図6に示すように、READ RECORD(S)コマンドは、クラスバイト(CLA)、コマンド種別(INS)、パラメータ(P1、P2)、データフィールドの長さ(Lc)、データフィールド(DATA)、及び予想されるレスポンスのデータ長(Le)などを含む。
【0045】
コマンドがREAD RECORD(S)コマンドである場合、CLAは「00」(16進数の00)であり、INSは「B2」(16進数のB2)である。
【0046】
P1は、読み出すレコードを特定するためのレコード番号を含んでいる。P2の上位5ビットは、処理対象のEFの識別子(SFI)を含んでいる。また、P2の下位3ビットは、読み出し処理の種類を特定するための情報を含んでいる。
【0047】
現在、ISO/IEC7816−4により、P2の下位3ビットのパターンに対して各種の処理が割り当てられている。例えば、下位3ビットが「100」である場合、ICカード2は、P1で指定された1レコードを読み出す。また、例えば、下位3ビットが「101」である場合、ICカード2は、P1で指定されたレコードから最終レコードまでを読み出す。またさらに、例えば、下位3ビットが「110」である場合、ICカード2は、最終レコードからP1で指定されたレコードまでを読み出す。
【0048】
しかし、現行の規格では、P2の下位3ビットが「111」である場合に行う処理が設定されていない。これを利用し、本実施形態に係るICカードは、P2の下位3ビットが「111」であるREAD RECORD(S)コマンドを受信した場合、指定数分のレコードを読み出す処理を行う。
【0049】
ICカード2に指定数分のレコードの読み出し処理を実行させる為に、端末装置1は、P2の下位3ビットが「111」の図6に示すREAD RECORD(S)コマンドを送信する。端末装置1は、P2の下位3ビットを「111」にする場合、即ち、指定数分のレコードの読み出しをICカード2に指示する場合、Lc及びDATAを追加したコマンドをICカード2に送信する。端末装置1は、このLc及びDATAにより、読み出すレコードの数を指定する。
【0050】
Lcは、DATAフィールドの長さを示す情報である。DATAは、読み出すレコードの数を指定する為のフィールドである。
【0051】
ICカード2は、図6に示すコマンドを受信した場合、まずCLA及びINSを解釈することにより、受信したコマンドがREAD RECORD(S)コマンドであることを認識する。ICカード2は、P2の上位5ビットにより指定されるファイル(EF)を検索し、選択する。またさらに、ICカード2は、P1により指定されるレコードを選択する。
【0052】
また、ICカード2のCPU25は、P2の下位3ビットを解釈し、処理の種別を判断する。ここで、P2の下位3ビットが「111」である場合、ICカード2は、P2の後続にLc及びDATAが存在することを認識する。即ち、CPU25は、判定部として機能する。
【0053】
ICカード2は、Lcに基づいて、DATAフィールドの長さを認識し、DATAの解釈を行う。ICカード2のCPU25は、DATAにより指定される数に基づいて、読み出すレコードの数を決定する。CPU25は、P1により指定されるレコードから決定した数の連続するレコード番号を有するレコードのレコードデータを読み出し、端末装置1に送信する。即ち、CPU25は、読出しレコード数決定部、及び読出部として機能する。
【0054】
図6に示す例によると、P1=5であり、DATA=3である。即ち、指定レコード=5であり、指定数(読み出すレコードの数)=3である。この場合、ICカード2は、レコード番号=5が付与されているレコードを始点として連続する3つのレコードを読み出す。
【0055】
なお、指定数分のレコードを読み出す処理として、いくつかのパターンが考えられる。
【0056】
まず、一例として、指定レコードより前の番号(少ない番号)が付与されているレコードを読み出す例が考えられる。例えば、ICカード2は、P2の下位3ビットが「111」であった場合、P1により指定されるレコード番号から、当該レコード番号よりも前のレコード番号を持つ指定数分のレコードを読み出す。この場合、ICカード2は、レコード番号=5、4及び3が付与されているレコードのデータを読み出す。
【0057】
また、例えばP1=0である場合、ICカード2は、記憶部27aに記憶されているレコードを指定レコードとして扱う。即ち、ICカード2は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号7が記憶されている場合、レコード番号=7、6及び5が付与されているレコードのデータを読み出す。
【0058】
また、他の例として、指定レコードより後の番号(多い番号)が付与されているレコードを読み出す例が考えられる。例えば、ICカード2は、P2の下位3ビットが「111」であった場合、P1により指定されるレコード番号から、当該レコード番号よりも後のレコード番号を持つ指定数分のレコードを読み出す。この場合、ICカード2は、レコード番号=5、6及び7が付与されているレコードのデータを読み出す。
【0059】
また、例えばP1=0である場合、ICカード2は、記憶部27aに記憶されているレコードを指定レコードとして扱う。即ち、ICカード2は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号7が記憶されている場合、レコード番号=7、8及び9が付与されているレコードのデータを読み出す。
【0060】
図7は、図3に示すICカード2において行われる処理について説明するためのフローチャートである。
【0061】
ICカード2は、まず、端末装置1のカードリーダライタ14により活性化される。この状態で、ICカード2は、端末装置1から、READ RECORD(S)コマンドを受信する(ステップS11)。
【0062】
ICカード2のCPU25は、受信したREAD RECORD(S)コマンドのP2の上位5ビットにより指定されるファイルが存在するか否か判断する(ステップS12)。ファイルが存在しない場合(ステップS12、NO)、CPU25は、エラーレスポンス(指定ファイル無し)を端末装置1に送信する(ステップS13)。
【0063】
ファイルが存在する場合(ステップS12、YES)、CPU25は、P2の下位3ビットが「111」であるか否かを判定する(ステップS14)。P2の下位3ビットが「111」でない場合(ステップS14、NO)、CPU25は、従来と同様の処理を行う(ステップS15)。即ち、CPU25は、P2の下位3ビットのパターンに応じてISO/IEC7816−4により規定されている処理を行う。
【0064】
P2の下位3ビットが「111」である場合(ステップS14、YES)、CPU25は、P1により指定されるレコードを検索する(ステップS16)。CPU25は、P1により指定されるレコードが存在するか否か判断する(ステップS17)。即ち、CPU25は、P1に格納されているレコード番号が付与されているレコードが存在するか否か判断する。レコードが存在しない場合(ステップS17、NO)、CPU25は、エラーレスポンス(指定レコード無し)を端末装置1に送信する(ステップS13)。
【0065】
レコードが存在する場合(ステップS17、YES)、CPU25は、DATAフィールドの値を確認する(ステップS18)。即ち、CPU25は、読み出すレコードの数の確認を行う。
【0066】
CPU25は、P1により指定されるレコードを始点としてDATAにより指定される数のレコードが存在するか否か判断する(ステップS19)。例えば、P1=2、DATA=3であり、指定レコードから後ろのレコードを読み出す場合、CPU25は、レコード番号2、3、及び4が付与されているレコードが存在するか否か判定する。また、例えば、P1=5、DATA=3であり、指定レコードから前のレコードを読み出す場合、CPU25は、レコード番号5、4、及び3が付与されているレコードが存在するか否か判定する。
【0067】
ここで、読出し対象のレコードが存在しない場合(ステップS19、NO)、CPU25は、エラーレスポンス(指定レコード無し)を端末装置1に送信する(ステップS13)。
【0068】
読出し対象のレコードが存在する場合(ステップS19、YES)、CPU25は、P1により指定されるレコードを始点として、DATAにより指定される数のレコードの読出しを行う。(ステップS20)。即ち、CPU25は、P1により指定されるレコード番号から、当該レコード番号よりも前のレコード番号を持つ指定数分のレコードを読み出す、または、P1により指定されるレコード番号から、当該レコード番号よりも後のレコード番号を持つ指定数分のレコードを読み出す。
【0069】
最後に、CPU25は、レスポンスを端末装置1に送信する。レスポンスメッセージは、DATA、SW1、及びSW2などにより構成される。CPU25は、読み出したデータをDATAに格納する。SW1及びSW2は、ISO/IEC7816−4により規定されるステータスである。CPU25は、処理結果に応じてSW1及びSW2を設定する。
【0070】
上記した実施形態によると、端末装置1は、レコード構造を有するデータの複数のデータの読出しを指示する場合、ICカード2に送信するREAD RECORD(S)コマンドのP2の下位3ビットを「111」に設定し、Lc及びDATAを付与し、DATAに読み出すレコードの数を設定する。ICカード2は、受信したREAD RECORD(S)コマンドのP2の下位3ビットが「111」である場合、P1により指定されるレコードを始点としてDATAにより指定される数のレコードの読出しを行う。
【0071】
これにより、1つのコマンドで、必要なレコードを複数読み出すことができる。この結果、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0072】
上記した第1の実施形態に係る端末装置1は、読み出すレコードの数をDATAにより指定する。また、ICカード2は、P1により指定されるレコードを始点としてDATAにより指定される数のレコードを読み出す構成として説明したが、この構成に限定されない。
【0073】
例えば、P2の下位3ビットが「111」である場合にP1により指定されるレコードから第1レコード(先頭レコード)までのレコードを読み出す構成であってもよい。この場合においても、効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0074】
図8は、本発明の第2の実施形態に係るICカード処理システムにおいて端末装置1からICカード2に送信されるコマンドの例について説明するための説明図である。なお、端末装置1及びICカード2の構成は、第1の実施形態の端末装置1及びICカード2と同様である為、詳細な説明を省略する。
【0075】
図8に示すREAD RECORD(S)コマンドは、本実施形態に係るICカード2の端末装置1がICカード2に対して送信するコマンドである。図8に示すように、READ RECORD(S)コマンドは、クラスバイト(CLA)、コマンド種別(INS)、パラメータ(P1、P2)、及び予想されるレスポンスのデータ長(Le)などを含む。
【0076】
コマンドがREAD RECORD(S)コマンドである場合、CLAは「00」(16進数の00)であり、INSは「B2」(16進数のB2)である。
【0077】
P1は、読み出すレコードを特定するためのレコード番号を含んでいる。P2の上位5ビットは、処理対象のEFの識別子(SFI)を含んでいる。また、P2の下位3ビットは、読み出し処理の種類を特定するための情報を含んでいる。
【0078】
本実施形態に係るICカード2は、P2の下位3ビットが「111」であるREAD RECORD(S)コマンドを受信した場合、P1により指定されるレコードから先頭レコードまでの全てのレコードを読み出す処理を行う。
【0079】
ICカード2に指定レコードから先頭レコードまでの読み出し処理を実行させる為に、端末装置1は、P2の下位3ビットが「111」である、図8に示すREAD RECORD(S)コマンドを送信する。
【0080】
ICカード2は、図8に示すコマンドを受信した場合、まずCLA及びINSを解釈することにより、受信したコマンドがREAD RECORD(S)コマンドであることを認識する。ICカード2は、P2の上位5ビットにより指定されるファイル(EF)を検索し、選択する。またさらに、ICカード2は、P1により指定されるレコードを選択する。
【0081】
また、ICカード2は、P2の下位3ビットを解釈し、処理の種別を判断する。ここで、P2の下位3ビットが「111」である場合、P1により指定されるレコードから先頭レコードまでの全てのレコードを読み出し、端末装置1に送信する。
【0082】
図8に示す例によると、P1=5である。即ち、指定レコード=5である。この場合、ICカード2は、レコード番号=5が付与されているレコードから先頭レコード、即ち、レコード番号=1が付与されているレコードまでの全てのレコードを読み出す。この場合、ICカード2は、レコード番号=5、4、3、2、及び1が付与されているレコードのデータを読み出す。
【0083】
また、例えばP1=0である場合、ICカード2は、記憶部27aに記憶されているレコードを指定レコードとして扱う。即ち、ICカード2は、カレントレコードを始点として読出し処理を行う。例えば、カレントレコードとしてレコード番号7が記憶されている場合、ICカード2は、レコード番号=7、6、5、4、3、2、及び1が付与されているレコードのデータを読み出す。
【0084】
図9は、第2の実施形態に係るICカード2において行われる処理について説明するためのフローチャートである。
【0085】
ICカード2は、まず、端末装置1のカードリーダライタ14により活性化される。この状態で、ICカード2は、端末装置1から、READ RECORD(S)コマンドを受信する(ステップS21)。
【0086】
ICカード2のCPU25は、受信したREAD RECORD(S)コマンドのP2の上位5ビットにより指定されるファイルが存在するか否か判断する(ステップS22)。ファイルが存在しない場合(ステップS22、NO)、CPU25は、エラーレスポンス(指定ファイル無し)を端末装置1に送信する(ステップS23)。
【0087】
ファイルが存在する場合(ステップS22、YES)、CPU25は、P2の下位3ビットが「111」であるか否かを判定する(ステップS24)。P2の下位3ビットが「111」でない場合(ステップS24、NO)、CPU25は、従来と同様の処理を行う(ステップS25)。即ち、CPU25は、P2の下位3ビットのパターンに応じてISO/IEC7816−4により規定されている処理を行う。
【0088】
P2の下位3ビットが「111」である場合(ステップS24、YES)、CPU25は、P1により指定されるレコードを検索する(ステップS26)。CPU25は、P1により指定されるレコードが存在するか否か判断する(ステップS27)。即ち、CPU25は、P1に格納されているレコード番号が付与されているレコードが存在するか否か判断する。レコードが存在しない場合(ステップS27、NO)、CPU25は、エラーレスポンス(指定レコード無し)を端末装置1に送信する(ステップS23)。
【0089】
レコードが存在する場合(ステップS27、YES)、CPU25は、P1により指定されるレコードから先頭レコードまでの全てのレコードの読出しを行う。(ステップS28)。
【0090】
上記した実施形態によると、端末装置1は、レコード構造を有するデータの複数のデータの読出しを指示する場合、ICカード2に送信するREAD RECORD(S)コマンドのP2の下位3ビットを「111」に設定する。ICカード2は、受信したREAD RECORD(S)コマンドのP2の下位3ビットが「111」である場合、P1により指定されるレコードから先頭レコードまでの全てのレコードの読出しを行う。
【0091】
これにより、1つのコマンドで、必要なレコードを複数読み出すことができる。特に、例えば、買い物の利用履歴データを100件のレコードファイルに格納する場合、本実施形態により最近10件の利用履歴のみを読み出すことができる。即ち、必要最低限のレコードデータのみを、効率的に読み出すことが可能となる。この結果、より効率的に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0092】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【0093】
なお、上記した実施形態におけるコマンドのフォーマットは一例であり、上記実施形態以外の形に変更することも可能である。
【0094】
また、複数のレコードデータの読み出し順を昇順と降順とで変更できるように構成してもよい。ICカード2は、昇順で読み出す場合、レコード番号の少ないレコードから多いレコードの順番でレコードデータを読み出す。例えば、レコード番号=3、4、5、及び6のレコードデータを昇順で読み出す場合、ICカード2は、レコード番号=3、4、5、及び6の順に読み出す。
【0095】
また、ICカード2は、降順で読み出す場合、レコード番号の多いレコードから少ないレコードの順番でレコードデータを読み出す。例えば、レコード番号=3、4、5、及び6のレコードデータを降順で読み出す場合、ICカード2は、レコード番号=6、5、4、及び3の順に読み出す。
【符号の説明】
【0096】
1…端末装置、2…ICカード、10…ICカード処理システム、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダライタ、15…記憶部、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、27a…記憶部、28…不揮発性メモリ。

【特許請求の範囲】
【請求項1】
携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、
前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じてデータフィールドが付されているか否かを判定する判定部と、
前記判定部によりデータフィールドが付されていると判定した場合、データフィールドの値に応じて読み出すレコードの数を決定する読出レコード数決定部と、
前記読出レコード数決定部により決定した数のレコードデータを前記記憶部から読み出す読出部と、
を具備することを特徴とする携帯可能電子装置。
【請求項2】
前記記憶部は、前記各レコード毎にレコード番号を記憶し、
前記読出部は、前記レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードからレコード番号の連続するレコードのレコードデータを読み出す事を特徴とする請求項1に記載の携帯可能電子装置。
【請求項3】
前記読出部は、前記レコード指定情報により指定されるレコードより少ないレコード番号が付されているレコードのレコードデータを読み出すことを特徴とする請求項2に記載の携帯可能電子装置。
【請求項4】
前記読出部は、前記レコード指定情報により指定されるレコードより多いレコード番号が付されているレコードのレコードデータを読み出すことを特徴とする請求項2に記載の携帯可能電子装置。
【請求項5】
前記読出部は、複数のデータを昇順で読み出すことを特徴とする請求項1に記載の携帯可能電子装置。
【請求項6】
前記読出部は、複数のデータを降順で読み出すことを特徴とする請求項1に記載の携帯可能電子装置。
【請求項7】
前記読出部は、カレントレコードからレコード番号の連続するレコードのレコードデータを読み出す事を特徴とする請求項2に記載の携帯可能電子装置。
【請求項8】
携帯可能電子装置の処理装置からのコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
データを格納するレコードを複数備えるレコード構造のデータを記憶する記憶部と、
前記送受信部により受信するレコード読出しコマンドの所定の位置のビットの並びに応じて、前記レコード読出しコマンドに含まれるレコード指定情報により指定されるレコードから先頭レコードまでの全てのレコードのレコードデータを前記記憶部から読み出す読出部と、
を具備することを特徴とする携帯可能電子装置。
【請求項9】
前記読出部は、カレントレコードから先頭レコードまでの全てのレコードのレコードデータを読み出す事を特徴とする請求項8に記載の携帯可能電子装置。
【請求項10】
携帯可能電子装置を処理する処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
1つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、
を具備することを特徴とする携帯可能電子装置の処理装置。
【請求項11】
携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを備える携帯可能電子装置の処理システムであって、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第1の送受信部と、
1つのレコードを指定するレコード指定情報と、読み出すレコードの数を指定するデータフィールドと、を含み、所定の位置のビットの並びを制御したレコード読出しコマンドを生成し、前記送受信部により前記携帯可能電子装置に生成したレコード読出しコマンドを送信する制御部と、
を具備し、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第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


【公開番号】特開2010−218451(P2010−218451A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−67007(P2009−67007)
【出願日】平成21年3月18日(2009.3.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】