(57)【要約】【課題】セキュリティを向上させることができるＩＣカード、ＩＣモジュール、及びＩＣカードシステムを提供することである。【解決手段】実施形態のＩＣカードは、生成部と、認証部とを持つ。生成部は、予め記憶部に記憶されている第１のパスワードと、所定のパラメータと、所定のアルゴリズムとに基づいて、カード利用者の認証用のパスワードである第２のパスワードを生成する。認証部は、外部装置から取得した第３のパスワードと、前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する。【選択図】図２
2016045699.tif 000002
【特許請求の範囲】
【請求項１】
予め記憶部に記憶されている第１のパスワードと、所定のパラメータと、所定のアルゴリズムとに基づいて、カード利用者の認証用のパスワードである第２のパスワードを生成する生成部と、
外部装置から取得した第３のパスワードと前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する認証部と
を備えるＩＣカード。
【請求項２】
前記所定のアルゴリズムは、前記第１のパスワードと前記所定のパラメータとの演算処理を含み、
前記生成部は、前記第１のパスワードと前記所定のパラメータとの前記演算処理によって前記第２のパスワードを生成する
請求項１に記載のＩＣカード。
【請求項３】
前記記憶部は、前記所定のパラメータを予め記憶し、
前記認証部によって前記カード利用者が正当であると判定された場合に、前記所定のパラメータの変更要求に応じて、前記記憶部が記憶する前記所定のパラメータを変更する変更部を備える
請求項２に記載のＩＣカード。
【請求項４】
前記生成部は、
前記認証部によって前記カード利用者が正当であると判定された場合に、前記所定のアルゴリズムに基づいて、次回に照合に使用される前記第２のパスワードを生成し、生成した当該第２のパスワードを前記第１のパスワードとして、前記記憶部に記憶させる
請求項２又は請求項３に記載のＩＣカード。
【請求項５】
前記記憶部は、前記第２のパスワードの初期値を記憶し、
さらに、前記認証部によって前記カード利用者が正当であると判定された場合に、前記第２のパスワードの初期化要求に応じて、前記記憶部が記憶する前記第１のパスワードを、前記第２のパスワードの初期値に変更する初期化処理部を備える
請求項４に記載のＩＣカード。
【請求項６】
前記記憶部は、前記第２のパスワードの初期値と、前記第２のパスワードを生成した回数を示す回数情報とを記憶し、
前記認証部は、
前記第３のパスワードと、前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する第１の認証処理と、
前記外部装置から取得した第４のパスワードと、前記第２のパスワードの初期値とを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する第２の認証処理と
を実行し、
前記生成部は、前記認証部によって前記第１の認証処理により前記カード利用者が正当であると判定された場合に、前記第２のパスワードを生成するとともに、前記記憶部が記憶する前記回数情報を更新し、
さらに、前記認証部によって前記第２の認証処理により前記カード利用者が正当であると判定された場合に、前記回数情報を前記外部装置に出力させる回数情報処理部を備える
請求項１から請求項４のいずれか一項に記載のＩＣカード。
【請求項７】
前記認証部によって前記第１の認証処理により前記カード利用者が正当であると判定された場合に、前記第２のパスワードの初期化要求に応じて、前記記憶部が記憶する前記第１のパスワードを、前記第２のパスワードの初期値に変更するとともに、前記記憶部が記憶する前記回数情報を初期化する初期化処理部を備える
請求項６に記載のＩＣカード。
【請求項８】
前記記憶部は、前記第２のパスワードの初期値を前記第１のパスワードとして記憶するとともに、前記第２のパスワードを生成した回数を示す回数情報を記憶し、
前記認証部は、
前記第３のパスワードと、前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する第１の認証処理と、
前記外部装置から取得した第４のパスワードと、前記第２のパスワードの初期値とを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する第２の認証処理と、
を実行し、
前記生成部は、
前記第２のパスワードの初期値と、前記所定のパラメータと、前記演算処理と、前記記憶部が記憶する前記回数情報とに基づいて、前記第２のパスワードを生成するとともに、前記認証部による前記第１の認証処理により前記カード利用者が正当であると判定された場合に、前記記憶部が記憶する前記回数情報を更新する
請求項２又は請求項３に記載のＩＣカード。
【請求項９】
前記認証部による前記第２の認証処理により前記カード利用者が正当であると判定された場合に、前記回数情報を前記外部装置に出力させる回数情報処理部と、
前記認証部による前記第１の認証処理により前記カード利用者が正当であると判定された場合に、前記回数情報の初期化要求に応じて、前記記憶部が記憶する前記回数情報を初期化する初期化処理部と
を備える請求項８に記載のＩＣカード。
【請求項１０】
前記所定のパラメータは、前記外部装置から供給される供給情報を含み、
前記所定のアルゴリズムは、前記第１のパスワードのうちの所定の位置の値と、前記供給情報に基づいて生成された所定の置換値とを置換する置換処理を含み、
前記生成部は、前記置換処理に基づいて前記第２のパスワードを生成する
請求項１に記載のＩＣカード。
【請求項１１】
前記記憶部は、前記所定の位置、前記供給情報の種類、及び前記所定の置換値の生成方法のうちの少なくとも１つを示す置換処理情報を記憶し、
さらに、前記認証部によって前記カード利用者が正当であると判定された場合に、前記置換処理情報の変更要求に応じて、前記記憶部が記憶する前記置換処理情報を変更する変更部を備える
請求項１０に記載のＩＣカード。
【請求項１２】
前記記憶部は、種類の異なる複数の前記所定のアルゴリズムのうちの１つを選択する選択情報を記憶し、
前記生成部は、前記記憶部が記憶する前記選択情報に基づいて前記複数の所定のアルゴリズムのうちの１つを選択し、選択した当該所定のアルゴリズムに基づいて、前記第２のパスワードを生成する
請求項１から請求項１１のいずれか一項に記載のＩＣカード。
【請求項１３】
予め記憶部に記憶されている第１のパスワードと、所定のパラメータと、所定のアルゴリズムとに基づいて、カード利用者の認証用のパスワードである第２のパスワードを生成する生成部と、
外部装置から取得した第３のパスワードと前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する認証部と
を備えるＩＣモジュール。
【請求項１４】
請求項１から請求項９のいずれか一項に記載のＩＣカードと、
前記外部装置を介して前記ＩＣカードと接続される認証センタ装置と、
を備え、
前記認証センタ装置は、
前記ＩＣカードを識別するカード識別情報と、前記第１のパスワードと、前記所定のパラメータとを関連付けて記憶するセンタ記憶部と、
前記センタ記憶部が記憶する前記第１のパスワード及び前記所定のパラメータと、前記所定のアルゴリズムとに基づいて、前記第２のパスワードを生成するセンタ生成部と、
前記外部装置を介して前記カード利用者から取得した前記第３のパスワードと、前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定するセンタ認証部と、
前記ＩＣカードが記憶する前記第１のパスワード及び前記所定のパラメータと、当該ＩＣカードに対応する前記カード識別情報と関連付けられて前記センタ記憶部に記憶されている前記第１のパスワード及び前記所定のパラメータとが一致しない場合に、前記センタ記憶部に記憶されている前記第１のパスワード及び前記所定のパラメータを、前記ＩＣカードが記憶する前記第１のパスワード及び前記所定のパラメータに変更する同期処理部と
を備えるＩＣカードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、ＩＣモジュール、及びＩＣカードシステムに関する。
【背景技術】
【０００２】
近年、ＩＣチップを内蔵したＩＣカードが広く使用されている。従来のＩＣカードは、正当なカード所有者であるカードホルダーとの間で共有する秘密のパスワードを受信して、受信したパスワードと、ＩＣカードが記憶しているパスワードとを照合することにより、カードホルダーの正当性を認証する。しかしながら、従来のＩＣカードでは、パスワードとして静的データ（固定値）を使用するため、例えば、パスワードが漏洩すると、第三者がカードホルダーに成りすまして不正に利用される可能性があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６８７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、セキュリティを向上させることができるＩＣカード、ＩＣモジュール、及びＩＣカードシステムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態のＩＣカードは、生成部と、認証部とを持つ。生成部は、予め記憶部に記憶されている第１のパスワードと、所定のパラメータと、所定のアルゴリズムとに基づいて、カード利用者の認証用のパスワードである第２のパスワードを生成する。認証部は、外部装置から取得した第３のパスワードと、前記第２のパスワードとを照合し、当該照合結果に基づいて、前記カード利用者の正当性を判定する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図２】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図３】第１の実施形態のＩＣカードシステムの一例を示すブロック図。
【図４】第１の実施形態のカード情報記憶部のデータ例を示す図。
【図５】第１の実施形態のＩＣカードの動作の一例を示すフローチャート。
【図６】第１の実施形態のＩＣカードの認証処理の一例を示す図。
【図７】第１の実施形態のＩＣカードのパラメータ変更処理の一例を示す図。
【図８】第１の実施形態のＩＣカードシステムのセンタ認証処理の一例を示す図。
【図９】第２の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１０】第２の実施形態のＩＣカードの動作の一例を示すフローチャート。
【図１１】第２の実施形態のＩＣカードの回数情報の出力処理の一例を示す図。
【図１２】第３の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１３】第３の実施形態のＩＣカードの動作の一例を示すフローチャート。
【図１４】第３の実施形態のＩＣカードの認証処理の一例を示す図。
【図１５】第４の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１６】第４の実施形態のＩＣカードの動作の一例を示すフローチャート。
【図１７】第４の実施形態のＩＣカードの認証処理の一例を示す図。
【図１８】第５の実施形態のＩＣカードの機能構成例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下、実施形態のＩＣカード、ＩＣモジュール、及びＩＣカードシステムを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１のハードウェア構成例を示す図である。
この図に示すように、ＩＣカード１は、ＩＣモジュール１００を備えており、ＩＣモジュール１００は、コンタクト部３と、ＩＣチップ１０とを備えている。ＩＣカード１は、例えば、プラスチックのカード基材に、ＩＣモジュール１００を実装して形成されている。また、ＩＣカード１は、コンタクト部３を介して、外部装置２と通信可能である。ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。
【０００９】
なお、本実施形態によるＩＣカード１は、例えば、ＩＣカード１の所有者であるカードホルダーを認証するパスワードを、ＩＣカード１とカードホルダーとで共有する所定のアルゴリズムにより動的に変更して、カードホルダーの正当性を判定する。本実施形態では、所定のアルゴリズムの一例として、所定のパラメータとの加算処理を用いる例について説明する。
また、図１に示す例は、ＩＣカード１を外部装置２と接続して、例えば、オフライン処理を行う場合の構成例を示している。
【００１０】
外部装置２は、ＩＣカード１と通信する上位装置であり、例えば、リーダ／ライタ装置などを含んだ端末装置などである。また、外部装置２は、ＩＣカード１にコマンドを出力して、コマンド処理を実行させる。例えば、外部装置２は、ＩＣカード１の所有者であるカードホルダー（カード利用者）からパスワード（例えば、ＰＩＮ（Personal Identification Number））を受け付けて、ＩＣカード１に送信して認証処理を実行させる。
【００１１】
ＩＣモジュール１００は、コンタクト部３と、ＩＣチップ１０とを備え、例えば、テープ上にＩＣモジュール１００が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。
【００１２】
ＩＣチップ１０は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。ＩＣチップ１０は、通信Ｉ／Ｆ部４と、ＣＰＵ（Central Processing Unit）５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。
【００１３】
通信Ｉ／Ｆ（Interface）部４は、ＩＣカード１と外部装置２との間の通信（コマンド／レスポンスの送受信）を行う。
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、通信Ｉ／Ｆ（Interface）部４が受信したコマンドに応じたコマンド処理を実行する。
【００１４】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１５】
ＥＥＰＲＯＭ８（記憶部の一例）は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、後述するＰＩＮ情報、認証用のＰＩＮを生成するためのパラメータ、ＰＩＮの初期値などを記憶する。
【００１６】
次に、図２を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図２は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
この図に示すように、ＩＣカード１は、ＥＥＰＲＯＭ８と、通信部４０と、制御部５０とを備えている。ＥＥＰＲＯＭ８は、ＰＩＮ記憶領域８１と、パラメータ記憶領域８２と、ＰＩＮ初期値記憶領域８３とを備えている。
ここで、図２に示される各部は、図１に示されるハードウェアを用いて実現される。
【００１７】
ＰＩＮ記憶領域８１は、カードホルダーの正当性を認証するＰＩＮを記憶する記憶領域である。ＰＩＮ記憶領域８１が記憶するＰＩＮは、カードホルダー（カード利用者）の認証用のパスワード（以下、単に認証用ＰＩＮと称することがある）を生成するためのＰＩＮ（第１のパスワード）として使用される。なお、本実施形態では、ＰＩＮ記憶領域８１が記憶するＰＩＮ（以下、単に記憶ＰＩＮと称することがある）は、認証用ＰＩＮ（第２のパスワード）としても使用される。
【００１８】
パラメータ記憶領域８２は、カードホルダーの認証用ＰＩＮを生成する際に使用するパラメータを記憶する記憶領域である。なお、本実施形態では、認証用ＰＩＮを生成（変更）する所定のアルゴリズムは、加算処理（演算処理の一例）であり、パラメータ記憶領域８２は、例えば、加算処理のためのパラメータである加算値を記憶する。
【００１９】
ＰＩＮ初期値記憶領域８３は、ＰＩＮの初期値を記憶する記憶領域である。ここで、ＰＩＮの初期値とは、ＩＣカード１及び後述するＩＣカードシステム２０（図３参照）にカードホルダーを登録する際に、登録されたＰＩＮであり、ＩＣカード１及びＩＣカードシステム２０に最初に記憶されたＰＩＮである。
【００２０】
通信部４０は、例えば、通信Ｉ／Ｆ部４、ＣＰＵ５、及びＲＯＭ６に記憶されているプログラムにより実現され、コンタクト部３を介して、外部装置２との間でコマンド及びレスポンスの送受信を行う。
【００２１】
制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、例えば、外部装置２からＩＣカードに送信された各種コマンドの処理（コマンド処理）を実行する。また、制御部５０は、例えば、ＰＩＮ記憶領域８１が記憶する認証用ＰＩＮによる認証処理を行うとともに、カードホルダーによって認識可能、あるいは記憶可能な所定のアルゴリズムを用いて、認証用ＰＩＮを変更する。
また、制御部５０は、ＰＩＮ生成部５１と、認証部５２と、パラメータ変更部５３と、初期化処理部５４とを備えている。
【００２２】
ＰＩＮ生成部５１（生成部の一例）は、予めＥＥＰＲＯＭ８（ＰＩＮ記憶領域８１）に記憶されている記憶ＰＩＮ（第１のパスワード）と、所定のパラメータと、カードホルダーによって認識可能な所定のアルゴリズムとに基づいて、認証用ＰＩＮを生成する。ここで、所定のアルゴリズムとは、例えば、加算処理、減算処理、乗算処理、循環処理などの演算処理であり、上述したように、本実施形態では、一例として、ＥＥＰＲＯＭ８が記憶する記憶ＰＩＮと、所定のパラメータとの加算処理である例について説明する。また、所定のパラメータは、所定のアルゴリズムを用いて認証用ＰＩＮを生成する際に、使用するパラメータを示し、ここでは、一例としてＥＥＰＲＯＭ８（パラメータ記憶領域８２）が記憶する加算値である。
【００２３】
ＰＩＮ生成部５１は、例えば、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮと、パラメータ記憶領域８２が記憶する加算値との加算処理に基づいて、新しい認証用ＰＩＮを生成する。すなわち、ＰＩＮ生成部５１は、記憶ＰＩＮの値と、加算値とを加算した値を認証用ＰＩＮとして生成する。また、ＰＩＮ生成部５１は、後述する認証部５２が、カードホルダーが正当であると判定した場合に、認証用ＰＩＮを生成し、認証用ＰＩＮを記憶ＰＩＮとして、ＥＥＰＲＯＭ８のＰＩＮに記憶させる。すなわち、ＰＩＮ生成部５１は、例えば、記憶ＰＩＮによるカードホルダーの認証が成功した場合に、次回の認証用ＰＩＮを生成し、生成した認証用ＰＩＮを記憶ＰＩＮとして、ＰＩＮ記憶領域８１に記憶させる。
【００２４】
認証部５２は、外部装置２から取得した取得ＰＩＮ（第３のパスワード）と、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カード利用者の正当性を判定する。すなわち、認証部５２は、例えば、外部装置２を介してカードホルダーから入力された取得ＰＩＮと、ＰＩＮ記憶領域８１が記憶する認証用ＰＩＮとを照合する。認証部５２は、取得ＰＩＮと、認証用ＰＩＮとが一致する場合（照合成功の場合）に、取得ＰＩＮを外部装置２に入力したカードホルダーが正当である（認証成功）と判定する。また、認証部５２は、取得ＰＩＮと、認証用ＰＩＮとが一致しない場合（照合失敗の場合）に、取得ＰＩＮを外部装置２に入力したカードホルダーが正当なでない（認証失敗）と判定する。
【００２５】
パラメータ変更部５３（変更部の一例）は、認証部５２によってカードホルダーが正当であると判定された場合（認証成功の状態である場合）に、所定のパラメータ（例えば、加算値）の変更要求に応じて、ＥＥＰＲＯＭ８（パラメータ記憶領域８２）が記憶する所定のパラメータを変更する。すなわち、パラメータ変更部５３は、認証用ＰＩＮによる認証が成功している場合に、所定のパラメータである加算値の変更を要求するコマンドを、外部装置２を介してＩＣカード１が受信した際に、パラメータ記憶領域８２が記憶する加算値を変更する。パラメータ変更部５３は、認証部５２が、認証用ＰＩＮによる認証が成功している場合に、パラメータ記憶領域８２が記憶する加算値を、例えば、外部装置２を介してカードホルダーから入力された新しい加算値に変更する。すなわち、パラメータ変更部５３は、カードホルダーから取得した加算値を、新しい加算値としてパラメータ記憶領域８２に記憶させる。また、パラメータ変更部５３は、認証用ＰＩＮによる認証が成功していない場合には、加算値を変更する処理を実行しない。
【００２６】
初期化処理部５４は、認証部５２が、カードホルダーが正当であると判定した場合（認証成功の状態である場合）に、認証用ＰＩＮの初期化要求に応じて、ＥＥＰＲＯＭ８（ＰＩＮ記憶領域８１）が記憶する記憶ＰＩＮを、ＰＩＮ（認証用ＰＩＮ）の初期値に変更する。すなわち、初期化処理部５４は、認証用ＰＩＮによる認証が成功している場合に、認証用ＰＩＮを初期化するコマンドを、外部装置２を介してＩＣカード１が受信した際に、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮを、ＰＩＮ（認証用ＰＩＮ）の初期値に変更する。初期化処理部５４は、認証用ＰＩＮによる認証が成功している場合に、ＰＩＮ初期値記憶領域８３が記憶するＰＩＮの初期値を、ＰＩＮ記憶領域８１に記憶させる。また、初期化処理部５４は、認証用ＰＩＮによる認証が成功していない場合には、認証用ＰＩＮを初期化する処理を実行しない。
【００２７】
次に、図３を参照して、本実施形態によるＩＣカードシステム２０の構成例について説明する。
図３は、本実施形態のＩＣカードシステム２０の一例を示すブロック図である。
この図に示すように、ＩＣカードシステム２０は、認証センタ装置２００と、外部装置２と、ＩＣカード１とを備えている。
【００２８】
なお、この図に示す例は、ＩＣカード１を外部装置２と接続し、さらに、ネットワークＮＷを介して、認証センタ装置２００と接続して、例えば、オンライン処理を行う場合の構成例を示している。このようなオンライン処理する場合には、カードホルダーの認証処理を、認証センタ装置２００が行うことがあり、本実施形態によるＩＣカードシステム２０では、認証センタ装置２００がカードホルダーの認証を行うものとする。
【００２９】
認証センタ装置２００は、ＩＣカード１に対して、登録されたカードホルダーの認証を、ネットワークＮＷを介してオンラインにより行い、ＩＣカード１を利用した各種処理（例えば、取引処理など）を行うコンピュータ装置である。認証センタ装置２００は、例えば、センタ通信部２１０と、センタ記憶部２２０と、センタ制御部２３０とを備えている。
【００３０】
センタ通信部２１０は、ネットワークＮＷを介して、外部装置２と通信する。
センタ記憶部２２０は、認証センタ装置２００が行う各種処理に利用する情報を記憶する。センタ記憶部２２０は、例えば、カード情報記憶部２２１を備えている。
カード情報記憶部２２１は、ＩＣカードシステム２０において利用されるＩＣカード１に関する情報を記憶する。カード情報記憶部２２１は、例えば、図４に示すように、少なくとも「カードＩＤ」と、「ＰＩＮ初期値」と、「ＰＩＮ」と、「ＰＡＲ」とを関連付けて記憶する。
【００３１】
ここで、「カードＩＤ」は、ＩＣカードシステム２０に登録されているＩＣカード１を識別する識別情報であり、「ＰＩＮ初期値」は、ＩＣカード１のカードホルダーが、登録したＰＩＮの初期値を示している。また、「ＰＩＮ」は、後述するＰＩＮ生成部２３１により生成され、変更された認証用ＰＩＮを示している。すなわち、「ＰＩＮ」は、現在のＰＩＮの値を示している。また、「ＰＡＲ」は、認証用ＰＩＮを生成する際に用いるパラメータ（例えば、加算値）を示している。
例えば、図４に示した例では、「カードＩＤ」が“ＸＸＸＸＸ”であるＩＣカード１における「ＰＩＮ初期値」は、“００１５”であり、「ＰＩＮ」が“００２０”であることを示している。また、この場合に、「ＰＡＲ」は、“０００５”であることを示している。
【００３２】
図３の説明に戻り、センタ制御部２３０は、例えば、ＣＰＵ（Central Processing Unit）などを含むプロセッサであり、認証センタ装置２００を統括的に制御する。センタ制御部２３０は、例えば、ＩＣカード１がＩＣカードシステム２０によりオンライン処理される場合に、上述したＩＣカード１と同様に、カードホルダーの認証処理、及び、認証用ＰＩＮの生成を行う。また、センタ制御部２３０は、カードホルダーから外部装置２を介して取得したパラメータの変更要求、及びＰＩＮの初期化要求により、上述したカード情報記憶部２２１が記憶する「ＰＡＲ」の変更処理、及び「ＰＩＮ」の初期化処理を行う。
また、センタ制御部２３０は、例えば、カード情報記憶部２２１が記憶するＰＩＮに関する情報と、ＩＣカード１が記憶するＰＩＮに関する情報とが一致しない場合に、これらのＰＩＮに関する情報を同期させる処理を行う。
カード情報記憶部２２１は、例えば、ＰＩＮ生成部２３１と、センタ認証部２３２と、パラメータ変更部２３３と、初期化処理部２３４と、同期処理部２３５とを備えている。
【００３３】
ＰＩＮ生成部２３１（センタ生成部の一例）は、センタ記憶部２２０が記憶する記憶ＰＩＮ（認証用ＰＩＮ）、及び所定のパラメータ（例えば、加算値）と、所定のアルゴリズムとに基づいて、認証用ＰＩＮを生成する。つまり、ＰＩＮ生成部２３１は、ＩＣカード１のオンライン処理において、例えば、上述したＰＩＮ生成部５１と同様の処理を実行する。
【００３４】
センタ認証部２３２は、外部装置２を介してカード利用者から取得した取得ＰＩＮと、カード情報記憶部２２１が記憶する認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。つまり、センタ認証部２３２は、ＩＣカード１のオンライン処理において、例えば、上述した認証部５２と同様の処理を実行する。
【００３５】
パラメータ変更部２３３は、センタ認証部２３２によってカードホルダーが正当であると判定された場合（認証成功の状態である場合）に、所定のパラメータ（例えば、加算値）の変更要求に応じて、カード情報記憶部２２１が記憶する所定のパラメータを変更する。すなわち、パラメータ変更部２３３は、ＩＣカード１のオンライン処理において、例えば、上述したパラメータ変更部５３と同様の処理を実行する。なお、パラメータ変更部２３３は、カードホルダーによって外部装置２から要求された所定のパラメータの変更要求を、センタ通信部２１０を介して取得し、取得した変更要求に応じて、カード情報記憶部２２１の上述した「ＰＡＲ」を変更する。
【００３６】
初期化処理部２３４は、センタ認証部２３２が、カードホルダーが正当であると判定した場合（認証成功の状態である場合）に、認証用ＰＩＮの初期化要求に応じて、カード情報記憶部２２１が記憶する記憶ＰＩＮを、ＰＩＮ（認証用ＰＩＮ）の初期値に変更する。すなわち、初期化処理部２３４は、ＩＣカード１のオンライン処理において、例えば、上述した初期化処理部５４と同様の処理を実行する。なお、初期化処理部２３４は、カードホルダーによって外部装置２から要求された認証用ＰＩＮの初期化要求を、センタ通信部２１０を介して取得し、取得した初期化要求に応じて、カード情報記憶部２２１の上述した「ＰＩＮ」を、ＰＩＮの初期値である「ＰＩＮ初期値」の値に変更する。
【００３７】
同期処理部２３５は、センタ記憶部２２０に記憶されている「ＰＩＮ」及び「ＰＡＲ」をＩＣカード１と同期させる処理を行う。同期処理部２３５は、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータと、当該ＩＣカード１に対応する「ＰＩＮ」及び「ＰＡＲ」とが一致しない場合に、同期処理を行う。すなわち、同期処理部２３５は、例えば、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータと、当該ＩＣカード１に対応する「カードＩＤ」と関連付けられてセンタ記憶部２２０に記憶されている「ＰＩＮ」及び「ＰＡＲ」とが一致しない場合に、同期処理を行う。つまり、同期処理部２３５は、センタ記憶部２２０に記憶されている「ＰＩＮ」及び「ＰＡＲ」を、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータに変更する。
【００３８】
次に、図面を参照して、本実施形態によるＩＣカード１及びＩＣカードシステム２０の動作について説明する。
図５は、本実施形態によるＩＣカード１の動作の一例を示すフローチャートである。
ここでは、ＩＣカード１が外部装置２に接続され、オフライン処理される場合の一例について説明する。
【００３９】
この図に示すように、ＩＣカード１は、まず、コマンドを受信したか否かを判定する（ステップＳ１０１）。すなわち、ＩＣカード１の通信部４０が、コンタクト部３及び通信Ｉ／Ｆ部４を介して、外部装置２からコマンドを受信したか否かを判定する。通信部４０は、コマンドを受信した場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）に、ステップＳ１０１の処理に戻し、処理を繰り返す。
【００４０】
ステップＳ１０２において、ＩＣカード１の制御部５０は、受信したコマンドに応じて、処理を分岐させる。この図に示す例では、制御部５０は、受信したコマンドがＰＩＮを照合するコマンドである場合（ＰＩＮ照合）に、処理をステップＳ１０３に進める。また、制御部５０は、受信したコマンドがパラメータの変更要求である場合（ＰＡＲ変更）に、処理をステップＳ１０７に進める。また、制御部５０は、受信したコマンドが認証用ＰＩＮの初期化要求である場合（ＰＩＮ初期化）に、処理をステップＳ１１０に進める。
【００４１】
ステップＳ１０３において、制御部５０の認証部５２は、ＰＩＮ照合処理を実行する。すなわち、認証部５２は、カードホルダーによって外部装置２に入力された取得ＰＩＮを取得し、当該取得ＰＩＮと、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮとを照合する。
【００４２】
次に、認証部５２は、照合結果が照合成功であるか否かを判定する（ステップＳ１０４）。認証部５２は、例えば、照合結果が取得ＰＩＮと記憶ＰＩＮとが一致している照合成功である場合（ステップＳ１０４：ＹＥＳ）に、例えば、ＲＡＭ７内に、照合成功を示す情報を記憶させて、処理をステップＳ１０５に進める。なお、認証部５２は、照合成功である場合に、カードホルダーが正当であると判定し、ＩＣカード１による各種取引処理が可能になる。また、認証部５２は、例えば、照合結果が取得ＰＩＮと記憶ＰＩＮとが一致していない（不一致である）照合失敗である場合（ステップＳ１０４：ＮＯ）に、処理をステップＳ１０６に進める。なお、認証部５２は、照合失敗である場合に、カードホルダーが正当でないと判定する。認証部５２は、カードホルダーが正当でない場合に、例えば、認証失敗の回数を示すＥＥＰＲＯＭ８のエラーカウンタ情報（不図示）をカウントアップし、さらに、エラーカウンタ情報が所定のカウント値に達した場合に、認証用ＰＩＮによる照合処理の実行を禁止してもよい。
【００４３】
ステップＳ１０５において、制御部５０のＰＩＮ生成部５１は、加算処理（ＰＩＮ＝ＰＩＮ＋ＰＡＲ）により、次回の照合に使用する認証用ＰＩＮを生成する。すなわち、認証部５２は、ＰＩＮ生成部５１に認証用ＰＩＮを生成させ、ＰＩＮ生成部５１は、例えば、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮ（ＰＩＮ）に、パラメータ記憶領域８２が記憶する加算値（ＰＡＲ）を加算して認証用ＰＩＮを生成する。ＰＩＮ生成部５１は、生成した認証用ＰＩＮを記憶ＰＩＮとして、ＰＩＮ記憶領域８１に記憶させる。
【００４４】
また、ステップＳ１０６において、制御部５０は、ＰＩＮ照合結果を送信させる。すなわち、制御部５０は、認証部５２が照合した照合結果（認証結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ１０６の処理後に、制御部５０は、処理をステップＳ１０１に戻し、次のコマンド受信を待つ。
【００４５】
また、ステップＳ１０７において、制御部５０のパラメータ変更部５３は、利用者認証済（カードホルダーの認証済）であるか否かを判定する。パラメータ変更部５３は、例えば、ＲＡＭ７内に、上述した照合成功を示す情報が記憶されているか否かにより、カードホルダーの認証済であるか否かを判定する。パラメータ変更部５３は、カードホルダーの認証済である場合（ステップＳ１０７：ＹＥＳ）に、処理をステップＳ１０８に進める。また、パラメータ変更部５３は、カードホルダーの認証済でない場合（ステップＳ１０７：ＮＯ）に、処理をステップＳ１０９に進める。
【００４６】
ステップＳ１０８において、パラメータ変更部５３は、パラメータ記憶領域８２が記憶する加算値（ＰＡＲ）を変更する。すなわち、パラメータ変更部５３は、パラメータ記憶領域８２が記憶する加算値を、例えば、外部装置２を介してカードホルダーから取得した新しい加算値に変更する。
【００４７】
また、ステップＳ１０９において、制御部５０は、ＰＡＲ変更結果を送信させる。すなわち、制御部５０は、パラメータ変更部５３が、例えば、加算値を変更した結果（ＰＡＲ変更結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ１０９の処理後に、制御部５０は、処理をステップＳ１０１に戻し、次のコマンド受信を待つ。
【００４８】
また、ステップＳ１１０において、制御部５０の初期化処理部５４は、利用者認証済（カードホルダーの認証済）であるか否かを判定する。初期化処理部５４は、例えば、ＲＡＭ７内に、上述した照合成功を示す情報が記憶されているか否かにより、カードホルダーの認証済であるか否かを判定する。初期化処理部５４は、カードホルダーの認証済である場合（ステップＳ１１０：ＹＥＳ）に、処理をステップＳ１１１に進める。また、初期化処理部５４は、カードホルダーの認証済でない場合（ステップＳ１１０：ＮＯ）に、処理をステップＳ１１２に進める。
【００４９】
ステップＳ１１１において、初期化処理部５４は、ＰＩＮ記憶領域８１が記憶する認証用ＰＩＮ（記憶ＰＩＮ）を初期化する。すなわち、初期化処理部５４は、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮを、ＰＩＮ初期値記憶領域８３が記憶するＰＩＮの初期値に変更する。
【００５０】
また、ステップＳ１１２において、制御部５０は、ＰＩＮ初期化結果を送信させる。すなわち、制御部５０は、初期化処理部５４が、例えば、認証用ＰＩＮ（記憶ＰＩＮ）を初期化した結果（ＰＩＮ初期化結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ１１２の処理後に、制御部５０は、処理をステップＳ１０１に戻し、次のコマンド受信を待つ。
【００５１】
また、図６は、本実施形態によるＩＣカード１の認証処理の一例を示す図である。
この図において、ＩＣカード１は、「ＰＩＮ」（記憶ＰＩＮ）が“００１５”、「ＰＡＲ」（加算値）が“０００５”である状態であり、この図に示す例では、この状態を初期状態として認証処理を行う一例を説明する。なお、ここでの所定のアルゴリズムは、加算処理である。
【００５２】
図６において、カードホルダーＵ１が、外部装置２において、ＩＣカード１を利用した取引処理を指定し、ＩＣカード１を外部装置２に接続した場合に、外部装置２は、カードホルダーＵ１に対して、ＰＩＮ入力要求を出力する（ステップＳ２０１）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１にＰＩＮの入力を促す表示を出力する。
【００５３】
次に、カードホルダーＵ１によって、外部装置２にＰＩＮ（例えば、“００１５”）が入力されると（ステップＳ２０２）、外部装置２は、ＩＣカード１に対して、ＰＩＮ照合要求を送信する（ステップＳ２０３）。すなわち、外部装置２は、取得ＰＩＮとして、例えば、“００１５”を含むＰＩＮ照合のコマンドを、ＩＣカード１に対して送信する。
【００５４】
次に、ＩＣカード１は、ＰＩＮ照合のコマンドに応じて、ＰＩＮ照合処理（例えば、“００１５”の照合）を実行する（ステップＳ２０４）。ＩＣカード１の認証部５２は、例えば、取得ＰＩＮである“００１５”と、ＰＩＮ記憶領域８１が記憶する“００１５”とを照合する。なお、ここでは、認証部５２は、取得ＰＩＮである“００１５”と、ＰＩＮ記憶領域８１が記憶する“００１５”とが一致するので、照合成功と判定する。
【００５５】
次に、ＩＣカード１のＰＩＮ生成部５１が、照合成功である場合に、ＰＩＮを変更し、照合失敗である場合に、ＰＩＮを変更しない（ステップＳ２０５）。なお、この例では、認証部５２が照合成功と判定しているので、ＰＩＮ生成部５１は、“００１５”に“０００５”を加算処理して、次回に使用する認証用ＰＩＮ“００２０”を生成する。ＰＩＮ生成部５１は、生成した認証用ＰＩＮ“００２０”をＰＩＮ記憶領域８１に記憶させる。
【００５６】
次に、ＩＣカード１は、ＰＩＮ照合結果を外部装置２に送信する（ステップＳ２０６）。すなわち、ＩＣカード１の制御部５０は、認証部５２のＰＩＮ照合結果を通信部４０に送信させる。
このように、本実施形態によるＩＣカード１は、ＰＩＮ照合（カードホルダーＵ１の認証）が成功するごとに、認証用ＰＩＮを変更する。
【００５７】
次に、図７を参照して、本実施形態によるＩＣカード１のパラメータ変更処理について説明する。
図７は、本実施形態のＩＣカード１のパラメータ変更処理の一例を示す図である。
この図において、ＩＣカード１は、「ＰＩＮ」（記憶ＰＩＮ）が“００２０”、「ＰＡＲ」（加算値）が“０００５”である状態であり、図６に示す認証処理を行った後の状態を初期状態としてパラメータ変更処理を行う一例を説明する。すなわち、ＩＣカード１は、カードホルダーＵ１の認証済の状態で、記憶ＰＩＮが“００２０”である状態である。
【００５８】
図７において、カードホルダーＵ１が、外部装置２において、パラメータ変更処理を指定した場合に、外部装置２は、カードホルダーＵ１に対して、変更する加算値入力要求を送信する（ステップＳ３０１）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１に変更する加算値の入力を促す表示を出力する。
【００５９】
次に、カードホルダーＵ１によって、外部装置２に加算値（例えば、“０００３”）が入力されると（ステップＳ３０２）、外部装置２は、ＩＣカード１に対して、パラメータ変更要求を送信する（ステップＳ３０３）。すなわち、外部装置２は、取得した加算値（例えば、“０００３”）を含む加算値変更のコマンドを、ＩＣカード１に対して送信する。
【００６０】
次に、ＩＣカード１は、パラメータ変更のコマンドに応じて、カードホルダーＵ１の認証済である場合に、加算値を変更し、カードホルダーＵ１の認証済でない場合に、加算値を変更しない（ステップＳ３０４）。なお、この例では、認証済であるので、パラメータ変更部５３は、加算値“０００５”を“０００３”に変更する。すなわち、パラメータ変更部５３は、パラメータ記憶領域８２が記憶する加算値“０００５”を取得した加算値“０００３”に変更する。
【００６１】
次に、ＩＣカード１は、加算値変更結果を外部装置２に送信する（ステップＳ３０５）。すなわち、ＩＣカード１の制御部５０は、パラメータ変更部５３の加算値結果を通信部４０に送信させる。
【００６２】
なお、次に、ＰＩＮ照合処理が行われる場合には、図６に示すステップＳ２０１からステップＳ２０６の処理と同様のステップＳ３０６からステップＳ３１１の処理が実行される。ただし、ステップＳ３０６からステップＳ３１１の処理では、パラメータ記憶領域８２が記憶する加算値が“０００３”である。そのため、ステップＳ３１０において、ＰＩＮ生成部５１は、“００２０”に“０００３”を加算処理して、次回に使用する認証用ＰＩＮ“００２３”を生成する。
【００６３】
このように、ＩＣカード１のパラメータ変更部５３は、カードホルダーＵ１が正当であると判定された場合（認証成功の状態である場合）に、加算値変更のコマンドに応じて、パラメータ記憶領域８２が記憶する加算値を変更する。
【００６４】
次に、図８を参照して、本実施形態によるＩＣカードシステム２０のオンライン処理によるセンタ認証処理について説明する。
図８は、本実施形態のＩＣカードシステム２０のセンタ認証処理の一例を示す図である。
この図において、ＩＣカード１は、「ＰＩＮ」（記憶ＰＩＮ）が“００２０”、「ＰＡＲ」（加算値）が“０００３”である状態であり、認証センタ装置２００は、「ＰＩＮ」（記憶ＰＩＮ）が“００１５”、「ＰＡＲ」（加算値）が“０００５”である状態である場合について説明する。すなわち、ＩＣカード１と認証センタ装置２００との間で、ＰＩＮ情報が一致していない状態である。
【００６５】
図８において、外部装置２は、ネットワークＮＷを介して認証センタ装置２００に接続されており、外部装置２は、まず、認証センタ装置２００にＰＩＮ同期要求を送信する（ステップＳ４０１）。
次に、認証センタ装置２００は、ＰＩＮ同期要求に応じて、ＰＩＮ情報要求を、外部装置２を介して、ＩＣカード１に送信する（ステップＳ４０２）。すなわち、外部装置２は、認証センタ装置２００からの要求に応じて、ＰＩＮ情報を取得するコマンドをＩＣカード１に対して送信する。
【００６６】
次に、ＩＣカード１は、ＰＩＮ情報を、外部装置２を介して、認証センタ装置２００に送信する（ステップＳ４０３）。すなわち、ＩＣカード１の制御部５０は、ＰＩＮ情報を取得するコマンドに応じて、ＰＩＮ記憶領域８１が記憶する記憶ＰＩＮ“００２０”と、パラメータ記憶領域８２が記憶する加算値“０００３”とを外部装置２に通信部４０に送信させ、外部装置２は、このＰＩＮ情報を認証センタ装置２００に送信する。
なお、ＩＣカード１は、例えば、認証センタ装置２００との間で共有するセンタキーによるキー照合（センタ認証）が成功している場合に、ＰＩＮ情報を送信するものとする。図８において図示を省略するが、ここでは、ＰＩＮ情報要求の前に、センタキーによるキー照合（センタ認証）が行われているものとする。
【００６７】
次に、認証センタ装置２００は、ＰＩＮ情報の同期処理を実行する（ステップＳ４０４）。この例では、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータと、当該ＩＣカード１に対応する「ＰＩＮ」及び「ＰＡＲ」とが一致しないので、認証センタ装置２００の同期処理部２３５は、同期処理を行う。すなわち、同期処理部２３５は、カード情報記憶部２２１のＩＣカード１に対応する「ＰＩＮ」を“００１５”から“００２０”に変更し、「ＰＡＲ」を“０００５”から“０００３”に変更する。
【００６８】
次に、認証センタ装置２００は、同期結果を外部装置２に送信する（ステップＳ４０５）。
次に、外部装置２は、カードホルダーＵ１に対して、ＰＩＮ入力要求を出力する（ステップＳ４０６）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１にＰＩＮの入力を促す表示を出力する。
【００６９】
次に、カードホルダーＵ１によって、外部装置２にＰＩＮ（例えば、“００２０”）が入力されると（ステップＳ４０７）、外部装置２は、認証センタ装置２００に対して、ＰＩＮ照合要求を送信する（ステップＳ４０８）。すなわち、外部装置２は、取得ＰＩＮとして、例えば、“００２０”を含むＰＩＮ照合要求を、認証センタ装置２００に対して送信する。
【００７０】
次に、認証センタ装置２００は、ＰＩＮ照合要求に応じて、ＰＩＮ照合処理（例えば、“００２０”の照合）を実行する（ステップＳ４０９）。認証センタ装置２００のセンタ認証部２３２は、例えば、取得ＰＩＮである“００２０”と、カード情報記憶部２２１が記憶する“００２０”とを照合する。なお、ここでは、センタ認証部２３２は、取得ＰＩＮである“００２０”と、カード情報記憶部２２１が記憶する“００２０”とが一致するので、照合成功と判定する。
【００７１】
次に、認証センタ装置２００のＰＩＮ生成部２３１が、照合成功である場合に、ＰＩＮを変更し、照合失敗である場合に、ＰＩＮを変更しない（ステップＳ４１０）。なお、この例では、センタ認証部２３２が照合成功と判定しているので、ＰＩＮ生成部２３１は、“００２０”に“０００３”を加算処理して、次回に使用する認証用ＰＩＮ“００２３”を生成する。ＰＩＮ生成部２３１は、生成した認証用ＰＩＮ“００２３”をカード情報記憶部２２１に記憶させる。
【００７２】
次に、認証センタ装置２００は、ＰＩＮ照合結果を外部装置２に送信する（ステップＳ４１１）。すなわち、認証センタ装置２００のセンタ制御部２３０は、センタ認証部２３２のＰＩＮ照合結果をセンタ通信部２１０に送信させる。
このように、本実施形態による認証センタ装置２００は、オンライン処理において、ＰＩＮ照合（カードホルダーＵ１の認証）が成功するごとに、認証用ＰＩＮを変更する。
【００７３】
次に、認証センタ装置２００は、ＩＣカード１に対して、ＰＩＮ変更要求を送信する（ステップＳ４１２）。すなわち、認証センタ装置２００は、ＩＣカード１とＰＩＮ情報を同期させるために、外部装置２を介して、変更された認証用ＰＩＮ“００２３”を含むＰＩＮ変更要求のコマンドをＩＣカード１に送信する。
【００７４】
ＩＣカード１の制御部５０は、ＰＩＮ変更要求のコマンドに応じて、ＰＩＮ情報の変更処理を行う（ステップＳ４１３）。すなわち、制御部５０は、ＰＩＮ記憶領域８１が記憶するＰＩＮ“００２０”を“００２３”に変更する。なお、制御部５０は、例えば、センタキーによるキー照合（センタ認証）が成功している場合に、ＰＩＮ情報の変更処理を行う。
【００７５】
次に、ＩＣカード１は、ＰＩＮ変更結果を、外部装置２を介して認証センタ装置２００に送信する（ステップＳ４１４）。すなわち、ＩＣカード１の制御部５０は、ＰＩＮ変更結果を通信部４０に送信させる。
このように、本実施形態によるＩＣカードシステム２０では、オンライン処理時に、認証センタ装置２００がＩＣカード１と同様の認証処理を行い、さらに、認証センタ装置２００とＩＣカード１との間でＰＩＮ情報を同期させる。
【００７６】
以上説明したように、本実施形態によるＩＣカード１は、ＰＩＮ生成部５１と、認証部５２とを備えている。ＰＩＮ生成部５１は、予めＥＥＰＲＯＭ８（記憶部）に記憶されている記憶ＰＩＮ（第１のパスワード）と、所定のパラメータ（例えば、加算値）と、所定のアルゴリズム（例えば、加算処理）とに基づいて、カードホルダーの認証用ＰＩＮ（第２のパスワード）を生成する。認証部５２は、外部装置２から取得した取得ＰＩＮ（第３のパスワード）と、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。
これにより、本実施形態によるＩＣカード１は、認証用ＰＩＮを動的データとして、認証処理ごとに変更するので、例えば、第三者がカードホルダーに成りすまして不正に利用される可能性を低減することができる。よって、本実施形態によるＩＣカード１は、セキュリティを向上させることができる。
【００７７】
また、本実施形態では、ＥＥＰＲＯＭ８は、所定のパラメータ（例えば、加算値）を予め記憶し、所定のアルゴリズムは、記憶ＰＩＮと、所定のパラメータ（例えば、加算値）との所定の演算処理（例えば、加算処理）を含む。ＰＩＮ生成部５１は、記憶ＰＩＮと所定のパラメータ（例えば、加算値）との所定の演算処理（例えば、加算処理）に基づいて認証用ＰＩＮを生成する。
これにより、演算処理より認証用ＰＩＮするので、本実施形態によるＩＣカード１は、より簡易な手法により、認証用ＰＩＮを変更することができる。
【００７８】
また、本実施形態によるＩＣカード１は、パラメータ変更部５３を備えている。パラメータ変更部５３は、認証部５２によってカードホルダーが正当であると判定された場合に、所定のパラメータの変更要求（例えば、変更要求コマンド）に応じて、ＥＥＰＲＯＭ８が記憶する所定のパラメータ（例えば、加算値）を変更する。
これにより、カードホルダーが正当である場合（認証が成功した状態の場合）に、パラメータを変更するので、本実施形態によるＩＣカード１は、セキュリティを確保しつつ、パラメータを変更することができる。そのため、本実施形態によるＩＣカード１は、例えば、定期的に、所定のパラメータを変更することで、認証用ＰＩＮの生成アルゴリズムが第三者に判明する可能性を低減することができる。よって、本実施形態によるＩＣカード１は、よりセキュリティを向上させることができる。
【００７９】
また、本実施形態では、ＰＩＮ生成部５１は、認証部５２が、カード利用者が正当であると判定した場合に、所定のアルゴリズムに基づいて、次回に照合に使用する認証用ＰＩＮを生成し、認証用ＰＩＮを記憶ＰＩＮとして、ＥＥＰＲＯＭ８に記憶させる。そして、認証部５２は、次回の照合をする際に、取得ＰＩＮと、記憶ＰＩＮとしてＥＥＰＲＯＭ８に記憶されている認証用ＰＩＮとを照合する。
これにより、本実施形態によるＩＣカード１は、ＥＥＰＲＯＭ８に記憶されている認証用ＰＩＮを使用して認証処理を行うので、毎回認証用ＰＩＮを生成する場合に比べて、ＣＰＵ５の処理量（演算量）を低減することができる。すなわち、本実施形態によるＩＣカード１は、ＣＰＵ５に負荷を掛けずに、セキュリティを向上させることができる。
【００８０】
また、本実施形態では、ＥＥＰＲＯＭ８は、認証用ＰＩＮの初期値を記憶する。ＩＣカード１は、さらに、認証部５２によってカード利用者が正当であると判定された場合に、認証用ＰＩＮの初期化要求（例えば、初期化コマンド）に応じて、ＥＥＰＲＯＭ８が記憶する記憶ＰＩＮを、認証用ＰＩＮの初期値に変更する初期化処理部５４を備える。
これにより、本実施形態によるＩＣカード１では、セキュリティを確保しつつ、カードホルダーが現在の認証用ＰＩＮを初期値に戻すことができる。
【００８１】
本実施形態によるＩＣモジュール１００は、ＰＩＮ生成部５１と、認証部５２とを備えている。ＰＩＮ生成部５１は、予めＥＥＰＲＯＭ８（記憶部）に記憶されている記憶ＰＩＮ（第１のパスワード）と、所定のパラメータ（例えば、加算値）と、所定のアルゴリズム（例えば、加算処理）とに基づいて、カードホルダーの認証用ＰＩＮ（第２のパスワード）を生成する。認証部５２は、外部装置２から取得した取得ＰＩＮ（第３のパスワード）と、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。
これにより、本実施形態によるモジュール１００は、ＩＣカード１と同様に、セキュリティを向上させることができる。
【００８２】
また、本実施形態によれば、ＩＣカードシステム２０は、ＩＣカード１と、外部装置２を介してＩＣカード１と接続される認証センタ装置２００とを備えている。認証センタ装置２００は、センタ記憶部２２０と、ＰＩＮ生成部２３１（センタ生成部）と、センタ認証部２３２と、同期処理部２３５とを備えている。センタ記憶部２２０は、ＩＣカード１を識別するカード識別情報（例えば、カードＩＤ）と、記憶ＰＩＮ（次回の認証用ＰＩＮ）と、所定のパラメータとを関連付けて記憶する。ＰＩＮ生成部２３１は、センタ記憶部２２０が記憶する記憶ＰＩＮ及び所定のパラメータ（例えば、加算値）と、所定のアルゴリズム（例えば、加算処理）とに基づいて、認証用ＰＩＮを生成する。センタ認証部２３２は、外部装置２を介してカードホルダーから取得した取得ＰＩＮと、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。同期処理部２３５は、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータ（例えば、加算値）と、当該ＩＣカード１に対応するカードＩＤと関連付けられてセンタ記憶部２２０に記憶されている記憶ＰＩＮ及び所定のパラメータ（例えば、加算値）とが一致しない場合に、センタ記憶部２２０に記憶されている記憶ＰＩＮ及び所定のパラメータを、ＩＣカード１が記憶する記憶ＰＩＮ及び所定のパラメータに変更する。
【００８３】
これにより、本実施形態によるＩＣカードシステム２０は、上述したＩＣカード１と同様に、セキュリティを向上させることができる。また、ＩＣカード１が記憶する認証用ＰＩＮ及びパラメータと、認証センタ装置２００が記憶する認証用ＰＩＮ及びパラメータを、同期させることができるので、本実施形態によるＩＣカードシステム２０は、例えば、オフライン処理とオンライン処理が混在する場合であっても、認証用ＰＩＮ及びパラメータを適切に変更することができる。
【００８４】
上述した本実施形態では、ＰＩＮ生成部５１は、認証処理が成功した場合に、次回に照合する認証用ＰＩＮを生成し、ＥＥＰＲＯＭ８に次回に照合する認証用ＰＩＮを記憶ＰＩＮとして、記憶させる例を説明したが、これに限定されるものではない。例えば、ＰＩＮ生成部５１は、認証処理の際に、ＥＥＰＲＯＭ８が記憶する記憶ＰＩＮに基づいて、毎回認証用ＰＩＮを生成し、生成した認証用ＰＩＮによる認証処理が成功した場合に、生成した認証用ＰＩＮを記憶ＰＩＮとして記憶させてもよい。
【００８５】
（第２の実施形態）
次に、図面を参照して、第２の実施形態によるＩＣカード１ａについて説明する。
本実施形態では、例えば、カードホルダーが変更された認証用ＰＩＮを忘れてしまった場合に、ＩＣカード１ａが、現在の認証用ＰＩＮを生成するヒントとなる情報を出力する場合の一例について説明する。
なお、本実施形態によるＩＣカード１ａのハードウェア構成は、図１に示す第１の実施形態と同様であるので、ここではその説明を省略する。
【００８６】
図９は、本実施形態のＩＣカード１ａの機能構成例を示すブロック図である。
この図に示すように、ＩＣカード１ａは、ＥＥＰＲＯＭ８ａと、通信部４０と、制御部５０ａとを備えている。ＥＥＰＲＯＭ８ａは、ＰＩＮ記憶領域８１と、パラメータ記憶領域８２と、ＰＩＮ初期値記憶領域８３と、回数情報記憶領域８４とを備えている。また、制御部５０ａは、ＰＩＮ生成部５１ａと、認証部５２ａと、初期化処理部５４ａと、回数情報処理部５５とを備えている。
ここで、図９に示される各部は、図１に示されるハードウェアを用いて実現される。
なお、この図において、図２に示す機能構成と同一の構成については同一の符号を付し、その説明を省略する。
【００８７】
回数情報記憶領域８４は、認証用ＰＩＮを生成した回数を示す回数情報を記憶する。
認証部５２ａは、以下の第１の認証処理と、第２の認証処理とを実行する。認証部５２ａは、第１の認証処理において、取得ＰＩＮと、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。また、認証部５２ａは、第２の認証処理において、外部装置２から取得した取得初期ＰＩＮ（第４のパスワード）と、認証用ＰＩＮの初期値とを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。すなわち、認証部５２ａは、第２の認証処理において、ＰＩＮ初期値記憶領域８３が記憶するＰＩＮの初期値による認証処理を実行する。
【００８８】
ＰＩＮ生成部５１ａは、認証部５２ａが、第１の認証処理によりカードホルダーが正当であると判定した場合に、認証用ＰＩＮを生成するとともに、ＥＥＰＲＯＭ８ａ（回数情報記憶領域８４）が記憶する回数情報を更新する。すなわち、ＰＩＮ生成部５１ａは、回数情報記憶領域８４が記憶する回数情報の値に“１”を加算して、再び回数情報記憶領域８４に記憶させる。なお、ＰＩＮ生成部５１ａのその他の機能は、第１の実施形態のＰＩＮ生成部５１と同様である。
【００８９】
回数情報処理部５５は、認証部５２ａが、第２の認証処理によりカードホルダーが正当であると判定した場合に、回数情報記憶領域８４が記憶する回数情報を外部装置２に出力させる。なお、回数情報記憶領域８４が記憶する回数情報が判明すれば、カードホルダーは、ＰＩＮの初期値と、パラメータの値とにより、現在の認証用ＰＩＮを算出することが可能になる。
【００９０】
初期化処理部５４ａは、認証部５２ａが、第１の認証処理によりカードホルダーが正当であると判定した場合に、認証用ＰＩＮの初期化要求に応じて、ＥＥＰＲＯＭ８ａが記憶する記憶ＰＩＮを、認証用ＰＩＮの初期値に変更する。そして、初期化処理部５４ａは、この初期化処理の際に、ＥＥＰＲＯＭ８ａの回数情報記憶領域８４が記憶する回数情報を初期化する。すなわち、初期化処理部５４ａは、回数情報記憶領域８４が記憶する回数情報として、例えば、“０”を記憶させる。
【００９１】
次に、図１０を参照して、本実施形態によるＩＣカード１ａの動作の一例について説明する。
図１０は、本実施形態のＩＣカード１ａの動作の一例を示すフローチャートである。
この図において、ステップＳ５０１及びステップＳ５０２の処理は、図５に示すステップＳ１０１及びステップＳ１０２の処理と同様であるので、ここではその説明を省略する。
【００９２】
なお、ステップＳ５０２のコマンド分岐の処理において、制御部５０ａは、受信したコマンドがＰＩＮを照合するコマンドである場合（ＰＩＮ照合）に、処理をステップＳ５０３に進める。また、制御部５０ａは、受信したコマンドが認証用ＰＩＮの初期化要求である場合（ＰＩＮ初期化）に、処理をステップＳ５０８に進める。また、制御部５０ａは、受信したコマンドがＰＩＮの初期値を照合するコマンドである場合（初期ＰＩＮ照合）に、処理をステップＳ５１２に進める。また、制御部５０ａは、受信したコマンドが回数情報の出力を要求するコマンドである場合（回数情報要求）に、処理をステップＳ５１４に進める。
【００９３】
ステップＳ５０３からステップＳ５０７までのＰＩＮ照合の処理（第１の認証処理）において、ステップＳ５０６の処理が追加されている点を除いて、図５に示すステップＳ１０３からステップＳ１０６までの処理と同様である。
ステップＳ５０６において、制御部５０ａのＰＩＮ生成部５１ａは、回数情報記憶領域８４が記憶する回数情報を更新する。すなわち、ＰＩＮ生成部５１ａは、回数情報記憶領域８４が記憶する回数情報の値に“１”を加算して、再び回数情報記憶領域８４に記憶させる。
【００９４】
また、ステップＳ５０８からステップＳ５１１までのＰＩＮ初期化の処理は、ステップＳ５１０の処理が追加されている点を除いて、図５に示すステップＳ１１０からステップＳ１１２までの処理と同様である。
ステップＳ５１０において、制御部５０ａの初期化処理部５４ａは、回数情報を初期化する。すなわち、初期化処理部５４ａは、回数情報記憶領域８４が記憶する回数情報として、例えば、“０”を記憶させる。
【００９５】
ステップＳ５１２において、制御部５０ａの認証部５２ａは、第２の認証処理として、初期ＰＩＮ照合処理を行う。認証部５２ａは、外部装置２から取得した取得初期ＰＩＮと、認証用ＰＩＮの初期値とを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。すなわち、認証部５２ａは、第２の認証処理において、ＰＩＮ初期値記憶領域８３が記憶するＰＩＮの初期値による認証処理を実行する。なお、認証部５２ａは、ＲＡＭ７内に、照合結果を示す情報を記憶させる。また、認証部５２ａは、照合失敗の場合には、例えば、認証失敗の回数を示すＥＥＰＲＯＭ８ａのエラーカウンタ情報（不図示）をカウントアップし、さらに、エラーカウンタ情報が所定のカウント値に達した場合に、初期ＰＩＮによる照合処理の実行を禁止してもよい。
【００９６】
ステップＳ５１３において、制御部５０ａは、初期ＰＩＮ照合結果を送信させる。すなわち、制御部５０ａは、認証部５２ａが照合した初期ＰＩＮの照合結果（認証結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ５１３の処理後に、制御部５０ａは、処理をステップＳ５０１に戻し、次のコマンド受信を待つ。
【００９７】
ステップＳ５１４において、制御部５０ａの回数情報処理部５５は、初期ＰＩＮの照合成功であるか否かを判定する。回数情報処理部５５は、例えば、ＲＡＭ７内に、上述した初期ＰＩＮの照合成功を示す情報が記憶されているか否かにより、初期ＰＩＮの照合成功であるか否かを判定する。回数情報処理部５５は、初期ＰＩＮの照合成功である場合（ステップＳ５１４：ＹＥＳ）に、処理をステップＳ５１５に進める。また、回数情報処理部５５は、初期ＰＩＮの照合成功でない場合（ステップＳ５１４：ＮＯ）に、処理をステップＳ５１６に進める。
【００９８】
ステップＳ５１５において、回数情報処理部５５は、回数情報を外部装置２に送信する。すなわち、回数情報処理部５５は、回数情報記憶領域８４が記憶する回数情報を、通信部４０を介して外部装置２に出力させる。ステップＳ５１５の処理後に、制御部５０ａは、処理をステップＳ５０１に戻し、次のコマンド受信を待つ。
【００９９】
ステップＳ５１６において、回数情報処理部５５は、エラー応答を外部装置２に送信する。すなわち、回数情報処理部５５は、初期ＰＩＮによる照合が成功していないことを示すレスポンス（エラー応答）を、通信部４０を介して外部装置２に出力させる。ステップＳ５１６の処理後に、制御部５０ａは、処理をステップＳ５０１に戻し、次のコマンド受信を待つ。
【０１００】
次に、図１１を参照して、本実施形態によるＩＣカード１ａの回数情報の出力処理について説明する。
図１１は、本実施形態のＩＣカード１ａの回数情報の出力処理の一例を示す図である。
この図において、ＩＣカード１ａは、「初期ＰＩＮ」（ＰＩＮの初期値）が“００１５”、「ＰＩＮ」（記憶ＰＩＮ）が“００２０”、「ＰＡＲ」（加算値）が“０００５”、「回数」（回数情報）が“０１”である状態であり、この図に示す例では、この状態を初期状態として回数情報の出力処理を行う一例を説明する。なお、ここでの所定のアルゴリズムは、加算処理である。
【０１０１】
図１１において、カードホルダーＵ１が、外部装置２において、ＰＩＮ変更の回数情報を表示させる指定をした場合に、外部装置２は、カードホルダーＵ１に対して、初期ＰＩＮ入力要求を出力する（ステップＳ６０１）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１に初期ＰＩＮの入力を促す表示を出力する。
【０１０２】
次に、カードホルダーＵ１によって、外部装置２に初期ＰＩＮ（例えば、“００１５”）が入力されると（ステップＳ６０２）、外部装置２は、ＩＣカード１ａに対して、初期ＰＩＮ照合要求を送信する（ステップＳ６０３）。すなわち、外部装置２は、取得ＰＩＮとして、例えば、“００１５”を含む初期ＰＩＮ照合のコマンドを、ＩＣカード１ａに対して送信する。
【０１０３】
次に、ＩＣカード１ａは、初期ＰＩＮ照合のコマンドに応じて、初期ＰＩＮ照合処理（例えば、“００１５”の照合）を実行する（ステップＳ６０４）。ＩＣカード１ａの認証部５２ａは、例えば、取得ＰＩＮである“００１５”と、ＰＩＮ初期値記憶領域８３が記憶する“００１５”とを照合する。なお、ここでは、認証部５２ａは、取得ＰＩＮである“００１５”と、ＰＩＮ初期値記憶領域８３が記憶する“００１５”とが一致するので、照合成功と判定する。
【０１０４】
次に、ＩＣカード１ａは、初期ＰＩＮ照合結果を外部装置２に送信する（ステップＳ６０５）。すなわち、ＩＣカード１ａの制御部５０ａは、認証部５２ａの初期ＰＩＮ照合結果を通信部４０に送信させる。
次に、外部装置２は、ＩＣカード１ａに対して、回数情報要求を送信する（ステップＳ６０５）。すなわち、外部装置２は、回数情報要求のコマンドを、ＩＣカード１ａに対して送信する。
【０１０５】
次に、ＩＣカード１ａは、回数情報要求のコマンドに応じて、回数情報を外部装置２に送信する（ステップＳ６０７）。すなわち、ＩＣカード１ａの回数情報処理部５５は、回数情報記憶領域８４が記憶する回数情報“０１”を、通信部４０を介して外部装置２に出力させる。
次に、外部装置２は、ＩＣカード１ａが出力した回数情報を、カードホルダーＵ１に提示する（ステップＳ６０８）。すなわち、外部装置２は、ＩＣカード１ａから取得した回数情報“０１”を表示部に表示する。
これにより、カードホルダーＵ１は、回数情報を取得し、予め認識しているアルゴリズム（ここでは、加算処理）と、パラメータである加算値と、当該回数情報により、現在の認証ＰＩＮを容易に算出することができる。
【０１０６】
なお、上述した回数情報に関する処理が追加されている点を除いて、本実施形態のＩＣカード１ａの基本的な処理は、第１の実施形態のＩＣカード１と同様であるので、その他の処理についての説明を省略する。また、上述した本実施形態では、ＩＣカード１ａは、パラメータ変更部５３を備えない例を説明したが、第１の実施形態と同様に、パラメータ変更部５３を備えてもよい。なお、この場合、パラメータ変更部５３が、所定のパラメータ（例えば、加算値）を変更した際に、初期化処理部５４ａに、初期化処理をさせるようにしてもよい。
また、本実施形態のＩＣカード１ａを用いたＩＣカードシステム２０は、回数情報の同期処理が追加になる点を除いて、第１の実施形態と同様であるので、ここではその説明を省略する。
【０１０７】
以上説明したように、本実施形態によるＩＣカード１ａでは、ＥＥＰＲＯＭ８ａは、認証用ＰＩＮの初期値と、認証用ＰＩＮを生成した回数を示す回数情報とを記憶する。そして、本実施形態の認証部５２ａは、第１の認証処理と、第２の認証処理とを実行する。認証部５２ａは、第１の認証処理において、取得ＰＩＮと、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。また、認証部５２ａは、第２の認証処理において、外部装置２から取得した取得初期ＰＩＮ（第４のパスワード）と、認証用ＰＩＮの初期値とを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。ＰＩＮ生成部５１ａは、認証部５２ａによる第１の認証処理によりカードホルダーが正当であると判定された場合に、第２のパスワードを生成するとともに、ＥＥＰＲＯＭ８ａが記憶する回数情報を更新する。さらに、ＩＣカード１ａは、認証部５２ａによる第２の認証処理によりカードホルダーが正当であると判定された場合に、回数情報を外部装置２に出力させる回数情報処理部５５を備える。
【０１０８】
これにより、本実施形態によるＩＣカード１ａでは、セキュリティを確保しつつ、認証用ＰＩＮを生成した回数を示す回数情報をカードホルダーに知らせることができるので、カードホルダーが現在に認証ＰＩＮを忘れてしまった場合であっても、カードホルダーが独自に認証用ＰＩＮを生成することができる。本実施形態によるＩＣカード１ａは、カードホルダーが現在に認証ＰＩＮを忘れてしまった場合であっても、認証用ＰＩＮによる認証処理を可能にすることができるので、利便性を向上させることができる。
【０１０９】
また、本実施形態では、ＩＣカード１ａは、初期化処理部５４ａを備える。初期化処理部５４ａは、認証部５２ａによる第１の認証処理によりカードホルダーが正当であると判定された場合に、認証用ＰＩＮの初期化要求（例えば、初期化コマンド）に応じて、ＥＥＰＲＯＭ８ａが記憶する記憶ＰＩＮを、認証用ＰＩＮの初期値に変更する。さらに、初期化処理部５４ａは、認証用ＰＩＮの初期化要求に応じて、ＥＥＰＲＯＭ８ａが記憶する回数情報を初期化する。
これにより、本実施形態によるＩＣカード１ａでは、セキュリティを確保しつつ、カードホルダーが現在の認証用ＰＩＮ及び回数情報を初期値に戻すことができる。
【０１１０】
（第３の実施形態）
次に、図面を参照して、第３の実施形態によるＩＣカード１ｂについて説明する。
本実施形態は、上述した第２の実施形態の変形例を示す実施形態である。第２の実施形態では、認証処理が成功するごとに変更される認証ＰＩＮであって、記憶ＰＩＮとしてＥＥＰＲＯＭ８ａに記憶されている認証ＰＩＮにより認証処理を行う例を説明した。これに対して、本実施形態では、回数情報と、認証ＰＩＮの初期値とに基づいて毎回生成した認証ＰＩＮにより認証処理を行う一例について説明する。
なお、本実施形態によるＩＣカード１ｂのハードウェア構成は、図１に示す第１の実施形態と同様であるので、ここではその説明を省略する。
【０１１１】
図１２は、本実施形態のＩＣカード１ｂの機能構成例を示すブロック図である。
この図に示すように、ＩＣカード１ｂは、ＥＥＰＲＯＭ８ｂと、通信部４０と、制御部５０ｂとを備えている。ＥＥＰＲＯＭ８ｂは、ＰＩＮ記憶領域８１と、パラメータ記憶領域８２と、回数情報記憶領域８４とを備えている。また、制御部５０ｂは、ＰＩＮ生成部５１ｂと、認証部５２ｂと、初期化処理部５４ｂと、回数情報処理部５５とを備えている。
ここで、図１２に示される各部は、図１に示されるハードウェアを用いて実現される。
なお、この図において、図２及び図９に示す機能構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１１２】
本実施形態のＥＥＰＲＯＭ８ｂは、ＰＩＮ初期値記憶領域８３を備えない代わりに、ＰＩＮ記憶領域８１が、認証用ＰＩＮの初期値を記憶する。
認証部５２ｂは、第１の認証処理と、第２の認証処理とを実行する。ＰＩＮ生成部５１ｂは、第１の認証処理において、取得ＰＩＮと、ＰＩＮ生成部５１ｂが毎回生成する認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。また、ＰＩＮ生成部５１ｂは、第２の認証処理において、外部装置２から取得した取得初期ＰＩＮ（第４のパスワード）と、ＰＩＮ記憶領域８１が記憶する認証用ＰＩＮの初期値とを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。
【０１１３】
ＰＩＮ生成部５１ｂは、ＰＩＮ記憶領域８１が記憶する認証用ＰＩＮの初期値と、パラメータ記憶領域８２が記憶する所定のパラメータ（例えば、加算値）と、所定の演算処理（例えば、加算処理）と、回数情報記憶領域８４が記憶する回数情報とに基づいて、認証用ＰＩＮを生成する。また、ＰＩＮ生成部５１ｂは、認証部５２ｂが、第１の認証処理によりカードホルダーが正当であると判定した場合に、回数情報記憶領域８４が記憶する回数情報を更新する。なお、ＰＩＮ生成部５１ｂは、認証部５２ｂが第１の認証処理を実行するごとに毎回、認証用ＰＩＮの初期値と、所定のパラメータ（例えば、加算値）と、回数情報とに基づいて認証用ＰＩＮを生成する。
【０１１４】
初期化処理部５４ｂは、認証部５２ｂが、第１の認証処理によりカードホルダーが正当であると判定した場合に、回数情報の初期化要求（回数情報の初期化コマンド）に応じて、ＥＥＰＲＯＭ８ｂ（回数情報記憶領域８４）が記憶する回数情報を初期化する。すなわち、初期化処理部５４ｂは、回数情報記憶領域８４が記憶する回数情報として、例えば、“０”を記憶させる。
【０１１５】
次に、図１３を参照して、本実施形態によるＩＣカード１ｂの動作の一例について説明する。
図１３は、本実施形態のＩＣカード１ｂの動作の一例を示すフローチャートである。
この図において、ステップＳ７０１及びステップＳ７０２の処理は、図１０に示すステップＳ５０１及びステップＳ５０２の処理と同様であるので、ここではその説明を省略する。
【０１１６】
なお、ステップＳ７０２のコマンド分岐の処理において、制御部５０ｂは、受信したコマンドがＰＩＮを照合するコマンドである場合（ＰＩＮ照合）に、処理をステップＳ７０３に進める。また、制御部５０ｂは、受信したコマンドが回数情報の初期化要求である場合（回数情報初期化）に、処理をステップＳ７０８に進める。また、制御部５０ｂは、受信したコマンドがＰＩＮの初期値を照合するコマンドである場合（初期ＰＩＮ照合）に、処理をステップＳ７１１に進める。また、制御部５０ｂは、受信したコマンドが回数情報の出力を要求するコマンドである場合（回数情報要求）に、処理をステップＳ７１３に進める。
【０１１７】
ステップＳ７０３において、制御部５０ｂのＰＩＮ生成部５１ｂは、回数情報に基づいて、認証用ＰＩＮを生成する。例えば、所定のアルゴリズムが加算処理であり、所定のパラメータが加算値である場合には、ＰＩＮ生成部５１ｂは、下記の式（１）により、認証用ＰＩＮを生成する。
【０１１８】
認証用ＰＩＮ＝認証用ＰＩＮの初期値＋加算値×回数情報の値  ・・・  （１）
【０１１９】
次に、制御部５０ｂの認証部５２ｂは、第１の認証処理として、取得ＰＩＮと、ＰＩＮ生成部５１ｂが生成した認証用ＰＩＮとを照合する（ステップＳ７０４）。
次に、制御部５０ｂの認証部５２ｂは、照合結果が照合成功であるか否かを判定する（ステップＳ７０５）。認証部５２ｂは、照合成功である場合（ステップＳ７０５：ＹＥＳ）に、例えば、ＲＡＭ７内に、照合成功を示す情報を記憶させて、処理をステップＳ７０６に進める。また、認証部５２ｂは、照合失敗である場合（ステップＳ７０５：ＮＯ）に、処理をステップＳ７０７に進める。なお、認証部５２ｂは、照合失敗である場合に、カードホルダーが正当でないと判定する。認証部５２ｂは、カードホルダーが正当でない場合に、例えば、認証失敗の回数を示すＥＥＰＲＯＭ８ｂのエラーカウンタ情報（不図示）をカウントアップし、さらに、エラーカウンタ情報が所定のカウント値に達した場合に、認証用ＰＩＮによる照合処理の実行を禁止してもよい。
【０１２０】
ステップＳ７０６において、ＰＩＮ生成部５１ｂは、回数情報記憶領域８４が記憶する回数情報を更新する。すなわち、ＰＩＮ生成部５１ｂは、回数情報記憶領域８４が記憶する回数情報の値に“１”を加算して、再び回数情報記憶領域８４に記憶させる。
次のステップＳ７０７の処理は、図１０に示すステップＳ５０７の処理と同様であるので、ここではその説明を省略する。
【０１２１】
また、ステップＳ７０８からステップＳ７１０までの処理は、図１０に示すステップＳ５０８からステップＳ５１１までの処理からステップＳ５０９の処理を除いた処理と同様であるので、ここではその説明を省略する。なお、本実施形態の初期化処理部５４ｂは、認証用ＰＩＮの初期化を行う必要がなく、ステップＳ７０９において、回数情報の初期化を行う。
また、ステップＳ７１０において、制御部５０ｂは、ＰＩＮ初期化結果の代わりに、回数情報の初期化結果を、通信部４０に送信させる。
【０１２２】
また、ステップＳ７１１からステップＳ７１５までの処理は、図１０に示すステップＳ５１２からステップＳ５１６までの処理と同様であるので、ここではその説明を省略する。
【０１２３】
次に、図１４を参照して、本実施形態によるＩＣカード１ｂの認証処理について説明する。
図１４は、実施形態のＩＣカード１ｂの認証処理の一例を示す図である。
この図において、ＩＣカード１ｂは、「初期ＰＩＮ」（認証用ＰＩＮの初期値）が“００１５”、「ＰＡＲ」（加算値）が“０００５”、「回数」（回数情報）が“０１”である状態であり、この図に示す例では、この状態を初期状態として認証処理を行う一例を説明する。なお、ここでの所定のアルゴリズムは、加算処理である。
【０１２４】
図１４において、カードホルダーＵ１が、外部装置２において、ＩＣカード１ｂを利用した取引処理を指定し、ＩＣカード１ｂを外部装置２に接続した場合に、外部装置２は、カードホルダーＵ１に対して、ＰＩＮ入力要求を出力する（ステップＳ８０１）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１にＰＩＮの入力を促す表示を出力する。
【０１２５】
次に、カードホルダーＵ１によって、外部装置２にＰＩＮ（例えば、“００２０”）が入力されると（ステップＳ８０２）、外部装置２は、ＩＣカード１ｂに対して、ＰＩＮ照合要求を送信する（ステップＳ８０３）。すなわち、外部装置２は、取得ＰＩＮとして、例えば、“００２０”を含むＰＩＮ照合のコマンドを、ＩＣカード１ｂに対して送信する。
【０１２６】
次に、ＩＣカード１ｂは、ＰＩＮ照合のコマンドに応じて、認証用ＰＩＮを生成する（ステップＳ８０４）。すなわち、ＰＩＮ生成部５１ｂは、認証用ＰＩＮの初期値と、所定のパラメータ（例えば、加算値）と、回数情報とに基づいて認証用ＰＩＮを生成する。ここでは、ＰＩＮ生成部５１ｂは、認証用ＰＩＮとして“００２０”を生成する。
【０１２７】
次に、ＩＣカード１ｂは、ＰＩＮ照合処理（例えば、“００２０”の照合）を実行する（ステップＳ８０５）。ＩＣカード１ｂの認証部５２ｂは、例えば、取得ＰＩＮである“００２０”と、生成した認証用ＰＩＮ“００２０”とを照合する。なお、ここでは、認証部５２ｂは、取得ＰＩＮである“００２０”と、生成した認証用ＰＩＮ“００２０”とが一致するので、照合成功と判定する。
【０１２８】
次に、ＩＣカード１ｂのＰＩＮ生成部５１ｂが、照合成功である場合に、回数情報を更新し、照合失敗である場合に、回数情報を更新しない（ステップＳ８０６）。なお、この例では、認証部５２ｂが照合成功と判定しているので、ＰＩＮ生成部５１ｂは、回数情報を“０１”から“０２”に変更して、回数情報記憶領域８４に記憶させる。
【０１２９】
次に、ＩＣカード１ｂは、ＰＩＮ照合結果を外部装置２に送信する（ステップＳ８０７）。すなわち、ＩＣカード１ｂの制御部５０ｂは、認証部５２ｂのＰＩＮ照合結果を通信部４０に送信させる。
【０１３０】
以上説明したように、本実施形態によるＩＣカード１ｂでは、ＥＥＰＲＯＭ８ｂは、認証用ＰＩＮの初期値を記憶ＰＩＮとして記憶するとともに、認証用ＰＩＮを生成した回数を示す回数情報を記憶する。認証部５２ｂは、第１の認証処理と、第２の認証処理とを実行する。認証部５２ｂは、第１の認証処理において、取得ＰＩＮと、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。また、認証部５２ｂは、第２の認証処理において、外部装置２から取得した取得初期ＰＩＮと、認証用ＰＩＮの初期値とを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する。ＰＩＮ生成部５１ｂは、認証用ＰＩＮの初期値と、所定のパラメータ（例えば、加算値）と、所定の演算処理（例えば、加算処理）と、ＥＥＰＲＯＭ８ｂが記憶する回数情報とに基づいて、認証用ＰＩＮを生成する。また、ＰＩＮ生成部５１ｂは、認証部５２ｂが、第１の認証処理によりカードホルダーが正当であると判定した場合に、ＥＥＰＲＯＭ８ｂが記憶する回数情報を更新する。
これにより、本実施形態によるＩＣカード１ｂは、認証用ＰＩＮを動的データとして、認証処理ごとに変更するので、第１及び第２の実施形態と同様に、セキュリティを向上させることができる。
【０１３１】
また、本実施形態では、ＩＣカード１ｂは、認証部５２ｂによる第２の認証処理によりカードホルダーが正当であると判定された場合に、回数情報を外部装置２に出力させる回数情報処理部５５を備えている。
これにより、本実施形態によるＩＣカード１ｂは、第２の実施形態と同様に、カードホルダーが現在に認証ＰＩＮを忘れてしまった場合であっても、カードホルダーが独自に認証用ＰＩＮを生成することができる。
【０１３２】
また、本実施形態では、ＩＣカード１ｂは、認証部５２ｂによる第１の認証処理によりカード利用者が正当であると判定された場合に、回数情報の初期化要求に応じて、ＥＥＰＲＯＭ８ｂが記憶する回数情報を初期化する初期化処理部５４ｂを備える。
これにより、本実施形態によるＩＣカード１ｂでは、セキュリティを確保しつつ、カードホルダーが現在の認証用ＰＩＮを初期値に戻すことができる。
【０１３３】
（第４の実施形態）
次に、図面を参照して、第４の実施形態によるＩＣカード１ｃについて説明する。
本実施形態は、認証用ＰＩＮを変更するための所定のパラメータとして、外部装置２から供給される供給情報を用いる場合の一例について説明する。また、本実施形態では、所定のアルゴリズムの一例として、置換処理を用いる一例を説明する。
なお、本実施形態によるＩＣカード１ｃのハードウェア構成は、図１に示す第１の実施形態と同様であるので、ここではその説明を省略する。
【０１３４】
図１５は、本実施形態のＩＣカード１ｃの機能構成例を示すブロック図である。
この図に示すように、ＩＣカード１ｃは、ＥＥＰＲＯＭ８ｃと、通信部４０と、制御部５０ｃとを備えている。ＥＥＰＲＯＭ８ｃは、ＰＩＮ記憶領域８１と、置換情報記憶領域８５とを備えている。また、制御部５０ｃは、ＰＩＮ生成部５１ｃと、認証部５２ｃと、置換情報変更部５６とを備えている。
ここで、図１５に示される各部は、図１に示されるハードウェアを用いて実現される。
【０１３５】
ＰＩＮ記憶領域８１は、上述した第３の実施形態と同様に、認証用ＰＩＮの初期値を記憶する。
置換情報記憶領域８５は、置換処理情報を記憶する。ここで、置換処理情報には、認証用ＰＩＮのうちの所定の位置、供給情報の種類、及び供給情報に基づいて生成された所定の置換値の生成方法のうちの少なくとも１つを示す。また、供給情報は、ＩＣカード１ｃの取引を行う際に、外部装置２から供給される情報であり、供給情報の種類には、例えば、取引日付、取引時間帯、取引曜日、及び取引金額などが含まれる。
【０１３６】
ＰＩＮ生成部５１ｃは、外部装置２から供給された供給情報を所定のパラメータとして、当該供給情報と、所定のアルゴリズム（例えば、置換処理）と、認証用ＰＩＮの初期値とに基づいて、認証用ＰＩＮを生成する。ＰＩＮ生成部５１ｃは、例えば、認証用ＰＩＮの初期値の下位１桁と、供給情報である取引日付の下位１桁とを置換して認証用ＰＩＮを生成する。
【０１３７】
置換情報変更部５６（変更部の一例）は、認証部５２ｃが、カード利用者が正当であると判定した場合に、置換処理情報の変更要求に応じて、ＥＥＰＲＯＭ８ｃ（置換情報記憶領域８５）が記憶する置換処理情報を変更する。
【０１３８】
次に、図１６を参照して、本実施形態によるＩＣカード１ｃの動作の一例について説明する。
図１６は、本実施形態のＩＣカード１ｃの動作の一例を示すフローチャートである。
この図において、ステップＳ９０１及びステップＳ９０２の処理は、図５に示すステップＳ１０１及びステップＳ１０２の処理と同様であるので、ここではその説明を省略する。
【０１３９】
なお、ステップＳ９０２のコマンド分岐の処理において、制御部５０ｃは、受信したコマンドがＰＩＮを照合するコマンドである場合（ＰＩＮ照合）に、処理をステップＳ９０３に進める。また、制御部５０ｃは、受信したコマンドが置換処理情報の変更要求である場合（置換情報変更）に、処理をステップＳ９０６に進める。
【０１４０】
ステップＳ９０２において、制御部５０ｃのＰＩＮ生成部５１ｃは、置換処理情報に基づいて、認証用ＰＩＮを生成する。ＰＩＮ生成部５１ｃは、例えば、認証用ＰＩＮの初期値の下位１桁と、供給情報である取引日付の下位１桁とを置換して認証用ＰＩＮを生成する。
【０１４１】
次に、制御部５０ｃの認証部５２ｃは、取得ＰＩＮと、ＰＩＮ生成部５１ｃが生成した認証用ＰＩＮとを照合する（ステップＳ９０４）。
次に、制御部５０ｃは、ＰＩＮ照合結果を送信させる。すなわち、制御部５０ｃは、認証部５２ｃが照合した照合結果（認証結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ９０４の処理後に、制御部５０ｃは、処理をステップＳ９０１に戻し、次のコマンド受信を待つ。
【０１４２】
また、ステップＳ９０６において、制御部５０ｃの置換情報変更部５６は、利用者認証済（カードホルダーの認証済）であるか否かを判定する。置換情報変更部５６は、例えば、ＲＡＭ７内に、照合成功を示す情報が記憶されているか否かにより、カードホルダーの認証済であるか否かを判定する。置換情報変更部５６は、カードホルダーの認証済である場合（ステップＳ９０６：ＹＥＳ）に、処理をステップＳ９０７に進める。また、置換情報変更部５６は、カードホルダーの認証済でない場合（ステップＳ９０６：ＮＯ）に、処理をステップＳ９０８に進める。
【０１４３】
ステップＳ９０７において、置換情報変更部５６は、置換情報記憶領域８５が記憶する置換処理情報を変更する。すなわち、パラメータ変更部５３は、置換情報記憶領域８５が記憶する置換処理情報を、例えば、外部装置２を介してカードホルダーから取得した新しい置換処理情報に変更する。例えば、置換情報変更部５６は、カードホルダーから供給情報を取引日付から取引金額に変更する要求を取得した場合には、置換情報変更部５６は、認証用ＰＩＮを生成する供給情報を取引日付から取引金額に変更する情報を、置換処理情報として、置換情報記憶領域８５に記憶させる。
【０１４４】
また、ステップＳ９０８において、制御部５０ｃは、置換情報変更結果を送信させる。すなわち、制御部５０ｃは、置換情報変更部５６が、置換処理情報を変更した結果（置換情報変更結果）を、通信部４０にレスポンスとして外部装置２に向けて送信させる。ステップＳ９０８の処理後に、制御部５０ｃは、処理をステップＳ９０１に戻し、次のコマンド受信を待つ。
【０１４５】
次に、図１７を参照して、本実施形態によるＩＣカード１ｃの認証処理について説明する。
図１７は、実施形態のＩＣカード１ｃの認証処理の一例を示す図である。
この図において、ＩＣカード１ｃは、「ＰＩＮ」（認証用ＰＩＮの初期値）が“００１５”であり、「取引日付」が“Ｙ１Ｙ２Ｙ３Ｙ４Ｍ１Ｍ２Ｄ１Ｄ２”である供給情報が既に供給されている状態である。この図に示す例では、この状態を初期状態として認証処理を行う一例を説明する。なお、ここでの所定のアルゴリズムは、置換処理である。
【０１４６】
図１７において、カードホルダーＵ１が、外部装置２において、ＩＣカード１ｃを利用した取引処理を指定し、ＩＣカード１ｃを外部装置２に接続した場合に、外部装置２は、カードホルダーＵ１に対して、ＰＩＮ入力要求を出力する（ステップＳ１００１）。外部装置２は、例えば、表示部（不図示）のメニュー画面に、カードホルダーＵ１にＰＩＮの入力を促す表示を出力する。
【０１４７】
カードホルダーＵ１は、「取引日付」が“Ｙ１Ｙ２Ｙ３Ｙ４Ｍ１Ｍ２Ｄ１Ｄ２”であるので、例えば、この「取引日付」の最下位１桁の“Ｄ２”をＰＩＮの初期値の最下位１桁と置換して認証用ＰＩＮを生成する。すなわち、カードホルダーＵ１によって、外部装置２にＰＩＮ（例えば、“００１Ｄ２”）が入力されると（ステップＳ１００２）、外部装置２は、ＩＣカード１ｃに対して、ＰＩＮ照合要求を送信する（ステップＳ１００３）。すなわち、外部装置２は、取得ＰＩＮとして、例えば、“００２Ｄ２”を含むＰＩＮ照合のコマンドを、ＩＣカード１ｃに対して送信する。
【０１４８】
次に、ＩＣカード１ｃは、ＰＩＮ照合のコマンドに応じて、認証用ＰＩＮを生成する（ステップＳ１００４）。すなわち、ＰＩＮ生成部５１ｃは、認証用ＰＩＮの初期値と、すでに供給されている「取引日付」の最下位１桁の“Ｄ２”とに基づいて認証用ＰＩＮを生成する。ここでは、ＰＩＮ生成部５１ｃは、認証用ＰＩＮの初期値の最下位１桁と、「取引日付」の最下位１桁の“Ｄ２”とを置換処理して、認証用ＰＩＮとして“００１Ｄ２”を生成する。
【０１４９】
次に、ＩＣカード１ｃは、ＰＩＮ照合処理（例えば、“００１Ｄ２”の照合）を実行する（ステップＳ１００５）。ＩＣカード１ｃの認証部５２ｃは、例えば、取得ＰＩＮである“００１Ｄ２”と、生成した認証用ＰＩＮ“００１Ｄ２”とを照合する。なお、ここでは、認証部５２ｃは、取得ＰＩＮである“００１Ｄ２”と、生成した認証用ＰＩＮ“００１Ｄ２”とが一致するので、照合成功と判定する。
【０１５０】
次に、ＩＣカード１ｃは、ＰＩＮ照合結果を外部装置２に送信する（ステップＳ１００６）。すなわち、ＩＣカード１ｃの制御部５０ｃは、認証部５２ｃのＰＩＮ照合結果を通信部４０に送信させる。
このように、本実施形態によるＩＣカード１ｃは、供給情報が変化に応じて、認証用ＰＩＮを変更することができる。
【０１５１】
なお、上述した本実施形態では、所定のパラメータとして、取引日付を用いる例を説明したが、取引日付の代わりに、例えば、取引金額、曜日、時刻（時間帯）などを用いてもよい。また、所定のパラメータには、置換位置を示す情報や置換値の生成方法、供給情報の種類などを含めてもよい。また、所定のパラメータに、曜日や時刻（時間帯）を使用する場合には、ＰＩＮ生成部５１ｃは、曜日や時間帯と置換値とを対応付けた対応テーブルに基づいて、置換値を決定してもよい。また、ＰＩＮ生成部５１ｃは、取引金額の範囲に応じて、置換値を決定してもよい。
【０１５２】
以上説明したように、本実施形態によるＩＣカード１ｃでは、所定のパラメータは、外部装置２から供給される供給情報を含み、所定のアルゴリズムは、第１のパスワードのうちの所定の位置の値と、供給情報に基づいて生成された所定の置換値とを置換する置換処理を含む。ＰＩＮ生成部５１ｃは、この置換処理に基づいて認証用ＰＩＮを生成する。
これにより、本実施形態によるＩＣカード１ｃは、認証用ＰＩＮを動的データとして、認証処理を行うので、第１の実施形態と同様に、セキュリティを向上させることができる。
【０１５３】
また、本実施形態では、ＥＥＰＲＯＭ８ｃは、所定の位置、供給情報の種類、及び所定の置換値の生成方法のうちの少なくとも１つを示す置換処理情報を記憶する。ＩＣカード１ｃは、さらに、認証部５２ｃによってカード利用者が正当であると判定された場合に、置換処理情報の変更要求に応じて、ＥＥＰＲＯＭ８ｃが記憶する置換処理情報を変更する置換情報変更部５６を備える。
これにより、本実施形態によるＩＣカード１ｃは、例えば、定期的に、置換処理情報を変更することで、認証用ＰＩＮの生成アルゴリズムが第三者に判明する可能性を低減することができる。よって、本実施形態によるＩＣカード１ｃは、よりセキュリティを向上させることができる。
【０１５４】
（第５の実施形態）
次に、図１８を参照して、第５の実施形態によるＩＣカード１ｄについて説明する。
本実施形態は、ＩＣカード１ｄが、認証用ＰＩＮを生成（変更）するための所定のアルゴリズムを複数有しており、複数の所定のアルゴリズムのうちの１つを選択して、認証用ＰＩＮとして用いる場合の一例について説明する。
なお、本実施形態によるＩＣカード１ｄのハードウェア構成は、図１に示す第１の実施形態と同様であるので、ここではその説明を省略する。
【０１５５】
図１８は、本実施形態のＩＣカード１ｄの機能構成例を示すブロック図である。
この図に示すように、ＩＣカード１ｄは、ＥＥＰＲＯＭ８ｄと、通信部４０と、制御部５０ｄとを備えている。ＥＥＰＲＯＭ８ｄは、ＰＩＮ記憶領域８１と、パラメータ記憶領域８２と、ＰＩＮ初期値記憶領域８３と、選択情報記憶領域８６とを備えている。また、制御部５０ｄは、ＰＩＮ生成部５１ｄと、認証部５２と、置換情報変更部５６とを備えている。
ここで、図１８に示される各部は、図１に示されるハードウェアを用いて実現される。また、この図において、図２に示す機能構成と同一の構成については同一の符号を付し、その説明を省略する。
【０１５６】
選択情報記憶領域８６は、種類の異なる複数の所定のアルゴリズムのうちの１つを選択する選択情報を記憶する。選択情報記憶領域８６は、例えば、所定のアルゴリズムが加算処理である場合に“０１”を記憶し、所定のアルゴリズムが減算処理である場合に“０２”を記憶し、所定のアルゴリズムが置換処理である場合に“０３”を記憶する。
なお、本実施形態のパラメータ記憶領域８２は、複数の所定のアルゴリズムのそれぞれに対応するパラメータを記憶する。
【０１５７】
ＰＩＮ生成部５１ｄは、ＥＥＰＲＯＭ８ｄ（選択情報記憶領域８６）が記憶する選択情報に基づいて選択し、選択された当該所定のアルゴリズムに基づいて、認証用ＰＩＮを生成する。例えば、選択情報記憶領域８６が記憶する選択情報が“０１”である場合に、所定のアルゴリズムとして加算処理を選択し、加算処理により、認証用ＰＩＮを生成する。
【０１５８】
以上説明したように、本実施形態によるＩＣカード１ｄでは、ＥＥＰＲＯＭ８ｄは、種類の異なる複数の所定のアルゴリズムのうちの１つを選択する選択情報を記憶する。そして、ＰＩＮ生成部５１ｄは、ＥＥＰＲＯＭ８ｄが記憶する選択情報に基づいて複数の所定のアルゴリズムのうちの１つを選択し、選択した当該所定のアルゴリズムに基づいて、認証用ＰＩＮを生成する。
これにより、複数の所定のアルゴリズムのうちから、認証用ＰＩＮを生成するアルゴリズムを選択できるので、本実施形態によるＩＣカード１ｄは、認証用ＰＩＮの生成アルゴリズムが第三者に判明する可能性を低減することができる。よって、本実施形態によるＩＣカード１ｄは、よりセキュリティを向上させることができる。
【０１５９】
なお、本実施形態では、ＩＣカード１ｄは、認証部５２によってカードホルダーが正当であると判定された場合に、アルゴリズムの変更要求（例えば、アルゴリズム変更コマンド）に応じて、ＥＥＰＲＯＭ８ｄが記憶する選択情報を変更する変更部を備えるようにしてもよい。
これにより、定期的に、所定のアルゴリズムを変更するこができるので、本実施形態によるＩＣカード１ｄは、さらにセキュリティを向上させることができる。
【０１６０】
上記の各実施形態において、各実施形態を単独で実施する場合の例を説明したが、各実施形態を組み合わせて実施してもよい。
また、上記の各実施形態において、ＩＣカード１（１ａ〜１ｄ）は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８（８ａ〜８ｄ）を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１（１ａ）は、ＥＥＰＲＯＭ８（８ａ〜８ｄ）の代わりに、フラッシュＥＥＰＲＯＭ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
また、上記の各実施形態において、ＩＣカード１（１ａ〜１ｄ）は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【０１６１】
以上説明した少なくともひとつの実施形態によれば、は、予めＥＥＰＲＯＭ８（８ａ〜８ｄ）に記憶されている記憶ＰＩＮと、所定のパラメータと、所定のアルゴリズムとに基づいて、カードホルダーの認証用ＰＩＮを生成するＰＩＮ生成部５１（５１ａ〜５１ｄ）と、外部装置２から取得した取得ＰＩＮと、認証用ＰＩＮとを照合し、当該照合結果に基づいて、カードホルダーの正当性を判定する認証部５２（５２ａ〜５２c）とを持つことにより、セキュリティを向上させることができる。
【０１６２】
なお、実施形態におけるＩＣカード１（１ａ〜１ｄ）及び認証センタ装置２００が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード１（１ａ〜１ｄ）及び認証センタ装置２００が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１６３】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にＩＣカード１（１ａ〜１ｄ）及び認証センタ装置２００が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１６５】
１，１ａ，１ｂ，１ｃ，１ｄ…ＩＣカード、２…外部装置、３…コンタクト部、４…通信Ｉ／Ｆ部、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８，８ａ，８ｂ，８ｃ，８ｄ…ＥＥＰＲＯＭ、１０…ＩＣチップ、２０…ＩＣカードシステム、４０…通信部、５０，５０ａ，５０ｂ，５０ｃ，５０ｄ…制御部、５１，５１ａ，５０ｂ，５１ｃ，５１ｄ，２３１…ＰＩＮ生成部、５２，５２ａ，５２ｂ，５２ｃ…認証部、５３，２３３…パラメータ変更部、５４，５４ａ，５４ｂ，２３４…初期化処理部、５５…回数情報処理部、５６…置換情報変更部、８１…ＰＩＮ記憶領域、８２…パラメータ記憶領域、８３…ＰＩＮ初期値記憶領域、８４…回数情報記憶領域、８５…置換情報記憶領域、８６…選択情報記憶領域、１００…ＩＣモジュール、２００…認証センタ装置、２１０…センタ通信部、２２０…センタ記憶部、２２１…カード情報記憶部、２３０…センタ制御部、２３２…センタ認証部、２３５…同期処理部、ＮＷ…ネットワーク、Ｕ１…カードホルダー
【図１】
2016045699.tif 000003
【図２】
2016045699.tif 000004
【図３】
2016045699.tif 000005
【図４】
2016045699.tif 000006
【図５】
2016045699.tif 000007
【図６】
2016045699.tif 000008
【図７】
2016045699.tif 000009
【図８】
2016045699.tif 000010
【図９】
2016045699.tif 000011
【図１０】
2016045699.tif 000012
【図１１】
2016045699.tif 000013
【図１２】
2016045699.tif 000014
【図１３】
2016045699.tif 000015
【図１４】
2016045699.tif 000016
【図１５】
2016045699.tif 000017
【図１６】
2016045699.tif 000018
【図１７】
2016045699.tif 000019
【図１８】
2016045699.tif 000020