(57)【要約】【課題】より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードのリーダライタを提供する。【解決手段】一実施形態に係るＩＣカードは、外部機器と非接触通信を行うＩＣカードであって、前記外部機器から送信された第１のコマンドを受信する受信手段と、前記第１のコマンドが前記ＩＣカードの受動側から能動側への切り替えを要求する切替要求コマンドであるか否か判定する判定部と、前記第１のコマンドが前記切替要求コマンドである場合、自身を受動側から能動側に切り替える切替部と、前記外部機器の通信可能範囲内に存在する他のＩＣカードの識別情報を前記切替要求コマンドから取得する識別情報取得部と、前記識別情報取得部により取得した前記識別情報を含む前記他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信部と、を具備する。【選択図】      図２
2014063341.tif 000002
【特許請求の範囲】
【請求項１】
外部機器と非接触通信を行うＩＣカードであって、
前記外部機器から送信された第１のコマンドを受信する受信手段と、
前記第１のコマンドが前記ＩＣカードの受動側から能動側への切り替えを要求する切替要求コマンドであるか否か判定する判定部と、
前記第１のコマンドが前記切替要求コマンドである場合、自身を受動側から能動側に切り替える切替部と、
前記外部機器の通信可能範囲内に存在する他のＩＣカードの識別情報を前記切替要求コマンドから取得する識別情報取得部と、
前記識別情報取得部により取得した前記識別情報を含む前記他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、
前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信部と、
を具備するＩＣカード。
【請求項２】
識別情報を記憶する記憶部と、
前記切替部により自身が受動側から能動側に切り替えられた場合、前記記憶部に記憶されている前記識別情報を前記外部機器に送信する識別情報送信部と、
をさらに具備する請求項１に記載のＩＣカード。
【請求項３】
前記コマンド生成部は、前記切替部により自身が受動側から能動側に切り替えられた場合、前記識別情報送信部により送信した前記識別情報を含む前記外部機器に処理を実行させる為の第３のコマンドを生成し、
前記コマンド送信部は、前記第３のコマンドを前記外部機器に送信する、
請求項２に記載のＩＣカード。
【請求項４】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項５】
外部機器と非接触通信を行う携帯可能電子装置であって、
前記外部機器から送信された第１のコマンドを受信する受信手段と、
前記第１のコマンドが前記携帯可能電子装置の受動側から能動側への切り替えを要求する切替要求コマンドであるか否か判定する判定部と、
前記第１のコマンドが前記切替要求コマンドである場合、自身を受動側から能動側に切り替える切替部と、
前記外部機器の通信可能範囲内に存在する他の携帯可能電子装置の識別情報を前記切替要求コマンドから取得する識別情報取得部と、
前記識別情報取得部により取得した前記識別情報を含む前記他の携帯可能電子装置に処理を実行させる為の第２のコマンドを生成するコマンド生成部と、
前記第２のコマンドを前記他の携帯可能電子装置に送信するコマンド送信部と、
を具備する携帯可能電子装置。
【請求項６】
初期応答要求コマンドを送信し、通信可能範囲内の複数のＩＣカードから各ＩＣカードの識別情報を含む初期応答を受け取る初期応答取得部と、
前記初期応答を用いて通信可能範囲内のＩＣカードを選択する選択部と、
前記選択部により選択した前記ＩＣカードの受動側から能動側への切り替えを要求する切替要求コマンドを生成する切替要求コマンド生成部と、
前記切替要求コマンドに通信可能範囲内のＩＣカードの識別情報を付加する識別情報付加部と、
通信可能範囲内のＩＣカードの識別情報を含む前記切替要求コマンドを前記選択部により選択した前記ＩＣカードに送信する送信部と、
を具備するＩＣカードのリーダライタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及びカードリーダライタに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵと、ＣＰＵの処理に利用されるＲＡＭメモリなどを有している。
【０００３】
ＩＣカードは、非接触通信によりデータの送受信を行うことができる。このような非接触通信を行うＩＣカードは、ＩＣチップとアンテナとを備えている。ＩＣカードは、ＩＣカードを処理するＩＣカード処理装置のリーダライタから出力された磁界をカード内のアンテナにより受け取り、電磁誘導により起電させることにより動作する。また、ＩＣカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ＩＣカードは、種々の機能を実現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ＩＣカード処理装置は、ＩＣカードにコマンドを送信する能動側（アクティブ）として機能する。また、ＩＣカードは、受信したコマンドに応じて処理を行う受動側（パッシブ）として機能する。しかし、近年、能動側として機能するＩＣカードが望まれている。
【０００６】
しかし、ＩＣカードの通信可能範囲内のさらに他のＩＣカードが存在した場合、能動側に切り替わったＩＣカードは、通信可能範囲内のＩＣカードを検出する為に衝突回避処理（アンチコリジョン）、及び初期設定を行なう必要がある。この為、処理時間が嵩むという課題がある。
【０００７】
そこで、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態に係るＩＣカードは、外部機器と非接触通信を行うＩＣカードであって、前記外部機器から送信された第１のコマンドを受信する受信手段と、前記第１のコマンドが前記ＩＣカードの受動側から能動側への切り替えを要求する切替要求コマンドであるか否か判定する判定部と、前記第１のコマンドが前記切替要求コマンドである場合、自身を受動側から能動側に切り替える切替部と、前記外部機器の通信可能範囲内に存在する他のＩＣカードの識別情報を前記切替要求コマンドから取得する識別情報取得部と、前記識別情報取得部により取得した前記識別情報を含む前記他のＩＣカードに処理を実行させる為の第２のコマンドを生成するコマンド生成部と、前記第２のコマンドを前記他のＩＣカードに送信するコマンド送信部と、を具備する。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係るＩＣカード処理システムについて説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードについて説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードについて説明するための図である。
【図４】図４は、一実施形態に係るＩＣカードについて説明するための図である。
【図５】図５は、一実施形態に係るＩＣカードについて説明するための図である。
【図６】図６は、一実施形態に係るＩＣカードについて説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、一実施形態に係るＩＣカード、携帯可能電子装置、及びカードリーダライタについて詳細に説明する。
【００１１】
図１は、一実施形態に係るＩＣカード処理システム１の構成例を示す。  
ＩＣカード処理システム１は、ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０を備える。
【００１２】
本実施形態に係る携帯可能電子装置（ＩＣカード）１０、２０、及び３０は、例えば、非接触通信の機能を備える。これにより、ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０は、互いに非接触通信によりデータの送受信を行うことができる。ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０は同様の構成を備える。なお、初期状態で、ＩＣカード１０が能動側として機能し、ＩＣカード２０及び３０が受動側で機能すると仮定して説明する。
【００１３】
この場合、ＩＣカード１０は、ＩＣカード２０またはＩＣカード３０に対してコマンドを送信に対してコマンドを送信し、ＩＣカード２０またはＩＣカード３０からレスポンスを受信するＩＣカードのリーダライタとして機能する。ＩＣカード２０及びＩＣカード３０は、ＩＣカード１０から送信されたコマンドに応じて処理を実行し、レスポンスをＩＣカード１０に送信する。
【００１４】
また、ＩＣカード２０及びＩＣカード３０は、ＩＣカード１０と同様に、他のＩＣカードに対してコマンドを送信する能動側の機能も備える。また、ＩＣカード１０は、ＩＣカード２０及びＩＣカード３０と同様に、他のＩＣカードから送信されたコマンドに基づく処理を行う受動側の機能も備える。
【００１５】
図２は、一実施形態に係るＩＣカード２０の構成例を示す。なお、ここでは、ＩＣカード２０を例に挙げて説明するが、ＩＣカード１０及びＩＣカード３０も同様の構成を備える。
【００１６】
図２に示すように、ＩＣカード２０は、例えば、矩形状の本体２１と、本体２１内に内蔵されたＩＣモジュール２２とアンテナ共振回路（共振部）２４とを備える。ＩＣモジュール２２は、ＩＣチップ２３を備える。ＩＣモジュール２２が本体２１に設置された場合、本体２１に設置された共振部２４とＩＣモジュール２２のＩＣチップ２３とが接続される。
【００１７】
なお、本体２１は、少なくとも共振部２４が配設されるＩＣモジュール２２を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【００１８】
ＩＣチップ２３は、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、電源部３１、及びロジック部３２などを備える。ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、送受信部２９、及びロジック部３２は、バスを介して互いに接続されている。
【００１９】
共振部２４は、他のＩＣカードなどの外部機器と通信を行うためのインターフェースである。共振部２４は、例えば、ＩＣモジュール２２内に所定の形状で配設される金属線により構成されるアンテナを備える。
【００２０】
ＩＣカード２０は、外部機器に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、外部機器に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて外部機器から送信されたデータを認識する。これにより、ＩＣカード２０は、外部機器から送信されたデータを受信することができる。
【００２１】
ＣＰＵ２５は、ＩＣカード２０全体の制御を司る制御部として機能する。ＣＰＵ２５は、ＲＯＭ２６あるいは不揮発性メモリ２８に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ２５は、外部機器から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。また、ＣＰＵ２５は、外部機器に実行させるコマンドを生成することができる。
【００２２】
ＲＯＭ２６は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２６は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２６に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００２３】
ＲＡＭ２７は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２７は、ＣＰＵ２５の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２７は、共振部２４を介して受信したデータを一時的に格納する。またＲＡＭ２７は、共振部２４を介して外部機器に送信するデータを一時的に格納する。またさらに、ＲＡＭ２７は、ＣＰＵ２５が実行するプログラムを一時的に格納する。
【００２４】
不揮発性メモリ２８は、例えば、ＥＥＰＲＯＭなどのデータの書き込み及び書き換えが可能なフラッシュメモリを備える。不揮発性メモリ２８は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
【００２５】
送受信部２９は、外部機器に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、送受信部２９は、外部機器に送信するデータの変調（増幅）を行う。送受信部２９は、信号処理を施したデータを共振部２４に送信する。
【００２６】
また、送受信部２９は、共振部２４により受信する信号に対して復調、及び復号を行う。例えば、送受信部２９は、共振部２４により受信する信号の解析を行う。これにより、送受信部２９は、２値の論理データを取得する。送受信部２９は、解析したデータをバスを介してＣＰＵ２５に送信する。
【００２７】
電源部３１は、ＩＣカードを処理する端末装置、または他のＩＣカードなどから出力された電波、特にキャリア波に基づいて電力を生成する。即ち、電源部３１は、共振部２４により空間中の搬送波を受け取り、電磁誘導により電力を生成することができる。さらに、電源部３１は、動作クロックを生成する。電源部３１は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００２８】
また、電源部３１は、バッテリ３１ａを備える。バッテリ３１ａは、例えば、物質の化学反応または物理反応によって電気エネルギーを取り出す電池を備える。また、バッテリ３１ａは、供給された電力を蓄えるコンデンサ、または充電池を備える構成であってもよい。
【００２９】
例えば、電源部３１は、空間中に出力されたキャリア波（搬送波）に基づいて電力を生成し、生成した電力をバッテリ３１ａに充電することができる。また、電源部３１は、バッテリ３１ａに充電されている電力を共振部２４に供給することができる。これにより、ＩＣカード２０は、バッテリ３１ａに充電されている電力を用いて搬送波を共振部２４から空間中に出力することができる。これにより、ＩＣカード２０は、空間中の他のＩＣカード（例えばＩＣカード１０またはＩＣカード３０）に対して電力を供給することができる。
【００３０】
ロジック部３２は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部３２は、外部機器からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、ＩＣカード２０が相互認証コマンドを受信した場合、ロジック部３２は、乱数を生成し、生成した乱数をＣＰＵ２５に伝送する。
【００３１】
ＣＰＵ２５は、自身が受動側（パッシブ）である場合、送受信部２９により受信したコマンドに応じた処理（コマンド処理）を実行することができる。ＣＰＵ２５は、例えば、送受信部２９により受信したコマンドに応じて、読み出し、書き込みなどのＩＳＯ／ＩＥＣ７８１６で規定された種々のコマンドに応じた処理を実行することができる。
【００３２】
また、ＣＰＵ２５は、自身が能動側（アクティブ）である場合、送受信部２９によりＩＣカード１０またはＩＣカード３０などの外部機器にコマンドを送信することができる。また、ＣＰＵ２５は、ＩＣカード１０またはＩＣカード３０などの外部機器から送信されたレスポンスを解析し、ＩＣカード１０またはＩＣカード３０などの外部機器における処理結果を認識することができる。
【００３３】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０は、一次発行において、不揮発性メモリ２８に種々のデータを格納する為のファイルをコマンドに応じて創成する。これにより、不揮発性メモリ２８には、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などが創成される。
【００３４】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプレット及びアプレットが有するコンポーネントなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００３５】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵（暗証番号）などのデータを記憶する。
【００３６】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２５は、不揮発性メモリ２８、または、ＲＯＭ２６に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００３７】
ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０のいずれかが能動側として機能した場合、能動側のＩＣカードは、他のＩＣカードにコマンド処理を実行させることができる。なお、ここでは、ＩＣカード１０が能動側であり、ＩＣカード２０及びＩＣカード３０が受動側である場合の例について説明する。
【００３８】
図３は、ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０の処理の例を示す。なお、本実施形態は、ＩＣカード１０、ＩＣカード２０、及びＩＣカード３０がＩＳＯ／ＩＥＣ１４４４３により規定されたブロックフォーマットにより非接触通信を行う例を示す。
【００３９】
能動側であるＩＣカード１０は、ＩＣカード２０及びＩＣカード３０に初期応答要求コマンドを送信する（ステップＳ１０）。初期応答要求コマンドは、例えば、コマンドが初期応答要求コマンドであることを示すパラメータ、応用分野を特定する為のパラメータ、コマンドの種類及びアンチコリジョンの方法などの属性情報を示すパラメータ、アンチコリジョンのスロットの数を示すパラメータ、及び巡回冗長検査符号などを有する。
【００４０】
ＩＣカード１０は、生成した初期応答要求コマンドを共振部２４により繰り返し空間中の通信可能範囲に送信する。また、ＩＣカード１０は、通信可能範囲にキャリア波（搬送波）を供給する。
【００４１】
ＩＣカード２０及びＩＣカード３０は、ＩＣカード１０の通信可能範囲内に進入した場合、ＩＣカード１０からの搬送波により活性化されてアイドル状態になる。即ち、ＩＣカード１０は、通信可能範囲内のＩＣカード２０及びＩＣカード３０に搬送波を供給する。さらに、ＩＣカード２０及びＩＣカード３０は、初期応答要求コマンドを受信する。
【００４２】
ＩＣカード２０及びＩＣカード３０は、受信した初期応答要求コマンドを解析する。これにより、ＩＣカード２０及びＩＣカード３０は、初期応答要求コマンドの各種のパラメータの値をそれぞれ認識する。ＩＣカード２０及びＩＣカード３０は、認識したパラメータの値に基づいて処理を実行する。ＩＣカード２０及びＩＣカード３０は、処理結果に応じて初期応答要求コマンドに対するレスポンス（初期応答）を生成する。
【００４３】
初期応答は、レスポンスが初期応答要求コマンドに対するレスポンス（初期応答）であることを示すパラメータ、擬似固有ＩＣカード（ＰＩＣＣ）識別子、応用データは、ＩＣカード２０及びＩＣカード３０にどのようなアプリケーションが書き込まれているかを示す応用データ、ＩＣカード２０及びＩＣカード３０がサポートするプロトコルを示すプロトコル情報、及び巡回冗長検査符号を生成する。
【００４４】
例えば、ＩＣカード２０及びＩＣカード３０は、初期応答要求コマンドを受信した場合、上記したような情報を含む初期応答を生成する。なお、プロトコル情報は、ＩＣカード２０及びＩＣカード３０がサポートする通信速度を示す情報（通信速度情報）を含む。さらに、プロトコル情報は、通信速度情報、最大フレーム長、プロトコルタイプ、フレーム待ち時間係数、応用データ符号化、及びフレームオプションなどを有する。
【００４５】
最大フレーム長は、ＩＣカード２０及びＩＣカード３０が受信可能な最大フレーム長を示す。プロトコルタイプは、ＩＣカード２０及びＩＣカード３０がサポートしているプロトコルタイプを示す。フレーム待ち時間係数は、ＩＣカード２０及びＩＣカード３０から送信されたコマンド（コマンドを含むフレーム）の最後からＩＣカード２０及びＩＣカード３０が応答を開始するまでの最大時間を示す。応用データ符号化は、ＩＣカード２０及びＩＣカード３０がサポートする符号化の形式を示す。フレームオプションは、ＩＣカード２０及びＩＣカード３０がノードアドレス（ＮＡＤ）をサポートしているか、カード識別子（ＣＩＤ）をサポートしているかを示す。
【００４６】
ＩＣカード２０及びＩＣカード３０は、生成した初期応答要求コマンドに対するレスポンス（初期応答）をＩＣカード１０に送信する。なお、ＩＣカード２０及びＩＣカード３０は、初期応答要求コマンドにより提示された複数のスロットのうちのいずれかのタイミングで初期応答をＩＣカード１０に送信する。
【００４７】
即ち、ＩＣカード２０及びＩＣカード３０は、初期応答要求コマンドを受信した場合、自身のＣＩＤを有する初期応答を他のＩＣカードからの初期応答と衝突しないようにＩＣカード１０に送信する。これにより、ＩＣカード１０は、初期応答に含まれている各ＩＣカードのＣＩＤを取得することができる。
【００４８】
ＩＣカード１０は、初期応答要求コマンドに対するレスポンス（初期応答）を受信した場合、受信したレスポンスを解析する。これにより、ＩＣカード２０は、自身の通信可能範囲内にＩＣカード２０及びＩＣカード３０が存在することを認識する。ＩＣカード１０は、処理対象のＩＣカードを選択する。なお、ここではＩＣカード２０を処理対象として選択するとする。
【００４９】
また、ＩＣカード１０は、レスポンスに含まれる通信速度情報を確認し、ＩＣカード２０によりサポートされている通信速度を認識する。さらにＩＣカード１０は、ＩＣカード２０に設定させる通信速度を示す情報、及びＩＣカード２０を特定する為の識別情報を有する選択コマンドを生成する。ＩＣカード１０は、選択コマンドをＩＣカード２０に送信する。
【００５０】
ＩＣカード２０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード２０は、選択コマンドに含まれていたＩＣカード１０により指定された通信速度、及び識別情報を認識する。
【００５１】
ＩＣカード２０は、認識した識別情報と自身が保有している識別情報とを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード２０は、選択コマンドにより指定された通信速度を自身に設定する。具体的には、ＩＣカード２０は、選択コマンドにより指定された通信速度を示す通信速度設定情報をＲＡＭ２７、または不揮発性メモリ２８上の所定の記憶領域に記憶することにより、通信速度を設定する。ＩＣカード２０は、ＲＡＭ２７、または不揮発性メモリ２８に記憶されている通信速度設定情報が示す通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５２】
また、ＩＣカード２０は、取得した識別情報と自身が保有している識別情報とが一致しない場合、処理を終了する。
【００５３】
通信速度の設定が完了した場合、ＩＣカード２０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスをＩＣカード１０に送信する。なお、この場合、ＩＣカード２０は、標準の通信速度で解析可能な状態でレスポンスをＩＣカード１０に送信する。ＩＣカード２０は、選択コマンドに対するレスポンスを送信した後、上記の処理により設定した通信速度に応じてレスポンスの送信、及び受信したコマンドの解析を行う。
【００５４】
ＩＣカード１０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード２０の選択が正常に完了したことを認識する。これ以降ＩＣカード１０は、ＩＣカード２０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行う。
【００５５】
上記の処理により、ＩＣカード１０とＩＣカード２０との間で通信路が確立される。以降、ＩＣカード２０は、ＩＣカード１０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【００５６】
ＩＣカード１０は、ＩＣカード２０に処理を実行させるためのコマンドを送信する（ステップＳ１１）。ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカード２０は、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスをＩＣカード２０に送信する（ステップＳ１２）。
【００５７】
なお、ＩＣカード１０とＩＣカード２０とは、所定の形式のフレームを送受信することにより、コマンドレスポンスを行う。
【００５８】
ＩＣカード１０とＩＣカード２０とは、ＩＳＯ／ＩＥＣ１４４４３により規定されている通信フォーマットに応じたフレームのデータを送受信する。例えば、ＩＳＯ／ＩＥＣ１４４４３では、フレームの形式としてＩ−ｂｌｏｃｋ（Ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ：情報ブロック）、Ｒ−ｂｌｏｃｋ（Ｒｅｃｅｉｖｅ  ｒｅａｄｙ  ｂｌｏｃｋ：受信準備完了ブロック）、Ｓ−ｂｌｏｃｋ(Ｓｕｐｅｒｖｉｓｏｒｙ  ｂｌｏｃｋ：管理ブロック)などのブロック伝送方式が規定されている。
【００５９】
Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、それぞれ異なる役割を有する。Ｉ−ｂｌｏｃｋ（Ｉブロック）は、アプリケーション層で使用する情報を伝達するためのフォーマットである。通常のデータ読出し、書き込みには、Ｉ−ｂｌｏｃｋが用いられる。
【００６０】
Ｒ−ｂｌｏｃｋ（Ｒブロック）は、肯定応答または否定応答を伝達するためのフォーマットである。Ｒ−ｂｌｏｃｋには、Ｒ−ｂｌｏｃｋ（ＡＣＫ）及びＲ−ｂｌｏｃｋ（ＮＡＣ）などの種類がある。Ｒ−ｂｌｏｃｋ（ＡＣＫ）は、次のコマンドを要求するときに用いられる。また、Ｒ−ｂｌｏｃｋ（ＮＡＣ）は、受信したコマンドの再送を要求するときに用いられる。
【００６１】
Ｓ−ｂｌｏｃｋ（Ｓブロック）は、ＩＣカード２０とＩＣカード３０との間で制御情報を交換する為のフォーマットである。Ｓ−ｂｌｏｃｋは、処理時間の延長要求、ＩＣカードを非活性化させる命令（Ｄｅｓｅｌｅｃｔ）として用いられる。
【００６２】
図４は、ブロックフォーマットの例を示す。ＩＳＯ／ＩＥＣ１４４４３により規定されているブロックフォーマットを準拠したフレームは、例えば、プロローグフィールド、情報フィールド、およびエピローグフィールドなどのフィールドを有する。Ｉ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ、及びＳ−ｂｌｏｃｋは、いずれもこの図４に示されたブロックフォーマットを準拠している。
【００６３】
プロローグフィールドは、Ｐｒｏｔｏｃｏｌ  Ｃｏｎｔｒｏｌｌ  Ｂｙｔｅ（ＰＣＢ）、Ｃａｒｄ  ＩＤｅｎｔｉｆｉｅｒ（ＣＩＤ）、及びＮｏｄｅ  Ａｄｄｒｅｓｓ（ＮＡＤ）などのデータを有する。
【００６４】
プロトコル制御バイトであるＰＣＢは、データ伝送の制御に必要な情報を相手側の機器（外部機器）に伝達することができる。例えば、ＰＣＢは、このフレームがＩ−ｂｌｏｃｋであるか、Ｒ−ｂｌｏｃｋであるか、またはＳ−ｂｌｏｃｋであるかを示す情報を有する。
【００６５】
カード識別子であるＣＩＤは、処理対称のＩＣカードを指定するためのデータである。ＩＣカード１０及びＩＣカード２０は、固有のＣＩＤをＲＯＭ２６または不揮発性メモリ２８内に記憶している。能動側であるＩＣカード１０は、初期設定でＩＣカード２０からＣＩＤを取得する。ＩＣカード１０は、処理対象のＩＣカード２０のＣＩＤをプロローグフィールドのＣＩＤにセットする。
【００６６】
ＩＣカード２０は、コマンドを受信した場合、プロローグフィールドのＣＩＤの値と、自身のＣＩＤの値とが一致した場合、受信したコマンドに応じた処理を実行する。  
ノードアドレスであるＮＡＤは、異なる論理接続を構築するためのデータである。
【００６７】
情報フィールドは、例えば、コマンドのデータ本体、アプリケーションデータ、または状態情報などを有するＩｎｆｏｒｍａｔｉｏｎ（ＩＮＦ）を備える。ＩＣカード３０は、情報フィールドに格納されているデータに応じて種々の処理を実行する。なお、情報フィールドは、省略されてもよい。
【００６８】
エピローグフィールドは、例えば、ＣＲＣなどの通信エラーをＩＣカード２０に検知させる為のエラー検出符号を備える。エラー検出符号は、エピローグフィールド及び情報フィールドのデータに基づいて算出された値である。受動側の機器は、エピローグフィールド及び情報フィールド内のデータと、エラー検出符号とに基づいて、通信エラーを検知することができる。
【００６９】
能動側であるＩＣカード１０は、ＩＣカード２０との通信の確立後、コマンドを生成し、ＩＣカード２０に処理を実行させるためのコマンドを送信する。なお、ＩＣカード１０は、Ｉ−ｂｌｏｃｋのコマンドをＩＣカード２０に送信する。
【００７０】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドを解析する。ＩＣカード２０は、解析したコマンドに基づいてコマンド処理を実行し、レスポンスを生成する。ＩＣカード２０は、生成したレスポンスをＩＣカード１０に送信する。なお、ＩＣカード３０は、Ｉ−ｂｌｏｃｋのレスポンスをＩＣカード１０に送信する。
【００７１】
また、能動側であるＩＣカード１０は、受動側であるＩＣカード２０に、能動側（アクティブ）と受動側（パッシブ）との切り替えを要求するコマンド（切替要求コマンド）を生成する（ステップＳ１３）。さらに、ＩＣカード１０は、初期設定において取得した通信可能範囲内のＩＣカードのＣＩＤを切替要求コマンドに付加する（ステップＳ１４）。ＩＣカード１０は、生成した切替要求コマンドをＩＣカード２０に送信する（ステップＳ１５）。
【００７２】
ＩＣカード１０は、所定の条件下で切替要求コマンドをＩＣカード２０に送信する。例えば、ＩＣカード１０は、ＩＣカード２０における処理上で能動側と受動側との切替が必要であるとＩＣカード１０またはＩＣカード２０により判断された場合、切替要求コマンドをＩＣカード２０に送信する。また、例えば、ＩＣカード１０は、予め設定されたコマンドをＩＣカード２０に送信した場合、次に切替要求コマンドをＩＣカード２０に送信する。ＩＣカード１０は、Ｉ−ｂｌｏｃｋ、またはＳ−ｂｌｏｃｋのいずれかのブロックフォーマットで切替要求コマンドをＩＣカード２０に送信する。
【００７３】
例えば、ＩＣカード１０は、受動側であるＩＣカード２０に、能動側（アクティブ）と受動側（パッシブ）との切り替えを要求するコマンド（切替要求コマンド）をＩ−ｂｌｏｃｋフォーマットで生成する。
【００７４】
Ｉ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。Ｉ−ｂｌｏｃｋの切替要求コマンドは、通常のフォーマットのコマンドが情報フィールドに付加される。即ち、この場合、情報フィールドに付加されたコマンドのＣＬＡ及びＩＮＳによりコマンドが切替要求コマンドであることが示される。
【００７５】
さらに、ＩＣカード１０は、初期設定において取得した通信可能範囲内のＩＣカードのＣＩＤを切替要求コマンドに付加する。例えば、ＩＣカード１０は、初期設定においてＩＣカード３０から取得したＣＩＤをＩ−ｂｌｏｃｋの情報フィールド内の切替要求コマンドに付加する。ＩＣカード１０は、通信可能範囲内の他のＩＣカードのＣＩＤを含む切替要求コマンドをＩＣカード２０に送信する。これにより、ＩＣカード１０は、通信可能範囲内の他のＩＣカードのＣＩＤを能動側に切り替わるＩＣカード２０に認識させることができる。
【００７６】
例えば、通信可能範囲内のＩＣカードが選択しているＩＣカードの他に１台である場合、ＩＣカード１０は、選択されていないＩＣカードのＣＩＤを情報フィールドの下位４ビットに付加する。また、通信可能範囲内のＩＣカードが選択しているＩＣカードの他に２台である場合、ＩＣカード１０は、選択されていない複数のＩＣカードのＣＩＤを情報フィールドの下位から８ビットに付加する。ＩＣカード１０は、同様にさらに選択されていないＩＣカードのＣＩＤを情報フィールドに追加することができる。
【００７７】
図５は、Ｓ−ｂｌｏｃｋの切替要求コマンドのＰＣＢの例を示す。なお、Ｓ−ｂｌｏｃｋのフレームは、プロローグフィールド、情報フィールド、およびエピローグフィールドを備えている。
【００７８】
Ｓ−ｂｌｏｃｋの切替要求コマンドのＰＣＢは、１バイトのデータであり、第１ビットｂ１乃至第８ビットｂ８を有する。
【００７９】
第２ビットｂ２及び第３ビットｂ３は、規定値である。第４ビットｂ４は、ＣＩＤの有無を示す。
【００８０】
第５ビットｂ５及び第６ビットｂ６は、このコマンドがＷＴＸ（Ｗａｉｔｉｎｇ  Ｔｉｍｅ ｅＸｔｅｎｓｉｏｎ：延長時間指示）であるか、ＩＣカード２０を非活性化させる為の命令（Ｄｅｓｅｌｅｃｔ）であるかを示す。また、第５ビットｂ５及び第６ビットｂ６は、切替要求の有無を示す。
【００８１】
即ち、第５ビットｂ５及び第６ビットｂ６が「００」である場合、このＰＣＢを含むフレームがＤｅｓｅｌｅｃｔであることが示される。また、第５ビットｂ５及び第６ビットｂ６が「１１」である場合、このＰＣＢを含むフレームがＷＴＸであることが示される。また、第５ビットｂ５及び第６ビットｂ６が「１０」である場合、このＰＣＢを含むフレームが切替要求（役割交換要求）であることが示される。また、第５ビットｂ５及び第６ビットｂ６が「０１」である場合、このＰＣＢを含むフレームが切替要求（役割交換要求）を受理したことが示される。
【００８２】
第７ビットｂ７と第８ビットｂ８は、このＰＣＢを含むフレームがＩ−ｂｌｏｃｋ、Ｒ−ｂｌｏｃｋ，またはＳ−ｂｌｏｃｋであるかを示す。例えば、第８ビットｂ８が「１」であり、第７ビットｂ７が「１」である場合、このＰＣＢを含むフレームがＳ−ｂｌｏｃｋであることが示される。
【００８３】
即ち、ＩＣカード１０は、ＩＣカード２０に能動側と受動側との役割の切替を指示する場合、ＰＣＢの第５ビットｂ５及び第６ビットｂ６を「１０」に設定し、第７ビットｂ７及び第８ビットｂ８を「１１」に設定する。ＩＣカード２０は、このように設定した切替要求コマンドをＩＣカード２０に送信する。
【００８４】
この場合もＩＣカード１０は、初期設定において取得した通信可能範囲内のＩＣカードのＣＩＤを切替要求コマンドに付加する。例えば、ＩＣカード１０は、初期設定においてＩＣカード３０から取得したＣＩＤをＳ−ｂｌｏｃｋの情報フィールド内に付加する。ＩＣカード１０は、通信可能範囲内の他のＩＣカードのＣＩＤを含む切替要求コマンドをＩＣカード２０に送信する。これにより、ＩＣカード１０は、通信可能範囲内の他のＩＣカードのＣＩＤを能動側に切り替わるＩＣカード２０に認識させることができる。
【００８５】
ＩＣカード２０は、コマンドを受信した場合、受信したコマンドのＰＣＢを解析する。さらに、コマンドがＩ−ｂｌｏｃｋである場合、情報フィールドを解析することにより切替要求コマンドを取得する。さらに、ＩＣカード２０は、切替要求コマンド内に付加されたＩＣカード１０の通信可能範囲内の他のＩＣカード（例えばＩＣカード３０）のＣＩＤを取得することができる。
【００８６】
また、コマンドがＳ−ｂｌｏｃｋである場合、ＩＣカード２０は、ＰＣＢを解析することにより受信したコマンドが切替要求コマンドであることを認識する。さらに、ＩＣカード２０は、情報フィールドを解析することによりＩＣカード１０の通信可能範囲内の他のＩＣカード（例えばＩＣカード３０）のＣＩＤを取得することができる。
【００８７】
ＩＣカード２０は、切替要求コマンドに対するレスポンスを生成する。コマンドがＩ−ｂｌｏｃｋである場合、ＩＣカード２０は、Ｉ−ｂｌｏｃｋのレスポンスを生成する。また、コマンドがＳ−ｂｌｏｃｋである場合、ＩＣカード２０は、Ｓ−ｂｌｏｃｋのレスポンスを生成する。さらに、ＩＣカード２０は、自身のＣＩＤをレスポンスに付加する（ステップＳ１６）。例えば、ＩＣカード２０は、自身のＣＩＤをレスポンスの情報フィールドに付加する。ＩＣカード２０は、切替要求コマンドに対するレスポンスをＩＣカード１０に送信する（ステップＳ１７）。
【００８８】
ＩＣカード２０は、ＩＣカード１０から切替要求コマンドを受信した場合、自身のモードを受動側（パッシブ）から能動側（アクティブ）に切り替える（ステップＳ１８）。この場合、ＩＣカード２０は、ＩＣカード１０、またはＩＣカード３０にコマンドを送信することができる。なお、これ以降ＩＣカード２０は、能動側として機能するため、自身のＣＩＤを削除する。
【００８９】
また、ＩＣカード２０から、切替要求コマンドに対するレスポンスを受信した場合、ＩＣカード１０は、受信したレスポンスを解析する。ＩＣカード１０は、レスポンスの情報フィールドを解析することにより、能動側に切り替わるＩＣカード２０のＣＩＤを認識する。さらに、ＩＣカード１０は、認識したＣＩＤを自身のＣＩＤとして設定し（ステップＳ１９）、能動側から受動側に切り替わる。
【００９０】
例えば、初期の状態でＩＣカード１０のＣＩＤが無し、ＩＣカード２０のＣＩＤが「１」、ＩＣカード３０のＣＩＤが「２」であるとする。ＩＣカード２０は、ＩＣカード１０から受信した切替要求コマンドから、ＣＩＤが「２」であるＩＣカードが通信可能範囲に存在することを認識することができる。また、ＩＣカード２０は、能動側に切り替わった場合に自身のＣＩＤ「１」を削除する。さらに、ＩＣカード１０は、受動側に切り替わる際にＩＣカード２０から受け取ったレスポンスに付加されていたＣＩＤ「１」を自身のＣＩＤとして設定する。
【００９１】
このように、ＩＣカード１０とＩＣカード２０との役割交換が完了した場合、ＩＣカード１０のＣＩＤが「１」、ＩＣカード２０のＣＩＤが無し、ＩＣカード３０のＣＩＤが「２」になる。
【００９２】
この場合、ＩＣカード２０は、ＣＩＤを指定することによりＩＣカード１０またはＩＣカード３０にコマンド処理を実行させることができる。
【００９３】
例えば、ＩＣカード２０は、ＩＣカード３０にコマンド処理を実行させる場合、ＣＩＤ「２」を指定したコマンドを生成し、ＩＣカード３０に送信する（ステップＳ２０）。ＩＣカード３０は、受信したコマンドで指定されているＣＩＤと自身のＣＩＤとを比較し、一致した場合にコマンド処理を実行する。ＩＣカード３０は、コマンド処理の結果をＩＣカード２０に送信する（ステップＳ２１）。
【００９４】
また、例えば、ＩＣカード２０は、ＩＣカード１０にコマンド処理を実行させる場合、ＣＩＤ「１」を指定したコマンドを生成し、ＩＣカード１０に送信する（ステップＳ２２）。ＩＣカード１０は、受信したコマンドで指定されているＣＩＤと自身のＣＩＤとを比較し、一致した場合にコマンド処理を実行する。ＩＣカード１０は、コマンド処理の結果をＩＣカード２０に送信する（ステップＳ２３）。
【００９５】
また、最初に受動側であったＩＣカード２０とＩＣカード３０とは、互いに初期設定を行なう必要がある場合がある。そこで、ＩＣカード１０は、ステップＳ１０における初期設定でＩＣカード３０から受け取った初期応答を、ステップＳ１５における切替要求コマンドに付加する構成であってもよい。
【００９６】
ＩＣカード２０は、ステップＳ１５で切替要求コマンドを受信した場合、ＩＣカード１０の通信範囲内に存在するＩＣカード３０から送信された初期応答を取得することができる。ＩＣカード２０は、この初期応答を用いてＩＣカード３０との間で初期設定を行なうことができる。
【００９７】
ＩＣカード２０は、ＩＣカード３０に設定させる通信速度を示す情報、及びＩＣカード３０を特定する為の識別情報（ＣＩＤ）を有する選択コマンドを生成する。ＩＣカード２０は、選択コマンドをＩＣカード３０に送信する。
【００９８】
ＩＣカード３０は、選択コマンドを受信した場合、選択コマンドを解析する。これにより、ＩＣカード３０は、選択コマンドに含まれていたＩＣカード２０により指定された通信速度、及びＣＩＣを認識する。
【００９９】
ＩＣカード３０は、認識したＣＩＤと自身のＣＩＤとを比較し、一致した場合、後続の処理を行う。この場合、ＩＣカード３０は、選択コマンドにより指定された通信速度を自身に設定する。
【０１００】
通信速度の設定が完了した場合、ＩＣカード３０は、選択コマンドに対するレスポンスを生成し、生成したレスポンスをＩＣカード２０に送信する。
【０１０１】
ＩＣカード２０は、選択コマンドに対するレスポンスを受信した場合、レスポンスを解析することにより、ＩＣカード３０の選択が正常に完了したことを認識する。上記の処理により、ＩＣカード３０とＩＣカード２０との間に通信路が確立される。これ以降ＩＣカード２０とＩＣカード３０とは、ＩＣカード３０に設定した通信速度でコマンドの送信、及び受信したレスポンスの解析を行うことができる。即ち、ＩＣカード３０は、ＩＣカード２０から送信されるコマンドに基づいて、種々のコマンド処理を実行することができる。
【０１０２】
図６は、図３におけるＩＣカード２０の処理の例を示す。  
ＩＣカード２０は、ＩＣカード１０からのコマンドの受信を待つ（ステップＳ３１）。コマンドを受信した場合、ＩＣカード２０は、受信したコマンドを解析する（ステップＳ３２）。これにより、ＩＣカード２０は、受信したコマンドに役割交換要求が含まれているか否か判断する（ステップＳ３３）。即ち、ＩＣカード２０は、受信したコマンドが切替要求コマンドであるか否か判断する。
【０１０３】
受信したコマンドが切替要求コマンドであると判断した場合、ＩＣカード２０は、切替要求コマンドに含まれている他のＩＣカードのＣＩＤを認識する（ステップＳ３４）。即ち、ＩＣカード２０は、ＩＣカード１０の通信可能範囲に存在するＩＣカード３０のＣＩＤを認識する。
【０１０４】
ＩＣカード２０は、切替要求コマンドに対するレスポンスを生成する。さらに、ＩＣカード２０は、このレスポンスの自身のＣＩＤを付加する。即ち、ＩＣカード２０は、自身のＣＩＤを含むレスポンスを生成する（ステップＳ３５）。ＩＣカード２０は、生成したレスポンスをＩＣカード１０に送信する（ステップＳ３６）。さらに、ＩＣカード２０は、自身を受動側から能動側に切り替える（ステップＳ３７）。この際、ＩＣカード２０は、自身のＣＩＤを削除する。また、ステップＳ３３で、受信したコマンドが切替要求コマンドではないと判断した場合、ＩＣカード２０は、コマンドに従った処理を実行する。
【０１０５】
これにより、受動側から能動側に切り替わったＩＣカード２０は、通信可能範囲内に存在する他のＩＣカードのＣＩＤを認識することができる。これにより、ＩＣカード２０は、受動側から能動側に切り替わってすぐに初期設定を行なうことなく他のＩＣカードにコマンドを送信することができる。また、通信速度の設定が必要な場合であっても、ＩＣカード２０は、他のＩＣカードの初期応答を含む切替要求コマンドを受信することができる。この為、ＩＣカード２０は、他のＩＣカードとの初期設定を短縮することができる。
【０１０６】
これにより、ＩＣカード２０は、自身のモードを受動側（パッシブ）から能動側（アクティブ）によりスムーズに切り替えることができる。この結果、より高い利便性を備えるＩＣカード、携帯可能電子装置、及びＩＣカードのリーダライタを提供することができる。
【０１０７】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【０１０８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１０９】
１…ＩＣカード処理システム、１０…ＩＣカード、２０…ＩＣカード、２１…本体、２２…ＩＣモジュール、２３…ＩＣチップ、２４…共振部、２５…ＣＰＵ、２６…ＲＯＭ、２７…ＲＡＭ、２８…不揮発性メモリ、２９…送受信部、３０…ＩＣカード、３１…電源部、３１ａ…バッテリ、３２…ロジック部。
【図１】
2014063341.tif 000003
【図２】
2014063341.tif 000004
【図３】
2014063341.tif 000005
【図４】
2014063341.tif 000006
【図５】
2014063341.tif 000007
【図６】
2014063341.tif 000008