(57)【要約】  個人情報や秘密情報に対する高い安全性を確保し、且つ、ユーザの利便性を損なわないことに寄与するデータ抽出システムを提供する。データ抽出システムは、登録装置と、データ記憶装置と、クエリ装置と、を含む。登録装置は、ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成する。データ記憶装置は、登録データを記憶する。クエリ装置は、データ記憶装置から登録データを取得するためのクエリを生成し登録データを取得すると共に、ユーザの生体情報により秘密鍵を登録データから抽出し、抽出された秘密鍵を用いて秘密情報を前記登録データから抽出する。
2018043466.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するよう構成された、登録装置と、
前記登録データを記憶するよう構成された、データ記憶装置と、
前記データ記憶装置から前記登録データを取得するためのクエリを生成し前記登録データを取得すると共に、ユーザの生体情報により前記秘密鍵を前記登録データから抽出し、前記抽出された秘密鍵を用いて前記秘密情報を前記登録データから抽出するよう構成された、クエリ装置と、
を含む、データ抽出システム。
【請求項２】
前記登録装置は、少なくとも前記秘密鍵を符号化した結果とユーザの生体情報を用いて、前記第２情報を生成するよう構成された、請求項１のデータ抽出システム。
【請求項３】
前記登録装置は、前記秘密情報を識別するための第１識別子のハッシュ値を計算すると共に、前記第１識別子のハッシュ値、前記秘密鍵を符号化した結果及びユーザの生体情報の二項演算により前記第２情報を生成するよう構成された、請求項２のデータ抽出システム。
【請求項４】
前記第１識別子と前記登録データを識別するための第２識別子との対応を記憶するよう構成された対応表記憶装置をさらに含み、
前記登録装置は、前記第１識別子を前記対応表記憶装置に送信し、
前記データ記憶装置は、前記登録データを記憶する際に前記第２識別子を生成し、前記生成された第２識別子を前記対応表記憶装置に送信するよう構成された、請求項３のデータ抽出システム。
【請求項５】
更新後の秘密情報を更新用の秘密鍵により暗号化して前記第１情報を更新し、前記更新用の秘密鍵を用いて前記第２情報を更新して前記登録データを更新するためのデータを生成するよう構成された、データ更新装置をさらに含む、請求項１乃至４のいずれか一項に記載のデータ抽出システム。
【請求項６】
前記秘密鍵は、共通鍵暗号方式による鍵である、請求項１乃至５のいずれか一項に記載のデータ抽出システム。
【請求項７】
前記秘密鍵を符号化する方式は、ＢＣＨ符号方式である、請求項２乃至４のいずれか一項に記載のデータ抽出システム。
【請求項８】
ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するステップと、
前記登録データをデータ記憶装置に記憶するステップと、
前記データ記憶装置から前記登録データを取得するためのクエリを生成し前記登録データを取得するステップと、
ユーザの生体情報により前記秘密鍵を前記登録データから抽出するステップと、
前記抽出された秘密鍵を用いて前記秘密情報を前記登録データから抽出するステップと、を含む、データ抽出方法。
【請求項９】
ユーザが秘密にしたい情報である秘密情報を暗号化するための秘密鍵を生成するよう構成された、秘密鍵生成部と、
前記秘密鍵により前記秘密情報を暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するよう構成された登録データ生成部と、
を備える、登録装置。
【請求項１０】
ユーザが秘密にしたい情報である秘密情報を暗号化するための秘密鍵を生成する処理と、
前記秘密鍵により前記秘密情報を暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１６−１６７９３５号（２０１６年８月３０日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、データ抽出システム、データ抽出方法、登録装置及びプログラムに関する。特に、ネットワーク上のストレージに置かれたデータへアクセスを行うデータ抽出システム、データ抽出方法、登録装置及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを介して様々なサービスがユーザに提供される状況にある。ユーザが、ネットワーク上のサービスを利用する際、当該ユーザがサービスを利用する権限を持っていることの確認や、課金対象のユーザを特定する必要がある。その際、パスワードを用いた認証が広く利用されている。パスワードを用いた認証は、ユーザがあらかじめ定めた文字列（秘密の言葉、秘密の情報）を記憶していることを利用する認証方式である。【０００３】
また、近年、ネットワーク環境が整備され、インターネット上にて多くのサービスが提供されている。そのため、一人のユーザが、多くのサービスを利用することも多い。情報の保護やセキュリティの観点からは、各サービスに用いるパスワードはすべて異なるものであることが望まれる。しかし、実際には、一人のユーザが、多くのパスワードを記憶・管理することは難しく、同じパスワードが使い回される等の問題が生じる。【０００４】
このような問題を解決するため、近年、パスワードを管理するシステムである、パスワードマネージャが注目されている。パスワードマネージャとは、ユーザの利用する端末の内部に、サービスと当該サービス用のパスワードの組を記憶しておき、ユーザがサービスを利用する際に、対応するサービスのパスワードを検索することができるシステムである。当該パスワードマネージャにより、ユーザはサービスの名称からパスワードを得ることができるため、ユーザ自身が多くのパスワードを記憶、管理する必要がなくなる。また、パスワードはユーザが利用する端末の内部に記憶されているため、当該端末が正しく管理（きちんと保護）されれば、パスワードが漏洩する可能性もない。【０００５】
一方で、スマートフォン等の急速な普及に伴い、ユーザが端末を使い分けて同じサービスを利用することも増えている。例えば、自宅ではパーソナルコンピュータ（ＰＣ；Personal Computer）から利用し、外出先ではスマートフォンからサービスを利用するような状況が頻繁に起こる。その際に、上記パスワードマネージャを利用する場合には、パスワードマネージャは、ＰＣとスマートフォンそれぞれに用意しておく必要がある。つまり、サービスのパスワードは決まっているため、複数デバイスに同じパスワードを記憶（入力）する必要がある。また、スマートフォンのように、比較的頻繁に端末が変更される場合、その都度データを新しい端末に引き継がなければならず、利便性に問題がある。【０００６】
このような問題に対応するため、クラウドサービスを利用したパスワードマネージャサービスが利用されている。当該サービスは、元来端末の内部に記憶していた情報（サービスとパスワードの組）を、クラウド上に格納することにより、ユーザが利用する様々な端末から同一のパスワードマネージャにアクセスすることを可能にしている。パスワードマネージャサービスを利用する際には、初めに、ユーザは、パスワードマネージャへのアクセスのために、パスワード等を用いたユーザ認証を行う。認証が受理されたユーザは、自身が保管しているサービスのパスワードを入手し、各種サービスを利用する。【０００７】
このように、クラウドサービスを利用したパスワードマネージャサービスでは、ユーザ認証が必要であるため、ユーザは、パスワードマネージャサービスの認証のために１つのパスワードを記憶・管理する必要がある。換言するならば、１つのパスワードを記憶・管理しさえすれば、ユーザが、様々なサービスで利用する多くのパスワードを記憶・管理することが不要となる。さらに、ユーザの身体的特徴（生体器官）や行動的特徴（癖）を、ユーザ認証に用いれば、ユーザはパスワードを記憶・管理する必要がなくなる。なお、ユーザの身体的特徴や行動的特徴を用いたユーザ認証を生体認証と称される。【０００８】
特許文献１には、生体情報によりユーザ認証を行うクラウドサービスが開示されている（段落［００６７］）。特許文献１には、特許文献１の図１におけるクラウドサービスにおいて、認証サーバが受信した認証データと登録済みの認証データを照合することが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１５−３２１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【００１１】
上記クラウドによるパスワードマネージャサービスは、高い利便性をユーザに提供するものであるが、クラウド上にサービス・パスワードの組を記憶すると、当該データの漏洩を防止する必要がある。万が一データが漏洩した場合を想定し、データを予め暗号化してクラウドに記憶することも想定されるが、その場合には、クラウド上のサーバやユーザ自身が暗号の復号鍵を保持する必要がある。クラウド上に復号鍵を記憶する場合には、クラウドの管理者等が害意を持つ場合や、ハッキング等によりクラウドサーバが第３者に乗っ取られた場合に、安全性は確保できない。また、ユーザ自身が復号鍵を記憶する場合には、ユーザが記憶、管理すべき秘密情報が増えるため利便性が損なわれる。【００１２】
このように、クラウド上にて提供されるパスワードマネージャサービスのようなデータ抽出システムにおいて、クラウドの管理者に対しても秘密情報（暗号の復号鍵）を秘匿する要望が存在すると共に、ユーザが管理すべき情報（上記復号鍵やパスワード）を削減するような要望が存在する。つまり、パスワードマネージャを含むクラウド上での秘密情報保管サービスにおいて、管理者に対しても秘密情報を秘匿し、且つ、ユーザによる情報管理を削減し利便性を高めることが要望されている。【００１３】
なお、特許文献１は、クラウドサービスを利用する際にユーザの生体情報によるユーザ認証を行う技術を開示するものである。この場合、ユーザの個人情報である生体情報をクラウドに提供する必要があるため、ユーザによってはこのような情報提供に懸念を示すことも多い。つまり、クラウド側には上記秘密情報に加えて、ユーザの生体情報（個人情報）をも秘匿することが要望されている。【００１４】
本発明は、個人情報や秘密情報に対する高い安全性を確保し、且つ、ユーザの利便性を損なわないデータ抽出システム、データ抽出方法、登録装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の視点によれば、ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するよう構成された、登録装置と、前記登録データを記憶するよう構成された、データ記憶装置と、前記データ記憶装置から前記登録データを取得するためのクエリを生成し前記登録データを取得すると共に、ユーザの生体情報により前記秘密鍵を前記登録データから抽出し、前記抽出された秘密鍵を用いて前記秘密情報を前記登録データから抽出するよう構成された、クエリ装置と、を含む、データ抽出システムが提供される。【００１６】
本発明の第２の視点によれば、ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するステップと、前記登録データをデータ記憶装置に記憶するステップと、前記データ記憶装置から前記登録データを取得するためのクエリを生成し前記登録データを取得するステップと、ユーザの生体情報により前記秘密鍵を前記登録データから抽出するステップと、前記抽出された秘密鍵を用いて前記秘密情報を前記登録データから抽出するステップと、を含む、データ抽出方法が提供される。【００１７】
本発明の第３の視点によれば、ユーザが秘密にしたい情報である秘密情報を暗号化するための秘密鍵を生成するよう構成された、秘密鍵生成部と、前記秘密鍵により前記秘密情報を暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成するよう構成された登録データ生成部と、を備える、登録装置が提供される。【００１８】
本発明の第４の視点によれば、ユーザが秘密にしたい情報である秘密情報を暗号化するための秘密鍵を生成する処理と、前記秘密鍵により前記秘密情報を暗号化した第１情報と、前記秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成する処理と、をコンピュータに実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１９】
本発明の各視点によれば、個人情報や秘密情報に対する高い安全性を確保し、且つ、ユーザの利便性を損なわないことに寄与するデータ抽出システム、データ抽出方法、登録装置及びプログラムが、提供される。
【図面の簡単な説明】
【００２０】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係るデータ抽出システム（秘密情報抽出システム）の概略構成の一例を示す図である。
【図３】第１の実施形態に係る登録装置の内部構成の一例を示すブロック図である。
【図４】第１の実施形態に係るデータ記憶装置の内部構成の一例を示すブロック図である。
【図５】第１の実施形態に係る対応表記憶装置の内部構成の一例を示すブロック図である。
【図６】第１の実施形態に係るクエリ装置の内部構成の一例を示すブロック図である。
【図７】第１の実施形態に係るデータ更新装置の内部構成の一例を示すブロック図である。
【図８】第１の実施形態に係る登録装置のハードウェア構成の一例を示すブロック図である。
【図９】第１の実施形態に係るデータ抽出システムにおける登録フェーズの動作の一例を示すシーケンス図である。
【図１０】第１の実施形態に係るデータ抽出システムにおけるクエリフェーズの動作の一例を示すシーケンス図である。
【図１１】第１の実施形態に係るデータ抽出システムにおける更新フェーズの動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２１】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００２２】
一実施形態に係るデータ抽出システムは、登録装置１０１と、データ記憶装置１０２と、クエリ装置１０３と、を含む（図１参照）。登録装置１０１は、ユーザが秘密にしたい情報である秘密情報を秘密鍵により暗号化した第１情報と、秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成する。データ記憶装置１０２は、登録データを記憶する。クエリ装置１０３は、データ記憶装置１０２から登録データを取得するためのクエリを生成し登録データを取得すると共に、ユーザの生体情報により秘密鍵を登録データから抽出し、抽出された秘密鍵を用いて秘密情報を前記登録データから抽出する。
【００２３】
上記一実施形態に係るデータ抽出システムでは、登録装置１０１が、ユーザが秘密にしたい情報（データ）を鍵Ｋによって秘匿し、さらに、当該鍵Ｋは、システムを利用するユーザの生体情報によって秘匿される。これらの情報（秘匿されたデータ、秘匿された鍵Ｋ）は、クラウド上のサーバ（データ記憶装置１０２）に保管され、データの抽出時は、ユーザの生体情報によって鍵Ｋが復元され、復元した鍵Ｋによってデータが抽出される。その結果、例えば、クラウド上での秘密情報保管サービス（例えば、パスワードマネージャサービス）において、生体情報を用いてサービス利用のための認証とデータの秘匿が行われ、クラウドの管理者に対してもデータを秘匿し、且つ、ユーザがサービスを利用する際に必要となる情報の管理負担を低減することができる。即ち、個人情報（生体情報）や秘密情報（パスワード等）に対する高い安全性を確保し、且つ、ユーザの利便性を損なわないデータ抽出システムが提供される。
【００２４】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００２５】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２６】
図２は、第１の実施形態に係るデータ抽出システム（秘密情報抽出システム）の概略構成の一例を示す図である。
【００２７】
図２を参照すると、データ抽出システムは、登録装置１０と、データ記憶装置２０と、対応表記憶装置３０と、クエリ装置４０と、データ更新装置５０と、を含んで構成される。登録装置１０等の各装置は、ネットワークを介してそれぞれ接続されている。
【００２８】
［概略動作の説明］
図２に示すデータ抽出システムにおいて、初めに、ユーザは、秘密にしたい情報（例えば、パスワードとサービスの組み合わせ）を登録装置１０に入力する。その際、ユーザは、秘密にしたい情報（以下、秘密情報と表記する）と、当該情報を識別するための識別子（ＩＤ；Identifier）と、自身の生体情報（例えば、指紋画像等）と、を登録装置１０に入力する。入力された秘密情報は、暗号化されてデータ記憶装置２０に格納される。
【００２９】
ユーザは、データ記憶装置２０に格納された秘密情報の取得をクエリ装置４０により行う。即ち、ユーザは、クエリ装置４０を介してデータ記憶装置２０に登録した秘密情報を取得する。その際、ユーザは、取得したい秘密情報に対応する識別子と、先に登録装置１０に入力した生体情報と同種の生体情報をクエリ装置４０に入力する。
【００３０】
データ記憶装置２０に格納された秘密情報を更新する場合には、ユーザは、データ更新装置５０に更新後の秘密情報、識別子、生体情報を入力する。データ更新装置５０は、データ記憶装置２０が記憶するデータを更新するためのデータを生成し、記憶しているデータの書き換えをデータ記憶装置２０に依頼する。
【００３１】
図２において、登録装置１０、クエリ装置４０及びデータ更新装置５０はユーザ側の装置であり、データ記憶装置２０及び対応表記憶装置３０はクラウド側の装置である。例えば、ユーザは、登録装置１０を用いて秘密情報であるパスワードとサービスの組みをデータ記憶装置２０に格納する（秘密情報をクラウド側に配置する）。次に、データ記憶装置２０に格納された秘密情報を異なる端末で利用する場合を考えると、各端末はクエリ装置４０と同等の機能が利用可能に構成されている必要がある。その上で、ユーザは、各端末に取り出したい秘密情報に対応する識別子と自身の生体情報を入力して秘密情報をクラウドから取得する（ユーザ側で復号する）。なお、登録装置１０、クエリ装置４０及びデータ更新装置５０の各機能が１つの端末（スマートフォン、パーソナルコンピュータ）にて実現されていても良いことは勿論である。
【００３２】
上記データ抽出システムの動作は、「登録フェーズ」、「クエリフェーズ」及び「更新フェーズ」の３つのフェーズに分類できる。
【００３３】
登録フェーズは、登録装置１０が、ユーザが定めた上記秘密情報を秘匿した登録データを生成し、データ記憶装置２０に記憶するフェーズである。その際、データ記憶装置２０は、登録データに対し対応する識別子を付与する。なお、以降の説明において、登録データに付与する識別子を登録データ識別子と表記する。また、ユーザが秘密情報に付与する識別子を秘密情報識別子と表記する。なお、対応表記憶装置３０は、ユーザが秘密情報に付与した秘密情報識別子と登録データ識別子の対応関係を記憶する。
【００３４】
クエリフェーズは、ユーザが抽出したい秘密情報に対応する秘密情報識別子を用いて、データ記憶装置２０から登録データを入手し、当該登録データから秘密情報を抽出するフェーズである。抽出された秘密情報は、ユーザに提供される。
【００３５】
更新フェーズは、登録していた秘密情報が変更となった場合（例えば、パスワードを更新した際）に、登録データの更新を行うフェーズである。
【００３６】
［各装置の構成］
次に、データ抽出システムを構成する各装置の内部構成（処理モジュール）について説明する。
【００３７】
図３は、登録装置１０の内部構成の一例を示すブロック図である。図３を参照すると、登録装置１０は、秘密鍵生成部１１と、ハッシュ値計算部１２と、符号化部１３と、特徴量生成部１４と、登録データ生成部１５と、通信制御部１６と、を含んで構成される。
【００３８】
秘密鍵生成部１１は、秘密情報を秘匿（暗号化）するための秘密鍵（共通鍵暗号方式の鍵）を生成する手段である。
【００３９】
ハッシュ値計算部１２は、秘密情報に対応する秘密情報識別子のハッシュ値を計算する手段である。
【００４０】
符号化部１３は、上記生成された秘密鍵を符号化する手段である。
【００４１】
特徴量生成部１４は、ユーザが入力した生体情報を特徴付ける特徴量を生成する手段である。例えば、特徴量生成部１４は、ユーザが入力する生体情報が指紋画像である場合には、指紋画像から抽出した特徴点（端点、分岐点）の座標位置を要素とする特徴量ベクトルを生成し、生体情報を数値化する。
【００４２】
登録データ生成部１５は、データ記憶装置２０に記憶する登録データを生成する手段である。詳細は後述するが、登録データ生成部１５は、秘匿したい情報（秘密情報）を上記生成された秘密鍵にて暗号化すると共に、符号化された秘密鍵を生体情報から算出された特徴量により暗号化することで、登録データを生成する。つまり、登録データ生成部１５は、ユーザが秘匿したい情報である秘密情報を秘密鍵により暗号化した第１情報（暗号文）と、当該秘密鍵を少なくともユーザの生体情報を用いて暗号化した第２情報と、からなる登録データを生成する。
【００４３】
通信制御部１６は、他の装置との間の通信を実現する手段である。通信制御部１６は、他の装置から受信したメッセージ（パケット）を各処理モジュール部に振り分ける、又は、各処理モジュールから取得したメッセージを他の装置に送信する手段でもある。
【００４４】
図４は、データ記憶装置２０の内部構成の一例を示すブロック図である。図４を参照すると、データ記憶装置２０は、登録データ記憶部２１と、データ登録部２２と、データ検索部２３と、通信制御部２４と、を含んで構成される。
【００４５】
登録データ記憶部２１は、登録装置１０の登録データ生成部１５が生成した登録データを記憶する手段である。
【００４６】
データ登録部２２は、登録装置１０が生成し、データ記憶装置２０に向けて送信する登録データを受信し、当該データを登録データ記憶部２１に格納する手段である。その際、データ登録部２２は、登録データを識別するための識別子（上述の登録データ識別子）を生成し、上記取得した登録データと共に登録データ記憶部２１に格納する。また、データ登録部２２は、生成した登録データ識別子を対応表記憶装置３０に送信する。
【００４７】
データ検索部２３は、クエリ装置４０から要求された登録データを登録データ記憶部２１から検索する手段である。データ検索部２３は、検索した登録データをクエリ装置４０に送信する。
【００４８】
通信制御部２４は、他の装置との間の通信を実現する手段である。通信制御部２４は、他の装置から受信したメッセージ（パケット）を各処理モジュール部に振り分ける、又は、各処理モジュールから取得したメッセージを他の装置に送信する手段でもある。
【００４９】
図５は、対応表記憶装置３０の内部構成の一例を示すブロック図である。図５を参照すると、対応表記憶装置３０は、識別子対応表記憶部３１と、データ登録部３２と、データ検索部３３と、通信制御部３４と、を含んで構成される。
【００５０】
識別子対応表記憶部３１は、登録データ識別子（データ記憶装置２０が登録データごとに付与した識別子）と秘密情報識別子（ユーザが秘密情報ごとに付与した識別子）との対応関係（対応表、テーブル情報）を記憶する手段である。
【００５１】
データ登録部３２は、登録装置１０から取得した秘密情報識別子とデータ記憶装置２０から取得した登録データ識別子を対応付けて識別子対応表記憶部３１に格納する手段である。
【００５２】
データ検索部３３は、クエリ装置４０から取得した秘密情報識別子に対応する登録データ識別子を検索する手段である。データ検索部３３は、検索した登録データ識別子をクエリ装置４０に送信する。
【００５３】
通信制御部３４は、他の装置との間の通信を実現する手段である。通信制御部３４は、他の装置から受信したメッセージ（パケット）を各処理モジュール部に振り分ける、又は、各処理モジュールから取得したメッセージを他の装置に送信する手段でもある。
【００５４】
図６は、クエリ装置４０の内部構成の一例を示すブロック図である。図６を参照すると、クエリ装置４０は、クエリ生成部４１と、ハッシュ値計算部４２と、特徴量生成部４３と、秘密鍵抽出部４４と、データ復号部４５と、通信制御部４６と、を含んで構成される。
【００５５】
クエリ生成部４１は、ユーザから秘密情報識別子の入力を受けると、ユーザが抽出したい秘密情報識別子に対応した登録データ識別子を対応表記憶装置３０から取得し、クエリを生成する手段である。より具体的には、クエリ生成部４１は、対応表記憶装置３０から取得した登録データ識別子を含むクエリ（登録データの送信要求）を生成し、データ記憶装置２０に送信する。
【００５６】
ハッシュ値計算部４２は、秘密情報識別子のハッシュ値を計算する手段である。
【００５７】
特徴量生成部４３は、ユーザが入力する生体情報を特徴付ける特徴量を生成する手段である。特徴量生成部４３は、登録装置１０の特徴量生成部１４に対応する手段であり、特徴量生成部１４と同種の方式、アルゴリズムにより入力された生体情報を数値化する。その結果、登録装置１０とクエリ装置４０に入力される生体情報がほぼ同じであれば、ほぼ同じ特徴量（数値、数値列）が得られることになる。
【００５８】
秘密鍵抽出部４４は、クエリの結果、データ記憶装置２０から送信されてきた登録データから秘密鍵を抽出する手段である。秘密鍵抽出部４４の動作に関する詳細は後述する。
【００５９】
データ復号部４５は、抽出された秘密鍵を用いて暗号文を復号することで秘密情報を抽出する手段である。データ復号部の動作に関する詳細は後述する。
【００６０】
通信制御部４６は、他の装置との間の通信を実現する手段である。通信制御部４６は、他の装置から受信したメッセージ（パケット）を各処理モジュール部に振り分ける、又は、各処理モジュールから取得したメッセージを他の装置に送信する手段でもある。
【００６１】
図７は、データ更新装置５０の内部構成の一例を示すブロック図である。図７を参照すると、データ更新装置５０は、更新秘密鍵生成部５１と、ハッシュ値計算部５２と、符号化部５３と、特徴量生成部５４と、更新データ生成部５５と、通信制御部５６と、を含んで構成される。
【００６２】
更新秘密鍵生成部５１は、更新後の秘密情報を秘匿するための秘密鍵を生成する手段である。
【００６３】
ハッシュ値計算部５２は、秘密情報識別子のハッシュ値を計算する手段である。
【００６４】
符号化部５３は、更新秘密鍵生成部５１により生成された秘密鍵を符号化する手段である。
【００６５】
特徴量生成部５４は、ユーザから取得した生体情報の特徴量を生成する手段である。
【００６６】
更新データ生成部５５は、更新後の秘密情報に基づき更新データ（更新された登録データ）を生成する手段である。更新データ生成部５５は、更新後の秘密情報を、更新用の秘密鍵により暗号化して上述の第１情報を更新し、更新用の秘密鍵を用いて上述の第２情報を更新して既に登録されている登録データを更新するためのデータを生成する。
【００６７】
通信制御部５６は、他の装置との間の通信を実現する手段である。通信制御部５６は、他の装置から受信したメッセージ（パケット）を各処理モジュール部に振り分ける、又は、各処理モジュールから取得したメッセージを他の装置に送信する手段でもある。
【００６８】
登録装置１０とデータ更新装置５０は、データ記憶装置２０に格納する最初の登録データを生成する装置（登録装置）であるか、データ記憶装置２０に記憶された登録データを更新するための更新データを生成する装置（データ更新装置５０）であるか、において相違する。換言するならば、両装置にて重複する機能も多く、データ更新装置５０の機能を登録装置１０により実現することも勿論可能である。
【００６９】
［ハードウェア構成］
次に、第１の実施形態に係るデータ抽出システムを構成する各種装置のハードウェア構成を説明する。
【００７０】
図８は、第１の実施形態に係る登録装置１０のハードウェア構成の一例を示すブロック図である。
【００７１】
登録装置１０は、情報処理装置（コンピュータ）により構成可能であり、図８に例示する構成を備える。例えば、登録装置１０は、内部バスにより相互に接続される、ＣＰＵ（Central Processing Unit）２０１、メモリ２０２、入出力インターフェイス２０３及び通信手段であるＮＩＣ（Network Interface Card）２０４等を備える。
【００７２】
但し、図８に示す構成は、登録装置１０のハードウェア構成を限定する趣旨ではない。登録装置１０は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス２０３を備えていなくともよい。また、登録装置１０に含まれるＣＰＵ等の数も図８の例示に限定する趣旨ではなく、例えば、複数のＣＰＵが登録装置１０に含まれていてもよい。
【００７３】
メモリ２０２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）である。
【００７４】
入出力インターフェイス２０３は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置や、ＵＳＢ（Universal Serial Bus）メモリ等の外部記憶装置から情報を入力する装置である。さらに、スキャナやマイク等のデバイスも入力装置に相当する。ユーザは、キーボードやマウス等を用いて、秘密情報や秘密情報識別子を登録装置１０に入力する。また、ユーザは、スキャナ等を用いて生体情報を登録装置１０に入力する。
【００７５】
登録装置１０の機能は、上記処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ２０２に格納されたプログラムをＣＰＵ２０１が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び／又は、ソフトウェアで実行する手段があればよい。
【００７６】
なお、データ記憶装置２０、対応表記憶装置３０、クエリ装置４０及びデータ更新装置５０も登録装置１０と同様に情報処理装置により構成可能であり、その基本的なハードウェア構成は登録装置１０と相違する点は無いので説明を省略する。但し、クエリ装置４０及びデータ更新装置５０は、登録装置１０と同様にユーザからの情報入力（秘密情報、秘密情報識別子及び生体情報の入力）が可能に構成されていることが必要である。
【００７７】
続いて、データ抽出システムの動作を説明するに先立ち、データ抽出システムにて用いられる各種技術（共通鍵暗号、誤り訂正符号、生体認証）について概説する。
【００７８】
共通鍵暗号は  ＫｅｙＧｅｎ、Ｅｎｃｒｙｐｔ、Ｄｅｃｒｙｐｔの３つのアルゴリズムからなる。ＫｅｙＧｅｎは、セキュリティパラメータ１＾ｋを入力とし、秘密鍵ＳＫを生成するアルゴリズムである。Ｅｎｃｒｙｐｔは、当該秘密鍵ＳＫとメッセージＭを入力とし、暗号文Ｅｎｃｒｙｐｔ（ＳＫ、Ｍ）を生成するアルゴリズムである。Ｄｅｃｒｙｐｔは上記秘密鍵ＳＫと暗号文Ｃを入力とし、メッセージＤｅｃｒｙｐｔ（ＳＫ、Ｃ）を生成するアルゴリズムである。
【００７９】
Ｄｅｃｒｙｐｔ（ＳＫ、Ｅｎｃｒｙｐｔ（ＳＫ、Ｍ））＝Ｍが満たされる。共通鍵暗号は、秘密鍵ＳＫを知らないエンティティが暗号文Ｅｎｃｒｙｐｔ（ＳＫ、Ｍ）を得たとしても、メッセージＭに関する情報を一切得られないことが数学的に証明可能であるものとする。
【００８０】
誤り訂正符号はＥｎｃｏｄｅ、Ｄｅｃｏｄｅの２つのアルゴリズムからなる。ＥｎｃｏｄｅはメッセージＭを入力とし、符号データＥｎｃｏｄｅ（Ｍ）を生成するアルゴリズムである。Ｄｅｃｏｄｅは符号データＣを入力とし、メッセージＤｅｃｏｄｅ（Ｃ）を生成するアルゴリズムである。その際、符号データＣとあるメッセージＭの符号データＥｎｃｏｄｅ（Ｍ）の距離ｄ１（Ｃ、Ｅｎｃｏｄｅ（Ｍ））が、予め定めた値ｔ１よりも小さいとき、即ち、距離ｄ１（Ｃ、Ｅｎｃｏｄｅ（Ｍ））＜ｔ１のとき、Ｄｅｃｏｄｅ（Ｃ）＝Ｍが成立する。
【００８１】
なお、距離の定義は、誤り訂正符号によって定まる。例えば、誤り訂正符号がＢＣＨ符号（BCH code）であれば、距離はハミング距離となり、リード・ソロモン符号であればユークリッド距離となる。
【００８２】
生体認証は、指紋、静脈、顔等の生体情報を利用してユーザ認証を行うものである。その際、生体情報を採取するたびに得られる生体情報は異なることが通常知られている。しかし、同一の生体から取得した生体情報Ｚ１とＺ２は、何らかの距離の意味で近い（生体情報Ｚ１とＺ２は近似する）。生体認証は、その距離の下での類似度を利用して、照合を行うものである。即ち、同一の生体から得られた生体情報Ｚ１、Ｚ２に対して、距離ｄ２（Ｚ１、Ｚ２）はある閾値ｔ２未満になることが仮定でき、異なる生体から得られた生体情報Ｚ１、Ｚ３に関し、距離ｄ３（Ｚ１、Ｚ３）は閾値ｔ２以上となることが仮定できる。
【００８３】
以下、上記３つのフェーズ（登録フェーズ、クエリフェーズ、更新フェーズ）それぞれについての詳細を説明する。
【００８４】
なお、その際の説明において、二項演算子（＋）を利用する。二項演算子（＋）は、例えば、ビットごとの排他的論理和や加算であり、システムで用いる誤り訂正符号の種類によって決まる演算子である。例えば、誤り訂正符号としてＢＣＨ符号を利用した場合、二項演算子（＋）はビットごとの排他的論理和となる。
【００８５】
［登録フェーズ］
図９は、第１の実施形態に係るデータ抽出システムにおける登録フェーズの動作の一例を示すシーケンス図である。
【００８６】
登録装置１０は、ユーザｉ（ｉは正の整数、以下同じ）がシステムに保管しておきたい秘密情報ＰＷｉとその秘密情報識別子ＳＶｉ及び生体情報を入力する（ステップＳ１０１）。
【００８７】
登録装置１０の秘密鍵生成部１１は、秘密情報識別子ＳＶｉに対応する共通鍵暗号の秘密鍵ＳＫｉを生成する（ステップＳ１０２）。
【００８８】
ハッシュ値計算部１２は、秘密情報識別子ＳＶｉを入力として、ハッシュ値Ｈ（ＳＶｉ）を生成する（ステップＳ１０３）。
【００８９】
符号化部１３は、生成された秘密鍵ＳＫｉを誤り訂正符号により符号化し、Ｅｎｃｏｄｅ（ＳＫｉ）を生成する（ステップＳ１０４）。
【００９０】
特徴量生成部１４は、ユーザの生体情報からその特徴量Ｚｉを生成する（ステップＳ１０５）。
【００９１】
登録データ生成部１５は、登録データＤ[ｉ][０]、Ｄ[ｉ][１]をそれぞれ以下の２つの式に従い生成する（ステップＳ１０６）。
Ｄ[ｉ][０]＝Ｈ（ＳＶｉ）（＋）Ｅｎｃｏｄｅ（ＳＫｉ）（＋）Ｚｉ  ・・・（１）
Ｄ[ｉ][１]＝Ｅｎｃｒｙｐｔ（ＳＫｉ、ＰＷｉ）  ・・・（２）
【００９２】
登録データ生成部１５は、生成した登録データ（Ｄ[ｉ][０]、Ｄ[ｉ][１]）をデータ記憶装置２０に、識別子ＳＶｉを対応表記憶装置３０に、それぞれ送信する（ステップＳ１０７）。
【００９３】
登録データ（Ｄ[ｉ][０]、Ｄ[ｉ][１]）を受信したデータ記憶装置２０のデータ登録部２２は、受信した登録データに対応する登録データ識別子ＩＤｉを生成し、登録データ及びその識別子からなる組み合わせ（ＩＤｉ、Ｄ[ｉ][０]、Ｄ[ｉ][１]）を登録データ記憶部２１に記憶する（ステップＳ１０８）。
【００９４】
その後、データ記憶装置２０は、登録データ識別子ＩＤｉを対応表記憶装置３０に送信する（ステップＳ１０９）。
【００９５】
対応表記憶装置３０は、登録装置１０から秘密情報識別子ＳＶｉを、データ記憶装置２０から登録データ識別子ＩＤｉをそれぞれ受信すると、これらの識別子の対応関係（ＩＤｉ、ＳＶｉ）を識別子対応表記憶部３１に記憶する（ステップＳ１１０）。
【００９６】
［クエリフェーズ］
図１０は、第１の実施形態に係るデータ抽出システムにおけるクエリフェーズの動作の一例を示すシーケンス図である。
【００９７】
クエリ装置４０は、ユーザｉから抽出したい秘密情報に対応する秘密情報識別子ＳＶｉと生体情報を入力する（ステップＳ２０１）。
【００９８】
クエリ装置４０は、取得した秘密情報識別子ＳＶｉを対応表記憶装置３０に送信する（ステップＳ２０２）。
【００９９】
秘密情報識別子ＳＶｉを受信した対応表記憶装置３０のデータ検索部３３は、識別子対応表記憶部３１を検索し、秘密情報識別子ＳＶｉに対応する登録データ識別子ＩＤｉを特定する。その後、データ検索部３３は、秘密情報識別子ＳＶｉに対応する登録データ識別子ＩＤｉをクエリ装置４０に送信する（ステップＳ２０３）。
【０１００】
クエリ装置４０は、登録データ識別子ＩＤｉに基づくクエリを生成し、当該生成したクエリをデータ記憶装置２０に送信する（ステップＳ２０４）。
【０１０１】
登録データ識別子ＩＤｉを含むクエリを受信したデータ記憶装置２０のデータ検索部２３は、登録データ識別子ＩＤｉに対応する登録データ（ＩＤ[ｉ][０]、ＩＤ[ｉ][１]）を特定し、当該登録データをクエリ装置４０に送信する（ステップＳ２０５）。
【０１０２】
登録データ（ＩＤ[ｉ][０]、ＩＤ[ｉ][１]）を受信したクエリ装置４０は、ハッシュ値計算部４２により、秘密情報識別子ＳＶｉのハッシュ値Ｈ（ＳＶｉ）を生成する（ステップＳ２０６）。
【０１０３】
特徴量生成部４３は、ユーザの生体情報からその特徴量Ｚｉ’を生成する（ステップＳ２０７）。
【０１０４】
秘密鍵抽出部４４は、ユーザの生体情報から生成された特徴量Ｚｉ’を用いて、以下の式（３）により秘密鍵ＳＫｉ’を生成する（ステップＳ２０８）。
ＳＫｉ’＝Ｄｅｃｏｄｅ（Ｄ[ｉ][０]（＋）Ｈ（ＳＶｉ）（＋）Ｚｉ’）  ・・・（３）
【０１０５】
その後、データ復号部４５は、秘密鍵ＳＫｉ’を用いて、以下の式（４）により秘密情報ＰＷｉ’を復元する（ステップＳ２０９）。
ＰＷｉ’＝Ｄｅｃｒｙｐｔ（ＳＫｉ’、Ｄ[ｉ][１]）  ・・・（４）
【０１０６】
クエリ装置４０が復元した秘密情報ＰＷｉ’をユーザに提供することで、クエリフェーズが終了する。
【０１０７】
［更新フェーズ］
図１１は、第１の実施形態に係るデータ抽出システムにおける更新フェーズの動作の一例を示すシーケンス図である。
【０１０８】
秘密情報の更新（変更）を希望するユーザは、データ更新装置５０に更新後の秘密情報ｕＰＷｉと対応する秘密情報識別子ＳＶｉを入力する（ステップＳ３０１）。
【０１０９】
データ更新装置５０は、秘密情報識別子ＳＶｉを対応表記憶装置３０に送信する（ステップＳ３０２）。
【０１１０】
秘密情報識別子ＳＶｉを受信した対応表記憶装置３０は、秘密情報識別子ＳＶｉに対応する登録データ識別子ＩＤｉを特定し、当該識別子ＩＤｉをデータ更新装置５０に送信する（ステップＳ３０３）。
【０１１１】
データ更新装置５０の更新秘密鍵生成部５１は、データ更新用の秘密鍵ｕＳＫｉを生成する（ステップＳ３０４）。
【０１１２】
ハッシュ値計算部５２は、識別子ＳＶｉのハッシュ値Ｈ（ＳＶｉ）を生成する（ステップＳ３０５）。
【０１１３】
符号化部５３は、更新用の秘密鍵ｕＳＫｉの符号Ｅｎｃｏｄｅ（ｕＳＫｉ）を生成する（ステップＳ３０６）。
【０１１４】
特徴量生成部５４は、ユーザの生体情報からその特徴量Ｚｉ”を生成する（ステップＳ３０７）。
【０１１５】
更新データ生成部５５は、更新後の秘密情報ｕＰＷｉ、生体情報の特徴量Ｚｉ”を用いて、以下の式（５）、（６）により更新後の登録データｕＤ[ｉ][０]、ｕＤ[ｉ][１]を生成する（ステップＳ３０８）。
ｕＤ[ｉ][０]＝Ｈ（ＳＶｉ）（＋）Ｅｎｃｏｄｅ（ｕＳＫｉ）（＋）Ｚｉ”  ・・・（５）
ｕＤ[ｉ][１]＝Ｅｎｃｒｙｐｔ（ｕＳＫｉ、ｕＰＷｉ）  ・・・（６）
【０１１６】
更新データ生成部５５は、登録データ識別子ＩＤｉと更新後の登録データ（ｕＤ[ｉ][０]、ｕＤ[ｉ][１]）をデータ記憶装置２０に送信する（ステップＳ３０９）。
【０１１７】
登録データ識別子ＩＤｉと更新後の登録データ（ｕＤ[ｉ][０]、ｕＤ[ｉ][１]）を受信したデータ記憶装置２０は、対応する登録データ（古い登録データ）を更新後のデータ（ＩＤｉ、ｕＤ[ｉ][０]、ｕＤ[ｉ][１]）に更新する（ステップＳ３１０）。以上の処理により、データ記憶装置２０の登録データが更新される。
【０１１８】
以上のように、第１の実施形態に係るデータ抽出システムでは、データ記憶装置２０に保存するデータ（秘密情報；例えば、パスワードとサービスの組み合わせ）を、共通鍵暗号により暗号化する。その際、暗号化に用いた秘密鍵を各ユーザに固有な生体情報により暗号化する。その結果、ユーザがシステムに格納したいデータ（システムから抽出したいデータ）をクラウド等のサーバ装置（データ記憶装置２０）に対して秘匿しつつ、ユーザは、必要な場合に当該データを取り出すことができる。即ち、第１の実施形態では、ユーザは、特段の情報を保持せず（生体情報以外の秘密情報を保持せず）、クラウドの管理者等に対しても生体情報、秘密情報を秘匿することができ、且つ、ユーザ自身は自らの生体情報を利用することにより、必要なときに当該情報を抽出することが可能となる。
【０１１９】
第１の実施形態にて説明したデータ抽出システムは、例えば、誤り訂正符号としてＢＣＨ符号、共通鍵暗号としてＡＥＳ（Advanced Encryption Standard）、を用いることで実現できる。その際の二項演算子（＋）はビットごとの排他的論理和となる。なお、他の誤り訂正符号（リード・ソロモン符号など）や他の共通鍵暗号方式を利用してもよいことは勿論である。
【０１２０】
さらに、同一人物から取得した生体情報であっても、当該生体情報を取得する際の条件（例えば、指紋画像であれば押捺時の力加減等）によっては同じ特徴量とならないこともあり得る。ここで、第１の実施形態では、秘密鍵を秘匿（暗号化）する際に、誤り訂正符号により符号化した秘密鍵に生体情報Ｚ（より正確にはその特徴量）を作用させている（二項演算している）。そのため、当該生体情報Ｚと誤り訂正符号を復号する際に使用する生体情報Ｚ’に僅かな相違が生じていても、誤り訂正符号の機能により上記相違は訂正される（相違は吸収される）。但し、秘密鍵の暗号化に使用する際の生体情報Ｚと誤り訂正符号を復号する際の生体情報Ｚ’の人物が異なるような場合には、誤り訂正符号の能力を超え、正しく秘密鍵を抽出することができない。そのため、秘密情報識別子を入力した人物と他人の生体情報がクエリ装置４０に入力されたとしても、当該情報からは秘密鍵を取得することはできない。但し、生体情報を取得する際の環境等によっては、誤り訂正符号により許容される相違が狭い場合（同一人物の指紋でも別人と頻繁に判定される場合）には、例えば、指紋画像を生体情報として利用する場合に特徴点の座標を粗く設定するなどして上記相違点を吸収することも可能である。
【０１２１】
また、上記実施形態では、暗号化された秘密鍵を取り出すためには、ユーザの生体情報に加えて、当該ユーザが秘密情報に付与した識別子（秘密情報識別子）が必要となる。そのため、何らかの方法によりユーザの生体情報を得たとしても秘密情報識別子を知らなければ暗号化された秘密鍵を取り出すことはできない。さらに、クラウド側におけるデータ記憶の役割分担を、データ記憶装置２０は登録データの記憶、対応表記憶装置３０は秘密情報識別子と登録データ識別子の対応表の記憶、とそれぞれ分けているため、万一、いずれか一方のデータが漏洩したとしても、暗号化された情報（秘密情報、秘密鍵）の秘匿性は確保される。このような面からも、第１の実施形態に係るデータ抽出システムでは、高い安全性が確保できる。
【０１２２】
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、例えばパスワードマネージャに適用することが好適である。特に、例えば、様々なサービスで利用するパスワードをクラウドなどのネットワーク上に置かれたストレージに預ける場合などに好適である。本発明を用いることにより、ネットワーク上のストレージに対して、ユーザが各サービスで利用しているパスワードを秘匿できる。一方で、ユーザは自身の生体情報を用いてパスワードを抽出することができる。その場合、例えば、復号に用いる鍵をユーザが保持せずに、ユーザ自身の生体情報を使用することにより、様々な機器から所望のデータを得ることができる。
【０１２３】
なお、上記実施形態にて説明したデータ抽出システムの構成（図２）は例示であって、システムの構成を限定する趣旨ではない。例えば、データ記憶装置２０と対応表記憶装置３０の機能が１つの装置により実現されていてもよい。
【０１２４】
上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下には限られない。
［形態１］
上述の第１の視点に係るデータ抽出システムのとおりである。
［形態２］
前記登録装置は、少なくとも前記秘密鍵を符号化した結果とユーザの生体情報を用いて、前記第２情報を生成するよう構成された、少なくとも形態１のデータ抽出システム。
［形態３］
前記登録装置は、前記秘密情報を識別するための第１識別子のハッシュ値を計算すると共に、前記第１識別子のハッシュ値、前記秘密鍵を符号化した結果及びユーザの生体情報の二項演算により前記第２情報を生成するよう構成された、少なくとも形態２のデータ抽出システム。
［形態４］
前記第１識別子と前記登録データを識別するための第２識別子との対応を記憶するよう構成された対応表記憶装置をさらに含み、
前記登録装置は、前記第１識別子を前記対応表記憶装置に送信し、
前記データ記憶装置は、前記登録データを記憶する際に前記第２識別子を生成し、前記生成された第２識別子を前記対応表記憶装置に送信するよう構成された、少なくとも形態３のデータ抽出システム。
［形態５］
更新後の秘密情報を更新用の秘密鍵により暗号化して前記第１情報を更新し、前記更新用の秘密鍵を用いて前記第２情報を更新して前記登録データを更新するためのデータを生成するよう構成された、データ更新装置をさらに含む、少なくとも形態１乃至４のいずれか一に記載のデータ抽出システム。
［形態６］
前記秘密鍵は、共通鍵暗号方式による鍵である、少なくとも形態１乃至５のいずれか一に記載のデータ抽出システム。
［形態７］
前記秘密鍵を符号化する方式は、ＢＣＨ符号方式である、少なくとも形態２乃至４のいずれか一に記載のデータ抽出システム。
［形態８］
上述の第２の視点に係るデータ抽出方法のとおりである。
［形態９］
上述の第３の視点に係る登録装置のとおりである。
［形態１０］
上述の第４の視点に係るプログラムのとおりである。
なお、形態８〜形態１０は、形態１と同様に、形態２〜形態７のように展開することが可能である。
【０１２５】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１２６】
１０、１０１  登録装置
１１  秘密鍵生成部
１２、４２、５２  ハッシュ値計算部
１３、５３  符号化部
１４、４３、５４  特徴量生成部
１５  登録データ生成部
１６、２４、３４、４６、５６  通信制御部
２０、１０２  データ記憶装置
２１  登録データ記憶部
２２、３２  データ登録部
２３、３３  データ検索部
３０  対応表記憶装置
３１  識別子対応表記憶部
４０、１０３  クエリ装置
４１  クエリ生成部
４４  秘密鍵抽出部
４５  データ復号部
５０  データ更新装置
５１  更新秘密鍵生成部
５５  更新データ生成部
２０１  ＣＰＵ（Central Processing Unit）
２０２  メモリ
２０３  入出力インターフェイス
２０４  ＮＩＣ（Network Interface Card）
【図１】
2018043466.tif 000003
【図２】
2018043466.tif 000004
【図３】
2018043466.tif 000005
【図４】
2018043466.tif 000006
【図５】
2018043466.tif 000007
【図６】
2018043466.tif 000008
【図７】
2018043466.tif 000009
【図８】
2018043466.tif 000010
【図９】
2018043466.tif 000011
【図１０】
2018043466.tif 000012
【図１１】
2018043466.tif 000013
【国際調査報告】
2018043466.tif 000014
2018043466.tif 000015
2018043466.tif 000016
2018043466.tif 000017