決済端末およびICカード
【課題】PIN照合と生体認証を組合せ、セキュリティと利便性を両立させた本人確認を行うことが可能な決済端末とICカードを提供すること。
【解決手段】本発明に関わる決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、該生体情報取得部を用いた生体認証を行うかを判定する。
【解決手段】本発明に関わる決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、該生体情報取得部を用いた生体認証を行うかを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードに関連するものである。
【背景技術】
【0002】
従来、金融取引のために用いるキャッシュカードやクレジットカードは、磁気ストライプ方式のカードを用いたものが主流であったが、近年において偽造カードを用いた不正利用が急増したため、ICカードへの置き換えが急速に進んでいる。ここで、ICカードは、カードに埋め込まれたICチップを用いてデータの保護を能動的に行うことが可能であり、磁気ストライプ方式のカードに比べて偽造が格段に困難になっている。現在、ICカードを用いたキャッシュカードやクレジットカードの仕様としては、EMV仕様がデファクトスタンダートとなっている。
【0003】
EMV仕様においては、ICカード所有者の本人確認方式としてPIN照合方式を採用している。ここでPIN (Personal Identification Number)はキャッシュカードやクレジットカードの暗証番号である。しかしながら、PIN照合方式は、ICカード所有者自身がPINの値を忘れてしまう可能性がある点と、盗用による成りすましを十分に防止できない点が課題となっている。そこで近年においては、指紋、静脈、虹彩といった、他人が盗むのが困難であると共に各個人で異なっている生体情報を利用した生体認証が注目されている。ICカードを用いた生体認証方式としては、特許文献1に開示がある。
【0004】
特許文献1では、予め本人の生体情報をICカードに保存しておき(以下ICカードに保存する生体情報を生体登録データと呼ぶ)、本人確認時に生体情報を検出する生体情報センサを用いて取得した生体情報(以下生体照合データと呼ぶ)を、ICカードに入力する。そしてICカードは、内部で生体登録データと生体照合データの照合処理を行うことで、本人か否かを確認する。
【0005】
【特許文献1】特開2001-344213
【発明の開示】
【発明が解決しようとする課題】
【0006】
キャッシュカードやクレジットカードで採用されているPIN照合方式は、不正利用者が適当なPINを繰り返し入力して、正しいPINを見つけ出すことを防止するために、PIN照合の失敗回数を設定しておき、設定回数だけPIN照合に失敗してしまったら、金融取引を利用できなくなる場合が多い。しかし、正当な利用者がPINの値を忘れてしまったり、間違って入力してしまったりした場合でも、金融取引が利用できなくなることが、利便性の面からの課題である。
【0007】
一方で、生体認証においても、例えばICカードに登録した生体登録データの精度が良くなかった場合や、生体の経年変化により、ICカードに登録した生体登録データと現在の生体情報の違いが大きくなってしまった場合、本人であっても他人と判定されてしまう可能性が大きくなる。このため、ICカードを用いた生体認証を、キャッシュカードやクレジットカードといった金融取引に用いた場合に、このような現象が発生すると、本人であっても金融取引を行えないという問題が発生してしまう。
【0008】
したがって、PIN照合と生体認証を組合せ、セキュリティと利便性を両立させた本人確認を行う決済端末とICカードを実現することが大きな課題となっている。
【課題を解決するための手段】
【0009】
上述した課題を解決するために、本発明に関わる決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、または、該生体情報取得部を用いた生体認証を行うかを判定する。
【0010】
また、本発明に関わるICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、本人確認方式の優先度を表す本人確認方式優先度と、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を管理する。
【0011】
さらに、本発明に関わるICカードは、第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能と、該第2のアプリケーションのハッシュ値を生成するアプリケーションハッシュ値生成機能を有し、該第1のアプリケーションは、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第1のハッシュ値を取得して保持しておき、その後、該アプリケーション間通信機能を用いて、該第2のアプリケーションとデータ通信を行う際に、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第2のハッシュ値を取得し、該第1のハッシュ値と、該第2のハッシュ値を比較することで、該第2のアプリケーションとのデータ通信を行うか否かを判断する。
【0012】
上述のようにすることで、PIN照合と生体認証を組合せ、セキュリティと利便性を両立させた本人確認を行うことが可能な決済端末とICカードを実現できる。
【発明の効果】
【0013】
本発明を用いることで、従来よりも、より信頼性を向上させた決済端末とICカードを実現できるものとなる。
【発明を実施するための最良の形態】
【0014】
以下、図面を用いて、本発明の実施例を説明する。
【実施例1】
【0015】
本発明の第1の実施例を、図1から図9を用いて説明していく。まず、図1は第1の実施例における決済システムの構成を示すブロック図であり、ICカード100、決済端末200、ネットワーク220、決済センタ230を含んで構成されるものである。
【0016】
ICカード100は決済端末200の利用者が保有し、本人確認と決済取引処理を行うために使用する。また、決済センタ230はホストコンピュータ等で構成され、決済端末200とネットワーク220を介して接続されており、決済処理の集中管理を行う。
【0017】
ここで本実施例では、決済端末200は、たとえば銀行のATMやクレジット決済端末を想定している。あるいは、携帯電話やPDA等の携帯可能な端末であっても良い。また、決済端末200の利用者がICカード100をキャッシュカードやクレジットカードといった金融カードとして保有することを想定しているが、決済取引処理に限らず、ICカード100を用いて行う本人確認を、入退出やネットワーク利用のアクセス管理に利用した場合でも本実施例の適用範囲である。
【0018】
次に、ICカード100の内部構成について説明する。ICカード100は通信部101と、メモリ102と、演算処理部103を有している。通信部101はICカード100が外部と通信するために使用し、例えば国際標準規格であるISO/IEC 7816で規定している接触通信に基づくことが考えられる。あるいは国際標準規格であるISO/IEC14443で規定している非接触通信に基づくことが考えられる。あるいは他の規格に基づいて通信を行う場合であっても本実施例の適用範囲である。
【0019】
メモリ102は、ICカード100が保持するプログラムやデータを格納する機能を有し、ROM(Read Only Memory)や EEPROM(Electrical Erasable Programmable Read Only Memory)、あるいはRAM(Random Access Memory) 等の半導体メモリから構成される。演算処理部103はICカード100全体の制御を司り、通信部101経由でコマンドを受信したら、メモリ102に格納しているプログラムに基づいて、コマンドに応じた処理を行い、対応するレスポンスを通信部101経由で外部に送信するといった制御を行う。
【0020】
次に、決済端末200の内部構成について説明する。決済端末200は、ICカード通信部201と、PIN入力部202と、生体情報センサ203と、メモリ204と、センタ通信部205と、ユーザインタフェース部206と、演算処理部207を有している。ICカード通信部201はICカード100を制御するために用い、例えば国際標準規格であるISO/IEC 7816で規定している接触通信に基づくことが考えられる。あるいは国際標準規格であるISO/IEC14443で規定している非接触通信に基づくことが考えられる。あるいは他の規格に基づいて通信を行う場合であっても本実施例の適用範囲である。
【0021】
PIN入力部202は利用者のPINを入力するための機能を有し、数字入力専用の小型キーボードであるテンキーキーボードを用いる事が考えられる。生体情報センサ205は生体情報を読取る機能を有しており、例えば指紋や指静脈を読取ることが考えられる。あるいは、他の生体情報を読取る機能を有していても本実施例の適用範囲である。
【0022】
メモリ204は決済端末200が使用する決済プログラム210や関連データを格納する機能を有し、ハードディスクや半導体メモリ等から構成される。センタ通信部205は決済センタ230とデータ通信を行うために用い、電話やインターネット等の公衆回線網、あるいは専用の回線網に接続する機能を有する。
【0023】
ユーザインタフェース部206は、決済端末200の利用者に対して画像や文字等の視覚情報あるいは音声情報を出力して提示すための表示機能と、決済端末200の利用者が必要な情報を入力することを可能にする入力機能を有する。表示機能としてはブラウン管ディスプレイや液晶ディスプレイを用いることが考えられる。入力機能としてはキーボードやタッチパネルを用いることが考えられる。演算処理部207は決済端末200全体の制御を司り、メモリ204に格納されている決済プログラム210に基づいて、ICカード100を用いた決済処理を実施する。
【0024】
次に、ICカード100のメモリ102に格納する、プログラムとデータの構成について説明する。メモリ100には、決済アプリケーション110と、生体認証アプリケーション130と、オペレーティングシステム140と、共有バッファ150が格納されている。
【0025】
決済アプリケーション110はICカード100を用いた決済処理を実行するために使用するICカードアプリケーションプログラムである。生体認証アプリケーション130はICカード100を用いた生体認証処理を実行するために使用するICカードアプリケーションプログラムである。
【0026】
オペレーティングシステム140は、決済アプリケーション110と、生体認証アプリケーション130を実行するために必要な基本機能を提供するシステムプログラムであり、外部から指定されたICカードアプリケーションを選択して実行する機能を有している。また、各ICカードアプリケーションが管理しているプログラムやデータを他のICカードアプリケーションから保護するファイヤーフォール機能を有しており、各ICカードアプリケーションを安全に実行することが可能である。オペレーティングシステム140の具体例としては、ICカードのオペレーティングシステムであるMULTOSやJava(登録商標)Cardが挙げられる。あるいは他のオペレーティングシステムを用いても本実施例の適用範囲である。
【0027】
共有バッファ150は、通信部101経由で受信したコマンドや対応するレスポンスを格納するためのバッファである。共有バッファ150は、決済アプリケーション110と生体認証アプリケーション130の間で送受信するデータを格納するためにも用いる。ここで、決済アプリケーション110はPIN照合による本人確認を行う機能は有しているが、生体認証による本人確認を行う機能は有していない。このため、決済アプリケーション110が生体認証による本人確認を実行する場合は、生体認証アプリケーション130に生体認証処理を共有バッファ150経由で委譲することになる。
【0028】
次に、決済アプリケーション110のデータ構成について説明する。決済アプリケーション110が管理するデータは、決済AID111と、生体AIDリスト112と、決済AP鍵113と、生体APハッシュ値114と、本人確認方式リスト115と、本人確認方式優先度116と、登録PIN117と、生体認証残回数118と、PIN照合残回数119と、本人確認結果120と、利用者識別番号121を含んでいる。
【0029】
決済AID111は、決済アプリケーション110に付与されたアプリケーション識別子(AID : Application IDentifier)である。ここで、AIDはICカードアプリケーションを一意に識別して、オペレーティングシステム140がアプリケーションを選択するために使用する識別子である。国際的に流通するICカードアプリケーションのAID 付番方法としては、国際規格のISO/IEC 7816-5で定められている。
【0030】
生体AIDリスト112は、決済アプリケーション110から利用可能な生体認証アプリケーションのAIDのリストである。もし決済アプリケーション110が、1種類の生体認証アプリケーションにしか対応していなければ、生体AIDリスト112には、対応している生体認証アプリケーションのAIDだけを格納しておく。決済AP鍵113は、決済アプリケーション110が決済処理で実行する各種暗号演算処理で用いる鍵データである。
【0031】
生体APハッシュ値114は、決済アプリケーション110が利用する生体認証アプリケーションのハッシュ値である。ここで、ハッシュ値とは、対象とするデータやプログラムを、ハッシュ関数と呼ばれる関数で演算した結果の値である。ハッシュ値には、異なるデータから同じハッシュ値が得られる頻度は非常に小さく、ハッシュ値からは基のデータを推定することが出来ないという特徴がある。このため、決済アプリケーション110は予め生体APハッシュ値114を取得しておき、生体認証アプリケーションに対して生体認証を委譲する際に、再度生体APハッシュ値114を取得して比較することで、生体認証アプリケーションのデータやプログラムが破壊や改ざんによって、変更されてしまったことを検出することが可能になる。もし決済アプリケーション110が、生体認証アプリケーションの破壊や改ざんを検出したら、生体認証処理の委譲を取りやめるといった判断を行うことが可能になる。
【0032】
ここで、生体APハッシュ値114を生成するハッシュ関数としては、例えばSHA-1ハッシュ関数を用いることが考えられる。あるいは他のハッシュ関数を用いても、本実施例の適用範囲である。なお、信頼できるハッシュ関数を用いれば、生体APハッシュ値114からは、生体アプリケーションの内容は推定できないため、生体アプリケーションの内容が漏洩する心配は無い。
【0033】
本人確認方式リスト115は、決済アプリケーション110で実行可能な本人確認方式のリストである。本人確認方式優先度116は、生体認証による本人確認とPIN照合による本人確認のどちらの方が、優先度が高いかを表す。例えば本人確認方式優先度116の値が「0」ならば生体認証の優先度が高く、「1」ならばPIN照合の優先度が高く、「2」ならば両方式の優先度は同じであると符号化する。あるいは他の符号化で優先度を表す場合でも本実施例の適用範囲である。また、決済アプリケーション110が対応する生体認証方式が複数種類ある場合に、それぞれの生体認証方式の優先順位を表しても良い。
【0034】
登録PIN117は、ICカード100の利用者のPINである。生体認証残回数118は決済アプリケーション110経由で実行する生体認証処理の残り試行回数を設定する。PIN照合残回数119は決済アプリケーション110が実行するPIN照合処理の残り試行回数を設定する。生体認証残回数118とPIN照合残回数119は、所定の正の整数値が初期値として設定され、本人確認が失敗するたびに減じていく。もし生体認証残回数118が「0」となった場合、決済アプリケーション110は、生体認証を実行不可にする。また、もしPIN照合残回数119が「0」となった場合、決済アプリケーション110は、PIN照合を実行不可にする。
本実施例の説明では、決済アプリケーション110は生体認証残回数118を用いて生体認証の実行可否の管理を行っているが、決済アプリケーション110は生体認証の残り試行回数でなく、生体認証が失敗した回数を保持しておくことで、生体認証の実行可否の管理を行っても本実施例の適用範囲である。
また、本実施例の説明では、決済アプリケーション110はPIN照合残回数119を用いてPIN照合の実行可否の管理を行っているが、決済アプリケーション110はPIN照合の残り試行回数でなく、PIN照合が失敗した回数を保持しておくことで、PIN照合の実行可否の管理を行っても本実施例の適用範囲である。
【0035】
本人確認結果120は、決済アプリケーション110が本人確認を行った結果を設定する。利用者識別番号121は、ICカード100の利用者を識別するための番号である。例えば、クレジットカード決済の場合はクレジットカード番号を設定し、キャッシュカード取引の場合は銀行口座番号を設定することが考えられる。あるいは他の番号で利用者を識別しても良い。
【0036】
次に、生体認証アプリケーション130のデータ構成について説明する。生体認証アプリケーション130が管理するデータは、生体AID131と、生体登録データ132と、決済APハッシュ値133を含んでいる。
【0037】
生体AID131は生体認証アプリケーション130に付与されたアプリケーション識別子であり、前述した決済AID111と同様に、ICカードアプリケーションを一意に識別して、オペレーティングシステム140がICカードアプリケーションを選択するために使用する。生体登録データ132は、ICカード100の利用者が登録した生体情報である。生体登録データ132としては、指紋パターンあるいは指静脈パターンを用いることが考えられる。あるいは他の生体情報を扱っても本実施例の適用範囲である。決済APハッシュ関数133は、決済アプリケーション110のハッシュ値であり、決済アプリケーション110の破壊や改ざんを検出するために使用する。
【0038】
次に、オペレーティングシステム140が管理するデータと機能について説明する。オペレーティングシステム140は、アプリケーション管理テーブル141を保持している。また、外部通信機能142と、アプリケーション追加削除機能143と、アプリケーション実行機能144と、アプリケーション間通信機能145と、アプリケーションハッシュ値生成機能146を有している。
【0039】
アプリケーション管理テーブル141は、オペレーティングシステム140が、ICカードアプリケーションを管理するために使用するテーブルである。
【0040】
外部通信機能142は、通信部101を制御してICカード100外部からコマンドを受信すると共に、対応するレスポンスを送信する機能である。アプリケーション追加削除機能143は、ICカードアプリケーションをICカード100外部からダウンロードし、ダウンロードしたICカードアプリケーションをアプリケーション管理テーブル141に登録して実行可能にする機能と、アプリケーション管理テーブル141に登録されているICカードアプリケーションを削除する機能である。
【0041】
アプリケーション実行機能144は、ICカード100外部からのコマンドによって、アプリケーション管理テーブル141に登録されている何れかのICカードアプリケーションを選択し、その後、ICカード100外部からコマンドを受信したら、選択したICカードアプリケーションを実行してコマンドに対応する処理を行う機能である。
【0042】
ここで、ICカードアプリケーションは、ICカードのハードウェアに依存しない専用の命令セット仕様に基づいて作られたプログラムであり、アプリケーション実行機能144は、専用の命令セット仕様に基づいて作られたプログラムを読み込んで実行していくインタプリタ(あるいは仮想マシン)処理を行う。
【0043】
アプリケーション実行機能144は、ICカードアプリケーションのプログラムとデータを、ICカード100外部、およびICカード100内部に登録されている他のICカードアプリケーションによる不正なアクセスから保護するファイヤーウォール機能も有している。アプリケーション実行機能144の具体例としては、ICカードのオペレーティングシステムであるMULTOSやJava(登録商標)Cardが備えている機能が挙げられる。
【0044】
アプリケーション間通信機能145は、現在実行中のICカードアプリケーションAが、指定のICカードアプリケーションBにメッセージを送信し、ICカードアプリケーションBからメッセージに対応する処理結果を受信することを可能にする機能である。
【0045】
具体的には、現在実行中のICカードアプリケーションAが、メッセージを共有バッファ150に格納すると共に、ICカードアプリケーションBのAIDを指定してアプリケーション間通信機能145を呼出すと、アプリケーション間通信機能145は、ICカードアプリケーションAを一時停止状態にしてから、AIDで指定されたICカードアプリケーションBを実行可能状態にする。ICカードアプリケーションBは、メッセージに対応する処理を行い、処理結果を共有バッファ150に格納してから処理を終了する。
【0046】
その後、アプリケーション間通信機能145は、ICカードアプリケーションAを実行可能状態に戻す。そして、ICカードアプリケーションAは、メッセージに対応する処理結果を共有バッファ150から取得する。メッセージと対応する処理結果は共有バッファ150に格納されるので、ICカードアプリケーション間で共有されるが、メッセージに対応する処理はICカードアプリケーション内部で実行するため、処理内容を他のICカードアプリケーションから隠蔽することが可能になる。
【0047】
アプリケーション間通信機能145は、本実施例で説明するように、決済アプリケーション110が、生体認証アプリケーション130に対して、生体認証処理を依頼する際に使用する。アプリケーション間通信機能145の具体例としては、ICカードのオペレーティングシステムであるMULTOSが有しているデリゲーション機能、あるいはJava(登録商標)Cardが有しているSIO(Shareable Interface Object)機能が挙げられる。
【0048】
アプリケーションハッシュ値生成機能146は、アプリケーション管理テーブル141に登録されているICカードアプリケーションのプログラムあるいはデータに対するハッシュ値をハッシュ関数を用いて生成する機能である。ハッシュ値を生成するハッシュ関数としては、例えばSHA-1ハッシュ関数を用いることが考えられる。あるいは他のハッシュ関数を用いても、本実施例の適用範囲である。
【0049】
また、実行中のICカードアプリケーションは、他のICカードアプリケーションのAIDを指定して、アプリケーションハッシュ値生成機能146を呼出すことで、指定したICカードアプリケーションのハッシュ値を取得することが出来る。ここで、ハッシュ値を生成する元データとしては、ICカードアプリケーションを構成するプログラムとデータ全体、あるいはプログラムの全体か一部分、あるいはデータの全体か一部分のいずれの場合も本実施例の適用範囲である。
【0050】
次に、アプリケーション管理テーブル141の構成例を図2に示す。図2において、アプリケーション管理テーブル141は、登録されているICカードアプリケーション毎に、AID161と、アプリケーション参照アドレス162と、アプリケーションサイズ163と、選択フラグ164と、呼出し順序165と、アプリケーションハッシュ値166を記録しているテーブルである。ここで、AID161は、対応するICカードアプリケーションを一意に識別して、オペレーティングシステム140がアプリケーションを選択するために使用する識別子である。
【0051】
アプリケーション参照アドレス162は、対応するICカードアプリケーションを保持しているメモリの先頭アドレスである。図2においては、各ICカードアプリケーションに対して1個のアドレスだけを設定しているが、コード部の先頭アドレスとデータ部の先頭アドレスという様に複数のアドレスを設定していても良い。
【0052】
アプリケーションサイズ163は、対応するICカードアプリケーションのサイズである。図2においては、各ICカードアプリケーションに対して1個のサイズだけを設定しているが、コード部のサイズ、データ部のサイズという様に複数のサイズを設定していても良い。選択フラグ164は対応するICカードアプリケーションが現在選択されているか否かを表す。図2の例では、ICカードアプリケーションが選択されている場合は「1」とし、選択されていない場合は「0」としているが、他の表記法であっても良い。呼出し順序165は、アプリケーション間通信機能145によって、呼出されているICカードアプリケーションの順序を表す。図2の例では呼出し順を数字の大小で表しているが、他の表記法で実現しても良い。
【0053】
アプリケーションハッシュ値166は、対応するICカードアプリケーションのハッシュ値を設定する。図2においては、各ICカードアプリケーションに対して1個のハッシュ値だけを設定しているが、コード部全体あるいは一部分のハッシュ値、データ部の全体あるいは一部分のハッシュ値という様に複数のハッシュ値を設定していても良い。なお、前述したアプリケーションハッシュ値生成機能146は、ハッシュ値の生成要求を受ける度に、対応するICカードアプリケーションのハッシュ値を再計算しても良いし、ハッシュ値の再計算は行わずに、アプリケーション管理テーブル141に登録されているアプリケーションハッシュ値166を参照しても本実施例の適用範囲である。
【0054】
次に、本人確認方式リスト115の内部構成例を図3に示す。図3において、本人確認方式リスト115には、本人確認方式ID170が複数個含まれている構成となっている。本人確認方式ID170は、本人確認方式を識別するための番号である。図3に示した例においては、本人確認方式ID170が「1」の場合はオフラインPIN照合による本人確認を表し、「2」の場合はオンラインPIN照合による本人確認を表し、「3」の場合は指静脈認証による本人確認を表し、「4」の場合は指紋認証による本人確認を表し、「5」の場合は虹彩認証による本人確認を表す。また「0」の場合は本人確認が不要という意味になる。
【0055】
ここで、オフラインPIN照合とは、ICカード100内部でPIN照合を行う方式であり、オンラインPIN照合は決済センタ230でPIN照合を行う方式である。本人確認方式リスト115としては、本人確認方式を識別できれば、図3で示した以外の表記方法でも、本実施例の適用範囲である。
【0056】
次に、ICカード100と決済端末200の間で行う、決済処理シーケンスを図4に示す。図4に示す決済処理シーケンスでは、本人確認として生体認証を行う。
【0057】
[ステップS1001] 決済端末200はICカード100内部の決済アプリケーション110を選択するために、決済アプリケーション110のAIDである決済AIDをICカード100に送信し、決済アプリケーション110から生体AIDリストを受信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばISO/IEC 7816およびEMV仕様で規定しているSELECT FILEコマンドを用いることが考えられる。
【0058】
[ステップS1002] 決済アプリケーション110はオペレーティングシステム140のアプリケーション実行機能144によって選択され、決済アプリケーション110が保持している生体AIDリストを決済端末200に返信する。
【0059】
[ステップS1003] 決済端末200は決済アプリケーション110から取得した生体AIDリストから、実行可能な生体認証の生体AIDを選択し、決済処理を初期化するために、選択した生体AIDをICカードアプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているGET PROCESSING OPTIONSコマンドを用いることが考えられる。
【0060】
[ステップS1004] 決済アプリケーション110は、指定された生体AIDが、生体AIDリスト112に含まれていなければ生体認証は行わないと判断する。あるいは、指定された生体AIDが、生体AIDリスト112に含まれていれば、指定された生体AIDに対応する生体認証アプリケーション130が不正に改ざんされていないかを確認するために、オペレーティングシステム140に対して、生体認証アプリケーション130のハッシュ値の生成を依頼する。
【0061】
[ステップS1005] オペレーティングシステム140は、指定された生体AIDに対応する生体認証アプリケーション130を、アプリケーション管理テーブル141を用いて検索し、アプリケーションハッシュ値生成機能146を用いて、生体認証アプリケーション130のハッシュ値を生成する。
【0062】
[ステップS1006] 決済アプリケーション110は、取得したハッシュ値と、予め取得している生体APハッシュ値114の比較を行う。もし比較結果が一致していれば、生体認証アプリケーション130は利用可能と判断し、一致していなければ、生体認証アプリケーション130は不正な改ざんがあったと判断する。
【0063】
[ステップS1007] 決済端末200は、決済アプリケーション110から、本人確認方式リストと本人確認方式優先度の取得要求を送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているREAD RECORDコマンドを用いることが考えられる。
【0064】
[ステップS1008] 決済アプリケーション110は、ステップS1004およびステップS1006で生体認証アプリケーション130が利用可能と判断していれば、本人確認方式リスト115に対応する生体認証方式とPIN照合方式を追加する。あるいは生体認証アプリケーション130が利用不可と判断していれば、本人確認方式リスト115にPIN照合方式のみを追加する。そして、本人確認方式リスト115と本人確認方式優先度116を決済端末200に返信する。
【0065】
[ステップS1009] 決済端末200は、本人確認方式リスト115と本人確認方式優先度116から生体認証を実行可能であることを確認したら、生体情報センサ203を用いて利用者の生体照合データを取得する。
【0066】
[ステップS1010] 決済端末200は、生体認証による本人確認を行うために、利用者の生体照合データを、決済アプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているVERIFYコマンドを用いることが考えられる。
【0067】
[ステップS1011] 決済アプリケーション110は、取得した生体照合データを、生体認証アプリケーション130に送信して、生体認証処理を生体認証アプリケーション130に委譲する。この委譲処理は、オペレーティングシステム140のアプリケーション間通信機能145を介して行う。そして、生体認証アプリケーション130から本人確認結果を取得し、本人確認結果120として保存すると共に、本人確認結果を決済端末200に送信する。
【0068】
[ステップS1012] 生体認証アプリケーション130は、決済アプリケーション110が不正に改ざんされていないかを確認するために、オペレーティングシステム140に対して決済アプリケーション110のハッシュ値の生成を依頼する。
【0069】
[ステップS1013] オペレーティングシステム140は、アプリケーションハッシュ値生成機能146を用いて、決済アプリケーション110のハッシュ値を生成する。
【0070】
[ステップS1014] 生体認証アプリケーション130は、取得したハッシュ値と、予め取得している決済APハッシュ値133の比較を行う。もし比較結果が一致していなければ、決済アプリケーション110は不正な改ざんがあったと判断し、生体認証処理を中断する。
【0071】
[ステップS1015] 生体認証アプリケーション130は、決済アプリケーション110から取得した生体照合データと、予め保持している利用者の生体登録データを用いた生体認証処理を行う。そして生体認証の結果を、本人確認結果として、決済アプリケーション110に返信する。
【0072】
[ステップS1016] 決済端末200は、決済アプリケーション110から取得した本人確認結果をが「成功」であれば、決済処理を行うために、取引関連データを決済アプリケーション110に送信する。ここで、取引関連データは、取引金額、取引日時、認証用乱数などが含まれているデータである。その後、決済端末200は、決済アプリケーション110から取引了承データを取得する。ここで、取引了承データは、決済アプリケーション110が決済処理を了承したことを表すデータであり、暗号処理を用いて生成される。
ここで、取引了承データは、決済アプリケーション110が決済処理を了承したことを表すデータであり、暗号処理を用いて生成される。
決済アプリケーション110から取得した取引了承データは、決済センタ230に転送することで、決済処理の最終確認を行っても良い。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているGENERATE APPLICATION CRYPTOGRAMコマンドを用いることが考えられる。
【0073】
[ステップS1017] 決済アプリケーション110は、決済端末から取引関連データを取得したら、本人確認結果120を確認する。そして本人確認結果120が成功となっており、取引内容が正しいと判断したら、決済AP鍵113を用いた暗号処理を施して取引了承データを生成する。ここで、取引了承データを生成するための暗号処理としては、DES暗号等の共通鍵暗号方式を用いても、あるいはRSA暗号等の公開鍵暗号方式を用いても本実施例の適用範囲である。
【0074】
図4を用いて説明した決済処理シーケンスでは、決済アプリケーション100と生体認証アプリケーション130の間で、お互いのハッシュ値を、オペレーティングシステム140を介して取得して、不正な改ざんを検出しているので、ICカードアプリケーション間の通信を安全に行うことができる。なお、決済端末200がICカード100に送信する生体照合データは、盗聴や改ざんからの保護のために暗号処理を行っても良い。この場合、生体照合データの暗号処理を行う際に使用する鍵データは、事前に所定の鍵共有プロトコルを用いて、処理決済端末200と生体認証アプリケーション130との間で共有していても良い。
【0075】
次に、決済端末200が行う本人確認処理フローを図5に示す。本処理は、図4に示した決済処理シーケンスのステップS1001、ステップS1003およびステップS1007で行う。
【0076】
[ステップS5000] 決済端末200は、ICカード100に格納されている生体認証アプリケーションのAIDリストである生体AIDリストを、ICカード100から取得する。
【0077】
[ステップS5001] 決済端末200は、ICカード100から取得した生体AIDリストの中から、決済端末200で利用可能な生体認証方式に対応する生体AIDを選択し、選択した生体AIDをICカード100に送信する。ここで、もしICカード100から生体AIDリストを取得しなかった場合や、ICカード100から生体AIDリストが空だった場合や、決済端末200で利用可能な生体認証方式が無かった場合は、生体AIDをICカード100に送信しなくて良い。その後、ICカード100から本人確認方式リストと本人確認方式優先度を取得する。
【0078】
[ステップS5002] ICカード100から取得した本人確認方式リストに本人確認不要と記載されていれば、本人確認処理を実施しないで、ステップS5012に進む。本人確認不要と記載されていなければステップS5003に進む。
【0079】
[ステップS5003] ICカード100から取得した本人確認方式リストに、決済端末200が選択した生体認証方式が記載されていれば、ステップS5005に進む。そうでなければ、ステップS5004に進む。
【0080】
[ステップS5004] ICカード100から取得した本人確認方式リストに、PIN照合が記載されていれば、ステップS5007に進む。そうでなければ、本人確認失敗となり、ステップS5011に進む。
【0081】
[ステップS5005] ICカード100から取得した本人確認方式リストに、PIN照合が記載されていれば、ステップS5006に進む。そうでなければ、ステップS5008に進む。
【0082】
[ステップS5006] ICカード100から取得した本人確認方式優先度を確認し、PIN照合が生体認証より優先度が高い場合は、ステップS5007に進む。あるいは生体認証がPIN照合より優先度が高い場合はステップS5008に進む。あるいは生体認証とPIN照合の優先度が等しい場合は、ステップS5009に進む。
【0083】
[ステップS5007] 決済端末200は利用者に、PIN照合による本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、PIN入力部202を用いて、利用者にPINを入力させ、PIN照合を行う。PIN照合はICカード100内部で行うオフラインPIN照合の場合でも、決済センタ230で行うオンラインPIN照合の場合でも本実施例の適用範囲である。
【0084】
[ステップS5008] 決済端末200は利用者に、生体認証による本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、生体情報センサ203を用いて、利用者の生体照合データを生成し、生体認証を行う。生体認証は、生体照合データをICカード100に送信することで行う。
【0085】
[ステップS5009] 決済端末200は利用者に、PIN照合あるいは生体認証の何れかで本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、利用者がPIN照合を選択した場合は、PIN入力部202を用いて、利用者にPINを入力させ、PIN照合を行う。PIN照合はICカード100内部で行うオフラインPIN照合の場合でも、決済センタ230で行うオンラインPIN照合の場合でも本実施例の適用範囲である。あるいは、利用者が生体認証を選択した場合は、生体情報センサ203を用いて、利用者の生体照合データを生成し、生体認証を行う。
【0086】
[ステップS5010] PIN照合あるいは生体認証による本人確認結果が成功したら、ステップS5012に進む。そうでなければステップS5011に進む。
【0087】
[ステップS5011] 決済端末200は、利用者の本人確認が失敗したため、決済処理中止する。
【0088】
[ステップS5012] 決済端末200は、利用者の本人確認が成功したので、決済処理を継続する。
【0089】
図5を用いて説明した決済端末200が行う本人確認処理フローでは、決済端末200はICカード100から取得した本人確認方式リストと本人確認方式優先度に基づいて、PIN照合と生体認証の何れかの本人確認方式を適切に選択することが出来る。このため、ICカード100が生体認証に対応していないのに、利用者に生体認証を行うガイダンスを提示してしまうといった振る舞いを防止出来る。
【0090】
なお、ステップS5011において選択した本人確認方式が失敗した場合に、失敗した本人確認方式とは異なる、未実施の本人確認方式が本人確認方式リストに記載されていれば、未実施の本人確認方式を追加で実施しても良い。また、追加で実施した本人確認方式が成功した場合は、決済処理を中断させずに継続しても良い。この場合、最初に実施した本人確認が失敗しているため、決済処理の限度額を減らすといった何らかの条件を課すことが考えられる。
【0091】
次に、ICカード100内部の決済アプリケーション110が行う、本人確認方式リスト115の設定処理フローを図6に示す。本処理は、図4に示した決済処理シーケンスのステップS1008で行う。
【0092】
[ステップS2000] 決済アプリケーション110は、本人確認方式リスト115に、決済アプリケーション110が対応している本人確認方式を全て追加しておく。
【0093】
[ステップS2001] 決済端末200が特定の生体認証方式を生体AIDで指定してきた場合は、ステップS2002に進む。あるいは、生体認証方式を指定してこなければステップS2006に進む。
【0094】
[ステップS2002] 決済アプリケーション110が、決済端末200が指定した生体AIDに対応する生体認証方式に対応している場合は、ステップS2003に進む。そうでなければステップS2005に進む。
【0095】
[ステップS2003] 決済アプリケーション110は、生体認証アプリケーションのハッシュ値を検証し、不正な改ざんが行われていないことが確認できたらステップS2004に進む。そうでなければステップS2005に進む。
【0096】
[ステップS2004] 決済アプリケーション110は、生体認証残回数118を確認し、もし「0」でなければステップS2007に進む。あるいは「0」であればステップS2005に進む。
【0097】
[ステップS2005] 決済アプリケーション110は、本人確認方式リスト115から、決済端末200が指定した生体認証方式を削除する。
【0098】
[ステップS2006] 決済アプリケーション110は、本人確認方式リスト115から、全ての生体認証方式を削除する。
【0099】
[ステップS2007] 決済アプリケーション110は、PIN照合残回数119を確認し、もし「0」でなければステップS2009に進む。あるいは「0」であればステップS2008に進む。
【0100】
[ステップS2008] 決済アプリケーション110は、決済アプリケーション110は、本人確認方式リスト115から、PIN照合を削除する。
【0101】
[ステップS2009] 決済アプリケーション110は、本人確認リスト115と本人確認方式優先度116を決済端末200に送信する。
【0102】
図6を用いて説明した本人確認方式リスト115の設定処理フローを用いることで、決済アプリケーション110は、決済アプリケーション110と決済端末200の間で処理可能な、本人確認方式を設定した本人確認方式リスト115を、決済端末200に送信する事が可能になる。
【0103】
次に、ICカード100内部の決済アプリケーション110が行う、PIN照合の処理フローを図7に示す。
【0104】
[ステップS3001] 決済アプリケーション110は、決済端末200からPIN照合要求を受信したら、PIN照合残回数119を確認し「0」であればステップS3011 に進む。そうでなければステップS3002に進む。
【0105】
[ステップS3002] 決済アプリケーション110は、PIN照合処理として、決済端末200から受信したPINと、決済アプリケーション110が保持している登録PIN117が一致するかを確認する。
【0106】
[ステップS3003] 決済アプリケーション110は、ステップS3002で行ったPIN照合処理の結果が成功したらステップS3004に進む。そうでなければステップS3008に進む。
【0107】
[ステップS3004] 決済アプリケーション110は、PIN照合処理が成功したので、PIN照合残回数119を初期設定値に戻す。例えば、PIN照合残回数119が初めに「5」と設定されていたら初期設定値は「5」となる。あるいは、PIN照合残回数119を所定の値だけ加算しても本実施例の適用範囲である。
【0108】
[ステップS3005] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であればステップS3006に進む。そうでなければステップS3007に進む。
【0109】
[ステップS3006] 決済アプリケーション110は、生体認証残回数118を初期設定値に戻す。例えば、生体認証残回数118が初めに「10」と設定されていたら初期設定値は「10」となる。あるいは、生体認証残回数118を所定の値だけ加算しても本実施例の適用範囲である。
【0110】
[ステップS3007] 決済アプリケーション110は、本人確認結果120を「成功」と設定する。
【0111】
[ステップS3008] 決済アプリケーション110は、PIN照合が失敗したので、PIN照合残回数119を所定の値だけ減じる。
【0112】
[ステップS3009] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であればステップS3010に進む。そうでなければステップS3011に進む。
【0113】
[ステップS3010] 決済アプリケーション110は、生体認証残回数118を所定の値だけ減じる。
【0114】
[ステップS3011] 決済アプリケーション110は、本人確認結果120を「失敗」と設定する。
【0115】
[ステップS3012] 決済アプリケーション110は、本人確認結果120を決済端末200に送信する。
【0116】
図7を用いて説明した決済アプリケーション110が行うPIN照合の処理フローでは、PIN照合の優先度が生体認証の優先度以上である場合、PIN照合が成功したらPIN照合残回数119と共に生体認証残回数118を初期化し、PIN照合が失敗したらPIN照合残回数119と共に生体認証残回数118を所定の値だけ減じる。これにより、生体認証残回数118が「0」となり生体認証が行えなくなった場合でも、PIN照合を成功させることで、次回から再び生体認証を実行出来るようになる。ここで、PIN照合の優先度が生体認証の優先度より小さい場合、生体認証残回数118は、PIN照合の結果によって変動はしないため、生体認証はPIN照合の成否に影響しない。
【0117】
次に、ICカード100内部の決済アプリケーション110が行う、生体認証の処理フローを図8に示す。
【0118】
[ステップS4001] 決済アプリケーション110は、決済端末200から生体認証要求を受信したら、生体認証残回数118を確認し「0」であればステップS4011 に進む。そうでなければステップS4002に進む。
【0119】
[ステップS4002] 決済アプリケーション110は、決済端末200から受信した生体照合データを、生体認証アプリケーション130に送信することで生体認証を実施してもらい、生体認証アプリケーション130から生体認証結果を取得する。
【0120】
[ステップS4003] 決済アプリケーション110は、ステップS34002で生体認証アプリケーション130からから取得した生体認証結果が成功ならばステップS4004に進む。そうでなければステップS4008に進む。
【0121】
[ステップS4004] 決済アプリケーション110は、生体認証が成功したので、生体認証残回数118を初期設定値に戻す。あるいは、生体認証残回数118を所定の値だけ加算しても本実施例の適用範囲である。
【0122】
[ステップS4005] 決済アプリケーション110は、本人確認方式優先度116を参照し、生体認証の優先度がPIN照合の優先度以上であればステップS4006に進む。そうでなければステップS4007に進む。
【0123】
[ステップS4006] 決済アプリケーション110は、PIN照合残回数119を初期設定値に戻す。あるいは、PIN照合残回数119を所定の値だけ加算しても本実施例の適用範囲である。
【0124】
[ステップS4007] 決済アプリケーション110は、本人確認結果120を「成功」と設定する。
【0125】
[ステップS4008] 決済アプリケーション110は、生体認証が失敗したので、生体認証残回数118を所定の値だけ減じる。
【0126】
[ステップS4009] 決済アプリケーション110は、本人確認方式優先度116を参照し、生体認証の優先度がPIN照合の優先度以上であればステップS4010に進む。そうでなければステップS4011に進む。
【0127】
[ステップS4010] 決済アプリケーション110は、PIN照合残回数119を所定の値だけ減じる。ここで、生体認証残回数118の値をNとして、Nが所定の整数Mの倍数となっている場合のみ、PIN照合残回数119を減じるという処理を行ってもよい。例えば、M=5とすれば、生体認証が5回失敗する度に、PIN照合残回数119を減じることになる。
【0128】
[ステップS4011] 決済アプリケーション110は、本人確認結果120を「失敗」と設定する。
【0129】
[ステップS4012] 決済アプリケーション110は、本人確認結果120を決済端末200に送信する。
【0130】
図8を用いて説明した決済アプリケーション110が行う生体認証の処理フローでは、生体認証の優先度がPIN照合の優先度以上である場合、生体認証が成功したら生体認証残回数118と共にPIN照合残回数119を初期化し、PIN照合が失敗したら生体認証残回数118と共にPIN照合残回数119を所定の値だけ減じる。これにより、PIN照合残回数119が「0」となりPIN照合が行えなくなった場合でも、生体認証を成功させることで、次回から再びPIN照合を実行出来るようになる。ここで、生体認証の優先度がPIN照合の優先度より小さい場合、PIN照合残回数119は、生体認証の結果によって変動せず、PIN照合は生体認証の成否に影響しない。
【0131】
次に、ICカード100内部の決済アプリケーション110のPIN照合が利用不可となってしまった場合に、生体認証を用いてPIN照合を利用可能に戻すと共に、新しいPINに更新する処理シーケンスを図9に示す。
【0132】
[ステップS3501] 決済端末200は、生体情報センサ203を用いて利用者の生体照合データを取得すると共に、PIN入力部202を用いて利用者に新しいPINを入力させる。
【0133】
[ステップS3502] 決済端末200は、ステップS3501で取得した利用者の生体照合データと新しいPINを、決済アプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているPIN CHANGE/UNBLOCKコマンドを用いることが考えられる。
【0134】
[ステップS3503] 決済アプリケーション110は、取得した生体照合データを、生体認証アプリケーション130に送信して、生体認証処理を生体認証アプリケーション130に委譲する。そして、生体認証アプリケーション130から本人確認結果を取得する。
【0135】
[ステップS3504] 生体認証アプリケーション130は、決済アプリケーション110から取得した生体照合データと、予め保持している利用者の生体登録データを用いた生体認証処理を行う。そして生体認証の結果を、本人確認結果として、決済アプリケーション110に返信する。
【0136】
[ステップS3505] 決済アプリケーション110は、生体認証による本人確認が成功したら、本人確認方式優先度116を確認する。そして、生体認証の優先度がPIN照合の優先度以上であれば、PIN照合残回数119を初期設定値に変更することで、PIN照合の利用を可能に戻す。また、登録PIN117の値を、決済端末から取得した新しいPINの値に更新する。
【0137】
図9を用いて説明した処理シーケンスでは、決済端末200がICカード100に送信するPINと生体照合データは、盗聴や改ざんからの保護のために暗号処理を行っても良い。この場合、暗号処理を行う際に使用する鍵データは、事前に所定の鍵共有プロトコルを用い、PINについては処理決済端末200と決済アプリケーション110の間で、生体照合データについては、処理決済端末200と生体認証アプリケーション130との間で共有していても良い。
【実施例2】
【0138】
本発明の第2の実施例を、図10から図11を用いて説明していく。図10は第2の実施例における決済システムの構成を示すブロック図であり、ICカード100、決済端末200、ネットワー220ク、決済センタ230を含んで構成される。
【0139】
ICカード100は決済端末200の利用者が保有し、本人確認と決済取引処理を行うために使用する。また、決済センタ230はホストコンピュータ等で構成され、決済端末200とネットワーク220を介して接続されており、決済処理の集中管理を行う。
【0140】
第2の実施例では、第1の実施例と同様に、決済端末200は、たとえば銀行のATMやクレジット決済端末を想定している。あるいは、携帯電話やPDA等の携帯可能な端末であっても良い。また、決済端末200の利用者がICカード100をキャッシュカードやクレジットカードといった金融カードとして保有することを想定しているが、決済取引処理に限らず、ICカード100を用いて行う本人確認を、入退出やネットワーク利用のアクセス管理に利用した場合でも本実施例の適用範囲である。
【0141】
図10に示したICカード100と決済端末200の内部構成は、第1の実施例の図1に示したICカード100と決済端末200と同様であるが、本人確認として行うPIN照合を決済センタで行うことを想定している。
【0142】
次に、図10に示した決済センタ230の内部構成について説明する。決済センタ230は、決済端末通信部301と、メモリ302と、演算処理部303を有している。決済端末通信部301は、決済端末200とデータ通信を行うために用い、電話やインターネット等の公衆回線網、あるいは専用の回線網に接続する機能を有する。
【0143】
メモリ302は、制御プログラム310と利用者管理テーブル320を格納する機能を有し、ハードディスクや半導体メモリ等から構成される。ここで、利用者管理テーブル320は、本決済システムの全利用者の本人確認を行うために使用するテーブルである。
【0144】
演算処理部303は決済センタ230全体の制御を司り、メモリ302に格納されている制御プログラム310に基づいて、決済処理を集中管理する。
【0145】
次に、利用者管理テーブル320の内部構成について説明する。利用者管理テーブル320は、登録されている利用者毎に、利用者識別番号321と、登録PIN322と、PIN照合残回数323を記録しているテーブルである。ここで、利用者識別番号321は、利用者を識別するための番号であり、各利用者のICカード100内部の決済アプリケーション110が管理している利用者識別番号121と同じ値となっている。例えば、クレジットカード決済の場合はクレジットカード番号を設定し、キャッシュカード取引の場合は銀行口座番号を設定することが考えられる。あるいは他の番号で利用者を識別しても良い。
【0146】
登録PIN322は、ICカード100の利用者のPINである。PIN照合残回数323は、決済センタ230で実行するPIN照合処理の残り試行回数を設定する。PIN照合残回数323は、所定の正の整数値が初期値として設定され、本人確認が失敗するたびに減じていく。もしPIN照合残回数323が「0」となった場合、決済センタ230はPIN照合を実行不可にする。
【0147】
次に、決済センタ230で実施するPIN照合が失敗し、決済センタ230はPIN照合を実行不可にする。処理シーケンスを図11示す。
【0148】
[ステップS6001] 決済端末200は、PIN入力部202を用いて利用者にPINを入力させる
[ステップS6002] 決済端末200は、利用者が入力したPINを決済センタ230に送信して、PIN照合による本人確認を依頼する。
【0149】
[ステップS6003] 決済センタ230は、利用者が入力したPINと利用者管理テーブル320を用いて、PIN照合を行う。本処理シーケンスでは、PIN照合が失敗すると共に、PIN照合残回数323を減じた結果「0」となる場合を想定している。このため、決済センタ230は、決済端末200に、PIN照合利用不可命令を送信する。
【0150】
[ステップS6004] 決済端末200は、決済センタ230から受信したPIN照合利用不可命令を決済アプリケーション110に送信する。
【0151】
[ステップS6005] 決済アプリケーション110は、PIN照合残回数119を「0」に設定し、PIN照合を利用不可にする。
【0152】
[ステップS6006] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であれば、生体認証残回数118を「0」に設定し、生体認証を利用不可にする。
【0153】
図11を用いて説明した処理シーケンスでは、PIN照合の優先度が生体認証の優先度以上である場合は、PIN照合残回数119と共に生体認証残回数118を「0」に設定して、PIN照合と生体認証の両方を実施できなくする。あるいは、生体認証の優先度がPIN照合の優先度以上である場合は、PIN照合のみを利用不可とし、生体認証は利用可能のままにしておく。
【0154】
また、生体認証の優先度がPIN照合の優先度以上である場合は、PIN照合が利用不可となってしまっても、図8を用いて説明したように、生体認証を成功させることで、次回から再びPIN照合を実行出来るようになる。
【図面の簡単な説明】
【0155】
【図1】第1の実施例における決済システムの構成を示すブロック図である。
【図2】アプリケーション管理テーブル141の構成例である。
【図3】本人確認方式リスト115の内部構成例である。
【図4】ICカード100と決済端末200の間で行う決済処理シーケンス図である。
【図5】決済端末200が行う本人確認処理フロー図である。
【図6】決済アプリケーション110が行う本人確認方式リスト115の設定処理フロー図である。
【図7】決済アプリケーション110が行うPIN照合の処理フロー図である。
【図8】決済アプリケーション110が行う生体認証の処理フロー図である。
【図9】生体認証によるPIN照合解除およびPIN更新処理シーケンス図である。
【図10】第2の実施例における決済システムの構成を示すブロック図である。
【図11】決済センタ230でのPIN照合を実行不可にする。処理シーケンス図である。
【符号の説明】
【0156】
100…ICカード、101…通信部、102…メモリ、103…演算処理部、110…決済アプリケーション、111…決済AID、112…生体AIDリスト、113…決済AP鍵、114…生体APハッシュ値、115…本人確認方式リスト、116…本人確認方式優先度、117…PIN、118…生体認証残回数、
119…PIN照合残回数、120…本人確認結果、121…利用者識別番号、130…生体認証アプリケーション、131…生体AID、132…生体登録データ、133…決済APハッシュ値、140…オペレーティングシステム、141…アプリケーション管理テーブル、142…外部通信機能、143…アプリケーション追加削除機能、144…アプリケーション実行機能、145…アプリケーション間通信機能、146…アプリケーションハッシュ値生成機能、150…共有バッファ、200…決済端末、201…ICカード通信部、202…PIN入力部、203…生体情報センサ、204…メモリ、205…センタ通信部、206…ユーザインタフェース部、207…演算処理部、210…決済処理プログラム、220…ネットワーク、230…決済センタ
【技術分野】
【0001】
本発明は、ICカードに関連するものである。
【背景技術】
【0002】
従来、金融取引のために用いるキャッシュカードやクレジットカードは、磁気ストライプ方式のカードを用いたものが主流であったが、近年において偽造カードを用いた不正利用が急増したため、ICカードへの置き換えが急速に進んでいる。ここで、ICカードは、カードに埋め込まれたICチップを用いてデータの保護を能動的に行うことが可能であり、磁気ストライプ方式のカードに比べて偽造が格段に困難になっている。現在、ICカードを用いたキャッシュカードやクレジットカードの仕様としては、EMV仕様がデファクトスタンダートとなっている。
【0003】
EMV仕様においては、ICカード所有者の本人確認方式としてPIN照合方式を採用している。ここでPIN (Personal Identification Number)はキャッシュカードやクレジットカードの暗証番号である。しかしながら、PIN照合方式は、ICカード所有者自身がPINの値を忘れてしまう可能性がある点と、盗用による成りすましを十分に防止できない点が課題となっている。そこで近年においては、指紋、静脈、虹彩といった、他人が盗むのが困難であると共に各個人で異なっている生体情報を利用した生体認証が注目されている。ICカードを用いた生体認証方式としては、特許文献1に開示がある。
【0004】
特許文献1では、予め本人の生体情報をICカードに保存しておき(以下ICカードに保存する生体情報を生体登録データと呼ぶ)、本人確認時に生体情報を検出する生体情報センサを用いて取得した生体情報(以下生体照合データと呼ぶ)を、ICカードに入力する。そしてICカードは、内部で生体登録データと生体照合データの照合処理を行うことで、本人か否かを確認する。
【0005】
【特許文献1】特開2001-344213
【発明の開示】
【発明が解決しようとする課題】
【0006】
キャッシュカードやクレジットカードで採用されているPIN照合方式は、不正利用者が適当なPINを繰り返し入力して、正しいPINを見つけ出すことを防止するために、PIN照合の失敗回数を設定しておき、設定回数だけPIN照合に失敗してしまったら、金融取引を利用できなくなる場合が多い。しかし、正当な利用者がPINの値を忘れてしまったり、間違って入力してしまったりした場合でも、金融取引が利用できなくなることが、利便性の面からの課題である。
【0007】
一方で、生体認証においても、例えばICカードに登録した生体登録データの精度が良くなかった場合や、生体の経年変化により、ICカードに登録した生体登録データと現在の生体情報の違いが大きくなってしまった場合、本人であっても他人と判定されてしまう可能性が大きくなる。このため、ICカードを用いた生体認証を、キャッシュカードやクレジットカードといった金融取引に用いた場合に、このような現象が発生すると、本人であっても金融取引を行えないという問題が発生してしまう。
【0008】
したがって、PIN照合と生体認証を組合せ、セキュリティと利便性を両立させた本人確認を行う決済端末とICカードを実現することが大きな課題となっている。
【課題を解決するための手段】
【0009】
上述した課題を解決するために、本発明に関わる決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、または、該生体情報取得部を用いた生体認証を行うかを判定する。
【0010】
また、本発明に関わるICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、本人確認方式の優先度を表す本人確認方式優先度と、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を管理する。
【0011】
さらに、本発明に関わるICカードは、第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能と、該第2のアプリケーションのハッシュ値を生成するアプリケーションハッシュ値生成機能を有し、該第1のアプリケーションは、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第1のハッシュ値を取得して保持しておき、その後、該アプリケーション間通信機能を用いて、該第2のアプリケーションとデータ通信を行う際に、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第2のハッシュ値を取得し、該第1のハッシュ値と、該第2のハッシュ値を比較することで、該第2のアプリケーションとのデータ通信を行うか否かを判断する。
【0012】
上述のようにすることで、PIN照合と生体認証を組合せ、セキュリティと利便性を両立させた本人確認を行うことが可能な決済端末とICカードを実現できる。
【発明の効果】
【0013】
本発明を用いることで、従来よりも、より信頼性を向上させた決済端末とICカードを実現できるものとなる。
【発明を実施するための最良の形態】
【0014】
以下、図面を用いて、本発明の実施例を説明する。
【実施例1】
【0015】
本発明の第1の実施例を、図1から図9を用いて説明していく。まず、図1は第1の実施例における決済システムの構成を示すブロック図であり、ICカード100、決済端末200、ネットワーク220、決済センタ230を含んで構成されるものである。
【0016】
ICカード100は決済端末200の利用者が保有し、本人確認と決済取引処理を行うために使用する。また、決済センタ230はホストコンピュータ等で構成され、決済端末200とネットワーク220を介して接続されており、決済処理の集中管理を行う。
【0017】
ここで本実施例では、決済端末200は、たとえば銀行のATMやクレジット決済端末を想定している。あるいは、携帯電話やPDA等の携帯可能な端末であっても良い。また、決済端末200の利用者がICカード100をキャッシュカードやクレジットカードといった金融カードとして保有することを想定しているが、決済取引処理に限らず、ICカード100を用いて行う本人確認を、入退出やネットワーク利用のアクセス管理に利用した場合でも本実施例の適用範囲である。
【0018】
次に、ICカード100の内部構成について説明する。ICカード100は通信部101と、メモリ102と、演算処理部103を有している。通信部101はICカード100が外部と通信するために使用し、例えば国際標準規格であるISO/IEC 7816で規定している接触通信に基づくことが考えられる。あるいは国際標準規格であるISO/IEC14443で規定している非接触通信に基づくことが考えられる。あるいは他の規格に基づいて通信を行う場合であっても本実施例の適用範囲である。
【0019】
メモリ102は、ICカード100が保持するプログラムやデータを格納する機能を有し、ROM(Read Only Memory)や EEPROM(Electrical Erasable Programmable Read Only Memory)、あるいはRAM(Random Access Memory) 等の半導体メモリから構成される。演算処理部103はICカード100全体の制御を司り、通信部101経由でコマンドを受信したら、メモリ102に格納しているプログラムに基づいて、コマンドに応じた処理を行い、対応するレスポンスを通信部101経由で外部に送信するといった制御を行う。
【0020】
次に、決済端末200の内部構成について説明する。決済端末200は、ICカード通信部201と、PIN入力部202と、生体情報センサ203と、メモリ204と、センタ通信部205と、ユーザインタフェース部206と、演算処理部207を有している。ICカード通信部201はICカード100を制御するために用い、例えば国際標準規格であるISO/IEC 7816で規定している接触通信に基づくことが考えられる。あるいは国際標準規格であるISO/IEC14443で規定している非接触通信に基づくことが考えられる。あるいは他の規格に基づいて通信を行う場合であっても本実施例の適用範囲である。
【0021】
PIN入力部202は利用者のPINを入力するための機能を有し、数字入力専用の小型キーボードであるテンキーキーボードを用いる事が考えられる。生体情報センサ205は生体情報を読取る機能を有しており、例えば指紋や指静脈を読取ることが考えられる。あるいは、他の生体情報を読取る機能を有していても本実施例の適用範囲である。
【0022】
メモリ204は決済端末200が使用する決済プログラム210や関連データを格納する機能を有し、ハードディスクや半導体メモリ等から構成される。センタ通信部205は決済センタ230とデータ通信を行うために用い、電話やインターネット等の公衆回線網、あるいは専用の回線網に接続する機能を有する。
【0023】
ユーザインタフェース部206は、決済端末200の利用者に対して画像や文字等の視覚情報あるいは音声情報を出力して提示すための表示機能と、決済端末200の利用者が必要な情報を入力することを可能にする入力機能を有する。表示機能としてはブラウン管ディスプレイや液晶ディスプレイを用いることが考えられる。入力機能としてはキーボードやタッチパネルを用いることが考えられる。演算処理部207は決済端末200全体の制御を司り、メモリ204に格納されている決済プログラム210に基づいて、ICカード100を用いた決済処理を実施する。
【0024】
次に、ICカード100のメモリ102に格納する、プログラムとデータの構成について説明する。メモリ100には、決済アプリケーション110と、生体認証アプリケーション130と、オペレーティングシステム140と、共有バッファ150が格納されている。
【0025】
決済アプリケーション110はICカード100を用いた決済処理を実行するために使用するICカードアプリケーションプログラムである。生体認証アプリケーション130はICカード100を用いた生体認証処理を実行するために使用するICカードアプリケーションプログラムである。
【0026】
オペレーティングシステム140は、決済アプリケーション110と、生体認証アプリケーション130を実行するために必要な基本機能を提供するシステムプログラムであり、外部から指定されたICカードアプリケーションを選択して実行する機能を有している。また、各ICカードアプリケーションが管理しているプログラムやデータを他のICカードアプリケーションから保護するファイヤーフォール機能を有しており、各ICカードアプリケーションを安全に実行することが可能である。オペレーティングシステム140の具体例としては、ICカードのオペレーティングシステムであるMULTOSやJava(登録商標)Cardが挙げられる。あるいは他のオペレーティングシステムを用いても本実施例の適用範囲である。
【0027】
共有バッファ150は、通信部101経由で受信したコマンドや対応するレスポンスを格納するためのバッファである。共有バッファ150は、決済アプリケーション110と生体認証アプリケーション130の間で送受信するデータを格納するためにも用いる。ここで、決済アプリケーション110はPIN照合による本人確認を行う機能は有しているが、生体認証による本人確認を行う機能は有していない。このため、決済アプリケーション110が生体認証による本人確認を実行する場合は、生体認証アプリケーション130に生体認証処理を共有バッファ150経由で委譲することになる。
【0028】
次に、決済アプリケーション110のデータ構成について説明する。決済アプリケーション110が管理するデータは、決済AID111と、生体AIDリスト112と、決済AP鍵113と、生体APハッシュ値114と、本人確認方式リスト115と、本人確認方式優先度116と、登録PIN117と、生体認証残回数118と、PIN照合残回数119と、本人確認結果120と、利用者識別番号121を含んでいる。
【0029】
決済AID111は、決済アプリケーション110に付与されたアプリケーション識別子(AID : Application IDentifier)である。ここで、AIDはICカードアプリケーションを一意に識別して、オペレーティングシステム140がアプリケーションを選択するために使用する識別子である。国際的に流通するICカードアプリケーションのAID 付番方法としては、国際規格のISO/IEC 7816-5で定められている。
【0030】
生体AIDリスト112は、決済アプリケーション110から利用可能な生体認証アプリケーションのAIDのリストである。もし決済アプリケーション110が、1種類の生体認証アプリケーションにしか対応していなければ、生体AIDリスト112には、対応している生体認証アプリケーションのAIDだけを格納しておく。決済AP鍵113は、決済アプリケーション110が決済処理で実行する各種暗号演算処理で用いる鍵データである。
【0031】
生体APハッシュ値114は、決済アプリケーション110が利用する生体認証アプリケーションのハッシュ値である。ここで、ハッシュ値とは、対象とするデータやプログラムを、ハッシュ関数と呼ばれる関数で演算した結果の値である。ハッシュ値には、異なるデータから同じハッシュ値が得られる頻度は非常に小さく、ハッシュ値からは基のデータを推定することが出来ないという特徴がある。このため、決済アプリケーション110は予め生体APハッシュ値114を取得しておき、生体認証アプリケーションに対して生体認証を委譲する際に、再度生体APハッシュ値114を取得して比較することで、生体認証アプリケーションのデータやプログラムが破壊や改ざんによって、変更されてしまったことを検出することが可能になる。もし決済アプリケーション110が、生体認証アプリケーションの破壊や改ざんを検出したら、生体認証処理の委譲を取りやめるといった判断を行うことが可能になる。
【0032】
ここで、生体APハッシュ値114を生成するハッシュ関数としては、例えばSHA-1ハッシュ関数を用いることが考えられる。あるいは他のハッシュ関数を用いても、本実施例の適用範囲である。なお、信頼できるハッシュ関数を用いれば、生体APハッシュ値114からは、生体アプリケーションの内容は推定できないため、生体アプリケーションの内容が漏洩する心配は無い。
【0033】
本人確認方式リスト115は、決済アプリケーション110で実行可能な本人確認方式のリストである。本人確認方式優先度116は、生体認証による本人確認とPIN照合による本人確認のどちらの方が、優先度が高いかを表す。例えば本人確認方式優先度116の値が「0」ならば生体認証の優先度が高く、「1」ならばPIN照合の優先度が高く、「2」ならば両方式の優先度は同じであると符号化する。あるいは他の符号化で優先度を表す場合でも本実施例の適用範囲である。また、決済アプリケーション110が対応する生体認証方式が複数種類ある場合に、それぞれの生体認証方式の優先順位を表しても良い。
【0034】
登録PIN117は、ICカード100の利用者のPINである。生体認証残回数118は決済アプリケーション110経由で実行する生体認証処理の残り試行回数を設定する。PIN照合残回数119は決済アプリケーション110が実行するPIN照合処理の残り試行回数を設定する。生体認証残回数118とPIN照合残回数119は、所定の正の整数値が初期値として設定され、本人確認が失敗するたびに減じていく。もし生体認証残回数118が「0」となった場合、決済アプリケーション110は、生体認証を実行不可にする。また、もしPIN照合残回数119が「0」となった場合、決済アプリケーション110は、PIN照合を実行不可にする。
本実施例の説明では、決済アプリケーション110は生体認証残回数118を用いて生体認証の実行可否の管理を行っているが、決済アプリケーション110は生体認証の残り試行回数でなく、生体認証が失敗した回数を保持しておくことで、生体認証の実行可否の管理を行っても本実施例の適用範囲である。
また、本実施例の説明では、決済アプリケーション110はPIN照合残回数119を用いてPIN照合の実行可否の管理を行っているが、決済アプリケーション110はPIN照合の残り試行回数でなく、PIN照合が失敗した回数を保持しておくことで、PIN照合の実行可否の管理を行っても本実施例の適用範囲である。
【0035】
本人確認結果120は、決済アプリケーション110が本人確認を行った結果を設定する。利用者識別番号121は、ICカード100の利用者を識別するための番号である。例えば、クレジットカード決済の場合はクレジットカード番号を設定し、キャッシュカード取引の場合は銀行口座番号を設定することが考えられる。あるいは他の番号で利用者を識別しても良い。
【0036】
次に、生体認証アプリケーション130のデータ構成について説明する。生体認証アプリケーション130が管理するデータは、生体AID131と、生体登録データ132と、決済APハッシュ値133を含んでいる。
【0037】
生体AID131は生体認証アプリケーション130に付与されたアプリケーション識別子であり、前述した決済AID111と同様に、ICカードアプリケーションを一意に識別して、オペレーティングシステム140がICカードアプリケーションを選択するために使用する。生体登録データ132は、ICカード100の利用者が登録した生体情報である。生体登録データ132としては、指紋パターンあるいは指静脈パターンを用いることが考えられる。あるいは他の生体情報を扱っても本実施例の適用範囲である。決済APハッシュ関数133は、決済アプリケーション110のハッシュ値であり、決済アプリケーション110の破壊や改ざんを検出するために使用する。
【0038】
次に、オペレーティングシステム140が管理するデータと機能について説明する。オペレーティングシステム140は、アプリケーション管理テーブル141を保持している。また、外部通信機能142と、アプリケーション追加削除機能143と、アプリケーション実行機能144と、アプリケーション間通信機能145と、アプリケーションハッシュ値生成機能146を有している。
【0039】
アプリケーション管理テーブル141は、オペレーティングシステム140が、ICカードアプリケーションを管理するために使用するテーブルである。
【0040】
外部通信機能142は、通信部101を制御してICカード100外部からコマンドを受信すると共に、対応するレスポンスを送信する機能である。アプリケーション追加削除機能143は、ICカードアプリケーションをICカード100外部からダウンロードし、ダウンロードしたICカードアプリケーションをアプリケーション管理テーブル141に登録して実行可能にする機能と、アプリケーション管理テーブル141に登録されているICカードアプリケーションを削除する機能である。
【0041】
アプリケーション実行機能144は、ICカード100外部からのコマンドによって、アプリケーション管理テーブル141に登録されている何れかのICカードアプリケーションを選択し、その後、ICカード100外部からコマンドを受信したら、選択したICカードアプリケーションを実行してコマンドに対応する処理を行う機能である。
【0042】
ここで、ICカードアプリケーションは、ICカードのハードウェアに依存しない専用の命令セット仕様に基づいて作られたプログラムであり、アプリケーション実行機能144は、専用の命令セット仕様に基づいて作られたプログラムを読み込んで実行していくインタプリタ(あるいは仮想マシン)処理を行う。
【0043】
アプリケーション実行機能144は、ICカードアプリケーションのプログラムとデータを、ICカード100外部、およびICカード100内部に登録されている他のICカードアプリケーションによる不正なアクセスから保護するファイヤーウォール機能も有している。アプリケーション実行機能144の具体例としては、ICカードのオペレーティングシステムであるMULTOSやJava(登録商標)Cardが備えている機能が挙げられる。
【0044】
アプリケーション間通信機能145は、現在実行中のICカードアプリケーションAが、指定のICカードアプリケーションBにメッセージを送信し、ICカードアプリケーションBからメッセージに対応する処理結果を受信することを可能にする機能である。
【0045】
具体的には、現在実行中のICカードアプリケーションAが、メッセージを共有バッファ150に格納すると共に、ICカードアプリケーションBのAIDを指定してアプリケーション間通信機能145を呼出すと、アプリケーション間通信機能145は、ICカードアプリケーションAを一時停止状態にしてから、AIDで指定されたICカードアプリケーションBを実行可能状態にする。ICカードアプリケーションBは、メッセージに対応する処理を行い、処理結果を共有バッファ150に格納してから処理を終了する。
【0046】
その後、アプリケーション間通信機能145は、ICカードアプリケーションAを実行可能状態に戻す。そして、ICカードアプリケーションAは、メッセージに対応する処理結果を共有バッファ150から取得する。メッセージと対応する処理結果は共有バッファ150に格納されるので、ICカードアプリケーション間で共有されるが、メッセージに対応する処理はICカードアプリケーション内部で実行するため、処理内容を他のICカードアプリケーションから隠蔽することが可能になる。
【0047】
アプリケーション間通信機能145は、本実施例で説明するように、決済アプリケーション110が、生体認証アプリケーション130に対して、生体認証処理を依頼する際に使用する。アプリケーション間通信機能145の具体例としては、ICカードのオペレーティングシステムであるMULTOSが有しているデリゲーション機能、あるいはJava(登録商標)Cardが有しているSIO(Shareable Interface Object)機能が挙げられる。
【0048】
アプリケーションハッシュ値生成機能146は、アプリケーション管理テーブル141に登録されているICカードアプリケーションのプログラムあるいはデータに対するハッシュ値をハッシュ関数を用いて生成する機能である。ハッシュ値を生成するハッシュ関数としては、例えばSHA-1ハッシュ関数を用いることが考えられる。あるいは他のハッシュ関数を用いても、本実施例の適用範囲である。
【0049】
また、実行中のICカードアプリケーションは、他のICカードアプリケーションのAIDを指定して、アプリケーションハッシュ値生成機能146を呼出すことで、指定したICカードアプリケーションのハッシュ値を取得することが出来る。ここで、ハッシュ値を生成する元データとしては、ICカードアプリケーションを構成するプログラムとデータ全体、あるいはプログラムの全体か一部分、あるいはデータの全体か一部分のいずれの場合も本実施例の適用範囲である。
【0050】
次に、アプリケーション管理テーブル141の構成例を図2に示す。図2において、アプリケーション管理テーブル141は、登録されているICカードアプリケーション毎に、AID161と、アプリケーション参照アドレス162と、アプリケーションサイズ163と、選択フラグ164と、呼出し順序165と、アプリケーションハッシュ値166を記録しているテーブルである。ここで、AID161は、対応するICカードアプリケーションを一意に識別して、オペレーティングシステム140がアプリケーションを選択するために使用する識別子である。
【0051】
アプリケーション参照アドレス162は、対応するICカードアプリケーションを保持しているメモリの先頭アドレスである。図2においては、各ICカードアプリケーションに対して1個のアドレスだけを設定しているが、コード部の先頭アドレスとデータ部の先頭アドレスという様に複数のアドレスを設定していても良い。
【0052】
アプリケーションサイズ163は、対応するICカードアプリケーションのサイズである。図2においては、各ICカードアプリケーションに対して1個のサイズだけを設定しているが、コード部のサイズ、データ部のサイズという様に複数のサイズを設定していても良い。選択フラグ164は対応するICカードアプリケーションが現在選択されているか否かを表す。図2の例では、ICカードアプリケーションが選択されている場合は「1」とし、選択されていない場合は「0」としているが、他の表記法であっても良い。呼出し順序165は、アプリケーション間通信機能145によって、呼出されているICカードアプリケーションの順序を表す。図2の例では呼出し順を数字の大小で表しているが、他の表記法で実現しても良い。
【0053】
アプリケーションハッシュ値166は、対応するICカードアプリケーションのハッシュ値を設定する。図2においては、各ICカードアプリケーションに対して1個のハッシュ値だけを設定しているが、コード部全体あるいは一部分のハッシュ値、データ部の全体あるいは一部分のハッシュ値という様に複数のハッシュ値を設定していても良い。なお、前述したアプリケーションハッシュ値生成機能146は、ハッシュ値の生成要求を受ける度に、対応するICカードアプリケーションのハッシュ値を再計算しても良いし、ハッシュ値の再計算は行わずに、アプリケーション管理テーブル141に登録されているアプリケーションハッシュ値166を参照しても本実施例の適用範囲である。
【0054】
次に、本人確認方式リスト115の内部構成例を図3に示す。図3において、本人確認方式リスト115には、本人確認方式ID170が複数個含まれている構成となっている。本人確認方式ID170は、本人確認方式を識別するための番号である。図3に示した例においては、本人確認方式ID170が「1」の場合はオフラインPIN照合による本人確認を表し、「2」の場合はオンラインPIN照合による本人確認を表し、「3」の場合は指静脈認証による本人確認を表し、「4」の場合は指紋認証による本人確認を表し、「5」の場合は虹彩認証による本人確認を表す。また「0」の場合は本人確認が不要という意味になる。
【0055】
ここで、オフラインPIN照合とは、ICカード100内部でPIN照合を行う方式であり、オンラインPIN照合は決済センタ230でPIN照合を行う方式である。本人確認方式リスト115としては、本人確認方式を識別できれば、図3で示した以外の表記方法でも、本実施例の適用範囲である。
【0056】
次に、ICカード100と決済端末200の間で行う、決済処理シーケンスを図4に示す。図4に示す決済処理シーケンスでは、本人確認として生体認証を行う。
【0057】
[ステップS1001] 決済端末200はICカード100内部の決済アプリケーション110を選択するために、決済アプリケーション110のAIDである決済AIDをICカード100に送信し、決済アプリケーション110から生体AIDリストを受信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばISO/IEC 7816およびEMV仕様で規定しているSELECT FILEコマンドを用いることが考えられる。
【0058】
[ステップS1002] 決済アプリケーション110はオペレーティングシステム140のアプリケーション実行機能144によって選択され、決済アプリケーション110が保持している生体AIDリストを決済端末200に返信する。
【0059】
[ステップS1003] 決済端末200は決済アプリケーション110から取得した生体AIDリストから、実行可能な生体認証の生体AIDを選択し、決済処理を初期化するために、選択した生体AIDをICカードアプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているGET PROCESSING OPTIONSコマンドを用いることが考えられる。
【0060】
[ステップS1004] 決済アプリケーション110は、指定された生体AIDが、生体AIDリスト112に含まれていなければ生体認証は行わないと判断する。あるいは、指定された生体AIDが、生体AIDリスト112に含まれていれば、指定された生体AIDに対応する生体認証アプリケーション130が不正に改ざんされていないかを確認するために、オペレーティングシステム140に対して、生体認証アプリケーション130のハッシュ値の生成を依頼する。
【0061】
[ステップS1005] オペレーティングシステム140は、指定された生体AIDに対応する生体認証アプリケーション130を、アプリケーション管理テーブル141を用いて検索し、アプリケーションハッシュ値生成機能146を用いて、生体認証アプリケーション130のハッシュ値を生成する。
【0062】
[ステップS1006] 決済アプリケーション110は、取得したハッシュ値と、予め取得している生体APハッシュ値114の比較を行う。もし比較結果が一致していれば、生体認証アプリケーション130は利用可能と判断し、一致していなければ、生体認証アプリケーション130は不正な改ざんがあったと判断する。
【0063】
[ステップS1007] 決済端末200は、決済アプリケーション110から、本人確認方式リストと本人確認方式優先度の取得要求を送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているREAD RECORDコマンドを用いることが考えられる。
【0064】
[ステップS1008] 決済アプリケーション110は、ステップS1004およびステップS1006で生体認証アプリケーション130が利用可能と判断していれば、本人確認方式リスト115に対応する生体認証方式とPIN照合方式を追加する。あるいは生体認証アプリケーション130が利用不可と判断していれば、本人確認方式リスト115にPIN照合方式のみを追加する。そして、本人確認方式リスト115と本人確認方式優先度116を決済端末200に返信する。
【0065】
[ステップS1009] 決済端末200は、本人確認方式リスト115と本人確認方式優先度116から生体認証を実行可能であることを確認したら、生体情報センサ203を用いて利用者の生体照合データを取得する。
【0066】
[ステップS1010] 決済端末200は、生体認証による本人確認を行うために、利用者の生体照合データを、決済アプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているVERIFYコマンドを用いることが考えられる。
【0067】
[ステップS1011] 決済アプリケーション110は、取得した生体照合データを、生体認証アプリケーション130に送信して、生体認証処理を生体認証アプリケーション130に委譲する。この委譲処理は、オペレーティングシステム140のアプリケーション間通信機能145を介して行う。そして、生体認証アプリケーション130から本人確認結果を取得し、本人確認結果120として保存すると共に、本人確認結果を決済端末200に送信する。
【0068】
[ステップS1012] 生体認証アプリケーション130は、決済アプリケーション110が不正に改ざんされていないかを確認するために、オペレーティングシステム140に対して決済アプリケーション110のハッシュ値の生成を依頼する。
【0069】
[ステップS1013] オペレーティングシステム140は、アプリケーションハッシュ値生成機能146を用いて、決済アプリケーション110のハッシュ値を生成する。
【0070】
[ステップS1014] 生体認証アプリケーション130は、取得したハッシュ値と、予め取得している決済APハッシュ値133の比較を行う。もし比較結果が一致していなければ、決済アプリケーション110は不正な改ざんがあったと判断し、生体認証処理を中断する。
【0071】
[ステップS1015] 生体認証アプリケーション130は、決済アプリケーション110から取得した生体照合データと、予め保持している利用者の生体登録データを用いた生体認証処理を行う。そして生体認証の結果を、本人確認結果として、決済アプリケーション110に返信する。
【0072】
[ステップS1016] 決済端末200は、決済アプリケーション110から取得した本人確認結果をが「成功」であれば、決済処理を行うために、取引関連データを決済アプリケーション110に送信する。ここで、取引関連データは、取引金額、取引日時、認証用乱数などが含まれているデータである。その後、決済端末200は、決済アプリケーション110から取引了承データを取得する。ここで、取引了承データは、決済アプリケーション110が決済処理を了承したことを表すデータであり、暗号処理を用いて生成される。
ここで、取引了承データは、決済アプリケーション110が決済処理を了承したことを表すデータであり、暗号処理を用いて生成される。
決済アプリケーション110から取得した取引了承データは、決済センタ230に転送することで、決済処理の最終確認を行っても良い。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているGENERATE APPLICATION CRYPTOGRAMコマンドを用いることが考えられる。
【0073】
[ステップS1017] 決済アプリケーション110は、決済端末から取引関連データを取得したら、本人確認結果120を確認する。そして本人確認結果120が成功となっており、取引内容が正しいと判断したら、決済AP鍵113を用いた暗号処理を施して取引了承データを生成する。ここで、取引了承データを生成するための暗号処理としては、DES暗号等の共通鍵暗号方式を用いても、あるいはRSA暗号等の公開鍵暗号方式を用いても本実施例の適用範囲である。
【0074】
図4を用いて説明した決済処理シーケンスでは、決済アプリケーション100と生体認証アプリケーション130の間で、お互いのハッシュ値を、オペレーティングシステム140を介して取得して、不正な改ざんを検出しているので、ICカードアプリケーション間の通信を安全に行うことができる。なお、決済端末200がICカード100に送信する生体照合データは、盗聴や改ざんからの保護のために暗号処理を行っても良い。この場合、生体照合データの暗号処理を行う際に使用する鍵データは、事前に所定の鍵共有プロトコルを用いて、処理決済端末200と生体認証アプリケーション130との間で共有していても良い。
【0075】
次に、決済端末200が行う本人確認処理フローを図5に示す。本処理は、図4に示した決済処理シーケンスのステップS1001、ステップS1003およびステップS1007で行う。
【0076】
[ステップS5000] 決済端末200は、ICカード100に格納されている生体認証アプリケーションのAIDリストである生体AIDリストを、ICカード100から取得する。
【0077】
[ステップS5001] 決済端末200は、ICカード100から取得した生体AIDリストの中から、決済端末200で利用可能な生体認証方式に対応する生体AIDを選択し、選択した生体AIDをICカード100に送信する。ここで、もしICカード100から生体AIDリストを取得しなかった場合や、ICカード100から生体AIDリストが空だった場合や、決済端末200で利用可能な生体認証方式が無かった場合は、生体AIDをICカード100に送信しなくて良い。その後、ICカード100から本人確認方式リストと本人確認方式優先度を取得する。
【0078】
[ステップS5002] ICカード100から取得した本人確認方式リストに本人確認不要と記載されていれば、本人確認処理を実施しないで、ステップS5012に進む。本人確認不要と記載されていなければステップS5003に進む。
【0079】
[ステップS5003] ICカード100から取得した本人確認方式リストに、決済端末200が選択した生体認証方式が記載されていれば、ステップS5005に進む。そうでなければ、ステップS5004に進む。
【0080】
[ステップS5004] ICカード100から取得した本人確認方式リストに、PIN照合が記載されていれば、ステップS5007に進む。そうでなければ、本人確認失敗となり、ステップS5011に進む。
【0081】
[ステップS5005] ICカード100から取得した本人確認方式リストに、PIN照合が記載されていれば、ステップS5006に進む。そうでなければ、ステップS5008に進む。
【0082】
[ステップS5006] ICカード100から取得した本人確認方式優先度を確認し、PIN照合が生体認証より優先度が高い場合は、ステップS5007に進む。あるいは生体認証がPIN照合より優先度が高い場合はステップS5008に進む。あるいは生体認証とPIN照合の優先度が等しい場合は、ステップS5009に進む。
【0083】
[ステップS5007] 決済端末200は利用者に、PIN照合による本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、PIN入力部202を用いて、利用者にPINを入力させ、PIN照合を行う。PIN照合はICカード100内部で行うオフラインPIN照合の場合でも、決済センタ230で行うオンラインPIN照合の場合でも本実施例の適用範囲である。
【0084】
[ステップS5008] 決済端末200は利用者に、生体認証による本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、生体情報センサ203を用いて、利用者の生体照合データを生成し、生体認証を行う。生体認証は、生体照合データをICカード100に送信することで行う。
【0085】
[ステップS5009] 決済端末200は利用者に、PIN照合あるいは生体認証の何れかで本人確認を行う案内を、ユーザインタフェース部206を用いて提示する。そして、利用者がPIN照合を選択した場合は、PIN入力部202を用いて、利用者にPINを入力させ、PIN照合を行う。PIN照合はICカード100内部で行うオフラインPIN照合の場合でも、決済センタ230で行うオンラインPIN照合の場合でも本実施例の適用範囲である。あるいは、利用者が生体認証を選択した場合は、生体情報センサ203を用いて、利用者の生体照合データを生成し、生体認証を行う。
【0086】
[ステップS5010] PIN照合あるいは生体認証による本人確認結果が成功したら、ステップS5012に進む。そうでなければステップS5011に進む。
【0087】
[ステップS5011] 決済端末200は、利用者の本人確認が失敗したため、決済処理中止する。
【0088】
[ステップS5012] 決済端末200は、利用者の本人確認が成功したので、決済処理を継続する。
【0089】
図5を用いて説明した決済端末200が行う本人確認処理フローでは、決済端末200はICカード100から取得した本人確認方式リストと本人確認方式優先度に基づいて、PIN照合と生体認証の何れかの本人確認方式を適切に選択することが出来る。このため、ICカード100が生体認証に対応していないのに、利用者に生体認証を行うガイダンスを提示してしまうといった振る舞いを防止出来る。
【0090】
なお、ステップS5011において選択した本人確認方式が失敗した場合に、失敗した本人確認方式とは異なる、未実施の本人確認方式が本人確認方式リストに記載されていれば、未実施の本人確認方式を追加で実施しても良い。また、追加で実施した本人確認方式が成功した場合は、決済処理を中断させずに継続しても良い。この場合、最初に実施した本人確認が失敗しているため、決済処理の限度額を減らすといった何らかの条件を課すことが考えられる。
【0091】
次に、ICカード100内部の決済アプリケーション110が行う、本人確認方式リスト115の設定処理フローを図6に示す。本処理は、図4に示した決済処理シーケンスのステップS1008で行う。
【0092】
[ステップS2000] 決済アプリケーション110は、本人確認方式リスト115に、決済アプリケーション110が対応している本人確認方式を全て追加しておく。
【0093】
[ステップS2001] 決済端末200が特定の生体認証方式を生体AIDで指定してきた場合は、ステップS2002に進む。あるいは、生体認証方式を指定してこなければステップS2006に進む。
【0094】
[ステップS2002] 決済アプリケーション110が、決済端末200が指定した生体AIDに対応する生体認証方式に対応している場合は、ステップS2003に進む。そうでなければステップS2005に進む。
【0095】
[ステップS2003] 決済アプリケーション110は、生体認証アプリケーションのハッシュ値を検証し、不正な改ざんが行われていないことが確認できたらステップS2004に進む。そうでなければステップS2005に進む。
【0096】
[ステップS2004] 決済アプリケーション110は、生体認証残回数118を確認し、もし「0」でなければステップS2007に進む。あるいは「0」であればステップS2005に進む。
【0097】
[ステップS2005] 決済アプリケーション110は、本人確認方式リスト115から、決済端末200が指定した生体認証方式を削除する。
【0098】
[ステップS2006] 決済アプリケーション110は、本人確認方式リスト115から、全ての生体認証方式を削除する。
【0099】
[ステップS2007] 決済アプリケーション110は、PIN照合残回数119を確認し、もし「0」でなければステップS2009に進む。あるいは「0」であればステップS2008に進む。
【0100】
[ステップS2008] 決済アプリケーション110は、決済アプリケーション110は、本人確認方式リスト115から、PIN照合を削除する。
【0101】
[ステップS2009] 決済アプリケーション110は、本人確認リスト115と本人確認方式優先度116を決済端末200に送信する。
【0102】
図6を用いて説明した本人確認方式リスト115の設定処理フローを用いることで、決済アプリケーション110は、決済アプリケーション110と決済端末200の間で処理可能な、本人確認方式を設定した本人確認方式リスト115を、決済端末200に送信する事が可能になる。
【0103】
次に、ICカード100内部の決済アプリケーション110が行う、PIN照合の処理フローを図7に示す。
【0104】
[ステップS3001] 決済アプリケーション110は、決済端末200からPIN照合要求を受信したら、PIN照合残回数119を確認し「0」であればステップS3011 に進む。そうでなければステップS3002に進む。
【0105】
[ステップS3002] 決済アプリケーション110は、PIN照合処理として、決済端末200から受信したPINと、決済アプリケーション110が保持している登録PIN117が一致するかを確認する。
【0106】
[ステップS3003] 決済アプリケーション110は、ステップS3002で行ったPIN照合処理の結果が成功したらステップS3004に進む。そうでなければステップS3008に進む。
【0107】
[ステップS3004] 決済アプリケーション110は、PIN照合処理が成功したので、PIN照合残回数119を初期設定値に戻す。例えば、PIN照合残回数119が初めに「5」と設定されていたら初期設定値は「5」となる。あるいは、PIN照合残回数119を所定の値だけ加算しても本実施例の適用範囲である。
【0108】
[ステップS3005] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であればステップS3006に進む。そうでなければステップS3007に進む。
【0109】
[ステップS3006] 決済アプリケーション110は、生体認証残回数118を初期設定値に戻す。例えば、生体認証残回数118が初めに「10」と設定されていたら初期設定値は「10」となる。あるいは、生体認証残回数118を所定の値だけ加算しても本実施例の適用範囲である。
【0110】
[ステップS3007] 決済アプリケーション110は、本人確認結果120を「成功」と設定する。
【0111】
[ステップS3008] 決済アプリケーション110は、PIN照合が失敗したので、PIN照合残回数119を所定の値だけ減じる。
【0112】
[ステップS3009] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であればステップS3010に進む。そうでなければステップS3011に進む。
【0113】
[ステップS3010] 決済アプリケーション110は、生体認証残回数118を所定の値だけ減じる。
【0114】
[ステップS3011] 決済アプリケーション110は、本人確認結果120を「失敗」と設定する。
【0115】
[ステップS3012] 決済アプリケーション110は、本人確認結果120を決済端末200に送信する。
【0116】
図7を用いて説明した決済アプリケーション110が行うPIN照合の処理フローでは、PIN照合の優先度が生体認証の優先度以上である場合、PIN照合が成功したらPIN照合残回数119と共に生体認証残回数118を初期化し、PIN照合が失敗したらPIN照合残回数119と共に生体認証残回数118を所定の値だけ減じる。これにより、生体認証残回数118が「0」となり生体認証が行えなくなった場合でも、PIN照合を成功させることで、次回から再び生体認証を実行出来るようになる。ここで、PIN照合の優先度が生体認証の優先度より小さい場合、生体認証残回数118は、PIN照合の結果によって変動はしないため、生体認証はPIN照合の成否に影響しない。
【0117】
次に、ICカード100内部の決済アプリケーション110が行う、生体認証の処理フローを図8に示す。
【0118】
[ステップS4001] 決済アプリケーション110は、決済端末200から生体認証要求を受信したら、生体認証残回数118を確認し「0」であればステップS4011 に進む。そうでなければステップS4002に進む。
【0119】
[ステップS4002] 決済アプリケーション110は、決済端末200から受信した生体照合データを、生体認証アプリケーション130に送信することで生体認証を実施してもらい、生体認証アプリケーション130から生体認証結果を取得する。
【0120】
[ステップS4003] 決済アプリケーション110は、ステップS34002で生体認証アプリケーション130からから取得した生体認証結果が成功ならばステップS4004に進む。そうでなければステップS4008に進む。
【0121】
[ステップS4004] 決済アプリケーション110は、生体認証が成功したので、生体認証残回数118を初期設定値に戻す。あるいは、生体認証残回数118を所定の値だけ加算しても本実施例の適用範囲である。
【0122】
[ステップS4005] 決済アプリケーション110は、本人確認方式優先度116を参照し、生体認証の優先度がPIN照合の優先度以上であればステップS4006に進む。そうでなければステップS4007に進む。
【0123】
[ステップS4006] 決済アプリケーション110は、PIN照合残回数119を初期設定値に戻す。あるいは、PIN照合残回数119を所定の値だけ加算しても本実施例の適用範囲である。
【0124】
[ステップS4007] 決済アプリケーション110は、本人確認結果120を「成功」と設定する。
【0125】
[ステップS4008] 決済アプリケーション110は、生体認証が失敗したので、生体認証残回数118を所定の値だけ減じる。
【0126】
[ステップS4009] 決済アプリケーション110は、本人確認方式優先度116を参照し、生体認証の優先度がPIN照合の優先度以上であればステップS4010に進む。そうでなければステップS4011に進む。
【0127】
[ステップS4010] 決済アプリケーション110は、PIN照合残回数119を所定の値だけ減じる。ここで、生体認証残回数118の値をNとして、Nが所定の整数Mの倍数となっている場合のみ、PIN照合残回数119を減じるという処理を行ってもよい。例えば、M=5とすれば、生体認証が5回失敗する度に、PIN照合残回数119を減じることになる。
【0128】
[ステップS4011] 決済アプリケーション110は、本人確認結果120を「失敗」と設定する。
【0129】
[ステップS4012] 決済アプリケーション110は、本人確認結果120を決済端末200に送信する。
【0130】
図8を用いて説明した決済アプリケーション110が行う生体認証の処理フローでは、生体認証の優先度がPIN照合の優先度以上である場合、生体認証が成功したら生体認証残回数118と共にPIN照合残回数119を初期化し、PIN照合が失敗したら生体認証残回数118と共にPIN照合残回数119を所定の値だけ減じる。これにより、PIN照合残回数119が「0」となりPIN照合が行えなくなった場合でも、生体認証を成功させることで、次回から再びPIN照合を実行出来るようになる。ここで、生体認証の優先度がPIN照合の優先度より小さい場合、PIN照合残回数119は、生体認証の結果によって変動せず、PIN照合は生体認証の成否に影響しない。
【0131】
次に、ICカード100内部の決済アプリケーション110のPIN照合が利用不可となってしまった場合に、生体認証を用いてPIN照合を利用可能に戻すと共に、新しいPINに更新する処理シーケンスを図9に示す。
【0132】
[ステップS3501] 決済端末200は、生体情報センサ203を用いて利用者の生体照合データを取得すると共に、PIN入力部202を用いて利用者に新しいPINを入力させる。
【0133】
[ステップS3502] 決済端末200は、ステップS3501で取得した利用者の生体照合データと新しいPINを、決済アプリケーション110に送信する。本処理ステップにおける、決済端末200とICカード100の間の通信には、例えばEMV仕様で規定しているPIN CHANGE/UNBLOCKコマンドを用いることが考えられる。
【0134】
[ステップS3503] 決済アプリケーション110は、取得した生体照合データを、生体認証アプリケーション130に送信して、生体認証処理を生体認証アプリケーション130に委譲する。そして、生体認証アプリケーション130から本人確認結果を取得する。
【0135】
[ステップS3504] 生体認証アプリケーション130は、決済アプリケーション110から取得した生体照合データと、予め保持している利用者の生体登録データを用いた生体認証処理を行う。そして生体認証の結果を、本人確認結果として、決済アプリケーション110に返信する。
【0136】
[ステップS3505] 決済アプリケーション110は、生体認証による本人確認が成功したら、本人確認方式優先度116を確認する。そして、生体認証の優先度がPIN照合の優先度以上であれば、PIN照合残回数119を初期設定値に変更することで、PIN照合の利用を可能に戻す。また、登録PIN117の値を、決済端末から取得した新しいPINの値に更新する。
【0137】
図9を用いて説明した処理シーケンスでは、決済端末200がICカード100に送信するPINと生体照合データは、盗聴や改ざんからの保護のために暗号処理を行っても良い。この場合、暗号処理を行う際に使用する鍵データは、事前に所定の鍵共有プロトコルを用い、PINについては処理決済端末200と決済アプリケーション110の間で、生体照合データについては、処理決済端末200と生体認証アプリケーション130との間で共有していても良い。
【実施例2】
【0138】
本発明の第2の実施例を、図10から図11を用いて説明していく。図10は第2の実施例における決済システムの構成を示すブロック図であり、ICカード100、決済端末200、ネットワー220ク、決済センタ230を含んで構成される。
【0139】
ICカード100は決済端末200の利用者が保有し、本人確認と決済取引処理を行うために使用する。また、決済センタ230はホストコンピュータ等で構成され、決済端末200とネットワーク220を介して接続されており、決済処理の集中管理を行う。
【0140】
第2の実施例では、第1の実施例と同様に、決済端末200は、たとえば銀行のATMやクレジット決済端末を想定している。あるいは、携帯電話やPDA等の携帯可能な端末であっても良い。また、決済端末200の利用者がICカード100をキャッシュカードやクレジットカードといった金融カードとして保有することを想定しているが、決済取引処理に限らず、ICカード100を用いて行う本人確認を、入退出やネットワーク利用のアクセス管理に利用した場合でも本実施例の適用範囲である。
【0141】
図10に示したICカード100と決済端末200の内部構成は、第1の実施例の図1に示したICカード100と決済端末200と同様であるが、本人確認として行うPIN照合を決済センタで行うことを想定している。
【0142】
次に、図10に示した決済センタ230の内部構成について説明する。決済センタ230は、決済端末通信部301と、メモリ302と、演算処理部303を有している。決済端末通信部301は、決済端末200とデータ通信を行うために用い、電話やインターネット等の公衆回線網、あるいは専用の回線網に接続する機能を有する。
【0143】
メモリ302は、制御プログラム310と利用者管理テーブル320を格納する機能を有し、ハードディスクや半導体メモリ等から構成される。ここで、利用者管理テーブル320は、本決済システムの全利用者の本人確認を行うために使用するテーブルである。
【0144】
演算処理部303は決済センタ230全体の制御を司り、メモリ302に格納されている制御プログラム310に基づいて、決済処理を集中管理する。
【0145】
次に、利用者管理テーブル320の内部構成について説明する。利用者管理テーブル320は、登録されている利用者毎に、利用者識別番号321と、登録PIN322と、PIN照合残回数323を記録しているテーブルである。ここで、利用者識別番号321は、利用者を識別するための番号であり、各利用者のICカード100内部の決済アプリケーション110が管理している利用者識別番号121と同じ値となっている。例えば、クレジットカード決済の場合はクレジットカード番号を設定し、キャッシュカード取引の場合は銀行口座番号を設定することが考えられる。あるいは他の番号で利用者を識別しても良い。
【0146】
登録PIN322は、ICカード100の利用者のPINである。PIN照合残回数323は、決済センタ230で実行するPIN照合処理の残り試行回数を設定する。PIN照合残回数323は、所定の正の整数値が初期値として設定され、本人確認が失敗するたびに減じていく。もしPIN照合残回数323が「0」となった場合、決済センタ230はPIN照合を実行不可にする。
【0147】
次に、決済センタ230で実施するPIN照合が失敗し、決済センタ230はPIN照合を実行不可にする。処理シーケンスを図11示す。
【0148】
[ステップS6001] 決済端末200は、PIN入力部202を用いて利用者にPINを入力させる
[ステップS6002] 決済端末200は、利用者が入力したPINを決済センタ230に送信して、PIN照合による本人確認を依頼する。
【0149】
[ステップS6003] 決済センタ230は、利用者が入力したPINと利用者管理テーブル320を用いて、PIN照合を行う。本処理シーケンスでは、PIN照合が失敗すると共に、PIN照合残回数323を減じた結果「0」となる場合を想定している。このため、決済センタ230は、決済端末200に、PIN照合利用不可命令を送信する。
【0150】
[ステップS6004] 決済端末200は、決済センタ230から受信したPIN照合利用不可命令を決済アプリケーション110に送信する。
【0151】
[ステップS6005] 決済アプリケーション110は、PIN照合残回数119を「0」に設定し、PIN照合を利用不可にする。
【0152】
[ステップS6006] 決済アプリケーション110は、本人確認方式優先度116を参照し、PIN照合の優先度が生体認証の優先度以上であれば、生体認証残回数118を「0」に設定し、生体認証を利用不可にする。
【0153】
図11を用いて説明した処理シーケンスでは、PIN照合の優先度が生体認証の優先度以上である場合は、PIN照合残回数119と共に生体認証残回数118を「0」に設定して、PIN照合と生体認証の両方を実施できなくする。あるいは、生体認証の優先度がPIN照合の優先度以上である場合は、PIN照合のみを利用不可とし、生体認証は利用可能のままにしておく。
【0154】
また、生体認証の優先度がPIN照合の優先度以上である場合は、PIN照合が利用不可となってしまっても、図8を用いて説明したように、生体認証を成功させることで、次回から再びPIN照合を実行出来るようになる。
【図面の簡単な説明】
【0155】
【図1】第1の実施例における決済システムの構成を示すブロック図である。
【図2】アプリケーション管理テーブル141の構成例である。
【図3】本人確認方式リスト115の内部構成例である。
【図4】ICカード100と決済端末200の間で行う決済処理シーケンス図である。
【図5】決済端末200が行う本人確認処理フロー図である。
【図6】決済アプリケーション110が行う本人確認方式リスト115の設定処理フロー図である。
【図7】決済アプリケーション110が行うPIN照合の処理フロー図である。
【図8】決済アプリケーション110が行う生体認証の処理フロー図である。
【図9】生体認証によるPIN照合解除およびPIN更新処理シーケンス図である。
【図10】第2の実施例における決済システムの構成を示すブロック図である。
【図11】決済センタ230でのPIN照合を実行不可にする。処理シーケンス図である。
【符号の説明】
【0156】
100…ICカード、101…通信部、102…メモリ、103…演算処理部、110…決済アプリケーション、111…決済AID、112…生体AIDリスト、113…決済AP鍵、114…生体APハッシュ値、115…本人確認方式リスト、116…本人確認方式優先度、117…PIN、118…生体認証残回数、
119…PIN照合残回数、120…本人確認結果、121…利用者識別番号、130…生体認証アプリケーション、131…生体AID、132…生体登録データ、133…決済APハッシュ値、140…オペレーティングシステム、141…アプリケーション管理テーブル、142…外部通信機能、143…アプリケーション追加削除機能、144…アプリケーション実行機能、145…アプリケーション間通信機能、146…アプリケーションハッシュ値生成機能、150…共有バッファ、200…決済端末、201…ICカード通信部、202…PIN入力部、203…生体情報センサ、204…メモリ、205…センタ通信部、206…ユーザインタフェース部、207…演算処理部、210…決済処理プログラム、220…ネットワーク、230…決済センタ
【特許請求の範囲】
【請求項1】
ICカードと通信することで利用者の本人確認を行う決済端末であって、
該決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、
該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、該生体情報取得部を用いた生体認証を行うかを判定することを特徴とする決済端末。
【請求項2】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該暗証番号照合の優先度の方が該生体認証の優先度より高いとの旨に設定されていれば、該暗証番号照合を優先的に実行することを特徴とする決済端末。
【請求項3】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該生体認証の優先度の方が該暗証番号照合の優先度より高いとの旨に設定されていれば、該生体認証を優先的に実行することを特徴とする決済端末。
【請求項4】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該生体認証の優先度と該暗証番号照合の優先度が等しいとの旨に設定されていれば、該利用者に、該暗証番号照合と該生体認証のどちらを実行するかを選択させることを特徴とする決済端末。
【請求項5】
利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、
生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
本人確認方式の優先度を表す本人確認方式優先度と、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を管理していることを特徴とするICカード。
【請求項6】
請求項5記載のICカードにおいて、
該ICカードは、該暗証番号照合機能を用いた本人確認が成功した場合、該本人確認方式優先度が、PIN照合の優先度が生体認証の優先度以上との旨に設定されていれば、該生体認証残回数を所定の値だけ加算することを特徴とするICカード。
【請求項7】
請求項5記載のICカードにおいて、
該ICカードは、該生体認証機能を用いた本人確認が成功であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、暗証番号照合残回数を所定の値だけ加算することを特徴とするICカード。
【請求項8】
請求項5記載のICカードにおいて、
該ICカードは、該暗証番号照合機能を用いた本人確認が失敗した場合、該本人確認方式優先度の設定値が、暗証番号照合の優先度が生体認証の優先度以上との旨に設定されていれば、該生体認証残回数を所定の値だけ減じることを特徴とするICカード。
【請求項9】
請求項5記載のICカードにおいて、
該ICカードは、該生体認証機能を用いた本人確認が失敗であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、暗証番号照合残回数を所定の値だけ減じることを特徴とするICカード。
【請求項10】
利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、
生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
本人確認方式の優先度を表す本人確認方式優先度と、事前に登録した第1の暗証番号を管理しており、
該ICカード外部から第2の暗証番号を受信したら、該生体認証機能の実行結果が成功であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、該第1の暗証番号の値を該第2の暗証番号の値に更新することを特徴とするICカード。
【請求項11】
決済端末と通信して利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
利用可能な本人確認方式のリストである本人確認方式リストと、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を保持し、
該本人確認方式リストの内容を、該暗証番号照合残回数と該生体認証残回数に基づいて決定した後に、該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項12】
請求項11記載のICカードにおいて、
該ICカードは、該暗証番号照合残回数が所定の値以下となり、これ以上暗証番号照合が出来ないと判断した場合に、該暗証番号照合による本人確認方式を含んでいない該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項13】
請求項11記載のICカードにおいて、
該ICカードは、該生体認証残回数が所定の値以下となり、これ以上生体認証が出来ないと判断した場合に、該生体認証による本人確認方式を含んでいない該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項14】
第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、
該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能と、該第2のアプリケーションのハッシュ値を生成するアプリケーションハッシュ値生成機能を有し、
該第1のアプリケーションは、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第1のハッシュ値を取得して保持しておき、その後、該アプリケーション間通信機能を用いて、該第2のアプリケーションとデータ通信を行う際に、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第2のハッシュ値を取得し、該第1のハッシュ値と、該第2のハッシュ値を比較することで、該第2のアプリケーションとのデータ通信を行うか否かを判断することを特徴とするICカード。
【請求項15】
第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、
該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能を有し、
該第1のアプリケーションは、暗号鍵を管理し、該暗号鍵を用いた暗号処理で決済取引の署名データを生成する署名作成機能を有し、
該第2のアプリケーションは、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
該第1のアプリケーションは、該アプリケーション間通信機能を用いて、該第2のアプリケーションが有している該生体認証機能を呼出して本人確認を行い、該第2のアプリケーションから取得した本人確認結果が成功であれば、該署名作成機能を用いて、決済取引を了承する署名データを生成することを特徴とするICカード。
【請求項1】
ICカードと通信することで利用者の本人確認を行う決済端末であって、
該決済端末は、該利用者の暗証番号を入力する暗証番号入力部と、所定の生体認証方式に基づいて該利用者の生体情報を取得する生体情報取得部を有し、
該決済端末は該利用者の本人確認を行う前に、該ICカードから、利用可能な本人確認方式のリストである本人確認方式リストと、本人確認方式の優先度を表す本人確認方式優先度を受信し、該本人確認方式リストと該本人確認方式優先度に従って、該暗証番号入力部を用いた暗証番号照合を行うか、該生体情報取得部を用いた生体認証を行うかを判定することを特徴とする決済端末。
【請求項2】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該暗証番号照合の優先度の方が該生体認証の優先度より高いとの旨に設定されていれば、該暗証番号照合を優先的に実行することを特徴とする決済端末。
【請求項3】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該生体認証の優先度の方が該暗証番号照合の優先度より高いとの旨に設定されていれば、該生体認証を優先的に実行することを特徴とする決済端末。
【請求項4】
請求項1記載の決済端末において、
該決済端末は、該本人確認方式リストに該暗証番号照合と該生体認証の両方の本人確認方式が記載されており、
該本人確認方式優先度が、該生体認証の優先度と該暗証番号照合の優先度が等しいとの旨に設定されていれば、該利用者に、該暗証番号照合と該生体認証のどちらを実行するかを選択させることを特徴とする決済端末。
【請求項5】
利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、
生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
本人確認方式の優先度を表す本人確認方式優先度と、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を管理していることを特徴とするICカード。
【請求項6】
請求項5記載のICカードにおいて、
該ICカードは、該暗証番号照合機能を用いた本人確認が成功した場合、該本人確認方式優先度が、PIN照合の優先度が生体認証の優先度以上との旨に設定されていれば、該生体認証残回数を所定の値だけ加算することを特徴とするICカード。
【請求項7】
請求項5記載のICカードにおいて、
該ICカードは、該生体認証機能を用いた本人確認が成功であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、暗証番号照合残回数を所定の値だけ加算することを特徴とするICカード。
【請求項8】
請求項5記載のICカードにおいて、
該ICカードは、該暗証番号照合機能を用いた本人確認が失敗した場合、該本人確認方式優先度の設定値が、暗証番号照合の優先度が生体認証の優先度以上との旨に設定されていれば、該生体認証残回数を所定の値だけ減じることを特徴とするICカード。
【請求項9】
請求項5記載のICカードにおいて、
該ICカードは、該生体認証機能を用いた本人確認が失敗であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、暗証番号照合残回数を所定の値だけ減じることを特徴とするICカード。
【請求項10】
利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、
生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
本人確認方式の優先度を表す本人確認方式優先度と、事前に登録した第1の暗証番号を管理しており、
該ICカード外部から第2の暗証番号を受信したら、該生体認証機能の実行結果が成功であった場合、該本人確認方式優先度が、生体認証の優先度が暗証番号照合の優先度以上との旨に設定されていれば、該第1の暗証番号の値を該第2の暗証番号の値に更新することを特徴とするICカード。
【請求項11】
決済端末と通信して利用者の本人確認を行うICカードであって、
該ICカードは、暗証番号を照合することで利用者の本人確認を行う暗証番号照合機能と、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
利用可能な本人確認方式のリストである本人確認方式リストと、該暗証番号照合機能の残り試行回数を表す暗証番号照合残回数と、該生体認証機能の残り試行回数を表す生体認証残回数を保持し、
該本人確認方式リストの内容を、該暗証番号照合残回数と該生体認証残回数に基づいて決定した後に、該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項12】
請求項11記載のICカードにおいて、
該ICカードは、該暗証番号照合残回数が所定の値以下となり、これ以上暗証番号照合が出来ないと判断した場合に、該暗証番号照合による本人確認方式を含んでいない該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項13】
請求項11記載のICカードにおいて、
該ICカードは、該生体認証残回数が所定の値以下となり、これ以上生体認証が出来ないと判断した場合に、該生体認証による本人確認方式を含んでいない該本人確認方式リストを該決済端末に送信することを特徴とするICカード。
【請求項14】
第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、
該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能と、該第2のアプリケーションのハッシュ値を生成するアプリケーションハッシュ値生成機能を有し、
該第1のアプリケーションは、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第1のハッシュ値を取得して保持しておき、その後、該アプリケーション間通信機能を用いて、該第2のアプリケーションとデータ通信を行う際に、該ハッシュ値生成機能を用いて、該第2のアプリケーションに対する第2のハッシュ値を取得し、該第1のハッシュ値と、該第2のハッシュ値を比較することで、該第2のアプリケーションとのデータ通信を行うか否かを判断することを特徴とするICカード。
【請求項15】
第1のアプリケーションと、第2のアプリケーションと、オペレーティングシステムをメモリに格納したICカードであって、
該オペレーティングシステムは、該第1のアプリケーションと該第2のアプリケーションとの間でデータ通信を行うアプリケーション間通信機能を有し、
該第1のアプリケーションは、暗号鍵を管理し、該暗号鍵を用いた暗号処理で決済取引の署名データを生成する署名作成機能を有し、
該第2のアプリケーションは、生体認証を用いて利用者の本人確認を行う生体認証機能を有し、
該第1のアプリケーションは、該アプリケーション間通信機能を用いて、該第2のアプリケーションが有している該生体認証機能を呼出して本人確認を行い、該第2のアプリケーションから取得した本人確認結果が成功であれば、該署名作成機能を用いて、決済取引を了承する署名データを生成することを特徴とするICカード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−176435(P2008−176435A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−7602(P2007−7602)
【出願日】平成19年1月17日(2007.1.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願日】平成19年1月17日(2007.1.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]