以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
<概要>
以下に説明する本発明の一実施の形態である生体情報登録システムでは、生体認証により行う処理の対象として、銀行のATMやクレジット決済端末において、キャッシュカードやクレジットカード等の金融カードを用いて行われる決済取引処理を例として挙げている。なお、生体認証により行う処理の対象としてはこれらの決済取引処理に限られず、例えば、社員証やIDカード等を用いた入退出管理や、ネットワーク利用のアクセス管理等の処理であっても良い。
本発明の一実施の形態である生体情報登録システムは、決済端末、決済センタ、およびICカードから構成される。決済端末は、利用者に生体認証等による本人確認を用いた決済取引処理を行うための画面を提示し、利用者からの入力等を受け付けて生体認証により決済取引処理を行う処理端末である。決済端末は、PIN入力部、生体情報センサ、ICカードと通信するためのICカード通信部、決済センタと通信するためのセンタ通信部、および、ユーザインタフェース部を備える。
決済センタは、利用者が保有するICカードに関する情報や決済取引の履歴などを保持するデータベースを備え、決済端末からの決済取引処理の要求に応じて決済の処理を行うセンタシステムであり、メインフレーム等のホストコンピュータにより構成される。また、ICカードは、本人確認と決済取引処理を行うために使用され、PINによる認証機能、一つ以上の生体認証アプリケーション、および生体認証アプリケーションと連携して、生体認証により対象の処理を行う機能を備えた処理アプリケーションである決済アプリケーションを有する。
ICカード内の決済アプリケーションは、「生体認証アプリ管理情報」を持つ。「生体認証アプリ管理情報」は、生体認証アプリケーションごとに、生体認証が有効であるか否かの状況を示す情報である「生体認証情報」と、生体認証が有効である場合に、生体情報の登録の状況を示す情報である「登録情報」とを有する。
ICカード内の生体認証アプリケーションは、生体情報の登録時に「登録番号」を生成する。この「登録番号」は、ICカード内の決済アプリケーションに渡され、前記「登録情報」に含まれる形で、「生体認証アプリ管理情報」に記録される。さらに、この「登録番号」は、決済センタに送信され、決済センタのデータベースに記録される。このタイミングでは、利用者(カード保有者)には「登録番号」は通知されない。
この「登録番号」は、生体認証の失敗などで生体認証アプリケーションがロックされた際のロック解除や、生体情報を再登録する際の本人確認のために利用する。例えば、カード保有者からロック解除や生体情報の再登録の申請を受けた際に、決済センタのデータベースに登録された「登録番号」を、電子メール、あるいは郵送葉書等の既存の手段によりカード保有者に通知する。カード保有者が、決済端末のPIN入力部を用いて「登録番号」を入力し、ICカード内の決済アプリケーションが、「生体認証アプリ管理情報」に記録されている「登録番号」との一致を確認することにより、本人確認を実施することができる。
以上により、ICカードへ生体情報を登録する際に、窓口等での本人確認を不要とし、利用者自身がICカードへの生体情報の登録を容易に行うことを可能とする。
<実施の形態>
以下に、本発明の一実施の形態である生体認証登録システムについて、図1から図12を用いて説明する。
図1は、本実施の形態における生体認証登録システムの構成例を示すブロック図である。生体認証登録システムは、ICカード100、決済端末200、決済センタ300から構成される。決済端末200は、ネットワーク400を介して決済センタ300に接続されている。
前述のように、本実施の形態では、例として金融機関による決済取引処理を行うシステムを想定し、ICカード100としては銀行のキャッシュカードやクレジットカード等の金融カード、決済端末200としては銀行のATMやクレジット決済端末等を想定しているが、これらに限られるものではない。
ICカード100としては、例えば社員証やIDカード等を用い、入退出やネットワーク利用のアクセス管理等の処理を行うシステムに適用することも可能である。また、決済端末200としては、ICカード100および決済センタ300と通信が可能であり、生体情報を読み取ることが可能な装置であれば、例えば携帯電話やPDA等の携帯可能な端末であっても良い。
以下では、まずICカード100の内部構成について説明する。ICカード100は、通信部110と、演算処理部120と、メモリ130とを有している。通信部110は、ICカード100が外部と通信するために使用される。演算処理部120は、ICカード100全体の制御を行う。通信部110経由で外部からコマンドを受信すると、メモリ130に格納されているプログラムに基づいてコマンドに応じた処理を行い、そのレスポンスを通信部110経由で外部に送信する。
メモリ130は、ICカード100が保持するプログラムやデータを格納する機能を有し、ROM(Read Only Memory)や、EEPROM(Electrical Erasable Programmable Read Only Memory)、あるいはRAM(Random Access Memory)等の半導体メモリによって構成される。メモリ130に格納されるプログラムとデータの構成については後述する。
次に、決済端末200の内部構成について説明する。決済端末200は、演算処理部210と、ユーザインタフェース部220と、PIN入力部230と、生体情報センサ240と、ICカード通信部250と、メモリ260と、センタ通信部270とを有している。
演算処理部210は、決済端末200全体の制御を行い、メモリ260に格納されている決済処理プログラム261に基づいて、ICカード100を用いた決済取引処理を実施する。ユーザインタフェース部220は、生体認証により対象の処理を行うためのインタフェースを利用者に提供する機能を有し、決済端末200の利用者に対して画像や文字等の視覚情報あるいは音声情報を提示するための出力機能と、決済端末200の利用者が必要な情報を入力することを可能にする入力機能とを有する。出力機能としては、例えばブラウン管や液晶等のディスプレイを用い、また、入力機能としては、例えばキーボードやタッチパネル等を用いることができる。
PIN入力部230は、利用者がPINを入力するための機能を有し、数字入力専用の小型のテンキーキーボード等を用いることができる。また、ユーザインタフェース部220の入力機能を使用することも可能である。生体情報センサ240は、生体情報を読み取る機能を有しており、例えば、指静脈や掌静脈を読み取ることができる装置で構成される。あるいは、他の生体情報を読み取る機能を有する装置であっても良い。
ICカード通信部250は、決済端末200がICカード100の通信部110との間でICカード100を制御するための通信を行うために用いられる。この通信は、例えば、国際標準規格であるISO/IEC7816で規定している接触通信に基づく通信や、ISO/IEC14443で規定している非接触通信に基づく通信であるが、他の規格に基づいて行う通信であってもよい。
メモリ260は、決済端末200が使用する決済処理プログラム261や生体情報登録処理プログラム262等の各種プログラム、および生体AIDリスト263等の関連データを格納する機能を有し、ハードディスクや半導体メモリ等によって構成される。ここで、決済処理プログラム261は、決済端末200において決済取引処理を行うためのプログラムである。
また、生体情報登録処理プログラム262は、決済端末200からICカード100に対して生体情報を新たに登録もしくは再登録する処理を行うためのプログラムである。これらのプログラムは、別個のプログラムとして実現されていても良いし、1つのプログラムとして実現されていても良い。生体AIDリスト263は、当該決済端末200が読み取ることのできる生体情報の種類を示すデータである。
センタ通信部270は、決済センタ300とデータ通信を行うために用いられ、電話回線やインターネット等の公衆回線網、あるいは専用の回線網に接続する機能を有する。
次に、決済センタ300および決済センタ300が保持するデータベース340の内容について説明する。決済センタ300は、各決済端末200からの決済取引処理の要求に基づいて決済取引処理を集中的に行う決済処理機能310と、各利用者の決済取引の履歴を照会する決済履歴照会機能320と、決済端末200とデータ通信を行うために用いられる通信部330と、データベース340とを有する。
データベース340には、カード番号341、生体認証アプリ管理情報342、決済履歴343を有している。カード番号341は、利用者が保有するICカード100の固有のカード番号であり、ICカード100を特定するための情報である。生体認証アプリ管理情報342は、カード番号341で特定されるICカード100の生体認証アプリ管理情報142を保持しているものである。この内容については後述する。
また、決済履歴343は、カード番号341で特定されるICカード100を利用して決済取引処理を行った履歴を格納するものである。この決済履歴343の内容は、決済履歴照会機能320によって参照することができる。この決済履歴343内の各決済履歴のデータに、後述する生体認証アプリ管理情報342内の登録番号1424を付加して格納することによって、ICカード100が不正利用された際に、不正利用の開始時期や場所、取引の履歴等を検知することができる。
次に、ICカード100のメモリ130に格納されるプログラムとデータの構成について説明する。メモリ130には、決済アプリケーション140、生体認証アプリケーション150、オペレーティングシステム160と、共有バッファ170が格納されている。
決済アプリケーション140は、ICカード100を用いた決済取引処理を実行するために使用するICカードアプリケーションプログラムである。また、生体認証アプリケーション150は、ICカード100を用いた生体認証処理を実行するために使用するICカードアプリケーションプログラムである。
オペレーティングシステム160は、決済アプリケーション140と、生体認証アプリケーション150を実行するために必要な基本機能を提供するシステムプログラムであり、外部から指定されたICカードアプリケーションを選択して、演算処理部120にて実行する機能を有している。また、各ICカードアプリケーションが管理しているプログラムやデータを他のICカードアプリケーションから保護するファイヤーウォール機能を有しており、各ICカードアプリケーションを安全に実行することが可能である。オペレーティングシステム160の具体例としては、ICカードのオペレーティングシステムであるMULTOS(登録商標)やJava(登録商標)Cardが挙げられるが、これらに限られるものではなく、他のオペレーティングシステムを用いてもよい。
共有バッファ170は、通信部110経由で受信したコマンドや、それに対応するレスポンスを格納するためのバッファである。共有バッファ170は、決済アプリケーション140と生体認証アプリケーション150との間で送受信するデータを格納するためにも用いられる。
ここで、決済アプリケーション140は、PIN照合による本人確認を行う機能は有しているが、生体認証による本人確認を行う機能は有していない。このため、決済アプリケーション140が生体認証による本人確認を実行する場合は、生体認証アプリケーション150に、生体認証の処理を共有バッファ170経由で委譲することになる。
次に、決済アプリケーション140が管理するデータの構成について説明する。決済アプリケーション140が管理するデータは、決済AID141と、生体認証アプリ管理情報142と、PIN照合残回数143と、登録PIN144と、本人確認結果145とを含んでいる。
決済AID141は、決済アプリケーション140に付与されたアプリケーション識別子(AID:Application IDentifier)である。ここで、AIDは、ICカードアプリケーションを一意に識別して、オペレーティングシステム160がアプリケーションを選択するために使用する識別子である。なお、国際的に流通するICカードアプリケーションのAIDの付番方法は、国際規格のISO/IEC7816−5で定められている。
生体認証アプリ管理情報142は、決済アプリケーション140から実行可能な生体認証アプリケーションごとに、生体認証の状況、および生体情報の登録の状況を管理するデータであり、生体認証が有効であるか否かの状況を示す情報である「生体認証情報」と、生体認証が有効である場合に、生体情報の登録の状況を示す情報である「登録情報」とを有する。生体認証アプリ管理情報142のデータの構成については後述する。
PIN照合残回数143は、決済アプリケーション140が実行するPIN照合処理の残り試行回数を保持するデータである。PIN照合残回数143には、所定の正の整数値が初期値として設定され、PIN照合による本人確認が失敗するたびに値を減じていく。PIN照合残回数143の値が“0”となった場合、決済アプリケーション140は、PIN照合を実行不可とする。なお、本実施の形態では、決済アプリケーション140は、PIN照合残回数143を用いてPIN照合の実行可否の管理を行っているが、PIN照合の残り試行回数ではなく、PIN照合が失敗した回数を保持しておくことでPIN照合の実行可否の管理を行ってもよい。
登録PIN144は、ICカード100の利用者のPINであり、この値が、PIN照合による本人確認時に利用者が決済端末200のPIN入力部230から入力したPINの値と照合される。本人確認結果145は、決済アプリケーション140においてPIN照合による本人確認を行った結果を保持するデータである。
図2は、生体認証アプリ管理情報142のデータの構成例を示した図である。図2において、生体認証アプリ管理情報142は、決済アプリケーション140が対応する生体認証アプリケーションごとに、生体AID1421、有効フラグ1422、生体認証残回数1423、登録番号1424、登録番号照合残回数1425、登録年月日1426、登録場所1427、および限度額1428を保持しているテーブルである。
ここで、生体AID1421は、対応するICカードアプリケーションを一意に識別して、オペレーティングシステム160がアプリケーションを選択するために使用する識別子である。
有効フラグ1422は、決済アプリケーション140が対応する生体認証アプリケーションのロード状態、生体情報の登録状態、生体認証アプリケーションの利用可能状態を示すフラグである。例えば、有効フラグ1422が“0”の場合は、生体認証アプリケーションがICカード100にロードされていない状態であることを表し、“1”の場合は、生体認証アプリケーションがICカード100にロードされていて、かつ、生体情報が登録されていて、正常に使用できる状態であることを表す。
また、有効フラグ1422が“2”の場合は、生体認証アプリケーションがICカード100にロードされていて、かつ、生体情報が登録されているが、生体認証がロックされて一時使用不可の状態であることを表し、“3”の場合は、生体認証アプリケーションがICカード100にロードされているが、生体情報が登録されていない状態であることを表す。有効フラグ1422の値は、生体情報をICカード100に登録した際に“1”として有効に設定するが、生体情報の登録後に生体認証による本人確認を行ってから正式に有効に設定してもよい。
生体認証残回数1423は、決済アプリケーション140が生体認証処理を行う場合の残り試行回数を保持する。この値は、生体認証アプリケーション150をICカード100にロードした際に設定されるが、ロード後に値を更新してもよい。生体認証残回数1423が“0”となった場合、決済アプリケーション140は、有効フラグ1422を“2”として、生体認証をロックして一時使用不可にする。なお、本実施の形態では、決済アプリケーション140は、生体認証残回数1423を用いて生体認証の実行可否の管理を行っているが、生体認証の残り試行回数ではなく、生体認証が失敗した回数を保持することで生体認証の実行可否の管理を行ってもよい。
登録番号1424は、PIN以外にICカード100の利用者を確認するために使われる。通常は利用者に通知されない番号だが、生体認証のエラー時に、利用者へ電子メールや郵送葉書等の何らかの手段で通知され、その値を利用者が決済端末200から入力して、ICカードで照合することによって本人確認を行う。この登録番号1424の値は、後述する生体認証アプリケーション120の登録番号生成機能153によって設定される。
登録番号照合残回数1425は、有効フラグ1422が“2”で生体認証がロックされて一時使用不可となっている状態を解除する際や、登録されている生体情報を上書きして再登録する際に、登録番号1424の照合を行う場合の残り試行回数を保持する。この値は、生体認証アプリケーション150をICカード100にロードした際に設定されるが、ロード後に値を更新してもよい。なお、本実施の形態では、決済アプリケーション140は、登録番号照合残回数1425を用いて登録番号照合の実行可否の管理を行っているが、登録番号照合の残り試行回数ではなく、登録番号照合が失敗した回数を保持することで登録番号照合の実行可否の管理を行ってもよい。
登録年月日1426は、生体情報をICカード100に登録した年月日を保持する。また、登録場所1427は、生体情報をICカード100に登録した場所の情報を保持する。これらの情報は、生体情報がICカードに登録されている場合、すなわち有効フラグ1422が“1”もしくは“2”である場合にのみ管理される。限度額1428は、決済取引を行う際に生体認証を用いた場合の決済額の最高限度額を保持する。この値は、生体認証アプリケーション150をICカード100にロードした際に設定されるが、ロード後に値を更新してもよい。
ここで、前述した生体認証が有効であるか否かの状況を示す情報である「生体認証情報」には、生体AID1421、有効フラグ1422、生体認証残回数1423が該当する。また、生体認証が有効である場合に生体情報の登録の状況を示す情報である「登録情報」には、生体AID1421、登録番号1424が該当する。「生体認証情報」は、決済端末200に送信され、決済端末200にて利用される。また、「登録情報」は、決済端末200経由で決済センタ300に送信され、決済センタ300にて利用される。
なお、限度額1428を「生体認証情報」に含めて決済端末200で利用したり、登録番号照合残回数1425、登録年月日1426、登録場所1427を「登録情報」に含めて決済センタ300で利用したりしてもよい。本実施の形態では、「生体認証情報」、および「登録情報」を含むこれらの情報を合わせて生体認証アプリ管理情報142としてテーブル化し、生体認証アプリ管理情報142全体を決済端末200に送信し、さらに決済端末200経由で決済センタ300に送信する構成としている。
次に、生体認証アプリケーション150が管理するデータの構成と機能について説明する。生体認証アプリケーション150が管理するデータは、生体AID151と、生体情報登録データ152とを含んでいる。また、生体認証アプリケーション150は、その機能として登録番号生成機能153を有している。
生体AID151は、生体認証アプリケーション150に付与されたアプリケーション識別子であり、前述した決済AID141と同様に、ICカードアプリケーションを一意に識別して、オペレーティングシステム160がICカードアプリケーションを選択するために使用する。生体情報登録データ152は、ICカード100の保有者が登録した生体情報である。生体情報登録データ152の種類としては、掌静脈パターンあるいは指静脈パターン等を用いることができるが、これらに限られるものではなく、他の生体情報を扱うことも可能である。
登録番号生成機能153は、ICカード100の保有者が生体情報を登録する際に、所定の桁数の登録番号を生成する機能である。登録番号生成機能153では、登録番号として、重複しないようにランダムな番号を生成してもよいし、登録した時間等を設定してもよい。ここで生成された登録番号は、前述の生体認証アプリ管理情報142の登録番号1424となる。
次に、オペレーティングシステム160が管理するデータの構成と機能について説明する。オペレーティングシステム160が管理するデータは、アプリケーション管理テーブル161を含んでいる。また、オペレーティングシステム160は、その機能として外部通信機能162、アプリケーション追加削除機能163、アプリケーション実行機能164、およびアプリケーション間通信機能165を有している。
アプリケーション管理テーブル161は、オペレーティングシステム160が、ICカードアプリケーションを管理するために使用するテーブルである。図3は、アプリケーション管理テーブル161のデータの構成例を示した図である。図3において、アプリケーション管理テーブル161は、登録されているICカードアプリケーションごとに、AID1611、アプリケーション参照アドレス1612、アプリケーションサイズ1613、選択フラグ1614、および呼出し順序1615を保持しているテーブルである。
ここで、AID1611は、対応するICカードアプリケーションを一意に識別して、オペレーティングシステム160がアプリケーションを選択するために使用する識別子である。決済アプリケーション140の場合は決済AID141、生体認証アプリケーション150の場合は生体AID151の値となる。アプリケーション参照アドレス1612は、メモリ130において該当のICカードアプリケーションが格納されている領域の先頭アドレスである。図3の例では、各ICカードアプリケーションに対して1つのアドレスのみを設定しているが、例えばアプリケーションのコード部の先頭アドレスとデータ部の先頭アドレスというように複数のアドレスを設定しても良い。
アプリケーションサイズ1613は、対応するICカードアプリケーションのサイズである。図3の例では、各ICカードアプリケーションに対して1つのサイズのみを設定しているが、例えばアプリケーションのコード部のサイズとデータ部のサイズというように複数のサイズを設定しても良い。
選択フラグ1614は、対応するICカードアプリケーションが現在選択されているか否かを示す。図3の例では、対応するICカードアプリケーションが選択されている場合は値を“1”とし、選択されていない場合は“0”としているが、他の表記法であっても良い。呼出し順序1615は、対応するICカードアプリケーションが後述するアプリケーション間通信機能165によって呼出されている順序を示す。図3の例では、呼出されている順序を数字の大小で表しているが、他の表記法であっても良い。
外部通信機能162は、通信部110を制御してICカード100の外部からコマンドを受信するとともに、対応するレスポンスを送信する機能である。アプリケーション追加削除機能163は、ICカードアプリケーションをICカード100の外部からダウンロードし、ダウンロードしたICカードアプリケーションをアプリケーション管理テーブル161に登録して実行可能にする機能と、アプリケーション管理テーブル161に登録されているICカードアプリケーションを削除する機能である。
アプリケーション実行機能164は、ICカード100の外部からのコマンドによって、アプリケーション管理テーブル161に登録されている何れかのICカードアプリケーションを選択し、その後ICカード100の外部からコマンドを受信した際に、選択したICカードアプリケーションを実行してコマンドに対応する処理を行う機能である。
ここで、ICカードアプリケーションは、ICカードのハードウェアに依存しない専用の命令セット仕様に基づいて作られたプログラムであり、アプリケーション実行機能164は、このような専用の命令セット仕様に基づいて作られたプログラムを読み込んで実行していくインタプリタ(あるいは仮想マシン)処理を行う。
また、アプリケーション実行機能164は、ICカードアプリケーションのプログラムとデータを、ICカード100の外部、およびICカード100の内部に登録されている他のICカードアプリケーションによる不正なアクセスから保護するファイヤーウォール機能も有している。アプリケーション実行機能164の具体例としては、ICカードのオペレーティングシステムであるMULTOS(登録商標)やJava(登録商標)Cardが有しているプログラムの実行機能などが挙げられる。
アプリケーション間通信機能165は、現在実行中のあるICカードアプリケーションが、指定する他のICカードアプリケーションにメッセージを送信し、当該他のICカードアプリケーションから、メッセージに対応する処理結果を受信することを可能にする機能である。
具体的には、現在実行中のICカードアプリケーションAが、メッセージを共有バッファ170に格納するとともに、ICカードアプリケーションBのAIDを指定してアプリケーション間通信機能165を呼出すと、アプリケーション間通信機能165は、ICカードアプリケーションAを一時停止状態にしてから、AIDで指定されたICカードアプリケーションBを実行可能状態にする。ICカードアプリケーションBは、メッセージに対応する処理を行い、処理結果を共有バッファ170に格納してから処理を終了する。
その後、アプリケーション間通信機能165は、ICカードアプリケーションAを実行可能状態に戻す。そして、ICカードアプリケーションAは、メッセージに対応する処理結果を共有バッファ170から取得する。このように、メッセージと対応する処理結果は共有バッファ170に格納されるので、ICカードアプリケーションの間で共有されるが、メッセージに対応する処理はICカードアプリケーションの内部で実行されるため、その処理内容を他のICカードアプリケーションから隠蔽することが可能になる。
このアプリケーション間通信機能165は、後述するように、決済アプリケーション140が、生体認証アプリケーション150に対して生体認証処理を依頼する際に使用される。アプリケーション間通信機能165の具体例としては、ICカードのオペレーティングシステムであるMULTOS(登録商標)が有しているデリゲーション機能、あるいはJava(登録商標)Cardが有しているSIO(Shareable Interface Object)機能などが挙げられる。
次に、ICカード100、決済端末200、および決済センタ300の間で行われる生体情報登録処理の内容について説明する。図4は、生体情報登録処理の流れの例を示すシーケンス図である。
[ステップS401] 決済端末200は、利用者による生体情報の登録処理を受け付け、ICカード100内部の決済アプリケーション140を選択するために、決済アプリケーション140のAIDである決済AID141をICカード100に送信し、決済アプリケーション140から生体認証アプリ管理情報142を受信する。
[ステップS402] 決済アプリケーション140は、オペレーティングシステム160のアプリケーション実行機能164によって選択され、決済アプリケーション140が保持している生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS403] 決済端末200は、保有する生体AIDリスト263と、決済アプリケーション140から取得した生体認証アプリ管理情報142とで一致する生体認証アプリケーション150の情報を抽出し、ユーザインタフェース部220に一覧を表示する。ここで、生体AIDリスト263は、決済端末200が読み取ることのできる生体情報の種類、すなわち決済端末200が対応する生体認証アプリケーション150のリストである。利用者は、ユーザインタフェース部220に表示された生体認証アプリケーション150の一覧から、生体情報を登録する生体認証アプリケーション150を選択する。
[ステップS404] 決済端末200は、本人確認のためにPIN照合を行うことをユーザインタフェース部220に表示して、利用者がPIN入力部230に入力したPINを受け付け、決済アプリケーション140に送信する。
[ステップS405] 決済アプリケーション140は、決済端末200より取得したPINとICカード100が保有している登録PIN144とを照合し、確認結果を本人確認結果145に格納して決済端末200に送信する。
[ステップS406] 決済端末200は、生体情報センサ240を用いて利用者の生体情報を取得する。その後、生体情報登録処理を行うために、取得した生体情報と当日の年月日と決済端末200の場所の情報とを、決済アプリケーション140に送信する。
[ステップS407] 決済アプリケーション140は、取得した生体情報を、生体認証アプリケーション150に送信し、生体認証登録を生体認証アプリケーション150に委譲する。この委譲処理は、オペレーティングシステム160のアプリケーション間通信機能165を介して行う。
[ステップS408] 生体認証アプリケーション150は、決済アプリケーション140から受信した生体情報を生体情報登録データ152に登録する。また、登録番号生成機能153により登録番号を生成し、生成した登録番号を決済アプリケーション140に送信する。
[ステップS409] 決済アプリケーション140は、生体認証アプリ管理情報142に、有効フラグ1422、登録番号1424、登録年月日1426、および登録場所1427を格納し、決済端末200に生体認証アプリ管理情報142を送信する。
[ステップS410] 決済端末200は、決済アプリケーション140から取得した生体認証アプリ管理情報142を決済センタ300に送信する。
[ステップS411] 決済センタ300は、決済端末200から受信した生体認証アプリ管理情報142を、データベース340の生体認証アプリ管理情報342に記録するとともに、利用者へ生体情報を登録した旨を郵送葉書や電子メール等の手段により通知する。
図4に示す生体情報登録処理のシーケンスでは、ICカード100において、生体情報登録データ152を更新するごとに生体認証アプリ管理情報142の有効フラグ1422、登録番号1424、登録年月日1426、および登録場所1427を更新し、登録番号1424を含む生体認証アプリ管理情報142を決済端末200経由で決済センタ300に送信してこれを保持することで、クレジットカード会社など支店・窓口のない会社が発行するICカード100であっても、窓口以外の場所において、PIN照合による本人確認を行って利用者自身が決済端末200によって生体情報を登録することができる。
次に、決済端末200が行う生体情報登録の受付処理について説明する。この処理は、前述の図4に示すシーケンスの場合は、ステップS401、S403にて行われる処理である。図5は、決済端末200が行う生体情報登録の受付処理の流れを示すフローチャートである。
[ステップS501] 決済端末200は、利用者より決済を行うアプリケーションの選択を受け付け、ICカード100にその決済AIDを送信する。
[ステップS502] 決済端末200は、ICカード100に格納されている生体認証アプリ管理情報142を、ICカード100から取得し、その中の有効フラグ1422を読み取る。
[ステップS503] 決済端末200は、ICカード100から取得した生体認証アプリ管理情報142と、決済端末200が保有する生体AIDリスト263とが一致し、有効フラグ1422の値が生体認証アプリケーション150をロード済みとなっている生体認証アプリケーション150の情報を抽出し、ステップS505に進む。この際、有効フラグ1422の値がロード済みとなっているものが無い場合や、その他、ICカード100から生体認証アプリ管理情報1422を取得できなかった場合、ICカード100から取得した生体認証アプリ管理情報1422が空だった場合、決済端末200で実行可能な生体認証方式が無かった場合は、ステップS504に進む。
[ステップS504] 決済端末200は、利用者にICカード100がその決済端末200での生体情報登録に対応していないことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS505] 決済端末200は、利用者に有効な生体認証アプリケーション150の一覧をユーザインタフェース部220を用いて提示する。
[ステップS506] 決済端末200は、ユーザインタフェース部220を用いて利用者からの生体認証アプリケーション150の選択を受け付ける。ここで、所定の時間内に利用者が生体認証アプリケーション150を選択しなかった場合はステップS507に進む。利用者が生体認証アプリケーション150を選択した場合はステップS508に進む。
[ステップS507] 決済端末200は、利用者に生体情報登録が失敗したことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS508] ICカード100から取得した生体認証アプリ管理情報142において、利用者に選択された生体認証アプリケーション150の有効フラグ1422が“1”で生体情報登録済かつ正常状態となっている場合はステップS509に進む。有効フラグ1422が“1”以外の場合はステップS512に進む。
[ステップS509] 決済端末200は、利用者に生体情報を再登録することを確認する案内をユーザインタフェース部220を用いて提示する。
[ステップS510] 決済端末200は、ユーザインタフェース部220を用いて利用者から生体情報の再登録の確認を受け付ける。ここで、所定の時間内に生体情報の再登録の確認を受け付けなかった場合はステップS511に進む。生体情報の再登録の確認を受け付けた場合はステップS515に進む。
[ステップS511] 決済端末200は、利用者に生体情報登録処理が中止されたことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS512] ICカード100から取得した生体認証アプリ管理情報142において、利用者に選択された生体認証アプリケーション150の有効フラグ1422が“2”で生体情報登録済かつ一時使用不可状態となっている場合はステップS515に進む。有効フラグ1422が“2”以外の場合はステップS513に進む。
[ステップS513] ICカード100から取得した生体認証アプリ管理情報142において、利用者に選択された生体認証アプリケーション150の有効フラグ1422が“3”で生体情報未登録となっている場合はステップS517に進む。有効フラグ1422が“3”以外の場合はステップS514に進む。
[ステップS514] 決済端末200は、利用者に生体情報登録処理ができないことを、ユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS515] 決済端末200は、利用者に登録番号1424の照合を行う案内をユーザインタフェース部220を用いて提示する。そして、PIN入力部230を用いて利用者からの登録番号の入力を受け付ける。
[ステップS516] 利用者から入力された登録番号と、登録番号1424との照合を行う。登録番号1424の照合が成功した場合はステップS517に進む。照合が失敗した場合はステップS507に進む。
[ステップS517] 決済端末200は、生体情報登録の受付処理が成功したので、生体情報の登録処理を行う。
図5に示す生体情報登録の受け付け処理のフローでは、決済端末200は、ICカード100から取得した生体認証アプリ管理情報142に基づいて、生体情報登録を行う生体認証アプリケーション150を適切に抽出することができる。これにより、ICカード100や決済端末200が生体認証に対応していないのに、利用者に生体情報の登録を行うガイダンスを提示してしまうといった誤動作を防止することができる。
また、ステップS515、S516において、郵送葉書や電子メール等でカード保有者へ連絡される登録番号1424を用いて本人確認を行うことで、決済端末200で行うPIN照合以外の手段による本人確認ができるため、セキュリティを確保することができる。
次に、決済端末200が行う生体情報登録処理について説明する。この処理は、前述の図4に示すシーケンスの場合は、ステップS404、S406、S410にて行われる処理である。図6は、決済端末200が行う生体情報登録処理の流れを示すフローチャートである。
[ステップS601] 決済端末200は、利用者にPIN照合による本人確認を行う案内をユーザインタフェース部220を用いて提示する。そして、PIN入力部230を用いて利用者にPINを入力させ、PIN照合を行う。PIN照合は、ICカード100内部で行うオフラインPIN照合であっても、決済センタ300で行うオンラインPIN照合であっても良い。
[ステップS602] PIN照合による本人確認が成功の場合はステップS604に進む。本人確認が失敗の場合はステップS603に進む。
[ステップS603] 決済端末200は、利用者にPIN照合の失敗により生体情報登録が失敗したことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS604] 決済端末200は、利用者に生体情報登録を行う案内をユーザインタフェース部220を用いて提示する。そして、生体情報センサ240を用いて利用者の生体情報を取得し、取得した生体情報をICカード100に送信することで生体情報の登録を行う。
[ステップS605] 決済端末200は、ICカード100での生体情報の登録の結果として、ICカード100より生体認証アプリ管理情報142を正常に取得できた場合はステップS607に進む。生体認証アプリ管理情報142を正常に取得できなかった場合はステップS606に進む。
[ステップS606] 決済端末200は、利用者に生体情報の取得が失敗して生体情報登録が失敗したことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
[ステップS607] 決済端末200は、ICカード100より取得した生体認証アプリ管理情報142を決済センタ300へ送信する。
[ステップS608] 決済端末200は、利用者に生体情報の登録が完了したことをユーザインタフェース部220を用いて提示して、生体情報登録処理を終了する。
次に、ICカード100内部の決済アプリケーション140が行う生体情報登録処理について説明する。この処理は、前述の図4に示すシーケンスの場合は、ステップS402、S405、S407、S408、S409にて行われる処理である。図7は、ICカード100内部の決済アプリケーション140が行う生体情報登録処理の流れを示すフローチャートである。
[ステップS701] 決済アプリケーション140は、決済端末200から決済AID141を受信すると、決済アプリケーション140が保持している生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS702] 決済アプリケーション140は、決済端末200からPIN照合要求を受信すると、PIN照合残回数143を確認し、PIN照合残回数143が“0”の場合はステップS703に進む。“0”でない場合はステップS704に進む。
[ステップS703] 決済アプリケーション140は、PIN照合残回数143が“0”となりPIN照合ができないため、本人確認結果を「失敗」に設定し、決済端末200に送信する。
[ステップS704] 決済アプリケーション140は、PIN照合処理として、決済端末200から受信したPINと、決済アプリケーション140が保持している登録PIN144とが一致するか否かを確認する。
[ステップS705] 決済アプリケーション140は、ステップS704で行ったPIN照合処理による本人確認が成功の場合はステップS707に進む。本人確認が失敗の場合はステップS706に進む。
[ステップS706] 決済アプリケーション140は、PIN照合が失敗したので、PIN照合残回数143を所定の値だけ減算し、ステップS702に戻る。
[ステップS707] 決済アプリケーション140は、PIN照合処理が成功したので、PIN照合残回数143を初期設定値に戻す。例えば、PIN照合残回数143が初めに“5”と設定されていた場合は初期設定値は“5”となる。あるいは、初期設定値を“0”として、PIN照合が失敗した場合にPIN照合残回数143を所定の値だけ加算する方式であっても良い。
[ステップS708] 決済アプリケーション140は、本人確認結果120を「成功」に設定し、決済端末200に送信する。
[ステップS709] 決済アプリケーション140は、決済端末200から受信した生体情報を、共有バッファ170経由で生体認証アプリケーション150に送信することで生体情報登録処理を生体認証アプリケーション150に委譲する。生体認証アプリケーション150は、生体情報を生体情報登録データ152に登録し、登録番号生成機能153により登録番号を生成する。生体認証アプリケーション150は、生成された登録番号を決済アプリケーション140へ送信する。
[ステップS710] 決済アプリケーション140は、ステップS709で生体認証アプリケーション150から受信した登録番号が正常の場合はステップS712に進む。正常でない場合はステップS711に進む。
[ステップS711] 決済アプリケーション140は、生体情報の登録が失敗したので、生体認証アプリ管理情報142の登録番号1424、登録年月日1426、および登録場所1427を設定せずに、生体認証アプリ管理情報142を決済端末200へ送信する。
[ステップS712] 決済アプリケーション140は、生体情報の登録が成功したので、生体認証アプリ管理情報142の有効フラグ1422を“1”として生体情報登録済かつ正常状態に設定する。また、生体認証アプリケーション150から取得した登録番号と決済端末200から取得した登録年月日、登録場所の情報を、それぞれ生体認証アプリ管理情報142の登録番号1424、登録年月日1426、および登録場所1427に設定し、生体認証アプリ管理情報142を決済端末200へ送信する。
次に、ICカード100、決済端末200、および決済センタ300の間で行われる生体認証および生体認証のエラー時の処理の内容について説明する。図8は、生体認証および生体認証のエラー時の処理の流れの例を示すシーケンス図である。
[ステップS801] 決済端末200は、利用者による決済取引処理を受け付け、ICカード100内部の決済アプリケーション140を選択するために、決済アプリケーション140のAIDである決済AID141をICカード100に送信し、決済アプリケーション140から生体認証アプリ管理情報142を受信する。
[ステップS802] 決済アプリケーション140は、オペレーティングシステム160のアプリケーション実行機能164によって選択され、決済アプリケーション140が保持している生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS803] 決済端末200は、保有する生体AIDリスト263と、決済アプリケーション140から取得した生体認証アプリ管理情報142とで一致する生体認証アプリケーション150の情報を抽出し、ユーザインタフェース部220に一覧を表示する。利用者は、ユーザインタフェース部220に表示された生体認証アプリケーション150の一覧から、生体認証を行う生体認証アプリケーション150を選択する。決済端末200は、生体情報センサ240を用いて利用者の生体情報を取得し、取得した生体情報を決済アプリケーション140に送信する。
[ステップS804] 決済アプリケーション140は、取得した生体情報を生体認証アプリケーション150に送信して、生体認証の処理を生体認証アプリケーション150に委譲する。この委譲処理は、オペレーティングシステム160のアプリケーション間通信機能165を介して行われる。
[ステップS805] 生体認証アプリケーション150は、取得した生体情報による生体認証を行い、本人確認結果を決済アプリケーション140に送信する。本人確認結果が「成功」の場合は決済取引処理を行う。本人確認結果が「失敗」だった場合はステップS806に進む。
[ステップS806] 決済アプリケーション140は、生体認証アプリ管理情報142の有効フラグ1422を“2”としてロード済かつ生体情報登録済だが一時使用不可状態に設定し、生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS807] 決済端末200は、決済アプリケーション140より生体認証アプリ管理情報142を受信し、受信した生体認証アプリ管理情報142を決済センタ300へ送信する。
[ステップS808] 決済センタ300は、決済端末200より生体認証アプリ管理情報142を取得し、データベース340の生体認証アプリ管理情報342を更新するとともに、利用者へ登録番号1424を郵送葉書や電子メール等の手段により通知する。なお登録番号の通知の手段はこれらに限られるものではない。
図8に示す生体認証処理のシーケンスでは、ICカード100において、生体認証処理が失敗するごとに生体認証アプリ管理情報142の有効フラグ1422、および生体情報登録データ152を更新することで、生体認証が失敗した場合に一時的にICカード100の生体認証を利用した決済を使用不可にすることができる。
次に、ICカード100内部の決済アプリケーション140が行う生体認証処理について説明する。この処理は、前述の図8に示すシーケンスの場合は、ステップS804、S805、S806にて行われる処理である。図9は、決済アプリケーション140が行う生体認証処理の流れを示すフローチャートである。
[ステップS901] 決済アプリケーション140は、決済端末200から生体認証要求を受信すると、生体認証アプリ管理情報142の生体認証残回数1423を確認し、生体認証残回数1423が“0”の場合はステップS902に進む。“0”でない場合はステップS903に進む。
[ステップS902] 決済アプリケーション140は、本人確認結果145を「失敗」に設定する。また生体認証アプリ管理情報142の有効フラグ1422を“2”としてロード済かつ生体情報登録済だが一時使用不可状態に設定し、生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS903] 決済アプリケーション140は、決済端末200から生体情報を受信し、受信した生体情報を生体認証アプリケーション150に送信することで生体認証アプリケーション150に生体認証を実施してもらう。その後、生体認証アプリケーション150から生体認証の結果を取得する。
[ステップS904] 決済アプリケーション140は、ステップS903で行った生体認証の結果が成功の場合はステップS906に進む。生体認証の結果が失敗の場合はステップS905に進む。
[ステップS905] 決済アプリケーション140は、生体認証が失敗したので、生体認証残回数1423を所定の値だけ減算し、ステップS901に戻る。
[ステップS906] 決済アプリケーション140は、生体認証が成功したので、生体認証残回数1423を初期設定値に戻す。例えば、生体認証残回数1423が初めに“5”と設定されていた場合は初期設定値は“5”となる。あるいは、初期設定値を“0”として、生体認証が失敗した場合に生体認証残回数1423を所定の値だけ加算する方式であっても良い。
[ステップS907] 決済アプリケーション140は、本人確認結果120を「成功」に設定し、決済端末200に送信する。
次に、決済端末200が行う生体認証処理について説明する。この処理は、前述の図8に示すシーケンスの場合は、ステップS803、S807にて行われる処理である。図10は、決済端末200が行う生体認証処理の流れを示すフローチャートである。
[ステップS1001] 決済端末200は、利用者に生体認証を行う案内をユーザインタフェース部220を用いて提示する。そして、生体情報センサ240を用いて利用者の生体情報を取得する。決済端末200は、生体認証を行うために取得した生体情報を決済アプリケーション140に送信し、生体認証の結果として本人確認結果145をICカード100から取得する。
[ステップS1002] 決済端末200は、ICカード100から取得した本人確認結果145が「成功」の場合はステップS1004に進む。本人確認結果145が「失敗」の場合はステップS1003に進む。
[ステップS1003] 決済端末200は、決済アプリケーション140から受信した生体認証アプリ管理情報142を決済センタ300へ送信して、生体認証処理が失敗したことを決済センタ300に通知する。
[ステップS1004] 決済端末200は、決済取引処理を行う。
次に、決済センタ300が行う生体認証のエラー時の処理について説明する。この処理は、前述の図8に示すシーケンスの場合は、ステップS808にて行われる処理である。図11は、決済センタ300が行う生体認証のエラー時の処理の流れを示すフローチャートである。
[ステップS1101] 決済センタ300は、決済端末200より生体認証アプリ管理情報142を受信する。
[ステップS1102] 決済センタ300は、データベース340の生体認証アプリ管理情報342を更新する。生体認証アプリ管理情報342の登録番号1424は、カード保有者へ郵送葉書や電子メール等の手段により通知され、その値を決済端末200を通して入力し、ICカード100において照合することで本人確認を行う。なお登録番号の通知の手段はこれらに限られるものではない。
次に、ICカード100、決済端末200、および決済センタ300の間で行われる一時使用不可状態の生体認証の解除処理の内容について説明する。図12は、一時使用不可状態の生体認証の解除処理の流れの例を示すシーケンス図である。
[ステップS1201] 決済端末200は、利用者による決済取引処理を受け付け、ICカード100内部の決済アプリケーション140を選択するために、決済アプリケーション140のAIDである決済AID141をICカード100に送信し、決済アプリケーション140から生体認証アプリ管理情報142を受信する。
[ステップS1202] 決済アプリケーション140は、オペレーティングシステム160のアプリケーション実行機能164によって選択され、決済アプリケーション140が保持している生体認証アプリ管理情報142を決済端末200に送信する。
[ステップS1203] 決済端末200は、保有する生体AIDリスト263と、決済アプリケーション140から取得した生体認証アプリ管理情報142とで一致する生体認証アプリケーション150の情報を抽出し、ユーザインタフェース部220に一覧を表示する。利用者は、ユーザインタフェース部220に表示された生体認証アプリケーション150の一覧から、生体認証を行う生体認証アプリケーション150を選択する。さらに、決済端末200は、利用者に登録番号の入力の要求をユーザインタフェース部220を用いて提示して、PIN入力部230から登録番号を取得し、取得した登録番号をICカード100へ送信する。
[ステップS1204] 決済アプリケーション140は、受信した登録番号を生体認証アプリ管理情報142に記録されている登録番号1424と照合する。照合が成功した場合は生体認証アプリ管理情報142の有効フラグ1422を“1”としてロード済かつ生体情報登録済かつ正常状態に設定して、生体認証アプリ管理情報142を決済端末200に送信する。照合が失敗した場合は、生体認証アプリ管理情報142を更新せずに、決済端末200に送信する。
[ステップS1205] 決済端末200は、受信した生体認証アプリ管理情報142のうち、ステップS1203で選択された生体認証アプリケーション150に対応する有効フラグ1422が“1”のロード済かつ生体情報登録済かつ正常状態になっている場合、決済センタ300へ生体認証アプリ管理情報142を送信し、生体認証処理に進む。
[ステップS1206] 決済センタ300は、決済端末200より生体認証アプリ管理情報142を取得し、データベース340の生体認証アプリ管理情報342を更新するとともに、生体認証の一時使用不可状態が解除された旨を利用者へ郵送葉書や電子メール等の手段により通知する。
図12に示す一時使用不可状態の生体認証の解除処理のシーケンスでは、登録番号の照合が成功したことにより有効フラグ1422の値を変更することで、ICカード100の生体認証処理を有効にすることができる。
以上に説明したように、本実施の形態の生体認証登録システムによれば、従来のように、窓口等での本人確認を実施することなく、「登録番号」を本人確認のために利用することによって、決済端末200を用いて利用者自身が生体情報を登録することができる。さらに、決済センタ300にて、取引の履歴に「登録番号」を付加して記録しておくことにより、ICカードへの生体情報の登録前の取引と、生体情報の登録後の取引との識別を可能とする。これにより、不正にICカード100を入手して生体情報を登録された場合の不正な取引を検知することが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
100…ICカード、110…通信部、120…演算処理部、130…メモリ、140…決済アプリケーション、141…決済AID、142…生体認証アプリ管理情報、143…PIN照合残回数、144…登録PIN、145…本人確認結果、150…生体認証アプリケーション、151…生体AID、152…生体情報登録データ、153…登録番号生成機能、160…オペレーティングシステム、161…アプリケーション管理テーブル、162…外部通信機能、163…アプリケーション追加削除機能、164…アプリケーション実行機能、165…アプリケーション間通信機能、170…共有バッファ、
200…決済端末、210…演算処理部、220…ユーザインタフェース部、230…PIN入力部、240…生体情報センサ、250…ICカード通信部、260…メモリ、261…決済処理プログラム、262…生体情報登録処理プログラム、263…生体AIDリスト、270…センタ通信部、
300…決済センタ、310…決済処理機能、320…決済履歴照会機能、330…通信部、340…データベース、341…カード番号、342…生体認証アプリ管理情報、343…決済履歴、
400…ネットワーク、
1421…生体AID、1422…有効フラグ、1423…生体認証残回数、1424…登録番号、1425…登録番号照合残回数、1426…登録年月日、1427…登録場所、1428…限度額、
1611…AID、1612…アプリケーション参照アドレス、1613…アプリケーションサイズ、1614…選択フラグ、1615…呼出し順序。