IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 徳山 真旭の特許一覧

特開2023-114431認証装置、認証支援方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023114431
(43)【公開日】2023-08-17
(54)【発明の名称】認証装置、認証支援方法、及びプログラム
(51)【国際特許分類】
   H04L 9/08 20060101AFI20230809BHJP
   H04L 9/32 20060101ALI20230809BHJP
【FI】
H04L9/08 Z
H04L9/32 100D
H04L9/08 B
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022195916
(22)【出願日】2022-12-07
(31)【優先権主張番号】P 2022016354
(32)【優先日】2022-02-04
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】512000857
【氏名又は名称】徳山 真旭
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100147924
【弁理士】
【氏名又は名称】美恵 英樹
(72)【発明者】
【氏名】徳山 真旭
(72)【発明者】
【氏名】謝 昊辰
(57)【要約】
【課題】ユーザが安定してサービスを受けることができる認証装置、認証支援方法、及びプログラムを提供する。
【解決手段】認証装置は、ユーザの特徴量と、ユーザにより決定されたリカバリーコードを取得し、入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する。そして、特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成し、補助情報をリカバリーコードで暗号化して外部装置へ登録する。
【選択図】図14
【特許請求の範囲】
【請求項1】
ユーザの特徴量を取得する特徴量取得手段と、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段と、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段と、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段と、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段と、
を備える認証装置。
【請求項2】
前記補助情報を前記外部装置から取得する補助情報取得手段と、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段と、
前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段と、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段と、
をさらに備える請求項1に記載の認証装置。
【請求項3】
前記リカバリーコードと同一の同一リカバリーコードの入力を受け付ける同一リカバリーコード受付手段をさらに備え、
前記原始鍵再生成手段は、
前記補助情報取得手段で取得した前記補助情報を、前記同一リカバリーコード受付手段で受け付けた前記同一リカバリーコードで復号化し、復号化した前記補助情報と、前記新特徴量と、に基づいて前記対応情報生成手段で生成した前記対応情報に、前記鍵導出関数を適用して前記原始鍵を再生成する、
請求項2に記載の認証装置。
【請求項4】
前記補助情報と前記新特徴量とを用いて前記対応情報生成手段で生成した前記対応情報に基づいて、新たな補助情報を生成する新補助情報生成手段と、
前記新たな補助情報を前記同一リカバリーコードまたは前記同一リカバリーコードとは異なる新たに取得したリカバリーコードで暗号化して外部装置へ登録することで前記補助情報を更新する補助情報更新手段と、
をさらに備える請求項2または3に記載の認証装置。
【請求項5】
認証装置により実行される認証支援方法であって、
ユーザの特徴量を取得する特徴量取得ステップと、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得ステップと、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成ステップと、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成ステップと、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録ステップと、
を備える認証支援方法。
【請求項6】
コンピュータを、
ユーザの特徴量を取得する特徴量取得手段、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置、認証支援方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザがオンラインで各種のサービスを使用する場合、不正使用を防止するために、サービスを使用するユーザが正当なユーザか否か、ユーザの認証が行われている。例えば、特許文献1には、生体情報それ自体を送受信することなく、かつ同一の生体情報から複数の特定情報を生成することで、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6946592号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示された技術では、例えば認証装置を紛失してしまった場合に、紛失前と同一の生体キーを生成できず、紛失前と同一の特定情報を生成することが困難である。すなわち、特定情報を生成するための鍵となる原始鍵を再生することができず、安定してサービスを受けることができるという観点からすると改善の余地があった。
【0005】
本発明は上述の課題を解決するものであり、ユーザが安定してサービスを受けることができる認証装置、認証支援方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達するため、本発明に係る認証装置は、
ユーザの特徴量を取得する特徴量取得手段と、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段と、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段と、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段と、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段と、
を備える。
【発明の効果】
【0007】
本発明に係る認証装置、認証支援方法、及びプログラムによれば、安定してサービスを受けることができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態に係る認証システムの構成を示す図である。
図2図1に示す認証装置の正面図である。
図3図1に示す認証装置のブロック図である。
図4図1に示す認証装置のハードウエア構成の一例を示す図である。
図5図1に示す認証装置の情報処理ブロックの図である。
図6A図1に示す認証装置で取得する生体情報を記憶するための認証用生体情報データベースのテーブルを示す図である。
図6B図1に示す認証装置で取得する振舞情報を記憶するための認証用振舞情報データベースのテーブルを示す図である。
図6C図1に示す認証装置の傾き情報テーブルを示す図である。
図7図1に示す情報処理装置のブロック図である。
図8図1に示す情報処理装置のハードウエア構成の一例を示す図である。
図9図1に示す情報処理装置の情報処理ブロックの図である。
図10図1に示す情報処理装置が記憶する対応情報一覧の一例を示す図である。
図11A】認証処理の一例を示すフローチャートである。
図11B】認証処理の一例を示すフローチャートである。
図12】判定指示処理の一例を示すフローチャートである。
図13】特定情報生成処理の一例を示すフローチャートである。
図14】原始鍵生成処理の一例を示すフローチャートである。
図15】判定開始指示処理の一例を示すフローチャートである。
図16】特定情報更新処理の一例を示すフローチャートである。
図17】原始鍵再生成処理の一例を示すフローチャートである。
図18】特定情報再生成処理の一例を示すフローチャートである。
図19】変形例における認証システムの構成を示す図である。
【発明を実施するための形態】
【0009】
以下に、本発明を実施するための形態に係る認証システム、認証装置、認証支援方法、及びプログラムについて、図面を参照して詳細に説明する。なお、図中同一または相当する部分には同一符号を付す。図1は、認証システム100の構成を示す図である。認証システム100は、図1に示すように、認証装置1と情報処理装置7と、を備えており、認証装置1がユーザの認証を行い、当該認証に成功した場合に、当該ユーザが正当であることを特定するための特定情報を生成する。この実施の形態では、図示するように、認証装置1と情報処理装置7とが、それぞれネットワーク2を介して、金融機関99(より具体的には金融機関99の端末)に接続可能である。そして、情報処理装置7が特定情報を用いて対象のユーザの正当性を判定し、当該ユーザを対象としたサービスを提供する。なお、この実施の形態では、正当性が認められたユーザに対して金融サービスが提供される場合を例に、以下説明する。
【0010】
なお、この実施の形態では、認証装置1がいわゆるスマートフォンやタブレット端末であり、情報処理装置7がパーソナルコンピュータやスマートフォンやタブレット端末である。また、理解を容易にするため、以下では、所謂ネットバンクにおける振込の金融サービスが行われる場合を例に説明する。なお、認証装置1と情報処理装置7とは、例えば無線LAN(Local Area Network)やWi-fi(登録商標)、Bluetooth(登録商標)などにより互いに通信可能に接続される。
【0011】
図2は、認証装置1の正面図である。図示する認証装置1は、いわゆるスマートフォンである。認証装置1は、正面にユーザの顔を撮影するインカメラ11Aと、スピーカ12Aと、通話用のマイクであるマイクロフォン12Bと、認証装置1の傾きを検出する傾き検出部13と、操作入力部14及び表示部19を兼ねるタッチパネルと、ユーザの指紋を検出する左指紋センサ15A及び右指紋センサ15Bと、認証装置1の現在位置を検出する位置検出部16とを備える。また、認証装置1は、背面に、ユーザから見た人間、風景、物体等を撮影することができるメインカメラ11Bを備える。
【0012】
ここで、以下では、インカメラ11Aとメインカメラ11Bとを総称して、撮影部11と称する。以下では、スピーカ12Aと、通話用のマイクであるマイクロフォン12Bとを総称して、音声入出力部12と称する。また、以下では、左指紋センサ15A及び右指紋センサ15Bを総称して、指紋検出部15と称する。
【0013】
図3は、認証装置1の構成を示すブロック図である。認証装置1は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16と、認証装置記憶部17と、認証装置制御部18と、表示部19とを備える。
【0014】
通信部10は、図示せぬ通信網を介して外部のサーバ、クラウド、情報処理装置7等と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN(Local Area Network)、Wi-fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0015】
撮影部11は、図2に示したインカメラ11Aとメインカメラ11Bとを含む。撮影部11には、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を用いたカメラ、ビデオカメラ等、静止画または動画を撮影し、撮影した静止画または動画を取得することが可能な各種カメラを用いることができる。
【0016】
音声入出力部12は、図2に示したスピーカ12Aと、マイクロフォン12Bとを含む。スピーカ12Aは、音声通話で受信した音声、通信網を介して外部から取得した音楽データ等を出力する。マイクロフォン12Bは、ユーザの音声をピックアップする装置である。
【0017】
傾き検出部13は、認証装置1の傾き、揺れ等を検出することができる装置である。傾き検出部13は、加速度センサ、角度センサ、地磁気を検出する磁気センサ等の認証装置1の傾きを検出できる各種センサを用いて構成することができる。なお、傾き検出部13を構成するセンサの個数及び種類は、単数又は複数のどちらでもよい。
【0018】
操作入力部14は、図2に示したユーザからの操作を入力することができる装置である。指紋検出部15は、ユーザの指紋を検出するセンサである。指紋検出部15は、図2に示した左指紋センサ15A及び右指紋センサ15Bを含む。なお、指紋検出部15には、指紋センサに限らず、ユーザの指紋を検出することができるセンサ、機器等であれば、いずれのものを用いてもよい。
【0019】
位置検出部16は、認証装置1の現在位置を検出することができる装置である。位置検出部16は、GPS(Global Positioning System)等の、認証装置1の現在位置を検出することができる機器を用いて構成することができる。
【0020】
認証装置記憶部17は、ユーザの認証処理を行うための認証処理プログラム170と、認証装置1で取得したユーザの生体情報をまとめた認証用生体情報データベース171と、認証装置1で取得したユーザの振舞情報をまとめた認証用振舞情報データベース172と、認証装置1の傾き状態を記憶するための傾き情報テーブル173と、サービスを提供する対象ユーザが正当であることを特定するための特定情報を生成する特定情報生成プログラム176と、を備える。また、認証装置記憶部17には、認証装置1で実行される各種アプリケーションのプログラムが記憶されている。
【0021】
認証処理プログラム170は、認証装置1で取得したユーザの生体情報及び振舞情報に基づいてユーザを認証する処理を行うプログラムである。認証用生体情報データベース171は、ユーザの生体情報に関する情報と認証に用いる認証値とを保存するためのデータベースである。
【0022】
認証用振舞情報データベース172は、認証装置1を操作する際のユーザ特有の振舞に関する情報、認証の合格条件等を保存するためのデータベースである。ここで、ユーザ特有の振舞とは、ユーザが認証装置1を操作する際の挙動、表示部19の画面とユーザの顔の距離、キーストローク、持ち方、認証装置1が使用される位置、特定の通信網への接続回数、特定のアプリケーションの起動、操作等、ユーザ固有のものをいう。
【0023】
傾き情報テーブル173は、傾き検出部13により検出された認証装置1の傾き角度と、取得日時、取得のための待機時間を記憶するためのテーブルである。特定情報生成プログラム176は、サービスを提供する対象ユーザが正当であることを特定するための特定情報を生成するプログラムである。
【0024】
なお、認証処理プログラム170と、認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173と、特定情報生成プログラム176とについては、その詳細を後述する。
【0025】
認証装置制御部18は、認証装置記憶部17に記憶された各種プログラムを実行する。また、認証装置制御部18は、通信部10と、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とから各種データを取得して処理し、認証装置記憶部17の各種データベース、テーブルに記憶する。また、認証装置制御部18は、撮影部11に撮影する指示を送信することで、任意のタイミングで撮影部11に撮影をさせることができる。
【0026】
表示部19は、認証装置制御部18で実行される各種プログラムの処理内容を表示する。また、表示部19は、撮影部11で撮影された静止画、動画等の画像、操作入力部14から入力されたデータ等を表示することもできる。表示部19は、操作入力部14上に積層されており、図2に示したタッチパネルを構成する。
【0027】
次に、認証装置1のハードウエア構成の一例を、図4を参照しつつ説明する。認証装置1は、各種プログラムを実行するプロセッサ21と、各種プログラムを展開するためのメモリ22と、各種表示用データを出力する表示コントローラ23と、各種表示用データを表示する表示機器24と、撮影部11、音声入出力部12等を接続するためのI/Oポート25と、各種プログラム及び各種データを記憶する記憶機器26と、外部と通信し各種データを送受信する通信機器27とを備える。このプロセッサ21と、メモリ22と、表示コントローラ23と、表示機器24と、I/Oポート25と、記憶機器26と、通信機器27とは、データバス28を介して相互に接続されている。
【0028】
プロセッサ21は、記憶機器26に記憶された各種プログラムを読み出してメモリ22に展開し、実行する。プロセッサ21は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)等の処理装置を用いて構成することができる。また、メモリ22は、RAM(Random Access Memory)、フラッシュメモリ等の揮発性または不揮発性の半導体メモリといった記憶素子および記憶媒体を用いて構成することができる。
【0029】
表示コントローラ23は、表示機器24に各種表示用データを出力するコントローラである。表示コントローラ23は、ビデオカード、GPU(Graphics Processing Unit)、グラフィックボード等の映像信号出力装置を用いて構成することができる。また、表示機器24は、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)モニタ等の表示装置を用いて構成することができる。
【0030】
I/Oポート25は、撮影部11と、音声入出力部12と、傾き検出部13と、操作入力部14と、指紋検出部15と、位置検出部16とを接続することができる接続用ポートである。I/Oポート25には、USB(Universal Serial Bus)ポート、IEEE1394ポート等、機器を接続可能な各種ポートを用いて構成することができる。
【0031】
記憶機器26は、プロセッサ21で実行する各種プログラム、各種プログラムで使用するための各種データを記憶する機器である。記憶機器26は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置を用いて構成することができる。
【0032】
通信機器27は、図1に示す情報処理装置7と通信し、各種データの送受信をするデータ通信部と、図示せぬ基地局との間で、電話通信用の無線信号を送受信する音声通信部とを含む。データ通信部は、無線LAN、Wi-fi(登録商標)、Bluetooth(登録商標)等を用いて構成することができる。また、音声通信部は、基地局との間で、電話通信用の無線信号を送受信する通信機器を用いて構成することができる。
【0033】
上述のプロセッサ21により、図3に示した認証装置1の認証装置記憶部17に記憶された認証処理プログラム170および特定情報生成プログラム176を実行することにより、認証装置制御部18に図5に示す情報処理ブロック(各機能部)が実現される。これにより、認証装置1は、ユーザ本人の顔の画像、指紋、声紋等の生体情報と、ユーザが認証装置1を操作する際の特有の挙動、操作状態等による振舞情報とに基づいてユーザ本人を認証するとともに、認証装置1における各種処理を実行することができる。
【0034】
プロセッサ21により実現される情報処理ブロックは、通信部10や撮影部11等から認証用の生体情報及び振舞情報を取得する認証用情報取得部181と、ユーザを本人か否か認証する認証部182と、表示部19に認証結果を表示させる表示処理部183と、認証部182からの指示により認証装置記憶部17に記憶された各種データベース及びテーブルの情報を更新する認証用情報更新部184と、図1に示した情報処理装置7と通信部10を介してデータを送受信するためのデータ送受信部185と、特定用情報のデータを生成する特定情報生成部186と、その他の各種処理を実行する処理部187である。
【0035】
認証用情報取得部181は、通信部10、撮影部11等から認証用の生体情報及び振舞情報を取得する。認証部182は、認証用情報取得部181から取得した認証用の生体情報及び振舞情報と、認証装置記憶部17の各種データベースに記憶された認証値、合格条件等に基づいて、ユーザの認証を行う。
【0036】
表示処理部183は、認証部182からユーザの認証結果を受信し、認証結果に応じたメッセージ、画像等を表示部19に表示させる。認証用情報更新部184は、認証部182からの指示に基づいて、認証装置記憶部17に記憶された各種データベース、テーブルに記憶されたデータを更新する。
【0037】
データ送受信部185は、図1に示す情報処理装置7と通信部10を介してデータを送受信する。特定情報生成部186は、サービスを提供する対象ユーザが正当であることを特定するための特定情報、すなわち振込処理を行うユーザが正当であることを特定するための特定情報を生成する。また、特定情報生成部186は、生成した特定情報を更新する機能を有している。処理部187は、認証部182において、認証装置1を使用するユーザが本人と認証された場合に、必要な各種処理を実行する。
【0038】
次に、認証装置記憶部17に記憶される認証用生体情報データベース171と、認証用振舞情報データベース172と、傾き情報テーブル173の各テーブルおよびデータの構成について、図6Aから図6Cを参照しつつ以下に説明する。まず、認証用生体情報データベース171のテーブルには、図6Aに示すように、顔、音声等の生体情報の種類と、ユーザ本人の生体情報である登録情報と、図5に示した認証用情報取得部181で取得した生体情報とを比較して求める認証値と、が記憶されている。
【0039】
認証用生体情報データベース171のテーブルに記憶されている登録情報は、ユーザ本人の生体情報である。登録情報は、認証装置1で認証処理を行う前に予め登録された情報であり、ユーザ本人を認証できた場合に更新される。登録情報には、例えば、生体情報の種類が顔であれば顔画像から求めた特徴量が、生体情報の種類が音声であれば音声データまたは音声データから求めた特徴量または音声データとその特徴量の両方が、生体情報の種類が虹彩であれば虹彩データが、生体情報の種類が指紋であれば指紋の画像から求めた特徴量が、それぞれ記憶されている。
【0040】
本実施の形態において、生体情報の類似の判定は、認証値により行われる。認証値は、登録情報と、図5に示した認証用情報取得部181で取得した生体情報とを比較した結果を基に求められる値である。認証値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に0に近づき、類似しない場合に1に近づく。認証用生体情報データベース171には、認証値の平均値と、認証値を判定するための閾値である認証閾値と、認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた認証許容値とが含まれる。
【0041】
まず、認証値の平均値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し求められた認証値の平均の値である。認証閾値は、登録情報と、認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値未満の場合、ユーザをユーザ本人と判定するための基準となる値である。
【0042】
認証閾値は、ユーザの認証の状況に合わせて変動する値であり、予め上限値が定められている。上限値は、認証値がその値以上となった場合、ユーザをユーザ本人と生体情報のみで認証すべきではないとされる値である。例えば、認証閾値のデフォルト値を、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と類似しない場合に近づく認証値1との間の0.4とする。この場合、認証閾値の上限値は、認証閾値のデフォルト値に、登録情報と生体情報とが類似する場合に近づく認証値0と、登録情報と生体情報とが類似しない場合に近づく認証値1との一割の半分である0.05を加えた値、すなわち、0.45とする。なお、認証閾値のデフォルト値や加算する値については、ユーザの年齢層や性別などのグループや個人毎に異なるようにしてもよい。
【0043】
また、認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とを比較し、比較した結果を基に求められた認証値が、この値以上の場合、ユーザをユーザ本人ではないと判定するための基準となる値である。認証許容値は、上述のとおり認証閾値にユーザがグレーな場合を示す認証許容範囲値を含めた値である。このため、認証許容値は、認証閾値と認証許容範囲値との変動に応じて、変動する値である。
【0044】
認証許容値には、予め上限値が定められており、これを最大認証許容値と呼ぶ。最大認証許容値は、認証値がこの値以上の場合、ユーザを他人と判断すべきとされる値である。例えば、最大認証許容値は、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との中間の0.5とする。
【0045】
認証閾値と認証許容値との間の値を認証許容範囲値という。認証許容範囲値は、ユーザがユーザ本人か否かグレーな場合を示す値である。認証値が認証許容範囲値内である場合、ユーザがユーザ本人か否かを生体情報だけで判断せず、ユーザ特有の振舞情報を含めて判断する。具体的には、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致している場合に、ユーザ本人と認証する。
【0046】
また、認証値が認証許容範囲値内である場合、ユーザ特有の振舞情報が合格条件に合致してない場合に、ユーザ本人と認証しないものとする。振舞情報によるユーザの認証を、以下では、補助認証と称する。認証許容範囲値は、この範囲に収まる認証値であればユーザ本人として概ね考えても良いと思われる値を、予め定めたものである。認証許容範囲値は、例えば、登録情報と認証用情報取得部181で取得した生体情報とが類似する場合に近づく認証値0と、類似しない場合に近づく認証値1との一割以下の0.08とする。
【0047】
なお、認証閾値が上限値になった場合、認証許容範囲値は、最大認証許容値から認証閾値の上限値を引いた値とする。例えば、認証閾値の上限値を0.45とし、最大認証許容値を0.5とした場合、認証許容範囲値は0.05となる。したがって、認証閾値が上限値になっている場合、認証許容範囲値の値は、認証閾値が上限値になっていない場合よりも小さな値をとる。
【0048】
次に、認証用振舞情報データベース172のテーブルについて、図6Bを参照しつつ、以下に説明する。認証用振舞情報データベース172のテーブルには、通信接続、イベント実行等のユーザの振舞の種類と、図5に示した認証用情報取得部181で取得した取得情報と、各振舞における最新状況と、各振舞の合格条件とが記憶されている。
【0049】
取得情報には、例えば、振舞の種類が通信接続であれば接続先のアドレス、SSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)等が、振舞の種類がイベント実行であれば予めスケジュール帳に保存されたイベントの行われる場所の名称、住所等の場所情報が、振舞の種類が顔と端末装置との距離であれば距離が、デバイス接続であれば接続先のデバイスを示す名称、ID(Identifier)等が、それぞれ記憶されている。
【0050】
各振舞における最新状況は、例えば、振舞の種類が通信接続であれば、取得情報に示された通信接続先にこれまで接続等された合計回数である。通信接続先への接続等の合計回数は、初期値が0であり、通信接続先への接続等により回数が加算されていく。また、振舞の種類がイベント実行であれば、取得情報に記憶されている場所とユーザの現在地との間の距離が記憶される。
【0051】
振舞の種類が、顔と認証装置1との距離であれば、それまでユーザがユーザ本人と認証された際に算出された顔と認証装置1との距離の平均距離が記憶される。顔と認証装置1との平均距離は、ユーザがユーザ本人と認証される度に更新される。なお、顔と認証装置1との平均距離の初期値は、図6Aに示した生体情報を、認証装置1でユーザ本人の認証を行う前に予め登録する際に求められた距離とする。
【0052】
また、振舞の種類がデバイス接続であれば、取得情報に記憶された名称、ID等が示すデバイスに接続されているか否かが記憶されている。デバイス接続は、例えば、Bluetooth(登録商標)によりペア設定されたデバイスと認証装置1との接続である。各振舞の合格条件は、各振舞の信頼性を担保できる条件を予め定めた条件である。
【0053】
次に、図6Cに示すのは、傾き情報テーブル173のテーブルである。傾き情報テーブル173は、図5に示した傾き検出部13から取得された認証装置1の傾きを示す角度と、その角度を取得した取得日時、傾きを検出するめのインターバルとなる待機時間とを記憶している。認証装置1の傾きを示す角度は、待機時間が経過する毎に図5に示した認証用情報取得部181により傾き検出部13から取得され、更新される。また、その角度を更新する際、角度を取得した取得日時も更新される。
【0054】
続いて情報処理装置7の構成について説明する。情報処理装置7は、認証装置1で生成された特定情報に基づいて、サービスの提供対象のユーザを特定し、特定したユーザに対しサービスを提供する端末である。上述したように、この実施の形態における情報処理装置7は、特定情報に基づいて対象のユーザの正当性を判定し、正当性が認められたユーザに対して金融サービスを提供する(振込の実行を金融機関99に指示する)。図7は、情報処理装置7の構成を示すブロック図である。情報処理装置7は、上述したように、パーソナルコンピュータやスマートフォンやタブレット端末であり、通信部70と、音声入出力部72と、操作入力部73と、情報処理装置記憶部77と、情報処理装置制御部78と、表示部79とを備える。なお、認証装置1と同様に、傾き検出部13、指紋検出部15、および位置検出部16をさらに備えていてもよい。
【0055】
情報処理装置7における通信部70、音声入出力部72、操作入力部73については認証装置1における通信部10、音声入出力部12、操作入力部14と同様であるため、説明を省略する。
【0056】
情報処理装置記憶部77は、対象のユーザの正当性を判定するためのプログラム770と、特定情報と認証装置の公開鍵とを紐付けた対応情報一覧771と、を備える。また、情報処理装置記憶部77には、情報処理装置7で実行される各種アプリケーションのプログラムが記憶されている。
【0057】
情報処理装置制御部78は、情報処理装置記憶部77に記憶された各種プログラム(プログラム770を含む)を実行する。また、情報処理装置制御部78は、通信部70と、音声入出力部72と、操作入力部73とから各種データを取得して処理し、情報処理装置記憶部77の各種データベース、テーブル等に記憶する。
【0058】
表示部79は、情報処理装置制御部78で実行される各種プログラムの処理内容を表示する。また、表示部79は、操作入力部73から入力されたデータ等を表示することもできる。なお、情報処理装置7がスマートフォンやタブレット端末である場合、当該表示部79は、操作入力部73上に積層され、タッチパネルを構成すればよい。
【0059】
次に、情報処理装置7のハードウエア構成の一例を、図8を参照しつつ説明する。情報処理装置7は、認証装置1と同様に、各種プログラムを実行するプロセッサ81と、各種プログラムを展開するためのメモリ82と、各種表示用データを出力する表示コントローラ83と、各種表示用データを表示する表示機器84と、音声入出力部72等を接続するためのI/Oポート85と、各種プログラム及び各種データを記憶する記憶機器86と、外部と通信し各種データを送受信する通信機器87とを備える。このプロセッサ81と、メモリ82と、表示コントローラ83と、表示機器84と、I/Oポート85と、記憶機器86と、通信機器87とは、データバス88を介して相互に接続されている。なお、プロセッサ81、メモリ82、表示コントローラ83、表示機器84、I/Oポート85、記憶機器86、通信機器87、およびデータバス88については、認証装置1におけるプロセッサ21、メモリ22、表示コントローラ23、表示機器24、I/Oポート25、記憶機器26、通信機器27、およびデータバス28と同様であるため、説明を省略する。
【0060】
プロセッサ81により、図7に示した情報処理装置7の情報処理装置記憶部77に記憶されたプログラム770を実行することにより、情報処理装置制御部78に図9に示す情報処理ブロック(各機能部)が実現される。これにより、情報処理装置7は、対象のユーザの正当性を判定し、正当性が認められたユーザに対する金融サービスの提供を、金融機関99に指示することができる。
【0061】
プロセッサ21により実現される情報処理ブロックは、通信部10等から判定用の情報を取得する判定用情報取得部781と、ユーザの正当性を判定する判定部782と、表示部79に判定結果を表示させる表示処理部783と、図1に示した金融機関99や認証装置1と通信部70を介してデータを送受信するためのデータ送受信部785と、その他の各種処理を実行する処理部787である。
【0062】
判定用情報取得部781は、通信部10等から判定用の判定用情報を取得する。判定部782は、判定用情報取得部781から取得した判定用情報に基づいて、ユーザの正当性を判定する。
【0063】
具体的に、判定用情報取得部781は、通信部10を介して認証装置1から特定情報と認証装置の公開鍵を取得する。なお、認証装置の公開鍵は、操作入力部73に対する操作により入力されてもよい。この他にも、音声入出力部72から入力されてもよい。判定部782は、判定用情報取得部781で取得した特定情報および認証装置の公開鍵に基づいて、情報処理装置記憶部77の対応情報一覧771から対象のユーザを特定するとともに、当該ユーザの正当性を判定する。また、判定部782は、処理部787と協働して、更新された特定情報を更新する。具体的に、情報処理装置記憶部77の対応情報一覧771に記憶された特定情報を新たな特定情報に更新する。
【0064】
表示処理部783は、判定部782の判定結果や処理部787の処理結果に応じたメッセージ、画像等を表示部79に表示させる。なお、この他にも、例えばユーザの正当性が認められない場合については、合わせて音声入出力部72から音声を出力するようにしてもよい。
【0065】
データ送受信部785は、図1に示した金融機関99や認証装置1に対し通信部70を介してデータを送受信する。処理部787は、判定部782における判定結果に基づいて金融機関99へのサービス提供指示を作成する処理や、その他の各種処理を実行する。
【0066】
次に、情報処理装置記憶部77に記憶される対応情報一覧771のデータの構成について、図10を参照しつつ説明する。図10に示す対応情報一覧771は、後述するステップS218の処理(図13参照)にて情報処理装置記憶部77に記憶される。図示するように、対応情報一覧771は、特定情報と認証装置の公開鍵とが紐付いている。そのため、対応情報一覧771は、情報処理装置7の側において、いずれの特定情報のユーザがサービス提供の対象者であるかが特定可能な情報となっている。なお、この実施の形態では、提供されるサービス毎に、後述する特定情報生成処理(図13参照)が実行されるため、特定情報および認証装置の公開鍵は、サービス毎に生成されることとなる。そのため、同一ユーザであっても、サービス毎に異なる特定情報および認証装置の公開鍵が、対応情報一覧771に登録される。したがって、複数のサービスを利用するユーザについて、共通した情報が登録されることがなく、同一ユーザであることを情報処理装置7の側において認識されてしまうことを防止できる。また、これとは異なり、例えば、特定情報については、サービス毎に異なるものとする一方で、認証装置の公開鍵は、複数のサービスに共通して利用可能としてもよい。具体的には、後述する特定情報更新処理(図16参照)により、サービス毎に異なる特定情報とすればよい(図16に示すステップS413の処理にて新たに登録すればよい)。これによれば、サービス毎に共通した認証装置の公開鍵を使用できる一方で、特定情報についてはサービス毎に異なるため、処理負担を軽減しつつセキュリティを確保することができる。また、図示する対応情報一覧771は、特定情報と認証装置の公開鍵とが紐付いている例を示したが、これに加え、後述するステップS208Aの処理(図13参照)で生成した共通鍵SKが合わせて紐付いていてもよい。また、これとは異なり、対応情報一覧771には認証装置の公開鍵のみ登録されていてもよい。
【0067】
以上が、認証システム100における認証装置1と情報処理装置7の構成である。続いて認証装置1と情報処理装置7の動作について、図11A図18を参照して説明する。なお、この実施の形態では、上述したように、所謂ネットバンクにおける振込の金融サービスが行われる場合を例に説明する。
【0068】
まず、認証装置1における認証処理においてユーザの認証が行われる。そして判定指示処理が実行されることで、特定情報が生成され、生成された特定情報を情報処理装置7に送信することで、情報処理装置7の側においてユーザの正当性の判定がさらに判定される。なお、情報処理装置7の側においてユーザの正当性が認められると、当該情報処理装置7から金融機関99に対し振込の指示が送信され、振込処理が行われる。当該認証装置1における認証処理は、バックグラウンドで行われる処理である。また、認証装置1から情報処理装置7には、金融機関99から発行されたログインIDやパスワードといったログイン情報も送信され、情報処理装置7から金融機関99へも、振込の指示と合わせてログイン情報が送信されることとなる。そのため、この実施の形態では、情報処理装置7から振込の指示を受信したこと、および、情報処理装置7から受信したログイン情報が正当であることをもって振込の処理が行われることとなる。なお、当該情報処理装置7においてログイン情報の正当性も判定するようにしてもよい。また、この実施の形態ではバックグラウンドでユーザの認証が行われる例を示しているが、ユーザの認証については、バックグラウンドで行われるものに限られない。なお、ユーザの認証に成功することにより、第1の条件が成立することとなる。
【0069】
まず、認証処理について、図11Aおよび図11Bを参照して説明する。認証装置1は、電源投入後のイニシャライズ処理の実行が完了すると、もしくは、スリープ状態から復帰すると、認証が成功するまで各機能の操作を許さないロック状態に入る。このロック状態に入る、若しくは、各機能の操作を行う際に認証が要求されると、図3に示した認証装置制御部18が、認証装置記憶部17に記憶された認証処理プログラム170を実行し、ユーザがユーザ本人か否かを判別する認証処理を開始する。なお、この例では、生体情報としてユーザの顔画像を用いるものとするが、生体情報は、顔画像に限られず、指紋、声紋、虹彩等であってもよく、また、これらの組み合わせであってもよい。また、例えば、金融サービスのアプリケーションが実行された場合に認証処理が開始されてもよく、当該アプリケーションの起動中は認証処理が継続して行われるようにしてもよい。この実施の形態では、理解を容易にするため、金融サービスを所望するユーザが金融サービスのアプリケーション(所謂ネットバンクのアプリケーション)の起動とともに認証処理が開始され、当該アプリケーションが起動されている間(起動されてから終了させるまでの期間)は、認証処理がバックグラウンドで繰り返し実行されるものとして以下説明する。
【0070】
認証処理を開始すると、図5に示した認証用情報取得部181は、撮影部11に認証装置1を操作しているユーザの顔写真を撮影させる。具体的に、認証用情報取得部181は、認証装置1の正面に向き合っているユーザの顔写真を、インカメラ11Aで撮影させる。これにより、認証用情報取得部181は、撮影部11から撮影したユーザの顔写真を取得する(ステップS101)。
【0071】
続いて認証用情報取得部181は、取得したユーザの顔写真がブレていないか判定する(ステップS102)。ユーザの顔写真がブレていた場合(ステップS102;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。また、ユーザの顔写真がブレていなかった場合(ステップS102;YES)、認証用情報取得部181は、撮影部11に撮影させたユーザの顔写真からユーザの顔が検出できるか判定する(ステップS104)。
【0072】
ユーザの顔写真からユーザの顔が検出できない場合(ステップS104;NO)、認証用情報取得部181は、撮影部11にユーザの顔写真の撮影をリトライさせる(ステップS103)。なお、ユーザの顔写真からユーザの顔が検出できない場合、今操作しているユーザにこれ以上操作をさせないようにロックをかける、他の認証方法を利用する旨のメッセージを表示する等をしてもよい。また、ユーザの顔写真からユーザの顔が検出できた場合(ステップS104;YES)、認証用情報取得部181は、検出したユーザの顔の画像の特徴量を求める。認証用情報取得部181は、求めたユーザの顔の画像の特徴量を認証部182に送信する。
【0073】
認証部182は、図3に示した認証装置記憶部17に記憶されている認証用生体情報データベース171を取得する。認証部182は、図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた登録情報に記憶された顔画像の特徴量と、認証値の認証許容値及び認証閾値を取得する。認証部182は、認証用生体情報データベース171から取得した登録情報の顔画像の特徴量と、認証用情報取得部181から受信した顔画像の特徴量とを比較し、比較の結果を基に顔の認証値を求める。認証部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証閾値以上か否かを判定する(ステップS105)。
【0074】
求めた顔の認証値が認証閾値以上の場合(ステップS105;YES)、認証部182は、求めた顔の認証値が認証用生体情報データベース171から取得した認証許容値以下か否かを判定する(ステップS106)。求めた顔の認証値が認証許容値以下の場合(ステップS106;YES)、認証装置1を使用しているユーザがユーザ本人か否かグレーであるため、認証部182は振舞情報による認証である補助認証を実行する。まず、認証部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。
【0075】
続いて、認証部182は、図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証部182は図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。例えば、図6Bに示すように、「通信接続」の取得情報にはSSIDであるABC_WLANと123WLANとが記憶されている。このABC_WLANでは、接続した回数に31回、合格条件として接続回数が100回以上と記憶されている。また、123WLANでは、接続した回数に157回、合格条件として接続回数が100回以上と記憶されている。なお、以下では合格条件を満たす場合を信頼するものと呼び、合格条件を満たさない場合を信頼しないものと呼ぶ。
【0076】
認証部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先であるか否か判定する(ステップS107)。ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS107;NO)、信頼するイベントを実行しているか否かを判定する(ステップS108)。
【0077】
認証部182は、認証用情報取得部181に操作入力部14から直前に実行したイベントの内容を取得させる。認証部182は、認証装置1に備えられたカレンダーから現在の日時に予定があるか否かと、その予定が行われる場所の情報とを取得する。認証部182は、その日に予定が無かった場合、信頼するイベントの実行ではないものとし(ステップS108;NO)、顔と認証装置1との距離を算出する(ステップS109)。また、その日に予定があった場合、認証部182は、認証用情報取得部181に位置検出部16から、現在の位置情報を取得させる。続いて、認証部182は、図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。
【0078】
認証部182は、図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち、「イベント実行」に対応つけられた取得情報と合格条件とを取得する。例えば、図6B示すように、「イベント実行」の取得情報にはイベントが行われる場所として「○×公園」及び「△●映画館」が記憶され、その両方の合格条件として「距離が100m以内」と記憶されているものとする。
【0079】
ここで、例えば、認証装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「○×公園」が記憶されているものとする。認証部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「○×公園」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「○×公園」の位置情報との間の距離が113mとする。この場合、信頼するイベントの実行ではないものとし(ステップS108;NO)、顔と認証装置1との距離を算出する(ステップS109)。ユーザの顔と認証装置1との距離は、図2に示したインカメラ11Aで撮影した認証装置1の正面に向き合うユーザの顔写真における、ユーザの顔の占める割合に基づいて算出する。
【0080】
続いて、認証部182は、図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証部182は、図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「顔と端末装置との距離」に対応つけられた平均距離、合格条件を取得する。例えば、図6Bに示すように、「顔と端末装置との距離」の平均距離には262mm、合格条件に平均距離のプラスマイナス20mm以内と記憶されている。
【0081】
認証部182は、ステップS109で算出したユーザの顔と認証装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS110)。具体的には、認証用振舞情報データベース172から取得した平均距離は262mm、合格条件は、平均距離のプラスマイナス20mm以内であるので、242mmから282mmの範囲か否かを判定する。
【0082】
ステップS109で算出したユーザの顔と認証装置1との距離が、242mmから282mmの範囲である場合(ステップS110;YES)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証する。認証部182は、認証用情報更新部184に、図2に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0083】
具体的には、認証用情報更新部184は、図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量に認証部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。続いて、認証用情報更新部184は、図6Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた最新状況に記憶されている回数に1を加え、更新する。また、認証用情報更新部184は、図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、記憶されている平均距離とステップS109で算出された「顔と端末装置との距離」とから求めた平均距離で更新する。
【0084】
このように、認証用生体情報データベース171に記憶された生体情報、及び、認証用振舞情報データベース172に記憶された振舞情報を更新することにより、ユーザの生体情報及び振舞情報の精度が向上する。このため、ユーザの認証の精度を向上させることができる。
【0085】
また、認証部182により求められた顔の認証値が、認証値の認証閾値以上でない場合(ステップS105;NO)、認証部182は、認証用情報取得部181に通信部10から現在接続している通信接続先を取得させる。認証部182は、認証用情報取得部181から、取得させた通信部10の現在の通信接続先を受信する。続いて、認証部182は、図2に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証部182は、図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類のうち「通信接続」に対応つけられた取得情報、回数、合格条件を取得する。認証部182は、認証用情報取得部181から受信した通信部10の現在の通信接続先と、認証用振舞情報データベース172から取得した取得情報とを比較し、現在の通信接続先が信頼する接続先か否か判定する(ステップS112)。
【0086】
ここで、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が157回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS112;YES)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証する。その後、認証部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。これは、現在の通信接続先が信頼する通信接続先であれば、ユーザ本人は自宅、職場等の信頼する環境に居るものと考えられるためである。この場合、認証間隔を現在の認証間隔よりも長くし、認証の頻度を下げ必要最低限の回数認証を行うようにすれば良い。
【0087】
ここで、例えば、通信部10の現在の通信接続先としてSSIDのABC_WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報におけるABC_WLANは、接続した回数が31回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先ではないため(ステップS112;NO)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証せず、認証間隔を現在の認証間隔よりも長くしない。
【0088】
ここで、ステップS107において、例えば、通信部10の現在の通信接続先としてSSIDの123WLANが取得されているものとする。認証用振舞情報データベース172に記憶された振舞の種類「通信接続」の取得情報における123WLANは、接続した回数が157回であり、合格条件の接続回数が100回以上である。このため、現在の通信接続先は信頼する通信接続先であるため(ステップS107;YES)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証する。
【0089】
また、ここで、ステップS108において、例えば、認証装置1に備えられたカレンダーに、現在の日時に行われるイベントの場所として「△●映画館」が記憶されているものとする。認証部182は、認証用情報取得部181に位置検出部16から取得させた現在の位置情報と、現在の日時に行われるイベントの場所である「△●映画館」の位置情報とを比較する。例えば、現在の位置情報と、イベントの場所である「△●映画館」の位置情報との間の距離が72mとする。この場合、信頼するイベントの実行であるもとのし(ステップS108;YES)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証する。
【0090】
認証部182は、認証間隔を現在の認証間隔よりも長くする(ステップS113)。認証部182は、ユーザの顔と認証装置1との距離を算出する(ステップS114)。続いて、認証部182は、図3に示した認証装置記憶部17から認証用振舞情報データベース172を取得する。認証部182は、ステップS114で算出したユーザの顔と認証装置1との距離が、認証用振舞情報データベース172から取得した合格条件に設定された設定範囲内か否か判定する(ステップS115)。ステップS114で算出したユーザの顔と認証装置1との距離が、設定範囲である場合(ステップS115;YES)、認証部182は、認証装置1を使用しているユーザをユーザ本人と認証する。認証部182は、認証用情報更新部184に、図3に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させる(ステップS111)。
【0091】
具体的には、認証用情報更新部184は、図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報を、登録情報に記憶されていた顔画像の特徴量にステップS105で認証部182が認証用情報取得部181から受信した顔画像の特徴量を加え、更新する。
【0092】
続いて、認証用情報更新部184は、図6Bに示した認証用振舞情報データベース172のテーブルの振舞の種類「通信接続」に対応つけられた、最新状況に記憶されている回数に1を加え、更新する。続いて、認証用情報更新部184は、認証用振舞情報データベース172のテーブルの振舞の種類「イベント実行」に対応つけられた最新状況を、ステップS108;YESで求めたイベントの場所と認証装置1との間の距離を書き込み、更新する。また、認証用情報更新部184は、図6Bに示した認証用振舞情報データベース172のテーブルに記憶されている振舞の種類「顔と端末装置との距離」に対応つけられた最新状況を、最新状況に記憶されている平均距離とステップS114で算出された「顔と端末装置との距離」とから求められた平均距離で更新する。
【0093】
ステップS114で算出したユーザの顔と認証装置1との距離が、設定範囲でない場合(ステップS115;NO)、認証部182は、認証用情報更新部184に、図3に示した認証用生体情報データベース171及び認証用振舞情報データベース172に記憶された各種データを更新させない。
【0094】
また、認証部182により求められた顔の認証値が、認証値の認証許容値以下でない場合(ステップS106;NO)、及び、ステップS110で顔と端末装置との距離が設定範囲内でなかった場合(ステップS110;NO)、認証部182は、認証装置1を使用しているユーザをユーザ本人ではないと判断する。認証部182は、図5に示した表示処理部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証部182は、認証装置1に備えられている既存の生体認証手段を呼び出す。ここでは、既存の生体認証手段として指紋認証を呼び出すものとする。認証部182は、指紋認証を実行する(ステップS116)。
【0095】
指紋認証ができた場合(ステップS117;YES)、認証部182からの指示により、認証用情報取得部181は、撮影部11に認証装置1を操作しているユーザの顔写真を撮影させる。認証用情報取得部181は、撮影部11から撮影したユーザの顔写真の画像を取得し、ユーザの顔の画像の特徴量を求める。認証用情報取得部181は、認証部182に求めたユーザの顔の画像の特徴量を送信する。認証部182は、受信したユーザの顔の画像の特徴量を図5に示した認証用情報更新部184に送信する。認証用情報更新部184は、受信したユーザの顔の画像の特徴量を、図6Aに示した認証用生体情報データベース171のテーブルの生体情報の種類「顔」に対応つけられた登録情報に記憶されていた顔画像の特徴量に加え、更新する(ステップS118)。認証部182は、ステップS101へ戻り、ステップS101以降のステップを実行する。
【0096】
また、指紋認証ができなかった場合(ステップS117;NO)、認証部182は、図5に示した表示処理部183に、表示部19へ認証できなかった旨を表示させる。続いて、認証部182は、図5に示した表示処理部183にログイン画面を表示部19に表示させる(ステップS119)。
【0097】
ここで、図11Bに移動する。認証部182は、生体認証及び補助認証が予め定められた設定回数成功したか否かを判定する(ステップS120)。この設定回数は、例えば、連続で10回、認証装置1が起動してから合計で20回等、任意の回数である。生体認証及び補助認証が予め定められた設定回数成功した場合(ステップS120;YES)、認証部182は、設定回数分の認証で求められた顔の認証値の平均値を求める(ステップS121)。具体的には、認証部182は、図3に示した認証用生体情報データベース171を、認証装置記憶部17から取得する。認証部182は、図6Aに示した認証用生体情報データベース171のテーブルから、生体情報の種類のうち「顔」に対応付けられた認証値の平均値を取得する。認証部182は、ステップS105で求めた顔の認証値と、認証用生体情報データベース171から取得した認証値の平均値とを足して2で割り、顔の認証値の平均値を算出する。また、生体認証及び補助認証が予め定められた設定回数成功しなかった場合(ステップS120;NO)、ステップS121からステップS123の処理をスキップし、ステップS124へ進む。
【0098】
認証部182は、ステップS121で求めた顔の認証値の平均値を、認証用情報更新部184に送信する。認証用情報更新部184は、受信した顔の認証値の平均値と、予め設定された認証閾値の上限値とを比較する。顔の認証値の平均値が予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、認証閾値の上限値を書き込み、更新する。また、顔の認証値の平均値が予め設定された認証閾値の上限値以下である場合、認証用情報更新部184は、図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証閾値に、ステップS121で求めた顔の認証値の平均値を書き込み、更新する(ステップS122)。
【0099】
続いて、認証用情報更新部184は、認証許容値を更新する(ステップS123)。具体的には、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以上である場合、認証用情報更新部184は、予め設定された最大認証許容値を認証許容値とする。また、ステップS121で求めた顔の認証値の平均値が、予め設定された認証閾値の上限値以下である場合、ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以下であれば、その足した値を認証許容値とする。
【0100】
ステップS121で求めた顔の認証値の平均値とデフォルトの認証許容範囲値とを足した値が最大認証許容値以上であれば、最大認証許容値を認証許容値とする。認証用情報更新部184は、図3に示した認証用生体情報データベース171を、認証装置記憶部17から取得する。認証用情報更新部184は、図6Aに示した認証用生体情報データベース171のテーブルの、生体情報の種類のうち「顔」に対応付けられた認証許容値に、求めた認証許容値を書き込み、更新する。
【0101】
図5に示した認証用情報取得部181は、傾き検出部13から認証装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS124)。認証用情報取得部181は、取得した認証装置1の傾きの角度と現在の日時情報とを認証部182に送信する。認証部182は、受信した認証装置1の傾きの角度と現在の日時情報とを、認証用情報更新部184に送信する。認証用情報更新部184は、図3に示した認証装置記憶部17に記憶された傾き情報テーブル173に、受信した認証装置1の傾きの角度と現在の日時情報とを書き込み、保存する(ステップS125)。
【0102】
認証部182は、図6Cに示した傾き情報テーブル173のテーブルに記憶されている待機時間を取得する。認証部182は、認証用情報取得部181に取得した待機時間を送信する。認証用情報取得部181は、受信した待機時間の間、通信部10、撮影部11等からのデータの取得を待機する(ステップS126)。待機時間が終了すると、認証用情報取得部181は、傾き検出部13から認証装置1の傾きの角度を取得する。続いて、認証用情報取得部181は、図示しないタイマから現在の日時情報を取得する(ステップS127)。認証用情報取得部181は、取得した認証装置1の傾きの角度と現在の日時情報とを認証部182に送信する。
【0103】
認証部182は、図6Cに示した傾き情報テーブル173のテーブルに記憶されている認証装置1の角度を取得する。認証部182は、認証用情報取得部181から受信した認証装置1の傾きの角度と、傾き情報テーブル173から取得した認証装置1の角度とを比較し、角度が変化してないか否かを判定する(ステップS128)。認証装置1の角度の変化が、予め定められた設定値の角度、例えば、30度以上の場合(ステップS128;NO)、認証部182は、ユーザにより認証装置1が動かされ何某かの操作が行われたものと判断し、図11Aに示したステップS101に戻る。その後、認証部182は、ステップS101以降の処理を実行する。
【0104】
また、認証装置1の角度の変化が、予め定められた設定値の角度以下の場合(ステップS128;YES)、認証部182は、ユーザにより認証装置1が動かされていないものと判断する。続いて、認証部182は、ユーザを認証するタイミングになったか否かを判定する(ステップS129)。ユーザを認証するタイミングは、予め設定された認証間隔の時間が経過したタイミングである。ユーザを認証するタイミングになっている場合(ステップS129;YES)、認証部182は、図11Aに示したステップS101に戻る。その後、認証部182は、ステップS101以降の処理を実行する。ユーザを認証するタイミングになっていない場合(ステップS129;NO)、認証部182はステップS125に戻る。認証部182は、ステップS125からステップS129までの処理を実行する。
【0105】
なお、上記の実施の形態において、生体情報から求められた認証値と認証閾値とが同じ値となった場合には、生体情報から求められた認証値が認証閾値以下、または、生体情報から求められた認証値が認証閾値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。また、生体情報から求められた認証値と認証許容値とが同じ値となった場合には、生体情報から求められた認証値が認証許容値以下、または、生体情報から求められた認証値が認証許容値以上の、どちらの場合として、認証が成功したか否かを判定してもよい。
【0106】
次に、判定指示処理について、図12を参照して説明する。図12は判定指示処理の一例を示すフローチャートである。なお、判定指示処理は、認証処理が終了する度に開始されればよく、認証処理が設定期間毎に繰り返される度に当該判定指示処理も繰り返し実行されることとなっている。この実施の形態における認証処理は、金融サービスのアプリケーション(所謂ネットバンクのアプリケーション)が起動されている間(起動されてから終了させるまでの期間)、認証処理が継続して繰り返し実行されることから、当該判定指示処理についても同様の期間、繰り返し実行されることとなる。判定指示処理が開始されると、処理部187は、認証処理における認証に成功したか否かを判定する(ステップS301)。
【0107】
成功したと判定した場合(ステップS301;YES)、処理部187は、処理が終了したか否かを判定する(ステップS302)。具体的に、ステップS302の処理では、例えば操作入力部14に対するユーザの入力操作により金融サービスのアプリケーション(所謂ネットバンクのアプリケーション)が終了されたか否かを判定したり、金融サービスのアプリケーションが起動されてから予め定められた時間を経過したか否かを、タイマ値を確認して判定することにより、処理が終了したか否かを判定する。
【0108】
処理が終了していないと判定した場合(ステップS302;NO)、処理部187は、既にステップS305の処理を実行し、判定開始済みであるか否かを判定する(ステップS303)。ステップS303では、後述するステップS305の処理を実行済みであるか否かを判定すればよい。判定開始済みである場合(ステップS303;YES)、処理部187は、そのまま判定指示処理を終了する。一方、判定開始済みではない場合(ステップS303;NO)、処理部187は、特定情報を生成する特定情報生成処理を特定情報生成部186に実行させる(ステップS304)。
【0109】
図13は、図12のステップS304にて実行される特定情報生成処理の一例を示すフローチャートである。図13に示す特定情報生成処理において、特定情報生成部186は、まず、原始鍵を生成するための原始鍵生成処理を実行する(ステップS201)。図14は、図13のステップS201にて実行される原始鍵生成処理の一例を示すフローチャートである。
【0110】
図14に示す原始鍵生成処理において、特定情報生成部186は、まず、ユーザの特徴量を抽出する(ステップS601)。具体的に、ステップS601では、図11Aに示すステップS101で取得した顔写真から顔の特徴ベクトルを特徴量として抽出する。なお、ステップS601の処理では、新たにユーザの顔写真を撮影してもよく、この場合、図11Aに示すステップS102の処理と同様に、ブレているか否かを判定し、ブレている場合にはリトライするようにしてもよい。また、図14に示すステップS601の処理では、図11Aに示すステップS104の処理にてYESと判定した場合に求めた特徴量を使用してもよい。またステップS601で抽出する特徴量は、顔の特徴量に限られず、ユーザの生体情報であれば、指紋、声紋、虹彩等であってもよく、また、これらの組み合わせであってもよい。なお、ステップS601の処理を実行する特定情報生成部186およびステップS601は、特徴量取得手段および特徴量取得ステップに対応する。
【0111】
図14に示すステップS601の処理を実行した後、特定情報生成部186は、閾値を取得する(ステップS602)。ステップS602にて取得する閾値は、予め設定され認証装置記憶部17に記憶されていればよい。当該閾値は、後述するステップS609の処理、および原始鍵再生成処理におけるステップS806(図17参照)において、BBKDF(Biometric-Based Key Derivation Function)と呼ばれる鍵導出関数(第2鍵導出関数)を用いて原始鍵を生成または再生成する場合に使用する閾値である。BBKDFと呼ばれる鍵導出関数は、入力されたデータが基準量の閾値以内の範囲であれば同一の値が算出される鍵導出関数である。
【0112】
ステップS602の処理を実行した後、特定情報生成部186は、その他の情報を取得する(ステップS603)。具体的に、ステップS603では、乱数生成器で生成した乱数、認証装置1固有の識別情報である固有情報、当該原始鍵生成処理を実行した際のタイムスタンプなどの各種情報を取得する。乱数生成器は、認証装置制御部18の機能として備えられていればよい。また、タイムスタンプについては、原始鍵生成処理を実行した際のタイムスタンプに限られず、当該ステップS603の処理時のタイムスタンプであってもよい。
【0113】
ステップS603の処理を実行した後、特定情報生成部186は、ステップS601で抽出したユーザの特徴量と、ステップS603で取得した乱数に基づいて、メッセージ認証コードを生成する(ステップS604)。具体的に、ステップS604では、ステップS601で抽出したユーザの特徴量をメッセージとし、ステップS603で取得した乱数の一部をキーとしてHMAC(Hash-based Message Authentication Code)と呼ばれるメッセージ認証コードを生成する。
【0114】
ステップS604の処理を実行した後、特定情報生成部186は、リカバリーコードを取得する(ステップS605)。リカバリーコードは、後述する原始鍵再生成処理(図17参照)において原始鍵を再生成する際に必要となるパスワードであり、ユーザにより任意に決定され入力されればよい。また、乱数生成器で生成した乱数をリカバリーコードとして利用してもよい。この場合、当該生成されたリカバリーコードは、ユーザに通知されればよい。また、ユーザによるリカバリーコードの入力は、操作入力部14からの入力に限られず、例えば音声入出力部12からの音声入力であってもよい。なお、ステップS605の処理を実行する特定情報生成部186およびステップS605は、リカバリーコード取得手段およびリカバリーコード取得ステップに対応する。
【0115】
ステップS605の処理を実行した後、特定情報生成部186は、鍵導出前データを生成する(ステップS606)。具体的に、ステップS606では、ステップS603で取得した各種情報と、ステップS604で生成したメッセージ認証コード、およびステップS605で取得したリカバリーコードを組み合わせたデータを、鍵導出前データとして生成する。なお、この実施の形態では、ステップS603で取得した各種情報、メッセージ認証コード、およびリカバリーコードを組み合わせて鍵導出前データを生成する例を示しているが、鍵導出前データは、これに限られない。当該鍵導出前データは、例えばこれら2つの組み合わせ、これらのうちの1つのデータ、または乱数値など、任意のデータであってもよい。
【0116】
ステップS606の処理を実行した後、特定情報生成部186は、ステップS606で生成した鍵導出前データに、予め定められた第1鍵導出関数を適用して鍵データを生成する(ステップS607)。具体的に、ステップS607では、HKDF(HMAC-based Extract-and-Expand Key Derivation Function)と呼ばれるRFC5869で標準化されている鍵導出関数を、第1鍵導出関数として適用し、鍵データを生成する。なお、この実施の形態では、鍵導出前データに第1の鍵導出関数を適用して鍵データを生成する例を示しているが、鍵データはこれに限られない。鍵データは、例えば乱数値であってもよく、任意のデータであってよい。すなわち、ステップS607の処理では、例えば乱数生成器により生成された乱数値を鍵データとして生成してもよい。
【0117】
ステップS607の処理を実行した後、特定情報生成部186は、ステップS607で生成した鍵データと、ステップS602で取得した閾値と、に基づいて基準量を設定する(ステップS608)。具体的に、ステップS608では、まず基準量候補集合と呼ばれる集合を決定する。基準量候補集合は、後述する第2鍵導出関数の特性により、その中の相異する二つの要素に第2鍵導出関数を適用したとき、同一のキーが生成されないような集合で、かつ悪意ある攻撃者がその全ての要素を試行することが現実的に不可能なほどに多くの要素を持つものである。そして、基準量候補集合から第三者に選定した要素が容易に推測できないような方法で一つを選定することで、基準量と呼ばれるベクトル量を生成する。ここでは128次元のベクトル量の基準量を生成する場合の一例について説明する。なお、0以上1未満の浮動小数点数iに対して(2128-1)×iの整数部分に閾値の2倍をかけた値を返すアルゴリズムをK(i)と呼ぶ。この場合、ステップS607で生成した鍵データを128次元のベクトルデータに成形し、次元毎に前記K(i)を適用したものを基準点とする。ただし、ここでは鍵データの各次元の値は0以上1未満とする。そうでない場合はそうなるように予め処理した上で行えばよい。なおこの場合の基準量候補集合は0以上2128未満の自然数nを用いて閾値に2×nをかけた数として表される数を各次元に持つ点ベクトルの集合である。なお、この実施の形態における基準量は、ステップS604で生成したメッセージ認証コードに、ステップS603で取得した各種情報やステップS605で取得したリカバリーコードを組み合わせた鍵導出前データに、第1鍵導出関数を適用して鍵データを生成し、その上で、ステップS602で取得した閾値に基づいて基準量を設定する例を示しているが、ステップS604で生成したメッセージ認証コードに、第1鍵導出関数を適用して鍵データを生成し、ステップS602で取得した閾値に基づいて基準量を設定してもよい。すなわち、ステップS601で抽出した特徴量に基づいて生成したメッセージ認証コード(特徴量に基づいて生成した情報に対応)に、第1鍵導出関数を適用して鍵データを生成した上で、さらにステップS602で取得した閾値に基づいて基準量を設定してもよい。また、上述したように、鍵データは乱数値など任意のデータであってよく、ステップS608の処理では、当該任意のデータである鍵データをベクトルデータとし、当該ベクトルデータとステップS602で取得した閾値とに基づき、第2鍵導出関数で用いられている演算式の内容に応じた基準量を設定してもよい。
【0118】
ステップS608の処理を実行した後、特定情報生成部186は、予め定められた第2鍵導出関数により原始鍵を生成する(ステップS609)。具体的に、ステップS609では、上述したように、BBKDFと呼ばれる鍵導出関数を第2鍵導出関数として、ステップS608の処理で設定した基準量に適用し、原始鍵を生成する。上述したように、BBKDFと呼ばれる鍵導出関数は、入力されたデータが基準量の閾値以内の範囲であれば同一の値が算出される鍵導出関数である。なお、当該第2鍵導出関数は、特許請求の範囲における鍵導出関数に対応する。ステップS609では、ステップS608の処理で設定した基準量それ自体を入力データとしていることから、入力されたデータが基準量の閾値以内の範囲である。なお、当該閾値は、ステップS602で取得した閾値を示している。このように、ステップS609では、ステップS608の処理で設定した基準量と、ステップS602で取得した閾値と、に基づいて、BBKDFと呼ばれる鍵導出関数を第2鍵導出関数として適用し、原始鍵を生成する。なお、ステップS609の処理を実行する特定情報生成部186およびステップS609は、原始鍵生成手段および原始鍵生成ステップに対応する。
【0119】
ステップS609の処理を実行した後、特定情報生成部186は、ステップS608の処理で設定した基準量と、ステップS601の処理で抽出した特徴量とに、予め定められた連続な片側可逆二項演算を適用し、補助情報を生成する(ステップS610)。なお、前記の二項演算を適用する時、基準量を可逆側の項、特徴量をもう片側の項として演算を適用する。以下では、予め定められた連続的な片側可逆二項演算の一例として、ベクトルの次元毎の差を用いる場合について説明する。具体的に、ステップS610では、ステップS608の処理で設定した基準量と、ステップS601の処理で抽出した特徴量の、次元毎の差を算出し、その結果を補助情報とする。そのため、ステップS610の処理は、補助情報を生成する処理であると言え、ステップS610の処理を実行する特定情報生成部186およびステップS610は、補助情報生成手段および補助情報生成ステップに対応する。なお、この実施の形態では、理解を容易にするため、ステップS610の処理において、ステップS608の処理で設定した基準量と、ステップS601の処理で抽出した特徴量の、次元毎の差を算出し、その結果を補助情報とする例を示しているが、これは一例である。上述したように、この次元毎の差をとる部分は連続な片側可逆二項演算であれば任意のものでよい。次元毎の差以外に利用可能な演算としては、一例だが、基準量と特徴量との次元毎の積、すなわちアダマール積が利用可能である。さらに言えば、必ずしも連続的な片側可逆二項演算を用いなくてもよく、逆演算を施すことで、鍵データが基準量に対して近似的に復元される二項演算であれば、任意の演算であってよい。すなわち、逆演算を施すことで鍵データが近似的に復元されるような二項演算を予め定めておけばよい。なお、ここでいう近似的とは、復元された鍵データと、ステップS608の処理で設定した基準量と、の違いがステップS602で取得した閾値以内であることをいう。また、当該予め定めた二項演算は、特許請求の範囲における予め定められた二項演算に対応する。
【0120】
ステップS610の処理を実行した後、特定情報生成部186は、ステップS605の処理にて取得したリカバリーコードで、ステップS610の処理で生成した補助情報を暗号化する(ステップS611)。続いて情報処理装置7の情報処理装置記憶部77の所定領域に、当該暗号化した補助情報を、例えばユーザが入力したニックネームやパスワード等の識別情報に対応付けて登録した後(ステップS612)、原始鍵生成処理を終了する。なお、この実施の形態におけるステップS612の処理では、暗号化した補助情報を、情報処理装置7の情報処理装置記憶部77の所定領域に登録する例を示したが、認証装置1以外のサーバや端末であれば、登録先については情報処理装置7に限られない。なお、ステップS611およびステップS612の処理を実行する特定情報生成部186は、補助情報登録手段および補助情報登録ステップに対応する。
【0121】
このように、図14に示す原始鍵生成処理のステップS612の処理が実行されると、暗号化された補助情報が認証装置1以外の外部装置に登録されることとなる。補助情報は、原始鍵生成処理により生成された原始鍵と同一の原始鍵を再生成するために必要な情報であるとともに、生体情報そのものではない。そのため、セキュリティを確保できるとともに、例えば認証装置1を紛失してしまった場合などにおいても原始鍵を再生成できるようになるため、ユーザが安定してサービスを受けることができる。
【0122】
図13に戻り、ステップS201の処理にて原始鍵を生成した後、特定情報生成部186は、ランダムに生成される128ビットのデータであるランダムIDを生成する(ステップS203)。ステップS203の処理では、例えば、UUID(Universal Unique Identifier)によりランダムIDを生成すればよい。ランダムIDは、128ビットのデータであり、80ビットの固定部と48ビットの可変部とから構成される。なお、固定部と可変部のビット数は一例であり、ランダムIDの一部が固定部で、その他が可変部であればよい。また、これとは別に、可変部は、固定部以外のビットデータの一部であってもよい(固定部以外のビットデータが全て可変部でなくてもよい)。またステップS203の処理で生成されるランダムIDは、ランダム情報に対応する。
【0123】
ステップS203の処理を実行した後、特定情報生成部186は、ステップS201で生成した原始鍵とステップS203で生成したランダムIDの固定部とに基づいて、認証装置の秘密鍵と公開鍵を生成する(ステップS204)。ステップS204では、予め記憶されているペア鍵生成プログラムに従い、原始鍵およびランダムIDの固定部に基づいて認証装置の秘密鍵と公開鍵を生成する。なお、ステップS203で生成したランダムIDとステップS204で生成した認証装置の公開鍵は、通信部10を介して情報処理装置7へ送信される。詳しくは後述するが、ステップS204の処理においてランダムIDの固定部を用いて認証装置の秘密鍵と公開鍵を生成するため、可変部が変更されても認証装置の秘密鍵と公開鍵は変更されないこととなる。なお、ランダムIDと認証装置の公開鍵の送信時には、ユーザが入力したニックネームやパスワード、メールアドレスといった情報が合わせて送信される。
【0124】
情報処理装置7の側では、認証装置1からランダムIDおよび認証装置の公開鍵を受信すると、情報処理装置記憶部77に当該ランダムIDを登録する(ステップS205)。具体的に、ランダムIDについては、例えばユーザのニックネームやパスワード、メールアドレスといった情報と対応付けて情報処理装置記憶部77に記憶される。詳しくは後述する(図18参照)が、ステップS205でユーザのニックネームと対応付けて登録されたランダムIDは、ユーザが認証装置1を紛失してしまった場合など、認証装置1を新しい認証装置1に変更した場合において使用される。
【0125】
ステップS205の処理を実行した後、情報処理装置7の処理部787は、情報処理装置の秘密鍵と公開鍵を生成する(ステップS206)。ステップS206では、予め記憶されているペア鍵生成プログラムに従い、情報処理装置の秘密鍵と公開鍵を生成する。なお、ステップS206で生成した情報処理装置の公開鍵は、通信部70を介して認証装置1へ送信される。そして、ディフィーヘルマン鍵交換法(Diffie-Hellman key exchange method)により、認証装置1と情報処理装置7とで、共通鍵SKが生成されることとなる。なお、ステップS206で生成した情報処理装置の公開鍵を受信する認証装置1の通信部10および公開鍵を受信する処理は、公開鍵取得手段および公開鍵取得ステップに対応する。また、ステップS206の処理を実行する処理部787は、ペア鍵生成手段に対応する。
【0126】
具体的に、認証装置1の側において、特定情報生成部186は、認証装置の秘密鍵と、受信した情報処理装置の公開鍵に基づいて原始共通鍵を生成する(ステップS207)。一方、情報処理装置7の側では、処理部787が、情報処理装置の秘密鍵と、受信した認証装置の公開鍵に基づいて原始共通鍵を生成する(ステップS207A)。これらの原始共通鍵は、ディフィーヘルマン鍵交換法から、同一の鍵となる。
【0127】
続いて認証装置1の側では、特定情報生成部186が、当該原始共通鍵にKDF(key derivation function)を適用して共通鍵SKを生成し(ステップS208)、情報処理装置7の側では、処理部787が、同様に、当該原始共通鍵にKDFを適用して共通鍵SKを生成する(ステップS208A)。このようにして、認証装置1と情報処理装置7とで共通の共通鍵SKが生成されることとなる。なお、上述したように、ステップS204の処理においてランダムIDの固定部を用いて認証装置の秘密鍵と公開鍵を生成するため、ランダムIDの可変部が変更されても認証装置の秘密鍵と公開鍵は変更されない。そのため、ランダムIDの可変部が変更された場合、共通鍵SKについても変更されないこととなる。また、ステップS204、ステップS207およびステップS208の処理を実行する特定情報生成部186およびステップS204、ステップS207およびステップS208の処理は、共通鍵生成手段および共通鍵生成ステップに対応する。
【0128】
認証装置1の側において、ステップS208の処理を実行した後、特定情報生成部186は、ステップS203の処理で生成したランダムID(固定部および可変部を含む)のハッシュ値を算出する(ステップS208H)。ステップS208Hの処理を実行した後、特定情報生成部186は、ステップS208の処理で生成した共通鍵SKと、ステップS208Hで算出したハッシュ値と、に基づいてMAC(Message Authentication Code)値を算出する(ステップS209)。ステップS209では、MACアルゴリズムにより、共通鍵SKとハッシュ値に基づくMAC値を算出する。
【0129】
ステップS209の処理を実行した後、特定情報生成部186は、算出したMAC値とハッシュ値に基づいて特定情報を生成する(ステップS210)。具体的に、ステップS210では、ハッシュ値に、算出したMAC値を付加し、フッターを含めて320ビットのデータを生成し、これを特定情報とする。ステップS210で生成された特定情報は、通信部10を介して情報処理装置7へ送信される。なお、ステップS210の処理を実行する特定情報生成部186およびステップS210の処理は、特定情報生成手段および特定情報生成ステップに対応する。特定情報は、予め設定された暗号化方式により暗号化されて情報処理装置7へ送信されてもよい。
【0130】
情報処理装置7の側において特定情報を受信すると、処理部787は、受信した特定情報からハッシュ値を抽出する(ステップS212)。続いてステップS208Aで生成した共通鍵SKと、ステップS212で抽出したハッシュ値に基づいてMAC値を算出する(ステップS213)。
【0131】
ステップS213の処理を実行した後、処理部787は、ステップS213で算出したMAC値を検証する(ステップS214)。具体的に、ステップS214では、ステップS213で算出したMAC値が、受信した特定情報に含まれるMAC値と一致するか否かを確認することで検証する。ステップS214の処理における検証結果は、通信部70を介して認証装置1へ送信される。
【0132】
認証装置1の側において、特定情報生成部186は、受信した検証結果が正常であるか否かを判定し(ステップS215)、正常であれば(ステップS215;YES)、そのまま特定情報生成処理を終了する。一方、検証結果が正常でなければ(ステップS215;NO)、エラーを表示してから(ステップS216)特定情報生成処理を終了する。なお、ステップS216では、再度実行すべきことを促す表示を行ってもよく、また、手動で特定情報生成処理を再度実行可能にしてもよい。
【0133】
一方、情報処理装置7の側においても、処理部787は、ステップS214での検証結果が正常であるか否かを判定する(ステップS217)。検証結果が正常でない場合(ステップS217;NO)、処理部787は、そのまま特定情報生成処理を終了する。なお、この場合、通信部70を介して認証装置1に特定情報の登録に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、再度特定情報生成処理を手動で実行可能にしてもよい。
【0134】
また、ステップS214での検証結果が正常である場合(ステップS217;YES)、処理部787は、受信した特定情報を認証装置の公開鍵に対応付けて情報処理装置記憶部77に記憶することで当該特定情報等を登録し(ステップS218)、特定情報生成処理を終了する。ステップS218では、受信した特定情報を、認証装置の公開鍵に対応付け、図10に示す対応情報一覧771として情報処理装置記憶部77に記憶する。すなわち、ステップS218の処理は、図10に示す対応情報一覧771を生成して登録する処理であるともいえる。
【0135】
このように、図13に示す特定情報生成処理が実行されることで、サービスを提供するユーザが正当であることを特定するための特定情報が生成される。また、当該特定情報生成処理が実行されることで、特定情報が情報処理装置7側に登録、すなわち、図10に示す基準情報一覧771が情報処理装置7側に登録されるため、以降は、特定情報によってユーザの特定が可能となる。また、特定情報は、ユーザの生体情報に基づいて生成される情報ではあるものの、生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。また、ランダムIDはランダムに生成されるため、同一の生体情報(顔の特徴量)から複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。なお、この実施の形態では、図12に示す判定指示処理において図13に示す特定情報生成処理が実行される例を示しており、当該判定指示処理は、認証処理が終了する度に開始されるため、特定情報生成処理も繰り返し実行されることになっているが、当該特定情報生成処理については、対象ユーザに対して、提供されるサービス毎(または情報処理装置7毎)に1回実行されればよい。すなわち、提供される一のサービスにおいて一旦特定情報が生成された後は、当該特定情報生成処理は行われず、他のサービスの提供時において当該サービスに対応して特定情報生成処理が実行されればよい。また、詳しくは後述するが、この実施の形態では、特定情報更新処理が実行されることで、生成された特定情報を更新可能となっている。
【0136】
図12に戻り、ステップS304の処理を実行した後、処理部187は、ユーザが正当であることを判定してサービス開始を指示する判定開始指示処理を実行し(ステップS305)、判定指示処理を終了する。なお、ステップS305の処理にて判定開始が指示されることにより、情報処理装置7の側においてユーザが正当であることが判定され、特定情報により正当であることが特定されると、サービスの開始が金融機関99へ指示される。そして、上述したように、金融機関99においてログイン情報の正当性が確認されると、当該振込の処理が行われることとなる。ステップS305の処理を実行する処理部187およびステップS305の処理は、判定指示手段および判定指示ステップに対応する。
【0137】
図15は、図12のステップS305にて実行される判定開始指示処理の一例を示すフローチャートである。図15に示す判定開始指示処理において、認証装置1の処理部187は、特定情報と認証装置の公開鍵を、通信部10を介して情報処理装置7へ送信する(ステップS221)。なお、ステップS221の処理では、図示は省略しているが、金融機関99から発行されたログインIDやパスワードといったログイン情報も合わせて送信される。
【0138】
情報処理装置7の側において、処理部787は、受信した特定情報を検証する(ステップS222)。なお、認証装置1から特定情報を受信する通信部70は、特定情報取得手段に対応する。ステップS222では、図13に示すステップS207A、S208、S212~S214の処理を実行することで、特定情報を検証する。また、ステップS222では、例えば、情報処理装置記憶部77に記憶された対応情報一覧771を参照し、受信した認証装置の公開鍵と特定情報の対応関係を確認することで、特定情報を検証してもよい。なお、ステップS222の処理において、検証が正常でない場合には処理を終了すればよい。ステップS222の処理を実行する処理部787は、判定手段に対応する。ステップS222の処理を実行した後、すなわち検証結果が正常である場合、処理部787は、チャレンジデータを生成する(ステップS223)。生成されたチャレンジデータは、通信部70を介して認証装置1へ送信される。このように、ステップS221の処理において情報処理装置7へ特定情報が送信され、当該特定情報の検証が正常である場合に、チャレンジレスポンス認証が行われる。そのため、ステップS221の処理は、対象のユーザに対応するサービスの提供を行うための認証を指示する処理であるともいえる。
【0139】
認証装置1の側において、処理部187は、受信したチャレンジデータを認証装置の秘密鍵で電子署名(暗号化)し(ステップS224)、チャレンジデータの電子署名データ(暗号化されたチャレンジデータ)を、通信部10を介して情報処理装置7へ送信する(ステップS225)。
【0140】
続いて情報処理装置7の側において、処理部787は、チャレンジデータの電子署名データを、認証装置の公開鍵を用いて検証する(ステップS226)。具体的に、ステップS226では、受信したチャレンジデータの電子署名データが、認証装置の公開鍵とペアをなす秘密鍵によりのみ生成できる、ステップS223で生成したチャレンジデータに関する電子署名かどうかを確認することにより、検証を行う。なお、検証結果は、通信部70を介して認証装置1へ送信される。
【0141】
認証装置1の側において、処理部187は、受信した検証結果が正常であるか否かを判定し(ステップS227)、正常であれば(ステップS227;YES)、そのまま判定開始指示処理を終了する。一方、検証結果が正常でなければ(ステップS227;NO)、エラーを表示してから(ステップS228)判定開始指示処理を終了する。なお、ステップS228では、再度実行すべきことを促す表示を行ってもよく、また、手動で判定開始指示処理を再度実行可能にしてもよい。
【0142】
一方、情報処理装置7の側においても、処理部787は、ステップS226での検証結果が正常であるか否かを判定する(ステップS229)。検証結果が正常でない場合(ステップS229;NO)、処理部787は、そのまま判定開始指示処理を終了する。なお、この場合、通信部70を介して認証装置1にサービス開始、すなわち判定開始に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、判定開始指示処理を手動で実行可能にしてもよい。
【0143】
また、ステップS229での検証結果が正常である場合(ステップS229;YES)、処理部787は、金融機関99に対して処理の実行を指示する指示情報を送信し(ステップS230)、判定開始指示処理を終了する。この例では、ステップS230の処理が実行されることにより、振込の処理の実行が指示されることとなる。なお、ステップS230の処理では、指示情報の他、ログイン情報が送信され、金融機関99にてログイン情報の正当性が判定される。そして、ログイン情報の正当性が確認されると、振込処理が実行される。なお、ステップS230の処理を実行する処理部787は、サービス提供指示手段に対応する。
【0144】
このように、図15に示す判定開始指示処理が実行されることで、特定情報の検証が行われ、サービスの提供が開始される。上述したように、特定情報は、ユーザの生体情報に基づいて生成される情報ではあるものの、生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。なお、この実施の形態では、図12に示す判定指示処理において図15に示す判定開始指示処理が実行される。当該判定指示処理は、認証処理が終了する度に開始されるため、判定開始指示処理も繰り返し実行されることになっているが、一旦判定処理が実行された後(一旦サービスが開始された後)は、図12に示すステップS303にてYESと判定され、当該判定開始指示処理は再度実行されないようになっている。
【0145】
図12に戻り、ステップS301にて認証に失敗したと判定した場合(ステップS301;NO)、処理部187は、ステップS303と同様に、既にステップS305の処理を実行し、判定開始を指示したか否かを判定する(ステップS306)。判定開始済みではない場合(ステップS306;NO)、処理部187は、そのまま判定指示処理を終了する。一方、判定開始済みである場合(ステップS306;YES)、または、ステップS302にて処理が終了したと判定した場合(ステップS302;YES)、処理部187は、判定終了情報を情報処理装置7に送信して処理の終了を指示し(ステップS307)、判定指示処理を終了する。判定終了情報を受信した情報処理装置7の側では、例えば、図15に示すステップS230の処理の実行前のタイミングで当該判定終了情報を受信した場合は、そのままステップS230の処理を実行することなく、実行中の処理を終了する。一方、ステップS230の処理を実行した後のタイミングで当該判定終了情報を受信した場合は、金融機関99へ振込処理の中止を指示する中止指示情報を送信する。なお、中止指示情報の送信にあたっては、ログイン情報も合わせて送信すればよい。
【0146】
具体的に、ステップS306にてYESと判定された場合、既に特定情報によりユーザの正当性の判定が開始されているにも関わらず、別人(例えば脅迫者など)に入れ替わったことなどが原因で認証に失敗したことになる。この場合、当該ステップS307の処理にて判定終了を指示するとともに振込処理を強制的に終了させることで、例えば脅迫やなりすましにより振込が行われるなどといった状況を回避することができる。また、終了時間である場合(ステップS302でYESと判定された場合)には、振込処理も終了するため、認証装置1と情報処理装置7とで同期を取りつつ、処理が終了したにも関わらず特定情報の判定を行って金融機関99に指示を行ってしまうといった誤判定を防止することができる。
【0147】
次に、特定情報生成処理が実行されることで生成された特定情報を更新する特定情報更新処理について、図16を参照して説明する。この実施の形態における特定情報更新処理は、例えば、半年や1年といった予め定められた期間が経過したことにより実行される。なお、この他にも、例えば振込処理が10回実行されたなど、予め定められた回数の処理が実行されたタイミングで行われてもよい。
【0148】
また、例えば出金回数が増加したなど、ユーザの行動や習慣、癖などに変化があったタイミングで行われてもよい。なお、ユーザの行動や習慣、癖などは、認証装置1に搭載されている各種センサから取得した情報に基づいて統計情報を作成し、定期的に予め定められた基準と比較することで変化したか否かを判定すればよい。なお、図13のステップS201の処理では、顔の特徴量を抽出する例を示したが、この他に、例えばユーザの行動や習慣、癖などの情報を含めてステップS201の処理を実行してもよい。この場合、ユーザの行動や習慣、癖が変化することによりステップS201における原始鍵も変化することとなるため、このようにユーザの行動や習慣、癖が変化した場合には、特定情報更新処理を実行するのではなく、特定情報生成処理を再度実行することで特定情報を更新してもよい。
【0149】
図16に示す特定情報更新処理において、特定情報生成部186は、図13のステップS203の処理で生成したランダムIDの可変部を変更する(ステップS401)。具体的に、ステップS401の処理では、ランダムIDの可変部を+1することで図13のステップS203の処理で生成したランダムIDの可変部を変更する。なお、この例ではランダムIDの可変部を+1する例を示したが、これは一例であり、ランダムIDの可変部が図13のステップS203の処理で生成したランダムIDの可変部と異なるものとなれば変更方法は任意であってよい。
【0150】
ステップS401の処理を実行した後、特定情報生成部186は、ランダムIDのハッシュ値を算出する(ステップS402)。ステップS402の処理では、ステップS401の処理で変更したランダムIDの可変部と、図13のステップS203の処理で生成したランダムIDの固定部とを合わせたランダムIDのハッシュ値を算出する。
【0151】
ステップS402の処理を実行した後、特定情報生成部186は、図13のステップS208の処理で生成した共通鍵SKと、図16のステップS402で算出したハッシュ値と、に基づいてMAC値を算出する(ステップS403)。ステップS403では、図13に示すステップS209の処理と同様、MACアルゴリズムにより、共通鍵SKとハッシュ値に基づくMAC値を算出する。
【0152】
図16に示すステップS403の処理を実行した後、特定情報生成部186は、算出したMAC値とハッシュ値に基づいて特定情報を生成する(ステップS404)。具体的に、ステップS404では、ハッシュ値に、算出したMAC値を付加し、フッターを含めて320ビットのデータを生成し、これを特定情報とする。ステップS404で生成された特定情報は、図13のステップS204で生成した認証装置の公開鍵とともに、通信部10を介して情報処理装置7へ送信される。なお、特定情報と認証装置の公開鍵は、予め設定された暗号化方式により暗号化されて情報処理装置7へ送信されてもよい。
【0153】
特定情報は、固定部と可変部を含むランダムID全体のハッシュ値に基づいて生成される。そのため、ステップS401の処理においてランダムIDの可変部が変更されることで、ステップS404の処理にて生成される特定情報も、図13のステップS210で生成した特定情報とは異なるものとなる。
【0154】
情報処理装置7の側において特定情報を受信すると、処理部787は、図13のステップS206で生成した情報処理装置の秘密鍵と、受信した認証装置の公開鍵と、に基づいて原始共通鍵を生成する(ステップS405)。ステップS405の処理を実行した後、処理部787は、当該原始共通鍵にKDFを適用して共通鍵SKを生成する(ステップS406)。上述したように、認証装置の秘密鍵はランダムIDの固定部に基づいて生成されており、当該特定情報更新処理においてもランダムIDの固定部は変化していない。そのため、ステップS406にて生成される共通鍵SKは、図13のステップS208Aで生成された共通鍵SKと同じものとなる。そのため、例えば、ステップS406の処理において、共通鍵SKを生成したタイミングで、生成した共通鍵SKと情報処理装置記憶部77に記憶されている更新前のランダムIDのハッシュ値とに基づくMAC値と、情報処理装置記憶部77に記憶されている更新前の特定情報のMAC値と、が一致することを検証することにより、特定情報更新処理の正当性、すなわち、今回行われた更新リクエストの正当性を検証してもよい。
【0155】
ステップS406の処理を実行した後、処理部787は、受信した特定情報からハッシュ値を抽出する(ステップS407)。続いてステップS406で生成した共通鍵SKと、ステップS407で抽出したハッシュ値に基づいてMAC値を算出する(ステップS408)。
【0156】
ステップS408の処理を実行した後、処理部787は、ステップS408で算出したMAC値を検証する(ステップS409)。具体的に、ステップS409では、ステップS408で算出したMAC値が、受信した特定情報に含まれるMAC値と一致するか否かを確認することで検証する。ステップS409の処理における検証結果は、通信部70を介して認証装置1へ送信される。
【0157】
認証装置1の側において、特定情報生成部186は、受信した検証結果が正常であるか否かを判定し(ステップS410)、正常であれば(ステップS410;YES)、そのまま特定情報生成処理を終了する。一方、検証結果が正常でなければ(ステップS410;NO)、エラーを表示してから(ステップS411)特定情報生成処理を終了する。なお、ステップS411では、再度特定情報更新処理を実行すべきことを促す表示を行ってもよく、また、手動で特定情報更新処理を再度実行可能にしてもよい。
【0158】
一方、情報処理装置7の側においても、処理部787は、ステップS409での検証結果が正常であるか否かを判定する(ステップS412)。検証結果が正常でない場合(ステップS412;NO)、処理部787は、そのまま特定情報生成処理を終了する。なお、この場合、通信部70を介して認証装置1に特定情報の更新に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、再度特定情報更新処理を手動で実行可能にしてもよい。
【0159】
また、ステップS409での検証結果が正常である場合(ステップS412;YES)、処理部787は、受信した認証装置の公開鍵に対応付けて情報処理装置記憶部77に記憶されている特定情報を、受信した特定情報とすることで当該特定情報を更新し(ステップS413)、特定情報更新処理を終了する。ステップS413では、図10に示す対応情報一覧771に含まれる特定情報のうち、受信した認証装置の公開鍵に対応する特定情報を、受信した特定情報に変更する。すなわち、ステップS413の処理は、図10に示す対応情報一覧771を更新する処理であるともいえる。なお、情報処理装置7の側において特定情報を受信する際、合わせてランダムIDを受信し、ステップS413の処理において特定情報を更新する際に、例えばユーザのニックネームやパスワード、メールアドレスといった情報と対応付けて情報処理装置記憶部77に記憶されているランダムIDも、更新すればよい。なお、受信するランダムIDについては、可変部が変更されたものとなっている。そのため、例えば128ビット全てを受信し、ステップS413の処理において、固定部が共通したランダムIDを特定して更新すればよい。また、例えば受信するランダムIDは、ステップS401で変更した可変部のみであってもよい。この場合、ユーザのニックネームやパスワード、メールアドレスといった情報を、当該可変部の情報と合わせて受信し、当該ユーザのニックネームやパスワード、メールアドレスといった情報と対応付けて情報処理装置記憶部77に記憶されているランダムIDを特定し、そのランダムIDを更新すればよい。
【0160】
なお、図16に示す特定情報更新処理では、ステップS405およびステップS406の処理を実行することで共通鍵SKを生成する例を示しているが、受信した認証装置の公開鍵に対応する共通鍵SKを特定可能とすれば、ステップS405およびステップS406の処理を実行しなくてもよい。例えば、対応情報一覧771において認証装置の公開鍵とステップS208Aの処理で生成した共通鍵SKとを紐付けて記憶しておき、受信した認証装置の公開鍵に基づいて共通鍵SKを特定し、特定した共通鍵SKを用いてステップS408の処理を実行すればよい。
【0161】
このように、ランダムIDを固定部と可変部とに分け、可変部のみを変更することで、特定情報生成処理を再度実行することなく特定情報の更新が可能であり、処理負担を軽減させることができる。また、認証装置1の側においてランダムIDの可変部のみ変更すればよく、情報処理装置7の側においては、認証装置の公開鍵といった既存の情報に基づいて特定情報を更新することができるため、処理を煩雑化させることなく特定情報更新処理を行うことができる。また、特定情報が更新された場合であっても、情報処理装置7の側では、更新前と同様に、図15に示すステップS222の処理を実行すれば特定情報の正当性が判定できる。すなわち、更新前と後とで共通の処理により特定情報の正当性を判定することができる。
【0162】
次に、ユーザが認証装置1を紛失してしまった場合等、ユーザが認証装置1を新しい認証装置1に切り替えた場合に原始鍵を再生成する原始鍵再生成処理について、図17を参照して説明する。なお、新しい認証装置1に切り替える前の認証装置1において、図14に示す原始鍵生成処理が既に実行され、補助情報が情報処理装置7に登録されているものとする。
【0163】
図17に示す原始鍵再生成処理を開始すると、特定情報生成部186は、ユーザにニックネームやパスワード等の識別情報の入力を促し、入力された識別情報に対応する補助情報を、情報処理装置7から取得する(ステップS801)。なお、ステップS801の処理を実行する特定情報生成部186は、補助情報取得手段に対応する。
【0164】
ステップS801の処理を実行した後、特定情報生成部186は、ユーザにリカバリーコードの入力を促し、入力されたリカバリーコードを取得する(ステップS802)。具体的に、ステップS802の処理では、図14に示す原始鍵生成処理にて生成された原始鍵を再生成する場合、図14のステップS605で取得したリカバリーコードと同一のリカバリーコードを取得する必要がある。そのため、図17のステップS802の処理において、ユーザは、図14のステップS605にて入力したリカバリーコードと同一のリカバリーコードを入力する必要がある。なお、ステップS802の処理を実行する特定情報生成部186は、同一リカバリーコード受付手段に対応する。
【0165】
図17のステップS802の処理を実行した後、特定情報生成部186は、ステップS801にて取得した補助情報を復号化する(ステップS803)。具体的に、ステップS803では、ステップS802で取得したリカバリーコードを用いて、ステップS801で取得した補助情報を復号化する。補助情報は、図14のステップS611の処理により、リカバリーコードで暗号化されているため、図17のステップS803の処理では、当該リカバリーコードで補助情報を復号化する。そのため、ステップS802の処理において取得するリカバリーコードは、図14のステップS605で取得したリカバリーコード、すなわち補助情報の暗号化に用いたリカバリーコードと同一であることが求められる。換言すると、図14のステップS605で取得したリカバリーコードと異なるリカバリーコードを図17のステップS802の処理にて取得した場合には、ステップS803にて補助情報を復号化することができないこととなる。なお、ステップS803にて補助情報を復号化することができない場合、リカバリーコードが誤っている旨を表示部19に表示すればよい。
【0166】
ステップS803の処理を実行した後、特定情報生成部186は、ユーザの特徴量を抽出する(ステップS804)。具体的に、ステップS804では、撮影部11から新たに撮影したユーザの顔写真から顔の特徴ベクトルを特徴量として抽出する。なお、図11Aに示すステップS102の処理と同様に、ブレているか否かを判定し、ブレている場合にはリトライするようにしてもよい。また、ステップS804で抽出する特徴量は、顔の特徴量に限られず、ユーザの生体情報であれば、指紋、声紋、虹彩等であってもよく、また、これらの組み合わせであってもよいが、図14のステップS601で取得した特徴量と同一の種類の生体情報である必要があるため、図14に示す原始鍵生成処理および図17に示す原始鍵再生成処理においていずれの種類の特徴量を抽出するかについては、予め同一の種類が定められていればよい。なお、ステップS804の処理を実行する特定情報生成部186は、新特徴量取得手段に対応する。
【0167】
ステップS804の処理を実行した後、特定情報生成部186は、ステップS803の処理で復号化した補助情報と、ステップS804で取得した特徴量とに、連続的な片側可逆二項演算の逆演算を適用する(ステップS805)。具体的に、ステップS805では、図14のステップS610にて算出した補助情報と同一の情報を示す復号化した補助情報に、新たに取得した特徴量を加えることで、図14のステップS608にて設定した基準量に対応する情報(対応情報)を生成する。なお、この実施の形態では、ステップS610の処理において基準量と特徴量の次元毎の差を算出しているため、ステップS805の処理にてその逆演算である次元毎の和を算出する例を示しているが、ステップS610の処理にてアダマール積を算出した場合には、当該ステップS805の処理にてその逆演算である次元毎の商を算出すればよい。すなわち、ステップS610の処理とステップS805の処理とで行われる演算は、公知の連続な片側可逆演算であれば任意の演算であってよい。さらに言えば、必ずしも連続的な片側可逆二項演算を用いなくてもよく、逆演算を施すことで、鍵データが基準量に対して近似的に復元される二項演算であれば、任意の二項演算であってよい。また、ステップS805の処理を実行する特定情報生成部186は、対応情報生成手段に対応する。
【0168】
図17のステップS805の処理を実行した後、特定情報生成部186は、閾値を取得する(ステップS806)。ステップS806にて取得する閾値は、予め設定され認証装置記憶部17に記憶されていればよく、図14のステップS602で取得した閾値と共通の閾値が記憶されていればよい。そのため、図17のステップS806で取得する閾値は、図14のステップS602で取得した閾値と同様の閾値となる。
【0169】
図17のステップS806の処理を実行した後、特定情報生成部186は、予め定められた第2鍵導出関数により原始鍵を再生成する(ステップS807)。具体的に、ステップS807では、図14のステップS609と同様に、BBKDFと呼ばれる鍵導出関数を、第2鍵導出関数として、図17のステップS805の処理で生成した対応情報に適用し、原始鍵を生成する。BBKDFと呼ばれる鍵導出関数は、入力されたデータが基準量の閾値以内の範囲であれば同一の値が算出される鍵導出関数である。そのため、ステップS807では、ステップS805の処理で生成した対応情報が、基準量の閾値以内の範囲であれば、図14のステップS609と同様の原始鍵が生成されることとなる。なお、当該閾値は、図17のステップS806で取得した閾値(図14のステップS602で取得した閾値と共通)を示している。また、ステップS805およびステップS807の処理を実行する特定情報生成部186は、原始鍵再生成手段に対応する。
【0170】
ステップS807の処理を実行した後、特定情報生成部186は、ステップS805の処理で生成した対応情報を、基準量として設定する(ステップS808)。具体的に、ステップS808では、ステップS805で生成した対応情報に、ステップS806で取得した閾値を、それぞれの次元に適用させることで基準量を設定する。
【0171】
ステップS808の処理を実行した後、特定情報生成部186は、ステップS808の処理で設定した基準量と、ステップS804の処理で抽出した特徴量とに連続的な片側可逆演算を適用する(ステップS809)。具体的に、ステップS809では、図14のステップS610と同様に、設定した基準量と抽出した特徴量の次元毎の差を算出し、その結果を補助情報とする。そのため、図17のステップS809の処理は、新たな補助情報を生成する処理であると言え、当該ステップS809の処理を実行する特定情報生成部186は、新補助情報生成手段に対応する。なお、当該ステップS809の処理についても、ステップS610の処理と同様、アダマール積でも、または任意の連続な片側可逆二項演算を用いて算出してもよい。
【0172】
ステップS809の処理を実行した後、特定情報生成部186は、図14のステップS611と同様に、リカバリーコードで補助情報を暗号化する(ステップS810)。具体的に、図17のステップS810では、ステップS802の処理で取得したリカバリーコードを用いて、ステップS809で再生成した補助情報を暗号化する。また、ステップS809で再生成した補助情報を暗号化するリカバリーコードは、ステップS802の処理で取得したリカバリーコードではなく、新たにユーザにより任意に決定され入力されてもよい。また、乱数生成器で新たに生成した乱数を当該リカバリーコードとしてもよい。その場合、当該生成されたリカバリーコードは、ユーザに通知されればよい。続いて特定情報生成部186は、情報処理装置7の情報処理装置記憶部77の所定領域に、ステップS810で暗号化した補助情報を、例えばユーザが入力したニックネームやパスワード等の識別情報に対応付けて登録することで、補助情報を更新した後(ステップS811)、原始鍵再生成処理を終了する。なお、この実施の形態におけるステップS811の処理では、暗号化した補助情報を、情報処理装置7の情報処理装置記憶部77の所定領域に登録する例を示したが、認証装置1以外のサーバや端末であれば、登録先については情報処理装置7に限られない点は、図14の原始鍵生成処理と同様である。ただし、図14のステップS612における登録先と、図17のステップS811における登録先とは、同一である必要がある。なお、ステップS810およびステップS811の処理を実行する特定情報生成部186は、補助情報更新手段に対応する。
【0173】
このように、図17に示す原始鍵再生成処理が実行されることで、ユーザが認証装置1を紛失してしまった場合等、ユーザが認証装置1を新しい認証装置1に切り替えた場合においても、同一の原始鍵を再生成することが可能である。また、原始鍵自体を認証装置1以外に登録せず、補助情報を登録することから、セキュリティを担保することもできる。
【0174】
続いて、ユーザが認証装置1を紛失してしまった場合等、ユーザが認証装置1を新しい認証装置1に切り替えた場合に特定情報を再生成する特定情報再生成処理について、図18を参照して説明する。なお、新しい認証装置1に切り替える前の認証装置1において、図13に示す特定情報生成処理が既に実行され、特定情報が情報処理装置7に登録されているものとする。
【0175】
図18に示す特定情報再生成処理を開始すると、特定情報生成部186は、まず、図17に示す原始鍵再生成処理を実行する(ステップS501A)。なお、図17に示す原始鍵再生成処理については、上述したとおりであり、ステップS501Aで再生成される原始鍵は、ユーザが同一人物であれば、以前ステップS201で生成した原始鍵と同じものとなる。
【0176】
その後、ユーザにニックネームの入力を促し、入力されたニックネームを情報処理装置7へ送信することでランダムIDを要求する(ステップS501)。なお、上述したように、ユーザのニックネームの他、例えばパスワード、メールアドレスといった情報の入力を促すなど、他の手法でランダムIDを要求してもよい。情報処理装置7の側では、当該ニックネームを受信すると、図13のステップS205でニックネームと対応付けて登録されたランダムIDの中から、当該受信したニックネームに対応するランダムIDを特定し(ステップS502)、認証装置1へ送信する。なお、ランダムIDに合わせて、情報処理装置の公開鍵についても認証装置1へ送信される。なお、ステップS502の処理では、少なくとも80ビットの固定部を含んでいれば、128ビットのランダムID全体でなくともよい。固定部のみ受信する場合(128ビット全体でない場合)、ステップS503の処理において、可変部に任意のビットデータを割り当てればよい。
【0177】
続いて認証装置1の特定情報生成部186は、情報処理装置7から受信したランダムIDの可変部を変更する(ステップS503)。具体的に、ステップS503の処理では、ランダムIDの可変部を+1することで、受信したランダムIDの可変部を変更する。なお、受信したランダムIDの可変部と異なるものとなれば変更方法は任意であってよい。また、この例では、以前生成した特定情報を使用不可能なものとするために当該ステップS503の処理を実行しているが、以前生成した特定情報をそのまま使用する場合には、当該ステップS503の処理を実行しなくてもよい。また、以前生成した特定情報を使用するか、特定情報を更新するか、をユーザに選択させ、特定情報を更新する選択が行われた場合に、当該ステップS503の処理を実行してもよい。
【0178】
次に、特定情報生成部186は、ステップS501Aで生成した原始鍵と受信したランダムIDの固定部とに基づいて、認証装置の秘密鍵と公開鍵を生成する(ステップS505)。続いて特定情報生成部186は、認証装置の秘密鍵と、受信した情報処理装置の公開鍵に基づいて原始共通鍵を生成する(ステップS506)。ステップS506の処理を実行した後、特定情報生成部186は、原始共通鍵にKDFを適用して共通鍵SKを生成する(ステップS507)。ステップS507で生成される共通鍵SKは、以前ステップS208で生成した共通鍵SKと同じものとなる。
【0179】
ステップS507の処理を実行した後、特定情報生成部186は、ランダムIDのハッシュ値を算出する(ステップS508)。ステップS508の処理では、ステップS503の処理で変更したランダムIDの可変部と、受信したランダムIDの固定部とを合わせたランダムIDのハッシュ値を算出する。なお、ステップS503の処理を実行しない場合には、受信したランダムIDそのもののハッシュ値を算出すればよい。
【0180】
ステップS508の処理を実行した後、特定情報生成部186は、ステップS507の処理で生成した共通鍵SKと、ステップS508の処理で算出したハッシュ値と、に基づいてMAC値を算出する(ステップS509)。ステップS509では、図13に示すステップS209の処理と同様、MACアルゴリズムにより、共通鍵SKとハッシュ値に基づくMAC値を算出する。
【0181】
図18に示すステップS509の処理を実行した後、特定情報生成部186は、算出したMAC値とハッシュ値に基づいて特定情報を生成する(ステップS510)。具体的に、ステップS510では、ハッシュ値に、算出したMAC値を付加し、フッターを含めて320ビットのデータを生成し、これを特定情報とする。ステップS510で生成された特定情報は、ステップS506で生成した認証装置の公開鍵とともに、通信部10を介して情報処理装置7へ送信される。なお、特定情報と認証装置の公開鍵は、予め設定された暗号化方式により暗号化されて情報処理装置7へ送信されてもよい。
【0182】
特定情報は、固定部と可変部を含むランダムID全体のハッシュ値に基づいて生成される。そのため、ステップS503の処理においてランダムIDの可変部が変更されることで、ステップS510の処理にて生成される特定情報も、図13のステップS210で生成した特定情報、すなわち以前生成した特定情報とは異なるものとなる。
【0183】
情報処理装置7の側において特定情報を受信すると、処理部787は、図13のステップS206で生成した情報処理装置の秘密鍵と、受信した認証装置の公開鍵と、に基づいて原始共通鍵を生成する(ステップS511)。ステップS511の処理を実行した後、処理部787は、当該原始共通鍵にKDFを適用して共通鍵SKを生成する(ステップS512)。上述したように、認証装置の秘密鍵はランダムIDの固定部に基づいて生成されており、当該特定情報再生成処理においてもランダムIDの固定部は変化していない。そのため、S512にて生成される共通鍵SKは、図13のステップS208Aで生成された共通鍵SKと同じものとなる。そのため、例えば、ステップS512の処理において、共通鍵SKを生成したタイミングで、生成した共通鍵SKと情報処理装置記憶部77に記憶されている更新前のランダムIDのハッシュ値とに基づくMAC値と、情報処理装置記憶部77に記憶されている更新前の特定情報のMAC値と、が一致することを検証することにより、特定情報更新処理の正当性、すなわち、今回行われた更新リクエストの正当性を検証してもよい。
【0184】
ステップS512の処理を実行した後、処理部787は、受信した特定情報からハッシュ値を抽出する(ステップS513)。続いてステップS512で生成した共通鍵SKと、ステップS513で抽出したハッシュ値に基づいてMAC値を算出する(ステップS514)。
【0185】
ステップS514の処理を実行した後、処理部787は、ステップS514で算出したMAC値を検証する(ステップS515)。具体的に、ステップS515では、ステップS514で算出したMAC値が、受信した特定情報に含まれるMAC値と一致するか否かを確認することで検証する。ステップS515の処理における検証結果は、通信部70を介して認証装置1へ送信される。
【0186】
認証装置1の側において、特定情報生成部186は、受信した検証結果が正常であるか否かを判定し(ステップS516)、正常であれば(ステップS516;YES)、そのまま特定情報生成処理を終了する。一方、検証結果が正常でなければ(ステップS516;NO)、エラーを表示してから(ステップS517)特定情報生成処理を終了する。なお、ステップS517では、再度特定情報更新処理を実行すべきことを促す表示を行ってもよく、また、手動で特定情報更新処理を再度実行可能にしてもよい。
【0187】
一方、情報処理装置7の側においても、処理部787は、ステップS515での検証結果が正常であるか否かを判定する(ステップS518)。検証結果が正常でない場合(ステップS518;NO)、処理部787は、そのまま特定情報生成処理を終了する。なお、この場合、通信部70を介して認証装置1に特定情報の更新に失敗した旨を通知し、認証装置1の側においてエラーを表示してから、再度特定情報更新処理を手動で実行可能にしてもよい。
【0188】
また、ステップS515での検証結果が正常である場合(ステップS518;YES)、処理部787は、受信した認証装置の公開鍵に対応付けて情報処理装置記憶部77に記憶されている特定情報を、受信した特定情報とすることで当該特定情報を更新し(ステップS519)、特定情報更新処理を終了する。ステップS519では、図10に示す対応情報一覧771に含まれる特定情報のうち、受信した認証装置の公開鍵に対応する特定情報を、受信した特定情報に変更する。すなわち、ステップS519の処理は、図10に示す対応情報一覧771を更新する処理であるともいえる。なお、情報処理装置7の側において特定情報を受信する際、合わせてランダムIDを受信し、ステップS519の処理において特定情報を更新する際に、例えばユーザのニックネームやパスワード、メールアドレスといった情報と対応付けて情報処理装置記憶部77に記憶されているランダムIDも、更新すればよい。なお、受信するランダムIDについては、可変部が変更されたものとなっている。そのため、例えば128ビット全てを受信し、ステップS519の処理において、固定部が共通したランダムIDを特定して更新すればよい。また、例えば受信するランダムIDは、ステップS503で変更した可変部のみであってもよい。この場合、ユーザのニックネームやパスワード、メールアドレスといった情報を、当該可変部の情報と合わせて受信し、当該ユーザのニックネームやパスワード、メールアドレスといった情報と対応付けて情報処理装置記憶部77に記憶されているランダムIDを特定し、そのランダムIDを更新すればよい。
【0189】
なお、図16に示す特定情報更新処理では、ステップS511およびステップS512の処理を実行することで共通鍵SKを生成する例を示しているが、受信した認証装置の公開鍵に対応する共通鍵SKを特定可能とすれば、ステップS511およびステップS512の処理を実行しなくてもよい。例えば、対応情報一覧771において認証装置の公開鍵と図13のステップS208Aの処理で生成した共通鍵SKとを紐付けて記憶しておき、受信した認証装置の公開鍵に基づいて共通鍵SKを特定し、特定した共通鍵SKを用いてステップS514の処理を実行すればよい。
【0190】
このように、ランダムIDを情報処理装置7の側に登録しておくことで、ユーザが認証装置1を新たなものに切り替えた場合であっても、煩雑な処理を行うことなく特定情報を再生成することができる。また、ユーザの生体情報そのものを情報処理装置7の側に登録することなく、特定情報の再生成が可能となり、セキュリティを担保することができる。また、認証装置1の側において共通鍵SKを生成すれば、情報処理装置7の側では既存の情報に基づいて処理が可能であるため、再度特定情報生成処理を実行する場合と比較して処理負担を軽減し、好適に特定情報を再生成することができる。
【0191】
以上説明したように、認証装置1では、バックグラウンドでのユーザの認証が行われ、認証に成功した場合に、ユーザが正当であることを特定するための特定情報を生成し、情報処理装置7に送信する。特定情報は、ユーザの生体情報に基づいて生成される場合もあるが、その場合でも当該特定情報は生体情報そのものではなく、また、当該特定情報から生体情報を生成することが不可能である。そのため、生体情報そのものが不正に取得されることを防止でき、セキュリティを確保することができる。また、ランダムIDはランダムに生成されるため、同一の生体情報(顔の特徴量)などの鍵データから複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0192】
また、特定情報の検証結果が正常である場合に、情報処理装置7側に特定情報が登録されるため、一旦登録された以降は、特定情報によってユーザの正当性の確認が可能となる。したがって、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。さらに、一旦生成した特定情報を煩雑な処理を行うことなく更新することができ、また、認証装置1側で生成されたランダムIDの一部を変更することで更新でき、情報処理装置7側において変更する処理を行わなくとも特定情報の更新が可能であるため、更新の処理負担を軽減しつつ安定的にサービスを提供することができる。また、ランダムIDを情報処理装置7の側に登録しておくことで、ユーザが認証装置1を新たなものに切り替えた場合であっても、煩雑な処理を行うことなく特定情報を再生成することができることから、再度特定情報生成処理を実行する場合と比較して処理負担を軽減し、好適に特定情報を再生成することができる。
【0193】
(変形例)
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、認証装置1や情報処理装置7は、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせてもよい。
【0194】
上記実施の形態では、情報処理装置7がパーソナルコンピュータやスマートフォンやタブレット端末である例を示したが、これは一例である。情報処理装置7は、これらに限られず、例えば図19に示す認証システム100Aのように、ドアに設置された端末であってもよい。また、この他にも、例えば金庫に設置された端末や、金融機関やコンビニエンスストアに設置されているATM(Automatic Teller Machine)に設置された端末であってもよい。さらに、サービスを提供するサーバ側にて情報処理装置7の機能を実現するようにしてもよい。図19に示すように、情報処理装置7がドアに設置されている場合は、認証装置1により認証されたユーザの入室を許可するため、特定情報を用いて対象のユーザの正当性を判定し、正当性が確認できた場合にドアを解錠すればよい。すなわち、図15のステップS230の処理にてドアを開錠する処理が行われればよい。また、情報処理装置7がATMに設置された場合、特定情報を用いて対象のユーザの正当性を判定し、正当性が確認できた場合に金融手続を可能にすればよい。
【0195】
具体的に、上記実施の形態では、金融サービスのアプリケーションが実行された場合に認証処理が開始されたが、図19に示すように、情報処理装置7がドアに設置されている場合は、ドアを開錠するためのアプリケーションが実行された場合に認証処理を開始し、当該アプリケーションが起動されている間(起動されてから終了させるまでの期間)、認証処理がバックグラウンドで繰り返し実行されればよい。
【0196】
また、判定指示処理についても同様の期間、繰り返し実行されればよい。上述したように、特定情報生成処理については、対象ユーザに対して、提供されるサービス毎(または情報処理装置7毎)に1回実行されるため、ドアを開錠するサービスに対応して1つの特定情報(金融サービスとは異なる特定情報)が生成されることとなる。なお、図19に示すドアの開錠には、例えばコンサートなどのイベント会場への入場ゲートの開錠が含まれ、図19に示す例では、1つの情報処理装置7が1つのドアの開錠を行う例を示しているが、1つの情報処理装置が複数のドア(複数の入場ゲートを含む)の開錠を行うようにしてもよい。例えば、特定情報によりユーザの正当性が確認された場合、情報処理装置7から認証装置1に対しドア(入場ゲートを含む)の解錠キーを送信するようにすればよい。
【0197】
なお、認証処理については、常時バックグラウンドにて繰り返し実行されていてもよい。そして、ユーザが所望するサービスに対応するアプリケーションが起動されたタイミングで判定指示処理が開始されるようにしてもよい。
【0198】
その他にも、コンサートやイベントなどといったチケット所有者のみ入場可能な施設や、学歴やワクチン接種などの証明書など、ユーザ個人の正当性を確認してサービスを提供するような状況において当該認証システム100を適用可能である。いずれの状況下においても、生体情報それ自体が送受信されることはなく、かつ同一の生体情報(顔の特徴量)などの鍵データから複数の特定情報が生成でき、セキュリティを確保しつつ、ユーザの作業負担を軽減させることができ、ひいては安定してサービスを受けることができる。
【0199】
また、上記実施の形態における特定情報更新処理は、半年や1年といった予め定められた期間が経過したことにより実行される例を示したが、例えば3回特定情報更新処理を行って特定情報を3回更新したら、特定情報生成処理を実行して新たに特定情報を生成するといったように、予め設定された回数の更新が行われたら、新規に特定情報を生成するようにしてもよい。これによれば、時間経過とともに生体情報が変化したことで、より現状のユーザに近い情報を用いた特定情報を定期的に生成できる。
【0200】
また、上記実施の形態では、図13に示すステップS218の処理において情報処理装置7に特定情報を登録する例(対応情報一覧771として登録する例)を示したが、これは一例である。対応情報一覧771には、認証装置の公開鍵が登録されていれば、特定情報は登録されていなくてもよい。情報処理装置7の側では、図15に示すステップS222の処理において図13に示すステップS207A、S208A、S212~S214の処理を実行すれば、受信した特定情報と登録されている特定情報との比較をしなくとも正当性を判定できるためである。また、認証装置の公開鍵を登録することで、サービスの対象者となる認証装置1を特定可能となるためである。なお、対応情報一覧771に登録する情報は、認証装置の公開鍵に限られず、サービスの対象者となる認証装置1を特定可能な情報であれば任意の情報であってよい。
【0201】
なお、認証装置1や情報処理装置7は、専用の装置によらず、通常のコンピュータを用いて実現可能である。例えば、コンピュータに上述のいずれかを実現させるためのプログラムを格納した記録媒体から当該プログラムをコンピュータにインストールすることにより、上述の処理を実行する認証装置1や情報処理装置7を構成してもよい。また、複数のコンピュータが協働して動作することによって、1つの認証装置1や情報処理装置7を構成してもよい。
【0202】
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
【0203】
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
【符号の説明】
【0204】
1 認証装置、2 インターネット、7 情報処理装置、10、70 通信部、11、71 撮影部、11A インカメラ、11B メインカメラ、12、72 音声入出力部、12A スピーカ、12B マイクロフォン、13 傾き検出部、14、73 操作入力部、15 指紋検出部、15A 左指紋センサ、15B 右指紋センサ、16 位置検出部、17 認証装置記憶部、18 認証装置制御部、19、79 表示部、21、81 プロセッサ、22、82 メモリ、23、83 表示コントローラ、24、84 表示機器、25、85 I/Oポート、26、86 記憶機器、27、87 通信機器、28、88 データバス、77 情報処理装置記憶部、78 情報処理装置制御部、99 金融機関、100、100A 認証システム、170 認証処理プログラム、171 認証用生体情報データベース、172 認証用振舞情報データベース、173 傾き情報テーブル、176 特定情報生成プログラム、181 認証用情報取得部、182 認証部、183、783 表示処理部、184 認証用情報更新部、185、785 データ送受信部、186 特定情報生成部、187、787 処理部、770 プログラム、771 対応情報一覧、781 判定用情報取得部、782 判定部
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8
図9
図10
図11A
図11B
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2023-04-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザの特徴量を取得する特徴量取得手段と、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段と、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段と、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段と、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段と、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得手段と、
前記補助情報取得手段で取得した前記リカバリーコードで暗号化された補助情報を復号する復号手段と、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段と、
前記復号手段で復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段と、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段と、
を備える認証装置。
【請求項2】
前記対応情報生成手段で生成した前記対応情報と、前記新特徴量取得手段で取得した前記新特徴量を用いて前記予め定められた二項演算を行い、新たな補助情報を生成する新補助情報生成手段と、
前記新たな補助情報を前記同一リカバリーコードまたは前記同一リカバリーコードとは異なる新たに取得したリカバリーコードで暗号化して外部装置へ登録することで前記補助情報を更新する補助情報更新手段と、
をさらに備える請求項に記載の認証装置。
【請求項3】
前記リカバリーコードと同一の同一リカバリーコードの入力を受け付ける同一リカバリーコード受付手段をさらに備え、
前記復号手段は、前記補助情報取得手段で取得した前記補助情報を、前記同一リカバリーコード受付手段で受け付けた前記同一リカバリーコードで復号する、
請求項1または2に記載の認証装置。
【請求項4】
認証装置により実行される認証支援方法であって、
ユーザの特徴量を取得する特徴量取得ステップと、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得ステップと、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成ステップと、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成ステップと、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録ステップと、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得ステップと、
前記補助情報取得ステップで取得した前記リカバリーコードで暗号化された補助情報を復号する復号ステップと、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得ステップと、
前記復号ステップで復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成ステップと、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成ステップと、
を備える認証支援方法。
【請求項5】
コンピュータを、
ユーザの特徴量を取得する特徴量取得手段、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得手段、
前記補助情報取得手段で取得した前記リカバリーコードで暗号化された補助情報を復号する復号手段、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段、
前記復号手段で復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段、
として機能させることを特徴とするプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
上記の目的を達するため、本発明に係る認証装置は、
ユーザの特徴量を取得する特徴量取得手段と、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段と、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段と、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段と、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段と、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得手段と、
前記補助情報取得手段で取得した前記リカバリーコードで暗号化された補助情報を復号する復号手段と、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段と、
前記復号手段で復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段と、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段と、
を備える。
【手続補正書】
【提出日】2023-05-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザの特徴量を取得する特徴量取得手段と、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段と、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段と、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段と、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段と、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得手段と、
前記補助情報取得手段で取得した前記リカバリーコードで暗号化された補助情報を復号する復号手段と、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段と、
前記復号手段で復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段と、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段と、
を備える認証装置。
【請求項2】
前記リカバリーコードと同一の同一リカバリーコードの入力を受け付ける同一リカバリーコード受付手段をさらに備え、
前記対応情報生成手段で生成した前記対応情報と、前記新特徴量取得手段で取得した前記新特徴量を用いて前記予め定められた二項演算を行い、新たな補助情報を生成する新補助情報生成手段と、
前記新たな補助情報を前記同一リカバリーコードまたは前記同一リカバリーコードとは異なる新たに取得したリカバリーコードで暗号化して外部装置へ登録することで前記補助情報を更新する補助情報更新手段と、
をさらに備える請求項1に記載の認証装置。
【請求項3】
前記リカバリーコードと同一の同一リカバリーコードの入力を受け付ける同一リカバリーコード受付手段をさらに備え、
前記復号手段は、前記補助情報取得手段で取得した前記補助情報を、前記同一リカバリーコード受付手段で受け付けた前記同一リカバリーコードで復号する、
請求項1または2に記載の認証装置。
【請求項4】
認証装置により実行される認証支援方法であって、
ユーザの特徴量を取得する特徴量取得ステップと、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得ステップと、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成ステップと、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成ステップと、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録ステップと、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得ステップと、
前記補助情報取得ステップで取得した前記リカバリーコードで暗号化された補助情報を復号する復号ステップと、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得ステップと、
前記復号ステップで復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成ステップと、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成ステップと、
を備える認証支援方法。
【請求項5】
コンピュータを、
ユーザの特徴量を取得する特徴量取得手段、
前記ユーザにより決定されたリカバリーコードを取得するリカバリーコード取得手段、
入力データが予め設定された閾値の範囲内であれば同一の値が算出される鍵導出関数を、前記鍵導出関数の演算内容に応じて設定される基準量に適用して原始鍵を生成する原始鍵生成手段、
前記特徴量と前記基準量とを用いて予め定められた二項演算を行い、前記原始鍵を再生成するための補助情報を生成する補助情報生成手段、
前記補助情報を前記リカバリーコードで暗号化して外部装置へ登録する補助情報登録手段、
前記リカバリーコードで暗号化された補助情報を前記外部装置から取得する補助情報取得手段、
前記補助情報取得手段で取得した前記リカバリーコードで暗号化された補助情報を復号する復号手段、
前記ユーザの新たな特徴量である新特徴量を取得する新特徴量取得手段、
前記復号手段で復号した前記補助情報と前記新特徴量とを用いて前記予め定められた二項演算の逆演算を行い、前記基準量に対応する対応情報を生成する対応情報生成手段、
前記対応情報に前記鍵導出関数を適用して前記原始鍵を再生成する原始鍵再生成手段、
として機能させることを特徴とするプログラム。