(57)【要約】      （修正有）【課題】利便性を向上させることができるＩＣカードおよびＩＣカードの制御方法を提供する。【解決手段】ＩＣカード１は、通信部４０と、認証情報記憶部８３と、認証処理部５３とを持つ。通信部４０は、端末装置と通信を行う。認証情報記憶部は、使用者を認証する認証情報を記憶する。認証処理部は、通信部により端末装置から受信した入力情報と認証情報記憶部に記憶された認証情報とに基づいて、本人認証を行う。また、認証処理部は、本人認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長する。【選択図】図３
2020027558.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と通信を行う通信部と、
使用者を認証する認証情報を記憶する記憶部と、
前記通信部により前記端末装置から受信した入力情報と前記記憶部に記憶された認証情報とに基づいて、本人認証を行う認証処理部と、を備え、
前記認証処理部は、前記本人認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長する、
ＩＣカード。
【請求項２】
前記認証処理部は、連続して認証に失敗した回数に対応付けた待機時間に基づいて、前記認証処理時間を延長する、
請求項１に記載のＩＣカード。
【請求項３】
前記認証処理部は、連続して認証に失敗した回数が多いほど待機時間を長くする、
請求項２に記載のＩＣカード。
【請求項４】
前記認証処理部は、認証方法、暗号鍵の強度、または認証情報の強度のうち少なくとも一つに基づいて、前記連続して認証に失敗した回数に対応付ける待機時間を変更する、
請求項２または３に記載のＩＣカード。
【請求項５】
前記通信部により取得した待機時間の変更要求に基づいて、前記連続して認証に失敗した回数に対応付ける待機時間を変更する待機時間制御部を更に備える、
請求項２から４のうち何れか１項に記載のＩＣカード。
【請求項６】
前記認証処理部は、前記通信部により前記入力情報を受信した後の処理の実行を、前記待機時間が経過するまで待機する
請求項２から５のうち何れか１項に記載のＩＣカード。
【請求項７】
前記認証処理部は、前記入力情報と前記認証情報とに基づく本人認証の結果を、前記通信部により前記端末装置に送信させる前に、前記待機時間が経過するまで待機する、
請求項２から６のうち何れか１項に記載のＩＣカード。
【請求項８】
前記認証処理部は、前記通信部により前記入力情報を受信したときに待機中である場合に、待機中であることを示す情報を前記端末装置に送信する、
請求項２から７のうち何れか１項に記載のＩＣカード。
【請求項９】
端末装置と通信を行う通信部と、使用者を認証する認証情報を記憶する記憶部と、本人認証を行う認証処理部と、を備えるＩＣカードが、
前記通信部により前記端末装置から受信した入力情報と前記記憶部に記憶された認証情報とに基づいて、前記本人認証を行い、
前記本人認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長する、
ＩＣカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカードおよびＩＣカードの制御方法に関する。
【背景技術】
【０００２】
近年、カード使用者の認証機能を持つＩＣ（Integrated Circuit）チップを内蔵したＩＣカードが知られている。このようなＩＣカードでは、ＰＩＮ（Personal Identification Number）や暗号鍵の総当り攻撃を防ぐための機能が搭載されている。総当たり攻撃を防ぐための機能としては、認証の試行回数の上限を設定し、その上限に達した場合に使用を禁止する機能や、認証が失敗した場合に次回の認証完了までの時間を延長させる機能がある。しかしながら、何れの機能も使用者の利便性が損なわれる場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９０３４８号公報
【特許文献２】特開２０１１−８２７２７号公報
【特許文献３】特開２００５−２４２８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、利便性を向上させることができるＩＣカードおよびＩＣカードの制御方法を提供することである。
【課題を解決するための手段】
【０００５】
実施形態のＩＣカードは、通信部と、記憶部と、認証処理部とを持つ。通信部は、端末装置と通信を行う。記憶部は、使用者を認証する認証情報を記憶する。認証処理部は、前記通信部により前記端末装置から受信した入力情報と前記記憶部に記憶された認証情報とに基づいて、本人認証を行う。また、認証処理部は、前記本人認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長する。
【図面の簡単な説明】
【０００６】
【図１】実施形態のＩＣカード１の一例を示す外観図。
【図２】実施形態のＩＣカード１のハードウェア構成例を示す図。
【図３】実施形態のＩＣカード１の機能構成例を示すブロック図。
【図４】実施形態の認証結果記憶部８４が記憶する認証結果の一例を示す図。
【図５】実施形態の待機時間情報記憶部８５が記憶する待機時間情報の一例を示す図。
【図６】ＩＣカード１が実行する認証処理の第１実施例を示すフローチャート。
【図７】ＩＣカード１が実行する認証処理の第２実施例を示すフローチャート。
【図８】ＩＣカード１が実行する認証処理の第３実施例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態のＩＣカードおよびＩＣカードの制御方法を、図面を参照して説明する。
【０００８】
図１は、実施形態のＩＣカード１の一例を示す外観図である。図１に示すように、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、コンタクト部３と、内部にＩＣチップ１００とを備える。
【０００９】
ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備える。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。
【００１０】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。
【００１１】
外部装置２は、ＩＣカード１と通信する装置であり、例えば、リーダ／ライタ装置を含む端末装置等である。外部装置２は、カード使用者等によって入力されたコマンドやその他の入力情報（例えば、ＰＩＮや暗号鍵）をＩＣカード１に送信し、受信したレスポンスに基づいて、ＩＣカード内に記憶されるデータの読み出しや書き込み、更新等の処理を実行する。
【００１２】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）等の形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１３】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号等を外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。ＩＣチップ１００は、例えば、１チップのマイクロプロセッサ等のＬＳＩ（Large Scale Integration）である。
【００１４】
次に、図２を参照して、実施形態のＩＣカード１のハードウェア構成について説明する。図２は、実施形態のＩＣカード１のハードウェア構成例を示す図である。図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。また、各構成（４から８）は、内部バスＢＳ１を介して接続されている。
【００１５】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、外部装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して外部装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを外部装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを外部装置２に送信する。
【００１６】
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１７】
ＲＯＭ６は、例えば、マスクＲＯＭ等の不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブル等のデータを記憶する。ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）等の揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
【００１８】
次に、図３を参照して、実施形態によるＩＣカード１の機能構成例について説明する。図３は、実施形態のＩＣカード１の機能構成例を示すブロック図である。図３に示すように、ＩＣカード１は、例えば、通信部４０と、制御部５０と、ＡＰデータ記憶部８１と、ファイル管理情報記憶部８２と、認証情報記憶部８３と、認証結果記憶部８４と、待機時間情報記憶部８５と、を備える。また、制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、例えば、コマンド処理部５１と、ファイル管理部５２と、認証処理部５３と、待機時間制御部５４とを備える。ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００１９】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、外部装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を外部装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を外部装置２に送信する。
【００２０】
ＡＰ（アプリケーション）データ記憶部８１は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、アプリケーションで使用される各種データを記憶する。ＡＰデータ記憶部８１は、所定のデータ領域に、ＭＦ（Master File）、ＤＦ（Dedicated File）、ＥＦ（Elementary File）等のファイルが階層構造になって記憶されている。なお、ＥＦは、識別情報（以下、ＥＦＩＤ）によって識別可能に管理され、それぞれのＥＦには、例えば、ＴＬＶ形式（Tag-Length-value形式）のデータ（特定のデータ）が格納される。すなわち、ＡＰデータ記憶部８１は、ＴＬＶ形式のデータを含むファイルを記憶する。特定のデータには、例えば、例えば、使用者の「氏名」、「住所」、「生年月日」、「年齢」「電話番号」等の個人情報や、特定の権限者（例えば、本人認証が成功したカード使用者）でなければアクセスできない情報、その他情報が含まれる。また、これらの情報は、復号鍵情報に基づいて復号可能に暗号化されて記憶されてもよい。
【００２１】
ファイル管理情報記憶部８２は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、上述した各種ファイルを管理する管理情報（例えば、ディレクトリ情報）を記憶する。ファイル管理情報記憶部８２は、例えば、ファイル名、ファイルＩＤ等のファイル識別情報と、ファイルの先頭のアドレス（以下、ファイルの先頭アドレスという）とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、ＥＥＰＲＯＭ８の物理アドレスである。ＩＣカード１において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部８２が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新等の処理のことである。
【００２２】
認証情報記憶部８３は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、カード使用者を認証するパスワードであるＰＩＮ（以下、認証ＰＩＮと称する）を記憶する。認証ＰＩＮは、認証情報の一例である。また、認証情報記憶部８３は、暗号化処理及び復号処理を実行させるためのセキュリティ情報を記憶してもよい。セキュリティ情報には、例えば、暗号化処理及び復号処理を実行させるためのプログラムと、暗号化処理及び復号処理を実行させるための鍵情報（例えば、共通鍵などの暗号鍵）とが含まれる。
【００２３】
認証結果記憶部８４は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、認証処理部５３による使用者の認証結果を記憶する。図４は、実施形態の認証結果記憶部８４が記憶する認証結果の一例を示す図である。認証結果記憶部８４は、図４に示すように、認証処理部５３により認証が連続して失敗した回数をカウントした値（以下、連続失敗回数カウンタ値と称する）を記憶する。連続失敗回数カウンタ値は、認証が成功した場合に、認証処理部５３によりリセットされる。なお、認証結果記憶部８４は、例えば、ＲＡＭ７により構成された記憶部であってもよい。その場合、認証結果記憶部８４は、ＩＣカード１に電源が供給されている間での連続失敗回数を記憶する。
【００２４】
待機時間情報記憶部８５は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、認証が失敗した後に、再度の認証完了が可能になるまでの待機時間情報を記憶する。図５は、実施形態の待機時間情報記憶部８５が記憶する待機時間情報の一例を示す図である。図５に示すように、待機時間情報記憶部８５は、待機時間情報として、認証失敗回数と、待機時間とを対応付けたテーブルを記憶する。待機時間制御部５４は、認証失敗回数を特定すると、その認証回数に対応する待機時間をテーブルから取得する。テーブルは、認証失敗回数が多くなるほど待機時間が長くなるように設定されている。例えば、認証失敗回数に比例して待機時間の長さが設定されてもよく、認証失敗回数に比例して待機時間の変化量が大きくなるように待機時間の長さが設定されてもよい。ただし、待機時間が上限に達した場合は、上限値で固定されてもよい。
【００２５】
なお、待機時間の最小値は、例えば、攻撃者（第三者）による認証ＰＩＮや暗号鍵の総当り攻撃の成功にかかる時間の期待値が、攻撃者にとって魅力のないものとなる値に設定する。また、待機時間は、例えば、総当たり攻撃によって認証ＰＩＮや暗号鍵が特定できるまでのコストが、特定できた後に利用できる情報の価値よりも高くなる境界値付近に設定する。また、待機時間の最大値は、ＩＣカード１の使用頻度等に応じて設定する。例えば、毎日使用する必要があると推定されるＩＣカード１の待機時間の最大値は、２４時間（一日）未満になるように設定する。
【００２６】
コマンド処理部５１は、外部装置２からＩＣカード１に送信されたコマンド（処理要求）に応じて、各種コマンドの処理（コマンド処理）を実行する。コマンド処理部５１は、例えば、通信部４０を介して外部装置２から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部５１は、コマンド処理の結果であるレスポンスを、通信部４０を介して外部装置２に送信する。
【００２７】
例えば、コマンド処理部５１は、外部装置２から受信したコマンドが、本人確認等の認証処理を行うコマンド（例えば、ＶＥＲＩＦＹコマンド）である場合に、認証処理部５３により認証処理を実行させる。また、コマンド処理部５１は、外部装置２から受信したコマンドが、データをアクセスするアクセス処理コマンドである場合に、ファイル管理部５２によりファイルへのアクセス管理を実行させる。アクセス処理コマンドとは、例えば、データの書き込み、読み出し、更新等のアクセス処理を実行するコマンドである。
【００２８】
ファイル管理部５２は、コマンド処理部５１の制御により、入力されたアクセス処理コマンドに対し、ファイル管理情報記憶部８２が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、ＡＰデータ記憶部８１内のファイルを管理する。ファイル管理部５２は、例えば、ファイルへのアクセス処理を実行する際に、コマンドのパラメータに基づいてファイル管理情報記憶部８２が記憶する管理情報を検索して、ファイルの記憶場所を特定する。また、ファイル管理部５２は、特定されたファイルに対するコマンドに対応する書き込み、読み出し、および更新等のアクセス処理を実行する。なお、記憶された情報が暗号化されている場合、ファイル管理部５２は、コマンドに含まれる復号鍵に基づいて復号処理を行い復号した情報を読み出す。また、記憶する情報に暗号化が必要な場合には、認証情報記憶部８３に記憶された暗号鍵を用いて暗号化を行う。
【００２９】
認証処理部５３は、コマンド処理部５１の制御により、通信部４０により受信した認証用のコマンドに含まれるＰＩＮ（以下、入力ＰＩＮと称する）と、認証情報記憶部８３に記憶された認証ＰＩＮとを照合し、合致しているか否かに応じてカード使用者の本人認証を行う。合致するとは、例えば、完全一致することである。認証処理部５３は、入力ＰＩＮと認証ＰＩＮとが合致する場合に、カード使用者の認証が成功したと判断し、合致していない場合に認証が失敗したと判断する。また、認証処理部５３は、前回の認証処理において、本人認証に失敗している場合に、再度の認証完了が可能となるまでの認証処理時間を延長する。
【００３０】
例えば、認証処理部５３は、外部装置２から入力ＰＩＮを受信した場合に、認証結果記憶部８４により記憶された連続失敗回数カウンタ値を取得し、取得した連続失敗回数カウンタ値を待機時間制御部５４に出力して待機時間の問い合わせを行う。待機時間制御部５４は、認証処理部５３により待機時間の問い合わせがあった場合に、連続失敗回数カウンタ値に基づいて、待機時間情報記憶部８５が記憶した待機時間情報を参照し、連続失敗回数カウンタ値に合致する認証失敗回数に対応付けられた待機時間を取得する。図５の例において、待機時間制御部５４は、連続失敗回数カウンタ値が１の場合には、待機時間１分を取得し、連続して失敗した回数が２回の場合は、待機時間１０分を取得する。待機時間制御部５４は、取得した待機時間を認証処理部５３に出力する。認証処理部５３は、待機時間制御部５４により得られる待機時間に基づいて、入力ＰＩＮを受信した時間を基準に、認証処理時間を延長する。認証処理部５３の機能の詳細については、後述する。
【００３１】
認証処理部５３は、カード使用者の認証が成功すると、ＡＰデータ記憶部８１におけるセキュアな領域へのアクセスを許可し、所定の処理を実行可能な状態とする。また、認証処理部５３は、認証結果のデータを、通信部４０を介して外部装置２に送信する。また、認証処理部５３は、認証に失敗したと判断した場合に、連続失敗回数カウンタ値をインクリメントする。また、認証処理部５３は、認証に成功したと判断した場合に、連続失敗回数カウンタ値をクリアする。
【００３２】
次に、図面を参照して、実施形態のＩＣカード１の動作について説明する。なお、以下の処理では、主に、認証処理部５３の機能（認証処理）を中心に説明する。なお、以下に示す認証処理では、例えば、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１がアクティブ（電源供給時）な状態であるものとする。
【００３３】
図６は、ＩＣカード１が実行する認証処理の第１実施例を示すフローチャートである。図６の例において、コマンド処理部５１は、ＩＣカード１がＶＥＲＩＦＹコマンドを受信し（ステップＳ１００）、受信したＶＥＲＩＦＹに含まれる入力ＰＩＮを取得する（ステップＳ１０２）。次に、認証処理部５３は、認証結果記憶部８４に記憶された連続失敗回数カウンタ値を取得し、待機時間制御部５４に待機時間を問い合わせる（ステップＳ１０４）。
【００３４】
待機時間制御部５４は、連続失敗回数カウンタ値に対応付けられた待機時間を取得し、取得した待機時間を認証処理部５３に出力する（ステップＳ１０６）。認証処理部５３は、待機時間のカウントを開始し（ステップＳ１０８）、待機時間が経過したか否かを判定する（ステップＳ１１０）。待機時間が経過していない場合、待機時間が経過するまで待機し、待機時間が経過した場合、認証処理部５３は、認証情報記憶部８３により記憶された入力ＰＩＮを取得する（ステップＳ１１２）。次に、認証処理部５３は、入力ＰＩＮと認証ＰＩＮとを照合し（ステップＳ１１４）、合致するか否かを判定する（ステップＳ１１６）。
【００３５】
入力ＰＩＮと認証ＰＩＮとが合致した場合、認証処理部５３は、ＡＰデータ記憶部８１に記憶されたデータのアクセスを許可し（ステップＳ１１８）、認証結果記憶部８４に記憶された連続失敗回数カウンタ値をゼロ（０）にリセットする（ステップＳ１２０）。また、入力ＰＩＮと認証ＰＩＮとが合致していない場合、認証処理部５３は、認証処理部５３は、ＡＰデータ記憶部８１に記憶されたデータのアクセスを拒否し（ステップＳ１２２）、認証結果記憶部８４に記憶された連続失敗回数カウンタ値をインクリメントする（ステップＳ１２４）。ステップＳ１２０またはステップＳ１２４の処理後、認証処理部５３は、通信部４０を介して認証結果を外部装置２に出力させる（ステップＳ１２６）。これにより、本フローチャートの処理は、終了する。なお、認証結果を受信した外部装置２は、認証が成功した場合には、データの読み出しや書き込み、更新等の各種コマンドを実行し、認証が失敗した場合には、再度の認証処理が実行される。
【００３６】
上述した認証処理の第１実施例によれば、認証で利用されるコマンドをＩＣカード１が受信した時に、前回認証が失敗している場合は、認証失敗回数に応じた待機時間が経過した後に、入力ＰＩＮと認証ＰＩＮとによる認証処理が行われるため、再度の認証完了が可能となるまでの認証処理時間を延長することができる。
【００３７】
図７は、ＩＣカード１が実行する認証処理の第２実施例を示すフローチャートである。図７に示す認証処理の第２実施例は、上述した図６に示す第１実施例と比較すると、ステップＳ１０８およびステップＳ１１０の処理が、図６のようにステップＳ１１２の処理の直前ではなく、図７のようにステップＳ１２４の処理の直後に設けられている点で異なる。つまり、第２実施例では、ＶＥＲＩＦＹコマンドを受信した後に入力ＲＩＮと認証ＰＩＮとの照合を行い、その結果の送信時に、待機時間のカウントを開始し、待機時間経過後に認証結果を出力する。また、第２実施例では、上記ステップＳ１０８およびステップＳ１１０の処理を、ステップＳ１１６の処理において、入力ＰＩＮと認証ＰＩＮの照合との照合の結果、合致しないときにのみ待機する。
【００３８】
上述した認証処理の第２実施例によれば、前回認証が失敗している場合は、認証失敗回数に応じた待機時間が経過した後に認証結果が出力されるため、再度の認証完了が可能となるまでの認証処理時間を延長することができる。また、上述した認証処理の第１実施例および第２実施例によれば、前回失敗している場合に、認証処理時間を延長することができるため、攻撃者による入力ＰＩＮや暗号鍵の総当たり攻撃を抑制することができる。また、正当なカード使用者は、もし認証が失敗したとしても待機時間経過後には、認証処理を実行することができる。そのため、セキュリティを強化しつつ、利便性を向上させることができる。
【００３９】
図８は、ＩＣカード１が実行する認証処理の第３実施例を示すフローチャートである。認証処理の第３実施例では、前回の認証失敗から所定の待機時間が経過したのをＩＣカード１が確認するまで、認証処理を行わないものである。また、図８に示す認証処理の第３実施例は、上述した図６に示す第１実施例と比較すると、ステップＳ１００、Ｓ１０２、Ｓ１１２〜Ｓ１２６の処理の他に、ステップＳ１３０〜Ｓ１３８の処理が設けられている。したがって、以下では、主にステップＳ１３０〜Ｓ１３８の処理を中心に説明する。
【００４０】
ステップＳ１０２の処理後、認証処理部５３は、前回認証失敗した時点から待機時間が経過したか否かを判定する（ステップＳ１３０）。前回認証失敗した時点から待機時間が経過した場合、認証処理部５３は、ステップＳ１１２〜Ｓ１１６の処理を実行する。また、ステップＳ１１６の処理において、入力ＰＩＮと認証ＰＩＮとが合致する場合、認証処理部５３は、ステップＳ１１８およびステップＳ１２０の処理を実行する。また、ステップＳ１１６の処理において、入力ＰＩＮと認証ＰＩＮとが合致しない場合、ステップＳ１２２およびステップＳ１２４の処理を実行する。次に、認証処理部５３は、認証結果記憶部８４に記憶された連続失敗回数カウンタ値を取得し、待機時間制御部５４に待機時間を問い合わせる（ステップＳ１３２）。
【００４１】
待機時間制御部５４は、連続失敗回数カウンタ値に対応付けられた待機時間を取得し、取得した待機時間を認証処理部５３に出力する（ステップＳ１３４）。認証処理部５３は、待機時間のカウントを開始する（ステップＳ１３６）。ステップＳ１３６の処理による待機時間のカウントは、上述したＳ１３０の処理による待機時間の経過の判断に用いられる。また、ステップＳ１２０またはステップＳ１３６の処理が終了後、認証処理部５３は、通信部４０を介して認証結果を外部装置２に出力させる（ステップＳ１２６）。
【００４２】
また、ステップＳ１３０の処理において、ＶＥＲＩＦＹコマンドの受信時に、前回認証失敗した時点から待機時間が経過していない場合、待機中であることを示す情報（例えば、レスポンスデータまたはステータスワード）を外部装置２に出力する（ステップＳ１３８）。待機中であることを示す情報には、例えば、待機時間に関する情報が含まれる。これにより、本フローチャートの処理は、終了する。
【００４３】
上述した認証処理の第３実施例によれば、上述した第１実施例および第２実施例と同様の効果を奏する他、ＩＣカード１が所定時間だけ待機している間にＶＥＲＩＦＹコマンドを受信した場合に、待機時間が経過するまでは認証処理を行わず、待機中であることを示す情報を外部装置２に出力することができる。これにより、外部装置２は、待機中であることを示す情報に含まれる待機時間が経過した後に、コマンドを再送することができる。なお、ＩＣカード１は、電源供給されていない間は時間をカウントできない。そのため、外部装置２は、ＩＣカード１が通電されている状態であるか否かを判定し、通電されている状態であると判定された場合の時間をカウントし、待機時間を経過した時点でコマンドを再送する。これにより、認証が実行可能なタイミングでコマンドを再送することができる。
【００４４】
ここで、上述した待機時間制御部５４は、認証処理部５３により実行される本人認証の認証方法、暗号鍵や認証ＰＩＮの強度のうち、少なくとも一つに基づいて、図５に示すテーブルの待機時間を自動で変更してもよい。本人認証の認証方法には、例えば、上述した認証ＰＩＮを用いた第１の認証方法や、認証ＰＩＮだけでなく生年月日等の他の情報も含めた照合を行うことで本人認証を行う第２の認証方法、図示しない指紋センサ等により読み取られた指紋情報から本人認証を行う第３の認証方法等が含まれる。この場合、第１の認証方法よりも第２の認証方法の方が、認証強度が高く、第２の認証方法よりも第３の認証方法の方が、認証強度が高いものとする。また、暗号鍵や認証ＰＩＮの強度とは、例えば、鍵の長さや認証ＰＩＮの長さ（桁数）に対応する度合であり、長さが短いほど強度は低く、長さが長いほど強度は高くなる。したがって、待機時間制御部５４は、例えば、第１の認証方法を用いる場合よりも第２の認証方法を用いる場合の方が、図５に示す各認証失敗回数（１回以上）に応じた待機時間が短くなるように変更する。また、待機時間制御部５４は、例えば、認証ＰＩＮが１０桁の場合よりも４桁の場合の方が、図５に示す各認証失敗回数（１回以上）に応じた待機時間が長くなるように変更する。
【００４５】
また、待機時間制御部５４は、通信部４０により取得した待機時間の変更要求（変更コマンド）に基づいて、図５に示すテーブルの待機時間を変更してもよい。この場合、待機時間制御部５４は、待機時間の変更要求を、カード管理会社の端末やカード発行者、その他の特定の権限者が利用する端末等の特定端末のみから受け付ける。また、待機時間制御部５４は、通信部４０により取得した暗号鍵や認証ＰＩＮの変更要求に基づいて、暗号鍵や認証ＰＩＮを変更してもよい。
【００４６】
また、待機時間制御部５４は、ＩＣカード１に記憶されているデータのセキュア度合やログ情報から取得される使用頻度に応じてテーブル内の待機時間を変更してもよい。また、待機時間制御部５４は、図５に示すテーブルを用いて認証失敗回数に対応する待機時間を取得するのに代えて、予め決められた関数やロジックに基づいて待機時間を取得できるようにしてもよい。また、待機時間情報記憶部８５は、テーブル内の待機時間を変更するのに代えて、認証失敗回数と待機時間との関係が異なるテーブルを複数記憶し、待機時間制御部５４は、上述した本人認証時の条件に応じて、テーブルを選択してもよい。この場合、待機時間制御部５４は、例えば、ＡＰデータ記憶部８１に記憶されたデータのセキュア度合が低いほど、待機時間の上昇率が大きいテーブルを選択する。
【００４７】
このように、待機時間を、認証方法、暗号鍵や認証ＰＩＮの強度に応じて変更したり、外部装置２からの変更要求に基づいて変更することで、さらに利便性を向上させることができる。
【００４８】
また、待機時間制御部５４は、外部装置２により解除用コマンドを受信した場合に、待機時間をリセットさせる制御を行ってもよい。これにより、本人がＩＣカード１を緊急で使用したいにも拘わらず、待機時間により本人認証が実行されない場合に、待機時間をリセットすることで、即座に本人認証を実行させることができる。なお、解除用コマンドは、例えば、管理会社等の特定の端末のみから実行可能とすることで、攻撃者による待機時間のリセットを抑制することができる。
【００４９】
また、上記の実施形態において、ＩＣカード１は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイル等を用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【００５０】
また、上記の各実施形態において、ＩＣカード１は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）等を備えてもよい。
【００５１】
また、上記の実施形態では、ＩＣカード１を用いる例を説明したが、これに限定されるものではなく、カード形状ではないＩＣタグ等の携帯可能電子装置であってもよい。
【００５２】
以上説明した少なくとも一つの実施形態によれば、ＩＣカード１において、外部装置２と通信を行う通信部４０と、使用者を認証する認証情報を記憶する認証情報記憶部８３と、通信部４０により外部装置２から受信した入力情報と認証情報記憶部８３に記憶された認証情報とに基づいて、本人認証を行う認証処理部５３と、を持ち、認証処理部５３は、認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長することで、利便性を向上させることができる。
【００５３】
具体的には、非接触通信を行うＩＣカードにおいて、攻撃者が非接触リーダライタをカード所有者のＩＣカードが入っている場所に翳し、所有者に気づかれないようにＩＣカードとの通信を行う場合がある。その結果、所有者が気付かないうちに鍵情報やＰＩＮの総当たり攻撃により情報が盗まれる可能性がある。これに対し、実施形態によれば、認証が完了するための時間が延長させるため、利便性とセキュリティのバランスを考慮した認証処理を実現させることができる。
【００５４】
上記実施形態は、以下のように表現することができる。
端末装置と通信を行う通信部と、
使用者を認証する認証情報を記憶する記憶部と、
本人認証を行う認証処理部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
前記通信部により前記端末装置から受信した入力情報と前記記憶部に記憶された認証情報とに基づいて、前記本人認証を行い、
前記本人認証に失敗した回数に基づいて再度の認証完了が可能となるまでの認証処理時間を延長する、
ＩＣカード。
【００５５】
なお、実施形態におけるＩＣカード１が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード１が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５７】
１…ＩＣカード、２…外部装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、１０‥ＩＣモジュール、４０…通信部、５０…制御部、５１…コマンド処理部、５２…ファイル管理部、５３…認証処理部、５４…待機時間制御部、８１…ＡＰデータ記憶部、８２…ファイル管理情報記憶部、８３…認証情報記憶部、８４…認証結果記憶部、８５…待機時間情報記憶部、１００…ＩＣチップ、ＢＳ１…内部バス、ＰＴ…カード基材
【図１】
2020027558.tif 000003
【図２】
2020027558.tif 000004
【図３】
2020027558.tif 000005
【図４】
2020027558.tif 000006
【図５】
2020027558.tif 000007
【図６】
2020027558.tif 000008
【図７】
2020027558.tif 000009
【図８】
2020027558.tif 000010