(57)【要約】サービス提供装置及び情報処理装置から情報を秘匿化する。  本発明の情報処理装置は、秘匿用情報で秘匿化された秘匿化情報を受け取る情報受信部と、乱数又は乱数を秘匿用情報で秘匿化された秘匿化乱数を生成する秘匿化乱数生成部と、秘匿化情報と乱数又は秘匿化乱数とに基づき乱数付加情報を生成する乱数付加情報生成部とを含む。
2012067214.tif 000002
【特許請求の範囲】
【請求項１】
秘匿用情報で秘匿化された秘匿化情報を受け取る情報受信手段と、
乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成する秘匿化乱数生成手段と、
前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する乱数付加情報生成手段と
を含む情報処理装置。
【請求項２】
前記秘匿化情報が、準同型暗号の公開鍵であること
を特徴とする請求項１に記載の情報処理装置
【請求項３】
前記秘匿用情報が、加法準同型暗号であり
前記乱数付加情報生成手段が、前記秘匿化情報と前記秘匿化乱数との乗算、前記秘匿化情報の自然数乗又は異なる自然数乗した２以上の前記秘匿化情報の乗算のいずれかを行うこと
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記秘匿用情報が、乗法準同型暗号であり
前記乱数付加情報生成手段が、前記秘匿化情報と前記秘匿化乱数との乗算を行うこと
を特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記秘匿用情報を保持する情報保持手段と、
乱数を発生する乱数発生手段と
をさらに含み、
前記秘匿化乱数生成手段が、前記情報保持手段により保持された前記秘匿用情報を用いて前記乱数発生手段により発生された乱数を秘匿化すること
と特徴とする請求項１乃至請求項４のいずれかに記載の情報処理装置。
【請求項６】
前記取得情報に関する指定情報と前記取得情報を秘匿化する前記秘匿用情報と取得先に関する取得先情報とを受け取る要求受信手段と、
前記指定情報と前記秘匿用情報とを前記取得先情報に示された取得先に送る要求送信手段と
を含む請求項１又は請求項５のいずれかに記載の情報処理装置。
【請求項７】
前記乱数付加情報生成手段が
前記指定情報に基づき前記秘匿化乱数生成手段が生成する前記秘匿化乱数を変更することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記秘匿用情報を送付する装置に前記乱数付加情報を送付する情報送信手段をさらに含むことを特徴とする請求項１乃至請求項７のいずれかに記載の情報処理装置。
【請求項９】
前記要求受信手段が、前記乱数付加情報の利用形態に関する情報を受け取り、
前記乱数付加情報生成手段が、前記利用形態に関する情報に基づき前記演算を変更すること
を特徴とする請求項６又は請求項８のいずれかに記載の情報処理装置。
【請求項１０】
前記指定情報が前記取得先の公開鍵で暗号化されていることを特徴とする請求項６乃至請求項９のいずれかに記載の情報処理装置。
【請求項１１】
前記要求受信手段が、前記乱数付加情報生成手段で演算に用いる秘匿化情報の組合せに関する情報又は属性種別を受け取り、
前記乱数付加情報生成手段が、前記組合せ情報又は前記属性種別に基づき演算を選択する
ことを特徴とする請求項６乃至請求項１０のいずれかに記載の情報処理装置。
【請求項１２】
秘匿用情報で秘匿化された秘匿化情報を受け取り、
乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成し、
前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する情報処理方法。
【請求項１３】
秘匿用情報で秘匿化された秘匿化情報を受け取る処理と、
乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成する処理と、
前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する処理と
をコンピュータに実行させるプログラム。
【請求項１４】
利用者に対してサービスを提供するサービス提供装置と、
前記サービス提供装置がサービス提供するための情報を保持する情報保持装置と、
前記情報保持装置から前記サービス提供装置の秘匿用情報に基づき秘匿化された第１の情報である秘匿化情報を受け、乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成し、前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき第２の情報である乱数付加情報を生成し、前記サービス提供装置に前記乱数付加情報を送信する情報処理装置と
を含む情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を送受信する装置、特に、安全に情報の送受信する情報処理装置に関する。
【背景技術】
【０００２】
インターネットのようなネットワークを介してサービスを提供する業者（サービス提供業者）は、サービスを提供するための装置（サービス提供装置）を、ネットワークに接続する。このようなサービス提供装置の利用者は、サービスを受けるため、自己に関する情報（属性情報）を、サービス提供装置に渡す。サービス提供装置は、受け取った利用者の属性情報を所定の装置（情報保持装置）に保持する。そして、サービスを提供するとき、サービス提供装置は、情報保持装置から利用者の属性情報を取り出し、取り出した属性情報に基づきサービスを提供する。ただし、サービス提供装置が提供するサービスは、サービス提供装置ごとに異なる。そのため、サービス提供装置が利用者から受け取る属性情報は、サービス提供装置ごとに異なる。その結果、情報保持装置が保持する利用者の属性情報は、同じ利用者に関する属性情報でも、情報保持装置ごとに異なる。
サービス提供装置は、このように異なる情報保持装置が保持している属性情報を組み合わせて利用し、利用者に新たなサービスを提供できる。
例えば、このようなサービスについて、図１２に示すサービス提供システム９を参照して説明する。サービス提供装置９０は、利用者の資産に関するサービスを提供し、資産に関する情報を情報保持装置９１に保持する。サービス提供装置９２は、利用者の負債に関するサービスを提供し、利用者の負債に関する情報を情報保持装置９３に保持する。ここで、サービス提供装置９４は、情報保持装置９１が保持する資産に関する情報と、情報保持装置９３が保持する負債に関する情報とを取得して、比較し、利用者の与信情報（資産−負債）を提供できる。
しかし、利用者の属性情報は、重要な情報であり、安全性を確保した通信が必要である。
そこで、情報を利用する装置は、利用者の情報をすべて通信するのではなく、情報の一部を用いて処理を行い、安全性を確保できる（例えば、特許文献１を参照）。
しかし、特許文献１に記載の装置は、一部ではあるが、利用者の属性情報を通信する。
そこで、情報を利用する装置は、本来の情報に関係する別の情報を利用して、安全性を確保できる（例えば、特許文献２を参照）。しかし、特許文献２に記載の装置は、本来の情報と特別な関係にある別の情報を利用するため、予め情報を送受信する装置の間で別の情報を取り決めることが必要ある。そのため、特許文献２に記載の装置は、一般的な情報を送受信できない。
そこで、情報を送受信する装置は、情報の送受信に、情報の暗号化を利用する（例えば、特許文献３を参照）。しかし、特許文献３に記載のデータを集計する装置は、情報を復号して、集計処理する必要がある。そのため、特許文献３に記載の情報を処理する装置は、受け取った情報が分かる。
しかし、サービスを提供している業者（情報保持業者）にとって、保持している利用者の属性情報は、資産である。そのため、情報保持業者（図１２の情報保持装置９１又は情報保持装置９３の業者）と、情報を受け取ってサービスを提供する業者（情報利用業者、図１２のサービス提供装置９４の業者）とが異なる場合、情報保持業者は、情報利用業者から属性情報を秘匿したい。
このような要求に対し、準同型暗号が、用いられる。準同型暗号とは、情報を暗号したまま、つまり復号しないで、演算を行うことができる暗号である。情報を処理する装置は、準同型暗号を利用し、暗号化したままの情報を処理できる。（例えば、特許文献４を参照）。
特許文献４に記載の装置は、次のように動作する。利用者は、比較したい自分の情報を自身の公開鍵で暗号化して、情報を比較する装置に送る。情報を比較する装置は、自分が保持している比較する情報を利用者の公開鍵で暗号化し、受け取った利用者の暗号化した情報と比較する。情報を比較する装置は、一致した暗号化した情報を利用者に送付する。利用者は、受け取った情報を自身の秘密鍵で復号する。
なお、準同型暗号としては、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  ａｎｄ  Ａｄｌｅｍａｎ）暗号、ＥｌＧａｍａｌ暗号、Ｐａｉｌｌｉｅｒ暗号などがある。
【特許文献１】再公表Ｗ２００５／０２２４２８
【特許文献２】特開２００６−２３６０９３
【特許文献３】特開２０１０−１６６２２８
【特許文献４】特開２００９−０９３６１８
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述の特許文献４に示す判定を行う装置は、比較を行う情報の提供者（特許文献４では利用者の装置）から暗号化鍵と暗号化した情報を受け取り、自装置が保持する情報を暗号化して、一致を判定する発明である。つまり、特許文献４に記載の装置は、他の１台の装置から比較する暗号化済み情報と公開鍵を受け取り、自装置が保持する情報と処理する装置である。
しかし、公開鍵は、装置ごとに異なる。また、準同型暗号で暗号化した状態で処理できる情報は、同じ暗号鍵で暗号化した情報である。
そのため、特許文献４に記載の装置は、複数の装置から受け取った情報を処理できない。例えば、図１２に示すサービス提供装置９４は、情報保持装置９１と情報保持装置９３とから暗号化した情報と公開鍵とを受け取っても、情報保持装置９１と情報保持装置９３との公開鍵が異なるため、情報を暗号化したまま処理できない。つまり、特許文献４に記載の装置は、複数の装置から暗号化した情報を受け取って処理することができない問題点があった。
なお、処理する装置（図１２のサービス提供装置９４）が、情報保持装置９１と情報保持装置９３とに自装置の公開鍵を提供して暗号化した情報を受け取る場合、サービス提供装置９４は、暗号化した情報を処理できる。しかし、この公開鍵は、サービス提供装置９４の鍵のため、サービス提供装置９４（情報利用業者）は、受け取った情報を復号でき、属性情報をサービス提供装置９４から秘匿できない問題点があった。
本発明の目的は、上記課題を解決し、複数の情報保持装置から利用者の属性情報を秘匿した状態で取得し、判定を行う装置（サービス提供装置）において属性情報を秘匿したまま判定処理できる情報を送り出す情報処理装置を提供することである。
【課題を解決するための手段】
【０００４】
本発明の情報処理装置は、秘匿用情報で秘匿化された秘匿化情報を受け取る情報受信手段と、乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成する秘匿化乱数生成手段と、前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する乱数付加情報生成手段とを含む。
本発明の情報処理方法は、秘匿用情報で秘匿化された秘匿化情報を受け取り、乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成し、前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する。
本発明のプログラムは、秘匿用情報で秘匿化された秘匿化情報を受け取る処理と、乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成する処理と、前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき乱数付加情報を生成する処理とをコンピュータに実行させる。
本発明の情報処理システムは、利用者に対してサービスを提供するサービス提供装置と、前記サービス提供装置がサービス提供するための情報を保持する情報保持装置と、前記情報保持装置から前記サービス提供装置の秘匿用情報に基づき秘匿化された第１の情報である秘匿化情報を受け、乱数又は乱数を前記秘匿用情報で秘匿化された秘匿化乱数を生成し、前記秘匿化情報と前記乱数又は前記秘匿化乱数とに基づき第２の情報である乱数付加情報を生成し、前記サービス提供装置に前記乱数付加情報を送信する情報処理装置とを含む。
【発明の効果】
【０００５】
本発明によれば、情報保持装置から情報を秘匿化したまま取得し、サービス提供装置において情報を秘匿して処理できるように情報を提供する効果を得ることができる。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明おける第１の実施の形態に係るサービス提供システムの一例を示すブロック図である。
【図２】図２は、第１の実施の形態に係る情報取得代理装置の一例を示すブロック図である。
【図３】図３は、第１の実施の形態に係る情報取得代理装置を含むシステムの動作の一例を示すシーケンス図である。
【図４】図４は、第１の実施の形態に係る情報要求のデータの一例を示す図である。
【図５】図５は、第１の実施の形態に係る情報取得代理装置の別の一例を示すブロック図である。
【図６】図６は、第１の実施の形態に係るサービス提供システムの別の一例の示すブロック図である。
【図７】図７は、第２の実施の形態に係る情報取得代理装置の一例を示すブロック図である。
【図８】図８は、第２の実施の形態に係る乱数付加情報生成部の動作に一例を示すフローチャートである。
【図９】図９は、第３の実施の形態に係る乱数付加情報生成部の動作の一例を示すフローチャートである。
【図１０】図１０は、第４の実施の形態に係る乱数付加情報生成部の動作の一例を示すフローチャートである。
【図１１】図１１は、第５の実施の形態に係る情報取得代理装置の構成の一例を示すブロック図である。
【図１２】図１２は、一般的なサービス提供システムを示す図である。
【発明を実施するための形態】
【０００７】
次に、本発明における実施の形態について図面を参照して説明する。
本発明のおける情報処理装置は、いろいろな実施の形態の装置として実現できる。しかし、以下の説明では、一例として、情報取得代理装置（Ｉｎｆｏｒｍａｔｉｏｎ  ｏｒ  Ａｔｔｒｉｂｕｔｅ  Ａｃｑｕｉｓｉｔｉｏｎ  Ｐｒｏｘｙ  ａｐｐａｒａｔｕｓ。以下、情報取得代理装置をＡＡＰと称す場合もある）を用いて説明する。
（第１の実施の形態）
本発明における第１の実施の形態に係る情報取得代理装置１０について図面を参照して説明する。
図１は、情報取得代理装置１０を含むサービス提供システム１の一例を示すブロック図である。
サービス提供システム１は、情報取得代理装置１０と、サービス提供装置（Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｉｎｇ  ａｐｐａｒａｔｕｓ。以下、サービス提供装置をＳＰと称す場合もある。）２０と、サービス提供装置２１と、情報保持装置（Ｉｎｆｏｒｍａｔｉｏｎ  ｏｒ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｖｉｄｉｎｇ  ａｐｐａｒａｔｕｓ、以下、情報保持装置をＡＰと称す場合も有る。）３０とを含んでいる。なお、各装置は、ネットワークなどを介して接続している。また、情報取得代理装置１０は、１台又は複数のサービス提供装置２０及び情報保持装置３０と接続してもよい。図１は、説明の便宜のため、サービス提供装置２０を１台、情報保持装置３０を２台の場合を示している。
情報取得代理装置１０は、サービス提供装置２０から、情報要求を受信する。その情報要求は、サービス提供装置２０が利用者に対してサービスを提供するために情報保持装置３０から情報を取得するための要求である。さらに、情報取得代理装置１０は、情報要求に基づき、個別の情報保持装置３０に対する情報の要求（以下、この情報の要求を個別装置要求と称す。）を作成し、情報保持装置３０に送信する。また、情報取得代理装置１０は、情報保持装置３０から、秘匿した状態の第１の情報（以下、この第１の情報を秘匿化情報と称す。）を受け取り、秘匿した状態の第２の情報（例えば、乱数を付加した情報。以下、この第２の情報を、乱数付加情報と称す。）を生成し、サービス提供装置２０に送る。
サービス提供装置２０は、情報取得代理装置１０に、情報要求を送信し、情報取得代理装置１０から、秘匿された第２の情報（乱数付加情報）を受け取る。サービス提供装置２０は、受け取った秘匿された第２の情報（乱数忖加情報）を用いて、利用者にサービスを提供する。
サービス提供装置２１は、利用者に所定のサービスを提供するため、予め、利用者の端末からサービスを利用する利用者に関する情報（以下、この利用者に関する情報を、属性情報と称す。）を受け取り情報保持装置３０に保持する。サービス提供装置２１は、情報保持装置３０に保持した情報（属性情報）を用いて、利用者に所定のサービスを提供する。既に説明したとおり、情報取得代理装置１０は、情報要求に基づき、サービス提供装置２１が情報保持装置３０に保持した情報を取得する。なお、サービス提供装置２０は、サービス提供装置２１であってもよい。
情報保持装置３０は、サービス提供装置２１から属性情報を受け取り、保持する。また、情報保持装置３０は、情報取得代理装置１０から個別装置要求を受け取り、情報取得代理装置１０に対して秘匿した状態の第１の情報（秘匿化情報）を送る。
サービス提供装置２０、サービス提供装置２１、及び、情報保持装置３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓ  Ｕｎｉｔ）のような処理装置及び記憶装置を備えた一般的なサーバのようなコンピュータを用いればよいため、構成の詳細な説明は省略する。
次に、本実施の形態に係る情報取得代理装置１０の構成について説明する。
図２は、情報取得代理装置１０の構成の一例を示すブロック図である。
情報取得代理装置１０は、要求処理部１１０と、情報取得部１２０と、応答情報生成部１３０とを含む。
要求処理部１１０は、サービス提供装置２０から情報要求を受け、その応答として、サービス提供装置２０に乱数付加情報を送る。そのため、要求処理部１１０は、要求受信部１１１と、情報送信部１１２とを含む。
要求受信部１１１は、サービス提供装置２０から、情報要求を受け取る。情報要求を受け取った要求受信部１１１は、情報要求を情報取得部１２０に送る。さらに、要求受信部１１１は、情報要求に含まれる、応答情報生成部１３０で利用する情報（例えば、後述する秘匿用情報）を取り出し、応答情報生成部１３０に送る。
情報送信部１１２は、応答情報生成部１３０からサービス提供装置２０に送り返す情報（乱数付加情報）を受け取り、サービス提供装置２０に送る。
情報取得部１２０は、情報保持装置３０に個別装置要求を送付し、その応答として、情報保持装置３０から秘匿した状態の第１の情報（秘匿化情報）を受ける。そのため、情報取得部１２０は、要求送信部１２１と、情報受信部１２２とを含む。
要求送信部１２１は、要求処理部１１０から情報要求を受け取り、受け取った情報要求に基づき、個別の情報保持装置３０に情報を要求するための個別装置要求を作成し、個別の情報保持装置３０に送付する。
情報受信部１２２は、情報保持装置３０から、個別装置要求を用いて要求した情報に対応する秘匿した状態の第１の情報（秘匿化情報）を受け取り、応答情報生成部１３０に送る。
秘匿情報生成部１３０は、秘匿化情報を基に、秘匿化した状態の第２の情報として乱数付加情報を生成する。そのため、応答情報生成部１３０は、秘匿化乱数生成部１３１と、乱数付加情報生成部１３２とを含む。
秘匿化乱数生成部１３１は、情報要求に含まれる情報取得代理装置１０から情報を秘匿するための情報（以下、秘匿用情報と称す。例えば、秘匿用情報は、暗号化用のサービス提供装置２０の公開鍵である。）を要求処理部１１０から受け取り、情報保持部１３３に保持する。さらに、秘匿化乱数生成部１３１は、乱数発生部１３４が発生する乱数を、情報保持部１３３が保持する秘匿用情報（公開鍵）で秘匿化（暗号化）した秘匿化乱数を生成し、乱数付加情報生成部１３２に送る。ここで、乱数発生部１３４が発生する「乱数」とは、法則性がなく発生する自然数である。ただし、この乱数は、サービス提供装置２０が法則性を予測できず、乱数列と識別不能な擬似乱数でもよい。なお、乱数発生部１３４が擬似乱数を発生する場合、乱数発生部１３４は、サービス提供装置２０が法則性を予測できないような擬似乱数を発生すれば、擬似乱数の発生に所定の法則性を備えても良く、発生する値に範囲を設定してもよい。例えば、乱数発生部１３４は、所定の数値の範囲において、発生頻度が一様な（擬似）一様乱数を発生してもよい。また、乱数発生部１３４は、所定の数値の範囲において、発生頻度が所定の分布、例えば正規分布に従うように、擬似乱数を発生しても良い。
なお、図２に示す秘匿化乱数生成部１３１は、情報保持部１３３と乱数発生部１３４とを含んでいるが、これに限られるわけではない。情報取得代理装置１０は、情報保持部１３３と乱数発生１３４のどちらか、又は、両方を、秘匿化乱数生成部１３１の外部の構成としてもよい。
乱数付加情報生成部１３２は、情報受信部１２２を介して受け取った情報保持装置３０からの秘匿化した状態の第１の情報（秘匿化情報）と、秘匿化乱数生成部１３１から受け取った情報（秘匿化乱数）とを用いて所定の演算を行い、その結果を秘匿化した第２の情報である乱数付加情報として要求処理部１１０に送る。
次に、本実施の形態に係る情報取得代理装置１０の動作について図面を参照して説明する。
図３は、本実施の形態に係る情報取得代理装置１０を含むサービス提供システム１の動作の一例を示すシーケンス図である。
予め、サービス提供装置２１は、情報保持装置３０に情報を保持する。なお、このサービス提供装置２１の動作は、一般的な情報の保持動作のため、詳細な説明は、省略し、図３においても省略する。
サービス提供装置（ＳＰ）２０は、情報取得代理装置（ＡＡＰ）１０の要求処理部１１０に、情報要求２０１０を送信する。
図４は、本実施の形態に係る情報要求２０１０のデータの構成の一例を示す図である。
情報要求２０１０は、情報保持装置３０が保持する情報を情報取得代理装置１０から秘匿するための情報（秘匿用情報２０１１）と、取得する情報に関する情報（以下、指定情報２０１２と称す）と、情報の取得先に関する情報（以下、取得先情報２０１３と称す）とを含む。
本実施の形態の秘匿用情報２０１１は、情報取得代理装置１０が、情報を秘匿したまま処理できる秘匿用情報２０１１とする。ここで、秘匿したまま処理できるとは、秘匿用情報２０１１に基づき秘匿された情報保持装置３０から受け取った秘匿化した状態の第１の情報（秘匿化情報２０３０）を情報取得代理装置１０が、復号せず、秘匿化した状態を維持しながら、演算できることである。
例えば、準同型暗号は、暗号化（秘匿化）したデータを暗号化（秘匿化）したまま演算できる。このように本実施の形態における秘匿用情報２０１１は、秘匿化したまま処理できれば制限はない。以下、一例として、本実施の形態に係る秘匿用情報２０１１は、サービス提供装置２０の準同型暗号の公開鍵とする。
指定情報２０１２は、取得する情報を示す情報である。例えば、指定情報２０１２は、サービス提供装置２０が要求した情報を情報保持装置３０に提供した利用者を識別するための情報（利用者ＩＤ２０１４（ＩＤ：Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ、識別子））と、取得する情報の指定（属性種別２０１５）とを含む。
取得先情報２０１３は、情報の取得先に対応する情報保持装置３０を示す情報（例えば、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）又は装置名称）を含む。
なお、取得先情報２０１３が複数の取得先を含む場合、情報要求２０１０は、各指定情報２０１２と、その指定情報２０１２を取得する取得先情報２０１３とを組み合わせるための情報を含む。
また、情報要求２０１０は、その他の情報、例えば、通信のためのヘッダーなどを含んでも良い。
再び図３を用いた説明に戻る。
要求処理部１１０は、受け取った情報要求２０１０を、情報取得部１２０に送る。
さらに、要求処理部１１０は、情報要求２０１０に含まれる秘匿用情報２０１１（公開鍵）を抜き出し、応答情報生成部１３０に送る。応答情報生成部１３０は、受け取った秘匿用情報２０１１（公開鍵）を保持する。
情報要求２０１０を受け取った情報取得部１２０は、情報要求２０１０の取得先情報２０１３に基づき、情報を要求する情報保持装置３０を決定する。さらに、情報取得部１２０は、情報要求２０１０に基づき、個別の情報保持装置３０への情報の要求（個別装置要求２０２０）を生成し、情報保持装置３０ごとに送信する。ここで、情報取得部１２０が個別装置要求２０２０を作成するのは、各情報保持装置３０に、他の情報所持装置３０が保持する情報を知らせないためである。
この個別装置要求２０２０は、情報要求２０１０が含む秘匿用情報２０１１と、指定情報２０１２（利用者ＩＤ２０１４と属性種別２０１５）とを含む。
なお、本実施の形態の説明において、秘匿用情報２０１１（サービス提供装置２０の公開鍵）は、サービス提供装置２０が、情報要求２０１０に含めて情報取得代理装置１０に送る情報としている。しかし、公開鍵は、ネットワークに接続した図示しない公開鍵管理サーバが、管理する場合もある。また、情報取得代理装置１０は、不正なサービス提供装置２０からの情報要求２０１０を受ける場合も想定できる。そのため、情報取得代理装置１０は、信頼性が確保されている公開鍵管理サーバからサービス提供装置２０の秘匿用情報２０１１（公開鍵）を取得してもよい。情報取得代理装置１０が秘匿用情報２０１１を公開鍵管理サーバから取得する場合、情報取得代理装置１０の応答情報生成部１３０は、取得した秘匿用情報２０１１を保持し、情報取得部１２０は、個別装置要求２０２０に取得した秘匿用情報２０１１を含めればよい。なお、情報取得代理装置１０が公開鍵管理サーバから秘匿用情報２０１１を受ける場合、情報要求２０１０は、秘匿用情報２０１１を含まなくてもよい。
情報保持装置３０は、受け取った個別装置要求２０２０が含む秘匿用情報２０１１（サービス提供装置２０の公開鍵）を用いて、個別装置要求２０２０が含む指定情報２０１２で要求された情報（例えば、所定の利用者の属性情報（預金、負債など））を秘匿化（暗号化）した第１の情報（秘匿化情報２０３０）を生成する。この動作に基づき、情報保持装置３０が送る秘匿化した第１の情報（秘匿化情報２０３０）は、情報取得代理装置１０から秘匿される。情報保持装置３０は、第１の秘匿した情報（秘匿化情報２０３０）を情報取得代理装置１０の情報取得部１２０に送る。
なお、情報保持装置３０は、個別装置要求２０２０が含む秘匿用情報２０１１を用いず、図示しない公開鍵管理サーバから秘匿用情報２０１１を取得しても良い。ただし、この場合、情報保持装置３０は、秘匿用情報２０１１を公開鍵管理サーバから受け取るため、情報を要求したサービス提供装置２０に関する情報を、情報取得代理装置１０から受け取る。また、この場合、個別装置要求２０２０は、秘匿用情報２０１１を含まなくても良い。
秘匿化情報２０３０を受け取った情報取得部１２０は、受け取った秘匿化情報２０３０を応答情報生成部１３０に送る。
応答情報生成部１３０は、乱数を生成し、保持している秘匿用情報２０１１（公開鍵）で秘匿化（暗号化）した秘匿化乱数を生成する。ここで、秘匿化乱数とは、図２を参照して既に説明したとおり、秘匿化乱数生成部１３１の乱数発生部１３４が発生した乱数を、情報保持部１３３に保持した秘匿用情報２０１１（公開鍵）で秘匿化（暗号化）したものである。
情報要求２０１０に対応する全ての秘匿化情報２０３０を受け取った応答情報生成部１３０は、生成した秘匿化乱数と秘匿化情報２０３０とを用いて所定の演算を行い、演算結果を第２の情報（乱数付加情報２０４０）として生成し、出力する。この応答情報生成部１３０が行う秘匿化乱数と秘匿化情報２０３０とを用いた演算に基づき、乱数付加情報２０４０の基となった情報保持装置３０の情報は、サービス提供装置２０から秘匿される。なお、この演算に関しては、後ほど改めて説明する。
応答情報生成部１３０は、生成した秘匿化した第２の情報である乱数付加情報２０４０を要求処理部１１０に送る。
要求処理部１１０は、受け取った乱数付加情報２０４０をサービス提供装置２０に送る。
秘匿化した第２の情報である乱数付加情報２０４０を受け取ったサービス提供装置２０は、乱数付加情報２０４０を自身の秘密鍵で復号し、復号した情報に基づいて、図示しない利用者にサービスを提供する。
次に、情報保持装置３０の保持する情報が、情報取得代理装置１０及びサービス提供装置２０に対して秘匿されこと、及び、情報を秘匿した状態を維持しながらサービス提供装置２０が所定のサービスを提供できることを説明する。
ここで、説明の前提を整理する。
まず、サービス提供装置２０は、利用者の預金残高と利用済みの金額つまり負債額との差額（与信情報）を求めるとする。預金残高（以下、Ａとする）と負債額（以下、Ｂとする）は、それぞれ別の情報保持装置３０に保持されている。さらに、乱数は、Ｒとする。
また、秘匿用情報２０１１（暗号化鍵）は、サービス提供装置２０の公開鍵とする。この秘匿化（暗号化）を示す関数は、次のように表すとする。
Ｅｎｃ（ｘ）（ただし、ｘは暗号化する情報。）
なお、本実施の形態に係る秘匿用情報２０１１は、既に説明したとおり秘匿化したまま演算を行うことができればよい。しかし、説明の便宜のため、以下の説明では、秘匿用情報２０１１は、加法準同型暗号の公開鍵とする。さらに、加法準同型暗号もいろいろを想定できる。以下では、加法準同型暗号は、次の式を満たす加法準同型の暗号として、説明する。
加法準同型暗号：Ｅｎｃ（ｘ）＊Ｅｎｃ（ｙ）＝Ｅｎｃ（ｘ＋ｙ）
このような前提の場合の動作について説明する。
それぞれの情報保持装置３０は、個別装置要求２０２０に対応して、サービス提供装置２０の公開鍵で預金残高（Ａ）又は負債額（Ｂ）を暗号化（秘匿化）し、情報取得代理装置１０に送る。
つまり、情報取得代理装置１０は、Ｅｎｃ（Ａ）とＥｎｃ（Ｂ）とを受け取る。ここで、Ｅｎｃ（Ａ）及びＥｎｃ（Ｂ）は、サービス提供装置２０の公開鍵で暗号化されているため、情報取得代理装置１０は、復号化できない。そのため、情報取得代理装置１０は、預金残高（Ａ）及び負債額（Ｂ）を知ることができない。
次に、情報取得代理装置１０は、乱数（Ｒ）をサービス提供装置２０の秘匿用情報２０１１（公開鍵）で秘匿化（暗号化）した秘匿化乱数を生成する。秘匿化乱数は、Ｅｎｃ（Ｒ）となる。なお、秘匿用情報２０１１（公開鍵）は、既に説明したとおり、情報保持部１３３に保持されている。
さらに所定の演算として、情報取得代理装置１０は、次の演算を行う。
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）
Ｅｎｃ（Ｂ）＊Ｅｎｃ（Ｒ）
この演算は、秘匿化情報２０３０と秘匿化乱数との乗算である。
ここで、既に説明したとおりサービス提供装置２０の公開鍵は、加法準同型暗号である。そのため、上記の演算の結果は、次のようになる。
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ａ＋Ｒ）
Ｅｎｃ（Ｂ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ｂ＋Ｒ）
情報取得代理装置１０は、この演算結果（Ｅｎｃ（Ａ＋Ｒ）、Ｅｎｃ（Ｂ＋Ｒ））を乱数付加情報２０４０としてサービス提供装置２０に返す。
この演算結果である乱数付加情報２０４０を受け取ったサービス提供装置２０は、自分の秘密鍵を用いて、乱数付加情報２０４０を復号する。その結果、サービス提供装置２０は、２つの値、つまり、「Ａ＋Ｒ」と「Ｂ＋Ｒ」とを得る。
サービス提供装置２０は、この２つの値の差、つまり、「（Ａ＋Ｒ）−（Ｂ＋Ｒ）＝Ａ−Ｂ」の計算結果に基づき、預金残高（Ａ）と負債額（Ｂ）との差額（Ａ−Ｂ）を求めることができる。しかし、サービス提供装置２０は、乱数Ｒを知らないため、預金残高（Ａ）及び負債額（Ｂ）の値を個別に知ることができない。
このように、本実施の形態に係る情報取得代理装置１０は、サービス提供装置２０の情報取得を代理し、情報保持装置３０が保持する情報を、情報取得代理装置１０に対して秘匿した状態で取得し、サービス提供装置２０に秘匿した状態で送信できる。
なお、本実施の形態に係る情報取得代理装置１０の構成は、今までの説明した構成に限られるわけではなく、２つ以上の構成を含んだ構成を１つの構成としても良く、各構成を複数の構成で実現しても良い。
また、情報取得代理装置１０は、１つの装置との構成に限られるわけではない。本実施形態は、１つ又は複数の構成を含んだ装置が、ネットワークを介して接続し、情報取得を代理するシステムとして構成してもよい。
さらに、情報取得代理装置１０は、他の装置の一部を構成してもよい。
次に本発明の第１の実施の形態における変形例について説明する。
（変形例１）
図５は、本実施の形態に係る別の構成である情報処理装置１１の構成の一例を示すブロック図である。ここで説明する情報処理装置１１は、以降で説明するとおり、既に説明した情報取得代理装置１０と同様に動作する。
図５において、図２と同じ構成には同じ番号を付してある。
図５に示す情報処理装置１１は、ブレードサーバ（ｂｌａｄｅ  ｓｅｒｖｅｒ）のように複数のサーバなどの装置を組み込んだ装置に組み込まれる。そして、情報処理装置１１は、サービス提供装置（ＳＰ）２０及び情報保持装置（ＡＰ）３０と、図示しない内部バスで接続している。そのため、図５において、情報の送受信に係る構成は、省略した。
また、情報要求２０１０は、サービス提供装置２０が、内部バスを介して情報保持装置３０に送信される。情報処理装置１１は、情報保持装置３０から秘匿化情報２０３０を受けてからの処理を行う。
そのため、情報処理装置１１は、情報受信部１２２と、秘匿化乱数生成部１３１と、乱数付加情報生成部１３２とを含む。
情報受信部１２２は、情報保持装置３０から秘匿化情報２０３０を受け取り、乱数付加情報生成部１３２に送る。
秘匿化乱数生成部１３１は、乱数を生成し、予め受け取ったサービス提供装置２０の秘匿用情報２０１１（公開鍵）で秘匿化（暗号化）した秘匿化乱数を生成し、乱数付加情報生成部１３２に送る。
秘匿化情報２０３０と秘匿化乱数とを受け取った乱数付加情報生成部１３２は、情報取得代理装置１０と同様に乱数付加情報２０４０を生成して、サービス提供装置２０に送る。
このように情報処理装置１１は、情報取得代理装置１０と同様に、秘匿化した状態を維持したまま、情報保持装置３０から受け取った秘匿化情報２０３０に基づいて乱数付加情報２０４０を生成できる。
なお、情報処理装置１１は、本実施の形態の最小構成となっている。
（変形例２）
また、本実施の形態に係る情報取得代理装置１０は、情報保持装置３０の情報を１台で取得する必要はない。サービス提供装置２０の同じ秘匿用情報２０１１（公開鍵）と、同じ秘匿化乱数とを用いれば、複数の情報取得代理装置１０は、サービス提供装置２０で処理できる乱数付加情報２０４０を生成できる。
図６は、複数の情報取得代理装置１２を含むサービス提供システム２の一例を示すブロック図である。
図６において、図１と同じ構成には同じ番号を付し、詳細な説明を省略する。
図６に示すサービス提供システム２は、サービス提供装置２０と、サービス提供装置２１と、情報提供装置３０と、情報取得代理装置１２と、秘匿化乱数生成装置４０とを含む。
秘匿化乱数生成装置４０は、サービス提供装置２０から秘匿用情報２０１１（公開鍵）を受け取り、秘匿化乱数を生成して情報取得代理装置１２に送る。
情報取得代理装置１２は、情報取得代理装置１０と同様に動作する。ただし、情報取得代理装置１２は、秘匿化乱数生成装置４０から秘匿化乱数を受け取る。そのため、各情報取得代理装置１２は、同じ秘匿化乱数を用いて乱数付加情報２０４０を生成する。その結果、サービス提供装置２０は、情報取得代理装置１０から受け取ったときと同様に、いずれの情報取得代理装置１２から受け取った乱数付加情報２０４０を、秘匿化した状態を維持しながらサービスのための処理に利用できる。
このように、サービス提供システム２は、サービス提供システム１と同様に、秘匿した状態を維持したままサービスを提供することができる。
（変形例３）
さらに、図１において、サービス提供装置２０は、情報取得代理装置１０から、指定情報２０１２を秘匿したい場合もある。
この場合、情報取得代理装置１０は、サービス提供装置２０から、情報保持装置３０の公開鍵で秘匿化（暗号化）した指定情報２０１２を含む情報要求２０１０を受け取ればよい。
この動作について図１を参照して説明する。
サービス提供装置２０は、指定情報２０１２を保持する情報保持装置３０を知っているため、図示しない公開鍵管理サーバから情報保持装置３０の公開鍵を取得し、その公開鍵で指定情報２０１２を秘匿化（暗号化）して情報要求２０１０に含め、情報取得代理装置１０に送る。
情報取得代理装置１０は、既に説明した動作と同様の動作を行い、秘匿化された指定情報２０１２を含む個別装置要求２０２０を情報保持装置３０に送る。指定情報２０１２が、情報保持装置３０の公開鍵で秘匿化されているため、情報取得代理装置１０は、指定情報２０１２を解読できない。
情報保持装置３０は、受け取った個別装置要求２０２０に含まれる秘匿化された指定情報２０１２を、自身が保持する秘密鍵で復号する。情報保持装置３０のこれ以降の動作は、既に説明した動作と同様である。
このような動作を基に、本実施の形態の変形例に係る情報取得代理装置１０は、指定情報２０１２を秘匿（暗号化）して、処理を行うことができる。
このように、第１の実施に形態に係る情報取得代理装置１０は、情報保持装置３０から情報を秘匿して取得し、サービス提供装置２０においても情報の秘匿を維持しながらサービスを提供できる効果を得ることができる。
その理由は、次のとおりである。
情報取得代理装置１０は、準同型の秘匿用情報で秘匿化された秘匿化情報を受け取る。そのため、情報取得代理装置１０は、情報を知ることができない。
さらに、情報取得代理装置１０は、秘匿化したまま、受け取った秘匿化情報と秘匿化乱数とに基づき所定の演算を実行し、その演算結果を乱数付加情報としてサービス提供装置２０に返す。そのため、乱数を知らないサービス提供装置２０は、サービス提供に利用する情報以外の情報を知ることができないためである。
（第２の実施の形態）
第１の実施の形態に係る情報取得代理装置１０は、サービス提供装置２０が情報の差分を求めるため、秘匿化情報２０３０と秘匿化乱数との積（関数の中は秘匿前の情報と乱数の和）となる乱数付加情報２０４０を求める演算を行った。しかし、サービス提供装置２０が行うサービスで用いる処理は、情報の差分に限られるわけではない。そのため、情報取得代理装置１０が行う演算は、第１の実施の形態に係る演算に限られわけではない。
第２の実施の形態に係る情報取得代理装置１３は、複数の演算処理を備え、サービス提供装置２０で行う処理（利用形態）に沿って、演算処理を切り替える。
まず、第２の実施の形態に係る情報取得代理装置１３の構成について図面を参照して説明する。
図７は、第２の実施の形態に係る情報取得代理装置１３の構成の一例を示すブロック図である。図７において図２と同じ構成には同じ番号を付し、詳細な説明は省略する。
情報取得代理装置１３は、要求処理部１４０と、情報取得部１２０と、応答情報生成部１５０とを含む。
要求処理部１４０は、要求受信部１４１と、情報送信部１１２とを含む。
要求受信部１４１は、要求受信部１１１と同様の動作に加え、応答情報生成部１５０に、サービス提供装置２０で行う処理の情報を送る。そのため、第２の実施の形態に係る情報要求２０１０は、第１の実施の形態に係る情報要求２０１０に加え、サービス提供装置２０で行う処理を示す情報（以下、この情報をＳＰ処理情報と称す。）を含む。要求受信部１４１は、情報要求２０１０から、秘匿用情報２０１１に加え、ＳＰ処理情報を取り出し、応答情報生成部１５０に送る。なお、ＳＰ処理情報で示すサービス提供装置２０で行う処理については、後ほど説明する。
情報送信部１１２は、第１の実施の形態と同様に、応答情報生成部１５０が生成する乱数付加情報２０４０をサービス提供装置２０に送る。
情報取得部１２０は、第１の実施の形態と同様のため、詳細な説明は省略する。
応答情報生成部１５０は、秘匿化乱数生成部１５１と、乱数付加情報生成部１５２とを含む。
秘匿化乱数生成部１５１は、第１の実施の形態の秘匿化乱数生成部１３１と同様に秘匿化乱数を生成して乱数付加情報生成部１５２に送る。さらに、秘匿化乱数生成部１５１は、乱数発生部１３４が発生した乱数も、乱数付加情報生成部１５２に送る。
乱数付加情報生成部１５２は、秘匿化情報２０３０と秘匿化乱数又は乱数とを用いる複数の演算を備え、要求受信部１４１から受け取ったＳＰ処理情報に基づいて演算を選択し、乱数付加情報２０４０を生成する。
次に、乱数付加情報生成部１５２の動作について図面を参照して、さらに説明する。
図８は、第２の実施の形態に係る乱数付加情報生成部１５２の動作の一例を示すフローチャートである。
まず、乱数付加情報生成部１５２は、要求受信部１４１から、サービス提供装置２０が行う処理の情報（ＳＰ処理情報）を受け取る（ステップ１００１）。
乱数付加情報生成部１５２は、ＳＰ処理情報に基づいて、秘匿化情報２０３０と秘匿化乱数又は乱数とを用いる演算を選択する（ステップ１００２）。この演算については、後ほど説明する。
次に、乱数付加情報生成部１５２は、第１の実施の形態に係る乱数付加情報生成部１３２と同様に、情報受信部１２２から秘匿化情報２０３０を、秘匿化乱数生成部１３１から秘匿化乱数又は乱数を受け取る（ステップ１００３）。
乱数付加情報生成部１５２は、受け取った秘匿化情報２０３０と秘匿化乱数又は乱数とを用いて、ステップ１００２で選択した演算を行い、乱数付加情報２０４０を生成する（ステップ１００４）。
乱数付加情報生成部１５２は、乱数付加情報２０４０を情報送信部１１２に送る（ステップ１００５）。
このような動作に基づき、乱数付加情報生成部１５２は、サービス提供装置２０の処理に基づいて、乱数付加情報２０４０を生成する。
次に、サービス提供装置２０が行う処理に沿った、本実施の形態に係る乱数付加情報生成部１５２が行う演算の一例、及び、サービス提供装置２０での処理の一例について説明する。
なお、本実施の形態に係る秘匿用情報２０１１は、説明の便宜のため、第１の実施の形態で用いた加法準同型暗号の公開鍵に加え、乗法準同型暗号の公開鍵を用いることとする。なお、乗法準同型暗号も、いろいろを想定できる。しかし、以下では、次の式を満たす乗法準同型暗号を用いて説明する。
乗法準同型暗号：Ｅｎｃ（ｘ）＊Ｅｎｃ（ｙ）＝Ｅｎｃ（ｘ＊ｙ）
なお、説明の便宜のため、秘匿用情報２０１１は、加法準同型暗号の公開鍵と乗法準同型暗号の公開鍵とを含むとする。
なお、公開鍵は、１つで加法と乗法とも準同型となる暗号の公開鍵でもよい。この場合、秘匿用情報２０１１は、１つの公開鍵を含む。
次に、ＳＰ処理情報が示す処理の一例として、情報の差分、大小比較、一致判定、割合比較を用いる場合について、それぞれ説明する。
（１）差分
サービス提供装置２０が情報の差分を求める場合、乱数付加情報生成部１５２は、ＳＰ処理情報に基づき差分であることを判定する。次に、乱数付加情報生成部１５２は、情報要求２０１０における加法準同型暗号の公開鍵を用い、第１の実施の形態の係る乱数付加情報生成部１３２と同様に次の演算を行う。
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ａ＋Ｒ）
Ｅｎｃ（Ｂ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ｂ＋Ｒ）
ここで、「Ａ」、「Ｂ」、「Ｒ」は、それぞれ第１の実施の形態と同じと仮定する。この演算の式の左辺は、既に説明したとおり、秘匿化情報２０３０と秘匿化乱数の乗算である。
サービス提供装置２０は、上記の演算結果（乱数付加情報２０４０）から、秘密鍵を用いて「Ａ＋Ｒ」及び「Ｂ＋Ｒ」を求め、差分である「（Ａ＋Ｒ）−（Ｂ＋Ｒ）＝Ａ−Ｂ」を求める。
（２）割合比較
サービス提供装置２０が情報の割合（比率）を判定する場合、乱数付加情報生成部１５２は、乗法準同型暗号の公開鍵を用いて次に示す演算を行う。
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ａ＊Ｒ）
Ｅｎｃ（Ｂ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ｂ＊Ｒ）
差分と同様に、ここで、「Ａ」、「Ｂ」、「Ｒ」は、それぞれ第１の実施の形態と同じと仮定する。ただし、「Ｒ」は、素数でない値とする。この理由は、後ほど説明する。
これらの式の左辺は、秘匿化情報２０３０と秘匿化乱数との乗算である。
なお、乱数付加情報生成部１５２は、加法準同型暗号の公開鍵を用いて次に示す演算を行っても良い。
Ｅｎｃ（Ａ）＾Ｒ＝Ｅｎｃ（Ａ＊Ｒ）
Ｅｎｃ（Ｂ）＾Ｒ＝Ｅｎｃ（Ｂ＊Ｒ）
ここで、「＾」は累乗を示す。なお、これらの式の左辺は、「Ｅｎｃ（Ａ）」の自然数乗（乱数Ｒ乗）である。
サービス提供装置２０は、上記の演算結果（乱数付加情報２０４０）から、秘密鍵を用いて「Ａ＊Ｒ」と「Ｂ＊Ｒ」を得る。さらにサービス提供装置２０は、次に示す割合を求める。
（Ａ＊Ｒ）／（Ｂ＊Ｒ）＝Ａ／Ｂ
ここで、「Ｒ」を素数としない理由を説明する。
Ｒが素数で、Ａ又はＢが素数とすると、サービス提供装置２０は、Ａ＊Ｒ又はＢ＊Ｒの素因数分解に基づき、Ａ、Ｂ、Ｒの値を求めることができる。
これに関して、具体的な数値を用いて説明する。
一例として、Ｒ＝２、Ａ＝７、Ｂ＝１５の場合について説明する。
この場合、Ａ＊Ｒ＝１４、Ｂ＊Ｒ＝３０となる。１４は、素因数分解すると、２＊７である。つまり、Ａ＊Ｒは、２つの素数の積となっている。そのため、サービス提供装置２０は、Ｒが２又は７となることが分かる。また、３０は、７で割り切れない。そのため、サービス提供装置２０は、Ｂ＊Ｒ＝３０に基づき、Ｒが２であることが分かる。その結果、サービス提供装置２０は、「Ａ＝７、Ｂ＝１５、Ｒ＝２」と、各値を決定できる。
一方、Ｒを素数でない値とした場合について説明する。
一例として、Ｒ＝６、Ａ＝７、Ｂ＝５の場合について説明する。
この場合、Ａ＊Ｒ＝４２、Ｂ＊Ｒ＝３０となる。
それぞれを素因数分解すると次のようになる。
４２＝２＊３＊７
３０＝２＊３＊５
この場合、サービス提供装置２０は、Ｒとして、２、３、６のいずれかであることは分かるが、１つに決定できない。そのため、サービス提供装置２０は、Ａ及びＢの値も決定できない。
このようにサービス提供装置２０は、情報の割合を知ることができる。しかし、サービス提供装置２０は、乱数Ｒを知らないため、Ａ及びＢの値を知ることができない。
（３）大小比較
サービス提供装置２０が情報の大小を判定する場合、乱数付加情報生成部１５２は、差分又は割合比較の場合と同じ演算を行っても良い。ただし、差分の値及び割合もサービス提供装置２０から秘匿したい場合、乱数付加情報生成部１５２は、加法準同型暗号の公開鍵を用いて、次に示す演算を行う。
（Ｅｎｃ（Ａ）＾Ｒ１）＊Ｅｎｃ（Ｒ２）＝Ｅｎｃ（Ａ＊Ｒ１＋Ｒ２）
（Ｅｎｃ（Ｂ）＾Ｒ１）＊Ｅｎｃ（Ｒ２）＝Ｅｎｃ（Ｂ＊Ｒ１＋Ｒ２）
ここで、「＾」は累乗を示す。また、Ｒ１及びＲ２は、乱数発生部１３４が発生した乱数である。ただし、割合比較と同様に、Ｒ１は、素数ではない値とする。なお、Ｒ１及びＲ２は、自然数である。そのため、「Ｅｎｃ（Ａ）＾Ｒ１」は、「Ｅｎｃ（Ａ）」の自然数乗（乱数Ｒ１乗）である。
サービス提供装置２０は、上記の演算結果（乱数付加情報２０４０）から、秘密鍵を用いて「Ａ＊Ｒ１＋Ｒ２」と「Ｂ＊Ｒ１＋Ｒ２」を得る。さらにサービス提供装置２０は、次の式を用いて、差（Ａ−Ｂ）の乱数（自然数）倍を求める。
（Ａ＊Ｒ１＋Ｒ２）−（Ｂ＊Ｒ１＋Ｒ２）＝（Ａ−Ｂ）＊Ｒ１
サービス提供装置２０は、上記の式から求めた差の乱数Ｒ１（自然数）倍の符号に基づいてＡとＢとの大小を決定することができる。しかし、サービス提供装置２０は、乱数Ｒ１を知らないため、差分である（Ａ−Ｂ）の値を知ることができない。さらに、サービス提供装置２０は、Ｒ２の値も知らないため、（Ａ／Ｂ）、つまり、割合を求めることもできない。
なお、乱数付加情報生成部１５２は、加法準同型暗号の公開鍵を用いて、次に示す演算を行っても良い。
（Ｅｎｃ（Ａ）＾Ｒ１）＊（Ｅｎｃ（Ｂ）＾Ｒ２）＝Ｅｎｃ（Ａ＊Ｒ１＋Ｂ＊Ｒ２）
（Ｅｎｃ（Ｂ）＾Ｒ１）＊（Ｅｎｃ（Ａ）＾Ｒ２）＝Ｅｎｃ（Ｂ＊Ｒ１＋Ａ＊Ｒ２）
だたし、Ｒ１及びＲ２は、乱数発生部１３４が発生した乱数で、Ｒ１＞Ｒ２とする。また、（Ｒ１−Ｒ２）は、素数でないとする。
サービス提供装置２０は、上記の演算結果（乱数付加情報２０４０）から、秘密鍵を用いて「Ａ＊Ｒ１＋Ｂ＊Ｒ２」と「Ｂ＊Ｒ１＋Ａ＊Ｒ２」を得る。さらにサービス提供装置２０は、次の式を用いて、差（Ａ−Ｂ）の倍数を求める。
（Ａ＊Ｒ１＋Ｂ＊Ｒ２）−（Ｂ＊Ｒ１＋Ａ＊Ｒ２）＝（Ａ−Ｂ）＊（Ｒ１−Ｒ２）
Ｒ１＞Ｒ２つまり（Ｒ１−Ｒ２）＞０のため、サービス提供装置２０は、上記の式から求めた差の倍数の符号に基づいて、ＡとＢとの大小を決定できる。しかし、サービス提供装置２０は、乱数Ｒ１及びＲ２を知らないため、（Ｒ１−Ｒ２）も分からない。そのため、サービス提供装置２０は、差分である（Ａ−Ｂ）の値を知ることができない。さらに、サービス提供装置２０は、Ｒ１及びＲ２の値も知らないため、（Ａ／Ｂ）、つまり、割合を求めることもできない。
（４）一致判定
サービス提供装置２０が情報の一致を判定する場合、乱数付加情報生成部１５２は、差分判定、割合比較、又は、大小比較と同じ演算を行っても良い。ただし、差分、割合、及び、大小をサービス提供装置２０から秘匿化したい場合、乱数付加情報生成部１５２は、加法準同型暗号の公開鍵を用い、次の演算を行う。
（Ｅｎｃ（Ａ）＾Ｒ１）＊（Ｅｎｃ（Ｂ）＾Ｒ２）＝Ｅｎｃ（Ａ＊Ｒ１＋Ｂ＊Ｒ２）
（Ｅｎｃ（Ａ）＾Ｒ３）＊（Ｅｎｃ（Ｂ）＾Ｒ４）＝Ｅｎｃ（Ａ＊Ｒ３＋Ｂ＊Ｒ４）
ただし、Ｒ１乃至Ｒ４は、乱数発生部１３４が発生した乱数で、次の条件を満足する乱数である。
ａ）Ｒ１≠Ｒ３
ｂ）Ｒ１＋Ｒ２＝Ｒ３＋Ｒ４  つまり  Ｒ４＝Ｒ１＋Ｒ２−Ｒ３
ここで、演算の式の左辺は、秘匿化情報２０３０の異なる自然数乗（乱数乗）の乗算となっている。
サービス提供装置２０は、秘密鍵を用いて、「Ａ＊Ｒ１＋Ｂ＊Ｒ２」及び「Ａ＊Ｒ３＋Ｂ＊Ｒ４」を得る。さらに、サービス提供装置２０は、次に示す差分を求める。
（Ａ＊Ｒ１＋Ｂ＊Ｒ２）−（Ａ＊Ｒ３＋Ｂ＊Ｒ４）
ＡとＢが一致する場合、この差分は、０となる。つまり、サービス提供装置２０は、差分が０か否かに基づき、値の一致又は不一致を知ることができる。しかし、サービス提供装置２０は、Ｒ１乃至Ｒ４を知らないため、Ａ及びＢの値、その差分、割合、及び、大小を知ることができない。
ここで、ＡとＢが一致した場合に、差分が０となることを説明する。
差分の式のＲ４にＲ１＋Ｒ２−Ｒ３を代入して整理すると、次のようになる。
（Ａ−Ｂ）＊（Ｒ１−Ｒ３）
ここで、Ｒ１≠Ｒ３なので、差分が０となる場合、Ａ−Ｂ＝０、つまりＡ＝Ｂとなる。
このように、第２の実施に形態に係る情報取得代理装置１３は、第１の実施の形態に係る効果に加え、サービス提供装置２０での異なる処理に対応する効果を得ることが出来る。
その理由は、第２の実施の形態に係る情報取得代理装置１３は、サービス提供装置２０で行う処理を示すＳＰ処理情報を受け取り、ＳＰ処理情報に基づき、応答情報生成部１３０で用いる演算を変更するためである。
（第３の実施の形態）
第２の実施の形態に係る情報取得代理装置１３は、サービス提供装置２０が行う処理（ＳＰ処理情報）に基づいて演算を変更した。しかし、情報取得代理装置１３の演算の切替えは、ＳＰ処理情報に限られるわけではない。
第３の実施の形態に係る情報取得代理装置１３は、ＳＰ処理情報に加え、その他の情報に基づいて演算を切り替える。
第３の実施の形態に係る情報取得代理装置１３の構成は、図７に示す第２の実施の形態に係る情報取得代理装置１３と同じため、構成の詳細な説明は省略し、第３の実施の形態に係る情報取得代理装置１３に特有の動作について説明する。
第３の実施の形態に係る乱数付加情報生成部１５２は、要求受信部１４１から、ＳＰ処理情報に加え、その他の情報を受け取る。
ここで、第３の実施の形態に係る乱数付加情報生成部１５２が受け取るその他の情報は、特に制限がない。以下では、一例として、指定情報２０１２、特に属性種別２０１５を用いた場合について説明する。
このような場合について図面を参照して説明する。
図９は、第３の実施の形態に係る乱数付加情報生成部１５２の動作の一例を示すフローチャートである。図９において、図８と同じ動作には同じ番号を付してある。
まず、乱数付加情報生成部１５２は、要求受信部１４１から、サービス提供装置２０が行う処理の情報（ＳＰ処理情報）を受け取る（ステップ１００１）。
次に、乱数付加情報生成部１５２は、指定情報２０１２（今の場合は、属性種別２０１５）を判定する（ステップ１０１１）。
乱数付加情報生成部１５２は、ＳＰ処理情報及び指定情報２０１２に基づいて、秘匿化情報２０３０と秘匿化乱数又は乱数との演算を選択する（ステップ１０１２）。乱数付加情報生成部１５２は、この選択として、指定情報２０１２が秘匿性の高い情報の場合、処理の負荷が大きくても秘匿性の高い演算を選択し、指定情報２０１２が秘匿性の比較的高くない情報の場合、負荷が小さな演算を選択する。
このステップ１０１２の動作について、具体的な例を用いてさらに説明する。
まず、説明の便宜のための前提を整理する。
秘匿化情報２０３０は、加法準同型暗号の公開鍵とする。
取り扱う情報及び処理は、ある利用者の預金（Ｄ）と購入したい物品の価格（Ｐ）との比較、及び、所有休暇日数（Ｈ）と取得済み休暇日数（Ａ）との比較、つまり、ＳＰ処理情報は、大小比較とする。さらに、休暇日数に比べ、預金は、秘匿性が高いとする。
続いて動作について説明する。
まず、乱数付加情報生成部１５２は、ＳＰ処理情報を確認し、大小比較であることを判定する。次に、乱数付加情報生成部１５２は、指定情報２０１２、つまり取り扱う情報の属性種別２０１５を確認する。
ここで、取り扱う属性種別２０１５が預金の場合、乱数付加情報生成部１５２は、第２の実施の形態の大小比較と同様に、次の演算を行う。
（Ｅｎｃ（Ｄ）＾Ｒ）＝Ｅｎｃ（Ｄ＊Ｒ）
（Ｅｎｃ（Ｐ）＾Ｒ）＝Ｅｎｃ（Ｐ＊Ｒ）
この演算の結果（乱数付加情報２０４０）を受け取ったサービス提供装置２０は、預金（Ｄ）と価格（Ｐ）との大小を比較できる。しかし、サービス提供装置２０は、預金（Ｄ）と価格（Ｐ）との差分（Ｄ−Ｐ）を求めることができない。
一方、取り扱う属性種別２０１５が休暇日数の場合、乱数付加情報生成部１５２は、所有休暇日数（Ｈ）と取得済み休暇日数（Ａ）に基づき次の演算を行う。
Ｅｎｃ（Ｈ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ｈ＋Ｒ）
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ａ＋Ｒ）
この演算結果（乱数付加情報２０４０）を用いて、サービス提供装置２０は、休暇日数の大小の比較ができる。さらに、サービス提供装置２０は、所有日数（Ｈ）と取得日数（Ａ）の差分（Ｄ−Ａ）を求めることができる。ただし、サービス提供装置２０は、所有日数（Ｄ）及び取得日数（Ａ）を求めることができない。このように、差分を求めることができるため、休暇日数の場合の秘匿性は、預金の場合に比べ低くなる。しかし、休暇日数の場合の演算は、乗算が１回と、預金で用いた演算と比べ乗算の回数が少ない。そのため、乱数付加情報生成部１５２の演算の負荷は、小さい。
このように、取り扱う属性種別２０１５に基づき、乱数付加情報生成部１５２は、秘匿性が高い属性種別２０１５には演算の負荷が高くても秘匿性の高い演算を用い、秘匿性が高くない属性種別２０１５には演算の負荷の低い演算を用いることができる。
なお、乱数付加情報生成部１５２は、演算の形を変更するのではなく、演算に用いる乱数の大きさ（ビット数、バイト数など）を変更してもよい。乱数が大きい場合、計算量は多くなるが秘匿性が高くなる。一方、乱数が小さい場合、秘匿性は低くなるが計算量は少なくなる。そこで、乱数付加情報生成部１５２は、秘匿性の高い情報には大きな乱数を用い、秘匿性が高くない情報には小さな乱数を用いても良い。
図９のフローチャートの説明に戻る。
乱数付加情報生成部１５２は、第２の実施の形態に係る乱数付加情報生成部１３２と同様に、情報受信部１２２から秘匿化情報２０３０を、秘匿化乱数生成部１３１から秘匿化乱数又は乱数を受け取る（ステップ１００３）。
乱数付加情報生成部１５２は、受け取った秘匿化情報２０３０と秘匿化乱数又は乱数とを用いて、ステップ１０１２で選択した演算を行い、乱数付加情報２０４０を生成する（ステップ１００４）。
乱数付加情報生成部１５２は、乱数付加情報２０４０を情報送信部１１２に送る（ステップ１００５）。
このような動作に基づき、第３の実施形態に係る乱数付加情報生成部１５２は、サービス提供装置２０のＳＰ処理情報及び指定情報２０１２に基づいて、演算を選択し、演算結果である乱数付加情報２０４０を生成する。
なお、ここまで説明した第３の実施の形態に係る乱数付加情報生成部１５２は、指定情報２０１２、特に属性種別２０１５に基づいて演算を選択したが、これに限られるわけではない。例えば、乱数付加情報生成部１５２は、サービス提供装置２０がサービスを提供する利用者の情報（例えば、利用者ＩＤ２０１４）を受け取り、利用者の情報を基に演算を切り替えてもよい。
これをさらに具体的に説明すると、例えば、次のようになる。
サービス提供装置２０は、複数の利用者の情報を用いてサービスを提供する場合、漏えいの影響範囲が広いため、秘匿性の高い処理が必要である。それに対し、サービス提供装置２０は、個々の利用者の情報を用いてのサービスの場合、漏えいの影響範囲が狭く、複数の利用者の場合ほど秘匿性を高くせずに、処理を早くして応答時間を短くしたほうが良い場合もある。
そこで、乱数付加情報生成部１５２は、サービス提供装置２０が行う処理に関する利用者の情報（例えば、利用者ＩＤ２０１４）を用いて利用者の範囲を判定し、処理の負荷が大きくても秘匿性が高い演算、又は、秘匿性が高くなくても負荷が少ない演算のどちらかを選択する。
このように、第３の実施の形態に係る情報取得代理装置１３は、第２の実施の形態に係る効果に加え、処理の負荷を少なくする効果を得ることができる。
その理由は、第３の実施の形態に係る乱数付加情報生成部１５２は、要求された情報の属性種別又は利用者の情報を基に秘匿性を判定し、秘匿性が高くなくても負荷の小さな演算を利用できる場合、負荷の小さな演算を選択して実行するためである。
（第４の実施の形態）
第２の実施の形態に係る情報取得代理装置１３は、取得する情報を２つとして説明した。しかし、情報取得代理装置１３は、取得する情報を２つに限る必要はない。
第４の実施の形態として３つ以上の情報を取得する情報取得代理装置１３について説明する。
なお、第４の実施の形態に係る情報取得代理装置１３の構成は、図７に示す第２の実施の形態に係る情報取得代理装置１３と同じため、構成の詳細な説明は省略し、第４の実施の形態に係る情報取得代理装置１３に特有の動作について説明する。
第４の実施の形態に係る乱数付加情報生成部１５２は、要求受信部１４１から、ＳＰ処理情報として、サービス提供装置２０で行う処理に加え、どの情報をどのようにまとめるか（組合せ）についての情報（以下、この情報を組合せ情報と称す。）も受け取る。
ここで、組合せ情報とは、サービス提供装置２０が行う処理の情報の組合せのことである。例えば、預金（Ａ）と、２つの負債（Ｂ、Ｃ）を基に与信情報を作成する場合、サービス提供装置２０は、「Ａ」と「Ｂ＋Ｃ」とを比較する。この場合の組合せ情報は、「Ａ」と「Ｂ＋Ｃ」との組合せとなる。
図１０は、このような第４の実施の形態に係る乱数付加情報生成部１５２の動作の一例を示すフローチャートである。図１０において、図８と同じ動作には同じ番号を付してある。
まず、乱数付加情報生成部１５２は、要求受信部１４１から、サービス提供装置２０が行う処理を情報（ＳＰ処理情報）と組合せ情報とを受け取る（ステップ１０２１）。
次に、乱数付加情報生成部１５２は、ＳＰ処理情報と組合せ情報とを基に演算を選択する（ステップ１０２２）。
このステップ１０２２の動作について、具体的な例を用いてさらに説明する。
ここでは、一例として、既に説明した預金（Ａ）と２つの負債（Ｂ、Ｃ）を用いて説明する。
乱数付加情報生成部１５２は、ＳＰ処理情報（今の場合、差分）と、組合せ情報（今の場合、ＡとＢ＋Ｃ）とを基に、サービス提供装置２０に送る乱数付加情報２０４０を求める演算を選択する。今回の場合は、次の演算となる。
Ｅｎｃ（Ａ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ａ＋Ｒ）
Ｅｎｃ（Ｂ）＊Ｅｎｃ（Ｃ）＊Ｅｎｃ（Ｒ）＝Ｅｎｃ（Ｂ＋Ｃ＋Ｒ）
ここで２つ目の式の左辺は、複数の秘匿化情報２０３０と秘匿化算数の乗算である。
サービス提供装置２０は、受け取った乱数付加情報２０４０を秘密鍵で復号化し、さらに「（Ａ＋Ｒ）−（Ｂ＋Ｃ＋Ｒ）」を求め、預金と負債の差額（「Ａ−（Ｂ＋Ｃ）」）を求めることができる。ただし、サービス提供装置２０は、乱数Ｒを知らないため、Ａ、Ｂ、Ｃの値を知ることができない。
以下、乱数付加情報生成部１５２は、第２の実施の形態に係る乱数付加情報生成部１３２と同様に、動作する。
つまり、乱数付加情報生成部１５２は、情報受信部１２２から秘匿化情報２０３０（Ｅｎｃ（Ａ）、Ｅｎｃ（Ｂ）、Ｅｎｃ（Ｃ））を、秘匿化乱数生成部１３１から秘匿化乱数又は乱数を受け取る（ステップ１００３）。
乱数付加情報生成部１５２は、受け取った秘匿化情報２０３０と秘匿化乱数又は乱数とを用いて、ステップ１０２２で選択した演算を行い、乱数付加情報２０４０（今の場合、Ｅｎｃ（Ａ＋Ｒ）、Ｅｎｃ（Ｂ＋Ｃ＋Ｒ））を生成する（ステップ１００４）。
乱数付加情報生成部１５２は、乱数付加情報２０４０を情報送信部１１２に送る（ステップ１００５）。
このような動作に基づき、第４の実施形態に係る乱数付加情報生成部１５２は、サービス提供装置２０の処理に基づいた演算結果である乱数付加情報２０４０を生成する。
なお、ここまで説明した第４の実施の形態に係る乱数付加情報生成部１５２は、組合せ情報に基づいて演算を選択したが、これに限られるわけではない。例えば、乱数付加情報生成部１５２は、取得する秘匿化情報２０３０の属性種別２０１５（例えば、預金と負債）を受け取り、属性種別２０１５に基づいて、秘匿化情報２０３０の演算を選択しても良い。
第４の実施の形態に係る情報取得代理装置１３は、第２の実施の形態に係る効果に加え、３つ以上の情報を利用できる効果を得ることができる。
その理由は、第４の実施の形態に係る乱数付加情報生成部１５２は、サービス提供装置２０から取得した組合せ情報又は属性情報に基づいて、取得した秘匿化情報２０３０から乱数付加情報２０４０を生成することができるためである。
（第５の実施の形態）
第１乃至第４の実施の形態に係る情報取得代理装置は、各構成をコンピュータで実行するプログラムとして実現しても良い。
さらに、第１乃至第４の実施の形態に係る情報取得代理装置の各構成は、コンピュータで実行するプログラムを記憶する記録媒体を含んでも良い。
図１１は、第５の実施に形態に係る情報取得代理装置１４の構成の一例を示す図である。
情報取得代理装置１４は、情報処理部１６１と、情報記憶部１６２と、第１の通信部１６３と、第２の通信部１６４とを含んでいる。
情報処理部１６１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓ  Ｕｎｉｔ）を含み、情報記憶部１６２が記憶している情報取得代理の処理のプログラム１６５を実行する。そして、情報処理部１６１は、プログラム１６５に基づき、第１の通信部１６３を介してサービス提供装置（ＳＰ）２０と通信し、第２の通信部１６４を介して情報保持装置（ＡＰ）３０と通信を行い、第１乃至第４の実施の形態に係る情報取得代理装置と同様の動作を行う。
情報記憶部１６２は、ハードディスク装置又はメモリ記憶装置など記憶装置を含み、情報処理部１６１が実行するプログラム１６５を記憶している。さらに、情報記憶部１６２は、プログラム１６５を保持する記憶媒体１６６を含んでも良い。なお、情報記憶部１６２は、情報処理部１６１が動作する場合の情報の一時保存記憶（ワークエリア）として動作しても良い。
第１の通信部１６３は、サービス提供装置（ＳＰ）２０と接続するための回路、例えばＮＩＣ（Ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を含み、情報処理部１６１とサービス提供装置２０との情報を中継する。
第２の通信部１６４は、同様に情報保持装置（ＡＰ）３０と接続するための回路を含み、情報処理部１６１と情報保持装置３０との情報を中継する。
このように第５の実施の形態に係る情報取得代理装置１４は、第１乃至第４の実施の形態に係る情報取得代理装置と同様の効果を得ることができる。
その理由は、第５の実施の形態に係る情報取得代理装置１４の情報処理部１６１は、プログラム１６５に基づいて第１乃至第４の実施の形態の情報取得代理装置と同様の動作を行うことができるためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる
この出願は、２０１０年１１月１５日に出願された日本出願特願２０１０−２５４９７１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００８】
１    サービス提供システム
２    サービス提供システム
９    サービス提供システム
１０    情報取得代理装置
１１    情報処理装置
１２    情報取得代理装置
１３    情報取得代理装置
１４    情報取得代理装置
２０    サービス提供装置
２１    サービス提供装置
３０    情報保持装置
４０    秘匿化乱数生成装置
９０    サービス提供装置
９１    情報保持装置
９２    サービス提供装置
９３    情報保持装置
９４    サービス提供装置
１１０    要求処理部
１１１    要求受信部
１１２    情報送信部
１２０    情報取得部
１２１    要求送信部
１２２    情報受信部
１３０    応答情報生成部
１３１    秘匿化乱数生成部
１３２    乱数付加情報生成部
１３３    情報保持部
１３４    乱数発生部
１４０    要求処理部
１４１    要求受信部
１５０    応答情報生成部
１５１    秘匿化乱数生成部
１５２    乱数付加情報生成部
１６１    情報処理部
１６２    情報記憶部
１６３    通信部
１６４    通信部
１６５    プログラム
１６６    記憶媒体
２０１０    情報要求
２０１１    秘匿用情報
２０１２    指定情報
２０１３    取得先情報
２０１４    利用者ＩＤ
２０１５    属性種別
２０２０    個別装置要求
２０３０    秘匿化情報
２０４０    乱数付加情報
【図１】
2012067214.tif 000003
【図２】
2012067214.tif 000004
【図３】
2012067214.tif 000005
【図４】
2012067214.tif 000006
【図５】
2012067214.tif 000007
【図６】
2012067214.tif 000008
【図７】
2012067214.tif 000009
【図８】
2012067214.tif 000010
【図９】
2012067214.tif 000011
【図１０】
2012067214.tif 000012
【図１１】
2012067214.tif 000013
【図１２】
2012067214.tif 000014
【国際調査報告】
2012067214.tif 000015
2012067214.tif 000016