(57)【要約】【課題】通信の当事者の匿名性を向上させること。【解決手段】通信情報管理装置は、通信に用いられる情報である通信情報の断片を記憶する記憶部と、前記通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、前記記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する送信部と、前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記問い合わせ断片から前記問い合わせを復元する復元装置へ前記問い合わせ断片を転送する転送部と、を有する。【選択図】図５
2017129737.tif 000002
【特許請求の範囲】
【請求項１】
通信に用いられる情報である通信情報の断片を記憶する記憶部と、
前記通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、前記記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する送信部と、
前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記問い合わせ断片から前記問い合わせを復元する復元装置へ前記問い合わせ断片を転送する転送部と、
を有することを特徴とする通信情報管理装置。
【請求項２】
前記記憶部に記憶されている通信情報の断片は暗号化されており、
暗号化された前記問い合わせ断片が受信されると、前記問い合わせ断片を復号することなく、暗号化された通信情報の断片を前記記憶部から検索する検索部、
を有することを特徴とする請求項１記載の通信情報管理装置。
【請求項３】
複数の通信情報管理装置と、復元装置とを含む通信情報管理システムであって、
前記通信情報管理装置は、
通信に用いられる情報である通信情報の断片を記憶する記憶部と、
前記通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、前記記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する第１の送信部と、
前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記復元装置へ前記問い合わせ断片を転送する転送部とを有し、
前記復元装置は、
前記複数の通信情報管理装置から転送される複数の前記問い合わせ断片に基づいて、前記問い合わせを復元する復元部と、
復元された前記問い合わせを前記複数の通信情報管理装置とは別の情報管理装置へ送信して、前記情報管理装置から前記問い合わせに対応する通信情報を取得する取得部と、
前記通信情報を複数の断片に分割する分割部と、
分割された通信情報の断片を、前記複数の通信情報管理装置へ送信する第２の送信部とを有する、
ことを特徴とする通信情報管理システム。
【請求項４】
通信に用いられる通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する送信手順と、
前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記問い合わせ断片から前記問い合わせを復元する復元装置へ前記問い合わせ断片を転送する転送手順と、
をコンピュータが実行することを特徴とする通信情報管理方法。
【請求項５】
前記記憶部に記憶されている通信情報の断片は暗号化されており、
暗号化された前記問い合わせ断片が受信されると、前記問い合わせ断片を復号することなく、暗号化された通信情報の断片を前記記憶部から検索する検索手順、
をコンピュータが実行することを特徴とする請求項４記載の通信情報管理方法。
【請求項６】
複数の通信情報管理装置と、復元装置とが実行する通信情報管理方法であって、
前記通信情報管理装置が、
通信に用いられる通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する第１の送信手順と、
前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記復元装置へ前記問い合わせ断片を転送する転送手順とを実行し、
前記復元装置が、
前記複数の通信情報管理装置から転送される複数の前記問い合わせ断片に基づいて、前記問い合わせを復元する復元手順と、
復元された前記問い合わせを他の情報管理装置へ送信して、前記他の情報管理装置から前記問い合わせに対応する通信情報を取得する取得手順と、
前記通信情報を複数の断片に分割する分割手順と、
分割された通信情報の断片を、前記複数の通信情報管理装置へ送信する第２の送信手順とを実行する、
ことを特徴とする通信情報管理方法。
【請求項７】
請求項１又は２記載の各部としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信情報管理装置、通信情報管理システム、通信情報管理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、匿名通信を実現する技術が提案されており、その一部はインターネットでも実用化されている。ここで、匿名通信とは、誰が、いつ、どこに対して通信をしたかという事実自体を、当該通信に直接関与する送信元と宛先との二者以外から隠蔽することをいう。インターネット上で匿名通信を実現する技術として、非特許文献１に示されているＴｏｒが利用されている。
【０００３】
他方において、データの統計処理を暗号化したまま実施する秘密計算技術が研究されている（例えば、非特許文献２）。秘密計算技術は、秘密にしたいデータを複数の断片ファイルに分割したうえで暗号化し、それぞれの断片ファイルを別々のサーバやクラウドに保存することで、複数の断片ファイルが揃わないと復元・復号化できないようにして情報漏えいのリスクを低減する。さらに、暗号化された断片ファイルのまま、情報の検索、加算、平均値の計算などの統計処理が実現できる。秘密計算技術を用いると、データを保持しているサーバやクラウドの運用者に対して、データの内容を秘密にしたまま、これらのデータの二次利用が可能となる。したがって、秘密計算技術は、プライバシーに配慮すべきデータや機密性・匿名性の高いデータの活用に有効な技術である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Roger Dingledine, Nick Mathewson, and Paul Syverson、Tor: The Second-Generation Onion Router. In USENIX Security、2004、インターネット〈URL：http://static.usenix.org/event/sec04/tech/dingledine.html〉
【非特許文献２】『高機密データも安全に二次利用可能な「秘密計算技術」』、NTT技術ジャーナル2014年3月号、p.67-70、インターネット〈URL：http://www.ntt.co.jp/journal/1403/files/jn201403067.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、現実の通信では、Ｗｅｂサーバへのアクセスのように、送信者と受信者が直接通信する形態以外にも、ＣＤＮ（Content Delivery Network）のように、キャッシュサーバからコンテンツを取得する形態も一般的に利用されている。
【０００６】
また、送信者が受信者に直接通信をする場合でも、一般的な通信プロトコルにおいては、通信を開始する前に、通信に必要な情報をネットワークに存在する様々なサーバから取得する必要がある。例えば、インターネット上の通信では、ＷｅｂサイトのＵＲＬに対応するＩＰアドレスを取得するＤＮＳ（Domain Name System）や、通信に必要な公開鍵をディレクトリサーバから取得するといった前処理が必要となる。
【０００７】
Ｔｏｒなどの匿名通信技術を用いることで、送信者から受信者への通信そのものが隠蔽されたとしても、ＣＤＮからのコンテンツの取得、ＤＮＳへの問い合わせ、暗号鍵の取得など、第三者が提供するキャッシュサーバ等から情報を取得する処理が匿名化されていないと、通信に係る送信者及び受信者を第三者が推測できてしまう恐れがある。
【０００８】
また、キャッシュサーバに存在しない情報については、一般的にはインターネット等に存在する上位のサーバに問い合わせをして取得することになるが、この問い合わせについても匿名化されていないと、例えば、図１に示されるように、送信元端末と宛先端末との間で通信が行われたことが、上位サーバを提供する別の第三者にも推測できてしまう恐れがある。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、通信の当事者の匿名性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、通信情報管理装置は、通信に用いられる情報である通信情報の断片を記憶する記憶部と、前記通信情報に対する問い合わせを断片化した問い合わせ断片を端末から受信すると、前記記憶部に記憶されている通信情報の断片のうち、前記問い合わせ断片に対応する通信情報の断片を前記端末に送信する送信部と、前記問い合わせ断片に対応する通信情報の断片が前記記憶部に記憶されていない場合に、前記問い合わせ断片の送信元のアドレスを書き換えて、前記問い合わせ断片から前記問い合わせを復元する復元装置へ前記問い合わせ断片を転送する転送部と、を有する。
【発明の効果】
【００１１】
通信の当事者の匿名性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】従来技術の問題点を説明するための図である。
【図２】本発明の実施の形態におけるネットワークシステムの構成例を示す図である。
【図３】本発明の実施の形態における断片サーバのハードウェア構成例を示す図である。
【図４】送信元端末の機能構成例を示す図である。
【図５】断片サーバの機能構成例を示す図である。
【図６】反復問い合わせ装置の機能構成例を示す図である。
【図７】登録装置の機能構成例を示す図である。
【図８】通信情報の問い合わせ時における処理手順の一例を説明するためのシーケンス図である。
【図９】反復問い合わせに関する処理手順の一例を説明するためのシーケンス図である。
【図１０】ＤＮＳの問い合わせに関して実行される処理手順の一例を説明するためのシーケンス図である。
【図１１】本発明の実施の形態の効果を説明するための図である。
【発明を実施するための形態】
【００１３】
本発明の実施の形態では、通信をしたい端末（以下、「送信元端末５０」という。）が、通信相手の端末（以下、「宛先端末６０」という。）と通信するために必要な情報（以下、「通信情報」という。）を、送信元端末５０及び宛先端末６０以外の第三者のサーバから取得する過程に対して秘密計算技術が適用される。これにより、当該サーバに格納されている通信情報が断片ファイルとして分割され、さらに暗号化されるため、サーバ（第三者）に対して通信情報の内容を秘匿化できる。また、送信元端末５０が通信情報を問い合わせる際のメッセージも秘密計算技術によって分割することで、問い合わせメッセージの内容も秘匿化される。その結果、ネットワークでの盗聴に加え、ネットワーク機器やサーバでのログの取得も困難となる。さらに、通信情報の問い合わせを受けたサーバにおいても、秘密計算技術により、問い合わせの内容を知ることなく、要求された通信情報を回答することができるため、サーバ側での問い合わせ内容の秘匿も可能となる。
【００１４】
すなわち、サーバに格納されている通信情報そのものと、通信情報を問い合わせるメッセージ内容と、その回答との全てが秘匿化されることで、送信元端末５０がどんな情報を取得しようとしているか、どこに通信をしようとしているのかを、第三者が推測することが困難となる。
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、本発明の実施の形態におけるネットワークシステムの構成例を示す図である。図２に示されるネットワークシステム１は、送信元端末５０と宛先端末６０との通信を第三者から秘匿するための構成として、断片サーバ１０ａ、１０ｂ、及び１０ｃ（以下、それぞれを区別しない場合、「断片サーバ１０」という。）と、反復問い合わせ装置２０と、登録装置３０と、上位サーバ４０とが示されている。
【００１６】
各断片サーバ１０には、通信情報を分割した断片ファイル（以下、「通信情報の断片」という。）が分散されて格納されている。通信情報としては、キャッシュされたコンテンツそのものや、通信の事前に必要な情報（宛先端末６０の所在地やアドレス、宛先端末６０と通信を暗号化するために必要な公開鍵情報など）が考えられるが、これに限定されるものではない。また、本実施の形態では、３つの断片サーバ１０が利用される例について説明するが、断片サーバ１０は、２以上であればいずれの台数が利用されてもよい。
【００１７】
送信元端末５０は、各断片サーバ１０に対して、秘密計算技術を用いて通信情報の断片を問い合わせる。
【００１８】
反復問い合わせ装置２０は、問い合わせを受けた通信情報の断片が断片サーバ１０内に存在しない場合に、当該通信情報を上位サーバ４０に問い合わせる情報処理装置（例えば、コンピュータ）である。反復問い合わせ装置２０から上位サーバ４０へは、秘密計算を利用せず通常のプロトコルでの問い合わせが行われる。
【００１９】
登録装置３０は、宛先端末６０など、通信情報を保持する端末や、上位サーバ４０から通信情報を取得した反復問い合わせ装置２０等から通信情報の登録要求を受け付けると、登録対象の通信情報を断片化及び暗号化して通信情報の断片を生成し、各断片を断片サーバ１０に分散して登録する情報処理装置（例えば、コンピュータ）である。
【００２０】
上位サーバ４０は、例えば、ＤＮＳ（Domain Name System）の権威ＤＮＳサーバ等であり、通信情報を管理する。上位サーバ４０は、ローカルのネットワークＮ１内（すなわち、断片サーバ１０）に存在しない通信情報をも保持しているコンピュータである。
【００２１】
なお、本実施の形態においては、断片サーバ１０を提供する事業者等が、送信元端末５０を保持するユーザに対して匿名通信サービスを提供することを想定する。すなわち、送信元端末５０を保持するユーザと、断片サーバ１０を提供する事業者との間には、契約等により、最低限の信頼関係があることを想定する。一方、上位サーバ４０を提供する第三者は、送信元端末５０を保持するユーザとの間に一切の関係が無くてもよい。
【００２２】
図３は、本発明の実施の形態における断片サーバのハードウェア構成例を示す図である。図３の断片サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００２３】
断片サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２４】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って断片サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２５】
なお、反復問い合わせ装置２０、登録装置３０、上位サーバ４０、送信元端末５０、及び宛先端末６０も、図３に示されるようなハードウェアを有していてもよい。また、反復問い合わせ装置２０及び登録装置３０は、共通のコンピュータを用いて実現されてもよい。
【００２６】
図４は、送信元端末の機能構成例を示す図である。図４において、送信元端末５０は、アプリケーション５１、秘密計算部５２、及び問い合わせ部５３等を有する。これら各部は、送信元端末５０にインストールされた１以上のプログラムが、送信元端末５０のＣＰＵに実行させる処理により実現される。
【００２７】
アプリケーション５１は、宛先端末６０との通信を行う。アプリケーション５１の一例として、宛先端末６０のＵＲＬ（Uniform Resource Locator）に対応するＩＰアドレスを取得するＤＮＳリゾルバや、宛先端末６０との間で暗号化を実施するアプリケーションや暗号化プロトコル、コンテンツそのものを取得するＣＤＮ（Contents Delivery Network）のアプリケーション等が挙げられる。
【００２８】
秘密計算部５２は、アプリケーション５１からの、通信情報の問い合わせ内容を秘密計算機能によって複数の断片（以下、「問い合わせ断片」という。）に分割・暗号化する。例えば、ドメイン名に対応するＩＰアドレスの問い合わせの断片のそれぞれには、ドメイン名の一部を示す情報が含まれる。ドメイン名の一部を示す情報とは、必ずしも、文字列としての一部でなくてもよい。各一部をビット演算等により組み合わせることで、ドメイン名を導出可能であってもよい。なお、「分割・暗号化」とは、問い合わせ内容の断片化の過程において、「分割」と「暗号」との処理が、区別されないで実行される状態をいう。但し、「分割」と「暗号」とが明確に区別されて実行されてもよい。
【００２９】
秘密計算部５２は、また、問い合わせ部５３から受信した問い合わせ結果である通信情報の断片を復元・復号化し、復元・復号化された通信情報をアプリケーション５１に回答する。「復元・復号化」とは、断片から通信情報への復元の過程において、「復元」と「復号」との処理が、区別されないで実行される状態をいう。但し、「復元」と「復号」とが明確に区別されて実行されてもよい。なお、通信情報の断片とは、例えば、通信情報がＩＰアドレスであれば、ＩＰアドレスの一部を示す情報である。ＩＰアドレスの一部を示す情報とは、各一部をビット演算等により組み合わせることで、ＩＰアドレスを導出可能な情報である。
【００３０】
問い合わせ部５３は、予め登録されている各断片サーバ１０に対し、問い合わせ断片を送信したり、問い合わせ結果として得られる通信情報の断片を各断片サーバ１０から受信したりする。なお、問い合わせ部５３は、いずれの問い合わせ断片をいずれの断片サーバ１０に対して送信すべきであるかについてのルールを知っている。例えば、秘密計算部５２によって、最初に生成された問い合わせ断片は、断片サーバ１０ａに対応し、２番目に生成された問い合わせ断片は、断片サーバ１０ｂに対応し、３番目に生成された問い合わせ断片は、断片サーバ１０ｃに対応することを、問い合わせ部５３は知っている。
【００３１】
図５は、断片サーバの機能構成例を示す図である。図５において、断片サーバ１０は、問い合わせ受付部１１、秘密計算部１２、反復問い合わせ要求部１３、及び断片登録受付部１４等を有する。これら各部は、断片サーバ１０にインストールされた１以上のプログラムが、断片サーバ１０のＣＰＵ１０４に実行させる処理により実現される。断片サーバ１０は、また、断片ＤＢ（Data Base）を１５有する。断片ＤＢ１５は、例えば、断片サーバ１０の補助記憶装置１０２等を用いて実現可能である。
【００３２】
問い合わせ受付部１１は、送信元端末５０からの通信情報の問い合わせ断片を受信し、自らの断片ＤＢ１５に記憶されている通信情報の断片の中から、問い合わせ断片に合致する通信情報の断片を取得し、取得された断片を送信元端末５０に送信する。断片ＤＢ１５を検索する際には、秘密計算部１２が用いられる。秘密計算部１２は、秘密計算技術を用いて、問い合わせ断片を復号せずに、暗号化されたまま通信情報の断片を検索する。
【００３３】
断片ＤＢ１５には、通信情報の断片が記憶されている。例えば、断片サーバ１０がＤＮＳサーバである場合、断片ＤＢ１５には、Ａレコード等の断片が記憶されている。
【００３４】
反復問い合わせ要求部１３は、問い合わせ受付部１１が受信した問い合わせ断片に対応する通信情報の断片が自身の断片ＤＢ１５に存在しない場合に、上位サーバ４０への通信情報の問い合わせを、反復問い合わせ装置２０に要求する。例えば、ＤＮＳの問い合わせに断片に対して、対応するＩＰアドレスの断片が断片ＤＢ１５に記憶されていない場合に、上位の権威ＤＮＳサーバとしての上位サーバ４０に問い合わせを行う例や、問い合わせ断片に対応するコンテンツの断片が断片ＤＢ１５に記憶されていない場合に、別のサーバである上位サーバ４０からコンテンツを取得するための問い合わせを行う例などがある。反復問い合わせ要求部１３は、送信元端末５０から受信した問い合わせ断片を復号化せずに、そのまま反復問い合わせ装置２０に転送する。但し、反復問い合わせ要求部１３は、問い合わせ断片のパケットの送信元アドレスを、送信元端末５０のＩＰアドレスから断片サーバ１０自身のＩＰアドレスに書き換える。そうすることで、問い合わせ元の送信元端末５０が、上位サーバ４０に対して隠蔽される。
【００３５】
断片登録受付部１４は、登録装置３０からの要求に応じて、断片サーバ１０の断片ＤＢ１５に通信情報の断片を登録する。登録装置３０から受信された通信情報の断片が、そのまま断片ＤＢ１５に記憶される。
【００３６】
図６は、反復問い合わせ装置の機能構成例を示す図である。図６において、反復問い合わせ装置２０は、反復問い合わせ受付部２１、秘密分散部２２、上位問い合わせ部２３、及び登録要求部２４等を有する。これら各部は、反復問い合わせ装置２０にインストールされた１以上のプログラムが、反復問い合わせ装置２０のＣＰＵに実行させる処理により実現される。
【００３７】
反復問い合わせ受付部２１は、各断片サーバ１０から、問い合わせ断片を受信する。
【００３８】
秘密分散部２２は、各問い合わせ断片を復元・復号化して、復元された問い合わせ内容を上位問い合わせ部２３に入力する。
【００３９】
上位問い合わせ部２３は、復元された問い合わせ内容を、通常の通信プロトコルを用いて、外部の適切な上位サーバ４０に対して転送する。ＤＮＳの例では、ＤＮＳリゾルバとして、権威ＤＮＳサーバに反復問い合わせを実施する処理が該当する。上位問い合わせ部２３は、問い合わせ対象の通信情報の内容又は種別に応じて、問い合わせ先の上位サーバ４０を変えたり、問い合わせに用いるプロトコルを変えたりする。
【００４０】
登録要求部２４は、上位問い合わせ部２３から上位サーバ４０に対する問い合わせによって得られた結果（通信情報）について、各断片サーバ１０の断片ＤＢ１５への登録の実行を、登録装置３０に要求する。
【００４１】
図７は、登録装置の機能構成例を示す図である。図７において、登録装置３０は、登録受付部３１、秘密分散部３２、及び断片登録要求部３３等を有する。これら各部は、登録装置３０にインストールされた１以上のプログラムが、登録装置３０のＣＰＵに実行させる処理により実現される。
【００４２】
登録受付部３１は、反復問い合わせ装置２０や宛先端末６０等から通信情報の登録要求を受け付ける。
【００４３】
秘密分散部３２は、登録受付部３１が受け付けた通信情報を、複数の（本実施の形態では３つの）断片に分割すると共に各断片を暗号化し、暗号化された通信情報の断片を、断片登録要求部３３に入力する。
【００４４】
断片登録要求部３３は、秘密分散部３２から受け取った、登録対象の通信情報の断片を、各断片サーバ１０に送信する。断片登録要求部３３は、いずれの通信情報の断片をいずれの断片サーバ１０に対して送信すべきであるのかについてのルールを知っている。例えば、秘密分散部３２によって、最初に生成された断片は、断片サーバ１０ａに対応し、２番目に生成された断片は、断片サーバ１０ｂに対応し、３番目に生成された断片は、断片サーバ１０ｃに対応することを、断片登録要求部３３は知っている。なお、断片登録要求部３３が知っているルールは、問い合わせ部５３が知っているルールに対応する。
【００４５】
なお、秘密計算部５２及び秘密計算部１２（以下、両者を区別しない場合、単に「秘密計算部」という。）と、秘密分散部２２及び秘密分散部３２（以下、両者を区別しない場合、単に「秘密分散部」という。）とは、主に、以下の点で相違する。
【００４６】
秘密計算部は、分割・暗号化された問い合わせ断片に基づいて断片ＤＢ１５を検索して該当する通信情報の断片を取得する機能と、問い合わせ結果である通信情報の断片を復元・復号化して元の通信情報を取り出す機能とを有する。すなわち、秘密計算部は、単純に分割／復元や暗号化／復号化するだけでなく、分割された問い合わせ断片から関連する通信情報の断片を検索したり、分割された複数の通信情報の断片を組み合わせて元の通信情報を復元したりする機能を有する。
【００４７】
一方、秘密分散部は、単一の情報を複数の断片に分割・暗号化する機能と、断片から元の情報へ復元・復号化する機能だけを有する。
【００４８】
以下、ネットワークシステム１において実行される処理手順について説明する。図８は、通信情報の問い合わせ時における処理手順の一例を説明するためのシーケンス図である。
【００４９】
ステップＳ１において、送信元端末５０のアプリケーション５１は、通信情報の問い合わせ内容を生成する。続いて、送信元端末５０の秘密計算部５２は、当該問い合わせ内容を分割・暗号化して、複数の問い合わせ断片を生成する（Ｓ２）。続いて、送信元端末５０の問い合わせ部５３は、全ての断片サーバ１０のそれぞれに、対応する問い合わせ断片を１つずつ送信する（Ｓ３）。
【００５０】
断片サーバ１０ａ〜１０ｃにおいて、問い合わせ受付部１１が、それぞれに送信された問い合わせ断片を受信すると、秘密計算部１２は、自身の断片ＤＢ１５に記憶されている通信情報の断片の中から、問い合わせ断片に対応する通信情報の断片を検索する（Ｓ４）。
【００５１】
問い合わせ断片に対応する通信情報の断片が断片ＤＢ１５に記憶されていない場合、各断片サーバ１０は、反復問い合わせ装置２０に対して、問い合わせ断片を転送する（Ｓ５）。なお、ステップＳ５の詳細については後述される。
【００５２】
一方、各断片サーバ１０において、問い合わせ断片に対応する通信情報の断片が検索された場合、各断片サーバ１０の問い合わせ受付部１１は、検索された通信情報の断片（以下、「結果断片」という。）を、問い合わせ結果として送信元端末５０に送信する（Ｓ６）。なお、結果断片自体は、元の通信情報に対して分割・暗号化されている。送信元端末５０の問い合わせ部５３が全ての断片サーバ１０から結果断片を受信すると、各結果断片を復元・復号化する（Ｓ７）。その結果、問い合わせ内容に対する問い合わせ結果である、完全な通信情報が得られる（Ｓ８）。
【００５３】
続いて、ステップＳ５の詳細について説明する。図９は、反復問い合わせに関する処理手順の一例を説明するためのシーケンス図である。
【００５４】
問い合わせ断片に対応する通信情報の断片が断片ＤＢ１５内に存在しなかった場合、各断片サーバ１０の反復問い合わせ要求部１３は、問い合わせ断片をそのままの状態で反復問い合わせ装置２０に送信する（Ｓ１１）。但し、反復問い合わせ要求部１３は、問い合わせ断片の送信元を、送信元端末５０から各断片サーバ１０のアドレスに書き換えることで、問い合わせ断片の送信元が送信元端末５０であることを上位サーバ４０に対して隠蔽する。
【００５５】
反復問い合わせ装置２０の反復問い合わせ受付部２１が、各問い合わせ断片を受信すると、秘密分散部２２は、各問い合わせ断片を復元・復号化する（Ｓ１２）。その結果、上位問い合わせ部２３は、問い合わせ内容を得ることができる。そこで、上位問い合わせ部２３は、当該問い合わせ内容を上位サーバ４０に送信する（Ｓ１３）。当該問い合わせ内容は、通常のプロトコルで実施されるため、上位サーバ４０は問い合わせ内容を知ることができるが、当該問い合わせを構成するパケットの送信元のアドレスは、反復問い合わせ装置２０のアドレスであるため、上位サーバ４０が、当該問い合わせ元が送信元端末５０であることを特定するのは困難である。
【００５６】
続いて、上位サーバ４０は、問い合わせ内容に対応する通信情報を、問い合わせ結果として、反復問い合わせ装置２０に回答する（Ｓ１４）。
【００５７】
反復問い合わせ装置２０の上位問い合わせ部２３が、問い合わせ結果である通信情報を受信すると、秘密分散部２２は、当該通信情報を分割・暗号化することで断片化する（Ｓ１９）。続いて、反復問い合わせ受付部２１は、各通信情報の断片（結果断片）を、各断片サーバ１０に送信する（Ｓ２０）。
【００５８】
なお、ステップＳ２０において送信された通信情報の断片に関して、図８のステップＳ６以降が実行される。
【００５９】
また、反復問い合わせ装置２０が上位サーバ４０から得た問い合わせ結果を、断片サーバ１０の断片ＤＢ１５に登録する場合（例えば、キャッシュしておく場合）には、ステップＳ１４に続いて、反復問い合わせ装置２０の登録要求部２４は、問い合わせ結果である通信情報の登録要求を登録装置３０に送信する（Ｓ１５）。
【００６０】
登録装置３０の登録要求受付部が、当該通信情報を受信すると、秘密分散部３２は、当該通信情報を分割・暗号化することで断片化する（Ｓ１６）。続いて、断片登録要求部３３は、各通信情報の断片を、各断片サーバ１０の断片登録受付部１４に送信する（Ｓ１７）。各断片サーバ１０の断片登録受付部１４は、通信情報の断片を受信すると、自身の断片ＤＢ１５に当該通信情報の断片を登録する（Ｓ１８）。
【００６１】
続いて、ＤＮＳの問い合わせに対して本実施の形態を適用した場合の処理手順について説明する。図１０は、ＤＮＳの問い合わせに関して実行される処理手順の一例を説明するためのシーケンス図である。図１０において、図８又は図９のステップに対応するステップには、図８又は図９のステップ番号に３０が加算されたステップ番号が付されている。また、図１０において、送信元端末５０は、ＤＮＳスタブリゾルバに相当する。
【００６２】
送信元端末５０の秘密計算部５２は、アプリケーション５１からの、ドメイン名に対応するＩＰアドレスを取得するためのＤＮＳの問い合わせ内容（ドメイン名：ｅｘａｍｐｌｅ．ｃｏｍに対応するＩＰアドレスを教えてほしいという要求）（Ｓ３１）を、分割・暗号化する（Ｓ３２）。その結果、それぞれが、「ｅｘａｍｐｌｅ．ｃｏｍ」の一部を示す情報を含む３つの問い合わせ断片が生成される。問い合わせ部５３は、各問い合わせ断片を、ＤＮＳキャッシュサーバとして動作する各断片サーバ１０に送信する（Ｓ３３）。この際、各問い合わせ断片は、それぞれに対応する断片サーバ１０に送信される。
【００６３】
各断片サーバ１０は、断片ＤＢ１５内を検索し（Ｓ３４）、問い合わせ断片に対応するＡレコードの断片があれば、その結果断片を送信元端末５０に返送する（Ｓ３６）。送信元端末５０の問い合わせ部５３が、全ての断片サーバ１０から結果断片を受信すると、秘密計算部５２は、各結果断片を復元・復号化し、Ａレコード＝１９２．０．２．１を得る。
【００６４】
一方、ステップＳ３４において、問い合わせ断片に対応するＡレコードの断片が各断片サーバ１０の断片ＤＢ１５内に存在しない場合、各断片サーバ１０の反復問い合わせ要求部１３は、問い合わせ断片を反復問い合わせ装置２０に送信する（Ｓ４１）。この際、問い合わせ断片の送信元のアドレスが、送信元端末５０から各断片サーバ１０のアドレスに書き換えられることで、反復問い合わせ装置２０や上位の権威ＤＮＳサーバである上位サーバ４０対して、問い合わせ元の漏洩を防ぐことができる。
【００６５】
反復問い合わせ装置２０の反復問い合わせ受付部２１が、各断片サーバ１０からの問い合わせ断片を受信すると、秘密分散部２２は、それらを復元・復号化する（Ｓ４２）。続いて、上位問い合わせ部２３は、問い合わせ内容となるドメイン名を確認したうえで、適切な権威ＤＮＳサーバである上位サーバ４０に、ＤＮＳクエリを送信して問い合わせを実施する（Ｓ４３）。なお、反復問い合わせ装置２０は、ＤＮＳフルサービスリゾルバとして動作するため、ＤＮＳクエリによる上位サーバ４０への問い合わせは複数回発生することがある。
【００６６】
反復問い合わせ装置２０の上位問い合わせ部２３が、ＤＮＳクエリに対する回答としてＡレコードを受信すると（Ｓ４４）、秘密分散部２２は、Ａレコードを分割及び暗号化して結果断片を生成する（Ｓ４９）。続いて、反復問い合わせ受付部２１は、各結果断片を、断片サーバ１０送信する（Ｓ４８）。続いて、ステップＳ３６以降が実行される。
【００６７】
なお、図１０では、図９のＳ１５〜Ｓ１８に相当する各断片サーバ１０への登録手順が省略されているが、当該登録手順は、必要に応じて同様に実施される。
【００６８】
上述したように、本実施の形態によれば、送信元端末５０及び宛先端末６０ではない第三者が提供する断片サーバ１０に格納されている通信情報の取得を匿名化することができ、Ｔｏｒなどの既存の匿名通信技術と合わせることで、通信情報の取得から実際の通信までを完全に匿名化することができる。
【００６９】
すなわち、図１１に示すとおり、送信元端末５０〜断片サーバ１０間では、秘密計算技術を適用することで、送信元端末５０がどこに通信しようとしているかが隠蔽され、断片サーバ１０〜上位サーバ４０間では、誰が通信をしようとしているかが隠蔽される。これにより、送信元端末５０、宛先端末６０以外には、「誰が通信しようとしているか」と「どこに通信しようとしているか」の両方を同時に推定できる第三者が存在しなくなることにより、送信元端末５０の通信の匿名性を保証することができる。その結果、通信の当事者の匿名性を向上させることができる。
【００７０】
なお、本実施の形態において、断片サーバ１０は、通信情報管理装置の一例である。断片ＤＢ１５は、記憶部の一例である。問い合わせ受付部１１は、送信部及び第１の送信部の一例である。反復問い合わせ要求部１３は、転送部の一例である。秘密計算部１２は、検索部の一例である。反復問い合わせ装置２０は、復元装置の一例である。秘密分散部２２は、復元部及び分割部の一例である。上位問い合わせ部２３は、取得部の一例である。反復問い合わせ受付部２１は、第２の送信部の一例である。上位サーバ４０は、複数の通信情報管理装置とは別の情報管理装置の一例である。
【００７１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７２】
１            ネットワークシステム
１０          断片サーバ
１１          問い合わせ受付部
１２          秘密計算部
１３          反復問い合わせ要求部
１４          断片登録受付部
１５          断片ＤＢ
２０          反復問い合わせ装置
２１          反復問い合わせ受付部
２２          秘密分散部
２３          上位問い合わせ部
２４          登録要求部
３０          登録装置
３１          登録受付部
３２          秘密分散部
３３          断片登録要求部
４０          上位サーバ
５０          送信元端末
５１          アプリケーション
５２          秘密計算部
５３          問い合わせ部
６０          宛先端末
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
2017129737.tif 000003
【図２】
2017129737.tif 000004
【図３】
2017129737.tif 000005
【図４】
2017129737.tif 000006
【図５】
2017129737.tif 000007
【図６】
2017129737.tif 000008
【図７】
2017129737.tif 000009
【図８】
2017129737.tif 000010
【図９】
2017129737.tif 000011
【図１０】
2017129737.tif 000012
【図１１】
2017129737.tif 000013