説明

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

【課題】 より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供する。
【解決手段】 携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器とデータの送受信を行う送受信部と、前記送受信部により受信するコマンドを処理するコマンド処理部と、前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、を具備する。

【発明の詳細な説明】
【技術分野】
【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チップに記憶されている複数のアプリケーションを実行することができるICカードが実用化されている。このようなICカードは、専用のリーダライタ(端末装置)からコマンドを受信し、受信したコマンドに基づいてアプリケーションを実行することにより、種々の処理を実行することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−064657号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ICカードは、リーダライタからコマンドを受け取るたびにレスポンスを行う。これにより、カードリーダライタは、ICカードの状態を認識することができる。カードリーダライタは、ICカードから受信するレスポンスに応じて、次に送信するコマンドを生成する。この為、ICカードとリーダライタとの間でコマンドを複数送受信する場合、処理に時間がかかるという課題がある。
【0007】
そこで、より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一実施形態に係る携帯可能電子装置は、外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、前記外部機器とデータの送受信を行う送受信部と、前記送受信部により受信するコマンドを処理するコマンド処理部と、前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、を具備する。
【図面の簡単な説明】
【0009】
【図1】図1は、一実施形態に係るICカードの処理装置の構成の例について説明するための説明図である。
【図2】図2は、図1に示すICカードの構成例について説明するための説明図である。
【図3】図3は、SWP通信の例について説明するための説明図である。
【図4】図4は、SWP通信の例について説明するための説明図である。
【図5】図5は、ICカードとカードリーダライタとの間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【図6】図6は、ICカードとカードリーダライタとの間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【図7】図7は、図6に示すコマンドのフレームについて説明する為の説明図である。
【図8】図8は、図6に示すレスポンスのフレームについて説明する為の説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、一実施形態に係る携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0011】
本実施形態に係る端末装置10のカードリーダライタ17及びICカード20は、Single Wire Protocol(SWP)通信を行う為のインターフェース(SWP通信インターフェース)を備える。SWP通信インターフェースを備えるICカード20は、カードリーダライタ17との間で1本の通信路で双方向からデータを伝送する全二重通信を行うことができる。
【0012】
例えば、SWP通信は、ETSI TS 102 613により規定されている。ICカード20を処理する端末装置10は、通信路に高い電圧を印加する状態(Highレベル)と、低い電圧を印加する状態(Lowレベル)とを切り替えることにより、携帯可能電子装置に2値のデータを送信する。また、携帯可能電子装置は、通信路に大きい電流を流す状態と、小さい電流を流す状態とを切り替えることにより、端末装置に2値のデータを送信する。
【0013】
図1は、一実施形態に係るICカードの処理装置の構成の例について説明するための説明図である。
図1に示すようにICカード処理システム1は、携帯可能電子装置の処理装置(端末装置)10と携帯可能電子装置(ICカード)20とを備えている。端末装置10とICカード20とは、非接触通信により互いに種々のデータの送受信を行う。
【0014】
図1に示すように端末装置10は、CPU11、RAM12、ROM13、操作部15、及びカードリーダライタ17を備える。CPU11、RAM12、ROM13、操作部15、及びカードリーダライタ17は、それぞれバス19を介して互いに接続されている。
【0015】
端末装置10のCPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM13に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、カードリーダライタ17を介してICカード20とコンマンド及びレスポンスの送受信を行う。
【0016】
RAM12は、ワーキングメモリとして機能する揮発性のメモリである。RAM12は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM12は、カードリーダライタ17を介して外部の機器と送受信するデータを一時的に格納する。また、RAM12は、CPU11が実行するプログラムを一時的に格納する。ROM13は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【0017】
操作部15は、例えば操作キー、または表示部と一体に形成されるタッチパネルなどにより構成される。操作部15は、端末装置10の操作者による操作を操作信号として受け取る。
【0018】
カードリーダライタ17は、ICカード20と通信を行うためのインターフェース装置である。カードリーダライタ17は、ICカード20が装着されるスロット18を備える。また、カードリーダライタ17は、ICカード20が備えるコンタクトパターンと接続される複数の接触端子を備える。
【0019】
スロット18にICカード20が装着される場合、カードリーダライタ17の複数の接触端子は、ICカード20のコンタクトパターンに接続される。これにより、端末装置10とICカード20とは電気的に接続される。カードリーダライタ17は、スロット18に装着されるICカード20に対して、電源供給、クロック供給、リセット制御、及びデータの送受信などを行う。
【0020】
CPU11は、カードリーダライタ17によりICカード20に対して種々のコマンドを入力する。ICカード20は、例えば、カードリーダライタ17からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0021】
また、CPU11は、ICカード20に読み取りコマンドを送信することにより、ICカード20からデータを読み出す。CPU11は、ICカード20から受信したデータに基づいて種々の処理を行う。
【0022】
図2は、図1に示すICカードの構成例について説明するための説明図である。
図2に示すように、ICカード20は、カード状の本体と、本体内に内蔵されるICモジュール21を備えている。ICモジュール21は、1つ又は複数のICチップ22と、通信部としてのコンタクトパターン23とを備える。ICチップ22とコンタクトパターン23とは、互いに接続された状態でICモジュール21に形成されている。
【0023】
コンタクトパターン23は、導電性を有する金属などによりICモジュール21の表面に形成される。即ち、コンタクトパターン23は、外部機器と接触可能に形成されている。コンタクトパターン23は、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターン23の端子として機能する。
【0024】
ICチップ22は、CPU24、ROM25、RAM26、不揮発性メモリ27、及びSWP通信インターフェース29を備える。
【0025】
CPU24は、ICカード20の全体の制御を司る制御手段として機能する。また、CPU24は、種々の判定を行う判定部として機能する。CPU24は、ROM25あるいは不揮発性メモリ27に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU24は、端末装置10のカードリーダライタ17から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。即ち、CPU24は、コマンド処理手段として機能する。
【0026】
ROM25は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM25は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM25に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0027】
RAM26は、ワーキングメモリとして機能する揮発性のメモリである。RAM26は、CPU24の処理中のデータなどを一時的に格納する。例えば、RAM26は、コンタクトパターン23を介して端末装置10と送受信するデータを一時的に格納する。また、RAM26は、CPU24が実行するプログラムを一時的に格納する。
【0028】
不揮発性メモリ27は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ27は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0029】
たとえば、不揮発性メモリ27では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU24は、不揮発性メモリ27、または、ROM25に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0030】
SWP通信インターフェース29は、カードリーダライタ17と通信するデータの送受信を行う。SWP通信インターフェース29は、例えば、ETSI TS 102 613により規定されているSWP通信を行う為の通信インターフェースとして機能する。SWP通信インターフェース29は、コンタクトパターン23の所定の端子と、CPU24との間に接続される。即ち、CPU24は、SWP通信インターフェース29を用いて端末装置10とSWP通信を行う事ができる。
【0031】
図3は、SWP通信の例について説明するための説明図である。
【0032】
端末装置10のカードリーダライタ17は、制御部171、送信回路172、及び受信回路173などを備える。
【0033】
制御部171は、送信回路172により送信するデータを一時的に格納する。制御部171は、送信回路172により送信するデータに基づいて、送信回路172の動作を制御する。また、制御部171は、受信回路173により受信するデータを一時的に格納する。さらに、制御部171は、受信回路173により受信したデータの認識を行う。
【0034】
制御部171は、送信回路172により、ICカード20に対して種々のコマンドを入力する。また、制御部171は、受信回路173により、ICカード20から送信されるレスポンスを受信する。制御部171は、ICカード20から受信したデータに基づいて種々の処理を行う。
【0035】
制御部171は、送信回路172、及び受信回路173の動作を制御する。制御部171は、送信回路172、及び受信回路173により送受信するデータを処理する。
【0036】
またカードリーダライタ17は、内部で通信路をプルアップしている。また、カードリーダライタ17は、通信路を流れる電流を測定する機能を備えている。
【0037】
ICカード20のSWP通信インターフェース29は、制御部291、送信回路292、及び受信回路293などを備える。
【0038】
制御部291は、送信回路292により送信するデータを一時的に格納する。制御部291は、送信回路292により送信するデータに基づいて、送信回路292の動作を制御する。
【0039】
また、制御部291は、受信回路293により受信するデータを一時的に格納する。さらに、制御部291は、受信回路293により受信したデータの認識を行う。制御部291は、受信回路293により、端末装置10から送信されるコマンドを受信する。制御部291は、受信回路293により受信するコマンドをCPU24に伝送する。
【0040】
CPU24は、受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。CPU24は、生成したレスポンスをSWP通信インターフェース29に送信する。制御部291は、CPU24から受信するレスポンスを一時的に記憶する。制御部291は、記憶したレスポンスに基づいて送信回路292を制御する。これにより、SWP通信インタ−フェース29は、レスポンスを端末装置10に送信することができる。
【0041】
即ち、制御部291は、送信回路292、及び受信回路293の動作を制御する。また、制御部291は、送信回路292、及び受信回路293により送受信するデータを処理する。また、SWP通信インターフェース29は、通信路の電圧を監視する機能を備える。
【0042】
カードリーダライタ17の制御部171は、送信するデータの値に応じて通信路の電圧をHighレベルとLowレベルとで切り替えるように制御する。制御部171は、ICカード20に送信するデータに応じて、Highレベル状態の時間的な長さとLowレベルの状態の時間的な長さとの比率を調整する。ICカード20のSWP通信インターフェース29は、通信路の電圧の変化に基づいて端末装置10から送信されるデータを解釈する。
【0043】
また、ICカード20のSWP通信インターフェース29の制御部291は、端末装置10に送信するデータに応じて、通信路を流れる電流を制御する。カードリーダライタ17の制御部171は、通信路を流れる電流量の変化に基づいてICカード20から送信されるデータを解釈する。
【0044】
図4に示すように、カードリーダライタ17の送信回路172及び受信回路173は、電流測定部174、及び電源175を備えている。
【0045】
電流測定部174は、通信路の電流を測定する。制御部171は、電流測定部174により検出する電流値に基づいてデータを取得する。例えば、制御部171は、通信路に電流が流れていると判定した場合「1」のビットデータを受信する。また、制御部171は、通信路に電流が流れていないと判定した場合「0」のビットデータを受信する。
【0046】
電源175は、通信路に電圧を印加する。制御部171は、ICカード20に送信するデータに応じて通信路に印加する電圧を変化させるように送信回路172を制御する。
【0047】
また、図4に示すように、SWP通信インターフェース29の送信回路292及び受信回路293は、電圧測定部294、定電流源295、定電流源296、及びスイッチ297を備えている。
【0048】
電圧測定部294は、通信路の電圧を測定する。電圧測定部294は、電圧検知手段として機能する。制御部291は、電圧測定部により検出する通信路の電圧値に基づいて、データを取得する。
【0049】
定電流源295及び296は、通信路に所定の値の電流を流すための定電流源である。定電流源296は、定電流源295より大きい値の電流を流すように設定されている。スイッチ297は、定電流源295及び296と、通信路との間に設けられる。スイッチ297は、通信路に接続する定電流源を定電流源295と定電流源296とで切り替える。
【0050】
即ち、制御部291は、端末装置10に送信するデータに基づいてスイッチ297を制御することにより、通信路と接続する定電流源を定電流源295と定電流源296とで切り替える。この結果、通信路に出力される電流の値は、2値のいずれかに変化する。これにより、SWP通信インターフェース29は、通信路を介して端末装置10にデータを送信する。
【0051】
従来のICカード20は、端末装置10からコマンドを受け取るたびにレスポンスを行う。端末装置10は、ICカード20から受信するコマンドに応じて、次に送信するコマンドを生成する。
【0052】
しかし、例えば、レスポンスがICカード20において処理が正常に完了したか否かを示すレスポンスなどである場合、レスポンスは、コマンドの生成に用いるデータを含まない。レスポンスがコマンドの生成に用いるデータを含むレスポンスではない場合、端末装置10は、ICカード20からのレスポンスを受信せずに次のコマンドを生成することができる。
【0053】
本実施形態の端末装置10は、ICカード20に対してコマンドを複数連続して送信する。ICカード20は、端末装置10から複数連続したコマンドを受信する場合、複数連続したコマンドの最後のコマンドを受信した後にレスポンスを伝送する。また、端末装置10は、連結コマンドに対するレスポンスをICカード20からまとめて受信することができる。
【0054】
図5は、ICカード20と端末装置10との間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【0055】
ここでは、端末装置10からICカード20に対して「selectコマンド」、「verifyコマンド」、及び「readコマンド」を送信する例について説明する。
【0056】
「selectコマンド」は、ICカード20に例えばファイルなどの論理チャネルを選択させるためのコマンドである。「selectコマンド」は、選択する論理チャネルを示す情報を有する。ICカード20は、「selectコマンド」を受信する場合、「selectコマンド」が示す論理チャネルを選択する。また、ICカード20は、「selectコマンド」が示す論理チャネルを選択する選択処理が正常に完了したか否かを示すレスポンスを生成する。
【0057】
「verifyコマンド」は、ICカード20に検証を行わせるためのコマンドである。「verifyコマンド」は、検証に用いるデータ(検証データ)を有する。ICカード20は、「verifyコマンド」を受信する場合、「verifyコマンド」が有する検証データと自身が記憶するデータとで検証を行う。また、ICカード20は、「verifyコマンド」に基づく検証処理が正常に完了したか否かを示すレスポンスを生成する。
【0058】
「readコマンド」は、ICカード20にデータの読み出しを行わせるためのコマンドである。ICカード20は、「readコマンド」を受信する場合、「readコマンド」が示す位置に記憶されているデータを読み出す。
【0059】
「readコマンド」は、読み出すデータの単位を示す情報を有する。データの単位として、例えば、バイナリ、及びレコードなどがある。バイナリ単位でデータを読み出す場合、「readコマンド」は、先頭からのオフセット値を示す情報を有する。ICカード20は、選択している論理チャネルにおいて、「readコマンド」が示すオフセット値に基づいて読み出し位置を特定する。ICカード20は、特定した読み出し位置からデータを読み出す。
【0060】
また、レコード単位でデータを読み出す場合、「readコマンド」は、読み出すレコードを示すレコード番号を有する。ICカード20は、選択している論理チャネルにおいて、「readコマンド」が示すレコード番号に基づいてレコードを特定する。ICカード20は、特定したレコードのデータを読み出す。
【0061】
ICカード20は、「readコマンド」に基づくデータの読み出し処理が正常に完了したか否かを示す情報と、読み出したデータとを有するレスポンスを生成する。
【0062】
上記したように、「selectコマンド」及び「verifyコマンド」に対するレスポンスは、ICカード20において処理が正常に完了したか否かを示すレスポンスである。
【0063】
この為、端末装置10は、「selectコマンド」及び「verifyコマンド」を送信する場合、レスポンスを受信することなく次のコマンドを生成することができる。端末装置10は、「selectコマンド」及び「verifyコマンド」などのように、レスポンスを受信することなく次のコマンドを生成することができるコマンドを、次のコマンドと連結可能なコマンド(連結コマンド)と判断する。
【0064】
例えば、端末装置10は、「selectコマンド」と「verifyコマンド」と「readコマンド」とを連結コマンドとしてICカード20に送信することができる。図5に示すように、端末装置10は、「selectコマンド」と「verifyコマンド」と「readコマンド」とを続けてICカード20に送信する。
【0065】
端末装置10は、送信する各コマンドが連結コマンドであるか否かを判断する。即ち、端末装置10は、レスポンスを受信せずに次のコマンドを生成できるか否かをコマンドを送信するごとに判断する。連結コマンドをICカード20に送信する場合、端末装置10は、ICカード20からのレスポンスを待たずに次のコマンドを生成し、ICカード20に送信する。
【0066】
なお、端末装置10は、連結コマンドであるか否かをコマンドの種類毎に予め設定する構成であってもよい。
【0067】
ICカード20は、端末装置10からコマンドを受信する場合、コマンドに応じた処理を実行し、レスポンスを生成する。さらに、ICカード20は、受信したコマンドが連結コマンドであるか否かを判断する。即ち、ICカード20は、レスポンスに含まれるデータが、端末装置10においてコマンドの生成に用いるデータであるか否かを判定する。
【0068】
レスポンスは、受信したコマンドの処理により生成したデータ(キャラクタ)と、コマンド処理後のICカード20の状態を示す情報(ステータスワード)とを有する。例えば、ICカード20は、コマンドに応じて読み出したデータをキャラクタに付加する。また、ICカード20は、正常終了、またはエラー終了などの情報をステータスワード(SW)に付加する。例えば、ICカード20は、受信したコマンドが、レスポンスのキャラクタにデータを付加するようなコマンドである場合、連結コマンドであると判断する。
【0069】
受信したコマンドが連結コマンドであると判断する場合、ICカード20は、レスポンスをすぐに端末装置10に送信する必要がないと判定する。例えば、ICカード20は、レスポンスに含まれるデータが、受信したコマンドに応じた処理を正常に完了したか否かを示す情報などである場合、受信したコマンドが連結コマンドであると判断する。
【0070】
また、例えば、ICカード20は、受信したコマンドが連結コマンドではないと判断する場合、レスポンスをすぐに端末装置10に送信すると判定する。この場合、ICカード20は、端末装置10に返信していないレスポンスが存在するか否か判断する。端末装置10に返信していないレスポンスが存在すると判断する場合、ICカード20は、端末装置10に返信していないレスポンスを合せて端末装置10に送信する。
【0071】
なお、ICカード20は、連結コマンドであるか否かをコマンドの種類毎に予め設定する構成であってもよい。
【0072】
図5に示すように、ICカード20は、「selectコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信する必要がないと判定する。また、ICカード20は、「verifyコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信する必要がないと判定する。またさらに、ICカード20は、「readコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信すると判定する。この場合、ICカード20は、「selectコマンド」に対するレスポンスと、「verifyコマンド」に対するレスポンスと、「readコマンド」に対するレスポンスと、を合せて端末装置10に送信する。
【0073】
なお、この場合、ICカード20は、レスポンスにおいて重複する情報は省いて送信する構成であってもよい。即ち、受信したコマンドに応じた処理を正常に完了したことを示す情報は、各レスポンスが有している。この為、ICカード20は、受信したコマンドに応じた処理を正常に完了したことを示す情報と、「readコマンド」に応じて読み出したデータとをレスポンスとして端末装置10に送信する。
【0074】
上記したように、本実施形態の端末装置10は、連結コマンドを送信する場合、送信したコマンドに対するレスポンスの受信を待たずに次のコマンドを生成し、ICカード20に送信する。
【0075】
ICカード20は、受信したコマンドが連結コマンドである場合、すぐにレスポンスを端末装置10に送信する必要がないと判断する。また、ICカード20は、受信したコマンドが連結コマンドでないと判断する場合、レスポンスをすぐに端末装置10に送信すると判定する。この場合、ICカード20は、端末装置10に返信していないレスポンスを併せて端末装置10に送信する。
【0076】
これにより、ICカード20は、レスポンスの送信処理を一部省略することができる。この為、通信の効率をあげることができる。また、端末装置10は、連結コマンドを送信する場合、次のコマンドをICカード20からのレスポンスを受信せずに送信することができる。この結果、より効率的にコマンド処理を実行することができる携帯可能電子装置、携帯可能電子装置の処理装置、及び携帯可能電子装置の処理システムを提供することができる。
【0077】
なお、上記した実施形態では、「selectコマンド」と、「verifyコマンド」と、「readコマンド」とを例に挙げて説明したが、これらのコマンドに限定されるものではない。コマンドは如何なるコマンドであってもよい。
【0078】
また、端末装置10は、連結する各コマンドに番号を付すことにより、ICカード20においてエラーが発生したコマンドを認識することができる。
【0079】
図6は、ICカード20と端末装置10との間で伝送されるコマンド及びレスポンスの例について説明する為の説明図である。
【0080】
本実施形態では、図5に示す例と同様に、端末装置10からICカード20に対して「selectコマンド」、「verifyコマンド」、及び「readコマンド」を送信する例について説明する。
【0081】
「selectコマンド」、「verifyコマンド」、及び「readコマンド」は、それぞれ図7に示すコマンドフレームを有する。
【0082】
コマンドフレームは、送信するデータの本体であるキャラクタと、Start of Frame(SOF)と、End of Frame(EOF)とを備える。
【0083】
SOFは、コマンドフレームの先頭を示す情報である。EOFは、フレームの最後尾を示す情報である。SOF及びEOFは、所定の論理値の組み合わせにより構成される信号である。ICカード20は、上記のSOF及びEOFを受信する場合、コマンドフレームの先頭及び終端を認識する。
【0084】
図7に示すように、コマンドフレームのキャラクタは、例えば4bitのシーケンス番号を有する。シーケンス番号は、例えば連結コマンドにより連結されるコマンドにおける順番を示す情報である。端末装置10は、例えば連続してICカード20に送信する複数のコマンドのうちの一番目のコマンドのシーケンス番号として「1」を示す情報を付加する。また、端末装置10は、例えば連続してICカード20に送信する複数のコマンドのうちの二番目のコマンドのシーケンス番号として「2」を示す情報を付加する。また、例えば、端末装置10は、送信するコマンドが他のコマンド連結されるコマンドではない場合、コマンドのシーケンス番号をブランクにする。
【0085】
端末装置10は、連結したコマンドを送信するごとにシーケンス番号を1づつ加算する。また、端末装置10は、送信するコマンドが他のコマンド連結されるコマンドではない場合、シーケンス番号をリセットする。
【0086】
ICカード20は、受信したコマンドのキャラクタのシーケンス番号を読み取ることにより、受信したコマンドが連結コマンドであるか否かを認識することができる。まつぁらに、ICカード20は、受信したコマンドのキャラクタのシーケンス番号を読み取ることにより、受信したコマンドが、連続して送信される複数のコマンドのうちの何番目のコマンドであるかを認識することができる。
【0087】
図6に示すように、ICカード20は、「selectコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信する必要がないと判定する。また、ICカード20は、「verifyコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信する必要がないと判定する。またさらに、ICカード20は、「readコマンド」を受信する場合、レスポンスをすぐに端末装置10に送信すると判定する。この場合、ICカード20は、「selectコマンド」に対するレスポンスと、「verifyコマンド」に対するレスポンスと、「readコマンド」に対するレスポンスと、を併せて端末装置10に送信する。
【0088】
連結された「selectコマンド」、「verifyコマンド」、及び「readコマンド」を正常に処理する場合、ICカード20は、図5の例と同様のレスポンスを端末装置10に送信する。
【0089】
また、連結された連結された「selectコマンド」、「verifyコマンド」、及び「readコマンド」のいずれかの処理においてエラーが発生する場合、ICカード20は、エラーが発生した事を示す情報と、エラーが発生したコマンドのシーケンス番号とを有するレスポンスを端末装置10に送信する。
【0090】
図8に示すように、レスポンスフレームは、SOFとキャラクタとSW1とSW2とEOFとを有する。
【0091】
SW1及びSW2は、送られてきたコマンドについてICカード20側の処理後の状態を端末に知らせる情報である。即ち、ICカード20は、正常完了を示す情報、またはエラー情報などをSW1及びSW2に書き込む。
【0092】
また、レスポンスフレームのキャラクタは、例えば4bitのシーケンス番号を有する。ICカード20は、エラー情報をレスポンスフレームに記載する場合、エラーが発生したコマンドのシーケンス番号をレスポンスフレームのキャラクタのシーケンス番号に付加する。
【0093】
端末装置10は、エラーを示すレスポンスを受信する場合、レスポンスのキャラクタのシーケンス番号を読み出す。端末装置10は、読み出したシーケンス番号が示すコマンドの処理中にICカード20においてエラーが発生したと認識する。
【0094】
上記したように、本実施形態の端末装置10は、複数のコマンドを連結させてICカード20に送信する場合、送信するコマンドにシーケンス番号を付加する。
【0095】
ICカード20は、受信したコマンドの処理中にエラーが発生する場合、エラーが発生した旨を示す情報と、エラーが発生したコマンドのシーケンス番号とを有するレスポンスを端末装置10に送信する。これにより、端末装置10は、ICカード20においてエラーが発生する場合に、どのコマンドの処理中にエラーが発生したかを認識することができる。
【0096】
なお、ICカード20は、受信するコマンドが連結コマンドであるか否かを判定し、受信するコマンドが連結コマンドである場合、コマンド処理を行わず次のコマンドを続けて受信する構成であってもよい。ICカード20は、連結コマンドではないコマンドを受信する場合、既に受信したコマンドに基づいて処理を実行する。ICカード20は、処理結果に基づいてレスポンスを生成し、端末装置10に送信する。これにより、ICカード20は、レスポンスの生成及び送信を効率的に実行することができる。
【0097】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【0098】
1…ICカード処理システム、10…端末装置、11…CPU、12…RAM、13…ROM、15…操作部、17…カードリーダライタ、18…スロット、19…バス、20…ICカード、21…ICモジュール、22…ICチップ、23…コンタクトパターン、24…CPU、25…ROM、26…RAM、27…不揮発性メモリ、29…SWP通信インターフェース、171…制御部、172…送信回路、173…受信回路、174…電流測定部、175…電源、291…制御部、292…送信回路、293…受信回路、294…電圧測定部、295…定電流源、296…定電流源、297…スイッチ。

【特許請求の範囲】
【請求項1】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置であって、
前記外部機器とデータの送受信を行う送受信部と、
前記送受信部により受信するコマンドを処理するコマンド処理部と、
前記送受信部により受信するコマンドが連結コマンドであるか否かを判定する判定部と、
前記判定部により連結コマンドであると判定する場合、前記送受信部により次のコマンドを受信して、前記送受信部で受信するコマンドを処理するように前記コマンド処理部を制御する制御部と、
を具備する携帯可能電子装置。
【請求項2】
前記制御部は、前記判定部により連結コマンドではないと判定する場合、前記コマンド処理部によるコマンドの処理結果に基づいてレスポンスを生成し、生成したレスポンスを前記外部機器に送信するように前記送受信部を制御する請求項1に記載の携帯可能電子装置。
【請求項3】
前記コマンド処理部は、前記送受信部により受信したコマンドにシーケンス番号が含まれている場合、レスポンスに前記シーケンス番号を付加する請求項1に記載の携帯可能電子装置。
【請求項4】
前記判定部は、前記送受信部により受信するコマンドがレスポンスにキャラクタを付加する必要がないコマンドである場合、連結コマンドであると判定する請求項1に記載の携帯可能電子装置。
【請求項5】
前記各部を備えるICモジュールと、
前記ICモジュールが配設される本体と、
を具備する請求項1に記載の携帯可能電子装置。
【請求項6】
携帯可能電子装置を処理する携帯可能電子装置の処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
コマンドを生成し、生成したコマンドを前記送受信部により前記携帯可能電子装置に送信するコマンド生成部と、
前記コマンド生成部により生成するコマンドが連結コマンドであるか否かを判定する判定部と、
前記判定部により連結コマンドであると判定する場合、前記送受信部により次に送信するコマンドを生成するように前記コマンド生成部を制御する制御部と、
を具備する携帯可能電子装置の処理装置。
【請求項7】
前記制御部は、前記判定部により連結コマンドではないと判定する場合、前記送受信部により前記携帯可能電子装置から送信されるレスポンスの受信を待つように前記送受信部を制御する請求項6に記載の携帯可能電子装置の処理装置。
【請求項8】
前記コマンド生成部は、前記送受信部により前記携帯可能電子装置に送信するコマンドにシーケンス番号を付加する請求項6に記載の携帯可能電子装置の処理装置。
【請求項9】
前記判定部は、次に前記送受信部により前記携帯可能電子装置に送信するコマンドが、前記携帯可能電子装置からのレスポンスを受信せず生成できるコマンドである場合、連結コマンドであると判定する請求項6に記載の携帯可能電子装置の処理装置。
【請求項10】
外部機器から入力されるコマンドに応じて動作する携帯可能電子装置と、前記携帯可能電子装置を処理する処理装置とを有する携帯可能電子装置の処理システムであって、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第1の送受信部と、
コマンドを生成し、生成したコマンドを前記第1の送受信部により前記携帯可能電子装置に送信するコマンド生成部と、
前記コマンド生成部により生成するコマンドが連結コマンドであるか否かを判定する第1の判定部と、
前記第1の判定部により連結コマンドであると判定する場合、前記第1の送受信部により次に送信するコマンドを生成するように前記コマンド生成部を制御する第1の制御部と、
を具備し、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第2の送受信部と、
前記第2の送受信部により受信するコマンドを処理するコマンド処理部と、
前記第2の送受信部により受信するコマンドが連結コマンドであるか否かを判定する第2の判定部と、
前記第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


【公開番号】特開2012−43303(P2012−43303A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−185485(P2010−185485)
【出願日】平成22年8月20日(2010.8.20)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】