説明

ICカード、携帯可能電子装置及びICカードにおける自己診断方法

【課題】活性化が行われにくい使用形態であっても自己診断を実行できるICカード、携帯可能電子装置およびICカードにおける自己診断方法を提供する。
【解決手段】ICカード1は、計数手段と、判断手段と、実行手段とを有する。計数手段は、特定のコマンドを受けた回数を計数する。判断手段は、計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する。実行手段は、判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ICカード、携帯可能電子装置及びICカードにおける自己診断方法に関する。
【背景技術】
【0002】
ICカードは、活性化時に自己診断処理を実施するように実装されている場合が多い。従来のICカードは、活性化する毎に自己診断を実行し、アプリケーションが動作する前に故障を検知する。しかしながら、長期間電源のオフされないような運用形態では、ICカードは、自己診断が行わない可能性がある。たとえば、携帯電話機に接続されるICカードは、携帯電話機自体が長期間にわたって電源の遮断及び投入を実施されない場合、長期間自己診断が行われない。長期間自己診断が実施されないICカードでは、アプリケーション処理を実行中に故障が発生してしまう可能性がある。アプリケーション処理の実行途中で故障が発生すると、中途まで処理したアプリケーション状態を元に戻す必要があり、復旧が困難な状況となることがある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ISO/IEC7816−3
【発明の概要】
【発明が解決しようとする課題】
【0004】
この発明は、活性化が行われにくい使用形態であっても自己診断を実行できるICカード、携帯可能電子装置およびICカードにおける自己診断方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
実施形態によれば、ICカードは、実施形態によれば、ICカードは、計数手段と、判断手段と、実行手段とを有する。計数手段は、特定のコマンドを受けた回数を計数する。判断手段は、計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する。実行段は、判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する。
【図面の簡単な説明】
【0006】
【図1】図1は、実施形態に係るICカードの構成例を概略的に示す図である。
【図2】図2は、実施形態に係るICカードが装着される端末装置としての携帯電話機の構成例を概略的に示す図である。
【図3】図3は、ICカードの第1の動作例を説明するためのフローチャートである。
【図4】図4は、ICカードの第2の動作例を説明するためのフローチャートである。
【図5】図5は、ICカードの第3の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【0007】
以下、実施形態について、図面を参照して説明する。
図1は、実施の形態に係る携帯可能電子装置としてのICカード1のハードウエア構成を概略的に示すブロック図である。
図1に示すように、ICカード1は、端末装置2と通信を行うことによりICカードシステムを構成している。このICカードシステムは、ICカード1と端末装置2とが双方向にデータの送受信を行う通信システムである。端末装置2は、たとえば、携帯電話機が想定され、ICカード1は、端末装置2としての携帯電話機に装着される運用形態が想定される。
【0008】
このようなシステムでは、端末装置2としての携帯電話機にICカード1が装着された状態でICカード1と携帯電話機とがデータ通信を行う。このような運用形態では、ICカード1が携帯電話機2に常に装着された状態であることが想定され、携帯電話機の電源がオフされなけば、ICカード1自体も電気的にはオフされない。このため、携帯電話機の電源が長期に亘ってオフされなければ、ICカード1も長期に亘って起動処理が実施されない可能性がある。
【0009】
ICカード1は、端末装置2からの電源供給により動作する。たとえば、上記ICカード1は、上記端末装置2と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)である。ただし、上記ICカード1は、アンテナあるいは無線通信部等により上記端末装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良い。さらには、上記ICカード1は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード(デュアルインターフェースICカード)であっても良い。
【0010】
図1に示すように、上記ICカード1は、制御部(CPU)11、プログラムメモリ(ROM)12、ワーキングメモリ(RAM)13、データメモリ(不揮発性メモリ)14、通信制御部15、電源部16、および、インターフェース17などを有する。
上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、制御部11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。
【0011】
上記制御部11は、ICカード1全体の制御を司る。上記制御部11は、CPUなどのプロセッサを有する。上記制御部11は、上記プログラムメモリ12あるいはデータメモリ14に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部11は、上記プログラムメモリ12に記憶されている動作を司る制御プログラムを実行することにより、端末装置2から与えられるコマンドに応じた処理を実行する。
【0012】
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12は、当該ICカード1の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【0013】
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、端末装置2との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ13は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【0014】
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、当該ICカード1の使用目的に応じた種々の情報(アプリケーションプログラムおよび運用データなど)が書込まれる。当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のアプリケーションが記憶される。
【0015】
また、上記データメモリ14は、特定のコマンドを受信した回数(特定の処理を実施した回数)をカウントするカウンタ14a、14bを有する。また、カウンタ14a、14bは、特定の複数のコマンドについてそれぞれの受信した回数をカウントするものであっても良い。たとえば、後述する動作例では、カウンタ14aは、ETSI TS 100.977で規定されるSTATUSコマンドの受信回数をカウントするものを想定する。上記STATUSコマンドは、通常の処理工程においては、定期的に実施される可能性が高いコマンドである。このため、カウンタ14aでカウントするSTATUSコマンドの受信回数は、処理時間あるいは一連の処理によるICカードの稼働状況を示す値となりうる。
【0016】
なお、カウンタ14a、14bは、活性化後の一連の処理における特定コマンド(例えば、STATUSコマンド)の受信回数を計数するものであるから、揮発性のメモリ(RAM)であるワーキングメモリ13に設けても良い。
【0017】
上記通信制御部15は、上記インターフェース17を介して端末装置2とのデータ通信を制御するものである。当該ICカード1が接触式ICカードである場合、通信制御部15は、端末装置2と物理的・電気的に接触するコンタクト部としてのインターフェース17を介してデータを送受信する。なお、非接触型のICカードであれば、上記通信制御部15は、インターフェース17としてのアンテナにより送受信するデータを変調あるいは復調する。
【0018】
上記電源部16は、当該ICカード1の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ICカード1が接触型のICカードである場合、上記電源部16は、インターフェース17を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ICカードが非接触型のICカードである場合、上記電源部16は、上記インターフェース17としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ICカード内の各部に供給する。
【0019】
次に、端末装置2の構成について説明する。
上記端末装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1とのデータ通信を行う。ここでは、端末装置2が携帯電話機である場合を想定する。端末装置2としての携帯電話機は、各ユーザが所持するICカード1を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ICカード1は、端末装置2としての携帯電話機に設けられたICカード用のソケットに装着される。携帯電話機のICカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とICカード1のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機2は、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に動作用の電力およびクロックパルスを供給する。
【0020】
図2は、端末装置2の一例としての携帯電話機の構成例を示すブロック図である。
図2に示す構成例では、携帯電話機2は、制御部31、RAM32、ROM33、不揮発性メモリ34、ICカード用のインターフェース(内部インターフェース)35、アンテナ37、通信部38、音声部39、振動部40、表示部41、操作部42および電源部43などを有する。
【0021】
上記制御部31は、携帯電話機2全体の制御を司るものである。上記制御部31は、CPU、内部メモリ、各種のインターフェースなどを有する。また、上記制御部31は、その基本機能として、上記表示部41の表示を制御する表示制御機能、PLL(Phase Locked Loop)回路、データストリーム経路切換え、DMA(Direct Memory Access)コントローラ、割り込みコントローラ、タイマ、UART(Universal Asynchronous Receiver Transmitter)、秘匿、HDLC(High-level Data Link Control procedure)フレーミング、ディバイスコントローラなどの機能を有している。
【0022】
上記RAM32は、作業用のデータを記憶するための揮発性メモリである。上記ROM33は、制御プログラムや制御データなどが記憶されている不揮発性メモリである。たとえば、上記ROM33には、当該携帯電話機2の基本的な制御を行うための制御プログラムおよび制御データが予め記憶されている。上記制御部31は、上記RAM32を用いて上記ROM33に記憶されている制御プログラムを実行することにより、当該携帯電話機2の基本的な制御を実現している。
【0023】
上記不揮発性メモリ34は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ34には、種々のアプリケーションプログラム(アプリケーション)、制御データ、および、ユーザデータなどが記憶される。上記制御部31は、上記不揮発性メモリ34に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【0024】
上記内部インターフェース35は、ICカード1が装着されるインターフェースである。上記内部インターフェース35は、上記制御部31に接続されている。これにより、上記制御部31は、上記内部インターフェース35を介して上記ICカード1とのデータ通信が可能となっている。
【0025】
上記通信部38は、通信用のアンテナ37を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部39は、アナログフロントエンド部及びオーディオ部を有し、音声の入出力を行う。上記振動部40は、当該携帯電話機2全体を振動させる振動機構により構成される。上記表示部41は、上記制御部31により表示のオンオフや表示内容などが制御される。上記操作部42は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部43は、バッテリーなどにより構成され、当該携帯電話機2内の各部に電源を供給するようになっている。また、上記電源部43は、上記内部インターフェース35を介して接続されたICカード1にも電源を供給する機能も有している。
【0026】
次に、ICカード1におけるコマンド処理について説明する。
本実施形態のICカードシステムにおいて、ICカード1は、端末装置2として携帯電話機に装着された状態で使用されるものであり、端末装置2側から電源電圧の供給を常時受けているものとする。すなわち、ICカードは、端末装置2の電源がオフされなければ、ICカードは、起動処理が実施されないような使用形態であることを想定する。
【0027】
まず、端末装置2に装着された状態のICカード1における第1の動作例を説明する。
図3は、端末装置2に装着された状態のICカード1における第1の動作例(第1のコマンド処理例)を説明するためのフローチャートである。
端末装置2に装着された状態のICカード1は、端末装置2から電源電圧が供給され、制御部11を含む各部が動作可能な状態となっている。このような状態において、制御部11は、端末装置2からのコマンド受信待ち状態となっている(ステップS11)。端末装置2からのコマンドを受信した場合(ステップS11、YES)、制御部11は、受信したコマンドに含まれるコマンドを示す情報(コマンドコード)により当該コマンドを識別する(ステップS12)。受信したコマンドを識別すると、制御部11は、受信したコマンドが自己診断を実施する判断基準となる特定コマンドであるか否かを判定する(ステップS13)。
【0028】
自己診断を実施する判断基準となる特定コマンドは、定期的に実施される可能性が高いコマンドが設定される。たとえば、自己診断を実施する判断基準となる特定コマンドとしては、ETSI TS 100.977で規定されるSTATUSコマンドがある。STATUSコマンドは、ICカードに状態を示す情報を要求するコマンドであり、一定の間隔で実行される可能性が高い。
【0029】
また、ICカード1の制御部11は、コマンドを受信した場合、受信したコマンドを解釈し、そのコマンドが指示する内容に応じてコマンド処理モジュールへ処理を移行させる役割を果たすコマンドディスパッチャー機能を有する。たとえば、ICカード1の制御部11は、自己診断を実施する判断基準となる特定コマンドとしてのSTATUSコマンドを受信した場合、コマンドディスパッチャー機能により受信したコマンドがSTATUSコマンドであることを解釈し、自己診断を行うかどうかを判断する判断処理を実行する。
【0030】
受信したコマンドが特定コマンドでないと判断した場合(ステップS13、NO)、制御部11は、受信したコマンドに対応するコマンド処理を実行する(ステップS20)。このコマンド処理が終了すると、制御部11は、上記ステップS11へ戻って次のコマンドの受信待ちとなる。
【0031】
また、受信したコマンドが特定コマンドであると判断した場合(ステップS13、YES)、制御部11は、特定コマンドに対応して設けた特定コマンド受信カウンタ14aのカウント値を更新する(ステップS14)。特定コマンド受信カウンタ14aは、不揮発性メモリ14に設けられ、特定コマンドを受信するごとにカウント値を更新する。たとえば、特定コマンド受信カウンタ14aは、特定コマンドを受信するごとにカウント値がインクリメントされる。
【0032】
特定コマンド受信カウンタ14aのカウント値を更新すると、制御部11は、特定コマンド受信カウンタ14aのカウント値が所定の上限値以上であるか否かを判断する(ステップS15)。この上限値は、自己診断を実行するための閾値である。つまり、特定コマンドを上限値の回数受信するごとに、制御部11は、自己診断を実行するものと判断するようになっている。また、上限値は、予め設定され、不揮発性メモリ14などに記憶される。不揮発性メモリ14に記憶する上限値は、設定が変更できるようにしても良い。
【0033】
特定コマンド受信カウンタ14aのカウント値が所定の上限値未満であると判断した場合(ステップS15、NO)、制御部11は、当該特定コマンドに対応するコマンド処理を実行し(ステップS20)、上記ステップS11へ戻って、次のコマンドの受信待ち状態となる。
【0034】
また、特定コマンド受信カウンタ14aのカウント値が所定の上限値以上であると判断した場合(ステップS15、YES)、制御部11は、特定コマンド受信カウンタ14aのカウント値をクリアする(ステップS16)。特定コマンド受信カウンタ14aのカウント値をクリアすると、制御部11は、実行すべき自己診断の内容を決定する(ステップS17)。本動作例では、起動時ではなくて、ICカード1が実際のコマンド処理中に自己診断を行う。このため、自己診断処理に多くの処理を要すると、ICカード1と端末装置2との通信による一連の処理が全体としてスムーズに実施されてない可能性が発生する。このため、本動作例は、自己診断処理(起動時に実行する自己診断処理)の1部の処理を分散して実行するようにする。このため、上記ステップS17では、カウンタ値が上限値に達するごとに、どのような内容の自己診断を行うかを決定する。
【0035】
たとえば、起動時に実施する自己診断処理を複数の自己診断処理に分割し、それらの分割した自己診断処理を、カウンタ値が上限値に達するごとに、順番に実行するものとする。具体例としては、自己診断処理に、不揮発性メモリの正当性チェック、および、RAMの正当性チェックが含まれる場合、最初にカウンタ値が上限値に達した場合には津揮発性メモリの正当性チェックを行い、次にカウンタ値が上限値に達した場合にはRAMの正当性チェックを行うというように、自己診断処理に含まれる複数の処理を順番に実行するようする。
【0036】
実行すべき自己診断の内容を決定すると、制御部11は、決定した内容の自己診断処理(通常の自己診断処理の一部の処理)を実行する(ステップS18)。この自己診断処理により故障が検知された場合(ステップS19、YES)、制御部11は、ICカード内に故障が発生している旨のレスポンス(エラー応答)を作成し、端末装置2へ通知する(ステップS21)。エラー応答を行うと、制御部11は、当該ICカード1におけるコマンド処理を中止する。また、上記自己診断処理により故障が検知されなかった場合(ステップS19、NO)、制御部11は、当該コマンドに対応するコマンド処理を実行し(ステップS20)、上記ステップS11へ戻る。
【0037】
以上の第1の動作例では、特定コマンドの受信回数が所定の上限値以上となった場合に、自己診断処理を実施する。これにより、再起動などが行われない運用形態で使用されるICカードであっても、自己診断を実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるICカードを提供できる。
【0038】
また、特定コマンドの受信回数が所定の上限値以上となったことにより実行する自己診断処理は、活性化時に実施する自己診断処理の一部の処理とする。これにより、分散して自己診断処理を実行でき、コマンド処理中であるICカードにおける動作能力の低下を抑えることできる。
【0039】
次に、端末装置2に装着された状態のICカード1における第2の動作例を説明する。
図4は、端末装置2に装着された状態のICカード1における第2の動作例(第2のコマンド処理例)を説明するためのフローチャートである。
端末装置2からのコマンドを受信した場合(ステップS31、YES)、制御部11は、受信したコマンドに含まれるコマンドを示す情報(コマンドコード)により当該コマンドを識別する(ステップS32)。受信したコマンドを識別すると、制御部11は、受信したコマンドが自己診断を実施する判断基準となる特定コマンドであるか否かを判定する(ステップS33)。自己診断を実施する判断基準となる特定コマンドは、第1の動作例と同様であり、たとえば、ETSI TS 100.977で規定されるSTATUSコマンドである。
【0040】
受信したコマンドが特定コマンドでないと判断した場合(ステップS33、NO)、制御部11は、受信したコマンドに対応するコマンド処理を実行する(ステップS42)。このコマンド処理が終了すると、制御部11は、上記ステップS31へ戻って次のコマンドの受信待ちとなる。
【0041】
また、受信したコマンドが特定コマンドであると判断した場合(ステップS33、YES)、制御部11は、特定コマンドに対応して設けた特定コマンド受信カウンタ14aのカウント値を更新する(ステップS34)。たとえば、制御部11は、特定コマンドを受信するごとに、不揮発性メモリ14内に設けた特定コマンド受信カウンタ14aのカウンタ値をインクリメントする。
【0042】
特定コマンド受信カウンタ14aのカウント値を更新すると、制御部11は、特定コマンド受信カウンタ14aのカウント値が所定の第1上限値であるか否かを判断する(ステップS35)。この第1上限値は、第1の自己診断を実行することを決定するための閾値である。つまり、特定コマンドを第1上限値の回数だけ受信すると、制御部11は、第1の自己診断を実行するものとする。
【0043】
特定コマンド受信カウンタ14aのカウント値が第1上限値であると判断した場合(ステップS35、NO)、制御部11は、第1の自己診断を実行する(ステップS36)。なお、第1上限値および第1の自己診断の内容は、予め設定され、不揮発性メモリ14などに記憶される。また、不揮発性メモリ14に記憶する第1上限値および第1の自己診断の内容は、変更可能としても良い。
【0044】
また、特定コマンド受信カウンタ14aのカウント値が第1上限値でないと判断した場合(ステップS25、NO)、制御部11は、さらに、特定コマンド受信カウンタ14aのカウント値が所定の第2上限値であるか否かを判断する(ステップS37)。この第2上限値は、第1上限値よりも大きい値であり、第2の自己診断を実行することを決定するための閾値である。つまり、特定コマンドを第2上限値の回数だけ受信すると、制御部11は、第2の自己診断を実行するものとする。
【0045】
特定コマンド受信カウンタ14aのカウント値が第2上限値であると判断した場合(ステップS37、NO)、制御部11は、特定コマンド受信カウンタのカウント値をクリアし(ステップS38)、第2の自己診断を実行する(ステップS39)。なお、第2上限値および第2の自己診断の内容は、予め設定され、不揮発性メモリ14などに記憶されるものとする。また、不揮発性メモリ14に記憶する第2上限値および第2の自己診断の内容は、変更可能としても良い。
【0046】
第1の自己診断あるいは第2の自己診断により故障が検知された場合(ステップS40YES)、制御部11は、当該ICカード1内に故障が発生している旨のレスポンス(エラー応答)を作成し、端末装置2へ通知する(ステップS41)。エラー応答を行うと、制御部11は、当該ICカード1におけるコマンド処理を中止する。また、第1の自己診断あるいは第2の自己診断において故障が検出されなかった場合(ステップS42、NO)、制御部11は、当該コマンドに対応するコマンド処理を実行し(ステップS42)、上記ステップS31へ戻る。
【0047】
以上の第2の動作例によれば、ICカードは、特定コマンドの受信回数に対する複数の上限値(設定値)と、各上限値に対応する自己診断の内容とを設定しておき、特定コマンドの受信回数が何れかの上限値となるごとに、当該上限値に対応づけて内容の自己診断を実施する。これにより、再起動などが行われない運用形態で使用されるICカードであっても、自己診断を段階的に実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるICカードを提供できる。
【0048】
次に、端末装置2に装着された状態のICカード1における第3の動作例を説明する。
図5は、端末装置2に装着された状態のICカード1における第3の動作例(第3のコマンド処理例)を説明するためのフローチャートである。
端末装置2からのコマンドを受信した場合(ステップS51、YES)、制御部11は、受信したコマンドに含まれるコマンドを示す情報(コマンドコード)により当該コマンドを識別する(ステップS52)。受信したコマンドを識別すると、制御部11は、受信したコマンドが第1の自己診断を実施する判断基準となる第1の特定コマンドであるか否かを判定する(ステップS53)。
【0049】
受信したコマンドが第1の特定コマンドでないと判断した場合(ステップS53、NO)、制御部11は、さらに、受信したコマンドが第2の自己診断を実施する判断基準となる第2の特定コマンドであるか否かを判定する(ステップS54)。第1の特定コマンドと第2の特定コマンドとは、それぞれ定期的な使用が想定されるコマンドであっても良いし、第1の特定コマンドは、コマンド処理の内容が第1の自己診断の内容に関連のあるものとし、第2の特定コマンドは、コマンド処理の内容が第2の自己診断の内容に関連のあるものとしても良い。
【0050】
受信したコマンドが第1の特定コマンドでも第2の特定コマンドでもないと判断した場合(ステップS54、NO)、制御部11は、受信したコマンドに対応するコマンド処理を実行する(ステップS55)。このコマンド処理が終了すると、制御部11は、上記ステップS51へ戻って次のコマンドの受信待ちとなる。
【0051】
また、受信したコマンドが第1の特定コマンドであると判断した場合(ステップS53、YES)、制御部11は、第1の特定コマンドに対応して設けた第1特定コマンド受信カウンタ14aのカウント値を更新する(ステップS56)。たとえば、制御部11は、第1の特定コマンドを受信するごとに、不揮発性メモリ14内に設けた第1特定コマンド受信カウンタ14aのカウンタ値をインクリメントする。
【0052】
第1特定コマンド受信カウンタ14aのカウント値を更新すると、制御部11は、第1特定コマンド受信カウンタ14aのカウント値が第1上限値以上であるか否かを判断する(ステップS57)。この第1上限値は、第1の特定コマンドに対応する第1の自己診断を実行することを決定するための閾値である。つまり、第1の特定コマンドを第1上限値の回数だけ受信すると、制御部11は、第1の自己診断を実行するものとする。
【0053】
第1特定コマンド受信カウンタ14aのカウント値が第1上限値であると判断した場合(ステップS57、NO)、制御部11は、第1特定コマンド受信カウンタ14aのカウント値をクリアし(ステップS58)、第1の自己診断を実行する(ステップS59)。たとえば、第1の自己診断の内容は、第1の特定コマンドに対応づけて予め設定しておく。ただし、第1の自己診断の内容は、上記ステップS17のように、第1特定コマンド受信カウンタ14aのカウント値が第1上限値に達するごとに決定するようにしても良い。
【0054】
また、受信したコマンドが第2の特定コマンドであると判断した場合(ステップS54、YES)、制御部11は、第2の特定コマンドに対応して設けた第2特定コマンド受信カウンタ14bのカウント値を更新する(ステップS60)。たとえば、制御部11は、第1の特定コマンドを受信するごとに、不揮発性メモリ14内に設けた第2特定コマンド受信カウンタ14aのカウンタ値をインクリメントする。
【0055】
第2特定コマンド受信カウンタ14bのカウント値を更新すると、制御部11は、第2特定コマンド受信カウンタ14bのカウント値が第2上限値以上であるか否かを判断する(ステップS61)。第2上限値は、第2の特定コマンドに対応する第2の自己診断を実行することを決定するための閾値である。つまり、第2の特定コマンドを第2上限値の回数だけ受信すると、制御部11は、第2の自己診断を実行するものとする。
【0056】
なお、第3の動作例では、第1上限値と第2上限値とは相関関係のない値を設定して良い。たとえば、第1上限値と第2上限値とは同じ値であって良い。たとえば、第1上限値、第2上限値、第1の自己診断の内容、及び第2の自己診断の内容は、予め設定され、不揮発性メモリ14などに記憶される。また、不揮発性メモリ14に記憶する第1上限値、第2上限値、第1の自己診断の内容および第2の自己診断の内容は、変更可能としても良い。
【0057】
第2特定コマンド受信カウンタ14bのカウント値が第2上限値であると判断した場合(ステップS61、NO)、制御部11は、第2特定コマンド受信カウンタ14bのカウント値をクリアし(ステップS62)、第2の自己診断を実行する(ステップS63)。たとえば、第2の自己診断の内容は、第2の特定コマンドに対応づけて予め設定しておく。ただし、第2の自己診断の内容は、上記ステップS17のように、第2特定コマンド受信カウンタ14bのカウント値が第2上限値に達するごとに決定するようにしても良い。
【0058】
第1の自己診断あるいは第2の自己診断により故障が検知された場合(ステップS64、YES)、制御部11は、当該ICカード1内に故障が発生している旨のレスポンス(エラー応答)を作成し、端末装置2へ通知する(ステップS65)。エラー応答を行うと、制御部11は、当該ICカード1におけるコマンド処理を中止する。また、第1の自己診断あるいは第2の自己診断において故障が検出されなかった場合(ステップS64、NO)、制御部11は、当該コマンドに対応するコマンド処理を実行し(ステップS55)、上記ステップS31へ戻る。
【0059】
以上の第3の動作例によれば、ICカードは、特定の2つのコマンドについて受信回数をカウントし、第1の特定コマンドの受信回数が第1上限値(設定値)に達した場合には第1の自己診断を実施し、第2の特定コマンドの受信回数が第2上限値(設定値)に達した場合には第2の自己診断を実施するようにできる。これにより、再起動などが行われない運用形態で使用されるICカードであっても、受信したコマンドの種類と回数とに応じた自己診断を適宜実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるICカードを提供できる。
【0060】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0061】
1…ICカード、C…本体、1a…ICチップ、2…端末装置(携帯電話機)、11…制御部(CPU)、12…プログラムメモリ(ROM)、13…ワーキングメモリ(RAM)、14…データメモリ(不揮発性メモリ)、14a、14b…特定コマンド受信カウンタ、15…通信制御部、16…電源部、17…インターフェース。

【特許請求の範囲】
【請求項1】
外部からのコマンドを処理するICカードにおいて、
特定のコマンドを受けた回数を計数する計数手段と、
前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、
前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段と、
を有することを特徴とするICカード。
【請求項2】
前記計数手段は、前記実行手段により自己診断が実行された場合に計数した回数を初期値に戻す、
ことを特徴とする前記請求項1に記載のICカード。
【請求項3】
さらに、前記実行手段により実行した自己診断により不具合を検知した場合、前記特定のコマンドの処理を実行せずに不具合が発生していることを示す情報を応答する応答手段を有する、
ことを特徴とする前記請求項1又は2に記載のICカード。
【請求項4】
前記実行手段は、当該ICカードの起動時に実行する自己診断処理の一部を自己診断として実行する、
ことを特徴とする前記請求項1乃至3の何れか1項に記載のICカード。
【請求項5】
さらに、第1の上限値と前記第1上限値よりも大きい第2の上限値とを記憶する記憶手段を有し、
前記判断手段は、前記計数手段により計数した特定のコマンドを受けた回数が前記第1の上限値であるか否かを判断する第1の判断機能と、前記計数手段により計数した特定のコマンドを受けた回数が前記第2の上限値であるか否かを判断する第2の判断機能とを有し、
前記実行手段は、前記第1の判断機能により特定のコマンドを受けた回数が第1上限値であると判断した場合、第1の自己診断を実行し、前記第2の判断機能により特定のコマンドを受けた回数が第1上限値であると判断した場合、第2の自己診断を実行する、
ことを特徴とする前記請求項1乃至4の何れか1項に記載のICカード。
【請求項6】
前記計数手段は、第1の特定コマンドを受けた回数を計数する第1カウンタと、第2の特定カウントを受けた回数を計数する第2カウンタとを有し、
前記判断手段は、前記第1の特定コマンドを受けた場合には、前記第1カウンタの値が第1上限値以上であるか否かを判断し、前記第2の特定コマンドを受けた場合には、前記第2カウンタの値が第2上限値であるか否かを判断し、
前記実行手段は、前記第1カウンタの値が第1上限値以上であると判断した場合には第1の自己診断を実行し、前記第2カウンタの値が第2上限値以上であると判断した場合には第2の自己診断を実行する、
ことを特徴とする前記請求項1乃至4の何れか1項に記載のICカード。
【請求項7】
外部からのコマンドを処理するICカードにおいて、
特定のコマンドを受けた回数を計数する計数手段と、前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段とを有するモジュールと
前記モジュールを有する本体と、
を有することを特徴とするICカード。
【請求項8】
外部からのコマンドを処理する携帯可能電子装置において、
特定のコマンドを受けた回数を計数する計数手段と、
前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、
前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段と、
を有することを特徴とする携帯可能電子装置。
【請求項9】
外部からのコマンドを処理するICカードにおける自己診断方法であって、
特定のコマンドを受けた回数を計数し、
前記計数した特定のコマンドを受けた回数が上限値に達したか否かを判断し、
前記判断により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する、
ことを特徴とするICカードにおける自己診断方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−69062(P2013−69062A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−206230(P2011−206230)
【出願日】平成23年9月21日(2011.9.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】