(57)【要約】【課題】  エラーが発生した後の処理をより効率よく行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供する。【解決手段】  携帯可能電子装置２は、ステータス情報を記憶するステータス情報記憶部２８ａを具備し、受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納する。当該携帯可能電子装置の起動時、前記ステータス情報記憶部に格納されているステータス情報を当該携帯可能電子装置の処理端末１に通知する。前記処理装置は、前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識し、前記携帯可能電子装置に送信するコマンドを制御する。【選択図】      図５
2011022841.tif 000002
【特許請求の範囲】
【請求項１】
コマンドに応じて処理を行う携帯可能電子装置及び前記携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第１の送受信部と、
ステータス情報を記憶するステータス情報記憶部と、
前記第１の送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、
当該携帯可能電子装置の起動時に前記第１の送受信部により前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、
を具備し、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第２の送受信部と、
前記第２の送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、
前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、
を具備することを特徴とする携帯可能電子装置の処理システム。
【請求項２】
前記制御部は、前記ステータス情報がコマンド種別及び正常終了を示す処理結果である場合、前記コマンド種別が示すコマンドの次のステップのコマンドを前記携帯可能電子装置に送信するコマンドとして一連の処理コマンドから選択する事を特徴とする請求項１に記載の携帯可能電子装置の処理システム。
【請求項３】
前記制御部は、前記ステータス情報がコマンド種別及びエラー情報である場合、前記コマンド種別が示すコマンドを前記携帯可能電子装置に送信するコマンドとして一連の処理コマンドから選択する事を特徴とする請求項１に記載の携帯可能電子装置の処理システム。
【請求項４】
前記ステータス情報記憶部は、前記処理端末の識別情報をさらに記憶し、
前記ステータス情報通知部は、前記処理装置の識別情報と前記ステータス情報記憶部に格納されている識別情報とが一致する場合、前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知することを特徴とする請求項１に記載の携帯可能電子装置の処理システム。
【請求項５】
前記ステータス情報通知部は、前記処理端末から受信する選択コマンドに対するレスポンスに前記ステータス情報を格納することを特徴とする請求項１に記載の携帯可能電子装置の処理システム。
【請求項６】
前記ステータス情報通知部は、前記処理端末から受信する認証コマンドに対するレスポンスに前記ステータス情報を格納することを特徴とする請求項１に記載の携帯可能電子装置の処理システム。
【請求項７】
端末から受信するコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
ステータス情報を記憶するステータス情報記憶部と、
前記送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、
当該携帯可能電子装置の起動時に前記送受信部により前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、
を具備することを特徴とする携帯可能電子装置。
【請求項８】
さらに、前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが設置される本体と、
を具備することを特徴する請求項７に記載の携帯可能電子装置。
【請求項９】
携帯可能電子装置を処理する処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
前記送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、
前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、
を具備することを特徴とする携帯可能電子装置の処理装置。
【請求項１０】
コマンドに応じて処理を行う携帯可能電子装置及び前記携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第１の送受信部と、
ステータス情報を記憶するステータス情報記憶部と、
前記第１の送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、
前記第１の送受信部によりステータス確認コマンドを受信した場合、前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、
を具備し、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第２の送受信部と、
前記第２の送受信部により前記携帯可能電子装置にコマンドを送信してから所定時間レスポンスを受信しない場合、前記携帯可能電子装置の識別情報と前記携帯可能電子装置においてエラーが発生したことを示す情報とを対応付けてエラー履歴として記憶するエラー履歴記憶部と、
前記第２の送受信部により前記携帯可能電子装置に対して送信したコマンドに対するレスポンスに含まれる識別情報と、前記エラー履歴記憶部に格納されている識別情報とが一致する場合、ステータス確認コマンドを前期携帯可能電子装置に対して送信するステータス確認部と、
前記第２の送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、
前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、
を具備することを特徴とする携帯可能電子装置の処理システム。
【請求項１１】
端末から受信するコマンドに応じて処理を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
ステータス情報を記憶するステータス情報記憶部と、
前記送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、
前記送受信部によりステータス確認コマンドを受信した場合、前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、
を具備することを特徴とする携帯可能電子装置。
【請求項１２】
さらに、前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが設置される本体と、
を具備することを特徴する請求項１１に記載の携帯可能電子装置。
【請求項１３】
携帯可能電子装置を処理する処理装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
前記送受信部により前記携帯可能電子装置にコマンドを送信してから所定時間レスポンスを受信しない場合、前記携帯可能電子装置の識別情報と前記携帯可能電子装置においてエラーが発生したことを示す情報とを対応付けてエラー履歴として記憶するエラー履歴記憶部と、
前記送受信部により前記携帯可能電子装置に対して送信したコマンドに対するレスポンスに含まれる識別情報と、前記エラー履歴記憶部に格納されている識別情報とが一致する場合、ステータス確認コマンドを前期携帯可能電子装置に対して送信するステータス確認部と、
前記第２の送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、
前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、
を具備することを特徴とする携帯可能電子装置の処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置に関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵとを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６、ＩＳＯ／ＩＥＣ１４４４３に準拠したＩＣカードである。ＩＣカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ＩＣカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【０００４】
上記したようなＩＣカードは、種々のアプリケーションを記憶している。ＩＣカードは、ＩＣカードのリーダライタ（カードリーダライタ）から接触通信、または非接触通信によりコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【０００５】
しかし、一連の処理が完了する前にＩＣカードにおいてエラーが発生した場合、カードリーダライタは、処理をやり直す必要がある。そこで、エラーが発生した場合、エラーが発生した処理ステップにおいてアクセスしたメモリのエリア情報をカードリーダライタ側に出力するＩＣカードが提供されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−３９１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通常、ＩＣカードにおける通信時のエラーは、例えば、フレーミングエラー、オーバーランエラー、パリティエラー、及びＣＲＣエラー等が存在する。また、ＩＣカードにおけるコマンド処理中のエラーとして、コプロセッサ動作時の電力不足、または、書き込み時の電力不足などにより発生するエラーなどが存在する。
【０００８】
上記した特許文献のＩＣカードは、コマンド処理中のエラーが発生した場合、カードリーダライタにレスポンスを送信することができない。即ち、この場合、カードリーダライタは、ＩＣカードにおいて発生したエラーを検知することができないという問題がある。ＩＣカードの状態を検知できない場合、カードリーダライタは、搬送波を一度止め、ＩＣカードに対する処理を始めからやり直す必要があるという問題がある。
【０００９】
そこで、本発明の目的は、エラーが発生した後の処理をより効率よく行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一実施形態としての携帯可能電子装置の処理システムは、コマンドに応じて処理を行う携帯可能電子装置及び前記携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、前記携帯可能電子装置は、前記処理装置とデータの送受信を行う第１の送受信部と、ステータス情報を記憶するステータス情報記憶部と、前記第１の送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、当該携帯可能電子装置の起動時に前記第１の送受信部により前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、を具備し、前記処理装置は、前記携帯可能電子装置とデータの送受信を行う第２の送受信部と、前記第２の送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、を具備する。
【００１１】
また、本発明の一実施形態としての携帯可能電子装置は、端末から受信するコマンドに応じて処理を行う携帯可能電子装置であって、前記処理装置とデータの送受信を行う送受信部と、ステータス情報を記憶するステータス情報記憶部と、前記送受信部により受信するコマンドに基づいて処理を行い、コマンド種別及び処理結果を前記ステータス情報記憶部に格納するコマンド処理部と、当該携帯可能電子装置の起動時に前記送受信部により前記ステータス情報記憶部に格納されているステータス情報を前記処理端末に通知するステータス情報通知部と、を具備する。
【００１２】
また、本発明の一実施形態としての携帯可能電子装置の処理装置は、携帯可能電子装置を処理する処理装置であって、前記携帯可能電子装置とデータの送受信を行う送受信部と、前記送受信部により前記携帯可能電子装置から受信するステータス情報に基づいて前記携帯可能電子装置のステータスを認識する認識処理部と、前記認識処理部による処理結果に基づいて前記携帯可能電子装置に送信するコマンドを制御する制御部と、を具備する。
【発明の効果】
【００１３】
この発明の一形態によれば、エラーが発生した後の処理をより効率よく行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の一実施形態に係る携帯可能電子装置の処理システムの構成の例について説明するためのブロック図である。
【図２】図２は、図１に示す端末装置の構成例について説明するためのブロック図である。
【図３】図３は、図１に示すＩＣカードの構成例について説明するためのブロック図である。
【図４】図４は、図１に示すＩＣカード処理システムの各構成において行われる処理について説明するためのシーケンスである。
【図５】図５は、本実施形態に係る端末装置及びＩＣカードにおいて行われる処理の例について説明するためのシーケンスである。
【図６】図６は、ステータス情報を含むＡＴＡの構成例について説明するための説明図である。
【図７】図７は、本実施形態に係る端末装置及びＩＣカードにおいて行われる処理の他の例について説明するためのシーケンスである。
【図８】図８は、ステータス情報を含む第２の認証コマンドレスポンスの構成例について説明するための説明図である。
【図９】図９は、本実施形態に係る端末装置及びＩＣカードにおいて行われる処理のさらに他の例について説明するためのシーケンスである。
【図１０】図１０は、ステータス確認コマンドを含むＡＴＴＲＩＢの構成例について説明するための説明図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置について詳細に説明する。
【００１６】
図１は、本発明の一実施形態に係るＩＣカード処理システム１０の構成例について説明するためのブロック図である。  
図１に示すようにＩＣカード処理システム１０は、携帯可能電子装置の処理装置（端末装置）１と携帯可能電子装置（ＩＣカード）２とを備えている。端末装置１とＩＣカード２とは、接触通信、または非接触通信により互いに種々のデータの送受信を行う。なお、ここでは、ＩＳＯ／ＩＥＣ１４４４３に規定されるＴｙｐｅＢの通信プロトコルによりデータの送受信が行われる事を想定して説明する。
【００１７】
図２は、図１に示す端末装置の構成例について説明するためのブロック図である。図２に示すように、端末装置１は、制御部１１、ディスプレイ１２、キーボード１３、カードリーダライタ１４、及び記憶部１５などを有している。
【００１８】
制御部１１は、ＣＰＵ、ＲＯＭ、及びＲＡＭなどを備える。制御部１１は、端末装置１全体の動作を制御する。  
ディスプレイ１２は、制御部１１の制御により種々の情報を表示する。キーボード１３は、端末装置１の操作者による操作を操作信号として受け取る。
【００１９】
カードリーダライタ１４は、ＩＣカード２と通信を行うためのインターフェース装置である。カードリーダライタ１４は、ＩＣカード２に対して、電源供給、クロック供給、リセット制御、及びデータの送受信などを行う。即ち、カードリーダライタ１４は、送受信部として機能する。
【００２０】
制御部１１は、カードリーダライタ１４によりＩＣカード２に対して種々のコマンドを入力する。ＩＣカード２は、例えば、カードリーダライタ１４からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【００２１】
また、制御部１１は、ＩＣカード２に読み取りコマンドを送信することにより、ＩＣカード２からデータを読み出す。制御部１１は、ＩＣカード２から受信したデータに基づいて種々の処理を行う。
【００２２】
上記のカードリーダライタ１４は、ＩＣカード２とデータの送受信を行う。例えば、ＩＣカード２が接触式携帯可能電子装置として構成される場合、カードリーダライタ１４は、ＩＣカード２のコンタクトパターンと接続するための接触端子を備える。
【００２３】
また、ＩＣカード２が、非接触式携帯可能電子装置として構成される場合、カードリーダライタ１４は、信号処理部、送受信回路、及びアンテナなどを備える。
【００２４】
信号処理部は、ＩＣカード２との間で送受信するデータの符号化、復号、変調、及び復調を行なう。送受信回路は、信号処理部により変調されたデータ、及び、アンテナにより受信したデータを増幅する。
【００２５】
アンテナは、送信するデータに応じて磁界を発生させることにより、ＩＣカード２に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてＩＣカード２から送信されるデータを認識する。
【００２６】
制御部１１は、カードリーダライタ１４によりＩＣカード２に初期設定コマンドを送信することにより、ＩＣカード２との通信に関する設定を行う。即ち、制御部１１は、初期設定処理部として機能する。初期設定コマンドは、例えば、起動コマンド及び選択コマンドなどである。ＩＣカード２の検知を行なう為に、カードリーダライタ１４は、起動コマンド（例えば、リクエストコマンド、及びウェークアップコマンドなど）を繰り返し通信可能範囲に送信する。
【００２７】
ＩＣカード２が存在する場合、ＩＣカード２からの起動コマンドに対する返答がカードリーダライタ１４に返る。これにより、カードリーダライタ１４は、ＩＣカード２を検知する。また、ＩＣカード２が非接触式携帯可能電子装置である場合、カードリーダライタ１４は、所望のＩＣカード２を選択するための選択コマンドを送信する。これにより、カードリーダライタ１４とＩＣカード２との間で通信を行う事ができる。
【００２８】
また端末装置１は、必要に応じてＩＣカード２に相互認証コマンドを送信する。これにより、相互認証処理が行われる。ＩＣカード２と端末装置１との間で相互認証を行う場合、まず、端末装置１は、乱数を生成し、生成した乱数を暗号化し、ＩＣカード２に暗号化データを送信する。ＩＣカード２は、暗号化データを復号し、復号化データを端末装置１に返信する。また、ＩＣカード２は、乱数を生成し、生成した乱数を暗号化し、端末装置１に暗号化データを送信する。端末装置１は、暗号化データを復号し、復号化データを端末装置１に送信する。ＩＣカード２及び端末装置１は、通信対象の装置から送信される復号化データと元の乱数データとが一致するか否かを確認することにより、相互認証を行う。
【００２９】
上記した相互認証処理は、ＩＣカード２と端末装置１との間でコマンド及びレスポンスの送受信を２回ずつ行うことにより実現される。相互認証コマンドは、第１の認証コマンドと第２の認証コマンドとを含む。第１の認証コマンド及び第２の認証コマンドについては後述する。
【００３０】
記憶部１５は、書き換え可能な不揮発性メモリである。制御部１１は、例えば、ＩＣカード２においてエラーが発生したと判断した場合、ＩＣカード２においてエラーが発生したことを示す情報を生成し、記憶部１５に記憶する。この場合、制御部１１は、カード識別情報（例えば、ＰＵＰＩまたはＣＩＤなどのカード固有のＩＤ番号）などをエラーが発生したことを示す情報に関連付けて格納する。即ち、記憶部１５は、エラー履歴記憶部として機能する。
【００３１】
図３は、図１に示すＩＣカード２の構成例について説明するためのブロック図である。  
図３に示すように、ＩＣカード２は、カード状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とを備えている。ＩＣモジュール２２は、１つ又は複数のＩＣチップ２３と、通信部２４とを備える。ＩＣチップ２３と通信部２４とは、互いに接続された状態でＩＣモジュール２２に形成されている。
【００３２】
ＩＣチップ２３は、通信部２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、電源部２９、コプロセッサ３０、及びエラー検知部３１などを備えている。
【００３３】
通信部２４は、端末装置１のカードリーダライタ１４と通信を行うためのインターフェースである。通信部２４は、送受信部として機能する。  
カードリーダライタ１４と接触通信を行う場合、通信部２４は、クロック部、送受信部、及びリセット検出回路などを備える。クロック部は、端末装置１のカードリーダライタ１４から供給されるクロック信号をＵｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ（ＵＡＲＴ）などのハードに供給する。送受信部は、端末装置１とで送受信を行うデータの信号処理を行う。リセット検出回路は、端末装置１のカードリーダライタ１４から送信される信号におけるリセット信号を検出する。
【００３４】
また、カードリーダライタと非接触通信を行う場合、通信部２４は、端末装置１のカードリーダライタ１４と非接触通信を行うアンテナを備える。またさらに、通信部２４は、送受信データの増幅を行う送受信回路、及び復号変調などの処理を行う信号処理部を備える。
【００３５】
ＣＰＵ２５は、ＩＣカード２全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、カードリーダライタ１４から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【００３６】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２の仕様に応じて組み込まれる。
【００３７】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、通信部２４を介して端末装置１から受信したデータを一時的に格納する。また、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００３８】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭあるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ２８は、ＩＣカード２の運用用途に応じて制御プログラム及び種々のデータを格納する。
【００３９】
たとえば、不揮発性メモリ２８では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００４０】
また、不揮発性メモリ２８は、ステータス情報記憶部（ステータス情報記憶領域）２８ａを備えている。ステータス情報記憶部２８ａは、ステータス情報（コマンド種別、及び処理結果）を示す情報を記憶する。ステータス情報記憶部２８ａは、逐次ＣＰＵ２５により書き換えが行われる記憶領域である。
【００４１】
ＣＰＵ２５は、例えば、最後に処理したコマンド種別、及び処理結果をステータス情報記憶部２８ａに記憶する。即ち、ＣＰＵ２５は、端末装置１から受信するコマンドに基づいて処理を行い、レスポンスを送信する毎に、ステータス情報記憶部２８ａの情報を更新する。例えば、コマンドに対する処理を正常に完了させた場合、ＣＰＵ２５は、正常終了を示す情報をステータス情報記憶部２８ａに処理結果として格納する。
【００４２】
例えば、１つのデータの書き込みが複数のコマンドに分割される場合、ＩＣカード２のＣＰＵ２５は、同種のコマンドを受信した回数をカウントする。即ち、ＣＰＵ２５は、１つのデータの処理に関するコマンドが複数のコマンドに分割される場合、実行しているのが何番目のコマンドに対する処理であるのかをカウントする機能を具備する。
【００４３】
例えば、あるデータの書き込みを書き込みコマンド１乃至Ｎにより指示される場合、ＣＰＵ２５は、書き込みコマンドを受信する毎に、書き込みコマンド１、書き込みコマンド２、…書き込みコマンドＮとカウントする。ＣＰＵ２５は、ステータス情報記憶部２８ａのコマンド種別に当該コマンドが何番目のコマンドであるかを示す情報をさらに付加する。
【００４４】
電源部２９は、ＩＣカード２が非接触式携帯可能電子装置である場合、カードリーダライタ１４からのキャリアから電力及び動作クロックを生成する。電源部２９は、発生させた電力及び動作クロックをＩＣカード２の各部に電力を供給する。また、電源部２９は、ＩＣカード２が接触式携帯可能電子装置である場合、カードリーダライタ１４から供給される電力をＩＣカード２の各部に電力を供給する。ＩＣカード２の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４５】
コプロセッサ３０は、演算処理をハードウェアにより行う演算部である。例えば、コプロセッサ３０は、端末装置１からのコマンドに基づいて、暗号処理などの演算を行う。
【００４６】
エラー検知部３１は、コマンドの受信から実行の間に発生したエラーを検知する。この場合、エラー検知部３１は、発生したエラーの種別を検知する。コマンドの受信時及び実行時に発生するエラーは、例えば、フレーミングエラー、オーバーランエラー、パリティエラー、ＣＲＣエラー、コプロセッサ３０動作時の電力不足、及び、書き込み時の電力不足などが存在する。エラー検知部３１は、上記のエラーの種別を判別し、エラー情報を生成し、ＣＰＵ２５に通知する。
【００４７】
ＣＰＵ２５は、エラー検知部３１から通知されたエラー情報をコマンドの処理結果としてステータス情報記憶部２８ａに格納する。即ち、ＣＰＵ２５は、コマンド処理部として機能する。ＣＰＵ２５は、起動時にステータス情報記憶部２８ａを参照することにより、前回の処理におけるステータスを認識することができる。
【００４８】
例えば、ステータス情報記憶部２８ａにおいて処理結果としてエラー情報が格納されている場合、ＣＰＵ２５は、対応付けられているコマンドの処理中にエラー情報により示されるエラーが発生したと判断する。
【００４９】
また、ステータス情報記憶部２８ａにおいて処理結果として正常終了を示す情報が格納されている場合、ＣＰＵ２５は、対応付けられているコマンドの処理が正常に完了したと判断する。
【００５０】
図４は、図１に示すＩＣカード処理システム１０の各構成において行われる認証処理について説明するためのシーケンスである。なお、ここでは、端末装置１及びＩＣカード２は、ＩＳＯ／ＩＥＣ１４４４３に記載されている通信プロトコルＴｙｐｅＢに準じて通信を行うと仮定して説明する。
【００５１】
端末装置１は、常に通信可能範囲にリクエストコマンド（ＲＥＱＢ）またはウェークアップコマンド（ＷＵＰＢ）を送信する（ステップＳ１０）。ＲＥＱＢ、及びＷＵＰＢなどの起動コマンドには、ＴｙｐｅＢのＲＥＱＢで使用されるパラメータ（ＡＰｆ）、用途分野識別子（ＡＦＩ）、属性情報のパラメータ（ＰＡＲＡＭ）、及び巡回冗長検査符号（ＣＲＣ＿Ｂ）などが含まれる。
【００５２】
ＩＣカード２は、カードリーダライタ１４から磁界を受け、起電力を発生させると、ＩＣカード２は、ＲＥＱＢ、またはＷＵＰＢの受信を待つ状態となる。この状態において、ＲＥＱＢまたはＷＵＰＢを受信すると、ＩＣカード２のＣＰＵ２５は、通信に関する設定である初期設定を行う。即ち、ＣＰＵ２５は、初期設定処理部として機能する。
【００５３】
初期設定を行うと、ＣＰＵ２５は、ＲＥＱＢに応じてリクエスト応答信号（ＡＴＱＢ）を作成する。ＡＴＱＢには、例えば、ＴｙｐｅＢのＡＴＱＢで使用されるパラメータ（ＡＰａ）、カード識別情報（例えば、ＰＵＰＩまたはＣＩＤなどのカード固有のＩＤ番号）、アプリケーションの情報を伝えるための応用データ、プロトコル情報、及びＣＲＣ＿Ｂなどが含まれる。ＩＣカード２の通信部２４は、ＡＴＱＢに対してＴｙｐｅＢに準ずる信号処理を施し、カードリーダライタ１４に対して送信する（ステップＳ１１）。
【００５４】
カードリーダライタ１４は、ＩＣカード２から送信されるＡＴＱＢを受信することにより、通信可能範囲にＩＣカード２が存在することを検知する。なお、通信可能範囲内にＩＣカード２が複数枚存在する場合、カードリーダライタ１４は、Ｓｌｏｔ−Ｍａｒｋｅｒコマンドを用いることにより、複数枚のＩＣカード２からＡＴＱＢを受信することができる。
【００５５】
ＡＴＱＢを受信すると、端末装置１は、選択コマンド（ＡＴＴＲＩＢ）を生成する。ＡＴＴＲＩＢは、例えば、ＴｙｐｅＢのＡＴＴＲＩＢで使用されるパラメータ（１Ｄ）、識別子（Ｉｄｅｎｔｉｆｉｅｒ）、パラメータ（ＰＡＲＡＭ１−４）、上位階層情報（Ｈｉｇｈｅｒ  Ｌａｙｅｒ  Ｉｎｆｏｍａｔｉｏｎ）、及びＣＲＣ＿Ｂなどを含む。
【００５６】
制御部１１は、カードリーダライタ１４により、当該ＡＴＴＲＩＢをＩＣカード２に送信する（ステップＳ１２）。
【００５７】
ＩＣカード２は、ＡＴＴＲＩＢを受信すると、ＡＴＴＲＩＢに対するレスポンスであるＡｎｓｗｅｒ  ｔｏ  ＡＴＴＲＩＢ（ＡＴＡ）を生成する。ＡＴＡには、例えば、内部バッファの限界値（ＭＢＬＩ）、識別子（ＣＩＤ）、上位階層レスポンス（Ｈｉｇｈｅｒ  Ｌａｙｅｒ  Ｒｅｓｐｏｎｓｅ）、及びＣＲＣ＿Ｂなどが含まれる。
【００５８】
ＩＣカード２のＣＰＵ２５は、通信部２４により、当該ＡＴＡを端末装置１に送信する（ステップＳ１３）。
【００５９】
端末装置１の制御部１１は、ＩＣカード２からＡＴＡを受信すると、第１の認証コマンドを生成する。即ち、制御部１１は、乱数Ｒｒを生成し、生成した乱数Ｒｒに対して鍵セットＡを用いて暗号化を施す。これにより、制御部１１は、暗号化データＲｒＡを取得する。
【００６０】
第１の認証コマンドは、クラスバイト（ＣＬＡ）、コマンド種別（ＩＮＳ）、パラメータ（Ｐ１、Ｐ２）、データフィールドの長さ（Ｌｃ）、データフィールド（ＤＡＴＡ）、及び予想されるレスポンスのデータ長（Ｌｅ）などを含む。例えば、相互認証がＴｒｉｐｌｅ−ＤＥＳ方式により行われる場合、第１の認証コマンドは、８ｂｙｔｅｓのデータにより構成される。
【００６１】
制御部１１は、生成した第１の認証コマンドをＩＣカード２に送信する（ステップＳ１４）。
【００６２】
ＩＣカード２のＣＰＵ２５は、第１の認証コマンドを受信した場合、第１の認証処理を行う。ＣＰＵ２５は、第１の認証コマンドに含まれている暗号化データに対して復号処理を行う。
【００６３】
即ち、ＣＰＵ２５は、第１の認証コマンドに含まれている暗号化データＲｒＡに対して鍵セットＡを用いて復号処理を行う。これにより、ＣＰＵ２５は、復号化データＲｒＡを取得する。さらに、ＣＰＵ２５は、復号化データＲｒＡに対して鍵セットＢを用いて暗号化を施す。これにより、ＣＰＵ２５は、暗号化データＲｒＢを取得する。
【００６４】
また、ＣＰＵ２５は、乱数Ｒｃを生成する。ＣＰＵ２５は、乱数Ｒｃに対して鍵セットＡを用いて暗号化を施す。これにより、ＣＰＵ２５は、暗号化データＲｃＡを取得する。ＣＰＵ２５は、暗号化データＲｒＢと、暗号化データＲｃＡとに基づいて第１の認証コマンドレスポンスを生成する。第１の認証コマンドレスポンスは、データフィールド（ＤＡＴＡ）、ステータスワード（ＳＷ１、ＳＷ２）などを含む。ＣＰＵ２５は、通信部２４により、当該第１の認証コマンドレスポンスを端末装置１に送信する（ステップＳ１５）。
【００６５】
端末装置１は、第１の認証コマンドレスポンスを受信すると、第２の認証コマンドを生成する処理を行う。即ち、制御部１１は、ＩＣカード２から第１の認証コマンドレスポンスを受信すると、第１の認証コマンドレスポンスに含まれている暗号化データＲｒＢに対して鍵セットＢを用いて復号する。これにより、制御部１１は、復号化データＲｒＢを取得する。制御部１１は、復号化データＲｒＢと元の乱数Ｒｒとが一致するか否か判定する。復号化データＲｒＢと元の乱数Ｒｒとが一致する場合、制御部１１は、ＩＣカード２が正当であると判定する。
【００６６】
また、制御部１１は、第１の認証コマンドレスポンスに含まれている暗号化データＲｃＡに対して鍵セットＡを用いて復号処理を行う。これにより、制御部１１は、復号化データＲｃＡを取得する。制御部１１は、復号化データＲｃＡに対して鍵セットＢを用いて暗号化を施す。これにより、制御部１１は、暗号化データＲｃＢを取得する。制御部１１は、取得した復号化データＲｃＢに基づいて第２の認証コマンドを生成する。第２の認証コマンドは、ＣＬＡ、ＩＮＳ、Ｐ１、Ｐ２、Ｌｃ、ＤＡＴＡ、及びＬｅなどを含む情報である。制御部１１は、第２の認証コマンドをＩＣカード２に送信する（ステップＳ１６）。
【００６７】
ＩＣカード２は、第２の認証コマンドを受信すると、第２の認証処理を行う。即ち、ＩＣカード２のＣＰＵ２５は、受信した第２の認証コマンドに含まれている暗号化データＲｃＢに対して鍵セットＢを用いて復号処理を施す。これにより、ＣＰＵ２５は、復号化データＲｃＢを取得する。ＣＰＵ２５は、復号化データＲｃＢと元の乱数Ｒｃとが一致するか否か判定する。復号化データＲｃＢと元の乱数Ｒｃとが一致する場合、ＣＰＵ２５は、端末装置１が正当であると判定する。
【００６８】
この結果に基づいて、ＣＰＵ２５は、第２の認証コマンドレスポンスを生成する。第２の認証コマンドレスポンスは、ＤＡＴＡ、ＳＷ１、及びＳＷ２などを含む情報である。ＣＰＵ２５は、第２の認証コマンドレスポンスを端末装置１に送信する（ステップＳ１７）。
【００６９】
上記の処理により、互いに通信対象が正当であると判断した場合、種々の処理を行う事ができる。即ち、端末装置１が書き込みコマンドＮをＩＣカード２に送信する（ステップＳ１８）。ＩＣカード２は、受信した処理コマンドに応じて処理を行い、処理結果（書き込みコマンドＮレスポンス）を端末装置に送信する（ステップＳ１９）。
【００７０】
端末装置１の制御部１１は、書き込みコマンドＮレスポンスを受信した場合、書き込みコマンドＮの次のステップの処理を指示する為の、書き込みコマンドＮ＋１をＩＣカード２に送信する（ステップＳ２０）。ＩＣカード２は、受信した処理コマンドに応じて処理を行い、処理結果（書き込みコマンドＮ＋１レスポンス）を端末装置に送信する。しかし、図４に示すように、書き込みコマンドＮ＋１を受信した際にエラーが発生した場合、ＣＰＵ２５は、エラー情報を端末装置１に通知する処理を行う。しかし、例えば、電力不足などの為にエラーが発生したことを示すエラー情報をレスポンスとして送信できない場合がある。
【００７１】
図５は、本実施形態に係る端末装置１及びＩＣカード２において行われる処理の例について説明するためのシーケンスである。
【００７２】
端末装置１は、エラー情報を受信した場合、または、送信したコマンドに対するレスポンスを受信しない状態が所定時間以上経過した場合、ＩＣカード２においてエラーが発生したと判断する。ＩＣカード２においてエラーが発生したと判断した場合、端末装置１は、再び通信可能範囲にリクエストコマンド（ＲＥＱＢ）またはウェークアップコマンド（ＷＵＰＢ）を送信する状態となる（ステップＳ２１）。
【００７３】
ＩＣカード２は、起動コマンドを受信した場合、起動処理を行い、ＡＴＱＢを端末装置１に送信する（ステップＳ２２）。
【００７４】
端末装置１は、ＡＴＱＢを受信した場合、ＩＣカード２を選択するためのＡＴＴＲＩＢをＩＣカード２に対して送信する（ステップＳ２３）。
【００７５】
ＩＣカード２は、ＡＴＴＲＩＢを受信した場合、ステータス情報を確認する。即ち、ＩＣカード２のＣＰＵ２５は、ステータス情報記憶部２８ａを参照し、最後に処理したコマンドのコマンド種別と処理結果とを確認する。
【００７６】
なお、この場合、ＣＰＵ２５は、通信対象の端末装置１が、前回エラーが発生した際に通信を行っていた端末装置１であるか否かを判定する。例えば、ＣＰＵ２５は、ステータス情報記憶部２８ａにコマンド種別情報を記憶する場合、コマンドに含まれる端末装置１の識別情報をさらに記憶する。ＣＰＵ２５は、ステータス情報記憶部２８ａに格納されている識別情報と、ＡＴＴＲＩＢに含まれる識別情報とを比較し、通信対象の端末が前回エラーが発生した際に通信を行っていた端末装置１であるか否かを判定する。
【００７７】
ＣＰＵ２５は、通信対象の端末が前回エラーが発生した際に通信を行っていた端末装置１であると判定した場合、ＡＴＴＲＩＢに対するレスポンス（ＡＴＡ）にステータス情報を付加する。
【００７８】
図６は、ステータス情報を含むＡＴＡの構成例について説明するための説明図である。  
図６に示すように、ＣＰＵ２５は、ステータス情報をＡＴＡの上位階層レスポンスに格納し、ＡＴＡを端末装置１に送信する（ステップＳ２４）。即ち、ＣＰＵ２５は、ステータス情報通知部として機能する。
【００７９】
例えば、書き込みコマンドＮ＋１とエラー情報とがステータス情報記憶部２８ａに格納されている場合、ＣＰＵ２５は、エラー情報と、このエラーが発生したコマンド（この場合、書き込みコマンドＮ＋１）を示す情報とをステータス情報として上位階層レスポンスに格納する。
【００８０】
また、例えば、書き込みコマンドＮと正常終了を示す処理結果とがステータス情報記憶部２８ａに格納されている場合、ＣＰＵ２５は、正常終了を示す情報と、この処理結果に対応するコマンドとをステータス情報として上位階層レスポンスに格納する。
【００８１】
端末装置１の制御部１１は、図６に示すようなＡＴＡを受信した場合、ＩＣカード２のステータスを認識することができる。即ち、制御部１１は、認識処理部として機能する。また、制御部１１は、ＩＣカード２のステータスに応じて次に送信するコマンドを選択し、ＩＣカード２に送信する（ステップＳ２５）。
【００８２】
例えば、端末装置１は、受信したＡＴＡにステータス情報として書き込みコマンドＮ＋１及びエラー情報が含まれている場合、書き込みコマンドＮ＋１に対する通信処理またはコマンド処理においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【００８３】
また、例えば、受信したＡＴＡにステータス情報として書き込みコマンドＮ及び正常終了を示す情報が含まれている場合、後続のコマンドが存在するか否か判断する。即ち、端末装置１は、前回処理時に、書き込みコマンドＮの後にコマンドをＩＣカード２に送信したか否かを判断する。送信している場合、書き込みコマンドＮの次のコマンド（この場合、書き込みコマンドＮ＋１）においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【００８４】
ＩＣカード２は、書き込みコマンドＮ＋１を受信すると、書き込みコマンドＮ＋１に対して処理を行い、書き込みコマンドＮ＋１レスポンスを端末装置１に送信する（ステップＳ２６）。
【００８５】
これにより、ＩＣカード２は、エラーが発生する前までのステップを再び行うことなく、一連のコマンド処理を行う事ができる。
【００８６】
図７は、本実施形態に係る端末装置１及びＩＣカード２において行われる処理の他の例について説明するためのシーケンスである。
【００８７】
端末装置１は、送信したコマンドに対するレスポンスを受信しない状態が所定時間以上経過した場合、ＩＣカード２においてエラーが発生したと判断する。ＩＣカード２においてエラーが発生したと判断した場合、端末装置１は、再び通信可能範囲にリクエストコマンド（ＲＥＱＢ）またはウェークアップコマンド（ＷＵＰＢ）を送信する状態となる（ステップＳ３１）。
【００８８】
ＩＣカード２は、起動コマンドを受信した場合、起動処理を行い、ＡＴＱＢを端末装置１に送信する（ステップＳ３２）。
【００８９】
端末装置１は、ＡＴＱＢを受信した場合、ＩＣカード２を選択するためのＡＴＴＲＩＢをＩＣカード２に対して送信する（ステップＳ３３）。ＩＣカード２は、ＡＴＴＲＩＢを受信した場合、ＡＴＡを生成し、端末装置１に送信する（ステップＳ３４）。
【００９０】
端末装置１は、ＡＴＡを受信すると、第１の認証コマンドを生成し、ＩＣカード２に送信する（ステップＳ３５）。ＩＣカード２は、第１の認証処理を行い、第１の認証コマンドレスポンスを端末装置１に送信する（ステップＳ３６）。
【００９１】
端末装置１は、第１の認証コマンドレスポンスを受信すると、ＩＣカード２の認証を行う。ＩＣカード２を認証した場合、端末装置１は、第２の認証コマンドを生成し、ＩＣカード２に送信する（ステップＳ３７）。ＩＣカード２は、第２の認証処理を行う。これにより、ＩＣカード２は、端末装置１の認証を行う。
【００９２】
ＩＣカード２のＣＰＵ２５は、認証を行ったを受信した場合、ステータス情報を確認する。即ち、ＩＣカード２のＣＰＵ２５は、ステータス情報記憶部２８ａを参照し、最後に処理したコマンドのコマンド種別と処理結果とを確認する。
【００９３】
なお、この場合、ＣＰＵ２５は、通信対象の端末装置１が、前回エラーが発生した際に通信を行っていた端末装置１であるか否かを判定する。例えば、ＣＰＵ２５は、ステータス情報記憶部２８ａにコマンド種別情報を記憶する場合、認証コマンドに含まれる端末装置１の識別情報をさらに記憶する。ＣＰＵ２５は、ステータス情報記憶部２８ａに格納されている識別情報と、第１または第２の認証コマンドに含まれる識別情報とを比較し、通信対象の端末が前回エラーが発生した際に通信を行っていた端末装置１であるか否かを判定する。
【００９４】
ＣＰＵ２５は、通信対象の端末が前回エラーが発生した際に通信を行っていた端末装置１であると判定した場合、第２の認証コマンドレスポンスにステータス情報を付加し、端末装置１に送信する（ステップＳ３８）。
【００９５】
図８は、ステータス情報を含む第２の認証コマンドレスポンスの構成例について説明するための説明図である。  
図８に示すように、ＣＰＵ２５は、ステータス情報を第２の認証コマンドレスポンスのＤＡＴＡに格納し、第２の認証コマンドレスポンスを端末装置１に送信する。
【００９６】
端末装置１は、図８に示すような第２の認証コマンドレスポンスを受信した場合、ＩＣカード２のステータスを認識することができる。端末装置１は、ＩＣカード２のステータスに応じて次に送信するコマンドを選択し、ＩＣカード２に送信する（ステップＳ３９）。
【００９７】
例えば、端末装置１は、受信した第２の認証コマンドレスポンスにステータス情報として書き込みコマンドＮ＋１及びエラー情報が含まれている場合、書き込みコマンドＮ＋１に対する通信処理またはコマンド処理においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【００９８】
また、例えば、受信した第２の認証コマンドレスポンスにステータス情報として書き込みコマンドＮ及び正常終了を示す情報が含まれている場合、後続のコマンドが存在するか否か判断する。即ち、端末装置１は、前回処理時に、書き込みコマンドＮの後にコマンドをＩＣカード２に送信したか否かを判断する。送信している場合、書き込みコマンドＮの次のコマンド（この場合、書き込みコマンドＮ＋１）においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【００９９】
ＩＣカード２は、書き込みコマンドＮ＋１に対して処理を行い、書き込みコマンドＮ＋１レスポンスを端末装置１に送信する（ステップＳ４０）。
【０１００】
これにより、ＩＣカード２は、エラーが発生する前までのステップを再び行うことなく、相互認証、及び一連のコマンド処理を行う事ができる。また、この場合、エラー情報を一般的なコマンドレスポンスである認証コマンドレスポンスのＤＡＴＡに格納する為、通信プロトコルＴｙｐｅＢ以外にも容易に適用することができる。また、非接触通信に限らず、接触通信であっても、容易に本発明を適用することができる。
【０１０１】
図９は、本実施形態に係る端末装置１及びＩＣカード２において行われる処理のさらに他の例について説明するためのシーケンスである。本例では、ＩＣカード２から送信されるＡＴＱＢに含まれるカード識別情報はカード毎に固定であると仮定する。
【０１０２】
端末装置１は、送信したコマンドに対するレスポンスを受信しない状態が所定時間以上経過した場合、ＩＣカード２においてエラーが発生したと判断する。この場合、制御部１１は、エラーが発生したことを示す情報と、エラーが発生したＩＣカード２のカード識別情報とをエラー履歴として記憶部１５に記憶する。
【０１０３】
ＩＣカード２においてエラーが発生したと判断した場合、端末装置１は、再び通信可能範囲にリクエストコマンド（ＲＥＱＢ）またはウェークアップコマンド（ＷＵＰＢ）を送信する状態となる（ステップＳ４１）。
【０１０４】
ＩＣカード２は、起動コマンドを受信した場合、起動処理を行い、ＡＴＱＢを端末装置１に送信する（ステップＳ４２）。
【０１０５】
端末装置１は、受信したＡＴＱＢに基づいて通信対象のＩＣカード２にエラー履歴が存在するか否か判断する。即ち、端末装置１の制御部１１は、ＡＴＱＢに含まれるカード識別情報が記憶部１５に格納されているか否かを判断する。ＡＴＱＢに含まれるカード識別情報が記憶部１５に格納されている場合、制御部１１は、ステータス情報を送信するように要求するためのステータス確認コマンドを生成する。即ち、制御部１１は、ステータス確認部として機能する。
【０１０６】
同時に、制御部１１は、ＡＴＴＲＩＢコマンドを生成する。制御部１１は、ステータス確認コマンドをＡＴＴＲＩＢの上位階層情報に格納する。
【０１０７】
図１０は、ステータス確認コマンドを含むＡＴＴＲＩＢの構成例について説明するための説明図である。
【０１０８】
図１０に示すように、制御部１１は、ステータス確認コマンド（「ＣＬＡ」「ＩＮＳ」「Ｐ１」「Ｐ２」「Ｌｃ」「ＤＡＴＡ」「Ｌｅ」）をＡＴＴＲＩＢの上位階層情報に格納し、ＩＣカード２に送信する（ステップＳ４３）。
【０１０９】
ＩＣカード２のＣＰＵ２５は、図１０に示すＡＴＴＲＩＢを受信した場合、ＡＴＴＲＩＢの上位階層情報にコマンドが格納されているか否か判断する。上位階層情報にステータス確認コマンドが格納されている場合、ＣＰＵ２５は、ステータス情報記憶部２８ａの内容を確認する。
【０１１０】
例えば、ステータス情報記憶部２８ａにおいて処理結果としてエラー情報が格納されている場合、ＣＰＵ２５は、対応付けられているコマンドの処理中にエラー情報により示されるエラーが発生したと判断する。
【０１１１】
また、ステータス情報記憶部２８ａにおいて処理結果として正常終了を示す情報が格納されている場合、ＣＰＵ２５は、対応付けられているコマンドの処理が正常に完了したと判断する。
【０１１２】
ＩＣカード２は、上記のステータス情報をＡＴＡの上位階層レスポンスに格納し、ＡＴＡを端末装置１に送信する（ステップＳ４４）。
【０１１３】
例えば、書き込みコマンドＮ＋１とエラー情報とがステータス情報記憶部２８ａに格納されている場合、ＣＰＵ２５は、エラー情報と、このエラーが発生したコマンド（この場合、書き込みコマンドＮ＋１）を示す情報とをステータス情報として上位階層レスポンスに格納する。
【０１１４】
また、例えば、書き込みコマンドＮと正常終了を示す処理結果とがステータス情報記憶部２８ａに格納されている場合、ＣＰＵ２５は、正常終了を示す情報と、この処理結果に対応するコマンドとをステータス情報として上位階層レスポンスに格納する。
【０１１５】
端末装置１は、ステータス情報を含むＡＴＡを受信した場合、ＩＣカード２のステータスを認識することができる。端末装置１は、ＩＣカード２のステータスに応じて次に送信するコマンドを選択し、ＩＣカード２に送信する（ステップＳ４５）。
【０１１６】
例えば、端末装置１は、受信したＡＴＡにステータス情報として書き込みコマンドＮ＋１及びエラー情報が含まれている場合、書き込みコマンドＮ＋１に対する通信処理またはコマンド処理においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【０１１７】
また、例えば、受信したＡＴＡにステータス情報として書き込みコマンドＮ及び正常終了を示す情報が含まれている場合、書き込みコマンドＮの次のコマンド（この場合、書き込みコマンドＮ＋１）においてエラーが発生したと判断する。この場合、端末装置１は、書き込みコマンドＮ＋１をＩＣカード２に送信する。
【０１１８】
ＩＣカード２は、書き込みコマンドＮ＋１を受信すると、書き込みコマンドＮ＋１に対して処理を行い、書き込みコマンドＮ＋１レスポンスを端末装置１に送信する（ステップＳ４６）。
【０１１９】
上記した実施形態によると、ＩＣカード２は、コマンドを処理する毎に処理結果を含むステータスをステータス情報記憶部２８ａに格納する。ＩＣカード２は、起動時にステータス情報記憶部２８ａに格納されている情報を参照し、通信対象の端末装置１と前回の通信対象の端末装置が一致する場合、ステータス情報を端末装置１に送信する。端末装置１は、受信したステータス情報に基づいて前回通信時にエラーが発生したコマンドを特定し、エラーが発生したコマンドをＩＣカード２に送信する。
【０１２０】
これにより、ＩＣカード２は、エラーが発生する前までのステップを再び行うことなく、一連のコマンド処理を行う事ができる。この為、コマンド及びレスポンスの送受信の回数を減らす事ができる。この結果、エラーが発生した後の処理をより効率よく行う事ができる携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置を提供することができる。
【０１２１】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【０１２２】
上記した実施形態では、認証処理の為の認証データとして乱数Ｒｒ及びＲｃを生成して用いる構成として説明したが、この構成に限定されない。例えば、ＡＴＱＢに含まれているＰＵＰＩ、またはＣＩＤなどを認証データとして用いてもよい。この場合、ＩＣカード２は、認証データを復号した際に自身の保有する識別情報と復号化データとで照合することにより、端末装置１におけるＩＣカードの誤認識を検知することができる。
【０１２３】
また、上記した実施形態では、ＴｙｐｅＢの通信プロトコルを前提として説明したが、この構成に限定されない。認証コマンドを格納するだけの空き容量のあるコマンドを起動または選択コマンドとして用いる通信プロトコルであれば、如何なるものであっても本発明を適用することができる。また、接触通信においても同様に本発明を実施することができる。
【符号の説明】
【０１２４】
１…端末装置、２…ＩＣカード、１０…ＩＣカード処理システム、１１…制御部、１２…ディスプレイ、１３…キーボード、１４…カードリーダライタ、１５…記憶部、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…通信部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２８ａ…ステータス情報記憶部、２９…電源部、３０…コプロセッサ、３１…エラー検知部。
【図１】
2011022841.tif 000003
【図２】
2011022841.tif 000004
【図３】
2011022841.tif 000005
【図４】
2011022841.tif 000006
【図５】
2011022841.tif 000007
【図６】
2011022841.tif 000008
【図７】
2011022841.tif 000009
【図８】
2011022841.tif 000010
【図９】
2011022841.tif 000011
【図１０】
2011022841.tif 000012