(57)【要約】【課題】セキュリティを向上させることができるＩＣカード、ＩＣカードシステム、サーバ装置、及びプログラムを提供することである。【解決手段】実施形態のＩＣカードは、通信部と、鍵情報記憶部と、鍵選択部と、処理部とを持つ。通信部は、端末装置と通信する。鍵情報記憶部は、複数の共通鍵を記憶する。鍵選択部は、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する。処理部は、前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う。【選択図】図３
2018182655.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と通信する通信部と、
複数の共通鍵を記憶する鍵情報記憶部と、
前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理部と
を備えるＩＣカード。
【請求項２】
前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
前記鍵選択部は、乱数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
前記処理部は、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
請求項１に記載のＩＣカード。
【請求項３】
前記鍵情報記憶部は、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
前記鍵選択部は、前記取引が実行された取引回数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
前記処理部は、前記実行された取引回数示す取引回数情報を前記鍵特定情報として、前記通信部に送信させる
請求項１に記載のＩＣカード。
【請求項４】
前記鍵情報記憶部は、１つの前記鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されており、
前記鍵選択部は、前記実行された取引回数及び前記鍵バージョン情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
前記処理部は、前記取引回数情報及び前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
請求項３に記載のＩＣカード。
【請求項５】
前記処理部は、
前記通信部によって、第１の取引認証コマンドを受信した場合に、前記第１の取引認証コマンドに含まれる取引情報と、前記選択された共通鍵とに基づく暗号処理により、第１認証情報を生成し、生成した当該第１認証情報と、前記鍵特定情報とを含む応答を、前記通信部に送信させ、
前記サーバ装置で前記第１認証情報を認証した認証結果情報、及び前記サーバ装置で生成された第２認証情報を含む第２の取引認証コマンドを、前記通信部によって受信した場合に、前記第２の取引認証コマンドに含まれる前記認証結果情報と、前記選択された共通鍵とに基づく暗号処理により、前記第２認証情報を認証する
請求項１から請求項４のいずれか一項に記載のＩＣカード。
【請求項６】
前記取引認証は、クレジットカードの決済取引における認証である
請求項１から請求項５のいずれか一項に記載のＩＣカード。
【請求項７】
端末装置と通信する通信部と、
複数の共通鍵を記憶する鍵情報記憶部と、
前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理部と
を備えるＩＣモジュールと、
前記ＩＣモジュールが埋め込まれたカード本体と
を備えるＩＣカード。
【請求項８】
端末装置と通信する通信部と、
複数の共通鍵を記憶する第１鍵情報記憶部と、
前記第１鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理部と
を備えるＩＣカードと、
複数の共通鍵を記憶する第２鍵情報記憶部と、
前記ＩＣカードと自装置との間で取引を認証する前記取引認証を行う際に、前記端末装置を経由して前記ＩＣカードから受信した前記鍵特定情報に基づいて、前記第２鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、前記取引認証を行う取引制御部と
を備える前記サーバ装置と
を備えるＩＣカードシステム。
【請求項９】
ＩＣカードと通信可能な端末装置にネットワークを経由して接続されたサーバ装置であって、
複数の共通鍵を記憶する鍵情報記憶部と、
前記ＩＣカードと自装置との間で取引を認証する取引認証を行う際に、前記端末装置を経由して前記ＩＣカードから受信した、共通鍵を特定する鍵特定情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、前記取引認証を行う取引制御部と
を備えるサーバ装置。
【請求項１０】
端末装置と通信する通信部と、複数の共通鍵を記憶する鍵情報記憶部とを備えるＩＣカードのコンピュータに、
前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択ステップと、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択ステップによって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択ステップによって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理ステップと
を実行させるためのプログラム。
【請求項１１】
ＩＣカードと通信可能な端末装置にネットワークを経由して接続されたサーバ装置であって、複数の共通鍵を記憶する鍵情報記憶部を備えるサーバ装置のコンピュータに、
前記ＩＣカードと自装置との間で取引を認証する取引認証を行う際に、前記端末装置を経由して前記ＩＣカードから受信した、共通鍵を特定する鍵特定情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択ステップと、
選択した当該共通鍵に基づく暗号処理によって、前記取引認証を行う取引制御ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、ＩＣカードシステム、サーバ装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）チップを内蔵したＩＣカードが広く使用されている。例えば、ＥＭＶ仕様に代表される金融ＩＣカードの決済システムでは、決済取引において、カード発行会社のホストサーバ装置であるイシュアホストとＩＣカードとの間で共有される共通鍵を使用して、取引認証が実行される。そのため、金融ＩＣカードの決済システムでは、共通鍵に対するセキュリティの強化が求められており、従来のＩＣカードでは、不十分な場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６９１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、セキュリティを向上させることができるＩＣカード、ＩＣカードシステム、サーバ装置、及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態のＩＣカードは、通信部と、鍵情報記憶部と、鍵選択部と、処理部とを持つ。通信部は、端末装置と通信する。鍵情報記憶部は、複数の共通鍵を記憶する。鍵選択部は、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する。処理部は、前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理によって、前記取引認証を行う。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードの外観例、及びＩＣカードシステムの構成例を示す図。
【図２】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図３】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図４】第１の実施形態の鍵情報記憶部のデータ例を示す図。
【図５】第１の実施形態のイシュアホスト及び端末装置の機能構成例を示すブロック図。
【図６】第１の実施形態のイシュアホストの鍵情報記憶部のデータ例を示す図。
【図７】第１の実施形態のＩＣカードの鍵選択処理の一例を示すフローチャート。
【図８】第１の実施形態のＩＣカードのGENERATE ACコマンドの処理の一例を示すフローチャート。
【図９】第１の実施形態のＩＣカードシステムの取引認証処理の一例を示すフローチャート。
【図１０】第２の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１１】第２の実施形態の鍵情報記憶部のデータ例を示す図。
【図１２】第２の実施形態のＩＣカードの鍵選択処理の一例を示すフローチャート。
【図１３】第３の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１４】第３の実施形態の鍵情報記憶部のデータ例を示す図。
【図１５】第３の実施形態のＩＣカードの鍵選択処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態のＩＣカード、ＩＣカードシステム、サーバ装置、及びプログラムを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の外観例、及びＩＣカードシステム２００の構成例を示す図である。
図１に示すように、ＩＣカードシステム２００は、ＩＣカード１と、端末装置２と、イシュアホスト９とを備える。また、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、コンタクト部３と、内部にＩＣチップ１００とを備える。
【０００９】
端末装置２と、イシュアホスト９とは、ネットワークＮＴを介して接続され、ＩＣカード１は、端末装置２を介してイシュアホスト９との間で通信を行う。なお、端末装置２及びイシュアホスト９の構成の詳細については後述する。
【００１０】
ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備える。また、ＩＣカード１は、コンタクト部３を介して端末装置２と通信可能である。
【００１１】
ＩＣカード１は、例えば、端末装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を端末装置２にコンタクト部３を介して送信する。
【００１２】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１３】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを端末装置２から供給を受ける端子、及び、端末装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。
ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１４】
次に、図２を参照して、本実施形態のＩＣカード１のハードウェア構成について説明する。
図２は、本実施形態のＩＣカード１のハードウェア構成例を示す図である。
図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備える。また、各構成（４から８）は、内部バスＢＳ１を介して接続されている。
【００１５】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、端末装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して端末装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを端末装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを端末装置２に送信する。
【００１６】
ＣＰＵ５（ハードウェアプロセッサの一例）は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１７】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１８】
ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
【００１９】
次に、図３を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図３は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
図３に示すように、ＩＣカード１は、通信部４０と、制御部５０と、取引回数記憶部８１と、鍵情報記憶部８２と、ＰＩＮ情報記憶部８３とを備える。
ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００２０】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、端末装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を端末装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を端末装置２に送信する。通信部４０は、ＵＡＲＴ４を介して端末装置２から受信した受信データをＲＡＭ７に記憶させる。また、通信部４０は、ＲＡＭ７に記憶されている送信データを、ＵＡＲＴ４を介して端末装置２に送信する。
【００２１】
取引回数記憶部８１は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。取引回数記憶部８１は、例えば、クレジットカードの決済処理の取引回数（例えば、ＡＴＣ（Application Transaction Counter））を記憶する。なお、取引回数は、取引を開始するコマンドであるGET PROCESSING OPTIONSコマンドにより、“１”が加算されて更新される。
【００２２】
鍵情報記憶部８２（第１鍵情報記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。鍵情報記憶部８２は、複数の共通鍵を記憶する。ここで、共通鍵は、クレジットカードの決済処理の取引認証に使用される暗号鍵であり、イシュアホスト９と共有される。鍵情報記憶部８２は、例えば、鍵バージョン情報と、共通鍵とを対応付けて記憶する。ここで、図４を参照して、鍵情報記憶部８２のデータ例について説明する。
【００２３】
図４は、本実施形態の鍵情報記憶部８２のデータ例を示す図である。
図４に示すように、鍵情報記憶部８２は、「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここで、「鍵番号」は、共通鍵の識別番号であり、「鍵バージョン」は、更新された鍵を識別する鍵バージョン情報である。また、「鍵の値」は、共通鍵の値を示している。鍵情報記憶部８２は、このような「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
【００２４】
図４に示す例では、「鍵番号」が“０”に対応する「鍵バージョン」が“Ａ”であり、「鍵の値」が“α”であることを示している。また、「鍵番号」が“１”に対応する「鍵バージョン」が“Ｂ”であり、「鍵の値」が“β”であることを示している。なお、本実施形態の鍵情報記憶部８２では、１つの「鍵バージョン」（鍵バージョン情報）には、１つの「鍵の値」が対応付けられている。
【００２５】
図３の説明に戻り、ＰＩＮ情報記憶部８３は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。ＰＩＮ情報記憶部８３は、カード使用者（カードホルダ）を認証するパスワードであるＰＩＮ（Personal Identification Number）を記憶する。
【００２６】
制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、鍵選択部５１と、コマンド処理部５２とを備える。
【００２７】
鍵選択部５１は、鍵情報記憶部８２が記憶する複数の共通鍵のうちから、共通鍵を選択する。鍵選択部５１は、例えば、乱数に基づいて、鍵情報記憶部８２が記憶する複数の共通鍵のうちから共通鍵を選択する。具体的に、鍵選択部５１は、乱数を取得し、取得した乱数を上述した「鍵番号」の総数で割った余り値（すなわち、乱数の「鍵番号」の総数による剰余値）を算出し、当該余り値に等しい「鍵番号」に対応する共通鍵を鍵情報記憶部８２から選択する。なお、乱数は、ハードウェアの乱数生成器（不図示）により生成されてもよいし、制御部５０による疑似乱数の演算により生成されてもよい。
【００２８】
コマンド処理部５２（処理部の一例）は、各種コマンド処理を実行する。コマンド処理部５２は、例えば、後述するGENERATE ACコマンド処理として、取引認証を行う際に、鍵選択部５１によって選択された共通鍵を特定する鍵特定情報を通信部４０により送信し、選択された共通鍵に基づく暗号処理によって、取引認証を行う。ここで、取引認証とは、クレジットカードの決済処理において実行される認証処理であり、端末装置２にネットワークを経由して接続されたイシュアホスト９とＩＣカード１との間で、互いの正当性、及び取引内容の正当性などを確認して取引を実行する認証処理である。
【００２９】
また、本実施形態では、コマンド処理部５２は、GENERATE ACコマンド処理のレスポンスを送信する際に、選択された共通鍵に対応付けられた鍵バージョン情報を鍵特定情報として、端末装置２を介して、イシュアホスト９に送信する。コマンド処理部５２は、鍵情報記憶部８２が記憶する複数の共通鍵のうちから、鍵選択部５１が選択した共通鍵に対応付けられている鍵バージョン情報を取得し、取得した鍵バージョン情報を鍵特定情報として、端末装置２に送信する。
【００３０】
なお、取引認証は、２回のGENERATE ACコマンド処理に分けて実行される。例えば、コマンド処理部５２は、通信部４０によって、１回目のGENERATE ACコマンド（第１の取引認証コマンド）を受信した場合に、１回目のGENERATE ACコマンドに含まれる取引情報と、選択された共通鍵とに基づく暗号処理により、演算結果ＭＡＣ１（第１認証情報）を生成する。コマンド処理部５２は、生成した当該演算結果ＭＡＣ１と、鍵バージョン情報と、取引回数（ＡＴＣ）などの情報とを含むレスポンス（応答）を、通信部４０により送信する。
【００３１】
また、２回目のGENERATE ACコマンド（第２の取引認証コマンド）には、イシュアホスト９で演算結果ＭＡＣ１を認証した認証結果情報、及びイシュアホスト９で生成された演算結果ＭＡＣ３（第２認証情報）などが含まれる。コマンド処理部５２は、２回目のGENERATE ACコマンドを通信部４０によって受信した場合に、２回目のGENERATE ACコマンドに含まれる認証結果情報と、鍵選択部５１により選択された共通鍵とに基づく暗号処理により、演算結果ＭＡＣ３（第２認証情報）を認証する。
【００３２】
例えば、コマンド処理部５２は、２回目のGENERATE ACコマンドに含まれる情報と、選択された共通鍵とに基づく暗号処理により、演算結果ＭＡＣ４を生成する。コマンド処理部５２は、例えば、生成した演算結果ＭＡＣ４と、受信した演算結果ＭＡＣ３（第２認証情報）とが一致するか否かを認証することで、イシュアホスト９の正当性、及び当該取引の正当性を確認する。
なお、コマンド処理部５２によるGENERATE ACコマンド処理の詳細については後述する。
【００３３】
また、コマンド処理部５２は、取引回数を更新するGET PROCESSING OPTIONSコマンド、ＩＣカード１内の情報を読み出すREAD RECORDコマンド、及びＰＩＮ照合によりカード使用者の本人確認を行うVERIFYコマンドなどの各種コマンド処理を実行する。
【００３４】
次に、図５を参照して、端末装置２及びイシュアホスト９の構成について説明する。
図５は、本実施形態のイシュアホスト９及び端末装置２の機能構成例を示すブロック図。
図５に示すように、端末装置２は、ネットワークＮＴを介して、イシュアホスト９と接続されており、リーダライタ２１と、入力部２２と、表示部２３と、ＮＷ（ネットワーク）通信部２４と、端末制御部２５とを備える。端末装置２は、例えば、クレジットカード決済端末である。
【００３５】
リーダライタ２１は、ＩＣカード１のコンタクト部３を介して、ＩＣカード１の間の通信を行う。
入力部２２は、例えば、キーボードやタッチパネルなどであり、端末装置２を操作する各種操作情報や、ＰＩＮなどの各種入力情報を受け付ける。
【００３６】
表示部２３は、例えば、液晶ディスプレイなどであり、各種操作画面や各種メッセージ、入力情報などを表示する。
ＮＷ通信部２４は、ネットワークＮＴに接続され、ネットワークＮＴを介して、イシュアホスト９と通信を行う。
【００３７】
端末制御部２５は、例えば、ＣＰＵなどを含むプロセッサであり、端末装置２を統括的に制御する。端末制御部２５は、例えば、リーダライタ２１を介して、ＩＣカード１にコマンドを送信するとともに、ＩＣカード１からレスポンスを受信する。また、端末制御部２５は、ＩＣカード１から受信したレスポンスに基づく情報を、ＮＷ通信部２４を介して、イシュアホスト９に送信する。また、端末制御部２５は、ＮＷ通信部２４を介して、イシュアホスト９から受信した情報に基づいて、ＩＣカード１にコマンドを送信する。
【００３８】
イシュアホスト９（サーバ装置の一例）は、例えば、カード発行会社のサーバ装置であり、ＩＣカード１と通信可能な端末装置２にネットワークＮＴを経由して接続されている。イシュアホスト９は、ＮＷ通信部９１と、ホスト記憶部９２と、ホスト制御部９３とを備える。
【００３９】
ＮＷ通信部９１は、ネットワークＮＴに接続され、ネットワークＮＴを介して、端末装置２と通信を行う。
ホスト記憶部９２は、イシュアホスト９が利用する各種情報を記憶する。ホスト記憶部９２は、鍵情報記憶部９２１を備える。
【００４０】
鍵情報記憶部９２１（第２鍵情報記憶部の一例）は、複数の共通鍵を記憶する。ここで、鍵情報記憶部９２１には、上述したＩＣカード１の鍵情報記憶部８２が記憶する共通鍵と同一の複数の共通鍵が予め記憶されているものとする。鍵情報記憶部９２１は、例えば、鍵バージョン情報と、共通鍵とを対応付けて記憶する。ここで、図６を参照して、鍵情報記憶部８２のデータ例について説明する。
【００４１】
図６は、本実施形態のイシュアホスト９の鍵情報記憶部９２１のデータ例を示す図である。
図６に示すように、鍵情報記憶部９２１は、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここでの「鍵バージョン」及び「鍵の値」は、図４と同様である。鍵情報記憶部９２１は、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
【００４２】
図６に示す例では、「鍵バージョン」が“Ａ”に対応する「鍵の値」が“α”であることを示している。また、「鍵バージョン」が“Ｂ”に対応する「鍵の値」が“β”であることを示している。なお、鍵情報記憶部９２１では、「鍵バージョン」（鍵バージョン情報）から「鍵の値」（共通鍵）が検索可能になっている。
【００４３】
図５に戻り、ホスト制御部９３（取引制御部の一例）は、例えば、ＣＰＵなどを含むプロセッサ（ハードウェアプロセッサの一例）であり、イシュアホスト９を統括的に制御する。ホスト制御部９３は、例えば、ＩＣカード１と自装置との間で取引を認証する取引認証を行う際に、ＮＷ通信部９１を介して、端末装置２を経由してＩＣカード１から受信した鍵バージョン情報に基づいて、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから、共通鍵を選択する。また、ホスト制御部９３は、選択した当該共通鍵に基づく暗号処理によって、取引認証を行う。
【００４４】
ホスト制御部９３は、例えば、ＩＣカード１から端末装置２を介して受信した演算結果ＭＡＣ１（第１認証情報）を、選択した共通鍵に基づく暗号処理により認証する。具体的に、ホスト制御部９３は、ＩＣカード１から受信した取引情報などの情報と、選択した共通鍵とに基づく暗号処理により、ＩＣカード１が生成した演算結果ＭＡＣ１の生成方法と同様に、演算結果ＭＡＣ２を生成する。ホスト制御部９３は、生成した演算結果ＭＡＣ２と、ＩＣカード１から受信した演算結果ＭＡＣ１とが一致するか否かを認証することで、ＩＣカード１の正当性、及び当該取引情報の正当性を確認する。
【００４５】
また、ホスト制御部９３は、演算結果ＭＡＣ１を認証した認証結果情報などの情報と、選択した共通鍵とに基づく暗号処理により、演算結果ＭＡＣ３（第２認証情報）を生成する。ホスト制御部９３は、生成した演算結果ＭＡＣ３（第２認証情報）、及び認証結果情報を、ＮＷ通信部９１を介して、端末装置２に送信する。
また、ホスト制御部９３は、ＮＷ通信部９１を介して、端末装置２から取引認証の完了情報（例えば、取引成立確認を示すＴＣ（Transaction Certificate））を受信し、ホスト記憶部９２に記憶させる。
【００４６】
次に、図面を参照して、本実施形態のＩＣカード１及びＩＣカードシステム２００の動作について説明する。
図７は、本実施形態のＩＣカード１の鍵選択処理の一例を示すフローチャートである。
図７に示すように、ＩＣカード１は、共通鍵を選択する際に、まず、乱数を生成する（ステップＳ１０１）。例えば、ＩＣカード１が備える不図示の乱数生成器、又は制御部５０が、乱数を生成する。
【００４７】
次に、ＩＣカード１の鍵選択部５１は、乱数を鍵番号に変換する（ステップＳ１０２）。鍵選択部５１は、乱数を取得し、取得した乱数を、鍵番号の総数で割った余り値を算出し、この余り値を鍵番号とする。
【００４８】
次に、鍵選択部５１は、鍵番号に基づいて、鍵バージョン（鍵バージョン情報）、及び共通鍵を選択する（ステップＳ１０３）。例えば、乱数から変換した鍵番号が“１”である場合に、図４に示す鍵情報記憶部８２のデータ例では、鍵選択部５１は、「鍵バージョン」の“Ｂ”及び「鍵の値」（共通鍵）の“β”を選択する。ステップＳ１０３の処理後に、鍵選択部５１は、鍵選択処理を終了する。
【００４９】
次に、図８を参照して、本実施形態のＩＣカード１のGENERATE ACコマンド処理について説明する。
図８は、本実施形態のＩＣカード１のGENERATE ACコマンドの処理の一例を示すフローチャートである。
【００５０】
ＩＣカード１のコマンド処理部５２は、通信部４０を介して受信したコマンドが、GENERATE ACコマンドである場合に、図８に示す処理を開始する。
コマンド処理部５２は、まず、１回目のGENERATE ACコマンドの実行であるか否かを判定する（ステップＳ２０１）。コマンド処理部５２は、１回目の実行である場合（ステップＳ２０１：ＹＥＳ）に、処理をステップＳ２０２に進める。また、コマンド処理部５２は、１回目の実行でない（２回目の実行である）場合（ステップＳ２０１：ＮＯ）に、処理をステップＳ２０９に進める。
【００５１】
ステップＳ２０２において、コマンド処理部５２は、リスク管理処理を実行する。コマンド処理部５２は、GENERATE ACコマンドに含まれる取引情報、前回の取引結果、オフライン処理及びオンライン処理の取引履歴などに基づいて、当該取引を行ってもよいかのリスク管理を行う。ここで、取引情報には、取引金額、取引日時などの取引内容が含まれる。
【００５２】
次に、コマンド処理部５２は、オンライン処理を行うか否かを判定する（ステップＳ２０３）。コマンド処理部５２は、リスク管理処理の結果を基づいて、オンライン処理を行うか否かを判定する。ここで、オンライン処理とは、イシュアホスト９との間で認証処理を行うことである。また、イシュアホスト９との間で認証処理を行わない場合の取引処理を、オフライン処理という。コマンド処理部５２は、オンライン処理を行う場合（ステップＳ２０３：ＹＥＳ）に、処理をステップＳ２０４に進める。また、コマンド処理部５２は、オンライン処理を行なわない（オフライン処理である）場合（ステップＳ２０３：ＮＯ）に、処理をステップＳ２０６に進める。
【００５３】
ステップＳ２０４において、コマンド処理部５２は、受信した取引情報を、鍵選択部５１が選択した共通鍵で暗号演算して演算結果ＭＡＣ１を生成する。なお、コマンド処理部５２は、取引情報及び取引回数（ＡＴＣ）を含む情報と、共通鍵とに基づいて、演算結果ＭＡＣ１を生成する。
【００５４】
次に、コマンド処理部５２は、演算結果ＭＡＣ１、鍵バージョン、取引回数（ＡＴＣ）を含むレスポンスを端末装置２に送信する（ステップＳ２０５）。コマンド処理部５２は、通信部４０を介して、生成した演算結果ＭＡＣ１をＡＲＱＣ（Application Request Cryptogram）として、取引回数（ＡＴＣ）及び鍵バージョンとともに、端末装置２に送信する。ステップＳ２０５の処理後に、コマンド処理部５２は、GENERATE ACコマンド処理を終了する。
【００５５】
また、ステップＳ２０６において、コマンド処理部５２は、取引を承認するか否かを判定する。すなわち、コマンド処理部５２は、リスク管理処理の結果を基づいて、オフライン処理による取引を承認するか否かを判定する。コマンド処理部５２は、オフライン処理による取引を承認する場合（ステップＳ２０６：ＹＥＳ）に、処理をステップＳ２０７に進める。また、コマンド処理部５２は、オフライン処理による取引を承認しない場合（ステップＳ２０６：ＮＯ）に、処理をステップＳ２０８に進める。
【００５６】
ステップＳ２０７において、コマンド処理部５２は、取引承認情報を含むレスポンスを端末装置２に送信する。コマンド処理部５２は、取引履歴などを更新し、オフライン処理による取引のＴＣなどの取引承認情報を含むレスポンスを、通信部４０を介して、端末装置２に送信する。ステップＳ２０７の処理後に、コマンド処理部５２は、GENERATE ACコマンド処理を終了する。
【００５７】
また、ステップＳ２０８において、コマンド処理部５２は、取引を承認しない情報を含むレスポンスを端末装置２に送信する。コマンド処理部５２は、取引履歴などを更新し、オフライン処理による取引を承認しない情報を含むレスポンスを、通信部４０を介して、端末装置２に送信する。ステップＳ２０８の処理後に、コマンド処理部５２は、GENERATE ACコマンド処理を終了する。
【００５８】
また、２回目のGENERATE ACコマンド処理であるステップＳ２０９において、コマンド処理部５２は、リスク管理処理を実行する。コマンド処理部５２は、GENERATE ACコマンドに含まれる取引情報、前回の取引結果、オフライン処理の取引履歴などに基づいて、当該取引を行ってもよいかのリスク管理を再度行う。
【００５９】
次に、コマンド処理部５２は、受信した結果情報を、鍵選択部５１が選択した共通鍵で暗号演算して演算結果ＭＡＣ４を生成する（ステップＳ２１０）。コマンド処理部５２は、例えば、前回送信したＡＲＱＣ、及び、受信した承認結果情報であるＡＲＣ（Authorization Response Code）などの情報と、共通鍵とに基づいて、演算結果ＭＡＣ４を生成する。
【００６０】
次に、コマンド処理部５２は、取引を承認するか否か（ＭＡＣ３＝ＭＡＣ４？）を判定する（ステップＳ２１１）。コマンド処理部５２は、受信したＡＲＰＣ（Application Response Cryptogram）である演算結果ＭＡＣ３と、演算結果ＭＡＣ４とが一致するか否かを判定する。コマンド処理部５２は、演算結果ＭＡＣ３と、演算結果ＭＡＣ４とが一致する場合（ステップＳ２１１：ＹＥＳ）に、処理をステップＳ２１２に進める。また、コマンド処理部５２は、演算結果ＭＡＣ３と、演算結果ＭＡＣ４とが一致しない場合（ステップＳ２１１：ＮＯ）に、処理をステップＳ２１３に進める。
【００６１】
ステップＳ２１２において、コマンド処理部５２は、取引承認情報を含むレスポンスを端末装置２に送信する。コマンド処理部５２は、取引履歴などを更新し、オンライン処理による取引のＴＣなどの取引承認情報を含むレスポンスを、通信部４０を介して、端末装置２に送信する。ステップＳ２１２の処理後に、コマンド処理部５２は、GENERATE ACコマンド処理を終了する。
【００６２】
また、ステップＳ２１３において、コマンド処理部５２は、取引を承認しない情報を含むレスポンスを端末装置２に送信する。コマンド処理部５２は、取引履歴などを更新し、オンライン処理による取引を承認しない情報を含むレスポンスを、通信部４０を介して、端末装置２に送信する。ステップＳ２１３の処理後に、コマンド処理部５２は、GENERATE ACコマンド処理を終了する。
【００６３】
次に、図９を参照して、本実施形態のＩＣカードシステム２００の取引認証処理について説明する。
図９は、本実施形態のＩＣカードシステム２００の取引認証処理の一例を示すフローチャートである。
【００６４】
図９に示すように、まず、端末装置２は、ＩＣカード１にSELECTコマンドをＩＣカード１に送信する（ステップＳ３０１）。端末装置２の端末制御部２５は、リーダライタ２１を介して、ＩＣカード１を活性化した後に、今回の取引に使用するアプリケーション（例えば、クレジット決済など）を選択するSELECTコマンドをＩＣカード１に送信する。
【００６５】
次に、ＩＣカード１は、SELECTコマンドに対するレスポンスを端末装置２に送信する（ステップＳ３０２）。ＩＣカード１のコマンド処理部５２は、対象のアプリケーションを選択し、選択が成功したことを示すステータスバイトを含むレスポンスを、通信部４０を介して端末装置２に送信する。
【００６６】
次に、端末装置２は、ＩＣカード１にGET PROCESSING OPTIONSコマンドを送信する（ステップＳ３０３）。端末制御部２５は、リーダライタ２１を介して、取引を開始するコマンドであるGET PROCESSING OPTIONSコマンドをＩＣカード１に送信する。
【００６７】
次に、ＩＣカード１は、GET PROCESSING OPTIONSコマンドに対するレスポンスを端末装置２に送信する（ステップＳ３０４）。コマンド処理部５２は、取引回数記憶部８１が記憶する取引回数（ＡＴＣ）をインクリメントして更新し、例えば、ＡＩＰ（Application Inter change Profile）及びＡＦＬ（Application File Locator）などの情報と、ステータスバイトとを含むレスポンスを、通信部４０を介して端末装置２に送信する。
【００６８】
次に、端末装置２は、受信したＡＩＰ及びＡＦＬを確認し、カード内に設定されたデータを読み出すREAD RECORDコマンドをＩＣカード１に送信する（ステップＳ３０５）。端末制御部２５は、リーダライタ２１を介して、ＡＩＰ及びＡＦＬに基づく、各種データを読み出すREAD RECORDコマンドをＩＣカード１に送信する。
【００６９】
次に、ＩＣカード１は、READ RECORDコマンドに対するレスポンスを端末装置２に送信する（ステップＳ３０６）。コマンド処理部５２は、READ RECORDコマンドにより指定された情報（例えば、ＣＤＯＬ（Card Risk Management Data Object List）など）を読み出し、当該情報及びステータスバイトを含むレスポンスを、通信部４０を介して端末装置２に送信する。
なお、ステップＳ３０５及びステップＳ３０６の処理は、必要に応じて複数回実行される。
【００７０】
次に、端末装置２は、VERIFYコマンドをＩＣカード１に送信する（ステップＳ３０７）。端末制御部２５は、入力部２２を介して取得した暗証番号ＰＩＮを含むVERIFYコマンドを、リーダライタ２１を介して、ＩＣカード１に送信して、カード使用者の本人確認を行う。
【００７１】
次に、ＩＣカード１は、VERIFYコマンドに対するレスポンスを端末装置２に送信する（ステップＳ３０８）。コマンド処理部５２は、VERIFYコマンドに含まれるＰＩＮと、ＰＩＮ情報記憶部８３が記憶するＰＩＮとが一致するか否かにより、カード使用者の本人確認（ＰＩＮ照合）を実行する。コマンド処理部５２は、当該確認結果のステータスバイトを含むレスポンスを、通信部４０を介して端末装置２に送信する。
【００７２】
次に、端末装置２は、GENERATE ACコマンド（１回目）をＩＣカード１に送信する（ステップＳ３０９）。端末制御部２５は、READ RECORDコマンドで読み出したＣＤＯＬに基づいて、取引情報を含むGENERATE ACコマンドを、リーダライタ２１を介して、ＩＣカード１に送信する。
【００７３】
次に、ＩＣカード１は、GENERATE ACコマンド（１回目）に対するレスポンスを端末装置２に送信する（ステップＳ３１０）。コマンド処理部５２は、上述した図８に示すGENERATE ACコマンド処理（ステップＳ２０２からステップＳ２０８の処理）を実行する。コマンド処理部５２は、生成した演算結果ＭＡＣ１であるＡＲＱＣ、取引回数（ＡＴＣ）、鍵バージョン、及びステータスバイトを含むレスポンスを、通信部４０を介して端末装置２に送信する。
【００７４】
次に、端末装置２は、取引承認要求をイシュアホスト９に送信する（ステップＳ３１１）。端末制御部２５は、ＩＣカード１から受信した、演算結果ＭＡＣ１、取引回数（ＡＴＣ）、鍵バージョンに、取引情報を付加した情報を取引承認要求として、ＮＷ通信部２４を介して、イシュアホスト９に送信する。
【００７５】
次に、イシュアホスト９は、鍵選択処理を実行する（ステップＳ３１２）。イシュアホスト９のホスト制御部９３は、ＩＣカード１から端末装置２を経由して受信した鍵バージョンに基づいて、共通鍵を選択する。すなわち、ホスト制御部９３は、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから、受信した鍵バージョンに対応する共通鍵を選択する。
【００７６】
次に、イシュアホスト９は、取引認証処理を実行する（ステップＳ３１３）。ホスト制御部９３は、ＩＣカード１から受信した取引情報と、選択した共通鍵とに基づく暗号処理により、演算結果ＭＡＣ２を生成する。ホスト制御部９３は、生成した演算結果ＭＡＣ２と、ＩＣカード１から受信した演算結果ＭＡＣ１とが一致するか否かを判定する。
【００７７】
次に、イシュアホスト９は、認証結果を端末装置２に送信する（ステップＳ３１４）。ホスト制御部９３は、上述した取引認証処理の判定結果を含む認証結果情報と、選択した共通鍵とに基づく暗号処理により、演算結果ＭＡＣ３をＡＲＰＣとして生成する。ホスト制御部９３は、承認結果情報と、演算結果ＭＡＣ３とを含む認証結果を、ＮＷ通信部９１を介して端末装置２に送信する。
【００７８】
次に、端末装置２は、GENERATE ACコマンド（２回目）をＩＣカード１に送信する（ステップＳ３１５）。端末制御部２５は、イシュアホスト９からＮＷ通信部２４を介して受信した、認証結果情報、及び演算結果ＭＡＣ３を含むGENERATE ACコマンドを、リーダライタ２１を介して、ＩＣカード１に送信する。
【００７９】
次に、ＩＣカード１は、GENERATE ACコマンド（２回目）に対するレスポンスを端末装置２に送信する（ステップＳ３１６）。コマンド処理部５２は、上述した図８に示すGENERATE ACコマンド処理（ステップＳ２０９からステップＳ２１３の処理）を実行する。コマンド処理部５２は、生成した取引承認情報（例えば、ＴＣなど）、及びステータスバイトを含むレスポンスを、通信部４０を介して端末装置２に送信する。
【００８０】
次に、端末装置２は、取引承認情報をイシュアホスト９に送信する（ステップＳ３１７）。端末制御部２５は、ＩＣカード１から受信した取引承認情報を、ＮＷ通信部２４を介して、イシュアホスト９に送信する。これにより、決済処理の取引認証及び取引が完了する。
なお、上述したフローにおいて、ＩＣカード１の鍵選択部５１は、ステップＳ３０３からステップＳ３１０の間において、鍵情報記憶部８２が記憶する複数の共通鍵のうちから共通鍵を選択する処理を実行する。
【００８１】
以上説明したように、本実施形態によるＩＣカード１は、通信部４０と、鍵情報記憶部８２と、鍵選択部５１と、コマンド処理部５２（処理部）とを備える。通信部４０は、端末装置２と通信する。鍵情報記憶部８２は、複数の共通鍵を記憶する。鍵選択部５１は、鍵情報記憶部８２が記憶する複数の共通鍵のうちから、共通鍵を選択する。コマンド処理部５２は、通信部４０を用いて、端末装置２にネットワークＮＴを経由して接続されたイシュアホスト９（サーバ装置）との間で取引を認証する取引認証を行う際に、鍵選択部５１によって選択された共通鍵を特定する鍵特定情報（例えば、鍵バージョン）を通信部４０に送信させ、鍵選択部５１によって選択された共通鍵に基づく暗号処理によって、取引認証を行う。
【００８２】
これにより、本実施形態によるＩＣカード１は、取引認証を行う際に、複数の共通鍵のうちから選択された共通鍵により暗号処理されるとともに、鍵特定情報によりイシュアホスト９に共通鍵を適切に選択させることができる。そのため、本実施形態によるＩＣカード１は、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
【００８３】
また、本実施形態では、鍵情報記憶部８２は、更新された鍵を識別する鍵バージョン情報（鍵バージョン）と、共通鍵とを対応付けて記憶する。鍵選択部５１は、乱数に基づいて、鍵情報記憶部８２が記憶する複数の共通鍵のうちから共通鍵を選択する。そして、コマンド処理部５２は、選択された共通鍵に対応付けられた鍵バージョン情報を鍵特定情報として、通信部４０に送信させることで端末装置２を介して、イシュアホスト９に送信する。
これにより、本実施形態によるＩＣカード１は、取引認証を行う際に、乱数に基づいて、共通鍵を動的に変更することができるとともに、鍵バージョン情報によりイシュアホスト９に共通鍵を適切に選択させることができる。
【００８４】
また、本実施形態では、コマンド処理部５２は、通信部４０によって、１回目のGENERATE ACコマンド（第１の取引認証コマンド）を受信した場合に、１回目のGENERATE ACコマンドに含まれる取引情報と、選択された共通鍵とに基づく暗号処理により、演算結果ＭＡＣ１（第１認証情報）を生成し、生成した当該演算結果ＭＡＣ１と、鍵特定情報（例えば、鍵バージョン）とを含む応答を、通信部４０により送信する。また、コマンド処理部５２は、イシュアホスト９で演算結果ＭＡＣ１を認証した認証結果情報、及びイシュアホスト９で生成された演算結果ＭＡＣ３（第２認証情報）を含む２回目のGENERATE ACコマンド（第２の取引認証コマンド）を、通信部４０によって受信した場合に、２回目のGENERATE ACコマンドに含まれる認証結果情報と、選択された共通鍵とに基づく暗号処理により、演算結果ＭＡＣ３を認証する。
これにより、本実施形態によるＩＣカード１は、取引処理におけるＩＣカード１と、イシュアホスト９との両方の正当性の確認、及び、取引情報の正当性の確認を適切に行うことができる。
【００８５】
また、本実施形態では、取引認証は、クレジットカードの決済取引における認証である。
これにより、本実施形態によるＩＣカード１は、クレジットカードの決済取引における認証において、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
【００８６】
また、本実施形態によるＩＣモジュール１０は、上述した鍵情報記憶部８２と、鍵選択部５１と、コマンド処理部５２（処理部）とを備える。
これにより、本実施形態によるＩＣモジュール１０は、上述したＩＣカード１と同様の効果を奏し、セキュリティを向上させることができる。
なお、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴ（カード本体）とを備える。
【００８７】
また、本実施形態によるＩＣカードシステム２００は、ＩＣカード１と、イシュアホスト９とを備える。ＩＣカード１は、上述した鍵情報記憶部８２（第１鍵情報記憶部）と、鍵選択部５１と、コマンド処理部５２とを備える。また、イシュアホスト９は、鍵情報記憶部９２１（第２鍵情報記憶部）と、ホスト制御部９３（取引制御部）とを備える。鍵情報記憶部９２１は、複数の共通鍵を記憶する。ホスト制御部９３は、ＩＣカード１と自装置との間で取引を認証する取引認証を行う際に、端末装置２を経由してＩＣカード１から受信した鍵特定情報（例えば、鍵バージョン）に基づいて、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、取引認証を行う。
これにより、本実施形態によるＩＣカードシステム２００は、上述したＩＣカード１と同様の効果を奏し、セキュリティを向上させることができる。
【００８８】
また、本実施形態によるイシュアホスト９（サーバ装置）は、ＩＣカード１と通信可能な端末装置２にネットワークを経由して接続されたサーバ装置であって、上述した鍵情報記憶部９２１と、ホスト制御部９３とを備える。
これにより、本実施形態によるイシュアホスト９は、上述したＩＣカード１及びＩＣカードシステム２００と同様の効果を奏し、セキュリティを向上させることができる。
【００８９】
（第２の実施形態）
次に、図面を参照して、第２の実施形態によるＩＣカード１ａについて説明する。
図１０は、第２の実施形態のＩＣカード１ａの機能構成例を示すブロック図である。
図１０に示すように、ＩＣカード１ａは、通信部４０と、制御部５０ａと、取引回数記憶部８１と、鍵情報記憶部８２ａと、ＰＩＮ情報記憶部８３とを備える。
【００９０】
なお、本実施形態によるＩＣカード１ａの外観及びハードウェア構成と、ＩＣカードシステム２００の構成は、図１、図２、及び図５に示す第１の実施形態と同様であるので、ここではその説明を省略する。また、図１０において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
また、図１０に示されるＩＣカード１ａの各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００９１】
本実施形態では、鍵情報記憶部８２ａが記憶する情報、及び鍵選択処理が第１の実施形態と異なり、取引回数（ＡＴＣ）を用いて共通鍵を選択する一例について説明する。
【００９２】
鍵情報記憶部８２ａ（第１鍵情報記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。鍵情報記憶部８２ａは、図１１に示すように、取引回数（ＡＴＣ）と、鍵バージョン情報と、共通鍵とを対応付けて記憶する。
【００９３】
図１１は、本実施形態の鍵情報記憶部８２ａのデータ例を示す図である。
図１１に示すように、鍵情報記憶部８２ａは、「取引回数」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここで、「取引回数」は、共通鍵を選択するための鍵特定情報であり、例えば、“１〜９９９９”回のように所定の範囲を持った値である。鍵情報記憶部８２ａは、このような「取引回数」と、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
【００９４】
図１１に示す例では、「取引回数」が“１〜９９９９”回に対応する「鍵バージョン」が“Ａ”であり、「鍵の値」が“α”であることを示している。また、取引回数」が“１００００〜１９９９９”回に対応する「鍵バージョン」が“Ｂ”であり、「鍵の値」が“β”であることを示している。
【００９５】
図１０の説明に戻り、制御部５０ａは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ａを統括的に制御する。制御部５０ａは、鍵選択部５１ａと、コマンド処理部５２とを備える。
【００９６】
鍵選択部５１ａは、例えば、取引回数（ＡＴＣ）に基づいて、鍵情報記憶部８２ａが記憶する複数の共通鍵のうちから共通鍵を選択する。鍵選択部５１ａは、例えば、取引回数記憶部８１に記憶されている取引回数（ＡＴＣ）を取得し、取得した取引回数（ＡＴＣ）に対応する、鍵バージョン情報及び共通鍵を鍵情報記憶部８２ａから選択する。
【００９７】
なお、本実施形態のコマンド処理部５２は、例えば、取引回数（ＡＴＣ）示す取引回数情報を鍵特定情報として、端末装置２を介して、イシュアホスト９に送信する。
【００９８】
次に、図１２を参照して、本実施形態のＩＣカード１ａの動作について説明する。
図１２は、本実施形態のＩＣカード１ａの鍵選択処理の一例を示すフローチャートである。
図１２に示すように、ＩＣカード１ａは、共通鍵を選択する際に、まず、取引回数（ＡＴＣ）を取得する（ステップＳ４０１）。ＩＣカード１ａの鍵選択部５１ａは、取引回数記憶部８１に記憶されている取引回数を取得する。
【００９９】
次に、鍵選択部５１ａは、取得した取引回数に基づいて、鍵バージョン（鍵バージョン情報）、及び共通鍵を選択する（ステップＳ４０２）。例えば、取引回数記憶部８１に記憶されている取引回数（ＡＴＣ）が、１００００回である場合には、鍵選択部５１ａは、図１１に示す鍵情報記憶部８２ａのデータ例では、「鍵バージョン」の“Ｂ”、及び「鍵の値」の“β”を選択する。ステップＳ４０２の処理後に、鍵選択部５１ａは、鍵選択処理を終了する。
【０１００】
なお、本実施形態のGENERATE ACコマンド処理は、図８に示す第１の実施形態の処理と同様であるため、ここではその説明を省略する。
また、本実施形態のＩＣカードシステム２００による取引認証処理は、図９に示す第１の実施形態の処理と同様であるため、ここではその説明を省略する。
【０１０１】
なお、本実施形態のイシュアホスト９の鍵情報記憶部９２１は、例えば、図１１に示す鍵情報記憶部８２ａと同様に、「取引回数」と、「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。
また、イシュアホスト９のホスト制御部９３は、ＩＣカード１ａから受信した取引回数（ＡＴＣ）に基づいて、ＩＣカード１ａの鍵選択部５１ａと同様に、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから、共通鍵を選択する。
【０１０２】
以上説明したように、本実施形態によるＩＣカード１ａは、通信部４０と、鍵情報記憶部８２ａと、鍵選択部５１ａと、コマンド処理部５２（処理部）とを備える。鍵情報記憶部８２ａは、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶する。鍵選択部５１ａは、取引が実行された取引回数（ＡＴＣ）に基づいて、鍵情報記憶部８２ａが記憶する複数の共通鍵のうちから共通鍵を選択する。コマンド処理部５２は、実行された取引回数示す取引回数情報を鍵特定情報として、通信部４０に送信させ、選択された共通鍵に基づく暗号処理によって、取引認証を行う。
【０１０３】
これにより、本実施形態によるＩＣカード１ａは、取引認証を行う際に、取引回数（ＡＴＣ）に基づいて、共通鍵を動的に変更することができるとともに、取引回数によりイシュアホスト９に共通鍵を適切に選択させることができる。よって、本実施形態によるＩＣカード１ａは、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
【０１０４】
なお、上述した本実施形態によるイシュアホスト９では、鍵情報記憶部９２１が、鍵情報記憶部８２ａと同様に複数の共通鍵を記憶し、ホスト制御部９３が、取引回数（ＡＴＣ）に基づいて、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから共通鍵を選択する例を説明したが、これに限定されるものではない。例えば、鍵情報記憶部９２１が、第１の実施形態と同様に複数の共通鍵を記憶し、ホスト制御部９３が、鍵バージョン情報に基づいて、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから共通鍵を選択するようにしてもよい。
【０１０５】
（第３の実施形態）
次に、図面を参照して、第３の実施形態によるＩＣカード１ｂについて説明する。
図１３は、第３の実施形態のＩＣカード１ｂの機能構成例を示すブロック図である。
図１３に示すように、ＩＣカード１ｂは、通信部４０と、制御部５０ｂと、取引回数記憶部８１と、鍵情報記憶部８２ｂと、ＰＩＮ情報記憶部８３とを備える。
【０１０６】
なお、本実施形態によるＩＣカード１ｂの外観及びハードウェア構成と、ＩＣカードシステム２００の構成は、図１、図２、及び図５に示す第１の実施形態と同様であるので、ここではその説明を省略する。また、図１３において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
また、図１３に示されるＩＣカード１ｂの各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【０１０７】
本実施形態では、鍵情報記憶部８２ｂが記憶する情報、及び鍵選択処理が第１の実施形態と異なり、取引回数（ＡＴＣ）と鍵バージョン情報との組み合わせを用いて共通鍵を選択する一例について説明する。
【０１０８】
鍵情報記憶部８２ｂ（第１鍵情報記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部である。鍵情報記憶部８２ｂは、図１４に示すように、鍵バージョン情報と、取引回数（ＡＴＣ）と、共通鍵とを対応付けて記憶する。
【０１０９】
図１４は、本実施形態の鍵情報記憶部８２ｂのデータ例を示す図である。
図１４に示すように、鍵情報記憶部８２ｂは、「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けて記憶する。鍵情報記憶部８２ｂは、このような「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けた組情報を複数記憶している。
【０１１０】
図１４に示す例では、「鍵バージョン」が“Ａ”であり、「取引回数」が“１〜９９９９”回に対応する「鍵の値」が“α”であることを示している。また、「鍵バージョン」が“Ｂ”であり、取引回数」が“１〜９９９９”回に対応する「鍵の値」が“α２”であることを示している。なお、本実施形態の鍵情報記憶部８２ｂでは、１つの「鍵バージョン」（鍵バージョン情報）には、複数の「鍵の値」が対応付けられている。すなわち、鍵情報記憶部８２ｂは、１つの鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されている。
【０１１１】
図１３の説明に戻り、制御部５０ｂは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｂを統括的に制御する。制御部５０ｂは、鍵選択部５１ｂと、コマンド処理部５２とを備える。
【０１１２】
鍵選択部５１ｂは、例えば、取引回数（ＡＴＣ）及び鍵バージョン情報に基づいて、鍵情報記憶部８２ｂが記憶する複数の共通鍵のうちから共通鍵を選択する。鍵選択部５１ｂは、例えば、取引回数記憶部８１に記憶されている取引回数（ＡＴＣ）を取得する。また、鍵選択部５１ｂは、例えば、端末装置２などから受信した鍵バージョン情報を取得する。鍵選択部５１ｂは、取得した取引回数（ＡＴＣ）及び鍵バージョン情報に対応する共通鍵を鍵情報記憶部８２ｂから選択する。
【０１１３】
なお、本実施形態のコマンド処理部５２は、例えば、取引回数（ＡＴＣ）示す取引回数情報及び鍵バージョン情報を鍵特定情報として、端末装置２を介して、イシュアホスト９に送信する。
【０１１４】
次に、図１５を参照して、本実施形態のＩＣカード１ｂの動作について説明する。
図１５は、本実施形態のＩＣカード１ｂの鍵選択処理の一例を示すフローチャートである。
図１５に示すように、ＩＣカード１ｂは、共通鍵を選択する際に、まず、取引回数（ＡＴＣ）、及び鍵バージョンを取得する（ステップＳ５０１）。ＩＣカード１ｂの鍵選択部５１ｂは、取引回数記憶部８１に記憶されている取引回数を取得するとともに、端末装置２などから受信した鍵バージョン（鍵バージョン情報）を取得する。
【０１１５】
次に、鍵選択部５１ｂは、取得した取引回数及び鍵バージョンに基づいて、共通鍵を選択する（ステップＳ５０２）。例えば、取引回数記憶部８１に記憶されている取引回数（ＡＴＣ）が、１００００回であり、鍵バージョンが“Ｂ”である場合には、鍵選択部５１ｂは、図１４に示す鍵情報記憶部８２ｂのデータ例では、「鍵の値」の“β２”を選択する。ステップＳ５０２の処理後に、鍵選択部５１ｂは、鍵選択処理を終了する。
【０１１６】
なお、本実施形態のGENERATE ACコマンド処理は、図８に示す第１の実施形態の処理と同様であるため、ここではその説明を省略する。
また、本実施形態のＩＣカードシステム２００による取引認証処理は、図９に示す第１の実施形態の処理と同様であるため、ここではその説明を省略する。
【０１１７】
なお、本実施形態のイシュアホスト９の鍵情報記憶部９２１は、例えば、図１４に示す鍵情報記憶部８２ｂと同様に、「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けて記憶する。
また、イシュアホスト９のホスト制御部９３は、ＩＣカード１ｂから受信した取引回数（ＡＴＣ）及び鍵バージョン情報に基づいて、ＩＣカード１ｂの鍵選択部５１ｂと同様に、鍵情報記憶部９２１が記憶する複数の共通鍵のうちから、共通鍵を選択する。
【０１１８】
以上説明したように、本実施形態によるＩＣカード１ｂは、通信部４０と、鍵情報記憶部８２ｂと、鍵選択部５１ｂと、コマンド処理部５２（処理部）とを備える。鍵情報記憶部８２ｂは、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶するとともに、１つの鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されている。鍵選択部５１ｂは、実行された取引回数及び鍵バージョン情報に基づいて、鍵情報記憶部８２ｂが記憶する複数の共通鍵のうちから共通鍵を選択する。コマンド処理部５２は、取引回数情報及び鍵バージョン情報を鍵特定情報として、通信部４０に送信させ、選択された共通鍵に基づく暗号処理によって、取引認証を行う。
【０１１９】
これにより、本実施形態によるＩＣカード１ｂは、取引認証を行う際に、取引回数（ＡＴＣ）及び鍵バージョン情報に基づいて、共通鍵を動的に変更することができるとともに、取引回数及び鍵バージョン情報によりイシュアホスト９に共通鍵を適切に選択させることができる。よって、本実施形態によるＩＣカード１ｂは、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
【０１２０】
上記の各実施形態では、コマンド処理部５２及びホスト制御部９３は、選択した共通鍵をそのまま使用する例を説明したが、選択した共通鍵に基づく派生鍵を生成し、当該派生鍵を使用して取引認証を行うようにしてもよい。
【０１２１】
また、上記の各実施形態において、取引認証をGENERATE ACコマンドを利用して実行する場合の一例を説明したが、GENERATE ACコマンド及びEXTERNAL AUTHENTICATEコマンドを利用して取引認証を実行するようにしてもよい。この場合、ＩＣカード１（１ａ、１ｂ）は、上述した図８に示す２回目のGENERATE ACコマンド（第２の取引認証コマンド）のうちのステップＳ２１０及びステップＳ２１１の処理を、EXTERNAL AUTHENTICATEコマンドによって実行する。すなわち、端末装置２は、図９のステップＳ３１５のGENERATE ACコマンドの送信前に、EXTERNAL AUTHENTICATEコマンドをＩＣカード１（１ａ、１ｂ）に送信する。
【０１２２】
また、上記の各実施形態において、ＩＣカード１（１ａ、１ｂ）は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１（１ａ、１ｂ）は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
【０１２３】
以上説明した少なくともひとつの実施形態によれば、鍵情報記憶部８２が記憶する複数の共通鍵のうちから、共通鍵を選択する鍵選択部５１と、イシュアホスト９との間で取引を認証する取引認証を行う際に、鍵選択部５１によって選択された共通鍵を特定する鍵特定情報を送信し、選択された共通鍵に基づく暗号処理によって、取引認証を行うコマンド処理部５２とを持つことにより、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
【０１２４】
上記実施形態は、以下のように表現することができる。
端末装置と通信する通信部と、
複数の共通鍵を記憶する鍵情報記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する処理と、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記選択された共通鍵を特定する鍵特定情報を前記通信部に送信させる処理と、
前記選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理と
を実行させる前記プログラムが格納されている、
ＩＣカード。
【０１２５】
なお、実施形態におけるＩＣカードシステム２００及びＩＣカード１（１ａ、１ｂ）が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカードシステム２００及びＩＣカード１（１ａ、１ｂ）が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。  また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１２６】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にＩＣカードシステム２００及びＩＣカード１（１ａ、１ｂ）が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２８】
１，１ａ，１ｂ…ＩＣカード、２…端末装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、９…イシュアホスト、１０…ＩＣモジュール、２１…リーダライタ、２２…入力部、２３…表示部、２４，９１…ＮＷ通信部、２５…端末制御部、４０…通信部、５０，５０ａ，５０ｂ…制御部、５１，５１ａ，５１ｂ…鍵選択部、５２…コマンド処理部、８１…取引回数記憶部、８２，８２ａ，８２ｂ，９２１…鍵情報記憶部、８３…ＰＩＮ情報記憶部、９２…ホスト記憶部、９３…ホスト制御部、１００…ＩＣチップ、２００…ＩＣカードシステム、ＢＳ１…内部バス、ＮＴ…ネットワーク、ＰＴ…カード基材
【図１】
2018182655.tif 000003
【図２】
2018182655.tif 000004
【図３】
2018182655.tif 000005
【図４】
2018182655.tif 000006
【図５】
2018182655.tif 000007
【図６】
2018182655.tif 000008
【図７】
2018182655.tif 000009
【図８】
2018182655.tif 000010
【図９】
2018182655.tif 000011
【図１０】
2018182655.tif 000012
【図１１】
2018182655.tif 000013
【図１２】
2018182655.tif 000014
【図１３】
2018182655.tif 000015
【図１４】
2018182655.tif 000016
【図１５】
2018182655.tif 000017