説明

ICカード、及びICカードの制御方法

【課題】 より速く非接触通信を行う事ができるICカード、ICカードの制御方法を提供する。
【解決手段】 一実施形態に係るICカードは、初期応答要求コマンドを解析し、初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識する解析部と、初期応答要求コマンドに対するレスポンスを生成するコマンド処理部と、予め、所定の情報を記憶する不揮発性メモリと、不揮発性メモリにより所定の情報が記憶されている場合、解析部により認識した複数のスロットのうちの最初のスロットを選択する第1のスロット選択部と、不揮発性メモリにより所定の情報が記憶されていない場合、解析部により認識した複数のスロットのうちの1つを選択する第2のスロット選択部と、第1のスロット選択部または第2のスロット選択部により選択されたスロットでコマンド処理部により生成されたレスポンスを外部機器に送信する送信部と、を具備するICカード。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ICカード、及びICカードの制御方法に関する。
【背景技術】
【0002】
一般的に、ICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816、及びISO/IEC14443に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
また、近年、非接触通信によりデータの送受信を行うことができるICカードが一般的に普及している。上記したような非接触通信を行うICカードは、ICチップとアンテナとを備えている。ICカードは、ICカードを処理するICカード処理装置のリーダライタから発せられる磁界を受けて、カード内のアンテナを電磁誘導により起電させることにより動作する。また、ICカードは、非接触通信により処理装置からコマンドを受信した場合、受信したコマンドに応じてアプリケーションを実行する。これにより、ICカードは、種々の機能を実現することができる。
【0005】
ICカードの処理装置は、標準の通信速度で、無線通信により初期応答要求コマンドを送信する。ICカードは、初期応答要求コマンドを受信する場合、初期応答要求コマンドに対するレスポンス(初期応答)を生成し、生成したレスポンスを処理装置に送信する。処理装置は、レスポンスを受け取ることにより、通信可能範囲にICカードが存在することを認識することができる。
【0006】
また、処理装置は、通信可能範囲内に存在する複数枚のICカードを認識する為に、アンチコリジョンを行う。この場合、処理装置は、複数の時間枠(スロット)を設定し、ICカードに対して初期応答要求コマンド及びアンチコリジョンのコマンドを送信する。ICカードは、乱数を生成し、乱数に応じてスロットを選択し、選択したスロットで初期応答要求コマンドに対するレスポンスをICカードの処理装置に送信する。これにより、処理装置は、ICカードからレスポンスを受信することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−203219号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、処理装置の通信可能範囲内にICカードが一枚しか存在しない状態でアンチコリジョンのコマンドを受信した場合、ICカードは、アンチコリジョンを行う。即ち、ICカードは、乱数を生成し、乱数に応じてスロットを選択し、選択したスロットで初期応答要求コマンドに対するレスポンスをICカードの処理装置に送信する。この為、例えば最初以外のスロットを選択した場合にレスポンスの送信が遅れる可能性があるという課題がある。
【0009】
そこで、より速く非接触通信を行う事ができるICカード、及びICカードの制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
一実施形態に係るICカードは、外部機器と非接触通信を行うICカードであって、前記外部機器から送信された初期応答要求コマンドを受信する受信部と、前記受信部により受信された前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識する解析部と、前記初期応答要求コマンドに対するレスポンスを生成するコマンド処理部と、予め、所定の情報を記憶する不揮発性メモリと、前記不揮発性メモリにより前記所定の情報が記憶されている場合、前記解析部により認識した複数のスロットのうちの最初のスロットを選択する第1のスロット選択部と、前記不揮発性メモリにより前記所定の情報が記憶されていない場合、前記解析部により認識した複数のスロットのうちの1つを選択する第2のスロット選択部と、前記第1のスロット選択部または第2のスロット選択部により選択されたスロットで前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、を具備するICカード。
【図面の簡単な説明】
【0011】
【図1】図1は、一実施形態に係るICカード処理システムについて説明するための図である。
【図2】図2は、一実施形態に係るICカードについて説明するための図である。
【図3】図3は、一実施形態に係るICカード処理システムについて説明するための図である。
【図4】図4は、一実施形態に係るICカード処理システムについて説明するための図である。
【図5】図5は、一実施形態に係るICカード処理システムについて説明するための図である。
【図6】図6は、一実施形態に係るICカード処理システムについて説明するための図である。
【図7】図7は、一実施形態に係るICカード処理システムについて説明するための図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、一実施形態に係るICカード、ICカードの処理装置、及びICカードの処理システムについて詳細に説明する。
【0013】
本実施形態に係るICカード20及びICカードを処理する処理装置(端末装置)10は、例えば、ISO/IEC14443などにより規定されている非接触通信の機能を備える。これにより、ICカード20及び端末装置10は、互いにデータの送受信を行うことができる。
【0014】
図1は、一実施形態に係るICカード処理システム1の構成例を示す。
ICカード処理システム1は、ICカード20を処理する端末装置10と、ICカード20と、を備える。端末装置10とICカード20とは、上記したように非接触通信により互いに種々のデータを送受信する。
【0015】
端末装置10は、CPU11、ROM12、RAM13、不揮発性メモリ14、送受信部15、共振部16、ロジック部17、上位インターフェース18、及び電源部19を備える。CPU11、ROM12、RAM13、不揮発性メモリ14、送受信部15、共振部16、ロジック部17、及び上位インターフェース18は、それぞれバスを介して互いに接続されている。
【0016】
CPU11は、端末装置10全体の制御を司る制御部として機能する。CPU11は、ROM12又は不揮発性メモリ14に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、CPU11は、送受信部15及び共振部16を介してICカード20とコマンド及びレスポンスの送受信を行う。
【0017】
ROM12は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。RAM13は、ワーキングメモリとして機能する揮発性のメモリである。RAM13は、CPU11の処理中のデータなどを一時的に格納する。例えば、RAM13は、送受信部15及び共振部16を介して外部の機器と送受信するデータを一時的に格納する。また、RAM13は、CPU11が実行するプログラムを一時的に格納する。
【0018】
不揮発性メモリ14は、例えばEEPROM、FRAMなどを備える。不揮発性メモリ14は、例えば、制御用のプログラム、制御データ、アプリケーション、及びアプリケーションに用いられるデータなどを記憶する。
【0019】
送受信部15及び共振部16は、ICカード20と通信を行うためのインターフェース装置である。
【0020】
送受信部15は、共振部16により送受信するデータに対して信号処理を施す。例えば、送受信部15は、符号化、復号、変調、及び復調を行なう。送受信部15は、符号化及び変調を施したデータを共振部16に供給する。
【0021】
共振部16は、例えば所定の共振周波数を有するアンテナを有する。共振部16は、送受信部15から供給されるデータに応じて磁界を発生させる。これにより、端末装置10は、通信可能範囲に存在するICカード20に対してデータを非接触で送信することができる。
【0022】
また、共振部16は、磁界を検知し、検知した磁界に応じてデータを生成する。これにより、共振部16は、データを非接触で受信することができる。共振部16は、受信したデータを送受信部15に供給する。送受信部15は、共振部16により受信したデータに対して復調及び復号を行う。これにより、端末装置10は、ICカード20から送信された元のデータを取得することができる。
【0023】
ロジック部17は、所定の演算処理を行う。例えば、ロジック部17は、CPU11の制御に基づいて、データの暗号化、復号、及び乱数生成などの演算処理を行う。
【0024】
上位インターフェース18は、上位端末と通信するためのインターフェースである。上位端末は、例えば操作部及び表示部などを備える。操作部は、例えば操作キーなどを備え、操作者により入力される操作に基づいて、操作信号を生成する。表示部は、種々の情報を表示する。上位インターフェース18は、上位端末からデータを受け取り、CPU11に伝送する。また、上位インターフェース18は、送受信部15及び共振部16によりICカード20から取得したデータを上位端末に伝送する構成であってもよい。
【0025】
電源部19は、端末装置10の各部に電力を供給する。
【0026】
図2は、一実施形態に係るICカード20の構成例を示す。
図2に示すように、ICカード20は、例えば、矩形状の本体21と、本体21内に内蔵されたICモジュール22とを備える。ICモジュール22は、ICチップ23と、共振部(アンテナ)24とを備える。ICチップ23と共振部24とは、互いに接続された状態でICモジュール22内に形成されている。
【0027】
なお、本体21は、少なくとも共振部24が配設されるICモジュール22を設置可能な形状であれば、矩形状に限らず如何なる形状であっても良い。
【0028】
ICチップ23は、CPU25、ROM26、RAM27、不揮発性メモリ28、送受信部29、電源部31、及びロジック部32などを備える。CPU25、ROM26、RAM27、不揮発性メモリ28、送受信部29、電源部31、及びロジック部32は、バスを介して互いに接続されている。
【0029】
共振部24は、端末装置(外部機器)10の共振部16と通信を行うためのインターフェースである。共振部24は、例えば、ICモジュール22内に所定の形状で配設される金属線により構成されるアンテナコイルを備える。
【0030】
ICカード20は、端末装置10に送信するデータに応じてアンテナコイルにより磁界を発生させる。これにより、ICカード20は、端末装置10に対してデータを送信することができる。また、ICカード20は、電磁誘導によりアンテナコイルに発生する誘導電流に基づいて端末装置10から送信されるデータを認識する。
【0031】
CPU25は、ICカード20全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、端末装置10から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【0032】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード20内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード20の仕様に応じて組み込まれる。
【0033】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、共振部24を介して端末装置10から受信したデータを一時的に格納する。またRAM27は、共振部24を介して端末装置10に送信するデータを一時的に格納する。またさらに、RAM27は、CPU25が実行するプログラムを一時的に格納する。
【0034】
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリを備える。不揮発性メモリ28は、ICカード20の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0035】
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0036】
送受信部29は、端末装置10に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、送受信部29は、端末装置10に送信するデータの変調(増幅)を行う。送受信部29は、信号処理を施したデータを共振部24に送信する。
【0037】
また、送受信部29は、共振部24により受信する信号に対して復調、及び復号を行う。例えば、送受信部29は、共振部24により受信する信号の解析を行う。これにより、送受信部29は、2値の論理データを取得する。送受信部29は、解析したデータをバスを介してCPU25に送信する。
【0038】
電源部31は、共振部24により受け取られた電波(例えばキャリア波)に基づいて電力を生成する。さらに、電源部31は、動作クロックを生成する。電源部31は、生成した電力及び動作クロックをICカード20の各部に供給する。ICカード20の各部は、電力の供給を受けた場合、動作可能な状態になる。
【0039】
ロジック部32は、演算処理をハードウエアにより行う演算部である。例えば、ロジック部32は、端末装置10からのコマンドに基づいて、暗号化、復号、及び乱数の生成などの処理を行う。例えば、端末装置10から相互認証コマンドを受信する場合、ロジック部32は、乱数を生成し、生成した乱数をCPU25に伝送する。
【0040】
また、不揮発性メモリ28は、コリジョンフラグを記憶する記憶部(メモリ)28aを有する。ICカード20は、端末装置10との通信時に、コリジョンが生じたか否かに基づいてコリジョンフラグを書き換える。コリジョンが生じた場合、ICカード20は、メモリ28aのコリジョンフラグを「ON」に書き換える。また、コリジョンが生じなかった場合、ICカード20は、メモリ28aのコリジョンフラグを「OFF」に書き換える。
【0041】
さらに、ICカード20は、アンチコリジョン処理をコリジョンフラグの「ON/OFF」に基づいて切り替える。即ち、ICカード20は、コリジョンフラグが「ON」である場合、乱数を生成し、生成した乱数に基づいてアンチコリジョンのスロットを選択する。また、ICカード20は、コリジョンフラグが「OFF」である場合、予め設定されたスロットを選択する。
【0042】
図3は、端末装置10の動作の例について示す。
端末装置10は、ICカード20の検知を行なう為に、共振部16により送信する初期応答要求コマンドを生成する(ステップS11)。端末装置10は、図4に示すような初期応答要求コマンドを生成する。なお、本実施形態では、端末装置10は、スロットマーカ方式によりアンチコリジョンを行う構成であるが、タイムスロット方式、または他のスロットを要するアンチコリジョンを行う構成であってもよい。
【0043】
図4は、初期応答要求コマンドの例を示す。図4により示されるように、初期応答要求コマンドは、「APf」、「AFI」、「PARAM」、及び「CRC_B」を有する。
【0044】
APfは、初期応答要求コマンドで使用されるパラメータである。APfは、例えば1byteのデータである。
【0045】
AFIは、端末装置10が応用分野を特定する為に用いられる識別子である。AFIは、例えば8bit(1byte)で表現される値である。即ち、端末装置10は、初期応答要求コマンドの先頭から9bit乃至16bit目にAFIの値を設定する。
【0046】
PARAMは、属性情報のパラメータである。PARAMは、例えば8bit(1byte)のデータである。PARAMは、コマンドの種類、及び、スロットマーカ方式またはタイムスロット方式などのアンチコリジョンで使用されるスロットの数などを示す。
【0047】
CRC_Bは、巡回冗長検査符号である。CRC_Bは、例えば、16bit(2byte)で表現される値である。CRC_Bは、CRC_Bを含むコマンドをキャラクタとして有するフレーム内のデータビットから計算される値である。ICカード20は、受信したコマンドのCRC_Bを用いて、受信したコマンドが正常に伝送されたものであるか否かを判断する。
【0048】
さらに、図4に示すPARAMは、例えば図5により示されるような構成を備える。
図5は、PARAMの構成の例を示す。図5により示されるように、PARAMは、例えばビットb1乃至ビットb8の8ビット(1バイトにより構成される)。PARAMは、スロット数を示す情報(Number of slots)、及びREQB/WUPBを有する。
【0049】
Number of slotsは、ビットb1乃至b3に設定されるデータである。Number of slotsは、上記したように、スロットマーカ方式またはタイムスロット方式などのアンチコリジョンで使用されるスロットの数などを示す。
【0050】
REQB/WUPBは、ビットb4に設定されるデータである。REQB/WUPBは、当該初期応答要求コマンドが、REQBコマンド(リクエストコマンド)であるのか、WUPBコマンド(ウェークアップコマンド)であるのかを示す。
【0051】
図6は、Number of slotsの生成及び解析に用いられるテーブルの例を示す。なお、図6に示されるテーブルは、端末装置10とICカード20とが共通して備えるものである。即ち、端末装置10及びICカード20は、このテーブルに応じてコマンドの生成、及びコマンドの解析を行う。
【0052】
図6により示されるように、テーブルは、スロット数と、スロット数に対応付けられたビットb1乃至ビットb3に対応する値とを有する。
【0053】
例えば、端末装置10は、スロット数を1に設定する場合、初期応答要求コマンドのPARAMのビットb1乃至ビットb3に「000」をセットする。また、端末装置10は、スロット数を2に設定する場合、初期応答要求コマンドのPARAMのビットb1乃至ビットb3に「001」をセットする。また、端末装置10は、スロット数を4に設定する場合、初期応答要求コマンドのPARAMのビットb1乃至ビットb3に「010」をセットする。
【0054】
端末装置10は、生成した初期応答要求コマンドを共振部16により繰り返し通信可能範囲に送信する(ステップS12)。
【0055】
さらに、端末装置10は、スロットマーカコマンドを生成する(ステップS13)。スロットマーカコマンドは、「APn」、及び「CRC_B」を備える。APnは、衝突防止用情報バイトであり、スロットの番号を示す情報を含む。CRC_Bは、上記したように、巡回冗長検査符号である。端末装置10は、設定された各スロット毎にスロットマーカコマンドを生成する。
【0056】
端末装置10は、生成したスロットマーカコマンドを共振部16によりICカード20に送信する(ステップS14)。端末装置10は、各スロットの先頭となるタイミングで各スロットマーカコマンドをICカード20に送信する。これにより、端末装置10は、各スロットの先頭をICカード20に通知することができる。
【0057】
ICカード20は、端末装置10の共振部16の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。ICカード20は、初期応答要求コマンドを受信する。さらに、ICカード20は、スロットマーカコマンドを受信する。
【0058】
ICカード20のCPU25は、受信した初期応答要求コマンドを解析する。ICカード20は、初期応答要求コマンドの「APf」、「AFI」、「PARAM」、及び「CRC_B」のそれぞれの値を認識する。ICカード20は、スロットを選択し、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答要求コマンドに対するレスポンスを端末装置10に送信する。
【0059】
端末装置10は、ICカード20から送信された初期応答要求コマンドに対するレスポンスを受信する(ステップS15)。
【0060】
ICカード20から送信されるレスポンスは、「APa」、「PUPI」、「応用データ」、「プロトコル情報」及び「CRC_B」を有する。
【0061】
APaは、初期応答要求コマンドに対するレスポンス(初期応答)で使用されるパラメータである。APaは、例えば1byteのデータである。
【0062】
PUPIは、擬似固有ICカード(PICC)識別子である。PUPIは、端末装置10側からICカード20を識別するために使用される。PUPIは、例えば、4byteのデータである。PUPIは、ROM26、または不揮発性メモリ28に記憶されている値であるが、乱数などが代用されてもよい。
【0063】
応用データは、ICカード20にどのようなアプリケーションが書き込まれているかを端末装置10に伝える為のデータである。応用データは、例えば4byteのデータである。
【0064】
プロトコル情報は、ICカード20がサポートする応用プロトコルの状態を表す。例えば、プロトコル情報は、ICカード20がサポートする通信速度を示す情報を含む。プロトコル情報は、例えば3byteのデータである。
【0065】
CRC_Bは、上記したように巡回冗長検査符号である。
【0066】
端末装置10は、初期応答要求コマンドに対するレスポンス(初期応答)を受信する場合、受信したレスポンスを解析する。これにより、端末装置10は、自身の通信可能範囲内にICカード20が存在することを認識する(ステップS16)。
【0067】
さらに、端末装置10は、ATTRIBコマンドをICカード20に送信することにより、ICカード20を選択する。これ以降、端末装置10は、ICカード20と通常の処理を行う(ステップS17)。
【0068】
なお、端末装置10は、ICカード20から送信されたレスポンスを受信する際にコリジョンが生じた場合、再度初期応答要求コマンドをICカード20に送信する。
【0069】
図7は、ICカード20の処理の例を示す。
ICカード20は、端末装置10の共振部16の通信可能範囲内に進入する場合、活性化されてアイドル状態になる。さらに、ICカード20は、初期応答要求コマンドを受信する(ステップS31)。
【0070】
ICカード20は、受信した初期応答要求コマンドを解析する(ステップS32)。これにより、ICカード20は、初期応答要求コマンドの「APf」、「AFI」、「PARAM」、及び「CRC_B」のそれぞれの値を認識する。さらに、ICカード20は、受信した初期応答要求コマンドに対するレスポンス(初期応答)を生成する。
【0071】
また、ICカード20は、「PARAM」の値に基づいて、スロットの数を認識する。ICカード20は、スロット数が1であるか否か判定する(ステップS33)。
【0072】
ステップS33で、スロット数が1ではないと判定した場合、ICカード20は、不揮発性メモリ28のメモリ28aにより記憶されているコリジョンフラグを読み出す(ステップS34)。さらに、ICカード20は、コリジョンフラグが「ON」であるか「OFF」であるか判定する(ステップS35)。
【0073】
ステップS35でコリジョンフラグが「ON」ではない(即ち「OFF」)と判定した場合、ICカード20は、最初のスロットで初期応答を端末装置10に送信する(ステップS36)。
【0074】
ステップS35でコリジョンフラグが「OFF」であると判定した場合、ICカード20は、予め設定されたスロットを選択する。ICカード20は、選択したスロットで初期応答を共振部24により端末装置10に送信する。即ち、ICカード20は、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答を共振部24により端末装置10に送信する。
【0075】
「OFF」のコリジョンフラグは、ICカード20の前回(最後)の通信時にコリジョンが発生しなかったことを示す。即ち、どのスロットで初期応答を端末装置10に送信してもコリジョンが発生しないことが期待される。
【0076】
ICカード20は、例えば、最初のスロットで初期応答を端末装置10に送信するように予め設定される。これにより、ICカード20は、コリジョンを発生させずに、より早いタイミングで初期応答要求コマンドに対する初期応答を端末装置10に送信することが出来る。
【0077】
また、ステップS35でコリジョンフラグが「ON」であると判定した場合、ICカード20は、乱数を生成する(ステップS37)。ICカード20は、例えば、ロジック部32により乱数を生成する。
【0078】
ICカード20は、生成された乱数に基づいてスロットを選択する(ステップS38)。例えば、ICカード20は、ステップS32で認識したスロット数と、生成された乱数とに基づいて、1つのスロットを選択する。ICカード20は、例えば、生成された乱数を、認識したスロット数以下の整数に変換し、変換した値に対応するスロットを選択する。
【0079】
ICカード20は、選択したスロットで初期応答を共振部24により端末装置10に送信する(ステップS39)。即ち、ICカード20は、選択したスロットを示すスロットマーカコマンドを受信した場合、初期応答を共振部24により端末装置10に送信する。
【0080】
また、ステップS33で、ステップ数が1であると判定した場合、ICカード20は、端末装置10によりアンチコリジョンが行われないことを認識する。この場合、ICカード20は、通常処理を行う(ステップS40)。即ち、ICカード20は、任意、または予め設定されたタイミングで初期応答を共振部24により端末装置10に送信する。
【0081】
さらに、ICカード20は、コリジョンが発生したか否か判定する(ステップS41)。例えば、ICカード20は、起動中に複数回初期応答要求コマンドを受信した場合、コリジョンが発生したと判定する。また、ICカード20は、初期応答要求コマンドのPARAMのNumber of slotsが2以上である場合、コリジョンが発生したと判定する構成であってもよい。
【0082】
またさらに、ICカード20は、他のICカードから初期応答が送信されたことを検出した場合にコリジョンが発生したと判定する構成であってもよい。ICカード20からデータが無線通信により送信される場合、ICカード20が存在する空間の磁界が変化する。即ち、ICカード20は、共振部24に生じる誘導電流の変化を検出することにより、他のICカード20からデータが送信されたか否かを検出することができる。
【0083】
ステップS41で、コリジョンが発生しなかったと判定した場合、ICカード20は、コリジョンフラグを「OFF」に書き換える(ステップS42)。即ち、ICカード20は、ICカード20の最後の通信時にコリジョンが発生しなかったことを示す情報を不揮発性メモリ28のメモリ28aに記憶する。
【0084】
また、ステップS41で、コリジョンが発生したと判定した場合、ICカード20は、コリジョンフラグを「ON」に書き換える(ステップS43)。即ち、ICカード20は、ICカード20の最後の通信時にコリジョンが発生したことを示す情報を不揮発性メモリ28のメモリ28aに記憶する。
【0085】
さらに、ICカード20は、端末装置10から送信されるATTRIBコマンドに基づいて、端末装置10との間で通信路を確立する。これ以降、端末装置10とICカード20とは、通常のコマンドに応じた処理を行うことができる。
【0086】
上記したように、一実施形態に係るICカード20は、最後の通信時にコリジョンが発生したか否かを示す情報を記憶するメモリを備えている。即ち、ICカード20のメモリ28aは、アンチコリジョンにおける最初のスロットを選択するか否かを示す情報(コリジョンフラグ)を記憶する。ICカード20は、端末装置10との通信時に、コリジョンフラグを参照し、最初のスロットを選択するか否か判断する。
【0087】
これにより、ICカード20は、他のICカードとのコリジョンが発生しない場合に、より早く初期応答を端末装置10に送信することができる。この結果、より速く非接触通信を行う事ができるICカード、ICカードの制御方法を提供することができる。
【0088】
なお、上記した実施形態では、ICカード20は、コリジョンが発生したか否かに基づいてコリジョンフラグを書き換える構成として説明したが、この構成に限定されない。ICカード20は、端末装置10から送信される所定のコマンドに基づいてメモリ28aのコリジョンフラグを書き換える構成であってもよい。
【0089】
また、メモリ28aのコリジョンフラグは、例えばICカード20の発行時などに予め書き込まれるものであってもよい。この場合、コリジョンフラグを記憶するメモリ28aは、ROM26内に含まれていても良い。
【0090】
このような構成によると、ユーザの意図に応じてICカード20の制御方法を変えることができる。
【0091】
また、ICカード20は、コリジョンフラグを端末装置10に通知する構成であってもよい。例えば、ICカード20は、コリジョンフラグに応じた情報を初期応答に付加する。これにより、端末装置10は、より早い段階でコリジョンが発生する可能性があるか否かを認識することができる。例えば、コリジョンが発生する可能性がないと判断した場合、端末装置10は、スロットマーカコマンドを短縮することができる。これにより、ICカード20を処理する端末装置10は、より早くICカード20との通信路を確立することができる。
【0092】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0093】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0094】
1…ICカード処理システム、10…端末装置、12…ROM、13…RAM、14…不揮発性メモリ、14a…記憶部、15…送受信部、16…共振部、17…ロジック部、18…上位インターフェース、19…電源部、20…ICカード、21…本体、22…ICモジュール、23…ICチップ、24…共振部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、28a…記憶部、29…送受信部、31…電源部、32…ロジック部。

【特許請求の範囲】
【請求項1】
外部機器と非接触通信を行うICカードであって、
前記外部機器から送信された初期応答要求コマンドを受信する受信部と、
前記受信部により受信された前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識する解析部と、
前記初期応答要求コマンドに対するレスポンスを生成するコマンド処理部と、
所定の情報を記憶する不揮発性メモリと、
前記不揮発性メモリにより前記所定の情報が記憶されている場合、前記解析部により認識した複数のスロットのうちの最初のスロットを選択する第1のスロット選択部と、
前記不揮発性メモリにより前記所定の情報が記憶されていない場合、前記解析部により認識した複数のスロットのうちの1つを選択する第2のスロット選択部と、
前記第1のスロット選択部または第2のスロット選択部により選択されたスロットで前記コマンド処理部により生成された前記レスポンスを前記外部機器に送信する送信部と、
を具備するICカード。
【請求項2】
前記不揮発性メモリは、前記外部機器との最後の非接触通信時にコリジョンが生じなかったことを示すフラグを所定の情報として記憶する請求項1に記載のICカード。
【請求項3】
前記送信部により前記レスポンスを前記外部機器に送信する際のコリジョンを検出し、コリジョンが検出されなかった場合、前記フラグを所定の情報として前記不揮発性メモリに書き込み、コリジョンが検出された場合、前記不揮発性メモリにより記憶されている前記フラグを削除するコリジョン検出部をさらに具備する請求項2に記載のICカード。
【請求項4】
前記コリジョン検出部は、前記初期応答要求コマンドを複数回受信した場合、コリジョンを検出する請求項3に記載のICカード。
【請求項5】
前記コリジョン検出部は、前記解析部により認識したスロットの数が複数である場合、コリジョンを検出する請求項3に記載のICカード。
【請求項6】
前記第2のスロット選択部は、乱数を生成し、生成した前記乱数に基づいて、前記解析部により認識した複数のスロットのうちの1つを選択する請求項1に記載のICカード。
【請求項7】
前記不揮発性メモリは、前記外部機器から受信したコマンドに応じて前記所定の情報を書き換える請求項1に記載のICカード。
【請求項8】
前記各部を備えるICモジュールと、
前記ICモジュールが配設される本体と、
を具備する請求項1に記載のICカード。
【請求項9】
不揮発性メモリを具備し、外部機器と非接触通信を行うICカードの制御方法であって、
前記外部機器から送信された初期応答要求コマンドを受信し、
前記初期応答要求コマンドを解析し、前記初期応答要求コマンドにより示されたアンチコリジョンのための複数のスロットを認識し、
前記初期応答要求コマンドに対するレスポンスを生成し、
前記不揮発性メモリにより所定の情報が記憶されているか否か判定し、
前記不揮発性メモリにより前記所定の情報が記憶されている場合、認識した複数のスロットのうちの最初のスロットを選択し、
前記不揮発性メモリにより前記所定の情報が記憶されていない場合、認識した複数のスロットのうちの1つを選択し、
選択されたスロットで前記レスポンスを前記外部機器に送信する、
ICカードの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−8241(P2013−8241A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−141097(P2011−141097)
【出願日】平成23年6月24日(2011.6.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】