Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6925849B2 - Icカード、icカードシステム、サーバ装置、及びプログラム - Google Patents
[go: Go Back, main page]

JP6925849B2 - Icカード、icカードシステム、サーバ装置、及びプログラム - Google Patents

Icカード、icカードシステム、サーバ装置、及びプログラム Download PDF

Info

Publication number
JP6925849B2
JP6925849B2 JP2017083731A JP2017083731A JP6925849B2 JP 6925849 B2 JP6925849 B2 JP 6925849B2 JP 2017083731 A JP2017083731 A JP 2017083731A JP 2017083731 A JP2017083731 A JP 2017083731A JP 6925849 B2 JP6925849 B2 JP 6925849B2
Authority
JP
Japan
Prior art keywords
key
common
transaction
card
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017083731A
Other languages
English (en)
Other versions
JP2018182655A (ja
Inventor
祐輔 津田
祐輔 津田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2017083731A priority Critical patent/JP6925849B2/ja
Publication of JP2018182655A publication Critical patent/JP2018182655A/ja
Application granted granted Critical
Publication of JP6925849B2 publication Critical patent/JP6925849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、ICカード、ICカードシステム、サーバ装置、及びプログラムに関する。
近年、IC(Integrated Circuit)チップを内蔵したICカードが広く使用されている。例えば、EMV仕様に代表される金融ICカードの決済システムでは、決済取引において、カード発行会社のホストサーバ装置であるイシュアホストとICカードとの間で共有される共通鍵を使用して、取引認証が実行される。そのため、金融ICカードの決済システムでは、共通鍵に対するセキュリティの強化が求められており、従来のICカードでは、不十分な場合があった。
特開2005−269128号公報
本発明が解決しようとする課題は、セキュリティを向上させることができるICカード、ICカードシステム、サーバ装置、及びプログラムを提供することである。
実施形態のICカードは、通信部と、鍵情報記憶部と、鍵選択部と、処理部とを持つ。通信部は、端末装置と通信する。鍵情報記憶部は、複数の共通鍵を記憶する。鍵選択部は、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する。処理部は、前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置とICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う。前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶する。前記鍵選択部は、乱数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択する。前記処理部は、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる。
第1の実施形態のICカードの外観例、及びICカードシステムの構成例を示す図。 第1の実施形態のICカードのハードウェア構成例を示す図。 第1の実施形態のICカードの機能構成例を示すブロック図。 第1の実施形態の鍵情報記憶部のデータ例を示す図。 第1の実施形態のイシュアホスト及び端末装置の機能構成例を示すブロック図。 第1の実施形態のイシュアホストの鍵情報記憶部のデータ例を示す図。 第1の実施形態のICカードの鍵選択処理の一例を示すフローチャート。 第1の実施形態のICカードのGENERATE ACコマンドの処理の一例を示すフローチャート。 第1の実施形態のICカードシステムの取引認証処理の一例を示すフローチャート。 第2の実施形態のICカードの機能構成例を示すブロック図。 第2の実施形態の鍵情報記憶部のデータ例を示す図。 第2の実施形態のICカードの鍵選択処理の一例を示すフローチャート。 第3の実施形態のICカードの機能構成例を示すブロック図。 第3の実施形態の鍵情報記憶部のデータ例を示す図。 第3の実施形態のICカードの鍵選択処理の一例を示すフローチャート。
以下、実施形態のICカード、ICカードシステム、サーバ装置、及びプログラムを、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のICカード1の外観例、及びICカードシステム200の構成例を示す図である。
図1に示すように、ICカードシステム200は、ICカード1と、端末装置2と、イシュアホスト9とを備える。また、ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。
端末装置2と、イシュアホスト9とは、ネットワークNTを介して接続され、ICカード1は、端末装置2を介してイシュアホスト9との間で通信を行う。なお、端末装置2及びイシュアホスト9の構成の詳細については後述する。
ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PTとを備える。また、ICカード1は、コンタクト部3を介して端末装置2と通信可能である。
ICカード1は、例えば、端末装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を端末装置2にコンタクト部3を介して送信する。
ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを端末装置2から供給を受ける端子、及び、端末装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
次に、図2を参照して、本実施形態のICカード1のハードウェア構成について説明する。
図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備える。また、各構成(4から8)は、内部バスBS1を介して接続されている。
UART4は、上述したSIO端子を介して、端末装置2とシリアルデータ通信を行う。UART4は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBS1に出力する。また、UART4は、内部バスBS1を介して取得したデータをシリアル変換して、SIO端子を介して端末装置2に出力する。UART4は、例えば、SIO端子を介してコマンドを端末装置2から受信する。また、UART4は、SIO端子を介してレスポンスを端末装置2に送信する。
CPU5(ハードウェアプロセッサの一例)は、ROM6又はEEPROM8に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU5は、例えば、コンタクト部3を介して、UART4が受信したコマンドに応じたコマンド処理を実行する。
ROM6は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
EEPROM8は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM8は、ICカード1が利用する各種データを記憶する。EEPROM8は、例えば、ICカード1を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
図3に示すように、ICカード1は、通信部40と、制御部50と、取引回数記憶部81と、鍵情報記憶部82と、PIN情報記憶部83とを備える。
ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
通信部40は、例えば、UART4と、CPU5と、ROM6に記憶されているプログラムとにより実現され、コンタクト部3を介して、例えば、端末装置2との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部40は、所定の処理を要求するコマンド(処理要求)を端末装置2から受信するとともに、コマンドに対するレスポンス(処理応答)を端末装置2に送信する。通信部40は、UART4を介して端末装置2から受信した受信データをRAM7に記憶させる。また、通信部40は、RAM7に記憶されている送信データを、UART4を介して端末装置2に送信する。
取引回数記憶部81は、例えば、EEPROM8により構成された記憶部である。取引回数記憶部81は、例えば、クレジットカードの決済処理の取引回数(例えば、ATC(Application Transaction Counter))を記憶する。なお、取引回数は、取引を開始するコマンドであるGET PROCESSING OPTIONSコマンドにより、“1”が加算されて更新される。
鍵情報記憶部82(第1鍵情報記憶部の一例)は、例えば、EEPROM8により構成された記憶部である。鍵情報記憶部82は、複数の共通鍵を記憶する。ここで、共通鍵は、クレジットカードの決済処理の取引認証に使用される暗号鍵であり、イシュアホスト9と共有される。鍵情報記憶部82は、例えば、鍵バージョン情報と、共通鍵とを対応付けて記憶する。ここで、図4を参照して、鍵情報記憶部82のデータ例について説明する。
図4は、本実施形態の鍵情報記憶部82のデータ例を示す図である。
図4に示すように、鍵情報記憶部82は、「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここで、「鍵番号」は、共通鍵の識別番号であり、「鍵バージョン」は、更新された鍵を識別する鍵バージョン情報である。また、「鍵の値」は、共通鍵の値を示している。鍵情報記憶部82は、このような「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
図4に示す例では、「鍵番号」が“0”に対応する「鍵バージョン」が“A”であり、「鍵の値」が“α”であることを示している。また、「鍵番号」が“1”に対応する「鍵バージョン」が“B”であり、「鍵の値」が“β”であることを示している。なお、本実施形態の鍵情報記憶部82では、1つの「鍵バージョン」(鍵バージョン情報)には、1つの「鍵の値」が対応付けられている。
図3の説明に戻り、PIN情報記憶部83は、例えば、EEPROM8により構成された記憶部である。PIN情報記憶部83は、カード使用者(カードホルダ)を認証するパスワードであるPIN(Personal Identification Number)を記憶する。
制御部50は、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1を統括的に制御する。制御部50は、鍵選択部51と、コマンド処理部52とを備える。
鍵選択部51は、鍵情報記憶部82が記憶する複数の共通鍵のうちから、共通鍵を選択する。鍵選択部51は、例えば、乱数に基づいて、鍵情報記憶部82が記憶する複数の共通鍵のうちから共通鍵を選択する。具体的に、鍵選択部51は、乱数を取得し、取得した乱数を上述した「鍵番号」の総数で割った余り値(すなわち、乱数の「鍵番号」の総数による剰余値)を算出し、当該余り値に等しい「鍵番号」に対応する共通鍵を鍵情報記憶部82から選択する。なお、乱数は、ハードウェアの乱数生成器(不図示)により生成されてもよいし、制御部50による疑似乱数の演算により生成されてもよい。
コマンド処理部52(処理部の一例)は、各種コマンド処理を実行する。コマンド処理部52は、例えば、後述するGENERATE ACコマンド処理として、取引認証を行う際に、鍵選択部51によって選択された共通鍵を特定する鍵特定情報を通信部40により送信し、選択された共通鍵に基づく暗号処理によって、取引認証を行う。ここで、取引認証とは、クレジットカードの決済処理において実行される認証処理であり、端末装置2にネットワークを経由して接続されたイシュアホスト9とICカード1との間で、互いの正当性、及び取引内容の正当性などを確認して取引を実行する認証処理である。
また、本実施形態では、コマンド処理部52は、GENERATE ACコマンド処理のレスポンスを送信する際に、選択された共通鍵に対応付けられた鍵バージョン情報を鍵特定情報として、端末装置2を介して、イシュアホスト9に送信する。コマンド処理部52は、鍵情報記憶部82が記憶する複数の共通鍵のうちから、鍵選択部51が選択した共通鍵に対応付けられている鍵バージョン情報を取得し、取得した鍵バージョン情報を鍵特定情報として、端末装置2に送信する。
なお、取引認証は、2回のGENERATE ACコマンド処理に分けて実行される。例えば、コマンド処理部52は、通信部40によって、1回目のGENERATE ACコマンド(第1の取引認証コマンド)を受信した場合に、1回目のGENERATE ACコマンドに含まれる取引情報と、選択された共通鍵とに基づく暗号処理により、演算結果MAC1(第1認証情報)を生成する。コマンド処理部52は、生成した当該演算結果MAC1と、鍵バージョン情報と、取引回数(ATC)などの情報とを含むレスポンス(応答)を、通信部40により送信する。
また、2回目のGENERATE ACコマンド(第2の取引認証コマンド)には、イシュアホスト9で演算結果MAC1を認証した認証結果情報、及びイシュアホスト9で生成された演算結果MAC3(第2認証情報)などが含まれる。コマンド処理部52は、2回目のGENERATE ACコマンドを通信部40によって受信した場合に、2回目のGENERATE ACコマンドに含まれる認証結果情報と、鍵選択部51により選択された共通鍵とに基づく暗号処理により、演算結果MAC3(第2認証情報)を認証する。
例えば、コマンド処理部52は、2回目のGENERATE ACコマンドに含まれる情報と、選択された共通鍵とに基づく暗号処理により、演算結果MAC4を生成する。コマンド処理部52は、例えば、生成した演算結果MAC4と、受信した演算結果MAC3(第2認証情報)とが一致するか否かを認証することで、イシュアホスト9の正当性、及び当該取引の正当性を確認する。
なお、コマンド処理部52によるGENERATE ACコマンド処理の詳細については後述する。
また、コマンド処理部52は、取引回数を更新するGET PROCESSING OPTIONSコマンド、ICカード1内の情報を読み出すREAD RECORDコマンド、及びPIN照合によりカード使用者の本人確認を行うVERIFYコマンドなどの各種コマンド処理を実行する。
次に、図5を参照して、端末装置2及びイシュアホスト9の構成について説明する。
図5は、本実施形態のイシュアホスト9及び端末装置2の機能構成例を示すブロック図。
図5に示すように、端末装置2は、ネットワークNTを介して、イシュアホスト9と接続されており、リーダライタ21と、入力部22と、表示部23と、NW(ネットワーク)通信部24と、端末制御部25とを備える。端末装置2は、例えば、クレジットカード決済端末である。
リーダライタ21は、ICカード1のコンタクト部3を介して、ICカード1の間の通信を行う。
入力部22は、例えば、キーボードやタッチパネルなどであり、端末装置2を操作する各種操作情報や、PINなどの各種入力情報を受け付ける。
表示部23は、例えば、液晶ディスプレイなどであり、各種操作画面や各種メッセージ、入力情報などを表示する。
NW通信部24は、ネットワークNTに接続され、ネットワークNTを介して、イシュアホスト9と通信を行う。
端末制御部25は、例えば、CPUなどを含むプロセッサであり、端末装置2を統括的に制御する。端末制御部25は、例えば、リーダライタ21を介して、ICカード1にコマンドを送信するとともに、ICカード1からレスポンスを受信する。また、端末制御部25は、ICカード1から受信したレスポンスに基づく情報を、NW通信部24を介して、イシュアホスト9に送信する。また、端末制御部25は、NW通信部24を介して、イシュアホスト9から受信した情報に基づいて、ICカード1にコマンドを送信する。
イシュアホスト9(サーバ装置の一例)は、例えば、カード発行会社のサーバ装置であり、ICカード1と通信可能な端末装置2にネットワークNTを経由して接続されている。イシュアホスト9は、NW通信部91と、ホスト記憶部92と、ホスト制御部93とを備える。
NW通信部91は、ネットワークNTに接続され、ネットワークNTを介して、端末装置2と通信を行う。
ホスト記憶部92は、イシュアホスト9が利用する各種情報を記憶する。ホスト記憶部92は、鍵情報記憶部921を備える。
鍵情報記憶部921(第2鍵情報記憶部の一例)は、複数の共通鍵を記憶する。ここで、鍵情報記憶部921には、上述したICカード1の鍵情報記憶部82が記憶する共通鍵と同一の複数の共通鍵が予め記憶されているものとする。鍵情報記憶部921は、例えば、鍵バージョン情報と、共通鍵とを対応付けて記憶する。ここで、図6を参照して、鍵情報記憶部82のデータ例について説明する。
図6は、本実施形態のイシュアホスト9の鍵情報記憶部921のデータ例を示す図である。
図6に示すように、鍵情報記憶部921は、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここでの「鍵バージョン」及び「鍵の値」は、図4と同様である。鍵情報記憶部921は、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
図6に示す例では、「鍵バージョン」が“A”に対応する「鍵の値」が“α”であることを示している。また、「鍵バージョン」が“B”に対応する「鍵の値」が“β”であることを示している。なお、鍵情報記憶部921では、「鍵バージョン」(鍵バージョン情報)から「鍵の値」(共通鍵)が検索可能になっている。
図5に戻り、ホスト制御部93(取引制御部の一例)は、例えば、CPUなどを含むプロセッサ(ハードウェアプロセッサの一例)であり、イシュアホスト9を統括的に制御する。ホスト制御部93は、例えば、ICカード1と自装置との間で取引を認証する取引認証を行う際に、NW通信部91を介して、端末装置2を経由してICカード1から受信した鍵バージョン情報に基づいて、鍵情報記憶部921が記憶する複数の共通鍵のうちから、共通鍵を選択する。また、ホスト制御部93は、選択した当該共通鍵に基づく暗号処理によって、取引認証を行う。
ホスト制御部93は、例えば、ICカード1から端末装置2を介して受信した演算結果MAC1(第1認証情報)を、選択した共通鍵に基づく暗号処理により認証する。具体的に、ホスト制御部93は、ICカード1から受信した取引情報などの情報と、選択した共通鍵とに基づく暗号処理により、ICカード1が生成した演算結果MAC1の生成方法と同様に、演算結果MAC2を生成する。ホスト制御部93は、生成した演算結果MAC2と、ICカード1から受信した演算結果MAC1とが一致するか否かを認証することで、ICカード1の正当性、及び当該取引情報の正当性を確認する。
また、ホスト制御部93は、演算結果MAC1を認証した認証結果情報などの情報と、選択した共通鍵とに基づく暗号処理により、演算結果MAC3(第2認証情報)を生成する。ホスト制御部93は、生成した演算結果MAC3(第2認証情報)、及び認証結果情報を、NW通信部91を介して、端末装置2に送信する。
また、ホスト制御部93は、NW通信部91を介して、端末装置2から取引認証の完了情報(例えば、取引成立確認を示すTC(Transaction Certificate))を受信し、ホスト記憶部92に記憶させる。
次に、図面を参照して、本実施形態のICカード1及びICカードシステム200の動作について説明する。
図7は、本実施形態のICカード1の鍵選択処理の一例を示すフローチャートである。
図7に示すように、ICカード1は、共通鍵を選択する際に、まず、乱数を生成する(ステップS101)。例えば、ICカード1が備える不図示の乱数生成器、又は制御部50が、乱数を生成する。
次に、ICカード1の鍵選択部51は、乱数を鍵番号に変換する(ステップS102)。鍵選択部51は、乱数を取得し、取得した乱数を、鍵番号の総数で割った余り値を算出し、この余り値を鍵番号とする。
次に、鍵選択部51は、鍵番号に基づいて、鍵バージョン(鍵バージョン情報)、及び共通鍵を選択する(ステップS103)。例えば、乱数から変換した鍵番号が“1”である場合に、図4に示す鍵情報記憶部82のデータ例では、鍵選択部51は、「鍵バージョン」の“B”及び「鍵の値」(共通鍵)の“β”を選択する。ステップS103の処理後に、鍵選択部51は、鍵選択処理を終了する。
次に、図8を参照して、本実施形態のICカード1のGENERATE ACコマンド処理について説明する。
図8は、本実施形態のICカード1のGENERATE ACコマンドの処理の一例を示すフローチャートである。
ICカード1のコマンド処理部52は、通信部40を介して受信したコマンドが、GENERATE ACコマンドである場合に、図8に示す処理を開始する。
コマンド処理部52は、まず、1回目のGENERATE ACコマンドの実行であるか否かを判定する(ステップS201)。コマンド処理部52は、1回目の実行である場合(ステップS201:YES)に、処理をステップS202に進める。また、コマンド処理部52は、1回目の実行でない(2回目の実行である)場合(ステップS201:NO)に、処理をステップS209に進める。
ステップS202において、コマンド処理部52は、リスク管理処理を実行する。コマンド処理部52は、GENERATE ACコマンドに含まれる取引情報、前回の取引結果、オフライン処理及びオンライン処理の取引履歴などに基づいて、当該取引を行ってもよいかのリスク管理を行う。ここで、取引情報には、取引金額、取引日時などの取引内容が含まれる。
次に、コマンド処理部52は、オンライン処理を行うか否かを判定する(ステップS203)。コマンド処理部52は、リスク管理処理の結果を基づいて、オンライン処理を行うか否かを判定する。ここで、オンライン処理とは、イシュアホスト9との間で認証処理を行うことである。また、イシュアホスト9との間で認証処理を行わない場合の取引処理を、オフライン処理という。コマンド処理部52は、オンライン処理を行う場合(ステップS203:YES)に、処理をステップS204に進める。また、コマンド処理部52は、オンライン処理を行なわない(オフライン処理である)場合(ステップS203:NO)に、処理をステップS206に進める。
ステップS204において、コマンド処理部52は、受信した取引情報を、鍵選択部51が選択した共通鍵で暗号演算して演算結果MAC1を生成する。なお、コマンド処理部52は、取引情報及び取引回数(ATC)を含む情報と、共通鍵とに基づいて、演算結果MAC1を生成する。
次に、コマンド処理部52は、演算結果MAC1、鍵バージョン、取引回数(ATC)を含むレスポンスを端末装置2に送信する(ステップS205)。コマンド処理部52は、通信部40を介して、生成した演算結果MAC1をARQC(Application Request Cryptogram)として、取引回数(ATC)及び鍵バージョンとともに、端末装置2に送信する。ステップS205の処理後に、コマンド処理部52は、GENERATE ACコマンド処理を終了する。
また、ステップS206において、コマンド処理部52は、取引を承認するか否かを判定する。すなわち、コマンド処理部52は、リスク管理処理の結果を基づいて、オフライン処理による取引を承認するか否かを判定する。コマンド処理部52は、オフライン処理による取引を承認する場合(ステップS206:YES)に、処理をステップS207に進める。また、コマンド処理部52は、オフライン処理による取引を承認しない場合(ステップS206:NO)に、処理をステップS208に進める。
ステップS207において、コマンド処理部52は、取引承認情報を含むレスポンスを端末装置2に送信する。コマンド処理部52は、取引履歴などを更新し、オフライン処理による取引のTCなどの取引承認情報を含むレスポンスを、通信部40を介して、端末装置2に送信する。ステップS207の処理後に、コマンド処理部52は、GENERATE ACコマンド処理を終了する。
また、ステップS208において、コマンド処理部52は、取引を承認しない情報を含むレスポンスを端末装置2に送信する。コマンド処理部52は、取引履歴などを更新し、オフライン処理による取引を承認しない情報を含むレスポンスを、通信部40を介して、端末装置2に送信する。ステップS208の処理後に、コマンド処理部52は、GENERATE ACコマンド処理を終了する。
また、2回目のGENERATE ACコマンド処理であるステップS209において、コマンド処理部52は、リスク管理処理を実行する。コマンド処理部52は、GENERATE ACコマンドに含まれる取引情報、前回の取引結果、オフライン処理の取引履歴などに基づいて、当該取引を行ってもよいかのリスク管理を再度行う。
次に、コマンド処理部52は、受信した結果情報を、鍵選択部51が選択した共通鍵で暗号演算して演算結果MAC4を生成する(ステップS210)。コマンド処理部52は、例えば、前回送信したARQC、及び、受信した承認結果情報であるARC(Authorization Response Code)などの情報と、共通鍵とに基づいて、演算結果MAC4を生成する。
次に、コマンド処理部52は、取引を承認するか否か(MAC3=MAC4?)を判定する(ステップS211)。コマンド処理部52は、受信したARPC(Application Response Cryptogram)である演算結果MAC3と、演算結果MAC4とが一致するか否かを判定する。コマンド処理部52は、演算結果MAC3と、演算結果MAC4とが一致する場合(ステップS211:YES)に、処理をステップS212に進める。また、コマンド処理部52は、演算結果MAC3と、演算結果MAC4とが一致しない場合(ステップS211:NO)に、処理をステップS213に進める。
ステップS212において、コマンド処理部52は、取引承認情報を含むレスポンスを端末装置2に送信する。コマンド処理部52は、取引履歴などを更新し、オンライン処理による取引のTCなどの取引承認情報を含むレスポンスを、通信部40を介して、端末装置2に送信する。ステップS212の処理後に、コマンド処理部52は、GENERATE ACコマンド処理を終了する。
また、ステップS213において、コマンド処理部52は、取引を承認しない情報を含むレスポンスを端末装置2に送信する。コマンド処理部52は、取引履歴などを更新し、オンライン処理による取引を承認しない情報を含むレスポンスを、通信部40を介して、端末装置2に送信する。ステップS213の処理後に、コマンド処理部52は、GENERATE ACコマンド処理を終了する。
次に、図9を参照して、本実施形態のICカードシステム200の取引認証処理について説明する。
図9は、本実施形態のICカードシステム200の取引認証処理の一例を示すフローチャートである。
図9に示すように、まず、端末装置2は、ICカード1にSELECTコマンドをICカード1に送信する(ステップS301)。端末装置2の端末制御部25は、リーダライタ21を介して、ICカード1を活性化した後に、今回の取引に使用するアプリケーション(例えば、クレジット決済など)を選択するSELECTコマンドをICカード1に送信する。
次に、ICカード1は、SELECTコマンドに対するレスポンスを端末装置2に送信する(ステップS302)。ICカード1のコマンド処理部52は、対象のアプリケーションを選択し、選択が成功したことを示すステータスバイトを含むレスポンスを、通信部40を介して端末装置2に送信する。
次に、端末装置2は、ICカード1にGET PROCESSING OPTIONSコマンドを送信する(ステップS303)。端末制御部25は、リーダライタ21を介して、取引を開始するコマンドであるGET PROCESSING OPTIONSコマンドをICカード1に送信する。
次に、ICカード1は、GET PROCESSING OPTIONSコマンドに対するレスポンスを端末装置2に送信する(ステップS304)。コマンド処理部52は、取引回数記憶部81が記憶する取引回数(ATC)をインクリメントして更新し、例えば、AIP(Application Inter change Profile)及びAFL(Application File Locator)などの情報と、ステータスバイトとを含むレスポンスを、通信部40を介して端末装置2に送信する。
次に、端末装置2は、受信したAIP及びAFLを確認し、カード内に設定されたデータを読み出すREAD RECORDコマンドをICカード1に送信する(ステップS305)。端末制御部25は、リーダライタ21を介して、AIP及びAFLに基づく、各種データを読み出すREAD RECORDコマンドをICカード1に送信する。
次に、ICカード1は、READ RECORDコマンドに対するレスポンスを端末装置2に送信する(ステップS306)。コマンド処理部52は、READ RECORDコマンドにより指定された情報(例えば、CDOL(Card Risk Management Data Object List)など)を読み出し、当該情報及びステータスバイトを含むレスポンスを、通信部40を介して端末装置2に送信する。
なお、ステップS305及びステップS306の処理は、必要に応じて複数回実行される。
次に、端末装置2は、VERIFYコマンドをICカード1に送信する(ステップS307)。端末制御部25は、入力部22を介して取得した暗証番号PINを含むVERIFYコマンドを、リーダライタ21を介して、ICカード1に送信して、カード使用者の本人確認を行う。
次に、ICカード1は、VERIFYコマンドに対するレスポンスを端末装置2に送信する(ステップS308)。コマンド処理部52は、VERIFYコマンドに含まれるPINと、PIN情報記憶部83が記憶するPINとが一致するか否かにより、カード使用者の本人確認(PIN照合)を実行する。コマンド処理部52は、当該確認結果のステータスバイトを含むレスポンスを、通信部40を介して端末装置2に送信する。
次に、端末装置2は、GENERATE ACコマンド(1回目)をICカード1に送信する(ステップS309)。端末制御部25は、READ RECORDコマンドで読み出したCDOLに基づいて、取引情報を含むGENERATE ACコマンドを、リーダライタ21を介して、ICカード1に送信する。
次に、ICカード1は、GENERATE ACコマンド(1回目)に対するレスポンスを端末装置2に送信する(ステップS310)。コマンド処理部52は、上述した図8に示すGENERATE ACコマンド処理(ステップS202からステップS208の処理)を実行する。コマンド処理部52は、生成した演算結果MAC1であるARQC、取引回数(ATC)、鍵バージョン、及びステータスバイトを含むレスポンスを、通信部40を介して端末装置2に送信する。
次に、端末装置2は、取引承認要求をイシュアホスト9に送信する(ステップS311)。端末制御部25は、ICカード1から受信した、演算結果MAC1、取引回数(ATC)、鍵バージョンに、取引情報を付加した情報を取引承認要求として、NW通信部24を介して、イシュアホスト9に送信する。
次に、イシュアホスト9は、鍵選択処理を実行する(ステップS312)。イシュアホスト9のホスト制御部93は、ICカード1から端末装置2を経由して受信した鍵バージョンに基づいて、共通鍵を選択する。すなわち、ホスト制御部93は、鍵情報記憶部921が記憶する複数の共通鍵のうちから、受信した鍵バージョンに対応する共通鍵を選択する。
次に、イシュアホスト9は、取引認証処理を実行する(ステップS313)。ホスト制御部93は、ICカード1から受信した取引情報と、選択した共通鍵とに基づく暗号処理により、演算結果MAC2を生成する。ホスト制御部93は、生成した演算結果MAC2と、ICカード1から受信した演算結果MAC1とが一致するか否かを判定する。
次に、イシュアホスト9は、認証結果を端末装置2に送信する(ステップS314)。ホスト制御部93は、上述した取引認証処理の判定結果を含む認証結果情報と、選択した共通鍵とに基づく暗号処理により、演算結果MAC3をARPCとして生成する。ホスト制御部93は、承認結果情報と、演算結果MAC3とを含む認証結果を、NW通信部91を介して端末装置2に送信する。
次に、端末装置2は、GENERATE ACコマンド(2回目)をICカード1に送信する(ステップS315)。端末制御部25は、イシュアホスト9からNW通信部24を介して受信した、認証結果情報、及び演算結果MAC3を含むGENERATE ACコマンドを、リーダライタ21を介して、ICカード1に送信する。
次に、ICカード1は、GENERATE ACコマンド(2回目)に対するレスポンスを端末装置2に送信する(ステップS316)。コマンド処理部52は、上述した図8に示すGENERATE ACコマンド処理(ステップS209からステップS213の処理)を実行する。コマンド処理部52は、生成した取引承認情報(例えば、TCなど)、及びステータスバイトを含むレスポンスを、通信部40を介して端末装置2に送信する。
次に、端末装置2は、取引承認情報をイシュアホスト9に送信する(ステップS317)。端末制御部25は、ICカード1から受信した取引承認情報を、NW通信部24を介して、イシュアホスト9に送信する。これにより、決済処理の取引認証及び取引が完了する。
なお、上述したフローにおいて、ICカード1の鍵選択部51は、ステップS303からステップS310の間において、鍵情報記憶部82が記憶する複数の共通鍵のうちから共通鍵を選択する処理を実行する。
以上説明したように、本実施形態によるICカード1は、通信部40と、鍵情報記憶部82と、鍵選択部51と、コマンド処理部52(処理部)とを備える。通信部40は、端末装置2と通信する。鍵情報記憶部82は、複数の共通鍵を記憶する。鍵選択部51は、鍵情報記憶部82が記憶する複数の共通鍵のうちから、共通鍵を選択する。コマンド処理部52は、通信部40を用いて、端末装置2にネットワークNTを経由して接続されたイシュアホスト9(サーバ装置)との間で取引を認証する取引認証を行う際に、鍵選択部51によって選択された共通鍵を特定する鍵特定情報(例えば、鍵バージョン)を通信部40に送信させ、鍵選択部51によって選択された共通鍵に基づく暗号処理によって、取引認証を行う。
これにより、本実施形態によるICカード1は、取引認証を行う際に、複数の共通鍵のうちから選択された共通鍵により暗号処理されるとともに、鍵特定情報によりイシュアホスト9に共通鍵を適切に選択させることができる。そのため、本実施形態によるICカード1は、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
また、本実施形態では、鍵情報記憶部82は、更新された鍵を識別する鍵バージョン情報(鍵バージョン)と、共通鍵とを対応付けて記憶する。鍵選択部51は、乱数に基づいて、鍵情報記憶部82が記憶する複数の共通鍵のうちから共通鍵を選択する。そして、コマンド処理部52は、選択された共通鍵に対応付けられた鍵バージョン情報を鍵特定情報として、通信部40に送信させることで端末装置2を介して、イシュアホスト9に送信する。
これにより、本実施形態によるICカード1は、取引認証を行う際に、乱数に基づいて、共通鍵を動的に変更することができるとともに、鍵バージョン情報によりイシュアホスト9に共通鍵を適切に選択させることができる。
また、本実施形態では、コマンド処理部52は、通信部40によって、1回目のGENERATE ACコマンド(第1の取引認証コマンド)を受信した場合に、1回目のGENERATE ACコマンドに含まれる取引情報と、選択された共通鍵とに基づく暗号処理により、演算結果MAC1(第1認証情報)を生成し、生成した当該演算結果MAC1と、鍵特定情報(例えば、鍵バージョン)とを含む応答を、通信部40により送信する。また、コマンド処理部52は、イシュアホスト9で演算結果MAC1を認証した認証結果情報、及びイシュアホスト9で生成された演算結果MAC3(第2認証情報)を含む2回目のGENERATE ACコマンド(第2の取引認証コマンド)を、通信部40によって受信した場合に、2回目のGENERATE ACコマンドに含まれる認証結果情報と、選択された共通鍵とに基づく暗号処理により、演算結果MAC3を認証する。
これにより、本実施形態によるICカード1は、取引処理におけるICカード1と、イシュアホスト9との両方の正当性の確認、及び、取引情報の正当性の確認を適切に行うことができる。
また、本実施形態では、取引認証は、クレジットカードの決済取引における認証である。
これにより、本実施形態によるICカード1は、クレジットカードの決済取引における認証において、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
また、本実施形態によるICモジュール10は、上述した鍵情報記憶部82と、鍵選択部51と、コマンド処理部52(処理部)とを備える。
これにより、本実施形態によるICモジュール10は、上述したICカード1と同様の効果を奏し、セキュリティを向上させることができる。
なお、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PT(カード本体)とを備える。
また、本実施形態によるICカードシステム200は、ICカード1と、イシュアホスト9とを備える。ICカード1は、上述した鍵情報記憶部82(第1鍵情報記憶部)と、鍵選択部51と、コマンド処理部52とを備える。また、イシュアホスト9は、鍵情報記憶部921(第2鍵情報記憶部)と、ホスト制御部93(取引制御部)とを備える。鍵情報記憶部921は、複数の共通鍵を記憶する。ホスト制御部93は、ICカード1と自装置との間で取引を認証する取引認証を行う際に、端末装置2を経由してICカード1から受信した鍵特定情報(例えば、鍵バージョン)に基づいて、鍵情報記憶部921が記憶する複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、取引認証を行う。
これにより、本実施形態によるICカードシステム200は、上述したICカード1と同様の効果を奏し、セキュリティを向上させることができる。
また、本実施形態によるイシュアホスト9(サーバ装置)は、ICカード1と通信可能な端末装置2にネットワークを経由して接続されたサーバ装置であって、上述した鍵情報記憶部921と、ホスト制御部93とを備える。
これにより、本実施形態によるイシュアホスト9は、上述したICカード1及びICカードシステム200と同様の効果を奏し、セキュリティを向上させることができる。
(第2の実施形態)
次に、図面を参照して、第2の実施形態によるICカード1aについて説明する。
図10は、第2の実施形態のICカード1aの機能構成例を示すブロック図である。
図10に示すように、ICカード1aは、通信部40と、制御部50aと、取引回数記憶部81と、鍵情報記憶部82aと、PIN情報記憶部83とを備える。
なお、本実施形態によるICカード1aの外観及びハードウェア構成と、ICカードシステム200の構成は、図1、図2、及び図5に示す第1の実施形態と同様であるので、ここではその説明を省略する。また、図10において、図3に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
また、図10に示されるICカード1aの各部は、図2に示されるICカード1のハードウェアを用いて実現される。
本実施形態では、鍵情報記憶部82aが記憶する情報、及び鍵選択処理が第1の実施形態と異なり、取引回数(ATC)を用いて共通鍵を選択する一例について説明する。
鍵情報記憶部82a(第1鍵情報記憶部の一例)は、例えば、EEPROM8により構成された記憶部である。鍵情報記憶部82aは、図11に示すように、取引回数(ATC)と、鍵バージョン情報と、共通鍵とを対応付けて記憶する。
図11は、本実施形態の鍵情報記憶部82aのデータ例を示す図である。
図11に示すように、鍵情報記憶部82aは、「取引回数」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。ここで、「取引回数」は、共通鍵を選択するための鍵特定情報であり、例えば、“1〜9999”回のように所定の範囲を持った値である。鍵情報記憶部82aは、このような「取引回数」と、「鍵バージョン」と、「鍵の値」とを対応付けた組情報を複数記憶している。
図11に示す例では、「取引回数」が“1〜9999”回に対応する「鍵バージョン」が“A”であり、「鍵の値」が“α”であることを示している。また、取引回数」が“10000〜19999”回に対応する「鍵バージョン」が“B”であり、「鍵の値」が“β”であることを示している。
図10の説明に戻り、制御部50aは、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1aを統括的に制御する。制御部50aは、鍵選択部51aと、コマンド処理部52とを備える。
鍵選択部51aは、例えば、取引回数(ATC)に基づいて、鍵情報記憶部82aが記憶する複数の共通鍵のうちから共通鍵を選択する。鍵選択部51aは、例えば、取引回数記憶部81に記憶されている取引回数(ATC)を取得し、取得した取引回数(ATC)に対応する、鍵バージョン情報及び共通鍵を鍵情報記憶部82aから選択する。
なお、本実施形態のコマンド処理部52は、例えば、取引回数(ATC)示す取引回数情報を鍵特定情報として、端末装置2を介して、イシュアホスト9に送信する。
次に、図12を参照して、本実施形態のICカード1aの動作について説明する。
図12は、本実施形態のICカード1aの鍵選択処理の一例を示すフローチャートである。
図12に示すように、ICカード1aは、共通鍵を選択する際に、まず、取引回数(ATC)を取得する(ステップS401)。ICカード1aの鍵選択部51aは、取引回数記憶部81に記憶されている取引回数を取得する。
次に、鍵選択部51aは、取得した取引回数に基づいて、鍵バージョン(鍵バージョン情報)、及び共通鍵を選択する(ステップS402)。例えば、取引回数記憶部81に記憶されている取引回数(ATC)が、10000回である場合には、鍵選択部51aは、図11に示す鍵情報記憶部82aのデータ例では、「鍵バージョン」の“B”、及び「鍵の値」の“β”を選択する。ステップS402の処理後に、鍵選択部51aは、鍵選択処理を終了する。
なお、本実施形態のGENERATE ACコマンド処理は、図8に示す第1の実施形態の処理と同様であるため、ここではその説明を省略する。
また、本実施形態のICカードシステム200による取引認証処理は、図9に示す第1の実施形態の処理と同様であるため、ここではその説明を省略する。
なお、本実施形態のイシュアホスト9の鍵情報記憶部921は、例えば、図11に示す鍵情報記憶部82aと同様に、「取引回数」と、「鍵番号」と、「鍵バージョン」と、「鍵の値」とを対応付けて記憶する。
また、イシュアホスト9のホスト制御部93は、ICカード1aから受信した取引回数(ATC)に基づいて、ICカード1aの鍵選択部51aと同様に、鍵情報記憶部921が記憶する複数の共通鍵のうちから、共通鍵を選択する。
以上説明したように、本実施形態によるICカード1aは、通信部40と、鍵情報記憶部82aと、鍵選択部51aと、コマンド処理部52(処理部)とを備える。鍵情報記憶部82aは、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶する。鍵選択部51aは、取引が実行された取引回数(ATC)に基づいて、鍵情報記憶部82aが記憶する複数の共通鍵のうちから共通鍵を選択する。コマンド処理部52は、実行された取引回数示す取引回数情報を鍵特定情報として、通信部40に送信させ、選択された共通鍵に基づく暗号処理によって、取引認証を行う。
これにより、本実施形態によるICカード1aは、取引認証を行う際に、取引回数(ATC)に基づいて、共通鍵を動的に変更することができるとともに、取引回数によりイシュアホスト9に共通鍵を適切に選択させることができる。よって、本実施形態によるICカード1aは、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
なお、上述した本実施形態によるイシュアホスト9では、鍵情報記憶部921が、鍵情報記憶部82aと同様に複数の共通鍵を記憶し、ホスト制御部93が、取引回数(ATC)に基づいて、鍵情報記憶部921が記憶する複数の共通鍵のうちから共通鍵を選択する例を説明したが、これに限定されるものではない。例えば、鍵情報記憶部921が、第1の実施形態と同様に複数の共通鍵を記憶し、ホスト制御部93が、鍵バージョン情報に基づいて、鍵情報記憶部921が記憶する複数の共通鍵のうちから共通鍵を選択するようにしてもよい。
(第3の実施形態)
次に、図面を参照して、第3の実施形態によるICカード1bについて説明する。
図13は、第3の実施形態のICカード1bの機能構成例を示すブロック図である。
図13に示すように、ICカード1bは、通信部40と、制御部50bと、取引回数記憶部81と、鍵情報記憶部82bと、PIN情報記憶部83とを備える。
なお、本実施形態によるICカード1bの外観及びハードウェア構成と、ICカードシステム200の構成は、図1、図2、及び図5に示す第1の実施形態と同様であるので、ここではその説明を省略する。また、図13において、図3に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
また、図13に示されるICカード1bの各部は、図2に示されるICカード1のハードウェアを用いて実現される。
本実施形態では、鍵情報記憶部82bが記憶する情報、及び鍵選択処理が第1の実施形態と異なり、取引回数(ATC)と鍵バージョン情報との組み合わせを用いて共通鍵を選択する一例について説明する。
鍵情報記憶部82b(第1鍵情報記憶部の一例)は、例えば、EEPROM8により構成された記憶部である。鍵情報記憶部82bは、図14に示すように、鍵バージョン情報と、取引回数(ATC)と、共通鍵とを対応付けて記憶する。
図14は、本実施形態の鍵情報記憶部82bのデータ例を示す図である。
図14に示すように、鍵情報記憶部82bは、「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けて記憶する。鍵情報記憶部82bは、このような「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けた組情報を複数記憶している。
図14に示す例では、「鍵バージョン」が“A”であり、「取引回数」が“1〜9999”回に対応する「鍵の値」が“α”であることを示している。また、「鍵バージョン」が“B”であり、取引回数」が“1〜9999”回に対応する「鍵の値」が“α2”であることを示している。なお、本実施形態の鍵情報記憶部82bでは、1つの「鍵バージョン」(鍵バージョン情報)には、複数の「鍵の値」が対応付けられている。すなわち、鍵情報記憶部82bは、1つの鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されている。
図13の説明に戻り、制御部50bは、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1bを統括的に制御する。制御部50bは、鍵選択部51bと、コマンド処理部52とを備える。
鍵選択部51bは、例えば、取引回数(ATC)及び鍵バージョン情報に基づいて、鍵情報記憶部82bが記憶する複数の共通鍵のうちから共通鍵を選択する。鍵選択部51bは、例えば、取引回数記憶部81に記憶されている取引回数(ATC)を取得する。また、鍵選択部51bは、例えば、端末装置2などから受信した鍵バージョン情報を取得する。鍵選択部51bは、取得した取引回数(ATC)及び鍵バージョン情報に対応する共通鍵を鍵情報記憶部82bから選択する。
なお、本実施形態のコマンド処理部52は、例えば、取引回数(ATC)示す取引回数情報及び鍵バージョン情報を鍵特定情報として、端末装置2を介して、イシュアホスト9に送信する。
次に、図15を参照して、本実施形態のICカード1bの動作について説明する。
図15は、本実施形態のICカード1bの鍵選択処理の一例を示すフローチャートである。
図15に示すように、ICカード1bは、共通鍵を選択する際に、まず、取引回数(ATC)、及び鍵バージョンを取得する(ステップS501)。ICカード1bの鍵選択部51bは、取引回数記憶部81に記憶されている取引回数を取得するとともに、端末装置2などから受信した鍵バージョン(鍵バージョン情報)を取得する。
次に、鍵選択部51bは、取得した取引回数及び鍵バージョンに基づいて、共通鍵を選択する(ステップS502)。例えば、取引回数記憶部81に記憶されている取引回数(ATC)が、10000回であり、鍵バージョンが“B”である場合には、鍵選択部51bは、図14に示す鍵情報記憶部82bのデータ例では、「鍵の値」の“β2”を選択する。ステップS502の処理後に、鍵選択部51bは、鍵選択処理を終了する。
なお、本実施形態のGENERATE ACコマンド処理は、図8に示す第1の実施形態の処理と同様であるため、ここではその説明を省略する。
また、本実施形態のICカードシステム200による取引認証処理は、図9に示す第1の実施形態の処理と同様であるため、ここではその説明を省略する。
なお、本実施形態のイシュアホスト9の鍵情報記憶部921は、例えば、図14に示す鍵情報記憶部82bと同様に、「鍵バージョン」と、「取引回数」と、「鍵の値」とを対応付けて記憶する。
また、イシュアホスト9のホスト制御部93は、ICカード1bから受信した取引回数(ATC)及び鍵バージョン情報に基づいて、ICカード1bの鍵選択部51bと同様に、鍵情報記憶部921が記憶する複数の共通鍵のうちから、共通鍵を選択する。
以上説明したように、本実施形態によるICカード1bは、通信部40と、鍵情報記憶部82bと、鍵選択部51bと、コマンド処理部52(処理部)とを備える。鍵情報記憶部82bは、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶するとともに、1つの鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されている。鍵選択部51bは、実行された取引回数及び鍵バージョン情報に基づいて、鍵情報記憶部82bが記憶する複数の共通鍵のうちから共通鍵を選択する。コマンド処理部52は、取引回数情報及び鍵バージョン情報を鍵特定情報として、通信部40に送信させ、選択された共通鍵に基づく暗号処理によって、取引認証を行う。
これにより、本実施形態によるICカード1bは、取引認証を行う際に、取引回数(ATC)及び鍵バージョン情報に基づいて、共通鍵を動的に変更することができるとともに、取引回数及び鍵バージョン情報によりイシュアホスト9に共通鍵を適切に選択させることができる。よって、本実施形態によるICカード1bは、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
上記の各実施形態では、コマンド処理部52及びホスト制御部93は、選択した共通鍵をそのまま使用する例を説明したが、選択した共通鍵に基づく派生鍵を生成し、当該派生鍵を使用して取引認証を行うようにしてもよい。
また、上記の各実施形態において、取引認証をGENERATE ACコマンドを利用して実行する場合の一例を説明したが、GENERATE ACコマンド及びEXTERNAL AUTHENTICATEコマンドを利用して取引認証を実行するようにしてもよい。この場合、ICカード1(1a、1b)は、上述した図8に示す2回目のGENERATE ACコマンド(第2の取引認証コマンド)のうちのステップS210及びステップS211の処理を、EXTERNAL AUTHENTICATEコマンドによって実行する。すなわち、端末装置2は、図9のステップS315のGENERATE ACコマンドの送信前に、EXTERNAL AUTHENTICATEコマンドをICカード1(1a、1b)に送信する。
また、上記の各実施形態において、ICカード1(1a、1b)は、書き換え可能な不揮発性メモリとして、EEPROM8を備える構成としたが、これに限定されるものではない。例えば、ICカード1(1a、1b)は、EEPROM8の代わりに、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
以上説明した少なくともひとつの実施形態によれば、鍵情報記憶部82が記憶する複数の共通鍵のうちから、共通鍵を選択する鍵選択部51と、イシュアホスト9との間で取引を認証する取引認証を行う際に、鍵選択部51によって選択された共通鍵を特定する鍵特定情報を送信し、選択された共通鍵に基づく暗号処理によって、取引認証を行うコマンド処理部52とを持つことにより、共通鍵に対するセキュリティの強化することができ、セキュリティを向上させることができる。
上記実施形態は、以下のように表現することができる。
端末装置と通信する通信部と、
複数の共通鍵を記憶する鍵情報記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記記憶部には、前記ハードウェアプロセッサに、
前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する処理と、
前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記選択された共通鍵を特定する鍵特定情報を前記通信部に送信させる処理と、
前記選択された共通鍵に基づく暗号処理によって、前記取引認証を行う処理と
を実行させる前記プログラムが格納されている、
ICカード。
なお、実施形態におけるICカードシステム200及びICカード1(1a、1b)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカードシステム200及びICカード1(1a、1b)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。 また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にICカードシステム200及びICカード1(1a、1b)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1,1a,1b…ICカード、2…端末装置、3…コンタクト部、4…UART、5…CPU、6…ROM、7…RAM、8…EEPROM、9…イシュアホスト、10…ICモジュール、21…リーダライタ、22…入力部、23…表示部、24,91…NW通信部、25…端末制御部、40…通信部、50,50a,50b…制御部、51,51a,51b…鍵選択部、52…コマンド処理部、81…取引回数記憶部、82,82a,82b,921…鍵情報記憶部、83…PIN情報記憶部、92…ホスト記憶部、93…ホスト制御部、100…ICチップ、200…ICカードシステム、BS1…内部バス、NT…ネットワーク、PT…カード基材

Claims (10)

  1. 端末装置と通信する通信部と、
    複数の共通鍵を記憶する鍵情報記憶部と、
    前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
    前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置とICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う処理部と
    を備え
    前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
    前記鍵選択部は、乱数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理部は、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
    Cカード。
  2. 端末装置と通信する通信部と、
    複数の共通鍵を記憶する鍵情報記憶部と、
    前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
    前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置とICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う処理部と
    を備え、
    前記鍵情報記憶部は、取引回数と、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
    前記鍵選択部は、前記取引が実行された取引回数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理部は、前記実行された取引回数示す取引回数情報を前記鍵特定情報として、前記通信部に送信させる
    ICカード。
  3. 前記鍵情報記憶部は、1つの前記鍵バージョン情報に対して複数の共通鍵が対応付けられて記憶されており、
    前記鍵選択部は、前記実行された取引回数及び前記鍵バージョン情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理部は、前記取引回数情報及び前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
    請求項に記載のICカード。
  4. 前記処理部は、
    前記通信部によって、第1の取引認証コマンドを受信した場合に、前記第1の取引認証コマンドに含まれる取引情報と、前記選択された共通鍵とに基づく暗号処理により、第1認証情報を生成し、生成した当該第1認証情報と、前記鍵特定情報とを含む応答を、前記通信部に送信させ、
    前記サーバ装置で前記第1認証情報を認証した認証結果情報、及び前記サーバ装置で前記認証結果情報と前記選択された共通鍵とに基づく暗号処理により生成された演算結果である第2認証情報を含む第2の取引認証コマンドを、前記通信部によって受信した場合に、前記第2の取引認証コマンドに含まれる前記認証結果情報と記選択された共通鍵とに基づく暗号処理により演算結果を生成し、生成した当該演算結果と、受信した前記第2認証情報とが一致するか否かを認証することで前記第2認証情報を認証する
    請求項1から請求項のいずれか一項に記載のICカード。
  5. 前記取引認証は、クレジットカードの決済取引における認証である
    請求項1から請求項のいずれか一項に記載のICカード。
  6. 端末装置と通信する通信部と、
    複数の共通鍵を記憶する鍵情報記憶部と、
    前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
    前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置とICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う処理部と
    を備えるICモジュールと、
    前記ICモジュールが埋め込まれたカード本体と
    を備え
    前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
    前記鍵選択部は、乱数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理部は、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
    Cカード。
  7. 端末装置と通信する通信部と、
    複数の共通鍵を記憶する第1鍵情報記憶部と、
    前記第1鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択部と、
    前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択部によって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択部によって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置とICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う処理部と
    を備えるICカードと、
    複数の共通鍵を記憶する第2鍵情報記憶部と、
    前記ICカードと自装置との間で取引を認証する前記取引認証を行う際に、前記端末装置を経由して前記ICカードから受信した前記鍵特定情報に基づいて、前記第2鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、前記取引認証を行う取引制御部と
    を備える前記サーバ装置と
    を備え、
    前記第1鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
    前記鍵選択部は、乱数に基づいて、前記第1鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理部は、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
    Cカードシステム。
  8. ICカードと通信可能な端末装置にネットワークを経由して接続されたサーバ装置であって、
    複数の共通鍵を記憶する鍵情報記憶部と、
    前記ICカードと自装置との間で取引を認証する取引認証を行う際に、前記端末装置を経由して前記ICカードから受信した、共通鍵を特定する鍵特定情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置と前記ICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う取引制御部と
    を備え
    前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶し、
    前記取引制御部は、乱数に基づいて選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記ICカードから受信し、受信した前記鍵バージョン情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択し、選択した当該共通鍵に基づく暗号処理によって、前記取引認証を行う
    ーバ装置。
  9. 端末装置と通信する通信部と、複数の共通鍵を記憶する鍵情報記憶部とを備えるICカードのコンピュータに、
    前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択ステップと、
    前記通信部を用いて、前記端末装置にネットワークを経由して接続されたサーバ装置との間で取引を認証する取引認証を行う際に、前記鍵選択ステップによって選択された共通鍵を特定する鍵特定情報を前記通信部に送信させ、前記鍵選択ステップによって選択された共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置と前記ICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う処理ステップと
    を実行させるプログラムであり、
    前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶しており、
    前記鍵選択ステップにおいて、乱数に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから共通鍵を選択し、
    前記処理ステップにおいて、前記選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記通信部に送信させる
    ログラム。
  10. ICカードと通信可能な端末装置にネットワークを経由して接続されたサーバ装置であって、複数の共通鍵を記憶する鍵情報記憶部を備えるサーバ装置のコンピュータに、
    前記ICカードと自装置との間で取引を認証する取引認証を行う際に、前記端末装置を経由して前記ICカードから受信した、共通鍵を特定する鍵特定情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する鍵選択ステップと、
    選択した当該共通鍵に基づく暗号処理による演算値の一致によって、前記サーバ装置と前記ICカードとの間で互いの正当性、及び取引内容の正当性を確認する前記取引認証を行う取引制御ステップと
    を実行させるためのプログラムであり、
    前記鍵情報記憶部は、更新された鍵を識別する鍵バージョン情報と、共通鍵とを対応付けて記憶しており、
    前記鍵選択ステップにおいて、乱数に基づいて選択された共通鍵に対応付けられた前記鍵バージョン情報を前記鍵特定情報として、前記ICカードから受信し、受信した前記鍵バージョン情報に基づいて、前記鍵情報記憶部が記憶する前記複数の共通鍵のうちから、共通鍵を選択する
    ログラム。
JP2017083731A 2017-04-20 2017-04-20 Icカード、icカードシステム、サーバ装置、及びプログラム Active JP6925849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017083731A JP6925849B2 (ja) 2017-04-20 2017-04-20 Icカード、icカードシステム、サーバ装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017083731A JP6925849B2 (ja) 2017-04-20 2017-04-20 Icカード、icカードシステム、サーバ装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018182655A JP2018182655A (ja) 2018-11-15
JP6925849B2 true JP6925849B2 (ja) 2021-08-25

Family

ID=64276284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017083731A Active JP6925849B2 (ja) 2017-04-20 2017-04-20 Icカード、icカードシステム、サーバ装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP6925849B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11153428B2 (en) * 2020-03-02 2021-10-19 Capital One Services, Llc Systems, methods, and computer-accessible mediums for repressing or turning off the read of a digital tag
US10915888B1 (en) * 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821306B2 (ja) * 1992-03-06 1998-11-05 三菱電機株式会社 Icカードと端末機との間の認証方法およびそのシステム
JPH06231161A (ja) * 1993-02-04 1994-08-19 Oki Electric Ind Co Ltd Icカードによる金銭取引の不正改ざん防止システム
PL2780854T3 (pl) * 2011-11-14 2017-12-29 Vasco Data Security International Gmbh Czytnik inteligentnych kart z funkcją bezpiecznego rejestrowania

Also Published As

Publication number Publication date
JP2018182655A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
US11714885B2 (en) Encryption key exchange process using access device
US11374943B2 (en) Secure interface using non-secure element processors
CN109636593B (zh) 用于认证网络交易中的用户的系统和方法
CN110111087B (zh) 用于授权利用不可预期密码的交易的系统和方法
US6850916B1 (en) Portable electronic charge and authorization devices and methods therefor
CN107251595B (zh) 用户和移动装置的安全认证
CN116830139A (zh) 用于支付卡的基于url的认证
EP2204782A1 (en) Transaction method with e-payment card and e-payment card
EP3391266B1 (en) Method, device, server and system for authenticating a user
US20050182971A1 (en) Multi-purpose user authentication device
CN106233315A (zh) 用于数据脱敏的系统和方法
WO2014092234A1 (ko) 일회성 카드번호 생성방법
CN108345785B (zh) 内建智能安全行动装置
JP2018116435A (ja) 認証装置、認証システム、認証方法及びプログラム
US10699268B2 (en) Method, server and system for authorizing a transaction
JP6925849B2 (ja) Icカード、icカードシステム、サーバ装置、及びプログラム
US11551220B2 (en) Method for processing transaction data, corresponding communications terminal, card reader and program
KR102600489B1 (ko) 결제 수단 데이터의 가맹점 전용 분산 토큰화를 수행하는 토큰 처리 장치 및 그 동작 방법
JPWO2019107000A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2023167523A (ja) 電子情報記憶媒体、オンライン取引承認要求方法、及びプログラム
KR102652497B1 (ko) 스마트 카드를 이용한 did 인증 방법 및 스마트 카드 장치
JP2018101218A (ja) 携帯可能電子装置、プログラム、処理システム、端末およびicカード
TWI673667B (zh) 內建智慧安全行動裝置
JP7669029B2 (ja) アクション制御システム、アクション制御サーバ及びアクション制御方法
JP2026032664A (ja) ユーザ認証方法、認証装置、電子情報記憶媒体、及び端末用プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170913

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210804

R150 Certificate of patent or registration of utility model

Ref document number: 6925849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350