説明

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

【課題】効率的に処理を行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供する。
【解決手段】携帯可能電子装置2は、処理装置1に伝達する情報と処理装置に送信するフレームのフォーマットとを対応付けて記憶する第1の記憶部を具備する。また、処理装置は、携帯可能電子装置から伝達される情報と携帯可能電子装置から送信されるフレームのフォーマットとを対応付けて記憶する第2の記憶部を具備する。携帯可能電子装置は、処理装置に送信するデータに基づいて、第1の記憶部に記憶されているフォーマットを選択し、選択したフォーマットにより処理装置に対してデータを送信するように制御する。処理装置は、携帯可能電子装置から受信するフレームのフォーマットに基づいて携帯可能電子装置から伝達される情報を認識する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置に関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
上記したようなICカードは、種々のアプリケーションを記憶している。ICカードは、ICカードのリーダライタ(カードリーダライタ)から非接触通信によりコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。
【0005】
しかし、データを送受信する場合、データに誤りが発生する場合がある。即ち、送信側が送信したデータと、受信側が受信したデータとが一致しない場合がある。そこで、送信するデータに正当性確認情報を付加する携帯可能電子装置が提供されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許3607229号
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記した携帯可能電子装置は、送信するデータのキャラクタから正当性確認情報を生成し、送信データに付加する。受信側であるICカードの処理装置は、受信したデータのキャラクタから正当性確認情報を生成し、受信した正当性確認情報と生成した正当性確認情報とを比較することにより、正当性の確認を行う。例えば、国際標準規格ISO/IEC14443に準拠するICカードは、CRC、またはハッシュなどを用いてデータの正当性を確認する。
【0008】
なお、1回の通信で送ることができるデータの容量が決まっている為、送信するデータの容量が大きい場合、ICカードは、複数のフレームに分割してデータを送信する。ICカードは、分割した各フレーム毎に正当性確認情報を生成し、送信データに付加する。
【0009】
また、ICカードに格納されるデータ自体の正当性を確認する場合がある。この場合、ICカードは、データに対応する正当性確認情報を後部に付加したデータを格納する。この正当性確認情報は、予め正当性が確認されたデータに基づいて生成された情報である。ICカード及びICカードの処理装置は、データから正当性確認情報を生成し、データに付加されている正当性確認情報と比較し、正当性の確認を行う。
【0010】
しかし、上記したように、ICカードから送信されるデータが1回の通信で送信することができない容量を持つデータである場合、ICカードの処理装置は、分割されたフレームを順に受信する。この為、ICカードの処理装置は、正当性確認情報を含むフレームを受信するまで、正当性確認情報の有無を検知する事ができないという問題がある。
【0011】
そこで、本発明の目的は、効率的に処理を行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することにある。
【課題を解決するための手段】
【0012】
本発明の一実施形態としての携帯可能電子装置の処理システムは、コマンドに応じて処理を行う携帯可能電子装置及び前記携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、前記携帯可能電子装置は、前記処理装置とデータの送受信を行う第1の送受信部と、前記処理装置に伝達する情報と前記処理装置に送信するフレームのフォーマットとを対応付けて記憶する第1の記憶部と、前記処理装置に送信するデータに基づいて、前記第1の記憶部に記憶されているフォーマットを選択し、選択したフォーマットにより前記処理装置に対してデータを送信するように制御する制御部と、を具備し、前記処理装置は、前記携帯可能電子装置とデータの送受信を行う第2の送受信部と、前記携帯可能電子装置から伝達される情報と前記携帯可能電子装置から送信されるフレームのフォーマットとを対応付けて記憶する第2の記憶部と、前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置から伝達される情報を認識する認識部と、を具備する。
【0013】
また、本発明の一実施形態としての携帯可能電子装置は、処理装置から受信するコマンドに応じて処理を行う携帯可能電子装置であって、前記処理装置とデータの送受信を行う送受信部と、前記処理装置に伝達する情報と前記処理装置に送信するフレームのフォーマットとを対応付けて記憶する記憶部と、前記処理装置に送信するデータに基づいて、前記記憶部に記憶されているフォーマットを選択し、選択したフォーマットにより前記処理装置に対してデータを送信するように制御する制御部と、を具備する。
【0014】
また、本発明の一実施形態としての携帯可能電子装置の処理装置は、携帯可能電子装置を処理する処理装置であって、前記携帯可能電子装置とデータの送受信を行う送受信部と、前記携帯可能電子装置から伝達される情報と前記携帯可能電子装置から送信されるフレームのフォーマットとを対応付けて記憶する記憶部と、前記送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置から伝達される情報を認識する認識部と、を具備する。
【発明の効果】
【0015】
この発明の一形態によれば、効率的に処理を行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することができる。
【図面の簡単な説明】
【0016】
【図1】図1は、本発明の一実施形態に係る携帯可能電子装置の処理システムの構成の例について説明するためのブロック図である。
【図2】図2は、図1に示す端末装置の構成例について説明するためのブロック図である。
【図3】図3は、図1に示すICカードの構成例について説明するためのブロック図である。
【図4】図4は、図3に示すICカードから送信されるデータの一例について説明するための説明図である。
【図5】図5は、図3に示すICカードから送信されるデータの一例について説明するための説明図である。
【図6】図6は、図3に示すICカードから送信されるデータのフレームの構成の一例について説明するための説明図である。
【図7】図7は、図6に示すキャラクタの構成の一例について説明するための説明図である。
【図8】図8は、図6に示すSOFの構成の一例について説明するための説明図である。
【図9】図9は、図6に示すEOFの構成の一例について説明するための説明図である。
【図10】図10は、付加情報テーブルについて説明するための説明図である。
【図11】図11は、図2に示す端末装置の処理について説明するためのフローチャートである。
【図12】図12は、エラー情報テーブルについて説明するための説明図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置について詳細に説明する。
【0018】
図1は、本発明の一実施形態に係るICカード処理システム10の構成例について説明するためのブロック図である。
図1に示すようにICカード処理システム10は、携帯可能電子装置の処理装置(端末装置)1と携帯可能電子装置(ICカード)2とを備えている。端末装置1とICカード2とは、接触通信、または非接触通信により互いに種々のデータの送受信を行う。なお、ここでは、国際標準規格ISO/IEC14443に規定されるTypeBの通信プロトコルによりデータの送受信が行われる事を想定して説明する。
【0019】
図2は、図1に示す端末装置の構成例について説明するためのブロック図である。図2に示すように、端末装置1は、制御部11、ディスプレイ12、キーボード13、カードリーダライタ14、及び記憶部15などを有している。
【0020】
制御部11は、CPU、ROM、及びRAMなどを備える。制御部11は、端末装置1全体の動作を制御する。
ディスプレイ12は、制御部11の制御により種々の情報を表示する。キーボード13は、端末装置1の操作者による操作を操作信号として受け取る。
【0021】
カードリーダライタ14は、ICカード2と通信を行うためのインタフェース装置である。カードリーダライタ14は、ICカード2に対して、電源供給、クロック供給、リセット制御、及びデータの送受信などを行う。即ち、カードリーダライタ14は、送受信部として機能する。
【0022】
制御部11は、カードリーダライタ14によりICカード2に対して種々のコマンドを入力する。ICカード2は、例えば、カードリーダライタ14からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0023】
また、ICカード2は、カードリーダライタ14からデータの読み出しコマンドを受信した場合、受信したコマンドにより指定される情報を内部のメモリから読み出し、カードリーダライタ14に送信する。制御部11は、ICカード2から受信したデータに基づいて種々の処理を行う。
【0024】
上記のカードリーダライタ14は、ICカード2とデータの送受信を行う。例えば、ICカード2が、非接触式携帯可能電子装置として構成される場合、カードリーダライタ14は、信号処理部、送受信回路、及びアンテナなどを備える。
【0025】
信号処理部は、ICカード2との間で送受信するデータの符号化、復号、変調、及び復調を行なう。送受信回路は、信号処理部により変調されたデータ、及び、アンテナにより受信したデータを増幅する。
【0026】
アンテナは、送信するデータに応じて磁界を発生させることにより、ICカード2に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてICカード2から送信されるデータを認識する。
【0027】
制御部11は、カードリーダライタ14によりICカード2に初期設定コマンドを送信することにより、ICカード2との通信に関する設定を行う。初期設定コマンドは、例えば、起動コマンド及び選択コマンドなどである。ICカード2の検知を行なう為に、カードリーダライタ14は、起動コマンド(例えば、リクエストコマンド(REQB)、及びウェークアップコマンド(WUQB)など)を繰り返し通信可能範囲に送信する。
【0028】
ICカード2が存在する場合、ICカード2からの起動コマンドに対する返答(ATQB)がカードリーダライタ14に返る。これにより、カードリーダライタ14は、ICカード2を検知する。また、カードリーダライタ14は、所望のICカード2を選択するための選択コマンド(ATTRIB)を送信する。ICカード2は、ATTRIBを受信した場合、Answer to ATTRIB(ATA)をカードリーダライタ14に送信する。これにより、カードリーダライタ14とICカード2との間で通信を行う事ができる。
【0029】
TypeBのカードリーダライタ14は、送信するデータに基づいて周波数13.56MHzの搬送波に10%の振幅変調をかけ、Non Return to Zero(NRZ)符号化方式により符号化する。
【0030】
TypeBのICカード2は、送信するデータに基づいて周波数847.5KHzの副搬送波に位相変調、及びNRZ符号化を施す。
【0031】
また端末装置1は、必要に応じてICカード2に相互認証コマンドを送信する。これにより、相互認証処理が行われる。
【0032】
記憶部15は、書き換え可能な不揮発性メモリである。記憶部15は、端末装置1の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0033】
制御部11は、付加情報テーブル11aを備えている。付加情報テーブル11aは、ICカード2から伝達される情報と、Icカード2から送信されるフレームのフォーマットとを対応付けて記憶する記憶部である。制御部11は、ICカード2からデータを受信する場合、付加情報テーブル11aを参照し、受信したデータに付加される付加情報の有無、及び種類などを判別する。付加情報テーブル11aについては後述する。
【0034】
図3は、図1に示すICカード2の構成例について説明するためのブロック図である。
図3に示すように、ICカード2は、カード状の本体21と、本体21内に内蔵されたICモジュール22とを備えている。ICモジュール22は、1つ又は複数のICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22に形成されている。
【0035】
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、及び電源部29などを備えている。
【0036】
通信部24は、端末装置1のカードリーダライタ14と通信を行うためのインタフェースである。通信部24は、送受信部として機能する。
カードリーダライタ14と非接触通信を行う場合、通信部24は、端末装置1のカードリーダライタ14と非接触通信を行うアンテナを備える。またさらに、通信部24は、送受信データの増幅を行う送受信回路、及び復号変調などの処理を行う信号処理部を備える。
【0037】
CPU25は、ICカード2全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、カードリーダライタ14から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【0038】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。
【0039】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介して端末装置1から受信したデータを一時的に格納する。また、RAM27は、CPU25が実行するプログラムを一時的に格納する。
【0040】
不揮発性メモリ28は、記憶部として機能する。不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ28は、ICカード2の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0041】
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0042】
電源部29は、ICカード2が非接触式携帯可能電子装置である場合、カードリーダライタ14からのキャリアから電力及び動作クロックを生成する。電源部29は、発生させた電力及び動作クロックをICカード2の各部に電力を供給する。ICカード2の各部は、電力の供給を受けた場合、動作可能な状態になる。
【0043】
図4、及び図5は、図3に示すICカード2から送信されるデータの一例について説明するための説明図である。
【0044】
図4は、正当性確認情報が付加されたデータの例である。本例では、データの正当性を確認するための正当性確認情報として、ハッシュ、または巡回冗長検査(CRC)などを用いる。正当性確認情報は、データビットの後部に置かれる。図5は、正当性確認情報が付加されていない場合のデータの例である。
【0045】
ICカード2は、カードリーダライタ14にデータを送信する場合、送信するデータを所定数のビット(例えば、8ビット)毎に区切る。ICカード2は、区切った所定数のビットに、論理「0」のビットであるスタートビットと、論理「1」のビットであるストップビットとを付加し、キャラクタを生成する。ICカード2は、生成したキャラクタにStart of Frame(SOF)及びEnd of Frame(EOF)を付加し、フレームを生成する。
【0046】
なお、複数のキャラクタを1つのフレームで送信する場合、キャラクタとキャラクタとの間は、特別保護時間(EGT)により分けられる。
【0047】
また、ICカード2は、必要に応じて、生成したフレーム内の全てのデータビットからCRCを計算し、キャラクタとEOFの間に挿入する。なお、スタートビット、ストップビット、EGT、SOF、及びEOFはCRCの計算には使用されない。
【0048】
図6は、図3に示すICカード2から送信されるデータのフレームの構成の一例について説明するための説明図である。
フレームは、SOF、キャラクタ列、CRC、及びEOFを備える。なお、フレームに含まれるCRCは、送信前と送信後のデータの整合性を確認するための情報であり、データ自体の正当性を確認するための正当性確認情報とは異なる。
【0049】
図7は、図6に示すSOFの構成の一例について説明するための説明図である。
SOFは、フレームの先頭を示す情報である。SOFは、立下りのエッジで始まり、論理「0」の状態と論理「1」の状態がそれぞれ所定時間継続される信号である。ICカード2は、フレーム内で最初のキャラクタを送信する前に上記のSOFをカードリーダライタ14に送信する。なお、SOFの前には、ICカード2と端末装置1とで同期を取るために、無変調区間(TR1)が必要になる。ICカード2は、副搬送波を発生させてから、所定時間搬送波の変調を行わないように制御する。即ち、TR1は、ICカード2が副搬送波を発生させてから変調を開始するまでの時間である。
【0050】
端末装置1は、上記した形式の信号を受信した場合、SOFを受信したと認識し、次にキャラクタ列がICカード2から送信されることを認識する。
【0051】
図8は、図6に示すキャラクタ列の構成の一例について説明するための説明図である。
キャラクタ列は、ICカード2から端末装置1に送信されるデータの本体である。キャラクタ列は、複数のキャラクタを備える。キャラクタは、所定数のデータビット、スタートビット、及びストップビットを備える。また、キャラクタとキャラクタの間には所定の長さの論理「1」のビットであるEGTが配置される。
【0052】
端末装置1は、スタートビットとストップビットとによりキャラクタ内のデータビットを認識する。これにより、端末装置1は、フレーム内の複数のキャラクタのデータビットをそれぞれ個別に認識する。
【0053】
図9は、図6に示すEOFの構成の一例について説明するための説明図である。
EOFは、フレームの最後尾を示す情報である。EOFは、立下りのエッジで始まり、論理「0」の状態が所定時間継続される信号である。ICカード2は、フレーム内で最後のキャラクタを送信した後に上記のEOFをカードリーダライタ14に送信する。
【0054】
端末装置1は、上記した形式の信号を受信した場合、EOFを受信したと認識し、1つのフレームを受信したことを認識する。
【0055】
なお、TR1、SOF、キャラクタ、EGT、及びEOFの長さは、ISO/IEC14443のTypeBに基づいて決定される。
【0056】
例えば、TR1の長さは、副搬送波の周波数をfsとすると、80/fs以上200/fs以下である。
【0057】
また、1ビットのデータを送信するのに必要な時間を1elementary time unit(etu)とすると、SOFの論理「0」の長さは、10etu以上11etu以下である。また、SOFの論理「1」の長さは、2etu以上3etu以下である。即ち、SOF全体の長さは、12etu以上14etu以下である。
【0058】
また、キャラクタは、スタートビットが1etuであり、データビットが8etuであり、ストップビットが1etuである。即ち、キャラクタの長さは、10etuである。EGTの長さは、ICカード2から端末装置1にデータを送信する場合、0etu以上2etu以下である。(としましたが、ストップビットは2etuも可だった気がするのですが、どうでしょうか?また、パリティビットが付く場合、全体の長さが+1etu?)
また、EOFの論理「0」の長さは、10etu以上11etu以下である。
ICカード2のCPU25は、データをカードリーダライタ14に送信する場合、まず送信するデータの構成を確認する。例えば、CPU25は、送信するデータに例えば正当性確認情報などの付加情報が付加されているか否か確認する。さらに、CPU25は、送信するデータに付加されている付加情報の種類を確認する。付加情報が正当性家訓情報である場合、CPU25は、正当性確認情報がCRC値であるかハッシュ値であるかを確認する。
【0059】
CPU25は、付加情報の有無、及び種類に基づいて、TR1、SOF、EGT、及びEOFの長さを決定する。この為、図3に示すように、ICカード2は、付加情報の有無及び種類と、フレームのフォーマットとを対応付けた付加情報テーブル28aを不揮発性メモリ28内に備える。なお、この付加情報テーブル28aは、端末装置1の付加情報テーブル11aと同じものである。
【0060】
図10は、付加情報テーブル11a、28aについて説明するための説明図である。
ICカード2は、送信するデータの付加情報を確認し、付加情報テーブル28aを参照し、送信するフレームのフォーマットを決定する。
【0061】
端末装置1の制御部11は、受信するデータのフォーマットを確認し、付加情報テーブル11aを参照し、付加情報の有無及び種類を認識する。即ち、制御部11は、認識部として機能する。
【0062】
例えば、図10の(A)及び(B)により正当性確認情報の有無及び種類を端末装置1に伝達する場合、ICカード2のCPU25は、TR1及びSOFの長さを制御する。即ち、正当性確認情報有りの場合、CPU25は、TR1の時間が100/fs未満になるように制御する。また、正当性確認情報無しの場合、CPU25は、TR1の時間が100/fs以上になるように制御する。
【0063】
正当性確認情報がハッシュである場合、CPU25は、SOFの論理「0」の区間が10etu以上10.5etu未満になるように制御する。また、正当性確認情報がCRCである場合、CPU25は、SOFの論理「0」の区間が、10.5etu以上11etu以下になるように制御する。
【0064】
端末装置1の制御部11は、受信データのTR1を確認し、正当性確認応報の有無を判断する。例えば、受信データのTR1が100/fs未満である場合、制御部11は、正当性確認情報が有ると判断する。即ち、制御部11は、受信したデータは正当性確認情報を有するデータで有ると判断する。また、例えば、受信データのTR1が100/fs以上である場合、制御部11は、正当性確認情報が無いと判断する。
【0065】
さらに、制御部11は、正当性確認情報が有ると判断した場合、SOFの論理「0」の区間を確認し、正当性確認情報の種類を特定する。即ち、制御部11は、受信データのSOFの論理「0」の区間が10etu以上10.5etu未満である場合、正当性確認情報がハッシュであると特定する。また、制御部11は、受信データのSOFの論理「0」の区間が10.5etu以上11etu以下である場合、正当性確認情報がCRCであると特定する。
【0066】
また、例えば、図10の(C)及び(D)により正当性確認情報の有無及び種類を端末装置1に伝達する場合、ICカード2のCPU25は、EOF及びEGTの長さを制御する。即ち、正当性確認情報有りの場合、CPU25は、EOFの長さが10etu以上10.5etu未満になるように制御する。また、正当性確認情報無しの場合、CPU25は、EOFの長さが10.5etu以上11etu以下になるように制御する。
【0067】
正当性確認情報がハッシュである場合、CPU25は、EGTの長さが、0etu以上1etu未満になるように制御する。また、正当性確認情報がCRCである場合、CPU25は、EGTの長さが、1etu以上2etu以下になるように制御する。
【0068】
端末装置1の制御部11は、受信データのEOFを確認し、正当性確認応報の有無を判断する。例えば、受信データのEOFの長さが10etu以上10.5etu未満である場合、制御部11は、正当性確認情報が有ると判断する。即ち、制御部11は、受信したデータは正当性確認情報を有するデータで有ると判断する。また、例えば、受信データのEOFの長さが10.5etu以上11etu以下である場合、制御部11は、正当性確認情報が無いと判断する。
【0069】
さらに、制御部11は、正当性確認情報が有ると判断した場合、EGTの長さを確認し、正当性確認情報の種類を特定する。即ち、制御部11は、受信データのEGTの長さが0etu以上1etu未満である場合、正当性確認情報がハッシュであると特定する。また、制御部11は、受信データのEGTの長さが1etu以上2etu以下である場合、正当性確認情報がCRCであると特定する。
【0070】
制御部11は、1つのフレームを受信した場合、次のフレームの受信を行うとともに、特定した正当性確認情報の種類に応じた演算処理を行う。
例えば、正当性確認情報がハッシュである場合、制御部11は、受信したフレームの各キャラクタのデータビットに基づいてハッシュ値を計算する。制御部11は、フレームを受信する毎にハッシュ値の計算を行う。制御部11は、最終フレームに含まれているハッシュ値とデータビットから算出したハッシュ値とを比較し、受信したデータが正当なデータであるか否かを判断する。
【0071】
また、例えば、正当性確認情報がCRCである場合、制御部11は、受信したフレームの各キャラクタのデータビットに基づいてCRC値を計算する。制御部11は、フレームを受信する毎にCRC値の計算を行う。制御部11は、最終フレームに含まれているCRC値とデータビットから算出したCRC値とを比較し、受信したデータが正当なデータであるか否かを判断する。
【0072】
図11は、図2に示す端末装置1の動作について説明するためのフローチャートである。
端末装置1とICカード2との間で通信が確立された場合、端末装置1は、ICカード2に対して処理コマンドを送信する。ICカード2は、受信するコマンドに応じた処理を行い、レスポンスを端末装置1に送信する。端末装置1は、ICカード2から送信されるデータを受信する(ステップS11)。
【0073】
例えば、ICカード2に送信したコマンドがデータの読み出しコマンドである場合、ICカード2は、図6に示すフォーマットのフレームのキャラクタに読み出したデータを格納し、端末装置1に送信する。この場合、ICカード2は、付加情報テーブル28aを参照し、送信するデータの付加情報に応じて、フレームのTR1、SOF、EOF、及びEGTのそれぞれの長さを制御する。
【0074】
端末装置1は、受信したデータのフレームの各構成を確認する(ステップS12)。即ち、端末装置1は、フレームのTR1、SOF、EOF、及びEGTのそれぞれの長さを確認する。
【0075】
端末装置1は、付加情報テーブル11aを参照する(ステップS13)。端末装置1は、フレームのTR1、SOF、EOF、及びEGTのそれぞれの長さに基づいて、後続のフレームに正当性確認情報などの付加情報が付加されているか否かを特定する(ステップS14)。
【0076】
さらに、端末装置1は、フレームのTR1、SOF、EOF、及びEGTのそれぞれの長さに基づいて、後続のフレームに付加されている付加情報の種類を特定する(ステップS15)。
【0077】
端末装置1は、特定した付加情報に対応する処理を行い(ステップS16)、1つのフレームに対する処理を終了する。例えば、付加情報がハッシュ値あるいはCRC値である場合、端末装置1は、受信したフレームのキャラクタのデータビットからハッシュ値あるいはCRC値を算出する処理を行う。さらにICカード2からデータが送信される場合、端末装置1は、次のフレームのデータを受信する。
【0078】
上記したように、本実施形態に係る端末装置1及びICカード2は、付加情報テーブル11a、28aを備えている。ICカード2は、データを端末装置1に送信する場合、付加情報テーブル28aを参照し、付加情報の有無及び種類に応じて送信するフレームのフォーマットを制御する。端末装置1は、付加情報テーブル11aを参照し、受信したフレームのフォーマットに基づいて付加情報の有無及び種類を特定する。
【0079】
ICカード2から送信されるデータが付加情報を有しており、且つ、複数のフレームに分割されるデータである場合、端末装置1は、最初のフレームを受信した時点で付加情報の有無及び種類を特定することができる。これにより、端末装置1は、最初のフレームを受信した時点で、付加情報に対応する処理を開始することができる。この結果、効率的に処理を行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することができる。
【0080】
なお、1etuの時間は、伝送レートによって異なる。搬送波の周波数によって異なる。例えば、ICカード2の伝送レートが106kbpsの場合、ICカード2は、8クロックで1ビットのデータを送信する。また、ICカード2の伝送レートが212kbpsの場合、ICカード2は、4クロックで1ビットのデータを送信する。また、ICカード2の伝送レートが424kbpsの場合、ICカード2は、2クロックで1ビットのデータを送信する。また、ICカード2の伝送レートが848kbpsの場合、ICカード2は、1クロックで1ビットのデータを送信する。
【0081】
例えば、伝送レートが106kbps、または212kbpsなどの場合、SOF、EOF、及びEGTなどの長さをさらに細かく制御することができる。例えば、伝送レート212kbpsにより送受信を行う場合、SOFの論理「0」の区間の長さを10etu、10.25etu、10.5etu、10.75etu、11etuと刻むことができる。この場合、SOFの論理「0」の区間で4通りの情報を表現することができる。
【0082】
また、各フレームのフォーマットと付加情報の有無及び種類を示す情報との対応付けは、上記の実施形態に限定されない。ICカード2と端末装置1とで対応していれば、如何なるように対応付けてもよい。
【0083】
またさらに、上記した実施形態では、ISO/IEC14443のTypeBに準拠したICカードであるとして説明したが、これに限定されない。送信するデータのフォーマットに冗長性のある通信方式であれば、如何なる通信方式であっても本発明を適用することができる。例えば、接触インタフェース、Single Wire Protocol(SWP)、USBなどが他の通信方式であっても、本発明を適用することができる。
【0084】
また、例えば、ICカードがマルチインタフェースに対応する場合、各インタフェースをそれぞれ並行して動作させることもできる。例えば、複数のインタフェースが同時に動作する場合、ICカードは、複数のインタフェースが動作していることを、送信データのフォーマットを制御することによりカードリーダライタに伝達することができる。
【0085】
また、端末装置1は、ICカード2から送信されるフレームのフォーマットに基づいて、ICカード2においてエラーが発生したか否かを判断することもできる。
【0086】
ICカード2は、通信時に、例えば、Error Detecting Code(EDC)エラー、パリティエラー、及びCRCエラー等のエラーが発生する場合がある。
【0087】
図2に示すように、端末装置1は、エラー情報テーブル11bを備えている。エラー情報テーブル11bは、ICカード2から伝達されるエラーに関する情報と、Icカード2から送信されるフレームのフォーマットとを対応付けて記憶する記憶部である。また、図3に示すように。ICカード2は、エラー情報テーブル28bを備えている。エラー情報テーブル11bとエラー情報テーブル28bとは、それぞれ対応する。
【0088】
ICカード2のCPU25は、データを端末装置1に送信する場合、エラーの有無を確認する。エラーが発生している場合、CPU25は、発生したエラーの種類を特定する。さらに、CPU25は、エラー情報テーブル28bを参照し、特定したエラーの種類に応じて送信するフレームのフォーマットを制御する。
【0089】
端末装置1の制御部11は、データを受信する場合、受信したデータのフレームのフォーマットを確認する。制御部11は、エラー情報テーブル11bを参照し、特定したフォーマットに基づいて、エラーの有無及び種類を特定する。
【0090】
例えば、ICカード2は、例えば、エラーの有無及び種類に応じてTR1などのフレームの先頭に近い位置のフォーマットを制御する。これにより、端末装置1は、1フレームの全てのデータを受信する前にエラーの有無及び種類を特定することができる。
【0091】
図12は、エラー情報テーブル11b、28bについて説明するための説明図である。
ICカード2は、端末装置1からコマンドを受信した場合、受信したコマンドに応じた処理を実行し、レスポンスデータを作成する。この場合、ICカード2は、受信したコマンドに対する処理、またはコマンドの受信時におけるエラーの有無及びエラーの種類を確認する。ICカード2は、エラーの有無及び種類に基づいて、エラー情報テーブル28bを参照し、送信するフレームの前段の無変調区間の信号を制御する。
【0092】
端末装置1は、エラー情報テーブル11bを参照し、受信するデータの前段のTR1の信号に基づいて、エラーの有無及び種類を認識する。
【0093】
例えば、図12の(A)によりエラーの有無を端末装置1に伝達する場合、ICカード2のCPU25は、TR1に変調区間を加えるか否かによりエラーの有無を表現する。即ち、エラー有りの場合、CPU25は、TR1の区間中に1etu以上2etu以下の長さの変調区間を加える。また、エラー無しの場合、CPU25は、従来どおり、TR1の区間が全て無変調の区間となるように制御する。
【0094】
端末装置1の制御部11は、受信データのTR1を確認し、ICカード2におけるエラーの有無を判断する。例えば、受信データのTR1の区間内に1etu以上2etu以下の変調区間が含まれる場合、制御部11は、ICカード2においてエラーが発生したと判断する。また、例えば、受信データのTR1が無変調区間のみで構成される場合、制御部11は、ICカード2においてエラーが発生していないと判断する。
【0095】
例えば、図12の(B)によりエラーの有無を端末装置1に伝達する場合、ICカード2のCPU25は、送信するデータフレームの符号以下方式によりエラーの有無を表現する。即ち、エラー有りの場合、CPU25は、データフレームをマンチェスタ符号化方式による符号化を施す。また、エラー無しの場合、CPU25は、従来どおり、NRZによる符号化を施す。
【0096】
端末装置1の制御部11は、受信データの符号化方式を確認し、ICカード2におけるエラーの有無を判断する。例えば、受信データの符号化方式がマンチェスタ符号化方式である場合、制御部11は、ICカード2においてエラーが発生したと判断する。また、例えば、受信データの符号化方式がNRZ符号化方式である場合、制御部11は、ICカード2においてエラーが発生していないと判断する。
【0097】
さらに、エラーが発生した場合、ICカード2のCPU25は、図12の(C)に基づいてエラーの種類を端末装置1に伝達する。例えば、発生したエラーがCRCエラーである場合、CPU25は、副搬送波の周波数が6.78MHzになるように制御する。また、発生したエラーがEDCエラーである場合、CPU25は、副搬送波の周波数が3.39MHzになるように制御する。また、発生したエラーがパリティエラーである場合、CPU25は、副搬送波の周波数が1.695MHzになるように制御する。
【0098】
端末装置1の制御部11は、受信データのTR1の周波数を確認し、ICカード2において発生したエラーの種類を特定する。例えば、TR1の周波数が6.78MHzの近傍である場合、制御部11は、ICカード2において発生したエラーがCRCエラーであると特定する。また、TR1の周波数が3.39MHzの近傍である場合、制御部11は、ICカード2において発生したエラーがEDCエラーであると特定する。また、TR1の周波数が1.695MHzの近傍である場合、制御部11は、ICカード2において発生したエラーがパリティエラーであると特定する。
【0099】
制御部11は、特定したエラーの種類に基づいて、次にICカード2に送信するコマンドを生成する。この場合、制御部11は、フレームの全てのデータを受信する前に、次のコマンドに対する処理に移行する。
【0100】
従来のICカード2は、エラーが発生した場合、エラーが発生した旨を示すステータス情報をカードリーダライタ14に対して送信する。ICカード2からエラーのステータス情報を受信する場合、カードリーダライタ14は、再度ICカード2に対してコマンドを送信し、処理をやり直す。
【0101】
しかし、上記したように、本実施形態のICカード2は、エラーの有無及び種類に応じて、TR1などのフレームの先頭に近い区間の信号を制御する。端末装置1は、受信したTR1の信号に基づいてICカード2におけるエラーの有無及び種類を特定する。これにより、端末装置1は、1フレームの全てのデータを受信する前にエラーの有無及び種類を特定することができる。
【0102】
この結果、効率的に処理を行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することができる。
【0103】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【0104】
上記した実施形態では、TypeBの通信プロトコルを前提として説明したが、この構成に限定されない。フォーマットを変化させる余地のある通信方式であれば、如何なるものであっても本発明を適用することができる。また、接触通信においても同様に本発明を実施することができる。
【符号の説明】
【0105】
1…端末装置、2…ICカード、10…ICカード処理システム、11…制御部、11a…付加情報テーブル、11b…エラー情報テーブル、12…ディスプレイ、13…キーボード、14…カードリーダライタ、15…記憶部、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、28a…付加情報テーブル、28b…エラー情報テーブル、29…電源部。

【特許請求の範囲】
【請求項1】
コマンドに応じて処理を行う携帯可能電子装置及び前記携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第1の送受信部と、
前記処理装置に伝達する情報と前記処理装置に送信するフレームのフォーマットとを対応付けて記憶する第1の記憶部と、
前記処理装置に送信するデータに基づいて、前記第1の記憶部に記憶されているフォーマットを選択し、選択したフォーマットにより前記処理装置に対してデータを送信するように制御する制御部と、
を具備し、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第2の送受信部と、
前記携帯可能電子装置から伝達される情報と前記携帯可能電子装置から送信されるフレームのフォーマットとを対応付けて記憶する第2の記憶部と、
前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置から伝達される情報を認識する認識部と、
を具備することを特徴とする携帯可能電子装置の処理システム。
【請求項2】
前記第1の記憶部及び前記第2の記憶部は、データに正当性確認情報が付加されているか否かを示す情報とフレームのフォーマットとを対応付けて記憶し、
前記制御部は、データに正当性確認情報が付加されているか否かに基づいてフレームのフォーマットを選択し、
前記認識部は、前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて受信したデータに正当性確認情報が付加されているか否かを認識する、
ことを特徴とする請求項1に記載の携帯可能電子装置の処理システム。
【請求項3】
前記第1の記憶部及び前記第2の記憶部は、データに付加されている正当性確認情報の種類を示す情報とフレームのフォーマットとを対応付けて記憶し、
前記制御部は、データに付加されている正当性確認情報の種類に基づいてフレームのフォーマットを選択し、
前記認識部は、前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて受信したデータに付加されている正当性確認情報の種類を認識する、
ことを特徴とする請求項1に記載の携帯可能電子装置の処理システム。
【請求項4】
前記第1の記憶部及び前記第2の記憶部は、エラーの有無を示す情報とフレームのフォーマットとを対応付けて記憶し、
前記制御部は、前記処理装置から受信したコマンドに対する処理においてエラーが発生したか否かに基づいてフレームのフォーマットを選択し、
前記認識部は、前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置においてエラーが発生したか否かを認識する、
ことを特徴とする請求項1に記載の携帯可能電子装置の処理システム。
【請求項5】
前記第1の記憶部及び前記第2の記憶部は、エラーの種類を示す情報とフレームのフォーマットとを対応付けて記憶し、
前記制御部は、前記処理装置から受信したコマンドに対する処理において発生したエラーの種類に基づいてフレームのフォーマットを選択し、
前記認識部は、前記第2の送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置において発生したエラーの種類を認識する、
ことを特徴とする請求項1に記載の携帯可能電子装置の処理システム。
【請求項6】
処理装置から受信するコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
前記処理装置に伝達する情報と前記処理装置に送信するフレームのフォーマットとを対応付けて記憶する記憶部と、
前記処理装置に送信するデータに基づいて、前記記憶部に記憶されているフォーマットを選択し、選択したフォーマットにより前記処理装置に対してデータを送信するように制御する制御部と、
を具備することを特徴とする携帯可能電子装置。
【請求項7】
さらに、前記各部を備えるICモジュールと、
前記ICモジュールが設置される本体と、
を具備することを特徴する請求項6に記載の携帯可能電子装置。
【請求項8】
携帯可能電子装置を処理する処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
前記携帯可能電子装置から伝達される情報と前記携帯可能電子装置から送信されるフレームのフォーマットとを対応付けて記憶する記憶部と、
前記送受信部により前記携帯可能電子装置から受信するフレームのフォーマットに基づいて前記携帯可能電子装置から伝達される情報を認識する認識部と、
を具備することを特徴とする携帯可能電子装置の処理装置。

【図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

【図12】
image rotate


【公開番号】特開2011−22840(P2011−22840A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−167892(P2009−167892)
【出願日】平成21年7月16日(2009.7.16)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】