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

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

▶ ソフトバンクモバイル株式会社の特許一覧

<>
  • 特許-認証システム及び認証方法 図1
  • 特許-認証システム及び認証方法 図2
  • 特許-認証システム及び認証方法 図3
  • 特許-認証システム及び認証方法 図4
  • 特許-認証システム及び認証方法 図5
  • 特許-認証システム及び認証方法 図6
  • 特許-認証システム及び認証方法 図7
  • 特許-認証システム及び認証方法 図8
  • 特許-認証システム及び認証方法 図9
  • 特許-認証システム及び認証方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】認証システム及び認証方法
(51)【国際特許分類】
   G06F 21/32 20130101AFI20240611BHJP
   H04L 9/32 20060101ALI20240611BHJP
【FI】
G06F21/32
H04L9/32 100D
【請求項の数】 8
(21)【出願番号】P 2022167663
(22)【出願日】2022-10-19
(65)【公開番号】P2024060344
(43)【公開日】2024-05-02
【審査請求日】2022-12-16
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】太田 秀典
【審査官】金沢 史明
(56)【参考文献】
【文献】国際公開第2021/070838(WO,A1)
【文献】国際公開第2021/186754(WO,A1)
【文献】国際公開第2020/084748(WO,A1)
【文献】米国特許出願公開第2022/0131698(US,A1)
【文献】BRINGER, Julien et al.,Privacy-Preserving Biometric Identification Using Secure Multiparty Computation,IEEE Signal Processing Magazine [online],2013年,Vol. 30, No. 2,pp. 42-52,[2023年8月7日検索], インターネット<URL: https://ieeexplore.ieee.org/document/6461629>
【文献】FALAMAS, Diana-Elena et al.,Assessment of Two Privacy Preserving Authentication Methods Using Secure Multiparty Computation Based on Secret Sharing,Symmetry,MDPI,2021年05月18日,Vol. 13, Issue 5, 894,pp. 1-20,[2023年8月7日検索], インターネット<URL: https://www.mdpi.com/2073-8994/13/5/894>
【文献】PAGNIN, Elena and MITROKOTSA, Aikaterini,Privacy-Preserving Biometric Authentication: Challenges and Directions,Security and Communication Networks,Hindawi,2017年10月19日,Vol. 2017, Article ID 7129505,pp. 1-9,[2023年8月7日検索], インターネット<URL:https://www.hindawi.com/journals/scn/2017/7129505/>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/32
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
Additive secret sharing scheme for a general adversary structure、又はReplicated additive secret sharing schemeを用いた認証を実行する認証システムであって、
第1サーバと、
人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバと
を備え、
前記複数の第2サーバのそれぞれは、
前記シェアを記憶するシェア記憶部と、
認証対象の人の生体情報から生成されたテンプレートを受信するテンプレート受信部と、
前記テンプレート受信部が受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行部と、
前記演算実行部による演算結果を前記第1サーバに送信する演算結果送信部と
を有し、
前記第1サーバは、
前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信部と、
前記演算結果受信部が受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定部と
を有し、
登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのコサイン類似度を算出すべく、前記複数の第2サーバのそれぞれの前記演算実行部は、前記テンプレート受信部が受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いて、前記コサイン類似度を算出するための一部の演算を実行し、前記第1サーバの前記認証結果決定部は、前記複数の第2サーバのそれぞれの前記演算実行部が実行した前記コサイン類似度を算出するための一部の演算結果を統合することによって、前記コサイン類似度を算出し、算出したコサイン類似度によって、前記認証対象の人の認証結果を決定する、認証システム。
【請求項2】
前記シェア記憶部は、複数の人のそれぞれについて、前記複数のシェアのうちの1つのシェアを記憶し、
前記演算実行部は、前記認証対象の人の前記テンプレートと、前記シェア記憶部に記憶されている複数の前記シェアのそれぞれとを用いた演算を実行し、
前記演算結果送信部は、前記演算実行部による複数の前記演算結果を前記第1サーバに送信し、
前記第1サーバは、前記複数の第2サーバのそれぞれから前記複数の演算結果を受信し、
前記認証結果決定部は、前記演算結果受信部が受信した前記複数の演算結果を用いて、前記認証対象の人の認証結果を決定する、請求項1に記載の認証システム。
【請求項3】
前記複数の第2サーバは、前記人の前記生体情報から生成された前記テンプレートから複数のハッシュ値を減算することによって生成されたシェアと、前記複数のハッシュ値とを含む前記複数のシェアのそれぞれをそれぞれが記憶する、請求項1に記載の認証システム。
【請求項4】
第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとによって実行される、Additive secret sharing scheme for a general adversary structure、又はReplicated additive secret sharing schemeを用いた認証方法であって、
前記複数の第2サーバのそれぞれが、前記シェアをシェア記憶部に記憶する記憶段階と、
前記複数の第2サーバのそれぞれが、認証対象の人の生体情報から生成されたテンプレートを受信するテンプレート受信段階と、
前記複数の第2サーバのそれぞれが、前記テンプレート受信段階において受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行段階と、
前記複数の第2サーバのそれぞれが、前記演算実行段階における演算結果を前記第1サーバに送信する演算結果送信段階と、
前記第1サーバが、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信段階と、
前記第1サーバが、前記演算結果受信段階において受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定段階と
を備え、
登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのコサイン類似度を算出すべく、前記複数の第2サーバのそれぞれの前記演算実行段階は、前記テンプレート受信段階において受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いて、前記コサイン類似度を算出するための一部の演算を実行し、前記第1サーバの前記認証結果決定段階は、前記複数の第2サーバのそれぞれの前記演算実行段階において実行された前記コサイン類似度を算出するための一部の演算結果を統合することによって、前記コサイン類似度を算出し、算出したコサイン類似度によって、前記認証対象の人の認証結果を決定する、認証方法。
【請求項5】
Additive secret sharing scheme for a general adversary structure、又はReplicated additive secret sharing schemeを用いた認証を実行する認証システムであって、
第1サーバと、
人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバと
を備え、
前記複数の第2サーバのそれぞれは、
前記シェアを記憶するシェア記憶部と、
認証対象の人の生体情報から生成されたテンプレートから生成された複数のシェアのうちの1つを受信するシェア受信部と、
前記シェア受信部が受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行部と、
前記演算実行部による演算結果を前記第1サーバに送信する演算結果送信部と
を有し、
前記第1サーバは、
前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信部と、
前記演算結果受信部が受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定部と
を有し、
登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのユークリッド距離を算出すべく、前記複数の第2サーバのそれぞれの前記演算実行部は、前記シェア受信部が受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いて、前記ユークリッド距離を算出するための一部の演算を実行し、前記第1サーバの前記認証結果決定部は、前記複数の第2サーバのそれぞれの前記演算実行部が実行した前記ユークリッド距離を算出するための一部の演算結果を統合することによって、前記ユークリッド距離を算出し、算出したユークリッド距離によって、前記認証対象の人の認証結果を決定する、認証システム。
【請求項6】
前記シェア記憶部は、複数の人のそれぞれについて、前記複数のシェアのうちの1つのシェアを記憶し、
前記演算実行部は、前記シェア受信部が受信した前記認証対象の人の前記シェアと、前記シェア記憶部に記憶されている複数の前記シェアのそれぞれとを用いた演算を実行し、
前記演算結果送信部は、前記演算実行部による複数の前記演算結果を前記第1サーバに送信し、
前記第1サーバは、前記複数の第2サーバのそれぞれから前記複数の演算結果を受信し、
前記認証結果決定部は、前記演算結果受信部が受信した前記複数の演算結果を用いて、前記認証対象の人の認証結果を決定する、請求項5に記載の認証システム。
【請求項7】
前記複数の第2サーバは、前記人の前記生体情報から生成された前記テンプレートから複数のハッシュ値を減算することによって生成されたシェアと、前記複数のハッシュ値とを含む前記複数のシェアのそれぞれをそれぞれが記憶する、請求項5に記載の認証システム。
【請求項8】
第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとによって実行される、Additive secret sharing scheme for a general adversary structure、又はReplicated additive secret sharing schemeを用いた認証方法であって、
前記複数の第2サーバのそれぞれが、前記シェアをシェア記憶部に記憶するシェア記憶段階と、
前記複数の第2サーバのそれぞれが、認証対象の人の生体情報から生成されたテンプレートから生成された複数のシェアのうちの1つを受信するシェア受信段階と、
前記複数の第2サーバのそれぞれが、前記シェア受信段階において受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行段階と、
前記複数の第2サーバのそれぞれが、前記演算実行段階における演算結果を前記第1サーバに送信する演算結果送信段階と、
前記第1サーバが、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信段階と、
前記第1サーバが、前記演算結果受信段階において受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定段階と
を備え、
登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのユークリッド距離を算出すべく、前記複数の第2サーバのそれぞれの前記演算実行段階は、前記シェア受信段階において受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いて、前記ユークリッド距離を算出するための一部の演算を実行し、前記第1サーバの前記認証結果決定段階は、前記複数の第2サーバのそれぞれの前記演算実行段階において実行された前記ユークリッド距離を算出するための一部の演算結果を統合することによって、前記ユークリッド距離を算出し、算出したユークリッド距離によって、前記認証対象の人の認証結果を決定する、認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム及び認証方法に関する。
【背景技術】
【0002】
特許文献1には、ユーザの顔画像を取得し、顔画像に含まれる特徴点に関する情報を用いてユーザを認証する技術が記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2021-170205号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、認証システムが提供される。前記認証システムは、第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとを備えてよい。前記複数の第2サーバのそれぞれは、前記シェアを記憶するシェア記憶部を有してよい。前記複数の第2サーバのそれぞれは、認証対象の人の生体情報から生成されたテンプレートを受信するテンプレート受信部を有してよい。前記複数の第2サーバのそれぞれは、前記テンプレート受信部が受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行部を有してよい。前記複数の第2サーバのそれぞれは、前記演算実行部による演算結果を前記第1サーバに送信する演算結果送信部を有してよい。前記第1サーバは、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信部を有してよい。前記第1サーバは、前記演算結果受信部が受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定部を有してよい。
【0004】
前記認証システムにおいて、前記シェア記憶部は、複数の人のそれぞれについて、前記複数のシェアのうちの1つのシェアを記憶してよく、前記演算実行部は、前記認証対象の人の前記テンプレートと、前記シェア記憶部に記憶されている複数の前記シェアのそれぞれとを用いた演算を実行してよく、前記演算結果送信部は、前記演算実行部による複数の前記演算結果を前記第1サーバに送信してよく、前記第1サーバは、前記複数の第2サーバのそれぞれから前記複数の演算結果を受信してよく、前記認証結果決定部は、前記演算結果受信部が受信した前記複数の演算結果を用いて、前記認証対象の人の認証結果を決定してよい。
【0005】
前記いずれかの認証システムにおいて、前記複数の第2サーバは、前記人の前記生体情報から生成された前記テンプレートから複数のハッシュ値を減算することによって生成されたシェアと、前記複数のハッシュ値とを含む前記複数のシェアのそれぞれをそれぞれが記憶してよい。
【0006】
前記いずれかの認証システムにおいて、前記第1サーバ及び前記複数の第2サーバは、登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのコサイン類似度を算出することによって、前記認証対象の人の認証結果を決定してよい。前記複数の第2サーバのそれぞれの前記演算実行部は、前記コサイン類似度を算出するための一部の演算を実行してよく、前記第1サーバの前記認証結果決定部は、前記複数の第2サーバのそれぞれの前記演算実行部が実行した前記コサイン類似度を算出するための一部の演算結果を統合することによって、前記コサイン類似度を算出してよい。
【0007】
本発明の一実施態様によれば、認証方法が提供される。前記認証方法は、第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとによって実行されてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記シェアをシェア記憶部に記憶する記憶段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、認証対象の人の生体情報から生成されたテンプレートを受信するテンプレート受信段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記テンプレート受信段階において受信した前記テンプレートと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記演算実行段階における演算結果を前記第1サーバに送信する演算結果送信段階を備えてよい。前記認証方法は、前記第1サーバが、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信段階を備えてよい。前記認証方法は、前記演算結果受信段階において受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定段階を備えてよい。
【0008】
本発明の一実施態様によれば、認証システムが提供される。前記認証システムは、第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとを備えてよい。前記複数の第2サーバのそれぞれは、前記シェアを記憶するシェア記憶部を有してよい。前記複数の第2サーバのそれぞれは、認証対象の人の生体情報から生成されたテンプレートから生成された複数のシェアのうちの1つを受信するシェア受信部を有してよい。前記複数の第2サーバのそれぞれは、前記シェア受信部が受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行部を有してよい。前記複数の第2サーバのそれぞれは、前記演算実行部による演算結果を前記第1サーバに送信する演算結果送信部を有してよい。前記第1サーバは、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信部を有してよい。前記第1サーバは、前記演算結果受信部が受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定部を有してよい。
【0009】
前記認証システムにおいて、前記シェア記憶部は、複数の人のそれぞれについて、前記複数のシェアのうちの1つのシェアを記憶してよく、前記演算実行部は、前記シェア受信部が受信した前記認証対象の人の前記シェアと、前記シェア記憶部に記憶されている複数の前記シェアのそれぞれとを用いた演算を実行してよく、前記演算結果送信部は、前記演算実行部による複数の前記演算結果を前記第1サーバに送信してよく、前記第1サーバは、前記複数の第2サーバのそれぞれから前記複数の演算結果を受信してよく、前記認証結果決定部は、前記演算結果受信部が受信した前記複数の演算結果を用いて、前記認証対象の人の認証結果を決定してよい。
【0010】
前記いずれかの認証システムにおいて、前記複数の第2サーバは、前記人の前記生体情報から生成された前記テンプレートから複数のハッシュ値を減算することによって生成されたシェアと、前記複数のハッシュ値とを含む前記複数のシェアのそれぞれをそれぞれが記憶してよい。
【0011】
前記いずれかの認証システムにおいて、前記第1サーバ及び前記複数の第2サーバは、登録されている人の前記生体情報から生成された前記テンプレートと、前記認証対象の人の生体情報から生成された前記テンプレートとのユークリッド距離を算出することによって、前記認証対象の人の認証結果を決定してよい。前記複数の第2サーバのそれぞれの前記演算実行部は、前記ユークリッド距離を算出するための一部の演算を実行してよく、前記第1サーバの前記認証結果決定部は、前記複数の第2サーバのそれぞれの前記演算実行部が実行した前記ユークリッド距離を算出するための一部の演算結果を統合することによって、前記ユークリッド距離を算出してよい。
【0012】
本発明の一実施態様によれば、認証方法が提供される。前記認証方法は、第1サーバと、人の生体情報から生成されたテンプレートから生成された複数のシェアのそれぞれをそれぞれが記憶する複数の第2サーバとによって実行されてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記シェアをシェア記憶部に記憶するシェア記憶段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、認証対象の人の生体情報から生成されたテンプレートから生成された複数のシェアのうちの1つを受信するシェア受信段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記シェア受信段階において受信した前記シェアと、前記シェア記憶部に記憶されている前記シェアとを用いた演算を実行する演算実行段階を備えてよい。前記認証方法は、前記複数の第2サーバのそれぞれが、前記演算実行段階における演算結果を前記第1サーバに送信する演算結果送信段階を備えてよい。前記認証方法は、前記第1サーバが、前記複数の第2サーバのそれぞれから前記演算結果を受信する演算結果受信段階を備えてよい。 前記第1サーバが、前記演算結果受信段階において受信した複数の前記演算結果を用いて、前記認証対象の人の認証結果を決定する認証結果決定段階を備えてよい。
【0013】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0014】
図1】認証システム10の一例を概略的に示す。
図2】認証システム10における処理の流れの一例を概略的に示す。
図3】認証システム10における演算内容について説明するための説明図である。
図4】サブサーバ200の機能構成の一例を概略的に示す。
図5】メインサーバ100の機能構成の一例を概略的に示す。
図6】認証システム10における処理の流れの一例を概略的に示す。
図7】認証システム10における演算内容について説明するための説明図である。
図8】サブサーバ200の機能構成の一例を概略的に示す。
図9】メインサーバ100の機能構成の一例を概略的に示す。
図10】メインサーバ100、サブサーバ200、登録クライアント300、又は認証クライアント400として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0015】
従来の生体認証システムでは、人間の身体的特徴や行動的特徴を示す生体データを暗号化した状態でサーバに保存しているが、認証時に生体データを復号化することになり、復号化したときに生体データが盗まれるおそれがある。生体データを変換したまま認証を行うキャンセラブルバイオメトリクスの技術が開発されているが、その多くは、認証精度が悪化したり、長い認証時間を必要とするものである。そのため、変換された生体データであっても、漏洩時に元の生体データが復元されるおそれがあるので、秘密分散技術によってデータを複数のサーバに分割保存し、漏洩時のリスクを低減できることが望ましい。秘密分散技術によれば、一部のサーバからデータが漏洩しても、データを復元できないので、攻撃者は複数のサーバからデータを得なくてはならなくなり、結果として安全性が高まる。本実施形態に係る認証システム10は、生体認証において、秘密分散を用いたデータ変化を行い、変換した状態で、高速、かつ、認証精度を悪化させない認証を行えるセキュアな技術を提供する。
【0016】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0017】
図1は、認証システム10の一例を概略的に示す。認証システム10は、秘密分散を用いた生体認証システムであってよい。
【0018】
認証システム10は、メインサーバ100及び複数のサブサーバ200を備える。メインサーバ100は、第1サーバの一例であってよい。サブサーバ200は、第2サーバの一例であってよい。
【0019】
認証システム10は、登録クライアント300を更に備えてもよい。認証システム10は、認証クライアント400を更に備えてもよい。
【0020】
メインサーバ100、サブサーバ200、登録クライアント300、及び認証クライアント400は、ネットワーク20を介して通信してよい。ネットワーク20は、インターネットを含んでよい。ネットワーク20は、LAN(Local Area Network)を含んでよい。ネットワーク20は、移動体通信ネットワークを含んでよい。移動体通信ネットワークは、5G(5th Generation)通信方式、LTE(Long Term Evolution)通信方式、3G(3rd Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式のいずれに準拠していてもよい。
【0021】
メインサーバ100は、ネットワーク20に有線接続されてよい。メインサーバ100は、ネットワーク20に無線接続されてもよい。メインサーバ100は、無線基地局を介してネットワーク20に接続されてよい。メインサーバ100は、Wi-Fi(登録商標)アクセスポイントを介してネットワーク20に接続されてよい。メインサーバ100は、いわゆるサーバ装置によって構成されてよい。メインサーバ100は、任意の装置上で実現されたサーバであってもよい。
【0022】
サブサーバ200は、ネットワーク20に有線接続されてよい。サブサーバ200は、ネットワーク20に無線接続されてもよい。サブサーバ200は、無線基地局を介してネットワーク20に接続されてよい。サブサーバ200は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。サブサーバ200は、いわゆるサーバ装置によって構成されてよい。サブサーバ200は、任意の装置上で実現されたサーバであってもよい。
【0023】
登録クライアント300は、ネットワーク20に有線接続されてよい。登録クライアント300は、ネットワーク20に無線接続されてもよい。登録クライアント300は、無線基地局を介してネットワーク20に接続されてよい。登録クライアント300は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。登録クライアント300は、任意の装置であってよい。例えば、登録クライアント300は、スマートフォン、タブレット端末、PC(Personal Computer)、登録専用端末、及びサーバ装置等であってよい。
【0024】
認証クライアント400は、ネットワーク20に有線接続されてよい。認証クライアント400は、ネットワーク20に無線接続されてもよい。認証クライアント400は、無線基地局を介してネットワーク20に接続されてよい。認証クライアント400は、Wi-Fiアクセスポイントを介してネットワーク20に接続されてよい。認証クライアント400は、任意の装置であってよい。例えば、認証クライアント400は、スマートフォン、タブレット端末、PC、認証専用端末、及びサーバ装置等であってよい。
【0025】
登録クライアント300は、登録対象の人50の生体情報をセンサによって取得して、人50の認証に用いる情報を認証システム10に送信する。
【0026】
例えば、登録クライアント300が、人50の生体情報からテンプレートを生成し、テンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信する。テンプレートは、生体情報の特徴を表す多次元ベクトルの特徴量データである。複数のサブサーバ200のそれぞれは、受信したシェアを記憶する。どのシェアがどのサブサーバ200に記憶されているかは、メインサーバ100によって管理されてよい。
【0027】
代替例として、登録クライアント300が、人50の生体情報からテンプレートを生成して、メインサーバ100に送信してもよい。メインサーバ100は、受信したテンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信する。なお、これに限らず、登録クライアント300が、人50の生体情報からテンプレートを生成して、任意の装置に送信し、当該任意の装置が、受信したテンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信してもよい。
【0028】
代替例として、登録クライアント300が、人50の生体情報をメインサーバ100に送信してもよい。メインサーバ100は、受信した生体情報からテンプレートを生成し、テンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信する。なお、これに限らず、登録クライアント300が、人50の生体情報を、任意の装置に送信し、当該任意の装置が、受信した生体情報からテンプレートを生成し、テンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信してもよい。また、登録クライアント300が、人50の生体情報を、任意の第1の装置に送信し、当該第1の装置が、受信した生体情報からテンプレートを生成して、任意の第2の装置に送信し、当該第2の装置が、テンプレートから複数のシェアを生成して、複数のシェアのそれぞれを複数のサブサーバ200のそれぞれに送信してもよい。
【0029】
認証クライアント400は、認証対象の人60の生体情報をセンサによって取得して、人60の認証に用いる情報を認証システム10に送信する。例えば、認証クライアント400は、人60の生体情報からテンプレートを生成して、複数のサブサーバ200のそれぞれに送信する。例えば、認証クライアント400は、人60の生体情報からテンプレートを生成し、テンプレートから複数のシェアを生成して、複数のサブサーバ200のそれぞれに送信する。
【0030】
認証システム10は、秘密分散を用いた生体認証を実行する。例えば、分散数を3とした場合、元データから第1ハッシュ値及び第2ハッシュ値を減算した値と、第1ハッシュ値と、第2ハッシュ値とを、3つのシェアとして、3つのサブサーバ200で分散管理する。
【0031】
認証システム10は、例えば、ISO/IEC 19592-2:2017における5つの方式のいずれかを用いてよい。例えば、認証システム10は、「Additive secret sharing scheme for a general adversary structure」を用いる。認証システム10は、「Replicated additive secret sharing scheme」を用いてもよい。認証システム10は、「Shamir secret sharing scheme」を用いてもよい。認証システム10は、「Ramp Shamir secret sharing scheme」を用いてもよい。なお、認証システム10は、「Computational additive secret sharing scheme」を用いてもよい。本実施形態では、認証システム10が「Additive secret sharing scheme for a general adversary structure」を用いる場合について主に説明する。
【0032】
認証システム10は、結果的に、認証対象の人60のテンプレートと、登録されているテンプレートとの類似度を算出することによって、人60の認証結果を決定する。認証システム10は、例えば、認証対象の人60のテンプレートと、登録されているテンプレートとのコサイン類似度を算出することによって、人60の認証結果を決定する。
【0033】
本例において、テンプレートは、d次元ベクトルの特徴量データであり、正規化されているものとする。登録されているテンプレートを下記数式1、人60のテンプレートを下記数式2で表すと、コサイン類似度は下記数式3によって算出することができる。dはベクトル次元数である。
【0034】
【数1】
【0035】
【数2】
【0036】
【数3】
【0037】
認証システム10は、例えば、テンプレート同士のユークリッド距離を算出する。登録されているテンプレートを上記数式1、人60のテンプレートを上記数式2で表すと、ユークリッド距離は下記数式4によって算出することができる。
【0038】
【数4】
【0039】
なお、本実施形態では、認証システム10が、コサイン類似度を用いる場合と、ユークリッド距離を用いる場合とを主に例に挙げて説明するが、これに限られず、認証システム10は、マハラノビス距離及びハミング距離等の、他のデータ距離や、他の類似度を用いてもよい。
【0040】
図2は、認証システム10における処理の流れの一例を概略的に示す。ここでは、認証システム10がコサイン類似度を用いる場合の処理の流れについて説明する。
【0041】
登録クライアント300は、センサ部302及び変換部304を備える。センサ部302は、登録対象の人50の生体情報500を取得して、生体情報500からテンプレート510を生成する。変換部304は、テンプレート510から複数のシェア520を生成して、複数のシェア520のそれぞれを、複数のサブサーバ200のそれぞれに送信する。変換部304は、任意の暗号化手法を用いて暗号化した上で、複数のシェア520のそれぞれを複数のサブサーバ200のそれぞれに送信してよい。複数のシェア520のそれぞれの送信先は、例えば、メインサーバ100によって予め指定される。
【0042】
複数のサブサーバ200のそれぞれは、登録クライアント300から受信したシェア520を記憶する。サブサーバ200は、一の登録クライアント300から複数の人50のシェア520を受信したり、複数の登録クライアント300からシェア520を受信したりすることによって、複数の人50のそれぞれについて、複数のシェア520のうちの1つを記憶する。このように、複数のサブサーバ200が、複数の人50のそれぞれの複数のシェア520を分散して記憶する。
【0043】
認証クライアント400は、センサ部402を備える。センサ部402は、認証対象の人60の生体情報600を取得して、生体情報600からテンプレート610を生成する。センサ部402は、テンプレート610を複数のサブサーバ200のそれぞれに送信する。センサ部402は、任意の暗号化手法を用いて暗号化した上で、テンプレート610を複数のサブサーバ200のそれぞれに送信してよい。
【0044】
複数のサブサーバ200のそれぞれは、認証クライアント400から受信したテンプレート610と、記憶している複数のシェア520のそれぞれとに対する演算を実行する。複数のサブサーバ200のそれぞれは、テンプレート510とテンプレート610とのコサイン類似度を算出するための演算の一部を実行する。複数のサブサーバ200のそれぞれは、演算結果700をメインサーバ100に送信する。
【0045】
メインサーバ100は、複数のサブサーバ200のそれぞれから受信した演算結果700を用いて、人60の認証結果710を決定する。メインサーバ100は、複数の演算結果700に対して、結果として、テンプレート510とテンプレート610とのコサイン類似度が算出されるような演算を実行する。
【0046】
図3は、認証システム10における演算内容について説明するための説明図である。ここでは、任意の要素ベクトルxが、下記数式5で表すように、複数のサブサーバ200に秘密分散されて記憶されているものとする。Sは分散数を表す。
【0047】
【数5】
【0048】
この場合、登録されている人50のテンプレート510と、認証対象の人60のテンプレート610とのコサイン類似度は、図3に示す数式で表すことができる。
【0049】
複数のサブサーバ200のそれぞれは、図3における複数の部分演算220のそれぞれを実行する。メインサーバ100は、複数のサブサーバ200のそれぞれから部分演算220の演算結果700を受信して、複数の演算結果700を加算することによって、テンプレート510とテンプレート610とのコサイン類似度を算出することができる。
【0050】
このように、図2及び図3に例示する認証システム10は、一のテンプレート510から生成された複数のシェア520を複数のサブサーバ200で分散管理しつつ、サブサーバ200からメインサーバ100に対してシェア520を送信するのではなく、演算結果700を送信するように構成される。演算結果700が仮に漏洩したとしても、演算結果700からシェア520を予測することは基本的にできないことから、全体的なセキュリティレベルを高めることができる。
【0051】
図4は、サブサーバ200の機能構成の一例を概略的に示す。サブサーバ200は、シェア取得部202、シェア記憶部204、テンプレート受信部206、演算実行部208、及び演算結果送信部210を備える。
【0052】
シェア取得部202は、人50の生体情報500から生成されたテンプレート510から生成された複数のシェア520のうちの1つを取得する。シェア取得部202は、複数の人50のそれぞれについて、人50の生体情報500から生成されたテンプレート510から生成された複数のシェア520のうちの1つを取得してよい。シェア取得部202は、取得したシェア520をシェア記憶部204に記憶させる。
【0053】
複数のサブサーバ200のそれぞれが、人50の生体情報500から生成されたテンプレート510から生成された複数のシェア520のそれぞれを記憶することになる。例えば、複数のサブサーバ200のそれぞれが、人50の生体情報500から生成されたテンプレート510から複数のハッシュ値を減算することによって生成されたシェアと、複数のハッシュ値とを含む複数のシェア520のそれぞれを記憶することになる。
【0054】
例えば、シェア取得部202は、登録クライアント300からシェア520を取得する。シェア取得部202は、登録クライアント300からネットワーク20を介してシェア520を受信してよい。シェア取得部202は、登録クライアント300において暗号化されたシェア520を受信して、復号化してよい。なお、シェア取得部202は、登録クライアント300において可搬型の記憶媒体に記憶されたシェア520を、当該可搬型の記憶媒体から読み出すことによって取得してもよい。
【0055】
例えば、シェア取得部202は、メインサーバ100からシェア520を取得する。シェア取得部202は、メインサーバ100からネットワーク20を介してシェア520を受信してよい。メインサーバ100は、メインサーバ100において暗号化されたシェア520を受信して、復号化してよい。なお、シェア取得部202は、メインサーバ100において可搬型の記憶媒体に記憶されたシェア520を、当該可搬型の記憶媒体から読み出すことによって取得してもよい。
【0056】
テンプレート受信部206は、認証対象の人60の生体情報600から生成されたテンプレート610を受信する。例えば、テンプレート受信部206は、認証クライアント400において生体情報600から生成されたテンプレート610を、認証クライアント400からネットワーク20を介して受信する。テンプレート受信部206は、認証クライアント400において暗号化されたテンプレート610をネットワーク20を介して受信して、復号化してよい。
【0057】
演算実行部208は、テンプレート受信部206が受信したテンプレート610と、シェア記憶部204に記憶されているシェア520とを用いた演算を実行する。演算実行部208は、図3で例示した、テンプレート610とテンプレート510とのコサイン類似度を算出するための部分演算220を実行する。
【0058】
1対1認証の場合、演算実行部208は、テンプレート受信部206が受信したテンプレート610と、シェア記憶部204に記憶されている1つのシェア520とを用いた演算を実行する。例えば、人60が、特定の人であるかを認証する場合、テンプレート受信部206が受信したテンプレート610と、当該特定の人のシェア520とを用いた演算を実行する。1対多認証の場合、演算実行部208は、テンプレート受信部206が受信したテンプレート610と、シェア記憶部204に記憶されている複数のシェア520のそれぞれとを用いた演算を実行する。
【0059】
演算結果送信部210は、演算実行部208による演算結果700をメインサーバ100に送信する。演算結果送信部210は、演算結果700を暗号化してネットワーク20を介してメインサーバ100に送信してよい。
【0060】
図5は、メインサーバ100の機能構成の一例を概略的に示す。メインサーバ100は、対応関係管理部102、演算結果受信部104、認証結果決定部106、及び認証結果出力部108を備える。なお、メインサーバ100がこれらの全てを備えることは必須とは限らない。
【0061】
対応関係管理部102は、1つのテンプレート510から生成された複数のシェア520のそれぞれが、複数のサブサーバ200のいずれに記憶されているかの対応関係を管理する。例えば、分散数が3である場合、対応関係管理部102は、1つ目のシェア520と当該シェア520を記憶するサブサーバ200、2つ目のシェア520と当該シェア520を記憶するサブサーバ200、及び3つ目のシェア520と当該シェア520を記憶するサブサーバ200との対応関係を記憶する。対応関係管理部102は、当該対応関係に従って、登録クライアント300に対して、複数のシェア520のそれぞれの送信先のサブサーバ200を指示してよい。
【0062】
このように管理することによって、秘密分散による分散状況におけるコサイン類似度の計算を適切に実行することができる。また、対応関係管理部102が管理する対応関係を編集するだけで、サブサーバ200を追加したり、サブサーバ200に不具合が発生したりした場合に、容易に対応可能にすることができる。なお、メインサーバ100が対応関係管理部102を備えるのではなく、他の装置が対応関係管理部102を備えて、メインサーバ100が当該他の装置の対応関係管理部102にアクセスするようにしてもよい。
【0063】
演算結果受信部104は、複数のサブサーバ200のそれぞれから演算結果700を受信する。演算結果受信部104は、暗号化された演算結果700を受信して、復号化してよい。なお、演算結果受信部104は、対応関係管理部102を参照することによって、どのサブサーバ200と通信するかを管理してもよい。
【0064】
認証結果決定部106は、演算結果受信部104が受信した複数の演算結果700を用いて、認証対象の人60の認証結果710を決定する。認証結果決定部106は、対応関係管理部102を参照することによって、どのサブサーバ200がどのシェアを記憶しているかを管理したり、各シェアのシェアの個数を管理したりしてよい。認証結果決定部106は、対応関係管理部102を参照することなく、認証結果710を決定してもよい。認証結果決定部106は、図3に示すように、複数の演算結果700を加算することによって、テンプレート610とテンプレート510とのコサイン類似度を算出してよい。認証結果決定部106は、算出したコサイン類似度によって、人60の認証結果710を決定する。
【0065】
1対1認証の場合において、例えば、認証結果決定部106は、算出したコサイン類似度が、予め設定された閾値よりも高い場合に、認証OKと判定し、閾値より低い場合に、認証NGと判定する。1対多認証の場合において、例えば、認証結果決定部106は、算出した複数のコサイン類似度のうち予め設定された閾値より高いコサイン類似度が存在する場合、人60が、最も高いコサイン類似度の算出に用いたシェア520に対応する人50であると決定し、算出した複数のコサイン類似度の全てが予め設定された閾値よりも低い場合に、認証NGと判定する。認証結果の決定方法は、これらに限られない。
【0066】
認証結果出力部108は、認証結果決定部106によって決定された認証結果710を出力する。認証結果出力部108は、例えば、メインサーバ100が備えるディスプレイに認証結果710を表示させる。認証結果出力部108は、例えば、ネットワーク20を介して他の装置に認証結果710を送信する。例えば、認証結果出力部108は、ネットワーク20を介して認証結果710を認証クライアント400に送信する。
【0067】
図6は、認証システム10における処理の流れの一例を概略的に示す。ここでは、認証システム10がユークリッド距離を用いる場合の処理の流れについて説明する。なお、ここでは、図2に示す認証システム10とは異なる点を主に説明する。
【0068】
認証クライアント400は、センサ部402及び変換部404を備える。センサ部402は、認証対象の人60の生体情報600を取得して、生体情報600からテンプレート610を生成する。変換部404は、テンプレート610から複数のシェア620を生成して、複数のシェア620のそれぞれを、複数のサブサーバ200のそれぞれに送信する。変換部404は、任意の暗号化手法を用いて暗号化した上で、複数のシェア620のそれぞれを複数のサブサーバ200のそれぞれに送信してよい。複数のシェア620のそれぞれの送信先は、例えば、メインサーバ100によって予め指定される。
【0069】
複数のサブサーバ200のそれぞれは、認証クライアント400から受信したシェア620と、記憶している複数のシェア520のそれぞれとに対する演算を実行する。複数のサブサーバ200のそれぞれは、テンプレート510とテンプレート610とのユークリッド距離を算出するための演算の一部を実行する。複数のサブサーバ200のそれぞれは、演算結果700をメインサーバ100に送信する。
【0070】
メインサーバ100は、複数のサブサーバ200のそれぞれから受信した演算結果700を用いて、人60の認証結果710を決定する。メインサーバ100は、複数の演算結果700に対して、結果として、テンプレート510とテンプレート610とのユークリッドが算出されるような演算を実行する。
【0071】
図7は、認証システム10における演算内容について説明するための説明図である。ここでは、d次元ベクトルの任意の要素ベクトルx、yが、下記数式6、数式7で表すように、複数のサブサーバ200に秘密分散されて記憶されているものとする。Sは分散数を表す。
【0072】
【数6】
【0073】
【数7】
【0074】
この場合、登録されている人50のテンプレート510と、認証対象の人60のテンプレート610とのユークリッド距離は、図7に示す数式で表すことができる。
【0075】
複数のサブサーバ200のそれぞれは、図7における複数の部分演算230のそれぞれを実行する。メインサーバ100は、複数のサブサーバ200のそれぞれから部分演算230の演算結果700を受信して、複数の演算結果700に対して、図7に示すように、1~d次元についての、複数の演算結果700を加算した値を2乗した値を加算した値のルートを計算することによって、テンプレート510とテンプレート610とのユークリッド距離を算出することができる。
【0076】
このように、図6及び図7に例示する認証システム10は、一のテンプレート510から生成された複数のシェア520を複数のサブサーバ200で分散管理しつつ、サブサーバ200からメインサーバ100に対してシェア520を送信するのではなく、演算結果700を送信するように構成される。演算結果700が仮に漏洩したとしても、演算結果700からシェア520を予測することは基本的にできないことから、全体的なセキュリティレベルを高めることができる。また、図6及び図7に例示する認証システム10によれば、認証クライアント400から複数のサブサーバ200に対して、複数のシェア620を送信することになるので、認証クライアント400から複数のサブサーバ200に対してテンプレート610を送信する場合と比較して、セキュリティを向上させることができる。
【0077】
図8は、サブサーバ200の機能構成の一例を概略的に示す。ここでは、図4に示すサブサーバ200とは異なる点を主に説明する。図8に示すサブサーバ200は、シェア受信部212を備える。
【0078】
シェア受信部212は、認証対象の人60の生体情報600から生成されたテンプレート610から生成された複数のシェア620のうちの1つを受信する。例えば、シェア受信部212は、認証クライアント400において生体情報600から生成されたテンプレート610から生成された複数のシェア620のうちの1つを、サブサーバ200からネットワーク20を介して受信する。シェア受信部212は、認証クライアント400において暗号化されたシェア620を、ネットワーク20を介して受信して、復号化してよい。
【0079】
演算実行部208は、シェア受信部212が受信したシェア620と、シェア記憶部204に記憶されているシェア520とを用いた演算を実行する。演算実行部208は、図7で例示した、テンプレート610とテンプレート510とのユークリッド距離を算出するための部分演算230を実行する。
【0080】
1対1認証の場合、演算実行部208は、シェア受信部212が受信したシェア620と、シェア記憶部204に記憶されている1つのシェア520とを用いた演算を実行する。例えば、人60が、特定の人であるかを認証する場合、シェア受信部212が受信したシェア620と、当該特定の人のシェア520とを用いた演算を実行する。1対多認証の場合、演算実行部208は、シェア受信部212が受信したシェア620と、シェア記憶部204に記憶されている複数のシェア520のそれぞれとを用いた演算を実行する。
【0081】
演算結果送信部210は、演算実行部208による演算結果700をメインサーバ100に送信する。演算結果送信部210は、演算結果700を暗号化してネットワーク20を介してメインサーバ100に送信してよい。
【0082】
図9は、メインサーバ100の機能構成の一例を概略的に示す。ここでは、図5に示すメインサーバ100とは異なる点を主に説明する。
【0083】
認証結果決定部106は、演算結果受信部104が受信した複数の演算結果700を用いて、認証対象の人60の認証結果710を決定する。認証結果決定部106は、図7に示すように、1~d次元についての複数の演算結果700を加算した値を2乗した値を、加算した値のルートを計算することによって、テンプレート510とテンプレート610とのユークリッド距離を算出してよい。認証結果決定部106は、算出したユークリッド距離によって、人60の認証結果710を決定する。
【0084】
1対1認証の場合において、例えば、認証結果決定部106は、算出したユークリッド距離が、予め設定された閾値よりも高い場合に、認証OKと判定し、閾値より低い場合に、認証NGと判定する。1対多認証の場合において、例えば、認証結果決定部106は、算出した複数のユークリッド距離のうち予め設定された閾値より高いユークリッド距離が存在する場合、人60が、最も高いユークリッド距離の算出に用いたシェア520に対応する人50であると決定し、算出した複数のユークリッド距離の全てが予め設定された閾値よりも低い場合に、認証NGと判定する。認証結果の決定方法は、これらに限られない。
【0085】
図10は、メインサーバ100、サブサーバ200、登録クライアント300又は認証クライアント400として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0086】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0087】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0088】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0089】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0090】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0091】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0092】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0093】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0094】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0095】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0096】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0097】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0098】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0099】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0100】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【0101】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0102】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0103】
10 認証システム、20 ネットワーク、50 人、60 人、100 メインサーバ、102 対応関係管理部、104 演算結果受信部、106 認証結果決定部、108 認証結果出力部、200 サブサーバ、202 シェア取得部、204 シェア記憶部、206 テンプレート受信部、208 演算実行部、210 演算結果送信部、212 シェア受信部、220 部分演算、230 部分演算、300 登録クライアント、302 センサ部、304 変換部、400 認証クライアント、402 センサ部、404 変換部、500 生体情報、510 テンプレート、520 シェア、600 生体情報、610 テンプレート、620 シェア、700 演算結果、710 認証結果、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10