(57)【要約】  アクセスのコストを増やさずに、新たなクエリの対象となるデータを、過去のクエリの対象のデータと一致するか否かを秘匿するため、本発明の情報処理装置は、第１の識別子と、データとデータの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において第１の識別子とは異なる第２の識別子とを、データ管理装置に送信する識別子送信手段と、データ管理装置から受信した第１の識別子及び第２の識別子に対応するデータの中から、第１の識別子に対応するデータを選択するデータ選択手段とを含む。
2018034192.tif 000002
【特許請求の範囲】
【請求項１】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信する識別子送信手段と、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択するデータ選択手段と
を含む情報処理装置。
【請求項２】
前記第１の識別子及び前記データ管理装置に送信した前記識別子とは異なる第３の識別子を選択する識別子追加手段を
さらに含み、
前記識別子送信手段が、
前記データ管理装置に、前記第１の識別子及び前記第２の識別子に加え、前記第３の識別子を送信する
請求項１に記載の情報処理装置。
【請求項３】
前記識別子追加手段が、
前記データ管理装置が記憶している前記識別子から前記第３の識別子を選択する
請求項２に記載の情報処理装置。
【請求項４】
前記第１の識別子を受信する識別子受信手段と、
前記データ管理装置に送信した前記識別子を記憶する識別子記憶手段と、
前記識別子記憶手段が記憶する前記識別子の中から前記第２の識別子を選択する識別子選択手段と、
前記データ管理装置から前記第１の識別子及び前記第２の識別子に対応する前記データを受信するデータ受信手段と
をさらに含む請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記識別子選択手段が、
前記第２の識別子をランダムに選択する、
請求項４に記載の情報処理装置。
【請求項６】
前記識別子選択手段が、
所定の数の前記第２の識別子を選択する
請求項４又は５に記載の情報処理装置。
【請求項７】
前記データ選択手段が、
選択した前記データを基に前記第１の識別子を送信した送信元を認証する
請求項１ないし６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の識別子に対応する前記データが、認証に用いられるパスワード又は生体情報である
請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項９】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信し、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択する
情報処理方法。
【請求項１０】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信する処理と、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択する処理と
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、データにアクセスする情報処理装置、情報処理方法、及び、記録媒体に関する。
【背景技術】
【０００２】
パスワード又は生体情報（例えば、ユーザの生体から抽出される情報）などを用いた認証方法が、広く利用されている。例えば、ユーザにサービスを提供するサービス提供者は、サービスの提供において、予め、ユーザなどに関する識別子（Ｉｄｅｎｔｉｆｉｅｒ（ＩＤ））と、パスワードなどの認証用のデータとを保存する。そして、ユーザを認証する際に、サービス提供者は、ユーザが予め提示した識別子に関連付けられている認証用のデータと、ユーザが利用時に提示した認証用のデータとを照合する。【０００３】
クラウドコンピューティング（以下、「クラウド」と呼ぶ）の普及につれて、サービス提供者は、通信ネットワークに通信可能に接続した計算機資源を用いてデータを管理するサービスを利用して、サービスを提供するようになっている。クラウドの利用の例として、サービス提供者が、ユーザを認証するサービスにおいて保管するデータを、クラウドのストレージ上に保管することが挙げられる。この場合、サービスのユーザも、クラウドのストレージを使用することになる。【０００４】
認証のために保存されるユーザのデータは、パスワード又は生体情報などの機微な（ｓｅｎｓｉｔｉｖｅ）情報であることが多い。機微情報は、そのまま公開されるとプライバシの問題を発生する。つまり、ユーザのデータは、秘匿が必要となる情報であることが多い。データがクラウドのストレージ上に保管される場合、クラウドからのデータの漏洩及びクラウド管理者の不正が懸念される。したがって、ユーザのデータをクラウドのストレージ上に保管する場合にも、秘匿が必要となる場合が多い。【０００５】
暗号化などの方法を用いてユーザのデータを秘匿すると、ユーザのデータをクラウドに保管しても、ユーザのデータの内容を隠すことができる。【０００６】
しかし、ユーザのデータが秘匿されている場合でも、ユーザからのデータのアクセスに関する情報（例えば、どのデータにアクセスしたかに関する情報）は、クラウドにおいて、漏洩する可能性がある（例えば、非特許文献１を参照）。このようなアクセスに関する情報を、以下、「アクセス履歴」と呼ぶ。非特許文献１には、資産に関する情報又は健康に関する情報などの機微な情報を扱うウェブサイトへのアクセス履歴から、プライバシ情報が漏洩することが記載されている。【０００７】
そこで、アクセス履歴を秘匿する技術が提案されている（例えば、非特許文献２及び３を参照）。【０００８】
非特許文献２で提案されたＯｂｌｉｖｉｏｕｓ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍａｃｈｉｎｅ（ＯＲＡＭ）は、アクセス履歴を秘匿するための技術の一つである。ＯＲＡＭは、サーバに保存されているデータの読み出し処理、及び、書換え処理、並びに、サーバへのデータの書き出し処理において、サーバに対して、どの処理が、どのデータに対して実行されたのかを隠す技術である。【０００９】
また、非特許文献３で提案されたＰｒｉｖａｔｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ（ＰＩＲ）は、アクセス履歴を秘匿するための技術の一つである。ＰＩＲは、サーバに保存されているデータの読み出しにおいて、サーバに対して、どのデータを読み出したかを秘匿する技術である。ただし、ＯＲＡＭとは異なり、ＰＩＲは、データの書き込み、及び、データの書換えについては秘匿しない。【００１０】
ＯＲＡＭ及びＰＩＲに関する技術を用いると、サービスのユーザは、クラウドに保管するデータへのアクセス履歴を秘匿できる。例えば、クラウド上に認証に必要な情報を保存する場合に、ユーザが使用する装置がＯＲＡＭ又はＰＩＲのクライアントとして動作し、サービス提供者が利用する装置がＯＲＡＭ又はＰＩＲのサーバとして動作する。すると、ユーザ装置（クライアント）を利用したユーザのアクセス履歴（例えば、アクセスしたデータ）を、クラウド（サーバ）に対して秘匿することができる。【００１１】
しかし、これまでに提案されているＯＲＡＭ及びＰＩＲに関連する技術は、いずれも、サーバに保存されるデータのサイズ、サーバ及びクライアントの計算量、並びに、通信量などの面で効率が悪い。そのため、ＯＲＡＭ及びＰＩＲを実際に使用すること、つまり、実用化することは、難しかった。【００１２】
そこで、データの容量、計算量、及び、通信量などのコストを大きく増やさずに、サーバへのアクセス履歴の漏洩を防ぎながらサーバ上のデータをアクセスできる技術が、提案されている（例えば、特許文献１を参照）。【００１３】
特許文献１に記載の発明は、クエリに、クエリの対象となるデータに関する情報だけではなく、余分なデータに関する情報を追加する。【００１４】
特許文献１に記載の発明は、このような仕組みを用いて、各クエリにおいて、対象となるデータを秘匿する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】国際公開第２０１０／０２４１１６号
【非特許文献】
【００１６】
【非特許文献１】Shuo Chen, Rui Wang, XiaoFeng Wang, Kehuan Zhang, "Side-Channel Leaks in Web Applications: A Reality Today, a Challenge Tomorrow", Proceedings of the 2010 IEEE Symposium on Security and Privacy, IEEE Computer Society, Washington, DC, USA, 16-19 May, 2010, pp. 191-206.
【非特許文献２】Oded Goldreich, "Towards a Theory of Software Protection and Simulation by Oblivious RAMs", STOC '87 Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing, ACM New York (NY, USA), 1987, pp. 182-194.
【非特許文献３】Benny Chor, Eyal Kushilevitz, Oded Goldreich, Madhu Sudan, "Private Information Retrieval", Journal of the ACM (JACM), Volume 45, Issue 6, ACM New York (NY, USA), Nov. 1998, pp. 965-981.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
特許文献１に記載の発明は、上記のように、余分な情報を生成し、クエリに追加する発明である。【００１８】
ただし、特許文献１に記載の発明において、追加される情報は、新たに作成されたデータである。つまり、特許文献１に記載の発明において、追加される情報は、前回までのクエリ、つまり、過去のクエリに含まれない情報となる。そのため、対象となるデータが、過去のクエリとして要求したデータの場合、クエリの通信を観察している第三者は、新たなクエリと過去のクエリとを基に、対象となるデータを絞り込むことができる。なぜなら、各クエリにおいて過去のクエリに含まれるデータが、処理の対象となるデータであるためである。【００１９】
クエリの対象となるデータの秘匿性を向上するためには、新たなクエリにおける対象のデータが、過去のクエリの対象のデータと一致しているか否かを秘匿できることが望ましい。【００２０】
例えば、ユーザの認証は、何度も実行される処理である。つまり、認証用のデータは、過去のクエリの対象となっているデータである場合が多い。そのため、認証に用いられるデータのアクセスにおいて、クエリの対象のデータが過去のクエリの対象のデータと一致しているか否かを秘匿することは、重要である。【００２１】
しかし、特許文献１に記載の発明は、クエリの対象のデータが過去のクエリの対象のデータと一致しているか否かを秘匿できない。【００２２】
このように、特許文献１に記載の発明は、クエリの対象のデータが、過去のクエリの対象のデータと一致するか否かを秘匿できないという問題点があった。【００２３】
非特許文献１ないし３に記載の技術は、上記のとおりアクセスのコストが増えるため、上記問題を解決するための実用化が難しい。【００２４】
本発明の目的は、上記問題点を解決し、アクセスのコストを増やさずに、新たなクエリの対象となるデータが過去のクエリの対象のデータと一致するか否かを秘匿する情報処理装置、情報処理方法、及び、記録媒体を提供することにある。
【課題を解決するための手段】
【００２５】
本発明の一様態における情報処理装置は、第１の識別子と、データとデータの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において第１の識別子とは異なる第２の識別子とを、データ管理装置に送信する識別子送信手段と、データ管理装置から受信した第１の識別子及び第２の識別子に対応するデータの中から、第１の識別子に対応するデータを選択するデータ選択手段とを含む。【００２６】
本発明の一様態における情報処理方法は、第１の識別子と、データとデータの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において第１の識別子とは異なる第２の識別子とを、データ管理装置に送信し、データ管理装置から受信した第１の識別子及び第２の識別子に対応するデータの中から、第１の識別子に対応するデータを選択する。【００２７】
本発明の一様態における記録媒体は、第１の識別子と、データとデータの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において第１の識別子とは異なる第２の識別子とを、データ管理装置に送信する処理と、データ管理装置から受信した第１の識別子及び第２の識別子に対応するデータの中から、第１の識別子に対応するデータを選択する処理とをコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する。
【発明の効果】
【００２８】
本発明に基づけば、アクセスのコストを増やさずに、新たなクエリの対象となるデータが過去のクエリの対象のデータと一致するか否かを秘匿する効果を奏することができる。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明のおける第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係る情報処理装置の動作の一例を示すシーケンス図である。
【図４】図４は、第１の実施形態の概要に係る情報処理装置の構成の一例を示すブロック図である。
【図５】図５は、第２の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図６】図６は、第２の実施形態に係る情報処理装置の動作の一例を示すシーケンス図である。
【図７】図７は、ハードウェア構成の一例に係る情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３０】
次に、図面を参照して、本発明のおける実施形態について説明する。なお、各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面及び明細書の記載において、同様の構成には同じ符号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００３１】
なお、本発明における各実施形態において、データを識別するための情報（以下、「識別子」と呼ぶ）は、制限されない。例えば、識別子は、特定の数値、データの名称、又は、データのアドレスでもよい。以下の説明では、これらをまとめて、「識別子」として説明する。
【００３２】
＜第１の実施形態＞
まず、本発明における第１の実施形態に係る情報処理装置１００を説明するため、情報処理装置１００を含む情報処理システム３００の一例を説明する。
【００３３】
図２は、第１の実施形態に係る情報処理装置１００を含む情報処理システム３００の構成の一例を示すブロック図である。図２に示されているように、情報処理システム３００は、第１の実施形態に係る情報処理装置１００と、データ管理装置２００とを含む。情報処理装置１００は、所定の通信経路（例えば、インターネット）を介して、データ管理装置２００と接続されている。
【００３４】
データ管理装置２００は、クエリ（問い合わせ）として情報処理装置１００から対象となるデータの識別子を受信する。そして、データ管理装置２００は、レスポンス（応答）として、識別子に対応したデータを情報処理装置１００に送信する。
【００３５】
そのため、データ管理装置２００は、データ記憶部２１０と、データ検索部２２０とを含む。
【００３６】
データ記憶部２１０は、データと、そのデータに対応した識別子とを関連付けて記憶する。例えば、データ記憶部２１０は、記憶するデータとして、データと識別子とを含むデータの組を記憶してもよい。あるいは、データ記憶部２１０は、所定のデータベース（Ｄａｔａｂａｓｅ（ＤＢ））を用いて、データと識別子とを記憶してもよい。
【００３７】
データ検索部２２０は、クエリとして、情報処理装置１００から、一つ又は複数の識別子を受信する。データ検索部２２０は、データ記憶部２１０から、識別子に対応したデータを検索する。そして、データ検索部２２０は、検索したデータを、情報処理装置１００に送信する。
【００３８】
なお、データ検索部２２０は、後ほど説明するように、情報処理装置１００の仕様に沿って、データを送信する。例えば、情報処理装置１００が、識別子を基にデータを識別する場合、データ検索部２２０は、データと識別子との組を、情報処理装置１００に送信する。あるいは、情報処理装置１００が、データの通信における順番を基にデータを識別する場合、データ検索部２２０は、受信した識別子の順番に沿って、データを送信する。
【００３９】
情報処理装置１００は、取得の対象となるデータに対応した識別子及び追加の識別子をデータ管理装置２００に送信し、データ管理装置２００からデータを受信する。ただし、情報処理装置１００は、後ほど詳細に説明するとおり、対象となるデータを秘匿するように、対象となるデータの識別子と追加の識別子とを送信する。
【００４０】
なお、情報処理装置１００における取得対象となるデータは、特に制限されない。例えば、このデータは、情報処理装置１００のユーザを認証するためのデータである。より詳細には、例えば、データは、パスワード又は生体情報（例えば、ユーザの生体から抽出される情報）である。ただし、本実施形態のデータは、パスワード及び生体情報に限定されない。
【００４１】
以下、図面を参照して、情報処理装置１００について詳細に説明する。
【００４２】
［構成の説明］
まず、図面を参照して、情報処理装置１００の構成について説明する。
【００４３】
図１は、本発明における第１の実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。図１に示されているように、情報処理装置１００は、識別子記憶部１１０と、識別子受信部１２０と、識別子選択部１３０と、識別子送信部１４０と、データ受信部１５０と、データ選択部１６０とを含む。
【００４４】
識別子受信部１２０は、所定の装置（例えば、図示しないユーザの端末）又はアプリケーション（例えば、情報処理装置１００で動作する図示しないアプリケーション）から処理の対象となるデータの識別子（以下、「対象識別子」と呼ぶ）を取得する。そして、識別子受信部１２０は、受信した対象識別子を識別子選択部１３０に送信する。
【００４５】
なお、対象識別子は、「第１の識別子」の一例である。さらに、以下の説明において、対象識別子は、データ管理装置２００に送信したことがある識別子とする。また、対象識別子は、一つでもよく、複数でもよい。
【００４６】
識別子記憶部１１０は、情報処理装置１００がデータ管理装置２００に送信した識別子を記憶する。そのため、識別子記憶部１１０は、対象識別子も記憶している。
【００４７】
なお、識別子記憶部１１０は、情報処理装置１００がデータ管理装置２００に送信した識別子の一部を記憶してもよい。例えば、識別子記憶部１１０は、最も近い時間に送信した識別子から所定の数の識別子を記憶してもよい。あるいは、識別子記憶部１１０は、所定の時間範囲において送信した識別子を記憶してもよい。あるいは、識別子記憶部１１０は、所定の時間範囲において送信した識別子のうち、所定数の識別子を記憶してもよい。
【００４８】
識別子選択部１３０は、識別子記憶部１１０が記憶している識別子の中から、対象識別子とは異なる識別子（以下、「リピート識別子」と呼ぶ）を選択する。識別子選択部１３０は、一つ又は所定の数のリピート識別子を選択する。
【００４９】
識別子選択部１３０がリピート識別子を選択する手法は、特に制限されない。例えば、識別子選択部１３０は、ランダムにリピート識別子を選択してもよい。あるいは、識別子選択部１３０は、ラウンドロビンを用いて、リピート識別子を選択してもよい。
【００５０】
なお、リピート識別子は、「第２の識別子」の一例である。
【００５１】
なお、識別子選択部１３０が、所定の数のリピート識別子を選択する場合、リピート識別子の数は、予め、識別子選択部１３０に設定されている。ただし、識別子受信部１２０が、対象識別子の受信に合わせて、リピート識別子の数を受信してもよい。
【００５２】
対象識別子の秘匿性は、リピート識別子の数が多いほど向上する。ただし、情報処理装置１００の負荷は、リピート識別子の数が多いほど大きくなる。そこで、情報処理装置１００のユーザは、秘匿性と負荷とを考慮して、所定の数を決定すればよい。
【００５３】
識別子選択部１３０は、対象識別子とリピート識別子とを、識別子送信部１４０に送信する。
【００５４】
識別子送信部１４０は、対象識別子とリピート識別子とを含むクエリを作成し、クエリをデータ管理装置２００に送信する。つまり、識別子送信部１４０は、データ管理装置２００に、対象識別子に加え、リピート識別子を送信する。
【００５５】
このように、リピート識別子は、過去のクエリにおいて、データ管理装置２００に送信された識別子である。また、対象識別子も、データ管理装置２００に送信された識別子である。そのため、データ管理装置２００は、新たなクエリに含まれる識別子において、いずれの識別子が対象識別子であるかを判定できない。つまり、データ管理装置２００は、新たなクエリの対象となるデータが、過去のクエリの対象となるデータと一致しているか否かを判定できない。
【００５６】
このように、情報処理装置１００は、データ管理装置２００に対して、新たなクエリの対象である対象識別子に対応するデータを、過去のクエリの対象のデータと一致するか否かを秘匿できる。
【００５７】
なお、識別子送信部１４０は、クエリにおいて、対象識別子とリピート識別子との順番をランダムに変更することが望ましい。この動作は、対象識別子の特定性を低くする。そのため、この動作を基に、情報処理装置１００は、対象識別子の秘匿性をさらに向上できる。なお、識別子送信部１４０は、処理の規則を基に、対象識別子とリピート識別子との順番を変更してもよい。
【００５８】
あるいは、識別子送信部１４０は、対象識別子とリピート識別子とを複数のクエリに分割して、送信してもよい。
【００５９】
例えば、リピート識別子が２つ（以下、第１のリピート識別子と第２のリピート識別子とする。）の場合について説明する。識別子送信部１４０は、第１のクエリとして、対象識別子及び第１のリピート識別子を含むクエリを作成する。次に、識別子送信部１４０は、第２のクエリとして、対象識別子及び第２のリピート識別子を含むクエリを作成する。そして、識別子送信部１４０は、第１のクエリと第２のクエリを送信してもよい。このように、情報処理装置１００は、一回に限らず、複数回、対象識別子を送信してもよい。
【００６０】
さらに、識別子送信部１４０は、例えば、第３のクエリとして、対象識別子と、第１のリピート識別子と、第２のリピート識別子とを含むクエリを作成し、データ管理装置２００に送信してもよい。このように、情報処理装置１００は、クエリに含まれるリピート識別子の数を変更してもよい。なお、情報処理装置１００は、リピート識別子に限らず、クエリに含まれる対象識別子の数を変更してもよい。
【００６１】
あるいは、識別子送信部１４０は、例えば、第４のクエリとして、第１のリピート識別子及び第２のリピート識別子を含むクエリを作成し、データ管理装置２００に送信してもよい。このように、情報処理装置１００は、データ管理装置２００に、対象識別子を含まないクエリを送信してもよい。
【００６２】
なお、識別子記憶部１１０は、記憶する識別子を更新してもよい。例えば、識別子記憶部１１０が、データ管理装置２００に送信した全ての識別子を記憶するのではなく、所定の数の識別子を記憶してもよい。この場合、識別子記憶部１１０は、記憶する識別子の一部を、対象識別子及び／又はリピート識別子を用いて更新してもよい。あるいは、識別子記憶部１１０が、所定の時間範囲において送信した識別子を記憶する場合、識別子記憶部１１０は、送信した時刻を基に、記憶する識別子の一部を、対象識別子及び／又はリピート識別子を用いて更新してもよい。例えば、識別子選択部１３０又は識別子送信部１４０が、送信した対象識別子及び／又はリピート識別子を用いて、識別子記憶部１１０が記憶する識別子を更新してもよい。
【００６３】
データ受信部１５０は、データ管理装置２００から、対象識別子とリピート識別子とに対応したデータを受信する。
【００６４】
データ選択部１６０は、受信したデータの中から、対象識別子に対応したデータを選択する。そして、データ選択部１６０は、選択したデータを対象識別子の送信元（例えば、ユーザの端末又はアプリケーション）に送信する。
【００６５】
データ選択部１６０がデータを選択する方法は、特に制限されない。例えば、データ選択部１６０は、対象識別子を用いて、データ選択してもよい。この場合、データ選択部１６０は、データの選択において、識別子選択部１３０又は識別子送信部１４０から、対象識別子を取得してもよい。
【００６６】
あるいは、データ選択部１６０は、識別子送信部１４０が送信したクエリにおける識別子の順番を基に、データを選択してもよい。
【００６７】
なお、データ選択部１６０は、対象識別子に対応するデータ（以下、「対象データ」と呼ぶ）を用いて所定の処理を実行してもよい。例えば、データがパスワードの場合、データ選択部１６０は、対象データとして取得したパスワードと、対象識別子を送信した送信元（例えば、ユーザの端末）が対象識別子とともに送信したパスワードとを比較して、送信元を認証してもよい。つまり、情報処理装置１００は、対象データを基に、対象識別子を送信してきた送信元を認証してもよい。
【００６８】
［動作の説明］
次に、図面を参照して、情報処理装置１００の動作を説明する。
【００６９】
図３は、第１の実施形態に係る情報処理装置１００の動作の一例を示すシーケンス図である。図３は、動作の明確にするため、情報処理装置１００の動作に加え、データ管理装置２００の動作を含む情報処理システム３００の全体の動作を示している。
【００７０】
動作に先立ち、データ管理装置２００のデータ記憶部２１０は、データと識別子とを保存済みとする。
【００７１】
なお、データ管理装置２００に保存されているデータは、特に制限されない。例えば、保存されているデータは、情報処理装置１００を利用するユーザが保存を委託したデータでもよい。例えば、保存されているデータは、情報処理装置１００を管理するサービス提供者がサービス提供のために保存する情報（例えば、サービスの利用者を認証するためのパスワード又は生体情報）でもよい。また、保存されているデータは、暗号化されているデータでもよく、暗号化されていないデータでもよい。
【００７２】
さらに、情報処理装置１００の識別子記憶部１１０は、予め、過去に送信された識別子を記憶しているとする。
【００７３】
情報処理装置１００の識別子受信部１２０は、読み出しの対象となるデータの対象識別子を受信する（Ａ１）。対象識別子の送信元は、例えば、ユーザの端末である。
【００７４】
識別子選択部１３０は、識別子記憶部１１０から、一つ又は所定の数のリピート識別子を選択する（Ａ２）。ただし、識別子選択部１３０は、対象識別子とは異なるように、リピート識別子を選択する。
【００７５】
識別子送信部１４０は、対象識別子と、リピート識別子とを含むクエリをデータ管理装置２００に送信する（Ａ５）。識別子送信部１４０は、クエリにおいて、対象識別子と、リピート識別子との順番を所定の規則又はランダムに変更してもよい。
【００７６】
なお、対象識別子の数を「ｌ（ｌは１以上の整数）」とし、識別子選択部１３０が選択したリピート識別子の数を「ｎ（ｎは１以上の整数）」とすると、クエリは、ｌ＋ｎ個の識別子を含む。ただし、クエリは、その他の情報を含んでもよい。
【００７７】
データ管理装置２００のデータ検索部２２０は、情報処理装置１００からクエリを受信する（Ｃ１）。
【００７８】
そして、データ検索部２２０は、データ記憶部２１０から、クエリに含まれる識別子に対応するデータを検索し、検索されたデータをまとめたレスポンスを作成する（Ｃ２）。例えば、レスポンスは、ｌ＋ｎ個の識別子と、その識別子に対応したデータとの組を含むデータである。あるいは、レスポンスは、クエリに含まれる識別子の順に並んだデータでもよい。
【００７９】
データ検索部２２０は、レスポンスを、情報処理装置１００に送信する（Ｃ３）。
【００８０】
情報処理装置１００のデータ受信部１５０は、レスポンスとして、データを受信する（Ａ６）。
【００８１】
そして、データ選択部１６０は、レスポンス中に含まれるデータの中から、対象識別子に対応するデータ（対象データ）を選択する（Ａ７）。
【００８２】
なお、データ選択部１６０は、上記のように、対象データを用いて所定の処理を実行してもよい。
【００８３】
［効果の説明］
次に、第１の実施形態に係る情報処理装置１００の効果について説明する。
【００８４】
情報処理装置１００は、アクセスのコストを増やさずに、新たなクエリの対象となるデータを、過去のクエリの対象のデータと一致するか否かを秘匿する効果を奏することができる。
【００８５】
その理由は、情報処理装置１００が、以下のような構成を含むからである。すなわち、識別子受信部１２０が、対象識別子を受信する。そして、識別子選択部１３０が、識別子記憶部１１０が記憶する過去にデータ管理装置２００に送信した識別子の中から、対象識別子とは異なる、一つ又は所定の数のリピート識別子を選択する。そして、識別子送信部１４０が、対象識別子とリピート識別子とをデータ管理装置２００に送信する。そして、データ受信部１５０は、対象識別子とリピート識別子とに対応するデータを受信する。そして、データ選択部１６０が、対象識別子に対応するデータを選択する。
【００８６】
このような構成を基に、情報処理装置１００は、リピート識別子と対象識別子とを送信するため、送信した識別子において対象となるデータに関連する識別子を秘匿できる。
【００８７】
さらに、情報処理装置１００は、過去にデータ管理装置２００に送信した識別子からリピート識別子を選択するため、新たに対象となるデータを、過去の対象のデータと一致するか否かを秘匿できる。
【００８８】
さらに、情報処理装置１００は、クエリとして、リピート識別子と対象識別子を送信し、対応するデータを受信するため、ＯＲＡＭ及びＰＩＲと比べ、データの容量、計算量、及び通信量などのコストを削減できる。
【００８９】
［第１の実施形態の概要］
次に、図面を参照して、第１の実施形態に係る情報処理装置１００の概要を説明する。
【００９０】
図４は、第１の実施形態の概要である情報処理装置１０２の構成の一例を示すブロック図である。
【００９１】
情報処理装置１０２は、識別子送信部１４０と、データ選択部１６０とを含む。
【００９２】
識別子送信部１４０は、図示しない識別子選択部１３０と同様に動作する構成から、対象識別子と、リピート識別子とを取得する。あるいは、識別子送信部１４０は、予め、図示しない識別子選択部１３０が図示しないデータ保存部に保存した対象識別子とリピート識別子とを読み出してもよい。
【００９３】
そして、識別子送信部１４０は、対象識別子と、リピート識別子とを、データ管理装置２００に送信する。あるいは、識別子送信部１４０は、対象識別子と、リピート識別子とを、図示しない情報処理装置１０２上で動作するデータ管理装置２００に相当するアプリケーションに送信してもよい。
【００９４】
つまり、識別子送信部１４０は、対象識別子と、データ管理装置２００に送信した識別子において対象識別子とは異なるリピート識別子とを、データ管理装置２００に送信する。
【００９５】
データ選択部１６０は、図示しないデータ受信部１５０と同様に動作する構成がデータ管理装置２００から受信したデータの中から、対象識別子に対応するデータを選択する。あるいは、データ選択部１６０は、予め、図示しないデータ受信部１５０と同様に動作する構成が図示しないデータ保存部に保存したデータから、対象識別子に対応したデータを選択してもよい。あるいは、データ選択部１６０は、図示しない情報処理装置１０２上で動作するデータ管理装置２００に相当するアプリケーションが選択したデータの中から、対象識別子に対応するデータを選択してもよい。
【００９６】
つまり、データ選択部１６０は、データ管理装置２００から受信した対象識別子及びリピート識別子に対応するデータの中から、対象識別子に対応するデータを選択する。
【００９７】
このように構成された情報処理装置１０２は、情報処理装置１００と同様の効果を得ることができる。
【００９８】
その理由は、上記のとおりである。
【００９９】
情報処理装置１０２の識別子送信部１４０が、対象識別子とリピート識別子とをデータ管理装置２００又はデータ管理装置２００に相当する構成に送信する。そのため、情報処理装置１０２は、データを取得するために渡す識別子において、対象となるデータの識別子を秘匿できる。
【０１００】
さらに、データ選択部１６０は、データ管理装置２００又はデータ管理装置２００に相当する構成から受信したデータから、対象識別子に対応するデータを選択する。そのため、情報処理装置１０２は、対象となるデータの識別子を秘匿しながら、対象となるデータを取得できる。
【０１０１】
なお、情報処理装置１０２は、本発明の実施形態における最小構成である。
【０１０２】
＜第２の実施形態＞
第１の実施形態の情報処理装置１００において、対象となるデータが、過去のクエリに一度も含まれていないデータの場合、過去の全てのクエリを用いると、対象となるデータを特定できる可能性がある。さらに、データ管理装置２００又は通信を監視している第三者が、第１に実施形態に係る情報処理装置１００が過去のクエリに用いられた識別子を用いる装置であることが知っている場合、この可能性は、高くなる。
【０１０３】
第２の実施形態に係る情報処理装置１０１は、以下で説明するように、対象となるデータが新たなデータの場合においても、秘匿性を低下させない。
【０１０４】
以下、図面を参照して、第２の実施形態に係る情報処理装置１０１について説明する。
【０１０５】
［構成の説明］
図５は、第２の実施形態に係る情報処理装置１０１の構成の一例を示すブロック図である。
【０１０６】
情報処理装置１０１は、情報処理装置１００の構成に加え、識別子追加部１７０を含む。そのため、第１の実施形態の同様の構成の説明を省略し、識別子追加部１７０に関連する構成について説明する。
【０１０７】
識別子追加部１７０は、対象識別子及びリピート識別子に加え、さらにデータ管理装置２００に送信する識別子として追加する識別子(以下、「ダミー識別子」と呼ぶ)を作成又は選択する。ただし、識別子追加部１７０は、ダミー識別子として、対象識別子及び識別子記憶部１１０に記憶されている識別子とは異なる識別子を作成又は選択する。なお、ダミー識別子は、「第３の識別子」の一例である。
【０１０８】
識別子追加部１７０におけるダミー識別子の作成又は選択を行う方法は、特に制限されない。
【０１０９】
例えば、識別子追加部１７０は、所定の算出式を用いて、対象識別子又はリピート識別子からダミー識別子を算出してもよい。あるいは、識別子追加部１７０は、特許文献１に記載の方法を用いてもよい。あるいは、識別子追加部１７０は、図示しない記憶部が記憶している識別子から、ダミー識別子を選択してもよい。
【０１１０】
つまり、識別子追加部１７０は、対象識別子及びデータ管理装置２００に送信した識別子とは異なるダミー識別子を作成又は選択すればよい。なお、識別子追加部１７０は、所定の手法を用いて、又は、ランダムに、選択するダミー識別子の数を変更してもよい。
【０１１１】
ただし、データ管理装置２００が、ダミー識別子に対応したデータを送信できない場合、データ管理装置２００及び通信を監視している第三者は、そのことを用いて、ダミー識別子を判定できる場合がある。例えば、ユーザ認証用のデータは、通常は、データ管理装置２００に保存されている。そのため、データ管理装置２００に対応するデータがない識別子は、ダミー識別子と判断される可能性がある。
【０１１２】
そこで、識別子追加部１７０は、データ管理装置２００が記憶している識別子からダミー識別子を選択してもよい。例えば、識別子追加部１７０は、データ管理装置２００からデータ記憶部２１０に保存されている識別子を取得する。そして、識別子追加部１７０は、ダミー識別子として取得した識別子の中から対象識別子及び識別子記憶部１１０に記憶されている識別子とは異なる識別子を用いればよい。
【０１１３】
この場合、情報処理装置１０１は、ダミー識別子として、データ管理装置２００が記憶している識別子を送信する。そのため、情報処理装置１０１は、データ管理装置２００及び第三者に対して、ダミー識別子を判定される可能性を低下させることができる。
【０１１４】
識別子送信部１４０は、データ管理装置２００に、対象識別子及びリピート識別子に加え、ダミー識別子を送信する。
【０１１５】
さらに、対象識別子が、識別子記憶部１１０に保存されていない場合、識別子選択部１３０又は識別子送信部１４０は、対象識別子を、識別子記憶部１１０に保存する。
【０１１６】
上記を除き各構成は、第１の実施形態と同様に動作する。
【０１１７】
［動作の説明］
次に、図面を参照して、情報処理装置１０１の動作を説明する。
【０１１８】
図６は、第２の実施形態に係る情報処理装置１０１の動作の一例を示すシーケンス図である。図６に示されているように、情報処理装置１０１の動作は、情報処理装置１００の動作と比較すると、シーケンスのＢ３に示すダミー識別子を追加する動作と、Ｂ４に示す対象識別子を保存する動作とが追加されている。それ以外の動作は、第１の実施形態と同様である。そのため、同様の動作の詳細の説明を適宜省略し、シーケンスのＢ３及びＢ４に関連する動作を詳細に説明する。
【０１１９】
まず、識別子受信部１２０は、対象識別子を受信する（Ａ１）。
【０１２０】
識別子選択部１３０は、リピート識別子を選択する（Ａ２）。識別子選択部１３０は、対象識別子とリピート識別子とを識別子送信部１４０に送信する。
【０１２１】
識別子追加部１７０は、追加するダミー識別子を作成する（Ｂ３）。識別子追加部１７０は、ダミー識別子を識別子送信部１４０に送信する。
【０１２２】
なお、識別子追加部１７０がダミー識別子を作成する動作は、識別子選択部１３０がリピート識別子を選択する動作より前でもよい。あるいは、識別子追加部１７０がダミー識別子を作成する動作は、識別子選択部１３０がリピート識別子を選択する動作と、少なくとも一部が同時に動作してもよい。
【０１２３】
そして、識別子選択部１３０又は識別子送信部１４０は、対象識別子を、識別子記憶部１１０に保存する（Ｂ４）。つまり、識別子記憶部１１０は、新たな識別子として、データ管理装置２００に送信される対象識別子を保存する。ただし、識別子記憶部１１０が、対象識別子を記憶済みの場合、つまり、対象識別子が、データ管理装置２００に送信済みの場合、識別子選択部１３０又は識別子送信部１４０は、対象識別子を識別子記憶部１１０に追加しなくてよい。
【０１２４】
なお、対象識別子の保存は、クエリの送信前である必要はない。例えば、情報処理装置１０１とデータ管理装置２００との通信は、必ずしも成功するとは限らない。そこで、識別子送信部１４０がデータ管理装置２００にクエリを送信後、識別子送信部１４０は、通信できた対象識別子を識別子記憶部１１０に保存してもよい。
【０１２５】
このように、識別子選択部１３０又は識別子送信部１４０が、いずれかのタイミングで、対象識別子を、識別子記憶部１１０に保存すればよい。
【０１２６】
識別子送信部１４０は、対象識別子と、リピート識別子と、ダミー識別子とを含むクエリを、データ管理装置２００に送信する（Ａ５）。なお、識別子送信部１４０は、クエリにおいて、対象識別子と、リピート識別子と、ダミー識別子との順番を所定の規則又はランダムに変更してもよい。
【０１２７】
対象識別子の数を「ｌ」とし、識別子選択部１３０が選択したリピート識別子の数を「ｎ」とし、識別子追加部１７０が作成したダミー識別子の数を「ｍ（ｍは１以上の整数）」とすると、クエリは、ｌ＋ｎ＋ｍ個の識別子を含む。ただし、クエリは、その他の情報を含んでもよい。
【０１２８】
データ管理装置２００は、第１の実施形態と同様に動作する（Ｃ１ないしＣ３）。
【０１２９】
データ受信部１５０は、データ管理装置２００から、対象識別子と、リピート識別子と、ダミー識別子とに対応するデータを受信する（Ａ６）。
【０１３０】
データ選択部１６０は、受信したデータから対象識別子に対応するデータを取得する（Ａ７）。
【０１３１】
［効果の説明］
次に、第２の実施形態の効果について説明する。
【０１３２】
第２の実施形態に係る情報処理装置１０１は、第１の実施形態に係る情報処理装置１００の効果に加え、さらに、対象データの秘匿性を向上するとの効果を奏する。
【０１３３】
その理由は、情報処理装置１０１の識別子追加部１７０が、データ管理装置２００に送信される識別子として、対象識別子及びリピート識別子に加え、ダミー識別子を追加するためである。つまり、情報処理装置１０１は、対象識別子を秘匿するための識別子として、リピート識別子とは異なるダミー識別子を追加する。
【０１３４】
ここで、ダミー識別子は、過去にデータ管理装置２００に送信された識別子とは異なる識別子である。そのため、対象識別子に対応するデータが過去のクエリに含まれない場合でも、データ管理装置２００及び第三者は、対象識別子とダミー識別子とを区別できないためである。
【０１３５】
＜ハードウェア構成＞
以上の説明した情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２は、次のように構成される。
【０１３６】
例えば、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２の各構成部は、ハードウェア回路で構成されてもよい。
【０１３７】
また、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。
【０１３８】
また、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２において、複数の構成部は、１つのハードウェアで構成されてもよい。
【０１３９】
また、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）と、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）とを含むコンピュータ装置として実現されてもよい。さらに、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）を含むコンピュータ装置として実現されてもよい。情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２は、上記構成に加え、さらに、入出力接続回路（Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｃｉｒｃｕｉｔ（ＩＯＣ））を含むコンピュータ装置として実現されてもよい。情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２は、上記構成に加え、さらに、ネットワークインターフェース回路（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ（ＮＩＣ））を含むコンピュータ装置として実現されてもよい。
【０１４０】
図７は、ハードウェア構成の一例に係る情報処理装置６００の構成の一例を示すブロック図である。
【０１４１】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【０１４２】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１に示されている、識別子受信部１２０と、識別子選択部１３０と、識別子送信部１４０と、データ受信部１５０と、データ選択部１６０としての各機能を実現する。あるいは、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図５に示されている、識別子受信部１２０と、識別子選択部１３０と、識別子送信部１４０と、データ受信部１５０と、データ選択部１６０と、識別子追加部１７０としての各機能を実現する。あるいは、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図４に示されている、識別子送信部１４０と、データ選択部１６０としての各機能を実現する。
【０１４３】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
【０１４４】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
【０１４５】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐｒｏｇｒａｍｍａｂｌｅ−ＲＯＭ（Ｐ−ＲＯＭ）又はフラッシュＲＯＭである。
【０１４６】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄｙｎａｍｉｃ−ＲＡＭ（Ｄ−ＲＡＭ）である。
【０１４７】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。内部記憶装置６４０は、識別子記憶部１１０として動作する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）又はディスクアレイ装置である。
【０１４８】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０１４９】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【０１５０】
入力機器６６０は、情報処理装置６００のユーザからの入力指示を受け取る機器である。入力機器２０は、識別子受信部１２０として動作してもよい。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１５１】
表示機器６７０は、情報処理装置６００のユーザに情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０１５２】
ＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０は、識別子送信部１４０と、データ受信部１５０との一部として動作する。さらに、ＮＩＣ６８０は、識別子追加部１７０の一部として動作してもよい。ＮＩＣ６８０は、識別子受信部１２０として動作してもよい。ＮＩＣ６８０は、例えば、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
【０１５３】
このように構成された情報処理装置６００は、情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２と同様の効果を得ることができる。
【０１５４】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置１００、情報処理装置１０１、及び、情報処理装置１０２と同様の機能を実現できるためである。
【０１５５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１５６】
この出願は、２０１６年  ８月１９日に出願された日本出願特願２０１６−１６１３２６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１５７】
本発明は、クラウドなどのネットワークを用いた認証に適用できる。特に、本発明は、ユーザの認証に用いられるユーザに関する情報（例えば、生体テンプレート又はパスワードのハッシュ値）を、クラウドなどのネットワーク上に置かれたストレージに預ける場合に適用できる。【０１５８】
また、本発明は、クラウドなどのネットワーク上に置かれたストレージに預けたデータのアクセスに適用できる。特に、本発明は、ネットワーク上のストレージに複数のサービスに使用するパスワードを保管して管理するパスワードマネージャに適用できる。
【符号の説明】
【０１５９】
１００    情報処理装置
１０１    情報処理装置
１０２    情報処理装置
１１０    識別子記憶部
１２０    識別子受信部
１３０    識別子選択部
１４０    識別子送信部
１５０    データ受信部
１６０    データ選択部
１７０    識別子追加部
２００    データ管理装置
２１０    データ記憶部
２２０    データ検索部
３００    情報処理システム
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
【図１】
2018034192.tif 000003
【図２】
2018034192.tif 000004
【図３】
2018034192.tif 000005
【図４】
2018034192.tif 000006
【図５】
2018034192.tif 000007
【図６】
2018034192.tif 000008
【図７】
2018034192.tif 000009
【手続補正書】
【提出日】平成31年1月17日(2019.1.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信する識別子送信手段と、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択するデータ選択手段と
を含む情報処理装置。
【請求項２】
前記第１の識別子及び前記データ管理装置に送信した前記識別子とは異なる第３の識別子を選択する識別子追加手段を
さらに含み、
前記識別子送信手段が、
前記データ管理装置に、前記第１の識別子及び前記第２の識別子に加え、前記第３の識別子を送信する
請求項１に記載の情報処理装置。
【請求項３】
前記識別子追加手段が、
前記データ管理装置が記憶している前記識別子から前記第３の識別子を選択する
請求項２に記載の情報処理装置。
【請求項４】
前記第１の識別子を受信する識別子受信手段と、
前記データ管理装置に送信した前記識別子を記憶する識別子記憶手段と、
前記識別子記憶手段が記憶する前記識別子の中から前記第２の識別子を選択する識別子選択手段と、
前記データ管理装置から前記第１の識別子及び前記第２の識別子に対応する前記データを受信するデータ受信手段と
をさらに含む請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記識別子選択手段が、
前記第２の識別子をランダムに選択する、
請求項４に記載の情報処理装置。
【請求項６】
前記識別子選択手段が、
所定の数の前記第２の識別子を選択する
請求項４又は５に記載の情報処理装置。
【請求項７】
前記データ選択手段が、
選択した前記データを基に前記第１の識別子を送信した送信元を認証する
請求項１ないし６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の識別子に対応する前記データが、認証に用いられるパスワード又は生体情報である
請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項９】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信し、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択する
情報処理方法。
【請求項１０】
第１の識別子と、データと前記データの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において前記第１の識別子とは異なる第２の識別子とを、前記データ管理装置に送信する処理と、
前記データ管理装置から受信した前記第１の識別子及び前記第２の識別子に対応する前記データの中から、前記第１の識別子に対応する前記データを選択する処理と
をコンピュータに実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、情報の処理に関し、特に、データにアクセスする情報処理装置、情報処理方法、及び、プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の目的は、上記問題点を解決し、アクセスのコストを増やさずに、新たなクエリの対象となるデータが過去のクエリの対象のデータと一致するか否かを秘匿する情報処理装置、情報処理方法、及び、プログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明の一様態におけるプログラムは、第１の識別子と、データとデータの識別子とを関連付けて記憶するデータ管理装置に送信した識別子において第１の識別子とは異なる第２の識別子とを、データ管理装置に送信する処理と、データ管理装置から受信した第１の識別子及び第２の識別子に対応するデータの中から、第１の識別子に対応するデータを選択する処理とをコンピュータに実行させる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
入力機器６６０は、情報処理装置６００のユーザからの入力指示を受け取る機器である。入力機器６６０は、識別子受信部１２０として動作してもよい。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【国際調査報告】
2018034192.tif 000010
2018034192.tif 000011
2018034192.tif 000012
2018034192.tif 000013