(57)【要約】 【課題】通信エラー発生時にエラーが発生した誤り位置情報を生成し、誤り位置情報送信要求があるとき誤り位置情報を送信するＩＣカードを提供すること。【解決手段】端末から送信されたデータを受信した際、当該受信データを付加されたＬＲＣで検証する（Ｓ０３）。この検証の結果、通信エラーが検知された場合には（Ｓ０４のＮｏ）、当該通信データをＩＣカード内の記憶部に一時保存（Ｓ０５）すると共に再送要求を行う（Ｓ０８）。この再送要求の結果受信した受信データに通信エラーが発生しなかった場合（Ｓ０４のＹｅｓ）、当該受信データと上記一時保された受信データとの比較を行い（Ｓ１０）、誤り位置情報を生成して（Ｓ１１）記憶部に記憶する（Ｓ１２）。端末から誤り位置情報の送信要求があれば、当該誤り位置情報を当該端末に送信する（Ｓ１５）。【選択図】  図５
2013146030.tif 000002
【特許請求の範囲】
【請求項１】
通信部、制御部及び記憶部を有して構成され、外部端末から送信されたデータを受信し、この受信データを解釈・実行してその結果を送信するＩＣカードにおいて、
前記受信データに付加された誤り冗長符号により、当該ＩＣカードが受信した受信データの誤りを検査する検査手段と、
この検査手段で誤りが検知された場合に当該受信データを前記記憶部に一時的に記憶し、前記外部端末に対して再送を要求する再送要求手段と、
この再送要求手段による再送要求に対して前記外部端末から送信されたデータの受信データが前記検査手段の検査で誤りが検知されなかったとき、前記記憶部に一時的に記憶した受信データと当該誤りが検知されなかった受信データを比較する比較手段と、
この比較手段による比較の結果、当該受信データ内の誤りが発生した誤り位置情報を取得する誤り位置情報取得手段と、
この誤り位置情報取得手段によって取得した誤り位置情報を前記記憶部に記憶し、外部端末からの誤り位置情報の送信要求に対して当該誤り位置情報を送信するＩＣカード。
【請求項２】
前記誤り位置情報取得手段は、
前記比較手段によって誤り位置情報が複数検知された場合には、当該複数の誤り位置情報を取得し、
外部端末からの誤り位置情報の送信要求に対して誤り位置情報を送信する請求項１記載のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカードに関する。
【背景技術】
【０００２】
近年急激に利用が拡大したＩＣカードは、ＩＣカードリーダ・ライタ（端末）と通信を行うことができる。このＩＣカードは、内部にＣＰＵ、メモリ及びＩＯからなる制御部と、外部と通信を行う通信部が設けられており、この通信部を介して上記ＩＣカードリーダ・ライタ（端末）と通信を行う。上記通信には、ＩＣカードに設けられた端子を介し行う接触式ＩＣカード通信と、ＩＣカードに設けられたアンテナを介して非接触で行う方式がある。何れの場合であっても、通信方式が異なるが、他の部分は基本的に共通である。
【０００３】
このように、ＩＣカードは上記ＩＣカードリーダ・ライタと通信を行うことによって各種の機能又はサービスを受けることができるため、エラーのない通信を行うことが重要になる。なお、受信信号から通信方式を判断し、判断された通信方式に基づいて通信を実行し、通信端末と通信中にエラーが発生した場合にＥＥＰＲＯＭに履歴を記録する方法が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５９２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したエラー履歴の取得だけでは、通信エラー原因を特定し保守するために十分な情報が得られないという課題があった。
【０００６】
本発明は、上述した課題を解決するためになされたもので、ＩＣカードとＩＣカードリーダ・ライタとの通信時にエラーが発生した場合、当該ＩＣカード内のエラーが発生したエラー箇所（誤り発生位置）情報をエラーログとして不揮発メモリに保存し、エラーログ出力要求があった際、当該エラーログをＩＣカードリーダ・ライタに出力することにより、当該エラーログ情報に基づいて障害発生箇所を特定できることから、保守の利便性が向上するＩＣカードを提供する。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の請求項１記載のＩＣカードは、通信部、制御部及び記憶部を有して構成され、外部端末から送信されたデータを受信し、この受信データを解釈・実行してその結果を送信するＩＣカードにおいて、前記受信データに付加された誤り冗長符号により、当該ＩＣカードが受信した受信データの誤りを検査する検査手段と、この検査手段で誤りが検知された場合に当該受信データを前記記憶部に一時的に記憶し、前記外部端末に対して再送を要求する再送要求手段と、この再送要求手段による再送要求に対して前記外部端末から送信されたデータの受信データが前記検査手段の検査で誤りが検知されなかったとき、前記記憶部に一時的に記憶した受信データと当該誤りが検知されなかった受信データを比較する比較手段と、この比較手段による比較の結果、当該受信データ内の誤りが発生した誤り位置情報を取得する誤り位置情報取得手段と、この誤り位置情報取得手段によって取得した誤り位置情報を前記記憶部に記憶し、外部端末からの誤り位置情報の送信要求に対して当該誤り位置情報を送信する。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係るＩＣカードの概略構成図
【図２】実施例１に係るＩＣカードとＩＣカードリーダ・ライタ間の伝送プロトコル
【図３】伝送プロトコルに基づく本実施例の送信データ
【図４】実施例１に係るエラーログのデータフォーマット
【図５】実施例１に係るＩＣカードの通信エラー発生時のエラーログ保存処理フローチャート
【図６】実施例１に係るエラーログの出力フォーマット
【図７】実施例１に係るエラーログ出力処理フローチャート
【発明を実施するための形態】
【０００９】
本実施例に係るＩＣカード１０は、ＣＰＵ（Central Processing Unit:中央処理装置）、ＲＯＭ(Read Only Memory:読み取り専用メモリ)、ＲＡＭ（Random Access Memory:揮発性メモリ）、ＮＶＭ（Non-volatile memory:不揮発性メモリ）及び通信部を有して構成される。この通信部は、ＩＣカード１０内に設けられた外部端子を介してＩＣカードリーダ・ライタ（端末）２０と通信を行う。
【００１０】
以下、ＩＣカード１０とＩＣカードリーダ・ライタ２０との通信中に通信エラーが発生した場合にエラー発生箇所情報を保存するエラーログ保存処理及びＩＣカードリーダ・ライタからの要求により上記エラー発生箇所情報からなるエラーログを出力するエラーログ出力処理を、図面を参照して説明する。
【実施例１】
【００１１】
図１は、実施例１に係るＩＣカード１０の概略構成図である。ＩＣカード１０は、制御部及び通信部で構成される。
【００１２】
制御部は、ＣＰＵ１１、ＲＯＭ１３、ＲＡＭ１４及びＮＶＭ１５を有して構成される。ＲＯＭ１３及びＮＶＭ１５には、当該ＣＰＵ1１を動作するためのプログラムが実装される。
【００１３】
通信部１２は、接触端子を介した接触式ＩＣカード（以下、ＩＣカードと称する。）１０とＩＣカードリーダ・ライタ（以下、簡単のため端末と称する。）２０との間の通信を行う。
【００１４】
図２は、伝送プロトコルの一例である。ＩＣカード１０とＩＣカードリーダ・ライタ２０との間の通信で用いられるプロトコルには国際規格があり、通常は、この国際規格に基づくプロトコルに応じて送受信が行われる。この標準規格に基づく接触式ＩＣカードの通信では、本来送信したい情報にパリティやＬＲＣ（Longitudinal Redundancy Check：水平パリティチェック）などの冗長な情報を付与し送信される。そのため、データの受信者は、これらの冗長情報を用いて受信情報の整合性をチェックすることによって、送受信が正しく行われたかを確認することができる。さらに、標準規格に基づく通信では、データの受信者は、受信したデータの整合性が取れない場合、送信者に情報の再送を要求することができる。
【００１５】
ＩＳＯ／ＩＥＣ  １４４４３−４に基づくＩＣカードとＩＣカードリーダ・ライタの伝送プロトコルで、通信フレーム及び基本シーケンスが規定されている。本実施例に係るＩＣカード１０と端末２０間の通信プロトコルも基本的にこれに準じて行われる。ＬＮＧは、送信データのデータ長である。ＥＤＣは、送信データのチェックデータで、本実施例で用いているＬＲＣに相当する。
【００１６】
図３（１）は、上記伝送プロトコルに基づき本実施例の送信データＤ０１〜Ｄ０３の一例で、その一部が１６進法で表示してある。
【００１７】
送信データＤ０１は、端末２０が送信したデータである。末尾に送信された２２Ｈ（１６進法の２２）は、当該送信データのチェックデータ（ＬＲＣ）である。
【００１８】
受信データＤ０２は、ＩＣカード１０が受信したデータにエラーがありＬＲＣエラーとなった場合を示す。ここでは、端末送信データに含まれるデータ２３Ｈが３３Ｈになっており、この３３Ｈを元に算出されたＬＲＣ（図示しない）が２２と異なる値になるためＬＲＣエラーが検知される。
【００１９】
受信データＤ０３は、上記送信データＤ０２でエラーが検知され、再送要求に基づいて端末２０が送信したデータを受信したデータである。エラー受信時のデータ３３Ｈが２３Ｈとして受信されているため、ＬＲＣエラーも発生せず正常受信をした場合を示す。
【００２０】
図３（２）は、エラーが検出された上記受信データＤ０２の誤り位置情報を説明する図である。受信データの28ビット目にエラーが発生した場合を示す・
図４は、本実施例に係るエラーログのデータフォーマットである。例えば図３のエラー受信データＤ０２の場合、エラー数は１で、先頭から２８ビット目（１６進数で１Ｃビット目）でエラーが発生しているのでエラーデータＤ０４は以下の値になる。
【００２１】
エラーデータＤ０４：０１００１Ｃ
０１    ：（１Ｂｙｔｅ）・・・・エラー数‘１’
００１Ｃ：（２Ｂｙｔｅ）・・・・位置情報  １Ｃ（１６進数表示）（＝２８ビット目）
図２に示すプロトコルで送信されるデータの最大データ数（ＬＮＧ）は２５６ビットであることから当該位置情報は２Ｂｙｔｅで表現される。このエラーログは、図１に示すＩＣカード１０内の不揮発メモリ１５に記憶される。
【００２２】
図５は、実施例１に係るＩＣカードの通信エラー発生時のエラーログ保存処理フローチャートである。ＩＳＯ／ＩＥＣ  ７８１６−３で規定されるＴ＝１プロトコルによる通信が行われる場合を想定したＩＣカードの命令（コマンド）受信から応答送信までの処理の流れを示す。なお、図中各処理を示す符号に下線を引いた処理は、本実施例によるエラーログの保存を実現するために加えた独自処理である。
【００２３】
図に示す処理は、ＩＣカード１０と端末２０が通信するためのリンクが確立し、通信可能状態にあることを前提としている。従って、ＩＣカード１０が、当該端末２０が要求しているＩＣカードでない場合は上記リンクが確立しないため、ここでは扱わない。
【００２４】
最初に、ＩＣカード１０から、端末２０に対する再送信要求回数を計数する再送要求カウンタを初期化する（Ｓ０１）。当該通信における再送信要求回数を係数するためである。
【００２５】
ＩＣカードリ１０は、端末２０からデータを受信し（Ｓ０２）、当該受信したデータの整合性の検証を行うために、当該受信データから生成したＬＲＣが、送信データに付加されているＬＲＣに一致するか検証する（Ｓ０３）。
【００２６】
検証の結果検証が成功しなかった場合、受信したエラーデータを一時的に保存する（Ｓ０５）。
【００２７】
再送要求回数が設定された上限回数に達したか確認する（Ｓ０６）。
【００２８】
この確認の結果設定された上限回数に達していない場合（Ｓ０６のＮｏ）、再送要求カウンタをインクルメントし（Ｓ０７）、端末２０に対して再送要求を行う。続けてステップＳ０２に移行し、当該再送要求に伴い端末２０からデータが送信されるのを待つ（Ｓ０２）。
【００２９】
このようにして再送されたデータの検証に成功した場合（Ｓ０４のＹｅｓ）、通信エラーの発生があったか確認する（Ｓ０９）。この確認の結果、通信エラーがあった場合（上記ＬＲＣによるデータ検証で成功しなかった場合）、誤り位置情報を生成する（Ｓ１１）。
【００３０】
この誤り位置情報の確認方法は、上記ステップＳ０５で一時保存したエラー受信データとデータの検証に成功したときの受信データを比較することにより、誤り位置を抽出することにより行う。
【００３１】
誤り位置情報とは、誤りが先頭から何ビット目であるかを示す情報のことである。上述した図３に示す例では２８ビット目に誤りがある。また、複数の通信エラーが発生した場合には、再送要求も複数回行われるため、複数の位置情報が得られる。図３に示す通りである。
【００３２】
この様にして抽出した誤り位置情報は、図４に示すデータフォーマットに従ってエラーログを作成して保存する（Ｓ１２）。
【００３３】
端末からの受信データ（コマンド）を解釈し（Ｓ１３）、当該；コマンドが要求する出力フォーマットに従って、出力データを形成する（例えば、図６参照）。この様にして形成された出力データを端末２０に送信する（Ｓ１５）次に、ステップＳ０１に移行し、次のデータの受信を行う。
【００３４】
なお、ステップＳ０９において、通信エラーが発生しなかった場合は（Ｓ０９のＮｏ）、ステップＳ１０〜Ｓ１２の処理は行わず上述したステップＳ１３以降の処理を行う。
【００３５】
図６は、ＩＣカードがエラーログ出力要求コマンドを受信したときのエラーログの出力フォーマットである。図６に示すエラーログのデータフォーマットは、図５のステップＳ１１で生成され、図５のステップＳ１４でエラーログの出力フォーマットが形成されて端末２０に送信される（Ｓ１５）。具体的なエラーログの出力は、端末２０からコマンドとしてのエラーログ（誤り位置情報）の送信要求があった場合に、ステップＳ１１で生成され、保存されたエラーログ（Ｓ１２）が送信される。以下、図７を参照して説明する。
【００３６】
図７は、エラーログ出力処理フローチャートである。ＩＣカード１０は端末２０からの要求により、エラーログを送信する機能を有する。以下、図を参照しながら説明する。
【００３７】
端末２０からのコマンド（ここでは、エラーログ（誤り位置情報）送信要求）を受信する（Ｓ２１）。
【００３８】
当該受信したコマンドを解釈する。この解釈の結果、当該コマンドが、エラーログ送信要求の場合（Ｓ２２のＹｅｓ）、エラーログ数ｎを確認する（Ｓ２３）。
【００３９】
エラーログ数ｎがｎ＝０でない場合（Ｓ２４のＮｏ）、エラーログとＳＷ＝９０００を出力する。この出力されたエラーログが他の送信処理の中で端末２０に送信される。
【００４０】
なお、ＳＷはステータスワードと呼ばれ、それぞれ１バイトからなるＳＷ１及びＳＷ２で構成される。その一例を下記に示す。
【００４１】
ＳＷ１    ＳＷ２
９０      ００・・・・・正常終了
６２      ００・・・・・照合不一致
６２      ８３・・・・・出力データに異常がある
従って、上述したＳＷ＝９０００は、ＩＣカード１０がＩＣカードリーダ・ライタ２０からのエラーログ出力要求に基づくエラーログ出力処理を正常終了したことを示す。
【００４２】
エラーログ数ｎがｎ＝０の場合（Ｓ２４のＹｅｓ）、ＳＷ＝９０００を出力して終了する（Ｓ２６）。この出力処理後は、次のコマンド待ちの状態になる。
【００４３】
ステップＳ０２において、端末２０からのコマンドがエラーログ出力要求ではない場合（Ｓ２２のＮｏ）、当該コマンド処理を行い、当該コマンド処理結果を出力する（Ｓ２７）。この出力されたデータが端末２０に送信される。
【００４４】
以上説明したエラーログ出力機能により、エラーログの収集が可能になる。収集されたエラーログには、つぎのような利用方法がある。収集したエラーログに対する統計的な分析によって、通常発生する伝送エラー（要因がノイズである伝送エラー）における受信データビット数と伝送エラービット数との間に相関関係が認められた場合を仮定する。その場合、その関係から大きく外れる伝送エラーが連続して発生した場合はセキュリティ攻撃を受けているか、何か異常なことが起きていると判断できる。その判断機能をＩＣカードに持たせることにより、ＩＣカードのセキュリティを向上させることができる。
【００４５】
以上説明したように、本実施例１で生成されたエラーログにより、ＩＣカードとＩＣカードリーダ・ライタ間で通信エラーが発生した場合には、ＩＣカードリーダ・ライタからＩＣカードに対してエラーログ出力要求を行うことにより、ＩＣカードからエラー位置情報を含むエラーログが送信され、このエラーログ情報に基づいて障害発生箇所を特定できることから、当該障害に対する保守の利便性が向上する。
【符号の説明】
【００４６】
１０  ＩＣカード
１１  ＣＰＵ
１２  通信部
１３  ＲＯＭ
１４  ＲＡＭ
１５  ＮＶＭ
２０  ＩＣカードリーダ・ライタ
【図１】
2013146030.tif 000003
【図２】
2013146030.tif 000004
【図３】
2013146030.tif 000005
【図４】
2013146030.tif 000006
【図５】
2013146030.tif 000007
【図６】
2013146030.tif 000008
【図７】
2013146030.tif 000009