(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-17
(45)【発行日】2024-10-25
(54)【発明の名称】認証装置及び認証方法
(51)【国際特許分類】
G06F 21/60 20130101AFI20241018BHJP
G06F 21/32 20130101ALI20241018BHJP
【FI】
G06F21/60 320
G06F21/32
(21)【出願番号】P 2021020701
(22)【出願日】2021-02-12
【審査請求日】2023-05-12
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】加賀 陽介
(72)【発明者】
【氏名】高橋 健太
(72)【発明者】
【氏名】藤尾 正和
(72)【発明者】
【氏名】中村 渉
(72)【発明者】
【氏名】安村 慶子
【審査官】松平 英
(56)【参考文献】
【文献】特開2020-067719(JP,A)
【文献】真弓 武行 他,PBI認証を用いた手ぶらでのキャッシュレス決済サービス,日立評論,日本,日立評論社,2020年07月20日,第102巻 第3号,pp. 93-98,[ISSN]0367-5874
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/14
21/00-21/88
G09C 1/00-5/00
H04K 1/00-3/00
H04L 9/00-9/40
(57)【特許請求の範囲】
【請求項1】
認証装置であって、
プロセッサとメモリとを有し、
前記メモリは、
バイオメトリック暗号を用いて秘密鍵と
登録用生体情報とから生成された秘匿テンプレートと、
登録用本人確認情報が前記秘密鍵で暗号化された暗号化本人確認情報と、
トランザクションの生成に用いられる秘密情報が前記秘密鍵で暗号化された暗号化秘密情報と、の組み合わせと、
利用者の
認証用生体情報と、を保持し、
前記プロセッサは、
前記
認証用生体情報を用いて、前記秘匿テンプレートから前記秘密鍵を抽出し、
前記抽出した秘密鍵を用いて、前記暗号化本人確認情報を復号して
登録用本人確認情報を取得し、
前記取得した
登録用本人確認情報に基づいて、前記利用者の本人性を確認
し、
前記利用者の本人性の確認に成功した場合、前記抽出した秘密鍵を用いて、前記暗号化秘密情報を復号して秘密情報を取得し、
前記取得した秘密情報に基づいて前記トランザクションを生成する、認証装置。
【請求項2】
請求項1に記載の認証装置であって、
入力装置と出力装置とを有し、
前記プロセッサは、
前記取得した
登録用本人確認情報を前記出力装置に出力し、
前記入力装置を介して前記利用者の本人性の確認結果を取得し、
前記取得した確認結果に基づいて、前記利用者の本人性を確認する、認証装置。
【請求項3】
請求項1に記載の認証装置であって、
入力装置を有し、
前記
登録用本人確認情報は、文字列又は文字列が変換されたデータを含み、
前記プロセッサは、
前記入力装置を介して
入力を受け付けた文字列に基づいて認証用本人確認情報を取得し、
前記
登録用本人確認情報と、前記
認証用本人確認情報と、に基づいて、前記利用者の本人性を確認する、認証装置。
【請求項4】
請求項1に記載の認証装置であって、
前記
登録用本人確認情報は、
前記登録用生体情報又は
前記登録用生体情報が変換されたデータを含み、
前記プロセッサは
、
前記認証用生体情報に基づいて認証用本人確認情報を取得し、
前記
登録用本人確認情報と、前記
認証用本人確認情報と、に基づいて、前記利用者の本人性を確認する、認証装置。
【請求項5】
請求項1に記載の認証装置であって、
前記プロセッサは、前記秘密鍵の抽出において正しい秘密鍵を抽出した場合であっても、正しくない秘密鍵を抽出した場合であっても、当該抽出した鍵を用いて、前記暗号化本人確認情報を復号して前記
登録用本人確認情報を取得する、認証装置。
【請求項6】
請求項1に記載の認証装置であって、
入力装置を備え、
前記メモリは、
それぞれ異なる識別子に対応付けられた、前記秘匿テンプレートと前記暗号化本人確認情報との複数の組み合わせを保持し、
前記プロセッサは、
前記入力装置を介して、識別子の入力を受け付け、
前記入力を受け付けた識別子に対応する秘匿テンプレートと暗号化本人確認情報とを特定し、
前記
認証用生体情報を用いて、前記特定した秘匿テンプレートから前記秘密鍵を抽出し、
前記抽出した秘密鍵を用いて、前記特定した暗号化本人確認情報を復号して本人確認情報を取得する、認証装置。
【請求項7】
請求項1に記載の認証装置であって、
前記メモリは、前記秘匿テンプレートと前記暗号化本人確認情報との複数の組み合わせを保持し、
前記プロセッサは、
前記複数の組み合わせそれぞれに対して、前記利用者の生体情報を用いて、前記秘匿テンプレートから前記秘密鍵の抽出処理を行い、
前記抽出処理において抽出に成功した秘密鍵を用いて、当該秘密鍵に対応する秘匿テンプレートと同じ組み合わせに属する暗号化本人確認情報を復号して前記
登録用本人確認情報を取得する、認証装置。
【請求項8】
認証装置による認証方法であって、
前記認証装置は、プロセッサとメモリとを有し、
前記メモリは、
バイオメトリック暗号を用いて秘密鍵と
登録用生体情報とから生成された秘匿テンプレートと、
登録用本人確認情報が前記秘密鍵で暗号化された暗号化本人確認情報と、
トランザクションの生成に用いられる秘密情報が前記秘密鍵で暗号化された暗号化秘密情報と、の組み合わせと、
利用者の
認証用生体情報と、を保持し、
前記認証方法は、
前記プロセッサが、前記
認証用生体情報を用いて、前記秘匿テンプレートから前記秘密鍵を抽出し、
前記プロセッサが、前記抽出した秘密鍵を用いて、前記暗号化本人確認情報を復号して
登録用本人確認情報を取得し、
前記プロセッサが、前記取得した本人確認情報に基づいて、前記利用者の本人性を確認
し、
前記プロセッサが、前記利用者の本人性の確認に成功した場合、前記抽出した秘密鍵を用いて、前記暗号化秘密情報を復号して秘密情報を取得し、
前記プロセッサが、前記取得した秘密情報に基づいて前記トランザクションを生成する、認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置及び認証方法に関する。
【背景技術】
【0002】
個人認証は、利用者が予め登録された本人であることを確認する処理であり、様々なIT(Information Technology)システムにおいて行われる基本的な処理である。例えば、キャッシュレス決済では、クレジットカードに代表されるカード及び暗証番号、又はスマートデバイス上に表示した2次元コード等を提示すること等により、個人認証が行われて決済が行われる。これらの仕組みは既に一般に普及しているが、不正決済等の事件も多々発生しており、複数の認証手段を組み合わせてセキュリティを向上させる2要素認証の導入が推奨されている。
【0003】
個人認証手段として、パスワードや暗証番号などを利用する知識認証、カードやスマートデバイスなどを利用する所有認証、及び指紋や顔などを利用する生体認証等がある。これらのような個人認証手段では、登録時に予め取得されたデータと認証時に本人から取得されたデータとを照合することで、本人であるかどうかを判定する。
【0004】
これらの個人認証手段の2種類以上を組み合わせることで不正が起きにくくする方式を2要素認証と呼ぶ。一般に2要素認証は、異なる2要素の組み合わせを意味し、例えば、カード認証と顔認証の両方に成功したときに、成功となる方式等がある。ただし、指紋と顔等の同じ種別の個人認証手段の組み合わせも不正防止に有効である。
【0005】
個人認証においては、登録データからの情報漏えいが課題となる。例えば、パスワードや暗証番号において、パスワードや暗証番号のハッシュ値が登録されることが典型的であるが、ハッシュ値を入手した攻撃者は典型的な平文や他のシステムから漏洩した平文に対するハッシュ値と突き合わせることで、元のパスワードや暗証番号を特定することができ、なりすまし攻撃を行うことができる。また、指紋や顔などの生体情報が用いられる場合、指紋や顔から抽出された特徴量(テンプレート)が登録されるが、これらは機微な個人情報であり強固に保護する必要がある。
【0006】
一方で、カードやスマートデバイスを利用する所有認証では、カードやスマートデバイスに秘密鍵を格納し、当該秘密鍵と対になる公開鍵を登録することで、登録データからの情報漏えいを防止できる。この所有認証を用いて、他の認証手段の登録データを暗号化すると、2要素認証における登録データからの情報漏えいを防止することができる。
【0007】
本発明の背景技術として、特開2020-005064号公報(特許文献1)がある。この公報には、「各利用者の個人情報または生体認証情報を、ユーザ公開鍵で暗号化した状態で、ユーザ固有情報22dとして車両側のサービス端末20に保持しておく。サービス利用要求Ru2が入力された時に、サービス端末20がユーザ秘密鍵Kusを取得してユーザ固有情報22dを復号し、復号結果を利用者の認証に利用する。サーバ機器30と通信できない環境でもユーザ固有情報22dを用いてサービス端末20が利用者を認証できる。利用者権限情報22aは、サーバ機器30が生成しサーバの電子署名22bを付与した状態で暗号化してサービス端末20に送信する。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載の技術は、カードに秘密鍵が格納され、当該秘密鍵を認証時に用いることを前提としているため、利用者は、秘密鍵を格納したカードやスマートデバイス等を携帯する必要がある。従って、利用者がカードやスマートデバイスを携帯していない時には、認証を受けることができない。
【0010】
また、利用者がカードやスマートデバイスを紛失した場合、認証を受けることができなくなる上、カードやスマートデバイスが盗難された場合には第三者が秘密鍵を使ってテンプレートを復号するおそれがある。上記した問題点は、登録データの保護をカード等の所有物に依存していることに起因する。認証時に所有物を要求せず、手ぶらで2要素認証を行うことを実現すれば、いつでも認証を受けられる上、所有物の紛失や盗難に伴うリスクもなくなる。
【0011】
そこで本発明の一態様は、登録データからの情報漏えいを防止する2要素認証を、認証時に所有物を要求しない手ぶら認証で実現する。
【課題を解決するための手段】
【0012】
上記課題を解決するため本発明の一態様は以下の構成を採用する。認証装置であって、プロセッサとメモリとを有し、前記メモリは、バイオメトリック暗号を用いて秘密鍵と生体情報とから生成された秘匿テンプレートと、本人確認情報が前記秘密鍵で暗号化された暗号化本人確認情報と、の組み合わせと、利用者の生体情報と、を保持し、前記プロセッサは、前記利用者の生体情報を用いて、前記秘匿テンプレートから前記秘密鍵を抽出し、前記抽出した秘密鍵を用いて、前記暗号化本人確認情報を復号して本人確認情報を取得し、前記取得した本人確認情報に基づいて、前記利用者の本人性を確認する、認証装置。
【発明の効果】
【0013】
本発明の一態様によれば、登録データからの情報漏えいを防止する2要素認証を、認証時に所有物を要求しない手ぶら認証で実現することができる。
【0014】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0015】
【
図1】第一の実施形態における認証端末、認証サーバ、及び登録端末の構成例を示すブロック図である。
【
図2】第一の実施形態における認証端末、認証サーバ、及び登録端末それぞれを構成する計算機のハードウェア構成の一例を示すブロック図である
【
図3】第一の実施形態における初期登録処理の一例を示すシーケンス図である。
【
図4】第一の実施形態における認証処理の一例を示すシーケンス図である。
【
図5】第一の実施形態における鍵抽出処理の一例を示すフローチャートである。
【
図6】第一の実施形態における本人確認処理の一例を示すフローチャートである。
【
図7】第二の実施形態における認証処理の一例を示すフローチャートである。
【
図8】第三の実施形態における本人確認処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0017】
<第一の実施形態>
第一の実施形態では、第一の認証要素としてバイオメトリック暗号に基づく生体認証を用い、認証成功時に秘密鍵を復元し、当該秘密鍵で本人確認情報と秘密情報を復号し、当該本人確認情報を用いて第二の認証要素の確認を行い、当該秘密情報を用いてトランザクションを生成し、当該トランザクションを実行する生体認証システムを説明する。
【0018】
図1は、認証端末、認証サーバ、及び登録端末の構成例を示すブロック図である。認証端末1000、認証サーバ1100、及び登録端末1200は、例えばインターネット等のネットワークで互いに接続されている。なお、認証端末1000と登録端末1200は互いに接続されていなくてもよい。
【0019】
認証端末1000は、例えば、識別子取得部1010、生体情報取得部1020、秘密鍵抽出部1030、データ復号部1040、本人確認情報出力部1050、確認結果取得部1060、及びトランザクション生成部1070を含む。
【0020】
識別子取得部1010は、利用者を一意に識別する識別子を取得する。識別子取得部1010は、例えば、キーボードなどの入力装置を介して、ユーザ名及びメールアドレスなどの文字列を識別子として取得する。本実施形態では、識別子取得部1010は、利用者が指定した識別子を取得する例を主に説明しているが、それに限定されない。例えば、識別子取得部1010は、認証サーバ1100が自動的に付与した識別子を取得してもよいし、予め別の手段で付与された識別子を読み込んでもよい。
【0021】
生体情報取得部1020は、利用者から指紋、顔、虹彩、静脈、掌紋、網膜、及び声紋などの生体情報を取得する。生体情報取得部1020は、例えば、指紋センサ及び静脈センサなどの専用デバイスから生体情報を取得してもよいし、カメラ及びマイクなどの汎用デバイスから生体情報を取得してもよい。
【0022】
秘密鍵抽出部1030は、バイオメトリック暗号に基づき、秘匿テンプレートと生体情報から、秘密鍵を抽出する。バイオメトリック暗号とは、登録時に生体情報と秘密鍵から秘匿テンプレートが生成され、認証時に秘匿テンプレートと生体情報から秘密鍵が抽出される、テンプレート保護技術の一例である。秘匿テンプレートは、攻撃者が秘匿テンプレートを入手したとしても生体情報や秘密鍵に関する情報が漏洩しないように設計されており、生体情報や秘密鍵を秘匿テンプレートに変換することで安全な生体認証システムを構築することができる。
【0023】
データ復号部1040は、暗号化されたデータを、秘密鍵を使って復号する。秘密鍵を使ってデータを暗号化する共通鍵暗号、及び秘密鍵と対になる公開鍵を使ってデータを暗号化する公開鍵暗号などはいずれも、データの暗号化方法の一例である。
【0024】
本人確認情報出力部1050は、本人確認情報を出力する。顔写真、氏名、免許証画像、パスポート画像、自分しか知らない秘密の画像、及び秘密の質問と回答などはいずれも本人確認情報の一例である。なお、本人確認情報は、指紋、顔、虹彩、静脈、掌紋、網膜、及び声紋などの利用者の生体情報、又は生体情報の変化を示すデータであってもよい。本人確認情報出力部1050は、例えば、上記のような本人確認情報を、ディスプレイ及びスマートデバイスなどに利用者本人又は店員などの確認者が視認可能な形式で表示する。
【0025】
確認結果取得部1060は、本人確認情報出力部1050が出力した本人確認情報を利用者本人又は確認者が確認した結果を取得する。典型的には、店員などの確認者が、顔写真、免許証画像、及びパスポート画像などの内容と、利用者と、を比較して、確かに本人であるかどうかを示す結果を、マウス、キーボード、音声、及びタッチパネルなどの入力装置を用いて入力し、確認結果取得部1060は当該結果を取得する。
【0026】
トランザクション生成部1070は、認証成功時にトランザクションを生成する。トランザクションとは、2要素認証(本人確認情報及び秘密情報による認証)の後に実行される処理に相当し、例えば、システムへのログインにおけるチャレンジレスポンス、決済システムにおける支払い処理などに対応する。
【0027】
認証サーバ1100は、例えば、テンプレート検索部1110、トランザクション実行部1120、及びテンプレート格納部1190を含む。テンプレート検索部1110は、識別子に対応するテンプレートセットをテンプレート格納部1190から検索して取得する。
【0028】
トランザクション実行部1120は、トランザクション生成部1070が生成したトランザクションを実行する。テンプレート格納部1190は、登録時に生成したテンプレートセットを保持し、当該テンプレートセットが認証時に読み出されて用いられる。
【0029】
登録端末1200は、例えば、本人確認情報取得部1210、秘密情報取得部1220、生体情報取得部1230、秘匿テンプレート生成部1240、データ暗号化部1250、及び識別子取得部1260を含む。
【0030】
本人確認情報取得部1210は、例えば、カメラ、キーボード、及びスキャナなどの入力装置を介して、本人確認情報を利用者から取得する。秘密情報取得部1220は、例えば、キーボードやスマートデバイスなどの入力装置を介して、クレジットカード番号、及びブロックチェーンのトランザクション生成に用いる署名鍵などの秘密情報を取得する。なお、秘密情報が署名鍵などである場合、秘密情報取得部1220は、秘密情報を外部から取得せずに内部で生成することもできる。
【0031】
生体情報取得部1230は、認証端末1000の生体情報取得部1020と同様の方法で、利用者の生体情報を取得する。秘匿テンプレート生成部1240は、生体情報取得部1230が取得した生体情報から、秘匿テンプレートを生成する。データ暗号化部1250は、本人確認情報及び秘密情報などを、秘密鍵を用いて暗号化する。識別子取得部1260は、認証端末1000の識別子取得部1010と同様の方法で識別子を取得する。
【0032】
図2は、認証端末1000、認証サーバ1100、及び登録端末1200それぞれを構成する計算機のハードウェア構成の一例を示すブロック図である。
【0033】
CPU2010は、プロセッサを含み、メモリ2020に格納されたプログラムを実行する。メモリ2020は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU2010が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0034】
補助記憶装置2030は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU2010が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置2030から読み出されて、メモリ2020にロードされて、CPU2010によって実行される。
【0035】
入力装置2040は、キーボードやマウスなどの、オペレータからの入力を受ける装置である。また、入力装置2040は、生体センサ、タッチパネル、スマートデバイス、スキャナ、及びカメラ等の生体情報を取得するためのデバイスを含んでもよい。
【0036】
出力装置2050は、ディスプレイやプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。特に、例えば、認証端末1000を構成する計算機2000の出力装置2050は、本人確認情報出力部1050が出力する情報を表示する。
【0037】
通信装置2060は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置2060は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含んでもよい。
【0038】
CPU2010が実行するプログラムは、非一時的な記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)又は非一時的な記憶装置を備える他の計算機からネットワークを介して計算機2000に提供され、非一時的記憶媒体である不揮発性の補助記憶装置2030に格納される。このため、計算機2000は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0039】
認証端末1000、認証サーバ1100、及び登録端末1200は、それぞれ、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【0040】
認証端末1000を構成する計算機2000のCPU2010は、識別子取得部1010、生体情報取得部1020、秘密鍵抽出部1030、データ復号部1040、本人確認情報出力部1050、確認結果取得部1060、及びトランザクション生成部1070を含む。認証サーバ1100を構成する計算機2000のCPU2010は、テンプレート検索部1110、トランザクション実行部1120、及びテンプレート格納部1190を含む。
【0041】
登録端末1200を構成する計算機2000のCPU2010は、本人確認情報取得部1210、秘密情報取得部1220、生体情報取得部1230、秘匿テンプレート生成部1240、データ暗号化部1250、及び識別子取得部1260を含む。
【0042】
例えば、認証端末1000を構成する計算機2000のCPU2010は、当該計算機2000のメモリ2020にロードされた識別子取得プログラムに従って動作することで、識別子取得部1010として機能し、当該計算機2000のメモリ2020にロードされた生体情報取得プログラムに従って動作することで、生体情報取得部1020として機能する。当該計算機2000のCPU2010に含まれる他の機能部についても、プログラムと機能部の関係は同様である。また、認証サーバ1100及び登録端末1200それぞれを構成する計算機2000が有するCPU2010に含まれる機能部についても、プログラムと機能部の関係は同様である。
【0043】
なお、認証端末1000、認証サーバ1100、及び登録端末1200それぞれを構成する計算機2000のCPU2010に含まれる機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0044】
認証サーバ1100を構成する計算機2000の補助記憶装置2030は、テンプレート格納部1190を保持する。なお、認証端末1000、認証サーバ1100、及び登録端末1200それぞれを構成する計算機2000の補助記憶装置2030に格納されている一部又は全部の情報は、当該計算機2000のメモリ2020に格納されていてもよいし、当該計算機2000に接続されているデータベースに格納されていてもよい。
【0045】
なお、本実施形態において、認証端末1000、認証サーバ1100、及び登録端末1200が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。本実施形態ではテーブル形式で情報が表現されているが、例えば、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
図3は、初期登録処理の一例を示すシーケンス図である。登録端末1200と認証サーバ1100が、初期登録処理を行う。
【0046】
まず、登録端末1200の識別子取得部1260は、利用者から識別子220を取得する(S3010)。利用者は初期登録を行う対象者である。識別子は、利用者を一意に識別可能な情報であり、例えば英数字の文字列で構成される。本人確認情報取得部1210は、利用者から本人確認情報221を取得する(S3020)。
【0047】
秘密情報取得部1220は、利用者から、秘密情報222を取得する(S3030)。秘密情報222は、トランザクションの生成に必要となる情報であり、例えばクレジットカード番号、及びブロックチェーントランザクション生成に用いられる署名鍵などを含む。なお、秘密情報222は前述した情報だけでなく、トランザクション生成時に参照される補助情報を含むことができる。補助情報は、例えば、決済の限度金額、決済が利用可能な地域、及び決済の目的などを含む。
【0048】
生体情報取得部1230は、利用者から生体情報223を取得する(S3040)。生体情報223は、指紋、顔、虹彩、静脈、掌紋、網膜、及び声紋などを含む、利用者の身体的特徴及び/又は行動的特徴を示す情報である。
【0049】
秘匿テンプレート生成部1240は、ステップS3040で得られた生体情報223を用いて、秘匿テンプレートを生成する(S3050)。秘匿テンプレート生成部1240は、例えば、Fuzzy Extractor、Fuzzy Vaultなどに代表されるバイオメトリック暗号を用いて、秘匿テンプレートを生成する。具体的には、例えば、秘匿テンプレート生成部1240は、秘密鍵225をランダムに生成し、秘密鍵225と生体情報223から秘匿テンプレートを生成する。また、秘密鍵225は、例えば、登録端末1200を構成する計算機2000の補助記憶装置2030に予め格納されていてもよい。
【0050】
この秘匿テンプレートは、万が一第三者の手に渡っても、秘密鍵225や生体情報223を推定することが困難になるよう設計されており、認証サーバ1100は、生体情報223に代えて秘匿テンプレートを管理することで、情報漏えいやなりすましのリスクを抑えた安全な生体認証システムを構築することができる。
【0051】
データ暗号化部1250は、本人確認情報221を秘密鍵225で暗号化し(S3060)、秘密情報222を秘密鍵225で暗号化する(S3070)。データ暗号化部1250は、ステップS3010で取得された識別子、ステップS3050で生成された秘匿テンプレート、ステップS3060で生成された暗号化本人確認情報、及びステップS3070で生成された暗号化秘密情報を含む登録データを、認証サーバ1100へ送信する(S3080)。
【0052】
認証サーバ1100のテンプレート検索部1110は、ステップS2080で送信された登録データを受信する(S3110)。テンプレート検索部1110は、S3050で生成された秘匿テンプレート、ステップS3060で生成された暗号化本人確認情報、及びステップS3070で生成された暗号化秘密情報を含むテンプレートセット224を、識別子220と紐付けてテンプレート格納部1190へ登録する(S3120)。
以上により、登録端末1200と認証サーバ1100による初期登録処理が完了し、利用者は認証を受けることができるようになる。
【0053】
図4は、認証端末1000と認証サーバ1100による認証処理の一例を示すシーケンス図である。認証端末1000の識別子取得部1010は利用者から識別子220を取得して、認証サーバ1100へ送信する(S4010)。認証サーバ1100のテンプレート検索部1110は受信した識別子220に対応するテンプレートセットを、テンプレート格納部1190から検索して取得する(
S4110)。
【0054】
テンプレート検索部1110は、ステップS4110で取得したテンプレートセット224を、認証端末1000へ送信する(S4120)。認証端末1000の秘密鍵抽出部1030は、ステップS4120で送信されたテンプレートセット224を受信する(S4020)。
【0055】
生体情報取得部1020は利用者から生体情報223を取得し、秘密鍵抽出部1030は、当該生体情報223とステップS4020で受信された秘匿テンプレートとを用いて秘密鍵を抽出する(S4030)。秘密鍵抽出部1030は、バイオメトリック暗号を用いて秘密鍵を抽出する。具体的には、秘密鍵抽出部1030は、利用者から取得した生体情報223と秘匿テンプレート登録時の生体情報との誤差が所定値未満である、つまり2つの生体情報が同一人物のものと判定したとき、登録時に生成された正しい秘密鍵225を抽出することができる。鍵抽出処理の詳細は、
図5を参照して後述する。
【0056】
秘密鍵抽出部1030がステップS4030において秘密鍵の抽出に成功したときには、本人確認情報出力部1050は暗号化本人確認情報を復号することで本人確認情報211を取得して、本人確認情報221を出力装置2050に出力し、確認結果取得部1060は、例えば確認者からの入力に基づいて確認結果320を取得する(S4040)。本人確認処理の詳細については、
図6を参照して後述する。
【0057】
なお、秘密鍵抽出部1030がステップS4030において秘密鍵の抽出に失敗しても、ステップS4040に進んでもよい。この場合、秘密鍵抽出部1030は正しくない秘密鍵を取得しているため、本人確認情報出力部1050が暗号化本人確認情報を復号することができず、ステップS4040の処理がタイムアウトして、
図4の処理が終了する。
【0058】
本人確認情報出力部1050がステップS4040において本人確認に成功したときには、データ復号部1040は、ステップS4020で受信された暗号化秘密情報を、ステップS4030で抽出された秘密鍵で復号することで、秘密情報222を取得する(S4050)。
【0059】
トランザクション生成部1070は、ステップS4050で取得された秘密情報222を用いて、トランザクションを生成する(S4060)。トランザクションの生成に必要となるクレジットカード番号や署名鍵などは、秘密情報222の一例である。
【0060】
トランザクションは、認証成功時に利用者が行いたい処理をす。例えば、利用者の目的がサーバへの認証であれば、トランザクションは、乱数に署名鍵で電子署名を付与したチャレンジレスポンスを含む。また、利用者の目的が決済であれば、トランザクションは、クレジットカード番号、決済金額、及び費目などを含む。また、利用者の目的がブロックチェーンのトランザクション生成である場合には、任意のブロックチェーントランザクションの一部又は全てに、署名鍵で電子署名を付与することで、トランザクションが生成される。
【0061】
トランザクション生成部1070は、ステップS4060で生成したトランザクション321を、認証サーバ1100へ送信する(S4070)。認証サーバ1100のトランザクション実行部1120は、ステップS4070で送信されたトランザクション321を受信する(S4130)。トランザクション実行部1120は、ステップS4130で受信したトランザクション321を実行する(S4140)。
【0062】
トランザクションの実行とは、例えば利用者の目的が認証であれば、アクセスを許可してアクセス制限付きコンテンツへアクセスさせることを含む。また、利用者の目的が決済であれば、トランザクションの実行とは、クレジットカード会社へトランザクションを転送して、利用者のクレジットカードからの支払い処理を完了させることを含む。また、利用者の目的がブロックチェーンのトランザクション生成であれば、トランザクションの実行とは、当該トランザクションをブロックチェーンネットワーク上にシェアして、必要に応じて承認やマイニングなどの処理を行い、トランザクションを完了させることを含む。
【0063】
以上により、認証端末1000が2要素認証を要求し、認証サーバ1100はトランザクション処理を完了させることができる。利用者は、識別子220及び生体情報223を入力するだけで、本人確認情報の復号、及び確認者による確認を受けることが可能となり、利用者がカードなどを所持することなく手ぶらで安全な2要素認証を行うことが可能となる。
【0064】
図5は、ステップS3030における鍵抽出処理の一例を示すフローチャートである。認証端末1000の生体情報取得部1020は、利用者から生体情報223を取得する(S5010)。この生体情報は、初期登録時にステップS3040で取得された生体情報と同種のものであり、例えば、指紋、顔、虹彩、静脈、掌紋、網膜、及び声紋などである。
【0065】
秘密鍵抽出部1030は、ステップS4020で受信されたテンプレートセット224に含まれる秘匿テンプレートと、ステップS5010で取得された生体情報223とを使ってバイオメトリック暗号の鍵抽出処理を実施する(S5020)。登録時のステップS3040で取得された生体情報223と、認証時のステップS5010で取得された生体情報223との誤差が所定値未満である場合に限り、秘密鍵抽出部1030は、正しい秘密鍵を抽出することができる。
【0066】
生体情報間の誤差が当該所定値以上となる場合には、秘密鍵抽出部1030は、秘密鍵の抽出に失敗するか、正しくない秘密鍵を抽出する。これにより、秘密鍵抽出部1030は、登録された利用者と同一人物が認証した時に限り秘密鍵を得ることができ、以降のデータ復号を行うことができる。このため、本実施形態では本人確認情報や秘密情報を強固に保護し、本人しかアクセスできない安全性を実現している。
【0067】
秘密鍵抽出部1030は、ステップS5020における秘密鍵の抽出結果が成功であるかを判定する(S5030)。秘密鍵抽出部1030は、秘密鍵の抽出結果が失敗であると判定した場合(S5030:失敗)、ステップS4010に戻る。秘密鍵抽出部1030は、秘密鍵の抽出結果が成功であると判定した場合(S5030:成功)、鍵抽出処理を終了する。以上の処理により、利用者が手ぶらであっても安全に秘密鍵の抽出を行うことができる。
【0068】
なお、秘密鍵抽出部1030は、上記したように正しい秘密鍵を抽出した場合にのみ秘密鍵抽出処理を終了してもよいし、秘密鍵を所定回数生成したものの正しい秘密鍵を抽出できなかった場合に、正しくない秘密鍵を抽出した状態で秘密鍵抽出処理を終了してもよい。
【0069】
図6は、ステップS4040における本人確認処理の一例を示すフローチャートである。認証端末1000は、本人確認処理において、本人確認情報を復号した上で確認者へ提示し、確認結果を受け取ることで、生体認証に続く2要素目の認証を実現する。
【0070】
まず、データ復号部1040は、ステップS5020で抽出された秘密鍵を用いて、ステップS4020で受信されたテンプレートセット224に含まれる暗号化本人確認情報を復号する(S6010)。
【0071】
本人確認情報出力部1050は、復号された本人確認情報221を入力装置2040に出力して、確認者へ確認を求める(S6020)。この確認者は、例えば、認証端末1000が設置された店舗の店員のような第三者である。例えば、確認者が第三者であり、2要素目の認証として顔写真、免許証画像、又はパスポート画像などが用いられる場合には、本人確認情報出力部1050は、これらの本人確認情報を出力装置2050へ表示して、確認者は、認証を試みている利用者が本人であるかどうかを目視確認する。
【0072】
認証端末1000の入力装置2040は、確認者から確認結果320の入力を受け付け(S6030)、本人確認情報出力部1050は、当該確認結果に対する判定を行う(S6040)。確認者が第三者である場合には、例えば、確認結果を「一致」「不一致」のような値で確認者に選択させ、本人確認情報出力部1050は、当該確認結果を取得して確認結果の値を判定する。なお、本人確認の判定結果が「不一致」であった場合には、ステップS4050へと遷移することなく、処理が終了してもよい。
【0073】
これらの2要素目の認証に用いられる本人確認情報は、ステップS6010で復号されるまでは暗号化されており、他者が本人確認情報の内容を確認することができない。このため、登録データからの情報漏洩を防止し、安全な2要素認証システムを実現することができる。
【0074】
<第二の実施形態>
第二の実施形態では、第一の実施形態において行っていたステップS3010の識別子取得処理が行われず、全ての登録データを対象に鍵抽出処理が行われる。第一の実施形態における認証が識別子に対応する登録データを1件に抽出した上で照合を行うため1:1認証と呼ばれるのに対し、第二の実施形態における認証は識別子が入力されることなくN件の登録データ全件と照合を行うため、1:N認証と呼ばれる。
【0075】
1:N認証では、識別子が入力されずに生体情報が入力されるのみで認証が完了するため、1:1認証よりも利便性が高いシステムを実現することができる。ただし、1:1認証よりも速度や精度が落ちる。実システムが構築される際には、利便性と性能のトレードオフを意識しつつ、どちらを採用するかが検討される必要がある。
【0076】
図7は認証処理の一例を示すフローチャートである。
図4との相違点を説明し、同様の点については説明を省略する。
図7では、
図4のステップS4010、ステップS4110、ステップS4120、ステップS4020の処理は行わず、認証端末1000は、予めテンプレート格納部1190を保持する。
【0077】
認証端末1000がこのテンプレート格納部1190を管理して登録及び認証を行うスタンドアローンの運用を行うこともできるし、認証サーバ1100に対して登録が行われ、認証サーバ1100上のテンプレート格納部1190と認証端末1000上のテンプレート格納部1190との同期をとる運用を行うこともできる。前述したようにステップS7030の鍵抽出処理は、全ての秘匿テンプレートに対して行われる。ステップS7030の鍵抽出処理より後の処理は、
図4と同様である。
これにより、第二の実施形態では第一の実施形態における識別子入力の手間がなくなり、より利用者の利便性が高い認証システムを実現することができる。
【0078】
<第三の実施形態>
第三の実施形態は、第一の実施形態において行われるステップS4040の本人確認処理を、
図8の処理へ置き換えたものである。第一の実施形態では、認証端末1000は、第三者の確認者へ本人確認情報を出力し、確認者が入力した確認結果を取得して認証を行う。
【0079】
第三の実施形態では、確認者に代わり、利用者本人が第二の認証を行う。第一の実施形態の認証端末1000は第二の認証を第三者である確認者に依存していたため、例えば店舗のレジなどで利用されることが想定される。第三の実施形態の認証端末1000は、第三者に依存せず利用者本人のみで認証行為を完結させることができるため、利用者の自宅における手続きや、セルフレジなどに適用することができる。
【0080】
図8は、ステップS4040における本人確認処理の一例を示すフローチャートである。データ復号部1040は、本人確認情報を復号する(S8010)。ステップS8010の復号で得られる本人確認情報は、パスワード又はパスワードのハッシュ値、生体情報又は生体情報を加工したデータ、秘密の画像、及び秘密の質問など、のように文字列又は文字列から変換されたデータであり、利用者に問い合わせてレスポンスを取得することで本人かどうかを確認可能な情報である。
【0081】
本人確認情報出力部1050は、利用者から認証情報820を取得する(S8030)。認証情報820は、例えば、パスワード、生体情報、秘密の画像の選択結果、及び秘密の質問に対する回答など本人確認情報と同種の情報を含む。
【0082】
本人確認情報出力部1050は、ステップS80
30で取得した認証情報と本人確認情報とを照合して、利用者が本人であるかどうかを判定する(S8040)。本人確認情報出力部1050が、ステップS8040における認証に成功した場合は、
図4のステップS4050以降の処理に進み、第一の実施形態と同様の処理が進行する。本人確認情報出力部1050がステップS8040における認証に失敗した場合は、ステップS8040の処理を中止してもよい。
【0083】
なお、ステップS8010~S8040の処理は、ステップS4030における鍵抽出が成功した時にのみ実行されるようにしてもよいし、ステップS4030における鍵抽出に失敗したときにも実行されるようにしてもよい。ステップS4030の鍵抽出に失敗したときに、認証失敗の結果を返すようなアルゴリズムを採用した場合には、ステップS8010~ステップS8040の手順を行っても2要素認証には成功できないため、S4030で処理を打ち切ることができる。
【0084】
一方で、ステップS4030の鍵抽出に失敗したときに、認証失敗が判定されずに誤った秘密鍵が抽出されるようなアルゴリズムを採用した場合には、生体認証の失敗を検知できないため、ステップS8010~S8040の処理が行われる。
【0085】
このようにすると、ステップS8010において誤った本人確認情報が復号されるため、利用者が正しい認証情報820を入力した場合にもステップS8040において認証に失敗する。このようなシステムは、不正な認証を試みる攻撃者がなりすましを行った際に、第一の生体認証と第二の本人確認との両方を同時に成功させる必要があり、個々の認証に対して独立な攻撃を行うことができないため、生体認証失敗時にステップS4030で処理を打ち切る場合に比べて、高い安全性を持つ。
【0086】
なお、本人確認情報として、生体情報が登録されている場合には、鍵抽出処理において、既に生体情報が取得されているため、ステップS8030の認証情報取得処理を省略して、ステップS8040における認証結果判定処理において、既に取得されている生体情報と、復号された本人確認情報とを比較して、判定を行ってもよい。
【0087】
以上により、第三の実施形態における認証端末1000は、第一の実施形態で必要であった第三者による認証に代わり、利用者自身による認証を実施し、2要素認証に基づく様々なサービスを受けることができるようになる。
【0088】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0089】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0090】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0091】
1000 認証端末、1010 識別子取得部、1020 生体情報取得部、1030 秘密鍵抽出部、1040 データ復号部、1050 本人確認情報出力部、1060 確認結果取得部、1070 トランザクション生成部、1100 認証サーバ、1110 テンプレート検索部、1120 トランザクション実行部、1190 テンプレート格納部、1200 登録端末、1210 本人確認情報取得部、1220 秘密情報取得部、1230 生体情報取得部、1240 秘匿テンプレート生成部、1250 データ暗号化部、1260 識別子取得部、2000 計算機、2010 CPU、2020 メモリ、2030 補助記憶装置、2040 入力装置、2050 出力装置、2060 通信装置