(57)【特許請求の範囲】
【請求項１】
検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、
マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、
前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、
前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、
当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段と
を備えるクライアント装置。
【請求項２】
前記受信手段は、前記ハッシュ関数を前記サーバ装置から受信する、
請求項１記載のクライアント装置。
【請求項３】
前記受信手段は、ブラウザに読込まれるスクリプトとして前記ハッシュ関数を受信する、
請求項２記載のクライアント装置。
【請求項４】
クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、
前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、
当該データの一覧を前記クライアント装置に送信する送信手段と
を備えるサーバ装置。
【請求項５】
前記送信手段は、ハッシュ値を生成するためのハッシュ関数を前記クライアント装置に送信する、
請求項４記載のサーバ装置。
【請求項６】
各検索語に関するハッシュ値と、当該検索語に対応するデータとを管理する管理手段
を更に備える、請求項４又は請求項５記載のサーバ装置。
【請求項７】
クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、
検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、
マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、
前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、
前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、
当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段と
を備え、前記サーバ装置は、
前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、
前記データの一覧を生成する検索手段と、
当該データの一覧を前記クライアント装置に送信する送信手段と
を備える通信システム。
【請求項８】
クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、
クライアント装置が、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、
前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、
クライアント装置が、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、
当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、
クライアント装置が、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップと
を備える、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明に係るいくつかの態様は、クライアント装置、サーバ装置、通信システム、及び通信方法に関する。
【背景技術】
【０００２】
近年、さまざまなデータが電子データで管理されており、その中から必要な電子データを検索する検索サービスや検索システムが広く普及しつつある。このような検索サービスや検索システムは極めて便利ではあるが、情報が漏洩しかねないという課題がある。
【０００３】
そこで、特許文献１には、暗号化された文書をデータセンタに登録すると共に、その登録した文書の検索に用いるインデックスを安全に生成する、機密性向上を目的とした技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０５２６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、検索システムを用いた情報漏洩の類型として、検索サービスを利用する利用者の興味の対象が、検索に用いられる検索語により検索サービスを提供する提供者に漏れるという形がある。例えば株式情報や特許などの分野では、アクセスログの解析により「どの組織が」「どの分野に」興味を持っているかといった情報（サービス利用者の興味の対象）がサービス提供者に把握されることにより、当該サービス提供者がビジネス上有利になる場合がある。このような情報漏洩のリスクは、検索サービス利用を躊躇させる１つの要因となっている。
【０００６】
また、特許文献１記載の手法は、検索語そのものではなくインデックスを送信するシステムではあるが、あくまで暗号化された文書に対する検索を対象としているため、汎用性に欠ける。
【０００７】
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、検索サービスの汎用性を確保すると共に、検索サービスの利用者の興味が特定されにくいクライアント装置、サーバ装置、通信システム及び通信方法を提供することを目的の１つとする。
【課題を解決するための手段】
【０００８】
本発明に係るクライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備える。
【０００９】
本発明に係るサーバ装置は、クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える。
【００１０】
本発明に係る通信システムは、クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備え、前記サーバ装置は、前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、前記データの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える。
【００１１】
本発明に係る通信方法は、クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップとを備える。
【００１２】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【００１３】
本発明によれば、検索サービスの汎用性を確保すると共に、検索サービスの利用者の興味が特定されにくいクライアント装置、サーバ装置、通信システム及び通信方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態における通信システムの構成を示す図である。
【図２】本発明の実施形態におけるクライアント装置及び検索サーバの概略構成を示す機能ブロック図である。
【図３】図２に示した検索サーバが持つインデックス表の具体例を示す図である。
【図４】図２に示したクライアント装置及び検索サーバによる検索処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。
【００１６】
（実施形態）
図１乃至図４は、本発明の実施形態を説明するための図である。以下、これらの図を参照しながら実施形態を詳細に説明する。
【００１７】
（概要）
図１は、本発明に係る実施形態の通信システム１の概略構成を示す図である。図１に係る通信システム１は、例えばパーソナルコンピュータ等であるクライアント装置１０と、検索サーバ２０と、文書を格納するファイルサーバ３０とから構成される。クライアント装置１０、検索サーバ２０、及びファイルサーバ３０は、それぞれネットワークＮに接続されており、相互にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等により通信する。
【００１８】
尚ここで、図１の例では、クライアント装置１０は１台しか示されていないがこれに限るものではなく、また、ファイルサーバ３０の数も、３台に限られるものではない。また、ネットワークＮへの接続方法は、有線であるか無線であるかを問わない。
【００１９】
検索サーバ２０は、クライアント装置１０からの要求に応じて検索サービスを提供するサーバである。ユーザ（利用者）は、クライアント装置１０のユーザインタフェースを利用して検索語を入力する。クライアント装置１０は、当該検索語に係る情報を検索サーバ２０に送信し、検索サーバ２０は当該情報に合致するデータをクライアント装置１０に返す。
【００２０】
以下に説明する実施形態では、ファイルサーバ３０ａ乃至３０ｃがそれぞれ文書を管理しており、検索サーバ２０はそれらの文書にアクセスするためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に関するデータの検索サービスを提供しているものする。
【００２１】
つまり、通信システム１は、ユーザがクライアント装置１０に検索語を入力し、当該検索語からそれを含む文書を検索サーバ２０で検索し、ファイルサーバ３０から当該文書を取得することのできるシステムである。
【００２２】
ここで、もし、クライアント装置１０が検索語を直接検索サーバ２０に送信すると、ユーザ（利用者）の興味が、検索サービスの提供者に漏洩してしまう。よって、特に株式情報や特許に関する検索サービスでは、ユーザが利用を躊躇する可能性がある。
【００２３】
そこで、本実施液体の通信システム１では、利用者であるユーザが興味のある検索語そのものを検索サーバ２０に提供しないことで、情報漏洩を抑制し、結果として検索サーバ２０が提供する検索サービスの利用促進を図っている。
通信システム１の動作の概要を、以下簡単に説明する。
【００２４】
検索サーバ２０は、後述するインデックス表２０５ｂを有している。このインデックス表２０５ｂは、各種検索語を予め定められたハッシュ関数２０５ａ（後述）に掛けたハッシュ値をキーとし、検索語と関連づいたデータ（本実施形態では、各ファイルサーバ３０が提供する文書の位置）を値とするテーブルである。また検索サーバ２０は、インデックス表２０５ｂのキーとなるハッシュ値を生成する為に使用するハッシュ関数２０５ａをクライアント装置１０に提供（送信）可能である。
【００２５】
ユーザが検索したい検索語を入力すると、クライアント装置１０は、検索サーバ２０から取得したハッシュ関数２０５ａを用いて、入力された検索語のハッシュ値を計算する。そして、クライアント装置１０は、得られたハッシュ値を任意のマスク値を使ってマスクすることにより、検索に用いるインデックスを生成する。当該インデックス（マスクされた検索語のハッシュ値）は、マスク値と共に検索サーバ２０に送信される。
【００２６】
検索サーバ２０は、インデックス表２０５ｂを参照して、テーブルのキー（ハッシュ値）の中から、受信したインデックスと一致する複数の行のデータを利用者に返す。クライアント装置１０は、当該複数行のデータのうち、検索語のハッシュ値にキーが一致する行のデータを最終検索結果とすることで、当該データが示す文書（ファイルサーバ３０が提供）にアクセス可能となる。
また、検索サーバ２０で管理するデータは特に暗号化されたデータに特化したものではないので、各種検索サービスに汎用的に適用可能である。
【００２７】
（システム構成）
以下、通信システム１を構成する各装置のうち、特にクライアント装置１０及び検索サーバ２０の機能構成を、図２を参照しながら説明する。図２は、クライアント装置１０及び検索サーバ２０の概略構成を示す機能ブロック図である。
【００２８】
前述の通り、ユーザの使用するクライアント装置１０（クライアントコンピュータ）と、検索サービスを提供する検索サーバ２０とは、ネットワークＮに接続されている。
【００２９】
クライアント装置１０は、ユーザインタフェース部１０１、ハッシュ演算部１０３、マスク演算部１０５、通信インタフェース部１０７、及びハッシュ値照合部１０９を含んでいる。ここで、クライアント装置１０では、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算処理装置上で、Ｗｅｂブラウザが動作する。ユーザインタフェース部１０１やハッシュ演算部１０３等の各構成は、当該Ｗｅｂブラウザが提供する機能（読込んだスクリプトにより実行される機能も含む）として実現され得る。
【００３０】
ここで、クライアント装置１０を構成する各機能ブロックの実現方法は、本実施形態の方法に限られるものではなく、それぞれＣＰＵ等の演算処理装置上で動作するソフトウェア（プログラム）としても、専用の半導体等で実現しても、或いはソフトウェアとハードウェアとを組み合わせて実現しても良い。更に、検索サーバ２０から読込んだスクリプトにより実現される機能でも良い。この点、後述する検索サーバ２０の各構成についても同様である。
【００３１】
ユーザインタフェース部１０１は、検索サーバ２０から通信インタフェース部１０７で受信した、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等で記載された文書情報に基づき、表示画面の生成や、ユーザから検索語の入力を受け付ける。
【００３２】
この、検索サーバ２０から受信する文書情報には、ＪａｖａＳｃｒｉｐｔ（登録商標）等のスクリプトが埋め込まれており、本実施例では、検索サーバ２０によってハッシュ関数２０５ａがＪａｖａＳｃｒｉｐｔコードとして埋め込まれる。
【００３３】
ハッシュ演算部１０３は、当該検索サーバ２０から受信した情報に埋め込まれるＪａｖａＳｃｒｉｐｔコードとして受信したハッシュ関数２０５ａに基づき、検索語（検索に用いるキーワード）をハッシュ化したハッシュ値を算出する。
【００３４】
マスク演算部１０５は、ハッシュ演算部１０３で得られたハッシュ値を、任意のマスク値を用いてマスクする。通信インタフェース部１０７は、検索語のハッシュ値をマスク値でマスクして得られたインデックスと、マスクに用いたマスク値とを検索サーバ２０へ送信する。
【００３５】
また、通信インタフェース部１０７は、インデックス及びマスク値に基づく検索サーバ２０への検索要求に対する応答として、検索結果であるデータの一覧を受信する。
【００３６】
ハッシュ値照合部１０９は、得られたデータの一覧（検索結果）から、ハッシュ演算部１０３で算出したハッシュ値をキーとするデータを特定し、当該データを出力する。このとき、合わせて当該データに対応するＵＲＬにアクセスしてユーザインタフェース部１０１に出力するようにしても良い。
【００３７】
検索サーバ２０は、通信インタフェース部２０１と、検索部２０３と、記憶媒体２０５と、スクリプト生成部２０７とを有する。例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である不揮発性の記憶媒体２０５には、ハッシュ関数２０５ａとインデックス表２０５ｂとが記憶される。
【００３８】
スクリプト生成部２０７は、記憶媒体２０５に格納されるハッシュ関数２０５ａをＪａｖａＳｃｒｉｐｔコードとして文書情報に埋め込んで、通信インタフェース部２０１から送信する機能を有する。このハッシュ関数２０５ａは、任意の文字列から無作為なハッシュ値を作り出す関数である。
【００３９】
また、スクリプト生成部２０７は、検索部２０３で得られた検索結果（データの一覧）を、通信インタフェース部２０１を介してクライアント装置１０へ送信する機能も有する。
検索部２０３は、クライアント装置１０から受信したインデックス及びマスク値を用いて、インデックス表２０５ｂを検索する。
【００４０】
ここで、インデックス表２０５ｂは、検索に使用するキーワードをハッシュ関数２０５ａによりハッシュ化したものをキーとし、キーワードを含むデータ（本実施形態では、文書のＵＲＬ）を値とするテーブルである。インデックス表２０５ｂの具体例は、図３に示す。
【００４１】
検索部２０３は、インデックス表２０５ｂの各キーのうち、受信したマスク値でマスクした結果が、受信したインデックスと一致する全てのデータ（データの一覧）を、検索結果としてスクリプト生成部２０７に出力する。
【００４２】
（検索の処理の流れ）
以下、図４を参照しながら、通信システム１における検索処理の流れを説明する。図４は、通信システム１における検索時の処理の流れを示すフローチャートである。尚、図４は一般化したフローチャートであるが、以下ではより具体的に、文字列「ＮＥＣ」を含む文書を検索する場合を例に説明する。
【００４３】
まず、クライアント装置１０は、検索サーバ２０からハッシュ関数２０５ａを取得する。すなわち、検索サーバ２０は、ハッシュ関数２０５ａをＪａｖａＳｃｒｉｐｔコードとして埋め込んだ文書情報をスクリプト生成部２０７で生成して通信インタフェース部２０１から送信し（Ｓ４０１）、クライアント装置１０は当該文書情報を受信する（Ｓ４０３）。これにより、クライアント装置１０はハッシュ関数２０５ａを得られるので、ユーザインタフェース部１０１によりユーザから入力された検索語（「ＮＥＣ」）に対するハッシュ値をハッシュ演算部１０３で算出する（Ｓ４０５）。ここでは、検索語「ＮＥＣ」に対するハッシュ値を“０ｘ０００１２Ｄ６Ｃ”とする。
【００４４】
マスク演算部１０５は、得られたハッシュ値（“０ｘ０００１２Ｄ６Ｃ”）に、任意のマスク値を用いてマスクしてインデックスを生成する（Ｓ４０７）。ここで、マスク値を“０ｘＦＦＦＦＦＦＦ０”とすると、マスク演算部１０５は、ハッシュ値”０ｘ０００１２Ｄ６Ｃ”とマスク値“０ｘＦＦＦＦＦＦＦ０”とのＡＮＤ演算を行うことにより、インデックス“０ｘ０００１２Ｄ６０”を得ることができる。
【００４５】
通信インタフェース部１０７は、Ｓ４０７での結果得られたインデックス（“０ｘ０００１２Ｄ６０”と、マスク値（“０ｘＦＦＦＦＦＦＦ０”）とを検索サーバ２０に送信する（Ｓ４０９）。
【００４６】
検索サーバ２０は、通信インタフェース部２０１で当該インデックスとマスク値とを受信すると（Ｓ４１１）、検索部２０３が、当該インデックスでインデックス表２０５ｂを検索する（Ｓ４１３）。より具体的に述べると、図３に例を示したインデックス表２０５ｂの各行のうち、マスク値“０ｘＦＦＦＦＦＦＦ０”でマスクする（ＡＮＤ演算する）と“０ｘ０００１２Ｄ６０”となるのは“０ｘ０００１２Ｄ６０”から“０ｘ０００１２Ｄ６Ｆ”までの行である。これらの行を検索結果であるデータ一覧として、検索部２０３はスクリプト生成部２０７に渡す。スクリプト生成部２０７は当該データの一覧をＨＴＭＬ等の言語で書かれた文書情報に埋め込み、通信インタフェース部２０１から当該文書情報をクライアント装置１０へ返信する（Ｓ４１５）。
【００４７】
クライアント装置１０の通信インタフェース部１０７が検索結果であるデータ一覧を受信すると（Ｓ４１７）、ハッシュ値照合部１０９は、当該一覧（複数のデータ）の中から、ハッシュ演算部１０３でのハッシュ値に合致したデータを検索する（Ｓ４１９）。検索サーバ２０から受信したデータ一覧には、“０ｘ０００１２Ｄ６０”から“０ｘ０００１２Ｄ６Ｆ”までの行が含まれていたが、ハッシュ値照合部１０９はこの中から“０ｘ０００１２Ｄ６Ｃ”を含むデータを特定する。これにより、検索語を含む文書の位置（ＵＲＬ）が特定され、アクセス可能となるので、通信インタフェース部１０７は、当該文書を取得する（Ｓ４２１）。
【００４８】
（本実施形態の効果）
以上説明したように、本実施形態の通信システム１では、クライアント装置１０は、ユーザが興味のある検索語そのものを検索サーバ２０に送信することはない。よって、検索サービスを提供するサービス提供者に、ユーザが興味のある事項を知られることが無い。
【００４９】
また、検索サーバ２０からダウンロードしたハッシュ関数コードを読込むことにより、クライアント装置１０はハッシュ関数２０５ａが安全なものであることを検証することができる。
【００５０】
そして、本実施形態では、検索語（キーワード）に対するハッシュ関数２０５ａの計算を検索サーバ２０側ではなくクライアント装置１０側で行っているが、これは、元々検索サーバ２０側で行っていた検索語のハッシュ値化をクライアント装置１０側で行っているだけであるので、通信システム１全体としての計算負荷の増大はない。
更に、本実施形態の通信システム１が提供する検索サービスは暗号化された文書に限るものではないので、本実施形態の手法は汎用性が高い。
【００５１】
（他の実施形態）
上述の実施形態では、検索サービスを例に説明を行ったが、これに限られるものではない。例えば、ＫＶＳ（Ｋｅｙ  Ｖａｌｕｅ  Ｓｔｏｒｅ）のようなデータストアサービスにもそのまま適用することが可能である。
【００５２】
また、上述の実施形態では、１の検索語を用いる場合を例に説明したが、複数の検索語を指定して全てを含む文書を検索するＡＮＤ検索に応用することもできる。この場合には、それぞれの検索語に対応するインデックスを含む行を検索サーバ２０で検索し、クライアント装置１０側でＡＮＤ計算を行えばよい。この場合、ＡＮＤ計算のための関数は、ハッシュ関数２０５ａと同様に検索サーバ２０から提供可能である。
【００５３】
（付記事項）
なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５４】
（付記１）
検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備えるクライアント装置。
【００５５】
（付記２）
前記受信手段は、前記ハッシュ関数を前記サーバ装置から受信する、付記１記載のクライアント装置。
【００５６】
（付記３）
前記受信手段は、ブラウザに読込まれるスクリプトとして前記ハッシュ関数を受信する、付記２記載のクライアント装置。
【００５７】
（付記４）
クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備えるサーバ装置。
【００５８】
（付記５）
前記送信手段は、ハッシュ値を生成するためのハッシュ関数を前記クライアント装置に送信する、付記４記載のサーバ装置。
【００５９】
（付記６）
各検索語に関するハッシュ値と、当該検索語に対応するデータとを管理する管理手段を更に備える、付記４又は付記５記載のサーバ装置。
【００６０】
（付記７）
クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備え、前記サーバ装置は、前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、前記データの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える、通信システム。
【００６１】
（付記８）
クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップとを備える、通信方法。
【符号の説明】
【００６２】
１０・・・クライアント装置、２０・・・検索サーバ、１０１・・・ユーザインタフェース部、１０３・・・ハッシュ演算部、１０５・・・マスク演算部、１０７・・・通信インタフェース部、１０９・・・ハッシュ値照合部（特定部）、２０１・・・通信インタフェース部、２０３・・・検索部、２０７・・・スクリプト生成部、２０５ａ・・・ハッシュ関数、２０５ｂ・・・インデックス表
【図１】
0005807810.tif 000002
【図２】
0005807810.tif 000003
【図３】
0005807810.tif 000004
【図４】
0005807810.tif 000005