以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
第1端末が第1特徴量を取得し、第1端末とは異なる第2端末が第2特徴量を取得するとする。このとき、例えば、第1ユーザが第1端末を所持して、第1ユーザと結託した第2ユーザが第1ユーザとは別の場所で第2端末を所持し、第1ユーザが第1認証処理に成功したとき、第2端末が第2ユーザから第2情報を取得し、第2認証情報を登録する、という第1の不正の例がある。
また、例えば、第1ユーザとは異なる第2ユーザが、以下のように、第1ユーザをだまして不正に第2認証情報を登録させる第2の不正の例がある。具体的には、第2ユーザは、第2端末を操作し、第2認証情報登録処理を開始する。第2認証情報登録処理の中で、例えばメールや電話などで第1ユーザをだましたり、第1ユーザが持つPC(Personal Computer)やスマートフォンに不正な画面を表示したりするなどして、第1ユーザに第1認証情報を入力させる。その上で、第2ユーザは第2特徴量をシステムに入力し、第2認証情報を登録する。
このような不正な登録の原因は、第1端末と第2端末が同じユーザにより操作されていることが確かめられていないことにある。第1端末と第2端末が同じユーザにより操作されていることを確かめるには、第1端末と第2端末が近い距離にあることを保証することが効果的である。
例えば、上述した第1の不正の例において、第1端末がスマートフォンであり、第2端末がATM(Automatic Teller Machine)であるとする。ATMには監視カメラが取り付けられていることが一般的であるから、もし、スマートフォンがATMと近い距離、例えば監視カメラが撮影できる範囲にあることが保証できれば、スマートフォンとATMを異なるユーザが操作することが困難となり、不正な登録を防ぐことができる。
また、上述した第2の不正の例において、第1端末と第2端末とが近い位置にあれば、上記のように第1ユーザをだますことが困難となり、不正な登録を防ぐことができる。従って、第2認証情報登録時に、第1端末と第2端末とが近い距離にあることを保証できれば、第1端末と第2端末とを同じユーザが操作していることを確かめることができ、ひいては不正な登録を防ぐことができる。
実施例1は、ネットワークを介した個人認証を実施可能な個人認証システムの一例を示す。図1は、本実施例における個人認証システムのシステム構成例を示すブロック図である。個人認証システムは、第1特徴量を取得する第1端末100と、第2特徴量を取得する第2端末200と、第1端末100との間で第1認証処理を行い、第2端末200との間で第2認証処理を行い、第1端末100と第2端末200との間で第2認証情報登録処理を行うサーバ300と、を含み、これらはインターネット等のネットワーク400により互いに接続されている。
第1端末100は、例えば、第1特徴量取得部101、メッセージ生成部102、局所的通信部103、及びネットワーク通信部104を含む。第1特徴量取得部101は、第1特徴量を取得する。メッセージ生成部102は、サーバや第2端末に送るためのメッセージを生成する。局所的通信部103は、第2端末200との間で局所的通信を行う。ネットワーク通信部104は、ネットワーク400を通した通信を行う。
第2端末200は、例えば、登録要求受付部201、第2特徴量取得部202、第2認証情報生成部203、メッセージ生成部204、局所的通信部205、及びネットワーク通信部206を含む。登録要求受付部201は、第2認証情報登録処理要求をユーザが利用する端末から直接的又は間接的に受け付ける。第2特徴量取得部202は、第2特徴量を取得する。
第2認証情報生成部203は、取得した第2特徴量に基づき第2認証情報を生成する。メッセージ生成部204は、サーバ300や第1端末100に送信するメッセージを生成する。局所的通信部205は、第1端末100との間で局所的通信を行う。ネットワーク通信部206は、ネットワーク400を通した通信を行う。
サーバ300は、ネットワーク通信部301、検証部302、DB(DataBase)303、及び格納部304を含む。ネットワーク通信部301は、ネットワーク400を介した通信を行う。
検証部302は、第1認証処理や第2認証処理や第2認証情報登録処理において第1端末100や第2端末200から受信したメッセージの検証を行う。DB303は、第1認証情報や第2認証情報を保持する。格納部304は、DB303に第1認証情報や第2認証情報を格納する。
第1端末100は、例えば、スマートフォン、PC、ATM、携帯電話、又はPOS端末などの端末である。第1端末100がスマートフォンである場合、(第1端末100の特徴量取得装置、第1特徴量)の組は、例えば、(タッチパネル、パスワード)、(カメラ、顔画像)、又は(指紋読取装置、指紋)などである。特徴量取得装置については後述する。
また、第1端末100がPCである場合、(第1端末100の特徴量取得装置、第1特徴量)の組は、例えば、(キーボード、パスワード)、(カメラ、顔画像)、(指紋読取装置、指紋画像)、(指静脈読取装置、指静脈画像)、又は(ICカードリーダ、ICカード内に格納された公開鍵暗号方式の秘密鍵)、などである。
第2端末200も、第1端末100と同様に、さまざまな種類の端末があり得る。また、(第2端末200の特徴量取得装置、第2特徴量)の組についても、(第1端末100の特徴量取得装置、第1特徴量)の組と同様に、さまざまな組み合わせがあり得る。但し、第1特徴量と第2特徴量は異なる種類の特徴量であることが望ましい。
なお、例えば以下に説明するように、第1特徴量と第2特徴量を生成するための情報源が同じであるものの、最終的に得られる又は生成される第1特徴量と第2特徴量が異なれば、第1特徴量と第2特徴量は上記した異なる種類の特徴量であるとみなされてもよいことに注意すべきである。例えば、第1端末100の特徴量取得装置と第2端末200の特徴量取得装置とにおける解像度などの性能が異なる場合に、第1端末100と第2端末200それぞれが同じ部位から取得した生体情報画像は、上記した異なる種類の第1特徴量と第2特徴量の一例である。
また、(第1端末100、第2端末200)の組は、例えば、(スマートフォン、ATM)、(ATM、スマートフォン)、(スマートフォン、PC)、又は(PC、スマートフォン)などの組み合わせがある。
図2は、第1端末100、第2端末200、及びサーバ300を構成する計算機のハードウェア構成例を示すブロック図である。計算機は、例えば、CPU(Central Processnig Unit)10010、メモリ10020、ストレージ(補助記憶装置)10030、入力装置10040、出力装置10050、局所的通信装置10060、ネットワーク通信装置10070、及び特徴量取得装置10080を含む。なお、サーバ300を構成する計算機は特徴量取得装置10080を有していなくてもよい。
CPU10010は、プロセッサを含み、メモリ10020にロードされた各種プログラムを実行し、各装置の各種機能を実現する。メモリ10020は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU10010が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
ストレージ10030は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置であり、CPU10010が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。DB303は、例えば、ストレージ10030によって実現される。
すなわち、プログラムは、ストレージ10030から読み出されて、メモリ10020にロードされて、CPU10010によって実行される。なお、メモリ10020に格納されているデータの一部又は全部がストレージ10030に格納されていてもよいし、ストレージ10030に格納されているデータの一部又は全部がメモリ10020に格納されていてもよい。
入力装置10040は、ユーザからの入力を受ける装置であり、例えば、キーボード、マウス等である。出力装置10050は、プログラムの実行結果をユーザが視認可能な形式で出力する装置であり、例えば、ディスプレイ、プリンタ等である。なお、入力装置10040及び出力装置10050は、各装置を構成する計算機に含まれずに、各装置に接続されていてもよい。
ネットワーク通信装置10070は、所定のプロトコルに従って、ネットワーク400を介して、他の装置との通信を制御するネットワークインターフェース装置である。局所的通信装置10060は、近距離での通信を行う装置であり、例えば、Bluetooth(登録商標)通信装置、赤外線通信装置、又は有線接続のためのインターフェース装置等である。
但し、第1端末100と第2端末200との間で情報のやり取りを行う処理はすべて局所的通信に該当することとしてもよい。例えば、一方の端末のディスプレイに表示されたQRコード(登録商標)などの二次元バーコードを、他方の端末に付属するカメラが読み取る、という処理も局所的通信に該当する。この場合、ディスプレイとカメラがそれぞれ局所的通信装置10060である。また、一方の端末のディスプレイに表示された数値列や文字列を、ユーザがもう一方の端末のタッチパネル又はキーボードを用いて入力する場合、ディスプレイと、タッチパネル又はキーボードが局所的通信装置10060である。この場合、入力装置10040としてのタッチパネル又はキーボードと、出力装置10050としてのディスプレイと、が局所的通信装置10060の役割を果たすことができる。
なお、例えば、第1端末100のCPU10010は、第1端末100のメモリ10020にロードされた第1特徴量取得プログラムに従って動作することで、第1特徴量取得部101として機能し、第1端末100のメモリ10020にロードされたメッセージ生成プログラムに従って動作することで、メッセージ生成部102として機能する。第1端末100が有する他の機能部、及び個人認証システムに含まれる他の装置についても、プログラムと機能の関係は同様である。
なお、個人認証システムに含まれる装置が有する機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field−Programmable Gate Array)等のハードウェアによって実現されてもよい。
なお、本実施形態において、個人認証システムに含まれる各装置が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
なお、個人認証システムに含まれる各装置は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
ここで、本実施例及びこれ以降の実施例において、第1エンティティから第2エンティティへのメッセージを、[第1エンティティ→第2エンティティ]メッセージと呼ぶ。ただし、第1エンティティ及び第2エンティティは、個人認証システムに含まれるエンティティのいずれかである。
本実施例において、第1エンティティ、第2エンティティは、第1端末100、第2端末200、又はサーバ300であり、例えば、第1端末100からサーバ300へのメッセージを[第1端末→サーバ]メッセージと呼び、第2端末200からサーバ300へのメッセージを[第2端末→サーバ]メッセージと呼び、第1端末100から第2端末200へのメッセージを[第1端末→第2端末]メッセージと呼ぶ。
図3は、第2認証情報登録処理の一例を示すシーケンス図である。図3における第2認証情報登録処理が行われる前に、第1認証情報登録処理が完了し、第2認証情報の登録対象者の第1認証情報と、当該登録対象者と、が対応づけられてサーバ300のDB303に格納されているとする。
なお、第1認証処理は、例えば、第1端末100とサーバ300の間で、以下の手順で行われる。まず、第1特徴量取得部101は、第1端末100の特徴量取得装置10080に入力されたユーザの第1特徴量を取得する。
メッセージ生成部102は、第1特徴量取得部101が取得した第1特徴量に基づき、[第1端末→サーバ]メッセージを生成する。ただし、ここでの[第1端末→サーバ]メッセージは、後述する第2認証情報登録処理での[第1端末→サーバ]メッセージとは同一とは限らないことに注意する。例えば、ここでの[第1端末→サーバ]メッセージは、第1特徴量のハッシュ値等を含むメッセージである。また、第1端末100が第1認証処理中にサーバ300から受け取った乱数などのメッセージに対する電子署名を生成し、生成された電子署名を、ここでの[第1端末→サーバ]メッセージとしてもよい。
ネットワーク通信部104は、メッセージ生成部102が生成した[第1端末→サーバ]メッセージを、ネットワーク400を介してサーバ300に送信する。ネットワーク通信部301は、[第1端末→サーバ]メッセージを受信する。
検証部302は、受信した[第1端末→サーバ]メッセージと、DB303に格納された第1認証情報と、に基づき照合を行う。検証部302は、照合に成功したとき、認証成功と判定し、照合に失敗したとき、認証失敗と判定する。なお、サーバ300や第1端末100は、認証結果に応じて任意の処理を行うことができる。例えば、検証部302が認証に成功した場合に、サーバ300は、DB300に格納されているユーザのデータを、第1端末100に送信して第1端末100のユーザが当該データを使用可能にする等の処理が考えられる。以上が、第1認証処理の例である。
また、後述する方法等により第2認証情報登録処理が完了した後は、第2端末200とサーバ300の間で、例えば上記した第1認証処理と同様の方法で、第2認証処理を行うことができる。
本実施例の第2認証情報登録処理は、第1端末100と第2端末200を操作するユーザが同じであることを確かにすることにより、既に登録された第1認証情報と、新たに登録される第2認証情報が同一のユーザのものであることを確かにする。
第1認証情報登録処理において、窓口での身分証明書の提示や、本実施形態に記載の方法などで、確実に本人確認をしておけば、本実施例で説明する第2認証情報登録処理を用いることにより、登録される第2認証情報が本人のものであることを確かめることができる。
図3に示す第2認証情報登録処理は以下の通りである。ステップS1201では、登録要求受付部201は、ユーザから第2認証情報登録要求を受け付ける。第2端末200がATMである場合、登録要求受付部201は、例えば、登録要求ボタンをATM付属のタッチパネルに表示する。このとき、ユーザが登録要求ボタンを押したことを、第2端末200が検知することにより、ステップS1201の処理が完了する。
第2端末200がPCである場合、登録要求受付部201は、例えば、PCのディスプレイに登録要求ボタンを表示する。このとき、ユーザが登録要求ボタンをクリックしたことを、第2端末200が検知することにより、ステップS1201の処理が完了する。
ステップS1202では、第2特徴量取得部202は、第2端末200の特徴量取得装置10080に入力されたユーザの第2特徴量を取得する。例えば、第2端末200がATMである場合、(第2特徴量取得装置100802、第2特徴量)の組として、(ATM付属の指静脈センサ、指静脈画像)などの任意の組を用いることができえる。
ステップS1203では、第2認証情報生成部203は、ステップS1202で取得された第2特徴量に基づき、第2認証情報を生成する。例えば、第2認証方式が、登録時と認証時に取得した指静脈画像から指静脈パターンを抽出し、それらの類似度スコアが所定値以上の場合に認証成功と判定する、という認証方式である場合、第2認証情報は、例えば、指静脈画像、指静脈画像から抽出された指静脈パターン、又は指静脈画像若しくは指静脈パターンを暗号化したデータ等である。
ステップS1204では、メッセージ生成部204は、[第2端末→第1端末]メッセージを生成する。生成する[第2端末→第1端末]メッセージは、当該メッセージ生成時点で第1端末100が知らない情報(例えば第2端末200のみが知っている情報)に基づいて生成されることが好ましく、具体的なメッセージの例は後述する。
ステップS1205では、局所的通信部205は、生成された[第2端末→第1端末]メッセージを第1端末100に送信する。局所的通信として、以下の例が挙げられる。例えば、第2端末200がATM、PC、スマートフォン、携帯端末、又はPOS(Point Of Sale)端末等のディスプレイを備える装置であり、第1端末100がPC、スマートフォン、又は携帯端末等のカメラを備える装置である場合、第2端末200のディスプレイに、[第2端末→第1端末]メッセージをQRコード(登録商標)等の二次元バーコードとして表示し、第1端末に付属のカメラが二次元バーコードを読み取る、という方法を用いることができる。
また、[第2端末→第1端末]メッセージを数字や文字の列として表示し、ユーザに第1端末付属のタッチパネルやキーボードなどを用いて入力させるようにしてもよい。それ以外の例としては、Bluetooth(登録商標)等などの無線通信、又はLAN(Local Area Network)若しくはケーブルなどの有線通信等、任意の方法を用いることができる。
第2端末200は、このような、インターネットや電話網等の広域的通信を介さない局所的通信を用いて[第2端末→第1端末]メッセージを、第1端末100に送信することにより、第1端末100と第2端末200が近い距離にあることを保証できる。従って、第2端末200を操作するユーザと第1端末100を操作するユーザの同一人物性の判定精度を高めることができる。
ステップS1101では、局所的通信部103は、ステップS1205で送信された[第2端末→第1端末]メッセージを受信(取得)する。例えば、第1端末100がスマートフォンであり、局所的通信方法が二次元バーコードを表示し読み取る方法である場合、ステップS1101では、スマートフォン付属のカメラが、表示された二次元バーコードを読み取ることで、[第2端末→第1端末]メッセージを取得する。
ステップS1102では、第1特徴量取得部101は、第1端末100の特徴量取得装置10080が取得したユーザの第1特徴量を取得する。例えば、第1端末100がスマートフォンである場合、(第1特徴量取得部101、第1特徴量)の組として、(スマートフォン付属のカメラ、顔画像)などの任意の組がある。
ステップS1103では、メッセージ生成部102は、[第1端末→サーバ]メッセージを生成する。[第1端末→サーバ]生成するメッセージの例は後述する。ステップS1104では、ネットワーク通信部104は、生成された[第1端末→サーバ]メッセージを、ネットワーク400を通してサーバ300に送信する。
ステップS1206では、メッセージ生成部204は、[第2端末→サーバ]メッセージを生成する。生成するメッセージの例は後述する。ステップS1207では、生成された[第2端末→サーバ]メッセージを、ネットワーク400を通してサーバに送信する。
ステップS1301では、ネットワーク通信部301は、[第1端末→サーバ]メッセージを受信する。ステップS1302では、ネットワーク通信部301は、[第2端末→サーバ]メッセージを受信する。
ステップS1303では、検証部302は、受信した[第1端末→サーバ]メッセージと、受信した[第2端末→サーバ]メッセージと、に基づき、第2認証情報を登録するか否かを判定する。登録可否判定の例は後述する。
ステップS1303において、登録可と判定された場合、ステップS1304に遷移する。ステップS1303において、登録不可と判定された場合、格納部304は、第1認証情報及び第2認証情報をDB303に登録することなく本シーケンスの処理を終了する。
なお、ステップS1303において登録不可と判定された場合に、例えば、再度、ステップS120以降の処理が行われるようにしてもよい。なお、サーバ300が複数人の第2認証情報登録処理を行う場合、サーバ300が複数人の[第1端末→サーバ]メッセージと、複数個の[第2端末→サーバ]メッセージと、を受信する場合がある。
この場合、例えば、第2端末200が第2認証情報登録処理受付時などに、処理IDを発行し、[第2端末→第1端末]メッセージ、[第1端末→サーバ]メッセージ、及び[第2端末→サーバ]メッセージに、発行された処理IDを含めるようにし、サーバ300は、処理IDが同一である[第1端末→サーバ]メッセージと[第2端末→サーバ]メッセージに対してステップS1303の処理を行うようにすればよい。
ステップS1304に先立ち、サーバ300は第2端末200から第2認証情報を受信しているものとする。後述するように、第2端末200が[第2端末→サーバ]メッセージに第2認証情報を含めるという方法、並びに第2端末200が[第2端末→第1端末]メッセージ及び[第1端末→サーバ]メッセージに第2認証情報を含めるという方法は、いずれも第2認証情報の受信方法の一例である。また、第2端末200が第2認証情報を2つのデータに分割又は符号化したうえで、一方を[第2端末→サーバ]メッセージに含め、他方を[第2端末→第1端末]メッセージおよび[第1端末→サーバ]メッセージに含め、サーバが受け取った2つのメッセージから第2認証情報を復元する、という方法も、第2認証情報の受信方法の一例である。
そのうえで、ステップS1304では、受信した第2認証情報を、格納部304がDB303に格納する。DB303に複数のユーザの認証情報が登録される場合には、格納部304はユーザIDと認証情報とを紐づけてDB303に格納するとよい。
なお、ユーザIDを取得する方法の例として、第1端末100又は第2端末200において、ユーザID情報を入力するようにユーザに要求し、取得したユーザID情報をサーバ300に送るという方法がある。また、第1端末100内にID情報が予め記憶されている場合は、第1端末100がそのID情報をサーバ300に送信してもよい。
また、第1端末100でのメッセージ生成処理や、登録可否判定の中で1:N認証処理(識別処理)が行ってもよい。なお、ステップS1104の処理が本人認証処理を含むようにする、又はステップS1302の処理が本人認証に相当する処理(後述する署名検証処理など)を含むようにすることで、このユーザIDが正しいユーザのものであることが確認できる。
図4は、DB303が保持する各ユーザの認証情報を格納する認証情報格納テーブルの一例である。なお図4の認証情報格納テーブル20000は、ユーザID=1からユーザID=4までの4人のユーザが個人認証システムを利用し、個人認証システムが第1認証方式から第3認証方式という3個の認証方式に対応する場合のデータの一例である。認証情報格納テーブル20000は、列20001〜20004を含む。
列20001は、ユーザIDを保持する。列20002は、第1認証情報をユーザごとに保持する。ただし、図4の列200012、第1認証方式が、後述する公開鍵暗号に基づく署名方式である場合の例である。この場合、第1認証情報は公開鍵である。
列20003は、第2認証情報をユーザごとに保持する。ただし、図4の列20003は、第2認証方式が、後述する生体署名方式である場合の例である。この場合、第2認証情報は生体公開鍵である。
列20004は、第3認証情報をユーザごとに保持する。図4の列20004は、第3認証方式が、パスワード認証である場合の例である。この場合、第3認証情報はパスワードとなる。ただし、暗号化等の処理が施されたパスワードが列20004に格納されてもよい。
認証情報格納テーブル20000の各行は、ユーザIDに対応しており、ユーザIDごとの認証情報を保持する。ただし、NULLと記載されたセルは、対応するユーザIDの認証情報が格納されていないことを表す。
図4に示した認証情報格納テーブル20000は、ユーザID=1であるユーザの第1認証情報、第2認証情報、及び第2認証情報を保持し、ユーザID=2であるユーザの第1認証情報を保持し、ユーザID=3であるユーザの第1認証情報を保持し、ユーザID=4であるユーザの第1認証情報及び第2認証情報を保持している。
例えば、図4の状態において、ユーザID=3であるユーザが、本実施例に基づき第2認証情報登録処理を行い、第2認証情報を登録可と判定された場合、ユーザID=3のユーザの第2認証情報を格納するセルに新たに、ユーザID=3の生体公開鍵を格納する。また、例えば、図4の状態において、ユーザID=4であるユーザが、本実施例に基づき第2認証情報登録処理を行い、第2認証情報を登録可と判定された場合、ユーザID=4の生体公開鍵が更新される。
なお、本実施例中の第1認証情報および第2認証情報は、図4での第1認証情報及び第2認証情報と必ずしも一致していなくてもよい。例えば、図4でユーザID=4であるユーザが、第3認証情報を登録する際、図4での第2認証情報を本実施例での第1認証情報とみなし、図4での第3認証情報を本実施例での第2認証情報とみなして、本実施例での第2認証情報登録処理が行われてもよい。この場合、登録可と判定されると、ユーザID=4のパスワードが新たに登録される。
続いて、ステップS1204で生成される[第2端末→第1端末]メッセージと、ステップS1103で生成される[第1端末→サーバ]メッセージと、ステップS1206で生成される[第2端末→サーバ]メッセージと、の設定方法及びステップS1303で行われる登録可否判定の方法の一例を説明する。
メッセージ設定方法及び登録可否判定方法の第1の例を述べる。ステップS1204では、メッセージ生成部204は、乱数を生成し、[第2端末→第1端末]メッセージを、生成された乱数とする。なお、[第2端末→第1端末]メッセージとして、他の値を用いることができる。他の値の例については後述する。
ステップS1206では、メッセージ生成部204は、生成された[第2端末→第1端末]メッセージと、生成された第2認証情報と、の組を、[第2端末→サーバ]メッセージに決定する。
ステップS1104では、[第1端末→サーバ]メッセージは以下のように定められる。まず、ネットワーク通信部301はDB303に格納されている第1認証情報を第1端末100に送信し、ネットワーク通信部104は第1認証情報を受信する。なお、ネットワーク通信部104が第1認証情報を受信する代わりに、第1認証情報登録処理において生成される第1認証情報を第1端末100が保存しておき、保存された第1認証情報を用いて以降の処理が行われてもよい。また、過去の第1認証処理において第1端末100が第1認証情報を受け取る場合は、受け取った第1認証情報を第1端末100が保存し、保存された第1認証情報を用いて以降の処理が行われてもよい。次に、メッセージ生成部102は、取得した第1特徴量と、受信した第1認証情報と、に基づき、第1認証処理を行う。メッセージ生成部102は、第1認証処理が成功した場合、受信した[第2端末→第1端末]メッセージを、[第1端末→サーバ]メッセージに決定する。
[第2端末→第1端末]メッセージは、[第2端末→第1端末]メッセージの生成時点で第1端末100が知らない情報(例えば第2端末200のみが知っている情報)を用いて生成されるため、サーバ300は、第1端末100が第2端末200との局所的通信に成功したことを確かめることができる。なお、第1認証処理に失敗した場合、第2認証情報登録処理を終了する。但し、第2認証情報登録処理を終了する代わりに、ステップS1104より前の任意のステップから処理を再度行ってもよい。
ステップS1303では、検証部302は、受信した[第1端末→サーバ]メッセージと、受信した[第2端末→サーバ]メッセージに含まれる[第2端末→第1端末]メッセージと、を比較し、一致するとき、登録可と判定し、一致しないとき登録不可と判定する。
メッセージ設定方法及び登録可否判定方法の第1の例において、[第2端末→第1端末]メッセージとして、メッセージ生成部204で生成された乱数以外の値を用いることができる。その例について述べる。
メッセージ設定方法及び登録可否判定方法の第1の例における、[第2端末→第1端末]メッセージは、第2端末200内で生成された乱数には限らず、第1端末100、第2端末200、又はサーバ300のいずれかで生成された乱数が用いられてもよい。
ただし、サーバ300が生成した乱数が用いられる場合は、ステップS1204よりも前に、サーバ300は生成した乱数を第2端末200に、ネットワーク400を介した通信により送信するものとする。また、第1端末100が乱数を生成した場合は、第1端末100は、生成された乱数を、ステップS1204よりも前に、第2端末200に、ネットワーク400を介した通信又は局所的通信により送信するものとする。
このように、各エンティティは、メッセージ生成の時点で、メッセージ生成のために必要な情報を受け取っていない場合は、ネットワーク400を介した通信又は局所的通信により、必要な情報を取得した上で、メッセージを生成するものとする。
また、メッセージ設定方法及び登録可否判定方法の第1の例における、[第2端末→第1端末]メッセージとして、第2認証情報のハッシュ値など、第2認証情報から計算される任意の値が用いられてもよいし、第2認証情報そのものが用いられてもよい。また、メッセージ設定方法及び登録可否判定方法の第1の例における、[第2端末→第1端末]メッセージとして、上記した処理IDが用いられてもよい。
また、メッセージ設定方法及び登録可否判定方法の第1の例における、[第2端末→第1端末]メッセージとして、第2端末200による任意の処理(例えば、ステップS1201〜S1205のいずれかの処理)の開始、途中、終了、又はその前後(所定時間前又は所定時間後)などの任意の時刻の値が用いられてもよい。このように、第2端末200による処理に関する時刻を、第1端末100又はサーバ300に送信する場合、例えばステップS1101又はステップS1303において、第1端末100又はサーバ300は、第2端末200による処理に関する時刻からの経過時間(例えば当該時刻から、当該時刻の情報を受信した以降の所定タイミング(例えば当該時刻の情報を受信したタイミング又は実際に経過時間を判定するタイミング)までの時間)が所定のしきい値より大きい場合に、第2認証情報登録処理を中断してもよい。
これにより、第1端末100による処理が行われた時刻と、第2端末200による処理が行われた時刻と、が近いことを確かめることができ、ひいては不正な登録を防ぐことができる。
また、メッセージ設定方法及び登録可否判定方法の第1の例における、[第2端末→第1端末]メッセージとして、乱数、第2認証情報から計算される値、及び時刻情報などを組み合わせた値が用いられてもよい。
第2端末200によって生成された乱数及び第2認証情報から計算される値など、第2認証情報登録処理を行う前には第1端末が知らない値を、[第2端末→第1端末]メッセージが含むことにより、第2認証情報登録処理の中で、第2端末200から第1端末100にメッセージが送られたことを確かめることができる。
続いて、メッセージ設定方法及び登録可否判定方法の第2の例を述べるために、第2の例が利用可能な前提条件を述べる。第2の例は、第1認証方式が署名可能な方式である場合に利用可能である。ただし、本実施例において、認証方式が署名可能な方式であるとは、任意のメッセージに対して特徴量を用いた電子署名が生成可能であり、かつ認証情報を用いて、メッセージと電子署名の組を検証可能であること、と定義される。署名可能な認証方式の例を述べる。
署名可能な認証方式の第1の例として、公開鍵暗号に基づく署名方式がある。例えば、RSA、DSA、及びSchnorr署名など、公開鍵暗号に基づく任意の署名方式を用いることができる。公開鍵暗号に基づく署名方式において、公開鍵暗号方式の秘密鍵が特徴量であり、秘密鍵に対応する公開鍵が認証情報である。
署名可能な認証方式の第2の例として、生体署名方式がある。ただし、生体署名方式(例えば特許文献2(特許第5707311号)に記載されている)は、以下の方法である。登録端末は、予め、ユーザから取得された生体情報を一方向変換して生体公開鍵を生成する(生体公開鍵生成処理)。
そのうえで、署名生成端末は、認証や署名生成の際には、再度ユーザから取得された生体情報を用いて、任意のメッセージに対して、生体署名と呼ばれる電子署名を生成する(生体署名生成処理)。これにより、署名検証装置は、生体公開鍵とメッセージと電子署名とを検証することができる。生体署名方式では、特徴量を生体情報とし、認証情報を生体署名方式における生体公開鍵とする。
署名可能な認証方式の第3の例として、バイオメトリック暗号方式が挙げられる。バイオメトリック暗号方式とは以下の方法である。登録時には以下のようなテンプレート生成処理が行われる。まず、ユーザから取得された生体情報と秘密情報とに基づく秘匿化処理によって補助情報(auxiliary data)が生成される。
また、秘密情報に基づき生成された電子署名を検証するための、擬識別子(pseudonymous identifier)と呼ばれるデータが生成される。認証時には、ユーザから取得された生体情報と、テンプレートに含まれる補助情報と、に基づく復元処理が行われて、秘密情報が復元される。秘密情報や秘密情報に基づき生成された電子署名が正しいか否かが、擬識別子により検証することができる。
続いて、メッセージ設定方法及び登録可否判定方法の第2の例について述べる。[第2端末→第1端末]メッセージと、[第2端末→サーバ]メッセージについては、メッセージ設定方法及び登録可否判定方法の第1の例と同様である。ステップS1104では、[第1端末→サーバ]メッセージを以下のように定める。メッセージ生成部102は、受信した[第2端末→第1端末]メッセージに対する電子署名を、取得した第1特徴量を用いて生成し、生成した電子署名を、[第1端末→サーバ]メッセージに決定する。
ただし、第1認証方式がバイオメトリック暗号方式である場合には、メッセージ生成部102は、電子署名を生成するために、メッセージ生成処理の前に、補助情報をサーバから第1端末100に送信する、又は補助情報を第1端末100に予め保存しておくものとする。
ステップS1303では、検証部302は、受信した[第2端末→第1端末]メッセージに含まれる[第2端末→第1端末]メッセージと、受信した[第1端末→サーバ]メッセージに含まれる[第2端末→第1端末]メッセージに対する電子署名と、を第1認証情報を用いて検証し、検証に成功した場合、登録可と判定し、検証に失敗した場合、登録不可と判定する。
メッセージ設定方法及び登録可否判定方法の第3の例では、電子署名の検証が行われているため、仮に不正なユーザが第2認証情報登録処理を行い、[第1端末→サーバ]メッセージを不正な値にした場合には、正しい第1特徴量を第1端末100に入力できない限り、検証部302に登録可と判定させることは困難である。
本実施例の個人認証システムは、[第1端末→サーバ]メッセージと[第2端末→サーバ]メッセージの両方を用いて登録可否判定を行っている。これにより、第1端末100が[第2端末→第1端末]メッセージを使わずに不正な[第1端末→サーバ]メッセージを生成することを防ぐことができる。
ただし、第1端末100がATMである場合など、[第1端末→サーバ]メッセージをユーザが不正に生成することが困難な場合には、[第2端末→サーバ]メッセージを第2端末200からサーバ300に直接送らずに、[第2端末→サーバ]メッセージを[第2端末→第1端末]メッセージ及び[第1端末→サーバ]メッセージに含めて送っても、不正を防ぐことができる。
また、ステップS1103で、メッセージ生成処理に加えて第1認証処理が行われてもよい。第1認証処理は1:1認証でも1:N認証でもよい。第1認証処理を行うために、第1端末100とサーバ300との通信が行われてもよい。
また、本実施例では、サーバ300が登録可否判定を行ったが、以下のように、第2端末200が登録可否判定を行うこともできる。そのためには、上記した[第1端末→サーバ]メッセージを、第1端末100からサーバ300に送信する代わりに、第1端末100から第2端末200に、ネットワーク400を通した通信又は局所的通信により送信すればよい。
第1端末100から第2端末200へのメッセージの送信を局所的通信により行った場合には、当該局所的通信により第1端末100と第2端末200とが近い距離にあることを保証できるため、ステップS1205及びステップS1101の通信を、ネットワーク400を通した通信に置き換えてもよい。
第2端末200は、当該メッセージを受信した後、登録可否判定を行い、登録可否判定の結果をサーバ300に送る。ただし、第2端末200は、登録可否判定の全ての結果をサーバ300に送る代わりに、登録可と判定された場合のみ、登録処理を続けるようにしてもよい。
また、登録可否判定に、第2特徴量から得られるデータ(例えば第2認証情報や、そこから計算される値)が必要でない場合には、ステップS1202の第2特特徴量取得処理とステップS1203の第2認証情報生成処理とが、ステップS1205の処理の後に行われてもよい。その例については、実施例3で詳細に説明する。
なお、第2認証情報登録処理に用いられる第1端末100は、第1特徴量を取得可能な端末であれば、第2認証情報登録処理以外の場面で日常的に第1認証処理のために使用している端末と別の端末であってもよい。例えば、第2認証情報登録処理以外の場面で日常的に、店舗のレジに付属する生体認証読み取りセンサが第1特徴量を取得して、第1認証処理が行われている場合に、もし、ATMに、同じ種類の生体情報読み取りセンサが付属している場合、ATMを第1端末100として、第2認証情報登録処理を行うことができる。
第2端末200についても同様に、第2特徴量を取得できる端末であれば、第2認証情報登録処理のために使用した第2端末200とは異なる端末でも、第2認証処理を行うことができる。
また、本実施例では、第1認証情報が登録されており、第2認証情報登録処理を行う例を説明したが、第1端末100が登録要求受付部及び第1認証情報生成部をさらに備えていれば、第2認証情報を登録したユーザに対しては第1認証情報登録処理が可能となり、第1認証情報を登録したユーザに対しては第2認証情報登録処理が可能となる。
また、本実施例及び後述する実施例において、処理が実行可能な範囲で実行順序が入れ替られてもよい。例えば、本実施例において、[第2端末→第1端末]メッセージが乱数の場合、ステップS1202とステップS1203の処理は、ステップS1205の処理の後に行われてもよい。また、例えば、ステップS1103でのメッセージ生成に、第2端末200から受信する[第2端末→第1端末]メッセージを用いる必要が無いならば、ステップS1102の処理とステップS1103の処理は、ステップS1101の処理の前に行われてもよい。
また、本実施例及び後述する実施例において、データを送信する経路が一部変更されてもよい。例えば、本実施例において、生成された第2認証情報が、[第2端末→サーバ]メッセージに含められて送信されていたが、[第2端末→第1端末]メッセージ及び[第1端末→サーバ]メッセージに含めて送信してもよい。
また、第2端末200は、生成された第2認証情報を、単純なデータの分割や秘密分散法などの任意の方法を用いて2つのデータに符号化して、1つ目の符号化されたデータを[第2端末→サーバ]メッセージに含めて送信し、2つ目の符号化されたデータを[第2端末→第1端末]メッセージ及び[第1端末→サーバ]メッセージに含めて送信してもよい。このときサーバ300は、受信した[第1端末→サーバ]メッセージと、受信した[第2端末→サーバ]メッセージと、に基づき第2認証情報を復号してもよい。
また、本実施例及び後述する実施例において、局所的通信やネットワーク400を通した通信により送信されるメッセージに対して、任意の暗号化が施されてもよい。
本実施例により、第1特徴量と第2特徴量とが異なる端末で取得され、かつ、予めユーザの第1認証情報が登録されており、当該ユーザの第2認証情報を登録させる際に、局所的通信により第1端末100と第2端末200が近い距離にあることを保証することができるため、ひいては不正な登録を防ぐことができる。
実施例2では、ネットワーク400を介した個人認証システムを説明する。前述したように実施例1の個人認証システムでは、第2端末200が認証情報登録要求受付処理を行い、局所的通信により第2端末200から第1端末100にメッセージを送る。
一方、本実施例の個人認証システムでは、第1端末100が認証情報登録要求受付処理を行い、局所的通信により第1端末100から第2端末200にメッセージを送る。本実施例は、従って、第1端末100から第2端末200の一方向にのみ局所的通信が可能な個人認証システムにおいても適用可能である。
本実施例の個人認証システムのシステム構成は、は、図1において、第2端末200が登録要求受付部201を備えなくてもよい代わりに、第1端末100が、登録要求受付部を備える点において、実施例1のシステム構成と異なる。
図5は、第2認証情報登録処理の一例を示すシーケンス図である。ステップS2101では、第1端末100の登録要求受付部が、ユーザから第2認証情報登録要求を受け付ける。ステップS2102の第1特徴量取得処理は、実施例1におけるステップS1102と同様である。
ステップS2103では、メッセージ生成部102が、[第1端末→サーバ]メッセージを生成する。生成するメッセージの例については、後述する。ステップS2104の[第1端末→サーバ]メッセージ送信処理は、実施例1におけるステップS1104と同様である。ステップS2105では、メッセージ生成部102が、[第1端末→第2端末]メッセージを生成する。生成するメッセージの例については、後述する。
ステップS2106では、局所的通信部103が、生成された[第1端末→第2端末]メッセージを、局所的通信を用いて、第2端末200に送信する。局所的通信部103は、局所的通信として、例えば実施例1におけるステップS1205で述べた例を用いればよい。
ただし、実施例1では第2端末200から第1端末100にメッセージを送る例を述べていたため、実施例1で述べた局所的通信の例を本実施例に適用するには、実施例1での第1端末100を本実施例での第2端末200とみなし、実施例1での第2端末200を本実施例での第1端末100とみなして適用する必要がある。
ステップS2201では、局所的通信部205は、[第1端末→第2端末]メッセージを受信する。ステップS2202の第2特徴量取得処理は、実施例1におけるステップS1202と同様である。ステップS2203の第2認証情報生成処理は、実施例1におけるステップS1203と同様である。
ステップS2204では、メッセージ生成部204は、[第2端末→サーバ]メッセージを生成する。生成するメッセージの例は後述する。ステップS2205の[第2端末→サーバ]メッセージ送信処理は、実施例1におけるステップS1207と同様である。ステップS2301の[第1端末→サーバ]メッセージ受信処理は、実施例1におけるステップS1301と同様である。ステップS2302の[第2端末→サーバ]メッセ―ジ受信処理は、実施例1におけるステップS1302と同様である。
ステップS2303では、検証部302は、[第1端末→サーバ]メッセージと、[第2端末→サーバ]メッセージと、に基づき、第2認証情報を登録するかどうか判定する。登録可否判定の例は後述する。検証部302が登録可と判定した場合、ステップS2304に移行する。
検証部302が、登録不可と判定した場合、第2認証情報を登録することなく本シーケンスの処理を終了してもよいし、再度、ステップS2102に戻り、同様の処理を行うようにしてもよい。ステップS2304の第2認証情報格納処理は、実施例1におけるステップS1304と同様である。
ステップS2106で生成される[第1端末→第2端末]メッセージと、ステップS2104で生成される[第1端末→サーバ]メッセージと、ステップS2205で生成される[第2端末→サーバ]メッセージと、の設定方法と、ステップS2303で行われる、登録可否判定の方法の例を説明する。
メッセージ設定方法及び登録可否判定方法の第1の例を述べる。ステップS2103では、例えば、メッセージ生成部102は乱数を生成し、生成した乱数を[第1端末→サーバ]メッセージとする。なお、[第1端末→サーバ]メッセージとして、メッセージ生成部102が生成する乱数の代わりに、実施例1における[第2端末→第1端末]メッセージの例として述べた値など、任意の値が用いられてもよい。
ただし、必要に応じて適宜処理手順を変更するものとする。例えば、[第1端末→サーバ]メッセージを生成するために第2特徴量や第2認証情報が用いられる場合、ステップS2202及びステップS2203の処理がステップS2103の処理よりも前に実行されたうえで、第2端末200から第1端末100にネットワーク400又は局所的通信を通して第2特徴量や、第2認証情報を送信する。
また[第1端末→サーバ]メッセージを生成するために第1認証情報が用いられる場合、ステップS2103の処理よりも前に、サーバ300から第1端末100にネットワーク400を通した通信により第1認証情報を送信する。
続いて、ステップS2105では、メッセージ生成部102は生成した[第1端末→サーバ]メッセージを、[第1端末→第2端末]メッセージに決定する。ステップS2204では、メッセージ生成部204は、受信した[第1端末→第2端末]メッセージと、生成された第2認証情報と、の組を、[第2端末→サーバ]メッセージに決定する。
ステップS2303では、検証部302は、受信した[第1端末→サーバ]メッセージと、受信した[第2端末→サーバ]メッセージに含まれる[第1端末→第2端末]メッセージと、を比較して、一致したとき登録可と判定し、一致しないとき登録不可と判定する。
メッセージ設定方法及び登録可否判定方法の第2の例を述べる。ただしこの例では、第1認証方式は署名可能な方式であるとする。[第1端末→サーバ]メッセージは、メッセージ設定方法及び登録可否判定方法の第1の例と同様である。
ステップS2105では、メッセージ生成部102は、取得した第1特徴量を用いて、[第1端末→サーバ]メッセージに対する電子署名を生成し、生成された電子署名を、[第1端末→第2端末]メッセージに決定する。ステップS2204では、メッセージ生成部204は、受信した[第1端末→第2端末]メッセージと、生成された第2認証情報と、の組を、[第2端末→サーバ]メッセージに決定する。
ステップS2303では、検証部302は、受信した[第1端末→サーバ]メッセージと、受信した[第2端末→サーバ]メッセージに含まれる、[第1端末→サーバ]メッセージに対する電子署名と、を第1認証情報を用いて検証し、検証に成功したとき登録可と判定し、検証に失敗したとき登録不可と判定する。
メッセージ設定方法及び登録可否判定方法の第3の例を述べる。ただしこの例では、第1認証方式は署名可能な方式である。ステップS2103では、メッセージ生成部102は、メッセージを生成しない、又は任意のメッセージを生成する。なお、メッセージ生成部102がメッセージを生成しない場合、ステップS2104ではネットワーク通信部104メッセージを送信しない。
ステップS2105では、メッセージ生成部102は、取得した第1特徴量を、[第1端末→第2端末]メッセージとする。ステップS2204では、メッセージ生成部204は、受信した第1特徴量を用いて、生成された第2認証情報に対する電子署名を生成する。そのうえで、メッセージ生成部204は、生成した第2認証情報と、生成された電子署名と、の組を、[第2端末→サーバ]メッセージに決定する。
ステップS2303では、検証部302は、受信した[第2端末→サーバ]メッセージに含まれる第2認証情報と、受信した[第2端末→サーバ]メッセージに含まれる第2認証情報に対する電子署名と、を第1認証情報を用いて検証し、検証に成功したとき登録可と判定し、検証に失敗したとき登録不可と判定する。
実施例2の個人認証システムは、第2端末200から第1端末100への局所的通信を行わないため、局所的通信が第1端末100から第2端末200へのみに可能な場合でも、第2認証情報登録処理において不正な登録を防ぐことができる。
本実施例は、第2特徴量取得処理及び第2認証情報生成処理を、登録可否判定後に行う点において実施例1と異なる。実施例1との相違点について説明する。
図6は、第2認証情報登録処理の一例を示すシーケンス図である。ステップS3301では、ステップS1303で登録可と判定された場合のみ、ネットワーク通信部301は、ネットワーク400を通して、第2特徴量取得要求を送信する。ステップS3201では、ネットワーク通信部206は、第2特徴量取得要求を受信する。
ステップS3202では、ネットワーク通信部206は、生成された第2認証情報を、ネットワーク400を通してサーバに送信する。ステップS3302では、ネットワーク通信部301は、第2認証情報を受信する。
ステップS1204で生成される[第2端末→第1端末]メッセージと、ステップS1103で生成する[第2端末→第1端末]メッセージと、ステップS1206で生成される[第2端末→第1端末]メッセージと、ステップS1303の登録可否判定の例は以下の通りである。
[第2端末→第1端末]メッセージは、乱数や時刻情報などの、第2特徴量に依存しない値である。[第2端末→サーバ]メッセージは、[第2端末→第1端末]メッセージと同じ値である。[第1端末→サーバ]メッセージの設定方法と、登録可否判定方法は、実施例1と同様の方法を用いることができる。
以上、本実施例の個人認証システムは、登録可と判定された場合のみに第2特徴量取得処理及び第2認証情報生成処理を実行することができ、ひいてはセキュリティが向上する。
実施例4は、サーバ300を備えない個人認証システムを説明する。詳細は後述するが、本実施例では第2認証情報登録処理及び第2認証情報登録後の認証時に、第2端末200が実施例1のサーバ300の役割も兼ねる。さらに第1端末100も少なくとも第2認証情報登録処理が終わるまでの期間の第1認証情報による認証については実施例1のサーバ300の役割も兼ねる。
図7は、本実施例における個人認証システムの構成例を示すブロック図である。認証システムは、第1特徴量を取得する第1端末100と、第2特徴量を取得する第2端末200と、を含む。
第1端末100は、ネットワーク通信部104を有していなくてもよく、かつDB111、格納部112、及び検証部113を有する点において実施例1の第1端末100と異なる。DB111は、第1認証情報を保持する。格納部112は、第1認証情報をDB111に格納する。検証部113は、第1認証処理において第1特徴量の検証を行う。
第2端末200は、メッセージ生成部204及びネットワーク通信部206を有していなくてもよく、かつDB211、格納部212、及び検証部213を有する点において実施例1の第2端末200と異なる。DB211は、第2認証情報を保持する。格納部212は、第2認証情報をDBに格納する。検証部213は、第2認証処理や第2認証情報登録処理において、第2特徴量や受信したメッセージの検証を行う。
第1端末100と第2端末200の組は、実施例1で述べた例など、任意の端末の組であり得る。なお、本実施例で述べる第2認証情報登録処理を行う前に、第1認証情報登録処理が完了し、格納部112によってDB111に第1認証情報が格納されているとする。実施例1同様に、第1認証情報登録処理は、確実な本人確認のもとで行われていることが望ましい。
なお、第1認証処理は、例えば、第1端末100の第1特徴量取得部101が、第1特徴量を取得し、検証部113が、取得した第1特徴量と、DB111に格納された第1認証情報と、に基づき照合を行うことにより実行される。また、後述する方法などにより第2認証情報登録処理が完了した後は、第2端末200において、例えば上で述べた第1認証処理と同様に、第2認証処理を行うことができる。
図8は、第2認証情報登録処理の一例を示すシーケンス図である。ステップS4201の第2認証情報登録要求受付処理は、実施例1におけるステップS1201の処理と同様である。
ステップS4202では、局所的通信部205は、第2認証情報登録要求受付を第1端末100に送信する。ステップS4101では、局所的通信部103は、第1認証情報登録要求受付を受信する。ステップS4102の第1特徴量取得処理は、実施例1のステップS1102の処理と同様である。ステップS4103では、メッセージ生成部102は、取得した第1特徴量に基づき、[第1端末→第2端末]メッセージを生成する。生成するメッセージの例については後述する。
ステップS4104では、局所的通信部103は、生成された[第1端末→第2端末]メッセージを第2端末200に送信する。ステップS4203では、局所的通信部205は、[第1端末→第2端末]メッセージを受信する。ステップS4204では、検証部213は、受信した[第1端末→第2端末]メッセージに基づき登録可否判定処理を行う。登録可否判定方法の詳細は後述する。
ステップS4205の第2特徴量取得処理は、実施例1におけるステップS1202の処理と同様である。ステップS4206の第2認証情報生成処理は、実施例1におけるステップS1203の処理と同様である。ステップS4207では、格納部212は、生成された第2認証情報をDB211に格納する。
ステップS4103で生成される[第1端末→第2端末]メッセージの設定方法と、ステップS4204の登録可否判定方法の例を述べる。まず、メッセージ設定方法と登録可否判定方法の第1の例を述べる。ステップS4103では、メッセージ生成部102は、第1特徴量と第1認証情報に基づく照合処理を行い、照合結果を[第1端末→第2端末]メッセージに決定する。ステップS4204では、検証部213は、受信した照合結果が照合成功のとき登録可と判定し、照合失敗のとき登録不可と判定する。
メッセージ設定方法と登録可否判定方法の第2の例を述べる。この例は、第1認証方式が署名可能な方式である場合に使うことができる。ステップS4103では、メッセージ生成部102は、乱数を生成する。また、メッセージ生成部102は、取得した第1認証情報を用いて、生成された乱数に対する電子署名を生成する。そのうえで、メッセージ生成部102は、生成された乱数と、生成された電子署名と、DB111に格納された第1認証情報と、の組を、[第1端末→第2端末]メッセージに決定する。
ステップS4204では、検証部213は、受信した第1認証情報を用いて、受信した乱数と、受信した乱数に対する電子署名と、の組を検証し、検証に成功した場合登録可と判定し、検証に失敗した場合登録不可と判定する。
なお、メッセージ設定方法と登録可否判定方法の第2の例において、メッセージ生成部102が生成した乱数の代わりに、実施例1における[第2端末→第1端末]メッセージの例として述べた値など、任意の値を用いられてもよい。
ただし、ステップS4103の[第1端末→第2端末]メッセージの生成において、第2端末200が生成した乱数、第2特徴量、及び第2認証情報など、第2端末200が生成する値が必要である場合には、ステップS4103の処理よりも前に、必要なデータを第2端末200が生成したうえで、局所的通信により第1端末100に送信するものとする。第1端末100と第2端末200がネットワーク400に接続されている場合には、ネットワーク400を通した通信で当該データが送信されてもよい。
また、メッセージ設定方法と登録可否判定方法の第2の例において、第2端末200が、例えば後述する実施例6の方法を用いて、第1認証情報の正当性を検証すればよい。あるいは、第1端末100とは異なる信頼できる端末に第1認証情報が格納されていて、第2端末200は、当該端末に格納された第1認証情報を、登録可否判定のために用いてもよい。
本実施例により、サーバ300を備えない個人認証システムにおいても、窓口での本人認証を行うことなく、信頼性の高い第2認証情報登録処理を行うことができる。
実施例5の個人認証システムは、複数台(2台)のサーバを備える点において、実施例1の個人認証システムと異なる。図9は、本実施例の個人認証システムの構成例を示すブロック図である。実施例1の個人認証システムはていた1台のサーバ300を備えていたが、本実施例の個人認証システムは、第1サーバ500と第2サーバ600とを備える。なお、第1サーバ500及び第2サーバ600のハードウェア構成は、図2に示したハードウェア構成と同様であるが、第1サーバ500及び第2サーバ600は特徴量取得装置10080を有していなくてもよい。
第1サーバ500は、例えば、ネットワーク通信部501、検証部502、DB503、格納部504、及びメッセージ生成部505を含む。ネットワーク通信部501は、ネットワーク400を通した通信を行う。検証部502は、第1認証処理において検証処理を行う。DB503は、第1認証情報を保持する。格納部504は、第1認証情報をDB503に格納する。メッセージ生成部505は、他エンティティに送信するためのメッセージを生成する。
第2サーバ600は、例えば、ネットワーク通信部601、検証部602、DB603、及び格納部604を含む。ネットワーク通信部601は、ネットワーク400を通して通信を行う。検証部602は、第2認証処理や第2認証情報登録処理において検証処理を行う。DB603は、第2認証情報を保持する。格納部604は、第2認証情報をDBに格納する。
本実施例の個人認証システムを適用される状況の例を述べる。第1端末100と第1サーバ500を含む認証システム(第1認証システムと呼ぶ)と、第2端末200と第2サーバ600を含む認証システム(第2認証システムと呼ぶ)という2つの認証システムがあるとする。第1システムに第1認証情報の登録を済ませたユーザが、第2システムに第2認証情報を登録することを考える。第1システムに登録された第1認証情報により認証を行うことで、窓口での本人確認なしで、第2認証情報を登録できる。
なお、本実施例で述べる第2認証情報登録処理を行う前に、第1認証情報登録処理が完了し、DB503に第1認証情報が格納されているとする。実施例1で述べたのと同様に、第1認証情報登録処理は、確実な本人確認のもとで行われていることが望ましい。
なお、第1認証処理は、例えば、実施例1において、第1端末100とサーバ300との間で行われる手順として述べた例と同様にして、第1端末100と第1サーバ500との間で行われる。また、後述する方法などにより第2認証情報登録処理が完了した後は、第2端末200と第2サーバ600との間で、例えば第1認証処理と同様に、第2認証処理を行うことができる。
図10は、第2認証情報登録処理の一例を示すシーケンス図である。ステップS5201の第2認証情報登録要求受付処理は、実施例1におけるステップS1201の処理と同様である。ステップS5202では、ネットワーク通信部206は、第2認証情報登録要求を、ネットワーク400を通して第1端末100に送信する。なお、ネットワーク通信部206は、第1サーバ500と第2サーバ600の少なくとも一方に当該要求を送信した後で、当該要求を受信した少なくとも一方のサーバが第1端末100に当該要求を送信するようにしてもよい。
ステップS5101では、ネットワーク通信部106は、第2端末200からの第2認証情報登録要求を受信する。ステップS5102の第1特徴量取得処理は、実施例1におけるステップS1102の処理と同様である。ステップS5103では、メッセージ生成部102は、[第1端末→第2端末]メッセージを生成する。生成するメッセージの具体例は後述する。
ステップS5104の[第1端末→第2端末]メッセージ送信処理は、実施例2におけるステップS2106の処理と同様である。ステップS5105では、メッセージ生成部102は、[第1端末→第1サーバ]メッセージを生成する。生成するメッセージの具体例は後述する。ステップS5106では、ネットワーク通信部104は、生成された[第1端末→第1サーバ]メッセージを第1サーバ500に送信する。
ステップS5203の[第1端末→第2端末]メッセージ受信処理は、実施例2におけるステップS2201の処理と同様である。ステップS5204の第2特徴量取得処理は、実施例1におけるステップS1202の処理と同様である。ステップS5205の第2認証情報生成処理は、実施例1におけるステップS1203の処理と同様である。
ステップS5206では、メッセージ生成部204は、[第2端末→第2サーバ]メッセージを生成する。生成するメッセージの例は後述する。ステップS5207では、ネットワーク通信部206は、生成された[第2端末→第2サーバ]メッセージを、ネットワーク400を通して第2サーバ600に送信する。ステップS5501では、ネットワーク通信部501は、[第1端末→第1サーバ]メッセージを受信する。
ステップS5502では、メッセージ生成部505は、[第1サーバ→第2サーバ]メッセージを生成する。生成するメッセージの詳細は後述する。ステップS5503では、ネットワーク通信部501は、生成された[第1サーバ→第2サーバ]メッセージを、ネットワーク400を通して、第2サーバ600に送信する。ステップS5601では、ネットワーク通信部601は、[第1サーバ→第2サーバ]メッセージを受信する。ステップS5602では、ネットワーク通信部601は、[第2端末→第2サーバ]メッセージを受信する。
ステップS5603では、検証部602は、受信した[第1サーバ→第2サーバ]メッセージと、受信した[第2端末→第2サーバ]メッセージと、に基づき、第2認証情報を登録するかどうか判定する。登録可否判定の例は後述する。検証部602が登録可と判定した場合、ステップS5604に遷移する。検証部602が登録不可と判定した場合、第2認証情報を登録することなく処理を終了してもよいし、ステップS5102に戻ってもよい。
ステップS5604では、格納部604は、第2認証情報をユーザIDと紐づけてDB603に格納する。なお、ユーザIDは、ステップS5201などでユーザに入力されてもよいし、予め第1端末100に保存されたユーザIDを第1端末100が第2サーバ600に送信してもよい。
また、ステップS5103、ステップS5502、又はステップS5603などが第1認証処理に関する1:N認証処理を含む場合には、当該処理においてユーザIDが特定されてもよい。ステップS5103、ステップS5502、又はステップS5603などで第1認証処理が行われることにより、ユーザIDが正しいことを確かめることができる。
ステップS5103で生成される[第1端末→第2端末]メッセージと、ステップS5105で生成される[第1端末→第1サーバ]メッセージと、ステップS5502で生成される[第1サーバ→第2サーバ]メッセージと、ステップS5206で生成される[第2端末→第2サーバ]メッセージと、の設定方法と、ステップS5603で行われる登録可否判定の方法の例を説明する。
メッセージ設定方法及び登録可否判定方法の第1の例を述べる。ステップS5103では、メッセージ生成部102は乱数を生成し、生成した乱数を[第1端末→第2端末]メッセージに決定する。なお、メッセージ生成部102は、乱数の代わりに、実施例1における[第2端末→第1端末]メッセージの例として挙げた値など、任意の値を用いることができる。
ステップS5206では、メッセージ生成部204は、受信した[第1端末→第2端末]メッセージと、生成された第2認証情報と、の組を、[第2端末→第2サーバ]メッセージに決定する。
ステップS5105では、メッセージ生成部102が、まず取得した第1特徴量と第1認証情報に基づく照合処理を行う。ただし第1認証情報は第1端末100が事前に取得しておくものとする。メッセージ生成部102は、照合が成功したとき、生成された[第1端末→第2端末]メッセージを、[第1端末→第1サーバ]メッセージに決定する。
ステップS5502では、メッセージ生成部505は、ネットワーク通信部501が受信した[第1端末→第1サーバ]メッセージを、[第1サーバ→第2サーバ]メッセージに決定する。
ステップS5603では、検証部602は、受信した[第1サーバ→第2サーバ]メッセージに含まれる[第1端末→第2端末]メッセージと、受信した[第2端末→第2サーバ]メッセージに含まれる[第1端末→第2端末]メッセージと、を比較して、一致しているとき登録可と判定し、一致しないとき登録不可と判定する。
なお、メッセージ設定方法及び登録可否判定方法の第1の例において、ステップS5206で実行されていた第1認証方式に基づく照合を、ステップS5206の代わりにステップS5103で行ってもよいし、第1サーバ500が実行してもよい。
ただし、第1サーバ500が第1認証方式に基づく照合を実行する場合には、第1端末100は、取得した第1特徴量を、第1サーバ500に送信するものとする。第1端末100は、取得した第1特徴量をそのまま送らずに、照合を行うための加工や変換を第1特徴量に施してもよい。例えば、第1特徴量が生体情報であり、第1認証方式が生体情報から抽出された特徴パターンの類似度を照合する方式の場合、第1端末100は、特徴パターンを抽出し、抽出された特徴パターンを第1サーバ500に送信してもよい。
メッセージ設定方法及び登録可否判定方法の第2の例を述べる。この例では、第1認証方式は署名可能な方式であるとする。[第1端末→第2端末]メッセージと、[第2端末→第2サーバ]メッセージは、メッセージ設定方法及び登録可否判定方法の第2の例と同様の方法で生成される。
ステップS5105では、メッセージ生成部102は、取得した第1特徴量を用いて、[第1端末→第2端末]メッセージに対する電子署名を生成し、生成した電子署名を[第1端末→第1サーバ]メッセージに決定する。ステップS5502では、メッセージ生成部505は、ネットワーク通信部501が受信した[第1端末→第1サーバ]メッセージと、生成された第1認証情報と、の組を、[第1サーバ→第2サーバ]メッセージに決定する。
ステップS5603では、検証部602は、受信した[第1サーバ→第2サーバ]メッセージに含まれる第1認証情報を用いて、受信した[第2端末→第2サーバ]メッセージに含まれる[第1端末→第2端末]メッセージと、受信した[第1サーバ→第2サーバ]メッセージに含まれる[第1端末→第2端末]メッセージに対する電子署名と、の組を検証し、検証に成功したとき登録可と判定し、検証に失敗したとき登録不可と判定する。
なお、第2サーバ600は、受信した第1認証情報が正しいことを検証するために、例えば実施例5で述べた方法を用いてもよい。また、本実施例で説明したような2つのサーバを含む個人認証システムは、本実施例で述べた処理手順に限らず、実施例1から実施例3までの処理手順のうちのサーバ300で行われた処理を、第1サーバ500と第2サーバ600で任意に分担して行うようにしてもよい。これにより、本実施例の個人認証システムであっても、実施例1から実施例3の個人認証システムと同様の処理を実行することができる。
上記で説明した通り本実施例により、複数台(2台)のサーバを備える個人認証システムによっても、窓口での本人確認なしに、確実な認証情報登録処理が可能となる。
実施例6では、実施例1を用いて登録された認証情報が、本人により登録されたことを検証する方法を説明する。本実施例の検証により、第1認証情報から第n認証情報(nは正の整数)までが同一ユーザのものであることを確かめることができる。
これらの認証情報が本人のものであることを確かめるために、第1認証情報登録の際には窓口で身分証明書の提示などの確実な本人確認をしておくのがよい。なお、第1認証情報を本人が正しく登録したことを後から確かめるために、窓口での手続きを動画や写真などとして撮影して保存したり、身分証明書を保存したりしてもよい。
第1認証方式から第n認証方式までのn個の認証方式があるとし、第1認証方式から第(n−1)認証方式までが署名可能な方式であるとする。第n認証方式については、署名可能な方式であってもよいし、そうでなくてもよい。第k認証方式のための認証情報を第k認証情報と呼ぶ(kは正の整数)。
実施例1において、ステップS1204で生成される[第2端末→第1端末]メッセージ、ステップS1103で生成される[第1端末→サーバ]メッセージ、及びステップS1206で生成される[第2端末→サーバ]メッセージの設定方法と、ステップS1303で行われる登録可否判定の方法と、は本実施例では以下のように定められる。
[第2端末→第1端末]メッセージは、第2認証情報のハッシュ値など、第2認証情報から計算される任意の値であるとする。また、[第2端末→サーバ]メッセージは、第2認証情報であるとする。
また、[第1端末→サーバ]メッセージは以下のように定められる。メッセージ生成部102は、取得した第1特徴量を用いて、受信した[第2端末→第1端末]メッセージに対する電子署名を生成し、生成された電子署名を、[第1端末→サーバ]メッセージに決定する。
ただし、第1認証方式がバイオメトリック暗号方式である場合には、第1端末100は。電子署名を生成するための補助情報をメッセージ生成処理の前に、例えば、他の装置から取得する。また、第1端末100は、当該補助情報を予め保持していてもよい。
ステップS1303では、検証部302は、受信した[第2端末→第1端末]メッセージに含まれる[第2端末→第1端末]メッセージと、受信した[第1端末→サーバ]メッセージに含まれる[第2端末→第1端末]メッセージに対する電子署名と、を第1認証情報を用いて検証し、検証に成功した場合、登録可と判定し、検証に失敗した場合、登録不可と判定する。
ステップS1304では、格納部304は、第2認証情報をDB303に格納する。この際、第2認証情報に対する電子署名も格納するとする。
なお、メッセージ生成部204は、乱数を生成し、第2認証情報と乱数の組を[第2端末→第1端末]メッセージに決定してもよい。その場合は、メッセージ生成部204が、[第2端末→サーバ]メッセージにも生成した乱数を含め、格納部304が、第2認証情報登録時に、第2認証情報に対する電子署名を乱数とともにDB303に保存しておけば、検証部302は[第2端末→サーバ]メッセージに乱数を含めない場合と同様の手順で、認証情報の検証ができる。
図11は、登録されたn種類の認証情報の検証方法の一例を示す説明図である。上記の方法で第2認証情報登録処理を行った後、さらに、k=2,3,...,n−1の順に、第k認証方式を上記第2認証情報登録処理での第1認証方式とみなし、第(k+1)認証方式を上記認証情報登録処理での第2認証方式とみなすことで、第(k+1)認証情報登録処理を行う。
つまり、例えば、第k端末が第k特徴量を取得可能な端末であるとすると、第k端末は、第k認証情報生成処理によって第k特徴量から第k認証情報を生成して、サーバ300に送信する。さらに、第k端末は、例えば、第k認証情報を用いて[第k端末→第(k−1)端末]メッセージを生成して、第(k−1)端末に送信する。第(k−1)端末は、[第k端末→第(k−1)端末]メッセージと、第(k−1)特徴量と、を用いて第k電子署名を生成して、サーバ300に送信する。
この処理を行うことで、第1認証情報から第n認証情報と、各k=2,3,...,nにおける、第k電子署名が、DB303に格納される。このような前提のとき、第1認証情報から第n認証情報が、同一ユーザにより登録されたことを検証する方法を述べる。サーバ300は、第(k−1)認証情報を用いて、第k認証情報と第k電子署名との組を検証する。すべての検証に成功した場合に、検証成功と判定し、そうでないとき、検証失敗と判定する。
上記の検証方法により、第1認証情報から第n認証情報までが同一のユーザにより登録されたことが以下によって確かめられる。例えば、サーバ300が第1認証情報を用いて第2認証情報と第2認証情報に対する電子署名との組を検証し、成功したとき、第1特徴量を持つユーザが、第2認証情報に対する電子署名を生成したことが分かる。
なぜならば、第1端末100は、第1特徴量なしでは、検証に成功するような第2認証情報に対する電子署名を生成することは困難であるためである。このことから、第2認証情報は第1認証情報と同一のユーザにより登録されたことが確かめられる。同様にして、第1認証情報から第n認証情報までが同一のユーザにより登録されたことが確かめられる。
なお、上記の方法で第n認証情報の正当性の検証を行う前に、以下のように第1認証情報の正当性の検証が行われてもよい。ただし、以下で述べる第1認証情報の正当性の検証を行うためには、予め以下の処理が行われている必要がある。
予め窓口に設置された窓口端末に署名可能な認証方式を用意する。この認証方式における特徴量及び認証情報を、それぞれ窓口特徴量及び窓口認証情報と呼び、窓口端末は窓口特徴量を取得して、取得した窓口特徴量から窓口認証情報を生成する。
窓口端末は、第1認証情報の登録の際、窓口特徴量を用いて、第1認証情報に対する電子署名(以下、第1電子署名と呼ぶ)を生成する。一方、窓口端末は、窓口認証情報をサーバ300に送信し、サーバ300は窓口認証情報をDB303に格納する。予めこのような処理が行われたとき、サーバ300は、窓口認証情報を用いて、第1認証情報と第1電子署名の組を検証することができる。
本実施例は、実施例1を用いて第2認証情報から第n認証情報を登録する場合を述べた。第2認証情報から第n認証情報の一部または全部が、実施例2から実施例5までのいずれかで述べられた方法により登録された場合でも、各k=2,3,...,n−1に対して、第(k+1)認証情報に対する電子署名が生成されて保存されていれば、本実施例に述べた方法を用いて、第n認証情報の正当性を検証できる。
ただし、k=1,2,..,n−1のうちの少なくとも1つのkに対して、実施例5のように、第k認証情報と第(k+1)認証情報とが異なるサーバに保存される場合には、各サーバは第n認証情報の正当性の検証時に、検証に必要な情報を他の1以上のサーバから集めてもよいし、第(k+1)認証情報登録処理の際に、第k認証情報が保存されているサーバから第(k+1)認証情報を保存するサーバに、一部又は全部の情報が複製されて保存されてもよい。
また、実施例3のように個人認証システムがサーバ300を備えていない場合には、k=2,3,...,nそれぞれに対して、第k端末が、第(k−1)認証情報を用いて、第k認証情報と第k電子署名との組を検証すればよい。あるいは、k=2,3,...,nそれぞれに対して、第k認証情報登録処理の際に、s=1,2,...,k−1それぞれに対する第s認証情報と、t=1,2,...,kそれぞれに対する第t電子署名を第(k−1)端末から第k端末に送り、送信されたこれらの情報が第k端末のDB内に格納され、検証の際は、第n端末が、各k=2,3,...,nに対して、第(k−1)認証情報を用いて、第k認証情報と第k電子署名との組を検証するようにしてもよい。
また、実施例1から実施例5の第2認証情報登録処理における第1認証情報が、本実施例の前提条件で説明された第n認証情報の登録方法により登録された場合において、第1認証情報の正当性を示すために本実施例における検証が行われてもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。