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

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

▶ 株式会社KPMG Ignition Tokyoの特許一覧

特許7236042準同型暗号を用いた顔認証のアプリケーション
<>
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図1
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図2
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図3
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図4
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図5
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図6
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図7
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図8
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図9
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図10
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図11
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図12
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図13
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図14
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図15
  • 特許-準同型暗号を用いた顔認証のアプリケーション 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-01
(45)【発行日】2023-03-09
(54)【発明の名称】準同型暗号を用いた顔認証のアプリケーション
(51)【国際特許分類】
   G06F 21/32 20130101AFI20230302BHJP
   H04L 9/32 20060101ALI20230302BHJP
【FI】
G06F21/32
H04L9/32 100D
【請求項の数】 8
(21)【出願番号】P 2022580443
(86)(22)【出願日】2021-03-25
(86)【国際出願番号】 JP2021012487
(87)【国際公開番号】W WO2022201411
(87)【国際公開日】2022-09-29
【審査請求日】2022-12-26
【早期審査対象出願】
(73)【特許権者】
【識別番号】519444100
【氏名又は名称】株式会社KPMG Ignition Tokyo
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】茶谷 公之
(72)【発明者】
【氏名】豊田 雅丈
(72)【発明者】
【氏名】千葉 直樹
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2015-139014(JP,A)
【文献】特開2016-031736(JP,A)
【文献】特開2001-189706(JP,A)
【文献】特開2005-222352(JP,A)
【文献】特開2005-309973(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/32
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
第1エンティティにおける準同型暗号で用いられる第1公開鍵と、第2エンティティにおける準同型暗号で用いられる第2公開鍵と、を保持する鍵保持手段と、
第1公開鍵で準同型暗号化された顔の顔特徴量を保持する第1顔特徴量保持手段と、
第2公開鍵で準同型暗号化された顔の顔特徴量を保持する第2顔特徴量保持手段と、
第1エンティティが関わるサービスの情報と、第2エンティティが関わるサービスの情報と、を、ネットワークを介してユーザの端末に提供する情報提供手段と、
ユーザによって選択されたサービスに対応する公開鍵を前記鍵保持手段から取得し、ネットワークを介して前記端末に提供する鍵提供手段と、
提供された公開鍵で準同型暗号化されたユーザの顔の画像の顔特徴量を、ネットワークを介して前記端末から取得する取得手段と、
取得した顔特徴量を、ユーザによって選択されたサービスに対応する顔特徴量保持手段に登録する登録手段と、を備えるサーバ。
【請求項2】
第1エンティティまたは第2エンティティから、準同型暗号化された顔特徴量を含む顔認証要求を、ネットワークを介して取得する要求取得手段と、
顔認証要求の送信元に対応する顔画像保持手段に登録されている顔特徴量と、当該顔認証要求に含まれる顔特徴量と、の差分を準同型暗号化したままで算出する算出手段と、
算出結果を送信元にネットワークを介して送信する送信手段と、をさらに備える請求項に記載のサーバ。
【請求項3】
前記情報提供手段は、サービスにかかる料金の情報を前記端末に提供し、
当該サーバはさらに、
ユーザによって選択されたサービスの料金の課金処理を行う課金手段を備え、
前記鍵提供手段は、前記課金手段における課金処理が完了することを条件の一つとして公開鍵の提供を行う請求項またはに記載のサーバ。
【請求項4】
カメラを備える端末に、
ネットワークを介して配布される、準同型暗号で用いられる公開鍵を取得する機能と、
前記カメラにより取得されたユーザの顔の画像を成分に分解する機能と、
分解の結果得られるユーザの顔の画像の第1成分の特徴量を、取得された公開鍵で準同型暗号化する機能と、
分解の結果得られるユーザの顔の画像の第2成分の特徴量を、取得された公開鍵で準同型暗号化する機能と、
準同型暗号化された顔の画像の第1成分の特徴量を、顔成分認証における登録用として、準同型暗号化したままの顔成分認証を実現する第1サーバにネットワークを介して送信する機能と、
準同型暗号化された顔の画像の第2成分の特徴量を、顔成分認証における登録用として、準同型暗号化したままの顔成分認証を実現する第2サーバにネットワークを介して送信する機能と、を実現させるためのコンピュータプログラム。
【請求項5】
成分は顔のパーツを含む請求項に記載のコンピュータプログラム。
【請求項6】
成分は顔の画像の色空間における成分を含む請求項またはに記載のコンピュータプログラム。
【請求項7】
準同型暗号で用いられる公開鍵を保持する保持手段と、
カメラで被顔認証者を撮像することによって得られる当該被顔認証者の顔の画像を取得する顔画像取得手段と、
前記カメラにより取得された被顔認証者の顔の画像を成分に分解する分解手段と、
分解の結果得られる被顔認証者の顔の画像の第1成分の特徴量を、前記保持手段によって保持されている公開鍵で準同型暗号化する第1暗号化手段と、
分解の結果得られる被顔認証者の顔の画像の第2成分の特徴量を、前記保持手段によって保持されている公開鍵で準同型暗号化する第2暗号化手段と、
準同型暗号化された顔の画像の第1成分の特徴量を、請求項に記載の第1サーバにネットワークを介して送信する第1送信手段と、
準同型暗号化された顔の画像の第2成分の特徴量を、請求項に記載の第2サーバにネットワークを介して送信する第2送信手段と、
前記第1サーバによって実現される顔成分認証の結果と、前記第2サーバによって実現される顔成分認証の結果と、に基づいて、被顔認証者の顔認証の成否を判定する判定手段と、を備えるサーバ。
【請求項8】
生体情報センサを備える端末に、
ネットワークを介して配布される、準同型暗号で用いられる公開鍵を取得する機能と、
前記生体情報センサにより取得されたユーザの生体情報を成分に分解する機能と、
分解の結果得られるユーザの生体情報の第1成分の特徴量を、取得された公開鍵で準同型暗号化する機能と、
分解の結果得られるユーザの生体情報の第2成分の特徴量を、取得された公開鍵で準同型暗号化する機能と、
準同型暗号化された生体情報の第1成分の特徴量を、生体情報成分認証における登録用として、準同型暗号化したままの生体情報成分認証を実現する第1サーバにネットワークを介して送信する機能と、
準同型暗号化された生体情報の第2成分の特徴量を、生体情報成分認証における登録用として、準同型暗号化したままの生体情報成分認証を実現する第2サーバにネットワークを介して送信する機能と、を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、準同型暗号を用いた顔認証のアプリケーションに関する。
【背景技術】
【0002】
昨今のコロナ禍により、接触を伴う認証から非接触認証への転換が進んでいる。非接触認証のなかでも顔認証は、カメラさえあれば導入でき、専用の端末が不要であることからコスト面で有利であり、適用範囲が広い。
【0003】
顔認証には、顔の画像の特徴が認証サーバに保持されるというプライバシーの課題がある。誰しも、自分の顔のデータが第三者のサーバに送られ、そこに記憶されることを好まない。仮に顔認証のシステム側が顔のデータを消去していることや目的外使用を行わないことを宣言したとしても、このようなユーザ側の不安は残るものである。
【0004】
一方、近年の計算機の能力向上により、準同型暗号(Homomorphic Encryption)を様々なシステムに応用できるようになってきた。顔認証を含む生体認証もその応用分野のひとつであり、例えば非特許文献1には、生体特徴の秘匿マッチングに基づくリモート生体認証システムが開示されている。このシステムは、手のひら静脈から抽出したバイオ特徴コードを、準同型暗号で保護したままサーバに保存および照合することにより、インターネット上や異組織間であっても安全に生体認証を実現する。非特許文献1に記載のシステムにおいて、手のひら静脈のデータを顔の画像の顔特徴量に置き換えることで、ユーザの顔の画像の顔特徴量を準同型暗号で保護したまま顔認証を行うことが可能となる。また、非特許文献2には、顔認証システムにおける登録者の顔特徴量情報の安全管理に、準同型暗号などの秘密計算を用いることが記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】「生体特徴の秘匿マッチングに基づくリモート生体認証システムの試作」、小倉孝夫他、マルチメディア,分散,協調とモバイル (DICOMO2014)シンポジウム、平成26年7月
【文献】「1秘密計算による安全なデータ共有」、竹之内隆夫、情報処理 Vol.59 No.10 Oct. 2018
【発明の概要】
【発明が解決しようとする課題】
【0006】
このように、準同型暗号を顔認証に適用する技術は確立されている。しかしながら、そのような技術を用いたソリューションの提案はまだ少ない。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、準同型暗号を顔認証に適用する技術を用いたソリューションの提供にある。
【課題を解決するための手段】
【0008】
本発明のある態様は、オンプレミスサーバに関する。このオンプレミスサーバは、準同型暗号で用いられる公開鍵を保持する保持手段と、受付に設置されたカメラで来訪者を撮像することによって得られる当該来訪者の顔の画像を取得する顔画像取得手段と、取得された顔の画像の顔特徴量を、保持手段によって保持されている公開鍵で準同型暗号化する暗号化手段と、準同型暗号化された顔特徴量を、準同型暗号化したままの顔認証を実現するクラウドサーバにネットワークを介して送信する送信手段と、クラウドサーバによって実現される顔認証の結果にしたがい来訪者に対するアクションを選択する選択手段と、を備える。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【図面の簡単な説明】
【0010】
図1】準同型暗号を適用した顔認証のシステムの模式図である。
図2】準同型暗号を適用した顔認証システムの第1の実施の形態の模式図である。
図3】準同型暗号を適用した顔認証システムの第2の実施の形態の模式図である。
図4図3の第2の実施の形態を企業の受付における顔認証に適用した場合の事前顔登録処理の流れを示すフローチャートである。
図5図3の第2の実施の形態を企業の受付における顔認証に適用した場合の認証処理の流れを示すフローチャートである。
図6】変形例に係る登録顔情報保持部の構成の一例を示すデータ構造図である。
図7図3の第2の実施の形態を監視カメラを用いた顔認証に適用した場合の事前顔登録処理の流れを示すフローチャートである。
図8図3の第2の実施の形態を監視カメラを用いた顔認証に適用した場合の被疑者照合処理の流れを示すフローチャートである。
図9】準同型暗号を適用した顔認証システムの第3の実施の形態の模式図である。
図10図9の第3の実施の形態に係る顔認証システムにおける事前顔登録処理の流れを示すフローチャートである。
図11図9の第3の実施の形態に係る顔認証システムにおいてユーザの端末のディスプレイに表示されるイベント・施設一覧画面の代表画面図である。
図12図9の第3の実施の形態に係る顔認証システムにおいてユーザの端末のディスプレイに表示される顔撮像案内画面の代表画面図である。
図13図9の第3の実施の形態に係る顔認証システムにおいてユーザの端末のディスプレイに表示される送信完了通知画面の代表画面図である。
図14】準同型暗号を適用した顔認証システムの第4の実施の形態の模式図である。
図15】準同型暗号を適用した顔認証システムの第5の実施の形態の模式図である。
図16】準同型暗号を適用した印影除去システムの実施の形態の模式図である。
【発明を実施するための形態】
【0011】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
【0012】
(概要)
顔認証に準同型暗号を適用することの利点として、例えば非特許文献2には、サーバで復号する必要がないのでデータ漏洩のリスクを減らすことができることが挙げられている。本発明者等は、顔認証に準同型暗号を適用することの利点はそれ以外にも数多くあることを見出した。
【0013】
例えば、クラウドネイティブ時代における秘匿性を担保した顔認証を提供することができることがある。オンプレミスで顔認証を行う場合、顔認証の全てのコンポーネント、全ての登録データを自社のサーバに搭載することとなり、導入・メンテナンスコストが嵩み、スケーラビリティに乏しい。近年、コストやスケーラビリティの面でより有利なクラウドネイティブが台頭し、オンプレミスからクラウドへの移行が進んでいる。そのようなクラウドにおいてユーザの顔のセキュリティを担保したまま顔認証を行うための直感的な解は、シンクライアントとクラウドとで秘密鍵を共有し、シンクライアントで顔特徴量を暗号化してクラウドに送り、クラウドで復号して顔認証し、結果を暗号化して送り返す、という手法であろう。しかしながら、秘密鍵をクラウドに預ける必要があり、かつ、復号済みの顔特徴量やその認証結果がそのままクラウドに残りうるのでプライバシー上好ましくない。クラウドおよびその管理者・提供者は基本的に第3者であってnon-trustedとみなければならない。クラウドネイティブ時代のプライバシー保護の要諦は、いかにクラウドに生のデータを残さないか、である。
【0014】
そこで、顔認証に準同型暗号を適用することにより、クラウドに生の顔特徴量や認証結果を残さずにクラウド上で顔認証を行うことができる。これにより、クラウド管理者・提供者による顔特徴量の悪用を防止することができるので、プライバシー保護を担保しつつ顔認証システムのクラウドへの移行を進めることができる。さらに、このような利点がユーザに周知されることにより、これまでクラウドに自分の顔の情報が残ることを嫌っていたユーザの懸念が軽減または払拭され、顔認証サービスを利用することに対する心理的なしきいが下がり、顔認証の利用が促進される。
【0015】
本開示において用いられる準同型暗号の種類に制限はなく、任意の種類の準同型暗号が用いられてもよい。例えば、RSA暗号、ElGamal暗号、modified-ElGamal暗号、Pillier暗号のうちのいずれかが用いられてもよいし、他の準同型暗号アルゴリズムが用いられてもよい。
【0016】
図1は、準同型暗号を適用した顔認証のシステム2の模式図である。システム2には3つのエンティティ:データ所有者、データ処理者、データ消費者、が登場する。システム2の処理フローでは、まずデータ所有者にてデジタルの顔データを生成し、生成された顔データを準同型暗号化する。データ所有者は、準同型暗号化された顔データをデータ処理者に伝送する。データ処理者は、取得した顔データと、準同型暗号化された状態で保持されている参照用の顔データと、を用いて認証を行う。データ処理者は、準同型暗号化された状態の認証結果をデータ消費者に伝送する。データ消費者は、取得した認証結果を復号する。
【0017】
(第1の実施の形態)
図2は、準同型暗号を適用した顔認証システム4の第1の実施の形態の模式図である。顔認証システム4は、登録用端末6と、認証用端末8と、non-trustedのクラウドサーバ10と、trusted の認証サーバ12と、を備える。顔認証システム4の各構成要素は、インターネットなどのネットワークを介して互いに通信可能に接続されている。
【0018】
登録用端末6は、顔認証の登録用にユーザの顔を撮像するためのカメラおよびその制御部と、顔の画像の顔特徴量を準同型暗号化する暗号化部と、該暗号化部で用いられる準同型暗号の公開鍵を保持する保持部と、を含む。登録用端末6は、認証サーバ12から公開鍵を取得する。
【0019】
認証用端末8は、顔認証用にユーザの顔を撮像するためのカメラおよびその制御部と、顔の画像の顔特徴量を準同型暗号化する暗号化部と、該暗号化部で用いられる準同型暗号の公開鍵を保持する保持部と、を含む。認証用端末8は、認証サーバ12から公開鍵を取得する。
【0020】
クラウドサーバ10は、非特許文献1や非特許文献2に記載される公知の技術を用いることにより、準同型暗号化したままの顔認証を実現する。クラウドサーバ10は、登録用端末6から送られてくる準同型暗号化された顔特徴量を保持する登録顔情報保持部と、認証用端末8から送られてくる準同型暗号化された状態の顔特徴量と、登録顔情報保持部に保持されている準同型暗号化された状態の顔特徴量と、の差分を計算する計算部と、を含む。当該差分は準同型暗号化された状態で算出される。
【0021】
認証サーバ12は、クラウドサーバから送られてくる準同型暗号化された状態の差分値を、準同型暗号の秘密鍵を用いて復号する復号部と、復号の結果得られた差分値に基づき一致判定を行う判定部と、を含む。判定部において一致するとの判定がなされると、顔認証の成功となり、一致しないとの判定がなされると顔認証の失敗となる。
【0022】
顔認証システム4では、事前にユーザは登録用端末6を用いて自分の顔を撮影し、登録用端末6はその顔画像から抽出された顔特徴量を準同型暗号化してクラウドサーバ10に送信する。クラウドサーバ10は受信した顔特徴量(準同型暗号化済み、以下、準同型暗号化された状態の情報やデータの名称の頭に「HE」を付す)を登録顔情報保持部に格納する。
【0023】
顔認証が必要になると、ユーザは、認証用端末8を用いて自分の顔を撮影し、認証用端末8はその顔画像から抽出された顔特徴量を準同型暗号化してクラウドサーバ10に送信する。クラウドサーバ10は受信したHE顔特徴量と、登録顔情報保持部に保持されているHE顔特徴量と、の差分を算出し、算出されたHE差分値を認証サーバ12に送信する。認証サーバ12は、受信したHE差分値を復号し、得られた差分値に基づいて、認証用端末8から送られてきたHE顔特徴量が登録顔情報保持部に登録されているか否かを判定する。認証サーバ12は、登録されている場合は顔認証の成功を認証用端末8に通知し、登録されていない場合は顔認証の失敗を認証用端末8に通知する。
【0024】
(第2の実施の形態)
図3は、準同型暗号を適用した顔認証システム20の第2の実施の形態の模式図である。図3および以降の同様の図に示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。顔認証システム20は、ユーザ端末22と、non-trustedのクラウドサーバ24と、trustedのオンプレミスサーバ26と、を備える。顔認証システム20の各構成要素は、インターネットなどのネットワークを介して互いに通信可能に接続されている。
【0025】
ユーザ端末22は、顔認証の登録用にユーザの顔を撮像するためのカメラおよびその制御部と、顔の画像の顔特徴量を準同型暗号化する暗号化部と、該暗号化部で用いられる準同型暗号の公開鍵を保持する保持部と、を含む。ユーザ端末22は、オンプレミスサーバ26から公開鍵を取得する。
【0026】
クラウドサーバ24は、非特許文献1や非特許文献2に記載される公知の技術を用いることにより、準同型暗号化したままの顔認証を実現する。クラウドサーバ24は、ユーザ端末22から送られてくる準同型暗号化された顔特徴量を保持する登録顔情報保持部と、オンプレミスサーバ26から送られてくる顔認証要求に含まれる準同型暗号化された状態の顔特徴量と、登録顔情報保持部に保持されている準同型暗号化された状態の顔特徴量と、の差分を計算する計算部と、を含む。当該差分は準同型暗号化された状態で算出される。
【0027】
オンプレミスサーバ26は企業(またはエンティティ)によって所有および/または管理される。オンプレミスサーバ26の所有者/管理者とクラウドサーバ24の所有者/管理者とは異なる。オンプレミスサーバ26は、顔画像取得部と、暗号化部と、送信部と、復号部と、判定部と、選択部と、鍵保持部と、を含む。
【0028】
鍵保持部は、準同型暗号で用いられる一対の公開鍵と秘密鍵とを保持する。顔画像取得部は、企業の建物の受付に設置されたカメラで来訪者(ユーザ端末22を介して顔を登録したユーザ)を撮像することによって得られる当該来訪者の顔の画像を取得する。暗号化部は、顔画像取得部によって取得された顔の画像から顔特徴量を抽出し、抽出された顔特徴量を、鍵保持部に保持されている公開鍵で準同型暗号化する。送信部は、暗号化部によって準同型暗号化された顔特徴量を含む顔認証要求を、クラウドサーバ24にネットワークを介して送信する。復号部は、クラウドサーバ24から送られてくる準同型暗号化された状態の差分値を、鍵保持部に保持されている秘密鍵を用いて復号する。判定部は、復号部による復号の結果得られた差分値に基づき一致判定を行う。選択部は、クラウドサーバ24によって実現される顔認証の結果にしたがい来訪者に対するアクションを選択する。例えば、選択部は、判定部において一致するとの判定がなされると、顔認証の成功と判断して来訪者を受け入れるための処理(例えば、入場ゲートの開放、自動案内の開始など)を行い、一致しないとの判定がなされると顔認証の失敗と判断して、所定の来訪者確認処理を行う。来訪者確認処理は、例えば管理センターへの通報や、警備員の呼び出し、社員による対面での確認の要求などである。
【0029】
顔認証システム20では、事前にユーザはユーザ端末22を用いて自分の顔を撮影する。ユーザ端末22はその顔画像から抽出された顔特徴量を準同型暗号化し、HE顔特徴量を含む顔登録要求を、ネットワークを介してクラウドサーバ22に送信する。クラウドサーバ22は受信した顔登録要求に含まれるHE顔特徴量を登録顔情報保持部に格納する。
【0030】
上記の事前登録を完了した後、ユーザは、企業の建物を訪問し、受付のカメラに自分の顔を向ける。受付のカメラは、ユーザの顔を撮影する。オンプレミスサーバ26は、その顔画像から抽出された顔特徴量を準同型暗号化し、HE顔特徴量を含む顔認証要求を、ネットワークを介してクラウドサーバ24に送信する。クラウドサーバ24は受信したHE顔特徴量と、登録顔情報保持部に保持されているHE顔特徴量と、の差分を算出し、算出されたHE差分値をオンプレミスサーバ26に送信する。オンプレミスサーバ26は、受信したHE差分値を復号し、得られた差分値に基づいて、受付のカメラで撮像したユーザの顔のHE顔特徴量が登録顔情報保持部に登録されているか否かを判定する。オンプレミスサーバ26は、登録されている場合は顔認証が成功したと判断し、例えば受付の入場ゲートを開けるための処理を行う。オンプレミスサーバ26は、登録されていない場合は顔認証が失敗したと判断し、係員を呼び出すための処理を行う。
【0031】
(第2の実施の形態:受付対応)
図4は、図3の第2の実施の形態を企業の受付における顔認証に適用した場合の事前顔登録処理の流れを示すフローチャートである。企業への訪問を希望するユーザは、スマートフォンやラップトップPCなどのユーザ端末22を操作して企業のウェブサイトにアクセスする。ユーザ端末22はユーザが用いる端末であれば任意の端末であればよく、例えば街中に設置されている自動販売機が撮像機能を有する場合は、その自動販売機をユーザ端末としてもよい。ユーザ端末22は当該ウェブサイトを介してオンプレミスサーバ26に訪問要求を送信する。オンプレミスサーバ26は、受信した訪問要求を解析することで、来社予定のユーザのユーザ端末22を特定する(ステップS202)。オンプレミスサーバ26は、ステップS202で特定されたユーザ端末22に、ネットワークを介して、鍵保持部に保持されている公開鍵を配布し(ステップS204)、ユーザ端末22は、配布された公開鍵を取得する。ユーザ端末22は、ユーザ端末22のカメラなどの撮像手段でユーザの顔を撮像する(ステップS206)。ユーザ端末22は、撮像の結果得られたユーザの顔の画像から顔特徴量を抽出し、抽出された顔特徴量をステップS204で受信した公開鍵で準同型暗号化する(ステップS208)。ユーザ端末22は、ステップS208で得られたHE顔特徴量を、顔認証における登録用として、クラウドサーバ24に送信する(ステップS210)。特にユーザ端末22は、HE顔特徴量を含む顔登録要求を生成し、ネットワークを介してクラウドサーバ24に送信する。クラウドサーバ24は、受信した顔登録要求に含まれるHE顔特徴量を登録顔情報保持部に格納する(ステップS212)。なお、上記の処理のうちユーザ端末22における処理はユーザ端末22のブラウザにより実現されてもよいし、ユーザ端末22にインストールされているアプリケーションプログラムにより実現されてもよい。
【0032】
図5は、図3の第2の実施の形態を企業の受付における顔認証に適用した場合の認証処理の流れを示すフローチャートである。上記の事前登録手続きを完了したユーザが来社する(ステップS214)。受付に設置されているカメラなどの撮像手段は、来社したユーザの顔を撮像する(ステップS216)。オンプレミスサーバ26は、受付のカメラからユーザの顔の画像を取得し、取得した画像からユーザの顔の顔特徴量を抽出し、抽出された顔特徴量を準同型暗号化する(ステップS218)。オンプレミスサーバ26は、ステップS218で得られたHE顔特徴量を含む顔認証要求をクラウドサーバ24にネットワークを介して送信する(ステップS220)。
【0033】
クラウドサーバ24は、受信した顔認証要求に含まれるHE顔特徴量と、登録顔情報保持部に保持されているHE顔特徴量と、の差分を、準同型暗号化された状態で算出する(ステップS222)。クラウドサーバ24は、ステップS222で算出されたHE差分をオンプレミスサーバ26に送信する(ステップS224)。オンプレミスサーバ26は、受信したHE差分を、鍵保持部に保持されている秘密鍵で復号する(ステップS226)。オンプレミスサーバ26はステップS226の復号の結果から一致するか否かを判定し(ステップS230)、一致する場合(ステップS230のYES)は入館を許可するための処理を行う(ステップS234)。一致しない場合(ステップS230のNO)、オンプレミスサーバ26はクラウドサーバ24の登録顔情報保持部に保持されている全ての顔特徴量を確認したか否かを判定する(ステップS232)。確認していない場合(ステップS232のNO)、処理はステップS222に戻る。具体的には、オンプレミスサーバ26は再計算要求を生成してクラウドサーバ24に送信し、再計算要求を受信したクラウドサーバ24は登録顔情報保持部に登録されている新たなHE顔特徴量を選択して差分を算出する。全ての顔特徴量が確認された場合(ステップS232のYES)、オンプレミスサーバ26はユーザの入館を拒否するための処理を行う(ステップS236)。なお、オンプレミスサーバ26における一致するか否かの判定基準は、例えば復号の結果得られた差分が所定の閾値を下回ることであってもよい。
【0034】
(第2の実施の形態:変形例1)
図5の例では以下の処理が繰り返して行われる。登録されているHE顔特徴量をひとつ選択(クラウド)、差分を計算(クラウド)、差分を復号(オンプレミス)、一致判定(オンプレミス)、一致しない場合の差し戻し(オンプレミス)、登録されているHE顔特徴量から新たにひとつ選択(クラウド)。この繰り返し処理はクラウドサーバ24とオンプレミスサーバ26との通信を含んでおり、比較的時間がかかるが、登録されているHE顔特徴量の匿名化の度合いは高いのでより高い程度のプライバシー保護が実現される。
【0035】
処理のスピードが求められるようなアプリケーションでは、HE顔特徴量にメタデータを付与して登録することで、照合処理を高速化することができる。図6は、変形例に係る登録顔情報保持部の構成の一例を示すデータ構造図である。この登録顔情報保持部は、HE顔特徴量と、ユーザ属性と、撮影時間帯と、撮影場所と、を対応付けて保持する。本変形例では、ユーザ端末22がユーザの顔を撮像するとき、併せて撮像が行われた時刻を表す撮影時間帯と、撮像が行われた場所を表す撮影場所と、を取得する。ユーザ端末22はユーザの顔の画像からユーザ属性を決定してもよいし、予めユーザ端末22に登録された情報からユーザ属性を決定してもよい。ユーザ端末22は、ユーザの顔のHE顔特徴量と、当該ユーザのユーザ属性と、撮影時間帯と、撮影場所と、を含む顔登録要求を生成し、ネットワークを介してクラウドサーバ24に送信する。ユーザ属性、撮影時間帯、撮影場所それぞれの粒度は、要求されるプライバシー保護の程度に応じて設定されてもよい。
【0036】
オンプレミスサーバ26は、受付に設けられた音声認識手段やマウス・キーボード等接触型入力手段やユーザ端末22との通信やユーザの画像の解析により、来訪したユーザのユーザ属性並びに当該ユーザが顔を登録したときの撮影時間帯および撮影場所を特定する。例えば、顔登録を行った時間や場所を問い合わせるメッセージを受付のスピーカーから出力し、受付のマイクロフォンがユーザの口頭回答を取得してもよい。受付のカメラの画像からユーザ属性を決定してもよい。あるいはまた、受付に設けられたタッチパネルディスプレイに、ユーザ属性や撮影時間帯や撮影場所を問い合わせる案内を表示し、ユーザによるタッチ入力を受け付けてもよい。
【0037】
オンプレミスサーバ26は、来訪したユーザの顔のHE顔特徴量と、当該ユーザのユーザ属性と、撮影時間帯と、撮影場所と、を含む顔認証要求を生成し、ネットワークを介してクラウドサーバ24に送信する。クラウドサーバ24は、顔認証要求に含まれるユーザ属性と撮影時間帯と撮影場所とを用いて、照合するHE顔特徴量を絞り込む。クラウドサーバ24は、登録顔情報保持部に保持されているHE顔特徴量のなかから、顔認証要求に含まれるユーザ属性、撮影時間帯、撮影場所と合致するユーザ属性、撮影時間帯、撮影場所を有するHE顔特徴量を抽出する。クラウドサーバ24は、そのように抽出されたHE顔特徴量のひとつひとつと顔認証要求に含まれるHE顔特徴量との差分を計算する。これにより、必要なレベルのプライバシーの保護を実現しつつ照合の処理にかかる時間を削減できる。
【0038】
オンプレミスサーバ26が来訪したユーザのユーザ属性と、撮影時間帯と、撮影場所と、を決定しない場合、オンプレミスサーバ26は来訪したユーザの顔のHE顔特徴量を含む顔認証要求を生成し、ネットワークを介してクラウドサーバ24に送信する。クラウドサーバ24は、ステップS222、S224と同様にして、顔認証要求に含まれるHE顔特徴量と登録顔情報保持部に保持されているあるひとつのHE顔特徴量とのHE差分をオンプレミスサーバ26に返す。オンプレミスサーバ26における一致判定の結果、一致しないと判定された場合、クラウドサーバ24に再計算通知がなされる。再計算通知を受けると、クラウドサーバ24は、登録顔情報保持部から先に選択したHE顔特徴量のメタデータ(ユーザ属性、撮影時間帯、撮影場所)を非該当メタデータとして指定する。クラウドサーバ24は、非該当メタデータと同じか類似するか対応するメタデータを有するHE顔特徴量をフィルタアウトするか、選択の母集団から除外する。これにより、顔認証時にメタデータを取得しなくてもまたはできなくても、登録時に記録されたメタデータを用いて照合の処理にかかる時間を削減できる。
【0039】
あるいはまた、登録顔情報保持部に保持されているHE顔特徴量をメタデータでいくつかのカテゴリに分類してもよい。この場合、クラウドサーバ24は、来訪者の顔のHE顔特徴量と、各カテゴリに属する任意のひとつのHE顔特徴量と、の差分を算出してもよい。オンプレミスサーバ26は、差分を復号し、カテゴリごとに一致度または一致スコアを算出してもよい。次の照合時、クラウドサーバ24は、一致度が最も高かったカテゴリのHE顔特徴量のなかから照合対象のHE顔特徴量を選択してもよい。
【0040】
(第2の実施の形態:変形例2)
図5の例においてステップS232でYESとなり、来訪者の顔が事前登録されていないと判定された場合、来訪者の入館が拒否される場合を説明したが、本開示はこれに限られない。例えば、来訪者の顔が事前登録されていないと判定された場合、係員を受付に呼び出す処理が開始されてもよい。係員は来訪者に来訪の要件を伺うなど通常の対応をする。来訪者を入館させてもよいと係員が判断した場合、オンプレミスサーバ26は来訪者の顔のHE顔特徴量を含む訪問者登録要求を生成し、クラウドサーバ24に送信する。クラウドサーバ24は、訪問者登録要求に含まれるHE顔特徴量を登録顔情報保持部に格納する。これにより、登録顔情報保持部は過去に来訪したユーザ全ての顔のHE顔特徴量を保持することとなる。また、ステップS230での一致は当該訪問者が以前に訪問したことがあることを示し、ステップS232のYESは初めての訪問であることを示す。すなわち、本変形例の処理により、オンプレミスサーバ26の所有者/管理者である企業は、訪問者が過去にも訪問を受けたことがある訪問者であるか否かを、登録顔情報保持部などの顔のデータベースにアクセスすることなしに、判断することができる。
(第2の実施の形態:変形例3)
図5の例では以下の処理が繰り返して行われる。登録されているHE顔特徴量をひとつ選択(クラウド)、差分を計算(クラウド)、差分を復号(オンプレミス)、一致判定(オンプレミス)、一致しない場合の差し戻し(オンプレミス)、登録されているHE顔特徴量から新たにひとつ選択(クラウド)。これに代えて、クラウドサーバは、オンプレミスサーバから顔認証要求を受信すると、受信した顔認証要求に含まれるHE顔特徴量と、登録顔情報保持部に保持されている各HE顔特徴量と、の差分を、準同型暗号化された状態で算出してもよい。これにより、顔認証要求に含まれるHE顔特徴量と登録顔情報保持部に保持されている全てのHE顔特徴量のそれぞれとの差分が算出される。クラウドサーバは、登録顔情報保持部に保持されている各HE顔特徴量について算出されたHE差分をまとめてオンプレミスサーバに送信する。オンプレミスサーバは、受信した複数のHE差分を、鍵保持部に保持されている秘密鍵で復号する。オンプレミスサーバは、復号の結果得られた複数の差分のなかに、所定の一致基準を充たす差分があれば一致があると判定し、そうでなければ一致がないと判定する。一致があると判定された場合は顔認証の成功に対応し、一致がないと判定された場合は顔認証の失敗に対応する。この変形例ではクラウドサーバからオンプレミスサーバへのHE差分の送信が一度で済むので、クラウドサーバとオンプレミスサーバとの通信の回数を削減できる。他の実施の形態についても同様の変形例が可能である。
【0041】
(第2の実施の形態:警察DX)
現在、警察は事件が起こってから現場周辺の監視カメラの映像の提供を依頼するようであり、監視カメラの映像を警察に常時、リアルタイムで共有することはなされていない。共有がなされない原因のひとつは、監視カメラに映る不特定多数の人のプライバシー保護である。このプライバシー保護の問題をクリアし、監視カメラの映像から得られる顔特徴量をクラウドにアップロードして警察がいつでも照会できるようになれば警察における監視カメラ画像確認作業が効率化される。これは警察の業務のDX(Digital Transformation)と言えよう。
【0042】
図7は、図3の第2の実施の形態を監視カメラを用いた顔認証に適用した場合の事前顔登録処理の流れを示すフローチャートである。この例では、まず、警察が書店などの店舗に、万引き犯特定容易化のためのプログラムへの参加を要請する。警察のオンプレミスサーバ26は、プログラムに参加する店舗のユーザ端末22(ラップトップPCやデスクトップPCなど)を特定する(ステップS302)。オンプレミスサーバ26は、ステップS302で特定されたユーザ端末22に、ネットワークを介して、鍵保持部に保持されている公開鍵を配布し(ステップS304)、ユーザ端末22は、配布された公開鍵を取得する。ユーザ端末22は、ユーザ端末22に接続された監視カメラの画像に映る人物(例えば、店舗内の客)の顔の画像を取得し、取得された顔の画像から顔特徴量を抽出する(ステップS306)。ユーザ端末22は、ステップS306で抽出された顔特徴量をステップS304で受信した公開鍵で準同型暗号化する(ステップS308)。ユーザ端末22は、ステップS308で得られたHE顔特徴量を、撮像時刻および店舗特定情報と共に、顔認証における登録用として、クラウドサーバ24に送信する(ステップS310)。特にユーザ端末22は、HE顔特徴量と撮像時刻と店舗特定情報とを含む顔登録要求を生成し、ネットワークを介してクラウドサーバ24に送信する。クラウドサーバ24は、受信した顔登録要求に含まれるHE顔特徴量と撮像時刻と店舗特定情報とを対応付けて登録顔情報保持部に格納する(ステップS312)。
【0043】
図8は、図3の第2の実施の形態を監視カメラを用いた顔認証に適用した場合の被疑者照合処理の流れを示すフローチャートである。警察が万引きの被疑者を逮捕する(ステップS314)。警察のカメラなどの撮像手段は、逮捕された被疑者の顔を撮像する(ステップS316)。警察のオンプレミスサーバ26は、カメラから被疑者の顔の画像を取得し、取得した画像から被疑者の顔の顔特徴量を抽出し、抽出された顔特徴量を準同型暗号化する(ステップS318)。オンプレミスサーバ26は、ステップS318で得られたHE顔特徴量を含む顔認証要求をクラウドサーバ24にネットワークを介して送信する(ステップS320)。
【0044】
クラウドサーバ24は、受信した顔認証要求に含まれるHE顔特徴量と、登録顔情報保持部に保持されているHE顔特徴量と、の差分を、準同型暗号化された状態で算出する(ステップS322)。この際、登録顔情報保持部に保持されているHE顔特徴量のなかから、万引きの被害届が出されている店舗の店舗特定情報に対応するHE顔特徴量が抽出されて差分計算の対象とされる。クラウドサーバ24は、ステップS322で算出されたHE差分をオンプレミスサーバ26に送信する(ステップS324)。オンプレミスサーバ26は、受信したHE差分を、鍵保持部に保持されている秘密鍵で復号する(ステップS326)。オンプレミスサーバ26はステップS326の復号の結果から一致するか否かを判定し(ステップS328)、一致する場合(ステップS328のYES)は、対応する店舗に対応する撮像時刻頃の監視カメラの画像または映像を要求する(ステップS330)。これは警官により人手で行われてもよい。
【0045】
一致しない場合(ステップS328のNO)、オンプレミスサーバ26はクラウドサーバ24の登録顔情報保持部に保持されている全ての顔特徴量を確認したか否かを判定する(ステップS332)。確認していない場合(ステップS332のNO)、処理はステップS322に戻る。具体的には、オンプレミスサーバ26は再計算要求を生成してクラウドサーバ24に送信し、再計算要求を受信したクラウドサーバ24は登録顔情報保持部に登録されている新たなHE顔特徴量を選択して差分を算出する。全ての顔特徴量が確認された場合(ステップS332のYES)、処理は終了する。
【0046】
なお、図7図8の例では万引きを例として説明したがこれに限られず、図7図8に示される技術を万引き以外の犯罪の被疑者特定、証拠集めに用いてもよい。
【0047】
図7図8に示される技術によれば、監視カメラの画像から得られた顔特徴量は準同型暗号化されてクラウドに保存され、クラウドで復号されることはない。したがって、プライバシーが担保された形で監視カメラの画像(顔)をクラウドに貯めることができる。これにより、警察は監視カメラの画像を確認する作業をクラウドベースで自動化することができる。
なお、本実施の形態では店舗に備え付けられた監視カメラの画像を用いる場合を説明したが、これに限られない。例えば、街中に設置されている自動販売機が撮像機能を備える場合には、その自動販売機の撮像機能から得られる画像を用いてもよい。
【0048】
(第3の実施の形態)
図9は、準同型暗号を適用した顔認証システム30の第3の実施の形態の模式図である。顔認証システム30は、ユーザ端末32と、顔認証サービスプラットフォームのサーバ34と、当該プラットフォームの管理者により提供される顔認証サービスを利用する企業Aのサーバ36と、同じ顔認証サービスを利用する企業Bのサーバ38と、を備える。顔認証サービスプラットフォームのサーバ34はクラウドサーバであってもよい。顔認証システム30の各構成要素は、インターネットなどのネットワークを介して互いに通信可能に接続されている。準同型暗号を用いた顔認証について、ユーザ端末32は第2の実施の形態のユーザ端末22と同様な構成を有し、企業Aのサーバ36および企業Bのサーバ38はそれぞれ第2の実施の形態のオンプレミスサーバ26と同様な構成を有する。第3の実施の形態では、各エンティティ(企業A、企業B)が別個の公開鍵・秘密鍵ペアを有しており、その点を考慮して顔認証サービスプラットフォームのサーバ34を構成する点が第2の実施の形態と異なる。なお、第3の実施の形態では企業A、企業Bの2つのエンティティが存在する場合を例として説明しているが、エンティティの数に制限はなく、3つ以上のエンティティが存在する場合にも等しく本実施の形態の技術的思想を適用可能である。
【0049】
一般に、企業により用いる鍵が異なることから、顔認証を行うためにユーザは企業ごとに鍵を管理し、使い分ける必要がある。これに対し、本実施の形態に係る顔認証サービスプラットフォームによると、ユーザは当該プラットフォームを利用することで、鍵の違いを気にすることなく様々な企業が提供する顔認証を伴うサービスを利用することができるようになる。
【0050】
顔認証サービスプラットフォームのサーバ34は、鍵保持部と、企業A用登録顔保持部と、企業B用登録顔保持部と、企業情報保持部と、課金制御部と、公開鍵提供部と、顔データ登録部と、差分算出部と、を備える。サーバ34は企業Aのサーバ36、企業Bのサーバ38、ユーザ端末32にネットワークを介して接続される。
【0051】
鍵保持部は、企業Aにおける準同型暗号で用いられる第1公開鍵と、企業Aとは異なる企業Bにおける準同型暗号で用いられる第2公開鍵(第1公開鍵とは異なる)と、を保持する。企業A用登録顔保持部は、第1公開鍵で準同型暗号化された顔特徴量を保持する。企業B用登録顔保持部は、第2公開鍵で準同型暗号化された顔特徴量を保持する。企業情報保持部は、企業Aが関わるサービスの情報(例えば、サービスの内容、サービス提供の日時、場所、サービスにかかる料金)と、企業Bが関わるサービスの情報と、を保持する。サービスは例えば野外ライブやコンサートやショーなどのイベントや、施設への入館や、試験における本人確認などであり、特にサービス提供を受けるために顔認証が求められるサービスであってもよい。
【0052】
課金制御部は、企業情報保持部から、企業Aが関わるサービスの情報と、企業Bが関わるサービスの情報と、を読み出し、ネットワークを介してユーザ端末32に提供する。課金制御部は、情報の提供に応じてユーザ端末32のユーザによって選択されたサービスを特定し、特定されたサービスの料金の課金処理を行う。課金処理は、クレジットカード決済、プリペイド、電子マネー、銀行振込、仮想通貨決済、暗号通貨決済、ポイント決済などの公知の課金技術を用いて実現されてもよい。
【0053】
公開鍵提供部は、課金制御部における課金処理が完了することを条件の一つとして、ユーザによって選択されたサービスに対応する公開鍵を鍵保持部から取得し、ネットワークを介してユーザ端末32に提供する。例えば、ユーザによって企業A(B)が関わるサービスが選択された場合、公開鍵提供部は鍵保持部から企業A(B)に対応する第1公開鍵(第2公開鍵)を取得し、それをユーザ端末32に提供する。
【0054】
顔データ登録部は、公開鍵提供部によって提供された公開鍵で準同型暗号化されたユーザの顔の画像の顔特徴量を、ネットワークを介してユーザ端末32から取得する。顔データ登録部は、取得したHE顔特徴量を、ユーザによって選択されたサービスに対応する登録顔保持部に登録する。例えば、ユーザによって企業A(B)が関わるサービスが選択された場合、顔データ登録部は、取得したHE顔特徴量を企業A用登録顔保持部(企業B用登録顔保持部)に登録する。
【0055】
差分算出部は、企業Aのサーバ36または企業Bのサーバ38から、HE顔特徴量を含む顔認証要求を、ネットワークを介して取得する。差分算出部は、取得した顔認証要求の送信元に対応する登録顔保持部に登録されているHE顔特徴量と、当該顔認証要求に含まれるHE顔特徴量と、の差分を準同型暗号化したままで算出する。差分算出部は、算出結果を送信元にネットワークを介して送信する。例えば、企業A(B)のサーバ36(38)から顔認証要求が送信された場合、差分算出部は、企業A(B)に対応する企業A用登録顔保持部(企業B用登録顔保持部)に登録されているHE顔特徴量と、当該顔認証要求に含まれるHE顔特徴量と、の差分を算出する。差分算出部は、算出されたHE差分を企業A(B)のサーバ36(38)にネットワークを介して送信する。
【0056】
図10は、図9の第3の実施の形態に係る顔認証システム30における事前顔登録処理の流れを示すフローチャートである。ユーザ端末32はネットワークを介して顔認証サービスプラットフォームのサーバ34にアクセスする(ステップS402)。サーバ34は、顔認証サービスプラットフォームに登録されている企業から提供可能なサービスのリスト(以下、サービス提供可能リストという)を含む情報を、アクセスしてきたユーザ端末32にネットワークを介して送信する(ステップS404)。ユーザはユーザ端末32のディスプレイに表示される上記リストのなかから所望のサービスを選択する。ユーザ端末32は、ユーザによって選択されたサービスをサーバ34にネットワークを介して通知する(ステップS406)。サーバ34とユーザ端末32との間で、選択されたサービスに係る料金の課金処理が行われる(ステップS408)。サーバ34は、課金処理が完了すると、選択されたサービスを提供する企業の公開鍵を鍵保持部から取得する(ステップS410)。サーバ34は、取得した公開鍵をユーザ端末32にネットワークを介して送信し、ユーザ端末32はその公開鍵を取得する(ステップS412)。ユーザ端末32は、ユーザ端末32に備え付けのカメラでユーザの顔を撮像する(ステップS414)。ユーザ端末32は、撮像の結果得られたユーザの顔の画像から顔特徴量を抽出する。ユーザ端末32は、顔特徴量を、ステップS412で受信した公開鍵で準同型暗号化する(ステップS416)。ユーザ端末32は、HE顔特徴量を含む顔登録要求を生成し、生成された顔登録要求をサーバ34にネットワークを介して送信する(ステップS418)。サーバ34は、受信したHE顔特徴量を、選択されたサービスを提供する企業用の登録顔情報保持部に格納する(ステップS420)。
【0057】
図11は、図9の第3の実施の形態に係る顔認証システム30においてユーザの端末32のディスプレイに表示されるイベント・施設一覧画面350の代表画面図である。図10のステップS404でサービス提供可能リストを受信したユーザ端末32は、当該サービス提供可能リストの内容に基づいてイベント・施設一覧画面350を生成し、ディスプレイに表示させる。イベント・施設一覧画面350は、顔認証サービスプラットフォームに登録されている企業が提供するサービスの内容と、サービス提供の日時および場所と、サービスを提供する企業の名称と、サービスにかかる料金と、をサービスごとに表示する。図11の例では、企業Aが提供する「野外ライブ」と、企業Bが提供する「博物館入館」と、がそれぞれ個別に選択可能な形式で表示されている。ユーザは、所望のサービスに対応して表示されている「購入」ボタンをタップする。ユーザ端末32は、「購入」ボタンがタップされたサービスを、ユーザが選択したサービスとしてサーバ34に通知する。これは例えば、ユーザ端末32が、「購入」ボタンがタップされたサービスを特定するサービスIDを含む選択要求を生成し、ネットワークを介してサーバ34に送信することにより実現される。
【0058】
図12は、図9の第3の実施の形態に係る顔認証システム30においてユーザの端末32のディスプレイに表示される顔撮像案内画面352の代表画面図である。図10のステップS412で公開鍵を受信したユーザ端末32は、カメラによるユーザの顔の撮像を促す第1案内メッセージ354を含む顔撮像案内画面352を生成し、ディスプレイに表示させる。顔撮像案内画面352はさらに、ユーザによって選択されたサービスの情報を表示する選択サービス情報表示領域356と、撮られた顔の画像がサーバ34において復号されない旨の通知を含む第2案内メッセージ358と、を有する。ユーザは、選択サービス情報表示領域356を見ることにより自分が選択したサービスの内容を確認し、第2案内メッセージ358を見ることで自分の顔の画像がサーバ34で復号されずに処理されることを知る。そしてユーザは、第1案内メッセージ354を見てそれに促され、「顔撮影」ボタンを押下する。「顔撮影」ボタンが押下されると、ユーザ端末32はユーザの顔を撮像するためにカメラを起動する。
【0059】
なお、図12の例では第1案内メッセージ354を表示することによりカメラによるユーザの顔の撮像を促す場合を説明したが、これに限られない。例えば、ユーザ端末32はカメラによるユーザの顔の撮像を促す案内を音声としてスピーカーに出力させてもよい。
【0060】
図13は、図9の第3の実施の形態に係る顔認証システム30においてユーザの端末32のディスプレイに表示される送信完了通知画面360の代表画面図である。図10のステップS418でHE顔特徴量をサーバ34に送信することに合わせて、ユーザ端末32は送信完了通知画面360を生成し、ディスプレに表示させる。送信完了通知画面360は、カメラにより撮像したユーザの顔の画像364と、当該顔のHE顔特徴量に対応する画像362と、を有する。画像362は、例えばHE顔特徴量そのもの(復号しない)から顔の画像を再構成することで得られる画像であってもよく、その場合画像362は顔を示すことはなくほぼランダムなノイズ画像となる。
本実施の形態では顔認証に準同型暗号を適用する場合を説明したが、これに限られず、例えば指紋認証や虹彩認証などの他の生体認証に準同型暗号を適用する場合にも、本実施の形態の技術的思想を適用することができる。
【0061】
(第4の実施の形態)
図14は、準同型暗号を適用した顔認証システム40の第4の実施の形態の模式図である。顔認証システム40は、ユーザ端末42と、エンティティ1のサーバ44と、エンティティ2のサーバ46と、エンティティ3のサーバ48と、オンプレミスサーバ49と、を備える。エンティティ1、エンティティ2、エンティティ3、はいずれも他とは異なっており、いずれも独立している。各エンティティのサーバはクラウドにホストされていてもよい。顔認証システム40の各構成要素は、インターネットなどのネットワークを介して互いに通信可能に接続されている。なお、第4の実施の形態では3つのエンティティが存在する場合を例として説明しているが、エンティティの数に制限はなく、2つのエンティティが存在する場合および4つ以上のエンティティが存在する場合にも等しく本実施の形態の技術的思想を適用可能である。
【0062】
顔認証システム40では、顔の画像を成分に分解し、成分ごとに準同型暗号化された状態で照合を行う。成分ごとの照合結果を統計的または総合的に判断することで顔認証の成否が決定される。これにより、仮に上記照合を行うサーバのひとつでデータの漏洩が発生し、さらに漏洩したデータが復号されてしまったとしても、流出するのは成分の特徴量のみであって顔の画像全体の特徴量ではない。成分の特徴量のみから元の顔全体の特徴量はわからない。したがって、サーバからのデータ漏洩による顔特徴量流出のリスクをさらに低減することができる。
【0063】
ユーザ端末42は、顔認証の登録用にユーザの顔を撮像するためのカメラと、カメラからユーザの顔の画像を取得する顔画像取得部と、パーツ分解部と、パーツ毎暗号化部と、該暗号化部で用いられる準同型暗号の公開鍵を保持する保持部と、パーツ毎送信部と、を備える。ユーザ端末42は、オンプレミスサーバ49からネットワークを介して配布される公開鍵を取得し、上記保持部に格納する。
【0064】
パーツ分解部は、顔画像取得部によって取得されたユーザの顔の画像を成分に分解する。例えば、顔の画像を目、鼻、口などの顔のパーツに分解してもよい。あるいはまた、顔の画像をRGBやCMYKやYCrCb(輝度と色差)などの色空間における成分に分解してもよい。本実施の形態では顔の画像を目の画像と口の画像と輝度画像とに分解する場合を説明する。パーツ分解部における顔の画像の成分への分解は、公知の顔認識の技術を用いて実現されてもよい。
【0065】
パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの目の画像から目特徴量を抽出し、抽出された目特徴量を保持部に保持されている公開鍵で準同型暗号化する。パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの口の画像から口特徴量を抽出し、抽出された口特徴量を保持部に保持されている公開鍵で準同型暗号化する。パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの顔の画像の輝度成分から輝度特徴量を抽出し、抽出された輝度特徴量を保持部に保持されている公開鍵で準同型暗号化する。
【0066】
パーツ毎送信部は、HE目特徴量を含む目登録要求を生成し、ネットワークを介してエンティティ1のサーバ44に送信する。パーツ毎送信部は、HE口特徴量を含む口登録要求を生成し、ネットワークを介してエンティティ2のサーバ46に送信する。パーツ毎送信部は、輝度特徴量を含む輝度登録要求を生成し、ネットワークを介してエンティティ3のサーバ48に送信する。
【0067】
エンティティ1のサーバ44は、非特許文献1や非特許文献2に記載される公知の技術を用いることにより、準同型暗号化したままの顔成分認証を実現する。サーバ44は、ユーザ端末42から送られてくる目登録要求に含まれるHE目特徴量を保持する目特徴保持部と、オンプレミスサーバ49から送られてくる目認証要求に含まれるHE目特徴量と目特徴保持部に保持されているHE目特徴量との差分(以下、目差分という)を計算する計算部と、を含む。当該目差分は準同型暗号化された状態で算出される。サーバ44は、算出されたHE目差分をオンプレミスサーバ49に送信する。
【0068】
エンティティ2のサーバ46は、非特許文献1や非特許文献2に記載される公知の技術を用いることにより、準同型暗号化したままの顔成分認証を実現する。サーバ46は、ユーザ端末42から送られてくる口登録要求に含まれるHE口特徴量を保持する口特徴保持部と、オンプレミスサーバ49から送られてくる口認証要求に含まれるHE口特徴量と口特徴保持部に保持されているHE口特徴量との差分(以下、口差分という)を計算する計算部と、を含む。当該口差分は準同型暗号化された状態で算出される。サーバ46は、算出されたHE口差分をオンプレミスサーバ49に送信する。
【0069】
エンティティ3のサーバ48は、非特許文献1や非特許文献2に記載される公知の技術を用いることにより、準同型暗号化したままの顔成分認証を実現する。サーバ48は、ユーザ端末42から送られてくる輝度登録要求に含まれるHE輝度特徴量を保持する輝度成分特徴保持部と、オンプレミスサーバ49から送られてくる輝度認証要求に含まれるHE輝度特徴量と輝度成分特徴保持部に保持されているHE輝度特徴量との差分(以下、輝度差分という)を計算する計算部と、を含む。当該輝度差分は準同型暗号化された状態で算出される。サーバ48は、算出されたHE輝度差分をオンプレミスサーバ49に送信する。
【0070】
オンプレミスサーバ49は、鍵保持部と、顔画像取得部と、パーツ分解部と、パーツ毎暗号化部と、パーツ毎送信部と、パーツ毎差分復号部と、パーツ毎差分更新部と、一致判定部と、差分テーブルと、を含む。
【0071】
鍵保持部は、準同型暗号で用いられる一対の公開鍵と秘密鍵とを保持する。顔画像取得部は、カメラで被顔認証者(ユーザ端末42を介して顔を登録したユーザ)を撮像することによって得られる当該被顔認証者の顔の画像を取得する。パーツ分解部は、顔画像取得部によって取得されたユーザの顔の画像を、ユーザ端末42のパーツ分解部で行われる分解と同じ態様で、成分に分解する。
【0072】
パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの目の画像から目特徴量を抽出し、抽出された目特徴量を鍵保持部に保持されている公開鍵で準同型暗号化する。パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの口の画像から口特徴量を抽出し、抽出された口特徴量を鍵保持部に保持されている公開鍵で準同型暗号化する。パーツ毎暗号化部は、パーツ分解部における分解の結果得られるユーザの顔の画像の輝度成分から輝度特徴量を抽出し、抽出された輝度特徴量を鍵保持部に保持されている公開鍵で準同型暗号化する。
【0073】
パーツ毎送信部は、HE目特徴量を含む目認証要求を生成し、ネットワークを介してエンティティ1のサーバ44に送信する。パーツ毎送信部は、HE口特徴量を含む口認証要求を生成し、ネットワークを介してエンティティ2のサーバ46に送信する。パーツ毎送信部は、輝度特徴量を含む輝度認証要求を生成し、ネットワークを介してエンティティ3のサーバ48に送信する。
【0074】
パーツ毎差分復号部は、エンティティ1のサーバ44から送られてくるHE目差分を、鍵保持部に保持されている秘密鍵を用いて復号する。パーツ毎差分復号部は、エンティティ2のサーバ46から送られてくるHE口差分を、鍵保持部に保持されている秘密鍵を用いて復号する。パーツ毎差分復号部は、エンティティ3のサーバ48から送られてくるHE輝度差分を、鍵保持部に保持されている秘密鍵を用いて復号する。
【0075】
パーツ毎差分更新部は、パーツ毎差分復号部における復号の結果得られる目差分、口差分、輝度差分で、差分テーブルを更新する。差分テーブルは成分ごとに一致の度合い(以下、一致度)を保持する。パーツ毎差分更新部は、パーツ毎差分復号部における復号の結果得られた目差分(例えば、差分=5%)に対応する一致度(例えば、一致度=95%)と、差分テーブルに保持されている目の一致度と、を比較し、前者が後者より大きければ差分テーブルの目の一致度を前者に置き換え、そうでなければ差分テーブルの目の一致度を変えずに維持する。パーツ毎差分更新部は口、輝度についても同様の処理を行う。その後、パーツ毎差分更新部は、照合対象を変えて再度差分を計算させるための再計算要求を各サーバ44、46、48に送信する。
【0076】
パーツ毎差分復号部およびパーツ毎差分更新部は、各サーバ44、46、48の特徴保持部に保持されている特徴量の全てについて、HE差分取得、復号、差分テーブル更新、の処理を繰り返す。その結果、差分テーブルには成分ごとに一致度の最大値が保持される。
【0077】
一致判定部は、エンティティ1のサーバ44によって実現される顔成分認証の結果と、エンティティ2のサーバ46によって実現される顔成分認証の結果と、エンティティ3のサーバ48によって実現される顔成分認証の結果と、に基づいて、被顔認証者の顔認証の成否を判定する。エンティティ1のサーバ44によって実現される顔成分認証の結果、エンティティ2のサーバ46によって実現される顔成分認証の結果、エンティティ3のサーバ48によって実現される顔成分認証の結果、はそれぞれ差分テーブルに保持される目の一致度の最大値、口の一致度の最大値、輝度成分の一致度の最大値、に対応する。一致判定部は、差分テーブルに保持される成分ごとの一致度の最大値を統計処理することにより顔認証の成否を判定してもよい。例えば、所定数以上の成分の一致度の最大値が第1閾値より大きければ顔認証の成功と判定してもよい。具体的には、一致度の最大値が75%より大きい成分が2つ以上あれば顔認証の成功と判定するよう設定した場合、図14に示される差分テーブルについては顔認証の成功と判定される。あるいはまた、差分テーブルに保持される成分ごとの一致度の最大値の平均を算出し、当該平均が第2閾値を超える場合に顔認証の成功と判定してもよい。
【0078】
本実施の形態に係る顔認証システム40によると、顔の画像全体の特徴量を準同型暗号化するのではなく、顔の画像の成分(目、口等)の特徴量を準同型暗号化するので、暗号化する対象のデータの量を少なくすることができる。これにより計算の負荷が軽減される。
本実施の形態では顔認証に準同型暗号を適用する場合を説明したが、これに限られず、例えば指紋認証や虹彩認証などの他の生体認証に準同型暗号を適用する場合にも、本実施の形態の技術的思想を適用することができる。
【0079】
(第5の実施の形態)
図15は、準同型暗号を適用した顔認識システム50の第5の実施の形態の模式図である。顔認識システム50は、ユーザ端末52と、クラウドサーバ54と、オンプレミスサーバ56と、を備える。顔認識システム50の各構成要素は、インターネットなどのネットワークを介して互いに通信可能に接続されている。顔認識システム50では、ユーザ端末52のユーザの顔の表情を準同型暗号化したまま認識する。
【0080】
ユーザ端末52は、ユーザの顔を撮像するためのカメラおよびその制御部と、当該カメラでユーザを撮像することによって得られる当該ユーザの顔の画像の顔特徴量を抽出し、抽出された顔特徴量を準同型暗号化する暗号化部と、該暗号化部で用いられる準同型暗号の公開鍵を保持する保持部と、を含む。ユーザ端末52は、ネットワークを介してオンプレミスサーバ56から公開鍵を取得する。ユーザ端末52は、HE顔特徴量を含む顔認識要求を生成し、ネットワークを介してクラウドサーバ54に送信する。
【0081】
クラウドサーバ54は、様々なユーザの怒った顔のHE顔特徴量を保持する怒った顔特徴保持部と、様々なユーザの笑った顔のHE顔特徴量を保持する笑った顔特徴保持部と、様々なユーザの眠った顔のHE顔特徴量を保持する眠った顔特徴保持部と、様々なユーザの満足顔のHE顔特徴量を保持する満足顔特徴保持部と、を備える。クラウドサーバ54は予め、ユーザ端末52のユーザや他のユーザから怒った顔のHE顔特徴量を収集し、怒った顔特徴保持部に登録しておく。笑った顔、眠った顔、満足顔についても同様に収集、登録を行っておく。なお、本実施の形態では4種類の表情(怒り、笑い、眠り、満足)のうちからひとつを認識する場合を説明するが、これに限られず、驚きや悲しみなど他の表情を認識するよう構成してもよい。
【0082】
クラウドサーバ54は、ユーザ端末52から送られてくる顔認識要求に含まれるHE顔特徴量と、各表情に対応する特徴保持部に保持されているHE顔特徴量と、の差分を計算する計算部と、各表情について算出されたHE差分をオンプレミスサーバ56にネットワークを介して送信する送信部と、を含む。
【0083】
オンプレミスサーバ56は、復号部と、一致判定部と、表情処理部と、鍵保持部と、差分テーブルと、を含む。鍵保持部は、準同型暗号で用いられる一対の公開鍵と秘密鍵とを保持する。復号部は、クラウドサーバ54から送られてくる各表情についてのHE差分を、鍵保持部に保持されている秘密鍵を用いて復号する。一致判定部は、復号部による復号の結果得られた各表情についての差分に基づき一致判定を行う。具体的には、第4の実施の形態の差分テーブルの例と同様に、HE差分取得、復号、差分テーブル更新、の処理を繰り返す。その結果、差分テーブルには表情ごとに一致度の最大値が保持される。一致判定部は、差分テーブルに保持される一致度の最大値が最も大きな表情を、ユーザの顔の表情として判定する。図15の例では、一致判定部は、ユーザの顔の表情を「満足」と判定する。表情処理部は、一致判定部におけるユーザの顔の表情の判定結果に基づく所定の処理を行う。
【0084】
本実施の形態に係る顔認識システム50によると、ユーザの顔の顔特徴量を準同型暗号化したまま、クラウドで顔の表情を認識することができる。したがって、ユーザの顔のプライバシーを保護したままユーザの顔の表情を認識することができる。これは例えば以下のようなアプリケーションにおいて有益である。
・E-Learningにおいて、カメラをオンにして講義を受けさせることで、ユーザが講義に集中しているか、眠っているか、を判定することができる。この場合、オンプレミスサーバ56がE-learningを提供し、ユーザはユーザ端末52を用いて講義を受ける。オンプレミスサーバ56は、ユーザが眠っていると判定された場合、ユーザ端末52に警告音を発生させるか、ユーザ端末52を振動させるなど、ユーザを起こすための処理をユーザ端末52に行わせる。あるいはまた、ユーザ端末52のディスプレイに講師のアバターを表示させる場合には、当該アバターに、ユーザを起こすためのアクションを取らせてもよい。
・ユーザの同意を得てユーザがオンラインショッピングのサイトを見ているときのユーザの顔を撮像する。オンラインショッピングを提供するオンプレミスサーバ56は、ユーザの顔の表情の判定結果から、提供しているサイトに対するユーザの反応を取得する。
・ユーザの同意を得てユーザがオンラインコンテンツや動画を見ているときのユーザの顔を撮像する。オンラインコンテンツや動画を提供するオンプレミスサーバ56は、ユーザの顔の表情の判定結果から、提供しているコンテンツや動画に対するユーザの反応を取得する。
【0085】
(第6の実施の形態)
図16は、準同型暗号を適用した印影除去システム60の実施の形態の模式図である。契約書などの印影がある文書をOCRで読み取る際、そのままでは印影と重なる部分の文字を読み取ることが困難なので、印影を除去する前処理を行う。クラウドベースのOCRサービスでは、クライアントに、印影が付いた状態の契約書のpdfまたは画像をクラウドにアップロードさせて印影の除去を行うこととなる。しかしながら、偽造や悪用のおそれから、印影付きの文書をnon-trustedなクラウドにアップロードすることはクライアントに嫌がられる傾向にある。
【0086】
そこで、本実施の形態に係る印影除去システム60では、印影付きの文書から印影がある部分を切り出し、切り出された部分を準同型暗号化してクラウドに送信する。クラウドでは、当該部分を準同型暗号化したまま印影除去を行う。これにより、クラウドにおいて印影が復号されることはないので、クライアントは安心してクラウドベースのOCRサービスを利用することができる。
【0087】
印影除去システム60は、ユーザ端末62と、準同型暗号化したままの印影除去を実現するクラウドサーバ64と、を備える。ユーザ端末62は、事前登録部と、印影処理部と、鍵保持部と、を含む。鍵保持部は、準同型暗号で用いられる公開鍵と秘密鍵とのペアを保持する。事前登録部は、予め、除去の対象となる印影の画像を取得し、準同型暗号化してクラウドサーバ64に送信して登録させる。印影処理部は、印影付きの文書の画像を取得して印影部分を抽出し、抽出された部分を準同型暗号化してクラウドサーバ64に送信する。印影処理部は、クラウドサーバ64から返信されてきた、印影除去済みの部分を復号し、文書を再構成する。
【0088】
事前登録部は、印影画像取得部と、準同型暗号化部と、送信部と、を含む。印影画像取得部は、カメラが除去の対象となる印影を撮像することにより得られる印影の画像を取得する。準同型暗号化部は、取得された印影の画像を、鍵保持部に保持されている公開鍵を用いて準同型暗号化する。送信部は、HE印影画像を含む印影登録要求を生成し、ネットワークを介してクラウドサーバ64に送信する。
【0089】
印影処理部は、文書画像取得部と、印影部分抽出部と、準同型暗号化部と、送信部と、復号部と、文書再構成部と、を含む。文書画像取得部は、カメラが処理対象の印影付き文書を撮像することにより得られる文書の画像を取得する。印影部分抽出部は、取得された文書の画像から、印影を含む所定の大きさの部分(以下、印影部分という)を抽出する。準同型暗号化部は、抽出された印影部分を、鍵保持部に保持されている公開鍵を用いて準同型暗号化する。送信部は、HE印影部分を含む印影除去要求を生成し、ネットワークを介してクラウドサーバ64に送信する。
【0090】
クラウドサーバ64は、印影保持部と、印影除去部と、を含む。印影保持部は、事前登録部から受信した印影登録要求に含まれるHE印影画像を保持する。印影除去部は、印影保持部に保持されているHE印影画像を参照し、印影処理部から受信した印影除去要求に含まれるHE印影部分から画素単位で印影を除去する。印影除去部は、HE印影部分から印影を除去したHE処理済み部分画像をユーザ端末62にネットワークを介して送信する。
【0091】
復号部は、クラウドサーバ64から、HE処理済み部分画像を取得する。復号部は、HE処理済み部分画像を、鍵保持手段によって保持されている秘密鍵で復号する。文書再構成部は、復号部における復号の結果得られる処理済み部分画像を用いて文書を再構成する。文書再構成部は、文書画像取得部によって取得された文書の画像において、印影を含む所定の大きさの部分を、復号された処理済み部分画像で置き換える。ユーザ端末62は、再構成された文書に対してOCRなどの処理を行ってもよいし、再構成された文書をクラウドベースのOCRサービスに送信してもよい。
【0092】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
【0093】
以上、実施の形態に係る顔認証システム、顔認識システムの構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。
【0094】
実施の形態では、顔の画像の顔特徴量を抽出し、それを準同型暗号化して送信する場合について説明したが、これに限られず、例えば、取得した顔の画像そのものを準同型暗号化して送信してもよい。
実施の形態では、顔を用いる1要素認証の場合を説明したが、これに限られず、例えば顔とパスワードや顔とPINコードなどの2要素認証、ひいてはMulti-Factor Authentication(多要素認証)の場合にも実施の形態の技術的思想を適用可能である。
【0095】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一の記憶装置(ストレージやメモリ)に格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数の記憶装置または複数の装置に分散して配置された複数の記憶装置に分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16