JP7015767B2 - 認証システム及び認証方法 - Google Patents

認証システム及び認証方法 Download PDF

Info

Publication number
JP7015767B2
JP7015767B2 JP2018179967A JP2018179967A JP7015767B2 JP 7015767 B2 JP7015767 B2 JP 7015767B2 JP 2018179967 A JP2018179967 A JP 2018179967A JP 2018179967 A JP2018179967 A JP 2018179967A JP 7015767 B2 JP7015767 B2 JP 7015767B2
Authority
JP
Japan
Prior art keywords
authentication
feature vector
hash table
hash
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018179967A
Other languages
English (en)
Other versions
JP2020052605A (ja
Inventor
正和 藤尾
健太 高橋
陽介 加賀
渉 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018179967A priority Critical patent/JP7015767B2/ja
Publication of JP2020052605A publication Critical patent/JP2020052605A/ja
Application granted granted Critical
Publication of JP7015767B2 publication Critical patent/JP7015767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)

Description

本発明は、認証システム及び認証方法に関する。
IDとパスワードに変わる、安全で便利な本人認証手段として、生体認証技術の利用が拡大しつつある。金融サービスにおいては、モバイル端末からの口座開設、残高照会、口座振込み、及びATM利用時の本人認証等においての生体認証の利用が実現されつつある。その一方で、生体情報の漏洩や不正入手による成り済ましリスクも高まってきている。このような電子情報による認証をセキュリティ面で強化した背景技術として、特開2009-175984号公報(特許文献1)がある。
特許文献1には、「本人認証装置10は、回線接続された端末から、端末を操作する利用者の行動特性情報として、各利用者が操作している利用者端末40の属性を示す端末情報、該利用者端末40が接続されている回線の属性を示す回線情報、該利用者端末40に対する利用者の操作に係る慣習的な特徴を示す慣習情報を取得する。そして、本人認証装置10は、取得された行動特性情報と、現にアクセスしてきた利用者の確率モデルとを用いて、利用者が本人である確率を示す確率値を算出する。」と記載されている(要約参照)。
特開2009-175984号公報
しかしながら、特許文献1に記載の技術は、認証に用いる行動履歴等の個人情報を復元可能な形式で保持するため当該個人情報の保護が不十分であり、ひいては認証端末や認証サーバから個人情報等が漏洩するリスクが高い。
そこで、本発明の一態様は、個人を特定するための情報の漏洩リスクを低減し、かつ認証精度が高い認証を行うことを目的とする。
上記課題を解決するために、本発明の一態様は以下の構成を採用する。認証システムは、プロセッサとメモリとを含み、前記メモリは、それぞれが1以上のハッシュテーブルからなる複数のハッシュテーブル集合と、登録対象者の特徴量から生成された登録特徴ベクトルを含む認証テンプレートと、を保持し、前記複数のハッシュテーブル集合に含まれる各ハッシュテーブルは、特徴量空間を分割して得られる区間それぞれの値に対してハッシュ値を与え、前記プロセッサは、認証処理を実行し、前記認証処理において、認証対象者の特徴量を取得し、前記区間それぞれにおける前記特徴量の頻度を示す第1認証特徴ベクトルを生成し、前記複数のハッシュテーブル集合それぞれについて、前記第1認証特徴ベクトルが示す0以外の頻度を有する各区間、に対応するハッシュ値を、当該ハッシュテーブル集合に含まれる少なくとも1つのハッシュテーブルから取得し、前記取得したハッシュ値のうち最小のハッシュ値を特定し、前記複数のハッシュテーブル集合それぞれについて特定した最小のハッシュ値から第2認証特徴ベクトルを生成し、前記第2認証特徴ベクトルの要素それぞれについて、下位の所定数ビットに基づいて2値のビット配列を生成し、前記生成したビット配列から第3認証特徴ベクトルを生成し、前記第3認証特徴ベクトルに対する所定の変換により得られる第4認証特徴ベクトルと、前記登録特徴ベクトルと、を比較して、前記認証対象者の認証を実行する、認証システム。
本発明の一態様は、個人を特定するための情報の漏洩リスクを低減し、かつ認証精度が高い認証を行うことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1における本人認証システムの構成例を示すブロック図である。 実施例1におけるユーザ端末の構成例を示すブロック図である。 実施例1における認証サーバの構成例を示すブロック図である。 実施例1における認証テンプレート登録処理の一例を示すシーケンス図である。 実施例1における認証テンプレート生成処理の一例を示すフローチャートである。 実施例1における第3特徴ベクトル生成の過程の一例を示す説明図である。 実施例1における本人認証の全体処理の一例を示すシーケンス図である。 実施例1における本人認証処理の一例を示すフローチャートである。 実施例2における認証テンプレート生成処理の一例を示すフローチャートである。 実施例2における3値画像の一例である。 実施例2における重みマスクの一例である 実施例2におけるずらし画像における頻度決定処理の一例を示す説明図である。 実施例2におけるずらし画像における頻度決定処理の一例を示す説明図である。 実施例3における認証テンプレート生成処理の一例を示すフローチャートである。 実施例3における時空間分割された区間における存否を示す特徴ベクトルの一例である。 実施例3における時空間分割された区間における頻度を示す第1特徴ベクトルの一例である。 実施例1における第3特徴ベクトル生成処理の別例を示す説明図である。 実施例1における第2特徴ベクトル生成処理の別例を示す説明図である。
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
図1は、本人認証システムの構成例を示すブロック図である。本人認証システムは、個人を特定する情報を用いて、本人認証を行うためのシステムである。なお、個人を特定するための情報は、個人の生体情報及び行動履歴(ライフスタイル)を含む。
以下、生体情報の一例として、指紋や静脈等の画像として得られる生体情報が用いられる例を説明する。また、行動履歴は、例えば、ユーザが所有するスマートフォン等の常時携帯する端末から収集される行動情報を含む。当該行動情報は、例えば、GPS(Grobal Positioning System)情報、WiFi(登録商標、以下同)情報、基地局アクセス履歴、及びユーザ端末10内のアプリ使用履歴等を含む。
本人認証システムは、例えば、ユーザ端末10、業務サーバ20、及び認証サーバ30、を含み、例えばインターネット等の通信ネットワーク40を介して相互に接続されている。
ユーザ端末10は、認証を試みるユーザが利用する端末(計算機)であり、例えば、スマートフォン、タブレット端末、ノートパソコン等のBYOD(Bring Your Own Device)端末である。また、ユーザ端末10は、サービスを提供する機関等に設置された、生体情報を取得するための専用の端末であってもよい。また、ユーザ端末10は、端末保持者の行動履歴(位置履歴、及び基地局アクセス履歴等)を取得する。
業務サーバ20は、ユーザ端末10に対してサービスを提供する計算機である。例えば、本人認証システムが決済サービスのための認証を行うシステムである場合、業務サーバ20は、決済サービスを実行するサーバに相当し、決済情報の管理を行なう。認証サーバ30は、ユーザ端末により収集された個人を特定するための情報を用いて、本人認証を実施する計算機である。
なお、本人認証システムは、ユーザ端末10へのログインのようなユーザ端末10に対するローカルでの本人認証のみを実行する場合には、業務サーバ20及び認証サーバ30を含まなくてもよい。
図2は、ユーザ端末10の構成例を示すブロック図である。ユーザ端末10は、例えば、例えば、入力装置11、表示装置12、CPU(Central Processing Unit)13、読取装置14、GPS装置15、WiFi装置16、メモリ17、及び補助記憶装置18を備える。
入力装置11は、ユーザによる指示等の入力を受け付ける装置であり、例えばキーボード、マウス又はタッチパネル等である。入力装置11は、例えば、ユーザの指示に従って、表示装置12に表示された複数のボックス(ボタン)から、1つのボックスを選択することにより該当の処理を選ぶ処理などを受け付ける。
また、入力装置11は、カメラのような撮影装置を含んでもよい。撮影装置は、顔、指紋、掌紋、及び静脈等の個人を特定するための生体情報を取得できるものでもよい。また、入力装置11は、指紋センサ、又は虹彩センサ等のような、特定の生体情報を取得するための専用センサを含んでもよい。
表示装置12は、プログラムの実行結果等を、ユーザに視認可能な形式で、表示する装置である。表示装置12は、例えば、液晶ディスプレイのような画像表示装置及びプリンタを含む。また、入力装置11及び表示装置12は、一体化していてもよい。
GPS装置15は、ユーザ端末10の位置を計測する。WiFi装置16は、WiFi基地局と通信するための通信装置である。なお、ユーザ端末10は、WiFi装置16に加えて又は代えて、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である通信装置を含んでもよい。
読取装置14は、GPS装置15が測位した位置情報、及びWiFi装置16がアクセスした基地局アクセス情報を、例えば、時刻とともに、履歴として記録する。読取装置14は、具体的には、例えば、これらの情報を、一定時間間隔で記録する。
CPU13は、プロセッサを含み、メモリ17に格納されたプログラムを実行する。メモリ17は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU13が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。また、メモリ17には、OS(Operating System)、通信プログラム等が格納されている。
補助記憶装置18は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU13が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置18から読み出されて、メモリ17にロードされて、CPU13によって実行される。
CPU13が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介してユーザ端末10に提供され、非一時的記憶媒体である不揮発性の補助記憶装置18に格納される。このため、ユーザ端末10は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。これは本人認証システムに含まれる他の計算機についても同様である。
ユーザ端末10は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。これは本人認証システムに含まれる他の計算機についても同様である。
CPU13は、例えば、第1特徴ベクトル生成部131、特徴量離散化部132、ハッシュテーブル生成部133、第2特徴ベクトル生成部134、第3特徴ベクトル生成部135、第4特徴ベクトル生成部136、距離計算部137、及び登録認証要求部138を含む。例えば、CPU13は、メモリ17にロードされた第1特徴ベクトル生成プログラムに従って動作することで、第1特徴ベクトル生成部131として機能し、メモリ17にロードされた特徴量離散化プログラムに従って動作することで、特徴量離散化部132として機能する。
なお、CPU13に含まれる他の機能部についても、プログラムと機能部の関係は同様である。また、本人認証システムに含まれる他の計算機において、メモリに格納されるプログラムと、CPUに含まれる機能部と、の関係は同様である。
第1特徴ベクトル生成部131は、個人を特定するための情報を抽出し、第1特徴ベクトルを生成する。特徴量離散化部132は、第1特徴ベクトルの生成に際して、個人を特定するための情報である特徴量を離散化する。ハッシュテーブル生成部133は、第1特徴ベクトルの各値のハッシュ値を生成するためのハッシュテーブルを生成する。
第2特徴ベクトル生成部134は、ハッシュテーブルを用いて、第1特徴ベクトルから第2特徴ベクトルを生成する。第3特徴ベクトル生成部135は、第2特徴ベクトルの情報量を削減し、冗長ビット表現を用いて第3特徴ベクトルを生成する。第4特徴ベクトル生成部136は、第3特徴ベクトルとユニークコードから第4特徴ベクトル及び認証テンプレートを生成する。
距離計算部137は、認証時に取得した個人を特定するための情報から生成された第4特徴ベクトルと、登録済みの認証テンプレートと、の距離を計算し、ユニークコードを復元する。登録認証要求部138は、認証サーバ30に対してユーザ登録要求及び認証要求を行ったり、認証時に署名を生成したりする。
補助記憶装置18は、例えば、ハッシュテーブルデータ181、及び認証テンプレートデータ182を保持する。ハッシュテーブルデータ181は、ハッシュテーブル生成部133が生成したハッシュテーブルを格納する。ハッシュテーブルデータ181は、ハッシュテーブルに代えて、ハッシュテーブルを生成するための乱数シードを格納してもよい。認証テンプレートデータ182は、認証テンプレートを格納する。
なお、本実施形態において、本人認証システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
図3は、認証サーバ30の構成例を示すブロック図である。認証サーバ30は、ユーザ端末10が収集した個人を特定するための情報に基づき、本人認証処理を行なう。
認証サーバ30は、例えば、入力装置31、表示装置32、CPU33、メモリ37、及び補助記憶装置38を備える。入力装置31、表示装置32、CPU33、メモリ37、及び補助記憶装置38、それぞれの説明は、入力装置11、表示装置12、CPU13、メモリ17、及び補助記憶装置18、それぞれの説明と同様であるため、以下、相違点のみを説明する。
CPU33は、例えば、署名検証部331、及び登録認証部332を含む。署名検証部331は、ユーザ端末10が実施した署名を検証する。登録認証部332は、ユーザ端末10からのユーザ登録要求に対して認証登録テンプレート生成要求を返信したり、取得した認証テンプレートやハッシュテーブルの登録をしたり、認証処理時にユーザ端末10に対して認証要求を行ったりする。
なお、認証サーバ30がハッシュテーブルの生成を行う場合には、CPU33は、さらにハッシュテーブル生成部を含む。また、認証サーバ30が、認証時に生成された第4特徴ベクトルと、認証テンプレート内の第4特徴ベクトルと、を比較する場合には、CPU33は、さらに距離計算部を含む。
補助記憶装置38は、例えば、ハッシュテーブルデータ381、及び認証テンプレートデータ382を保持する。ハッシュテーブルデータ381は、ハッシュテーブル生成部133が生成したハッシュテーブルを格納する。ハッシュテーブルデータ381は、ハッシュテーブルに代えて、ハッシュテーブルを生成するための乱数シードを格納してもよい。認証テンプレートデータ382は、認証テンプレートを格納する。
<認証テンプレート登録処理>
図4は、認証テンプレート登録処理の一例を示すシーケンス図である。認証テンプレート登録処理において、例えば、ユーザ端末10がユーザの個人を特定するための情報から認証テンプレートを生成し、認証サーバ30が認証テンプレートを登録及び保管する。
最初に、ユーザ端末10の登録認証要求部138は、認証サーバ30に対し、ユーザ登録要求を行う(S401)。当該登録要求は、例えば、ユーザによって入力されたユーザID等を含んでもよい。
認証サーバ30の登録認証部332は、ユーザ端末10に対して、認証テンプレート生成要求を行う(S402)。次に、ユーザ端末10は、各ユーザの「個人を特定するための情報」から、後述する第4特徴ベクトルを生成し、認証テンプレートに含める(S403)。ステップS403における認証テンプレート生成処理の詳細は図5を用いて後述する。
ユーザ端末10は、生成した認証テンプレートを認証サーバ30に送信する(S404)。また、ステップS404において、登録認証要求部138は、ハッシュテーブルを併せて、認証サーバ30に送信してもよい。ハッシュテーブルは、認証テンプレートに含まれる第4特徴ベクトルの生成に必要となるテーブルである。ステップS404の処理により、認証時に認証サーバ30によっても第4特徴ベクトルを生成することができる。
また、例えば、ユーザが登録に利用したユーザ端末10と、ユーザが認証に利用するユーザ端末10と、が異なり、かつ認証時にユーザ端末10によって第4特徴ベクトルを生成する場合、認証に用いるユーザ端末10がハッシュテーブルを有している必要がある。従って、認証サーバ30がハッシュテーブルを有していることにより、認証に用いるユーザ端末10とハッシュテーブルを共有することができる。
続いて、登録認証部332は、受信した認証テンプレート及びハッシュテーブルを補助記憶装置38に格納する。なお、ステップS404において、ハッシュテーブルに代えて、ハッシュテーブルを生成するための乱数シードが送信されてもよく、この場合、ステップS405において乱数シードが認証サーバ30に登録される。
なお、ユーザ端末10へのログインのように、本人認証システムがユーザ端末10に対するローカルでの認証のみを実行する場合には、例えば、ユーザからの指示に従って、ステップS403のみを実行し、生成された認証テンプレート、及びハッシュテーブル又は乱数シードが補助記憶装置18に格納される。
図5は、ステップS403における認証テンプレート生成処理の一例を示すフローチャートである。図5に示す処理では、ユーザ端末10が収集した「個人を特定するための情報」に基づいて、認証テンプレートが生成される。
最初に、第1特徴ベクトル生成部131は、所定の特徴量を抽出する(S501)。指紋、顔、静脈等の生体情報から得られる3値画像の各ピクセル値を要素とするベクトル(以下、ベクトルは行列であってもよい)や、所定期間の行動履歴(GPS、WiFi、基地局アクセス履歴等)の時系列情報を示すベクトルは、当該所定の特徴量の一例である。
特徴量離散化部132は、取得した特徴量の上限及び下限に基づいて、特徴量空間を一定の区間に分割する(S502)。具体的には、例えば、GPSによる位置履歴が特徴量である場合、特徴量離散化部132が、24時間をN個の区間に分割し、さらに緯度及び経度で定義される地図をメッシュ化してM個の区間(領域)に分割する。これにより、ユーザ端末10の位置の時系列の各点(時刻、緯度、経度及びで示される点)は、時間帯を定義する軸と領域を定義する軸とをクロスして得られるN×M個の区間のいずれかに属する。
なお、例えば、特徴量の各値が3値画像の各ピクセル値で定義されている場合には、各ピクセルを分割後の区間とみなすことができるため、ステップS502の処理は実行されなくてもよい。
次に、ハッシュテーブル生成部133は、ステップS502で生成された各区間にハッシュ値を付与するためのハッシュテーブルを生成する(S503)。次に、ハッシュテーブル生成部133は、ハッシュテーブルの生成が所定回数以上実行されたか否かを判定する(S504)。
ハッシュテーブル生成部133は、ハッシュテーブルの生成が実行された回数が、当該所定回数未満であると判定した場合(S504:No)、ステップS503に戻り、当該所定の回数以上と判定した場合(S504:Yes)、ステップS505に進む。つまり、ステップS503~S504によって、複数の(当該所定回数と同数の)ハッシュテーブルが生成される。なお、当該複数のハッシュテーブルは、同一の区間に異なるハッシュ値を割り当てるものであってもよい。
なお、認証テンプレート生成処理で用いられるハッシュテーブルは、ユーザごとに異なってもよいし、同一であってもよい。複数のユーザについて同一のハッシュテーブルが用いられるである場合には、ハッシュテーブルは、例えば、最初にユーザ登録要求をしたユーザ端末10又は認証サーバ30によって生成され、認証サーバ30に保管されている。ハッシュテーブルを生成しないユーザ端末10は、ステップS503~S504の処理を実行せずに、認証サーバ30から受信したハッシュテーブルを用いる。
次に、第1特徴ベクトル生成部131は、ステップ502で生成した各区間に含まれる特徴量の頻度をカウントし、各区間の頻度を要素とする第1特徴ベクトルを生成する(ステップS504)。具体的には、前述した例では、特徴量がユーザ端末10の位置の時系列で定義されている場合、時系列の各点(時刻、緯度、経度及びで示される点)は、時間を定義する軸と領域を定義する軸とをクロスして得られる区間のいずれかに属する。この場合、第1特徴ベクトル生成部131は、各区間の頻度をカウントする。
なお、例えば、特徴量が3値画像の各ピクセル値で定義されている場合には、第1特徴ベクトル生成部131は、各ピクセルのピクセル値そのものを頻度として扱う。つまり、この場合、各ピクセルのピクセル値を要素とするベクトルが第1特徴ベクトルである。前述したいずれの例においても、第1特徴ベクトルは、個人を特定する情報を示す特徴量を分割後の区間に集約したベクトルである。
次に、第2特徴ベクトル生成部134は、ステップS503~S504で生成したハッシュテーブルから未選択の1つのハッシュテーブルを参照して、第1特徴ベクトル(つまり、前述した頻度)が0でない値それぞれのハッシュ値を取得する(S506)。
第2特徴ベクトル生成部134は、ステップS506で取得したハッシュ値のうち最小のものを第2特徴ベクトルの要素として選択する(S507)。なお、例えば、1つのハッシュテーブルから得られた第2特徴ベクトルの要素が、第2特徴ベクトルの何列目(何行目)に配置されるかは、ハッシュテーブルごとに固定されるものとする。
第2特徴ベクトル生成部134は、全てのハッシュテーブルを選択済みであるか否かを判定する(S508)。第2特徴ベクトル生成部134は、未選択のハッシュテーブルがあると判定した場合(S508:No)、ステップS506に戻り、全てのハッシュテーブルを選択済みであると判定した場合(S508:Yes)、ステップS509に進む。
従って、例えば、ステップS503~S504においてk個のハッシュテーブルが生成された場合には、第2特徴ベクトル生成部134は、k個のハッシュテーブルそれぞれから得られた最小ハッシュ値を要素とするk次元ベクトルを、第2特徴ベクトルとして生成する。
次に、第3特徴ベクトル生成部135は、第2特徴ベクトルの要素の下位の所定数bit(例えば、2bit又は1bit)の値を取得し、取得した値を冗長ビット表現として持つ第3特徴ベクトルを生成する。
ここで、図6を用いて、冗長ビット表現について説明する。図6は、第3特徴ベクトル生成の過程の一例を示す説明図である。k次元ベクトル601は、第2特徴ベクトルである。通常、図6に示すように第2特徴ベクトルの各要素は、整数ハッシュ値であるが、整数以外のハッシュ値であってもよい。
第3特徴ベクトル生成部135は、第2特徴ベクトルの整数の下位の所定数bitの数値を取得する。まず、下位の所定数bitが下位2bitである例を説明する。k次元ベクトル601の1番目の要素の値“3”を2進数表記すると“11”であり、その下位2bitは“11”である。また、k次元ベクトル601の2番目の要素の値である“14”を2進数表記すると“1110”であり、その下位2bitは“10”である。
続いて、第3特徴ベクトル生成部135は、2bitで表現できる最大値を長さとしてもつビット配列(2bitで表現できる最大値は3であるためビット長は3)を0で初期化して用意する(即ちビット配列“000”を用意する)。そして、得られた下位2bitの値それぞれについて、初期化したビット配列の、当該下位2bitの10進数表記の値に対応する桁(具体的には、例えば、下位2bitの10進数表記が“3”であれば下から3桁目)、のビットの値を1に変更したビット配列を生成する。当該下位2bitの値が“00”である場合には、初期化したビット配列をそのまま取得する。なお、これらのビット配列を冗長ビット配列とも呼ぶ。
具体的には、取得した下位2bit“11”の10進数表記は“3”であるため、第3特徴ベクトル生成部135は、初期化されたビット配列“000”の3桁目の値を1に変更したビット配列“100”を生成する。また、取得した下位2bit“10”の10進数表記は“2”であるため、第3特徴ベクトル生成部135は、初期化されたビット配列“000”の2桁目の値を1に変更したビット配列“010”を生成する。
第3特徴ベクトル生成部135は、これらのビット配列それぞれを要素とするバイナリベクトル603を第3特徴ベクトルとして生成する。例えば、下位2bitを用いて第3特徴ベクトルが生成される場合、下位2bitの値の最大値が“3”であるため、第2特徴ベクトルの1要素は、長さ3のベクトルに変換される。このため、第3特徴ベクトルは、k×3次元のバイナリベクトルである。
続いて、下位の所定数bitが下位1bitである例を説明する。k次元ベクトル601の1番目の要素の値“3”を2進数表記すると“11”であり、その下位1bitは“1”である。また、k次元ベクトル601の2番目の要素の値である“14”を2進数表記すると“1110”であり、その下位1bitは“0”である。
そして、取得した下位1bitは“1”であるため、第3特徴ベクトル生成部135は、初期化されたビット配列“0”の1桁目の値を1に変更したビット配列“1”を生成する。また、取得した下位1bitは“0”であるため、第3特徴ベクトル生成部135は、初期化されたビット配列“0”を変更することなくビット配列“0”を取得する。
第3特徴ベクトル生成部135は、これらのビット配列それぞれを要素とするバイナリベクトル602を第3特徴ベクトルとして生成する。下位1bitを用いて第3特徴ベクトルが生成される場合、下位1bitの値の最大値が“1”であるため、第2特徴ベクトルの1要素は、長さ1のベクトルに変換される。このため、第3特徴ベクトルは、k×1次元のバイナリベクトルである。
図5の説明に戻る。第4特徴ベクトル生成部136は、ステップS509によって得られた第3特徴ベクトルと、ランダムな値を持つn×m次元の射影行列(但し、ゼロ行列でも単位行列でもない)と、の積を算出し、算出した積にm次元の別のユニークコードと足し合せることで、第4の新たな特徴ベクトルを生成する(S510)。ユニークコードは、例えば、ユーザによってユーザ端末10に入力され、メモリ17又は補助記憶装置18に保存されている。
ここで、nは第3特徴ベクトルの次元数と等しく、mは、生成される第4特徴ベクトルの次元数と等しい。また、ユーザの秘密鍵及びパスワード等の秘匿対象の情報は、ユニークコードの一例である。なお、ユニークコードが存在しない場合、又はユニークコードを秘匿する必要がない場合には、第3特徴ベクトルと前述した射影行列との積を第4特徴ベクトルとしてもよい。また、第4特徴ベクトル生成部136は、ステップS510において、例えば、第4特徴ベクトルと、ユーザを識別するユーザIDと、を認証テンプレートに含める。
以上により、生体情報の復元が不可能で、本人間距離(本人の特徴量と別の機会に取得した当該本人の特徴量との距離)、及び他人間距離(本人の特徴量と他人の特徴量との距離)を近似的に保持したまま認証可能な認証テンプレートを生成することができる。
具体的には、第2特徴ベクトル生成時にハッシュテーブルが用いられることにより、ハッシュテーブルが漏洩しない限り、第2特徴ベクトルから第1特徴ベクトルを復元することは原則的にできない。また、第2特徴ベクトルの各要素の下位の所定数bitのみを用いて第3特徴ベクトルが生成されているため、第3特徴ベクトルの生成時に情報量が落ちているため、復元可能性がさらに低下する。さらに第4特徴ベクトルの生成時において、射影行列による射影及びユニークコードが用いられることにより、復元不可能性がさらに担保される。
一方、第1の特徴ベクトル、第2の特徴ベクトル、第3の特徴ベクトル、第4の特徴ベクトルを生成するまでに行われる変換は漸近的等長変換であるため、本人間距離、及び他人間距離が近似的に保存されたまま各特徴ベクトルへの変換がなされる。
なお、図5の処理は、一般的にはスマートフォンやタブレット等の認証クライアント端末であるユーザ端末10上で実施される。但し、生成された認証テンプレートは、ユーザ端末10内のみに保管されてもよいし、認証サーバ30に送信され、別のユーザ端末10と共有されてもよい。
また、ステップS503~S504で生成されるハッシュテーブルは、同じものを認証時にも利用する必要があるため、認証テンプレートとともに認証サーバ30又はユーザ端末10内に保管されるか、同じハッシュテーブルの生成が可能なように乱数生成シードの値のみが認証テンプレートとともに認証サーバ30又はユーザ端末10内に保管されてもよい。
また、ステップS507~S508における第2特徴ベクトル生成処理(ハッシュテーブルの参照処理)、及びステップS509における第3特徴ベクトル生成処理において、下記の示す処理が実行されてもよい。
図15Aは、第3特徴ベクトル生成処理の別例を示す説明図である。図15A、前述したように、第2特徴ベクトルの各要素の値は、各ハッシュテーブルを参照して得られた最小のハッシュ値である。
第3特徴ベクトル生成部135は、第2特徴ベクトルの各要素について、最下位bitの値を取得する。また、ステップS502における各区間に予め重み(重みの最大値をwとする)が定められているものとする。
第3特徴ベクトル生成部135は、第2特徴ベクトルの各要素について、以下の処理を行う。第3特徴ベクトルは、当該要素についてハッシュ値が得られた区間の重み(以下xとする)を取得する。第3特徴ベクトル生成部135は、取得した最下位bitを下位x桁に並べ、さらに上位の桁をゼロパディングしてw桁のbit配列を生成し、第3特徴ベクトルの要素とする。
例えば、第2特徴ベクトルの先頭要素の値が“3”であれば、最下位bitは“1”である。先頭要素が最小ハッシュ値として得られた区間に対応する重みが“3”であり、重みの最大値が“8”である場合、第3特徴ベクトル生成部135は、下位3桁が1であり、上位の桁がゼロパディングされた“00000111”というbit配列を生成し、第3特徴ベクトルの先頭要素とする。
なお、最小ハッシュ値が得られた区間における第1特徴量の頻度に重みを掛けた数のハッシュテーブルを参照してもよい。図15Aの方式により、第3特徴ベクトルの表現サイズを重み(頻度)数分拡張することで、重み(頻度)を考慮した第3特徴ベクトルを生成することができる。
図15Bは、第2特徴ベクトル生成処理の別例を示す説明図である。ステップS502における各区間に予め重み(重みの最大値をwとする)が定められているものとする。前述した方式では、第2特徴ベクトル生成部134は、順次ハッシュテーブルを参照し、ハッシュテーブルを参照して得られた最小ハッシュ値それぞれを、第2特徴ベクトルの各要素としていた。
一方、図15Bの方式においては、例えば、第2特徴ベクトルの各要素の生成において、複数セットのハッシュテーブルが参照される。例えば、前述した方式で128個のハッシュテーブルが順次参照されるとすれば、図15Bの方式ではw個のハッシュテーブルが128セット必要である。
図15Bの方式において、第2特徴ベクトル生成部134は、各区間の重みを取得する。第2特徴ベクトル生成部134は、1セットのハッシュテーブルを取得する。第2特徴ベクトル生成部134は、各区間について、当該1セットのハッシュテーブルのうち、対応する重みに対応する数のハッシュテーブルを参照して得られたハッシュ値のうち、最小の値を各区間の最小ハッシュ値とする。第3特徴ベクトル生成部135は、各区間の最小ハッシュ値のうち、最小の値を第3特徴ベクトルの要素に決定する。
なお、最小ハッシュ値が得られた区間における第1特徴量の頻度に重みを掛けた数のハッシュテーブルを参照してもよい。図15Bの方式により、重み(頻度)の高い特徴量について、最小ハッシュ値が選ばれる可能性が高くなり、重み(頻度)を考慮した第3特徴ベクトルを生成することができる。
<本人認証処理>
図7は、本人認証の全体処理の一例を示すシーケンス図である。ここでは、ユーザ端末10のユーザが、業務サーバ20によるサービスを利用する際に、ユーザ端末10(例えば、スマートフォン等の携帯端末)により取得可能な個人を特定するための情報に基づき本人認証する例を説明する。
最初に、ユーザ端末10の登録認証要求部138は、本人認証を行うため、業務サーバ20に対して、サービス/アクセス要求を発行する(S701)。サービス/アクセス要求は、例えば、ユーザ端末10のユーザを識別するIDを含む。業務サーバ20は、サービス/アクセス許可のために、認証サーバ30に本人認証要求を発行する(S702)。
認証サーバ30の登録認証部332は、ユーザ端末10に対して、当該ユーザの認証テンプレートと、公開鍵暗号基盤で用いられる署名対象のチャレンジコードと、を送信して、本人認証要求を発行する(S703)。なお、ユーザ端末10が認証テンプレートを保持している場合には、登録認証部332は、ユーザ端末10を送信しなくてもよい。
ユーザ端末10は、本人認証処理を行い、ユニークコードを復元する(S704)。ステップS704における本人認証処理の詳細については、図8を用いて後述する。ユーザ端末10の登録認証要求部138は、復元したユニークコードを秘密鍵として用いて、受信したチャレンジコード812に対する署名を打つことで生成した署名データを認証サーバ30に返却する(S705)。
認証サーバ30の署名検証部331は、署名検証を行い(S706)、検証結果を業務サーバ20に送信する(S707)。業務サーバ20は、署名の検証結果が成功である場合、本人認証が成功したものとして、サービス/アクセス許可をユーザ端末10に通知し、署名の検証結果が失敗である場合、本人認証が失敗したものとして、サービス/アクセス拒否をユーザ端末10に通知する(S708)。
なお、ステップS705において、登録認証要求部138は、業務サーバ20に対して署名データを送信し、業務サーバ20が署名検証を直接行ってもよい。
図8は、ステップS704における本人認証処理の一例を示すフローチャートである。最初に、距離計算部137は、認証サーバ30から送信された又はユーザ端末10が保持する登録済みの認証テンプレートを取得する(S801)。
次に、第1特徴ベクトル生成部131は、を用いて、個人を特定するための特徴量(例えば、指紋、顔、静脈等の生体情報や、行動履歴(GPS、WiFi、基地局アクセス履歴等)情報)を抽出する(S802)。なお、ステップS802において、抽出される特徴量は、認証テンプレート生成の際に抽出された特徴量と同種である。
次に、ユーザ端末10は、ステップS802において抽出された特徴量から、第4特徴ベクトルを生成する(S803)。第4特徴ベクトルの生成処理については、図5の処理と同様であるため、説明を省略する。
最後に、距離計算部137は、登録済みの認証テンプレート中の第4特徴ベクトルと、認証時に生成される第4特徴ベクトルと、を用いて、各ベクトル要素の差の絶対値の最大値に基づき誤り訂正処理を行い、登録済みの認証テンプレート中の第4特徴ベクトルに埋め込まれた(即ち当該第4特徴ベクトルの生成に用いられた)ユニークコードの復元を行う(S804)。誤り訂正処理によるユニークコードの復元は、例えば、特開2013-123142号公報に記載された方法に基づいて行われる。
前述したように、復元されたユニークコードは、秘密鍵として用いられ、クライアント、サーバ間の公開鍵暗号基盤に基づく署名検証処理が実施され、オンライン認証が実施可能となる。以上の構成により、生体情報の復元が不可能で、かつ本人間距離及び他人間距離を近似的に保持したまま認証可能なテンプレートを用いた安全な認証を実施することができる。
なお、本実施例では認証テンプレートに第4特徴ベクトルを含めたが、第4特徴ベクトルの代わりに第3特徴ベクトルを認証テンプレートに含めてもよい。この場合、ステップS509で生成された第3特徴ベクトルにユニークコードを足したものが第3特徴ベクトルとされてもよいし、第3特徴ベクトルにユニークコードが足されていなくてもよい。
なお、第4特徴ベクトルの代わりに第3特徴ベクトルを認証テンプレートに含めることは、前述した例において、第4特徴ベクトルが、第3特徴ベクトルに恒等変換を施して得られたベクトル、又は恒等変換を施して得られたベクトルにユニークコードを足し合わせたベクトルであること、と同義である。
第4特徴ベクトルの代わりに第3特徴ベクトルを認証テンプレートに含められた場合には、本人認証処理においても第3特徴ベクトル間の距離を用いた認証が行われる。第3特徴ベクトルによっても、生体情報の復元が不可能で、本人間距離、及び他人間距離を近似的に保持したまま認証可能な認証テンプレートを実現することができる。但し、第4特徴ベクトルが認証テンプレートに用いられた場合の方が、生体情報の復元不可能性は向上する。
以下、本実施例では、実施例1における本人認証を適用した具体例として、指静脈パターンが個人を特定するための情報として用いられる例を説明する。なお、個人を特定するための情報が、顔認証、手のひら静脈、虹彩等の生体画像のような画像情報であれば、指静脈パターンに限らず本実施例の本人認証を適用することができる。本実施例では、例えばスマートフォンへのログインや決済において、スマートフォン等のカメラで撮影した生体画像に基づき本人認証が行われ、サービス利用時の本人認証を実現する。主に、実施例1との相違点を説明する。
<認証テンプレート生成処理>
図9は、本実施例の認証テンプレート生成処理の一例を示すフローチャートである。最初に第1特徴ベクトル生成部131は、汎用カメラや専用センサを用いて取得された、指静脈画像を取得する(S901)。次に、第1特徴ベクトル生成部131は、グレースケール画像である静脈画像を、例えば0、1、2の3値からなる3値画像に変換する(S902)。以下、3値画像のサイズは、高さh-pixel、幅w-pixelであるものとする。
次に、ハッシュテーブル生成部133は、ステップS503~S504と同様の方法で、複数のハッシュテーブルを生成する(S903)。このとき、3値画像の各ピクセルがステップS502における分割後の区間に相当し、h×w個の区間からなる。
また各区間の特徴量の頻度は、3値化された各画像のピクセル値に相当する。つまり3値画像の各ピクセル値からなるベクトルが、本実施例における第1特徴ベクトル(h×w次元)である。また、h×w個の各区間に対応する重みマスクが設定されている場合、「3値画像の各ピクセル値×重み」が各区間における特徴量の頻度に相当する。
図10Aのマトリクス1101は、3値画像の一例である。図10Bのマトリクス1102は、重みマスクの一例である。重みマスクは、例えば、補助記憶装置18に予め格納されている。
マトリクス1102は、3値画像の(高さ方向における)中段ピクセルにおけるピクセルに対応する重みが2であり、他のピクセルにおける重みより高いため、中段ピクセルが重要であることを表す。例えば、図16Bを用いて前述したハッシュテーブルの参照方法によれば、中段のピクセルについてハッシュテーブルの参照回数が多いため、中段ピクセルにおいて最小のハッシュ値が選択される可能性が高まる。
図9の説明に戻る。次に、第2特徴ベクトル生成部134は、3値画像の未生成のパターンのずらし画像を1つ生成する(S904)。以下のステップS905~S912までの処理は、直近のステップS904において生成されたずらし画像について行われる処理である。なお、3値画像のずらし画像のパターンとして、例えば、高さ方向と幅方向に所定サイズずつずらしたパターンがある。
具体的には、例えば、3値画像のずらし画像のパターンとして、3値画像を高さ方向に-2、0、又は+2ピクセルずつ、かつ幅方向に-4、-2、0、+2、又は+4ピクセルずつずらした全15パターン(3×5パターン)の3値画像がある。
図11は、ずらし画像における頻度決定処理の一例を示す説明図である。ずらし画像1201は、幅方向に+2ずらした(高さ方向にはずらされていない)3値画像である。ずらし画像1202は、幅方向に-2ずらした(高さ方向にはずらされていない)3値画像である。ずらすことによって生じる空白領域には、値0がセットされる。例えば、3値画像1203は、幅方向に+2ずらされたことにより空白となった左2列に値0がセットされた3値画像である。
図9の説明に戻る。第2特徴ベクトル生成部134は、未選択のハッシュテーブルのセット(重みと頻度の積の最大値数と同じ数のハッシュテーブルのセット)を選択する(S905)。第2特徴ベクトル生成部134は、直近のステップS904で生成したずらし画像のh×w個の区間それぞれのピクセル値を参照し(S906)、値が0ではないものについて、ハッシュテーブルの値を参照する。
第2特徴ベクトル生成部134は、ピクセル値が0以外の区間(ピクセル)それぞれについて、ハッシュテーブルを参照する(S907)。具体的には、第2特徴ベクトル生成部134は、例えば、ピクセル値が2(白ピクセルを表す)の区間それぞれについて、重みマスク(例えば、図10Bのマトリクス1102)を参照し、ステップS905で選択したハッシュテーブルのセットに含まれる、“当該区間の重み×2(白ピクセルのピクセル値)”と同数のハッシュテーブルの当該区間(ピクセル)のハッシュ値を参照する。
また、第2特徴ベクトル生成部134は、例えば、ピクセル値が1(灰色ピクセルを表す)の区間それぞれについて、重みマスクの使用、未使用をランダムに判定する。第2特徴ベクトル生成部134は、重みマスクを使用すると判定した場合、ステップS905で選択したハッシュテーブルに含まれる、“当該区間の重み×1(灰色ピクセルのピクセル値)”と同数のハッシュテーブルの当該区間(ピクセル)のハッシュ値を参照する。
第2特徴ベクトル生成部134は、重みマスクを使用しないと判定した場合、ステップS905で選択したハッシュテーブルに含まれる、1つのハッシュテーブルの当該区間(ピクセル)のハッシュ値を参照する。また、第2特徴ベクトル生成部134は、重みマスクを使用するか否かの選択を行わず、必ず“重み×1”と同数のハッシュテーブルを参照してもよい。
第2特徴ベクトル生成部134は、全区間のハッシュ値のうち、最小のハッシュ値を取得し、第2特徴ベクトルの要素に決定する(S908)。第2特徴ベクトル生成部134は、全てのハッシュテーブルを選択したか否かを判定する(S909)。
第2特徴ベクトル生成部134は、全てのハッシュテーブルを選択したと判定した場合(S909:Yes)、ステップS910に進む。第2特徴ベクトル生成部134は、未選択のハッシュテーブルがあると判定した場合(S909:No)、ステップS905に戻る。
次に、第2特徴ベクトル生成部134は、ステップS908で取得した最小ハッシュ値それぞれを要素とする第2特徴ベクトルを生成する(S910)。なお、ステップS904~S909までの一連の処理は、所定回数実行される。例えば、当該一連の処理がK回実行された場合、第2特徴ベクトルはK次元乱数ベクトルである。
次に、第3特徴ベクトル生成部135は、例えばステップS509と同様の方法で、第3特徴ベクトルを生成する(S911)。次に、第4特徴ベクトル生成部136は、例えばステップS510と同様の方法で、第4特徴ベクトルを生成する(S912)。
次に、第2特徴ベクトル生成部134は、全パターンのずらし画像を生成済みであるか否かを判定する(S913)。第2特徴ベクトル生成部134は、全パターンのずらし画像を生成済みであると判定した場合(S913:Yes)、認証テンプレート生成処理を終了する。第2特徴ベクトル生成部134は、未生成のずらし画像のパターンがあると判定した場合(S913:No)、ステップS904に戻る。
認証テンプレート生成処理が終了すると、前述したステップS403~S405において、ユーザ端末10は、生成した全ての第4特徴ベクトルを含む認証テンプレートを生成し、認証サーバ30に登録する。以上により、生体情報(指静脈パターン)の復元が不可能で、本人間距離、他人間距離を近似的に保持したまま認証可能な認証テンプレートを生成することができる。
特に、ずらし画像それぞれに対応する認証テンプレートが予め登録されているため、認証時における指静脈パターンの取得時に位置がずれた画像が取得された場合であっても、認証が可能となる。
なお、前述した例においては、3値画像の各ピクセル値が第1特徴ベクトルの要素であったが、3値画像における所定の大きさの画像領域(例えば、2ピクセル×2ピクセルからなる正方形領域)におけるピクセル値の平均や合計のような統計量等が第1特徴ベクトルの要素であってもよい。この場合、各画像領域がステップS502における分割後の区間に相当する。また、各画像領域のサイズが異なってもよい。
<本人認証処理>
本実施例の本人認証処理については、ステップS802で取得した照合対象の指静脈画像(照合画像とも呼ぶ)について、第2特徴ベクトルは予め定められたパターンのずらし画像を生成し、各ずらし画像について第4特徴ベクトルが生成される。第4特徴ベクトルの生成処理は、図9で説明した方法と同様である。
図12は、ずらし画像における頻度決定処理の一例を示す説明図である。画像1201は、照合画像の全体である。画像1202は、縦hピクセル、横mピクセルの固定サイズの領域を、高さ方向及び幅方向にずらして照合画像と重ね合わせた場合のずらし画像である。このとき、画像1202のうち照合画像と重ならずにはみ出した網掛け領域1211には、値0をセットする。例えば、3値画像1205は、高さhピクセル、幅wピクセルの領域1204を、高さ方向に+1、幅方向に+2ずらして、照合画像1203と重ね合わせることで、3値画像1204が得られることを示す。
なお、本人認証処理におけるずらし画像の全パターンは、認証テンプレート生成処理におけるずらし画像の全パターンと一致する(例えば、いずれも、高さ方向に-2、0、又は+2ピクセルずつ、かつ幅方向に-4、-2、0、+2、又は+4ピクセルずつ、ずらした全15パターン(3×5パターン))。
また、本人認証処理におけるずらし画像の全パターンは、認証テンプレート生成処理におけるずらし画像の全パターンの一部であってもよいし、認証テンプレート生成処理におけるずらし画像の全パターンを含んでもよい。
なお、認証テンプレートの生成時には、ずらし画像が生成されずに(即ちずらしていない元の画像のみから認証テンプレートが生成される)、本人認証処理時にのみずらし画像が生成されてもよい。
なお、距離計算部137は、各ずらし画像に対応する第4特徴ベクトルと、認証テンプレートに含まれる第4特徴ベクトルそれぞれと、を比較してユニークコードの復元を行う。なお、例えば、本人認証処理において生成された第4特徴ベクトルのうち、所定数以上(例えば1以上の)の第4特徴ベクトルによって、認証が成功であれば、本人認証が成功したものと判断される。
以上の構成により、生体情報(指静脈パターン)の復元が不可能で、本人間距離及び他人間距離を近似的に保持したまま認証可能な認証テンプレートを用いた認証が実行可能となる。
以下、実施例1における本人認証を適用した具体例として、ユーザの行動履歴(GPS情報による位置履歴)が「個人を特定するための情報」として用いられる例を説明する。主に、実施例1との相違点を説明する。
<認証テンプレート生成処理>
図13は、本実施例の認証テンプレート生成処理の一例を示すフローチャートである。最初に、第1特徴ベクトル生成部131は、読取装置14から一定期間の行動履歴(GPS、WiFi、又は基地局アクセス履歴等)情報を取得する(S1301)。
次に、特徴量離散化部132は、行動履歴を、当該行動を行った時間情報に従い、24時間を所定間隔の時間帯に分割する(S1302)。例えば、1時間単位で24時間が分割された場合、行動履歴の時系列が示す各時刻は、0時台、1時台、・・・、23時台のいずれかに属する。
なお、前述した例では、0時台、1時台、・・・、23時台というそれぞれ1時間の期間が24時間周期で繰り返されるよう時間が分割されているが、当該分割における期間及び周期の長さはこれに限定されない。具体的には、例えば、月曜日、火曜日、・・・、日曜日のように、それぞれ1日の期間が7日周期で繰り返されるよう時間が分割されてもよい。また、例えば、月曜日から金曜日までの5日間と、土曜日から日曜日までの2日間のように、時間を分割する際の期間の長さが異なってもよい。
次に、特徴量離散化部132は、行動履歴を、当該行動を起こした位置情報に従い、地図を所定の大きさの領域に分割する(S1303)。なお、各メッシュの大きさが異なってもよい。例えば、緯度方向及び経度方向の1km四方のメッシュ単位で地図が分割された場合、行動履歴の時系列が示す各位置は、当該メッシュ領域のいずれかに属する。
つまり、行動履歴が示す時系列の各点(時刻及び当該行動を起こした位置で定義される点)は、時空間分割された区間(即ちX時台のメッシュ領域Y)のいずれかに属する。次に、特徴量離散化部132は、ステップS1302~S1303において時空間分割された各区間にハッシュ値を付与するためのハッシュテーブルを生成する(S1304)。ハッシュテーブルの生成方法は、例えば、ステップS503と同様である。
図14Aは、時空間分割された区間における存否を示す特徴ベクトルの一例である。特徴ベクトル表現1401は、ある時間帯においてある位置にユーザがいたか(又は行動を起こしたか)否かを0、1で表す。値が“1”である区間は、ユーザがその時間帯、その場所にいたことを表す。
図14Bは、時空間分割された区間における頻度を示す第1特徴ベクトルの一例である。特徴ベクトル表現1402は、ある時間帯においてある位置にユーザがいた(又は行動を起こした)頻度を表す。特徴ベクトル表現1402は、例えば1週間の間にある領域に何度いたかの頻度を表す。
ステップS1305~S1311の処理は、それぞれステップS505~S511の処理と同様であるため、説明を省略する。
以上により、生体情報(ユーザの行動履歴)の復元が不可能で、本人間距離及び他人間距離を近似的に保持したまま認証可能な認証テンプレートを生成することができる。
<本人認証処理>
本実施例における本人認証処理は、図7の本人認証処理と同様である。但し、ステップS802において、個人を特定するための情報として、ステップS1301~S1303と同様の方法で、ユーザの行動領域を取得し、行動領域を時空間分割して離散化する点が異なる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
10 ユーザ端末、13 CPU、17 メモリ、18補助記憶装置、20 業務サーバ、30 認証サーバ、33 CPU、37 メモリ、38補助記憶装置、131 第1特徴ベクトル生成部、132 特徴量離散化部、133 第2特徴ベクトル生成部、134 第3特徴ベクトル生成部、135 第4特徴ベクトル生成部、136 距離計算部、181 ハッシュテーブルデータ、182 認証テンプレートデータ、331 署名検証部、381 ハッシュテーブルデータ、382 認証テンプレートデータ

Claims (10)

  1. 認証システムであって、
    プロセッサとメモリとを含み、
    前記メモリは、
    それぞれが1以上のハッシュテーブルからなる複数のハッシュテーブル集合と、
    登録対象者の特徴量から生成された登録特徴ベクトルを含む認証テンプレートと、を保持し、
    前記複数のハッシュテーブル集合に含まれる各ハッシュテーブルは、特徴量空間を分割して得られる区間それぞれの値に対してハッシュ値を与え、
    前記プロセッサは、
    認証処理を実行し、
    前記認証処理において、
    認証対象者の特徴量を取得し、
    前記区間それぞれにおける前記特徴量の頻度を示す第1認証特徴ベクトルを生成し、
    前記複数のハッシュテーブル集合それぞれについて、
    前記第1認証特徴ベクトルが示す0以外の頻度を有する各区間、に対応するハッシュ値を、当該ハッシュテーブル集合に含まれる少なくとも1つのハッシュテーブルから取得し、
    前記取得したハッシュ値のうち最小のハッシュ値を特定し、
    前記複数のハッシュテーブル集合それぞれについて特定した最小のハッシュ値から第2認証特徴ベクトルを生成し、
    前記第2認証特徴ベクトルの要素それぞれについて、下位の所定数ビットに基づいて2値のビット配列を生成し、前記生成したビット配列から第3認証特徴ベクトルを生成し、
    前記第3認証特徴ベクトルに対する所定の変換により得られる第4認証特徴ベクトルと、前記登録特徴ベクトルと、を比較して、前記認証対象者の認証を実行する、認証システム。
  2. 請求項1に記載の認証システムであって、
    前記所定の変換は恒等変換を含む、認証システム。
  3. 請求項1に記載の認証システムであって、
    前記所定の変換は、前記第3認証特徴ベクトルにランダムな値からなる射影行列を掛けることを含む、認証システム。
  4. 請求項3に記載の認証システムであって、
    前記登録特徴ベクトルは、前記登録対象者の特徴量から生成されたベクトルに前記登録対象者のユニークコードが足されたベクトルであり、
    前記メモリは、前記認証対象者のユニークコードを保持し、
    前記所定の変換は、前記第3認証特徴ベクトルにランダムな値からなる射影行列を掛けて得られた行列に、前記認証対象者のユニークコードを足すことを含み、
    前記認証対象者の認証において、
    前記第4認証特徴ベクトルと、前記登録特徴ベクトルと、を比較して、前記登録対象者のユニークコードを復元し、
    前記復元した前記登録対象者のユニークコードを秘密鍵として用いた署名を実施する、認証システム。
  5. 請求項1に記載の認証システムであって、
    前記プロセッサは、
    前記認証テンプレートの生成において、
    前記登録対象者の特徴量を取得し、
    前記区間それぞれにおける前記登録対象者の特徴量の頻度を示す第1登録特徴ベクトルを生成し、
    前記複数のハッシュテーブル集合それぞれについて、
    前記第1登録特徴ベクトルが示す0以外の頻度を有する各区間の頻度に対応するハッシュ値を、当該ハッシュテーブル集合に含まれる少なくとも1つのハッシュテーブルから取得し、
    前記取得したハッシュ値のうち最小のハッシュ値を特定し、
    前記複数のハッシュテーブル集合それぞれについて特定した最小のハッシュ値から第2登録特徴ベクトルを生成し、
    前記第2登録特徴ベクトルの要素それぞれについて、下位の所定数ビットに基づいて2値のビット配列を生成し、前記生成したビット配列から第3登録特徴ベクトルを生成し、
    前記第3登録特徴ベクトルに所定の変換を施して前記登録特徴ベクトルを生成し、
    前記認証テンプレートに前記生成した登録特徴ベクトルを含めて、前記メモリに格納する、認証システム。
  6. 請求項1に記載の認証システムであって、
    前記区間それぞれに重みが予め定められており、
    前記プロセッサは、
    前記複数のハッシュテーブル集合それぞれについて、
    前記第1認証特徴ベクトルが示す0以外の頻度を有する各区間に対応するハッシュ値を、当該ハッシュテーブル集合に含まれるハッシュテーブルであって、当該区間に対応する前記重みの数と同じ個数のハッシュテーブル、から取得する、認証システム。
  7. 請求項1に記載の認証システムであって、
    前記認証対象者の特徴量は、前記認証対象者の生体画像であり、
    前記特徴量空間の区間それぞれは、分割された生体画像の各画像領域であり、
    前記特徴量空間の区間における頻度は、前記画像領域に含まれるピクセルのピクセル値によって与えられる値であり、
    前記プロセッサは、
    前記認証対象者の生体画像の1以上のずらし画像を生成し、
    前記認証対象者の生体画像及び前記1以上のずらし画像それぞれに対して、前記認証処理を実行する、認証システム。
  8. 請求項7に記載の認証システムであって、
    前記プロセッサは、前記1以上のずらし画像それぞれの空白領域におけるピクセル値を0に決定する、認証システム。
  9. 請求項1に記載の認証システムであって、
    前記認証対象者の特徴量は、行動が発生した時刻と、当該行動が行われた位置と、を示す行動の時系列であり、
    前記特徴量空間の区間それぞれは、所定周期で繰り返される複数の期間と、分割された地図の領域と、によって分割された時空間であり、
    前記特徴量空間の区間における頻度は、当該区間に対応する時空間に含まれる行動の頻度である、認証システム。
  10. 認証システムによる認証方法であって、
    前記認証システムは、プロセッサとメモリとを含み、
    前記メモリは、
    それぞれが1以上のハッシュテーブルからなる複数のハッシュテーブル集合と、
    登録対象者の特徴量から生成された登録特徴ベクトルを含む認証テンプレートと、を保持し、
    前記複数のハッシュテーブル集合に含まれる各ハッシュテーブルは、特徴量空間を分割して得られる区間それぞれの値に対してハッシュ値を与え、
    前記認証方法は、
    前記プロセッサが、認証処理を実行し、
    前記認証処理において、
    前記プロセッサが、認証対象者の特徴量を取得し、
    前記プロセッサが、前記区間それぞれにおける前記特徴量の頻度を示す第1認証特徴ベクトルを生成し、
    前記複数のハッシュテーブル集合それぞれについて、
    前記プロセッサが、前記第1認証特徴ベクトルが示す0以外の頻度を有する各区間、に対応するハッシュ値を、当該ハッシュテーブル集合に含まれる少なくとも1つのハッシュテーブルから取得し、
    前記プロセッサが、前記取得したハッシュ値のうち最小のハッシュ値を特定し、
    前記プロセッサが、前記複数のハッシュテーブル集合それぞれについて特定した最小のハッシュ値から第2認証特徴ベクトルを生成し、
    前記プロセッサが、前記第2認証特徴ベクトルの要素それぞれについて、下位の所定数ビットに基づいて2値のビット配列を生成し、前記生成したビット配列から第3認証特徴ベクトルを生成し、
    前記プロセッサが、前記第3認証特徴ベクトルに対する所定の変換により得られる第4認証特徴ベクトルと、前記登録特徴ベクトルと、を比較して、前記認証対象者の認証を実行する、認証方法。
JP2018179967A 2018-09-26 2018-09-26 認証システム及び認証方法 Active JP7015767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018179967A JP7015767B2 (ja) 2018-09-26 2018-09-26 認証システム及び認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018179967A JP7015767B2 (ja) 2018-09-26 2018-09-26 認証システム及び認証方法

Publications (2)

Publication Number Publication Date
JP2020052605A JP2020052605A (ja) 2020-04-02
JP7015767B2 true JP7015767B2 (ja) 2022-02-03

Family

ID=69997229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018179967A Active JP7015767B2 (ja) 2018-09-26 2018-09-26 認証システム及び認証方法

Country Status (1)

Country Link
JP (1) JP7015767B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424873B1 (ko) * 2020-08-14 2022-07-22 세종대학교산학협력단 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153428A1 (en) 2005-01-12 2006-07-13 National University Corporation Gunma University Device for verifying individual, and method for verifying individual
WO2009153846A1 (ja) 2008-06-16 2009-12-23 三菱電機株式会社 認証システム、登録装置および認証装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153428A1 (en) 2005-01-12 2006-07-13 National University Corporation Gunma University Device for verifying individual, and method for verifying individual
WO2009153846A1 (ja) 2008-06-16 2009-12-23 三菱電機株式会社 認証システム、登録装置および認証装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柴田陽一,統計的AD変換による生体情報を用いたChallenge & Response型ネットワーク認証の提案,情報処理学会研究報告 Vol.2004 No.75 IPSJ SIG Technical Reports,日本,社団法人情報処理学会,2004年07月21日,第2004巻第75号,p.179-186

Also Published As

Publication number Publication date
JP2020052605A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
US10270600B2 (en) Secure revisioning auditing system for electronic document files
US10164952B2 (en) Method and system for server based secure auditing for revisioning of electronic document files
US11487969B2 (en) Apparatuses, computer program products, and computer-implemented methods for privacy-preserving federated learning
US9117068B1 (en) Password protection using pattern
US10333923B2 (en) Authentication based on visual memory
US20210165913A1 (en) Controlling access to de-identified data sets based on a risk of re- identification
US9195813B2 (en) Secure gesture
CN103902477A (zh) 3d云锁
KR102273093B1 (ko) 단말기 상에서 기밀 데이터를 입력하는 방법
KR101267229B1 (ko) 입력패턴을 이용한 인증 방법 및 시스템
JP7015767B2 (ja) 認証システム及び認証方法
KR102252861B1 (ko) 데이터 보안 시스템 및 그 방법
KR102594497B1 (ko) 오프라인 nft 매장에 방문한 사용자에게 nft 경험을 제공하기 위해 얼굴 인식 기반 사용자의 지갑 주소를 생성하는 방법 및 이를 수행하는 nft 시스템
US20200106602A1 (en) Blockchain system having multiple parity levels and multiple layers for improved data security
Yellamma et al. Privacy preserving biometric authentication and identification in cloud computing
CN116560863A (zh) 基于区块链的任务管理方法、装置和计算机设备
CN114444047A (zh) 基于虚拟现实的身份认证方法、装置、设备和存储介质
JP2019512787A (ja) 可変グリッドのインデックスを利用した入力認識方法およびシステム
JP2013167865A (ja) 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
CN115280309A (zh) 用于认证的方法、系统和计算机程序产品
Al-Rubaie Towards privacy-aware mobile-based continuous authentication systems
Naresh et al. Hyperledger blockchain enabled secure medical record management with deep learning-based diagnosis model
US12038957B1 (en) Apparatus and method for an online service provider
Bokareva Model of a document protection algorithm for a person based on biometric parameters
Ray et al. GPOD: an efficient and secure graphical password authentication system by fast object detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211223

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124